Files @ 304436881bff
Branch filter:

Location: symposion_app/k8s/deployment_template.jsonnet

James Polley
Remove status stanzas
function (slug) {

  local namespace = slug + "-rego-dev",
  local domain = slug + ".dev.lca2019.org",
  local tls_certname = slug + "-dev-lca2019-org",
  local tls_secret = tls_certname + "-tls",
  
  "apiVersion": "v1",
  "items": [
    {
      "apiVersion": "v1",
      "kind": "Namespace",
      "metadata": {
        "name": namespace,
        "namespace": "",
      },
      "spec": {
        "finalizers": [
          "kubernetes"
        ]
      }
    },
    {
      "apiVersion": "certmanager.k8s.io/v1alpha1",
      "kind": "Certificate",
      "metadata": {
        "name": tls_certname,
        "namespace": namespace
      },
      "spec": {
        "acme": {
          "config": [
            {
              "domains": [
                domain
              ],
              "http01": {
                "ingress": "",
                "ingressClass": "nginx"
              }
            }
          ]
        },
        "commonName": domain,
        "issuerRef": {
          "kind": "ClusterIssuer",
          "name": "letsencrypt-prod"
        },
        "secretName": tls_secret
      }
    },
    {
      "apiVersion": "extensions/v1beta1",
      "kind": "Ingress",
      "metadata": {
        "name": "symposion-app-ingress",
        "namespace": namespace
      },
      "spec": {
        "backend": {
          "serviceName": "symposion-app",
          "servicePort": 80
        },
        "rules": [
          {
            "host": domain,
            "http": {
              "paths": [
                {
                  "backend": {
                    "serviceName": "symposion-app",
                    "servicePort": 8000
                  },
                  "path": "/"
                }
              ]
            }
          }
        ],
        "tls": [
          {
            "hosts": [
              domain
            ],
            "secretName": tls_secret
          }
        ]
      }
    },
    {
      "apiVersion": "v1",
      "kind": "Service",
      "metadata": {
        "labels": {
          "app": "symposion-app"
        },
        "name": "symposion-app",
        "namespace": namespace
      },
      "spec": {
        "ports": [
          {
            "port": 8000,
            "protocol": "TCP",
            "targetPort": 8000
          }
        ],
        "selector": {
          "app": "symposion-app"
        },
        "sessionAffinity": "None",
        "type": "ClusterIP"
      }
    },
    {
      "apiVersion": "extensions/v1beta1",
      "kind": "Deployment",
      "metadata": {
        "labels": {
          "app": "symposion-app"
        },
        "name": "symposion-app",
        "namespace": namespace
      },
      "spec": {
        "replicas": 1,
        "revisionHistoryLimit": 1,
        "selector": {
          "matchLabels": {
            "app": "symposion-app"
          }
        },
        "strategy": {
          "rollingUpdate": {
            "maxSurge": 1,
            "maxUnavailable": 1
          },
          "type": "RollingUpdate"
        },
        "template": {
          "metadata": {
            "labels": {
              "app": "symposion-app"
            }
          },
          "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"
                  },
                ],
                "image": "asia.gcr.io/linuxconfsydney/symposion_app_2019_dev:" + slug,
                "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,
            "volumes": [
              {
                "hostPath": {
                  "path": "/etc/ssl/certs",
                  "type": ""
                },
                "name": "ssl-certs"
              }
            ]
          }
        }
      }
    }
  ],
  "kind": "List"
}