Highlights
Tasks
Declare migrations, smoke checks, and backfills under tasks: next to components. from copies image, env, and profiles from a component. "on": preDeploy and "on": postDeploy run around deploy; "on": manual is CLI-only. deployah run starts any task, including a hook you want to retry.
apiVersion: v1-alpha.5
project: shop
components:
api:
image: ghcr.io/acme/shop:1.2.3
env:
DATABASE_URL: ${DATABASE_URL}
tasks:
migrate:
from: api
"on": preDeploy
command: ["migrate", "up"]
smoke:
from: api
"on": postDeploy
command: ["curl", "-f", "http://api/health"]
backfill:
from: api
"on": manual
command: ["backfill"]Quote "on" in YAML 1.1 so it is not read as a boolean.
Scheduled tasks
"on": schedule creates a Kubernetes CronJob in the release. deployah deploy applies it and does not start a Job on that deploy. deployah run still creates a one-shot Job.
tasks:
cleanup:
from: api
"on": schedule
schedule: "0 3 * * *"
command: ["cleanup"]Init wizard
deployah init is interactive and must run from a terminal. It writes deployah.yaml and a platform file. --dry-run prints the spec without saving it.
App manifests move to v1-alpha.5; platform profiles stay platform/v1-alpha.3.
What's Changed
Features
- add tasks for run-to-completion work by @atkrad in #83
- make init a tty-only wizard by @atkrad in #89
- add scheduled tasks as CronJobs by @atkrad in #104
Bug Fixes
Full Changelog: v0.7.0...v0.8.0