rework core-deployments to use helm 🪖
This commit is contained in:
parent
4758e8391b
commit
99622afe22
12 changed files with 272 additions and 5848 deletions
51
tests/test-egress.yaml
Normal file
51
tests/test-egress.yaml
Normal file
|
@ -0,0 +1,51 @@
|
|||
---
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: egress
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: egress-deployment
|
||||
namespace: egress
|
||||
labels:
|
||||
app: egress
|
||||
spec:
|
||||
replicas: 3
|
||||
selector:
|
||||
matchLabels:
|
||||
app: egress
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: egress
|
||||
spec:
|
||||
containers:
|
||||
- name: egress
|
||||
image: curlimages/curl
|
||||
command: ['/usr/bin/curl']
|
||||
args: ['-s', '-L', '-4', 'ip.hetzner.com']
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: egress6-deployment
|
||||
namespace: egress
|
||||
labels:
|
||||
app: egress6
|
||||
spec:
|
||||
replicas: 3
|
||||
selector:
|
||||
matchLabels:
|
||||
app: egress6
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: egress6
|
||||
spec:
|
||||
containers:
|
||||
- name: egress6
|
||||
image: curlimages/curl
|
||||
command: ['/usr/bin/curl']
|
||||
args: ['-s', '-L', '-6', 'ip.hetzner.com']
|
192
tests/test-ingress.yaml
Normal file
192
tests/test-ingress.yaml
Normal file
|
@ -0,0 +1,192 @@
|
|||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: helloworld-deployment
|
||||
labels:
|
||||
app: helloworld
|
||||
spec:
|
||||
replicas: 3
|
||||
selector:
|
||||
matchLabels:
|
||||
app: helloworld
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: helloworld
|
||||
spec:
|
||||
containers:
|
||||
- name: helloworld
|
||||
image: testcontainers/helloworld
|
||||
ports:
|
||||
- containerPort: 8080
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: helloworld-service
|
||||
spec:
|
||||
selector:
|
||||
app: helloworld
|
||||
ports:
|
||||
- protocol: TCP
|
||||
port: 80
|
||||
targetPort: 8080
|
||||
---
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: helloworld-ingress
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: "nginx"
|
||||
cert-manager.io/cluster-issuer: letsencrypt-staging
|
||||
acme.cert-manager.io/http01-edit-in-place: "true"
|
||||
ingress.kubernetes.io/ssl-redirect: "false"
|
||||
spec:
|
||||
rules:
|
||||
- host: "lb1.yolokube.de"
|
||||
http:
|
||||
paths:
|
||||
- pathType: Prefix
|
||||
path: "/"
|
||||
backend:
|
||||
service:
|
||||
name: helloworld-service
|
||||
port:
|
||||
number: 80
|
||||
tls:
|
||||
- hosts:
|
||||
- lb1.yolokube.de
|
||||
secretName: helloworld-cert
|
||||
############### Test
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: aaron-test
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: test1-deployment
|
||||
namespace: aaron-test
|
||||
labels:
|
||||
app: test1
|
||||
spec:
|
||||
replicas: 3
|
||||
selector:
|
||||
matchLabels:
|
||||
app: test1
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: test1
|
||||
spec:
|
||||
containers:
|
||||
- name: test1
|
||||
image: testcontainers/helloworld
|
||||
ports:
|
||||
- containerPort: 8080
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: test1-service
|
||||
namespace: aaron-test
|
||||
spec:
|
||||
selector:
|
||||
app: test1
|
||||
ports:
|
||||
- protocol: TCP
|
||||
port: 80
|
||||
targetPort: 8080
|
||||
---
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: test1-ingress
|
||||
namespace: aaron-test
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: nginx
|
||||
cert-manager.io/cluster-issuer: letsencrypt-staging
|
||||
acme.cert-manager.io/http01-edit-in-place: "true"
|
||||
ingress.kubernetes.io/ssl-redirect: "false"
|
||||
spec:
|
||||
rules:
|
||||
- host: "test1.apps.yolokube.de"
|
||||
http:
|
||||
paths:
|
||||
- pathType: Prefix
|
||||
path: "/"
|
||||
backend:
|
||||
service:
|
||||
name: test1-service
|
||||
port:
|
||||
number: 80
|
||||
tls:
|
||||
- hosts:
|
||||
- test1.apps.yolokube.de
|
||||
secretName: test1-cert
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: test2-deployment
|
||||
namespace: aaron-test
|
||||
labels:
|
||||
app: test2
|
||||
spec:
|
||||
replicas: 3
|
||||
selector:
|
||||
matchLabels:
|
||||
app: test2
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: test2
|
||||
spec:
|
||||
containers:
|
||||
- name: test2
|
||||
image: testcontainers/helloworld
|
||||
ports:
|
||||
- containerPort: 8080
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: test2-service
|
||||
namespace: aaron-test
|
||||
spec:
|
||||
selector:
|
||||
app: test2
|
||||
ports:
|
||||
- protocol: TCP
|
||||
port: 80
|
||||
targetPort: 8080
|
||||
---
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: test2-ingress
|
||||
namespace: aaron-test
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: nginx
|
||||
cert-manager.io/cluster-issuer: letsencrypt-staging
|
||||
acme.cert-manager.io/http01-edit-in-place: "true"
|
||||
ingress.kubernetes.io/ssl-redirect: "false"
|
||||
spec:
|
||||
rules:
|
||||
- host: "test2.apps.yolokube.de"
|
||||
http:
|
||||
paths:
|
||||
- pathType: Prefix
|
||||
path: "/"
|
||||
backend:
|
||||
service:
|
||||
name: test2-service
|
||||
port:
|
||||
number: 80
|
||||
tls:
|
||||
- hosts:
|
||||
- test2.apps.yolokube.de
|
||||
secretName: test2-cert
|
91
tests/test-storage.yaml
Normal file
91
tests/test-storage.yaml
Normal file
|
@ -0,0 +1,91 @@
|
|||
### example app "privatebin" to test storage
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: paste
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: paste-pvc
|
||||
namespace: paste
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
volumeMode: Filesystem
|
||||
resources:
|
||||
requests:
|
||||
storage: 8Gi
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: paste-deployment
|
||||
namespace: paste
|
||||
labels:
|
||||
app: paste
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: paste
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: paste
|
||||
spec:
|
||||
securityContext:
|
||||
fsGroup: 82
|
||||
containers:
|
||||
- name: paste
|
||||
image: privatebin/nginx-fpm-alpine
|
||||
ports:
|
||||
- containerPort: 8080
|
||||
volumeMounts:
|
||||
- mountPath: "/srv/data"
|
||||
name: paste-volume
|
||||
volumes:
|
||||
- name: paste-volume
|
||||
persistentVolumeClaim:
|
||||
claimName: paste-pvc
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: paste-service
|
||||
namespace: paste
|
||||
spec:
|
||||
selector:
|
||||
app: paste
|
||||
ports:
|
||||
- protocol: TCP
|
||||
port: 80
|
||||
targetPort: 8080
|
||||
---
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: paste-ingress
|
||||
namespace: paste
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: "nginx"
|
||||
cert-manager.io/cluster-issuer: letsencrypt-prod
|
||||
acme.cert-manager.io/http01-edit-in-place: "true"
|
||||
ingress.kubernetes.io/ssl-redirect: "false"
|
||||
spec:
|
||||
rules:
|
||||
- host: "paste.apps.yolokube.de"
|
||||
http:
|
||||
paths:
|
||||
- pathType: Prefix
|
||||
path: "/"
|
||||
backend:
|
||||
service:
|
||||
name: paste-service
|
||||
port:
|
||||
number: 80
|
||||
tls:
|
||||
- hosts:
|
||||
- paste.apps.yolokube.de
|
||||
secretName: paste-cert
|
Loading…
Add table
Add a link
Reference in a new issue