hart smoke
Check an installation end to end with a scratch workspace
cmd/hart at v1.5.0Checks an installation from the outside, through the API only: creates a scratch workspace in the team,
writes a tiny app and its harthelm.yml into it, sets an env var, runs Sync, prepare and Run, and waits until
the app answers on the workspace's dev domain with that env var's value. Then it deletes the workspace, also
when a step failed or the smoke was interrupted, and purges it when the key may (a team admin's or a cluster
admin's); otherwise it stays restorable for 7 days. --keep leaves it for a look.
A Developer of the team is enough. The app is a Perl server from the base image, so the smoke downloads
nothing and works on an air-gapped installation. Steps and their output go to stderr; the result goes to
stdout: one line, or with -o json or yaml a document with every step, also when the smoke failed.
Exit status: 0 passed; 1 a step failed, the app did not answer in time, or the workspace could not be deleted; 2 a usage error (no API, no team); 3 no or an invalid API key; 4 the key may not create a workspace in the team; 5 the team, plan or base image does not exist; 6 refused in the current state (e.g. the team's quota is used up).
hart smoke [flags]Examples:
hart smoke --api https://console.example.org --team 2
hart smoke --keep -o json| Flag | Description |
|---|---|
--keep | leave the workspace for a look (its id and name are printed) |
--plan string | the workspace plan's id (default: the installation's first, as in the console) |
--timeout duration | how long to wait for the app's answer after Run (default 5m0s) |