Skip to main content

Server deployment and configuration management in Python

Project description

https://img.shields.io/travis/yaybu/fuselage/master.svg https://img.shields.io/appveyor/ci/yaybu/fuselage/master.svg https://img.shields.io/coveralls/yaybu/fuselage/master.svg https://img.shields.io/pypi/v/fuselage.svg https://img.shields.io/badge/docs-latest-green.svg

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.12.tar.gz (73.7 kB view details)

Uploaded Source

File details

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

File metadata

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

File hashes

Hashes for fuselage-0.0.12.tar.gz
Algorithm Hash digest
SHA256 f8dbd5ce1a9a2d1b30c1f89eed3e663f5b3d6fa408ceac03f7db4247aca18730
MD5 f4831aafc6bc1634067d84be4698c60c
BLAKE2b-256 32e3031605c2097b23a3919d99fe407e5948202ae4ebf9780a89b17c599ae569

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