(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:
# save me as /etc/NetwokManager/dispatcher.d/02test
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.