[Spike] Add explicit Noah role provisioning - #925
Draft
vivekr-splunk wants to merge 3 commits into
Draft
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Review stack
Why
The Phase 0 image proved the required Noah behavior, but the implementation was hidden behind a Docker overlay that replaced selected Ansible files. This PR puts the provisioning behavior in splunk-ansible so reviewers can follow the supported flow directly.
Noah is an explicit mode layered on the existing
splunk.role. A[noahService]stanza by itself does not activate Noah-specific behavior, which keeps classic Cluster Manager deployments on their existing path.Role contract
splunk_indexersplunk_search_headsplunk_deployerUnsupported roles fail with a clear validation error when Noah mode is enabled.
Lifecycle flow
SPLUNK_NOAH_ENABLED=trueexplicitly selects Noah provisioning.pre_auth.ymlwrites a complete but disabled[noahService]stanza, a parseable role-specific heartbeat, and an available symmetric key.post_config.ymlselects exactly one indexer, search-head, or deployer profile.Restart the splunkd servicenotification remains valid. Noah CLI restarts use a bounded stop/start path; classic mode retains the original restart command.Scope
splunk_noahrole and explicit environment mapping.Validation
splunk_secretexpectation failures. The same 13 failures reproduce on cleanorigin/develop(569 passed, 5 skipped).git diff --checkpasses and the diff was scanned for credentials/account identifiers.This is a spike PR and remains draft while the linked Docker image is rebuilt and validated end to end.