73 lines
3.0 KiB
Markdown
73 lines
3.0 KiB
Markdown
# 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:
|
|
|
|
```sh
|
|
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`.
|
|
|
|
```yaml
|
|
---
|
|
- 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` |
|
|
|
|
The common dependency-management switch controls whether every application
|
|
role installs 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. Campaign content, prompt content, operator policy, and
|
|
secret delivery are intentionally 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.
|