SRV records

This would result in the following SRV records on the production.example.com domain:

Service

TTL

class

SRV

Priority

Weight

Port

Target

_timetracking._tcp.production.example.com

60

IN

SRV

10

100

443

production.example.com

_accouting._tcp.production.example.com

60

IN

SRV

10

100

443

production-accouting.example.com

_invoicing._tcp.production.example.com

60

IN

SRV

10

100

443

production.example.com

Challenges

Currently two challenges are visible:

The entry for invoicing and timetracking point to the same server and the url path is not given in the SRV record.

If credentials or other configuration parameters are needed these are not given in the SRV records

Configuration with encrypted TXT records

My proposed solution for saving these information is to encrypt them with the public key of the SSL certificate that is used for production.example.com and then save the base64 encoded string in the TXT record for the given domain.

The following output will be created:
biymNCFyc5kePbBPANirNKJwFWq5QnQKblFZiyCD/glKelnOCxwvLtnBjTPebXNI
v/cUjLZUdrEd4lWkOoyPultcMseiIfwP8VAQtNVZnJcWjqiDUxSDCJGLWNzM4n6+
rclRRYPyHinw9viga4Rl7jukWWs18bsGVRdk1xvDFVvGuyTn/VpZdWYiyd2pqxhO
AtiB/dadQ3W5uCEu5per34vXQzwUJLeMXVAxA+45JqEQnWFrLIrWGA3dN/uHgL81
iapmYO7J7rM7HoMHUqRnjkaz7POrJbQBu1XbvyY0odG8jX/pFqRdMvF+FlDTUvLG
UatiFNsG/yiB69CpLMv5JA==

This will create the following TXT record
_timetracking._tcp.production.example.com. 60 IN TXT "biymNCFyc5kePbBPANirNKJwFWq5QnQKblFZiyCD/glKelnOCxwvLtnBjTPebXNIv/cUjLZUdrEd4lWkOoyPultcMseiIfwP8VAQtNVZnJcWjqiDUxSDCJGLWNzM4n6+rclRRYPyHinw9viga4Rl7jukWWs18bsGVRdk1xvDFVvGuyTn/VpZdWYiyd2pqxhOAtiB/dadQ3W5uCEu5per34vXQzwUJLeMXVAxA+45JqEQnWFrLIrWGA3dN/uHgL81iapmYO7J7rM7HoMHUqRnjkaz7POrJbQBu1XbvyY0odG8jX/pFqRdMvF+FlDTUvLGUatiFNsG/yiB69CpLMv5JA=="

This record can be decrypted to get back the local values.

Conclusion

Combined with the Microprofile Config API this solves the following service registry, discovery and configuration challenges: