> Reason: We have large number of targets and want to maintain smaller files.
What's the reason you are using dns_sd_configs in the first place? It sounds like you should be using file_sd_configs. You should only use dns_sd_configs if you need to do an unusual DNS lookup like SRV or MX record, and/or when a single DNS query returns multiple targets which need to be scraped individually.
If you are just using DNS names to refer to targets, each of which has a single A or AAAA record (or you don't care which one is used for each target), then file_sd_configs will work just fine. With file_sd_configs the lists of targets are in separate files (JSON or YAML), and are automatically re-read whenever they change - there's no need to signal prometheus.
If there is some specific reason for you to use dns_sd_configs, then can you give an example of what you're currently doing? If it's something like this:
- job_name: foo
dns_sd_configs:
- type: SRV
names:
then those domain names do indeed have to go into prometheus.yml. You can build this from a script if you like, and send prometheus a reload signal when it changes. All JSON is valid YAML, so you can write the whole config in JSON if you prefer, and you can transform it or generate it with something like JSONNET.