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

MGMT-23923: Create overlay for integration environment - #86

Merged
openshift-merge-bot[bot] merged 12 commits into
osac-project:mainfrom
adriengentil:int-overlay
May 7, 2026
Merged

openshift-merge-bot[bot] merged 12 commits into
osac-project:mainfrom
adriengentil:int-overlay

Conversation

@adriengentil

@adriengentil adriengentil commented Apr 30, 2026

Copy link
Copy Markdown
Contributor

For the moment this environment is configured for vmaas

Summary by CodeRabbit

  • New Features

    • Added OSAC-integration overlay: CA bundle sync, pull-secret and license provisioning, AAP runtime configuration and secrets template, and name-prefixing for cluster-scoped resources.
  • Documentation

    • Added overlay README with prerequisites and setup guidance.
  • Chores

    • Updated component image references/subproject pointers.
    • Propagated fulfillment service URI across environments and switched internal tooling to target the internal fulfillment API.

@openshift-ci-robot

openshift-ci-robot commented Apr 30, 2026

Copy link
Copy Markdown

@adriengentil: This pull request references MGMT-23923 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "5.0.0" version, but no target version was set.

Details

In response to this:

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.

@openshift-ci

openshift-ci Bot commented Apr 30, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: adriengentil

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:

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

@coderabbitai

coderabbitai Bot commented Apr 30, 2026

Copy link
Copy Markdown

Warning

Rate limit exceeded

@adriengentil has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 32 minutes and 44 seconds before requesting another review.

To continue reviewing without waiting, purchase usage credits in the billing tab.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: ecaa8099-24dc-452b-a302-0b68db0da171

📥 Commits

Reviewing files that changed from the base of the PR and between 5db7c84 and ee1c0a5.

📒 Files selected for processing (8)
  • overlays/osac-integration/.buildfiles
  • overlays/osac-integration/README.md
  • overlays/osac-integration/ca-trust-bundle.yaml
  • overlays/osac-integration/files/osac-aap-configuration.env
  • overlays/osac-integration/files/osac-aap-secrets.env.example
  • overlays/osac-integration/kustomization.yaml
  • overlays/osac-integration/prefixTransformer.yaml
  • scripts/sync-image-tags.sh

Walkthrough

Adds an osac-integration Kustomize overlay including generated secrets/configs (Quay pull secret, AAP license), a cert-manager trust Bundle, AAP configuration and secrets templates, and a prefix transformer for cluster-scoped names. Adds many Kustomize generators/patches (ConfigMaps, Secrets, Deployment patches, Authorino AuthConfig), mounts the CA bundle, remaps an image, and introduces OSAC_FULFILLMENT_SERVICE_URI in several overlays. Bumps image tags and updates submodule pointers for osac-aap, fulfillment-service, and osac-operator. Updates a script to use the fulfillment-internal-api route and adds README docs for the overlay.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested labels

lgtm

