configMap: {}
service: {}
deployment: {}
daemonSet: {}
statefulSet: {}
Component :: string
_spec: {
    Name :: string
    metadata: {
        name: string
        labels: {
            component: string
        }
    }
    spec: {
        selector: {}
        template: {
            metadata: {
                labels: {
                    component: string
                    app:       string
                    domain:    "prod"
                }
            }
            spec: {
                containers: [{
                    name: string
                    ports: []
                }]
            }
        }
    }
}


configMap: {}
service: {}
deployment: {}
daemonSet: {}
statefulSet: {}
Component :: "frontend"
_spec: {
    Name :: string
    metadata: {
        name: string
        labels: {
            component: "frontend"
        }
    }
    spec: {
        selector: {}
        template: {
            metadata: {
                labels: {
                    component: "frontend"
                    app:       string
                    domain:    "prod"
                }
            }
            spec: {
                containers: [{
                    name: string
                    ports: []
                }]
            }
        }
    }
}


configMap: {}
service: {
    bartender: {
        kind:       "Service"
        apiVersion: "v1"
        metadata: {
            name: "bartender"
            labels: {
                component: "frontend"
                app:       "bartender"
                domain:    "prod"
            }
        }
        spec: {
            selector: {
                component: "frontend"
                app:       "bartender"
                domain:    "prod"
            }
            ports: [{
                name:       "client"
                protocol:   "TCP"
                port:       7080
                targetPort: 7080
            }]
        }
    }
}
deployment: {
    bartender: {
        Name ::     "bartender"
        kind:       "Deployment"
        apiVersion: "apps/v1"
        metadata: {
            name: "bartender"
            labels: {
                component: "frontend"
            }
        }
        spec: {
            selector: {}
            template: {
                metadata: {
                    labels: {
                        component: "frontend"
                        app:       "bartender"
                        domain:    "prod"
                    }
                    annotations: {
                        "prometheus.io.scrape": "true"
                        "prometheus.io.port":   "7080"
                    }
                }
                spec: {
                    containers: [{
                        name:  "bartender"
                        image: "gcr.io/myproj/bartender:v0.1.34"
                        args: []
                        ports: [{
                            containerPort: 7080
                            _export:       true
                        }]
                    }]
                }
            }
            replicas: 1
        }
    }
}
daemonSet: {}
statefulSet: {}
Component :: "frontend"
_spec: {
    Name :: string
    metadata: {
        name: string
        labels: {
            component: "frontend"
        }
    }
    spec: {
        selector: {}
        template: {
            metadata: {
                labels: {
                    component: "frontend"
                    app:       string
                    domain:    "prod"
                }
            }
            spec: {
                containers: [{
                    name: string
                    ports: []
                }]
            }
        }
    }
}


configMap: {}
service: {
    breaddispatcher: {
        kind:       "Service"
        apiVersion: "v1"
        metadata: {
            name: "breaddispatcher"
            labels: {
                component: "frontend"
                app:       "breaddispatcher"
                domain:    "prod"
            }
        }
        spec: {
            selector: {
                component: "frontend"
                app:       "breaddispatcher"
                domain:    "prod"
            }
            ports: [{
                name:       "client"
                protocol:   "TCP"
                port:       7080
                targetPort: 7080
            }]
        }
    }
}
deployment: {
    breaddispatcher: {
        Name ::     "breaddispatcher"
        kind:       "Deployment"
        apiVersion: "apps/v1"
        metadata: {
            name: "breaddispatcher"
            labels: {
                component: "frontend"
            }
        }
        spec: {
            selector: {}
            template: {
                metadata: {
                    labels: {
                        component: "frontend"
                        app:       "breaddispatcher"
                        domain:    "prod"
                    }
                    annotations: {
                        "prometheus.io.scrape": "true"
                        "prometheus.io.port":   "7080"
                    }
                }
                spec: {
                    containers: [{
                        name:  "breaddispatcher"
                        image: "gcr.io/myproj/breaddispatcher:v0.3.24"
                        args: ["-etcd=etcd:2379", "-event-server=events:7788"]
                        ports: [{
                            containerPort: 7080
                            _export:       true
                        }]
                    }]
                }
            }
            replicas: 1
        }
    }
}
daemonSet: {}
statefulSet: {}
Component :: "frontend"
_spec: {
    Name :: string
    metadata: {
        name: string
        labels: {
            component: "frontend"
        }
    }
    spec: {
        selector: {}
        template: {
            metadata: {
                labels: {
                    component: "frontend"
                    app:       string
                    domain:    "prod"
                }
            }
            spec: {
                containers: [{
                    name: string
                    ports: []
                }]
            }
        }
    }
}


configMap: {}
service: {
    host: {
        kind:       "Service"
        apiVersion: "v1"
        metadata: {
            name: "host"
            labels: {
                component: "frontend"
                app:       "host"
                domain:    "prod"
            }
        }
        spec: {
            selector: {
                component: "frontend"
                app:       "host"
                domain:    "prod"
            }
            ports: [{
                name:       "client"
                protocol:   "TCP"
                port:       7080
                targetPort: 7080
            }]
        }
    }
}
deployment: {
    host: {
        Name ::     "host"
        kind:       "Deployment"
        apiVersion: "apps/v1"
        metadata: {
            name: "host"
            labels: {
                component: "frontend"
            }
        }
        spec: {
            selector: {}
            template: {
                metadata: {
                    labels: {
                        component: "frontend"
                        app:       "host"
                        domain:    "prod"
                    }
                    annotations: {
                        "prometheus.io.scrape": "true"
                        "prometheus.io.port":   "7080"
                    }
                }
                spec: {
                    containers: [{
                        name:  "host"
                        image: "gcr.io/myproj/host:v0.1.10"
                        args: []
                        ports: [{
                            containerPort: 7080
                            _export:       true
                        }]
                    }]
                }
            }
            replicas: 2
        }
    }
}
daemonSet: {}
statefulSet: {}
Component :: "frontend"
_spec: {
    Name :: string
    metadata: {
        name: string
        labels: {
            component: "frontend"
        }
    }
    spec: {
        selector: {}
        template: {
            metadata: {
                labels: {
                    component: "frontend"
                    app:       string
                    domain:    "prod"
                }
            }
            spec: {
                containers: [{
                    name: string
                    ports: []
                }]
            }
        }
    }
}


configMap: {}
service: {
    maitred: {
        kind:       "Service"
        apiVersion: "v1"
        metadata: {
            name: "maitred"
            labels: {
                component: "frontend"
                app:       "maitred"
                domain:    "prod"
            }
        }
        spec: {
            selector: {
                component: "frontend"
                app:       "maitred"
                domain:    "prod"
            }
            ports: [{
                name:       "client"
                protocol:   "TCP"
                port:       7080
                targetPort: 7080
            }]
        }
    }
}
deployment: {
    maitred: {
        Name ::     "maitred"
        kind:       "Deployment"
        apiVersion: "apps/v1"
        metadata: {
            name: "maitred"
            labels: {
                component: "frontend"
            }
        }
        spec: {
            selector: {}
            template: {
                metadata: {
                    labels: {
                        component: "frontend"
                        app:       "maitred"
                        domain:    "prod"
                    }
                    annotations: {
                        "prometheus.io.scrape": "true"
                        "prometheus.io.port":   "7080"
                    }
                }
                spec: {
                    containers: [{
                        name:  "maitred"
                        image: "gcr.io/myproj/maitred:v0.0.4"
                        args: []
                        ports: [{
                            containerPort: 7080
                            _export:       true
                        }]
                    }]
                }
            }
            replicas: 1
        }
    }
}
daemonSet: {}
statefulSet: {}
Component :: "frontend"
_spec: {
    Name :: string
    metadata: {
        name: string
        labels: {
            component: "frontend"
        }
    }
    spec: {
        selector: {}
        template: {
            metadata: {
                labels: {
                    component: "frontend"
                    app:       string
                    domain:    "prod"
                }
            }
            spec: {
                containers: [{
                    name: string
                    ports: []
                }]
            }
        }
    }
}


configMap: {}
service: {
    valeter: {
        kind:       "Service"
        apiVersion: "v1"
        metadata: {
            name: "valeter"
            labels: {
                component: "frontend"
                app:       "valeter"
                domain:    "prod"
            }
        }
        spec: {
            selector: {
                component: "frontend"
                app:       "valeter"
                domain:    "prod"
            }
            ports: [{
                name:       "http"
                protocol:   "TCP"
                port:       8080
                targetPort: 8080
            }]
        }
    }
}
deployment: {
    valeter: {
        Name ::     "valeter"
        kind:       "Deployment"
        apiVersion: "apps/v1"
        metadata: {
            name: "valeter"
            labels: {
                component: "frontend"
            }
        }
        spec: {
            selector: {}
            template: {
                metadata: {
                    labels: {
                        component: "frontend"
                        app:       "valeter"
                        domain:    "prod"
                    }
                    annotations: {
                        "prometheus.io.scrape": "true"
                        "prometheus.io.port":   "8080"
                    }
                }
                spec: {
                    containers: [{
                        name:  "valeter"
                        image: "gcr.io/myproj/valeter:v0.0.4"
                        args: ["-http=:8080", "-etcd=etcd:2379"]
                        ports: [{
                            containerPort: 8080
                            _export:       true
                        }]
                    }]
                }
            }
            replicas: 1
        }
    }
}
daemonSet: {}
statefulSet: {}
Component :: "frontend"
_spec: {
    Name :: string
    metadata: {
        name: string
        labels: {
            component: "frontend"
        }
    }
    spec: {
        selector: {}
        template: {
            metadata: {
                labels: {
                    component: "frontend"
                    app:       string
                    domain:    "prod"
                }
            }
            spec: {
                containers: [{
                    name: string
                    ports: []
                }]
            }
        }
    }
}


