imfreedom/k8s-cluster

Add the carrier manifest

2019-05-24, Gary Kramlich
1c4e04eea97f
Parents 50c362864102
Children 1bfc56ec5ec5
Add the carrier manifest
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/50-carrier.pidgin.im.yaml Fri May 24 23:08:00 2019 -0500
@@ -0,0 +1,125 @@
+# carrier is a simple web app that handles web hooks for us and acts on them.
+apiVersion: extensions/v1beta1
+kind: Ingress
+metadata:
+ namespace: pidgin
+ name: carrier
+ annotations:
+ certmanager.k8s.io/issuer: letsencrypt
+ labels:
+ app: carrier
+spec:
+ rules:
+ - host: carrier.pidgin.im
+ http:
+ paths:
+ - backend:
+ serviceName: carrier
+ servicePort: 3333
+ tls:
+ - hosts:
+ - carrier.pidgin.im
+ secretName: carrier-tls
+---
+apiVersion: certmanager.k8s.io/v1alpha1
+kind: Certificate
+metadata:
+ namespace: pidgin
+ name: carrier
+spec:
+ secretname: carrier-tls
+ issuerRef:
+ name: letsencrypt
+ commonName: carrier.pidgin.im
+ dnsNames:
+ - carrier.pidgin.im
+ acme:
+ config:
+ - http01:
+ ingress: carrier
+ domains:
+ - carrier.pidgin.im
+---
+apiVersion: v1
+kind: Service
+metadata:
+ namespace: pidgin
+ labels:
+ app: carrier
+ name: carrier
+spec:
+ ports:
+ - port: 3333
+ protocol: TCP
+ selector:
+ app: carrier
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ namespace: pidgin
+ name: carrier
+ labels:
+ app: carrier
+spec:
+ replicas: 2
+ selector:
+ matchLabels:
+ app: carrier
+ template:
+ metadata:
+ labels:
+ app: carrier
+ spec:
+ affinity:
+ podAntiAffinity:
+ preferredDuringSchedulingIgnoredDuringExecution:
+ - podAffinityTerm:
+ labelSelector:
+ matchExpressions:
+ - key: app
+ operator: In
+ values:
+ - carrier
+ topologyKey: failure-domain.beta.kubernetes.io/region
+ weight: 100
+ containers:
+ - name: carrier
+ image: pidgin/carrier:latest
+ imagePullPolicy: Always
+ ports:
+ - containerPort: 3333
+ env:
+ - name: CARRIER_TWILIO_WEBHOOK_TOKEN
+ valueFrom:
+ secretKeyRef:
+ name: carrier
+ key: twilioWebhookToken
+ - name: CARRIER_TWILIO_ACCOUNT_SID
+ valueFrom:
+ secretKeyRef:
+ name: carrier
+ key: twilioAccountSid
+ - name: CARRIER_TWILIO_AUTH_TOKEN
+ valueFrom:
+ secretKeyRef:
+ name: carrier
+ key: twilioAuthToken
+ - name: CARRIER_TWILIO_PHONE_NUMBER
+ valueFrom:
+ secretKeyRef:
+ name: carrier
+ key: twilioPhoneNumber
+ - name: CARRIER_TWILIO_RECIPIENT
+ valueFrom:
+ secretKeyRef:
+ name: carrier
+ key: twilioRecipient
+ resources:
+ limits:
+ cpu: 100m
+ memory: 96Mi
+ requests:
+ cpu: 50m
+ memory: 32Mi
+---