Skip to main content

Server deployment and configuration management in Python

Project description

https://travis-ci.org/yaybu/fuselage.png?branch=master 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.4.tar.gz (78.9 kB view details)

Uploaded Source

File details

Details for the file fuselage-0.0.4.tar.gz.

File metadata

  • Download URL: fuselage-0.0.4.tar.gz
  • Upload date:
  • Size: 78.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for fuselage-0.0.4.tar.gz
Algorithm Hash digest
SHA256 e717f9bd1f8162c0b6ba8c65fa0ab521213561a2195ef99e9d0867c715177dc0
MD5 c837c237fc59e1ed06a68c00c1d57387
BLAKE2b-256 ce706fb8b571c5ca9d764a056f55471fc88a6fb1e315cc3fcd34338cc2867d29

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