Files @ 65db1ba4cbb3
Branch filter:

Location: symposion_app/k8s/deployment_template.jsonnet - annotation

James Polley
Set the correct class for new deployments

to ensure that they get bound to the correct ingress service
0231f3ff468f
65bed40fafa0
65bed40fafa0
3d5ed5c5160a
de17d506a485
de17d506a485
65bed40fafa0
de17d506a485
de17d506a485
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
00ddfc00b8a5
00ddfc00b8a5
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
de17d506a485
de17d506a485
65bed40fafa0
00ddfc00b8a5
00ddfc00b8a5
65bed40fafa0
65bed40fafa0
65bed40fafa0
de17d506a485
de17d506a485
65bed40fafa0
65bed40fafa0
65bed40fafa0
de17d506a485
de17d506a485
00ddfc00b8a5
00ddfc00b8a5
65bed40fafa0
65bed40fafa0
65bed40fafa0
de17d506a485
de17d506a485
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
00ddfc00b8a5
00ddfc00b8a5
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
0231f3ff468f
0231f3ff468f
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
de17d506a485
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
c375e6df78dd
c375e6df78dd
c375e6df78dd
c375e6df78dd
20c6da375e2c
20c6da375e2c
20c6da375e2c
20c6da375e2c
65bed40fafa0
0231f3ff468f
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
de17d506a485
de17d506a485
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
de17d506a485
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
de17d506a485
65bed40fafa0
65bed40fafa0
65bed40fafa0
de17d506a485
65bed40fafa0
de17d506a485
de17d506a485
de17d506a485
de17d506a485
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
65bed40fafa0
de17d506a485
de17d506a485
81db7ff00d7b
81db7ff00d7b
81db7ff00d7b
81db7ff00d7b
81db7ff00d7b
81db7ff00d7b
81db7ff00d7b
81db7ff00d7b
65db1ba4cbb3
81db7ff00d7b
81db7ff00d7b
81db7ff00d7b
81db7ff00d7b
81db7ff00d7b
81db7ff00d7b
81db7ff00d7b
81db7ff00d7b
81db7ff00d7b
de17d506a485
function (slug, sha) {
  
  local app = "symposion-app-" + slug,
  local namespace = "rego-review",
  local domain = slug + ".dev.lca2019.org",
  
  "deployment.json":
    {
      "apiVersion": "v1",
      "items": [
        {
          "apiVersion": "v1",
          "kind": "Service",
          "metadata": {
            "labels": {
              "app": "symposion-app",
              "slug": slug
            },
            "name": app,
            "namespace": namespace
          },
          "spec": {
            "ports": [
              {
                "port": 8000,
                "protocol": "TCP",
                "targetPort": 8000
              }
            ],
            "selector": {
              "app": "symposion-app",
              "slug": slug
            },
            "sessionAffinity": "None",
            "type": "ClusterIP"
          }
        },
        {
          "apiVersion": "extensions/v1beta1",
          "kind": "Deployment",
          "metadata": {
            "labels": {
              "app": "symposion-app",
              "slug": slug,
            },
            "name": app,
            "namespace": namespace
          },
          "spec": {
            "replicas": 1,
            "revisionHistoryLimit": 1,
            "selector": {
              "matchLabels": {
                "app": "symposion-app",
                "slug": slug
              }
            },
            "strategy": {
              "rollingUpdate": {
                "maxSurge": 1,
                "maxUnavailable": 1
              },
              "type": "RollingUpdate"
            },
            "template": {
              "metadata": {
                "labels": {
                  "app": "symposion-app",
                  "slug": slug
                }
              },
              "spec": {
                "containers": [
                  {
                    "env": [
                      {
                        "name": "SYMPOSION_APP_DEBUG",
                        "value": "1"
                      },
                      {
                        "name": "DJANGO_SECRET_KEY",
                        "value": "paGhahQuain5ohYoh0moorai"
                      },
                      {
                        "name": "DATABASE_URL",
                        "value": "sqlite:////tmp/symposion.sqlite"
                      },
                      {
                        "name": "GCS_BUCKET",
                        "value": "CEA51A5-A613-4AEF-A9FB-D0A57D77C13B"
                      },
                      {
                        "name": "GOOGLE_APPLICATION_CREDENTIALS",
                        "value": "/dev/null"
                      },
                      {
                        "name": "STRIPE_PUBLIC_KEY",
                        "value": "5CEA51A5-A613-4AEF-A9FB-D0A57D77C13B"
                      },
                      {
                        "name": "STRIPE_SECRET_KEY",
                        "value": "5CEA51A5-A613-4AEF-A9FB-D0A57D77C13B"
                      },
                      {
                        "name": "SYMPOSION_DEV_MODE",
                        "value": "LAPTOP"
                      },
                      {
                        "name": "ANALYTICS_KEY",
                        "value": "UA-000000000-1"
                      }
                    ],
                    "image": "asia.gcr.io/linuxconfsydney/symposion_app_2019_dev:" + sha,
                    "imagePullPolicy": "Always",
                    "livenessProbe": {
                      "failureThreshold": 3,
                      "httpGet": {
                        "path": "/admin/login/",
                        "port": 8000,
                        "scheme": "HTTP"
                      },
                      "initialDelaySeconds": 120,
                      "periodSeconds": 10,
                      "successThreshold": 1,
                      "timeoutSeconds": 2
                    },
                    "name": "symposion-app",
                    "ports": [
                      {
                        "containerPort": 8000,
                        "protocol": "TCP"
                      }
                    ],
                    "resources": {},
                    "terminationMessagePath": "/dev/termination-log",
                    "terminationMessagePolicy": "File"
                  }
                ],
                "dnsPolicy": "ClusterFirst",
                "restartPolicy": "Always",
                "schedulerName": "default-scheduler",
                "securityContext": {},
                "terminationGracePeriodSeconds": 30
              }
            }
          }
        }
      ],
      "kind": "List"
    },
  "ingress-patch.json": [
      {
        "op": "add",
        "path": "/spec/rules/-",
        "value": {
          "host": domain,
          "http": {
            "paths": [
              {
                "backend": {
                  "serviceName": app,
                  "servicePort": 8000
                },
                "path": "/"
              }
            ]
          }
        }
      },
      {
        "op": "add",
        "path": "/spec/tls/0/hosts/-",
        "value": domain
      }
  ],
   "certificate-patch.json": [
      {
        "op": "add",
        "path": "/spec/acme/config/-",
        "value": {
          "domains": [ domain ],
          "http01": {
            "ingress": "",
            "ingressClass": "nginx-review"
          }
        }
      },
      {
        "op": "add",
        "path": "/spec/dnsNames/-",
        "value": domain
      }
  ]
}