Skip to content

Support prometheus metrics#73

Merged
cert-manager-prow[bot] merged 11 commits intocert-manager:mainfrom
7ing:metrics
Dec 10, 2025
Merged

Support prometheus metrics#73
cert-manager-prow[bot] merged 11 commits intocert-manager:mainfrom
7ing:metrics

Conversation

@7ing
Copy link
Copy Markdown
Contributor

@7ing 7ing commented Nov 22, 2024

certmanager_csi_certificate_request_expiration_timestamp_seconds
certmanager_csi_certificate_request_ready_status
certmanager_csi_certificate_request_renewal_timestamp_seconds
certmanager_csi_issue_requests_total
certmanager_csi_issue_errors_total
certmanager_csi_managed_certificate_request_count
certmanager_csi_managed_volume_count

fixes: #60

CyberArk tracker: VC-46169

@cert-manager-prow cert-manager-prow bot added the dco-signoff: yes Indicates that all commits in the pull request have the valid DCO sign-off message. label Nov 22, 2024
@cert-manager-prow
Copy link
Copy Markdown
Contributor

Hi @7ing. Thanks for your PR.

I'm waiting for a cert-manager member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

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.

@cert-manager-prow cert-manager-prow bot added needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels Nov 22, 2024
@erikgb
Copy link
Copy Markdown
Member

erikgb commented Nov 22, 2024

/ok-to-test

@cert-manager-prow cert-manager-prow bot added ok-to-test and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Nov 22, 2024
Copy link
Copy Markdown
Member

@munnerz munnerz left a comment

Choose a reason for hiding this comment

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

This looks great, thanks Jing 🙌 the integration and unit tests here make it far easier to review confidently!

