Ответы:
Не таким образом. Вы можете создать узел по умолчанию, который будет применяться к любому подписанному клиенту.
node "default" {
include foo
}
Но вы можете иметь только 1 по умолчанию. Если вы хотите повторить описанную вами функциональность, вы можете использовать метод классификации external_nodes. В основном вы пишете скрипт, который возвращает действительный yaml при подключении клиента. Этот скрипт может сделать это в любом случае, проверить fqdn, запросить базу данных, нажать ldap и т. Д.
Пока мало дистрибутивов выпускает 0.25, поэтому в моем Centos5 с 2.24.8 из репозитория EPEL мне пришлось сделать что-то подобное для моих рабочих узлов с именами хостов, такими как wn10.example.com:
node default {
$node_type = regsubst($hostname, '^([a-z]+).*$', '\1')
case $node_type{
wn: {include worker_node}
default: {include generic_node}
}
}