hashicorp / hashicorp/consul

Hope Service.Meta to contain a special characters such as dot(.)

Open
#8,127 7 comments 4 reactions 0 assignees View on GitHub
theme/service-metadata type/enhancement
Dominant language
Go
Stars
30.1k
Forks
4.6k
Avg merge
1d 18h
Merged PRs (30d)
39

Description

## Feature Description
I encountered an exception OperationException(statusCode=400, statusMessage='Bad Request', statusContent='Invalid Service Meta: Couldn't load metadata pair ('user.name', 'spring_boot'): Key contains invalid characters') that was related to that issue #4422. I actually want to use Service.Meta to pass come configurations containing a special characters . such as user.name or user.password. Could you relax the restriction about Service.Meta?

#### Use Case(s)
I use [spring boot admin](https://github.com/codecentric/spring-boot-admin) in which BasicAuthHttpHeaderProvider requires the metadata(user.name and user.password) that can not be supported by consul. This project support many discovery client such as eureka, kubernetes service that all support to use `user.name` for metadata. In SpringFramework's perspective, metadata won't be related with DNS so I suggest that `Service.Meta` should keep relaxing.

Contributor guide

Open the contributing guide

Research direction

Start by tracing Service.Meta validation and reviewing the related issue #4422. Determine the intended character rules and compatibility impact, then verify that metadata keys such as user.name and user.password are accepted without breaking existing validation behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, spring-boot
Domain
backend-api-design, distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.