From f7a0a3e868597aa08f78dae84818511ccc655431 Mon Sep 17 00:00:00 2001 From: Max Date: Tue, 11 Feb 2025 16:30:21 -0500 Subject: [PATCH] feat: separated taskfiles --- Taskfile.yml | 29 +++++++++-------------------- gitea/Dockerfile | 2 +- gitea/Dockerfile.dev | 2 +- playbooks/build.yml | 2 +- playbooks/deploy.yml | 4 ++-- playbooks/restore.yml | 4 ++-- terraform/Taskfile.yml | 13 +++++++++++++ terraform/main.tf | 2 +- 8 files changed, 30 insertions(+), 28 deletions(-) create mode 100644 terraform/Taskfile.yml diff --git a/Taskfile.yml b/Taskfile.yml index 0c9f46d..4b5ea57 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -1,20 +1,12 @@ version: 3 -env: { TF: terraform -chdir=terraform } silent: true +includes: + tf: { taskfile: terraform, dir: terraform } + tasks: dev: docker compose -f compose.dev.yml up --build --force-recreate --no-deps - tf/init: $TF init -backend-config=backend.tfvars - tf/plan: $TF plan -var-file=secret.tfvars - tf/destroy: $TF destroy - tf/format: $TF fmt -recursive - tf/apply: - - $TF apply -var-file=secret.tfvars - - $TF output -json > secrets.tf.json - tf/import: - - $TF import -var-file=secret.tfvars {{.CLI_ARGS}} - build: ansible-playbook playbooks/build.yml deploy: ansible-playbook playbooks/deploy.yml restore: ansible-playbook playbooks/restore.yml @@ -26,13 +18,10 @@ tasks: cmd: aws ssm start-session --target $INSTANCE_ID env: INSTANCE_ID: { sh: jq -r .instance_id.value < secrets.tf.json } - AWS_REGION: { sh: jq -r .aws_region < secrets/gitea.json } - AWS_ACCESS_KEY_ID: { sh: jq -r .aws_access_key < secrets/gitea.json } - AWS_SECRET_ACCESS_KEY: { sh: jq -r .aws_secret_key < secrets/gitea.json } - prune: - - docker system prune -af - - docker image prune -af - - docker system prune -af --volumes - - docker volume prune -af - - docker system df + push: + dir: gitea + cmds: + - docker build -t web/git . -f Dockerfile --platform linux/amd64,linux/arm64 + - docker login code.maximhutz.com + - defer: docker logout diff --git a/gitea/Dockerfile b/gitea/Dockerfile index aae0f8d..df36c6e 100644 --- a/gitea/Dockerfile +++ b/gitea/Dockerfile @@ -6,4 +6,4 @@ ENV GITEA_CUSTOM /etc/gitea-custom WORKDIR /etc/gitea-custom -RUN gitea cert --host localhost --ca \ No newline at end of file +RUN gitea cert --host code.maximhutz.com --ca \ No newline at end of file diff --git a/gitea/Dockerfile.dev b/gitea/Dockerfile.dev index a15ada9..33d07bc 100644 --- a/gitea/Dockerfile.dev +++ b/gitea/Dockerfile.dev @@ -9,4 +9,4 @@ RUN mv /etc/gitea/dev.app.ini /etc/gitea/app.ini WORKDIR /etc/gitea-custom -RUN gitea cert --host code.maximhutz.com --ca \ No newline at end of file +RUN gitea cert --host localhost --ca \ No newline at end of file diff --git a/playbooks/build.yml b/playbooks/build.yml index 8d019a8..0fbd933 100644 --- a/playbooks/build.yml +++ b/playbooks/build.yml @@ -1,6 +1,6 @@ - name: Make build artifact. hosts: localhost - vars_files: ../secrets/gitea.json + vars_files: ../config/ansible.json tasks: - name: Build image. community.docker.docker_image_build: diff --git a/playbooks/deploy.yml b/playbooks/deploy.yml index d8458cf..a731ea6 100644 --- a/playbooks/deploy.yml +++ b/playbooks/deploy.yml @@ -2,8 +2,8 @@ hosts: localhost become: true vars_files: - - ../secrets/gitea.json - - ../secrets.tf.json + - ../config/ansible.json + - ../config/infrastructure.json vars: ansible_connection: aws_ssm ansible_python_interpreter: /usr/bin/python3 diff --git a/playbooks/restore.yml b/playbooks/restore.yml index 71c5a3d..4a15e0e 100644 --- a/playbooks/restore.yml +++ b/playbooks/restore.yml @@ -2,8 +2,8 @@ hosts: localhost become: true vars_files: - - ../secrets/gitea.json - - ../secrets.tf.json + - ../config/ansible.json + - ../config/infrastructure.json vars: ansible_connection: aws_ssm ansible_python_interpreter: /usr/bin/python3 diff --git a/terraform/Taskfile.yml b/terraform/Taskfile.yml new file mode 100644 index 0000000..994f0a1 --- /dev/null +++ b/terraform/Taskfile.yml @@ -0,0 +1,13 @@ +version: 3 +silent: true + +tasks: + init: terraform init -backend-config=../config/backend.tf.json + plan: terraform plan -var-file=../config/variables.tf.json + destroy: terraform destroy + format: terraform fmt -recursive + out: terraform output -json > ../config/infrastructure.tf.json + apply: + - terraform apply -var-file=../config/variables.tf.json + - task: out + import: terraform import -var-file=../config/variables.tf.json {{.CLI_ARGS}} \ No newline at end of file diff --git a/terraform/main.tf b/terraform/main.tf index 77320af..1f61477 100644 --- a/terraform/main.tf +++ b/terraform/main.tf @@ -16,7 +16,7 @@ resource "aws_instance" "gitea" { subnet_id = module.vpc.public_subnets[0] user_data = file("install.sh") - user_data_replace_on_change = true + user_data_replace_on_change = false iam_instance_profile = data.aws_iam_instance_profile.ssm.name vpc_security_group_ids = [aws_security_group.public_access.id]