|
4 | 4 | .PHONY: local-logs local-logs-backend local-logs-frontend local-logs-operator local-shell local-shell-frontend |
5 | 5 | .PHONY: local-test local-test-dev local-test-quick test-all local-url local-troubleshoot local-port-forward local-stop-port-forward |
6 | 6 | .PHONY: push-all registry-login setup-hooks remove-hooks check-minikube check-kind check-kubectl |
7 | | -.PHONY: e2e-test e2e-setup e2e-clean deploy-langfuse-openshift |
| 7 | +.PHONY: e2e-test e2e-setup e2e-clean deploy-langfuse-openshift kind-local-up |
8 | 8 | .PHONY: setup-minio minio-console minio-logs minio-status |
9 | 9 | .PHONY: validate-makefile lint-makefile check-shell makefile-health |
10 | 10 | .PHONY: _create-operator-config _auto-port-forward _show-access-info _build-and-load |
@@ -172,7 +172,7 @@ registry-login: ## Login to container registry |
172 | 172 |
|
173 | 173 | push-all: registry-login ## Push all images to registry |
174 | 174 | @echo "$(COLOR_BLUE)▶$(COLOR_RESET) Pushing images to $(REGISTRY)..." |
175 | | - @for image in $(FRONTEND_IMAGE) $(BACKEND_IMAGE) $(OPERATOR_IMAGE) $(RUNNER_IMAGE) $(STATE_SYNC_IMAGE); do \ |
| 175 | + @for image in $(FRONTEND_IMAGE) $(BACKEND_IMAGE) $(OPERATOR_IMAGE) $(RUNNER_IMAGE) $(STATE_SYNC_IMAGE) $(PUBLIC_API_IMAGE); do \ |
176 | 176 | echo " Tagging and pushing $$image..."; \ |
177 | 177 | $(CONTAINER_ENGINE) tag $$image $(REGISTRY)/$$image && \ |
178 | 178 | $(CONTAINER_ENGINE) push $(REGISTRY)/$$image; \ |
@@ -606,6 +606,47 @@ kind-up: check-kind check-kubectl ## Start kind cluster with Quay.io images (pro |
606 | 606 | @echo "Run tests:" |
607 | 607 | @echo " make test-e2e" |
608 | 608 |
|
| 609 | +kind-local-up: check-kind check-kubectl ## Start kind cluster with locally built images |
| 610 | + @echo "$(COLOR_BOLD)Starting kind cluster with locally built images$(COLOR_RESET)" |
| 611 | + @echo "" |
| 612 | + @echo "$(COLOR_BLUE)▶$(COLOR_RESET) Step 1/6: Creating kind cluster..." |
| 613 | + @cd e2e && CONTAINER_ENGINE=$(CONTAINER_ENGINE) ./scripts/setup-kind.sh |
| 614 | + @for i in 1 2 3 4 5 6 7 8 9 10; do \ |
| 615 | + if kubectl cluster-info >/dev/null 2>&1; then \ |
| 616 | + echo "$(COLOR_GREEN)✓$(COLOR_RESET) API server ready"; \ |
| 617 | + break; \ |
| 618 | + fi; \ |
| 619 | + if [ $$i -eq 10 ]; then \ |
| 620 | + echo "$(COLOR_RED)✗$(COLOR_RESET) Timeout waiting for API server"; \ |
| 621 | + exit 1; \ |
| 622 | + fi; \ |
| 623 | + sleep 3; \ |
| 624 | + done |
| 625 | + @echo "$(COLOR_BLUE)▶$(COLOR_RESET) Step 2/6: Building all images locally..." |
| 626 | + @$(MAKE) --no-print-directory build-all |
| 627 | + @echo "$(COLOR_BLUE)▶$(COLOR_RESET) Step 3/6: Loading images into kind cluster..." |
| 628 | + @cd e2e && CONTAINER_ENGINE=$(CONTAINER_ENGINE) ./scripts/load-images.sh |
| 629 | + @echo "$(COLOR_BLUE)▶$(COLOR_RESET) Step 4/6: Deploying with local images..." |
| 630 | + @kubectl apply --validate=false -k components/manifests/overlays/kind-local/ |
| 631 | + @echo "$(COLOR_BLUE)▶$(COLOR_RESET) Step 5/6: Waiting for pods..." |
| 632 | + @cd e2e && ./scripts/wait-for-ready.sh |
| 633 | + @echo "$(COLOR_BLUE)▶$(COLOR_RESET) Step 6/6: Initializing MinIO and extracting test token..." |
| 634 | + @cd e2e && ./scripts/init-minio.sh |
| 635 | + @cd e2e && CONTAINER_ENGINE=$(CONTAINER_ENGINE) ./scripts/extract-token.sh |
| 636 | + @echo "$(COLOR_GREEN)✓$(COLOR_RESET) Kind cluster ready with local images!" |
| 637 | + @echo "" |
| 638 | + @echo "$(COLOR_BOLD)Access the platform:$(COLOR_RESET)" |
| 639 | + @echo " Run in another terminal: $(COLOR_BLUE)make kind-port-forward$(COLOR_RESET)" |
| 640 | + @echo "" |
| 641 | + @echo " Then access:" |
| 642 | + @echo " Frontend: http://localhost:8080" |
| 643 | + @echo " Backend: http://localhost:8081" |
| 644 | + @echo "" |
| 645 | + @echo " Get test token: kubectl get secret test-user-token -n ambient-code -o jsonpath='{.data.token}' | base64 -d" |
| 646 | + @echo "" |
| 647 | + @echo "Run tests:" |
| 648 | + @echo " make test-e2e" |
| 649 | + |
609 | 650 | kind-down: ## Stop and delete kind cluster |
610 | 651 | @echo "$(COLOR_BLUE)▶$(COLOR_RESET) Cleaning up kind cluster..." |
611 | 652 | @cd e2e && CONTAINER_ENGINE=$(CONTAINER_ENGINE) ./scripts/cleanup.sh |
@@ -700,21 +741,26 @@ _build-and-load: ## Internal: Build and load images |
700 | 741 | @$(CONTAINER_ENGINE) build $(PLATFORM_FLAG) -t $(OPERATOR_IMAGE) components/operator $(QUIET_REDIRECT) |
701 | 742 | @echo " Building runner ($(PLATFORM))..." |
702 | 743 | @$(CONTAINER_ENGINE) build $(PLATFORM_FLAG) -t $(RUNNER_IMAGE) -f components/runners/claude-code-runner/Dockerfile components/runners $(QUIET_REDIRECT) |
| 744 | + @echo " Building public-api ($(PLATFORM))..." |
| 745 | + @$(CONTAINER_ENGINE) build $(PLATFORM_FLAG) -t $(PUBLIC_API_IMAGE) components/public-api $(QUIET_REDIRECT) |
703 | 746 | @echo " Tagging images with localhost prefix..." |
704 | 747 | @$(CONTAINER_ENGINE) tag $(BACKEND_IMAGE) localhost/$(BACKEND_IMAGE) 2>/dev/null || true |
705 | 748 | @$(CONTAINER_ENGINE) tag $(FRONTEND_IMAGE) localhost/$(FRONTEND_IMAGE) 2>/dev/null || true |
706 | 749 | @$(CONTAINER_ENGINE) tag $(OPERATOR_IMAGE) localhost/$(OPERATOR_IMAGE) 2>/dev/null || true |
707 | 750 | @$(CONTAINER_ENGINE) tag $(RUNNER_IMAGE) localhost/$(RUNNER_IMAGE) 2>/dev/null || true |
| 751 | + @$(CONTAINER_ENGINE) tag $(PUBLIC_API_IMAGE) localhost/$(PUBLIC_API_IMAGE) 2>/dev/null || true |
708 | 752 | @echo " Loading images into minikube..." |
709 | 753 | @mkdir -p /tmp/minikube-images |
710 | 754 | @$(CONTAINER_ENGINE) save -o /tmp/minikube-images/backend.tar localhost/$(BACKEND_IMAGE) |
711 | 755 | @$(CONTAINER_ENGINE) save -o /tmp/minikube-images/frontend.tar localhost/$(FRONTEND_IMAGE) |
712 | 756 | @$(CONTAINER_ENGINE) save -o /tmp/minikube-images/operator.tar localhost/$(OPERATOR_IMAGE) |
713 | 757 | @$(CONTAINER_ENGINE) save -o /tmp/minikube-images/runner.tar localhost/$(RUNNER_IMAGE) |
| 758 | + @$(CONTAINER_ENGINE) save -o /tmp/minikube-images/public-api.tar localhost/$(PUBLIC_API_IMAGE) |
714 | 759 | @minikube image load /tmp/minikube-images/backend.tar $(QUIET_REDIRECT) |
715 | 760 | @minikube image load /tmp/minikube-images/frontend.tar $(QUIET_REDIRECT) |
716 | 761 | @minikube image load /tmp/minikube-images/operator.tar $(QUIET_REDIRECT) |
717 | 762 | @minikube image load /tmp/minikube-images/runner.tar $(QUIET_REDIRECT) |
| 763 | + @minikube image load /tmp/minikube-images/public-api.tar $(QUIET_REDIRECT) |
718 | 764 | @rm -rf /tmp/minikube-images |
719 | 765 | @echo "$(COLOR_GREEN)✓$(COLOR_RESET) Images built and loaded" |
720 | 766 |
|
|
0 commit comments