Initial delivery of Flare Splunk Integration app. feature : add UI tabs, config options & dynamic links#109
Open
ankushy-metron wants to merge 8 commits into
Open
Initial delivery of Flare Splunk Integration app. feature : add UI tabs, config options & dynamic links#109ankushy-metron wants to merge 8 commits into
ankushy-metron wants to merge 8 commits into
Conversation
xvaier
requested changes
Jun 2, 2026
| # Environment variables | ||
| .env | ||
| .env.local | ||
| packages/flare/src/main/resources/splunk/bin/test_ingest.py |
Collaborator
There was a problem hiding this comment.
Why are we ignoring the test files?
Collaborator
There was a problem hiding this comment.
incorrect file path, we have test files in separate directory, we'll remove the entry.
Collaborator
There was a problem hiding this comment.
ta_version.txt holds the Splunk app release version (e.g. 1.0.0) when we run to generate tgz file
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.
Flare for Splunk Enterprise App PR
App name: Flare (
flare)Version:
1.3.4(seesplunk-integration/packages/flare/src/main/resources/splunk/default/app.conf)Splunk compatibility: Splunk Enterprise 9.3 / 9.4, Python
3.9License: Apache 2.0
What this app does
The Flare Splunk app pulls threat-intelligence events from the Flare platform (
api.flare.io) into Splunk so analysts can search, alert, and dashboard on them like any other Splunk data source. Events land in a dedicatedflareindex withsourcetype = flare_json.Repository layout (monorepo - Yarn workspaces + Lerna)
How it works end-to-end
ConfigurationScreen.tsx) Admin enters Flare API key → picks tenants, index, severities, source-type filters, "full event data" toggle, and backfill days.restmap.conf(/fetch_api_key_validation,/fetch_user_tenants,/fetch_severity_filters,/fetch_source_type_filters,/fetch_ingestion_status) — handlers inflare_external_requests.py.storage/passwordsunder realmflare_integration_realm(API key, tenant IDs, filters, etc.). No KV store dependency.inputs.confregisterscron_job_ingest_events.pyas a scripted input (default schedule* * * * *once configured). For each tenant it:nexttoken) + earliest-ingested timestamp fromdata_store.conf,/firework/v4/events/tenant/_search(and optionally fetches full event via/firework/v2/activities/{uid}),sourcetype=flare_json.Flare Search,Severity) and nav links are pre-wired indefault.xml/savedsearches.conf.Key things for the reviewer to focus on
packages/flare/bin/cron_job_ingest_events.py— main ingestion loop, concurrency guard (CRON_JOB_THRESHOLD_SINCE_LAST_FETCH = 10 min), multi-tenant pagination, error handling.packages/flare/bin/flare.py— Flare API client, retry on full-event fetch, rate-limit sleeps,User-Agenttagging (flare-splunk).packages/flare/bin/data_store.py— uses a local.conffile (not KV store) for cursor / last-fetch state. Confirm file paths under$SPLUNK_HOME/etc/apps/flare/local/.packages/flare/src/main/resources/splunk/default/—app.conf(version 1.3.4, build 11),inputs.conf,restmap.conf,savedsearches.conf, nav + views.packages/react-components/src/utils/setupConfiguration.ts— orchestrates first-time setup: createsflareindex, saves passwords, setspassAuthto current user, flips cron interval, reloads the app.Makefile—build,package(producesoutput/flare.tar.gz),validate(Splunk AppInspect),publish(Splunkbase app id 7602),test,lint,mypy,format.packages/flare/tests/bin/(pytest), React tests inpackages/react-components/src/tests/(jest).How to test locally
Then open Splunk → Apps → Flare → run through the Configuration screen with a Flare API key.
Risk / blast radius
flare); no global conf changes.flare_integration_realmpasswords, localdata_store.conf, the chosen index, and 2 saved searches.splunk/default.yml).api.flare.io.Release notes entry