diff --git a/infra/terraform/environments/dev/frontend.tf b/infra/terraform/environments/dev/frontend.tf index c72cd87..8460459 100644 --- a/infra/terraform/environments/dev/frontend.tf +++ b/infra/terraform/environments/dev/frontend.tf @@ -1,13 +1,37 @@ +locals { + frontend_environments = { + dev = { + source_dir = "${path.root}/../../../apps/frontend/dist/frontend-dev/browser" + domain = "dev.enervision" + } + + rec = { + source_dir = "${path.root}/../../../apps/frontend/dist/frontend-rec/browser" + domain = "rec.enervision" + } + + prod = { + source_dir = "${path.root}/../../../apps/frontend/dist/frontend-prod/browser" + domain = "enervision" + } + } + + selected_frontend = local.frontend_environments[var.deployment_environment] +} + resource "null_resource" "frontend" { depends_on = [module.k3s] triggers = { + environment = var.deployment_environment + build_hash = sha256(join("", [ for file in fileset("${path.root}/../../../apps/frontend/dist/frontend/browser", "**") : filesha256("${path.root}/../../../apps/frontend/dist/frontend/browser/${file}") ])) } + // Variables pour la connexion SSH connection { type = "ssh" host = var.ssh_host @@ -16,6 +40,8 @@ resource "null_resource" "frontend" { private_key = file(pathexpand(var.ssh_private_key_path)) } + // Lancement de script en SSH avec remote-exec + // Installation de Nginx et initialisation du répertoire du frontend provisioner "remote-exec" { inline = [ "sudo apt-get update", @@ -25,11 +51,13 @@ resource "null_resource" "frontend" { ] } + // Copie des fichiers vers le serveur provisioner "file" { source = "${path.root}/../../../apps/frontend/dist/frontend/browser/" destination = "/tmp/enervision-frontend" } + // Déplacement des fichiers provisioner "remote-exec" { inline = [ "sudo cp -r /tmp/enervision-frontend/* /var/www/enervision/",