Rollback: #1536 did not stop the outage, so this reverts #1536 and #1535. The controller goes back to the code of image 2026-10-29-1349, the last one without OIDC.
Log of image 2026-11-01-1014 (with #1536), 10:43Z:
INFO navidrome-navidrome-5ba52d: removed OIDC client from Authentik
...
INFO reconciled: 14 gates, 0 OIDC clients, 0 failed, 14 objects removed
Why #1536 was wrong: OAuth2ProviderViewSet.queryset = OAuth2Provider.objects.all() (2026.8.4) has no select_subclasses(). A proxy provider listed there is therefore serialized as the parent OAuth2Provider model, and its meta_model_name is authentik_providers_oauth2.oauth2provider too. The filter matched nothing. My test fake assumed otherwise.
Merging this lets image automation pick up the new build (newest tag = old code), and the gates come back on its first pass. The OIDCClient CRD stays in the cluster (prune: disabled). #1534 has to wait for a corrected controller PR.
Verified: the controller directory equals its state before #1535 (git diff 09a03dfd^1 is empty), and the 33 unit tests of that version pass.
**Rollback: #1536 did not stop the outage, so this reverts #1536 and #1535.** The controller goes back to the code of image `2026-10-29-1349`, the last one without OIDC.
Log of image `2026-11-01-1014` (with #1536), 10:43Z:
```
INFO navidrome-navidrome-5ba52d: removed OIDC client from Authentik
...
INFO reconciled: 14 gates, 0 OIDC clients, 0 failed, 14 objects removed
```
Why #1536 was wrong: `OAuth2ProviderViewSet.queryset = OAuth2Provider.objects.all()` (2026.8.4) has no `select_subclasses()`. A proxy provider listed there is therefore serialized as the parent `OAuth2Provider` model, and its `meta_model_name` is `authentik_providers_oauth2.oauth2provider` too. The filter matched nothing. My test fake assumed otherwise.
Merging this lets image automation pick up the new build (newest tag = old code), and the gates come back on its first pass. The `OIDCClient` CRD stays in the cluster (`prune: disabled`). #1534 has to wait for a corrected controller PR.
Verified: the controller directory equals its state before #1535 (`git diff 09a03dfd^1` is empty), and the 33 unit tests of that version pass.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Rollback: #1536 did not stop the outage, so this reverts #1536 and #1535. The controller goes back to the code of image
2026-10-29-1349, the last one without OIDC.Log of image
2026-11-01-1014(with #1536), 10:43Z:Why #1536 was wrong:
OAuth2ProviderViewSet.queryset = OAuth2Provider.objects.all()(2026.8.4) has noselect_subclasses(). A proxy provider listed there is therefore serialized as the parentOAuth2Providermodel, and itsmeta_model_nameisauthentik_providers_oauth2.oauth2providertoo. The filter matched nothing. My test fake assumed otherwise.Merging this lets image automation pick up the new build (newest tag = old code), and the gates come back on its first pass. The
OIDCClientCRD stays in the cluster (prune: disabled). #1534 has to wait for a corrected controller PR.Verified: the controller directory equals its state before #1535 (
git diff 09a03dfd^1is empty), and the 33 unit tests of that version pass.