github.com/navikt/knorten@v0.0.0-20240419132333-1333f46ed8b6/Makefile (about) 1 GOPATH := $(shell go env GOPATH) 2 GOBIN ?= $(GOPATH)/bin # Default GOBIN if not set 3 4 GCP_PROJECT_ID ?= knada-gcp 5 6 # A template function for installing binaries 7 define install-binary 8 @if ! command -v $(1) &> /dev/null; then \ 9 echo "$(1) not found, installing..."; \ 10 go install $(2); \ 11 fi 12 endef 13 14 GOOSE ?= $(shell command -v goose || echo "$(GOBIN)/goose") 15 GOOSE_VERSION := v3.17.0 16 SQLC ?= $(shell command -v sqlc || echo "$(GOBIN)/sqlc") 17 SQLC_VERSION := v1.25.0 18 GOLANGCILINT ?= $(shell command -v golangci-lint || echo "$(GOBIN)/golangci-lint") 19 GOLANGCILINT_VERSION := v1.55.2 20 21 $(GOOSE): 22 $(call install-binary,goose,github.com/pressly/goose/v3/cmd/goose@$(GOOSE_VERSION)) 23 24 $(SQLC): 25 $(call install-binary,sqlc,github.com/sqlc-dev/sqlc/cmd/sqlc@$(SQLC_VERSION)) 26 27 $(GOLANGCILINT): 28 $(call install-binary,golangci-lint,github.com/golangci/golangci-lint/cmd/golangci-lint@$(GOLANGCILINT_VERSION)) 29 30 env: 31 echo "KNORTEN_OAUTH_CLIENT_ID=$$(gcloud secrets versions access latest --project=$(GCP_PROJECT_ID) --secret=knorten-oauth-client-id)" > .env 32 echo "KNORTEN_OAUTH_CLIENT_SECRET=$$(gcloud secrets versions access latest --project=$(GCP_PROJECT_ID) --secret=knorten-oauth-client-secret)" >> .env 33 echo "KNORTEN_OAUTH_TENANT_ID=$$(gcloud secrets versions access latest --project=$(GCP_PROJECT_ID) --secret=knorten-azure-tenant-id)" >> .env 34 .PHONY: env 35 36 netpol: 37 $(shell kubectl get --context=knada --namespace=knada-system configmap/airflow-network-policy -o json | jq -r '.data."default-egress-airflow-worker.yaml"' > .default-egress-airflow-worker.yaml) 38 .PHONY: netpol 39 40 local-online: 41 @echo "Sourcing environment variables..." 42 set -a && source ./.env && set +a && \ 43 HELM_REPOSITORY_CONFIG="./.helm-repositories.yaml" go run -race . --config=config-local-online.yaml 44 .PHONY: local-online 45 46 local: 47 @echo "Sourcing environment variables..." 48 set -a && source ./.env && set +a && \ 49 HELM_REPOSITORY_CONFIG="./.helm-repositories.yaml" go run -race . --config=config-local.yaml 50 .PHONY: local 51 52 generate-sql: $(SQLC) 53 $(SQLC) generate 54 .PHONY: generate-sql 55 56 # make goose cmd=status 57 goose: $(GOOSE) 58 $(GOOSE) -dir pkg/database/migrations/ postgres "user=postgres password=postgres dbname=knorten host=localhost sslmode=disable" $(cmd) 59 .PHONY: goose 60 61 init: 62 go run local/main.go 63 .PHONY: init 64 65 css: 66 npx tailwindcss --postcss -i local/tailwind.css -o assets/css/main.css 67 .PHONY: css 68 69 css-watch: 70 npx tailwindcss --postcss -i local/tailwind.css -o assets/css/main.css -w 71 .PHONY: css-watch 72 73 test: 74 HELM_REPOSITORY_CONFIG="./.helm-repositories.yaml" go test -v ./... -count=1 75 .PHONY: test 76 77 lint: $(GOLANGCILINT) 78 $(GOLANGCILINT) run 79 .PHONY: lint 80 81 update-configmap: 82 kubectl create configmap knorten-config \ 83 --from-file=config.yaml=config-prod.yaml --dry-run=client -o yaml \ 84 > k8s/configmap.yaml 85 86 check: | lint test 87 .PHONY: check