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
seedfarmerCLI seedfarmerreads/writes deployment metadata with AWS Systems Managerseedfarmerinvokes AWS IAM to create module-specific roles, attaching the proper least-privilege policiesseedfarmerleveragesAWS CodeSeederfor remote deployment on AWS CodeBuildAWS CodeSeederprepares AWS CodeBuild- AWS CodeBuild via
AWS CodeSeederinspects and fetches data from AWS SecretsManager (if necessary) - AWS CodeBuild via
AWS CodeSeederexecutes the customdeployspecfor the module - AWS CodeBuild via
AWS CodeSeederupdates AWS Systems Manager with completed module metadata seedfarmerupdates 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-farmerA project is now necessary to begin create modules.
