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