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 suite with a local syntactically valid WhisperX URL and explicit immutable file:// asset inputs. It uses native application smoke/configuration commands, validates Narratio's assembled configuration and campaign discovery as the Narratio account, and inspects deployed Scriptorium prompts and a schema path. It requires a clean repeat, then selects Seriatim v1.4.0 through the suite interface and requires a clean repeat of that selection. Cleanup reapplies the asset-enabled baseline suite and removes only the driver's private temporary directory.

Description
An Ansible role to install the full D&D production pipeline (Narratio, Seriatim, Audita, Notarius, and Scriptorium, plus supporting assets).
Readme CC0-1.0 316 KiB
Languages
Shell 90.2%
Jinja 9.8%