configMap: {}
service: {
    waiter: {
        kind:       "Service"
        apiVersion: "v1"
        metadata: {
            name: "waiter"
            labels: {
                component: "frontend"
                app:       "waiter"
                domain:    "prod"
            }
        }
        spec: {
            selector: {
                component: "frontend"
                app:       "waiter"
                domain:    "prod"
            }
            ports: [{
                name:       "client"
                protocol:   "TCP"
                port:       7080
                targetPort: 7080
            }]
        }
    }
}
deployment: {
    waiter: {
        Name ::     "waiter"
        kind:       "Deployment"
        apiVersion: "apps/v1"
        metadata: {
            name: "waiter"
            labels: {
                component: "frontend"
            }
        }
        spec: {
            selector: {}
            template: {
                metadata: {
                    labels: {
                        component: "frontend"
                        app:       "waiter"
                        domain:    "prod"
                    }
                    annotations: {
                        "prometheus.io.scrape": "true"
                        "prometheus.io.port":   "7080"
                    }
                }
                spec: {
                    containers: [{
                        name:  "waiter"
                        image: "gcr.io/myproj/waiter:v0.3.0"
                        ports: [{
                            containerPort: 7080
                            _export:       true
                        }]
                    }]
                }
            }
            replicas: 5
        }
    }
}
daemonSet: {}
statefulSet: {}
Component :: "frontend"
_spec: {
    Name :: string
    metadata: {
        name: string
        labels: {
            component: "frontend"
        }
    }
    spec: {
        selector: {}
        template: {
            metadata: {
                labels: {
                    component: "frontend"
                    app:       string
                    domain:    "prod"
                }
            }
            spec: {
                containers: [{
                    name: string
                    ports: []
                }]
            }
        }
    }
}


configMap: {}
service: {
    waterdispatcher: {
        kind:       "Service"
        apiVersion: "v1"
        metadata: {
            name: "waterdispatcher"
            labels: {
                component: "frontend"
                app:       "waterdispatcher"
                domain:    "prod"
            }
        }
        spec: {
            selector: {
                component: "frontend"
                app:       "waterdispatcher"
                domain:    "prod"
            }
            ports: [{
                name:       "http"
                protocol:   "TCP"
                port:       7080
                targetPort: 7080
            }]
        }
    }
}
deployment: {
    waterdispatcher: {
        Name ::     "waterdispatcher"
        kind:       "Deployment"
        apiVersion: "apps/v1"
        metadata: {
            name: "waterdispatcher"
            labels: {
                component: "frontend"
            }
        }
        spec: {
            selector: {}
            template: {
                metadata: {
                    labels: {
                        component: "frontend"
                        app:       "waterdispatcher"
                        domain:    "prod"
                    }
                    annotations: {
                        "prometheus.io.scrape": "true"
                        "prometheus.io.port":   "7080"
                    }
                }
                spec: {
                    containers: [{
                        name:  "waterdispatcher"
                        image: "gcr.io/myproj/waterdispatcher:v0.0.48"
                        args: ["-http=:8080", "-etcd=etcd:2379"]
                        ports: [{
                            containerPort: 7080
                            _export:       true
                        }]
                    }]
                }
            }
            replicas: 1
        }
    }
}
daemonSet: {}
statefulSet: {}
Component :: "frontend"
_spec: {
    Name :: string
    metadata: {
        name: string
        labels: {
            component: "frontend"
        }
    }
    spec: {
        selector: {}
        template: {
            metadata: {
                labels: {
                    component: "frontend"
                    app:       string
                    domain:    "prod"
                }
            }
            spec: {
                containers: [{
                    name: string
                    ports: []
                }]
            }
        }
    }
}


configMap: {}
service: {}
deployment: {}
daemonSet: {}
statefulSet: {}
Component :: "infra"
_spec: {
    Name :: string
    metadata: {
        name: string
        labels: {
            component: "infra"
        }
    }
    spec: {
        selector: {}
        template: {
            metadata: {
                labels: {
                    component: "infra"
                    app:       string
                    domain:    "prod"
                }
            }
            spec: {
                containers: [{
                    name: string
                    ports: []
                }]
            }
        }
    }
}


configMap: {}
service: {
    download: {
        kind:       "Service"
        apiVersion: "v1"
        metadata: {
            name: "download"
            labels: {
                component: "infra"
                app:       "download"
                domain:    "prod"
            }
        }
        spec: {
            selector: {
                component: "infra"
                app:       "download"
                domain:    "prod"
            }
            ports: [{
                name:       "client"
                protocol:   "TCP"
                port:       7080
                targetPort: 7080
            }]
        }
    }
}
deployment: {
    download: {
        Name ::     "download"
        kind:       "Deployment"
        apiVersion: "apps/v1"
        metadata: {
            name: "download"
            labels: {
                component: "infra"
            }
        }
        spec: {
            selector: {}
            template: {
                metadata: {
                    labels: {
                        component: "infra"
                        app:       "download"
                        domain:    "prod"
                    }
                }
                spec: {
                    containers: [{
                        name:  "download"
                        image: "gcr.io/myproj/download:v0.0.2"
                        ports: [{
                            containerPort: 7080
                            _export:       true
                        }]
                    }]
                }
            }
            replicas: 1
        }
    }
}
daemonSet: {}
statefulSet: {}
Component :: "infra"
_spec: {
    Name :: string
    metadata: {
        name: string
        labels: {
            component: "infra"
        }
    }
    spec: {
        selector: {}
        template: {
            metadata: {
                labels: {
                    component: "infra"
                    app:       string
                    domain:    "prod"
                }
            }
            spec: {
                containers: [{
                    name: string
                    ports: []
                }]
            }
        }
    }
}


configMap: {}
service: {
    etcd: {
        kind:       "Service"
        apiVersion: "v1"
        metadata: {
            name: "etcd"
            labels: {
                component: "infra"
                app:       "etcd"
                domain:    "prod"
            }
        }
        spec: {
            selector: {
                component: "infra"
                app:       "etcd"
                domain:    "prod"
            }
            ports: [{
                name:       "client"
                protocol:   "TCP"
                port:       2379
                targetPort: 2379
            }, {
                name:       "peer"
                protocol:   "TCP"
                port:       2380
                targetPort: 2380
            }]
            clusterIP: "None"
        }
    }
}
deployment: {}
daemonSet: {}
statefulSet: {
    etcd: {
        Name ::     "etcd"
        kind:       "StatefulSet"
        apiVersion: "apps/v1"
        metadata: {
            name: "etcd"
            labels: {
                component: "infra"
            }
        }
        spec: {
            selector: {}
            template: {
                metadata: {
                    labels: {
                        component: "infra"
                        app:       "etcd"
                        domain:    "prod"
                    }
                    annotations: {
                        "prometheus.io.scrape": "true"
                        "prometheus.io.port":   "2379"
                    }
                }
                spec: {
                    containers: [{
                        name: "etcd"
                        env: [{
                            name:  "ETCDCTL_API"
                            value: "3"
                        }, {
                            name:  "ETCD_AUTO_COMPACTION_RETENTION"
                            value: "4"
                        }, {
                            name: "NAME"
                            valueFrom: {
                                fieldRef: {
                                    fieldPath: "metadata.name"
                                }
                            }
                        }, {
                            name: "IP"
                            valueFrom: {
                                fieldRef: {
                                    fieldPath: "status.podIP"
                                }
                            }
                        }]
                        image: "quay.io/coreos/etcd:v3.3.10"
                        command: ["/usr/local/bin/etcd"]
                        args: ["-name", "$(NAME)", "-data-dir", "/data/etcd3", "-initial-advertise-peer-urls", "http://$(IP):2380", "-listen-peer-urls", "http://$(IP):2380", "-listen-client-urls", "http://$(IP):2379,http://127.0.0.1:2379", "-advertise-client-urls", "http://$(IP):2379", "-discovery", "https://discovery.etcd.io/xxxxxx"]
                        ports: [{
                            name:          "client"
                            containerPort: 2379
                            _export:       true
                        }, {
                            name:          "peer"
                            containerPort: 2380
                            _export:       true
                        }]
                        volumeMounts: [{
                            name:      "etcd3"
                            mountPath: "/data"
                        }]
                        livenessProbe: {
                            initialDelaySeconds: 30
                            httpGet: {
                                path: "/health"
                                port: "client"
                            }
                        }
                    }]
                    terminationGracePeriodSeconds: 10
                    affinity: {
                        podAntiAffinity: {
                            requiredDuringSchedulingIgnoredDuringExecution: [{
                                labelSelector: {
                                    matchExpressions: [{
                                        key:      "app"
                                        operator: "In"
                                        values: ["etcd"]
                                    }]
                                }
                                topologyKey: "kubernetes.io/hostname"
                            }]
                        }
                    }
                }
            }
            replicas: 3
            volumeClaimTemplates: [{
                metadata: {
                    name: "etcd3"
                    annotations: {
                        "volume.alpha.kubernetes.io/storage-class": "default"
                    }
                }
                spec: {
                    resources: {
                        requests: {
                            storage: "10Gi"
                        }
                    }
                    accessModes: ["ReadWriteOnce"]
                }
            }]
            serviceName: "etcd"
        }
    }
}
Component :: "infra"
_spec: {
    Name :: string
    metadata: {
        name: string
        labels: {
            component: "infra"
        }
    }
    spec: {
        selector: {}
        template: {
            metadata: {
                labels: {
                    component: "infra"
                    app:       string
                    domain:    "prod"
                }
            }
            spec: {
                containers: [{
                    name: string
                    ports: []
                }]
            }
        }
    }
}


