feat: add opik
This commit is contained in:
88
src/_template/gateway.mk
Normal file
88
src/_template/gateway.mk
Normal file
@@ -0,0 +1,88 @@
|
||||
# Gateway Service Installation Template
|
||||
# This file provides common targets for deploying Gateway API based services.
|
||||
# It extends crd.mk with Gateway-specific verification and utilities.
|
||||
#
|
||||
# Usage:
|
||||
# include ../_template/crd.mk
|
||||
# include ../_template/gateway.mk
|
||||
#
|
||||
# Required variables (inherited from crd.mk):
|
||||
# HELM_RELEASE_NAME - The name of the Helm release
|
||||
# HELM_NAMESPACE - The namespace for the deployment
|
||||
# HELM_CHART_VERSION - The version of the Helm chart
|
||||
#
|
||||
# Additional required variables:
|
||||
# GATEWAY_CLASS_NAME - The name of the GatewayClass (e.g., "kgateway", "agentgateway")
|
||||
# CRD_HELM_CHART_REPO - The Helm chart repository for CRDs
|
||||
#
|
||||
# Optional variables:
|
||||
# GATEWAY_API_VERSION - Version of Gateway API (defaults to v1.4.0)
|
||||
# ENABLE_GATEWAY_VERIFY - Set to "true" to enable gateway verification (defaults to true)
|
||||
|
||||
GATEWAY_API_VERSION ?= v1.4.0
|
||||
ENABLE_GATEWAY_VERIFY ?= true
|
||||
|
||||
# Verify GatewayClass installation
|
||||
.PHONY: verify-gatewayclass
|
||||
verify-gatewayclass:
|
||||
ifeq ($(ENABLE_GATEWAY_VERIFY),true)
|
||||
@echo "Verifying GatewayClass: $(GATEWAY_CLASS_NAME)..."
|
||||
kubectl get gatewayclass $(GATEWAY_CLASS_NAME) || echo "GatewayClass $(GATEWAY_CLASS_NAME) not found"
|
||||
else
|
||||
@echo "Gateway verification disabled."
|
||||
endif
|
||||
|
||||
# Verify Gateway installation
|
||||
.PHONY: verify-gateway
|
||||
verify-gateway:
|
||||
ifeq ($(ENABLE_GATEWAY_VERIFY),true)
|
||||
@echo "Verifying Gateways in namespace: $(HELM_NAMESPACE)..."
|
||||
kubectl get gateway -n $(HELM_NAMESPACE) 2>/dev/null || echo "No Gateways found in $(HELM_NAMESPACE)"
|
||||
else
|
||||
@echo "Gateway verification disabled."
|
||||
endif
|
||||
|
||||
# Verify HTTPRoutes
|
||||
.PHONY: verify-httproutes
|
||||
verify-httproutes:
|
||||
ifeq ($(ENABLE_GATEWAY_VERIFY),true)
|
||||
@echo "Verifying HTTPRoutes in namespace: $(HELM_NAMESPACE)..."
|
||||
kubectl get httproute -n $(HELM_NAMESPACE) 2>/dev/null || echo "No HTTPRoutes found in $(HELM_NAMESPACE)"
|
||||
else
|
||||
@echo "Gateway verification disabled."
|
||||
endif
|
||||
|
||||
# Full verification including Gateway API resources
|
||||
.PHONY: verify-gateway-all
|
||||
verify-gateway-all: verify-crds verify-gatewayclass verify-gateway verify-httproutes
|
||||
@echo "Gateway verification complete."
|
||||
|
||||
# Override the verify target from crd.mk to include gateway verification
|
||||
.PHONY: verify
|
||||
verify: verify-crds verify-gatewayclass
|
||||
ifeq ($(ENABLE_GATEWAY_VERIFY),true)
|
||||
@echo "Verifying $(HELM_APPLICATION_NAME) installation..."
|
||||
kubectl get pods -n $(HELM_NAMESPACE)
|
||||
kubectl get gatewayclass $(GATEWAY_CLASS_NAME) 2>/dev/null || echo "GatewayClass $(GATEWAY_CLASS_NAME) not ready yet"
|
||||
endif
|
||||
|
||||
# Port forward to the gateway service
|
||||
.PHONY: port-forward-gateway
|
||||
port-forward-gateway:
|
||||
@echo "Port forwarding to gateway service..."
|
||||
@POD_NAME=$$(kubectl get pods -n $(HELM_NAMESPACE) -l app=$(HELM_APPLICATION_NAME) -o jsonpath='{.items[0].metadata.name}' 2>/dev/null); \
|
||||
if [ -n "$$POD_NAME" ]; then \
|
||||
echo "Forwarding to pod: $$POD_NAME"; \
|
||||
kubectl port-forward -n $(HELM_NAMESPACE) $$POD_NAME 8080:8080; \
|
||||
else \
|
||||
echo "No gateway pod found with label app=$(HELM_APPLICATION_NAME)"; \
|
||||
fi
|
||||
|
||||
# Get gateway status
|
||||
.PHONY: gateway-status
|
||||
gateway-status:
|
||||
@echo "GatewayClass status:"
|
||||
kubectl get gatewayclass $(GATEWAY_CLASS_NAME) -o yaml 2>/dev/null || echo "GatewayClass not found"
|
||||
@echo ""
|
||||
@echo "Gateways in $(HELM_NAMESPACE):"
|
||||
kubectl get gateway -n $(HELM_NAMESPACE) -o yaml 2>/dev/null || echo "No Gateways found"
|
||||
Reference in New Issue
Block a user