Saya baru mengenal Ansible, tetapi saya harus memelihara satu set buku pedoman, yang berhubungan dengan layanan yang akan disiapkan di lingkungan tertentu. Mereka perlu diberi port, sertifikat, dll. Ini menghasilkan banyak file dengan daftar nama dan tugas yang pada dasarnya selalu sama.
Dalam banyak kasus saya pikir saya dapat dengan mudah menggunakan kembali service_name sebagai variabel, tetapi ketika memetakan ke IP, port atau pengidentifikasi numerik lainnya, saya belum menemukan cara untuk secara deterministik menetapkan angka yang berbeda dengan cara yang dapat direproduksi, dan lebih disukai tetap menjadi sama bahkan ketika layanan baru ditambahkan. Saya telah mempertimbangkan menggunakan database SQLite untuk menyimpan layanan dari dan untuk menghasilkan nilai dari id mereka, tetapi saya tidak tahu bagaimana mengintegrasikannya dengan Ansible.
Saya berasumsi bahwa menetapkan peningkatan nomor port bukanlah sesuatu yang sama sekali baru; itu adalah sesuatu yang banyak sysadmin untuk dilakukan sehari-hari sehingga harus ada beberapa cara untuk melakukan itu.
Sunting : Kami langsung menambahkan nomor port dll group_vars/all.yml
seperti ini:
ports:
service1:1024
service2:1025
service3:1026
Inventaris dihasilkan secara otomatis, karena kami membuat penjara tambahan (BSD) dan tergantung pada peran yang akan dieksekusi.
group_vars
atau menambahkan variabel langsung ke file inventaris. Tidak jelas juga bagaimana inventaris Anda dihasilkan.