Refactor to break out scheduler
This commit is contained in:
115
Taskfile.yml
115
Taskfile.yml
@@ -4,6 +4,28 @@ version: '3'
|
||||
|
||||
dotenv: ['.env.local', '.env']
|
||||
|
||||
vars:
|
||||
version: '{{ coalesce .version .v "latest" }}'
|
||||
folder: '{{ coalesce .folder .f "nginx" }}'
|
||||
registry: '{{ coalesce .registry .r "gitea.bensherriff.com/bsherriff" }}'
|
||||
platform: '{{ coalesce .platform .p "linux/amd64,linux/arm64" }}'
|
||||
image: '{{.registry}}/aviation-{{.folder}}:{{.version}}'
|
||||
build_date:
|
||||
sh: date -u +%Y-%m-%dT%H:%M:%SZ
|
||||
vcs_ref:
|
||||
sh: git rev-parse HEAD
|
||||
context: '{{ coalesce .context .ctx "." }}'
|
||||
dockerfile: >
|
||||
{{- if or (eq .folder "nginx") (eq .folder "ui") -}}
|
||||
{{.folder}}/Dockerfile
|
||||
{{- else if eq .folder "api" -}}
|
||||
crates/api/Dockerfile
|
||||
{{- else if eq .folder "scheduler" -}}
|
||||
crates/scheduler/Dockerfile
|
||||
{{- else -}}
|
||||
{{ fail (printf "Invalid folder '%s'. Valid: nginx, ui, api, scheduler" .folder) }}
|
||||
{{- end -}}
|
||||
|
||||
tasks:
|
||||
default:
|
||||
cmds:
|
||||
@@ -18,66 +40,101 @@ tasks:
|
||||
dev-servers:
|
||||
deps:
|
||||
- task: run-api
|
||||
- task: run-scheduler
|
||||
- task: run-ui
|
||||
|
||||
# API Commands
|
||||
build-api:
|
||||
dir: api
|
||||
cmds:
|
||||
- cargo build
|
||||
dir: crates/api
|
||||
cmd: cargo build
|
||||
format-api:
|
||||
dir: api
|
||||
cmds:
|
||||
- cargo fmt
|
||||
dir: crates/api
|
||||
cmd: cargo fmt
|
||||
run-api:
|
||||
dir: api
|
||||
cmds:
|
||||
- cargo run
|
||||
dir: crates/api
|
||||
cmd: cargo run
|
||||
silent: true
|
||||
|
||||
# Scheduler Commands
|
||||
build-scheduler:
|
||||
dir: crates/scheduler
|
||||
cmd: cargo build
|
||||
format-scheduler:
|
||||
dir: crates/scheduler
|
||||
cmd: cargo fmt
|
||||
run-scheduler:
|
||||
dir: crates/scheduler
|
||||
cmd: cargo run
|
||||
silent: true
|
||||
|
||||
# UI Commands
|
||||
build-ui:
|
||||
dir: ui
|
||||
cmds:
|
||||
- npm run build
|
||||
cmd: npm run build
|
||||
format-ui:
|
||||
dir: ui
|
||||
cmds:
|
||||
- npm run format
|
||||
cmd: npm run format
|
||||
clean-ui:
|
||||
dir: ui
|
||||
cmds:
|
||||
- rm -rf node_modules dist stats.html
|
||||
cmd: rm -rf node_modules dist stats.html
|
||||
run-ui:
|
||||
dir: ui
|
||||
cmds:
|
||||
- npm run dev
|
||||
cmd: npm run dev
|
||||
silent: true
|
||||
|
||||
# Docker Commands
|
||||
docker-backend:
|
||||
cmds:
|
||||
- docker compose --profile backend up -d
|
||||
cmd: docker compose --profile backend up -d
|
||||
docker-up:
|
||||
cmds:
|
||||
- docker compose --profile backend --profile api up -d
|
||||
cmd: docker compose --profile backend --profile api up -d
|
||||
docker-down:
|
||||
cmds:
|
||||
- docker compose --profile backend --profile api down
|
||||
cmd: docker compose --profile backend --profile api down
|
||||
docker-clean:
|
||||
cmds:
|
||||
- docker compose --profile backend --profile api down -v
|
||||
cmd: docker compose --profile backend --profile api down -v
|
||||
docker-refresh:
|
||||
cmds:
|
||||
- task: docker-clean
|
||||
- task: docker-up
|
||||
docker-build:
|
||||
|
||||
build:
|
||||
desc: Build a specific docker image from a folder
|
||||
cmds:
|
||||
- docker compose build
|
||||
- |
|
||||
docker buildx build \
|
||||
-f {{.dockerfile}} \
|
||||
-t {{.image}} \
|
||||
--load \
|
||||
--build-arg BUILD_DATE={{.build_date}} \
|
||||
--build-arg BUILD_VERSION={{.version}} \
|
||||
--build-arg VCS_REF={{.vcs_ref}} \
|
||||
{{.context}}
|
||||
|
||||
push:
|
||||
desc: Build and push a specific docker image from a folder
|
||||
cmds:
|
||||
- |
|
||||
docker buildx create \
|
||||
--use \
|
||||
--driver docker-container \
|
||||
--bootstrap \
|
||||
--name default-builder \
|
||||
--platform {{.platform}} \
|
||||
|| true
|
||||
ignore_error: true
|
||||
- |
|
||||
docker buildx build \
|
||||
-f {{.dockerfile}} \
|
||||
--platform {{.platform}} \
|
||||
-t {{.image}} \
|
||||
--push \
|
||||
--build-arg BUILD_DATE={{.build_date}} \
|
||||
--build-arg BUILD_VERSION={{.version}} \
|
||||
--build-arg VCS_REF={{.vcs_ref}} \
|
||||
{{.context}}
|
||||
.
|
||||
|
||||
psql:
|
||||
cmds:
|
||||
- docker exec -it aviation-postgres psql -U ${POSTGRES_USER} -d ${POSTGRES_DB} -P pager=off
|
||||
cmd: docker exec -it aviation-postgres psql -U ${POSTGRES_USER} -d ${POSTGRES_DB} -P pager=off
|
||||
|
||||
cert:
|
||||
cmds:
|
||||
|
||||
Reference in New Issue
Block a user