spire

module
v0.11.1-marc2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 6, 2020 License: Apache-2.0

README

SPIRE Logo

CII Best Practices Build Status Coverage Status Go Report Card Slack Status

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 hosted by the Cloud Native Computing Foundation (CNCF) as an incubation-level project. 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.

Integrate with SPIRE

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

The CNCF Special Interest Group for Security has conducted two assessments on SPIFFE and SPIRE design and configuration with respect to security. The following documents contain summary reports as well as the threat modeling material produced as part of the assessment:

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.

Directories

Path Synopsis
api
cmd
examples
pkg
agent/plugin/keymanager
Provides interfaces and adapters for the KeyManager service Generated code.
Provides interfaces and adapters for the KeyManager service Generated code.
agent/plugin/nodeattestor
Provides interfaces and adapters for the NodeAttestor service Generated code.
Provides interfaces and adapters for the NodeAttestor service Generated code.
agent/plugin/workloadattestor
Provides interfaces and adapters for the WorkloadAttestor service Generated code.
Provides interfaces and adapters for the WorkloadAttestor service Generated code.
common/peertracker
Package peertracker handles attestation security for the SPIFFE Workload API.
Package peertracker handles attestation security for the SPIFFE Workload API.
common/plugin/hostservices
Provides interfaces and adapters for the MetricsService service Generated code.
Provides interfaces and adapters for the MetricsService service Generated code.
common/plugin/sshpop
Package sshpop implements ssh proof of possession based node attestation.
Package sshpop implements ssh proof of possession based node attestation.
common/selector
The selector package exports functions useful for manipulating and generating spire selectors
The selector package exports functions useful for manipulating and generating spire selectors
nolint // forked code
server/endpoints/bundle/internal/autocert
nolint // forked code nolint // forked code nolint // forked code
nolint // forked code nolint // forked code nolint // forked code
server/plugin/datastore
Provides interfaces and adapters for the DataStore service Generated code.
Provides interfaces and adapters for the DataStore service Generated code.
server/plugin/hostservices
Provides interfaces and adapters for the AgentStore service Generated code.
Provides interfaces and adapters for the AgentStore service Generated code.
server/plugin/keymanager
Provides interfaces and adapters for the KeyManager service Generated code.
Provides interfaces and adapters for the KeyManager service Generated code.
server/plugin/nodeattestor
Provides interfaces and adapters for the NodeAttestor service Generated code.
Provides interfaces and adapters for the NodeAttestor service Generated code.
server/plugin/noderesolver
Provides interfaces and adapters for the NodeResolver service Generated code.
Provides interfaces and adapters for the NodeResolver service Generated code.
server/plugin/notifier
Provides interfaces and adapters for the Notifier service Generated code.
Provides interfaces and adapters for the Notifier service Generated code.
server/plugin/upstreamauthority
Provides interfaces and adapters for the UpstreamAuthority service Generated code.
Provides interfaces and adapters for the UpstreamAuthority service Generated code.
proto
private/test/catalogtest
Provides interfaces and adapters for the HostService service Generated code.
Provides interfaces and adapters for the HostService service Generated code.
support
k8s/k8s-workload-registrar/mode-crd/api/spiffeid/v1beta1
Package v1beta1 contains API Schema definitions for the spiffeid v1beta1 API group +kubebuilder:object:generate=true +groupName=spiffeid.spiffe.io
Package v1beta1 contains API Schema definitions for the spiffeid v1beta1 API group +kubebuilder:object:generate=true +groupName=spiffeid.spiffe.io
test
mock/agent/client
Package mock_client is a generated GoMock package.
Package mock_client is a generated GoMock package.
mock/agent/manager
Package mock_manager is a generated GoMock package.
Package mock_manager is a generated GoMock package.
mock/agent/manager/cache
Package mock_cache is a generated GoMock package.
Package mock_cache is a generated GoMock package.
mock/agent/plugin/workloadattestor/docker
Package mock_docker is a generated GoMock package.
Package mock_docker is a generated GoMock package.
mock/common/plugin/k8s/apiserver
Package mock_apiserver is a generated GoMock package.
Package mock_apiserver is a generated GoMock package.
mock/common/plugin/k8s/clientset
Package mock_clientset is a generated GoMock package.
Package mock_clientset is a generated GoMock package.
mock/common/plugin/k8s/clientset/authenticationv1
Package mock_authenticationv1 is a generated GoMock package.
Package mock_authenticationv1 is a generated GoMock package.
mock/common/plugin/k8s/clientset/authenticationv1/tokenreview
Package mock_tokenreview is a generated GoMock package.
Package mock_tokenreview is a generated GoMock package.
mock/common/plugin/k8s/clientset/corev1
Package mock_corev1 is a generated GoMock package.
Package mock_corev1 is a generated GoMock package.
mock/common/plugin/k8s/clientset/corev1/node
Package mock_node is a generated GoMock package.
Package mock_node is a generated GoMock package.
mock/common/plugin/k8s/clientset/corev1/pod
Package mock_pod is a generated GoMock package.
Package mock_pod is a generated GoMock package.
mock/common/telemetry
Package mock_telemetry is a generated GoMock package.
Package mock_telemetry is a generated GoMock package.
mock/plugin/agent/workloadattestor
Package mock_workloadattestor is a generated GoMock package.
Package mock_workloadattestor is a generated GoMock package.
mock/proto/api/registration
Package mock_registration is a generated GoMock package.
Package mock_registration is a generated GoMock package.
mock/proto/api/workload
Package mock_workload is a generated GoMock package.
Package mock_workload is a generated GoMock package.
mock/server/aws
Package mock_aws is a generated GoMock package.
Package mock_aws is a generated GoMock package.
testkey
THIS FILE IS GENERATED.
THIS FILE IS GENERATED.
tools

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL