imfreedom/k8s-cluster

Create the roost namespace and move everything in the pidgin namespace to it
# carrier is a simple web app that handles web hooks for us and acts on them.
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
namespace: roost
name: carrier
annotations:
cert-manager.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: v1
kind: Service
metadata:
namespace: roost
name: carrier
labels:
app: carrier
spec:
ports:
- port: 3333
protocol: TCP
selector:
app: carrier
---
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
namespace: roost
name: carrier
labels:
app: carrier
spec:
podSelector:
matchLabels:
app: carrier
ingress:
- from:
- namespaceSelector:
matchLabels:
name: kube-public
podSelector:
matchLabels:
app: ingress
role: controller
ports:
- port: 3333
protocol: TCP
---
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: roost
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: 50m
memory: 64Mi
requests:
cpu: 10m
memory: 32Mi
---