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

OSAC-1564: Create AAP config-as-code secrets in Helm mode - #283

Merged
openshift-merge-bot[bot] merged 2 commits into
osac-project:mainfrom
eliorerz:fix/OSAC-1564-helm-aap-secrets
Jun 17, 2026
Merged

openshift-merge-bot[bot] merged 2 commits into
osac-project:mainfrom
eliorerz:fix/OSAC-1564-helm-aap-secrets

Conversation

@eliorerz

@eliorerz eliorerz commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Summary

  • setup.sh in Helm mode (DEPLOY_MODE=helm) did not create the config-as-code-manifest-ig and config-as-code-ig secrets, causing the AAP bootstrap job to fail
  • These secrets were only created by kustomize secretGenerator in the legacy path
  • Add explicit oc create secret commands to the Helm block in setup.sh, before helm upgrade --install, matching the manual steps documented in the Helm deployment guide (sections 2.4-2.5)

Changes

  • scripts/setup.sh — Add license secret (config-as-code-manifest-ig) and config-as-code secret (config-as-code-ig) creation in Helm mode, with env var overrides (AAP_LICENSE_FILE, AAP_EE_IMAGE, AAP_PROJECT_GIT_URI, AAP_PROJECT_GIT_BRANCH) and idempotent apply
  • docs/helm-deployment-guide.md — Note that setup.sh now handles these secrets automatically; manual commands kept for reference
  • charts/osac/values-example.yaml — Fix inaccurate comment (previously said aap-configuration.sh created these secrets, which it does not)

Test plan

  • Run setup.sh with DEPLOY_MODE=helm and a valid license.zip — verify both secrets are created in the namespace before Helm install
  • Run setup.sh with DEPLOY_MODE=helm without license.zip — verify warning is emitted and script continues
  • Verify AAP bootstrap job completes successfully with the fix
  • Verify DEPLOY_MODE=kustomize still works (no regression)
  • Verify env var overrides (AAP_LICENSE_FILE, AAP_EE_IMAGE) work

Fixes: https://redhat.atlassian.net/browse/OSAC-1564

Generated by agent-teams skill

Summary by CodeRabbit

  • Documentation

    • Updated Helm deployment guide with clarification on AAP license and Config-as-Code secret provisioning in Helm mode.
    • Updated configuration examples with notes on secret requirements and automatic setup.
  • New Features

    • Helm deployment mode now automatically provisions required AAP secrets during setup.
    • Added support for environment variable overrides for license file, container image, and Git repository configuration.

@openshift-ci-robot

openshift-ci-robot commented Jun 16, 2026

Copy link
Copy Markdown

@eliorerz: This pull request references OSAC-1564 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 bug to target the "5.0.0" version, but no target version was set.

Details

In response to this:

Summary

  • setup.sh in Helm mode (DEPLOY_MODE=helm) did not create the config-as-code-manifest-ig and config-as-code-ig secrets, causing the AAP bootstrap job to fail
  • These secrets were only created by kustomize secretGenerator in the legacy path
  • Add explicit oc create secret commands to the Helm block in setup.sh, before helm upgrade --install, matching the manual steps documented in the Helm deployment guide (sections 2.4-2.5)

Changes

  • scripts/setup.sh — Add license secret (config-as-code-manifest-ig) and config-as-code secret (config-as-code-ig) creation in Helm mode, with env var overrides (AAP_LICENSE_FILE, AAP_EE_IMAGE, AAP_PROJECT_GIT_URI, AAP_PROJECT_GIT_BRANCH) and idempotent apply
  • docs/helm-deployment-guide.md — Note that setup.sh now handles these secrets automatically; manual commands kept for reference
  • charts/osac/values-example.yaml — Fix inaccurate comment (previously said aap-configuration.sh created these secrets, which it does not)

Test plan

  • Run setup.sh with DEPLOY_MODE=helm and a valid license.zip — verify both secrets are created in the namespace before Helm install
  • Run setup.sh with DEPLOY_MODE=helm without license.zip — verify warning is emitted and script continues
  • Verify AAP bootstrap job completes successfully with the fix
  • Verify DEPLOY_MODE=kustomize still works (no regression)
  • Verify env var overrides (AAP_LICENSE_FILE, AAP_EE_IMAGE) work

Fixes: https://redhat.atlassian.net/browse/OSAC-1564

🤖 Generated with Claude Code

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 Jun 16, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: eliorerz

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 Jun 16, 2026

Copy link
Copy Markdown

Review Change Stack

Walkthrough

