Skip to content
This repository has been archived by the owner on Aug 23, 2019. It is now read-only.

yaybu/takeoff

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Takeoff

Takeoff is a service orchestration framework for python. It provides a python "DSL" for declaring complicated cloud infrastructures and provisioning those blueprints in an idempotent way.

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

Here is an example Takeofffile:

account = workspace.add_aws_account()

aws = account.add_environment(
    name="production",
    cidr_block="10.30.0.0/20"
)

nat = aws.add_nat_gateway(
    name="nat_gateway",
)

load_balancer = aws.add_load_balancer(
    name="load_balancer",
    public=True,
)

postgres = aws.add_postgres(
    name="postgres",
)

redis = aws.add_redis(
    name="redis",
)

web = aws.add_auto_scaling_group(
    name="web",
    load_balancers=[load_balancer],
    user_data={
        "DATABASE_URL": postgres.get_property("Url"),
        "REDIS_URL": redis.get_property("Url"),
    },
)

worker = aws.add_auto_scaling_group(
    name="worker",
    user_data={
        "DATABASE_URL": postgres.get_property("Url"),
        "REDIS_URL": redis.get_property("Url"),
    },
)

#web_distribution = aws.add_web_distribution(
#    domains=['www.example.com'],
#)

You can then apply this configuration with:

takeoff apply

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages