Ramachandran Krishnan created RANGER-5719:
---------------------------------------------

             Summary: Shared partition-plan library and SPIFFE header auth 
utilities
                 Key: RANGER-5719
                 URL: https://issues.apache.org/jira/browse/RANGER-5719
             Project: Ranger
          Issue Type: Sub-task
          Components: Ranger
            Reporter: Ramachandran Krishnan
            Assignee: Ramachandran Krishnan
             Fix For: 3.0.0


h2. Summary

Introduces shared libraries in {{agents-common}} and {{common-utils}} that 
Admin, the Audit Ingestor, and plugins will use in follow-up PRs. This change 
adds building blocks only; no end-to-end audit routing or SPIFFE enforcement is 
active until later PRs land.
h3. Audit partition plan library

Adds a reusable partition-plan module for Admin-managed dynamic Kafka routing:
 * Plan model — JSON representation of the audit topic, plan version, 
per-plugin partition assignments, buffer pool, and per-service allow-list 
derived from {{{}policy.download.auth.users{}}}.
 * Plan lifecycle helpers — allocation and validation when services are 
onboarded or offboarded, including buffer promotion and version bumps.
 * Routing utilities — mapping from Admin-assigned partition IDs to Kafka 
producer partition indices, including safe fallbacks when topic metadata lags.
 * Plugin and service resolution — mapping Ranger service types to plugin IDs 
and parsing service config used for ingestor authorization.

This keeps partition-plan logic in one place so Admin, ingestor, and tests 
share the same contract.
h3. SPIFFE header auth utilities

Adds shared outbound auth helpers following the RANGER-5700 trusted-header 
pattern:
 * Header auth config — reads enable flag and SPIFFE header name from 
plugin/site configuration.
 * SPIFFE identity resolution — resolves workload identity from explicit 
config, identity file, or standard workload identity path.

These utilities support plugin → ingestor and ingestor → Admin SPIFFE auth in 
later PRs.
h3. What this PR does not include
 * Database schema or seed data
 * Admin REST APIs or plan persistence
 * Ingestor poller, dynamic partitioner, or inbound SPIFFE filter
 * Plugin install templates or audit destination changes
 * Docker or E2E smoke tests

Depends on: nothing
Blocks: DB patch, Admin, Ingestor, and Plugin PRs in the RANGER-5655 series



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to