(First, excuse me for not agreeing with your question.) IMHO, apparently the right place for such host configuration information is DHCP. DHCP intended to provide a client with all the information required to use various services available on a subnet.
You can use some standard DHCP option, I find domain-name
as the closest to your purposes. You can use something like this on you DHCP server:
option domain-name DC1;
option domain-name dc1.example.org;
Alternatively (and probably even better), DHCP allows site-specific options, you can define a DHCP option named, say option site-name
of type text
(it also requires some numeric option code) as follows:
option site-name code 222 = text;
option site-name "DC1";
On the DHCP client you define this option code, request the option and bake some /etc/dhcp/dhclient-enter-hooks
script where you actually use it.
EDIT: On recent distros, dhclient-enter-hooks
no longer called, instead put your script to /etc/NetwokManager/dispatcher.d/
folder., like this:
#!/bin/sh
# save me as /etc/NetwokManager/dispatcher.d/02test
printenv >>/tmp/dhcp-env
Once DHCP obtains a lease, you'll see all your DHCP variables dumped into the /tmp/dhcp-env.
Maybe you better define all your printer names, apt servers etc. each in a separate DHCP option instead of just identifying datacenter but storing all the relevant config in the client.
If you opt to use DNS anyway, I find your TXT a good option, don't know of anything standard defined for such purpose, except maybe for this: server-id
option in named.conf
: The ID the server should report when receiving .... a
query of the name ID.SERVER with type TXT, class CHAOS.
i.e in your named.conf you define
server-id DC1; //or DC2 etc.
Sorta intended to identify which DNS server I'm talking to, which is sorta close to what you need.