Expose the Notarius configuration profile in the Narratio role

This commit is contained in:
2026-09-22 18:33:28 +00:00
parent e783ddeb3f
commit 330afe7856
7 changed files with 26 additions and 4 deletions

View File

@@ -105,6 +105,7 @@ narratio_scriptorium_artifact_families: null
narratio_notarius_enabled: null narratio_notarius_enabled: null
narratio_notarius_binary: null narratio_notarius_binary: null
narratio_notarius_config_path: null narratio_notarius_config_path: null
narratio_notarius_config_profile: null
narratio_notarius_pipeline_id: null narratio_notarius_pipeline_id: null
narratio_notarius_timeout: null narratio_notarius_timeout: null
narratio_notarius_working_directory: null narratio_notarius_working_directory: null
@@ -139,9 +140,11 @@ them and the role does not merge or rewrite them. Credential fields name
environment variables only; credential values remain outside this role and are environment variables only; credential values remain outside this role and are
the caller's responsibility. `narratio_notarius_llm_api_key` names the the caller's responsibility. `narratio_notarius_llm_api_key` names the
environment variable that Narratio forwards to Notarius. The optional environment variable that Narratio forwards to Notarius. The optional
`narratio_notarius_resume` and `narratio_notarius_chunk_cache` settings expose `narratio_notarius_config_profile` selects a Notarius ConfigKit overlay without
Narratio's native extraction and chunk-plan choices; this generic role assigns coupling it to Narratio's own profile name. The optional `narratio_notarius_resume`
no D&D-specific credential or cache policy. 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 ConfigKit imports and profile overlays are externally managed, and this role
does not install the downstream applications, campaign content, or suite policy. does not install the downstream applications, campaign content, or suite policy.

View File

@@ -90,6 +90,7 @@ narratio_scriptorium_artifact_families: null
narratio_notarius_enabled: null narratio_notarius_enabled: null
narratio_notarius_binary: null narratio_notarius_binary: null
narratio_notarius_config_path: null narratio_notarius_config_path: null
narratio_notarius_config_profile: null
narratio_notarius_pipeline_id: null narratio_notarius_pipeline_id: null
narratio_notarius_timeout: null narratio_notarius_timeout: null
narratio_notarius_working_directory: null narratio_notarius_working_directory: null

View File

@@ -95,6 +95,7 @@ argument_specs:
narratio_notarius_enabled: {type: bool, required: false} narratio_notarius_enabled: {type: bool, required: false}
narratio_notarius_binary: {type: str, required: false} narratio_notarius_binary: {type: str, required: false}
narratio_notarius_config_path: {type: str, required: false} narratio_notarius_config_path: {type: str, required: false}
narratio_notarius_config_profile: {type: str, required: false}
narratio_notarius_pipeline_id: {type: str, required: false} narratio_notarius_pipeline_id: {type: str, required: false}
narratio_notarius_timeout: {type: str, required: false} narratio_notarius_timeout: {type: str, required: false}
narratio_notarius_working_directory: {type: str, required: false} narratio_notarius_working_directory: {type: str, required: false}

View File

