imfreedom/k8s-cluster

Update cert-manager to 0.9.1 as we were running 0.5.0 and let's encrypt is going to start blocking < 0.8.0 as those versions are issuing too much traffic to lets encrypt
# this manifest contains an ingress that does path based matching to route to
# individual services that are runnings the docs via a simple http server.
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
namespace: pidgin
name: docs
annotations:
certmanager.k8s.io/issuer: letsencrypt
nginx.ingress.kubernetes.io/rewrite-target: /$2
nginx.ingress.kubernetes.io/configuration-snippet: |
more_set_headers "X-Frame-Options: SAMEORIGIN";
labels:
app: docs
spec:
rules:
- host: docs.pidgin.im
http:
paths:
- backend:
serviceName: docs-libgnt-latest
servicePort: 3000
path: /libgnt/latest(/(.*)|$)
- backend:
serviceName: docs-libgnt-next
servicePort: 3000
path: /libgnt/next(/(.*)|$)
- backend:
serviceName: docs-pidgin-2-x-y
servicePort: 3000
path: /pidgin/2.x.y(/(.*)|$)
- backend:
serviceName: docs-talkatu-latest
servicePort: 3000
path: /talkatu/latest(/(.*)|$)
tls:
- hosts:
- docs.pidgin.im
secretName: docs-tls
---
apiVersion: certmanager.k8s.io/v1alpha1
kind: Certificate
metadata:
namespace: pidgin
name: docs
spec:
secretname: docs-tls
issuerRef:
name: letsencrypt
commonName: docs.pidgin.im
dnsNames:
- docs.pidgin.im
acme:
config:
- http01:
ingress: docs
domains:
- docs.pidgin.im
---
apiVersion: v1
kind: Service
metadata:
namespace: pidgin
labels:
app: libgnt
version: latest
name: docs-libgnt-latest
spec:
ports:
- port: 3000
protocol: TCP
selector:
app: libgnt
version: latest
---
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: pidgin
name: docs-libgnt-latest
labels:
app: libgnt
version: latest
spec:
replicas: 2
selector:
matchLabels:
app: libgnt
version: latest
template:
metadata:
labels:
app: libgnt
version: latest
spec:
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- podAffinityTerm:
labelSelector:
matchExpressions:
- key: app
operator: In
values:
- libgnt
- key: version
operator: In
values:
- latest
topologyKey: failure-domain.beta.kubernetes.io/region
weight: 100
containers:
- name: docs-libgnt-latest
image: libgnt/docs:latest
imagePullPolicy: Always
ports:
- containerPort: 3000
resources:
limits:
cpu: 100m
memory: 96Mi
requests:
cpu: 50m
memory: 32Mi
---
apiVersion: v1
kind: Service
metadata:
namespace: pidgin
labels:
app: libgnt
version: next
name: docs-libgnt-next
spec:
ports:
- port: 3000
protocol: TCP
selector:
app: libgnt
version: next
---
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: pidgin
name: docs-libgnt-next
labels:
app: libgnt
version: next
spec:
replicas: 2
selector:
matchLabels:
app: libgnt
version: next
template:
metadata:
labels:
app: libgnt
version: next
spec:
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- podAffinityTerm:
labelSelector:
matchExpressions:
- key: app
operator: In
values:
- libgnt
- key: version
operator: In
values:
- next
topologyKey: failure-domain.beta.kubernetes.io/region
weight: 100
containers:
- name: docs-libgnt-next
image: libgnt/docs:next
imagePullPolicy: Always
ports:
- containerPort: 3000
resources:
limits:
cpu: 100m
memory: 96Mi
requests:
cpu: 50m
memory: 64Mi
---
apiVersion: v1
kind: Service
metadata:
namespace: pidgin
labels:
app: pidgin
version: 2.x.y
name: docs-pidgin-2-x-y
spec:
ports:
- port: 3000
protocol: TCP
selector:
app: pidgin
version: 2.x.y
---
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: pidgin
name: docs-pidgin-2-x-y
labels:
app: pidgin
version: 2.x.y
spec:
replicas: 2
selector:
matchLabels:
app: pidgin
version: 2.x.y
template:
metadata:
labels:
app: pidgin
version: 2.x.y
spec:
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- podAffinityTerm:
labelSelector:
matchExpressions:
- key: app
operator: In
values:
- pidgin
- key: version
operator: In
values:
- 2.x.y
topologyKey: failure-domain.beta.kubernetes.io/region
weight: 100
containers:
- name: docs-pidgin-2-x-y
image: pidgin/pidgin2-docs:latest
imagePullPolicy: Always
ports:
- containerPort: 3000
resources:
limits:
cpu: 100m
memory: 96Mi
requests:
cpu: 50m
memory: 64Mi
---
apiVersion: v1
kind: Service
metadata:
namespace: pidgin
labels:
app: talkatu
version: latest
name: docs-talkatu-latest
spec:
ports:
- port: 3000
protocol: TCP
selector:
app: talkatu
version: latest
---
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: pidgin
name: docs-talkatu-latest
labels:
app: talkatu
version: latest
spec:
replicas: 2
selector:
matchLabels:
app: talkatu
version: latest
template:
metadata:
labels:
app: talkatu
version: latest
spec:
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- podAffinityTerm:
labelSelector:
matchExpressions:
- key: app
operator: In
values:
- talkatu
- key: version
operator: In
values:
- latest
topologyKey: failure-domain.beta.kubernetes.io/region
weight: 100
containers:
- name: docs-talkatu-lastest
image: talkatu/docs:latest
imagePullPolicy: Always
ports:
- containerPort: 3000
resources:
limits:
cpu: 100m
memory: 96Mi
requests:
cpu: 50m
memory: 64Mi
---