Seed-Farmer (seedfarmer) is an opensource orchestration tool that works with AWS CodeSeeder (see github or docs) and acts as an orchestration tool modeled after GitOps deployments. It has a CommandLine Interface (CLI) based in Python.
It leverages modular code deployments (see modules) leveraging manifests and deployspecs, keeping track of changes and applying changes as need / detected.
Seed-Farmer does not create its own deployments, rather it helps to deploy YOUR modules by acting as the broker between your module code and the AWS Cloud via AWS CodeSeeder.
Steps:
- Invoke
seedfarmer
CLI seedfarmer
reads/writes deployment metadata with AWS Systems Managerseedfarmer
invokes AWS IAM to create module-specific roles, attaching the proper least-privilege policiesseedfarmer
leveragesAWS CodeSeeder
for remote deployment on AWS CodeBuildAWS CodeSeeder
prepares AWS CodeBuild- AWS CodeBuild via
AWS CodeSeeder
inspects and fetches data from AWS SecretsManager (if necessary) - AWS CodeBuild via
AWS CodeSeeder
executes the customdeployspec
for the module - AWS CodeBuild via
AWS CodeSeeder
updates AWS Systems Manager with completed module metadata seedfarmer
updates deployment metadata in AWS Systems Manager
The Seed-Farmer library is available on PyPi. Install the library in a python virtual environment.
python3 -m venv .venv
source .venv/bin/activate
pip install seed-farmer
A project is now necessary to begin create modules.