Skip to content

Commit d68cdc7

Browse files
committed
Merge remote-tracking branch 'origin/main' into feat/cpex_plugin
Signed-off-by: Frederico Araujo <frederico.araujo@ibm.com> # Conflicts: # CLAUDE.md # authbridge/CLAUDE.md # authbridge/authlib/go.mod # authbridge/authlib/go.sum # authbridge/cmd/authbridge-envoy/go.mod # authbridge/cmd/authbridge-lite/go.mod # authbridge/cmd/authbridge-proxy/go.mod # authbridge/go.work
2 parents 57044fa + df01b1b commit d68cdc7

204 files changed

Lines changed: 24821 additions & 2895 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/dependabot.yml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,6 @@ updates:
2222
directory: /authbridge/cmd/authbridge-envoy
2323
schedule:
2424
interval: weekly
25-
- package-ecosystem: gomod
26-
directory: /authbridge/cmd/authbridge-lite
27-
schedule:
28-
interval: weekly
29-
3025
# Go - abctl TUI
3126
- package-ecosystem: gomod
3227
directory: /authbridge/cmd/abctl

.github/workflows/build.yaml

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -44,14 +44,17 @@ jobs:
4444
context: ./authbridge
4545
dockerfile: cmd/authbridge-proxy/Dockerfile
4646

47-
# AuthBridge proxy-sidecar lite combined image —
48-
# authbridge-lite (auth-only plugins, parsers dropped for
49-
# binary size) + spiffe-helper. Same listener layout as the
50-
# full proxy image; not yet referenced by the operator's
51-
# default config.
47+
# AuthBridge proxy-sidecar LITE image — the SAME authbridge-proxy
48+
# binary + Dockerfile, built with exclude_plugin_* tags so only
49+
# jwt-validation + token-exchange compile in (drops the OPA SDK
50+
# and the parsers, roughly halving the binary). A build variant,
51+
# not a separate binary. Same listener layout as the full proxy
52+
# image; not yet referenced by the operator's default config.
5253
- name: authbridge-lite
5354
context: ./authbridge
54-
dockerfile: cmd/authbridge-lite/Dockerfile
55+
dockerfile: cmd/authbridge-proxy/Dockerfile
56+
build_args: |
57+
GO_BUILD_TAGS=exclude_plugin_a2aparser,exclude_plugin_ibac,exclude_plugin_inferenceparser,exclude_plugin_mcpparser,exclude_plugin_opa,exclude_plugin_sparc,exclude_plugin_tokenbroker
5558
5659
# AuthBridge proxy-sidecar CPEX image — authbridge-proxy built
5760
# with -tags cpex (links libcpex_ffi.a from a pinned CPEX
@@ -72,11 +75,11 @@ jobs:
7275
steps:
7376
# 1. Checkout code
7477
- name: Checkout repository
75-
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
78+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
7679

7780
# 2. Set up QEMU for multi-arch builds
7881
- name: Set up QEMU
79-
uses: docker/setup-qemu-action@ce360397dd3f832beb865e1373c09c0e9f86d70a # v4
82+
uses: docker/setup-qemu-action@96fe6ef7f33517b61c61be40b68a1882f3264fb8 # v4
8083

8184
# 3. Set up Docker Buildx
8285
- name: Set up Docker Buildx
@@ -107,7 +110,7 @@ jobs:
107110
# 6. Extract Docker metadata
108111
- name: Extract Docker metadata
109112
id: meta
110-
uses: docker/metadata-action@030e881283bb7a6894de51c315a6bfe6a94e05cf # v6
113+
uses: docker/metadata-action@dc802804100637a589fabce1cb79ff13a1411302 # v6
111114
with:
112115
images: ghcr.io/${{ github.repository }}/${{ matrix.image_config.name }}
113116
tags: |
@@ -143,6 +146,7 @@ jobs:
143146
with:
144147
context: ${{ matrix.image_config.context }}
145148
file: ${{ matrix.image_config.context }}/${{ matrix.image_config.dockerfile }}
149+
build-args: ${{ matrix.image_config.build_args }}
146150
push: true
147151
platforms: linux/amd64,linux/arm64
148152
tags: ${{ steps.meta.outputs.tags }}

.github/workflows/ci.yaml

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,13 @@ jobs:
2323
runs-on: ubuntu-latest
2424
timeout-minutes: 10
2525
steps:
26-
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
26+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
2727

