diff --git a/java/google/registry/proxy/ProxyConfig.java b/java/google/registry/proxy/ProxyConfig.java index 3a09d4427..f040e3769 100644 --- a/java/google/registry/proxy/ProxyConfig.java +++ b/java/google/registry/proxy/ProxyConfig.java @@ -25,9 +25,9 @@ public class ProxyConfig { enum Environment { PRODUCTION, SANDBOX, + SANDBOX_CANARY, ALPHA, LOCAL, - TEST, } private static final String DEFAULT_CONFIG = "config/default-config.yaml"; @@ -119,7 +119,8 @@ public class ProxyConfig { String defaultYaml = readResourceUtf8(ProxyConfig.class, DEFAULT_CONFIG); String customYaml = readResourceUtf8( - ProxyConfig.class, String.format(CUSTOM_CONFIG_FORMATTER, env.name().toLowerCase())); + ProxyConfig.class, + String.format(CUSTOM_CONFIG_FORMATTER, env.name().toLowerCase().replace("_", "-"))); return getConfigSettings(defaultYaml, customYaml, ProxyConfig.class); } } diff --git a/java/google/registry/proxy/config/proxy-config-sandbox-canary.yaml b/java/google/registry/proxy/config/proxy-config-sandbox-canary.yaml new file mode 100644 index 000000000..ea71687e3 --- /dev/null +++ b/java/google/registry/proxy/config/proxy-config-sandbox-canary.yaml @@ -0,0 +1 @@ +# Add environment-specific proxy configuration here. diff --git a/java/google/registry/proxy/kubernetes/proxy-deployment-sandbox-canary.yaml b/java/google/registry/proxy/kubernetes/proxy-deployment-sandbox-canary.yaml new file mode 100644 index 000000000..07305e9ed --- /dev/null +++ b/java/google/registry/proxy/kubernetes/proxy-deployment-sandbox-canary.yaml @@ -0,0 +1,65 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + namespace: default + name: proxy-deployment-canary + labels: + app: proxy-canary +spec: + replicas: 3 + selector: + matchLabels: + app: proxy-canary + template: + metadata: + labels: + app: proxy-canary + spec: + containers: + - name: proxy-canary + image: gcr.io/GCP_PROJECT/IMAGE_NAME:bazel + ports: + - containerPort: 30000 + name: health-check + - containerPort: 30001 + name: whois + - containerPort: 30002 + name: epp + readinessProbe: + tcpSocket: + port: health-check + initialDelaySeconds: 5 + periodSeconds: 10 + livenessProbe: + tcpSocket: + port: health-check + initialDelaySeconds: 15 + periodSeconds: 20 + imagePullPolicy: Always + args: ["--env", "sandbox_canary"] + env: + - name: POD_ID + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: NAMESPACE_ID + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: CONTAINER_NAME + value: proxy-canary +--- +apiVersion: autoscaling/v2beta1 +kind: HorizontalPodAutoscaler +metadata: + namespace: default + name: proxy-autoscale-canary + labels: + app: proxy-canary +spec: + scaleTargetRef: + apiVersion: extensions/v1beta1 + kind: Deployment + name: proxy-deployment-canary + maxReplicas: 5 + minReplicas: 1 diff --git a/java/google/registry/proxy/kubernetes/proxy-deployment-sandbox.yaml b/java/google/registry/proxy/kubernetes/proxy-deployment-sandbox.yaml new file mode 100644 index 000000000..037cb952d --- /dev/null +++ b/java/google/registry/proxy/kubernetes/proxy-deployment-sandbox.yaml @@ -0,0 +1,65 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + namespace: default + name: proxy-deployment + labels: + app: proxy +spec: + replicas: 3 + selector: + matchLabels: + app: proxy + template: + metadata: + labels: + app: proxy + spec: + containers: + - name: proxy + image: gcr.io/GCP_PROJECT/IMAGE_NAME:bazel + ports: + - containerPort: 30000 + name: health-check + - containerPort: 30001 + name: whois + - containerPort: 30002 + name: epp + readinessProbe: + tcpSocket: + port: health-check + initialDelaySeconds: 5 + periodSeconds: 10 + livenessProbe: + tcpSocket: + port: health-check + initialDelaySeconds: 15 + periodSeconds: 20 + imagePullPolicy: Always + args: ["--env", "sandbox"] + env: + - name: POD_ID + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: NAMESPACE_ID + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: CONTAINER_NAME + value: proxy +--- +apiVersion: autoscaling/v2beta1 +kind: HorizontalPodAutoscaler +metadata: + namespace: default + name: proxy-autoscale + labels: + app: proxy +spec: + scaleTargetRef: + apiVersion: extensions/v1beta1 + kind: Deployment + name: proxy-deployment + maxReplicas: 5 + minReplicas: 1 diff --git a/java/google/registry/proxy/kubernetes/proxy-service-canary.yaml b/java/google/registry/proxy/kubernetes/proxy-service-canary.yaml new file mode 100644 index 000000000..395591c91 --- /dev/null +++ b/java/google/registry/proxy/kubernetes/proxy-service-canary.yaml @@ -0,0 +1,25 @@ +kind: Service +apiVersion: v1 +metadata: + namespace: default + name: proxy-service-canary +spec: + selector: + app: proxy-canary + ports: + - protocol: TCP + port: 30000 + nodePort: 31000 + targetPort: health-check + name: health-check + - protocol: TCP + port: 30001 + nodePort: 31001 + targetPort: whois + name: whois + - protocol: TCP + port: 30002 + nodePort: 31002 + targetPort: epp + name: epp + type: NodePort