scripts/setup.sh is extended to pre-create two AAP secrets (config-as-code-manifest-ig and config-as-code-ig) in Helm deployment mode before the OSAC Helm chart is deployed. The Helm deployment guide and values-example.yaml comments are updated to document this automated behavior and its environment variable overrides.

Changes

AAP Secret Auto-Creation for Helm Mode

Layer / File(s) Summary
Secret provisioning in setup.sh
scripts/setup.sh
Adds ~34 lines in the Helm branch to conditionally create config-as-code-manifest-ig from a license ZIP (resolved via AAP_LICENSE_FILE or the overlay default path, with a warning if absent) and always creates config-as-code-ig from AAP_EE_IMAGE, AAP_PROJECT_GIT_URI, and AAP_PROJECT_GIT_BRANCH with defaults. The license secret is labeled osac.openshift.io/project=osac-aap. Also changes helm dependency build to helm dependency update.
Documentation of secret auto-creation
docs/helm-deployment-guide.md, charts/osac/values-example.yaml
Helm deployment guide adds auto-creation notes for both AAP secrets under setup.sh, env var override instructions (AAP_LICENSE_FILE, AAP_EE_IMAGE, AAP_PROJECT_GIT_URI, AAP_PROJECT_GIT_BRANCH), and marks existing oc create secret snippets as manual alternatives. The values-example.yaml comment is updated to reference setup.sh and the deployment guide instead of the old post-install script.

Sequence Diagram(s)

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

  • osac-project/osac-installer#240: Also modifies scripts/setup.sh in Helm mode to provision required Kubernetes/OpenShift secrets before main OSAC Helm chart deployment, overlapping in the same Helm bootstrap/setup flow.
  • osac-project/osac-installer#254: Also modifies charts/osac/values-example.yaml comments for aap.bootstrap.configAsCode secret naming, directly overlapping with this PR's values file update.
  • osac-project/osac-installer#98: Introduced the DEPLOY_MODE=helm|kustomize branching in scripts/setup.sh that this PR extends with secret pre-creation logic.

Suggested reviewers

  • jhernand
  • larsks

Poem

🔐 Before bootstrap wakes and claims its place,
Two secrets must exist in cyberspace.
setup.sh now crafts them, license and Git,
Environment variables fine-tune each bit.
No more missing keys—the flow runs tight! ✨