28-
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6
28+
- uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6
2929
with:
3030
go-version-file: authbridge/authlib/go.mod
3131

32-
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
32+
- uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6
3333
with:
3434
python-version: '3.12'
3535

@@ -48,9 +48,9 @@ jobs:
4848
run:
4949
working-directory: authbridge/authlib
5050
steps:
51-
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
51+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
5252

53-
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6
53+
- uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6
5454
with:
5555
go-version-file: authbridge/authlib/go.mod
5656
cache-dependency-path: authbridge/authlib/go.sum
@@ -76,7 +76,6 @@ jobs:
7676
binary:
7777
- authbridge-proxy
7878
- authbridge-envoy
79-
- authbridge-lite
8079
defaults:
8180
run:
8281
working-directory: authbridge/cmd/${{ matrix.binary }}
@@ -86,9 +85,9 @@ jobs:
8685
# all sibling modules in and slow down CI).
8786
GOWORK: "off"
8887
steps:
89-
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
88+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
9089

91-
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6
90+
- uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6
9291
with:
9392
go-version-file: authbridge/cmd/${{ matrix.binary }}/go.mod
9493
cache-dependency-path: authbridge/cmd/${{ matrix.binary }}/go.sum
@@ -101,6 +100,18 @@ jobs:
101100
- name: Build
102101
run: go build -v ./...
103102

103+
# The authbridge-lite image is this same authbridge-proxy binary built
104+
# with exclude_plugin_* tags (only jwt-validation + token-exchange).
105+
# Build AND test that tag set on every PR — build.yaml only exercises
106+
# it on tag/main pushes, and this guards against lite-only regressions.
107+
- name: Build + test lite variant (exclude_plugin_* tags)
108+
if: matrix.binary == 'authbridge-proxy'
109+
run: |
110+
TAGS="exclude_plugin_a2aparser,exclude_plugin_ibac,exclude_plugin_inferenceparser"
111+
TAGS="$TAGS,exclude_plugin_mcpparser,exclude_plugin_opa,exclude_plugin_sparc,exclude_plugin_tokenbroker"
112+
go build -v -tags "$TAGS" ./...
113+
go test -v -race -cover -tags "$TAGS" ./...
114+
104115
- name: Test
105116
run: go test -v -race -cover ./...
106117

@@ -109,9 +120,9 @@ jobs:
109120
runs-on: ubuntu-latest
110121
timeout-minutes: 10
111122
steps:
112-
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
123+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
113124

114-
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
125+
- uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6
115126
with:
116127
python-version: '3.12'
117128

.github/workflows/pr-verifier.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,4 @@ jobs:
1010
verify-pr-title:
1111
permissions:
1212
pull-requests: read
13-
uses: kagenti/.github/.github/workflows/pr-verifier-required.yml@4e535f2436d167295d39d488ce5c44b5a2d49792
13+
uses: kagenti/.github/.github/workflows/pr-verifier-required.yml@5df2608afc813a6ec4a002a9ea05640863549122 # main, 2026-06-25

.github/workflows/scorecard.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
actions: read
2929
steps:
3030
- name: Checkout repository
31-
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
31+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
3232
with:
3333
persist-credentials: false
3434

@@ -40,7 +40,7 @@ jobs:
4040
publish_results: true
4141

4242
- name: Upload SARIF to Security tab
43-
uses: github/codeql-action/upload-sarif@87557b9c84dde89fdd9b10e88954ac2f4248e463 # v4
43+
uses: github/codeql-action/upload-sarif@99df26d4f13ea111d4ec1a7dddef6063f76b97e9 # v4
4444
with:
4545
sarif_file: scorecard.sarif
4646

.github/workflows/security-scans.yaml

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
permissions:
3333
contents: read
3434
steps:
35-
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
35+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
3636

3737
- name: Dependency Review
3838
uses: actions/dependency-review-action@a1d282b36b6f3519aa1f3fc636f609c47dddb294 # v4
@@ -47,7 +47,7 @@ jobs:
4747
permissions:
4848
contents: read
4949
steps:
50-
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
50+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
5151

5252
- name: Install shellcheck
5353
run: sudo apt-get install -y shellcheck
@@ -85,7 +85,7 @@ jobs:
8585
permissions:
8686
contents: read
8787
steps:
88-
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
88+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
8989

