manifest.yml

 1---
 2kind: Service
 3apiVersion: v1
 4metadata:
 5  name: zed
 6  annotations:
 7    service.beta.kubernetes.io/do-loadbalancer-tls-ports: "443"
 8    service.beta.kubernetes.io/do-loadbalancer-certificate-id: "606e2db9-2b58-4ae7-b12c-a0c7d56af49b"
 9spec:
10  type: LoadBalancer
11  selector:
12    app: zed
13  ports:
14    - name: web
15      protocol: TCP
16      port: 443
17      targetPort: 8080
18---
19apiVersion: apps/v1
20kind: Deployment
21metadata:
22  name: zed
23spec:
24  replicas: 1
25  selector:
26    matchLabels:
27      app: zed
28  template:
29    metadata:
30      labels:
31        app: zed
32    spec:
33      containers:
34        - name: zed
35          image: registry.digitalocean.com/zed/zed-server
36          ports:
37            - containerPort: 8080
38              protocol: TCP
39          env:
40            - name: HTTP_PORT
41              value: "8080"
42            - name: DATABASE_URL
43              valueFrom:
44                secretKeyRef:
45                  name: database
46                  key: url
47            - name: SESSION_SECRET
48              valueFrom:
49                secretKeyRef:
50                  name: session
51                  key: secret
52            - name: GITHUB_APP_ID
53              valueFrom:
54                secretKeyRef:
55                  name: github
56                  key: appId
57            - name: GITHUB_CLIENT_ID
58              valueFrom:
59                secretKeyRef:
60                  name: github
61                  key: clientId
62            - name: GITHUB_CLIENT_SECRET
63              valueFrom:
64                secretKeyRef:
65                  name: github
66                  key: clientSecret
67            - name: GITHUB_PRIVATE_KEY
68              valueFrom:
69                secretKeyRef:
70                  name: github
71                  key: privateKey