Skip to content

OCPCLOUD-3261: feat(cloud providers): inject centralized TLS configuration - #8864

Merged
openshift-merge-bot[bot] merged 5 commits into
openshift:mainfrom
ingvagabund:aws-cloud-controller-manager-tls
Aug 11, 2026
Merged

OCPCLOUD-3261: feat(cloud providers): inject centralized TLS configuration#8864
openshift-merge-bot[bot] merged 5 commits into
openshift:mainfrom
ingvagabund:aws-cloud-controller-manager-tls

Conversation

@ingvagabund

@ingvagabund ingvagabund commented Jun 29, 2026

Copy link
Copy Markdown
Member

What this PR does / why we need it:

  • have all cloud-controller-manager providers honor the centralized TLS configuration
  • have all capi-provider deployments honor the centralized TLS configuration

Which issue(s) this PR fixes:

Fixes

Special notes for your reviewer:

Checklist:

  • Subject and description added to both, commit and PR.
  • Relevant issues have been referenced.
  • This change includes docs.
  • This change includes unit tests.

Summary by CodeRabbit

  • New Features
    • Cloud provider controllers now automatically apply TLS security profile settings.
    • When configured, deployments set the minimum TLS version and cipher suites (comma-delimited) for both the cloud controller manager and the platform manager components.
    • Supported across AWS, Azure, GCP, KubeVirt, OpenStack, and PowerVS.
  • Chores
    • Improved CLI argument construction to apply TLS flags consistently across providers.

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Pipeline controller notification
This repo is configured to use the pipeline controller. Second-stage tests will be triggered either automatically or after lgtm label is added, depending on the repository configuration. The pipeline controller will automatically detect which contexts are required and will utilize /test Prow commands to trigger the second stage.

For optional jobs, comment /test ? to see a list of all defined jobs. To trigger manually all jobs from second stage use /pipeline required command.

This repository is configured in: LGTM mode

@openshift-ci openshift-ci Bot added do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. do-not-merge/needs-area labels Jun 29, 2026
@coderabbitai

coderabbitai Bot commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Across the cloud-controller-manager adapters and hosted-cluster platform deployment specs, container args now include TLS minimum version and cipher suite flags derived from the HostedControlPlane TLS security profile. Several deployment builders now construct args slices dynamically, and some component builders register deployment adaptation hooks to apply the changes.

Sequence Diagram(s)

sequenceDiagram
  participant HostedControlPlane
  participant PlatformDeploymentSpec
  participant Deployment
  HostedControlPlane->>PlatformDeploymentSpec: provide TLS security profile
  PlatformDeploymentSpec->>PlatformDeploymentSpec: build args slice
  PlatformDeploymentSpec->>Deployment: set Args with TLS flags
Loading

Suggested reviewers

  • devguyio
  • sdminonne