configMap: {}
service: {
    events: {
        kind:       "Service"
        apiVersion: "v1"
        metadata: {
            name: "events"
            labels: {
                component: "infra"
                app:       "events"
                domain:    "prod"
            }
        }
        spec: {
            selector: {
                component: "infra"
                app:       "events"
                domain:    "prod"
            }
            ports: [{
                name:       "grpc"
                protocol:   "TCP"
                port:       7788
                targetPort: 7788
            }]
        }
    }
}
deployment: {
    events: {
        Name ::     "events"
        kind:       "Deployment"
        apiVersion: "apps/v1"
        metadata: {
            name: "events"
            labels: {
                component: "infra"
            }
        }
        spec: {
            selector: {}
            template: {
                metadata: {
                    labels: {
                        component: "infra"
                        app:       "events"
                        domain:    "prod"
                    }
                    annotations: {
                        "prometheus.io.scrape": "true"
                        "prometheus.io.port":   "7080"
                    }
                }
                spec: {
                    volumes: [{
                        name: "secret-volume"
                        secret: {
                            secretName: "biz-secrets"
                        }
                    }]
                    containers: [{
                        name:  "events"
                        image: "gcr.io/myproj/events:v0.1.31"
                        args: ["-cert=/etc/ssl/server.pem", "-key=/etc/ssl/server.key", "-grpc=:7788"]
                        ports: [{
                            containerPort: 7080
                            _export:       false
                        }, {
                            containerPort: 7788
                            _export:       true
                        }]
                        volumeMounts: [{
                            name:      "secret-volume"
                            mountPath: "/etc/ssl"
                        }]
                    }]
                    affinity: {
                        podAntiAffinity: {
                            requiredDuringSchedulingIgnoredDuringExecution: [{
                                labelSelector: {
                                    matchExpressions: [{
                                        key:      "app"
                                        operator: "In"
                                        values: ["events"]
                                    }]
                                }
                                topologyKey: "kubernetes.io/hostname"
                            }]
                        }
                    }
                }
            }
            replicas: 2
        }
    }
}
daemonSet: {}
statefulSet: {}
Component :: "infra"
_spec: {
    Name :: string
    metadata: {
        name: string
        labels: {
            component: "infra"
        }
    }
    spec: {
        selector: {}
        template: {
            metadata: {
                labels: {
                    component: "infra"
                    app:       string
                    domain:    "prod"
                }
            }
            spec: {
                containers: [{
                    name: string
                    ports: []
                }]
            }
        }
    }
}


configMap: {}
service: {
    tasks: {
        kind:       "Service"
        apiVersion: "v1"
        metadata: {
            name: "tasks"
            labels: {
                component: "infra"
                app:       "tasks"
                domain:    "prod"
            }
        }
        spec: {
            type: "LoadBalancer"
            selector: {
                component: "infra"
                app:       "tasks"
                domain:    "prod"
            }
            ports: [{
                name:       "http"
                protocol:   "TCP"
                port:       443
                targetPort: 7443
            }]
            loadBalancerIP: "1.2.3.4"
        }
    }
}
deployment: {
    tasks: {
        Name ::     "tasks"
        kind:       "Deployment"
        apiVersion: "apps/v1"
        metadata: {
            name: "tasks"
            labels: {
                component: "infra"
            }
        }
        spec: {
            selector: {}
            template: {
                metadata: {
                    labels: {
                        component: "infra"
                        app:       "tasks"
                        domain:    "prod"
                    }
                    annotations: {
                        "prometheus.io.scrape": "true"
                        "prometheus.io.port":   "7080"
                    }
                }
                spec: {
                    volumes: [{
                        name: "secret-volume"
                        secret: {
                            secretName: "star-example-com-secrets"
                        }
                    }]
                    containers: [{
                        name:  "tasks"
                        image: "gcr.io/myproj/tasks:v0.2.6"
                        ports: [{
                            containerPort: 7080
                            _export:       false
                        }, {
                            containerPort: 7443
                            _export:       true
                        }]
                        volumeMounts: [{
                            name:      "secret-volume"
                            mountPath: "/etc/ssl"
                        }]
                    }]
                }
            }
            replicas: 1
        }
    }
}
daemonSet: {}
statefulSet: {}
Component :: "infra"
_spec: {
    Name :: string
    metadata: {
        name: string
        labels: {
            component: "infra"
        }
    }
    spec: {
        selector: {}
        template: {
            metadata: {
                labels: {
                    component: "infra"
                    app:       string
                    domain:    "prod"
                }
            }
            spec: {
                containers: [{
                    name: string
                    ports: []
                }]
            }
        }
    }
}


configMap: {}
service: {
    updater: {
        kind:       "Service"
        apiVersion: "v1"
        metadata: {
            name: "updater"
            labels: {
                component: "infra"
                app:       "updater"
                domain:    "prod"
            }
        }
        spec: {
            selector: {
                component: "infra"
                app:       "updater"
                domain:    "prod"
            }
            ports: [{
                name:       "client"
                protocol:   "TCP"
                port:       8080
                targetPort: 8080
            }]
        }
    }
}
deployment: {
    updater: {
        Name ::     "updater"
        kind:       "Deployment"
        apiVersion: "apps/v1"
        metadata: {
            name: "updater"
            labels: {
                component: "infra"
            }
        }
        spec: {
            selector: {}
            template: {
                metadata: {
                    labels: {
                        component: "infra"
                        app:       "updater"
                        domain:    "prod"
                    }
                }
                spec: {
                    volumes: [{
                        name: "secret-updater"
                        secret: {
                            secretName: "updater-secrets"
                        }
                    }]
                    containers: [{
                        name:  "updater"
                        image: "gcr.io/myproj/updater:v0.1.0"
                        args: ["-key=/etc/certs/updater.pem"]
                        ports: [{
                            containerPort: 8080
                            _export:       true
                        }]
                        volumeMounts: [{
                            name:      "secret-updater"
                            mountPath: "/etc/certs"
                        }]
                    }]
                }
            }
            replicas: 1
        }
    }
}
daemonSet: {}
statefulSet: {}
Component :: "infra"
_spec: {
    Name :: string
    metadata: {
        name: string
        labels: {
            component: "infra"
        }
    }
    spec: {
        selector: {}
        template: {
            metadata: {
                labels: {
                    component: "infra"
                    app:       string
                    domain:    "prod"
                }
            }
            spec: {
                containers: [{
                    name: string
                    ports: []
                }]
            }
        }
    }
}


configMap: {}
service: {
    watcher: {
        kind:       "Service"
        apiVersion: "v1"
        metadata: {
            name: "watcher"
            labels: {
                component: "infra"
                app:       "watcher"
                domain:    "prod"
            }
        }
        spec: {
            type: "LoadBalancer"
            selector: {
                component: "infra"
                app:       "watcher"
                domain:    "prod"
            }
            ports: [{
                name:       "http"
                protocol:   "TCP"
                port:       7788
                targetPort: 7788
            }]
            loadBalancerIP: "1.2.3.4."
        }
    }
}
deployment: {
    watcher: {
        Name ::     "watcher"
        kind:       "Deployment"
        apiVersion: "apps/v1"
        metadata: {
            name: "watcher"
            labels: {
                component: "infra"
            }
        }
        spec: {
            selector: {}
            template: {
                metadata: {
                    labels: {
                        component: "infra"
                        app:       "watcher"
                        domain:    "prod"
                    }
                }
                spec: {
                    volumes: [{
                        name: "secret-volume"
                        secret: {
                            secretName: "star-example-com-secrets"
                        }
                    }]
                    containers: [{
                        name:  "watcher"
                        image: "gcr.io/myproj/watcher:v0.1.0"
                        ports: [{
                            containerPort: 7080
                            _export:       false
                        }, {
                            containerPort: 7788
                            _export:       true
                        }]
                        volumeMounts: [{
                            name:      "secret-volume"
                            mountPath: "/etc/ssl"
                        }]
                    }]
                }
            }
            replicas: 1
        }
    }
}
daemonSet: {}
statefulSet: {}
Component :: "infra"
_spec: {
    Name :: string
    metadata: {
        name: string
        labels: {
            component: "infra"
        }
    }
    spec: {
        selector: {}
        template: {
            metadata: {
                labels: {
                    component: "infra"
                    app:       string
                    domain:    "prod"
                }
            }
            spec: {
                containers: [{
                    name: string
                    ports: []
                }]
            }
        }
    }
}


configMap: {}
service: {}
deployment: {}
daemonSet: {}
statefulSet: {}
Component :: "kitchen"
_spec: {
    Name :: string
    metadata: {
        name: string
        labels: {
            component: "kitchen"
        }
    }
    spec: {
        selector: {}
        template: {
            metadata: {
                labels: {
                    component: "kitchen"
                    app:       string
                    domain:    "prod"
                }
            }
            spec: {
                containers: [{
                    name: string
                    ports: []
                }]
            }
        }
    }
}