9090
- name: Install yamllint
9191
run: pip install yamllint==1.*
@@ -133,9 +133,9 @@ jobs:
133133
permissions:
134134
contents: read
135135
steps:
136-
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
136+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
137137

138-
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
138+
- uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6
139139
with:
140140
python-version: '3.12'
141141

@@ -194,7 +194,7 @@ jobs:
194194
permissions:
195195
contents: read
196196
steps:
197-
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
197+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
198198

199199
- name: Find Dockerfiles
200200
id: find-dockerfiles
@@ -226,7 +226,7 @@ jobs:
226226
permissions:
227227
contents: read
228228
steps:
229-
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
229+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
230230

231231
- name: Dependency vulnerability scan (informational)
232232
uses: aquasecurity/trivy-action@ed142fd0673e97e23eac54620cfb913e5ce36c25 # v0.36.0
@@ -263,19 +263,19 @@ jobs:
263263
matrix:
264264
language: [go, python]
265265
steps:
266-
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
266+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
267267

268268
- name: Initialize CodeQL
269-
uses: github/codeql-action/init@87557b9c84dde89fdd9b10e88954ac2f4248e463 # v4
269+
uses: github/codeql-action/init@99df26d4f13ea111d4ec1a7dddef6063f76b97e9 # v4
270270
with:
271271
languages: ${{ matrix.language }}
272272
config-file: ./.github/codeql/codeql-config.yml
273273

274274
- name: Autobuild
275-
uses: github/codeql-action/autobuild@87557b9c84dde89fdd9b10e88954ac2f4248e463 # v4
275+
uses: github/codeql-action/autobuild@99df26d4f13ea111d4ec1a7dddef6063f76b97e9 # v4
276276

277277
- name: Perform CodeQL Analysis
278-
uses: github/codeql-action/analyze@87557b9c84dde89fdd9b10e88954ac2f4248e463 # v4
278+
uses: github/codeql-action/analyze@99df26d4f13ea111d4ec1a7dddef6063f76b97e9 # v4
279279
with:
280280
category: "/language:${{ matrix.language }}"
281281

@@ -285,7 +285,7 @@ jobs:
285285
permissions:
286286
contents: read
287287
steps:
288-
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
288+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
289289

290290
- name: Check for unpinned GitHub Actions
291291
run: |

.github/workflows/spellcheck_action.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@ jobs:
1515
name: Spellcheck
1616
runs-on: ubuntu-latest
1717
steps:
18-
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
18+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
1919

2020
- name: Check spelling
21-
uses: rojopolis/spellcheck-github-actions@e3cd8e9aec4587ec73bc0e60745aafd45c37aa2e # 0.60.0
21+
uses: rojopolis/spellcheck-github-actions@e619e00ca22f01ade9d73048dcd6518bedc552f2 # 0.63.0
2222
with:
2323
config_path: .github/spellcheck/.spellcheck.yml
2424
task_name: Markdown

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@ Thumbs.db
3737
*.bak
3838
*.orig
3939

40+
# Local scratch / working notes (never committed)
41+
.sketchpad/
42+
4043
# venv
4144
venv
4245
.venv

CLAUDE.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,8 @@ kagenti-extensions/
3939
│ │ ├── main.go
4040
│ │ ├── Dockerfile # envoy-sidecar combined image
4141
│ │ └── entrypoint.sh
42-
│ ├── cmd/authbridge-lite/ # proxy-sidecar mode, lite plugin set (no parsers)
43-
│ │ │ # for size-optimized deployments
44-
│ │ ├── main.go
45-
│ │ ├── Dockerfile # proxy-sidecar lite combined image
46-
│ │ └── entrypoint.sh
42+
│ │ # (the authbridge-lite image is this proxy
43+
│ │ # binary built with exclude_plugin_* tags)
4744
│ ├── proxy-init/ # iptables init container (envoy-sidecar + proxy-sidecar enforce-redirect modes)
4845
│ │ ├── init-iptables.sh
4946
│ │ ├── Dockerfile.init
@@ -63,7 +60,7 @@ kagenti-extensions/
6360

6461
### 1. AuthBridge Binaries (Go)
6562

