configmap:
	kubectl apply -f ./manifests/configmap.yaml
prod_us-west1_configmap:
	kubectl apply -f ./manifests/prod/us-west1/configmap.yaml
prod_asia-east1_configmap:
	kubectl apply -f ./manifests/prod/asia-east1/configmap.yaml
prod_us-central1_configmap:
	kubectl apply -f ./manifests/prod/us-central1/configmap.yaml
prod_asia-northeast1_configmap:
	kubectl apply -f ./manifests/prod/asia-northeast1/configmap.yaml
prod_asia-southeast1_configmap:
	kubectl apply -f ./manifests/prod/asia-southeast1/configmap.yaml
prod_asia-northeast2_configmap:
	kubectl apply -f ./manifests/prod/asia-northeast2/configmap.yaml
prod_us-east4_configmap:
	kubectl apply -f ./manifests/prod/us-east4/configmap.yaml
	kubectl apply -f ./manifests/prod/data-account-segment.yaml
	kubectl apply -f ./manifests/prod/agent-config-template.yaml

agent-temp:
	kubectl apply -f ./manifests/agent-temp.yaml

crd:
	kubectl apply -f ../../../manifests/regional_server/observability.pingcap.com_clusters.yaml
	kubectl apply -f ../../../manifests/regional_server/observability.pingcap.com_endpointservices.yaml
	kubectl apply -f ../../../manifests/regional_server/observability.pingcap.com_iams_gcp.yaml
	kubectl apply -f ../../../manifests/regional_server/observability.pingcap.com_s3s.yaml

regionalserver:
	kubectl apply -f ./manifests/regionalserver_gcp.yaml
prod_regionalserver:
	kubectl apply -f ./manifests/prod/regionalserver_gcp.yaml

# control link
## waf
backend-config:
	kubectl apply -f ./manifests/backend-config.yaml
staging-backend-config:
	kubectl apply -f ./manifests/staging-backend-config.yaml
prod-backend-config:
	kubectl apply -f ./manifests/prod/backend-config.yaml

service:
	kubectl apply -f ./manifests/service.yaml

managed-cert:
	kubectl apply -f ./manifests/dev-us-west1-managed-cert.yaml
staging-managed-cert:
	kubectl apply -f ./manifests/staging-us-west1-managed-cert.yaml
prod-asia-east1-managed-cert:
	kubectl apply -f ./manifests/prod/asia-east1/managed-cert.yaml
prod-us-central1-managed-cert:
	kubectl apply -f ./manifests/prod/us-central1/managed-cert.yaml
prod-asia-northeast1-managed-cert:
	kubectl apply -f ./manifests/prod/asia-northeast1/managed-cert.yaml
prod-asia-southeast1-managed-cert:
	kubectl apply -f ./manifests/prod/asia-southeast1/managed-cert.yaml
prod-asia-northeast2-managed-cert:
	kubectl apply -f ./manifests/prod/asia-northeast2/managed-cert.yaml
prod-us-east4-managed-cert:
	kubectl apply -f ./manifests/prod/us-east4/managed-cert.yaml

ingress:
	kubectl apply -f ./manifests/ingress.yaml
staging-ingress:
	kubectl apply -f ./manifests/staging-ingress.yaml
prod-asia-east1-ingress:
	kubectl apply -f ./manifests/prod/asia-east1/ingress.yaml
prod-us-central1-ingress:
	kubectl apply -f ./manifests/prod/us-central1/ingress.yaml
prod-asia-northeast1-ingress:
	kubectl apply -f ./manifests/prod/asia-northeast1/ingress.yaml
prod-asia-southeast1-ingress:
	kubectl apply -f ./manifests/prod/asia-southeast1/ingress.yaml
prod-asia-northeast2-ingress:
	kubectl apply -f ./manifests/prod/asia-northeast2/ingress.yaml
prod-us-east4-ingress:
	kubectl apply -f ./manifests/prod/us-east4/ingress.yaml

# write links
ingress-nginx-a:
	helm install -n kube-system ingress-nginx-a ingress-nginx/ingress-nginx --version 4.1.4 --values=./manifests/values-gcp-a.yaml --debug
ingress-nginx-b:
	helm install -n kube-system ingress-nginx-b ingress-nginx/ingress-nginx --version 4.1.4 --values=./manifests/values-gcp-b.yaml --debug
prod-asia-east1-ingress-nginx-a:
	helm install -n kube-system ingress-nginx-a ingress-nginx/ingress-nginx --version 4.1.4 --values=./manifests/prod/asia-east1/values-gcp-a.yaml --debug
prod-asia-east1-ingress-nginx-b:
	helm install -n kube-system ingress-nginx-b ingress-nginx/ingress-nginx --version 4.1.4 --values=./manifests/prod/asia-east1/values-gcp-b.yaml --debug
prod-us-central1-ingress-nginx-a:
	helm install -n kube-system ingress-nginx-a ingress-nginx/ingress-nginx --version 4.1.4 --values=./manifests/prod/us-central1/values-gcp-a.yaml --debug
prod-us-central1-ingress-nginx-b:
	helm install -n kube-system ingress-nginx-b ingress-nginx/ingress-nginx --version 4.1.4 --values=./manifests/prod/us-central1/values-gcp-b.yaml --debug
prod-asia-northeast1-ingress-nginx-a:
	helm install -n kube-system ingress-nginx-a ingress-nginx/ingress-nginx --version 4.1.4 --values=./manifests/prod/asia-northeast1/values-gcp-a.yaml --debug
prod-asia-northeast1-ingress-nginx-b:
	helm install -n kube-system ingress-nginx-b ingress-nginx/ingress-nginx --version 4.1.4 --values=./manifests/prod/asia-northeast1/values-gcp-b.yaml --debug
prod-asia-southeast1-ingress-nginx-a:
	helm install -n kube-system ingress-nginx-a ingress-nginx/ingress-nginx --version 4.1.4 --values=./manifests/prod/asia-southeast1/values-gcp-a.yaml --debug
prod-asia-southeast1-ingress-nginx-b:
	helm install -n kube-system ingress-nginx-b ingress-nginx/ingress-nginx --version 4.1.4 --values=./manifests/prod/asia-southeast1/values-gcp-b.yaml --debug
prod-asia-northeast2-ingress-nginx-a:
	helm install -n kube-system ingress-nginx-a ingress-nginx/ingress-nginx --version 4.1.4 --values=./manifests/prod/asia-northeast2/values-gcp-a.yaml --debug
prod-asia-northeast2-ingress-nginx-b:
	helm install -n kube-system ingress-nginx-b ingress-nginx/ingress-nginx --version 4.1.4 --values=./manifests/prod/asia-northeast2/values-gcp-b.yaml --debug
prod-us-east4-ingress-nginx-a:
	helm install -n kube-system ingress-nginx-a ingress-nginx/ingress-nginx --version 4.1.4 --values=./manifests/prod/us-east4/values-gcp-a.yaml --debug
prod-us-east4-ingress-nginx-b:
	helm install -n kube-system ingress-nginx-b ingress-nginx/ingress-nginx --version 4.1.4 --values=./manifests/prod/us-east4/values-gcp-b.yaml --debug

# read link
## waf
nginx-backend-config:
	kubectl apply -f ./manifests/nginx-backend-config.yaml
staging-nginx-backend-config:
	kubectl apply -f ./manifests/staging-nginx-backend-config.yaml
prod-nginx-backend-config:
	kubectl apply -f ./manifests/prod/nginx-backend-config.yaml

## the dev one is lacked
staging-nginx-managed-cert:
	kubectl apply -f ./manifests/staging-nginx-us-west1-managed-cert.yaml
prod-us-west1-nginx-managed-cert:
	kubectl apply -f ./manifests/prod/us-west1/nginx-managed-cert.yaml
prod-asia-east1-nginx-managed-cert:
	kubectl apply -f ./manifests/prod/asia-east1/nginx-managed-cert.yaml
prod-us-central1-nginx-managed-cert:
	kubectl apply -f ./manifests/prod/us-central1/nginx-managed-cert.yaml
prod-asia-northeast1-nginx-managed-cert:
	kubectl apply -f ./manifests/prod/asia-northeast1/nginx-managed-cert.yaml
prod-asia-southeast1-nginx-managed-cert:
	kubectl apply -f ./manifests/prod/asia-southeast1/nginx-managed-cert.yaml
prod-asia-northeast2-nginx-managed-cert:
	kubectl apply -f ./manifests/prod/asia-northeast2/nginx-managed-cert.yaml
prod-us-east4-nginx-managed-cert:
	kubectl apply -f ./manifests/prod/us-east4/nginx-managed-cert.yaml

ingress-nginx:
	helm install -n kube-system ingress-nginx ingress-nginx/ingress-nginx --version 4.1.4 --values=./manifests/values-gcp.yaml --debug

nginx-read-default:
	kubectl apply -f ./manifests/nginx-read-default-ingress.yaml

nginx-ingress:
	kubectl apply -f ./manifests/nginx-ingress.yaml
staging-nginx-ingress:
	kubectl apply -f ./manifests/staging-nginx-ingress.yaml
prod-us-west1-nginx-ingress:
	kubectl apply -f ./manifests/prod/us-west1/nginx-ingress.yaml
prod-asia-east1-nginx-ingress:
	kubectl apply -f ./manifests/prod/asia-east1/nginx-ingress.yaml
prod-us-central1-nginx-ingress:
	kubectl apply -f ./manifests/prod/us-central1/nginx-ingress.yaml
prod-asia-northeast1-nginx-ingress:
	kubectl apply -f ./manifests/prod/asia-northeast1/nginx-ingress.yaml
prod-asia-southeast1-nginx-ingress:
	kubectl apply -f ./manifests/prod/asia-southeast1/nginx-ingress.yaml
prod-asia-northeast2-nginx-ingress:
	kubectl apply -f ./manifests/prod/asia-northeast2/nginx-ingress.yaml
prod-us-east4-nginx-ingress:
	kubectl apply -f ./manifests/prod/us-east4/nginx-ingress.yaml