configMap: {}
service: {
    caller: {
        kind:       "Service"
        apiVersion: "v1"
        metadata: {
            name: "caller"
            labels: {
                component: "kitchen"
                app:       "caller"
                domain:    "prod"
            }
        }
        spec: {
            selector: {
                component: "kitchen"
                app:       "caller"
                domain:    "prod"
            }
            ports: [{
                name:       "client"
                protocol:   "TCP"
                port:       8080
                targetPort: 8080
            }]
        }
    }
}
deployment: {
    caller: {
        Name ::     "caller"
        kind:       "Deployment"
        apiVersion: "apps/v1"
        metadata: {
            name: "caller"
            labels: {
                component: "kitchen"
            }
        }
        spec: {
            selector: {}
            template: {
                metadata: {
                    labels: {
                        component: "kitchen"
                        app:       "caller"
                        domain:    "prod"
                    }
                    annotations: {
                        "prometheus.io.scrape": "true"
                    }
                }
                spec: {
                    volumes: [{
                        name: "ssd-caller"
                        gcePersistentDisk: {
                            fsType: "ext4"
                            pdName: "ssd-caller"
                        }
                    }, {
                        name: "secret-caller"
                        secret: {
                            secretName: "caller-secrets"
                        }
                    }, {
                        name: "secret-ssh-key"
                        secret: {
                            secretName: "secrets"
                        }
                    }]
                    containers: [{
                        name:  "caller"
                        image: "gcr.io/myproj/caller:v0.20.14"
                        args: ["-env=prod", "-key=/etc/certs/client.key", "-cert=/etc/certs/client.pem", "-ca=/etc/certs/servfx.ca", "-ssh-tunnel-key=/sslcerts/tunnel-private.pem", "-logdir=/logs", "-event-server=events:7788"]
                        ports: [{
                            containerPort: 8080
                            _export:       true
                        }]
                        volumeMounts: [{
                            name:      "ssd-caller"
                            mountPath: "/logs"
                        }, {
                            name:      "secret-caller"
                            readOnly:  true
                            mountPath: "/etc/certs"
                        }, {
                            name:      "secret-ssh-key"
                            readOnly:  true
                            mountPath: "/sslcerts"
                        }]
                        livenessProbe: {
                            initialDelaySeconds: 40
                            periodSeconds:       3
                            httpGet: {
                                path: "/debug/health"
                                port: 8080
                            }
                        }
                    }]
                    hasDisks :: true
                }
            }
            replicas: 3
        }
    }
}
daemonSet: {}
statefulSet: {}
Component :: "kitchen"
_spec: {
    Name :: string
    metadata: {
        name: string
        labels: {
            component: "kitchen"
        }
    }
    spec: {
        selector: {}
        template: {
            metadata: {
                labels: {
                    component: "kitchen"
                    app:       string
                    domain:    "prod"
                }
            }
            spec: {
                containers: [{
                    name: string
                    ports: []
                }]
            }
        }
    }
}


configMap: {}
service: {
    dishwasher: {
        kind:       "Service"
        apiVersion: "v1"
        metadata: {
            name: "dishwasher"
            labels: {
                component: "kitchen"
                app:       "dishwasher"
                domain:    "prod"
            }
        }
        spec: {
            selector: {
                component: "kitchen"
                app:       "dishwasher"
                domain:    "prod"
            }
            ports: [{
                name:       "client"
                protocol:   "TCP"
                port:       8080
                targetPort: 8080
            }]
        }
    }
}
deployment: {
    dishwasher: {
        Name ::     "dishwasher"
        kind:       "Deployment"
        apiVersion: "apps/v1"
        metadata: {
            name: "dishwasher"
            labels: {
                component: "kitchen"
            }
        }
        spec: {
            selector: {}
            template: {
                metadata: {
                    labels: {
                        component: "kitchen"
                        app:       "dishwasher"
                        domain:    "prod"
                    }
                    annotations: {
                        "prometheus.io.scrape": "true"
                    }
                }
                spec: {
                    volumes: [{
                        name: "dishwasher-disk"
                        gcePersistentDisk: {
                            fsType: "ext4"
                            pdName: "dishwasher-disk"
                        }
                    }, {
                        name: "secret-dishwasher"
                        secret: {
                            secretName: "dishwasher-secrets"
                        }
                    }, {
                        name: "secret-ssh-key"
                        secret: {
                            secretName: "dishwasher-secrets"
                        }
                    }]
                    containers: [{
                        name:  "dishwasher"
                        image: "gcr.io/myproj/dishwasher:v0.2.13"
                        args: ["-env=prod", "-ssh-tunnel-key=/etc/certs/tunnel-private.pem", "-logdir=/logs", "-event-server=events:7788"]
                        ports: [{
                            containerPort: 8080
                            _export:       true
                        }]
                        volumeMounts: [{
                            name:      "dishwasher-disk"
                            mountPath: "/logs"
                        }, {
                            name:      "secret-dishwasher"
                            readOnly:  true
                            mountPath: "/sslcerts"
                        }, {
                            name:      "secret-ssh-key"
                            readOnly:  true
                            mountPath: "/etc/certs"
                        }]
                        livenessProbe: {
                            initialDelaySeconds: 40
                            periodSeconds:       3
                            httpGet: {
                                path: "/debug/health"
                                port: 8080
                            }
                        }
                    }]
                    hasDisks :: true
                }
            }
            replicas: 5
        }
    }
}
daemonSet: {}
statefulSet: {}
Component :: "kitchen"
_spec: {
    Name :: string
    metadata: {
        name: string
        labels: {
            component: "kitchen"
        }
    }
    spec: {
        selector: {}
        template: {
            metadata: {
                labels: {
                    component: "kitchen"
                    app:       string
                    domain:    "prod"
                }
            }
            spec: {
                containers: [{
                    name: string
                    ports: []
                }]
            }
        }
    }
}


configMap: {}
service: {
    expiditer: {
        kind:       "Service"
        apiVersion: "v1"
        metadata: {
            name: "expiditer"
            labels: {
                component: "kitchen"
                app:       "expiditer"
                domain:    "prod"
            }
        }
        spec: {
            selector: {
                component: "kitchen"
                app:       "expiditer"
                domain:    "prod"
            }
            ports: [{
                name:       "client"
                protocol:   "TCP"
                port:       8080
                targetPort: 8080
            }]
        }
    }
}
deployment: {
    expiditer: {
        Name ::     "expiditer"
        kind:       "Deployment"
        apiVersion: "apps/v1"
        metadata: {
            name: "expiditer"
            labels: {
                component: "kitchen"
            }
        }
        spec: {
            selector: {}
            template: {
                metadata: {
                    labels: {
                        component: "kitchen"
                        app:       "expiditer"
                        domain:    "prod"
                    }
                    annotations: {
                        "prometheus.io.scrape": "true"
                    }
                }
                spec: {
                    volumes: [{
                        name: "expiditer-disk"
                        gcePersistentDisk: {
                            fsType: "ext4"
                            pdName: "expiditer-disk"
                        }
                    }, {
                        name: "secret-expiditer"
                        secret: {
                            secretName: "expiditer-secrets"
                        }
                    }]
                    containers: [{
                        name:  "expiditer"
                        image: "gcr.io/myproj/expiditer:v0.5.34"
                        args: ["-env=prod", "-ssh-tunnel-key=/etc/certs/tunnel-private.pem", "-logdir=/logs", "-event-server=events:7788"]
                        ports: [{
                            containerPort: 8080
                            _export:       true
                        }]
                        volumeMounts: [{
                            name:      "expiditer-disk"
                            mountPath: "/logs"
                        }, {
                            name:      "secret-expiditer"
                            readOnly:  true
                            mountPath: "/etc/certs"
                        }]
                        livenessProbe: {
                            initialDelaySeconds: 40
                            periodSeconds:       3
                            httpGet: {
                                path: "/debug/health"
                                port: 8080
                            }
                        }
                    }]
                    hasDisks :: true
                }
            }
            replicas: 1
        }
    }
}
daemonSet: {}
statefulSet: {}
Component :: "kitchen"
_spec: {
    Name :: string
    metadata: {
        name: string
        labels: {
            component: "kitchen"
        }
    }
    spec: {
        selector: {}
        template: {
            metadata: {
                labels: {
                    component: "kitchen"
                    app:       string
                    domain:    "prod"
                }
            }
            spec: {
                containers: [{
                    name: string
                    ports: []
                }]
            }
        }
    }
}


configMap: {}
service: {
    headchef: {
        kind:       "Service"
        apiVersion: "v1"
        metadata: {
            name: "headchef"
            labels: {
                component: "kitchen"
                app:       "headchef"
                domain:    "prod"
            }
        }
        spec: {
            selector: {
                component: "kitchen"
                app:       "headchef"
                domain:    "prod"
            }
            ports: [{
                name:       "client"
                protocol:   "TCP"
                port:       8080
                targetPort: 8080
            }]
        }
    }
}
deployment: {
    headchef: {
        Name ::     "headchef"
        kind:       "Deployment"
        apiVersion: "apps/v1"
        metadata: {
            name: "headchef"
            labels: {
                component: "kitchen"
            }
        }
        spec: {
            selector: {}
            template: {
                metadata: {
                    labels: {
                        component: "kitchen"
                        app:       "headchef"
                        domain:    "prod"
                    }
                    annotations: {
                        "prometheus.io.scrape": "true"
                    }
                }
                spec: {
                    volumes: [{
                        name: "headchef-disk"
                        gcePersistentDisk: {
                            fsType: "ext4"
                            pdName: "headchef-disk"
                        }
                    }, {
                        name: "secret-headchef"
                        secret: {
                            secretName: "headchef-secrets"
                        }
                    }]
                    containers: [{
                        name:  "headchef"
                        image: "gcr.io/myproj/headchef:v0.2.16"
                        args: ["-env=prod", "-logdir=/logs", "-event-server=events:7788"]
                        ports: [{
                            containerPort: 8080
                            _export:       true
                        }]
                        volumeMounts: [{
                            name:      "headchef-disk"
                            mountPath: "/logs"
                        }, {
                            name:      "secret-headchef"
                            readOnly:  true
                            mountPath: "/sslcerts"
                        }]
                        livenessProbe: {
                            initialDelaySeconds: 40
                            periodSeconds:       3
                            httpGet: {
                                path: "/debug/health"
                                port: 8080
                            }
                        }
                    }]
                    hasDisks :: true
                }
            }
            replicas: 1
        }
    }
}
daemonSet: {}
statefulSet: {}
Component :: "kitchen"
_spec: {
    Name :: string
    metadata: {
        name: string
        labels: {
            component: "kitchen"
        }
    }
    spec: {
        selector: {}
        template: {
            metadata: {
                labels: {
                    component: "kitchen"
                    app:       string
                    domain:    "prod"
                }
            }
            spec: {
                containers: [{
                    name: string
                    ports: []
                }]
            }
        }
    }
}


