Page MenuHomePhabricator

Replace deprecated `CI_JOB_JWT` CI variable in Kokkuri
Closed, ResolvedPublic

Description

The variable is deprecated and scheduled for removal in GitLab 16. Replaced by the id_tokens mechanism.

Our GitLab instance's version is currently 15.9.8. Kokkuri will need to be updated before we can upgrade to 16.0.1 or later. GitLab page I referenced above was recently updated. It now mentions 16.5 as the version where the variable will be removed. Full details.

Details

TitleReferenceAuthorSource BranchDest Branch
Use new Gitlab JWT mechanismrepos/releng/buildkit!54dancywmf/v0.12-I365eddd13a865584afb54c1d2cc08f2f29abf3e0wmf/v0.12
README: reflect change to allow multiple JWT issuersrepos/releng/jwt-authorizer!16jnucheupdate-readmemain
JWT issuer: allow for multiple valuesrepos/releng/jwt-authorizer!14jnuchemutliple-issuersmain
use latest version for the base Kokkuri imagerepos/releng/kokkuri!86jnucheupdate-used-image-versionmain
jwt: replace deprecated `CI_JOB_JWT` variable with an ID tokenrepos/releng/kokkuri!85jnuchejwt-deprecated-part-deuxmain
Revert "jwt: replace deprecated `CI_JOB_JWT` variable with an ID token"repos/releng/kokkuri!84jnucherevertmain
blubber: add missing Go toolchain package to `build-deb` variantrepos/releng/jwt-authorizer!13jnuchefix-deb-targetmain
JWT issuer: hardcode transitory check for `https://gitlab.wikimedia.org`repos/releng/jwt-authorizer!11jnuchemultiple-issuersmain
jwt: support both `CI_JOB_JWT` and id tokensrepos/releng/kokkuri!83jnuchesupport-multiple-jwt-typesmain
add support for multiple JWT issuersrepos/releng/reggie!74jnuchesupport-multiple-jwt-issuersmain
check additional audience claim in tokensrepos/releng/jwt-authorizer!10jnuchejwt-audiencemain
jwt: replace deprecated `CI_JOB_JWT` variable with an ID tokenrepos/releng/kokkuri!73jnuchejwt-deprecatedmain
Show related patches Customize query in GitLab

Event Timeline

jnuche changed the task status from Open to In Progress.May 26 2023, 9:50 AM

@brennen I updated the description. It seems this won't prevent us from upgrading to GitLab 16 after all.

jnuche opened https://gitlab.wikimedia.org/repos/releng/jwt-authorizer/-/merge_requests/11

JWT issuer: hardcode transitory check for https://gitlab.wikimedia.org

jnuche merged https://gitlab.wikimedia.org/repos/releng/jwt-authorizer/-/merge_requests/11

JWT issuer: hardcode transitory check for https://gitlab.wikimedia.org

Mentioned in SAL (#wikimedia-operations) [2023-08-16T14:51:41Z] <jelto> registry* - upgrade jwt-authorizer package on all 4 hosts to version 1.1.1-1 - T337474

jnuche opened https://gitlab.wikimedia.org/repos/releng/kokkuri/-/merge_requests/84

Revert "jwt: replace deprecated CI_JOB_JWT variable with an ID token"

jnuche merged https://gitlab.wikimedia.org/repos/releng/kokkuri/-/merge_requests/84

Revert "jwt: replace deprecated CI_JOB_JWT variable with an ID token"

Mentioned in SAL (#wikimedia-operations) [2023-08-17T12:04:39Z] <jelto> restart jwt-authorizer service (docker-registry-ha-jwt.service) on registry nodes - T337474

Change 951484 had a related patch set uploaded (by Jaime Nuche; author: Jaime Nuche):

[operations/puppet@production] jwt_authorizer: reflect changes to accept multiple issuers

https://gerrit.wikimedia.org/r/951484

Mentioned in SAL (#wikimedia-operations) [2023-08-23T12:48:39Z] <jelto> update jwt-authorizer package to v1.2.0 - T337474

Mentioned in SAL (#wikimedia-operations) [2023-08-23T12:56:35Z] <jelto> registry* - upgrade jwt-authorizer package on all 4 hosts to version 1.2.0-1 - T337474

Change 951484 merged by Jelto:

[operations/puppet@production] jwt_authorizer: reflect changes to accept multiple issuers

https://gerrit.wikimedia.org/r/951484

The new id tokens changed the value in the issuer (iss) field which made the transition more complicated than expected. I updated both reggie and jwt-authorizer to support multiple issuers in case we need to handle a similar situation in the future.

Kokkuri has stopped using the CI_JOB_JWT variable and it's using id tokens instead.