Skip to content

Integrate OSAC plugin branch into main#547

Merged
maorfr merged 6 commits into
mainfrom
integration/osac-plugin
Jun 25, 2026
Merged

Integrate OSAC plugin branch into main#547
maorfr merged 6 commits into
mainfrom
integration/osac-plugin

Conversation

@eurijon

@eurijon eurijon commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Summary

Test plan

  • All PRs were individually reviewed and merged into integration/osac-plugin
  • CI validation on merge

🤖 Generated with Claude Code

eurijon and others added 6 commits June 18, 2026 16:45
…d var (#510)

The OSAC plugin checked `enclave_deployment_mode` to gate /etc/hosts
entries for Keycloak and AAP routes, but this Ansible variable is never
set. The deploy scripts translate the shell env var
ENCLAVE_DEPLOYMENT_MODE into the Ansible variable `disconnected`
(true/false). Use `disconnected` instead so the tasks actually run in
connected mode.

Assisted-by: Claude Code <noreply@anthropic.com>
…511)

The AAP operator labels gateway resources with
app.kubernetes.io/managed-by=aap-operator (route) and
app.kubernetes.io/component=aap-gateway (deployment), not
managed-by=automationgateway. The wrong selectors caused the
deploy-plugin playbook to hang for 45 minutes then fail finding
the gateway deployment, and would also fail to locate the route
for /etc/hosts and AAP token creation.

Assisted-by: Claude Code <noreply@anthropic.com>
The bootstrap job check used label selector app=osac-aap-bootstrap
which doesn't exist on the job. Use the job name directly instead.
Also remove the failed == 0 assertion since the bootstrap job retries
while waiting for EDA to sync, making failed > 0 normal for a
successful job.

Assisted-by: Claude Code <noreply@anthropic.com>
Replace the monolithic osac and aiaas experiences with three
service-oriented experiences aligned to OSAC fulfillment types.
All three share the base plugin stack (trust-manager, rhbk,
authorino, aap, osac); VMaaS adds gpu-passthrough for GPU
passthrough to virtual machines.

Assisted-by: Claude Code <noreply@anthropic.com>
… token (#516)

* OSAC-1597: Use JSON patch to configure OSAC operator with AAP URL and token

kubernetes.core.k8s with state: present validates all required fields
including image, causing the deployment patch to fail. Strategic merge
patch also fails with the same validation. Use k8s_json_patch with
RFC 6902 add operations to append env vars without touching other
container fields.

Assisted-by: Claude Code <noreply@anthropic.com>

* OSAC-1597: Make operator patch idempotent and container-index safe

Address CodeRabbit review:
- Query deployment first and skip patch if OSAC_AAP_URL and
  OSAC_AAP_TOKEN env vars already exist (idempotency)
- Assert single container instead of hardcoding index by name
  (fails clearly if sidecar injection changes container layout)
- Remove AAP URL from debug log message (no-sensitive-data check)

Assisted-by: Claude Code <noreply@anthropic.com>

* OSAC-1597: Use strategic merge patch for operator env vars

Replace JSON Patch with strategic merge patch (state: patched).
Addresses CodeRabbit review:
- Idempotent by design (env vars merge by name, no duplicates)
- Targets container by name instead of hardcoded index
- Remove AAP URL from debug log message (no-sensitive-data check)

Assisted-by: Claude Code <noreply@anthropic.com>
* OSAC-1572: Replace osacProfile with osacProfilesList

Replace single-value osacProfile (development/vmaas/caas) with
osacProfilesList array so multiple profiles can be enabled
simultaneously. Aligns with the VMaaS/CaaS/BMaaS experience split.

- Add bmaas profile (same controllers as caas)
- Drop development profile, default to [caas]
- Remove HyperConverged CRD pre-validate check
- Update Helm values template to check list membership
- Update docs and config example

Assisted-by: Claude Code <noreply@anthropic.com>

* OSAC-1572: Address review comments on osacProfilesList

- Add minItems: 1 and uniqueItems: true to schema
- Add vmaas to default profiles list for consistency with
  previous development profile behavior
- Fix VMaaS prerequisites in docs table

Assisted-by: Claude Code <noreply@anthropic.com>

* OSAC-1572: Fix default profiles comment to match defaults.yaml

The inline comment said default was [caas] but defaults.yaml has
[caas, vmaas]. Updated both osac.example.yaml and OSAC_DEPLOYMENT.md
to show the correct default.

Assisted-by: Claude Code <noreply@anthropic.com>

* OSAC-1572: Add docs reference and ellipsis to example profiles list

Assisted-by: Claude Code <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jun 24, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@eurijon, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 52 minutes and 19 seconds. Learn how PR review limits work.

Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file).

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits.

🚦 How do rate limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: c1e98d72-394c-4721-a747-fd5706e3a39a

📥 Commits

Reviewing files that changed from the base of the PR and between 5497289 and 2503194.

📒 Files selected for processing (15)
  • config/plugins/osac.example.yaml
  • docs/OSAC_DEPLOYMENT.md
  • experiences/README.md
  • experiences/aiaas/experience.yaml
  • experiences/bmaas/experience.yaml
  • experiences/caas/experience.yaml
  • experiences/osac/experience.yaml
  • experiences/vmaas/experience.yaml
  • plugins/osac/defaults.yaml
  • plugins/osac/schemas/config.yaml
  • plugins/osac/tasks/deploy.yaml
  • plugins/osac/tasks/post-operators.yaml
  • plugins/osac/tasks/post-validate.yaml
  • plugins/osac/tasks/pre-validate.yaml
  • plugins/osac/templates/values.yaml.j2
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch integration/osac-plugin

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.

@github-actions github-actions Bot added deployment Deployment-related changes plugins labels Jun 24, 2026
@maorfr maorfr merged commit 168a1a4 into main Jun 25, 2026
22 checks passed
@maorfr maorfr deleted the integration/osac-plugin branch June 25, 2026 07:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

deployment Deployment-related changes plugins

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants