У меня небольшие проблемы с работой с глобальными переменными в Foreman. У меня есть глобальная переменная ALLOW_AD_USERS, которую я вижу в разделе фактов о хосте. Я пытаюсь использовать эту переменную в конфигурации YAML, связанной с хостом. Мне показалось, что это просто скопировано в подобном виде.
Прочитав руководство, я подумал, что могу добавить "$ {$ foreman :: ALLOW_AD_USERS}"
, и он автоматически сохранит имена Я определил в глобальной переменной.
Здесь была бы большая помощь.
sssd:
domains: example.com
config_file_version: 2
services:
- nss
- pam
domain/example.com
ad_domain: example.com
krb5_realm: EXAMPLE.COM
realmd_tags: manages-system joined-with-adcli
cache_credentials: true
id_provider: ad
access_provider: simple
simple_allow_users:
- "${$foreman::ALLOW_AD_USERS}"
ignore_group_members: true
dyndns_update: true
ad_gpo_map_permit: "+polkit-1"
После нахождения: https://community.theforeman.org/t/smart-variables-in-config-templates/2825
... Мне удалось добиться ограниченного успеха от использования следующей конфигурации:
...access_provider: simple
simple_allow_users:
<%=@host.params['ALLOW_AD_USERS'] %>
ignore_group_members: true...
Я не уверен, есть ли здесь лучший подход, я бы подумал, что есть способ использования массивов или типов YAML. На данный момент глобальная переменная является строковым типом, а имена пользователей перечислены с отступом, подобным следующему:
- user1
- user2
Я все еще немного не уверен, хорошо ли это сочетается с найденной вкладкой YAML, я не совсем четко вижу ссылку. Однако в разделе справки содержатся дополнительные сведения о создании пользовательского отчета в monitor > шаблон отчета. Это может пролить свет на то, как получить доступ к некоторым другим переменным в интеллектуальных классах.