Skip to content

CM-1225: Apply cluster TLS profile to trust-manager, operator metrics, and operand HTTPS metrics - #466

Open
arun717 wants to merge 8 commits into
openshift:masterfrom
arun717:trustmanager_tls_impl
Open

CM-1225: Apply cluster TLS profile to trust-manager, operator metrics, and operand HTTPS metrics#466
arun717 wants to merge 8 commits into
openshift:masterfrom
arun717:trustmanager_tls_impl

Conversation

@arun717

@arun717 arun717 commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Apply cluster TLS security profile to trust-manager webhook serving TLS
  • Honor cluster TLS profile on the operator metrics server (:8443)
  • Enable HTTPS metrics TLS on cert-manager controller/webhook/cainjector operands
  • Claim/sync CSV tls-profiles feature annotation

Test plan

  • /test tls-scanner
  • /test e2e-operator-tech-preview (TLS profile e2e)
  • /test unit
  • /test verify

Summary by CodeRabbit

  • New Features

    • Added cluster-wide TLS profile support for cert-manager, trust-manager, and operator-serving endpoints.
    • Enabled HTTPS metrics for cert-manager controller, webhook, and cainjector components.
    • Added automatic serving certificate integration for OpenShift deployments.
    • Added trust-manager TLS configuration based on the active cluster profile.
  • Bug Fixes

    • Improved TLS 1.3 handling by avoiding incompatible cipher-suite settings.
    • Added automatic updates when cluster TLS configuration changes.
    • Improved metrics security through dynamic serving certificates and permissions.

@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-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Aug 3, 2026
@openshift-ci-robot

openshift-ci-robot commented Aug 3, 2026

Copy link
Copy Markdown

@arun717: This pull request references CM-954 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 "cert-manager-1.20" instead.

Details

In response to this:

Summary

  • Apply cluster TLS security profile to trust-manager webhook serving TLS
  • Honor cluster TLS profile on the operator metrics server (:8443)
  • Enable HTTPS metrics TLS on cert-manager controller/webhook/cainjector operands
  • Claim/sync CSV tls-profiles feature annotation

Test plan

  • /test tls-scanner
  • /test e2e-operator-tech-preview (TLS profile e2e)
  • /test unit
  • /test verify

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.

@arun717

arun717 commented Aug 3, 2026

Copy link
Copy Markdown
Contributor Author

/test tls-scanner

@coderabbitai

coderabbitai Bot commented Aug 3, 2026

Copy link
Copy Markdown

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

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 91795178-833d-47ff-a5d7-6c3193ca3872

📥 Commits

Reviewing files that changed from the base of the PR and between 473a6f6 and 01c94a9.

📒 Files selected for processing (3)
  • bundle/manifests/cert-manager-operator.clusterserviceversion.yaml
  • pkg/operator/assets/bindata.go
  • test/e2e/utils_test.go
🚧 Files skipped from review as they are similar to previous changes (3)
  • pkg/operator/assets/bindata.go
  • bundle/manifests/cert-manager-operator.clusterserviceversion.yaml
  • test/e2e/utils_test.go

Walkthrough

The operator now applies cluster TLS profiles to serving endpoints and trust-manager. Cert-manager operand metrics use dynamic serving certificates and HTTPS scraping. OpenShift serving certificate mounts and annotations are configured.

Changes

Cluster TLS and serving

Layer / File(s) Summary
TLS profile resolution and serving helpers
pkg/tlsprofile/..., go.mod
Added cluster APIServer profile resolution, serving updates, trust-manager TLS arguments, and tests.
Operator startup and serving certificate wiring
pkg/cmd/operator/cmd.go, config/..., bundle/manifests/...
Added custom startup handling, cluster TLS application, serving certificate mounts, and TLS profile declarations.
Trust-manager TLS reconciliation
pkg/controller/trustmanager/..., test/e2e/...
Added APIServer watching, profile adherence handling, webhook TLS arguments, Deployment updates, and tests.
Cert-manager operand metrics TLS
pkg/controller/certmanager/..., bindata/..., pkg/operator/assets/bindata.go
Added dynamic-serving RBAC, HTTPS metrics arguments and annotations, embedded assets, and tests.

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

