imfreedom/k8s-cluster

Add the teamcity manifest

2019-10-16, Gary Kramlich
caa6fffdbf59
Add the teamcity manifest
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
namespace: pidgin
name: nest
annotations:
certmanager.k8s.io/issuer: letsencrypt
nginx.ingress.kubernetes.io/configuration-snippet: |
more_set_headers "X-Frame-Options: SAMEORIGIN";
labels:
app: nest
spec:
rules:
- host: nest.pidgin.im
http:
paths:
- backend:
serviceName: nest
servicePort: 3000
path: /
tls:
- hosts:
- nest.pidgin.im
secretName: nest-tls
---
apiVersion: certmanager.k8s.io/v1alpha1
kind: Certificate
metadata:
namespace: pidgin
name: nest
spec:
secretName: nest-tls
issuerRef:
name: letsencrypt
commonName: nest.pidgin.im
dnsNames:
- nest.pidgin.im
acme:
config:
- http01:
ingress: nest
domains:
- nest.pidgin.im
---
apiVersion: v1
kind: Service
metadata:
namespace: pidgin
name: nest
labels:
app: nest
spec:
ports:
- port: 3000
protocol: TCP
selector:
app: nest
---
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
namespace: pidgin
name: nest
labels:
app: nest
spec:
podSelector:
matchLabels:
app: nest
ingress:
- from:
- namespaceSelector:
matchLabels:
name: kube-public
podSelector:
matchLabels:
app: ingress
role: controller
ports:
- port: 3000
protocol: TCP
---
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: pidgin
name: nest
labels:
app: nest
spec:
replicas: 2
selector:
matchLabels:
app: nest
template:
metadata:
labels:
app: nest
spec:
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- podAffinityTerm:
labelSelector:
matchExpressions:
- key: app
operator: In
values:
- nest
topologyKey: failure-domain.beta.kubernetes.io/region
weight: 100
containers:
- name: nest
image: pidgin/nest:latest
imagePullPolicy: Always
ports:
- containerPort: 3000
resources:
limits:
cpu: 100m
memory: 96Mi
requests:
cpu: 50m
memory: 64Mi
---