SPIFFE/SPIRE support
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 11.5k
- Forks
- 1.4k
- Avg merge
- 3d 22h
- Merged PRs (30d)
- 53
Description
## Feature Request
Support using [SPIFFE](https://spiffe.io) for identity and use this provide mTLS credentials to services.
Other service meshes such as [Envoy](https://spiffe.io/docs/latest/microservices/envoy/), Istio and Consul support SPIFFE identities.
### What problem are you trying to solve?
Unifying identify management between multiple systems, for example Linkerd and [NATS](https://github.com/nats-io/nats-server/pull/1389) identities could be managed together and for securing cross-cluster communications.
### How should the problem be solved?
Installing Linkerd and SPIFFE to my cluster, Linkerd should get trust roots and/or certificates from SPIFFE/SPIRE directly so that I do not have to configure or provide keys to Linkerd at all.
### Any alternatives you've considered?
Working around Linkerd's inability to natively utilize SPIFFE, not using SPIFFE, or using Envoy.
### How would users interact with this feature?
Some modification to the default configuration of Linkerd so that it uses SPIFFE/SPIRE.
/ref https://github.com/linkerd/linkerd2/issues/768
/ref https://github.com/linkerd/linkerd2/issues/4667
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the SPIFFE/SPIRE references and linked Linkerd issues #768 and #4667, then examine how Linkerd's default configuration currently receives identity and mTLS credentials. Done means Linkerd can obtain SPIFFE/SPIRE trust roots and certificates directly, without users supplying keys, while supporting the stated cross-system identity use case.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, kubernetes
- Domain
- infrastructure, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100