rakestraw.dnd_pipeline
Installs the D&D transcript-processing application suite by composing the
standalone Seriatim, Audita, Notarius, Scriptorium, and Narratio roles. It
supports Ubuntu 26.04 and Ansible Core 2.18 or newer. Downstream roles perform
their own task-level privilege escalation, so a play does not need become.
Supported host architectures are amd64 and arm64.
Installation
Install the role dependencies and their collection before applying this role:
ansible-galaxy role install -r requirements.yml
ansible-galaxy collection install -r collections/requirements.yml
The dependency manifest installs the roles under their canonical names:
rakestraw.seriatim, rakestraw.audita, rakestraw.notarius,
rakestraw.scriptorium, and rakestraw.narratio. This standalone role is
named rakestraw.dnd_pipeline; a later collection release will expose it as
rakestraw.dnd.pipeline.
---
- name: Install the D&D pipeline foundation
hosts: pipeline_hosts
gather_facts: true
roles:
- role: rakestraw.dnd_pipeline
vars:
dnd_pipeline_whisperx_transcribe_url: https://whisperx.example/transcribe
Variables
dnd_pipeline_whisperx_transcribe_url is required and is passed to Narratio.
The compatible application versions are selected through these variables:
| Variable | Default |
|---|---|
dnd_pipeline_audita_version |
v0.9.1 |
dnd_pipeline_narratio_version |
v2.0.0 |
dnd_pipeline_notarius_version |
v0.6.0 |
dnd_pipeline_seriatim_version |
v1.5.0 |
dnd_pipeline_scriptorium_version |
v0.13.0 |
dnd_pipeline_manage_build_dependencies |
true |
dnd_pipeline_go_snap_channel |
1.26/stable |
dnd_pipeline_go_binary |
/snap/bin/go |
dnd_pipeline_campaigns_repository_url |
https://gitea.maximumdirect.net/eric/campaigns.git |
dnd_pipeline_campaigns_revision |
main |
dnd_pipeline_campaigns_root |
/usr/local/share/narratio/campaigns |
dnd_pipeline_prompt_library_repository_url |
https://gitea.maximumdirect.net/eric/narratio-prompts.git |
dnd_pipeline_prompt_library_revision |
main |
dnd_pipeline_prompt_library_root |
/usr/local/share/narratio/prompt-library |
The common dependency-management switch controls whether every application role installs Git and Go. Callers that disable it must provide both Git and Go. The Go channel and executable are likewise passed to all five roles. Advanced callers may supply unmapped standalone-role variables directly through normal Ansible variable precedence.
Narratio receives the standard Seriatim, Audita, Notarius, and Scriptorium binary and configuration paths managed by the composed roles. Notarius is installed but remains disabled in Narratio until a later feature supplies a Notarius pipeline.
The role deploys the campaign repository directly at the campaign root and
the prompt library directly at the prompt-library root. By default both follow
their main branches; callers can select an immutable commit, tag, or another
branch through the revision variables. Narratio receives the deployed campaign
root, while Scriptorium receives its prompts/ and schemas/ children.
Execution profiles, model backends, credentials, and D&D processing policy
remain deferred.
Validation
tests/integration installs the pinned Git dependencies and collection into
private temporary paths, runs syntax and production-profile lint checks, then
applies the baseline suite with a local syntactically valid WhisperX URL. It
uses native application smoke/configuration commands, validates Narratio's
assembled configuration as the Narratio account, and requires an immediate
clean repeat. It also selects Seriatim v1.4.0 through the suite interface,
checks its native version output, and requires a clean repeat of that
selection. Cleanup reapplies the baseline suite and removes only the driver's
private temporary directory.