Skip to content

add Install button to trigger Epinio install on unregistered clusters#545

Merged
dcharles525 merged 3 commits intodevelopmentfrom
feat-epinio-243-Trigger-to-deploy-epinio
Mar 31, 2026
Merged

add Install button to trigger Epinio install on unregistered clusters#545
dcharles525 merged 3 commits intodevelopmentfrom
feat-epinio-243-Trigger-to-deploy-epinio

Conversation

@psanghvi17
Copy link
Copy Markdown
Contributor

@psanghvi17 psanghvi17 commented Mar 18, 2026

PR Checklist

  • Linting Test is passing
  • Code is well documented
  • If applicable, a PR in the epinio/docs repository has been opened

Summary

Fixes #
Adds an Actions column to the Epinio instances table with an Install button that appears only for clusters where Epinio is not yet installed. Clicking the button opens an InstallDialog that collects domain, targetNamespace, and version, checks for an existing active install to prevent duplicates, creates an InstallEpinio CR on the target cluster via the Rancher K8s proxy, and polls the CR status conditions to show live progress (Progressing / Available / Degraded) until the operator completes the Helm-based install.

Occurred changes and/or fixed issues

  • An Install button appears in that column only for clusters whose state is uninstalled (i.e. clusters registered in Rancher that do not yet have Epinio running).
  • Clicking Install opens a new InstallDialog that collects the three required inputs: Domain, Target Namespace (defaults to epinio), and Version.
  • On submit the dialog checks for an existing active install (Available=True or Progressing=True) for the same target namespace on the same cluster, preventing duplicate installs.
  • If no duplicate is found, the dialog creates an InstallEpinio custom resource on the selected cluster via the Rancher Kubernetes API proxy (/k8s/clusters/{id}/apis/epinio.apps.example.com/...).
  • After the CR is created the dialog polls its status.conditions every 4 seconds and surfaces the operator's live progress to the user. The user can close the dialog early; the install continues in the background.- A new InstallDialog component is registered in the plugin entry point so Rancher's promptModal mechanism can resolve it by name.

Technical notes summary

Areas or cases that should be tested

Areas which could experience regressions

Screenshot/Video

Adds an Actions column to the Epinio instances table with an Install
button that appears only for clusters where Epinio is not yet installed.
Clicking the button opens an InstallDialog that collects domain,
targetNamespace, and version, checks for an existing active install to
prevent duplicates, creates an InstallEpinio CR on the target cluster
via the Rancher K8s proxy, and polls the CR status conditions to show
live progress (Progressing / Available / Degraded) until the operator
completes the Helm-based install.
@dcharles525 dcharles525 changed the base branch from main to development March 31, 2026 19:25
@dcharles525 dcharles525 self-requested a review March 31, 2026 19:25
Copy link
Copy Markdown
Member

@dcharles525 dcharles525 left a comment

Choose a reason for hiding this comment

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

LGTM

@dcharles525 dcharles525 merged commit 639be68 into development Mar 31, 2026
3 checks passed
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.

2 participants