Skip to content

Replace deprecated ACS init-bundle with Cluster Registration Secret (CRS)#148

Open
p-rog wants to merge 8 commits into
validatedpatterns:mainfrom
p-rog:acs-update
Open

Replace deprecated ACS init-bundle with Cluster Registration Secret (CRS)#148
p-rog wants to merge 8 commits into
validatedpatterns:mainfrom
p-rog:acs-update

Conversation

@p-rog

@p-rog p-rog commented Jun 19, 2026

Copy link
Copy Markdown
Collaborator

Summary

• Replace the deprecated init-bundle Job with a Cluster Registration Secret (CRS) job, per RHACS 4.10 recommendations
• CRS uses a short-lived token instead of long-lived certificates, allowing revocation after cluster registration without disconnecting the secured cluster
• The init-bundle API (/v1/cluster-init/init-bundles) is deprecated and scheduled for removal in a future RHACS release

Changes

• Removed charts/acs-central/templates/jobs/create-cluster-init-bundle.yaml
• Added charts/acs-central/templates/jobs/create-cluster-registration-secret.yaml which:
•• Uses the CRS API (POST /v1/cluster-init/crs) instead of the deprecated init-bundles API
•• Revokes any legacy init-bundle or stale CRS with the same name before generating a new CRS (handles migration and re-run scenarios)
• Checks for both sensor-tls (legacy init-bundle) and cluster-registration-secret (CRS) to ensure idempotency and non-destructive upgrades
• Updated comments in charts/acs-central/values.yaml, charts/acs-secured-cluster/values.yaml, and values-hub.yaml to reference CRS

Testing

Tested on OCP 4.21 with RHACS Operator 4.11.0:

  1. Existing ZTVP cluster (upgrade path): Job detected existing sensor-tls secret and skipped. Cluster remained healthy with no disruption. Verified init-bundle revocation and full CRS registration after
    manually removing legacy secrets -- all ACS components (Sensor, Collector, Admission Control) reported HEALTHY via Central API.
  2. Fresh ZTVP cluster (clean install): [pending -- deploying on a new OCP 4.21 cluster]

p-rog and others added 8 commits May 8, 2026 15:05
…ift-image-registry.svc:5000/openshift/cli) to the public Red Hat registry (registry.redhat.io/openshift4/ose-cli)
Replace the init-bundle Job with a Cluster Registration Secret (CRS)
job per RHACS 4.10 recommendations. CRS uses a short-lived token
instead of long-lived certificates, improving security posture.
The CRS can be revoked after cluster registration without disconnecting
the secured cluster.

- Rename create-cluster-init-bundle.yaml to create-cluster-registration-secret.yaml
- Switch API from /v1/cluster-init/init-bundles to /v1/cluster-init/crs
- Simplify job logic: remove bundle listing/deletion/Python parsing
- Add dual idempotency check (sensor-tls OR cluster-registration-secret)
- Update comments in values files to reference CRS

Co-authored-by: Cursor <cursoragent@cursor.com>
The CRS API rejects names that collide with existing init-bundles or
CRS entries. Add logic to revoke legacy init-bundles and stale CRS
entries with the same cluster name before generating a new CRS.
Uses printf-based Python file writing to avoid YAML block scalar
indentation issues with Helm template rendering.

Tested on live cluster: CRS generation, init-bundle revocation,
sensor registration via CRS init container all verified working.

Co-authored-by: Cursor <cursoragent@cursor.com>

@sabre1041 sabre1041 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@p-rog This looks good. Can we bump the chart versions? Afterward we shoul be good to integrate

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants