Ansible Role: Seriatim
Installs the Seriatim
transcript processor from source. The role supports Ubuntu 26.04 on amd64
and arm64 hosts and is independently usable outside the D&D pipeline role.
The role manages its build dependencies and a root-owned source checkout. At this point binary installation is added by subsequent implementation work.
Requirements
Ansible Core 2.18 or newer is required. Install the pinned collection dependency before using or validating the role:
ansible-galaxy collection install -r collections/requirements.yml
Variables
| Variable | Default | Description |
|---|---|---|
seriatim_version |
v1.5.0 |
Release identity expected from the installed binary. |
seriatim_repository_url |
https://gitea.maximumdirect.net/eric/seriatim.git |
Source repository URL. |
seriatim_source_ref |
{{ seriatim_version }} |
Git tag, branch, or commit to check out. |
seriatim_build_version |
{{ seriatim_version }} |
Version injected into build metadata. |
seriatim_source_dir |
/usr/local/src/seriatim |
Fully managed source checkout. |
seriatim_binary_path |
/usr/local/bin/seriatim |
Installed executable path. |
seriatim_build_state_dir |
/usr/local/src/seriatim.ansible-build-state |
Sidecar directory for build inputs and output state. |
seriatim_manage_build_dependencies |
true |
Install Git and Go when enabled. |
seriatim_go_snap_channel |
1.26/stable |
Go Snap channel. |
seriatim_go_binary |
/snap/bin/go |
Go executable used to inspect and build. |
seriatim_go_build_flags |
[-trimpath] |
Ordered Go build arguments before -ldflags. |
seriatim_go_ldflags |
-s -w -X gitea.maximumdirect.net/eric/seriatim/internal/buildinfo.Version={{ seriatim_build_version }} |
Linker flags passed as one argument. |
seriatim_go_package |
./cmd/seriatim |
Go package built from the checkout. |
For development revisions, set both seriatim_source_ref and an honest
seriatim_build_version. Released deployments should select immutable tags.
When seriatim_manage_build_dependencies is enabled, the role installs Git
and converges the classic Go Snap to seriatim_go_snap_channel. When disabled,
both Git and the configured Go executable must already be available, and Go
must be version 1.25 or newer.
The checkout is authoritative: tracked changes and all untracked or ignored
files beneath seriatim_source_dir are discarded during convergence. The
repository URL may point to a private remote, but authentication must be
provided independently through the managed host's Git configuration or SSH
environment; this role does not manage credentials or accept unknown host
keys.
Static validation
ANSIBLE_COLLECTIONS_PATH="$PWD/.ansible/collections" \
../.venv/bin/ansible-playbook -i tests/inventory tests/converge.yml \
--syntax-check
ANSIBLE_COLLECTIONS_PATH="$PWD/.ansible/collections" \
../.venv/bin/ansible-lint .
License
BSD-3-Clause