Ansible Role: Seriatim

Installs Seriatim from source on Ubuntu 26.04 (x86_64 or aarch64). The role requires gathered facts and uses privilege escalation on tasks that install dependencies or manage root-owned application state.

Variables

seriatim_version: v1.5.0
seriatim_repository_url: https://gitea.maximumdirect.net/eric/seriatim.git
seriatim_source_dir: /usr/local/src/seriatim
seriatim_binary_path: /usr/local/bin/seriatim
seriatim_manage_build_dependencies: true
seriatim_go_snap_channel: 1.26/stable
seriatim_go_binary: /snap/bin/go

When seriatim_manage_build_dependencies is false, Git and the executable selected by seriatim_go_binary must already be available. Otherwise, the role installs Git with APT and the classic Go Snap from seriatim_go_snap_channel.

The checkout is authoritative: local source changes are discarded while selecting seriatim_version. The role builds ./cmd/seriatim directly to seriatim_binary_path using seriatim_go_binary, CGO_ENABLED=0, GOWORK=off, GOTOOLCHAIN=local, -trimpath, and release linker metadata. It rebuilds when the checkout changes or the binary is absent. Exact version output is verified by the repository-local integration suite rather than during production convergence.

The source tree is recursively owned by root:root. The installed binary is a regular file owned by root:root with mode 0755.

Example

- hosts: seriatim_hosts
  roles:
    - role: ansible-role-seriatim

Validation

The integration driver installs pinned collection dependencies, runs syntax checking and ansible-lint, and covers default smoke use with clean repeated convergence. It also verifies an explicitly selected Seriatim release and combines missing-binary recovery with a caller-supplied Go executable while dependency management is disabled. The suite mutates only /usr/local/src/seriatim, /usr/local/bin/seriatim, and paths inside its private temporary directory, and restores the default deployment during cleanup:

tests/integration
Description
Ansible role to install the Audita transcript processor.
Readme CC0-1.0 87 KiB
Languages
Shell 100%