andrelohmann.terrahelper
terrahelper
terrahelper envuelve las mejores prácticas de terraform + terrahelp para equipos pequeños.
Mejores prácticas:
- crea un repositorio para tus archivos de plantillas de terraform
- crea un repositorio para el estado de terraform correspondiente
- mantén el estado separado de la carpeta de plantillas de terraform (por eso necesitas el segundo repositorio)
Flujo de trabajo:
- crea/edita tus plantillas
- descarga el estado más reciente del repositorio de estado
- desencripta el estado usando terrahelp y tu secreto de estado
- ejecuta terraform plan/apply
- encripta el nuevo estado usando terrahelp
- envía el nuevo estado al repositorio de estado
Requisitos
Este rol requiere ubuntu.
Ejemplo de Playbook
- hosts: terrahelper
roles:
- { role: andrelohmann.terraform }
- { role: andrelohmann.terrahelp }
- { role: andrelohmann.terrahelper }
Uso
terrahelper envuelve los pasos para desencriptar y encriptar el estado de terraform de tus plantillas de terraform junto con los comandos de terraform para inicializar, planificar, aplicar y destruir tu stack.
Para ello, necesitas un secreto de estado para la desencriptación/encriptación del estado de terraform y dos repositorios separados (uno para la plantilla y otro para el estado).
Ejecuta terrahelper de la misma manera que normalmente ejecutas el comando terraform desde dentro de tu directorio de plantillas de terraform.
uso: terrahelper init | plan | apply | destroy | output [-s | --statesecret SECRET] [-d | --statedirectory STATEDIRECTORY] [-f | --statefile terraform.tfstate] [-b | --statefilebackup terraform.tfstate.backup] [-e | --echo] [-h | --help] [cualquier parámetro de terraform]
Si las siguientes variables de entorno están establecidas, los parámetros correspondientes son obsoletos:
TH_SECRET - secreto de terrahelp usado para desencriptar/encriptar el estado
TH_STATE_DIRECTORY - ruta absoluta o relativa (desde el directorio de plantillas de terraform) al directorio de estado de terraform
TH_STATE_FILE - archivo de estado de terraform (predeterminado a terraform.tfstate)
TH_STATE_FILE_BACKUP - archivo de respaldo del estado de terraform (predeterminado a terraform.tfstate.backup)
También puedes agregar cualquier parámetro específico de comandos de terraform al final. Se adjuntarán al comando de terraform.
Licencia
MIT
Información del Autor
ansible galaxy role to wrap a terraform best practice, that uses a separate state repository, that is encrypted by terrahelp.
ansible-galaxy install andrelohmann.terrahelper