You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Browse filesBrowse the repository at this point in the historyBrowse files
rzisholz
committed
Add provider_type segment to onboarding branches, fix configmap/tests/README
Cross-PR review caught real bugs missed by unit tests on both sides:
- onboard-disco-agent.sh created per-cluster branches at data/<cluster-UUID>,
but the authorizer's agent_provider_from_identity() expects
host/data/<provider_type>/<provider_id>/workloads/<sub>. Real onboarded
agents produced an identity the authorizer's own parser rejects. Fixed by
adding a data/<type> branch before the cluster branch (now C1-C7, was
C1-C6); verified end-to-end against the real authorizer parser.
- templates/configmap.yaml never rendered the cyberark: block into the
agent's config.yaml, despite values.yaml/values.schema.json declaring
those fields — Conjur-JWT auth was silently unreachable via this chart.
- TestConfig_CyberArk_Validation had two subtests asserting a config-time
"service_id is required" error that no longer exists (validation moved to
runtime, ErrNoAuthMethod). Updated to assert the current contract.
- README's onboarding section documented a stale v1 policy-file mechanism
that doesn't match what the v2-API script does, and never mentioned the
script exists. Rewrote to point at hack/onboard-disco-agent.sh. Also fixed
a self-contradicting serviceId example in both the README table and
values.schema.json (prose said "bare segment", the example showed the
full policy path).
| Agent logs `401 Unauthorized` from Conjur | ServiceAccount token `audience` does not match the authenticator's configured `audience` value, or the authn-jwt authenticator is not enabled for the account | Confirm `audience=conjur` in both the projected volume (chart default) and the Conjur `conjur/authn-jwt/<serviceId>/audience` variable; ensure the authenticator is enabled (`CONJUR_AUTHENTICATORS` includes `authn-jwt/<serviceId>`) |
189
-
| Agent logs `403 Forbidden` from the upload API | The agent's Conjur host is not a member of `data/disco/snapshot-uploaders` | Add the host to the group per step 4 of the onboarding runbook above |
154
+
| Agent logs `403 Forbidden` from the upload API | The agent's workload is not a member of `data/disco/<type>-uploaders`(fails the authz probe) | Re-run `hack/onboard-disco-agent.sh` for this cluster — it's idempotent|
190
155
| Agent logs `500` / no upload attempt | Conjur is unreachable or returned an unexpected error | Check network policy / DNS; inspect Conjur audit logs for the host identity |
# The type segment is required — the authorizer's agent_provider_from_identity()
236
+
# parses whoami identities as host/data/<type>/<cluster-UUID>/workloads/<sub>;
237
+
# without it, the identity is structurally rejected and Layer-2 (route-type
238
+
# match + FIS cluster-forgery check) silently never resolves for this agent.
239
+
api POST /branches "{\"name\":\"${PROVIDER_TYPE}\",\"branch\":\"data\",\"owner\":{\"kind\":\"group\",\"id\":\"Conjur_Cloud_Admins\"}}">/dev/null
240
+
echo" C1 branch ${TYPE_BRANCH}"
241
+
api POST /branches "{\"name\":\"${CLUSTER_UUID}\",\"branch\":\"${TYPE_BRANCH}\",\"owner\":{\"kind\":\"group\",\"id\":\"Conjur_Cloud_Admins\"}}">/dev/null
242
+
echo" C2 branch ${CLUSTER_BRANCH}"
228
243
api POST /branches "{\"name\":\"workloads\",\"branch\":\"${CLUSTER_BRANCH}\",\"owner\":{\"kind\":\"group\",\"id\":\"Conjur_Cloud_Admins\"}}">/dev/null
229
-
echo"C2 branch ${WORKLOAD_BRANCH}"
244
+
echo"C3 branch ${WORKLOAD_BRANCH}"
230
245
231
-
#C3: authn-jwt authenticator named after the cluster-UUID. Trust root is the
246
+
#C4: authn-jwt authenticator named after the cluster-UUID. Trust root is the
232
247
# REAL cluster OIDC (issuer + jwks/public-keys), never a snapshot.
0 commit comments