configMap: {}
service: {
    linecook: {
        kind:       "Service"
        apiVersion: "v1"
        metadata: {
            name: "linecook"
            labels: {
                component: "kitchen"
                app:       "linecook"
                domain:    "prod"
            }
        }
        spec: {
            selector: {
                component: "kitchen"
                app:       "linecook"
                domain:    "prod"
            }
            ports: [{
                name:       "client"
                protocol:   "TCP"
                port:       8080
                targetPort: 8080
            }]
        }
    }
}
deployment: {
    linecook: {
        Name ::     "linecook"
        kind:       "Deployment"
        apiVersion: "apps/v1"
        metadata: {
            name: "linecook"
            labels: {
                component: "kitchen"
            }
        }
        spec: {
            selector: {}
            template: {
                metadata: {
                    labels: {
                        component: "kitchen"
                        app:       "linecook"
                        domain:    "prod"
                    }
                    annotations: {
                        "prometheus.io.scrape": "true"
                    }
                }
                spec: {
                    volumes: [{
                        name: "linecook-disk"
                        gcePersistentDisk: {
                            fsType: "ext4"
                            pdName: "linecook-disk"
                        }
                    }, {
                        name: "secret-kitchen"
                        secret: {
                            secretName: "secrets"
                        }
                    }]
                    containers: [{
                        name:  "linecook"
                        image: "gcr.io/myproj/linecook:v0.1.42"
                        args: ["-name=linecook", "-env=prod", "-logdir=/logs", "-event-server=events:7788", "-etcd", "etcd:2379", "-reconnect-delay", "1h", "-recovery-overlap", "100000"]
                        ports: [{
                            containerPort: 8080
                            _export:       true
                        }]
                        volumeMounts: [{
                            name:      "linecook-disk"
                            mountPath: "/logs"
                        }, {
                            name:      "secret-kitchen"
                            readOnly:  true
                            mountPath: "/etc/certs"
                        }]
                        livenessProbe: {
                            initialDelaySeconds: 40
                            periodSeconds:       3
                            httpGet: {
                                path: "/debug/health"
                                port: 8080
                            }
                        }
                    }]
                    hasDisks :: true
                }
            }
            replicas: 1
        }
    }
}
daemonSet: {}
statefulSet: {}
Component :: "kitchen"
_spec: {
    Name :: string
    metadata: {
        name: string
        labels: {
            component: "kitchen"
        }
    }
    spec: {
        selector: {}
        template: {
            metadata: {
                labels: {
                    component: "kitchen"
                    app:       string
                    domain:    "prod"
                }
            }
            spec: {
                containers: [{
                    name: string
                    ports: []
                }]
            }
        }
    }
}


configMap: {}
service: {
    pastrychef: {
        kind:       "Service"
        apiVersion: "v1"
        metadata: {
            name: "pastrychef"
            labels: {
                component: "kitchen"
                app:       "pastrychef"
                domain:    "prod"
            }
        }
        spec: {
            selector: {
                component: "kitchen"
                app:       "pastrychef"
                domain:    "prod"
            }
            ports: [{
                name:       "client"
                protocol:   "TCP"
                port:       8080
                targetPort: 8080
            }]
        }
    }
}
deployment: {
    pastrychef: {
        Name ::     "pastrychef"
        kind:       "Deployment"
        apiVersion: "apps/v1"
        metadata: {
            name: "pastrychef"
            labels: {
                component: "kitchen"
            }
        }
        spec: {
            selector: {}
            template: {
                metadata: {
                    labels: {
                        component: "kitchen"
                        app:       "pastrychef"
                        domain:    "prod"
                    }
                    annotations: {
                        "prometheus.io.scrape": "true"
                    }
                }
                spec: {
                    volumes: [{
                        name: "pastrychef-disk"
                        gcePersistentDisk: {
                            fsType: "ext4"
                            pdName: "pastrychef-disk"
                        }
                    }, {
                        name: "secret-ssh-key"
                        secret: {
                            secretName: "secrets"
                        }
                    }]
                    containers: [{
                        name:  "pastrychef"
                        image: "gcr.io/myproj/pastrychef:v0.1.15"
                        args: ["-env=prod", "-ssh-tunnel-key=/etc/certs/tunnel-private.pem", "-logdir=/logs", "-event-server=events:7788", "-reconnect-delay=1m", "-etcd=etcd:2379", "-recovery-overlap=10000"]
                        ports: [{
                            containerPort: 8080
                            _export:       true
                        }]
                        volumeMounts: [{
                            name:      "pastrychef-disk"
                            mountPath: "/logs"
                        }, {
                            name:      "secret-ssh-key"
                            readOnly:  true
                            mountPath: "/etc/certs"
                        }]
                        livenessProbe: {
                            initialDelaySeconds: 40
                            periodSeconds:       3
                            httpGet: {
                                path: "/debug/health"
                                port: 8080
                            }
                        }
                    }]
                    hasDisks :: true
                }
            }
            replicas: 1
        }
    }
}
daemonSet: {}
statefulSet: {}
Component :: "kitchen"
_spec: {
    Name :: string
    metadata: {
        name: string
        labels: {
            component: "kitchen"
        }
    }
    spec: {
        selector: {}
        template: {
            metadata: {
                labels: {
                    component: "kitchen"
                    app:       string
                    domain:    "prod"
                }
            }
            spec: {
                containers: [{
                    name: string
                    ports: []
                }]
            }
        }
    }
}


configMap: {}
service: {
    souschef: {
        kind:       "Service"
        apiVersion: "v1"
        metadata: {
            name: "souschef"
            labels: {
                component: "kitchen"
                app:       "souschef"
                domain:    "prod"
            }
        }
        spec: {
            selector: {
                component: "kitchen"
                app:       "souschef"
                domain:    "prod"
            }
            ports: [{
                name:       "client"
                protocol:   "TCP"
                port:       8080
                targetPort: 8080
            }]
        }
    }
}
deployment: {
    souschef: {
        Name ::     "souschef"
        kind:       "Deployment"
        apiVersion: "apps/v1"
        metadata: {
            name: "souschef"
            labels: {
                component: "kitchen"
            }
        }
        spec: {
            selector: {}
            template: {
                metadata: {
                    labels: {
                        component: "kitchen"
                        app:       "souschef"
                        domain:    "prod"
                    }
                    annotations: {
                        "prometheus.io.scrape": "true"
                    }
                }
                spec: {
                    containers: [{
                        name:  "souschef"
                        image: "gcr.io/myproj/souschef:v0.5.3"
                        ports: [{
                            containerPort: 8080
                            _export:       true
                        }]
                        livenessProbe: {
                            initialDelaySeconds: 40
                            periodSeconds:       3
                            httpGet: {
                                path: "/debug/health"
                                port: 8080
                            }
                        }
                    }]
                    hasDisks :: false
                }
            }
            replicas: 1
        }
    }
}
daemonSet: {}
statefulSet: {}
Component :: "kitchen"
_spec: {
    Name :: string
    metadata: {
        name: string
        labels: {
            component: "kitchen"
        }
    }
    spec: {
        selector: {}
        template: {
            metadata: {
                labels: {
                    component: "kitchen"
                    app:       string
                    domain:    "prod"
                }
            }
            spec: {
                containers: [{
                    name: string
                    ports: []
                }]
            }
        }
    }
}


configMap: {}
service: {}
deployment: {}
daemonSet: {}
statefulSet: {}
Component :: "mon"
_spec: {
    Name :: string
    metadata: {
        name: string
        labels: {
            component: "mon"
        }
    }
    spec: {
        selector: {}
        template: {
            metadata: {
                labels: {
                    component: "mon"
                    app:       string
                    domain:    "prod"
                }
            }
            spec: {
                containers: [{
                    name: string
                    ports: []
                }]
            }
        }
    }
}


configMap: {
    alertmanager: {
        kind:       "ConfigMap"
        apiVersion: "v1"
        metadata: {
            name: "alertmanager"
            labels: {
                component: "mon"
            }
        }
        data: {
            "alerts.yaml": """
        receivers:
          - name: pager
            slack_configs:
              - text: |-
                    {{ range .Alerts }}{{ .Annotations.description }}
                    {{ end }}
                channel: '#cloudmon'
                send_resolved: true
        route:
            receiver: pager
            group_by:
              - alertname
              - cluster
        
        """
        }
    }
}
service: {
    alertmanager: {
        kind:       "Service"
        apiVersion: "v1"
        metadata: {
            name: "alertmanager"
            labels: {
                name:      "alertmanager"
                component: "mon"
                app:       "alertmanager"
                domain:    "prod"
            }
            annotations: {
                "prometheus.io/scrape": "true"
                "prometheus.io/path":   "/metrics"
            }
        }
        spec: {
            selector: {
                name:      "alertmanager"
                component: "mon"
                app:       "alertmanager"
                domain:    "prod"
            }
            ports: [{
                name:       "main"
                protocol:   "TCP"
                port:       9093
                targetPort: 9093
            }]
        }
    }
}
deployment: {
    alertmanager: {
        Name ::     "alertmanager"
        kind:       "Deployment"
        apiVersion: "apps/v1"
        metadata: {
            name: "alertmanager"
            labels: {
                component: "mon"
            }
        }
        spec: {
            selector: {
                matchLabels: {
                    app: "alertmanager"
                }
            }
            template: {
                metadata: {
                    name: "alertmanager"
                    labels: {
                        component: "mon"
                        app:       "alertmanager"
                        domain:    "prod"
                    }
                }
                spec: {
                    volumes: [{
                        name: "config-volume"
                        configMap: {
                            name: "alertmanager"
                        }
                    }, {
                        name: "alertmanager"
                        emptyDir: {}
                    }]
                    containers: [{
                        name:  "alertmanager"
                        image: "prom/alertmanager:v0.15.2"
                        args: ["--config.file=/etc/alertmanager/alerts.yaml", "--storage.path=/alertmanager", "--web.external-url=https://alertmanager.example.com"]
                        ports: [{
                            name:          "alertmanager"
                            containerPort: 9093
                            _export:       true
                        }]
                        volumeMounts: [{
                            name:      "config-volume"
                            mountPath: "/etc/alertmanager"
                        }, {
                            name:      "alertmanager"
                            mountPath: "/alertmanager"
                        }]
                    }]
                }
            }
            replicas: 1
        }
    }
}
daemonSet: {}
statefulSet: {}
Component :: "mon"
_spec: {
    Name :: string
    metadata: {
        name: string
        labels: {
            component: "mon"
        }
    }
    spec: {
        selector: {}
        template: {
            metadata: {
                labels: {
                    component: "mon"
                    app:       string
                    domain:    "prod"
                }
            }
            spec: {
                containers: [{
                    name: string
                    ports: []
                }]
            }
        }
    }
}


