|
@@ -2,29 +2,55 @@ MAKEFLAGS += --warn-undefined-variables
|
|
|
SHELL := /usr/bin/env bash
|
|
SHELL := /usr/bin/env bash
|
|
|
.SHELLFLAGS := -euo pipefail -c
|
|
.SHELLFLAGS := -euo pipefail -c
|
|
|
|
|
|
|
|
-KIND_IMG = "kindest/node:v1.33.4@sha256:25a6018e48dfcaee478f4a59af81157a437f15e6e140bf103f85a2e7cd0cbbf2"
|
|
|
|
|
|
|
+KIND_IMG ?= kindest/node:v1.33.4@sha256:25a6018e48dfcaee478f4a59af81157a437f15e6e140bf103f85a2e7cd0cbbf2
|
|
|
|
|
+KIND_CLUSTER_NAME ?= external-secrets
|
|
|
|
|
+KIND_CONTEXT ?= kind-$(KIND_CLUSTER_NAME)
|
|
|
DOCKER_BUILD_ARGS ?=
|
|
DOCKER_BUILD_ARGS ?=
|
|
|
|
|
|
|
|
export E2E_IMAGE_NAME ?= ghcr.io/external-secrets/external-secrets-e2e
|
|
export E2E_IMAGE_NAME ?= ghcr.io/external-secrets/external-secrets-e2e
|
|
|
export GINKGO_LABELS ?= !managed && !v2
|
|
export GINKGO_LABELS ?= !managed && !v2
|
|
|
export V2_GINKGO_LABELS ?= v2
|
|
export V2_GINKGO_LABELS ?= v2
|
|
|
export TEST_SUITES ?= provider generator flux argocd
|
|
export TEST_SUITES ?= provider generator flux argocd
|
|
|
|
|
+export GOCACHE ?= $(CURDIR)/.cache/go-build
|
|
|
|
|
+export GOMODCACHE ?= $(CURDIR)/.cache/go-mod
|
|
|
|
|
|
|
|
export OCI_IMAGE_NAME = ghcr.io/external-secrets/external-secrets
|
|
export OCI_IMAGE_NAME = ghcr.io/external-secrets/external-secrets
|
|
|
export IMAGE_NAME ?= $(OCI_IMAGE_NAME)
|
|
export IMAGE_NAME ?= $(OCI_IMAGE_NAME)
|
|
|
|
|
|
|
|
|
|
+ifeq ($(shell git tag),)
|
|
|
|
|
+export VERSION ?= $(shell echo "v0.0.0-$$(git rev-list HEAD --count)-g$$(git describe --dirty --always)" | sed 's/-/./2' | sed 's/-/./2')
|
|
|
|
|
+else
|
|
|
|
|
+export VERSION ?= $(shell git describe --dirty --always --tags --exclude 'helm*' | sed 's/-/./2' | sed 's/-/./2')
|
|
|
|
|
+endif
|
|
|
|
|
+
|
|
|
start-kind: ## Start kind cluster
|
|
start-kind: ## Start kind cluster
|
|
|
- kind create cluster \
|
|
|
|
|
- --name external-secrets \
|
|
|
|
|
- --config kind.yaml \
|
|
|
|
|
- --retain \
|
|
|
|
|
- --image "$(KIND_IMG)"
|
|
|
|
|
|
|
+ @if kind get clusters | grep -qx "$(KIND_CLUSTER_NAME)"; then \
|
|
|
|
|
+ kind export kubeconfig --name "$(KIND_CLUSTER_NAME)"; \
|
|
|
|
|
+ if kubectl --context "$(KIND_CONTEXT)" --request-timeout=5s get --raw=/readyz >/dev/null 2>&1; then \
|
|
|
|
|
+ echo "kind cluster $(KIND_CLUSTER_NAME) is ready"; \
|
|
|
|
|
+ else \
|
|
|
|
|
+ echo "kind cluster $(KIND_CLUSTER_NAME) exists but is unhealthy, recreating"; \
|
|
|
|
|
+ kind delete cluster --name "$(KIND_CLUSTER_NAME)"; \
|
|
|
|
|
+ kind create cluster \
|
|
|
|
|
+ --name "$(KIND_CLUSTER_NAME)" \
|
|
|
|
|
+ --config kind.yaml \
|
|
|
|
|
+ --retain \
|
|
|
|
|
+ --image "$(KIND_IMG)"; \
|
|
|
|
|
+ fi; \
|
|
|
|
|
+ else \
|
|
|
|
|
+ kind create cluster \
|
|
|
|
|
+ --name "$(KIND_CLUSTER_NAME)" \
|
|
|
|
|
+ --config kind.yaml \
|
|
|
|
|
+ --retain \
|
|
|
|
|
+ --image "$(KIND_IMG)"; \
|
|
|
|
|
+ fi
|
|
|
|
|
+ kind export kubeconfig --name "$(KIND_CLUSTER_NAME)"
|
|
|
|
|
|
|
|
stop-kind: ## Stop kind cluster
|
|
stop-kind: ## Stop kind cluster
|
|
|
kind delete cluster \
|
|
kind delete cluster \
|
|
|
- --name external-secrets \
|
|
|
|
|
|
|
+ --name "$(KIND_CLUSTER_NAME)" \
|
|
|
|
|
|
|
|
-test: e2e-image ## Run e2e tests against current kube context
|
|
|
|
|
|
|
+test: start-kind e2e-image ## Run e2e tests against current kube context
|
|
|
$(MAKE) -C ../ docker.build \
|
|
$(MAKE) -C ../ docker.build \
|
|
|
IMAGE_NAME=$(IMAGE_NAME) \
|
|
IMAGE_NAME=$(IMAGE_NAME) \
|
|
|
VERSION=$(VERSION) \
|
|
VERSION=$(VERSION) \
|
|
@@ -35,12 +61,12 @@ test: e2e-image ## Run e2e tests against current kube context
|
|
|
VERSION=$(VERSION) \
|
|
VERSION=$(VERSION) \
|
|
|
ARCH=amd64 \
|
|
ARCH=amd64 \
|
|
|
DOCKER_BUILD_ARGS="${DOCKER_BUILD_ARGS} --build-arg TARGETARCH=amd64 --build-arg TARGETOS=linux"
|
|
DOCKER_BUILD_ARGS="${DOCKER_BUILD_ARGS} --build-arg TARGETARCH=amd64 --build-arg TARGETOS=linux"
|
|
|
- kind load docker-image --name="external-secrets" $(IMAGE_NAME):$(VERSION)
|
|
|
|
|
- kind load docker-image --name="external-secrets" $(OCI_IMAGE_NAME):$(VERSION)
|
|
|
|
|
- kind load docker-image --name="external-secrets" $(E2E_IMAGE_NAME):$(VERSION)
|
|
|
|
|
- ./run.sh
|
|
|
|
|
|
|
+ kind load docker-image --name="$(KIND_CLUSTER_NAME)" $(IMAGE_NAME):$(VERSION)
|
|
|
|
|
+ kind load docker-image --name="$(KIND_CLUSTER_NAME)" $(OCI_IMAGE_NAME):$(VERSION)
|
|
|
|
|
+ kind load docker-image --name="$(KIND_CLUSTER_NAME)" $(E2E_IMAGE_NAME):$(VERSION)
|
|
|
|
|
+ KUBECTL_CONTEXT="$(KIND_CONTEXT)" ./run.sh
|
|
|
|
|
|
|
|
-test.v2: e2e-image ## Run v2 e2e tests against current kube context
|
|
|
|
|
|
|
+test.v2: start-kind e2e-image ## Run v2 e2e tests against current kube context
|
|
|
$(MAKE) -C ../ docker.build.controller.e2e \
|
|
$(MAKE) -C ../ docker.build.controller.e2e \
|
|
|
IMAGE_NAME=$(IMAGE_NAME) \
|
|
IMAGE_NAME=$(IMAGE_NAME) \
|
|
|
VERSION=$(VERSION) \
|
|
VERSION=$(VERSION) \
|
|
@@ -55,11 +81,11 @@ test.v2: e2e-image ## Run v2 e2e tests against current kube context
|
|
|
VERSION=$(VERSION) \
|
|
VERSION=$(VERSION) \
|
|
|
ARCH=amd64 \
|
|
ARCH=amd64 \
|
|
|
DOCKER_BUILD_ARGS="${DOCKER_BUILD_ARGS} --build-arg TARGETARCH=amd64 --build-arg TARGETOS=linux"
|
|
DOCKER_BUILD_ARGS="${DOCKER_BUILD_ARGS} --build-arg TARGETARCH=amd64 --build-arg TARGETOS=linux"
|
|
|
- kind load docker-image --name="external-secrets" $(IMAGE_NAME):$(VERSION)
|
|
|
|
|
- kind load docker-image --name="external-secrets" $(OCI_IMAGE_NAME):$(VERSION)
|
|
|
|
|
- kind load docker-image --name="external-secrets" $(E2E_IMAGE_NAME):$(VERSION)
|
|
|
|
|
- kind load docker-image --name="external-secrets" ghcr.io/external-secrets/provider-kubernetes:$(VERSION)
|
|
|
|
|
- GINKGO_LABELS="$(V2_GINKGO_LABELS)" E2E_PROVIDER_MODE="v2" TEST_SUITES="provider" ./run.sh
|
|
|
|
|
|
|
+ kind load docker-image --name="$(KIND_CLUSTER_NAME)" $(IMAGE_NAME):$(VERSION)
|
|
|
|
|
+ kind load docker-image --name="$(KIND_CLUSTER_NAME)" $(OCI_IMAGE_NAME):$(VERSION)
|
|
|
|
|
+ kind load docker-image --name="$(KIND_CLUSTER_NAME)" $(E2E_IMAGE_NAME):$(VERSION)
|
|
|
|
|
+ kind load docker-image --name="$(KIND_CLUSTER_NAME)" ghcr.io/external-secrets/provider-kubernetes:$(VERSION)
|
|
|
|
|
+ KUBECTL_CONTEXT="$(KIND_CONTEXT)" GINKGO_LABELS="$(V2_GINKGO_LABELS)" E2E_PROVIDER_MODE="v2" TEST_SUITES="provider" ./run.sh
|
|
|
|
|
|
|
|
test.managed: e2e-image ## Run e2e tests against current kube context
|
|
test.managed: e2e-image ## Run e2e tests against current kube context
|
|
|
$(MAKE) -C ../ docker.build \
|
|
$(MAKE) -C ../ docker.build \
|