Changing the Platform OIDC Client Secret
ACP uses an OIDC Client Secret for authentication between platform components. You may need to rotate this secret for security compliance, periodic credential rotation, or after a potential credential leak. After updating the secret on the global cluster, the platform automatically synchronizes it to all member clusters.
Prerequisites
kubectlaccess to the global cluster with cluster-admin privileges.- All clusters managed by the platform have been upgraded to ACP v4.3.
- The following plugins with the
Agnosticlife cycle have been upgraded to versions compatible with ACP v4.3:Alauda Container Platform GitopsAlauda Build of KialiKubeflow BaseAlauda AI
- A new client secret value prepared. It is recommended to use a cryptographically random string of at least 32 characters.
Changing the Client Secret causes affected components to restart, resulting in temporary authentication disruptions. Plan this operation during a maintenance window.
OIDC Secret Overview
The platform OIDC credential is stored in a Kubernetes Secret with the following details:
The Secret contains two data keys:
client-id— The OIDC client identifier, with the default valuealauda-auth. Do not modify this value.client-secret— The OIDC client secret. This is the value you will rotate.
Procedure
Back up the current secret
Before making changes, back up the current Secret manifest so you can roll back if needed.
The backup file contains sensitive credential data. Store it in a secure location and delete it after the operation is complete.
Record the current client-secret hash for non-plaintext verification after the update:
Update the Client Secret
Do not modify the client-id value, and do not delete and recreate the Secret. Doing so may cause cascading authentication failures across the platform.
Use one of the following methods to update only the client-secret data field.
Method 1: Using kubectl patch (recommended)
Read the new secret from secure interactive input:
Method 2: Using kubectl edit
Open the Secret in your default editor and replace the client-secret value with the new base64-encoded value.
You can generate the base64-encoded value in advance:
Verify that the Secret has been updated on the global cluster without exposing plaintext:
Verify component health
After the Secret is updated, the base-operator automatically synchronizes it to all member clusters. Some components that depend on the OIDC credential will restart to load the new value. In particular, verify that the frontend and apollo deployments are running normally:
Verify that all Pods are READY and UP-TO-DATE. It may take several minutes for the restart to complete.
If a component fails to start, verify that the cpaas-oidc-secret Secret exists in the cpaas-system namespace and contains valid client-id and client-secret values.
Rollback
If issues occur after the Secret change, restore the previous value from the backup created in Step 1:
Alternatively, if you know the previous secret value:
After rolling back, repeat the verification steps to confirm that all components are healthy.