Merge commit '5dbae8ab055d88ddcc61dc8ac52271fe261f67b5' as 'roles/pipeline'
This commit is contained in:
302
roles/pipeline/meta/argument_specs.yml
Normal file
302
roles/pipeline/meta/argument_specs.yml
Normal file
@@ -0,0 +1,302 @@
|
||||
---
|
||||
argument_specs:
|
||||
main:
|
||||
short_description: Compose the D&D transcript-processing application suite
|
||||
options:
|
||||
dnd_pipeline_audita_version:
|
||||
type: str
|
||||
required: true
|
||||
description: Audita application revision for the compatible suite.
|
||||
dnd_pipeline_narratio_version:
|
||||
type: str
|
||||
required: true
|
||||
description: Narratio application revision for the compatible suite.
|
||||
dnd_pipeline_notarius_version:
|
||||
type: str
|
||||
required: true
|
||||
description: Notarius application revision for the compatible suite.
|
||||
dnd_pipeline_seriatim_version:
|
||||
type: str
|
||||
required: true
|
||||
description: Seriatim application revision for the compatible suite.
|
||||
dnd_pipeline_scriptorium_version:
|
||||
type: str
|
||||
required: true
|
||||
description: Scriptorium application revision for the compatible suite.
|
||||
dnd_pipeline_manage_build_dependencies:
|
||||
type: bool
|
||||
required: true
|
||||
description: Whether every application role manages Git and Go.
|
||||
dnd_pipeline_go_snap_channel:
|
||||
type: str
|
||||
required: true
|
||||
description: Go Snap channel passed to every application role.
|
||||
dnd_pipeline_go_binary:
|
||||
type: path
|
||||
required: true
|
||||
description: Go executable passed to every application role.
|
||||
dnd_pipeline_runtime_user:
|
||||
type: str
|
||||
required: true
|
||||
description: Service account that owns suite-managed configuration.
|
||||
dnd_pipeline_runtime_group:
|
||||
type: str
|
||||
required: true
|
||||
description: Shared group for suite-managed configuration.
|
||||
dnd_pipeline_secrets:
|
||||
type: dict
|
||||
required: true
|
||||
description: Explicit credential-file names and values managed beneath Narratio's secrets directory.
|
||||
dnd_pipeline_config_directory_mode:
|
||||
type: str
|
||||
required: true
|
||||
description: Mode for suite-managed configuration directories.
|
||||
dnd_pipeline_config_file_mode:
|
||||
type: str
|
||||
required: true
|
||||
description: Mode for suite-managed configuration files.
|
||||
dnd_pipeline_whisperx_transcribe_url:
|
||||
type: str
|
||||
required: true
|
||||
description: WhisperX transcription endpoint passed to Narratio.
|
||||
dnd_pipeline_campaigns_repository_url:
|
||||
type: str
|
||||
required: true
|
||||
description: Git origin containing the campaign registry.
|
||||
dnd_pipeline_campaigns_revision:
|
||||
type: str
|
||||
required: true
|
||||
description: Campaign branch, tag, or commit to deploy.
|
||||
dnd_pipeline_campaigns_root:
|
||||
type: path
|
||||
required: true
|
||||
description: Campaign checkout and Narratio registry root.
|
||||
dnd_pipeline_prompt_library_repository_url:
|
||||
type: str
|
||||
required: true
|
||||
description: Git origin containing the prompt library.
|
||||
dnd_pipeline_prompt_library_revision:
|
||||
type: str
|
||||
required: true
|
||||
description: Prompt-library branch, tag, or commit to deploy.
|
||||
dnd_pipeline_prompt_library_root:
|
||||
type: path
|
||||
required: true
|
||||
description: Prompt-library checkout root.
|
||||
dnd_pipeline_audita_pipeline_modules:
|
||||
type: list
|
||||
elements: str
|
||||
required: true
|
||||
description: Ordered Audita processing modules.
|
||||
dnd_pipeline_audita_output_schema:
|
||||
type: str
|
||||
required: true
|
||||
description: Audita output schema shared with Narratio.
|
||||
dnd_pipeline_audita_llm_proposal_base_url:
|
||||
type: str
|
||||
required: true
|
||||
description: Audita proposal LLM endpoint.
|
||||
dnd_pipeline_audita_llm_proposal_model:
|
||||
type: str
|
||||
required: true
|
||||
description: Audita proposal LLM model.
|
||||
dnd_pipeline_audita_llm_proposal_api_key_env:
|
||||
type: str
|
||||
required: true
|
||||
description: Proposal LLM API-key environment variable name.
|
||||
dnd_pipeline_audita_llm_proposal_timeout:
|
||||
type: str
|
||||
required: true
|
||||
description: Proposal LLM timeout.
|
||||
dnd_pipeline_audita_llm_proposal_max_retries:
|
||||
type: int
|
||||
required: true
|
||||
description: Proposal LLM retry count.
|
||||
dnd_pipeline_audita_llm_validation_base_url:
|
||||
type: str
|
||||
required: true
|
||||
description: Audita validation LLM endpoint.
|
||||
dnd_pipeline_audita_llm_validation_model:
|
||||
type: str
|
||||
required: true
|
||||
description: Audita validation LLM model.
|
||||
dnd_pipeline_audita_llm_validation_api_key_env:
|
||||
type: str
|
||||
required: true
|
||||
description: Validation LLM API-key environment variable name.
|
||||
dnd_pipeline_audita_llm_validation_timeout:
|
||||
type: str
|
||||
required: true
|
||||
description: Validation LLM timeout.
|
||||
dnd_pipeline_audita_llm_validation_max_retries:
|
||||
type: int
|
||||
required: true
|
||||
description: Validation LLM retry count.
|
||||
dnd_pipeline_audita_concurrency_total_llm:
|
||||
type: int
|
||||
required: true
|
||||
description: Total Audita LLM concurrency.
|
||||
dnd_pipeline_audita_concurrency_proposal_llm:
|
||||
type: int
|
||||
required: true
|
||||
description: Proposal Audita LLM concurrency.
|
||||
dnd_pipeline_audita_concurrency_validation_llm:
|
||||
type: int
|
||||
required: true
|
||||
description: Validation Audita LLM concurrency.
|
||||
dnd_pipeline_audita_chunking_target_sections:
|
||||
type: int
|
||||
required: true
|
||||
description: Audita target section count.
|
||||
dnd_pipeline_audita_chunking_max_section_tokens:
|
||||
type: int
|
||||
required: true
|
||||
description: Audita maximum section tokens.
|
||||
dnd_pipeline_audita_chunking_min_section_tokens:
|
||||
type: int
|
||||
required: true
|
||||
description: Audita minimum section tokens.
|
||||
dnd_pipeline_audita_normalization_max_segment_gap:
|
||||
type: str
|
||||
required: true
|
||||
description: Audita maximum segment gap.
|
||||
dnd_pipeline_audita_normalization_ellipsis_gap:
|
||||
type: str
|
||||
required: true
|
||||
description: Audita ellipsis gap.
|
||||
dnd_pipeline_audita_normalization_max_segment_duration:
|
||||
type: str
|
||||
required: true
|
||||
description: Audita maximum segment duration.
|
||||
dnd_pipeline_audita_normalization_max_segment_tokens:
|
||||
type: int
|
||||
required: true
|
||||
description: Audita maximum segment tokens.
|
||||
dnd_pipeline_audita_thresholds_glossary:
|
||||
type: float
|
||||
required: true
|
||||
description: Audita glossary confidence threshold.
|
||||
dnd_pipeline_audita_thresholds_homophones:
|
||||
type: float
|
||||
required: true
|
||||
description: Audita homophone confidence threshold.
|
||||
dnd_pipeline_audita_thresholds_spoken_word:
|
||||
type: float
|
||||
required: true
|
||||
description: Audita spoken-word confidence threshold.
|
||||
dnd_pipeline_audita_thresholds_grammar:
|
||||
type: float
|
||||
required: true
|
||||
description: Audita grammar confidence threshold.
|
||||
dnd_pipeline_audita_context_description:
|
||||
type: str
|
||||
required: true
|
||||
description: Audita transcript context description.
|
||||
dnd_pipeline_audita_diagnostics_work_dir:
|
||||
type: str
|
||||
required: true
|
||||
description: Audita diagnostics work directory.
|
||||
dnd_pipeline_audita_diagnostics_retention:
|
||||
type: str
|
||||
required: true
|
||||
description: Audita diagnostics retention policy.
|
||||
dnd_pipeline_notarius_pipelines:
|
||||
type: dict
|
||||
required: true
|
||||
description: Complete native map of Notarius pipeline definitions.
|
||||
dnd_pipeline_notarius_cache_root:
|
||||
type: path
|
||||
required: true
|
||||
description: Shared root for Notarius cache state.
|
||||
dnd_pipeline_notarius_cache_chunk_plans_mode:
|
||||
type: str
|
||||
required: true
|
||||
description: Notarius chunk-plan cache policy.
|
||||
dnd_pipeline_notarius_cache_checkpoints_enabled:
|
||||
type: bool
|
||||
required: true
|
||||
description: Whether Notarius records checkpoints.
|
||||
dnd_pipeline_narratio_seriatim_output_schema:
|
||||
type: str
|
||||
required: true
|
||||
description: Seriatim schema consumed by the D&D processing workflow.
|
||||
dnd_pipeline_narratio_normalize_output_path:
|
||||
type: str
|
||||
required: true
|
||||
description: Canonical normalized transcript output path.
|
||||
dnd_pipeline_narratio_normalize_output_schema:
|
||||
type: str
|
||||
required: true
|
||||
description: Schema for the normalized transcript output.
|
||||
dnd_pipeline_narratio_trim_enabled:
|
||||
type: bool
|
||||
required: true
|
||||
description: Whether D&D transcript trimming is enabled.
|
||||
dnd_pipeline_narratio_trim_output_path:
|
||||
type: str
|
||||
required: true
|
||||
description: Canonical trimmed transcript output path.
|
||||
dnd_pipeline_narratio_trim_bounds_prompt_id:
|
||||
type: str
|
||||
required: true
|
||||
description: Prompt that identifies D&D session bounds.
|
||||
dnd_pipeline_narratio_trim_bounds_transcript_input_name:
|
||||
type: str
|
||||
required: true
|
||||
description: Bounds prompt input receiving the transcript.
|
||||
dnd_pipeline_narratio_trim_bounds_output_path:
|
||||
type: str
|
||||
required: true
|
||||
description: Canonical session-bounds artifact output path.
|
||||
dnd_pipeline_narratio_notarius_pipeline_id:
|
||||
type: str
|
||||
required: true
|
||||
description: Notarius pipeline selected by Narratio.
|
||||
dnd_pipeline_narratio_notarius_llm_api_key:
|
||||
type: str
|
||||
required: true
|
||||
description: Environment-variable name forwarded by Narratio to Notarius.
|
||||
dnd_pipeline_narratio_notarius_resume:
|
||||
type: bool
|
||||
required: true
|
||||
description: Whether ordinary Narratio extraction requests Notarius checkpoint reuse.
|
||||
dnd_pipeline_narratio_notarius_references:
|
||||
type: dict
|
||||
required: true
|
||||
description: Complete native map of Narratio prepared-reference bindings.
|
||||
dnd_pipeline_narratio_notarius_outputs:
|
||||
type: dict
|
||||
required: true
|
||||
description: Complete native map of accepted Notarius lane outputs.
|
||||
dnd_pipeline_narratio_render_enabled:
|
||||
type: bool
|
||||
required: true
|
||||
description: Whether transcript rendering is enabled.
|
||||
dnd_pipeline_narratio_render_format:
|
||||
type: str
|
||||
required: true
|
||||
description: Format for rendered D&D transcripts.
|
||||
dnd_pipeline_narratio_session_recap_artifact:
|
||||
type: dict
|
||||
required: true
|
||||
description: Complete native mapping for the session recap artifact.
|
||||
dnd_pipeline_narratio_hostile_rumors_artifact:
|
||||
type: dict
|
||||
required: true
|
||||
description: Complete native mapping for the hostile rumors artifact.
|
||||
dnd_pipeline_narratio_deranged_rumors_artifact:
|
||||
type: dict
|
||||
required: true
|
||||
description: Complete native mapping for the deranged rumors artifact.
|
||||
dnd_pipeline_narratio_scene_map_artifact:
|
||||
type: dict
|
||||
required: true
|
||||
description: Complete native mapping for the scene map artifact.
|
||||
dnd_pipeline_narratio_character_analysis_family:
|
||||
type: dict
|
||||
required: true
|
||||
description: Complete native mapping for the character analysis family.
|
||||
dnd_pipeline_narratio_testing_scriptorium_profile:
|
||||
type: str
|
||||
required: true
|
||||
description: Scriptorium profile selected by the testing overlay.
|
||||
129
roles/pipeline/meta/main.yml
Normal file
129
roles/pipeline/meta/main.yml
Normal file
@@ -0,0 +1,129 @@
|
||||
---
|
||||
galaxy_info:
|
||||
role_name: dnd_pipeline
|
||||
namespace: rakestraw
|
||||
author: Eric Rakestraw
|
||||
description: Compose the D&D transcript-processing application suite
|
||||
license: CC0-1.0
|
||||
min_ansible_version: "2.18"
|
||||
issue_tracker_url: https://gitea.maximumdirect.net/eric/ansible-role-dnd-pipeline/issues
|
||||
platforms:
|
||||
- name: Ubuntu
|
||||
versions:
|
||||
- resolute
|
||||
galaxy_tags:
|
||||
- dnd
|
||||
- pipeline
|
||||
- transcript
|
||||
- processing
|
||||
dependencies:
|
||||
- role: rakestraw.narratio
|
||||
vars:
|
||||
narratio_version: "{{ dnd_pipeline_narratio_version }}"
|
||||
narratio_manage_build_dependencies: "{{ dnd_pipeline_manage_build_dependencies }}"
|
||||
narratio_go_snap_channel: "{{ dnd_pipeline_go_snap_channel }}"
|
||||
narratio_go_binary: "{{ dnd_pipeline_go_binary }}"
|
||||
narratio_user: "{{ dnd_pipeline_runtime_user }}"
|
||||
narratio_group: "{{ dnd_pipeline_runtime_group }}"
|
||||
narratio_config_path: /usr/local/etc/narratio/pipeline.yml
|
||||
narratio_config_owner: "{{ dnd_pipeline_runtime_user }}"
|
||||
narratio_config_group: "{{ dnd_pipeline_runtime_group }}"
|
||||
narratio_config_directory_mode: "{{ dnd_pipeline_config_directory_mode }}"
|
||||
narratio_config_file_mode: "{{ dnd_pipeline_config_file_mode }}"
|
||||
narratio_whisperx_transcribe_url: "{{ dnd_pipeline_whisperx_transcribe_url }}"
|
||||
narratio_campaigns_root: "{{ dnd_pipeline_campaigns_root }}"
|
||||
narratio_configkit_imports:
|
||||
- path: conf.d/processing.yml
|
||||
- path: artifacts/session-recap.yml
|
||||
- path: artifacts/hostile-rumors.yml
|
||||
- path: artifacts/deranged-rumors.yml
|
||||
- path: artifacts/scene-map.yml
|
||||
- path: artifact-families/character-meta-analysis.yml
|
||||
narratio_seriatim_binary: /usr/local/bin/seriatim
|
||||
narratio_audita_binary: /usr/local/bin/audita
|
||||
narratio_audita_config_path: /usr/local/etc/audita/config.yml
|
||||
narratio_audita_llm_api_key: "{{ dnd_pipeline_audita_llm_proposal_api_key_env }}"
|
||||
narratio_notarius_binary: /usr/local/bin/notarius
|
||||
narratio_notarius_config_path: /usr/local/etc/notarius/config.yml
|
||||
narratio_notarius_enabled: true
|
||||
narratio_notarius_pipeline_id: "{{ dnd_pipeline_narratio_notarius_pipeline_id }}"
|
||||
narratio_notarius_working_directory: /usr/local/etc/notarius
|
||||
narratio_notarius_llm_api_key: "{{ dnd_pipeline_narratio_notarius_llm_api_key }}"
|
||||
narratio_notarius_resume: "{{ dnd_pipeline_narratio_notarius_resume }}"
|
||||
narratio_notarius_references: "{{ dnd_pipeline_narratio_notarius_references }}"
|
||||
narratio_notarius_outputs: "{{ dnd_pipeline_narratio_notarius_outputs }}"
|
||||
narratio_scriptorium_binary: /usr/local/bin/scriptorium
|
||||
narratio_scriptorium_config_path: /usr/local/etc/scriptorium/config.yml
|
||||
- role: rakestraw.seriatim
|
||||
vars:
|
||||
seriatim_version: "{{ dnd_pipeline_seriatim_version }}"
|
||||
seriatim_manage_build_dependencies: "{{ dnd_pipeline_manage_build_dependencies }}"
|
||||
seriatim_go_snap_channel: "{{ dnd_pipeline_go_snap_channel }}"
|
||||
seriatim_go_binary: "{{ dnd_pipeline_go_binary }}"
|
||||
- role: rakestraw.audita
|
||||
vars:
|
||||
audita_version: "{{ dnd_pipeline_audita_version }}"
|
||||
audita_manage_build_dependencies: "{{ dnd_pipeline_manage_build_dependencies }}"
|
||||
audita_go_snap_channel: "{{ dnd_pipeline_go_snap_channel }}"
|
||||
audita_go_binary: "{{ dnd_pipeline_go_binary }}"
|
||||
audita_config_owner: "{{ dnd_pipeline_runtime_user }}"
|
||||
audita_config_group: "{{ dnd_pipeline_runtime_group }}"
|
||||
audita_config_directory_mode: "{{ dnd_pipeline_config_directory_mode }}"
|
||||
audita_config_file_mode: "{{ dnd_pipeline_config_file_mode }}"
|
||||
audita_pipeline_modules: "{{ dnd_pipeline_audita_pipeline_modules }}"
|
||||
audita_output_schema: "{{ dnd_pipeline_audita_output_schema }}"
|
||||
audita_llm_proposal_base_url: "{{ dnd_pipeline_audita_llm_proposal_base_url }}"
|
||||
audita_llm_proposal_model: "{{ dnd_pipeline_audita_llm_proposal_model }}"
|
||||
audita_llm_proposal_api_key_env: "{{ dnd_pipeline_audita_llm_proposal_api_key_env }}"
|
||||
audita_llm_proposal_timeout: "{{ dnd_pipeline_audita_llm_proposal_timeout }}"
|
||||
audita_llm_proposal_max_retries: "{{ dnd_pipeline_audita_llm_proposal_max_retries }}"
|
||||
audita_llm_validation_base_url: "{{ dnd_pipeline_audita_llm_validation_base_url }}"
|
||||
audita_llm_validation_model: "{{ dnd_pipeline_audita_llm_validation_model }}"
|
||||
audita_llm_validation_api_key_env: "{{ dnd_pipeline_audita_llm_validation_api_key_env }}"
|
||||
audita_llm_validation_timeout: "{{ dnd_pipeline_audita_llm_validation_timeout }}"
|
||||
audita_llm_validation_max_retries: "{{ dnd_pipeline_audita_llm_validation_max_retries }}"
|
||||
audita_concurrency_total_llm: "{{ dnd_pipeline_audita_concurrency_total_llm }}"
|
||||
audita_concurrency_proposal_llm: "{{ dnd_pipeline_audita_concurrency_proposal_llm }}"
|
||||
audita_concurrency_validation_llm: "{{ dnd_pipeline_audita_concurrency_validation_llm }}"
|
||||
audita_chunking_target_sections: "{{ dnd_pipeline_audita_chunking_target_sections }}"
|
||||
audita_chunking_max_section_tokens: "{{ dnd_pipeline_audita_chunking_max_section_tokens }}"
|
||||
audita_chunking_min_section_tokens: "{{ dnd_pipeline_audita_chunking_min_section_tokens }}"
|
||||
audita_normalization_max_segment_gap: "{{ dnd_pipeline_audita_normalization_max_segment_gap }}"
|
||||
audita_normalization_ellipsis_gap: "{{ dnd_pipeline_audita_normalization_ellipsis_gap }}"
|
||||
audita_normalization_max_segment_duration: "{{ dnd_pipeline_audita_normalization_max_segment_duration }}"
|
||||
audita_normalization_max_segment_tokens: "{{ dnd_pipeline_audita_normalization_max_segment_tokens }}"
|
||||
audita_thresholds_glossary: "{{ dnd_pipeline_audita_thresholds_glossary }}"
|
||||
audita_thresholds_homophones: "{{ dnd_pipeline_audita_thresholds_homophones }}"
|
||||
audita_thresholds_spoken_word: "{{ dnd_pipeline_audita_thresholds_spoken_word }}"
|
||||
audita_thresholds_grammar: "{{ dnd_pipeline_audita_thresholds_grammar }}"
|
||||
audita_context_description: "{{ dnd_pipeline_audita_context_description }}"
|
||||
audita_diagnostics_work_dir: "{{ dnd_pipeline_audita_diagnostics_work_dir }}"
|
||||
audita_diagnostics_retention: "{{ dnd_pipeline_audita_diagnostics_retention }}"
|
||||
- role: rakestraw.notarius
|
||||
vars:
|
||||
notarius_version: "{{ dnd_pipeline_notarius_version }}"
|
||||
notarius_manage_build_dependencies: "{{ dnd_pipeline_manage_build_dependencies }}"
|
||||
notarius_go_snap_channel: "{{ dnd_pipeline_go_snap_channel }}"
|
||||
notarius_go_binary: "{{ dnd_pipeline_go_binary }}"
|
||||
notarius_config_owner: "{{ dnd_pipeline_runtime_user }}"
|
||||
notarius_config_group: "{{ dnd_pipeline_runtime_group }}"
|
||||
notarius_config_directory_mode: "{{ dnd_pipeline_config_directory_mode }}"
|
||||
notarius_config_file_mode: "{{ dnd_pipeline_config_file_mode }}"
|
||||
notarius_configkit_imports:
|
||||
- path: pipelines/dnd-session.yml
|
||||
notarius_cache_chunk_plans_mode: "{{ dnd_pipeline_notarius_cache_chunk_plans_mode }}"
|
||||
notarius_cache_chunk_plans_directory: "{{ dnd_pipeline_notarius_cache_root ~ '/chunk-plans' }}"
|
||||
notarius_cache_checkpoints_enabled: "{{ dnd_pipeline_notarius_cache_checkpoints_enabled }}"
|
||||
notarius_cache_checkpoints_directory: "{{ dnd_pipeline_notarius_cache_root ~ '/checkpoints' }}"
|
||||
- role: rakestraw.scriptorium
|
||||
vars:
|
||||
scriptorium_version: "{{ dnd_pipeline_scriptorium_version }}"
|
||||
scriptorium_manage_build_dependencies: "{{ dnd_pipeline_manage_build_dependencies }}"
|
||||
scriptorium_go_snap_channel: "{{ dnd_pipeline_go_snap_channel }}"
|
||||
scriptorium_go_binary: "{{ dnd_pipeline_go_binary }}"
|
||||
scriptorium_config_owner: "{{ dnd_pipeline_runtime_user }}"
|
||||
scriptorium_config_group: "{{ dnd_pipeline_runtime_group }}"
|
||||
scriptorium_config_directory_mode: "{{ dnd_pipeline_config_directory_mode }}"
|
||||
scriptorium_config_file_mode: "{{ dnd_pipeline_config_file_mode }}"
|
||||
scriptorium_prompt_dir: "{{ dnd_pipeline_prompt_library_root ~ '/prompts' }}"
|
||||
scriptorium_schema_dir: "{{ dnd_pipeline_prompt_library_root ~ '/schemas' }}"
|
||||
Reference in New Issue
Block a user