Upgrade the Narratio role to version 2.1.0
This commit is contained in:
17
README.md
17
README.md
@@ -8,7 +8,7 @@ application state.
|
||||
## Variables
|
||||
|
||||
```yaml
|
||||
narratio_version: v2.0.0
|
||||
narratio_version: v2.1.0
|
||||
narratio_repository_url: https://gitea.maximumdirect.net/eric/narratio.git
|
||||
narratio_source_dir: /usr/local/src/narratio
|
||||
narratio_binary_path: /usr/local/bin/narratio
|
||||
@@ -108,6 +108,9 @@ narratio_notarius_config_path: null
|
||||
narratio_notarius_pipeline_id: null
|
||||
narratio_notarius_timeout: null
|
||||
narratio_notarius_working_directory: null
|
||||
narratio_notarius_llm_api_key: null
|
||||
narratio_notarius_resume: null
|
||||
narratio_notarius_chunk_cache: null
|
||||
narratio_notarius_references: null
|
||||
narratio_notarius_outputs: null
|
||||
narratio_notification_mode: null
|
||||
@@ -133,7 +136,12 @@ falsey values are preserved. `narratio_publish_outputs`,
|
||||
`narratio_scriptorium_artifacts`, and `narratio_scriptorium_artifact_families`
|
||||
are complete native caller values, so callers may compose them before assigning
|
||||
them and the role does not merge or rewrite them. Credential fields name
|
||||
environment variables only; credential values remain outside this role.
|
||||
environment variables only; credential values remain outside this role and are
|
||||
the caller's responsibility. `narratio_notarius_llm_api_key` names the
|
||||
environment variable that Narratio forwards to Notarius. The optional
|
||||
`narratio_notarius_resume` and `narratio_notarius_chunk_cache` settings expose
|
||||
Narratio's native extraction and chunk-plan choices; this generic role assigns
|
||||
no D&D-specific credential or cache policy.
|
||||
ConfigKit imports and profile overlays are externally managed, and this role
|
||||
does not install the downstream applications, campaign content, or suite policy.
|
||||
|
||||
@@ -152,10 +160,11 @@ does not install the downstream applications, campaign content, or suite policy.
|
||||
The repository-local integration suite installs its pinned collection and runs
|
||||
syntax checking and production-profile lint. It validates a baseline managed
|
||||
pipeline through Narratio as its application account and requires immediate
|
||||
clean repeated convergence. It explicitly selects `v2.0.0` and checks native
|
||||
clean repeated convergence. It explicitly selects `v2.1.0` and checks native
|
||||
version output, then combines missing-binary recovery with a caller-supplied Go
|
||||
executable while dependency management is disabled. A representative pipeline
|
||||
checks null omission, falsey values, and caller-composed native collections
|
||||
checks null omission, falsey values, caller-composed native collections, and
|
||||
the native Notarius credential-reference, `resume`, and chunk-cache fields
|
||||
before native validation and a clean repeat. The suite restores the baseline
|
||||
deployment during cleanup.
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
narratio_version: v2.0.0
|
||||
narratio_version: v2.1.0
|
||||
narratio_repository_url: https://gitea.maximumdirect.net/eric/narratio.git
|
||||
narratio_source_dir: /usr/local/src/narratio
|
||||
narratio_binary_path: /usr/local/bin/narratio
|
||||
@@ -93,6 +93,9 @@ narratio_notarius_config_path: null
|
||||
narratio_notarius_pipeline_id: null
|
||||
narratio_notarius_timeout: null
|
||||
narratio_notarius_working_directory: null
|
||||
narratio_notarius_llm_api_key: null
|
||||
narratio_notarius_resume: null
|
||||
narratio_notarius_chunk_cache: null
|
||||
narratio_notarius_references: null
|
||||
narratio_notarius_outputs: null
|
||||
narratio_notification_mode: null
|
||||
|
||||
@@ -98,6 +98,9 @@ argument_specs:
|
||||
narratio_notarius_pipeline_id: {type: str, required: false}
|
||||
narratio_notarius_timeout: {type: str, required: false}
|
||||
narratio_notarius_working_directory: {type: str, required: false}
|
||||
narratio_notarius_llm_api_key: {type: str, required: false}
|
||||
narratio_notarius_resume: {type: bool, required: false}
|
||||
narratio_notarius_chunk_cache: {type: str, required: false}
|
||||
narratio_notarius_references: {type: dict, required: false}
|
||||
narratio_notarius_outputs: {type: dict, required: false}
|
||||
narratio_notification_mode: {type: str, required: false}
|
||||
|
||||
@@ -253,7 +253,7 @@ scriptorium:
|
||||
artifact_families: {{ narratio_scriptorium_artifact_families | to_json }}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% if narratio_notarius_enabled is not none or narratio_notarius_binary is not none or narratio_notarius_config_path is not none or narratio_notarius_pipeline_id is not none or narratio_notarius_timeout is not none or narratio_notarius_working_directory is not none or narratio_notarius_references is not none or narratio_notarius_outputs is not none %}
|
||||
{% if narratio_notarius_enabled is not none or narratio_notarius_binary is not none or narratio_notarius_config_path is not none or narratio_notarius_pipeline_id is not none or narratio_notarius_timeout is not none or narratio_notarius_working_directory is not none or narratio_notarius_llm_api_key is not none or narratio_notarius_resume is not none or narratio_notarius_chunk_cache is not none or narratio_notarius_references is not none or narratio_notarius_outputs is not none %}
|
||||
notarius:
|
||||
{% if narratio_notarius_enabled is not none %}
|
||||
enabled: {{ narratio_notarius_enabled | to_json }}
|
||||
@@ -273,6 +273,15 @@ notarius:
|
||||
{% if narratio_notarius_working_directory is not none %}
|
||||
working_directory: {{ narratio_notarius_working_directory | to_json }}
|
||||
{% endif %}
|
||||
{% if narratio_notarius_llm_api_key is not none %}
|
||||
llm_api_key: {{ narratio_notarius_llm_api_key | to_json }}
|
||||
{% endif %}
|
||||
{% if narratio_notarius_resume is not none %}
|
||||
resume: {{ narratio_notarius_resume | to_json }}
|
||||
{% endif %}
|
||||
{% if narratio_notarius_chunk_cache is not none %}
|
||||
chunk_cache: {{ narratio_notarius_chunk_cache | to_json }}
|
||||
{% endif %}
|
||||
{% if narratio_notarius_references is not none %}
|
||||
references: {{ narratio_notarius_references | to_json }}
|
||||
{% endif %}
|
||||
|
||||
@@ -56,8 +56,8 @@ run_converge "$baseline_repeat_log" "${baseline_args[@]}"
|
||||
require_clean_recap "$baseline_repeat_log"
|
||||
|
||||
selected_version_log="$test_tmp/selected-version.log"
|
||||
run_converge "$selected_version_log" "${baseline_args[@]}" -e 'narratio_version=v2.0.0'
|
||||
/usr/local/bin/narratio version | grep -Fx 'narratio v2.0.0'
|
||||
run_converge "$selected_version_log" "${baseline_args[@]}" -e 'narratio_version=v2.1.0'
|
||||
/usr/local/bin/narratio version | grep -Fx 'narratio v2.1.0'
|
||||
|
||||
custom_go_binary="$test_tmp/go"
|
||||
custom_go_invocations="$test_tmp/go-invocations.log"
|
||||
@@ -73,7 +73,7 @@ run_converge "$recovery_log" "${baseline_args[@]}" \
|
||||
-e '{"narratio_manage_build_dependencies": false}' \
|
||||
-e "narratio_go_binary=$custom_go_binary"
|
||||
grep -q . "$custom_go_invocations"
|
||||
/usr/local/bin/narratio version | grep -Fx 'narratio v2.0.0'
|
||||
/usr/local/bin/narratio version | grep -Fx 'narratio v2.1.0'
|
||||
"$ansible_playbook" -i "$inventory" "$verify_baseline"
|
||||
recovery_repeat_log="$test_tmp/recovery-repeat.log"
|
||||
run_converge "$recovery_repeat_log" "${baseline_args[@]}" \
|
||||
@@ -83,7 +83,11 @@ require_clean_recap "$recovery_repeat_log"
|
||||
|
||||
representative_log="$test_tmp/representative.log"
|
||||
"$ansible_playbook" -i "$inventory" "$representative" | tee "$representative_log"
|
||||
"$ansible_playbook" -i "$inventory" "$verify_config"
|
||||
synthetic_notarius_api_key=notarius-representative-synthetic-value
|
||||
representative_validation_log="$test_tmp/representative-validation.log"
|
||||
NARRATIO_TEST_NOTARIUS_API_KEY="$synthetic_notarius_api_key" \
|
||||
"$ansible_playbook" -i "$inventory" "$verify_config" | tee "$representative_validation_log"
|
||||
! grep -Fq "$synthetic_notarius_api_key" "$representative_log" "$representative_validation_log"
|
||||
representative_repeat_log="$test_tmp/representative-repeat.log"
|
||||
"$ansible_playbook" -i "$inventory" "$representative" | tee "$representative_repeat_log"
|
||||
require_clean_recap "$representative_repeat_log"
|
||||
|
||||
@@ -25,6 +25,9 @@
|
||||
narratio_seriatim_report: false
|
||||
narratio_audita_modules: []
|
||||
narratio_audita_report: false
|
||||
narratio_notarius_llm_api_key: NARRATIO_TEST_NOTARIUS_API_KEY
|
||||
narratio_notarius_resume: false
|
||||
narratio_notarius_chunk_cache: auto
|
||||
narratio_normalize_output_path: null
|
||||
narratio_trim_enabled: false
|
||||
narratio_trim_bounds_render_debug: false
|
||||
|
||||
@@ -3,6 +3,19 @@
|
||||
hosts: localhost
|
||||
gather_facts: false
|
||||
tasks:
|
||||
- name: Read the baseline pipeline
|
||||
become: true
|
||||
ansible.builtin.slurp:
|
||||
src: /usr/local/etc/narratio/pipeline.yml
|
||||
register: narratio_baseline_pipeline
|
||||
|
||||
- name: Verify null Notarius fields are omitted
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- "'notarius' not in narratio_pipeline"
|
||||
vars:
|
||||
narratio_pipeline: "{{ narratio_baseline_pipeline.content | b64decode | from_yaml }}"
|
||||
|
||||
- name: Validate the pipeline as the Narratio account
|
||||
become: true
|
||||
become_user: narratio
|
||||
|
||||
@@ -25,6 +25,9 @@
|
||||
- narratio_pipeline.seriatim.report == false
|
||||
- narratio_pipeline.audita.modules == []
|
||||
- narratio_pipeline.audita.report == false
|
||||
- narratio_pipeline.notarius.llm_api_key == 'NARRATIO_TEST_NOTARIUS_API_KEY'
|
||||
- narratio_pipeline.notarius.resume == false
|
||||
- narratio_pipeline.notarius.chunk_cache == 'auto'
|
||||
- narratio_pipeline.trim.enabled == false
|
||||
- narratio_pipeline.trim.bounds.render_debug == false
|
||||
- narratio_pipeline.render.enabled == false
|
||||
@@ -47,4 +50,6 @@
|
||||
- validate
|
||||
- --config
|
||||
- /usr/local/etc/narratio/pipeline.yml
|
||||
environment:
|
||||
NARRATIO_TEST_NOTARIUS_API_KEY: "{{ lookup('ansible.builtin.env', 'NARRATIO_TEST_NOTARIUS_API_KEY') }}"
|
||||
changed_when: false
|
||||
|
||||
Reference in New Issue
Block a user