configMap: {}
service: {
    grafana: {
        kind:       "Service"
        apiVersion: "v1"
        metadata: {
            name: "grafana"
            labels: {
                component: "mon"
                app:       "grafana"
                domain:    "prod"
            }
        }
        spec: {
            selector: {
                component: "mon"
                app:       "grafana"
                domain:    "prod"
            }
            ports: [{
                name:       "grafana"
                protocol:   "TCP"
                port:       3000
                targetPort: 3000
            }]
        }
    }
}
deployment: {
    grafana: {
        Name ::     "grafana"
        kind:       "Deployment"
        apiVersion: "apps/v1"
        metadata: {
            name: "grafana"
            labels: {
                component: "mon"
                app:       "grafana"
            }
        }
        spec: {
            selector: {}
            template: {
                metadata: {
                    labels: {
                        component: "mon"
                        app:       "grafana"
                        domain:    "prod"
                    }
                }
                spec: {
                    volumes: [{
                        name: "grafana-volume"
                        gcePersistentDisk: {
                            fsType: "ext4"
                            pdName: "grafana-volume"
                        }
                    }]
                    containers: [{
                        name: "grafana"
                        env: [{
                            name:  "GF_AUTH_BASIC_ENABLED"
                            value: "false"
                        }, {
                            name:  "GF_AUTH_ANONYMOUS_ENABLED"
                            value: "true"
                        }, {
                            name:  "GF_AUTH_ANONYMOUS_ORG_ROLE"
                            value: "admin"
                        }]
                        resources: {
                            limits: {
                                cpu:    "100m"
                                memory: "100Mi"
                            }
                            requests: {
                                cpu:    "100m"
                                memory: "100Mi"
                            }
                        }
                        image: "grafana/grafana:4.5.2"
                        ports: [{
                            containerPort: 8080
                            _export:       true
                        }]
                        volumeMounts: [{
                            name:      "grafana-volume"
                            mountPath: "/var/lib/grafana"
                        }]
                    }]
                }
            }
            replicas: 1
        }
    }
}
daemonSet: {}
statefulSet: {}
Component :: "mon"
_spec: {
    Name :: string
    metadata: {
        name: string
        labels: {
            component: "mon"
        }
    }
    spec: {
        selector: {}
        template: {
            metadata: {
                labels: {
                    component: "mon"
                    app:       string
                    domain:    "prod"
                }
            }
            spec: {
                containers: [{
                    name: string
                    ports: []
                }]
            }
        }
    }
}


configMap: {}
service: {
    "node-exporter": {
        kind:       "Service"
        apiVersion: "v1"
        metadata: {
            name: "node-exporter"
            labels: {
                component: "mon"
                app:       "node-exporter"
                domain:    "prod"
            }
            annotations: {
                "prometheus.io/scrape": "true"
            }
        }
        spec: {
            type: "ClusterIP"
            selector: {
                component: "mon"
                app:       "node-exporter"
                domain:    "prod"
            }
            ports: [{
                name:       "metrics"
                protocol:   "TCP"
                port:       9100
                targetPort: 9100
            }]
            clusterIP: "None"
        }
    }
}
deployment: {}
daemonSet: {
    "node-exporter": {
        Name ::     "node-exporter"
        kind:       "DaemonSet"
        apiVersion: "apps/v1"
        metadata: {
            name: "node-exporter"
            labels: {
                component: "mon"
            }
        }
        spec: {
            selector: {}
            template: {
                metadata: {
                    name: "node-exporter"
                    labels: {
                        component: "mon"
                        app:       "node-exporter"
                        domain:    "prod"
                    }
                }
                spec: {
                    volumes: [{
                        name: "proc"
                        hostPath: {
                            path: "/proc"
                        }
                    }, {
                        name: "sys"
                        hostPath: {
                            path: "/sys"
                        }
                    }]
                    containers: [{
                        name: "node-exporter"
                        resources: {
                            limits: {
                                cpu:    "200m"
                                memory: "50Mi"
                            }
                            requests: {
                                cpu:    "100m"
                                memory: "30Mi"
                            }
                        }
                        image: "quay.io/prometheus/node-exporter:v0.16.0"
                        args: ["--path.procfs=/host/proc", "--path.sysfs=/host/sys"]
                        ports: [{
                            name:          "scrape"
                            hostPort:      9100
                            containerPort: 9100
                            _export:       true
                        }]
                        volumeMounts: [{
                            name:      "proc"
                            readOnly:  true
                            mountPath: "/host/proc"
                        }, {
                            name:      "sys"
                            readOnly:  true
                            mountPath: "/host/sys"
                        }]
                    }]
                    hostNetwork: true
                    hostPID:     true
                }
            }
        }
    }
}
statefulSet: {}
Component :: "mon"
_spec: {
    Name :: string
    metadata: {
        name: string
        labels: {
            component: "mon"
        }
    }
    spec: {
        selector: {}
        template: {
            metadata: {
                labels: {
                    component: "mon"
                    app:       string
                    domain:    "prod"
                }
            }
            spec: {
                containers: [{
                    name: string
                    ports: []
                }]
            }
        }
    }
}


