Files
query-orchestration/scripts/local-deployments.yml
T
2025-08-05 07:03:35 -07:00

148 lines
3.9 KiB
YAML

---
# 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 \
--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 docker:build:debug
- 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
- 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}}"
rebuild:
desc: "Force complete rebuild of all containers (use when build cache causes issues)"
cmds:
- go clean -cache
- docker rmi {{.IMAGE_NAME}}:latest {{.IMAGE_NAME}}:debug || true
- task: refresh