Fuku is a (young) system to help manage web application infrastructure using AWS. It's aim is to replicate some of the simplicity of Heroku without the cost.
Please install the following requirements prior to installing Fuku:
-
Python 3.6
-
ssh
-
ssh-agent
-
gpg
-
psql
-
awscli
Standard pip install:
pip install fuku
-
Configure your AWS credentials as usual (aws configure).
-
fuku profile ls
to see available profiles.fuku profile mk <name>
to make the AWS groups etc required. -
fuku profile bucket <bucket>
to set a workspace for Fuku. -
fuku region ls
to see available regions.fuku region sl <region>
to select a region. -
fuku cluster mk <name>
to create a cluster.
-
Configure your AWS credentials as usual (aws configure).
-
fuku profile ls
to see available profiles.fuku profile sl <name>
to select your profile. -
fuku profile bucket <bucket>
to set a workspace for Fuku. -
fuku region ls
to see available regions.fuku region sl <region>
to select a region. -
fuku cluster ls
to see available clusters.fuku cluster sl <cluster>
to select a cluster.Enter password to access cluster key file.
-
fuku app ls
to see available apps.fuku app sl <app>
to select an app. -
fuku pg ls
to see available DBs.fuku pg sl <db>
to select a DB.Enter password to access PGPASS file.
At this point you have configured your session for a particular cluster, application, and database. For convenience it's best to cache the session for easy retrieval:
fuku session sv <name>
fuku session ld <name>
To download the current database:
fuku pg dump <dumpfile>
To overwrite a database with new content (CAUTION):
fuku pg restore <filename>
To access one of the nodes in the cluster directly:
fuku node ssh <name>
To run a command:
fuku service run <task> <command>
This attaches to a running container from the specified task, then runs the provided command.