web-dev-qa-db-ja.com

動的サーバーを使用したPuppet証明書名の管理

各ノードマニフェストに次のような名前が付けられたパペットセットアップがあります

/^web-\d+\.example\.com$/

これを行うのは、容量を追加するために新しいサーバーを起動し、起動時のタイムスタンプを使用して各サーバーに一意のcertnameを与えることができるようにするためです。

これは、PuppetセットアップのHiera部分で問題を引き起こしています。

:hierarchy:
  - "nodes/%{::trusted.certname}"
  - common

すべてのcertnamesがどうなるかを予測できないためです。現在、階層内の各ノードタイプを指定しているだけですが、毎回hiera.yamlを編集せずに新しいノードタイプを追加できるようにしたいと考えています。

すべてのノードタイプを指定せずに動的に生成された証明書名を使用できるようにする、ある種の動的ルックアップを階層に含めることは可能ですか?

1
user321848

これを機能させるために、階層とカスタムファクトの両方を更新しました。階層に含まれるようになりました

roles/%{::role}/${::environment}

そして、ノードの/etc/facter/facts/role.yamlに次のものが含まれるようになりました。

---
role: web
0
user321848