Skip to content

Add helm charts for api-portal along with version bump for other portals - #3158

Open
DinithHerath wants to merge 8 commits into
wso2:mainfrom
DinithHerath:main
Open

Add helm charts for api-portal along with version bump for other portals#3158
DinithHerath wants to merge 8 commits into
wso2:mainfrom
DinithHerath:main

Conversation

@DinithHerath

Copy link
Copy Markdown
Contributor

This pull request updates the AI Workspace Helm charts and related GitHub Actions workflows to rename the "Developer Portal" to "API Portal" throughout the codebase. It also standardizes secret and environment variable naming, updates component versions to 1.0.0, and improves documentation and configuration consistency.

Portal Renaming and Workflow Updates:

  • Renamed all references from "Developer Portal" to "API Portal" in workflow names, environment variables, Helm chart values, and documentation. This includes renaming workflow files, chart names, and user-facing messages. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16]

Secret and Environment Variable Standardization:

  • Updated secret keys and environment variable names in generate-secrets.sh to use a consistent APIP_* prefix and clarified their usage in documentation. Deprecated and replaced old variable names. [1] [2]

Helm Chart and Component Version Updates:

  • Bumped AI Workspace and AI Workspace UI Helm chart versions to 1.0.0 and updated the platform-api dependency to 0.16.0 for compatibility and stability. [1] [2] [3]

Documentation and User Guidance Improvements:

  • Updated in-chart documentation, release notes, and installation instructions to reflect the new naming and improved clarity for users. [1] [2] [3] [4]

Validation and Error Messaging:

  • Improved Helm chart validation logic and error messages to use the new component names and provide more actionable feedback on misconfiguration.

These changes ensure consistent naming, improved maintainability, and a clearer installation and configuration experience for users.

@coderabbitai

coderabbitai Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Warning

Review limit reached

@DinithHerath, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 6 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

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

How do review 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 refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: f8825c58-ecfe-4401-8128-c68628cc0e3a

📥 Commits

Reviewing files that changed from the base of the PR and between d8fc5e3 and 6a2898c.

📒 Files selected for processing (6)
  • kubernetes/helm/ai-workspace-helm-chart/templates/validation.yaml
  • kubernetes/helm/ai-workspace-ui-helm-chart/values.yaml
  • kubernetes/helm/api-portal-helm-chart/Chart.yaml
  • kubernetes/helm/api-portal-ui-helm-chart/templates/configmap.yaml
  • kubernetes/helm/api-portal-ui-helm-chart/templates/pdb.yaml
  • kubernetes/helm/platform-api-helm-chart/values.yaml
📝 Walkthrough

Walkthrough

The change migrates Helm releases and chart configuration from Developer Portal to API Portal. It updates chart versions, resource naming, secrets, validation, API Portal UI settings, Platform API contracts, upload limits, and deployment configuration guidance.

Changes

API Portal release packaging

