diff --git a/Makefile b/Makefile index f7a35fd881..cfafb64740 100644 --- a/Makefile +++ b/Makefile @@ -51,7 +51,7 @@ UPSTREAM_TAG ?= latest # latest is the most current release # edge is the most current merged change BUILD_DEPLOY_IMAGE_REPO = uselagoon/build-deploy-image -BUILD_DEPLOY_IMAGE_TAG ?= edge +BUILD_DEPLOY_IMAGE_TAG ?= pr-472 # UI_IMAGE_REPO and UI_IMAGE_TAG are an easy way to override the UI image used # only works for installations where INSTALL_STABLE_CORE=false @@ -476,7 +476,7 @@ STERN_VERSION = v2.6.1 CHART_TESTING_VERSION = v3.11.0 K3D_IMAGE = docker.io/rancher/k3s:v1.31.1-k3s1 TESTS = [nginx,api,api-routes,features-kubernetes,bulk-deployment,features-kubernetes-2,features-variables,active-standby-kubernetes,tasks,drush,python,gitlab,github,bitbucket,services,services-2] -CHARTS_TREEISH = main +CHARTS_TREEISH = traefik CHARTS_REPOSITORY = https://github.com/uselagoon/lagoon-charts.git #CHARTS_REPOSITORY = ../lagoon-charts TASK_IMAGES = task-activestandby task-projectclone @@ -528,6 +528,19 @@ INSTALL_K8UP = false INSTALL_K8UP_VERSIONS = v2 REMOTE_CONTROLLER_K8UP_VERSION = v2 +INGRESS_CONTROLLER = traefik +ifeq ($(INGRESS_CONTROLLER),traefik) +INGRESS_CONTROLLER_NAMESPACE = ingress-traefik +INGRESS_CONTROLLER_SERVICE = ingress-traefik +INGRESS_CONTROLLER_CLASSNAME = traefik +INGRESS_CONTROLLER_REMOTE_CLASSNAME = traefik +else +INGRESS_CONTROLLER_NAMESPACE = ingress-nginx +INGRESS_CONTROLLER_SERVICE = ingress-nginx-controller +INGRESS_CONTROLLER_CLASSNAME = nginx +INGRESS_CONTROLLER_REMOTE_CLASSNAME = nginx +endif + # the following can be used to selectively leave out the installation of certain # dbaas provider types INSTALL_MARIADB_PROVIDER = @@ -717,6 +730,7 @@ helm/repos: local-dev/helm ifeq ($(INSTALL_UNAUTHENTICATED_REGISTRY),true) $(HELM) repo add twuni https://twuni.github.io/docker-registry.helm endif + $(HELM) repo add traefik https://traefik.github.io/charts $(HELM) repo update # stand up a k3d cluster configured appropriately for lagoon testing @@ -785,6 +799,11 @@ k3d/setup: k3d/cluster helm/repos $(addprefix local-dev/,$(K3D_TOOLS)) k3d/check DOCKER_NETWORK=$(DOCKER_NETWORK) \ JQ=$(JQ) HELM=$(HELM) KUBECTL=$(KUBECTL) \ USE_CALICO_CNI=false \ + INGRESS_CONTROLLER=$(INGRESS_CONTROLLER) \ + INGRESS_CONTROLLER_NAMESPACE=$(INGRESS_CONTROLLER_NAMESPACE) \ + INGRESS_CONTROLLER_SERVICE=$(INGRESS_CONTROLLER_SERVICE) \ + INGRESS_CONTROLLER_CLASSNAME=$(INGRESS_CONTROLLER_CLASSNAME) \ + INGRESS_CONTROLLER_REMOTE_CLASSNAME=$(INGRESS_CONTROLLER_REMOTE_CLASSNAME) \ $$([ $(INSTALL_MAILPIT) ] && echo 'INSTALL_MAILPIT=$(INSTALL_MAILPIT)') \ $$([ $(INSTALL_PROMETHEUS) ] && echo 'INSTALL_PROMETHEUS=$(INSTALL_PROMETHEUS)') \ $$([ $(INSTALL_K8UP) ] && echo 'INSTALL_K8UP=$(INSTALL_K8UP)') \ @@ -825,13 +844,13 @@ k3d/install-lagoon: ifneq ($(INSTALL_STABLE_CORE),true) $(MAKE) build export KUBECONFIG="$$(realpath kubeconfig.k3d.$(CI_BUILD_TAG))" \ - && export IMAGE_REGISTRY="registry.$$($(KUBECTL) -n ingress-nginx get services ingress-nginx-controller -o jsonpath='{.status.loadBalancer.ingress[0].ip}').nip.io/library" \ + && export IMAGE_REGISTRY="registry.$$($(KUBECTL) -n $(INGRESS_CONTROLLER_NAMESPACE) get services $(INGRESS_CONTROLLER_SERVICE) -o jsonpath='{.status.loadBalancer.ingress[0].ip}').nip.io/library" \ && $(MAKE) k3d/push-images JQ=$(JQ) HELM=$(HELM) KUBECTL=$(KUBECTL) docker pull $(UI_IMAGE_REPO):$(UI_IMAGE_TAG) docker pull $(BETA_UI_IMAGE_REPO):$(BETA_UI_IMAGE_TAG) endif export KUBECONFIG="$$(realpath kubeconfig.k3d.$(CI_BUILD_TAG))" \ - && export IMAGE_REGISTRY="registry.$$($(KUBECTL) -n ingress-nginx get services ingress-nginx-controller -o jsonpath='{.status.loadBalancer.ingress[0].ip}').nip.io/library" \ + && export IMAGE_REGISTRY="registry.$$($(KUBECTL) -n $(INGRESS_CONTROLLER_NAMESPACE) get services $(INGRESS_CONTROLLER_SERVICE) -o jsonpath='{.status.loadBalancer.ingress[0].ip}').nip.io/library" \ && $(MAKE) k3d/push-remote-controller-image \ && cd lagoon-charts.k3d.lagoon \ && $(MAKE) install-lagoon \ @@ -846,18 +865,23 @@ endif SSHTOKEN_IMAGE_REPO=$(SSHTOKEN_IMAGE_REPO) SSHTOKEN_IMAGE_TAG=$(SSHTOKEN_IMAGE_TAG) \ SSHPORTAL_IMAGE_REPO=$(SSHPORTAL_IMAGE_REPO) SSHPORTAL_IMAGE_TAG=$(SSHPORTAL_IMAGE_TAG) \ INSIGHTS_HANDLER_IMAGE_REPO=$(INSIGHTS_HANDLER_IMAGE_REPO) INSIGHTS_HANDLER_IMAGE_TAG=$(INSIGHTS_HANDLER_IMAGE_TAG) \ - OVERRIDE_BUILD_DEPLOY_DIND_IMAGE="registry.$$($(KUBECTL) -n ingress-nginx get services ingress-nginx-controller -o jsonpath='{.status.loadBalancer.ingress[0].ip}').nip.io/library/build-deploy-image:$(CI_BUILD_TAG)" \ - OVERRIDE_REMOTE_CONTROLLER_IMAGETAG=$(CI_BUILD_TAG) \ - OVERRIDE_REMOTE_CONTROLLER_IMAGE_REPOSITORY="registry.$$($(KUBECTL) -n ingress-nginx get services ingress-nginx-controller -o jsonpath='{.status.loadBalancer.ingress[0].ip}').nip.io/library/remote-controller" \ - OVERRIDE_ACTIVE_STANDBY_TASK_IMAGE="registry.$$($(KUBECTL) -n ingress-nginx get services ingress-nginx-controller -o jsonpath='{.status.loadBalancer.ingress[0].ip}').nip.io/library/task-activestandby:$(SAFE_BRANCH_NAME)" \ - OVERRIDE_PROJECTCLONE_TASK_IMAGE="registry.$$($(KUBECTL) -n ingress-nginx get services ingress-nginx-controller -o jsonpath='{.status.loadBalancer.ingress[0].ip}').nip.io/library/task-projectclone:$(SAFE_BRANCH_NAME)" \ - IMAGE_REGISTRY="registry.$$($(KUBECTL) -n ingress-nginx get services ingress-nginx-controller -o jsonpath='{.status.loadBalancer.ingress[0].ip}').nip.io/library" \ + OVERRIDE_BUILD_DEPLOY_DIND_IMAGE="registry.$$($(KUBECTL) -n $(INGRESS_CONTROLLER_NAMESPACE) get services $(INGRESS_CONTROLLER_SERVICE) -o jsonpath='{.status.loadBalancer.ingress[0].ip}').nip.io/library/build-deploy-image:$(CI_BUILD_TAG)" \ + $$([ $(OVERRIDE_REMOTE_CONTROLLER_IMAGETAG) ] && echo 'OVERRIDE_REMOTE_CONTROLLER_IMAGETAG=$(OVERRIDE_REMOTE_CONTROLLER_IMAGETAG)') \ + $$([ $(OVERRIDE_REMOTE_CONTROLLER_IMAGE_REPOSITORY) ] && echo 'OVERRIDE_REMOTE_CONTROLLER_IMAGE_REPOSITORY=$(OVERRIDE_REMOTE_CONTROLLER_IMAGE_REPOSITORY)') \ + OVERRIDE_PROJECTCLONE_TASK_IMAGE="registry.$$($(KUBECTL) -n $(INGRESS_CONTROLLER_NAMESPACE) get services $(INGRESS_CONTROLLER_SERVICE) -o jsonpath='{.status.loadBalancer.ingress[0].ip}').nip.io/library/task-projectclone:$(SAFE_BRANCH_NAME)" \ + OVERRIDE_ACTIVE_STANDBY_TASK_IMAGE="registry.$$($(KUBECTL) -n $(INGRESS_CONTROLLER_NAMESPACE) get services $(INGRESS_CONTROLLER_SERVICE) -o jsonpath='{.status.loadBalancer.ingress[0].ip}').nip.io/library/task-activestandby:$(SAFE_BRANCH_NAME)" \ + IMAGE_REGISTRY="registry.$$($(KUBECTL) -n $(INGRESS_CONTROLLER_NAMESPACE) get services $(INGRESS_CONTROLLER_SERVICE) -o jsonpath='{.status.loadBalancer.ingress[0].ip}').nip.io/library" \ SKIP_INSTALL_REGISTRY=true \ CORE_DATABASE_VENDOR=$(DATABASE_VENDOR) \ LAGOON_FEATURE_FLAG_DEFAULT_ISOLATION_NETWORK_POLICY=enabled \ USE_CALICO_CNI=false \ LAGOON_SSH_PORTAL_LOADBALANCER=$(LAGOON_SSH_PORTAL_LOADBALANCER) \ LAGOON_FEATURE_FLAG_DEFAULT_ROOTLESS_WORKLOAD=enabled \ + INGRESS_CONTROLLER=$(INGRESS_CONTROLLER) \ + INGRESS_CONTROLLER_NAMESPACE=$(INGRESS_CONTROLLER_NAMESPACE) \ + INGRESS_CONTROLLER_SERVICE=$(INGRESS_CONTROLLER_SERVICE) \ + INGRESS_CONTROLLER_CLASSNAME=$(INGRESS_CONTROLLER_CLASSNAME) \ + INGRESS_CONTROLLER_REMOTE_CLASSNAME=$(INGRESS_CONTROLLER_REMOTE_CLASSNAME) \ $$([ $(LAGOON_SEED_USERNAME) ] && echo 'LAGOON_SEED_USERNAME=$(LAGOON_SEED_USERNAME)') \ $$([ $(LAGOON_SEED_PASSWORD) ] && echo 'LAGOON_SEED_PASSWORD=$(LAGOON_SEED_PASSWORD)') \ $$([ $(LAGOON_SEED_ORGANIZATION) ] && echo 'LAGOON_SEED_ORGANIZATION=$(LAGOON_SEED_ORGANIZATION)') \ @@ -911,7 +935,7 @@ k3d/stable-local-stack: .PHONY: k3d/local-dev-patch k3d/local-dev-patch: export KUBECONFIG="$$(pwd)/kubeconfig.k3d.$(CI_BUILD_TAG)" && \ - export IMAGE_REGISTRY="registry.$$($(KUBECTL) -n ingress-nginx get services ingress-nginx-controller -o jsonpath='{.status.loadBalancer.ingress[0].ip}').nip.io/library" \ + export IMAGE_REGISTRY="registry.$$($(KUBECTL) -n $(INGRESS_CONTROLLER_NAMESPACE) get services $(INGRESS_CONTROLLER_SERVICE) -o jsonpath='{.status.loadBalancer.ingress[0].ip}').nip.io/library" \ && for image in $(LOCAL_DEV_SERVICES); do \ echo "building $$image" \ && cd services/$$image && yarn install && yarn build && cd ../..; \ @@ -948,7 +972,7 @@ IMAGES = $(K3D_SERVICES) $(LOCAL_DEV_SERVICES) $(TASK_IMAGES) .PHONY: k3d/push-images k3d/push-images: @export KUBECONFIG="$$(pwd)/kubeconfig.k3d.$(CI_BUILD_TAG)" && \ - export IMAGE_REGISTRY="registry.$$($(KUBECTL) -n ingress-nginx get services ingress-nginx-controller -o jsonpath='{.status.loadBalancer.ingress[0].ip}').nip.io/library" \ + export IMAGE_REGISTRY="registry.$$($(KUBECTL) -n $(INGRESS_CONTROLLER_NAMESPACE) get services $(INGRESS_CONTROLLER_SERVICE) -o jsonpath='{.status.loadBalancer.ingress[0].ip}').nip.io/library" \ && docker login -u admin -p Harbor12345 $$IMAGE_REGISTRY \ && for image in $(IMAGES); do \ docker tag $(CI_BUILD_TAG)/$$image $$IMAGE_REGISTRY/$$image:$(SAFE_BRANCH_NAME) \ @@ -959,7 +983,7 @@ k3d/push-images: .PHONY: k3d/push-local-build-image k3d/push-local-build-image: @export KUBECONFIG="$$(pwd)/kubeconfig.k3d.$(CI_BUILD_TAG)" && \ - export IMAGE_REGISTRY="registry.$$($(KUBECTL) -n ingress-nginx get services ingress-nginx-controller -o jsonpath='{.status.loadBalancer.ingress[0].ip}').nip.io/library" \ + export IMAGE_REGISTRY="registry.$$($(KUBECTL) -n $(INGRESS_CONTROLLER_NAMESPACE) get services $(INGRESS_CONTROLLER_SERVICE) -o jsonpath='{.status.loadBalancer.ingress[0].ip}').nip.io/library" \ && [ $(INSTALL_UNAUTHENTICATED_REGISTRY) = false ] && docker login -u admin -p Harbor12345 $$IMAGE_REGISTRY || true \ && docker tag lagoon/build-deploy-image:local $$IMAGE_REGISTRY/build-deploy-image:$(CI_BUILD_TAG) \ && docker push $$IMAGE_REGISTRY/build-deploy-image:$(CI_BUILD_TAG) @@ -968,7 +992,7 @@ k3d/push-local-build-image: .PHONY: k3d/push-stable-build-image k3d/push-stable-build-image: @export KUBECONFIG="$$(pwd)/kubeconfig.k3d.$(CI_BUILD_TAG)" && \ - export IMAGE_REGISTRY="registry.$$($(KUBECTL) -n ingress-nginx get services ingress-nginx-controller -o jsonpath='{.status.loadBalancer.ingress[0].ip}').nip.io/library" \ + export IMAGE_REGISTRY="registry.$$($(KUBECTL) -n $(INGRESS_CONTROLLER_NAMESPACE) get services $(INGRESS_CONTROLLER_SERVICE) -o jsonpath='{.status.loadBalancer.ingress[0].ip}').nip.io/library" \ && [ $(INSTALL_UNAUTHENTICATED_REGISTRY) = false ] && docker login -u admin -p Harbor12345 $$IMAGE_REGISTRY || true \ && docker pull $(BUILD_DEPLOY_IMAGE_REPO):$(BUILD_DEPLOY_IMAGE_TAG) \ && docker tag $(BUILD_DEPLOY_IMAGE_REPO):$(BUILD_DEPLOY_IMAGE_TAG) $$IMAGE_REGISTRY/build-deploy-image:$(CI_BUILD_TAG) \ @@ -977,7 +1001,7 @@ k3d/push-stable-build-image: .PHONY: k3d/push-remote-controller-image k3d/push-remote-controller-image: @export KUBECONFIG="$$(pwd)/kubeconfig.k3d.$(CI_BUILD_TAG)" && \ - export IMAGE_REGISTRY="registry.$$($(KUBECTL) -n ingress-nginx get services ingress-nginx-controller -o jsonpath='{.status.loadBalancer.ingress[0].ip}').nip.io/library" \ + export IMAGE_REGISTRY="registry.$$($(KUBECTL) -n $(INGRESS_CONTROLLER_NAMESPACE) get services $(INGRESS_CONTROLLER_SERVICE) -o jsonpath='{.status.loadBalancer.ingress[0].ip}').nip.io/library" \ && [ $(INSTALL_UNAUTHENTICATED_REGISTRY) = false ] && docker login -u admin -p Harbor12345 $$IMAGE_REGISTRY || true \ && docker pull $(OVERRIDE_REMOTE_CONTROLLER_IMAGE_REPOSITORY):$(OVERRIDE_REMOTE_CONTROLLER_IMAGETAG) \ && docker tag $(OVERRIDE_REMOTE_CONTROLLER_IMAGE_REPOSITORY):$(OVERRIDE_REMOTE_CONTROLLER_IMAGETAG) $$IMAGE_REGISTRY/remote-controller:$(CI_BUILD_TAG) \ @@ -999,7 +1023,7 @@ k3d/rebuild-restart-service: .PHONY: k3d/get-lagoon-details k3d/get-lagoon-details: @export KUBECONFIG="$$(realpath ./kubeconfig.k3d.$(CI_BUILD_TAG))"; \ - IP="$$($(KUBECTL) -n ingress-nginx get services ingress-nginx-controller -o jsonpath='{.status.loadBalancer.ingress[0].ip}')"; \ + IP="$$($(KUBECTL) -n $(INGRESS_CONTROLLER_NAMESPACE) get services $(INGRESS_CONTROLLER_SERVICE) -o jsonpath='{.status.loadBalancer.ingress[0].ip}')"; \ echo "===========DETAILS============="; \ echo "Lagoon UI URL: $$( [ $(LAGOON_CORE_USE_HTTPS) = true ] && echo https || echo http )://lagoon-ui.$$IP.nip.io"; \ echo "Lagoon API URL: $$( [ $(LAGOON_CORE_USE_HTTPS) = true ] && echo https || echo http )://lagoon-api.$$IP.nip.io/graphql"; \ @@ -1038,7 +1062,7 @@ k3d/get-lagoon-cli-details: JWTUSER=localadmin; \ JWTAUDIENCE=api.dev; \ JWTSECRET=$$($(KUBECTL) get secret -n lagoon-core lagoon-core-secrets -o json | $(JQ) -r '.data.JWTSECRET | @base64d'); \ - LAGOON_API_IP=$$($(KUBECTL) -n ingress-nginx get services ingress-nginx-controller -o jsonpath='{.status.loadBalancer.ingress[0].ip}'); \ + LAGOON_API_IP=$$($(KUBECTL) -n $(INGRESS_CONTROLLER_NAMESPACE) get services $(INGRESS_CONTROLLER_SERVICE) -o jsonpath='{.status.loadBalancer.ingress[0].ip}'); \ SSH_TOKEN_IP=$$($(KUBECTL) -n lagoon-core get services lagoon-core-ssh-token -o jsonpath='{.status.loadBalancer.ingress[0].ip}'); \ SSH_TOKEN_PORT=$$($(KUBECTL) -n lagoon-core get services lagoon-core-ssh-token -o jsonpath='{.spec.ports[0].port}'); \ TOKEN=$$($(JWT) encode --alg HS256 --no-iat --payload role=admin --iss "$$JWTUSER" --aud "$$JWTAUDIENCE" --sub "$$JWTUSER" --secret "$$JWTSECRET"); \ @@ -1068,13 +1092,13 @@ k3d/seed-data: k3d/generate-user-keys export SSH_PORTAL_PORT="$$($(KUBECTL) -n lagoon get services lagoon-remote-ssh-portal -o jsonpath='{.spec.ports[0].port}')" && \ export TOKEN="$$($(KUBECTL) -n lagoon get secret lagoon-remote-ssh-core-token -o json | $(JQ) -r '.data.token | @base64d')" && \ export CONSOLE_URL="https://kubernetes.default.svc/" && \ - export ROUTER_PATTERN="\$${project}.\$${environment}.$$($(KUBECTL) -n ingress-nginx get services ingress-nginx-controller -o jsonpath='{.status.loadBalancer.ingress[0].ip}')" && \ + export ROUTER_PATTERN="\$${project}.\$${environment}.$$($(KUBECTL) -n $(INGRESS_CONTROLLER_NAMESPACE) get services $(INGRESS_CONTROLLER_SERVICE) -o jsonpath='{.status.loadBalancer.ingress[0].ip}')" && \ export SEED_DATA=$$(if [ $(INSTALL_STABLE_CORE) = true ]; then \ envsubst < <(curl -s https://raw.githubusercontent.com/uselagoon/lagoon/refs/tags/$(STABLE_CORE_CHART_APP_VERSION)/local-dev/k3d-seed-data/00-populate-kubernetes.gql) | sed 's/"/\\"/g' | sed 's/\\n/\\\\n/g' | awk -F'\n' '{if(NR == 1) {printf $$0} else {printf "\\n"$$0}}'; \ else \ envsubst < ./local-dev/k3d-seed-data/00-populate-kubernetes.gql | sed 's/"/\\"/g' | sed 's/\\n/\\\\n/g' | awk -F'\n' '{if(NR == 1) {printf $$0} else {printf "\\n"$$0}}'; \ fi) && \ - export LAGOON_API_HOST="$$([ $(LAGOON_CORE_USE_HTTPS) = true ] && echo "https" || echo "http")://lagoon-api.$$($(KUBECTL) -n ingress-nginx get services ingress-nginx-controller -o jsonpath='{.status.loadBalancer.ingress[0].ip}').nip.io/graphql" && \ + export LAGOON_API_HOST="$$([ $(LAGOON_CORE_USE_HTTPS) = true ] && echo "https" || echo "http")://lagoon-api.$$($(KUBECTL) -n $(INGRESS_CONTROLLER_NAMESPACE) get services $(INGRESS_CONTROLLER_SERVICE) -o jsonpath='{.status.loadBalancer.ingress[0].ip}').nip.io/graphql" && \ export SEED_DATA_JSON="{\"query\": \"$$SEED_DATA\"}" && \ curl -ks -XPOST -H 'Content-Type: application/json' -H "Authorization: bearer $${LAGOON_LEGACY_ADMIN}" "$${LAGOON_API_HOST}" -d "$$SEED_DATA_JSON" && \ echo "Loading API seed users" && \ @@ -1141,16 +1165,21 @@ endif && $(MAKE) fill-test-ci-values DOCKER_NETWORK=$(DOCKER_NETWORK) TESTS=$(TESTS) IMAGE_TAG=$(TEST_IMAGE_TAG) \ HELM=$(HELM) KUBECTL=$(KUBECTL) \ JQ=$(JQ) \ - OVERRIDE_BUILD_DEPLOY_DIND_IMAGE="registry.$$($(KUBECTL) -n ingress-nginx get services ingress-nginx-controller -o jsonpath='{.status.loadBalancer.ingress[0].ip}').nip.io/library/build-deploy-image:$(BUILD_DEPLOY_IMAGE_TAG)" \ - OVERRIDE_ACTIVE_STANDBY_TASK_IMAGE="registry.$$($(KUBECTL) -n ingress-nginx get services ingress-nginx-controller -o jsonpath='{.status.loadBalancer.ingress[0].ip}').nip.io/library/task-activestandby:$(SAFE_BRANCH_NAME)" \ - OVERRIDE_PROJECTCLONE_TASK_IMAGE="registry.$$($(KUBECTL) -n ingress-nginx get services ingress-nginx-controller -o jsonpath='{.status.loadBalancer.ingress[0].ip}').nip.io/library/task-projectclone:$(SAFE_BRANCH_NAME)" \ - IMAGE_REGISTRY=$$(if [ $(USE_STABLE_TESTS) = true ]; then echo 'uselagoon'; else echo "registry.$$($(KUBECTL) -n ingress-nginx get services ingress-nginx-controller -o jsonpath='{.status.loadBalancer.ingress[0].ip}').nip.io/library"; fi) \ + OVERRIDE_BUILD_DEPLOY_DIND_IMAGE="registry.$$($(KUBECTL) -n $(INGRESS_CONTROLLER_NAMESPACE) get services $(INGRESS_CONTROLLER_SERVICE) -o jsonpath='{.status.loadBalancer.ingress[0].ip}').nip.io/library/build-deploy-image:$(CI_BUILD_TAG)" \ + OVERRIDE_PROJECTCLONE_TASK_IMAGE="registry.$$($(KUBECTL) -n $(INGRESS_CONTROLLER_NAMESPACE) get services $(INGRESS_CONTROLLER_SERVICE) -o jsonpath='{.status.loadBalancer.ingress[0].ip}').nip.io/library/task-projectclone:$(SAFE_BRANCH_NAME)" \ + OVERRIDE_ACTIVE_STANDBY_TASK_IMAGE="registry.$$($(KUBECTL) -n $(INGRESS_CONTROLLER_NAMESPACE) get services $(INGRESS_CONTROLLER_SERVICE) -o jsonpath='{.status.loadBalancer.ingress[0].ip}').nip.io/library/task-activestandby:$(SAFE_BRANCH_NAME)" \ + IMAGE_REGISTRY=$$(if [ $(USE_STABLE_TESTS) = true ]; then echo 'uselagoon'; else echo "registry.$$($(KUBECTL) -n $(INGRESS_CONTROLLER_NAMESPACE) get services $(INGRESS_CONTROLLER_SERVICE) -o jsonpath='{.status.loadBalancer.ingress[0].ip}').nip.io/library"; fi) \ SKIP_ALL_DEPS=true \ CORE_DATABASE_VENDOR=$(DATABASE_VENDOR) \ LAGOON_FEATURE_FLAG_DEFAULT_ISOLATION_NETWORK_POLICY=enabled \ USE_CALICO_CNI=false \ LAGOON_SSH_PORTAL_LOADBALANCER=$(LAGOON_SSH_PORTAL_LOADBALANCER) \ LAGOON_FEATURE_FLAG_DEFAULT_ROOTLESS_WORKLOAD=enabled \ + INGRESS_CONTROLLER=$(INGRESS_CONTROLLER) \ + INGRESS_CONTROLLER_NAMESPACE=$(INGRESS_CONTROLLER_NAMESPACE) \ + INGRESS_CONTROLLER_SERVICE=$(INGRESS_CONTROLLER_SERVICE) \ + INGRESS_CONTROLLER_CLASSNAME=$(INGRESS_CONTROLLER_CLASSNAME) \ + INGRESS_CONTROLLER_REMOTE_CLASSNAME=$(INGRESS_CONTROLLER_REMOTE_CLASSNAME) \ && docker run --rm --network host --name ct-$(CI_BUILD_TAG) \ --volume "$$(pwd)/test-suite-run.ct.yaml:/etc/ct/ct.yaml" \ --volume "$$(pwd):/workdir" \ diff --git a/tests/tests/features/ingress-annotations.yaml b/tests/tests/features/ingress-annotations.yaml index 2b1f90a641..f5f7c76bce 100644 --- a/tests/tests/features/ingress-annotations.yaml +++ b/tests/tests/features/ingress-annotations.yaml @@ -45,7 +45,7 @@ hosts: localhost serial: 1 vars: - url: "http://node.{{ project | regex_replace('_', '-') }}.{{ branch | regex_replace('/', '-') }}.{{ route_suffix }}/asdf" + url: "https://node.{{ project | regex_replace('_', '-') }}.{{ branch | regex_replace('/', '-') }}.{{ route_suffix_https }}/asdf" host: "redirect-to-example.com" expected_redirect_location: "https://example.com/asdf$" tasks: