ContainerImage.Pinniped/internal/controller
Monis Khan 0d6bf9db3e
kubecertagent: attempt to load signer as long as agent labels match
This change updates the kube cert agent to a middle ground behavior
that balances leader election gating with how quickly we load the
signer.

If the agent labels have not changed, we will attempt to load the
signer even if we cannot roll out the latest version of the kube
cert agent deployment.

This gives us the best behavior - we do not have controllers
fighting over the state of the deployment and we still get the
signer loaded quickly.

We will have a minute of downtime when the kube cert agent deployment
changes because the new pods will have to wait to become a leader
and for the new deployment to rollout the new pods.  We would need
to have a per pod deployment if we want to avoid that downtime (but
this would come at the cost of startup time and would require
coordination with the kubelet in regards to pod readiness).

Signed-off-by: Monis Khan <mok@vmware.com>
2021-09-21 16:20:56 -04:00
..
apicerts Add leader election middleware 2021-08-20 12:18:25 -04:00
authenticator jwtcachefiller: update to use CAContentProvider 2021-08-09 19:16:25 -04:00
conditionsutil Split package upstreamwatchers into four packages 2021-05-12 14:00:39 -07:00
impersonatorconfig certauthority: tolerate larger clock skew between API server and pinniped 2021-09-21 09:32:24 -04:00
issuerconfig When merging CredentialIssuer updates, don't overwrite LastUpdated. 2021-05-27 17:09:12 -05:00
kubecertagent kubecertagent: attempt to load signer as long as agent labels match 2021-09-21 16:20:56 -04:00
supervisorconfig Remove unused functions 2021-09-08 10:34:42 -07:00
supervisorstorage Add leader election middleware 2021-08-20 12:18:25 -04:00
controller_test.go Clean this test up a trivial amount using `require.Implementsf()`. 2020-12-17 08:38:16 -06:00
utils.go Upstream Watcher Controller Syncs less often by adjusting its filters 2020-12-18 15:41:18 -08:00