Layer / File(s) Summary
Release workflows and chart packaging
.github/workflows/*, kubernetes/helm/*/Chart.yaml, kubernetes/helm/api-portal-*/.helmignore, kubernetes/helm/api-portal-helm-chart/values*.yaml
Release workflows, chart names, dependencies, versions, component keys, and local installation references now target API Portal.
API Portal UI chart behavior
kubernetes/helm/api-portal-ui-helm-chart/*
The UI chart uses API Portal resource names, image settings, ports, secrets, authentication, authorization, artifact limits, and PodDisruptionBudget settings.
Umbrella chart integration and secrets
kubernetes/helm/ai-workspace-helm-chart/*, kubernetes/helm/api-portal-helm-chart/templates/*
Secret generation, release notes, validation, dependencies, and AI Workspace references now use API Portal components and credential namespaces.
Platform API chart contracts
kubernetes/helm/platform-api-helm-chart/*
Platform API chart metadata, helper names, secret mappings, image version, and required configuration validation now use the API Portal contract.
Configuration limits and migration guidance
portals/api-portal/configs/config-template.toml, platform-api/config/config.go, kubernetes/helm/gateway-helm-chart/values.yaml
Upload limits were added. Removed deployment configuration guidance and API Portal terminology were updated.

Estimated code review effort: 4 (Complex) | ~60 minutes

Possibly related PRs

  • wso2/api-platform#3145: Updates the same removed deployments.transitional_status_enabled configuration guidance.

Suggested reviewers: krishanx92, renuka-fernando, lasanthas

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description summarizes the implementation but omits most required sections, including purpose, goals, testing, security checks, documentation, related PRs, and test environment. Rewrite the description using the repository template and complete each required section, especially tests, security checks, documentation, related PRs, and test environment.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the API Portal Helm chart addition and related version updates in the changeset.
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.
✨ 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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 5

🤖 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 `@kubernetes/helm/ai-workspace-ui-helm-chart/templates/configmap.yaml`:
- Around line 59-66: Update the authorization validation around $authz in the
Helm template to add a render-time guard when the local Platform API is enabled,
requiring config.auth.authorization.mode to match
platform-api.config.auth.authorization.mode. Preserve the existing scope/role
validation, and document the required matching mode for deployments using an
external Platform API.

In `@kubernetes/helm/api-portal-helm-chart/Chart.yaml`:
- Line 2: Update the description in Chart.yaml to replace every occurrence of
“Developer Portal” with “API Portal” on the referenced description lines, while
preserving the rest of the Helm metadata unchanged.

In `@kubernetes/helm/api-portal-ui-helm-chart/templates/configmap.yaml`:
- Line 131: Update the fail message in the template validation to reference the
actual values path, using config.organization.handle is required instead of
apiPortal.config.organization.handle. Keep the validation behavior unchanged.

In `@kubernetes/helm/api-portal-ui-helm-chart/templates/pdb.yaml`:
- Around line 4-8: Update the PDB validation and emitted spec around the
minAvailable and maxUnavailable fields to test whether each key is present, not
whether its value is truthy, preserving explicit zero values. Ensure validation
still rejects both fields when set and rejects neither when absent, and render
the selected field even when its value is 0.

In `@kubernetes/helm/platform-api-helm-chart/values.yaml`:
- Around line 284-297: The chart needs an upgrade path for Secrets created with
the previous generic key names. Update the secrets key handling around the
values.keys mapping so existing old-key Secrets remain readable during rollout,
either by documenting a migration procedure or by supporting
dual-write/dual-read of both old and new names; ensure secretKeyRef lookups and
the Secret volume entries for encryption, database, webhook, JWT, and admin
credentials continue working with legacy Secrets.
🪄 Autofix

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: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 76cd9a2e-eaf4-4bbe-a28b-182f6baec3e9

📥 Commits

Reviewing files that changed from the base of the PR and between 382ed64 and d8fc5e3.

📒 Files selected for processing (39)
  • .github/workflows/api-portal-helm-release.yml
  • .github/workflows/api-portal-ui-helm-release.yml
  • kubernetes/helm/ai-workspace-helm-chart/Chart.yaml
  • kubernetes/helm/ai-workspace-helm-chart/generate-secrets.sh
  • kubernetes/helm/ai-workspace-helm-chart/templates/NOTES.txt
  • kubernetes/helm/ai-workspace-helm-chart/templates/validation.yaml
  • kubernetes/helm/ai-workspace-ui-helm-chart/Chart.yaml
  • kubernetes/helm/ai-workspace-ui-helm-chart/templates/_helpers.tpl
  • kubernetes/helm/ai-workspace-ui-helm-chart/templates/configmap.yaml
  • kubernetes/helm/ai-workspace-ui-helm-chart/values.yaml
  • kubernetes/helm/api-portal-helm-chart/.helmignore
  • kubernetes/helm/api-portal-helm-chart/Chart.yaml
  • kubernetes/helm/api-portal-helm-chart/generate-secrets.sh
  • kubernetes/helm/api-portal-helm-chart/templates/NOTES.txt
  • kubernetes/helm/api-portal-helm-chart/templates/serviceaccount.yaml
  • kubernetes/helm/api-portal-helm-chart/templates/validation.yaml
  • kubernetes/helm/api-portal-helm-chart/values-local.yaml
  • kubernetes/helm/api-portal-helm-chart/values.yaml
  • kubernetes/helm/api-portal-ui-helm-chart/.helmignore
  • kubernetes/helm/api-portal-ui-helm-chart/Chart.yaml
  • kubernetes/helm/api-portal-ui-helm-chart/templates/_helpers.tpl
  • kubernetes/helm/api-portal-ui-helm-chart/templates/certificate.yaml
  • kubernetes/helm/api-portal-ui-helm-chart/templates/configmap.yaml
  • kubernetes/helm/api-portal-ui-helm-chart/templates/deployment.yaml
  • kubernetes/helm/api-portal-ui-helm-chart/templates/hpa.yaml
  • kubernetes/helm/api-portal-ui-helm-chart/templates/issuer.yaml
  • kubernetes/helm/api-portal-ui-helm-chart/templates/pdb.yaml
  • kubernetes/helm/api-portal-ui-helm-chart/templates/pvc.yaml
  • kubernetes/helm/api-portal-ui-helm-chart/templates/service.yaml
  • kubernetes/helm/api-portal-ui-helm-chart/values-local.yaml
  • kubernetes/helm/api-portal-ui-helm-chart/values.yaml
  • kubernetes/helm/developer-portal-ui-helm-chart/templates/pdb.yaml
  • kubernetes/helm/gateway-helm-chart/values.yaml
  • kubernetes/helm/platform-api-helm-chart/Chart.yaml
  • kubernetes/helm/platform-api-helm-chart/templates/_helpers.tpl
  • kubernetes/helm/platform-api-helm-chart/templates/configmap.yaml
  • kubernetes/helm/platform-api-helm-chart/values.yaml
  • platform-api/config/config.go
  • portals/api-portal/configs/config-template.toml
💤 Files with no reviewable changes (1)
  • kubernetes/helm/developer-portal-ui-helm-chart/templates/pdb.yaml

Comment thread kubernetes/helm/ai-workspace-ui-helm-chart/templates/configmap.yaml
Comment thread kubernetes/helm/api-portal-helm-chart/Chart.yaml
Comment thread kubernetes/helm/api-portal-ui-helm-chart/templates/configmap.yaml Outdated
Comment thread kubernetes/helm/api-portal-ui-helm-chart/templates/pdb.yaml Outdated
Comment thread kubernetes/helm/platform-api-helm-chart/values.yaml
- Fail render when platform-api and ai-workspace-ui authorization modes
  mismatch, since the UI only mirrors what the Platform API enforces
- Fix leftover "Developer Portal" text in api-portal Chart.yaml description
- Fix values path in api-portal-ui's organization.handle validation error
- Preserve explicit minAvailable/maxUnavailable: 0 in the PDB template,
  which truthiness checks were treating as unset
- Document the upgrade path for platform-api's APIP_CP_* secret key rename
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.

1 participant