vault/sdk
Vault Automation e7965c8bdf
[VAULT-41294] docker: build OCI container images (#11545) (#11549)
This change does a few things that might not be obvious:

- We stop requesting the previous runner image. This will result in us
  using Docker 29 instead of 28. With this comes changes in our
  container build system, most notably that container images are now
  exported as OCI images. Every container runtime that we support also
  supports OCI images so this ought to have no meaningful impact to
  downstream users. One noticeable change is that the image layers are
  now compressed so the final image size on disk will be considerably
  smaller than before.

- Upgrade `hashicorp/action-setup-enos` to the latest version. This is not
  strictly required for this change but as we just released a new version of
  the CLI it makes sense to update it here. We should also note that recently
  we released a new version of `terraform-provider-enos` which contains
  necessary for this change as our docker and kind resources needed to be
  updated handle OCI and Docker exported images. Previously they relied on
  files that existed only in Docker images.

Signed-off-by: Ryan Cragun <me@ryan.ec>
Co-authored-by: Ryan Cragun <me@ryan.ec>
2025-12-29 10:58:02 -08:00
..
database license: update headers to IBM Corp. (#10229) (#10233) 2025-10-21 15:20:20 -06:00
framework VAULT-41425: AWS secrets engine observations (#11395) (#11514) 2025-12-19 10:57:08 -08:00
helper [VAULT-41294] docker: build OCI container images (#11545) (#11549) 2025-12-29 10:58:02 -08:00
logical events: send events from primary to secondary clusters (#8214) (#11451) 2025-12-18 10:56:55 -08:00
physical license: update headers to IBM Corp. (#10229) (#10233) 2025-10-21 15:20:20 -06:00
plugin license: update headers to IBM Corp. (#10229) (#10233) 2025-10-21 15:20:20 -06:00
queue license: update headers to IBM Corp. (#10229) (#10233) 2025-10-21 15:20:20 -06:00
rotation Use RotationSchedule string instead of cron.SpecSchedule (#10376) (#10773) 2025-11-13 12:31:08 -05: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.