HTTPS and Certificates Management Overview

Certificates are required for secure HTTPS access and authentication on StarlingX platform.

This table lists all the platform certificates, and indicates which certificates are automatically created/renewed by the system versus which certificates must be manually created/renewed by the system administrator.

Platform certificates that are associated with optional platform components are only present if the optional platform component is configured (e.g. OIDC).

Platform certificates that are associated with Distributed Cloud are only present on DC SystemController systems or DC Subclouds.

Platform Certificates

Certificate / Synonyms

System Type

Description

Auto Created

Default Duration

Renewal Mechanism

Renew Before Time

Impact of Certificate Expiry

Etcd:

etcd Root CA certificate

ALL

Certificate that signs etcd server and client certificates, and kube-apiserver etcd client certificates

Yes

10 years

NOT AUTO-RENEWED; Default expiry is set at 10 years. When an override is provided, it is recommended to to use a CA certificate with a long remaining validity (~5-10 years).

Manual (alarmed within 30 days of expiry)

K8s cluster is not usable which will likely impact service of K8s workloads

etcd server certificate

ALL

Certificate used by etcd server to identify itself over HTTPS. Services such as kube-apiserver that access etcd verify this serving certificate with etcd Root CA certificate.

Yes

1 year

auto-renewed by cron job

30 days before expiry

K8s cluster is not usable which will likely impact service of K8s workloads

etcd client certificate

ALL

Certificate used by clients to identify themselves while connecting to etcd by HTTPS

Yes

1 year

auto-renewed by cron job

30 days before expiry

K8s cluster is not usable which will likely impact service of K8s workloads

kube-apiserver-etcd-client certificate

ALL

Certificate used by kube-apiserver to identify itself while connecting to etcd by HTTPS

Yes

1 year

auto-renewed by cron job

30 days before expiry

K8s cluster is not usable which will likely impact service of K8s workloads

Kubernetes:

Kubernetes-root-ca

ALL

Kubernetes root CA certificate used to sign all other K8s server and client certificates. This certificate is automatically generated during bootstrap, with a default expiration period of 10 years. While bootstrap overrides remain supported, their usage is deprecated and will be phased out in future releases.

Yes

10 years

NOT AUTO-RENEWED; Default expiry is set at 10 years; MUST be renewed via CLI. When an override is provided, it is recommended to to use a CA certificate with a long remaining validity (~5-10 years).

Manual (alarmed within 30 days of expiry)

K8s cluster is not usable which will likely impact service of K8S workloads

Cluster Admin client certificate used by kubectl / admin.conf

ALL

Client certificate used to access kubernetes-admin credentials for kubernetes API used by kubectl and other python API clients. Its privileges are determined by the built-in cluster-admin ClusterRole.

Yes

1 year

auto-renewed by cron job

30 days before expiry

K8s cluster is not accessible by sysadmin (via kubectl) and platform services, impacting maintenance operations.

Cluster Super Admin client certificate / super-admin.conf

ALL

The client certificate provides access to the kubernetes-super-admin credentials—a break-glass superuser group that bypasses the standard authorization layer (e.g., RBAC). It is reserved for emergency recovery scenarios, such as when RBAC is misconfigured or non-functional.

Yes

1 year

auto-renewed by cron job

30 days before expiry

Ability to recover cluster in case of RBAC misconfiguration impacted.

kube-controller-manager client certificate/controller-manager.conf

ALL

Client certificate used by kube-controller-manager pod to identify itself to kube-apiserver

Yes

1 year

auto-renewed by cron job

30 days before expiry

K8s cluster is not usable which will likely impact service of K8s workloads

kube-scheduler client certificate / scheduler.conf

ALL

Client certificate used by kube-scheduler pod to identify itself to kube-apiserver

Yes

1 year

auto-renewed by cron job

30 days before expiry

The currently running pods and workloads will not be affected, however new pods will not be scheduled on the k8s node where the certificate has expired

kube-apiserver certificate

ALL

The certificate is used by the kube-apiserver to authenticate itself internally over HTTPS. Internal clients verify this certificate using the Kubernetes root CA. For external clients, the ssl(restapi/gui)/system-restapi-gui-certificate is presented to identify the system’s kube-apiserver. This approach allows external clients to rely solely on the system-local-ca to validate all HTTPS-based endpoints exposed externally

Yes

1 year

auto-renewed by cron job

30 days before expiry

Clients trying to connect to K8s REST APIs will fail. As some of these internal clients are K8s services, K8s cluster is not usable which will likely impact service of K8s workloads

kube-apiserver-kubelet client certificate

ALL

Kube-apiserver’s client certificate used for communication with kubelet

Yes

1 year

auto-renewed by cron job

30 days before expiry

K8s cluster is not usable which will likely impact service of K8s workloads

