puppet マニフェストを作成し、puppet を使用してシステムをデプロイしています。現在、マニフェストを保守可能にするためにリファクタリング中です。
サブシステムの 1 つは webapplications を備えた tomcat です。〜10個のWebアプリがあります。それぞれのデプロイ手順はほぼ同じです。今のところ私はクラスを使用しています。10 個のファイル - ほぼ同じ。
パラメータ化されたクラスを使用しようとすると、puppet で一度だけインスタンス化できます。次に、webapp クラスから継承する「空の」クラスを作成しようとしました。パラメータが親クラスに渡されていないとパペットが文句を言うため、うまく機能しません。
コードを抽象化できる方法はありません。どうやってするの?
私は達成したいと思います:
node {
class {"webapp::first": param1 = one}
class {"webapp::second": param1 = two}
}
ここで、1 番目と 2 番目は同じレシピを使用するアプリケーションです。
定義があることは知っていますが、レシピはかなり大きく、たとえそれが可能であったとしても、クラスはより読みやすいと思います。