splunk / splunk/splunk-platform-automator
Baseconfig role for org_all_hec_inputs (HEC on chosen roles)
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 137
- Forks
- 51
- Avg merge
- 7h 44m
- Merged PRs (30d)
- 14
Description
Summary
Add first-class baseconfig support for org_all_hec_inputs: HTTP Event Collector on chosen Splunk roles (not only a generic splunk_app_deployment local app). Follow the same pattern as org_all_indexes: include_role: baseconfig_app with app_name: org_all_hec_inputs, a baseconfig_app task file that templates inputs.conf from splunk_config.yml, and callers on indexer / HF / other roles as configured.
Today HEC is only hinted as a commented generic app in examples/single_node_itsi.yml (org_all_hec_inputs + customizations.local_configs). That path does not install from the Professional Services / Software baseconfig tree or apply the same way other org_* apps do.
The app layout (copy into splunk_baseconfig_dir like other org_* apps; do not vendor secrets): app.conf, metadata/local.meta (export = system), local/inputs.conf with [http] (port 8088, disabled = 0) and [http://<input_name>] stanzas (index, indexes, token). SSL knobs on [http] exist but must not ship a plaintext sslPassword.
Ship
ansible/roles/baseconfig_app/tasks/org_all_hec_inputs.yml(and defaults as needed): copy/render the app; set port, enable/disable, token stanzas from config. Tokens vialookup('env')/!vault/ #52 — never print HEC tokens in CLI, logs, or agent JSON.- Call
baseconfig_appfrom the Splunk roles that should listen (typical: indexer; also HF / others when config says so). Pickup: config key for target roles (not hardcoded indexer-only). Skip when HEC is unset so lab examples stay valid. - Schema + catalog: list of inputs (stanza name, default index, allowed indexes, token ref). Optional SSL (
enableSSL, cert paths) aligned with #69 — no commentedsslPassword = password. - App files live in the operator’s Software/baseconfig tree (
org_all_hec_inputs), same discovery as otherorg_*apps. SPA does not ship PS trees; document the expected folder name. - Distinct from deploying the same folder as
source: localundersplunk_app_deployment. Prefer the baseconfig role so DS/CM/deployer/direct routing matches otherorg_*apps. - Tests: schema; role wiring / app-scope if applicable; fixtures use placeholders only.
- Docs + example (uncomment/replace the ITSI HEC comment with the new config shape).
Related
- Existing
baseconfig_app/org_all_indexescallers - #69 certs, #52 auth
- ROADMAP load balancer / HEC on indexers (ingress is separate from enabling HEC inputs)
Notes
Pickup-ready enhancement. Never commit real HEC tokens or sslPassword values.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Compare the existing baseconfig_app and org_all_indexes callers, then inspect ansible/roles/baseconfig_app/tasks and the schema, catalog, and role-wiring tests. Trace how splunk_config.yml reaches chosen roles and how app files are discovered under splunk_baseconfig_dir. Done means HEC is skipped when unset, configured app inputs are wired to selected roles without exposing tokens, tests use placeholders, and the ITSI example and docs describe the folder and config shape.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- yaml
- Domain
- devops, documentation, infrastructure, testing-qa
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100