feat: ensure deploy-dev and deploy-prod jobs create or update cluster#1332
Merged
botantler[bot] merged 16 commits intomainfrom Apr 11, 2026
Merged
feat: ensure deploy-dev and deploy-prod jobs create or update cluster#1332botantler[bot] merged 16 commits intomainfrom
botantler[bot] merged 16 commits intomainfrom
Conversation
Copilot created this pull request from a session on behalf of
devantler
April 6, 2026 19:15
View session
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates the Dev and Production GitHub Actions deploy workflows to ensure the target KSail (Omni) cluster is present/updated before publishing and reconciling the Flux OCI workload.
Changes:
- Added a “Create or update cluster” step in the deploy-dev job (
ci.yaml) usingksail cluster create || ksail cluster update. - Added a matching “Create or update cluster” step in the deploy-prod job (
cd.yaml). - Removed previously commented-out TODO blocks referencing ksail issues.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| .github/workflows/ci.yaml | Adds KSail cluster create/update before dev workload push/reconcile. |
| .github/workflows/cd.yaml | Adds KSail cluster create/update before prod workload push/reconcile. |
Contributor
|
It would probably be best to do a precheck to see if the cluster exists, to determine what command to run. |
Agent-Logs-Url: https://github.com/devantler-tech/platform/sessions/bf03cddf-6ceb-4155-85f4-b4726029521b Co-authored-by: devantler <26203420+devantler@users.noreply.github.com>
1b29197 to
cdd065a
Compare
…ate steps
Both ksail.dev.yaml and ksail.prod.yaml reference ${GITHUB_ACTOR} and
${GITHUB_TOKEN} in localRegistry.registry. GITHUB_TOKEN is not a default
GitHub Actions env var, so it must be set explicitly for the cluster
create/update step.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
bf147be to
b4a5a48
Compare
…eate/update Use `ksail cluster info` to determine whether the cluster already exists. If the cluster is found, run `cluster update`; otherwise run `cluster create`. This avoids the fragile `create || update` pattern that masks unexpected create failures. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
b4a5a48 to
59c8d5c
Compare
Reference: devantler-tech/ksail#3878 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…esolved) ksail v6.4.5 implements provider-aware cluster info that queries Omni API first, then Kube API. This enables the cleaner pattern: if cluster info; then update; else create; fi Also bumps ksail-cluster action from v5.91.6 to v6.4.5. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Includes fix for kubeconfig context name mismatch (ksail#3904) and nil pointer prevention in Helm client (ksail#3911). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…etch The KUBE_CONFIG secret becomes stale when the Omni cluster is recreated. Replace it with a dynamic kubeconfig fetch from the Omni API via omnictl, which always returns valid credentials. The kubeconfig step uses continue-on-error because the cluster may not exist yet (cluster create handles kubeconfig itself). Workaround for devantler-tech/ksail#3922 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
omnictl's --force-context-name flag is silently ignored when no pre-existing kubeconfig exists (fresh CI runner). Fall back to kubectl config rename-context to ensure the context name matches what ksail expects. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Verify the downloaded omnictl binary against the release sha256sum.txt before installing it, mitigating supply-chain risk. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
|
🎉 This PR is included in version 2.33.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Both deploy-dev (
ci.yaml) and deploy-prod (cd.yaml) jobs now ensure a cluster exists before pushing manifests. Each job checks cluster existence viaksail cluster infoand runscluster updateif it exists, orcluster createif not.Changes
GITHUB_ACTORandGITHUB_TOKENenv vars to the create/update step (required by thelocalRegistry.registryfield inksail.dev.yamlandksail.prod.yaml)- Added "