imfreedom/k8s-cluster

Add a name label to all namespaces so we can use it in namespaceSelector's
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
namespace: reaperworld
name: www
annotations:
certmanager.k8s.io/issuer: letsencrypt
nginx.ingress.kubernetes.io/configuration-snippet: |
more_set_headers "X-Frame-Options: SAMEORIGIN";
labels:
app: www
spec:
rules:
- host: reaperworld.com
http:
paths:
- backend:
serviceName: www
servicePort: 80
path: /
- host: www.reaperworld.com
http:
paths:
- backend:
serviceName: www
servicePort: 80
path: /
tls:
- hosts:
- reaperworld.com
- www.reaperworld.com
secretName: www-tls
---
apiVersion: v1
kind: Service
metadata:
namespace: reaperworld
labels:
app: www
name: www
spec:
ports:
- port: 80
protocol: TCP
selector:
app: www
---
apiVersion: certmanager.k8s.io/v1alpha1
kind: Certificate
metadata:
namespace: reaperworld
name: www
spec:
secretName: www-tls
issuerRef:
name: letsencrypt
commonName: reaperworld.com
dnsNames:
- reaperworld.com
- www.reaperworld.com
acme:
config:
- http01:
ingress: www
domains:
- reaperworld.com
- www.reaperworld.com
---
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: reaperworld
name: www
labels:
app: www
spec:
replicas: 2
selector:
matchLabels:
app: www
template:
metadata:
labels:
app: www
annotations:
rwgrim/autoupdate: 15m
spec:
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- podAffinityTerm:
labelSelector:
matchExpressions:
- key: app
operator: In
values:
- www
topologyKey: failure-domain.beta.kubernetes.io/region
weight: 100
containers:
- name: www
image: rwgrim/www.reaperworld.com
imagePullPolicy: Always
ports:
- containerPort: 80
resources:
limits:
cpu: 100m
memory: 96Mi
requests:
cpu: 50m
memory: 64Mi
---