Releases and images
Version numbers, container images and how the documentation follows each release.
Images
| Image | Contents |
|---|---|
ghcr.io/poettinet/asterion-polaris | the portal (all four roles) |
ghcr.io/poettinet/asterion-pulsar | the satellite |
ghcr.io/poettinet/asterion-docs | this documentation |
The images are private; every host needs docker login ghcr.io with a token that has read:packages.
| Tag | Comes from | Use |
|---|---|---|
1.2.3, 1.2, latest | a release tag v1.2.3 | production |
main, sha-<commit> | every push to main (Polaris and Pulsar also daily with fresh base images) | development |
A release
- A tag
vX.Y.Zin the Asterion repository builds Polaris and Pulsar, runs both test suites, then starts them together: the satellite must register and deliver a check result. Only then are the version tags and the GitHub release created. A failed release publishes nothing butcandidate-*tags. - A Polaris release carries the digest of the Pulsar it was tested with, so its deployment snippets always use exactly that image. The release’s
docker-compose.ymlpins Polaris by digest. - The documentation of the release is refreshed (generated reference, screenshots from the demo data, changed pages) and the docs repository gets the same tag
vX.Y.Z, which buildsasterion-docs:X.Y.Z.
Running satellites are never updated automatically; the satellite list marks those running another version.
Keeping the documentation current
The docs repository has a refresh script that is run for every release against the release commit:
tools/refresh.sh ../asterion
It starts a throw-away Polaris with an empty database, fills it with the demo data (php artisan asterion:demo: a fictional company on documentation addresses), exports checks, defaults, environment variables, scheduler and schema, renders the diagrams, takes the screenshots, and builds the site. The build fails when
- an environment variable, table or finding type has no description,
- a screenshot or diagram a page uses is missing,
- a page that Polaris links to (
App\Support\DocsLinks) does not exist.