@@ -253,7 +253,7 @@ scriptorium:
artifact_families: {{ narratio_scriptorium_artifact_families | to_json }} artifact_families: {{ narratio_scriptorium_artifact_families | to_json }}
{% endif %} {% endif %}
{% 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_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 %} {% 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_config_profile 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: notarius:
{% if narratio_notarius_enabled is not none %} {% if narratio_notarius_enabled is not none %}
enabled: {{ narratio_notarius_enabled | to_json }} enabled: {{ narratio_notarius_enabled | to_json }}
@@ -264,6 +264,9 @@ notarius:
{% if narratio_notarius_config_path is not none %} {% if narratio_notarius_config_path is not none %}
config_path: {{ narratio_notarius_config_path | to_json }} config_path: {{ narratio_notarius_config_path | to_json }}
{% endif %} {% endif %}
{% if narratio_notarius_config_profile is not none %}
config_profile: {{ narratio_notarius_config_profile | to_json }}
{% endif %}
{% if narratio_notarius_pipeline_id is not none %} {% if narratio_notarius_pipeline_id is not none %}
pipeline_id: {{ narratio_notarius_pipeline_id | to_json }} pipeline_id: {{ narratio_notarius_pipeline_id | to_json }}
{% endif %} {% endif %}

View File

@@ -70,6 +70,7 @@ chmod 0755 "$custom_go_binary"
sudo rm -f -- /usr/local/bin/narratio sudo rm -f -- /usr/local/bin/narratio
recovery_log="$test_tmp/recovery.log" recovery_log="$test_tmp/recovery.log"
run_converge "$recovery_log" "${baseline_args[@]}" \ run_converge "$recovery_log" "${baseline_args[@]}" \
-e 'narratio_version=v2.1.0' \
-e '{"narratio_manage_build_dependencies": false}' \ -e '{"narratio_manage_build_dependencies": false}' \
-e "narratio_go_binary=$custom_go_binary" -e "narratio_go_binary=$custom_go_binary"
grep -q . "$custom_go_invocations" grep -q . "$custom_go_invocations"
@@ -77,6 +78,7 @@ grep -q . "$custom_go_invocations"
"$ansible_playbook" -i "$inventory" "$verify_baseline" "$ansible_playbook" -i "$inventory" "$verify_baseline"
recovery_repeat_log="$test_tmp/recovery-repeat.log" recovery_repeat_log="$test_tmp/recovery-repeat.log"
run_converge "$recovery_repeat_log" "${baseline_args[@]}" \ run_converge "$recovery_repeat_log" "${baseline_args[@]}" \
-e 'narratio_version=v2.1.0' \
-e '{"narratio_manage_build_dependencies": false}' \ -e '{"narratio_manage_build_dependencies": false}' \
-e "narratio_go_binary=$custom_go_binary" -e "narratio_go_binary=$custom_go_binary"
require_clean_recap "$recovery_repeat_log" require_clean_recap "$recovery_repeat_log"
@@ -91,3 +93,12 @@ NARRATIO_TEST_NOTARIUS_API_KEY="$synthetic_notarius_api_key" \
representative_repeat_log="$test_tmp/representative-repeat.log" representative_repeat_log="$test_tmp/representative-repeat.log"
"$ansible_playbook" -i "$inventory" "$representative" | tee "$representative_repeat_log" "$ansible_playbook" -i "$inventory" "$representative" | tee "$representative_repeat_log"
require_clean_recap "$representative_repeat_log" require_clean_recap "$representative_repeat_log"
empty_profile_log="$test_tmp/empty-profile.log"
"$ansible_playbook" -i "$inventory" \
-e '{"narratio_notarius_config_profile": ""}' \
"$representative" | tee "$empty_profile_log"
NARRATIO_TEST_NOTARIUS_API_KEY="$synthetic_notarius_api_key" \
"$ansible_playbook" -i "$inventory" \
-e '{"narratio_test_notarius_config_profile": ""}' \
"$verify_config"

View File

@@ -26,6 +26,7 @@
narratio_audita_modules: [] narratio_audita_modules: []
narratio_audita_report: false narratio_audita_report: false
narratio_notarius_llm_api_key: NARRATIO_TEST_NOTARIUS_API_KEY narratio_notarius_llm_api_key: NARRATIO_TEST_NOTARIUS_API_KEY
narratio_notarius_config_profile: representative-profile
narratio_notarius_resume: false narratio_notarius_resume: false
narratio_notarius_chunk_cache: auto narratio_notarius_chunk_cache: auto
narratio_normalize_output_path: null narratio_normalize_output_path: null

View File

@@ -26,6 +26,7 @@
- narratio_pipeline.audita.modules == [] - narratio_pipeline.audita.modules == []
- narratio_pipeline.audita.report == false - narratio_pipeline.audita.report == false
- narratio_pipeline.notarius.llm_api_key == 'NARRATIO_TEST_NOTARIUS_API_KEY' - narratio_pipeline.notarius.llm_api_key == 'NARRATIO_TEST_NOTARIUS_API_KEY'
- narratio_pipeline.notarius.config_profile == narratio_expected_notarius_config_profile
- narratio_pipeline.notarius.resume == false - narratio_pipeline.notarius.resume == false
- narratio_pipeline.notarius.chunk_cache == 'auto' - narratio_pipeline.notarius.chunk_cache == 'auto'
- narratio_pipeline.trim.enabled == false - narratio_pipeline.trim.enabled == false
@@ -39,6 +40,7 @@
- "'normalize' not in narratio_pipeline" - "'normalize' not in narratio_pipeline"
vars: vars:
narratio_pipeline: "{{ narratio_managed_pipeline.content | b64decode | from_yaml }}" narratio_pipeline: "{{ narratio_managed_pipeline.content | b64decode | from_yaml }}"
narratio_expected_notarius_config_profile: "{{ narratio_test_notarius_config_profile | default('representative-profile') }}"
- name: Validate the representative pipeline as the Narratio account - name: Validate the representative pipeline as the Narratio account
become: true become: true