From 29fed885873a124f33f473c66664c8b2a8d427d9 Mon Sep 17 00:00:00 2001
From: hutzlerhe <helmut.hutzler@th-nuernberg.de>
Date: Fri, 7 Oct 2022 09:26:19 +0200
Subject: [PATCH] Initial commit

---
 README.md                 |  6 +++---
 dashboard.yaml            | 13 +++++++++++++
 ii.yaml                   | 26 ++++++++++++++++++++++++++
 ir.yaml                   | 14 ++++++++++++++
 nginx-deployment.yaml     | 39 +++++++++++++++++++++++++++++++++++++++
 nginx-ingress-tls.yaml    | 24 ++++++++++++++++++++++++
 nginx-ingress-tls.yaml_ok | 24 ++++++++++++++++++++++++
 tls.crt                   | 25 +++++++++++++++++++++++++
 tls.key                   | 28 ++++++++++++++++++++++++++++
 9 files changed, 196 insertions(+), 3 deletions(-)
 create mode 100644 dashboard.yaml
 create mode 100644 ii.yaml
 create mode 100644 ir.yaml
 create mode 100644 nginx-deployment.yaml
 create mode 100644 nginx-ingress-tls.yaml
 create mode 100644 nginx-ingress-tls.yaml_ok
 create mode 100644 tls.crt
 create mode 100644 tls.key

diff --git a/README.md b/README.md
index 264bdd7..e3dea9b 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# kubernetes-setup-1.24
+# Kubernete-Setup-1.24
 
 
 
@@ -15,14 +15,14 @@ Already a pro? Just edit this README.md and make it your own. Want to make it ea
 
 ```
 cd existing_repo
-git remote add origin https://git.informatik.fh-nuernberg.de/HutzlerHe/kubernetes-setup-1.24.git
+git remote add origin https://git.informatik.fh-nuernberg.de/HutzlerHe/kubernete-setup-1.24.git
 git branch -M main
 git push -uf origin main
 ```
 
 ## Integrate with your tools
 