kubelet client certificate

ALL

Client certificate used by kubelet to identify itself while connecting to kube-apiserver

Yes

1 year

auto-renewed by kubelet. Feature enabled by default

30 days before expiry

K8s cluster is not usable which will likely impact service of K8s workloads

front-proxy-client

ALL

Client certificate signed by front-proxy root CA certificate. It is used by kube-apiserver/aggregator to connect to aggregated apiserver (extension APIserver).

Yes

1 year

auto-renewed by cron job

30 days before expiry

Only K8s Aggregated APIs (example: metrics server API) fail

front-proxy-ca

ALL

The front-proxy Root CA certificate

Yes

10 years

NOT AUTO-RENEWED; Default expiry is set at 10 years

Manual (alarmed within 30 days of expiry)

Only K8s Aggregated APIs (example: metrics server API) fail

StarlingX

system-local-ca

ALL

The CA certificate used to create Cert-Manager ClusterIssuer for signing a variety of StarlingX server certificates. For Laboratory environment, K8s Root CA Certificate is used by default. For product environment, the CA certificate should be set to an Intermediate CA Cert/Key that has been signed by an external public Root CA at bootstrap through overrides or through the proper update procedure. For information on system-local-ca, see System Local CA Issuer.

Yes

10 years

NOT AUTO-RENEWED. MUST be renewed via CLI. It is recommended to to use a CA certificate with a long remaining validity (~5-10 years).

Manual (alarmed within 30 days of expiry)

External HTTPS clients trying to connect to StarlingX REST APIs, registry.local, and OIDC Client / DEX Server will fail

system-openldap-local-certificate

standalone, SystemController

Certificate used by OpenLDAP server to identify itself over HTTPS. It is signed by system-local-ca. Services such as SSH/SSSD that access OpenLDAP verify this serving certificate with system-local-ca.

Yes

90 days (cert-manager)

auto-renewed by cert-manager, as long as system-local-ca is valid

15 days before expiry (cert-manager)

Authentication of StarlingX local LDAP user IDs will fail

ssl(restapi/gui)/system-restapi-gui-certificate

ALL

Certificate used by StarlingX RESTAPI endpoints, GUI (Horizon), and K8s kube-apiserver (to external clients through HAproxy) to identify itself over HTTPS. It is signed by system-local-ca. Services such as external RESTAPI clients or external browsers that access StarlingX RESTAPI endpoints, (i.e. kube-api-server), and / or StarlingX GUI (Horizon), verify this serving certificate with system-local-ca.

Yes

90 days (cert-manager)

auto-renewed by cert-manager, as long as system-local-ca is valid

15 days before expiry (cert-manager)

External HTTPS clients trying to connect to StarlingX REST APIs, kube-apiserver, and horizon will fail

docker_registry/system-registry-local-certificate

ALL

Certificate used by Docker distribution server (registry.local ) to identify itself over HTTPS. It is signed by system-local-ca. Services such as internal and/or external clients of registry that access registry.local verify this serving certificate with system-local-ca.

Yes

90 days (cert-manager)

auto-renewed by cert-manager, as long as system-local-ca is valid

15 days before expiry (cert-manager)

External HTTPS clients trying to connect to registry.local will fail

OIDC:

OIDC Client and Dex Server Certificate/oidc-auth-apps-certificate

Typically, standalone, SystemController

Certificate used by both the OIDC client server and the DEX OIDC server to identify themselves over HTTPS. It is typically signed by system-local-ca. Services such as external clients that access OIDC client server/DEX OIDC server verify this serving certificate with system-local-ca.

No

auto-renewed if configured with cert-manager; NOT AUTO-RENEWED if configured with an externally generated certificate. MUST be renewed via CLI.

OIDC authentication will fail

OIDC Client and Dex Server CA certificate

Optional, but typically standalone, SystemController

The CA certificate that signs the OIDC client server certificate and the DEX OIDC server certificate. In the recommended configurations, the CA certificate is system-local-ca.

No

< system-local-ca >

NOT AUTO-RENEWED. MUST be renewed via CLI.

< system-local-ca >

OIDC authentication will fail

OIDC Remote WAD CA Certificate

Optional, but typically standalone, SystemController

The CA certificate that signs the remote Windows Active Directory configured in the oidc-auth-apps application. The DEX server uses this CA certificate to validate the remote Windows Active Directory’s server certificate.

No

NA (not owned by Platform)

NOT AUTO-RENEWED. MUST be renewed via CLI.

NA (not owned by Platform)

OIDC authentication will fail

Vault:

Vault Server Certificate

Optional, but typically standalone, subclouds

Certificate used by Vault server to identify itself over HTTPS. It is typically signed by system-local-ca. Vault RESTAPIs or applications using Vault verify this serving certificate with system-local-ca.

Yes

