spring-cloud / spring-cloud/spring-cloud-consul
Support Consul Connect Native integration
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 822
- Forks
- 539
- Avg merge
- 9h 31m
- Merged PRs (30d)
- 7
Description
Is your feature request related to a problem? Please describe.
While it's possible to configure Spring application with a sidecar proxy to use Consul Connect today, it would nice to have native support using spring-cloud-consul.
Describe the solution you'd like
Consul Connect has three components:
- Service Discovery (support for this already exists in spring-cloud-consul)
- mTLS
- Authorization
In order to support Consul Connect Native App integration, changes need to be client and server-side:
- Consul connect enabled clients need to be configured such on outbound connections they provide service certificate as the client certificate and verify the remote certificate against the public CA roots.
- Consul connect enabled servers need to be configured such that on inbound connections they verify the client certificate against the public CA roots and verify if the connection is authorized.
Additional context
https://www.consul.io/docs/connect/native
https://www.consul.io/api-docs/agent/connect#connect-agent-http-api
I've already created an issue on the consul-api project to add Connect API support. https://github.com/Ecwid/consul-api/issues/207
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 with the Consul Connect native integration and Connect Agent HTTP API documentation linked in the issue, then review the related consul-api issue #207. Done means defining and implementing the client and server-side mTLS and authorization support in spring-cloud-consul, including certificate verification and connection authorization.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, spring, spring-boot
- Domain
- authentication, authorization, distributed-systems, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 28/100