Files
app/Makefile

61 lines
2.7 KiB
Makefile
Raw Normal View History

2025-08-16 15:50:14 -07:00
TERRAFORM_ENV=production
2025-08-11 13:26:21 -07:00
2025-08-16 15:50:14 -07:00
# .dirstamp plus && $@ is like make magic to get this rule
# to only run if the contents of all-apps changes
2025-08-31 09:01:01 -07:00
app/.dirstamp: all-apps/app.service all-apps/docker-compose.yaml $(wildcard all-apps/lb/*) $(wildcard all-apps/nextcloud/*) $(wildcard all-apps/wg-easy/*)
2025-08-16 15:50:14 -07:00
rm -Rf app/
cp -a all-apps app && touch $@
2025-08-11 13:26:21 -07:00
2025-08-31 09:32:11 -07:00
# Caddy / lb
2025-08-19 16:40:43 -07:00
all-apps/lb/Caddyfile: apps.config make-caddyfile.sh
./make-caddyfile.sh > all-apps/lb/Caddyfile
2025-08-31 09:32:11 -07:00
# Nextcloud
all-apps/nextcloud/nextcloud_admin_user: apps.config
bash -c 'source ./apps.config; printf "%s\n" "$$NEXTCLOUD_ADMIN_USER" > $@'
2025-08-31 09:32:11 -07:00
all-apps/nextcloud/nextcloud_admin_password: apps.config
bash -c 'source ./apps.config; printf "%s\n" "$$NEXTCLOUD_ADMIN_PASSWORD" > $@'
2025-08-31 09:32:11 -07:00
all-apps/nextcloud/postgres_db: apps.config
bash -c 'source ./apps.config; printf "%s\n" "$$NEXTCLOUD_POSTGRES_DB" > $@'
2025-08-31 09:32:11 -07:00
all-apps/nextcloud/postgres_user: apps.config
bash -c 'source ./apps.config; printf "%s\n" "$$NEXTCLOUD_POSTGRES_USER" > $@'
2025-08-31 09:32:11 -07:00
all-apps/nextcloud/postgres_password: apps.config
bash -c 'source ./apps.config; printf "%s\n" "$$NEXTCLOUD_POSTGRES_PASSWORD" > $@'
2025-08-31 09:32:11 -07:00
all-apps/nextcloud/redis_password: apps.config
bash -c 'source ./apps.config; printf "%s\n" "$$NEXTCLOUD_REDIS_PASSWORD" > $@'
2025-08-31 09:49:35 -07:00
all-apps/nextcloud/nextcloud.env: apps.config make-nextcloud-env.sh
./make-nextcloud-env.sh
2025-08-31 09:32:11 -07:00
ignition.json: cl.yaml app/.dirstamp \
all-apps/lb/Caddyfile \
all-apps/nextcloud/nextcloud_admin_user \
all-apps/nextcloud/nextcloud_admin_password \
all-apps/nextcloud/postgres_db \
all-apps/nextcloud/postgres_user \
all-apps/nextcloud/postgres_password \
2025-08-31 09:49:35 -07:00
all-apps/nextcloud/redis_password \
all-apps/nextcloud/nextcloud.env
2025-08-16 15:50:14 -07:00
cat cl.yaml | sudo docker run --rm --volume /home/tjhintz/.ssh/id_rsa.pub:/pwd/ssh-keys --volume ${PWD}:/pwd --workdir /pwd -i quay.io/coreos/butane:latest -d /pwd > ignition.json
2025-08-11 13:26:21 -07:00
generated.tfvars: apps.config make-generated.sh
./make-generated.sh > generated.tfvars
2025-08-16 15:50:14 -07:00
plan: ignition.json $(TERRAFORM_ENV).tfvars generated.tfvars
bash -c "terraform plan -var-file=<(cat $(TERRAFORM_ENV).tfvars generated.tfvars)"
apply: ignition.json $(TERRAFORM_ENV).tfvars generated.tfvars
bash -c "terraform apply -var-file=<(cat $(TERRAFORM_ENV).tfvars generated.tfvars)"
2025-08-16 15:50:14 -07:00
2025-08-31 09:01:01 -07:00
destroy: ignition.json $(TERRAFORM_ENV).tfvars generated.tfvars
bash -c "terraform destroy -var-file=<(cat $(TERRAFORM_ENV).tfvars generated.tfvars)"
2025-08-16 15:50:14 -07:00
## to help me remember the command to run to test the config locally
2025-08-11 13:26:21 -07:00
testlocalhost:
curl -k --resolve localhost:443:146.190.12.129 https://localhost
2025-08-16 15:50:14 -07:00
flatcarbuild: ignition.json
cp --reflink=auto flatcar/flatcar_production_qemu_image.img.fresh flatcar/flatcar_production_qemu_image.img
flatcarrun:
./flatcar/flatcar_production_qemu.sh -i ignition.json