Sequence Diagram(s)

sequenceDiagram
  participant OperatorCommand
  participant APIServer
  participant TLSProfile
  participant TrustManager
  participant CertManagerController
  participant OperandDeployment
  OperatorCommand->>APIServer: fetch cluster TLS profile
  APIServer-->>TLSProfile: return profile configuration
  TLSProfile-->>OperatorCommand: apply serving settings
  APIServer->>TrustManager: emit matching APIServer event
  TrustManager->>APIServer: resolve effective TLS profile
  APIServer-->>TrustManager: return effective profile
  TrustManager->>OperandDeployment: apply webhook TLS arguments
  CertManagerController->>OperandDeployment: apply dynamic metrics TLS
Loading

Suggested reviewers: swghosh, bharath-b-rh

🚥 Pre-merge checks | ✅ 4 | ❌ 11

❌ Failed checks (1 warning, 10 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 31.25% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Stable And Deterministic Test Names ❓ Inconclusive Repository clone failed, so this custom check could not run with code access. Retry the review run. If this persists, inspect pre-merge custom-check logs for infrastructure or agent runtime failures.
Test Structure And Quality ❓ Inconclusive Repository clone failed, so this custom check could not run with code access. Retry the review run. If this persists, inspect pre-merge custom-check logs for infrastructure or agent runtime failures.
Microshift Test Compatibility ❓ Inconclusive Repository clone failed, so this custom check could not run with code access. Retry the review run. If this persists, inspect pre-merge custom-check logs for infrastructure or agent runtime failures.
Single Node Openshift (Sno) Test Compatibility ❓ Inconclusive Repository clone failed, so this custom check could not run with code access. Retry the review run. If this persists, inspect pre-merge custom-check logs for infrastructure or agent runtime failures.
Topology-Aware Scheduling Compatibility ❓ Inconclusive Repository clone failed, so this custom check could not run with code access. Retry the review run. If this persists, inspect pre-merge custom-check logs for infrastructure or agent runtime failures.
Ote Binary Stdout Contract ❓ Inconclusive Repository clone failed, so this custom check could not run with code access. Retry the review run. If this persists, inspect pre-merge custom-check logs for infrastructure or agent runtime failures.
Ipv6 And Disconnected Network Test Compatibility ❓ Inconclusive Repository clone failed, so this custom check could not run with code access. Retry the review run. If this persists, inspect pre-merge custom-check logs for infrastructure or agent runtime failures.
No-Weak-Crypto ❓ Inconclusive Repository clone failed, so this custom check could not run with code access. Retry the review run. If this persists, inspect pre-merge custom-check logs for infrastructure or agent runtime failures.
Container-Privileges ❓ Inconclusive Repository clone failed, so this custom check could not run with code access. Retry the review run. If this persists, inspect pre-merge custom-check logs for infrastructure or agent runtime failures.
No-Sensitive-Data-In-Logs ❓ Inconclusive Repository clone failed, so this custom check could not run with code access. Retry the review run. If this persists, inspect pre-merge custom-check logs for infrastructure or agent runtime failures.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main changes: cluster TLS profile support and HTTPS metrics for trust-manager, operator metrics, and cert-manager operands.
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

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

@openshift-ci
openshift-ci Bot requested review from bharath-b-rh and swghosh August 3, 2026 13:17
@openshift-ci

openshift-ci Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: arun717
Once this PR has been reviewed and has the lgtm label, please assign trilokgeer for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 4

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
pkg/tlsprofile/tlsprofile.go (1)

60-78: 🔒 Security & Privacy | 🟠 Major | 🏗️ Heavy lift

Reject TLS profiles with unmappable cipher names.

OpenSSLToIANACipherSuites drops unknown names. The three non-TLS 1.3 argument helpers can therefore emit empty cipher flags. Return an error from joinIANACiphers and propagate it through the cert-manager and trust-manager callers, matching ApplyToHTTPServingInfo.

🤖 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 `@pkg/tlsprofile/tlsprofile.go` around lines 60 - 78, Update joinIANACiphers to
return an error when any cipher name cannot be mapped instead of silently
dropping it, and propagate that error through CertManagerWebhookTLSArgs and the
corresponding trust-manager argument helper. Match the error-returning behavior
and handling used by ApplyToHTTPServingInfo, while preserving the existing TLS
1.3 path and successful cipher argument generation.
🧹 Nitpick comments (1)
pkg/controller/certmanager/deployment_metrics_tls_test.go (1)

29-46: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Add the missing secret-namespace assertion for webhook and cainjector cases.

The webhook and cainjector wantArgs slices omit --metrics-dynamic-serving-ca-secret-namespace=$(POD_NAMESPACE), while the controller case checks it. Add the same assertion to all three cases for symmetric coverage.

🧪 Proposed fix to align test coverage across cases
 		{
 			name:           "webhook",
 			deploymentName: certmanagerWebhookDeployment,
 			wantArgs: []string{
+				"--metrics-dynamic-serving-ca-secret-namespace=$(POD_NAMESPACE)",
 				"--metrics-dynamic-serving-ca-secret-name=cert-manager-metrics-ca",
 				"--metrics-dynamic-serving-dns-names=cert-manager-webhook,cert-manager-webhook.$(POD_NAMESPACE),cert-manager-webhook.$(POD_NAMESPACE).svc",
 			},
 			wantScheme: "https",
 		},
 		{
 			name:           "cainjector",
 			deploymentName: certmanagerCAinjectorDeployment,
 			wantArgs: []string{
+				"--metrics-dynamic-serving-ca-secret-namespace=$(POD_NAMESPACE)",
 				"--metrics-dynamic-serving-ca-secret-name=cert-manager-metrics-ca",
 				"--metrics-dynamic-serving-dns-names=cert-manager-cainjector,cert-manager-cainjector.$(POD_NAMESPACE),cert-manager-cainjector.$(POD_NAMESPACE).svc",
 			},
 			wantScheme: "https",
 		},
🤖 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 `@pkg/controller/certmanager/deployment_metrics_tls_test.go` around lines 29 -
46, Update the test cases identified by the deploymentName values
certmanagerControllerDeployment, certmanagerWebhookDeployment, and
certmanagerCAinjectorDeployment so each wantArgs slice includes the metrics
dynamic-serving CA secret namespace argument using $(POD_NAMESPACE), keeping the
assertions symmetric across all three cases.
🤖 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 `@pkg/cmd/operator/cmd.go`:
- Around line 57-58: Handle and propagate the errors returned by the flag
lookups in the command setup, including terminateOnFiles, listen, kubeconfig,
and namespace. Replace each ignored error with explicit error handling that
stops command initialization and returns the failure, preserving the existing
values and subsequent behavior when lookups succeed.
- Around line 119-126: Update the serving setup around
ApplyClusterProfileToHTTPServingInfo to execute the cluster TLS profile lookup
with a finite context timeout, ensuring stalled API requests cannot block
startup and preserving error propagation. Raise the RESTConfigFromKubeConfig
failure log from informational to warning level so fallback to default serving
TLS settings is visible.

In `@pkg/tlsprofile/serving.go`:
- Around line 23-61: Extract the shared cluster APIServer lookup, adherence
validation, warning, and EffectiveSpec resolution into a helper in the
tlsprofile package, parameterized for client-go REST and controller-runtime
fetchers while preserving deployment_tls.go’s correct Get error handling. In
pkg/tlsprofile/serving.go:23-61, replace the duplicated block in
ApplyClusterProfileToHTTPServingInfo with the helper and retain only
HTTPServingInfo application. In
pkg/controller/trustmanager/deployment_tls.go:18-18 and its
applyClusterTLSProfile block, use the same helper and retain only
deployment-argument merge logic.
- Around line 36-41: Update the APIServers lookup error handling in the serving
configuration function around ConfigV1().APIServers().Get: retain the nil
fallback and informational log only when apierrors.IsNotFound(err) is true, and
return other errors to surface startup failures. Follow the established pattern
in the sibling deployment TLS reconciler and reuse the existing Kubernetes API
error handling conventions.

---

Outside diff comments:
In `@pkg/tlsprofile/tlsprofile.go`:
- Around line 60-78: Update joinIANACiphers to return an error when any cipher
name cannot be mapped instead of silently dropping it, and propagate that error
through CertManagerWebhookTLSArgs and the corresponding trust-manager argument
helper. Match the error-returning behavior and handling used by
ApplyToHTTPServingInfo, while preserving the existing TLS 1.3 path and
successful cipher argument generation.

---

Nitpick comments:
In `@pkg/controller/certmanager/deployment_metrics_tls_test.go`:
- Around line 29-46: Update the test cases identified by the deploymentName
values certmanagerControllerDeployment, certmanagerWebhookDeployment, and
certmanagerCAinjectorDeployment so each wantArgs slice includes the metrics
dynamic-serving CA secret namespace argument using $(POD_NAMESPACE), keeping the
assertions symmetric across all three cases.
🪄 Autofix (Beta)

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: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: e8c1dbbb-52b2-48d7-9958-28a9f622da7e

📥 Commits

Reviewing files that changed from the base of the PR and between 4ab2a49 and 9391a43.

📒 Files selected for processing (26)
  • bindata/cert-manager-deployment/cainjector/cert-manager-cainjector-deployment.yaml
  • bindata/cert-manager-deployment/controller/cert-manager-deployment.yaml
  • bindata/cert-manager-deployment/controller/cert-manager-metrics-dynamic-serving-rb.yaml
  • bindata/cert-manager-deployment/controller/cert-manager-metrics-dynamic-serving-role.yaml
  • bindata/cert-manager-deployment/webhook/cert-manager-webhook-deployment.yaml
  • bundle/manifests/cert-manager-operator-controller-manager-metrics-service_v1_service.yaml
  • bundle/manifests/cert-manager-operator.clusterserviceversion.yaml
  • config/manager/manager.yaml
  • config/manifests/bases/cert-manager-operator.clusterserviceversion.yaml
  • config/rbac/auth_proxy_service.yaml
  • pkg/cmd/operator/cmd.go
  • pkg/controller/certmanager/cert_manager_controller_deployment.go
  • pkg/controller/certmanager/deployment_metrics_tls.go
  • pkg/controller/certmanager/deployment_metrics_tls_test.go
  • pkg/controller/certmanager/generic_deployment_controller.go
  • pkg/controller/trustmanager/controller.go
  • pkg/controller/trustmanager/deployment_tls.go
  • pkg/controller/trustmanager/deployment_tls_test.go
  • pkg/controller/trustmanager/deployments.go
  • pkg/operator/assets/bindata.go
  • pkg/tlsprofile/serving.go
  • pkg/tlsprofile/serving_test.go
  • pkg/tlsprofile/tlsprofile.go
  • pkg/tlsprofile/tlsprofile_test.go
  • test/e2e/tls_profile_test.go
  • test/e2e/utils_test.go

Comment thread pkg/cmd/operator/cmd.go Outdated
Comment thread pkg/cmd/operator/cmd.go
Comment thread pkg/tlsprofile/serving.go
Comment thread pkg/tlsprofile/serving.go Outdated
@arun717 arun717 changed the title CM-1225/CM-954: Apply cluster TLS profile to trust-manager, operator metrics, and operand HTTPS metrics CM-1225: Apply cluster TLS profile to trust-manager, operator metrics, and operand HTTPS metrics Aug 4, 2026
@openshift-ci-robot

openshift-ci-robot commented Aug 4, 2026

Copy link
Copy Markdown

@arun717: This pull request references CM-1225 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.

Details

In response to this:

Summary

  • Apply cluster TLS security profile to trust-manager webhook serving TLS
  • Honor cluster TLS profile on the operator metrics server (:8443)
  • Enable HTTPS metrics TLS on cert-manager controller/webhook/cainjector operands
  • Claim/sync CSV tls-profiles feature annotation

Test plan

  • /test tls-scanner
  • /test e2e-operator-tech-preview (TLS profile e2e)
  • /test unit
  • /test verify

Summary by CodeRabbit

  • New Features

  • Added support for cluster-wide TLS profiles across cert-manager, trust-manager, and operator-serving endpoints.

  • Enabled HTTPS metrics for cert-manager controller, webhook, and cainjector components.

  • Added automatic serving certificate integration for OpenShift deployments.

  • Added trust-manager TLS configuration based on the active cluster profile.

  • Bug Fixes

  • Improved TLS 1.3 handling by avoiding incompatible cipher-suite settings.

  • Added automatic updates when cluster TLS configuration changes.

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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 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 `@pkg/tlsprofile/cluster.go`:
- Around line 34-38: Update the documentation comment for the ObjectGetter
interface to accurately reflect that it matches common.CtrlClient rather than
claiming it matches both client.Reader and this repo's CtrlClient. Correct the
comment to state the actual interface it represents based on the production
usage.
🪄 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: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 735a854a-9db9-4acf-a83c-146317149c3b

📥 Commits

Reviewing files that changed from the base of the PR and between c0dac26 and 63649d1.

📒 Files selected for processing (7)
  • pkg/cmd/operator/cmd.go
  • pkg/controller/trustmanager/controller.go
  • pkg/controller/trustmanager/deployment_tls.go
  • pkg/controller/trustmanager/deployment_tls_test.go
  • pkg/tlsprofile/cluster.go
  • pkg/tlsprofile/cluster_test.go
  • pkg/tlsprofile/serving.go
🚧 Files skipped from review as they are similar to previous changes (3)
  • pkg/controller/trustmanager/controller.go
  • pkg/controller/trustmanager/deployment_tls.go
  • pkg/cmd/operator/cmd.go

Comment thread pkg/tlsprofile/cluster.go Outdated
@arun717

arun717 commented Aug 7, 2026

Copy link
Copy Markdown
Contributor Author

/test tls-scanner

arun717 added 8 commits August 7, 2026 15:31
Honor apiserver tlsAdherence and inject --tls-min-version /
--tls-cipher-suites onto the trust-manager Deployment when required.
Apply apiserver tlsSecurityProfile to library-go HTTPServingInfo at
startup when tlsAdherence requires it, and wire serving-cert mounts
for the metrics Service.
Turn on dynamic metrics serving certificates for controller, webhook,
and cainjector so --metrics-tls-* profile flags apply to real TLS on
:9402, with RBAC for the shared metrics CA secret.
Set features.operators.openshift.io/tls-profiles to true now that
operand, operator metrics, and trust-manager webhook TLS are wired.
Keep the bundled ClusterServiceVersion aligned with the manifests base
tls-profiles feature claim.
Operator cmd imports k8s.io/apiserver/pkg/server for ServingInfo TLS wiring; tidy expects it as a direct require so verify-deps stays clean.
Expand ResolveHonoredTLSProfile and trust-manager TLS tests for adherence, error propagation, and serving guards; clarify ObjectGetter matches CtrlClient.
@arun717
arun717 force-pushed the trustmanager_tls_impl branch from 473a6f6 to 01c94a9 Compare August 7, 2026 10:01
@arun717

arun717 commented Aug 7, 2026

Copy link
Copy Markdown
Contributor Author

/label tide/merge-method-squash

@openshift-ci openshift-ci Bot added the tide/merge-method-squash Denotes a PR that should be squashed by tide when it merges. label Aug 7, 2026
@arun717

arun717 commented Aug 7, 2026

Copy link
Copy Markdown
Contributor Author

/test tls-scanner

@openshift-ci

openshift-ci Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

@arun717: 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/tls-scanner 01c94a9 link false /test tls-scanner

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.

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

Labels

jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. tide/merge-method-squash Denotes a PR that should be squashed by tide when it merges.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants