Soy nuevo en Ansible, pero tengo que mantener un conjunto de libros de jugadas, que corresponden a los servicios que se configurarán en un entorno determinado. Se les debe asignar un puerto, certificados, etc. Esto da como resultado muchos archivos con listas de esencialmente siempre los mismos nombres y una asignación a ellos.
En muchos casos, creo que puedo reutilizar fácilmente el nombre_servicio como variable, pero al mapear a IP, puertos u otros identificadores numéricos aún no he encontrado una manera de asignarles de manera determinista diferentes números de una manera que sea reproducible, y preferiblemente sigue siendo el igual incluso cuando se agregan nuevos servicios. He considerado usar una base de datos SQLite para almacenar los servicios y generar los valores de sus identificadores, pero no tengo idea de cómo integrar eso con Ansible.
Supongo que asignar números de puerto crecientes no es algo completamente nuevo; es algo que muchos administradores de sistemas hacen a diario, por lo que tiene que haber alguna forma de hacerlo.
Editar : agregamos directamente los números de puerto, etc. de group_vars/all.yml
esta manera:
ports:
service1:1024
service2:1025
service3:1026
El inventario se genera automáticamente, ya que creamos cárceles adicionales (BSD) y depende de los roles que se ejecutarán.
group_vars
o agregando variables directamente en los archivos de inventario. Tampoco está claro cómo se genera su inventario.