spring-cloud / spring-cloud/spring-cloud-consul

Support Consul Connect Native integration

Open
#643 4 comments 8 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.