configMap: {
    prometheus: {
        kind:       "ConfigMap"
        apiVersion: "v1"
        metadata: {
            name: "prometheus"
            labels: {
                component: "mon"
            }
        }
        data: {
            "alert.rules": """
        groups:
          - name: rules.yaml
            rules:
              - labels:
                    severity: page
                annotations:
                    description: '{{$labels.app}} of job {{ $labels.job }} has been down for
                        more than 30 seconds.'
                    summary: Instance {{$labels.app}} down
                alert: InstanceDown
                expr: up == 0
                for: 30s
              - labels:
                    severity: page
                annotations:
                    description: If one more etcd peer goes down the cluster will be unavailable
                    summary: etcd cluster small
                alert: InsufficientPeers
                expr: count(up{job=\"etcd\"} == 0) > (count(up{job=\"etcd\"}) / 2 - 1)
                for: 3m
              - labels:
                    severity: page
                annotations:
                    summary: No ETCD master elected.
                alert: EtcdNoMaster
                expr: sum(etcd_server_has_leader{app=\"etcd\"}) == 0
                for: 1s
              - labels:
                    severity: page
                annotations:
                    description: '{{$labels.app}} {{ $labels.container }} resturted {{ $value
                        }} times in 5m.'
                    summary: Pod for {{$labels.container}} restarts too often
                alert: PodRestart
                expr: (max_over_time(pod_container_status_restarts_total[5m]) - min_over_time(pod_container_status_restarts_total[5m]))
                    > 2
                for: 1m
        
        """
            "prometheus.yml": """
        global:
            scrape_interval: 15s
        rule_files:
          - /etc/prometheus/alert.rules
        alerting:
            alertmanagers:
              - scheme: http
                static_configs:
                  - targets:
                      - alertmanager:9093
        scrape_configs:
          - scheme: https
            job_name: kubernetes-apiservers
            kubernetes_sd_configs:
              - role: endpoints
            tls_config:
                ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
            bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
            relabel_configs:
              - action: keep
                source_labels:
                  - __meta_kubernetes_namespace
                  - __meta_kubernetes_service_name
                  - __meta_kubernetes_endpoint_port_name
                regex: default;kubernetes;https
          - scheme: https
            job_name: kubernetes-nodes
            kubernetes_sd_configs:
              - role: node
            tls_config:
                ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
            bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
            relabel_configs:
              - action: labelmap
                regex: __meta_kubernetes_node_label_(.+)
              - target_label: __address__
                replacement: kubernetes.default.svc:443
              - source_labels:
                  - __meta_kubernetes_node_name
                regex: (.+)
                target_label: __metrics_path__
                replacement: /api/v1/nodes/${1}/proxy/metrics
          - scheme: https
            job_name: kubernetes-cadvisor
            kubernetes_sd_configs:
              - role: node
            tls_config:
                ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
            bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
            relabel_configs:
              - action: labelmap
                regex: __meta_kubernetes_node_label_(.+)
              - target_label: __address__
                replacement: kubernetes.default.svc:443
              - source_labels:
                  - __meta_kubernetes_node_name
                regex: (.+)
                target_label: __metrics_path__
                replacement: /api/v1/nodes/${1}/proxy/metrics/cadvisor
          - job_name: kubernetes-service-endpoints
            kubernetes_sd_configs:
              - role: endpoints
            relabel_configs:
              - action: keep
                source_labels:
                  - __meta_kubernetes_service_annotation_prometheus_io_scrape
                regex: true
              - action: replace
                source_labels:
                  - __meta_kubernetes_service_annotation_prometheus_io_scheme
                regex: (https?)
                target_label: __scheme__
              - action: replace
                source_labels:
                  - __meta_kubernetes_service_annotation_prometheus_io_path
                regex: (.+)
                target_label: __metrics_path__
              - action: replace
                source_labels:
                  - __address__
                  - __meta_kubernetes_service_annotation_prometheus_io_port
                regex: ([^:]+)(?::\\d+)?;(\\d+)
                target_label: __address__
                replacement: $1:$2
              - action: labelmap
                regex: __meta_kubernetes_service_label_(.+)
              - action: replace
                source_labels:
                  - __meta_kubernetes_namespace
                target_label: kubernetes_namespace
              - action: replace
                source_labels:
                  - __meta_kubernetes_service_name
                target_label: kubernetes_name
          - job_name: kubernetes-services
            kubernetes_sd_configs:
              - role: service
            relabel_configs:
              - action: keep
                source_labels:
                  - __meta_kubernetes_service_annotation_prometheus_io_probe
                regex: true
              - source_labels:
                  - __address__
                target_label: __param_target
              - target_label: __address__
                replacement: blackbox-exporter.example.com:9115
              - source_labels:
                  - __param_target
                target_label: app
              - action: labelmap
                regex: __meta_kubernetes_service_label_(.+)
              - source_labels:
                  - __meta_kubernetes_namespace
                target_label: kubernetes_namespace
              - source_labels:
                  - __meta_kubernetes_service_name
                target_label: kubernetes_name
            metrics_path: /probe
            params:
                module:
                  - http_2xx
          - job_name: kubernetes-ingresses
            kubernetes_sd_configs:
              - role: ingress
            relabel_configs:
              - action: keep
                source_labels:
                  - __meta_kubernetes_ingress_annotation_prometheus_io_probe
                regex: true
              - source_labels:
                  - __meta_kubernetes_ingress_scheme
                  - __address__
                  - __meta_kubernetes_ingress_path
                regex: (.+);(.+);(.+)
                target_label: __param_target
                replacement: ${1}://${2}${3}
              - target_label: __address__
                replacement: blackbox-exporter.example.com:9115
              - source_labels:
                  - __param_target
                target_label: app
              - action: labelmap
                regex: __meta_kubernetes_ingress_label_(.+)
              - source_labels:
                  - __meta_kubernetes_namespace
                target_label: kubernetes_namespace
              - source_labels:
                  - __meta_kubernetes_ingress_name
                target_label: kubernetes_name
            metrics_path: /probe
            params:
                module:
                  - http_2xx
          - job_name: kubernetes-pods
            kubernetes_sd_configs:
              - role: pod
            relabel_configs:
              - action: keep
                source_labels:
                  - __meta_kubernetes_pod_annotation_prometheus_io_scrape
                regex: true
              - action: replace
                source_labels:
                  - __meta_kubernetes_pod_annotation_prometheus_io_path
                regex: (.+)
                target_label: __metrics_path__
              - action: replace
                source_labels:
                  - __address__
                  - __meta_kubernetes_pod_annotation_prometheus_io_port
                regex: ([^:]+)(?::\\d+)?;(\\d+)
                target_label: __address__
                replacement: $1:$2
              - action: labelmap
                regex: __meta_kubernetes_pod_label_(.+)
              - action: replace
                source_labels:
                  - __meta_kubernetes_namespace
                target_label: kubernetes_namespace
              - action: replace
                source_labels:
                  - __meta_kubernetes_pod_name
                target_label: kubernetes_pod_name
        
        """
        }
    }
}
service: {
    prometheus: {
        kind:       "Service"
        apiVersion: "v1"
        metadata: {
            name: "prometheus"
            labels: {
                name:      "prometheus"
                component: "mon"
                app:       "prometheus"
                domain:    "prod"
            }
            annotations: {
                "prometheus.io/scrape": "true"
            }
        }
        spec: {
            type: "NodePort"
            selector: {
                name:      "prometheus"
                component: "mon"
                app:       "prometheus"
                domain:    "prod"
            }
            ports: [{
                name:       "main"
                protocol:   "TCP"
                port:       9090
                targetPort: 9090
                nodePort:   30900
            }]
        }
    }
}
deployment: {
    prometheus: {
        Name ::     "prometheus"
        kind:       "Deployment"
        apiVersion: "apps/v1"
        metadata: {
            name: "prometheus"
            labels: {
                component: "mon"
            }
        }
        spec: {
            selector: {
                matchLabels: {
                    app: "prometheus"
                }
            }
            template: {
                metadata: {
                    name: "prometheus"
                    labels: {
                        component: "mon"
                        app:       "prometheus"
                        domain:    "prod"
                    }
                    annotations: {
                        "prometheus.io.scrape": "true"
                    }
                }
                spec: {
                    volumes: [{
                        name: "config-volume"
                        configMap: {
                            name: "prometheus"
                        }
                    }]
                    containers: [{
                        name:  "prometheus"
                        image: "prom/prometheus:v2.4.3"
                        args: ["--config.file=/etc/prometheus/prometheus.yml", "--web.external-url=https://prometheus.example.com"]
                        ports: [{
                            name:          "web"
                            containerPort: 9090
                            _export:       true
                        }]
                        volumeMounts: [{
                            name:      "config-volume"
                            mountPath: "/etc/prometheus"
                        }]
                    }]
                }
            }
            replicas: 1
            strategy: {
                type: "RollingUpdate"
                rollingUpdate: {
                    maxUnavailable: 1
                    maxSurge:       0
                }
            }
        }
    }
}
daemonSet: {}
statefulSet: {}
Component :: "mon"
_spec: {
    Name :: string
    metadata: {
        name: string
        labels: {
            component: "mon"
        }
    }
    spec: {
        selector: {}
        template: {
            metadata: {
                labels: {
                    component: "mon"
                    app:       string
                    domain:    "prod"
                }
            }
            spec: {
                containers: [{
                    name: string
                    ports: []
                }]
            }
        }
    }
}


configMap: {}
service: {}
deployment: {}
daemonSet: {}
statefulSet: {}
Component :: "proxy"
_spec: {
    Name :: string
    metadata: {
        name: string
        labels: {
            component: "proxy"
        }
    }
    spec: {
        selector: {}
        template: {
            metadata: {
                labels: {
                    component: "proxy"
                    app:       string
                    domain:    "prod"
                }
            }
            spec: {
                containers: [{
                    name: string
                    ports: []
                }]
            }
        }
    }
}


configMap: {
    authproxy: {
        kind:       "ConfigMap"
        apiVersion: "v1"
        metadata: {
            name: "authproxy"
            labels: {
                component: "proxy"
            }
        }
        data: {
            "authproxy.cfg": """
        # Google Auth Proxy Config File
        ## https://github.com/bitly/google_auth_proxy
        
        ## <addr>:<port> to listen on for HTTP clients
        http_address = \"0.0.0.0:4180\"
        
        ## the OAuth Redirect URL.
        redirect_url = \"https://auth.example.com/oauth2/callback\"
        
        ## the http url(s) of the upstream endpoint. If multiple, routing is based on path
        upstreams = [
            # frontend
            \"http://frontend-waiter:7080/dpr/\",
            \"http://frontend-maitred:7080/ui/\",
            \"http://frontend-maitred:7080/ui\",
            \"http://frontend-maitred:7080/report/\",
            \"http://frontend-maitred:7080/report\",
            \"http://frontend-maitred:7080/static/\",
            # kitchen
            \"http://kitchen-chef:8080/visit\",
            # infrastructure
            \"http://download:7080/file/\",
            \"http://download:7080/archive\",
            \"http://tasks:7080/tasks\",
            \"http://tasks:7080/tasks/\",
        ]
        
        ## pass HTTP Basic Auth, X-Forwarded-User and X-Forwarded-Email information to upstream
        pass_basic_auth = true
        request_logging = true
        
        ## Google Apps Domains to allow authentication for
        google_apps_domains = [
            \"example.com\",
        ]
        
        email_domains = [
            \"example.com\",
        ]
        
        ## The Google OAuth Client ID, Secret
        client_id = \"---\"
        client_secret = \"---\"
        
        ## Cookie Settings
        ## Secret - the seed string for secure cookies
        ## Domain - optional cookie domain to force cookies to (ie: .yourcompany.com)
        ## Expire - expire timeframe for cookie
        cookie_secret = \"won't tell you\"
        cookie_domain = \".example.com\"
        cookie_https_only = true
        """
        }
    }
}
service: {
    authproxy: {
        kind:       "Service"
        apiVersion: "v1"
        metadata: {
            name: "authproxy"
            labels: {
                component: "proxy"
                app:       "authproxy"
                domain:    "prod"
            }
        }
        spec: {
            selector: {
                component: "proxy"
                app:       "authproxy"
                domain:    "prod"
            }
            ports: [{
                name:       "client"
                protocol:   "TCP"
                port:       4180
                targetPort: 4180
            }]
        }
    }
}
deployment: {
    authproxy: {
        Name ::     "authproxy"
        kind:       "Deployment"
        apiVersion: "apps/v1"
        metadata: {
            name: "authproxy"
            labels: {
                component: "proxy"
            }
        }
        spec: {
            selector: {}
            template: {
                metadata: {
                    labels: {
                        component: "proxy"
                        app:       "authproxy"
                        domain:    "prod"
                    }
                }
                spec: {
                    volumes: [{
                        name: "config-volume"
                        configMap: {
                            name: "authproxy"
                        }
                    }]
                    containers: [{
                        name:  "authproxy"
                        image: "skippy/oauth2_proxy:2.0.1"
                        args: ["--config=/etc/authproxy/authproxy.cfg"]
                        ports: [{
                            containerPort: 4180
                            _export:       true
                        }]
                        volumeMounts: [{
                            name:      "config-volume"
                            mountPath: "/etc/authproxy"
                        }]
                    }]
                }
            }
            replicas: 1
        }
    }
}
daemonSet: {}
statefulSet: {}
Component :: "proxy"
_spec: {
    Name :: string
    metadata: {
        name: string
        labels: {
            component: "proxy"
        }
    }
    spec: {
        selector: {}
        template: {
            metadata: {
                labels: {
                    component: "proxy"
                    app:       string
                    domain:    "prod"
                }
            }
            spec: {
                containers: [{
                    name: string
                    ports: []
                }]
            }
        }
    }
}


