about summary refs log tree commit diff
path: root/infra/kubernetes/nginx/nginx.yaml
diff options
context:
space:
mode:
authorVincent Ambo <tazjin@google.com>2019-09-02T17·19+0100
committerVincent Ambo <tazjin@google.com>2019-09-02T17·19+0100
commit785a5a29976a9682bd1a8a30c2bfa50185a0b5cf (patch)
treefd33afa806f979cfe95d6e81c8679c08473d9d65 /infra/kubernetes/nginx/nginx.yaml
parente6cb12ebfb5f620710d699dcd378bdf08d12d797 (diff)
feat(k8s): Add nginx instance for oslo.pub redirect
The redirect is currently all that this instance does. It is required
because HTTP load balancers in GCP don't support URL rewriting.
Diffstat (limited to 'infra/kubernetes/nginx/nginx.yaml')
-rw-r--r--infra/kubernetes/nginx/nginx.yaml55
1 files changed, 55 insertions, 0 deletions
diff --git a/infra/kubernetes/nginx/nginx.yaml b/infra/kubernetes/nginx/nginx.yaml
new file mode 100644
index 0000000000..935aa6bc1a
--- /dev/null
+++ b/infra/kubernetes/nginx/nginx.yaml
@@ -0,0 +1,55 @@
+# Deploy an nginx instance which serves ... redirects.
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: nginx-conf
+data:
+  nginx.conf: {{ insertFile "nginx.conf" | toJson }}
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: nginx
+  labels:
+    app: nginx
+spec:
+  replicas: 2
+  selector:
+    matchLabels:
+      app: nginx
+  template:
+    metadata:
+      labels:
+        app: nginx
+        config: {{ insertFile "nginx.conf" | sha1sum }}
+    spec:
+      containers:
+        - name: tazblog
+          image: nixery.local/shell/nginx:{{ gitHEAD }}
+          command: ["/bin/bash", "-c"]
+          args:
+            - |
+              echo 'nogroup:x:30000:nobody' >> /etc/group
+              echo 'nobody:x:30000:30000:nobody:/tmp:/bin/bash' >> /etc/passwd
+              exec nginx -c /etc/nginx/nginx.conf
+          volumeMounts:
+            - name: nginx-conf
+              mountPath: /etc/nginx
+      volumes:
+        - name: nginx-conf
+          configMap:
+            name: nginx-conf
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: nginx
+spec:
+  type: NodePort
+  selector:
+    app: nginx
+  ports:
+    - protocol: TCP
+      port: 80
+      targetPort: 80