Skip to content

Commit a7ebd87

Browse files
authored
Merge pull request #439 from mrsabath/docs/fix-demo-ui-installer-resources
docs(weather-agent): fix installer secret namespace in demo-ui
2 parents 530c734 + 189bcdb commit a7ebd87

1 file changed

Lines changed: 33 additions & 29 deletions

File tree

authbridge/demos/weather-agent/demo-ui.md

Lines changed: 33 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -103,24 +103,19 @@ You should also have:
103103

104104
## Installer-Provided Resources
105105

106-
The Kagenti installer creates everything this demo needs in the target namespace:
106+
In **`team1`**: `authbridge-config`, `authbridge-runtime-config`, `spiffe-helper-config`,
107+
`envoy-config`. No extra Secrets or ConfigMaps are required for this demo (outbound
108+
passthrough; inbound JWT uses issuer/signature checks).
107109

108-
- **`kagenti` realm** in Keycloak
109-
- **`keycloak-admin-secret`** Secret (Keycloak admin credentials)
110-
- **`authbridge-config`**, **`authbridge-runtime-config`**, **`spiffe-helper-config`**, **`envoy-config`** ConfigMaps
110+
**`keycloak-admin-secret` is not in `team1`.** Operator 0.2+ keeps it in
111+
**`kagenti-system`** for client registration. `NotFound` in `team1` is expected:
111112

112-
No additional Keycloak configuration, Secrets, or ConfigMaps are required for
113-
this demo. The weather agent uses outbound passthrough (no token exchange), and
114-
inbound JWT validation works with signature and issuer checks alone.
113+
```bash
114+
kubectl get secret keycloak-admin-secret -n kagenti-system
115+
```
115116

116-
> If your Keycloak admin credentials differ from the default (`admin`/`admin`),
117-
> update the secret:
118-
> ```bash
119-
> kubectl create secret generic keycloak-admin-secret -n team1 \
120-
> --from-literal=KEYCLOAK_ADMIN_USERNAME=<your-admin-user> \
121-
> --from-literal=KEYCLOAK_ADMIN_PASSWORD=<your-admin-password> \
122-
> --dry-run=client -o yaml | kubectl apply -f -
123-
> ```
117+
UI login: secret **`kagenti-test-user`** in namespace **`keycloak`** (`admin` + password).
118+
Realm **`kagenti`** is created by the platform installer.
124119

125120
---
126121

@@ -232,38 +227,46 @@ Wait for the Shipwright build to complete and the deployment to become ready.
232227
kubectl get pods -n team1
233228
```
234229
235-
Expected output:
230+
Expected output (Step 2 defaults — `proxy-sidecar` mode):
236231
237-
```
232+
```text
238233
NAME READY STATUS RESTARTS AGE
239234
weather-service-58768bdb67-xxxxx 2/2 Running 0 2m
240235
weather-tool-7f8c9d6b44-yyyyy 1/1 Running 0 5m
241236
```
242237
243-
> **Note:** The agent pod shows **2/2** containers — the agent itself plus
244-
> one combined AuthBridge sidecar (spiffe-helper is bundled inside; client
245-
> registration is handled by the operator outside the pod). In envoy-sidecar
246-
> mode you'll also see a `proxy-init` init container that exits after
247-
> setting up iptables.
238+
> **Note:** AuthBridge ships as a single combined sidecar image (since
239+
> kagenti-extensions#411). `weather-service` runs `agent` + the combined
240+
> AuthBridge sidecar — `2/2` — regardless of whether SPIRE identity is
241+
> enabled. The `spiffe-helper` is bundled inside the combined image and
242+
> activated per workload via `SPIRE_ENABLED` (driven by the
243+
> `kagenti.io/spire: enabled` label); it is not a separate container. In
244+
> `envoy-sidecar` mode the pod is still `2/2` (`agent` + the combined
245+
> sidecar) plus a `proxy-init` init container for iptables setup. See the
246+
> [AuthBridge deployment guide](https://github.com/kagenti/kagenti/blob/main/docs/authbridge/deployment-guide.md)
247+
> for the full mode/label reference.
248248
249249
### Verify injected containers
250250
251251
```bash
252252
kubectl get pod -n team1 -l app.kubernetes.io/name=weather-service -o jsonpath='{.items[0].spec.containers[*].name}'
253253
```
254254
255-
Expected (proxy-sidecar mode, the cluster default):
255+
Expected (Step 2 defaults — `proxy-sidecar` mode):
256256
257-
```
257+
```text
258258
agent authbridge-proxy
259259
```
260260
261-
Or, in envoy-sidecar mode:
261+
Or, in `envoy-sidecar` mode:
262262
263-
```
263+
```text
264264
agent envoy-proxy
265265
```
266266
267+
The container *names* don't change with SPIRE — `spiffe-helper` runs inside
268+
the combined sidecar, not as a separate container.
269+
267270
### Check operator-managed client registration
268271
269272
After kagenti-extensions#411 / kagenti-operator#361, client registration runs
@@ -565,13 +568,14 @@ kubectl delete pod test-client -n team1 --ignore-not-found
565568
**Symptom:** `{"error":"invalid_client","error_description":"Invalid client or Invalid client credentials"}`
566569
567570
**Cause:** The `keycloak-admin-secret` Secret or `authbridge-config` ConfigMap was missing
568-
or incorrect at startup, so the client-registration sidecar couldn't register the client.
571+
or incorrect at startup, so the operator's `ClientRegistrationReconciler` couldn't reach
572+
Keycloak to register the client.
569573
570574
**Fix:**
571575
572576
```bash
573-
# 1. Verify the keycloak-admin-secret exists
574-
kubectl get secret keycloak-admin-secret -n team1
577+
# 1. Verify the keycloak-admin-secret exists (operator 0.2+ keeps it in kagenti-system)
578+
kubectl get secret keycloak-admin-secret -n kagenti-system
575579
576580
# 2. Verify the authbridge-config ConfigMap has the correct realm
577581
kubectl get configmap authbridge-config -n team1 -o jsonpath='{.data.KEYCLOAK_REALM}'

0 commit comments

Comments
 (0)