vault/sdk
Vault Automation 9cfcfec78a
Count duration adjusted certificate counts for billing (#12286) (#12310)
* Change PkiCertificateCountManager.GetCounts() to return a CertCount.

* Add PkiDurationAdjustedCerts field to CertCount.

Add a new field to CertCount to keep track of "duration adjusted" issued
certificates.

Add an x509.Certificate argument to CertCountIncrementer.AddIssuedCertificate.
In the implementation, use the certificate's NotBefore and NotAfter fields to
calculate the validity duration for the certificate, and use that to compute the
duration adjusted units.

* Add the issued certificate to calls to AddIssuedCertificate.

* Add PkiDurationAdjustedCerts when forwarding counts.

Add pki_duration_adjusted_certificate_count to IncrementPkiCount proto.

Update replicationServiceHandler.IncrementPkiCertCountRequest to take into
account the new field.

* Run make proto.

* Update testingPkiCertificateCounter to make assertions on time adjusted counts.

* PR review: Don't use NotAfter.Sub(NotBefore), since time.Duration is max 290 years.

* PR review: Move DurationAdjustedCertificateCount to logical.pki/test_helpers.

Add Bob generated unit tests for logical.durationAdjustedCertificateCount.

* Run make fmt.

Co-authored-by: Victor Rodriguez Rizo <vrizo@hashicorp.com>
2026-02-13 09:41:37 -05:00
..
database license: update headers to IBM Corp. (#10229) (#10233) 2025-10-21 15:20:20 -06:00
framework Add the ability for a plugin to specify extra fields for auditing purposes (#11018) (#12167) 2026-02-04 15:41:54 +00:00
helper Backport rotationMgr: enable RM to send rotation information to plugins on registration/rotation operations into ce/main (#12308) 2026-02-12 18:25:47 -06:00
logical Count duration adjusted certificate counts for billing (#12286) (#12310) 2026-02-13 09:41:37 -05:00
physical license: update headers to IBM Corp. (#10229) (#10233) 2025-10-21 15:20:20 -06:00
plugin Backport rotationMgr: enable RM to send rotation information to plugins on registration/rotation operations into ce/main (#12308) 2026-02-12 18:25:47 -06:00
queue license: update headers to IBM Corp. (#10229) (#10233) 2025-10-21 15:20:20 -06:00
rotation Backport rotationMgr: enable RM to send rotation information to plugins on registration/rotation operations into ce/main (#12308) 2026-02-12 18:25:47 -06:00
.copywrite.hcl [DO NOT MERGE UNTIL EOY] update year in LICENSE and copywrite files (#24368) 2024-01-02 13:22:15 -08:00
go.mod [VAULT-41179] go: bump golang.org/x/crypto to v0.45.0 (#11056) (#11065) 2025-12-02 21:00:06 +00:00
go.sum [VAULT-41179] go: bump golang.org/x/crypto to v0.45.0 (#11056) (#11065) 2025-12-02 21:00:06 +00:00
LICENSE license: update headers to IBM Corp. (#10229) (#10233) 2025-10-21 15:20:20 -06:00
README.md Introduce hashicorp/go-metrics compatibility to the SDK module (#29358) 2025-04-10 11:20:49 -05:00

Vault SDK libs

This package provides the sdk package which contains code useful for developing Vault plugins.

Although we try not to break functionality, we reserve the right to reorganize the code at will and may occasionally cause breaks if they are warranted. As such we expect the tag of this module will stay less than v1.0.0.

For any major changes we will try to give advance notice in the CHANGES section of Vault's CHANGELOG.md.

Metrics Emission and Compatibility

This module can emit metrics using either github.com/armon/go-metrics or github.com/hashicorp/go-metrics. Choosing between the libraries is controlled via build tags.

Build Tags

  • armonmetrics - Using this tag will cause metrics to be routed to armon/go-metrics
  • hashicorpmetrics - Using this tag will cause all metrics to be routed to hashicorp/go-metrics

If no build tag is specified, the default behavior is to use armon/go-metrics.

Deprecating armon/go-metrics

Emitting metrics to armon/go-metrics is officially deprecated. Usage of armon/go-metrics will remain the default until mid-2025 with opt-in support continuing to the end of 2025.

Migration To migrate an application currently using the older armon/go-metrics to instead use hashicorp/go-metrics the following should be done.

  1. Upgrade libraries using armon/go-metrics to consume hashicorp/go-metrics/compat instead. This should involve only changing import statements. All repositories in the hashicorp namespace will be migrated by February of 2025.
  2. Update the application's library dependencies to those that have the compatibility layer configured.
  3. Update the application to use hashicorp/go-metrics for configuring metrics export instead of armon/go-metrics
    • Replace all application imports of github.com/armon/go-metrics with github.com/hashicorp/go-metrics
    • Instrument your build system to build with the hashicorpmetrics tag.