66-
**Three mode-specific binaries** providing transparent traffic interception for both inbound JWT validation and outbound OAuth 2.0 token exchange (RFC 8693). Each binary is hardcoded to its deployment shape; mode is no longer selected at runtime.
63+
**Two mode-specific binaries** (proxy-sidecar and envoy-sidecar) providing transparent traffic interception for both inbound JWT validation and outbound OAuth 2.0 token exchange (RFC 8693). Each binary is hardcoded to its deployment shape; mode is no longer selected at runtime. The `authbridge-lite` **image** is a build variant of the proxy binary (not a third binary) — see below.
6764

6865
**Library:** `authbridge/authlib/` (shared)
6966
**Language:** Go 1.25
@@ -72,7 +69,7 @@ kagenti-extensions/
7269
**Binaries:**
7370
- `cmd/authbridge-proxy/` — proxy-sidecar mode (default): HTTP forward + reverse proxies, full plugin set (jwt-validation, token-exchange, a2a-parser, mcp-parser, inference-parser). No Envoy / no gRPC.
7471
- `cmd/authbridge-envoy/` — envoy-sidecar mode: ext_proc gRPC server hooked into Envoy, full plugin set.
75-
- `cmd/authbridge-lite/`proxy-sidecar mode, lite plugin set (auth gates only, parsers dropped) for size-optimized deployments.
72+
- `authbridge-lite` (image, **not** a separate binary) — `cmd/authbridge-proxy` built with `exclude_plugin_*` tags so only jwt-validation + token-exchange compile in (OPA + parsers dropped), for size-optimized deployments. Individual plugins live in `cmd/authbridge-proxy/plugins_<name>.go` files gated by `//go:build !exclude_plugin_<name>`.
7673

7774
**Common:**
7875
- `authlib/` — shared auth library (JWT validation, token exchange, caching, routing, all listener implementations, all plugins).
@@ -122,17 +119,17 @@ into workload pods. Default deployment shape (proxy-sidecar mode):
122119

123120
## AuthBridge Binaries
124121

125-
Three mode-specific binaries, one Dockerfile per binary:
122+
Two mode-specific binaries (proxy, envoy), one Dockerfile each; the `authbridge-lite` image is a build variant of the proxy binary (proxy Dockerfile + `exclude_plugin_*` tags):
126123

127124
| Binary | Mode | Listeners | Plugins |
128125
|--------|------|-----------|---------|
129126
| `cmd/authbridge-proxy/` | proxy-sidecar (default) | HTTP forward + reverse proxies | full (incl. parsers) |
130127
| `cmd/authbridge-envoy/` | envoy-sidecar | gRPC ext_proc on :9090 | full (incl. parsers) |
131-
| `cmd/authbridge-lite/` | proxy-sidecar | HTTP forward + reverse proxies | auth-only (jwt-validation + token-exchange, no parsers) |
128+
| `authbridge-lite` _(image: proxy + `exclude_plugin_*`)_ | proxy-sidecar | HTTP forward + reverse proxies | auth-only (jwt-validation + token-exchange; OPA + parsers dropped) |
132129

133130
**Go modules:**
134131
- `authbridge/authlib/` — pure library: validation, exchange, cache, bypass, spiffe, routing, auth, config, all listener implementations, all plugins.
135-
- `authbridge/cmd/authbridge-{proxy,envoy,lite}/` — thin main packages that import authlib and start the listeners they need.
132+
- `authbridge/cmd/authbridge-{proxy,envoy}/` — thin main packages that import authlib and start the listeners they need. (The `authbridge-lite` image is `authbridge-proxy` built with `exclude_plugin_*` tags.)
136133
- `authbridge/go.work` — workspace linking authlib + the binaries for local development.
137134

