hull workspace
Synopsis
A workspace is a single file — hull-workspace.yaml — that lists several
hull packages and how they depend on each other. Instead of installing,
upgrading, or tearing down each release by hand, you point hull workspace at
the directory holding that file and it drives every member for you in
dependency order.
# hull-workspace.yaml
apiVersion: hull/v1
defaults:
namespace: apps # used by any member that omits its own
members:
- name: postgres
path: ./postgres
- name: api
path: ./api
dependsOn: [postgres] # api is processed only after postgres
Each member names a release, a package path, and optionally a namespace,
profile, and a dependsOn list. hull reads the dependsOn edges, sorts the
members into dependency order, and processes them:
- install and upgrade run in dependency order — a member starts only after everything it depends on has finished.
- uninstall runs in reverse — dependents come down before the things they depend on.
Members that do not depend on each other share a level and can run concurrently
(see --parallel).
Subcommands
| Command | What it does |
|---|---|
plan |
Print the order the members will be processed in |
install |
Install every member in dependency order |
upgrade |
Upgrade every member (installing any that are missing) |
uninstall |
Uninstall every member in reverse order |
status |
Show each member’s revision and status |
diff |
Show what upgrading every member would change |
Usage
hull workspace <command> [flags]
Every command reads hull-workspace.yaml from the directory given by --dir
(default .).