@@ -34,18 +34,26 @@ define HELM
3434 @helm repo add influxdata https://helm.influxdata.com
3535 @helm repo add milvus-operator https://zilliztech.github.io/milvus-operator
3636 @helm repo add open-telemetry https://open-telemetry.github.io/opentelemetry-helm-charts
37+ @helm repo add temporal https://go.temporal.io/helm-charts
38+ @echo ""
3739 @echo "Update Helm dependencies"
3840 @cd charts/core && helm dependency update
41+ @echo ""
42+ @echo "Install Temporal"
43+ @helm install --namespace ${TEMPORAL_KUBERNETES_NAMESPACE} --create-namespace temporal temporal/temporal --version ${TEMPORAL_HELM_CHART_VERSION} --values configs/helm/temporal/values.yaml
44+ @echo ""
3945 @echo "Install MinIO in single-tenant mode"
4046 @helm install --namespace ${MINIO_KUBERNETES_NAMESPACE} --create-namespace operator minio/operator --version ${MINIO_OPERATOR_HELM_CHART_VERSION} --values configs/helm/minio/operator.values.yaml
4147 @helm install --namespace ${MINIO_KUBERNETES_NAMESPACE} --create-namespace tenant minio/tenant --version ${MINIO_OPERATOR_HELM_CHART_VERSION} --values configs/helm/minio/tenant.values.yaml
48+ @echo ""
4249 @echo "Install Milvus in standalone mode"
4350 @helm install --namespace ${MILVUS_KUBERNETES_NAMESPACE} --create-namespace milvus-operator milvus-operator/milvus-operator --version ${MILVUS_OPERATOR_HELM_CHART_VERSION} --values configs/helm/milvus/values.yaml
4451 @kubectl apply --namespace ${MILVUS_KUBERNETES_NAMESPACE} -f configs/helm/milvus/secret.yaml
4552 @kubectl apply --namespace ${MILVUS_KUBERNETES_NAMESPACE} -f configs/helm/milvus/standalone.yaml
53+ @echo ""
4654 @echo "Install Instill Core Helm chart"
47- @helm install ${HELM_RELEASE_NAME } charts/core \
48- --namespace ${HELM_NAMESPACE } --create-namespace \
55+ @helm install ${INSTILL_CORE_HELM_RELEASE_NAME } charts/core \
56+ --namespace ${INSTILL_CORE_KUBERNETES_NAMESPACE } --create-namespace \
4957 --set edition=$(if $(filter true,$(1)),k8s-ce:test,k8s-ce) \
5058 --set tags.observability=$(OBSERVE_ENABLED) \
5159 --set pipelineBackend.instillCoreHost=http://${INSTILL_CORE_HOST}:${API_GATEWAY_PORT} \
@@ -96,20 +104,24 @@ endef
96104
97105# Function to cleanup helm release
98106define REMOVE_HELM_RESOURCES
107+ @if helm list --namespace ${MILVUS_KUBERNETES_NAMESPACE} 2>/dev/null | grep -q "milvus-operator" 2>/dev/null; then \
108+ kubectl delete milvus milvus -n milvus >/dev/null 2>&1; \
109+ helm uninstall milvus-operator --namespace ${MILVUS_KUBERNETES_NAMESPACE}; \
110+ kubectl delete namespace ${MILVUS_KUBERNETES_NAMESPACE}; \
111+ fi
99112 @if helm list --namespace ${MINIO_KUBERNETES_NAMESPACE} 2>/dev/null | grep -q "operator" 2>/dev/null; then \
100113 helm uninstall operator --namespace ${MINIO_KUBERNETES_NAMESPACE}; \
101114 helm uninstall tenant --namespace ${MINIO_KUBERNETES_NAMESPACE}; \
102115 kubectl delete namespace ${MINIO_KUBERNETES_NAMESPACE}; \
103116 fi
104- @if helm list --namespace ${MILVUS_KUBERNETES_NAMESPACE} 2>/dev/null | grep -q "milvus-operator" 2>/dev/null; then \
105- kubectl delete milvus milvus -n milvus >/dev/null 2>&1; \
106- helm uninstall milvus-operator --namespace ${MILVUS_KUBERNETES_NAMESPACE}; \
107- kubectl delete namespace ${MILVUS_KUBERNETES_NAMESPACE}; \
117+ @if helm list --namespace ${TEMPORAL_KUBERNETES_NAMESPACE} 2>/dev/null | grep -q "temporal" 2>/dev/null; then \
118+ helm uninstall temporal --namespace ${TEMPORAL_KUBERNETES_NAMESPACE}; \
119+ kubectl delete namespace ${TEMPORAL_KUBERNETES_NAMESPACE}; \
108120 fi
109121 @# Remove Helm release
110- @if helm list --namespace ${HELM_NAMESPACE } 2>/dev/null | grep -q "${HELM_RELEASE_NAME }" 2>/dev/null; then \
111- helm uninstall ${HELM_RELEASE_NAME } --namespace ${HELM_NAMESPACE }; \
112- kubectl delete namespace ${HELM_NAMESPACE }; \
122+ @if helm list --namespace ${INSTILL_CORE_KUBERNETES_NAMESPACE } 2>/dev/null | grep -q "${INSTILL_CORE_HELM_RELEASE_NAME }" 2>/dev/null; then \
123+ helm uninstall ${INSTILL_CORE_HELM_RELEASE_NAME } --namespace ${INSTILL_CORE_KUBERNETES_NAMESPACE }; \
124+ kubectl delete namespace ${INSTILL_CORE_KUBERNETES_NAMESPACE }; \
113125 ps aux | grep "[k]ubectl port-forward" | awk '{print $$2}' | xargs -r kill -9 2>/dev/null || true; \
114126 fi
115127endef
@@ -131,13 +143,13 @@ endef
131143# Function to run Helm backend integration test
132144define HELM_INTEGRATION_TEST
133145 @$(MAKE) helm-run CI=true
134- @bash -c 'while [[ "$$(kubectl get pods --namespace ${HELM_NAMESPACE } -l app.kubernetes.io/component=api-gateway,app.kubernetes.io/instance=core -o jsonpath={..status.phase})" != *"Running"* ]]; do \
135- echo "$$(kubectl get pods --namespace ${HELM_NAMESPACE })"; \
146+ @bash -c 'while [[ "$$(kubectl get pods --namespace ${INSTILL_CORE_KUBERNETES_NAMESPACE } -l app.kubernetes.io/component=api-gateway,app.kubernetes.io/instance=core -o jsonpath={..status.phase})" != *"Running"* ]]; do \
147+ echo "$$(kubectl get pods --namespace ${INSTILL_CORE_KUBERNETES_NAMESPACE })"; \
136148 sleep 10; \
137149 done; \
138- echo "$$(kubectl get pods --namespace ${HELM_NAMESPACE })"'
139- @kubectl --namespace ${HELM_NAMESPACE } port-forward $$(kubectl get pods --namespace ${HELM_NAMESPACE } -l "app.kubernetes.io/component=api-gateway,app.kubernetes.io/instance=core" -o jsonpath="{.items[0].metadata.name}") ${API_GATEWAY_PORT}:${API_GATEWAY_PORT} > /dev/null 2>&1 &
140- @kubectl --namespace ${HELM_NAMESPACE } port-forward $$(kubectl get pods --namespace ${HELM_NAMESPACE } -l "app.kubernetes.io/component=database,app.kubernetes.io/instance=core" -o jsonpath="{.items[0].metadata.name}") ${POSTGRESQL_PORT}:${POSTGRESQL_PORT} > /dev/null 2>&1 &
150+ echo "$$(kubectl get pods --namespace ${INSTILL_CORE_KUBERNETES_NAMESPACE })"'
151+ @kubectl --namespace ${INSTILL_CORE_KUBERNETES_NAMESPACE } port-forward $$(kubectl get pods --namespace ${INSTILL_CORE_KUBERNETES_NAMESPACE } -l "app.kubernetes.io/component=api-gateway,app.kubernetes.io/instance=core" -o jsonpath="{.items[0].metadata.name}") ${API_GATEWAY_PORT}:${API_GATEWAY_PORT} > /dev/null 2>&1 &
152+ @kubectl --namespace ${INSTILL_CORE_KUBERNETES_NAMESPACE } port-forward $$(kubectl get pods --namespace ${INSTILL_CORE_KUBERNETES_NAMESPACE } -l "app.kubernetes.io/component=database,app.kubernetes.io/instance=core" -o jsonpath="{.items[0].metadata.name}") ${POSTGRESQL_PORT}:${POSTGRESQL_PORT} > /dev/null 2>&1 &
141153 @echo "Waiting for port-forwarding to be ready..."
142154 @timeout=120; \
143155 while ! nc -z localhost ${API_GATEWAY_PORT} >/dev/null 2>&1 || ! nc -z localhost ${POSTGRESQL_PORT} >/dev/null 2>&1; do \
0 commit comments