CNTRLPLANE-3364: adding the clusterbot workflow. Its optional.#79066
CNTRLPLANE-3364: adding the clusterbot workflow. Its optional.#79066sandeepknd wants to merge 1 commit intoopenshift:mainfrom
Conversation
|
@sandeepknd: This pull request references CNTRLPLANE-3364 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 story to target the "5.0.0" version, but no target version was set. DetailsIn response to this:
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. |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: sandeepknd The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository YAML (base), Central YAML (inherited) Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (11)
✅ Files skipped from review due to trivial changes (8)
🚧 Files skipped from review as they are similar to previous changes (3)
WalkthroughAdds three new etcd-encryption workflows (AWS, Azure, GCP) that provision IPI clusters and install/configure HashiCorp Vault for KMS-based encryption testing, plus corresponding OWNERS and workflow metadata entries and CI chat-bot workflow registrations. Changesetcd-encryption with HashiCorp Vault (AWS / Azure / GCP)
Sequence Diagram(s)sequenceDiagram
autonumber
participant Dev as Developer/Trigger
participant CI as CI Operator
participant Chat as CI Chat-Bot
participant Prov as Cluster Provisioner (IPI)
participant Vault as HashiCorp Vault (vault-kms)
participant Test as clusterbot-wait / Test Harness
Dev->>CI: push / trigger workflow (etcd-encryption-hashicorp-vault-<platform>)
CI->>Chat: query workflows-config (platform metadata)
CI->>Prov: run pre-chain (ipi-*-pre)
Prov->>Vault: deploy Vault Enterprise (vault-kms), enable Transit, create KMS key, configure AppRole
Vault->>CI: store credentials in secret `vault-credentials`
CI->>Test: run `clusterbot-wait` (cluster readiness)
Test->>CI: signal readiness
CI->>CI: run post-chains (gather-core-dump, ipi-*-post) — best-effort
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes 🚥 Pre-merge checks | ✅ 12✅ Passed checks (12 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
949420f to
4fe153f
Compare
|
[REHEARSALNOTIFIER] Note: If this PR includes changes to step registry files ( Interacting with pj-rehearseComment: Once you are satisfied with the results of the rehearsals, comment: |
|
@sandeepknd: all tests passed! Full PR test history. Your PR dashboard. DetailsInstructions 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 kubernetes-sigs/prow repository. I understand the commands that are listed here. |
Introduces three new clusterbot workflows that enable users to launch OpenShift clusters with HashiCorp Vault Enterprise pre-installed and configured for KMS encryption testing via Slack
Basic Commands:
Launch a cluster with Vault on AWS:
Launch a cluster with Vault on GCP:
Launch a cluster with Vault on Azure:
Summary
Adds three optional clusterbot workflows to the OpenShift CI infrastructure that provision IPI clusters with HashiCorp Vault Enterprise pre-installed and configured for KMS-based etcd encryption testing. These workflows enable on-demand cluster provisioning via the CI chat-bot (Slack) for AWS, GCP, and Azure.
What changed (practical impact)
New clusterbot workflows (ci-operator step-registry):
Each workflow provisions an IPI cluster on the target cloud, installs Vault Enterprise in namespace vault-kms (via Helm), enables the Transit engine, creates a KMS key, configures AppRole auth, stores credentials in a vault-credentials secret, waits for cluster readiness (clusterbot-wait), and runs platform-specific post/cleanup chains (gather-core-dump, ipi-*-post). Documentation and environment variable defaults (CLUSTER_DURATION, VAULT_VERSION, VAULT_NAMESPACE, VAULT_KMS_KEY_NAME) are embedded in each YAML.
Ownership and metadata:
Chat-bot registration:
Notes for reviewers / operators