Suggested reviewers

  • omer-vishlitzky
  • akshaynadkarni
  • tzumainn
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title directly and clearly summarizes the main objective of the changeset: creating a new Kustomize overlay for the integration environment.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

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

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

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


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.

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@overlays/osac-integration/kustomization.yaml`:
- Around line 133-148: The manifest currently sets OSAC_AAP_URL to use http and
injects OSAC_AAP_TOKEN while enabling OSAC_AAP_INSECURE_SKIP_VERIFY, which
weakens credential transport; update the environment entries so OSAC_AAP_URL
uses https, remove or set OSAC_AAP_INSECURE_SKIP_VERIFY to "false" (or omit it
entirely), and ensure OSAC_AAP_TOKEN continues to be supplied via secretKeyRef
(osac-aap-api-token) so TLS is enforced for AAP API calls.
- Around line 138-143: Remove the optional flag on the secret reference for
OSAC_AAP_TOKEN so the controller fails fast when credentials are missing: edit
the secretKeyRef block for name: osac-aap-api-token / key: token (the
OSAC_AAP_TOKEN env var) and either delete the optional: true line or set it to
false to ensure the secret is required when OSAC_PROVISIONING_PROVIDER=aap.

In `@overlays/osac-integration/prefixTransformer.yaml`:
- Around line 6-10: Current PrefixSuffixTransformer updates ClusterRole and
ClusterRoleBinding metadata/name but lacks a nameReference mapping for
ClusterRole→ClusterRoleBinding, so roleRef.name remains unprefixed; update
base/nameReference.yaml to add an entry mapping kind: ClusterRole with a
fieldSpecs entry pointing to ClusterRoleBinding path roleRef/name so Kustomize
will rewrite roleRef.name to match the prefixed ClusterRole metadata/name, or
alternatively remove the custom PrefixSuffixTransformer and use top-level
namePrefix in kustomization.yaml to leverage built-in nameReference handling.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: acdaaf56-2fd6-46db-9b62-2532d90243ae

📥 Commits

Reviewing files that changed from the base of the PR and between 0d17a27 and 9534514.

📒 Files selected for processing (6)
  • overlays/osac-integration/.buildfiles
  • overlays/osac-integration/ca-trust-bundle.yaml
  • overlays/osac-integration/files/osac-aap-configuration.env
  • overlays/osac-integration/files/osac-aap-secrets.env.example
  • overlays/osac-integration/kustomization.yaml
  • overlays/osac-integration/prefixTransformer.yaml

Comment on lines +133 to +148
name: OSAC_AAP_URL
value: "http://osac-aap/api/controller"
- op: add
path: /spec/template/spec/containers/0/env/-
value:
name: OSAC_AAP_TOKEN
valueFrom:
secretKeyRef:
name: osac-aap-api-token
key: token
optional: true
- op: add
path: /spec/template/spec/containers/0/env/-
value:
name: OSAC_AAP_INSECURE_SKIP_VERIFY
value: "true"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Use TLS for AAP API calls when sending credentials.

Line 134 uses http://... while Line 138 injects a token and Line 147 sets insecure verification. This weakens credential transport security and should be tightened for integration too.

Suggested hardening
       - op: add
         path: /spec/template/spec/containers/0/env/-
         value:
           name: OSAC_AAP_URL
-          value: "http://osac-aap/api/controller"
+          value: "https://osac-aap/api/controller"
@@
       - op: add
         path: /spec/template/spec/containers/0/env/-
         value:
           name: OSAC_AAP_INSECURE_SKIP_VERIFY
-          value: "true"
+          value: "false"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@overlays/osac-integration/kustomization.yaml` around lines 133 - 148, The
manifest currently sets OSAC_AAP_URL to use http and injects OSAC_AAP_TOKEN
while enabling OSAC_AAP_INSECURE_SKIP_VERIFY, which weakens credential
transport; update the environment entries so OSAC_AAP_URL uses https, remove or
set OSAC_AAP_INSECURE_SKIP_VERIFY to "false" (or omit it entirely), and ensure
OSAC_AAP_TOKEN continues to be supplied via secretKeyRef (osac-aap-api-token) so
TLS is enforced for AAP API calls.

Comment thread overlays/osac-integration/kustomization.yaml
Comment thread overlays/osac-integration/prefixTransformer.yaml
@adriengentil
adriengentil force-pushed the int-overlay branch 3 times, most recently from 598f7c3 to 899483f Compare April 30, 2026 16:22

