Skip to content

feat: IBAC integration via authbridge plugin pipeline#18

Open
kellyaa wants to merge 6 commits into
kagenti:mainfrom
kellyaa:feat/ibac
Open

feat: IBAC integration via authbridge plugin pipeline#18
kellyaa wants to merge 6 commits into
kagenti:mainfrom
kellyaa:feat/ibac

Conversation

@kellyaa
Copy link
Copy Markdown
Contributor

@kellyaa kellyaa commented May 22, 2026

Summary

  • Integrate IBAC (Intent-Based Access Control) into the exgentic agent deploy flow via the operator-injected authbridge sidecar's plugin pipeline (a2a-parser, inference-parser, mcp-parser, ibac).
  • Add --ibac / --no-ibac flags to deploy-agent.sh plus an ibac/ overlay (apply-ibac.sh, ibac-merge.py, ibac-patch.yaml, intent_prompt.txt, wait-for-reload.sh) that patches authbridge-config-<agent> and waits for sidecar hot-reload.
    You will need to build and load the IBAC images into the cluster prior to use.
    See docs: https://github.com/kagenti/kagenti-extensions/blob/main/authbridge/demos/ibac/README.md

Notes

  • IBAC requires an authbridge-envoy image that registers the ibac plugin (e.g. localhost/ibac-sidecar); the operator's default authbridge-envoy:v0.5.0-rc.3 does not include it and will log reloader: reload failed ... unknown plugin "ibac". Document or wire the image override before merging if this is intended for general use.
  • Branch is marked experimental; flag defaults to off.

kellyaa added 6 commits May 13, 2026 11:54
Signed-off-by: Kelly Abuelsaad <kna@us.ibm.com>
Signed-off-by: Kelly Abuelsaad <kna@us.ibm.com>
Drop the standalone IBAC sidecar (forked authbridge image + Envoy +
iptables init container) in favor of patching the operator-injected
authbridge sidecar's plugin pipeline. The new flow appends a2a-parser
(inbound) and inference-parser/mcp-parser/ibac (outbound) into the
operator-managed authbridge-config-<agent> ConfigMap, and waits for
the sidecar's filesystem-watch hot-reload to swap pipelines.

Also wires --ibac to authBridgeEnabled=true in the kagenti API call
so the operator injects the sidecar (and creates the ConfigMap) in
the first place.

Removes envoy-config.yaml and patch-deployment.yaml (legacy stack);
adds ibac-patch.yaml (envsubst template), ibac-merge.py (idempotent
ConfigMap merge with --prompt-file), and wait-for-reload.sh.

Assisted-By: Claude (Anthropic AI) <noreply@anthropic.com>
Signed-off-by: Kelly Abuelsaad <kna@us.ibm.com>
Stale leftover from before the migration commit; the flag no longer
injects an Envoy overlay sidecar.

Assisted-By: Claude (Anthropic AI) <noreply@anthropic.com>
Signed-off-by: Kelly Abuelsaad <kna@us.ibm.com>
The kagenti-deps otel-collector binds OTLP/HTTP on 8335 (and gRPC on
4317); nothing is listening on 4318, so requests to 4318 return 503
and crash the agent's strict OTEL startup probe.

Assisted-By: Claude (Anthropic AI) <noreply@anthropic.com>
Signed-off-by: Kelly Abuelsaad <kna@us.ibm.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: New /:ToDo

Development

Successfully merging this pull request may close these issues.

2 participants