You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* chore: reduce log level on metrics
Metrics reporter is spamming the logs even in production flavor
because it logs as info when reporting metrics for each scheduler
* chore(github): update deprecated ubuntu img
* fix(runtime): retry pdb update
Sometimes, PDB update can fail due to conflicts of changing
the resource (in-memory copy vs runtime). To fix, k8s provides
and API to use retry on conflicts
* feat(forwarder): add dial options
Optional parameter that the caller can add specifying dial
parameters such as WithBlock(), that blocks grpc.Dial() until
connection is established rather than doing in background.
This is useful in tests
* chore: update to go 1.23
* fix(runtime): avoid race condition in GR watcher
* chore: enable multi-arch images
Build images based on platform, by default we always publish to
linux/amd64 and linux/arm64 - whereas locally we rely on the hosting
OS arch
* refactor: replace k3s with k3d
K3d is a newer tool to bring up a Kubernetes mock cluster. Previous
K3S tool is deprecated and did not support CI runners anymore, thus
refactoring the application setup and tests to use k3d. Also adjusted
docs and Makefile commands to bring up the k3d/up when starting Maestro
or running integration tests
* chore: redis 8 and postgres 17
Update local setup to use latest redis and postgres version available
* chore(ci): fix test yaml with k3d
* fix(runtime): indempotent Stop with nil check
* chore(ci): fix build on CI for multi-arch
* fix(test): flaky test assert only room in terminating
* fix(forwarder): type assertion on cache
* fix: simplify Makefile and test setup
echo"INFO: Checking for Kubeconfig at $$KUBECONFIG_PATH for integration tests...";\
54
+
if [ -f"$$KUBECONFIG_PATH" ] && [ -s"$$KUBECONFIG_PATH" ];then \
55
+
echo"INFO: Using kubeconfig from $$KUBECONFIG_PATH for integration tests...";\
56
+
KUBECONFIG="$$KUBECONFIG_PATH" go test -tags=integration -count=1 -timeout 20m -coverprofile=coverage.out -covermode=atomic $(OPTS) ./... ;\
57
+
else\
58
+
echo"ERROR: Kubeconfig $$KUBECONFIG_PATH not found or is empty. Please ensure 'make k3d/up' completed successfully before running integration tests.";\
echo"INFO: Checking for Kubeconfig at $$KUBECONFIG_PATH for runtime integration tests...";\
66
+
if [ -f"$$KUBECONFIG_PATH" ] && [ -s"$$KUBECONFIG_PATH" ];then \
67
+
echo"INFO: Using kubeconfig from $$KUBECONFIG_PATH for runtime integration tests...";\
68
+
KUBECONFIG="$$KUBECONFIG_PATH" go test -tags=integration -count=1 -timeout 20m ./internal/adapters/runtime/kubernetes/... ;\
69
+
else\
70
+
echo"ERROR: Kubeconfig $$KUBECONFIG_PATH not found or is empty. Please ensure 'make k3d/up' completed successfully before running runtime integration tests.";\
71
+
exit 1;\
72
+
fi
57
73
58
74
.PHONY: license-check
59
75
license-check: ## Execute license check.
60
76
@go run github.com/google/addlicense -skip yaml -skip yml -skip proto -check .
maestro/start: build-linux-x86_64## Start Maestro with all of its dependencies.
181
+
maestro/start: k3d/up build ## Start Maestro with all of its dependencies.
154
182
@echo "Starting maestro..."
155
183
@cd ./e2e/framework/maestro; docker compose up --build -d
156
184
@MAESTRO_MIGRATION_PATH="file://internal/service/migrations" go run main.go migrate;
157
185
@cd ./e2e/framework/maestro; docker compose up --build -d worker runtime-watcher #Worker and watcher do not work before migration, so we start them after it.
158
186
@echo "Maestro is up and running!"
159
187
160
188
.PHONY: maestro/down
161
-
maestro/down: ## Delete Maestro and all of its dependencies.
189
+
maestro/down: k3d/down ## Delete Maestro and all of its dependencies.
0 commit comments