allow multiple service tags to be used together
- Dominant language
- Go
- Stars
- 30.1k
- Forks
- 4.6k
- Avg merge
- 1d 18h
- Merged PRs (30d)
- 39
Description
In https://github.com/hashicorp/nomad/issues/13604, @maxadamo wrote the following proposal, but I wasn't able to transfer the issue over here for some reason 😊
---
### Proposal
According to the following links:
https://docs.ldap.com/ldap-sdk/docs/javadoc/index.html?com/unboundid/ldap/sdk/DNSSRVRecordServerSet.html
https://ldap.com/dns-srv-records-for-ldap/
a DNS SRV record for LDAP should contain 2 tags at the same time `_ldap._tcp` (or `_ldaps._tcp`)
service tag in Nomad is a list and it tried to define:
`["ldap", "tcp"]`
but I get an unexpected result. The name can be resolved either as:
```
_host._tcp.example.com
_host._ldap.example.com
```
but it cannot be resolved as:
```
_host._ldap._tcp.example.com
```
Furthermore, the above documentation says that in order to get a list of DNS records for a domain, the tag should be prepended. For instance:
```
_ldap._tcp.example.com
```
### Use-cases
use proper LDAP SRV record (with escapes as follows):
```
ldap:///dc%3Dexample%2Cdc%3Dcom
```
### Attempted Solutions
could you make the multiple tags work together, and maybe even one at once?
For instance, we can resolve these all:
```
_host._tcp.example.com
_host._ldap.example.com
_host._ldap._tcp.example.com
```
p.s.: maybe the prepending "_" is enough and we don't need to prepend the tags. I don't have it clear yet.
Contributor guide
Research direction
Start by tracing Consul's DNS SRV resolution entry point and how the service tag list is converted into lookup names. Define the expected behavior for combined tags and single tags, including the LDAP examples, then verify that all listed names resolve as intended.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- networking
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100