From 40556d11a236d1b2bbeda52bef642c260a7249c4 Mon Sep 17 00:00:00 2001 From: morbalint Date: Sun, 10 Mar 2024 11:41:00 +0100 Subject: [PATCH] create beta.kemkas.hu for testing purposes --- kemkas-beta/1password-secret-store.yaml | 16 ++++ kemkas-beta/beta.kemkas.hu-ingress.yaml | 82 ++++++++++++++++++ .../beta.kemkas.hu-ssl-cert-issuer.yaml | 20 +++++ kemkas-beta/kemkas-be-deployment.yaml | 85 +++++++++++++++++++ kemkas-beta/kemkas-be-service.yaml | 15 ++++ kemkas-beta/kemkas-external-secrets.yaml | 16 ++++ kemkas-beta/kemkas-fe-deployment.yaml | 34 ++++++++ kemkas-beta/kemkas-fe-service.yaml | 15 ++++ 8 files changed, 283 insertions(+) create mode 100644 kemkas-beta/1password-secret-store.yaml create mode 100644 kemkas-beta/beta.kemkas.hu-ingress.yaml create mode 100644 kemkas-beta/beta.kemkas.hu-ssl-cert-issuer.yaml create mode 100644 kemkas-beta/kemkas-be-deployment.yaml create mode 100644 kemkas-beta/kemkas-be-service.yaml create mode 100644 kemkas-beta/kemkas-external-secrets.yaml create mode 100644 kemkas-beta/kemkas-fe-deployment.yaml create mode 100644 kemkas-beta/kemkas-fe-service.yaml diff --git a/kemkas-beta/1password-secret-store.yaml b/kemkas-beta/1password-secret-store.yaml new file mode 100644 index 0000000..c987635 --- /dev/null +++ b/kemkas-beta/1password-secret-store.yaml @@ -0,0 +1,16 @@ +apiVersion: external-secrets.io/v1beta1 +kind: SecretStore +metadata: + name: kemkas-secret-store + namespace: kemkas-beta +spec: + provider: + onepassword: + connectHost: https://1password-connect.dev.kemkas.hu + vaults: + kemkas: 1 # look in this vault first + auth: + secretRef: + connectTokenSecretRef: + name: onepassword-connect-token + key: token \ No newline at end of file diff --git a/kemkas-beta/beta.kemkas.hu-ingress.yaml b/kemkas-beta/beta.kemkas.hu-ingress.yaml new file mode 100644 index 0000000..2ad7613 --- /dev/null +++ b/kemkas-beta/beta.kemkas.hu-ingress.yaml @@ -0,0 +1,82 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: ingress-beta-kemkas-hu + namespace: kemkas-beta + annotations: + # nginx.ingress.kubernetes.io/force-ssl-redirect: "true" + # nginx.ingress.kubernetes.io/backend-protocol: "HTTP" + cert-manager.io/issuer: letsencrypt-beta-kemkas-hu +spec: + ingressClassName: nginx + rules: + - http: + paths: + - path: /Identity/ + pathType: Prefix + backend: + service: + name: kemkas-be-service + port: + number: 8080 + - path: /api/ + pathType: Prefix + backend: + service: + name: kemkas-be-service + port: + number: 8080 + - path: /signin-discord/ + pathType: Prefix + backend: + service: + name: kemkas-be-service + port: + number: 8080 + - path: /signin/ + pathType: Prefix + backend: + service: + name: kemkas-be-service + port: + number: 8080 + - path: /lib/ + pathType: Prefix + backend: + service: + name: kemkas-be-service + port: + number: 8080 + - path: /js/ + pathType: Prefix + backend: + service: + name: kemkas-be-service + port: + number: 8080 + - path: /css/ + pathType: Prefix + backend: + service: + name: kemkas-be-service + port: + number: 8080 + - path: /img/ + pathType: Prefix + backend: + service: + name: kemkas-be-service + port: + number: 8080 + - path: / + pathType: Prefix + backend: + service: + name: kemkas-fe-service + port: + number: 80 + host: beta.kemkas.hu + tls: + - hosts: + - beta.kemkas.hu + secretName: letsencrypt-beta-kemkas-hu diff --git a/kemkas-beta/beta.kemkas.hu-ssl-cert-issuer.yaml b/kemkas-beta/beta.kemkas.hu-ssl-cert-issuer.yaml new file mode 100644 index 0000000..d878805 --- /dev/null +++ b/kemkas-beta/beta.kemkas.hu-ssl-cert-issuer.yaml @@ -0,0 +1,20 @@ +apiVersion: cert-manager.io/v1 +kind: Issuer +metadata: + name: letsencrypt-beta-kemkas-hu + namespace: kemkas +spec: + # ACME issuer configuration + # `email` - the email address to be associated with the ACME account (make sure it's a valid one) + # `server` - the URL used to access the ACME server’s directory endpoint + # `privateKeySecretRef` - Kubernetes Secret to store the automatically generated ACME account private key + acme: + email: developer@kemkas.hu + server: https://acme-v02.api.letsencrypt.org/directory + privateKeySecretRef: + name: letsencrypt-beta-kemkas-hu-private-key + solvers: + # Use the HTTP-01 challenge provider + - http01: + ingress: + class: nginx diff --git a/kemkas-beta/kemkas-be-deployment.yaml b/kemkas-beta/kemkas-be-deployment.yaml new file mode 100644 index 0000000..7ac8f98 --- /dev/null +++ b/kemkas-beta/kemkas-be-deployment.yaml @@ -0,0 +1,85 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: kemkas-be + namespace: kemkas-beta + labels: + app: kemkas-be +spec: + replicas: 2 + selector: + matchLabels: + app: kemkas-be + template: + metadata: + name: kemkas-be + labels: + app: kemkas-be + spec: + containers: + - name: kemkas-be + image: registry.digitalocean.com/kemkas/kemkas-be:f0715b2e + imagePullPolicy: IfNotPresent + ports: + - containerPort: 8080 + env: + - name: monitoring__url + value: "http://grafana-k8s-monitoring-grafana-agent.default.svc.cluster.local:4318" + - name: Email__DomainName + value: "mail.kemkas.hu" + - name: Email__ApiKey + valueFrom: + secretKeyRef: + name: kemkas-envs + key: email--api-key + - name: ConnectionStrings__DefaultConnection + valueFrom: + secretKeyRef: + name: kemkas-envs + key: connection-strings--beta-connection + - name: Authentication__Google__ClientId + valueFrom: + secretKeyRef: + name: kemkas-envs + key: authentication--google--client-id + - name: Authentication__Google__ClientSecret + valueFrom: + secretKeyRef: + name: kemkas-envs + key: authentication--google--client-secret + - name: Authentication__Facebook__ClientId + valueFrom: + secretKeyRef: + name: kemkas-envs + key: authentication--facebook--client-id + - name: Authentication__Facebook__ClientSecret + valueFrom: + secretKeyRef: + name: kemkas-envs + key: authentication--facebook--client-secret + - name: Authentication__Discord__ClientId + valueFrom: + secretKeyRef: + name: kemkas-envs + key: authentication--discord--client-id + - name: Authentication__Discord__ClientSecret + valueFrom: + secretKeyRef: + name: kemkas-envs + key: authentication--discord--client-secret + livenessProbe: + httpGet: + path: /health + port: 8080 + initialDelaySeconds: 3 + periodSeconds: 3 + resources: + requests: + cpu: 100m + memory: 100M + limits: + cpu: 750m + memory: 300M + + restartPolicy: Always + diff --git a/kemkas-beta/kemkas-be-service.yaml b/kemkas-beta/kemkas-be-service.yaml new file mode 100644 index 0000000..99d87a3 --- /dev/null +++ b/kemkas-beta/kemkas-be-service.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Service +metadata: + name: kemkas-be-service + namespace: kemkas-beta + labels: + app: kemkas-be +spec: + selector: + app: kemkas-be + type: ClusterIP + ports: + - protocol: TCP + port: 8080 + targetPort: 8080 diff --git a/kemkas-beta/kemkas-external-secrets.yaml b/kemkas-beta/kemkas-external-secrets.yaml new file mode 100644 index 0000000..b7fc4d2 --- /dev/null +++ b/kemkas-beta/kemkas-external-secrets.yaml @@ -0,0 +1,16 @@ +apiVersion: external-secrets.io/v1beta1 +kind: ExternalSecret +metadata: + name: kemkas-external-secrets + namespace: kemkas-beta +spec: + refreshInterval: 5m + secretStoreRef: + name: kemkas-secret-store + kind: SecretStore + target: + name: kemkas-envs + creationPolicy: Owner + dataFrom: + - extract: + key: kemkas-app diff --git a/kemkas-beta/kemkas-fe-deployment.yaml b/kemkas-beta/kemkas-fe-deployment.yaml new file mode 100644 index 0000000..0b4d32b --- /dev/null +++ b/kemkas-beta/kemkas-fe-deployment.yaml @@ -0,0 +1,34 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: kemkas-fe + namespace: kemkas-beta + labels: + app: kemkas-fe +spec: + replicas: 2 + selector: + matchLabels: + app: kemkas-fe + template: + metadata: + name: kemkas-fe + labels: + app: kemkas-fe + spec: + containers: + - name: kemkas-fe + image: registry.digitalocean.com/kemkas/kemkas-fe:5f56f34b + imagePullPolicy: IfNotPresent + ports: + - containerPort: 80 + resources: + requests: + cpu: 50m + memory: 50M + limits: + cpu: 500m + memory: 200M + + restartPolicy: Always + diff --git a/kemkas-beta/kemkas-fe-service.yaml b/kemkas-beta/kemkas-fe-service.yaml new file mode 100644 index 0000000..b0ff05d --- /dev/null +++ b/kemkas-beta/kemkas-fe-service.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Service +metadata: + name: kemkas-fe-service + namespace: kemkas-beta + labels: + app: kemkas-fe +spec: + selector: + app: kemkas-fe + type: ClusterIP + ports: + - protocol: TCP + port: 80 + targetPort: 80