🚥 Pre-merge checks | ✅ 10 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Ai-Attribution ⚠️ Warning PR description states "Generated by agent-teams skill" but commit message lacks required Red Hat attribution trailers (Assisted-by or Generated-by). Add Generated-by or Assisted-by trailer to commit message to attribute the AI tool usage per Red Hat guidelines.
✅ Passed checks (10 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately captures the main change: adding AAP config-as-code secret creation to Helm deployment mode. It is specific, concise, and directly reflects the primary objective.
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.
No-Hardcoded-Secrets ✅ Passed No hardcoded secrets found. scripts/setup.sh uses env vars and file inputs, docs contain placeholder examples, values-example.yaml has empty/naming values only.
No-Weak-Crypto ✅ Passed PR contains no weak cryptography: no MD5/SHA1/DES/RC4/3DES/Blowfish/ECB usage, no custom crypto implementations, no non-constant-time secret comparisons.
No-Injection-Vectors ✅ Passed No injection vectors detected. All environment variables are properly quoted when passed to oc commands; --from-literal and --from-file flags treat values as literal data, not executable code.
Container-Privileges ✅ Passed PR modifies only documentation and bash scripts; no K8s manifests with container security contexts are introduced or modified.
No-Sensitive-Data-In-Logs ✅ Passed All logging added by this PR contains only non-sensitive information: file paths (AAP_LICENSE_FILE, overlay paths) and status messages. Secret values (AAP_EE_IMAGE, AAP_PROJECT_GIT_URI, AAP_PROJECT...

✏️ 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.

Actionable comments posted: 2

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

Inline comments:
In `@scripts/setup.sh`:
- Around line 347-358: The oc create secret command in the config-as-code-ig
secret creation (lines 353-358) uses double quotes around variable expansion
with --from-literal arguments, which allows shell command substitution if
environment variables contain malicious content. To fix this vulnerability, use
printf or a here-doc approach to pass literal values to the oc create secret
command without allowing shell expansion of the AAP_EE_IMAGE,
AAP_PROJECT_GIT_URI, AAP_PROJECT_GIT_BRANCH, and INSTALLER_NAMESPACE variables.
This prevents attackers from injecting arbitrary shell commands through these
environment variables.
- Around line 326-345: The AAP_LICENSE_FILE variable can be set to an arbitrary
path through environment control, enabling information disclosure of any file
readable by the script. Add validation before the file existence check to ensure
AAP_LICENSE_FILE points to a safe location within the expected repository
structure. Specifically, add a check that validates the resolved path does not
escape the overlays directory (e.g., using realpath to resolve symlinks and
normalize paths, then verify it stays within overlays/), and reject paths
containing traversal sequences like ../. This validation must occur before the
existing if [[ -f "${AAP_LICENSE_FILE}" ]] check to prevent unauthorized file
reads.
🪄 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: Repository: osac-project/coderabbit/.coderabbit.yaml

Review profile: ASSERTIVE

Plan: Enterprise

Run ID: a1062eac-8371-4adb-8385-946d659b9840

📥 Commits

Reviewing files that changed from the base of the PR and between d4be875 and ab7001a.

📒 Files selected for processing (3)
  • charts/osac/values-example.yaml
  • docs/helm-deployment-guide.md
  • scripts/setup.sh

Comment thread scripts/setup.sh
Comment on lines +326 to +345
# Create AAP license secret (required by the bootstrap job).
# In kustomize mode this is handled by secretGenerator; in Helm mode we
# must create it explicitly. The license.zip can be provided via:
# 1. AAP_LICENSE_FILE env var (absolute path)
# 2. overlays/<overlay>/files/license.zip (default convention)
AAP_LICENSE_FILE=${AAP_LICENSE_FILE:-"overlays/${INSTALLER_KUSTOMIZE_OVERLAY}/files/license.zip"}
if [[ -f "${AAP_LICENSE_FILE}" ]]; then
echo "Creating config-as-code-manifest-ig secret from ${AAP_LICENSE_FILE}..."
oc create secret generic config-as-code-manifest-ig \
--from-file=license.zip="${AAP_LICENSE_FILE}" \
-n "${INSTALLER_NAMESPACE}" \
--dry-run=client -o yaml | oc apply -f -
oc label secret config-as-code-manifest-ig \
osac.openshift.io/project=osac-aap \
-n "${INSTALLER_NAMESPACE}" --overwrite
else
echo "WARNING: AAP license file not found at ${AAP_LICENSE_FILE}"
echo "The AAP bootstrap job will fail without it."
echo "Set AAP_LICENSE_FILE or place license.zip in overlays/${INSTALLER_KUSTOMIZE_OVERLAY}/files/"
fi

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

Path traversal risk in license file handling.

The AAP_LICENSE_FILE variable defaults to a path constructed from the user-controlled INSTALLER_KUSTOMIZE_OVERLAY environment variable. An attacker who controls this environment variable can set AAP_LICENSE_FILE to an arbitrary path (e.g., /etc/passwd or ../../../sensitive-file), causing the script to read that file's content and embed it in the config-as-code-manifest-ig secret. While oc create secret --from-file does not execute commands, this enables information disclosure of arbitrary files readable by the script's user.

Risk severity: Medium
Impact: Information disclosure; attacker can exfiltrate file contents from the deployment environment into a Kubernetes secret.

🛡️ Recommended mitigation

Validate that AAP_LICENSE_FILE points to an expected location before using it:

 AAP_LICENSE_FILE=${AAP_LICENSE_FILE:-"overlays/${INSTALLER_KUSTOMIZE_OVERLAY}/files/license.zip"}
+# Validate license file path to prevent path traversal
+if [[ "${AAP_LICENSE_FILE}" =~ \.\. ]] || [[ "${AAP_LICENSE_FILE}" == /* && ! "${AAP_LICENSE_FILE}" =~ ^/tmp/ ]]; then
+    echo "ERROR: AAP_LICENSE_FILE path is invalid or potentially unsafe: ${AAP_LICENSE_FILE}"
+    exit 1
+fi
 if [[ -f "${AAP_LICENSE_FILE}" ]]; then

Alternatively, enforce that the file must be within the repository:

 AAP_LICENSE_FILE=${AAP_LICENSE_FILE:-"overlays/${INSTALLER_KUSTOMIZE_OVERLAY}/files/license.zip"}
+# Resolve to canonical path and ensure it's under the repo root
+CANONICAL_LICENSE=$(realpath -m "${AAP_LICENSE_FILE}" 2>/dev/null || echo "")
+REPO_ROOT=$(realpath "${SCRIPT_DIR}/..")
+if [[ -z "${CANONICAL_LICENSE}" ]] || [[ ! "${CANONICAL_LICENSE}" =~ ^"${REPO_ROOT}" ]]; then
+    echo "ERROR: AAP_LICENSE_FILE must be within the repository directory"
+    exit 1
+fi
+AAP_LICENSE_FILE="${CANONICAL_LICENSE}"
 if [[ -f "${AAP_LICENSE_FILE}" ]]; then
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
# Create AAP license secret (required by the bootstrap job).
# In kustomize mode this is handled by secretGenerator; in Helm mode we
# must create it explicitly. The license.zip can be provided via:
# 1. AAP_LICENSE_FILE env var (absolute path)
# 2. overlays/<overlay>/files/license.zip (default convention)
AAP_LICENSE_FILE=${AAP_LICENSE_FILE:-"overlays/${INSTALLER_KUSTOMIZE_OVERLAY}/files/license.zip"}
if [[ -f "${AAP_LICENSE_FILE}" ]]; then
echo "Creating config-as-code-manifest-ig secret from ${AAP_LICENSE_FILE}..."
oc create secret generic config-as-code-manifest-ig \
--from-file=license.zip="${AAP_LICENSE_FILE}" \
-n "${INSTALLER_NAMESPACE}" \
--dry-run=client -o yaml | oc apply -f -
oc label secret config-as-code-manifest-ig \
osac.openshift.io/project=osac-aap \
-n "${INSTALLER_NAMESPACE}" --overwrite
else
echo "WARNING: AAP license file not found at ${AAP_LICENSE_FILE}"
echo "The AAP bootstrap job will fail without it."
echo "Set AAP_LICENSE_FILE or place license.zip in overlays/${INSTALLER_KUSTOMIZE_OVERLAY}/files/"
fi
# Create AAP license secret (required by the bootstrap job).
# In kustomize mode this is handled by secretGenerator; in Helm mode we
# must create it explicitly. The license.zip can be provided via:
# 1. AAP_LICENSE_FILE env var (absolute path)
# 2. overlays/<overlay>/files/license.zip (default convention)
AAP_LICENSE_FILE=${AAP_LICENSE_FILE:-"overlays/${INSTALLER_KUSTOMIZE_OVERLAY}/files/license.zip"}
# Validate license file path to prevent path traversal
if [[ "${AAP_LICENSE_FILE}" =~ \.\. ]] || [[ "${AAP_LICENSE_FILE}" == /* && ! "${AAP_LICENSE_FILE}" =~ ^/tmp/ ]]; then
echo "ERROR: AAP_LICENSE_FILE path is invalid or potentially unsafe: ${AAP_LICENSE_FILE}"
exit 1
fi
if [[ -f "${AAP_LICENSE_FILE}" ]]; then
echo "Creating config-as-code-manifest-ig secret from ${AAP_LICENSE_FILE}..."
oc create secret generic config-as-code-manifest-ig \
--from-file=license.zip="${AAP_LICENSE_FILE}" \
-n "${INSTALLER_NAMESPACE}" \
--dry-run=client -o yaml | oc apply -f -
oc label secret config-as-code-manifest-ig \
osac.openshift.io/project=osac-aap \
-n "${INSTALLER_NAMESPACE}" --overwrite
else
echo "WARNING: AAP license file not found at ${AAP_LICENSE_FILE}"
echo "The AAP bootstrap job will fail without it."
echo "Set AAP_LICENSE_FILE or place license.zip in overlays/${INSTALLER_KUSTOMIZE_OVERLAY}/files/"
fi
🤖 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 `@scripts/setup.sh` around lines 326 - 345, The AAP_LICENSE_FILE variable can
be set to an arbitrary path through environment control, enabling information
disclosure of any file readable by the script. Add validation before the file
existence check to ensure AAP_LICENSE_FILE points to a safe location within the
expected repository structure. Specifically, add a check that validates the
resolved path does not escape the overlays directory (e.g., using realpath to
resolve symlinks and normalize paths, then verify it stays within overlays/),
and reject paths containing traversal sequences like ../. This validation must
occur before the existing if [[ -f "${AAP_LICENSE_FILE}" ]] check to prevent
unauthorized file reads.

Comment thread scripts/setup.sh
setup.sh in Helm mode did not create the config-as-code-manifest-ig and
config-as-code-ig secrets, causing the AAP bootstrap job to fail. These
were only created by kustomize secretGenerator in the legacy path.

Add explicit secret creation to the Helm block before helm upgrade
--install, with env var overrides (AAP_LICENSE_FILE, AAP_EE_IMAGE,
AAP_PROJECT_GIT_URI, AAP_PROJECT_GIT_BRANCH) and idempotent apply.

Generated by agent-teams skill
@eliorerz
eliorerz force-pushed the fix/OSAC-1564-helm-aap-secrets branch from ab7001a to f513012 Compare June 16, 2026 15:09
Use 'helm dependency update' instead of 'helm dependency build' so that
Chart.lock is regenerated from Chart.yaml. 'build' fails when the lock
file is out of sync with the dependencies (e.g. after submodule updates),
while 'update' resolves and locks fresh versions.

@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 current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@scripts/setup.sh`:
- Around line 341-344: The warning message on lines 342-343 in the setup.sh
script incorrectly states that the AAP bootstrap job will always fail without
the AAP_LICENSE_FILE, but this is not true if the config-as-code-manifest-ig
secret already exists in the namespace from a prior run. Update the warning
messages to clarify that the job will only fail if the license file is missing
AND the secret does not already exist in the namespace, so users understand when
the warning is actually actionable versus when the bootstrap can proceed with an
existing secret.
🪄 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: Repository: osac-project/coderabbit/.coderabbit.yaml

Review profile: ASSERTIVE

Plan: Enterprise

Run ID: f9e01fed-76e1-41d9-88e6-2dc88c49108b

📥 Commits

Reviewing files that changed from the base of the PR and between ab7001a and bd568cf.

📒 Files selected for processing (3)
  • charts/osac/values-example.yaml
  • docs/helm-deployment-guide.md
  • scripts/setup.sh

Comment thread scripts/setup.sh
Comment on lines +341 to +344
else
echo "WARNING: AAP license file not found at ${AAP_LICENSE_FILE}"
echo "The AAP bootstrap job will fail without it."
echo "Set AAP_LICENSE_FILE or place license.zip in overlays/${INSTALLER_KUSTOMIZE_OVERLAY}/files/"

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 | 🟡 Minor | ⚡ Quick win

Avoid a false failure warning when the secret already exists.

Line 342/343 states the bootstrap job will fail whenever AAP_LICENSE_FILE is missing, but that is incorrect if config-as-code-manifest-ig is already present in the namespace from a prior run.

Suggested fix
-    else
-        echo "WARNING: AAP license file not found at ${AAP_LICENSE_FILE}"
-        echo "The AAP bootstrap job will fail without it."
-        echo "Set AAP_LICENSE_FILE or place license.zip in overlays/${INSTALLER_KUSTOMIZE_OVERLAY}/files/"
-    fi
+    elif oc get secret config-as-code-manifest-ig -n "${INSTALLER_NAMESPACE}" &>/dev/null; then
+        echo "AAP license file not found at ${AAP_LICENSE_FILE}; using existing config-as-code-manifest-ig secret."
+    else
+        echo "WARNING: AAP license file not found at ${AAP_LICENSE_FILE}"
+        echo "The AAP bootstrap job will fail without it."
+        echo "Set AAP_LICENSE_FILE or place license.zip in overlays/${INSTALLER_KUSTOMIZE_OVERLAY}/files/"
+    fi
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
else
echo "WARNING: AAP license file not found at ${AAP_LICENSE_FILE}"
echo "The AAP bootstrap job will fail without it."
echo "Set AAP_LICENSE_FILE or place license.zip in overlays/${INSTALLER_KUSTOMIZE_OVERLAY}/files/"
elif oc get secret config-as-code-manifest-ig -n "${INSTALLER_NAMESPACE}" &>/dev/null; then
echo "AAP license file not found at ${AAP_LICENSE_FILE}; using existing config-as-code-manifest-ig secret."
else
echo "WARNING: AAP license file not found at ${AAP_LICENSE_FILE}"
echo "The AAP bootstrap job will fail without it."
echo "Set AAP_LICENSE_FILE or place license.zip in overlays/${INSTALLER_KUSTOMIZE_OVERLAY}/files/"
fi
🤖 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 `@scripts/setup.sh` around lines 341 - 344, The warning message on lines
342-343 in the setup.sh script incorrectly states that the AAP bootstrap job
will always fail without the AAP_LICENSE_FILE, but this is not true if the
config-as-code-manifest-ig secret already exists in the namespace from a prior
run. Update the warning messages to clarify that the job will only fail if the
license file is missing AND the secret does not already exist in the namespace,
so users understand when the warning is actually actionable versus when the
bootstrap can proceed with an existing secret.

@eliorerz eliorerz added the lgtm label Jun 17, 2026
@openshift-merge-bot
openshift-merge-bot Bot merged commit 8c49c1a into osac-project:main Jun 17, 2026
9 checks passed
ajamias pushed a commit to ajamias/osac-installer that referenced this pull request Jun 17, 2026
…aap-secrets

OSAC-1564: Create AAP config-as-code secrets in Helm mode
@eliorerz
eliorerz deleted the fix/OSAC-1564-helm-aap-secrets branch June 17, 2026 12:09
@coderabbitai coderabbitai Bot mentioned this pull request Jul 1, 2026
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.

2 participants