MCPcopy Index your code
hub / github.com/spiffe/spire

github.com/spiffe/spire @v1.15.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.15.1 ↗ · + Follow
10,743 symbols 49,691 edges 1,115 files 1,773 documented · 17% updated 2d agov1.15.1 · 2026-05-28★ 2,418101 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

SPIRE Logo

CII Best Practices Build Status Go Report Card Production Phase

SPIRE (the SPIFFE Runtime Environment) is a toolchain of APIs for establishing trust between software systems across a wide variety of hosting platforms. SPIRE exposes the SPIFFE Workload API, which can attest running software systems and issue SPIFFE IDs and SVIDs to them. This in turn allows two workloads to establish trust between each other, for example by establishing an mTLS connection or by signing and verifying a JWT token. SPIRE can also enable workloads to securely authenticate to a secret store, a database, or a cloud provider service.

SPIRE is a graduated project of the Cloud Native Computing Foundation (CNCF). If you are an organization that wants to help shape the evolution of technologies that are container-packaged, dynamically-scheduled and microservices-oriented, consider joining the CNCF.

Get SPIRE

Learn about SPIRE

  • Before trying SPIRE, it's a good idea to learn about its architecture and design goals.
  • Once ready to get started, see the Quickstart Guides for Kubernetes, Linux, and MacOS.
  • There are several examples demonstrating SPIRE usage in the spire-examples and spire-tutorials repositories.
  • Check ADOPTERS.md for a list of production SPIRE adopters, a view of the ecosystem, and use cases.
  • See the SPIRE Roadmap for a list of planned features and enhancements.
  • Join the SPIFFE community on Slack. If you have any questions about how SPIRE works, or how to get it up and running, the best places to ask questions are the SPIFFE Slack channels.
  • Download the free book about SPIFFE and SPIRE, "Solving the Bottom Turtle."

Integrate with SPIRE

For supported integration versions, see Supported Integrations.

Contribute to SPIRE

The SPIFFE community maintains the SPIRE project. Information on the various SIGs and relevant standards can be found in https://github.com/spiffe/spiffe.

Further Reading

  • The Scaling SPIRE guide covers design guidelines, recommendations, and deployment models.
  • For an explanation of how SPIRE compares to related systems such as secret stores, identity providers, authorization policy engines and service meshes see comparisons.

Security

Security Assessments

A third party security firm (Cure53) completed a security audit of SPIFFE and SPIRE in February of 2021. Additionally, the CNCF Technical Advisory Group for Security conducted two assessments on SPIFFE and SPIRE in 2018 and 2020. Please find the reports and supporting material, including the threat model exercise results, below.

Reporting Security Vulnerabilities

If you've found a vulnerability or a potential vulnerability in SPIRE please let us know at security@spiffe.io. We'll send a confirmation email to acknowledge your report, and we'll send an additional email when we've identified the issue positively or negatively.

Extension points exported contracts — how you extend this code

KeyManager (Interface)
KeyManager is the client interface for the service type KeyManager interface. [6 implementers]
pkg/server/plugin/keymanager/keymanager.go
Checkable (Interface)
Checkable is the interface implemented by subsystems that the checker uses to determine subsystem health. [6 implementers]
pkg/common/health/health.go
SVIDKeyManager (Interface)
SVIDKeyManager is a wrapper around the key manager specifically used for managing the agent SVID. [7 implementers]
pkg/agent/plugin/keymanager/svidkeymanager.go
Command (Interface)
Command is a common interface for commands in this package. the adapter can adapter this interface to the Command interf [42 …
cmd/spire-server/util/util.go
JWKSSource (Interface)
(no doc) [4 implementers]
support/oidc-discovery-provider/jwks_source.go
Option (Interface)
Option is plugin test option
test/plugintest/option.go
CertificateOption (Interface)
(no doc)
test/testca/ca.go
Observer (Interface)
Observer is a convenience interface for subsystems that only want to observer the current SVID state but don't care abou [4 …
pkg/server/svid/observer.go

Core symbols most depended-on inside this repo

Equal
called by 2090
pkg/common/selector/set.go
String
called by 1282
pkg/common/selector/set.go
New
called by 1170
pkg/common/catalog/catalog.go
Errorf
called by 830
pkg/server/plugin/upstreamauthority/spire/spire_server_client.go
Errorf
called by 747
pkg/common/plugin/facade.go
Run
called by 737
pkg/agent/svid/rotator.go
Add
called by 661
pkg/common/selector/set.go
Error
called by 595
pkg/server/datastore/sqlstore/errors.go

Shape

Method 4,934
Function 4,160
Struct 1,361
Interface 174
TypeAlias 72
FuncType 42

Languages

Go100%

Modules by API surface

pkg/server/datastore/sqlstore/sqlstore.go218 symbols
proto/spire/common/common.pb.go159 symbols
pkg/server/datastore/sqlstore/sqlstore_test.go109 symbols
pkg/server/endpoints/endpoints_test.go104 symbols
pkg/server/ca/manager/manager_test.go94 symbols
pkg/server/ca/manager/manager.go88 symbols
pkg/server/datastore/datastore.go85 symbols
pkg/server/ca/manager/slot.go71 symbols
proto/spire/common/plugin/plugin.pb.go61 symbols
pkg/server/ca/ca_test.go61 symbols
test/fakes/fakedatastore/fakedatastore.go60 symbols
proto/private/server/journal/journal.pb.go60 symbols

Dependencies from manifests, versioned

cel.dev/exprv0.25.1 · 1×
cloud.google.com/gov0.123.0 · 1×
cloud.google.com/go/auth/oauth2adaptv0.2.8 · 1×
cloud.google.com/go/compute/metadatav0.9.0 · 1×
cloud.google.com/go/kmsv1.31.0 · 1×
cloud.google.com/go/longrunningv0.9.0 · 1×
cloud.google.com/go/monitoringv1.24.3 · 1×
cloud.google.com/go/secretmanagerv1.20.0 · 1×
cloud.google.com/go/securityv1.24.0 · 1×
cloud.google.com/go/storagev1.62.0 · 1×

Datastores touched

(mysql)Database · 1 repos

For agents

$ claude mcp add spire \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact