Skip to content
This repository was archived by the owner on Sep 9, 2026. It is now read-only.

NO-ISSUE: Stop using custom Authorino operator image - #366

Merged
jhernand merged 1 commit into
osac-project:mainfrom
jhernand:stop_using_custom_authorino_operator_image
Mar 26, 2026
Merged

jhernand merged 1 commit into
osac-project:mainfrom
jhernand:stop_using_custom_authorino_operator_image

Conversation

@jhernand

@jhernand jhernand commented Mar 26, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Mounts the CA bundle at /etc/pki/ca-trust/extracted/pem instead of /etc/ssl/certs to
    avoid a conflict with the Authorino operator's subPath TLS cert mounts. On the Red
    Hat-based Authorino image, /etc/ssl/certs is a symlink to /etc/pki/tls/certs, and
    ca-bundle.crt there points through to /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem.
    By mounting at this final target directory, Go's crypto/x509 picks up the custom CA
    through the existing symlink chain without interfering with the operator.
  • Removes the workaround that downloaded upstream operator manifests and replaced the image
    with quay.io/innabox/authorino-operator:latest. The upstream operator is now applied
    directly.
  • Simplifies the Authorino operator installation instructions in the READMEs.

Related: Kuadrant/authorino-operator#282

Test plan

  • All 96 integration tests pass (Ginkgo, Kind cluster, Helm deploy mode)
  • Authorino pod starts without CrashLoopBackOff or mount errors
  • Authorino successfully validates tokens against Keycloak (custom CA trusted)

Summary by CodeRabbit

Release Notes

  • Documentation

    • Simplified Authorino operator installation process by removing manual manifest download and modification steps.
  • Chores

    • Updated Authorino operator to release-v0.23.1.
    • Updated TLS CA bundle volume configuration for proper certificate mounting.
    • Removed obsolete code for manifest preprocessing.

Previously we used a custom Authorino operator image
(`quay.io/innabox/authorino-operator:latest`) to work around a conflict
when mounting trusted CA certificates into the Authorino container. The
upstream operator mounts TLS cert files via `subPath` at
`/etc/ssl/certs/tls.crt`, and mounting the CA bundle ConfigMap as a
directory volume at the same path caused container startup failures.

The fix is to mount the CA bundle at `/etc/pki/ca-trust/extracted/pem`
instead. On the Authorino container image (Red Hat-based),
`/etc/ssl/certs` is a symlink to `/etc/pki/tls/certs`, and the file
`ca-bundle.crt` there is a symlink to
`/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem`. By mounting the CA
bundle at this final target directory with the `items` field to rename
`bundle.pem` to `tls-ca-bundle.pem`, Go's `crypto/x509` picks up the
custom CA through the existing symlink chain when scanning
`/etc/ssl/certs` for certificates. This avoids the conflict with the
operator's `subPath` TLS mounts because the two mount points are in
entirely separate directory trees.

This change also simplifies `installAuthorino` in `kind.go` to apply the
upstream operator manifests directly via URL, removing the
download-replace-apply workaround.

Related: Kuadrant/authorino-operator#282
Signed-off-by: Juan Hernandez <juan.hernandez@redhat.com>
@jhernand jhernand changed the title Stop using custom Authorino operator image NO-ISSUE: Stop using custom Authorino operator image Mar 26, 2026
@openshift-ci-robot

Copy link
Copy Markdown

@jhernand: This pull request explicitly references no jira issue.

Details

In response to this:

Summary

  • Mounts the CA bundle at /etc/pki/ca-trust/extracted/pem instead of /etc/ssl/certs to
    avoid a conflict with the Authorino operator's subPath TLS cert mounts. On the Red
    Hat-based Authorino image, /etc/ssl/certs is a symlink to /etc/pki/tls/certs, and
    ca-bundle.crt there points through to /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem.
    By mounting at this final target directory, Go's crypto/x509 picks up the custom CA
    through the existing symlink chain without interfering with the operator.
  • Removes the workaround that downloaded upstream operator manifests and replaced the image
    with quay.io/innabox/authorino-operator:latest. The upstream operator is now applied
    directly.
  • Simplifies the Authorino operator installation instructions in the READMEs.

Related: Kuadrant/authorino-operator#282

Test plan

  • All 96 integration tests pass (Ginkgo, Kind cluster, Helm deploy mode)
  • Authorino pod starts without CrashLoopBackOff or mount errors
  • Authorino successfully validates tokens against Keycloak (custom CA trusted)

