Existem várias maneiras de fazer isso - e você está certo de que construir uma regra para cada nó não é a correta:)
Dependendo do contexto mais geral, segue uma lista de possibilidades:
Propriedades do nó
A maneira mais comum de fazer isso é usar as propriedades do nó, ou seja, propriedades que são específicas para cada nó e podem ser usuário em diretivas. A documentação está aqui: link E você é um exemplo de caso de uso no manual de primeiros passos : definição link e uso: link
Um nó pode ter "substituição local" para as propriedades do nó, ou seja, o valor da propriedade que pode ser definido no sistema de arquivos do nó, não no detalhe do nó leme (também explicado em link )
Você pode sincronizar as propriedades do nó da API de descanso externo com o plug-in de ludores "data sources" link
Variáveis do ambiente do nó
Você pode definir variáveis de coisas no nó, como conteúdo de arquivo, saída de comando, etc.
Você pode definir essa variável com técnicas de Variável (na categoria "Diversos") na biblioteca padrão.
Por exemplo, o Variable from JSON file (dict)
permite carregar um arquivo json como variáveis que podem ser usadas em parâmetros diretivos com a sintaxe ${variable_prefix.variable_name[json-key][json-subkey]}
. Há também variable from command
ou variable (string)
.
Você tem os métodos genéricos correspondentes se você construir uma técnica a partir do editor de técnica: procure por métodos na categoria "Variável", por exemplo "variável de comando" que permite (suspens) criar uma variável a partir do resultado de uma comando; ou, no caso de um conteúdo de arquivo json, como você disse, "variable dict from prefix". Esses métodos também podem ser usados na diretiva.
Be careful that when you use these directives, you need to define the variable before they are used, so check your policy order: https://docs.rudder.io/reference/5.0/usage/advanced_configuration_management.html#_directives_ordering
Templating
Se você precisa de um trabalho de modelo mais envolvido, você pode usar jinja ou bigode como explicado aqui: link
Cofre
No Rudder 5.0, adicionamos um plug-in do Vault que permite obter segredo (suspens, novamente) de uma instalação do Vault: link
Recursos mais antigos
Você pode encontrar algumas informações sobre como costumava ser feito em momentos esquecidos sem: link
Mais uma coisa
Isso não está diretamente relacionado ao seu problema, mas como é o oposto, pode ser relevante. Às vezes, você deseja obter informações de inventário de nós que não estão nos dados de inventário padrão e, em seguida, usar esses dados para criar grupos. Você pode estender o inventário com "gancho de inventário de nós": link
Espero que ajude!