Skip to main content

Server deployment and configuration management in Python

Project description

https://travis-ci.org/yaybu/fuselage.png?branch=master https://ci.appveyor.com/api/projects/status/o00q9mf5plhmquk3?svg=true https://coveralls.io/repos/yaybu/fuselage/badge.png?branch=master https://pypip.in/version/fuselage/badge.png https://readthedocs.org/projects/fuselage/badge/?version=latest

fuselage is a idempotent configuration bundle builder and runtime.

Use a simple python API to describe a server configuration and bundle that as a script that can be executed on any system.

You can find us in #yaybu on irc.oftc.net.

Using with fabric

You will need to install fabric explicitly. Fuselage does not depend on fabric.

You can write simple deployment scripts with Fabric by adding this to your fabfile:

from fuselage.fabric import blueprint
from fuselage.resources import *

@blueprint
def minecraft(bundle):
    yield Directory(
        name='/var/local/minecraft',
    )
    yield Execute(
        command='wget https://s3.amazonaws.com/Minecraft.Download/versions/1.8/minecraft_server.1.8.jar',
        cwd="/var/local/minecraft",
        creates="/var/local/minecraft/minecraft_server.1.8.jar",
    )
    yield File(
        name='/var/local/minecraft/server.properties',
        contents=open('var_local_minecraft_server.properties').read(),
    )
    yield File(
        name="/etc/systemd/system/minecraft.service",
        contents=open("etc_systemd_system_minecraft.service"),
    )
    yield Execute(
        command="systemctl daemon-reload",
        watches=['/etc/systemd/system/minecraft.service'],
    )
    yield Execute(
        command="systemctl restart minecraft.service",
        watches=[
            "/var/local/minecraft/server.properties",
            "/etc/systemd/system/minecraft.service",
        ]
    )

And then run it against multiple servers:

fab -H server1,server2,server3 minecraft

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fuselage-0.0.5.zip (153.7 kB view details)

Uploaded Source

File details

Details for the file fuselage-0.0.5.zip.

File metadata

  • Download URL: fuselage-0.0.5.zip
  • Upload date:
  • Size: 153.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for fuselage-0.0.5.zip
Algorithm Hash digest
SHA256 23a50e52b30a314691494a85c7a31da0863d8ece6988f64fcb04a3c8aa0857c9
MD5 8871d4a04f6660ff246d817792a7d5ed
BLAKE2b-256 06660a7c99f0118439e694181ab15f77b8584db5bce64cff5e282d96ab0cb82f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page