Summary by CodeRabbit

Release Notes

  • Documentation

  • Simplified Authorino operator installation process by removing manual manifest download and modification steps.

  • Chores

  • Updated Authorino operator to release-v0.23.1.

  • Updated TLS CA bundle volume configuration for proper certificate mounting.

  • Removed obsolete code for manifest preprocessing.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@coderabbitai

coderabbitai Bot commented Mar 26, 2026

Copy link
Copy Markdown

Walkthrough

This PR simplifies the Authorino operator installation process by removing manual manifest download, image substitution via sed, and local file application across documentation and code. The installation now directly applies manifests from upstream URLs using kubectl apply -f. Additionally, the TLS CA bundle volume configuration is updated in both Helm templates and manifests to mount a specific ConfigMap key (bundle.pem) to a distinct path (tls-ca-bundle.pem) under /etc/pki/ca-trust/extracted/pem, replacing the previous direct ConfigMap mount to /etc/ssl/certs.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Title check ✅ Passed The title directly and clearly summarizes the main change: stopping the use of a custom Authorino operator image and switching to upstream manifests instead.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
internal/testing/kind.go (1)

863-874: Pin Authorino manifests to an immutable ref for reproducibility.

The code uses mutable branch references (refs/heads/release-v0.23.1) in three locations:

  • internal/testing/kind.go lines 1168-1169: constant definition
  • manifests/README.md line 218: installation instructions
  • charts/README.md line 220+: installation instructions

Mutable branch refs introduce supply-chain drift risk—the manifest content can change between test runs. Switch to immutable tags (refs/tags/v0.23.1) to ensure reproducible test execution across all three locations.

♻️ Proposed fix
-const (
-	authorinoManifests = "https://raw.githubusercontent.com/Kuadrant/authorino-operator/refs/heads/release-" +
-		authorinoVersion + "/config/deploy/manifests.yaml"
-)
+const (
+	authorinoManifests = "https://raw.githubusercontent.com/Kuadrant/authorino-operator/refs/tags/" +
+		authorinoVersion + "/config/deploy/manifests.yaml"
+)

Update documentation references similarly.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@internal/testing/kind.go` around lines 863 - 874, Update the mutable branch
refs for Authorino to immutable tag refs: replace any occurrences of
"refs/heads/release-v0.23.1" (used where authorino manifests are
defined/used—e.g., the constant that supplies authorinoManifests used in the
Apply block in internal/testing/kind.go and the constant/variable that
NewCommand() SetArgs("--filename", authorinoManifests) consumes) with
"refs/tags/v0.23.1"; also update the corresponding installation instructions in
manifests/README.md and charts/README.md to use the tag ref so the manifests are
pinned to an immutable ref for reproducible tests. Ensure you change all three
places (the constant in the code and the two README entries) consistently.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@internal/testing/kind.go`:
- Around line 863-874: Update the mutable branch refs for Authorino to immutable
tag refs: replace any occurrences of "refs/heads/release-v0.23.1" (used where
authorino manifests are defined/used—e.g., the constant that supplies
authorinoManifests used in the Apply block in internal/testing/kind.go and the
constant/variable that NewCommand() SetArgs("--filename", authorinoManifests)
consumes) with "refs/tags/v0.23.1"; also update the corresponding installation
instructions in manifests/README.md and charts/README.md to use the tag ref so
the manifests are pinned to an immutable ref for reproducible tests. Ensure you
change all three places (the constant in the code and the two README entries)
consistently.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 44b68800-8e40-4949-867e-f4fc342e62ff

📥 Commits

Reviewing files that changed from the base of the PR and between 4b47566 and b154a4e.

📒 Files selected for processing (5)
  • charts/README.md
  • charts/service/templates/authorino/authorino.yaml
  • internal/testing/kind.go
  • manifests/README.md
  • manifests/base/authorino/authorino.yaml

@openshift-ci

openshift-ci Bot commented Mar 26, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: adriengentil, jhernand

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:
  • OWNERS [adriengentil,jhernand]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@jhernand
jhernand merged commit 056e637 into osac-project:main Mar 26, 2026
16 of 18 checks passed
@jhernand
jhernand deleted the stop_using_custom_authorino_operator_image branch March 26, 2026 15:04
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants