Foreman - YAML 設定でグローバル / ホスト変数を使用する

Foreman - YAML 設定でグローバル / ホスト変数を使用する

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"

答え1

見つけた後:https://community.theforeman.org/t/smart-variables-in-config-templates/2825

...次の設定を使用して、限定的な成功を収めることができました。

  ...access_provider: simple
  simple_allow_users:
<%[email protected]['ALLOW_AD_USERS'] %>
  ignore_group_members: true...

ここでもっと良いアプローチがあるかどうかはわかりませんが、配列または YAML タイプを活用する方法があると思います。現時点では、グローバル変数は文字列型であり、ユーザー名は次のようにインデントされてリストされています。

   - user1
   - user2

これが見つかった YAML タブとうまくマッピングされるかどうかはまだ少しわかりません。リンクがはっきりと見えません。ただし、[モニター] > [レポート テンプレート] でカスタム レポートを作成すると、ヘルプ セクションに詳細情報が表示されます。これにより、スマート クラス内の他の変数にアクセスする方法が明らかになるかもしれません。

関連情報