mirror of
https://github.com/hatchet-dev/hatchet.git
synced 2025-12-16 22:35:11 -06:00
158 lines
4.9 KiB
YAML
158 lines
4.9 KiB
YAML
version: "3"
|
|
|
|
tasks:
|
|
setup:
|
|
cmds:
|
|
- |
|
|
task install-dependencies &&
|
|
task generate-certs &&
|
|
task set-env-db &&
|
|
task prisma-migrate &&
|
|
task generate-all &&
|
|
task generate-local-encryption-keys &&
|
|
task set-env-all &&
|
|
task seed-dev &&
|
|
task copy-ca-to-sdks
|
|
set-env-db:
|
|
cmds:
|
|
- |
|
|
cat > .env <<EOF
|
|
DATABASE_URL='postgresql://hatchet:hatchet@127.0.0.1:5431/hatchet'
|
|
EOF
|
|
set-env-all:
|
|
cmds:
|
|
- |
|
|
randstring() { openssl rand -base64 69 | tr -d "\n" | tr -d "=+/" | cut -c1-$1; }
|
|
|
|
cat > .env <<EOF
|
|
DATABASE_URL='postgresql://hatchet:hatchet@127.0.0.1:5431/hatchet'
|
|
SERVER_TLS_CERT_FILE=./hack/dev/certs/cluster.pem
|
|
SERVER_TLS_KEY_FILE=./hack/dev/certs/cluster.key
|
|
SERVER_TLS_ROOT_CA_FILE=./hack/dev/certs/ca.cert
|
|
|
|
SERVER_ENCRYPTION_MASTER_KEYSET_FILE=./hack/dev/encryption-keys/master.key
|
|
SERVER_ENCRYPTION_JWT_PRIVATE_KEYSET_FILE=./hack/dev/encryption-keys/private_ec256.key
|
|
SERVER_ENCRYPTION_JWT_PUBLIC_KEYSET_FILE=./hack/dev/encryption-keys/public_ec256.key
|
|
|
|
SERVER_PORT=8080
|
|
SERVER_URL=https://app.dev.hatchet-tools.com
|
|
|
|
SERVER_AUTH_COOKIE_SECRETS="$(randstring 16) $(randstring 16)"
|
|
SERVER_AUTH_COOKIE_DOMAIN=app.dev.hatchet-tools.com
|
|
SERVER_AUTH_COOKIE_INSECURE=false
|
|
SERVER_AUTH_SET_EMAIL_VERIFIED=true
|
|
|
|
SERVER_LOGGER_LEVEL=debug
|
|
SERVER_LOGGER_FORMAT=console
|
|
DATABASE_LOGGER_LEVEL=debug
|
|
DATABASE_LOGGER_FORMAT=console
|
|
EOF
|
|
start-db:
|
|
cmds:
|
|
- docker compose up -d
|
|
stop-db:
|
|
cmds:
|
|
- docker compose down
|
|
set-etc-hosts:
|
|
cmds:
|
|
- sudo sh ./hack/dev/manage-hosts.sh add 127.0.0.1 app.dev.hatchet-tools.com
|
|
prisma-migrate:
|
|
cmds:
|
|
- sh ./hack/dev/run-go-with-env.sh run github.com/steebchen/prisma-client-go migrate dev
|
|
seed-dev:
|
|
cmds:
|
|
- sh ./hack/dev/run-go-with-env.sh run github.com/steebchen/prisma-client-go migrate dev --skip-generate
|
|
- SEED_DEVELOPMENT=true sh ./hack/dev/run-go-with-env.sh run ./cmd/hatchet-admin seed
|
|
start-dev:
|
|
deps:
|
|
- task: start-db
|
|
- task: start-api
|
|
- task: start-engine
|
|
- task: start-frontend
|
|
start-api:
|
|
cmds:
|
|
- sh ./hack/dev/start-api.sh
|
|
start-engine:
|
|
cmds:
|
|
- sh ./hack/dev/start-engine.sh
|
|
start-frontend:
|
|
cmds:
|
|
- sh ./hack/dev/start-frontend.sh
|
|
start-ngrok:
|
|
cmds:
|
|
- ngrok http 8080
|
|
generate-all:
|
|
cmds:
|
|
- task: install-dependencies
|
|
- task: generate-api
|
|
- task: generate-go
|
|
- task: generate-proto
|
|
- task: generate-sqlc
|
|
install-dependencies:
|
|
cmds:
|
|
- go mod download
|
|
- cd frontend/app/ && pnpm install
|
|
- cd frontend/docs/ && pnpm install
|
|
generate-api:
|
|
cmds:
|
|
- task: generate-api-server
|
|
- task: generate-api-client
|
|
generate-certs:
|
|
cmds:
|
|
- sh ./hack/dev/generate-x509-certs.sh ./hack/dev/certs
|
|
generate-local-encryption-keys:
|
|
cmds:
|
|
- sh ./hack/dev/generate-local-encryption-keys.sh ./hack/dev/encryption-keys
|
|
generate-dev-api-token:
|
|
cmds:
|
|
- sh ./hack/dev/generate-dev-api-token.sh
|
|
generate-api-server:
|
|
cmds:
|
|
- sh ./hack/oas/generate-server.sh
|
|
silent: true
|
|
generate-api-client:
|
|
cmds:
|
|
- sh ./hack/oas/generate-client.sh
|
|
silent: true
|
|
generate-go:
|
|
cmds:
|
|
- go generate ./...
|
|
generate-proto:
|
|
cmds:
|
|
- sh ./hack/proto/proto.sh
|
|
generate-proto-python:
|
|
dir: ./python-sdk
|
|
cmds:
|
|
- sh ./generate.sh
|
|
generate-sqlc:
|
|
cmds:
|
|
- npx --yes prisma migrate diff --from-empty --to-schema-datasource prisma/schema.prisma --script > internal/repository/prisma/dbsqlc/schema.sql
|
|
- go run github.com/sqlc-dev/sqlc/cmd/sqlc@v1.24.0 generate --file internal/repository/prisma/dbsqlc/sqlc.yaml
|
|
lint:
|
|
cmds:
|
|
- task: lint-go
|
|
- task: lint-frontend
|
|
lint-go:
|
|
cmds:
|
|
- golangci-lint run ./... --config .golangci.yml
|
|
lint-frontend:
|
|
cmds:
|
|
- cd frontend/app/ && pnpm run lint:check
|
|
kill-query-engines:
|
|
cmds:
|
|
- ps -A | grep 'prisma-query-engine-darwin-arm64' | grep -v grep | awk '{print $1}' | xargs kill -9 $1
|
|
kill-apis:
|
|
cmds:
|
|
- ps -A | grep 'cmd/hatchet-api' | grep -v grep | awk '{print $1}' | xargs kill -9 $1
|
|
- ps -A | grep 'exe/hatchet-api' | grep -v grep | awk '{print $1}' | xargs kill -9 $1
|
|
kill-engines:
|
|
cmds:
|
|
- ps -A | grep 'cmd/hatchet-engine' | grep -v grep | awk '{print $1}' | xargs kill -9 $1
|
|
- ps -A | grep 'exe/hatchet-engine' | grep -v grep | awk '{print $1}' | xargs kill -9 $1
|
|
prisma-studio:
|
|
cmds:
|
|
- sh ./hack/dev/run-npx-with-env.sh prisma studio
|
|
copy-ca-to-sdks:
|
|
cmds:
|
|
- mkdir -p ./python-sdk/certs/ && cp ./hack/dev/certs/ca.cert ./python-sdk/certs/
|
|
- mkdir -p ./typescript-sdk/certs/ && cp ./hack/dev/certs/ca.cert ./typescript-sdk/certs/ |