Skip to content

Commit aae110e

Browse files
committed
docs: document how the certificate is handled
1 parent 42208ea commit aae110e

File tree

2 files changed

+19
-0
lines changed

2 files changed

+19
-0
lines changed
80.7 KB
Loading

docs/content/addons/registry.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,25 @@ spec:
3131
registry: {}
3232
```
3333
34+
35+
## Registry Certificate
36+
37+
1. A root CA Certificate is deployed in the provider's namespace.
38+
2. cert-manager generates a 10-year self-signed root Certificate
39+
and creates a Secret `registry-addon-root-ca` in the provider's namespace.
40+
3. BCC handler copies `ca.crt` from the `registry-addon-root-ca` Secret
41+
to a new cluster Secret `<cluster-name>-registry-addon-ca`.
42+
A client pushing to the registry can use either the root CA Secret or the cluster Secret to trust the registry.
43+
4. The cluster CA Secret contents (`ca.crt`) is written out as files on the Nodes
44+
and used by Containerd to trust the registry addon.
45+
5. During the initial cluster creation, the ACPI handler uses the root CA to create a new 2-year server certificate
46+
for the registry and creates a Secret `registry-tls` on the remote cluster.
47+
6. During cluster upgrades, the BCU handler renews the server certificate
48+
and updates the Secret `registry-tls` on the remote cluster with the new certificate.
49+
It is expected that clusters will be upgraded at least once every 2 years to avoid certificate expiration.
50+
51+
![registry-certificate.png](registry-certificate.png)
52+
3453
[Distribution]: https://github.com/distribution/distribution
3554
[Cluster API Add-on Provider for Helm]: https://github.com/kubernetes-sigs/cluster-api-addon-provider-helm
3655
[Regsync]: https://regclient.org/usage/regsync/

0 commit comments

Comments
 (0)