Seed is a Python CLI tool for managing remote servers.
Installing via uv is recommended. Make sure you have any version of uv installed.
curl -LsSf https://astral.sh/uv/install.sh | sh
Then install the seed from this Github repo:
uv tool install -U --from "git+https://github.com/Astera-org/seed" seed
To view the help, run seed --help:
Usage: seed [OPTIONS] COMMAND [ARGS]...
Options:
-v, --version Show the version and exit.
-h, --help Show this message and exit.
Commands:
profile
provider
server
ssh
Seed is designed to have many subcommands, each with their own help that is easily accessible. The main commands and models are:
- Providers are the server providers that Seed can connect to. Currently, only VoltagePark is supported.
- Profiles are git-based repos with Ansible playbooks that are used to configure the Server.
- Servers are the servers that Seed can connect to.
- SSH is a shortcut command to SSH to a Server.
At minimum, you will need a Provider and a Profile, to create a Server.
To create a Provider, you can use:
seed provider create vp --provider-type=VOLTAGEPARK --voltagepark-token "token"
To create a Profile, you can use:
seed profile create helloworld https://gist.github.com/askedrelic/4c525ba2c2c5d33ba51f8a3c9c817b21
You can then create a Server:
seed server create dev-server helloworld
You can then SSH by name:
seed ssh dev-server