diff --git a/gnomad-sumstats/base/deployment.yaml b/gnomad-sumstats/base/deployment.yaml new file mode 100644 index 0000000..4646b6f --- /dev/null +++ b/gnomad-sumstats/base/deployment.yaml @@ -0,0 +1,36 @@ +--- +kind: Deployment +apiVersion: apps/v1 +metadata: + name: gnomad-sumstats + labels: + service: gnomad-sumstats +spec: + replicas: 1 + selector: + matchLabels: + name: gnomad-sumstats + template: + metadata: + labels: + name: gnomad-sumstats + spec: + containers: + - name: shiny + image: gnomad-sumstats + ports: + - name: http + containerPort: 8000 + resources: + requests: + cpu: 800m + memory: 256Mi + limits: + cpu: 1000m + memory: 512Mi + readinessProbe: + httpGet: + path: / + port: http + initialDelaySeconds: 5 + periodSeconds: 30 diff --git a/gnomad-sumstats/base/kustomization.yaml b/gnomad-sumstats/base/kustomization.yaml new file mode 100644 index 0000000..57fb2e1 --- /dev/null +++ b/gnomad-sumstats/base/kustomization.yaml @@ -0,0 +1,6 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: +- deployment.yaml +- service.yaml + diff --git a/gnomad-sumstats/base/service.yaml b/gnomad-sumstats/base/service.yaml new file mode 100644 index 0000000..9f33d6a --- /dev/null +++ b/gnomad-sumstats/base/service.yaml @@ -0,0 +1,14 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: gnomad-sumstats + labels: + service: gnomad-sumstats +spec: + type: ClusterIP + selector: + name: gnomad-sumstats + ports: + - port: 80 + targetPort: 8000 diff --git a/gnomad-sumstats/demo/backendconfig.yaml b/gnomad-sumstats/demo/backendconfig.yaml new file mode 100644 index 0000000..6f23c1a --- /dev/null +++ b/gnomad-sumstats/demo/backendconfig.yaml @@ -0,0 +1,8 @@ +apiVersion: cloud.google.com/v1 +kind: BackendConfig +metadata: + name: gnomad-sumstats-bc +spec: + sessionAffinity: + affinityType: 'CLIENT_IP' + timeoutSec: 3000 # we apparently need this to avoid terminating websockets diff --git a/gnomad-sumstats/demo/ingress.yaml b/gnomad-sumstats/demo/ingress.yaml new file mode 100644 index 0000000..632c751 --- /dev/null +++ b/gnomad-sumstats/demo/ingress.yaml @@ -0,0 +1,20 @@ +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: gnomad-sumstats + annotations: + networking.gke.io/managed-certificates: sumstats-gnomad-cert-demo + labels: + service: gnomad-sumstats +spec: + rules: + - host: 'sumstats.gnomad.the-tgg.dev' + http: + paths: + - backend: + service: + name: gnomad-sumstats + port: + number: 80 + pathType: ImplementationSpecific diff --git a/gnomad-sumstats/demo/kustomization.yaml b/gnomad-sumstats/demo/kustomization.yaml new file mode 100644 index 0000000..0f89640 --- /dev/null +++ b/gnomad-sumstats/demo/kustomization.yaml @@ -0,0 +1,49 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - ../base + - ingress.yaml + - backendconfig.yaml + - managed-certificate.yaml +nameSuffix: -demo +labels: + - includeSelectors: true + includeTemplates: true + pairs: + environment: qa + name: gnomad-sumstats-demo +images: + - name: gnomad-sumstats + newName: us-docker.pkg.dev/exac-gnomad/gnomad/gnomad-sumstats-explorer + newTag: abcdef1 +patches: + - patch: |- + kind: Service + apiVersion: v1 + metadata: + name: gnomad-sumstats + annotations: + cloud.google.com/backend-config: '{"default": "gnomad-sumstats-bc-demo"}' + - patch: |- + kind: Deployment + apiVersion: apps/v1 + metadata: + name: gnomad-sumstats + spec: + template: + spec: + tolerations: + - key: "volatile" + operator: "Equal" + value: "true" + effect: "NoSchedule" + - patch: |- + apiVersion: apps/v1 + kind: Deployment + metadata: + name: gnomad-sumstats + spec: + template: + spec: + nodeSelector: + cloud.google.com/gke-nodepool: 'demo-pool' diff --git a/gnomad-sumstats/demo/managed-certificate.yaml b/gnomad-sumstats/demo/managed-certificate.yaml new file mode 100644 index 0000000..25b1515 --- /dev/null +++ b/gnomad-sumstats/demo/managed-certificate.yaml @@ -0,0 +1,7 @@ +apiVersion: networking.gke.io/v1 +kind: ManagedCertificate +metadata: + name: sumstats-gnomad-cert +spec: + domains: + - sumstats.gnomad.the-tgg.dev