88 lines
3.9 KiB
Markdown
88 lines
3.9 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` |
|
|
| `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.
|