Development

Cómo establecer las variables de un Deploy

Desde la versión 0.041, ASYD soporta establecer variables desde un archivo “def”, “def.sudo”, “undeploy” o “undeploy.sudo”.

var <varname> = exec [host] [if <condition>]: command

Con esta nueva función, puedes establecer una variable si es que el comando exec devuelve algún valor, (el cual también soporta variables y condicionales). Para que funciones, el comando ejecutado debería producir algún volumen de producción.

 

Tras configurarlo puedes usar la variable en cualquier sitio con normalidad, llamando <%VAR:varname%>.

Si existe otra variable con el mismo nombre, su valor será sobrescrito con el nuevo valor devuelto por el comando.

Instalando MySQL Server en Debian con contraseña aleatoria

Un gran uso para esta nueva función (junto con otros), es generar contraseñas aleatorias. En este ejemplo te mostraremos como instalar MySQL Server en un host Debian creando una contraseña aleatoria y almacenándola.

undefined

El ejemplo de arriba genera una contraseña de 12 caracteres random usando /dev/urandom, la almacena en la variable “mysql_password”, y usa esa variable para configurar la password root del servidor MySQL e instalarlo.

Este es el log que obtenemos de la ejecución:

undefined

Tras a la ejecución, la variable mysql_password será almacenada como variable de host, de forma que puedas acceder de nuevo para otro deploy (por ejemplo si quieres hacer operaciones con bases de datos), o solo revisarlo.

undefined

Puedes acceder al ejemplo al completo en nuestro repositorio de contribuciones en Github!

Leave a Reply

Your email address will not be published. Required fields are marked *