My main questions/concerns are around the construction logic in the metrics subpackage, which I think we need to decouple from net.Listener (and allow more flexibility for projects that already have their own prometheus.Registry they'd like to re-use).

@7ing
Copy link
Copy Markdown
Contributor Author

7ing commented Feb 5, 2025

@munnerz Thank you for your valuable inputs. Sorry took so long to make the change. But I guess this version addressed most of your concerns.

@7ing 7ing requested a review from munnerz February 13, 2025 21:14
@cert-manager-prow cert-manager-prow bot added size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. and removed size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels May 30, 2025
@wallrj wallrj self-requested a review June 6, 2025 20:26
@wallrj wallrj removed their request for review June 20, 2025 09:58
@erikgb
Copy link
Copy Markdown
Member

erikgb commented Aug 29, 2025

@7ing We have made some major dependency upgrades in this module. Are you able to rebase your PR, preparing for another round of review? Sorry for the inconvenience and for the delays in review. 😒

@7ing
Copy link
Copy Markdown
Contributor Author

7ing commented Aug 29, 2025

/retest

@7ing
Copy link
Copy Markdown
Contributor Author

7ing commented Aug 29, 2025

@erikgb done with rebase

Copy link
Copy Markdown
Member

@erikgb erikgb left a comment

Choose a reason for hiding this comment

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

This is great stuff! Thanks @7ing! I did my first pass on this PR now, and I think I would prefer using a Prometheus collector to avoid the add/remove metrics for metrics based on API resources. Please take a look and let me know what you think! It's not a blocker, but a pattern we are adopting in cert-manager projects nowadays.

@7ing 7ing requested review from erikgb, hjoshi123 and inteon September 12, 2025 18:42
@7ing
Copy link
Copy Markdown
Contributor Author

7ing commented Sep 12, 2025

Updated the certificate requests' metrics implementation with collector pattern, to align with cert-manager.io project.

Basically the collector will periodically scan the certificaterequest sharedinformer (for expiry) and host metadata files (for renewal time), then record the metrics.

@erikgb erikgb requested a review from Copilot September 12, 2025 18:51
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR adds Prometheus metrics support to the CSI library to expose operational metrics about certificate management. The implementation includes metrics for certificate request expiration timestamps, ready status, renewal times, driver issue call counts, and managed volume/certificate counts.

Key changes:

  • Added comprehensive metrics collection system with Prometheus integration
  • Implemented certificate request collector for tracking certificate lifecycle metrics
  • Added metrics tracking to the manager for monitoring issue calls and errors
  • Created extensive test coverage for metrics functionality

Reviewed Changes

Copilot reviewed 8 out of 9 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
test/util/testutil.go Exported function to support metrics testing
test/integration/metrics_test.go Added comprehensive integration test for metrics server functionality
test/driver/driver_testing.go Added metrics support to test driver infrastructure
metrics/metrics.go Core metrics implementation with Prometheus registry and HTTP handler
metrics/certificaterequest_test.go Unit tests for certificate request metrics collection
metrics/certificaterequest_collector.go Prometheus collector for certificate request lifecycle metrics
manager/manager.go Integrated metrics tracking into certificate issuance operations
go.mod Added prometheus client dependency

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@erikgb
Copy link
Copy Markdown
Member

erikgb commented Sep 12, 2025

This looks really great, @7ing! Since the PR is large, I will need some time to review it thoroughly. I've already asked @hjoshi123 for some help in review. I would also appreciate it if @munnerz could take another look. Most maintainers from CyberArk are busy with other stuff right now, so our capacity to review PRs is rather low.

7ing and others added 2 commits December 8, 2025 14:52
Signed-off-by: Jing Liu <jingliu@apple.com>
Co-authored-by: Erik Godding Boye <egboye@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Jing <7ing@users.noreply.github.com>
@cert-manager-prow cert-manager-prow bot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Dec 8, 2025
@wallrj-cyberark wallrj-cyberark self-assigned this Dec 9, 2025
Copy link
Copy Markdown
Member

@erikgb erikgb left a comment

Choose a reason for hiding this comment

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

/lgtm
/cc @wallrj

The code looks good to me. @wallrj has volunteered to test this in csi-driver through cert-manager/csi-driver#502.

@cert-manager-prow cert-manager-prow bot requested a review from wallrj December 9, 2025 10:56
@cert-manager-prow cert-manager-prow bot added the lgtm Indicates that a PR is ready to be merged. label Dec 9, 2025
Copy link
Copy Markdown
Member

@wallrj-cyberark wallrj-cyberark left a comment

Choose a reason for hiding this comment

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

I tested it and left a few questions.
Please answer or address those and unhold if you're happy with the observed behaviour.

/hold until you've addressed my questions.
/approve

Comment on lines +42 to +43
managedVolumeCountTotal = prometheus.NewDesc("certmanager_csi_managed_volume_count_total", "The total number of managed volumes by the csi driver.", []string{"node"}, nil)
managedCertRequestCountTotal = prometheus.NewDesc("certmanager_csi_managed_certificate_request_count_total", "The total number of managed certificate requests by the csi driver.", []string{"node"}, nil)
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.

I deployed the driver, built from cert-manager/csi-driver#502 and observed these new metrics, before creating any Pods to use the driver:

$ kubectl get --raw "/api/v1/namespaces/cert-manager/pods/${POD_NAME}:9402/proxy/metrics"  | grep certmanager
# HELP certmanager_csi_managed_certificate_request_count_total The total number of managed certificate requests by the csi driver.
# TYPE certmanager_csi_managed_certificate_request_count_total counter
certmanager_csi_managed_certificate_request_count_total{node="54bb9576d6"} 0
# HELP certmanager_csi_managed_volume_count_total The total number of managed volumes by the csi driver.
# TYPE certmanager_csi_managed_volume_count_total counter
certmanager_csi_managed_volume_count_total{node="54bb9576d6"} 0

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

looking good

Help: "The number of errors encountered during the driver issue() calls.",
},
[]string{"node", "volume"},
)
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.

I created the test resources, from the docs, BEFORE creating the associated issuer, from the docs and observed the error metric incremented:

# HELP certmanager_csi_certificate_request_expiration_timestamp_seconds The timestamp after which the certificate request expires, expressed in Unix Epoch Time.
# TYPE certmanager_csi_certificate_request_expiration_timestamp_seconds gauge
certmanager_csi_certificate_request_expiration_timestamp_seconds{issuer_group="cert-manager.io",issuer_kind="Issuer",issuer_name="ca-issuer",name="d7b6e2ae-9b49-44d0-97af-d29aab494ba7",names
pace="sandbox"} 0
# HELP certmanager_csi_certificate_request_ready_status The ready status of the certificate request.
# TYPE certmanager_csi_certificate_request_ready_status gauge
certmanager_csi_certificate_request_ready_status{condition="False",issuer_group="cert-manager.io",issuer_kind="Issuer",issuer_name="ca-issuer",name="d7b6e2ae-9b49-44d0-97af-d29aab494ba7",nam
espace="sandbox"} 1
certmanager_csi_certificate_request_ready_status{condition="True",issuer_group="cert-manager.io",issuer_kind="Issuer",issuer_name="ca-issuer",name="d7b6e2ae-9b49-44d0-97af-d29aab494ba7",name
space="sandbox"} 0
certmanager_csi_certificate_request_ready_status{condition="Unknown",issuer_group="cert-manager.io",issuer_kind="Issuer",issuer_name="ca-issuer",name="d7b6e2ae-9b49-44d0-97af-d29aab494ba7",n
amespace="sandbox"} 0
# HELP certmanager_csi_certificate_request_renewal_timestamp_seconds The timestamp after which the certificate request should be renewed, expressed in Unix Epoch Time.
# TYPE certmanager_csi_certificate_request_renewal_timestamp_seconds gauge
certmanager_csi_certificate_request_renewal_timestamp_seconds{issuer_group="cert-manager.io",issuer_kind="Issuer",issuer_name="ca-issuer",name="d7b6e2ae-9b49-44d0-97af-d29aab494ba7",namespac
e="sandbox"} 0
# HELP certmanager_csi_driver_issue_call_count_total The number of issue() calls made by the driver.
# TYPE certmanager_csi_driver_issue_call_count_total counter
certmanager_csi_driver_issue_call_count_total{node="54bb9576d6",volume="csi-e835e60ce4cd95dede2a23142e79d87af0014eb4d150380d051a96e3aeb062e2"} 1
# HELP certmanager_csi_managed_certificate_request_count_total The total number of managed certificate requests by the csi driver.
# TYPE certmanager_csi_managed_certificate_request_count_total counter
certmanager_csi_managed_certificate_request_count_total{node="54bb9576d6"} 1
# HELP certmanager_csi_managed_volume_count_total The total number of managed volumes by the csi driver.
# TYPE certmanager_csi_managed_volume_count_total counter
certmanager_csi_managed_volume_count_total{node="54bb9576d6"} 0

The certmanager_csi_managed_volume_count_total said 0 volumes, but the logs reported that a volume had been registered. Is that expected?

I1209 17:48:59.325407       1 nodeserver.go:87] "Registered new volume with storage backend" logger="driver" pod_name="my-csi-app"
I1209 17:48:59.325685       1 manager.go:396] "Processing issuance" logger="manager" volume_id="csi-e835e60ce4cd95dede2a23142e79d87af0014eb4d150380d051a96e3aeb062e2"
I1209 17:48:59.372729       1 manager.go:461] "Created new CertificateRequest resource" logger="manager" volume_id="csi-e835e60ce4cd95dede2a23142e79d87af0014eb4d150380d051a96e3aeb062e2"
E1209 17:49:59.312797       1 server.go:109] "failed processing request" err="waiting for request: request \"d7b6e2ae-9b49-44d0-97af-d29aab494ba7\" is pending: Referenced \"Issuer\" not found: issuer.cert-manager.io \"ca-issuer\" not found" logger="driver" rpc_method="/csi.v1.Node/NodePublishVolume" request="{\"readonly\":true,\"target_path\":\"/var/lib/kubelet/pods/4cba3203-ccc2-409d-bd55-035a08e0e98b/volumes/kubernetes.io~csi/tls/mount\",\"volume_capability\":{\"access_mode\":{\"mode\":\"SINGLE_NODE_WRITER\"},\"mount\":{}},\"volume_context\":{\"csi.cert-manager.io/dns-names\":\"${POD_NAME}.${POD_NAMESPACE}.svc.cluster.local\",\"csi.cert-manager.io/issuer-kind\":\"Issuer\",\"csi.cert-manager.io/issuer-name\":\"ca-issuer\",\"csi.storage.k8s.io/ephemeral\":\"true\",\"csi.storage.k8s.io/pod.name\":\"my-csi-app\",\"csi.storage.k8s.io/pod.namespace\":\"sandbox\",\"csi.storage.k8s.io/pod.uid\":\"4cba3203-ccc2-409d-bd55-035a08e0e98b\",\"csi.storage.k8s.io/serviceAccount.name\":\"default\"},\"volume_id\":\"csi-e835e60ce4cd95dede2a23142e79d87af0014eb4d150380d051a96e3aeb062e2\"}"
I1209 17:49:59.874101       1 nodeserver.go:87] "Registered new volume with storage backend" logger="driver" pod_name="my-csi-app"
I1209 17:49:59.875575       1 manager.go:396] "Processing issuance" logger="manager" volume_id="csi-e835e60ce4cd95dede2a23142e79d87af0014eb4d150380d051a96e3aeb062e2"
E1209 17:50:59.881999       1 server.go:109] "failed processing request" err="waiting for request: request \"d7b6e2ae-9b49-44d0-97af-d29aab494ba7\" is pending: Referenced \"Issuer\" not found: issuer.cert-manager.io \"ca-issuer\" not found" logger="driver" rpc_method="/csi.v1.Node/NodePublishVolume" request="{\"readonly\":true,\"target_path\":\"/var/lib/kubelet/pods/4cba3203-ccc2-409d-bd55-035a08e0e98b/volumes/kubernetes.io~csi/tls/mount\",\"volume_capability\":{\"access_mode\":{\"mode\":\"SINGLE_NODE_WRITER\"},\"mount\":{}},\"volume_context\":{\"csi.cert-manager.io/dns-names\":\"${POD_NAME}.${POD_NAMESPACE}.svc.cluster.local\",\"csi.cert-manager.io/issuer-kind\":\"Issuer\",\"csi.cert-manager.io/issuer-name\":\"ca-issuer\",\"csi.storage.k8s.io/ephemeral\":\"true\",\"csi.storage.k8s.io/pod.name\":\"my-csi-app\",\"csi.storage.k8s.io/pod.namespace\":\"sandbox\",\"csi.storage.k8s.io/pod.uid\":\"4cba3203-ccc2-409d-bd55-035a08e0e98b\",\"csi.storage.k8s.io/serviceAccount.name\":\"default\"},\"volume_id\":\"csi-e835e60ce4cd95dede2a23142e79d87af0014eb4d150380d051a96e3aeb062e2\"}"
I1209 17:51:01.006739       1 nodeserver.go:87] "Registered new volume with storage backend" logger="driver" pod_name="my-csi-app"
I1209 17:51:01.007089       1 manager.go:396] "Processing issuance" logger="manager" volume_id="csi-e835e60ce4cd95dede2a23142e79d87af0014eb4d150380d051a96e3aeb062e2"

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.

