I'd like to override targetRepositoryLocation for one specific serverClass (pooled search heads vs non-pooled search heads are each in their own serverClass and have different */apps directories). Can this be done? Despite saying "all overridable properties are marked as such" not a lot seems to be marked as whether or not it is overridable.
There is a bug in serverclass.spec that causes Splunk Deployment Server to give the following FALSE error logs:
Checking conf files for problems...
Invalid key in stanza [serverClass:site1_indexers] in /opt/splunk/etc/system/local/serverclass.conf, line XXX: targetRepositoryLocation (value: $SPLUNK_HOME/etc/master-apps).
Invalid key in stanza [serverClass:site1_indexers] in /opt/splunk/etc/system/local/serverclass.conf, line XXX+1: targetRepositoryLocationPolicy (value: rejectAlways).
You can confirm that it actually works by running /opt/splunk/bin/splunk btool serverclass list --debug| grep targetRepository which will give you this (which clearly indicates functional configurations):
You can also confirm by checking the target Cluster Master destination which will clearly show that it does indeed pull in CM apps to $SPLUNK_HOME/etc/apps/ as well as Indexer apps (via a different serverclass using the targetRepository* settings) to $SPLUNK_HOME/etc/master-apps/.
It is unfortunate the both the documentation and the spec files are in error. I am going to open a support case to get this mess cleared up.