configMap: {}
service: {
    goget: {
        kind:       "Service"
        apiVersion: "v1"
        metadata: {
            name: "goget"
            labels: {
                component: "proxy"
                app:       "goget"
                domain:    "prod"
            }
        }
        spec: {
            type: "LoadBalancer"
            selector: {
                component: "proxy"
                app:       "goget"
                domain:    "prod"
            }
            ports: [{
                name:       "https"
                protocol:   "TCP"
                port:       443
                targetPort: 7443
            }]
            loadBalancerIP: "1.3.5.7"
        }
    }
}
deployment: {
    goget: {
        Name ::     "goget"
        kind:       "Deployment"
        apiVersion: "apps/v1"
        metadata: {
            name: "goget"
            labels: {
                component: "proxy"
            }
        }
        spec: {
            selector: {}
            template: {
                metadata: {
                    labels: {
                        component: "proxy"
                        app:       "goget"
                        domain:    "prod"
                    }
                }
                spec: {
                    volumes: [{
                        name: "secret-volume"
                        secret: {
                            secretName: "goget-secrets"
                        }
                    }]
                    containers: [{
                        name:  "goget"
                        image: "gcr.io/myproj/goget:v0.5.1"
                        ports: [{
                            containerPort: 7443
                            _export:       true
                        }]
                        volumeMounts: [{
                            name:      "secret-volume"
                            mountPath: "/etc/ssl"
                        }]
                    }]
                }
            }
            replicas: 1
        }
    }
}
daemonSet: {}
statefulSet: {}
Component :: "proxy"
_spec: {
    Name :: string
    metadata: {
        name: string
        labels: {
            component: "proxy"
        }
    }
    spec: {
        selector: {}
        template: {
            metadata: {
                labels: {
                    component: "proxy"
                    app:       string
                    domain:    "prod"
                }
            }
            spec: {
                containers: [{
                    name: string
                    ports: []
                }]
            }
        }
    }
}


configMap: {
    nginx: {
        kind:       "ConfigMap"
        apiVersion: "v1"
        metadata: {
            name: "nginx"
            labels: {
                component: "proxy"
            }
        }
        data: {
            "nginx.conf": """
        events {
            worker_connections 768;
        }
        http {
            sendfile on;
            tcp_nopush on;
            tcp_nodelay on;
            # needs to be high for some download jobs.
            keepalive_timeout 400;
            # proxy_connect_timeout  300;
            proxy_send_timeout       300;
            proxy_read_timeout       300;
            send_timeout             300;
        
            types_hash_max_size 2048;
        
            include /etc/nginx/mime.types;
            default_type application/octet-stream;
        
            access_log /dev/stdout;
            error_log  /dev/stdout;
        
            # Disable POST body size constraints. We often deal with large
            # files. Especially docker containers may be large.
            client_max_body_size 0;
        
            upstream goget {
                server localhost:7070;
            }
        
            # Redirect incoming Google Cloud Storage notifications:
           server {
                listen 443 ssl;
                server_name notify.example.com notify2.example.com;
        
                ssl_certificate /etc/ssl/server.crt;
                ssl_certificate_key /etc/ssl/server.key;
        
                # Security enhancements to deal with poodles and the like.
                # See https://raymii.org/s/tutorials/Strong_SSL_Security_On_nginx.html
                # ssl_ciphers 'AES256+EECDH:AES256+EDH';
                ssl_ciphers \"ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4\";
        
                # We don't like poodles.
                ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
                ssl_session_cache shared:SSL:10m;
        
                # Enable Forward secrecy.
                ssl_dhparam /etc/ssl/dhparam.pem;
                ssl_prefer_server_ciphers on;
        
                # Enable HTST.
                add_header Strict-Transport-Security max-age=1209600;
        
                # required to avoid HTTP 411: see Issue #1486 (https://github.com/dotcloud/docker/issues/1486)
                chunked_transfer_encoding on;
        
                location / {
                    proxy_pass http://tasks:7080;
                    proxy_connect_timeout 1;
                }
            }
        
            server {
                listen 80;
                listen 443 ssl;
                server_name x.example.com example.io;
        
                location ~ \"(/[^/]+)(/.*)?\" {
                    set $myhost $host;
                    if ($arg_go-get = \"1\") {
                        set $myhost \"goget\";
                    }
                    proxy_pass http://$myhost$1;
                    proxy_set_header Host $host;
                    proxy_set_header X-Real-IP $remote_addr;
                    proxy_set_header X-Scheme $scheme;
                    proxy_connect_timeout 1;
                }
        
                location / {
                    set $myhost $host;
                    if ($arg_go-get = \"1\") {
                        set $myhost \"goget\";
                    }
                    proxy_pass http://$myhost;
                    proxy_set_header Host $host;
                    proxy_set_header X-Real-IP $remote_addr;
                    proxy_set_header X-Scheme $scheme;
                    proxy_connect_timeout 1;
                }
            }
        
            server {
                listen 80;
                server_name www.example.com w.example.com;
        
                resolver 8.8.8.8;
        
                location / {
                    proxy_set_header X-Forwarded-Host $host;
                    proxy_set_header X-Forwarded-Server $host;
                    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                    proxy_set_header X-Real-IP $remote_addr;
        
                    proxy_pass http://$host.default.example.appspot.com/$request_uri;
                    proxy_redirect http://$host.default.example.appspot.com/ /;
                }
            }
        
            server {
                # We could add the following line and the connection would still be SSL,
                # but it doesn't appear to be necessary. Seems saver this way.
                listen 80;
                listen 443 default ssl;
                server_name ~^(?<sub>.*)\\.example\\.com$;
        
                ssl_certificate /etc/ssl/server.crt;
                ssl_certificate_key /etc/ssl/server.key;
        
                # Security enhancements to deal with poodles and the like.
                # See https://raymii.org/s/tutorials/Strong_SSL_Security_On_nginx.html
                # ssl_ciphers 'AES256+EECDH:AES256+EDH';
                ssl_ciphers \"ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4\";
        
                # We don't like poodles.
                ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
                ssl_session_cache shared:SSL:10m;
        
                # Enable Forward secrecy.
                ssl_dhparam /etc/ssl/dhparam.pem;
                ssl_prefer_server_ciphers on;
        
                # Enable HTST.
                add_header Strict-Transport-Security max-age=1209600;
        
                if ($ssl_protocol = \"\") {
                    rewrite ^   https://$host$request_uri? permanent;
                }
        
                # required to avoid HTTP 411: see Issue #1486 (https://github.com/dotcloud/docker/issues/1486)
                chunked_transfer_encoding on;
        
                location / {
                    proxy_pass http://authproxy:4180;
                    proxy_set_header Host $host;
                    proxy_set_header X-Real-IP $remote_addr;
                    proxy_set_header X-Scheme $scheme;
                    proxy_connect_timeout 1;
                }
            }
        }
        """
        }
    }
}
service: {
    nginx: {
        kind:       "Service"
        apiVersion: "v1"
        metadata: {
            name: "nginx"
            labels: {
                component: "proxy"
                app:       "nginx"
                domain:    "prod"
            }
        }
        spec: {
            type: "LoadBalancer"
            selector: {
                component: "proxy"
                app:       "nginx"
                domain:    "prod"
            }
            ports: [{
                name:       "http"
                protocol:   "TCP"
                port:       80
                targetPort: 80
            }, {
                name:       "https"
                protocol:   "TCP"
                port:       443
                targetPort: 443
            }]
            loadBalancerIP: "1.3.4.5"
        }
    }
}
deployment: {
    nginx: {
        Name ::     "nginx"
        kind:       "Deployment"
        apiVersion: "apps/v1"
        metadata: {
            name: "nginx"
            labels: {
                component: "proxy"
            }
        }
        spec: {
            selector: {}
            template: {
                metadata: {
                    labels: {
                        component: "proxy"
                        app:       "nginx"
                        domain:    "prod"
                    }
                }
                spec: {
                    volumes: [{
                        name: "secret-volume"
                        secret: {
                            secretName: "proxy-secrets"
                        }
                    }, {
                        name: "config-volume"
                        configMap: {
                            name: "nginx"
                        }
                    }]
                    containers: [{
                        name:  "nginx"
                        image: "nginx:1.11.10-alpine"
                        ports: [{
                            containerPort: 80
                            _export:       true
                        }, {
                            containerPort: 443
                            _export:       true
                        }]
                        volumeMounts: [{
                            name:      "secret-volume"
                            mountPath: "/etc/ssl"
                        }, {
                            name:      "config-volume"
                            mountPath: "/etc/nginx/nginx.conf"
                            subPath:   "nginx.conf"
                        }]
                    }]
                }
            }
            replicas: 1
        }
    }
}
daemonSet: {}
statefulSet: {}
Component :: "proxy"
_spec: {
    Name :: string
    metadata: {
        name: string
        labels: {
            component: "proxy"
        }
    }
    spec: {
        selector: {}
        template: {
            metadata: {
                labels: {
                    component: "proxy"
                    app:       string
                    domain:    "prod"
                }
            }
            spec: {
                containers: [{
                    name: string
                    ports: []
                }]
            }
        }
    }
}