I then created the ca-issuer, from the docs, and observed that the metrics were updated:

certmanager_csi_certificate_request_expiration_timestamp_seconds{issuer_group="cert-manager.io",issuer_kind="Issuer",issuer_name="ca-issuer",name="d7b6e2ae-9b49-44d0-97af-d29aab494ba7",namespace="sandbox"} 1.773078929e+09
certmanager_csi_certificate_request_ready_status{condition="False",issuer_group="cert-manager.io",issuer_kind="Issuer",issuer_name="ca-issuer",name="d7b6e2ae-9b49-44d0-97af-d29aab494ba7",namespace="sandbox"} 0
certmanager_csi_certificate_request_ready_status{condition="True",issuer_group="cert-manager.io",issuer_kind="Issuer",issuer_name="ca-issuer",name="d7b6e2ae-9b49-44d0-97af-d29aab494ba7",namespace="sandbox"} 1
certmanager_csi_certificate_request_ready_status{condition="Unknown",issuer_group="cert-manager.io",issuer_kind="Issuer",issuer_name="ca-issuer",name="d7b6e2ae-9b49-44d0-97af-d29aab494ba7",namespace="sandbox"} 0
certmanager_csi_certificate_request_renewal_timestamp_seconds{issuer_group="cert-manager.io",issuer_kind="Issuer",issuer_name="ca-issuer",name="d7b6e2ae-9b49-44d0-97af-d29aab494ba7",namespace="sandbox"} 1.770486929e+09
certmanager_csi_driver_issue_call_count_total{node="54bb9576d6",volume="csi-e835e60ce4cd95dede2a23142e79d87af0014eb4d150380d051a96e3aeb062e2"} 7
certmanager_csi_driver_issue_error_count_total{node="54bb9576d6",volume="csi-e835e60ce4cd95dede2a23142e79d87af0014eb4d150380d051a96e3aeb062e2"} 6
certmanager_csi_managed_certificate_request_count_total{node="54bb9576d6"} 1
certmanager_csi_managed_volume_count_total{node="54bb9576d6"} 1

The logs showed success:

I1209 17:55:31.268580       1 nodeserver.go:87] "Registered new volume with storage backend" logger="driver" pod_name="my-csi-app"
I1209 17:55:31.269595       1 manager.go:396] "Processing issuance" logger="manager" volume_id="csi-e835e60ce4cd95dede2a23142e79d87af0014eb4d150380d051a96e3aeb062e2"
I1209 17:55:31.274292       1 nodeserver.go:104] "Volume registered for management" logger="driver" pod_name="my-csi-app"
I1209 17:55:31.274354       1 nodeserver.go:117] "Ensuring data directory for volume is mounted into pod..." logger="driver" pod_name="my-csi-app"
I1209 17:55:31.278790       1 nodeserver.go:136] "Bind mounting data directory to the pod's mount namespace" logger="driver" pod_name="my-csi-app"
I1209 17:55:31.299293       1 nodeserver.go:142] "Volume successfully provisioned and mounted" logger="driver" pod_name="my-csi-app"

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.

