--- # https://taskfile.dev version: "3" vars: LOCAL_COMPOSE_FILE: "deployments/compose.local.yaml" TEST_COMPOSE_FILE: "deployments/compose.test.yaml" GENERATE_COMPOSE_FILE: "deployments/compose.generate.yaml" AWS_COMPOSE_FILE: "deployments/compose.aws.yaml" tasks: build:test: cmds: - task: build vars: COMPOSE_FILE: "{{.TEST_COMPOSE_FILE}}" build:generate: cmds: - task: build vars: COMPOSE_FILE: "{{.GENERATE_COMPOSE_FILE}}" build: vars: COMPOSE_FILE: "{{.COMPOSE_FILE | default .LOCAL_COMPOSE_FILE}}" cmds: - docker compose -f {{.COMPOSE_FILE}} build up:cmd: internal: true vars: COMPOSE_FILE: "{{.COMPOSE_FILE | default .LOCAL_COMPOSE_FILE}}" cmds: - docker compose -f {{.COMPOSE_FILE}} up --no-recreate --wait -d up:test: cmds: - task: up:cmd vars: COMPOSE_FILE: "{{.TEST_COMPOSE_FILE}}" up:generate: run: once cmd: | docker compose -f {{.GENERATE_COMPOSE_FILE}} up \ --force-recreate --renew-anon-volumes --wait -d up:aws: cmds: - task deps:tidy - task docker:build - task: build - task: up:cmd vars: COMPOSE_FILE: "{{.AWS_COMPOSE_FILE}}" - task: init up: cmds: - task deps:tidy - task docker:build - task: build - task: up:cmd - task: init refresh: cmds: - task deps:tidy - task docker:build - task: build - task: down - task: up:cmd - task: init init: internal: true cmds: - aws s3 mb s3://$BUCKET_IN - aws sqs create-queue --queue-name $QNAME_STORE_EVENT - aws sqs create-queue --queue-name $QNAME_DOCUMENT_INIT - aws sqs create-queue --queue-name $QNAME_DOCUMENT_SYNC - aws sqs create-queue --queue-name $QNAME_DOCUMENT_CLEAN - aws sqs create-queue --queue-name $QNAME_DOCUMENT_TEXT_TRIGGER - aws sqs create-queue --queue-name $QNAME_DOCUMENT_TEXT_PROCESS - aws sqs create-queue --queue-name $QNAME_QUERY_SYNC - aws sqs create-queue --queue-name $QNAME_QUERY_RUNNER - aws sqs create-queue --queue-name $QNAME_CLIENT_SYNC - aws sqs create-queue --queue-name $QNAME_QUERY_VERSION_SYNC - | aws s3api put-bucket-notification-configuration \ --bucket $BUCKET_IN \ --notification-configuration '{ "QueueConfigurations": [{ "QueueArn": "arn:aws:sqs:us-east-1:000000000000:store_event", "Events": ["s3:ObjectCreated:*"] }] }' down:test: cmds: - task: down vars: COMPOSE_FILE: "{{.TEST_COMPOSE_FILE}}" down:aws: cmds: - task: down vars: COMPOSE_FILE: "{{.AWS_COMPOSE_FILE}}" down: vars: COMPOSE_FILE: "{{.COMPOSE_FILE | default .LOCAL_COMPOSE_FILE}}" cmds: - docker compose -f {{.COMPOSE_FILE}} down clean: vars: COMPOSE_FILE: "{{.COMPOSE_FILE | default .LOCAL_COMPOSE_FILE}}" cmds: - docker compose -f {{.COMPOSE_FILE}} down -v clean:test: cmds: - task: clean vars: COMPOSE_FILE: "{{.TEST_COMPOSE_FILE}}" clean:aws: run: once cmds: - task: clean vars: COMPOSE_FILE: "{{.AWS_COMPOSE_FILE}}" lint:cmd: internal: true vars: COMPOSE_FILE: "{{.COMPOSE_FILE | default .LOCAL_COMPOSE_FILE}}" cmds: - docker compose -f {{.COMPOSE_FILE}} config -q lint: deps: - task: lint:cmd vars: COMPOSE_FILE: "{{.AWS_COMPOSE_FILE}}" - task: lint:cmd vars: COMPOSE_FILE: "{{.LOCAL_COMPOSE_FILE}}" - task: lint:cmd vars: COMPOSE_FILE: "{{.GENERATE_COMPOSE_FILE}}" - task: lint:cmd vars: COMPOSE_FILE: "{{.TEST_COMPOSE_FILE}}"