🚥 Pre-merge checks | ✅ 11
✅ Passed checks (11 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
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.
Stable And Deterministic Test Names ✅ Passed Scanned relevant test files; 15 literal titles found and none used dynamic values or unstable identifiers.
Test Structure And Quality ✅ Passed PASS: The touched tests are plain table-driven unit tests, not Ginkgo specs; they use fake clients and no cluster waits/timeouts or cleanup concerns.
Topology-Aware Scheduling Compatibility ✅ Passed Touched files only add TLS CLI args/imports; no new affinity, nodeSelector, topology spread, replica, or PDB scheduling constraints were introduced.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed No new Ginkgo e2e tests were added; the diff only changes controller code, fixtures, and unit tests, so the IPv6/disconnected check is not applicable.
No-Weak-Crypto ✅ Passed Only existing TLS-profile helpers are wired into args; no new MD5/SHA1/DES/RC4/3DES/Blowfish/ECB, custom crypto, or secret/token comparisons were added.
Container-Privileges ✅ Passed No touched manifest/spec adds privileged, hostPID/Network/IPC, SYS_ADMIN, or allowPrivilegeEscalation:true; changes only append TLS args.
No-Sensitive-Data-In-Logs ✅ Passed No new log statements were added in the changed files; the only logger call found is pre-existing and does not expose secrets.
Title check ✅ Passed The title accurately reflects the main change: centralized TLS configuration is injected across cloud provider deployments.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands.

@openshift-ci
openshift-ci Bot requested review from cblecker and csrwng June 29, 2026 17:24
@openshift-ci openshift-ci Bot added area/control-plane-operator Indicates the PR includes changes for the control plane operator - in an OCP release area/platform/aws PR/issue for AWS (AWSPlatform) platform area/platform/azure PR/issue for Azure (AzurePlatform) platform area/platform/gcp PR/issue for GCP (GCPPlatform) platform area/platform/kubevirt PR/issue for KubeVirt (KubevirtPlatform) platform area/platform/openstack PR/issue for OpenStack (OpenStackPlatform) platform area/platform/powervs PR/issue for PowerVS (PowerVSPlatform) platform and removed do-not-merge/needs-area labels Jun 29, 2026

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

🧹 Nitpick comments (1)
control-plane-operator/controllers/hostedcontrolplane/v2/cloud_controller_manager/aws/component.go (1)

63-70: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Factor the TLS arg assembly into a shared helper.

This exact MinTLSVersion/CipherSuites append block is now copied across all six CCM providers in this PR, so the next TLS flag change will be easy to miss in one of them. A small helper in the cloud-controller-manager package would keep the behavior aligned everywhere.

🤖 Prompt for 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.

In
`@control-plane-operator/controllers/hostedcontrolplane/v2/cloud_controller_manager/aws/component.go`
around lines 63 - 70, The TLS flag assembly in the cloud-controller-manager
provider setup is duplicated across the CCM implementations, so factor the
repeated MinTLSVersion/CipherSuites append logic into a shared helper in the
cloud-controller-manager package. Update the component wiring to call that
helper from the AWS path (and the other provider component files) so all
providers build TLS args consistently from
hcp.Spec.Configuration.GetTLSSecurityProfile().
🤖 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.

Nitpick comments:
In
`@control-plane-operator/controllers/hostedcontrolplane/v2/cloud_controller_manager/aws/component.go`:
- Around line 63-70: The TLS flag assembly in the cloud-controller-manager
provider setup is duplicated across the CCM implementations, so factor the
repeated MinTLSVersion/CipherSuites append logic into a shared helper in the
cloud-controller-manager package. Update the component wiring to call that
helper from the AWS path (and the other provider component files) so all
providers build TLS args consistently from
hcp.Spec.Configuration.GetTLSSecurityProfile().

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 8700e9d8-9b45-47e5-8557-59d3cd06c5e7

📥 Commits

Reviewing files that changed from the base of the PR and between 74c07cf and b45a4de.

📒 Files selected for processing (6)
  • control-plane-operator/controllers/hostedcontrolplane/v2/cloud_controller_manager/aws/component.go
  • control-plane-operator/controllers/hostedcontrolplane/v2/cloud_controller_manager/azure/deployment.go
  • control-plane-operator/controllers/hostedcontrolplane/v2/cloud_controller_manager/gcp/component.go
  • control-plane-operator/controllers/hostedcontrolplane/v2/cloud_controller_manager/kubevirt/deployment.go
  • control-plane-operator/controllers/hostedcontrolplane/v2/cloud_controller_manager/openstack/deployment.go
  • control-plane-operator/controllers/hostedcontrolplane/v2/cloud_controller_manager/powervs/deployment.go

@codecov

codecov Bot commented Jun 29, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 86.71329% with 19 lines in your changes missing coverage. Please review.
✅ Project coverage is 45.62%. Comparing base (a26a7a4) to head (8eb6847).
⚠️ Report is 8 commits behind head on main.

Files with missing lines Patch % Lines
...ollers/hostedcluster/internal/platform/platform.go 0.00% 17 Missing ⚠️
...plane/v2/cloud_controller_manager/gcp/component.go 87.50% 1 Missing ⚠️
...hostedcontrolplane/v2/kube_scheduler/deployment.go 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #8864      +/-   ##
==========================================
+ Coverage   45.03%   45.62%   +0.58%     
==========================================
  Files         780      781       +1     
  Lines       97623    97691      +68     
==========================================
+ Hits        43969    44567     +598     
+ Misses      50626    50074     -552     
- Partials     3028     3050      +22     
Files with missing lines Coverage Δ
...s/hostedcontrolplane/v2/capi_manager/deployment.go 100.00% <100.00%> (ø)
...lane/v2/cloud_controller_manager/aws/deployment.go 100.00% <100.00%> (ø)
...ne/v2/cloud_controller_manager/azure/deployment.go 54.54% <100.00%> (+54.54%) ⬆️
...v2/cloud_controller_manager/kubevirt/deployment.go 32.35% <100.00%> (+32.35%) ⬆️
...2/cloud_controller_manager/openstack/deployment.go 41.66% <100.00%> (+30.79%) ⬆️
.../v2/cloud_controller_manager/powervs/deployment.go 100.00% <100.00%> (ø)
...ontrollers/hostedcontrolplane/v2/kcm/deployment.go 90.62% <100.00%> (-0.68%) ⬇️
...stedcontrolplane/v2/machine_approver/deployment.go 100.00% <100.00%> (ø)
...ostedcontrolplane/v2/oauth_apiserver/deployment.go 100.00% <100.00%> (ø)
...ers/hostedcluster/internal/platform/agent/agent.go 81.22% <100.00%> (+33.41%) ⬆️
... and 10 more

... and 1 file with indirect coverage changes

Flag Coverage Δ
cmd-support 38.79% <100.00%> (+0.01%) ⬆️
cpo-hostedcontrolplane 47.52% <93.33%> (+0.27%) ⬆️
cpo-other 45.89% <ø> (ø)
hypershift-operator 56.99% <83.65%> (+1.98%) ⬆️
other 34.32% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@ingvagabund
ingvagabund force-pushed the aws-cloud-controller-manager-tls branch from b45a4de to 758f5be Compare June 29, 2026 17:54
@ingvagabund ingvagabund changed the title wip: feat(cloud-controller-manager): inject centralized TLS configuration OCPCLOUD-3261: feat(cloud-controller-manager): inject centralized TLS configuration Jun 29, 2026
@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Jun 29, 2026
@openshift-ci-robot

openshift-ci-robot commented Jun 29, 2026

Copy link
Copy Markdown

@ingvagabund: This pull request references OCPCLOUD-3261 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 epic to target either version "5.0." or "openshift-5.0.", but it targets "openshift-4.22" instead.

Details

In response to this:

What this PR does / why we need it:

To have all cloud-controller-manager providers honor the centralized TLS configuration

Which issue(s) this PR fixes:

Fixes

Special notes for your reviewer:

Checklist:

  • Subject and description added to both, commit and PR.
  • Relevant issues have been referenced.
  • This change includes docs.
  • This change includes unit tests.

Summary by CodeRabbit

  • New Features
  • Cloud controller manager deployments now automatically include TLS configuration based on the cluster’s configured TLS security profile.
  • When specified, the deployments add the configured minimum TLS version.
  • When specified, deployments also add the configured cipher suites (as a comma-delimited list).
  • This behavior is applied across multiple cloud providers, including AWS, Azure, GCP, KubeVirt, OpenStack, and PowerVS.

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.

@openshift-ci openshift-ci Bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jun 29, 2026
@ingvagabund
ingvagabund force-pushed the aws-cloud-controller-manager-tls branch from 758f5be to 21b3b69 Compare June 29, 2026 18:12
@openshift-ci openshift-ci Bot added the area/hypershift-operator Indicates the PR includes changes for the hypershift operator and API - outside an OCP release label Jun 29, 2026
@ingvagabund
ingvagabund force-pushed the aws-cloud-controller-manager-tls branch from e17a807 to 9fce135 Compare June 29, 2026 19:02

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

🧹 Nitpick comments (1)
hypershift-operator/controllers/hostedcluster/internal/platform/agent/agent.go (1)

77-94: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Extract the TLS arg append into a shared helper.

This exact hcpconfig.MinTLSVersion / config.CipherSuites block is now copied across all seven provider specs. Centralizing it would reduce drift the next time the TLS flag contract changes.

🤖 Prompt for 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.

In
`@hypershift-operator/controllers/hostedcluster/internal/platform/agent/agent.go`
around lines 77 - 94, The TLS flag assembly in the agent args setup is
duplicated across provider specs, so extract the repeated hcp-based TLS append
logic into a shared helper and reuse it from the agent container arg builder.
Move the block that calls config.MinTLSVersion and config.CipherSuites into a
common function with a clear name, then have the existing arg construction path
in agent.go call that helper after the base args are created. Keep the helper
responsible only for appending the TLS-related flags so all provider specs share
the same contract.
🤖 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.

Nitpick comments:
In
`@hypershift-operator/controllers/hostedcluster/internal/platform/agent/agent.go`:
- Around line 77-94: The TLS flag assembly in the agent args setup is duplicated
across provider specs, so extract the repeated hcp-based TLS append logic into a
shared helper and reuse it from the agent container arg builder. Move the block
that calls config.MinTLSVersion and config.CipherSuites into a common function
with a clear name, then have the existing arg construction path in agent.go call
that helper after the base args are created. Keep the helper responsible only
for appending the TLS-related flags so all provider specs share the same
contract.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: aca41bfd-9b08-4ded-ad68-5126f0f9527d

📥 Commits

Reviewing files that changed from the base of the PR and between 21b3b69 and e17a807.

📒 Files selected for processing (7)
  • hypershift-operator/controllers/hostedcluster/internal/platform/agent/agent.go
  • hypershift-operator/controllers/hostedcluster/internal/platform/aws/aws.go
  • hypershift-operator/controllers/hostedcluster/internal/platform/azure/azure.go
  • hypershift-operator/controllers/hostedcluster/internal/platform/gcp/gcp.go
  • hypershift-operator/controllers/hostedcluster/internal/platform/kubevirt/kubevirt.go
  • hypershift-operator/controllers/hostedcluster/internal/platform/openstack/openstack.go
  • hypershift-operator/controllers/hostedcluster/internal/platform/powervs/powervs.go

@ingvagabund ingvagabund changed the title OCPCLOUD-3261: feat(cloud-controller-manager): inject centralized TLS configuration OCPCLOUD-3261: feat(cloud providers): inject centralized TLS configuration Jun 29, 2026

@cblecker cblecker left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks for adding TLS security profile support across the CCM and CAPI providers — the implementation is clean and the fixture coverage is thorough.

One thing I'd like to see addressed (either in this PR or a follow-up): there's no enforcement mechanism that validates all components that should honor the centralized TLS configuration actually do. Today it's purely manual — if someone adds a new component that serves HTTPS, nothing flags the missing TLS configuration. This PR adds the same pattern to 13 files independently, and the next component won't know it needs to do the same.

A lightweight option would be a cross-component test that asserts every deployment with an HTTPS-serving container has --tls-min-version in its args or equivalent config. This would catch regressions and make the requirement discoverable. An even better option would be a helper (e.g., config.TLSFlags(profile)) that the component framework could apply automatically, but that's a larger change.

Would you be open to adding a tracking issue for this if it's out of scope here?

@ingvagabund
ingvagabund force-pushed the aws-cloud-controller-manager-tls branch from ffc14df to 6abac17 Compare June 29, 2026 21:21
@ingvagabund

Copy link
Copy Markdown
Member Author

Hello @cblecker. Thank you for taking a closer look at the PR. So far the changes are luckily quite straightforward.

There's a new tls-scanner periodic job for a HS introduced. The latest run: https://prow.ci.openshift.org/view/gs/test-platform-results/logs/periodic-ci-openshift-tls-scanner-main-periodic-hypershift-tls/2070729428597477376 (from Jun 27). Would that be a sufficient gating mechanism?

@openshift-ci openshift-ci Bot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jul 1, 2026
@gangwgr

gangwgr commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

/pipeline required

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Scheduling tests matching the pipeline_run_if_changed or not excluded by pipeline_skip_if_only_changed parameters:
/test e2e-aks-4-22
/test e2e-aws-4-22
/test e2e-aks
/test e2e-aws
/test e2e-aws-upgrade-hypershift-operator
/test e2e-kubevirt-aws-ovn-reduced
/test e2e-v2-aws
/test e2e-v2-azure-self-managed
/test e2e-v2-gke

@ricardomaraschini

Copy link
Copy Markdown
Contributor

/retest

@ingvagabund

Copy link
Copy Markdown
Member Author

/test ci/prow/unit

@ingvagabund

Copy link
Copy Markdown
Member Author

/test unit
/test verify

@ingvagabund

Copy link
Copy Markdown
Member Author

/retest-required

@ingvagabund
ingvagabund force-pushed the aws-cloud-controller-manager-tls branch from f0ae332 to 420ed4e Compare August 9, 2026 20:27
@openshift-ci openshift-ci Bot removed the lgtm Indicates that a PR is ready to be merged. label Aug 9, 2026
Inject --tls-min-version and --tls-cipher-suites flags to all six cloud
controller manager providers based on HCP TLS security profile.
Inject --tls-min-version and --tls-cipher-suites flags to all six cloud
capi providers based on HCP TLS security profile.
Inject --tls-min-version and --tls-cipher-suites flags
to capi-manager based on HCP TLS security profile.
…service-account-credentials argument

The argument is first set to true and then to false. The last occurence
wins. Making the argument no-effect.
@ingvagabund
ingvagabund force-pushed the aws-cloud-controller-manager-tls branch from 420ed4e to 8eb6847 Compare August 10, 2026 07:40
@csrwng

csrwng commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Aug 10, 2026
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Scheduling tests matching the pipeline_run_if_changed or not excluded by pipeline_skip_if_only_changed parameters:
/test e2e-aks-4-22
/test e2e-aws-4-22
/test e2e-aks
/test e2e-aws
/test e2e-aws-upgrade-hypershift-operator
/test e2e-kubevirt-aws-ovn-reduced
/test e2e-v2-aws
/test e2e-v2-azure-self-managed
/test e2e-v2-gke

@ingvagabund

Copy link
Copy Markdown
Member Author

/retest-required

@ingvagabund

Copy link
Copy Markdown
Member Author

/retest-required

@openshift-ci

openshift-ci Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

@ingvagabund: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/e2e-azure-v2-self-managed 151680f link true /test e2e-azure-v2-self-managed

Full PR test history. Your PR dashboard.

Details

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 kubernetes-sigs/prow repository. I understand the commands that are listed here.

@ingvagabund

Copy link
Copy Markdown
Member Author

/retest-required

@ingvagabund

Copy link
Copy Markdown
Member Author

The latest changes are moving the same code from one file to another one. Only the way the args are appended moved to a caller. Nothing else changed.

/verified by @kaleemsiddiqu

@openshift-ci-robot

Copy link
Copy Markdown

@ingvagabund: This PR has been marked as verified by @kaleemsiddiqu.

Details

In response to this:

The latest changes are moving the same code from one file to another one. Only the way the args are appended moved to a caller. Nothing else changed.

/verified by @kaleemsiddiqu

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.

@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Aug 11, 2026
@openshift-merge-bot
openshift-merge-bot Bot merged commit 86a075c into openshift:main Aug 11, 2026
45 checks passed
@ingvagabund
ingvagabund deleted the aws-cloud-controller-manager-tls branch August 11, 2026 09:09
@ingvagabund

ingvagabund commented Aug 11, 2026

Copy link
Copy Markdown
Member Author

Also post-merge validated aws-cloud-controller-manager, capi-provider and cluster-api pods have the centralized tls configuration propagated as well.

/verified by @ingvagabund

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. area/control-plane-operator Indicates the PR includes changes for the control plane operator - in an OCP release area/hypershift-operator Indicates the PR includes changes for the hypershift operator and API - outside an OCP release area/platform/aws PR/issue for AWS (AWSPlatform) platform area/platform/azure PR/issue for Azure (AzurePlatform) platform area/platform/gcp PR/issue for GCP (GCPPlatform) platform area/platform/kubevirt PR/issue for KubeVirt (KubevirtPlatform) platform area/platform/openstack PR/issue for OpenStack (OpenStackPlatform) platform area/platform/powervs PR/issue for PowerVS (PowerVSPlatform) platform jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged. verified Signifies that the PR passed pre-merge verification criteria

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants