Files
dev/deploy-containers.yaml

57 lines
1.6 KiB
YAML

version: v1.0
name: "Deploy Multiple Ubuntu 24.04 Containers (Incus + Terraform)"
agent:
machine:
type: cloud
os_image: "ubuntu/24.04"
# Bloque 1 - Inicializar Terraform
blocks:
- name: "Initialize Terraform"
task:
jobs:
- name: "Init Terraform"
commands:
- checkout
- echo "[INFO] Instalando Terraform e Incus..."
- sudo apt update && sudo apt install -y
- echo "[INFO] Inicializando Terraform..."
- terraform init
# Bloque 2 - Despliegue
- name: "Deploy Containers"
task:
jobs:
- name: "Terraform Apply"
commands:
- echo "[INFO] Desplegando contenedores definidos en TF_VAR_containers..."
- echo "Variables actuales:"
- echo "$TF_VAR_containers" | jq
- terraform apply -auto-approve
# Bloque 3 - Verificación
- name: "Verify Containers"
task:
jobs:
- name: "List and Verify"
commands:
- echo "[INFO] Listando contenedores..."
- incus list
- echo "[INFO] Verificando estado de cada contenedor..."
- for c in $(echo $TF_VAR_containers | jq -r '.[]'); do
echo "[INFO] -> $c";
incus exec "$c" -- bash -c "hostname && uptime && lsb_release -a || true";
done
# Bloque 4 - Destrucción manual
- name: "Destroy Containers (Manual)"
task:
run:
when: "manual"
jobs:
- name: "Destroy Terraform Resources"
commands:
- echo "[INFO] Destruyendo contenedores definidos..."
- terraform destroy -auto-approve