I deleted the Pod and observed that the certmanager_csi_managed_certificate_request_count_total returned to 0, is that expected? The help text "The total number of managed certificate requests by the csi driver" lead me to expect the number to represent the total number of CertificateRequests created since start up.

certmanager_csi_driver_issue_call_count_total{node="54bb9576d6",volume="csi-e835e60ce4cd95dede2a23142e79d87af0014eb4d150380d051a96e3aeb062e2"} 7
certmanager_csi_driver_issue_error_count_total{node="54bb9576d6",volume="csi-e835e60ce4cd95dede2a23142e79d87af0014eb4d150380d051a96e3aeb062e2"} 6
certmanager_csi_managed_certificate_request_count_total{node="54bb9576d6"} 0
certmanager_csi_managed_volume_count_total{node="54bb9576d6"} 0

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Thank you @wallrj-cyberark for your review.
Per my understanding, these are all expected behavior.

managed_volume_count is for existing successfully attached volume with issued cert.

  • If the cert was not issued, it won't count
  • If the pod was deleted, it will be removed from the count

@cert-manager-prow cert-manager-prow bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Dec 9, 2025
- certmanager_csi_managed_volume_count_total → certmanager_csi_managed_volume_count
- certmanager_csi_managed_certificate_request_count_total → certmanager_csi_managed_certificate_request_count

Signed-off-by: Jing Liu <jingliu@apple.com>
@cert-manager-prow cert-manager-prow bot removed the lgtm Indicates that a PR is ready to be merged. label Dec 9, 2025
@hjoshi123
Copy link
Copy Markdown

hjoshi123 commented Dec 9, 2025

The code looks good to me now. Thank you @7ing for making the changes!!
/lgtm

/cc @erikgb @wallrj-cyberark

@cert-manager-prow
Copy link
Copy Markdown
Contributor

@hjoshi123: adding LGTM is restricted to approvers and reviewers in OWNERS files.

Details

In response to this:

The code looks good to me now. Thank you @7ing for making the changes!!
/lgtm

/cc @erikgb @wallrj-cyberark

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.

Copy link
Copy Markdown
Member

@erikgb erikgb left a comment

Choose a reason for hiding this comment

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

/lgtm

@cert-manager-prow cert-manager-prow bot added the lgtm Indicates that a PR is ready to be merged. label Dec 9, 2025
Copy link
Copy Markdown
Member

@wallrj-cyberark wallrj-cyberark left a comment

Choose a reason for hiding this comment

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

Thanks @7ing

/unhold

@cert-manager-prow cert-manager-prow bot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Dec 10, 2025
@wallrj
Copy link
Copy Markdown
Member

wallrj commented Dec 10, 2025

/approve
/lgtm

@cert-manager-prow
Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: wallrj, wallrj-cyberark

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

The pull request process is described 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

@cert-manager-prow cert-manager-prow bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Dec 10, 2025
@cert-manager-prow cert-manager-prow bot merged commit 24c91b5 into cert-manager:main Dec 10, 2025
5 checks passed
wallrj-cyberark pushed a commit to 7ing/csi-driver that referenced this pull request Dec 10, 2025
Based on cert-manager/csi-lib#73

Signed-off-by: Jing Liu <jingliu@apple.com>
Signed-off-by: Richard Wall <richard.wall@cyberark.com>
wallrj-cyberark pushed a commit to 7ing/csi-driver that referenced this pull request Dec 10, 2025
Based on cert-manager/csi-lib#73

Signed-off-by: Jing Liu <jingliu@apple.com>
Signed-off-by: Richard Wall <richard.wall@cyberark.com>
@wallrj-cyberark
Copy link
Copy Markdown
Member

Released in https://github.com/cert-manager/csi-lib/releases/tag/v0.10.0. Please test and report back.

7ing added a commit to 7ing/csi-driver that referenced this pull request Dec 10, 2025
This PR enables csi-lib metrics feature in
cert-manager/csi-lib#73

Signed-off-by: Jing Liu <jingliu@apple.com>
7ing added a commit to 7ing/csi-driver that referenced this pull request Jan 13, 2026
This PR enables csi-lib metrics feature in
cert-manager/csi-lib#73

Signed-off-by: Jing Liu <jingliu@apple.com>
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. cybr Used by CyberArk-employed maintainers to report to line management what's being worked on. dco-signoff: yes Indicates that all commits in the pull request have the valid DCO sign-off message. lgtm Indicates that a PR is ready to be merged. ok-to-test size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support prometheus metrics

9 participants