90 days (cert-manager)

NOT AUTO-RENEWED; MUST be renewed via CLI.

15 days before expiry (cert-manager)

Pod workloads’ interactions with Vault server will fail

Vault Root CA certificate

Optional, but typically standalone, subclouds

The CA certificate that signs the Vault Server certificate. In the recommended configurations, the CA certificate is system-local-ca.

Yes

< system-local-ca >

NOT AUTO-RENEWED; MUST be renewed via CLI

< system-local-ca >

Pod workloads’ interactions with Vault server will fail

Portieris:

Portieris Server Certificate

Optional, but typically ALL

Certificate used by Portieris Admission-Control server to identify itself over HTTPS. It is typically signed by system-local-ca. The Portieris kubernetes admission webhook, which makes request to Portieris Admission-Control server verifies this serving certificate with system-local-ca.

Yes

90 days (cert-manager)

Auto renewed by cert-manager; BUT CUSTOMER MUST restart Portieris after the certificate is renewed

15 days before expiry (cert-manager)

ALL new pods will likely fail because they will not be able to validate their authorization to pull their container image from the registry

Portieris remote registry and notary server CA Certificate

Optional, but typically ALL

The CA certificate that signs the Portieris Admission Control server certificate. In the recommended configurations, the CA certificate is system-local-ca.

No

NA (not owned by Platform)

NOT AUTO-RENEWED; CUSTOMER MUST renew via CLIs

NA (not owned by Platform)

ALL new pods will likely fail because they will not be able to validate their authorization to pull their container image from the registry

DC Admin Endpoints:

DC-AdminEp-RootCA / dc-adminep-root-ca-certificate / sc-adminep-root-ca-certificate

SystemController

The Root CA certificate that signs the DC-AdminEp-Server certificates of the SystemController and signs the DC-AdminEp-InterCA certificates of the subcloud

Yes

5 years

auto-renewed by cert-manager

30 days before expiry

SystemController to subcloud communication will fail. Subcloud will become unmanageable from SystemController

DC-AdminEp-InterCA / <uuid>-adminep-ca-certificate / sc-adminep-ca-certificate

Subclouds

Signed by DC-AdminEp-RootCA. This Intermediate CA certificate signs the DC-AdminEp-Server certificates of subclouds

Yes

1 year

auto-renewed by cert-manager, as long as DC-AdminEp-RootCA is valid

30 days before expiry

SystemController to subcloud communication will fail. Subcloud will become unmanageable from SystemController

DC-AdminEp-Server / dc-adminep-certificate / sc-adminep-certificate

SystemController, Subclouds

The certificate used by SystemController and subclouds to identify themselves over HTTPS StarlingX administrator endpoints used for SystemController to subcloud messaging. Signed by either DC-AdminEp-RootCA on SystemController or DC-AdminEp-InterCA on subclouds

Yes

6 months

auto-renewed by cert-manager, as long as sc-adminep-ca-certificate is valid

30 days before expiry

SystemController to subcloud communication will fail. Subcloud will become unmanageable from SystemController

System trusted CA Certificates (ssl_ca)

ALL

One or more (typically external) CA certificates to identify remote servers. Example: when using an external Container Registry, the certificate of the CA that signed the external Container Registry’s certificate must be configured to validate the identity of the external Container Registry.

No

NA (not owned by Platform)

NOT AUTO-RENEWED as these are certificates that are not necessarily owned by the platform

NA (not owned by Platform)

StarlingX will not be able to communicate with server related to this trusted CA. For example, it will not be able to pull images from a remote registry

IPsec certificate

This certificate is utilized by StrongSwan/IPsec to secure and authenticate data exchanged between nodes across the internal management network. It is signed by the system-local-ca and is automatically generated during the initial IPsec authentication process when new nodes are added to the system.

Yes

90 days (cert-manager)

IPsec certificate is auto-renewed by cron job, as long as system-local-ca is valid

15 days before expiry (cert-manager)

Network traffic over management network is interrupted

Where:

  • Auto created: the certificate is generated during system deployment or triggered by certain operations.

  • Renewal Mechanism: whether the certificate is renewed automatically by the system when expiry date approaches.

The specific certificates, and details such as expiration date, that are present on a StarlingX system can be displayed using system certificate-list or a local script, sudo show-certs.sh, see Display Certificates Installed on a System.

StarlingX monitors the installed certificates on the system by raising alarms for expired certificates and certificates that will expire soon, see Expiring-Soon and Expired Certificate Alarms.

The following sections provide details on managing these certificates:

For further information about certificates expiration date or other certificates information, see Display Certificates Installed on a System.

In addition, StarlingX monitors the installed certificates on the system by raising alarms for expire-soon certificates and for expired certificates on the system, see Expiring-Soon and Expired Certificate Alarms.