138135
**Config format:** YAML with `${ENV_VAR}` expansion, mode presets, and startup validation. Supports `keycloak_url` + `keycloak_realm` derivation for operator compatibility. The `mode` field in YAML must match the binary (each binary rejects mismatched modes at boot).
@@ -142,7 +139,7 @@ Three mode-specific binaries, one Dockerfile per binary:
142139
| Workflow | Trigger | Purpose |
143140
|----------|---------|---------|
144141
| `ci.yaml` | PR to main/release-* | Pre-commit, Go fmt/vet/build/test for authlib and the cmd/authbridge-* binaries; Python tests |
145-
| `build.yaml` | Tag push (`v*`) or manual | Multi-arch Docker builds for: proxy-init, authbridge (proxy-sidecar combined), authbridge-envoy (envoy-sidecar combined), authbridge-lite (proxy-sidecar lite combined) |
142+
| `build.yaml` | Tag push (`v*`) or manual | Multi-arch Docker builds for: proxy-init, authbridge (proxy-sidecar combined), authbridge-envoy (envoy-sidecar combined), authbridge-lite (proxy Dockerfile built with `exclude_plugin_*` tags — auth-only) |
146143
| `security-scans.yaml` | PR to main | Dependency review, shellcheck, YAML lint, Hadolint, Bandit, Trivy, CodeQL |
147144
| `scorecard.yaml` | Weekly / push to main | OpenSSF Scorecard security health metrics |
148145
| `spellcheck_action.yml` | PR | Spellcheck on markdown files |
@@ -173,7 +170,7 @@ All images are pushed to `ghcr.io/kagenti/kagenti-extensions/` from
173170
|-------|--------|-------------|
174171
| **`authbridge`** | **`authbridge/cmd/authbridge-proxy/Dockerfile`** | **proxy-sidecar combined image (default mode): authbridge-proxy (full plugin set incl. parsers) + spiffe-helper. No Envoy.** |
175172
| `authbridge-envoy` | `authbridge/cmd/authbridge-envoy/Dockerfile` | envoy-sidecar combined image: Envoy + authbridge-envoy (ext_proc, full plugin set) + spiffe-helper |
176-
| `authbridge-lite` | `authbridge/cmd/authbridge-lite/Dockerfile` | proxy-sidecar lite combined image: authbridge-lite (auth gates only, parsers dropped) + spiffe-helper. Same listener layout as `authbridge`; not yet referenced by the operator's default config |
173+
| `authbridge-lite` | `authbridge/cmd/authbridge-proxy/Dockerfile` (+ `GO_BUILD_TAGS=exclude_plugin_*`) | proxy-sidecar combined image built auth-only (jwt-validation + token-exchange; OPA + parsers dropped) + spiffe-helper. A build variant of `authbridge`, not a separate binary; not yet referenced by the operator's default config |
177174
| `authbridge-cpex` | `authbridge/cmd/authbridge-cpex/Dockerfile` | proxy-sidecar build with the CPEX plugin: authbridge-proxy built with `-tags cpex`, links `libcpex_ffi.a` from a pinned CPEX release (CGO_ENABLED=1). Routes hooks through the CPEX framework (APL DSL + named CPEX policy plugins). FFI ABI version is read from `authbridge/cmd/authbridge-cpex/CPEX_FFI_VERSION` |
178175
| `proxy-init` | `authbridge/proxy-init/Dockerfile.init` | Alpine + iptables init container (envoy-sidecar + proxy-sidecar enforce-redirect modes) |
179176

@@ -252,10 +249,13 @@ To build a single image directly:
252249
# proxy-init (iptables init container, envoy-sidecar mode)
253250
cd authbridge/proxy-init && make docker-build-init
254251

255-
# Combined sidecars (proxy-sidecar default / envoy-sidecar / lite)
252+
# Combined sidecars (proxy-sidecar default / envoy-sidecar)
256253
cd authbridge && podman build -f cmd/authbridge-proxy/Dockerfile -t authbridge:latest .
257254
cd authbridge && podman build -f cmd/authbridge-envoy/Dockerfile -t authbridge-envoy:latest .
258-
cd authbridge && podman build -f cmd/authbridge-lite/Dockerfile -t authbridge-lite:latest .
255+
# authbridge-lite: same proxy Dockerfile, built with exclude_plugin_* tags (auth-only)
256+
cd authbridge && podman build -f cmd/authbridge-proxy/Dockerfile \
257+
--build-arg GO_BUILD_TAGS="exclude_plugin_a2aparser,exclude_plugin_ibac,exclude_plugin_inferenceparser,exclude_plugin_mcpparser,exclude_plugin_opa,exclude_plugin_sparc,exclude_plugin_tokenbroker" \
258+
-t authbridge-lite:latest .
259259
```
260260

261261
### Running the Full Demo

Makefile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ fmt: ## Run formatters across all sub-projects
1616
cd authbridge/cmd/abctl && go fmt ./...
1717
cd authbridge/cmd/authbridge-proxy && go fmt ./...
1818
cd authbridge/cmd/authbridge-envoy && go fmt ./...
19-
cd authbridge/cmd/authbridge-lite && go fmt ./...
2019
ruff format authbridge/
2120

2221
pre-commit: ## Install pre-commit hooks (including commit-msg)

0 commit comments

Comments
 (0)