@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.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@scripts/prepare-fulfillment-service.sh`:
- Line 19: The FULFILLMENT_API_URL assignment uses an unquoted
${INSTALLER_NAMESPACE} in the command substitution which can cause
word-splitting/globbing; update the command in the FULFILLMENT_API_URL line so
the INSTALLER_NAMESPACE variable is quoted inside the oc get route invocation
(i.e., reference ${INSTALLER_NAMESPACE} as a quoted parameter) to ensure safe
namespace handling when calling oc get route -n in that assignment.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 7414ca6b-de70-4706-87bf-a420ac521e21

📥 Commits

Reviewing files that changed from the base of the PR and between 9534514 and cbcb989.

📒 Files selected for processing (15)
  • base/kustomization.yaml
  • base/osac-aap
  • base/osac-fulfillment-service
  • base/osac-operator
  • overlays/caas-ci/kustomization.yaml
  • overlays/development/kustomization.yaml
  • overlays/hypershift2/kustomization.yaml
  • overlays/osac-integration/.buildfiles
  • overlays/osac-integration/ca-trust-bundle.yaml
  • overlays/osac-integration/files/osac-aap-configuration.env
  • overlays/osac-integration/files/osac-aap-secrets.env.example
  • overlays/osac-integration/kustomization.yaml
  • overlays/osac-integration/prefixTransformer.yaml
  • overlays/vmaas-ci/kustomization.yaml
  • scripts/prepare-fulfillment-service.sh
✅ Files skipped from review due to trivial changes (5)
  • base/osac-aap
  • overlays/osac-integration/files/osac-aap-secrets.env.example
  • overlays/osac-integration/files/osac-aap-configuration.env
  • overlays/hypershift2/kustomization.yaml
  • overlays/osac-integration/.buildfiles
🚧 Files skipped from review as they are similar to previous changes (3)
  • overlays/osac-integration/prefixTransformer.yaml
  • overlays/osac-integration/ca-trust-bundle.yaml
  • overlays/osac-integration/kustomization.yaml

Comment thread scripts/prepare-fulfillment-service.sh Outdated

@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.

♻️ Duplicate comments (2)
overlays/osac-integration/kustomization.yaml (2)

181-186: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Make the AAP token secret mandatory when provider is aap.

With OSAC_PROVISIONING_PROVIDER=aap, keeping Line [186] as optional: true allows startup without required credentials and shifts failure to runtime.

Suggested fix
       - op: add
         path: /spec/template/spec/containers/0/env/-
         value:
           name: OSAC_AAP_TOKEN
           valueFrom:
             secretKeyRef:
               name: osac-aap-api-token
               key: token
-              optional: true
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@overlays/osac-integration/kustomization.yaml` around lines 181 - 186, The
OSAC_AAP_TOKEN secret reference is currently marked optional which allows the
pod to start without the AAP credentials; update the secretKeyRef for name:
osac-aap-api-token key: token (the OSAC_AAP_TOKEN env var) to make the secret
mandatory by changing optional: true to optional: false (ensure
OSAC_PROVISIONING_PROVIDER=aap expects this required secret).

176-177: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Enforce TLS for AAP API calls carrying credentials.

Line [177] still uses http:// while Line [191] sets insecure verification to "true", which weakens token transport security for AAP integration.

Suggested hardening patch
       - op: add
         path: /spec/template/spec/containers/0/env/-
         value:
           name: OSAC_AAP_URL
-          value: "http://osac-aap/api/controller"
+          value: "https://osac-aap/api/controller"
@@
       - op: add
         path: /spec/template/spec/containers/0/env/-
         value:
           name: OSAC_AAP_INSECURE_SKIP_VERIFY
-          value: "true"
+          value: "false"

Also applies to: 190-191

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

