@@ -22,10 +22,43 @@ locals {
2222 permissions : " 0644"
2323 content : |
2424 ${indent (4 , file (" ${ local . rootFs } /${ file } " ))}
25- EOT
25+ EOT
2626 ])
27+ docker_compose_scripts = join (" \n " , [
28+ for name , cmd in {
29+ " init" = var . docker_compose_init
30+ " up" = var . docker_compose_up
31+ " down" = var . docker_compose_down
32+ } : <<- EOT
33+ - path: "/mnt/disks/data/${ name } "
34+ permissions: "0755"
35+ content: |
36+ #!/usr/bin/env bash
37+
38+ set -eou pipefail
39+
40+ echo "Running docker compose ${ name } "
41+ ${ cmd }
42+ EOT
43+ ])
44+ env_file_content = <<- EOT
45+ - path: "/home/cloud-compose/.env"
46+ permissions: "0640"
47+ content: |
48+ HOME=/home/cloud-compose
49+ GCP_PROJECT="${ var . project_id } "
50+ GCP_PROJECT_NUMBER="${ var . project_number } "
51+ GCP_INSTANCE_NAME="${ var . name } "
52+ GCP_REGION="${ var . region } "
53+ GCP_ZONE="${ var . zone } "
54+ DOCKER_COMPOSE_DIR=/mnt/disks/data/compose
55+ DOCKER_COMPOSE_REPO="${ var . docker_compose_repo } "
56+ DOCKER_COMPOSE_BRANCH="${ var . docker_compose_branch } "
57+ EOT
2758 cloud_init_yaml = templatefile (" ${ path . module } /templates/cloud-init.yml" , {
28- WRITE_FILES_CONTENT = local.write_files_content,
59+ WRITE_FILES_CONTENT = local.write_files_content,
60+ DOCKER_COMPOSE_SCRIPTS = local.docker_compose_scripts,
61+ ENV_FILE_CONTENT = local.env_file_content,
2962 })
3063}
3164
@@ -115,16 +148,6 @@ resource "google_compute_instance" "cloud-compose" {
115148 google-logging-use-fluentbit = " true"
116149 google-monitoring-enabled = " true"
117150 user-data = data.cloudinit_config.ci.part[0 ].content
118- GCP_PROJECT = var.project_id
119- GCP_PROJECT_NUMBER = var.project_number
120- GCP_INSTANCE_NAME = var.name
121- GCP_REGION = var.region
122- GCP_ZONE = var.zone
123- DOCKER_COMPOSE_REPO = var.docker_compose_repo
124- DOCKER_COMPOSE_BRANCH = var.docker_compose_branch
125- DOCKER_COMPOSE_INIT_CMD = var.docker_compose_init
126- DOCKER_COMPOSE_UP_CMD = var.docker_compose_up
127- DOCKER_COMPOSE_DOWN_CMD = var.docker_compose_down
128151 }
129152
130153 network_interface {
0 commit comments