From 3488d82c15f021dbf2f0b24db6050b9535cf8a2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nico=20P=C3=B6gel?= <nico.poegel@reutlingen-university.de> Date: Tue, 20 Jun 2023 19:57:39 +0000 Subject: [PATCH] updated repo with lots of new stuff. --- helm-msa/helm-msa-1.0.0.tgz | Bin 0 -> 3881 bytes .../auth-service-deployment-cors.yaml | 48 ++++++++++ .../deployment/cors-handler-deployment.yaml | 35 ++++++++ .../deployment/myaktion-deployment.yaml | 2 +- .../myaktion-frontend-deployment.yaml | 4 +- .../auth-service-ingress-route-verify.yml | 66 ++++++++++++++ .../cors-handler-ingress-route.yaml | 18 ++++ .../myaktion-ingress-route-no-auth.yml | 82 ++++++++++++++++++ .../service/cors-handler-service.yaml | 12 +++ .../service/myaktion-frontend-service.yaml | 6 +- 10 files changed, 267 insertions(+), 6 deletions(-) create mode 100644 helm-msa/helm-msa-1.0.0.tgz create mode 100644 helm-msa/templates/deployment/auth-service-deployment-cors.yaml create mode 100644 helm-msa/templates/deployment/cors-handler-deployment.yaml create mode 100644 helm-msa/templates/ingress-route/auth-service-ingress-route-verify.yml create mode 100644 helm-msa/templates/ingress-route/cors-handler-ingress-route.yaml create mode 100644 helm-msa/templates/ingress-route/myaktion-ingress-route-no-auth.yml create mode 100644 helm-msa/templates/service/cors-handler-service.yaml diff --git a/helm-msa/helm-msa-1.0.0.tgz b/helm-msa/helm-msa-1.0.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..937bc6d9d8084f1464eff0793491defb2b3e23a6 GIT binary patch literal 3881 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 literal 0 HcmV?d00001 diff --git a/helm-msa/templates/deployment/auth-service-deployment-cors.yaml b/helm-msa/templates/deployment/auth-service-deployment-cors.yaml new file mode 100644 index 0000000..98887b3 --- /dev/null +++ b/helm-msa/templates/deployment/auth-service-deployment-cors.yaml @@ -0,0 +1,48 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: auth-service-deployment +spec: + replicas: 1 + selector: + matchLabels: + app: auth-service + template: + metadata: + annotations: + linkerd.io/inject: enabled + labels: + app: auth-service + spec: + containers: + - name: auth-service + image: ginyanote/auth-service:1.0.6 + imagePullPolicy: Always + ports: + - containerPort: 5000 + env: + - name: HOST_ADDRESS + value: "0.0.0.0" + - name: DATABASE_NAME + value: "postgres" + - name: DATABASE_HOST + value: "user-db-postgres-service" + - name: DATABASE_PORT + value: "5432" + - name: EXPIRES_SECONDS + value: "3000" + - name: DATABASE_USER + valueFrom: + secretKeyRef: + name: user-db-secret + key: DATABASE_USER + - name: DATABASE_PASSWORD + valueFrom: + secretKeyRef: + name: user-db-secret + key: DATABASE_PASSWORD + - name: AUTH_SECRET + valueFrom: + secretKeyRef: + name: auth-service-secret + key: AUTH_SECRET diff --git a/helm-msa/templates/deployment/cors-handler-deployment.yaml b/helm-msa/templates/deployment/cors-handler-deployment.yaml new file mode 100644 index 0000000..55de4f7 --- /dev/null +++ b/helm-msa/templates/deployment/cors-handler-deployment.yaml @@ -0,0 +1,35 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: cors-handler-deployment +spec: + replicas: 1 + selector: + matchLabels: + app: cors-handler + template: + metadata: + annotations: + linkerd.io/inject: enabled + labels: + app: cors-handler + spec: + containers: + - name: cors-handler + image: ginyanote/cors-handler:0.1.1 + imagePullPolicy: Always + ports: + - containerPort: 5000 + env: + - name: HOST_ADDRESS + value: "0.0.0.0" + - name: ALLOW_CREDENTIALS + value: "true" + - name: ALLOW_HEADERS + value: "authorization" + - name: ALLOW_METHODS + value: "DELETE, GET, HEAD, OPTIONS, PATCH, POST, PUT" + - name: ALLOW_ORIGIN + value: "http://134.103.212.72:30001, http://localhost:8080" + - name: EXPOSE_HEADERS + value: "*" diff --git a/helm-msa/templates/deployment/myaktion-deployment.yaml b/helm-msa/templates/deployment/myaktion-deployment.yaml index 42307d2..adddc57 100644 --- a/helm-msa/templates/deployment/myaktion-deployment.yaml +++ b/helm-msa/templates/deployment/myaktion-deployment.yaml @@ -16,7 +16,7 @@ spec: spec: containers: - name: myaktion - image: ginyanote/myaktion:0.2.4 + image: ginyanote/myaktion:0.2.8 imagePullPolicy: Always ports: - containerPort: 8080 diff --git a/helm-msa/templates/deployment/myaktion-frontend-deployment.yaml b/helm-msa/templates/deployment/myaktion-frontend-deployment.yaml index a300ba9..31d4e81 100644 --- a/helm-msa/templates/deployment/myaktion-frontend-deployment.yaml +++ b/helm-msa/templates/deployment/myaktion-frontend-deployment.yaml @@ -16,7 +16,7 @@ spec: spec: containers: - name: myaktion-frontend - image: ginyanote/myaktion-frontend:0.1.0 + image: ginyanote/myaktion-frontend:0.1.3 imagePullPolicy: IfNotPresent ports: - - containerPort: 8080 \ No newline at end of file + - containerPort: 80 diff --git a/helm-msa/templates/ingress-route/auth-service-ingress-route-verify.yml b/helm-msa/templates/ingress-route/auth-service-ingress-route-verify.yml new file mode 100644 index 0000000..ad8dd78 --- /dev/null +++ b/helm-msa/templates/ingress-route/auth-service-ingress-route-verify.yml @@ -0,0 +1,66 @@ +apiVersion: traefik.containo.us/v1alpha1 +kind: IngressRoute +metadata: + annotations: + kubernetes.io/ingress.class: traefik + creationTimestamp: null + name: auth-service-ingress-route + namespace: default +spec: + routes: + - kind: Rule + match: PathPrefix(`/user`) + services: + - kind: Service + name: auth-service-service + namespace: default + port: 5000 + - kind: Rule + match: PathPrefix(`/login`) + services: + - kind: Service + name: auth-service-service + namespace: default + port: 5000 + - kind: Rule + match: PathPrefix(`/logout`) + middlewares: + - name: fw-auth-mw + namespace: default + services: + - kind: Service + name: auth-service-service + namespace: default + port: 5000 + - kind: Rule + match: PathPrefix(`/blacklist/cleanup`) + middlewares: + - name: fw-auth-mw + namespace: default + services: + - kind: Service + name: auth-service-service + namespace: default + port: 5000 + - kind: Rule + match: PathPrefix(`/verify`) + services: + - kind: Service + name: auth-service-service + namespace: default + port: 5000 +--- +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + creationTimestamp: null + name: fw-auth-mw + namespace: default +spec: + forwardAuth: + address: http://auth-service-service.default.svc.cluster.local:5000/verify + authResponseHeaders: + - UserID + - IsAdmin + - UserRoles + tls: {} diff --git a/helm-msa/templates/ingress-route/cors-handler-ingress-route.yaml b/helm-msa/templates/ingress-route/cors-handler-ingress-route.yaml new file mode 100644 index 0000000..2a69864 --- /dev/null +++ b/helm-msa/templates/ingress-route/cors-handler-ingress-route.yaml @@ -0,0 +1,18 @@ +apiVersion: traefik.containo.us/v1alpha1 +kind: IngressRoute +metadata: + annotations: + kubernetes.io/ingress.class: traefik + creationTimestamp: null + name: cors-handler-ingress-route + namespace: default +spec: + routes: + - kind: Rule + match: Method(`OPTIONS`) + priority: 100 + services: + - kind: Service + name: cors-handler-service + namespace: default + port: 5000 diff --git a/helm-msa/templates/ingress-route/myaktion-ingress-route-no-auth.yml b/helm-msa/templates/ingress-route/myaktion-ingress-route-no-auth.yml new file mode 100644 index 0000000..e2077f2 --- /dev/null +++ b/helm-msa/templates/ingress-route/myaktion-ingress-route-no-auth.yml @@ -0,0 +1,82 @@ +apiVersion: traefik.containo.us/v1alpha1 +kind: IngressRoute +metadata: + annotations: + kubernetes.io/ingress.class: traefik + creationTimestamp: null + name: myaktion-ingress-route + namespace: default +spec: + routes: + - kind: Rule + match: Path(`/campaigns/{id:[0-9]+}/donations`) && Method(`POST`) + services: + - kind: Service + name: myaktion-service + namespace: default + port: 8080 + + - kind: Rule + match: Path(`/campaigns/{id:[0-9]+}/donations`) && Method(`GET`) + middlewares: + - name: fw-auth-mw + namespace: default + services: + - kind: Service + name: myaktion-service + namespace: default + port: 8080 + +# - kind: Rule +# match: (Path(`/campaigns`) || Path(`/campaigns/{id:[0-9]+}`)) && Method(`OPTIONS`) +# services: +# - kind: Service +# name: myaktion-service +# namespace: default +# port: 8080 + + - kind: Rule + match: Path(`/campaigns`) || Path(`/campaigns/{id:[0-9]+}`) + middlewares: + - name: fw-auth-mw + namespace: default + services: + - kind: Service + name: myaktion-service + namespace: default + port: 8080 + + - kind: Rule + match: Path(`/view`) + services: + - kind: Service + name: myaktion-monitor-service + namespace: default + port: 8081 + + - kind: Rule + match: Path(`/monitor`) + services: + - kind: Service + name: myaktion-monitor-service + namespace: default + port: 8081 +--- +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + creationTimestamp: null + name: cors-mw + namespace: default +spec: + headers: + accessControlAllowOriginList: + - "http://134.103.212.72:30001" + accessControlAllowMethods: + - "GET" + - "POST" + - "PUT" + - "DELETE" + - "OPTIONS" + accessControlMaxAge: 1000 + addVaryHeader: true diff --git a/helm-msa/templates/service/cors-handler-service.yaml b/helm-msa/templates/service/cors-handler-service.yaml new file mode 100644 index 0000000..126a192 --- /dev/null +++ b/helm-msa/templates/service/cors-handler-service.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: Service +metadata: + name: cors-handler-service +spec: + selector: + app: cors-handler + ports: + - protocol: TCP + port: 5000 + targetPort: 5000 + type: ClusterIP diff --git a/helm-msa/templates/service/myaktion-frontend-service.yaml b/helm-msa/templates/service/myaktion-frontend-service.yaml index 0334424..99c139f 100644 --- a/helm-msa/templates/service/myaktion-frontend-service.yaml +++ b/helm-msa/templates/service/myaktion-frontend-service.yaml @@ -7,7 +7,7 @@ spec: app: myaktion-frontend ports: - protocol: TCP - port: 8080 - targetPort: 8080 + port: 8083 + targetPort: 80 nodePort: 30001 - type: NodePort \ No newline at end of file + type: NodePort -- GitLab