-- [ ] [Set up project integrations](https://git.informatik.fh-nuernberg.de/HutzlerHe/kubernetes-setup-1.24/-/settings/integrations)
+- [ ] [Set up project integrations](https://git.informatik.fh-nuernberg.de/HutzlerHe/kubernete-setup-1.24/-/settings/integrations)
 
 ## Collaborate with your team
 
diff --git a/dashboard.yaml b/dashboard.yaml
new file mode 100644
index 0000000..53fb932
--- /dev/null
+++ b/dashboard.yaml
@@ -0,0 +1,13 @@
+apiVersion: traefik.containo.us/v1alpha1
+kind: IngressRoute
+metadata:
+  name: dashboard
+spec:
+  entryPoints:
+    - web
+  routes:
+    - match: Host (`dev-storage.informatik.fh-nuernberg.de`) && (PathPrefix(`/dashboard`) || PathPrefix(`/api`))
+      kind: Rule
+      services:
+        - name: api@internal
+          kind: TraefikService
diff --git a/ii.yaml b/ii.yaml
new file mode 100644
index 0000000..3982669
--- /dev/null
+++ b/ii.yaml
@@ -0,0 +1,26 @@
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+  name: nginx-ingress-tls
+  annotations:
+    kubernetes.io/ingress.class: traefik
+    traefik.ingress.kubernetes.io/frontend-entry-points: http,https
+    traefik.ingress.kubernetes.io/redirect-entry-point: https
+    ingress.kubernetes.io/enable-rewrite-log: "true"
+    ingress.kubernetes.io/rewrite-target: /app
+spec:
+  tls:
+  - hosts:
+      - dev-storage.informatik.fh-nuernberg.de
+    secretName: mycluster-tls-cert
+  rules:
+  - host: dev-storage.informatik.fh-nuernberg.de
+    http:
+      paths:
+      - path: /app
+        pathType: "Exact"
+        backend:
+          service:
+            name: nginx-service
+            port:
+              number: 8080
diff --git a/ir.yaml b/ir.yaml
new file mode 100644
index 0000000..d8ecd7b
--- /dev/null
+++ b/ir.yaml
@@ -0,0 +1,14 @@
+apiVersion: traefik.containo.us/v1alpha1
+kind: IngressRoute
+metadata:
+  name: users
+  namespace: default
+spec:
+  entryPoints:
+    - web
+  routes:
+  - match: Host(`dev.[REDUCTED]`) && PathPrefix(`/users`)
+    kind: Rule
+    services:
+    - name: users-service
+      port: 80
diff --git a/nginx-deployment.yaml b/nginx-deployment.yaml
new file mode 100644
index 0000000..85f402e
--- /dev/null
+++ b/nginx-deployment.yaml
@@ -0,0 +1,39 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: nginx-deployment
+  labels:
+    app: nginx-loadbalance
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: nginx-loadbalance
+  template:
+    metadata:
+      labels:
+        app: nginx-loadbalance
+    spec:
+      containers:
+      - name: nginx
+        image: nginx:1.15.5
+        ports:
+        - containerPort: 80
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: nginx-service
+spec:
+  type: ClusterIP
+  ports:
+  - name: http
+    protocol: TCP
+    port: 8080
+    targetPort: 80
+  - name: https
+    protocol: TCP
+    port: 8443
+    targetPort: 443
+  selector:
+    app: nginx-loadbalance
diff --git a/nginx-ingress-tls.yaml b/nginx-ingress-tls.yaml
new file mode 100644
index 0000000..8d57571
--- /dev/null
+++ b/nginx-ingress-tls.yaml
@@ -0,0 +1,24 @@
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+  name: nginx-ingress-tls
+  annotations:
+    kubernetes.io/ingress.class: traefik
+    traefik.ingress.kubernetes.io/frontend-entry-points: http,https
+    traefik.ingress.kubernetes.io/redirect-entry-point: https
+spec:
+  tls:
+  - hosts:
+      - dev-storage.informatik.fh-nuernberg.de
+    secretName: mycluster-tls-cert
+  rules:
+  - host: dev-storage.informatik.fh-nuernberg.de
+    http:
+      paths:
+      - path: /
+        pathType: "Exact"
+        backend:
+          service:
+            name: nginx-service
+            port:
+              number: 8080
diff --git a/nginx-ingress-tls.yaml_ok b/nginx-ingress-tls.yaml_ok
new file mode 100644
index 0000000..8d57571
--- /dev/null
+++ b/nginx-ingress-tls.yaml_ok
@@ -0,0 +1,24 @@
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+  name: nginx-ingress-tls
+  annotations:
+    kubernetes.io/ingress.class: traefik
+    traefik.ingress.kubernetes.io/frontend-entry-points: http,https
+    traefik.ingress.kubernetes.io/redirect-entry-point: https
+spec:
+  tls:
+  - hosts:
+      - dev-storage.informatik.fh-nuernberg.de
+    secretName: mycluster-tls-cert
+  rules:
+  - host: dev-storage.informatik.fh-nuernberg.de
+    http:
+      paths:
+      - path: /
+        pathType: "Exact"
+        backend:
+          service:
+            name: nginx-service
+            port:
+              number: 8080
diff --git a/tls.crt b/tls.crt
new file mode 100644
index 0000000..1174c09
--- /dev/null
+++ b/tls.crt
@@ -0,0 +1,25 @@
+-----BEGIN CERTIFICATE-----
+MIIEMTCCAxmgAwIBAgIUXJn011NmTDgR7DbtYKKZi8HFeoYwDQYJKoZIhvcNAQEL
+BQAwgacxCzAJBgNVBAYTAkRFMRAwDgYDVQQIDAdCYXZhcmlhMRIwEAYDVQQHDAlO
+dXJlbmJlcmcxFTATBgNVBAoMDFRIIE51cmVuYmVyZzETMBEGA1UECwwKSW5mb3Jt
+YXRpazEXMBUGA1UEAwwOMTQxLjc1LjE0OC4xNTExLTArBgkqhkiG9w0BCQEWHmhl
+bG11dC5odXR6bGVyQHRoLW51ZXJuYmVyZy5kZTAeFw0yMjEwMDUxMDQ0NDdaFw0y
+MzEwMDUxMDQ0NDdaMIGnMQswCQYDVQQGEwJERTEQMA4GA1UECAwHQmF2YXJpYTES
+MBAGA1UEBwwJTnVyZW5iZXJnMRUwEwYDVQQKDAxUSCBOdXJlbmJlcmcxEzARBgNV
+BAsMCkluZm9ybWF0aWsxFzAVBgNVBAMMDjE0MS43NS4xNDguMTUxMS0wKwYJKoZI
+hvcNAQkBFh5oZWxtdXQuaHV0emxlckB0aC1udWVybmJlcmcuZGUwggEiMA0GCSqG
+SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDOMzFcxiOcao26iWtGX/3LyQ0o56G8LzF0
+2NzNH4649XTD8kRV7WIROARcMWJgHWcN+3YEy01WVc2ug1iLnYW2P2iZGtS5adN1
+H91IXvmB6G0J9/ASTQPTc9nnP6afkU7ocNuyVzO77jiSo57B0blls4gFnqEyY2rK
+wU0+g/uriJ6KObaaV/od+siuKGW84hGN92FY5cAQ4K3e0/C0255WGI+ESQqIhz48
+EgQ4RcAgOqvUY2K44HUPLdS/KNMTlGBqsh+8XymgfONh/ZMSlBK5fyVkukMnNefB
+g6SxrzvyVlJMQJF8zgoZDRK6KOA/w9D3r+xZ+Vw4fY2zqdCtYWqVAgMBAAGjUzBR
+MB0GA1UdDgQWBBSxqLwSIw0i6IXAznL684r7Wk1uxzAfBgNVHSMEGDAWgBSxqLwS
+Iw0i6IXAznL684r7Wk1uxzAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUA
+A4IBAQBImcVHLUR7pHvzBVN+0PSvOFNbBjzfsmO7vO47JsUUUrNfwMKC/5PIj0vo
+ZjZsbXyB44mMxGYs7llLLblWV/q3j9ftGGpT0rCTGeIshKYetvVu2yD/W5vtaNKy
+Z1Fefn8rUSKsOAMeqsaRC5jyGDDMT0iKg23cyncqZbsOop5LJ2QCYgZQi5C2t+li
+3YedXxzt5KH0SzRsnJ8aMiV0ekr9BSa8HSu0SLouILJ8gvmjrVzpZD/bLoRUGVuk
+6BUNMUBAxO7hD6pz5Fy55UemFwEXBKLfe6PHtgUsTuKkpBqj3yoRwbeE2fAdVQN4
+DiffiXgUeRRfBv2zyAnxBopMv4Y5
+-----END CERTIFICATE-----
diff --git a/tls.key b/tls.key
new file mode 100644
index 0000000..3a88fbd
--- /dev/null
+++ b/tls.key
@@ -0,0 +1,28 @@
+-----BEGIN PRIVATE KEY-----
+MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDOMzFcxiOcao26
+iWtGX/3LyQ0o56G8LzF02NzNH4649XTD8kRV7WIROARcMWJgHWcN+3YEy01WVc2u
+g1iLnYW2P2iZGtS5adN1H91IXvmB6G0J9/ASTQPTc9nnP6afkU7ocNuyVzO77jiS
+o57B0blls4gFnqEyY2rKwU0+g/uriJ6KObaaV/od+siuKGW84hGN92FY5cAQ4K3e
+0/C0255WGI+ESQqIhz48EgQ4RcAgOqvUY2K44HUPLdS/KNMTlGBqsh+8XymgfONh
+/ZMSlBK5fyVkukMnNefBg6SxrzvyVlJMQJF8zgoZDRK6KOA/w9D3r+xZ+Vw4fY2z
+qdCtYWqVAgMBAAECggEBAIQXeVTEPUXTYI2RwJ3pmkz0s7BzikFiPh1rWy8wOx6z
+ZySrSyl8k2kSaICixjFqRH1JjFYP4rAe8U8NJyjxNRoFzrzd2k4Yw/RxADF/Xfjh
+axCKu0kN+xh3S6z/Mn9f95uhyKubfzGxrp4JoQbqkgjblJR9BSihVWUjpZcZt5wv
+FpOwbP62s55m5Qw8ll07WhbaioDOTYU4+5Wr+pUj5jj/sI8Kp4voxmpcuK2a3kWR
+TECNJ5Lf0pThIvB4BTXWz+VWitEptg8EHG/ii26gSRFrqLfO1EokE/cCIUMS7Lln
+sXxfogg9hWW+HSMCEl0oICc/hdEJ7CN4xZukQcHSMMECgYEA+Hr1uphpvBlp7/XE
+bFt77le9bGSgTtaIUAuct2chhjyd6+6bX/AduvL6Ifz/bayIPsJ5eUjeHioYNu+y
+raKQe7IgS/BT7qEA+a9FtI3nuSya0HgYFgTD3BDNkCyRCk8GsjZ+++dmrDZv/H08
+JfpHiJkgy11VLtAvcavtnRW99dECgYEA1HCtKNlmqfDE/1xSz8ClmbtPo1vRTatC
+anrbRNVqjz5EXbNUieoQiHrcqA0kaEqQgW/uiH1r8uy+sEuB5HP10+DRY41hcEA8
+CvFdvkEWhmHqvVUgZfJyvXsGxoqRcqfgLBBC7SdOaslOFfHOSR1qGoGZNs0RkCOb
+4RAYj6FxpYUCgYAZ7Qpym7B8ldI93VDPVYRKzBDRnHY1g6DZaTzCzhnrXavEkDLa
+Ab24Yd3DahhkoxncIoJ2Kyoxz4aTRNNJ1qponZ9NDRhUz6vAYY9OVXgWFBdbJQyu
+T3T4IzCvmFbR0okKUzFQq0ZFNbDdkVuTQtfv4rpPPb/DkKlCnQO/3iLh4QKBgEyP
+yyg0qZZHaofpewLamBP+eKYUGiuWtBnx6wI0s/Gp7DOkxKvrikfVl56NFfjsHoY3
+k8zm/reO8O5SWB7AV/EjTfNF6b7tt3XuJO3DQV3u/g18F3AGX6nAI+H74I1kyRq4
+RZZ4mv9LS3QHMGQTUMD6wgAJCfJbkvsatO9WrMGNAoGAQCHXMGoXhIkiMylDwvy3
+R/PnpPS/e/brlqbCQxL0/zBobYbyTPUb1g3spJt2Mt3GX85ZbZQx2X0XexJmtLIx
+N+X0GZqZr79EToiEramtGV5oy7wQVrkescvQMPaiRcKlJcbHuJkodNbYbnZ8kztA
+MKKJQ0/s83NOJ3DZFDLsQfE=
+-----END PRIVATE KEY-----
-- 
GitLab