luminare.gameserver · v0.2.0
0005. Install from git tags and release tarballs
- Status: accepted
- Date: 2026-10-21
Context
An Ansible collection is usually installed with ansible-galaxy collection install. That command
also accepts a git URL with a tag and a local tarball. Users need a version that cannot change
after it is published, a way to verify the download, and an install path that works the same for
the lab repository that pins this collection.
Considered options
- Install from a collection registry by name and version.
- Install from a git tag (
git+https://…,vX.Y.Z) or from the tarball thatansible-galaxy collection buildproduces, attached to the GitHub release withSHA256SUMSand a build provenance attestation. - Ask users to clone the repository and point
collections_pathat it.
Decision
Chosen option: “git tag or release tarball”, because both are immutable per release, both are
covered by the existing release workflow (ADR 0004), and the tarball gets the same checksum and
attestation as the source archive. The release workflow builds the tarball on the tag
(extra-dist-command in release.yml), fails when galaxy.yml does not carry the tag’s version,
and writes one SHA256SUMS for both archives. The workflow uploads nothing to a registry; that
would be a separate decision with its own ADR.
Consequences
- Good: one source of truth (the tag);
requirements.ymlentries usetype: gitand the tag. - Good: the tarball is verifiable with
sha256sum -candgh attestation verify. - Bad: installing from git needs
giton the controller, andansible-galaxy collection install luminare.gameserverby name alone does not work. - Bad: the
luminarenamespace has not been requested on Galaxy. If Galaxy does not grant it, the fallback name isluminare_dev.gameserver, which changes every fully qualified name in users’ playbooks; that rename would ship as a breaking change with upgrade notes.
Not affiliated with or endorsed by Cfx.re, Rockstar Games or Take-Two.
docs/adr/0005-install-from-git-tags-and-release-tarballs.md on GitHub
Licensed under Apache-2.0. Source: luminare-dev/ansible-collection-gameserver at v0.2.0.