Splunk Enterprise Host Setup
SkillDev tools"Use when the user asks to bootstrap a Splunk host, install a heavy forwarder, build a
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Splunk Enterprise Host Setup skill
What this skill tells your AI
The instructions your AI receives, as published by chambear2809/splunk-cisco-skills in skills/splunk-enterprise-host-setup/SKILL.md and read by ahel’s review.
Prerequisites
| Tool or access | Purpose | Verify |
|---|---|---|
| Bash and Python 3 | Run bundled setup and validation helpers | bash --version && python3 --version |
| Required product/platform access | Inspect or configure the selected target | Complete the documented preflight |
| Credential files for live modes | Keep secrets out of chat | Verify paths only |
Workflow Overview
┌───────────┐ ┌───────────────┐ ┌───────────────┐ ┌─────────────────┐
│ Preflight │ → │ Render/review │ → │ Apply/handoff │ → │ Validate evidence │
└───────────┘ └───────────────┘ └───────────────┘ └─────────────────┘
When to Activate
- Bootstrap a Splunk host, install a heavy forwarder, build a search/index/forwarder tier, or configure clustered Splunk Enterprise nodes.
- Preview and review the splunk enterprise host setup workflow before any live apply phase.
- Diagnose failed prerequisites, generated assets, configuration, or validation evidence.
Scope
Follow the documented read-only or render-first path whenever it is available. This skill does not imply permission to mutate live systems. Require explicit apply flags, protected credentials, and operator review for state changes.
Examples
Inspect the supported setup modes before selecting one:
bash skills/splunk-enterprise-host-setup/scripts/setup.sh --help
Expected output: usage, supported modes, and required arguments are displayed without changing the target environment.
Inspect validation modes before running completion checks:
bash skills/splunk-enterprise-host-setup/scripts/validate.sh --help
Expected output: offline, live, and completion options are displayed when the skill supports them; help exits without mutation.
Troubleshooting
| Issue | Cause | Resolution |
|---|---|---|
| Preflight fails | A required tool or access path is missing | Resolve it before rendering or applying |
| Rendered assets are incomplete | Required non-secret inputs are absent | Complete intake and render again |
| Apply is blocked | Review, credentials, or explicit acceptance is missing | Use the documented handoff |
| Validation is incomplete | Live evidence is unavailable | Record the gap and keep completion open |
Bootstraps Linux hosts that should run full Splunk Enterprise.
Architecture First
- A heavy forwarder is not a separate package. It is a full Splunk Enterprise install with forwarder-style configuration.
- This skill is for self-managed Splunk Enterprise hosts only.
- The CLI takes the canonical role names below via
--host-bootstrap-role:standalone-search-tierstandalone-indexerheavy-forwardercluster-managerindexer-peershc-deployershc-member
- The "standalone-" prefix marks single-instance roles; clustered indexer and search-head-cluster control-plane roles use the unprefixed names above.
Agent Behavior — Credentials
Never ask for passwords or shared secrets in chat.
- Use
skills/splunk-enterprise-host-setup/template.exampleas the intake worksheet for non-secret values. - Keep secrets in temporary files only, for example:
bash skills/shared/scripts/write_secret_file.sh /tmp/splunk_admin_password
bash skills/shared/scripts/write_secret_file.sh /tmp/splunk_idxc_secret
bash skills/shared/scripts/write_secret_file.sh /tmp/splunk_shc_secret
- Reuse the project
credentialsfile or~/.splunk/credentialsfor SSH and REST defaults when possible. SSH execution additionally requires either an operator-reviewedSPLUNK_SSH_KNOWN_HOSTS_FILEor a verifiedSPLUNK_SSH_HOST_KEY_FINGERPRINT. The warnedSPLUNK_SSH_ALLOW_TOFU=trueescape hatch is for disposable labs only.
Package Model
Supported package sources:
--source splunk-authfor official Splunk download URLs that should use the stored Splunk.com credentials--source remotefor public or internal direct download URLs--source localfor packages already present on disk
If --url is omitted, or set to latest, remote and authenticated download
flows resolve the latest official Linux package URL from Splunk's Enterprise
download page at runtime. When --package-type auto is left in place for
latest resolution, the skill prefers .deb or .rpm based on the target OS
family and falls back to .tgz. Latest official downloads also require
successful verification against Splunk's official SHA512 checksum. If live
latest resolution fails, rerun with --allow-stale-latest to use the most
recent cached official metadata when it is younger than 30 days.
Supported package formats:
.tgz/.tar.gz.rpm.deb
The skill caches downloaded packages in the repo-local splunk-ta/ directory.
Install behavior:
- If the target host does not already have
SPLUNK_HOME/bin/splunk,installperforms a fresh install. - If Splunk is already present and the package version differs,
installperforms an in-place upgrade for.rpm,.deb, or.tgz. - If the installed version already matches the requested package version,
installsucceeds as a no-op and skips package replacement. - Install-only upgrades do not require
--admin-password-file. Password-based auth is still required for laterconfigureorclusterwork that uses authenticated Splunk CLI commands.
Scripts
setup.sh
Main bootstrap entrypoint:
bash skills/splunk-enterprise-host-setup/scripts/setup.sh \
--phase all \
--execution ssh \
--host-bootstrap-role heavy-forwarder \
--source remote \
--package-type tgz \
--admin-password-file /tmp/splunk_admin_password \
--cluster-manager-uri https://cm01.example.com:8089 \
--discovery-secret-file /tmp/splunk_idxc_secret
Useful phases:
download— fetch and checksum-verify the package intosplunk-ta/install— fresh-install, upgrade, or same-version no-op; fresh installs seed the admin user, upgrades stop Splunk before package replacement, and all successful install paths start Splunk and can enable boot-startconfigure— apply role-local configuration such as receiving or forwardingcluster— apply clustered settings such as manager, peer, or SHC membershipall— run the full workflow
Clustered-role upgrades still execute through the per-host setup.sh path, but
the skill can now render a rolling plan with one host per wave, pre/post
validation commands, and cluster health gates:
python3 skills/splunk-enterprise-host-setup/scripts/rolling_upgrade_plan.py \
--role indexer-peer \
--hosts idx01.example.com,idx02.example.com,idx03.example.com \
--cluster-manager-host cm01.example.com \
--cluster-manager-uri https://cm01.example.com:8089 \
--admin-password-file /tmp/splunk_admin_password
The planner is render-only. It does not SSH, restart Splunk, or modify hosts; operators still run the generated per-host commands after each health gate is green.
validate.sh
Checks package install state, service health, role-specific config, and clustered status where relevant.
bash skills/splunk-enterprise-host-setup/scripts/validate.sh \
--execution ssh \
--host-bootstrap-role indexer-peer \
--admin-password-file /tmp/splunk_admin_password
smoke_latest_resolution.sh
Quick live smoke for the latest official package resolver without downloading the full package payload:
bash skills/splunk-enterprise-host-setup/scripts/smoke_latest_resolution.sh \
--package-type auto
Key Defaults
SPLUNK_HOME=/opt/splunk- Linux + systemd only
- single-site clustering only
- heavy forwarders default to
indexAndForward=false - clustered heavy forwarders default to indexer discovery
- standalone-search-tier roles enable Splunk Web by default
- SHC member adds require
--current-shc-member-uriunless--bootstrap-shcis used to create a brand-new cluster
Enterprise upgrade ladder (10.4)
Splunk Enterprise has no 10.3 release train. Supported paths to 10.4 include 10.2 → 10.4, 10.0 → 10.2 → 10.4, and fresh installs on 10.4.1 (default in this repo).
Invalid or high-risk jumps this skill should warn about during planning:
- 9.x → 10.4 without an intermediate 10.0 or 10.2 stop (KV Store MongoDB 7+ prerequisite).
- Any upgrade target below the SVD floor for the selected train (see
splunk-enterprise-public-exposure-hardeningorskills/shared/references/splunk_platform_versions.json).
Enterprise 10.4 also removes TLS 1.0/1.1 negotiation and applies KV
Store MongoDB 8 automatically when upgrading from 10.x. Route PKI and
KV Store preflight work to splunk-platform-pki-setup and
splunk-kvstore-admin-setup before executing host upgrades.
References
- reference.md for role placement, ports, and topology notes
- template.example for the non-secret intake worksheet
Signals
- GitHub stars
- 37
- Forks
- 8
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
splunk-enterprise-host-setup- Source
- github.com/chambear2809/splunk-cisco-skills