In `@overlays/osac-integration/kustomization.yaml` around lines 176 - 177, The
OSAC AAP URL is configured insecurely and the integration also sets insecure
verification to "true": update the OSAC_AAP_URL environment value to use
"https://..." instead of "http://", and change the corresponding insecure
verification setting (the variable that enables skipping TLS verification) to
"false" or remove it so TLS verification is enforced; ensure any related
variables or references that mention insecure verification are synchronized
(e.g., the env var named OSAC_AAP_URL and the insecure verification flag
currently set to "true") so token transport uses TLS with certificate
validation.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Duplicate comments:
In `@overlays/osac-integration/kustomization.yaml`:
- Around line 181-186: The OSAC_AAP_TOKEN secret reference is currently marked
optional which allows the pod to start without the AAP credentials; update the
secretKeyRef for name: osac-aap-api-token key: token (the OSAC_AAP_TOKEN env
var) to make the secret mandatory by changing optional: true to optional: false
(ensure OSAC_PROVISIONING_PROVIDER=aap expects this required secret).
- Around line 176-177: The OSAC AAP URL is configured insecurely and the
integration also sets insecure verification to "true": update the OSAC_AAP_URL
environment value to use "https://..." instead of "http://", and change the
corresponding insecure verification setting (the variable that enables skipping
TLS verification) to "false" or remove it so TLS verification is enforced;
ensure any related variables or references that mention insecure verification
are synchronized (e.g., the env var named OSAC_AAP_URL and the insecure
verification flag currently set to "true") so token transport uses TLS with
certificate validation.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: fa81188c-e99d-4c8e-8b5a-74e680c4afec

📥 Commits

Reviewing files that changed from the base of the PR and between cbcb989 and b9e9e73.

📒 Files selected for processing (1)
  • overlays/osac-integration/kustomization.yaml

@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.

♻️ Duplicate comments (1)
overlays/osac-integration/kustomization.yaml (1)

181-191: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Harden AAP token handling and TLS verification in the operator env patch.

Line 186 keeps OSAC_AAP_TOKEN optional, and Line 191 sets OSAC_AAP_INSECURE_SKIP_VERIFY to "true". With OSAC_PROVISIONING_PROVIDER="aap" (Line 166), this weakens startup safety and transport security for authenticated AAP API calls.

Suggested hardening
       - op: add
         path: /spec/template/spec/containers/0/env/-
         value:
           name: OSAC_AAP_TOKEN
           valueFrom:
             secretKeyRef:
               name: osac-aap-api-token
               key: token
-              optional: true
@@
       - op: add
         path: /spec/template/spec/containers/0/env/-
         value:
           name: OSAC_AAP_INSECURE_SKIP_VERIFY
-          value: "true"
+          value: "false"
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@overlays/osac-integration/kustomization.yaml` around lines 181 - 191, The env
patch weakens security: change the OSAC_AAP_TOKEN secretKeyRef to be required
(remove or set optional: false on osac-aap-api-token) so the operator fails fast
when OSAC_PROVISIONING_PROVIDER is "aap", and remove or set
OSAC_AAP_INSECURE_SKIP_VERIFY to "false" (do not set it to "true") to enforce
TLS verification in the operator container; update the patch that touches
OSAC_AAP_TOKEN and OSAC_AAP_INSECURE_SKIP_VERIFY accordingly so startup and
transport remain hardened.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Duplicate comments:
In `@overlays/osac-integration/kustomization.yaml`:
- Around line 181-191: The env patch weakens security: change the OSAC_AAP_TOKEN
secretKeyRef to be required (remove or set optional: false on
osac-aap-api-token) so the operator fails fast when OSAC_PROVISIONING_PROVIDER
is "aap", and remove or set OSAC_AAP_INSECURE_SKIP_VERIFY to "false" (do not set
it to "true") to enforce TLS verification in the operator container; update the
patch that touches OSAC_AAP_TOKEN and OSAC_AAP_INSECURE_SKIP_VERIFY accordingly
so startup and transport remain hardened.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: ce198e6c-aa92-4b9c-a7af-d9202196722e

📥 Commits

Reviewing files that changed from the base of the PR and between b9e9e73 and 5db7c84.

📒 Files selected for processing (2)
  • overlays/osac-integration/README.md
  • overlays/osac-integration/kustomization.yaml
✅ Files skipped from review due to trivial changes (1)
  • overlays/osac-integration/README.md

@adriengentil

Copy link
Copy Markdown
Contributor Author

/cc @omer-vishlitzky

@omer-vishlitzky

Copy link
Copy Markdown
Contributor

/lgtm

@adriengentil

Copy link
Copy Markdown
Contributor Author

/retest-required

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