Pin identity-provisioner digest and readiness to directory preflight
Promote CI image sha256:3317a2610ef9958b77cb258dce54d69d13dfabbc55ffaad673e018f997a6467c with /readyz readiness and Recreate rollout. Live /healthz stays process liveness; /readyz returned directory ready. Native onboarding remains for T05. Assistant: grok Assistant-Session: 01a09dc6-3f0e-78f1-a884-c8c703c24ddf
This commit is contained in:
parent
84c4225542
commit
8dc5050aa3
5 changed files with 28 additions and 29 deletions
|
|
@ -135,7 +135,7 @@
|
||||||
| task | NK-WP-0036-T02 | done | — | workplans/NK-WP-0036-restore-user-portal-client-registration.md |
|
| task | NK-WP-0036-T02 | done | — | workplans/NK-WP-0036-restore-user-portal-client-registration.md |
|
||||||
| task | NK-WP-0036-T03 | done | — | workplans/NK-WP-0036-restore-user-portal-client-registration.md |
|
| task | NK-WP-0036-T03 | done | — | workplans/NK-WP-0036-restore-user-portal-client-registration.md |
|
||||||
| task | NK-WP-0036-T04 | done | — | workplans/NK-WP-0036-restore-user-portal-client-registration.md |
|
| task | NK-WP-0036-T04 | done | — | workplans/NK-WP-0036-restore-user-portal-client-registration.md |
|
||||||
| task | NK-WP-0036-T05 | todo | — | workplans/NK-WP-0036-restore-user-portal-client-registration.md |
|
| task | NK-WP-0036-T05 | progress | — | workplans/NK-WP-0036-restore-user-portal-client-registration.md |
|
||||||
| task | NK-WP-0036-T06 | done | — | workplans/NK-WP-0036-restore-user-portal-client-registration.md |
|
| task | NK-WP-0036-T06 | done | — | workplans/NK-WP-0036-restore-user-portal-client-registration.md |
|
||||||
| task | NK-WP-0037-T01 | done | — | workplans/NK-WP-0037-vergabe-company-welcome.md |
|
| task | NK-WP-0037-T01 | done | — | workplans/NK-WP-0037-vergabe-company-welcome.md |
|
||||||
| task | NK-WP-0037-T02 | progress | — | workplans/NK-WP-0037-vergabe-company-welcome.md |
|
| task | NK-WP-0037-T02 | progress | — | workplans/NK-WP-0037-vergabe-company-welcome.md |
|
||||||
|
|
|
||||||
|
|
@ -75,5 +75,6 @@ NK-WP-0036-T05 adds `/readyz` as a contained provisioner-to-directory preflight
|
||||||
`dependency_unavailable` JSON body, and keeps `/healthz` as process liveness.
|
`dependency_unavailable` JSON body, and keeps `/healthz` as process liveness.
|
||||||
Auth rejection is not retried during a cooldown so kube probes cannot hammer a
|
Auth rejection is not retried during a cooldown so kube probes cannot hammer a
|
||||||
rejected password. Synthetic contract tests run in identity-journeys CI.
|
rejected password. Synthetic contract tests run in identity-journeys CI.
|
||||||
Promotion still requires the immutable image digest, switching readiness to
|
Image sha256:3317a2610ef9958b77cb258dce54d69d13dfabbc55ffaad673e018f997a6467c
|
||||||
`/readyz`, and a native onboarding journey; see the T05 workplan note.
|
is live with `/readyz` readiness; a native onboarding journey is still required
|
||||||
|
before T05 is done. See the T05 workplan note.
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ spec:
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: provisioner
|
- name: provisioner
|
||||||
image: forgejo.coulomb.social/coulomb/identity-provisioner@sha256:698620e25cabccd746c10c332030e436428d184baab0f8270936494d285216a6
|
image: forgejo.coulomb.social/coulomb/identity-provisioner@sha256:3317a2610ef9958b77cb258dce54d69d13dfabbc55ffaad673e018f997a6467c
|
||||||
env:
|
env:
|
||||||
- name: PASSWORD_SETUP_TENANT_RETURNS
|
- name: PASSWORD_SETUP_TENANT_RETURNS
|
||||||
value: '{"tenant:trial:demo-company":"https://vergabe-teilnahme.coulomb.social/demo-company/"}'
|
value: '{"tenant:trial:demo-company":"https://vergabe-teilnahme.coulomb.social/demo-company/"}'
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ metadata:
|
||||||
app.kubernetes.io/part-of: net-kingdom-sso-mfa
|
app.kubernetes.io/part-of: net-kingdom-sso-mfa
|
||||||
spec:
|
spec:
|
||||||
replicas: 1
|
replicas: 1
|
||||||
|
strategy: {type: Recreate}
|
||||||
selector:
|
selector:
|
||||||
matchLabels: {app.kubernetes.io/name: identity-provisioner}
|
matchLabels: {app.kubernetes.io/name: identity-provisioner}
|
||||||
template:
|
template:
|
||||||
|
|
@ -23,7 +24,7 @@ spec:
|
||||||
seccompProfile: {type: RuntimeDefault}
|
seccompProfile: {type: RuntimeDefault}
|
||||||
containers:
|
containers:
|
||||||
- name: provisioner
|
- name: provisioner
|
||||||
image: forgejo.coulomb.social/coulomb/identity-provisioner@sha256:698620e25cabccd746c10c332030e436428d184baab0f8270936494d285216a6
|
image: forgejo.coulomb.social/coulomb/identity-provisioner@sha256:3317a2610ef9958b77cb258dce54d69d13dfabbc55ffaad673e018f997a6467c
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
ports: [{name: http, containerPort: 8080}]
|
ports: [{name: http, containerPort: 8080}]
|
||||||
env:
|
env:
|
||||||
|
|
@ -45,12 +46,11 @@ spec:
|
||||||
resources:
|
resources:
|
||||||
requests: {cpu: 25m, memory: 32Mi}
|
requests: {cpu: 25m, memory: 32Mi}
|
||||||
limits: {cpu: 250m, memory: 128Mi}
|
limits: {cpu: 250m, memory: 128Mi}
|
||||||
# /healthz is process liveness only. After the T05 image is pinned,
|
|
||||||
# switch readiness to /readyz (timeoutSeconds >= 5) so a rejected
|
|
||||||
# directory bind takes the pod out of Service endpoints.
|
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
httpGet: {path: /healthz, port: http}
|
httpGet: {path: /readyz, port: http}
|
||||||
periodSeconds: 10
|
periodSeconds: 15
|
||||||
|
timeoutSeconds: 5
|
||||||
|
failureThreshold: 3
|
||||||
livenessProbe:
|
livenessProbe:
|
||||||
httpGet: {path: /healthz, port: http}
|
httpGet: {path: /healthz, port: http}
|
||||||
periodSeconds: 20
|
periodSeconds: 20
|
||||||
|
|
|
||||||
|
|
@ -156,26 +156,24 @@ single native onboarding journey. Preserve credential secrecy and avoid
|
||||||
unbounded password-check retries. Actual demo users and application admission
|
unbounded password-check retries. Actual demo users and application admission
|
||||||
remain RAPPS-WP-0014 and VERGABE-WP-0019.
|
remain RAPPS-WP-0014 and VERGABE-WP-0019.
|
||||||
|
|
||||||
2026-09-14 agent implementation (not yet done): source now maps directory
|
2026-09-14: source maps directory HTTPError/URLError to redacted
|
||||||
HTTPError/URLError to redacted `{"error":"dependency_unavailable",
|
`{"error":"dependency_unavailable","dependency":"directory","reason":"auth_rejected|unreachable|protocol_error"}`.
|
||||||
"dependency":"directory","reason":"auth_rejected|unreachable|protocol_error"}`.
|
`GET /healthz` is process liveness; `GET /readyz` is one login plus one directory
|
||||||
`GET /healthz` remains process liveness; `GET /readyz` runs one login plus one
|
read. Auth rejection is cached for 30s so probes do not retry a rejected
|
||||||
directory read. Auth rejection is cached for 30s so probes do not retry a
|
password unbounded. 28 provider tests pass locally. identity-journeys run 242
|
||||||
rejected password unbounded. 28 provider tests pass locally, including the new
|
and identity-provisioner-image run 243 succeeded for c8e0761.
|
||||||
directory-contract suite. identity-journeys CI discovers those tests;
|
|
||||||
identity-provisioner-image.yaml is the immutable publish lane.
|
|
||||||
|
|
||||||
Remaining operator steps before T05 can be marked done:
|
Published and promoted image
|
||||||
1. Push this commit to `main` so identity-journeys and identity-provisioner-image
|
`forgejo.coulomb.social/coulomb/identity-provisioner@sha256:3317a2610ef9958b77cb258dce54d69d13dfabbc55ffaad673e018f997a6467c`
|
||||||
run. Confirm journeys green, then record the image digest from
|
(source c8e0761). Deployment uses Recreate so the packed single node can replace
|
||||||
`coulomb/identity-provisioner`.
|
the replica (RollingUpdate surge was Unschedulable: Insufficient cpu). Live
|
||||||
2. Pin that digest in `sso-mfa/k8s/identity-provisioner/deployment.yaml`, switch
|
in-pod checks: `/healthz` 200 `{"status":"ok"}`; `/readyz` 200
|
||||||
readiness to `/readyz` with `timeoutSeconds: 5` or higher, keep liveness on
|
`{"status":"ready","dependency":"directory"}`. Resources remain 25m/32Mi.
|
||||||
`/healthz`, apply, and confirm Ready 1/1 with `/readyz` returning
|
|
||||||
`{"status":"ready","dependency":"directory"}`.
|
Remaining before T05 can be marked done: one native onboarding journey that
|
||||||
3. Verify one native onboarding journey: provider login, user create/linkage,
|
covers provider login, user create/linkage and password setup as a single
|
||||||
password setup. Do not retry a rejected password in a loop. Demo users and
|
human attempt. Do not retry a rejected password in a loop. Demo users and
|
||||||
application admission stay RAPPS-WP-0014 and VERGABE-WP-0019.
|
application admission stay RAPPS-WP-0014 and VERGABE-WP-0019.
|
||||||
|
|
||||||
|
|
||||||
## Admit the canonical users hostname and preserve callback validation
|
## Admit the canonical users hostname and preserve callback validation
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue