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.2.zip (151.5 kB view details)

Uploaded Source

File details

Details for the file fuselage-0.0.2.zip.

File metadata

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

File hashes

Hashes for fuselage-0.0.2.zip
Algorithm Hash digest
SHA256 91214b6cb0c45c906dfd456416b0a234e49b0f0ecf6d8956291f432dfb27f865
MD5 347b54687e42158e9fda184e16ddada1
BLAKE2b-256 7ebc24a3057d7fcff220aec62f471b8be672b9f2ff5046be8cb0d4a4bcf3eb19

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