Ansibleは初めてですが、特定の環境でセットアップするサービスに対応する一連のプレイブックを維持する必要があります。それらにはポート、証明書などを割り当てる必要があります。これにより、本質的に常に同じ名前のリストとそれらへの割り当てを含む多くのファイルが作成されます。
多くの場合、service_nameを変数として簡単に再利用できると思いますが、IP、ポート、またはその他の数値識別子にマッピングするとき、再現可能な方法でそれらに異なる番号を決定論的に割り当てる方法をまだ理解していません。新しいサービスが追加されても同じです。SQLiteデータベースを使用してサービスを保存し、IDから値を生成することを検討しましたが、Ansibleと統合する方法がわかりません。
増加するポート番号を割り当てることは、まったく新しいことではないと思います。これは、日常的に多くのシステム管理者が行うことなので、そのための方法がいくつか必要です。
編集:次のgroup_vars/all.yml
ようにポート番号などを直接追加します。
ports:
service1:1024
service2:1025
service3:1026
追加の刑務所(BSD)を作成し、実行されるロールに依存するため、インベントリは自動的に生成されます。
group_vars
変数を使用しているか、インベントリファイルに直接追加しているかは明確ではありません。また、インベントリがどのように生成されているかも明確ではありません。