Soil stands for System Orchestration and Investigation Lever, is a tool for deploying an environment and running tests.
The soil is a wrapper around terraform, which help to manage multiple deployments and track the states locally.
Deploy the configuration
so deploy
so remove
so [deploy|remove]
so [deploy|dp] [NAME] [options] create deployment
so [remove|rm] [NAME] [options] remove deployment
so [status|st] [NAME] [options] lookup deployment
so [test|st] [NAME] [otions] run deployment secific tests
[-t|--type] aws|k3d|ssh
The following tools must be present in the system for k3d
deployment type:
- kubectl
- helm
- Terraform
- git
By default k3d requires read access to terraform and k6 scalability tests repo: https://github.com/moio/scalability-tests
For custom branch please use repo specific option -r
:
so deploy -r https://github.com/moio/scalability-tests@yourbranch
For deploying k3d based environment and run tests it is enough following commands:
git clone https://github.com/.../soil
cd soil
# deploy default k3d based environment
go run . deploy
# run k9 tests
go run . test
# cleanup
go run . rm -f
Building being in soil
repo root directory:
go build -o so .
Link to home bin:
(cd $HOME/bin ; ln -s $PWD/so so)
For AWS there is aws cli 2 needed. Go to Amazon and install the client, Save credentials to ~/.aws/credential or export as variables: AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN.