chore: upgrade nginx to 1.31.3 #7
Reference in New Issue
Block a user
No description provided.
Delete Branch "upgrade-505e53c"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Recipe upgrade for lasuite-docs (extending this PR — one evolving upgrade PR per recipe).
This commit adds the nginx security bump on top of the existing impress v5.4.1 + nginx 1.31.2 + minio RELEASE.2025-09-07 work already on this branch.
Image-tag table
Upstream release notes
Operator action required
Recommended release (operator runs after this PR merges)
Verification
Tested green on the cc-ci recipe CI server (full suite, cold, against this PR head). NOT merged — for operator review.
cc @trav @notplants
!testme
🌻 cc-ci —
lasuite-docs@505e53cc✅ passedfull logs · dashboard
chore: upgrade to v5.3.0 (impress app/backend/celery/y-provider) + nginx 1.31.2to chore: upgrade impress to v5.3.0, nginx to 1.31.2, minio to RELEASE.2025-09-07!testme
🌻 cc-ci —
lasuite-docs@9e3f3b13✅ passedfull logs · dashboard
chore: upgrade impress to v5.3.0, nginx to 1.31.2, minio to RELEASE.2025-09-07to chore: upgrade impress to v5.4.1!testme
🌻 cc-ci —
lasuite-docs@7e7ba76a❌ failurefull logs · dashboard
!testme RED diagnosis — stale test (upgrade is correct)
The
!testmerun on this PR head (7e7ba76a, build #1121) came back RED on one custom test:All other stages passed: install ✅, upgrade ✅, backup ✅, restore ✅. The other custom test (
test_oidc_with_keycloak.py::test_oidc_password_grant_against_dep_keycloak) also passed — it only verifies the OIDC password grant (obtaining a token from keycloak), not using it against the docs API.Why this test is stale
The test
test_oidc_login_via_keycloaksends a Bearer JWT (obtained via OIDC password grant) toGET /api/v1.0/users/me/and expects HTTP 200. This was the correct behavior up to impress v5.3.0.In v5.4.0, upstream PR suitenumerique/docs#2480 deliberately removed
mozilla_django_oidc.contrib.drf.OIDCAuthenticationfrom DRF'sDEFAULT_AUTHENTICATION_CLASSES. The stated rationale:The API now uses cookie session auth only — Bearer token auth against the API is intentionally no longer supported. The 401 "Authentication credentials were not provided" is the new correct behavior when a Bearer token is sent: DRF's remaining
SessionAuthenticationbackend doesn't recognize theAuthorization: Bearerheader.The upgrade itself is correct
dev-lasuite-docs,--chaos) converged cleanly on v5.4.1: all 9 services 1/1, backend migrations applied (migrate: done), gunicorn serving, minio bucket created, nginx landing page HTTP 200.install/upgrade/backup/restorelifecycle stages all pass, confirming the recipe deploys and operates correctly on v5.4.1.Recommended action
This test needs updating to reflect the new auth model (cookie session instead of Bearer token). Re-run with
--with-teststo open + verify a cc-ci test-update PR:The recipe PR itself is ready for operator review — the image-tag bumps are correct and the app converges. Nothing was merged.
chore: upgrade impress to v5.4.1to chore: upgrade nginx to 1.31.3!testme
🌻 cc-ci —
lasuite-docs@f772297f❌ failurefull logs · dashboard
!testme update — 2026-07-24 (head
f772297f, build #1136) ❌This PR was extended with the nginx 1.31.2 → 1.31.3 security bump (CVE-2026-42533 / CVE-2026-60005 / CVE-2026-56434) on top of the existing impress v5.4.1 work. The
!testmerun came back RED — on the same stale tests as the 2026-07-13 run (#1121), not on the nginx bump.Lifecycle stages — all pass
Failing custom tests — both STALE (Bearer-token auth removed in v5.4.0)
test_oidc_login.py::test_oidc_login_via_keycloak—GET /api/v1.0/users/me/withAuthorization: Bearer→ HTTP 401 (expected 200).test_create_doc.py::test_create_doc_and_read_back—POST /api/v1.0/documents/withAuthorization: Bearer→ HTTP 401 (expected 200/201).Both tests obtain a JWT via the OIDC password grant and send it as
Authorization: Bearer <jwt>to the impress API. In v5.4.0, upstream PR suitenumerique/docs#2480 deliberately removedmozilla_django_oidc.contrib.drf.OIDCAuthenticationfrom DRF'sDEFAULT_AUTHENTICATION_CLASSES; the API now uses cookie session auth only. The 401 "Authentication credentials were not provided" is the new correct behavior for a Bearer token —SessionAuthenticationdoesn't recognize theAuthorizationheader. This is a deliberate upstream security decision; no recipe-level config change should or could restore it.The upgrade itself is correct
dev-lasuite-docsdeploy (--chaos) on the cc-i swarm converged cleanly on impress v5.4.1 + nginx 1.31.3 + minio RELEASE.2025-09-07: all 9 services 1/1, backend migrations applied (migrate: done), gunicorn serving, minio bucket created, nginx landing HTTP 200, nginx version confirmednginx/1.31.3. Torn down cleanly (0 stacks/volumes/apps leaked).Recommended action
Both stale tests need updating to the new auth model (cookie session instead of Bearer token). Re-run with
--with-teststo open + verify a cc-ci test-update PR:Nothing merged; PR awaits operator review. cc @trav @notplants
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.