ContainerImage.Pinniped/internal/controller/apicerts
Monis Khan 7a812ac5ed
impersonatorconfig: only unload dynamiccert when proxy is disabled
In the upstream dynamiccertificates package, we rely on two pieces
of code:

1. DynamicServingCertificateController.newTLSContent which calls
   - clientCA.CurrentCABundleContent
   - servingCert.CurrentCertKeyContent
2. unionCAContent.VerifyOptions which calls
   - unionCAContent.CurrentCABundleContent

This results in calls to our tlsServingCertDynamicCertProvider and
impersonationSigningCertProvider.  If we Unset these providers, we
subtly break these consumers.  At best this results in test slowness
and flakes while we wait for reconcile loops to converge.  At worst,
it results in actual errors during runtime.  For example, we
previously would Unset the impersonationSigningCertProvider on any
sync loop error (even a transient one caused by a network blip or
a conflict between writes from different replicas of the concierge).
This would cause us to transiently fail to issue new certificates
from the token credential require API.  It would also cause us to
transiently fail to authenticate previously issued client certs
(which results in occasional Unauthorized errors in CI).

Signed-off-by: Monis Khan <mok@vmware.com>
2021-08-16 16:07:46 -04:00
..
apiservice_updater.go Use TokenCredentialRequest instead of base64 token with impersonator 2021-03-10 10:30:06 -08:00
apiservice_updater_test.go All controller unit tests should not cancel context until test is over 2021-03-04 17:26:01 -08:00
certs_expirer.go certs_expirer: be specific about what secret to delete 2021-07-28 09:56:05 -04:00
certs_expirer_test.go impersonatorconfig: only unload dynamiccert when proxy is disabled 2021-08-16 16:07:46 -04:00
certs_manager.go certauthority.go: Refactor issuing client versus server certs 2021-03-12 16:09:37 -08:00
certs_manager_test.go certauthority.go: Refactor issuing client versus server certs 2021-03-12 16:09:37 -08:00
certs_observer.go dynamiccert: split into serving cert and CA providers 2021-03-15 12:24:07 -04:00
certs_observer_test.go dynamiccert: split into serving cert and CA providers 2021-03-15 12:24:07 -04:00
doc.go Save 2 lines by using inline-style comments for Copyright 2020-09-16 10:35:19 -04:00
update_api_service.go Prevent multiple pinnipeds from thrashing on the API service 2020-11-11 20:09:49 -05:00
update_api_service_test.go Use new 'go.pinniped.dev/generated/latest' package. 2021-02-16 13:00:08 -06:00