create beta.kemkas.hu for testing purposes

This commit is contained in:
2024-03-10 11:41:00 +01:00
parent 097b5b9835
commit 40556d11a2
8 changed files with 283 additions and 0 deletions
+16
View File
@@ -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
+82
View File
@@ -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
@@ -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 servers 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
+85
View File
@@ -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
+15
View File
@@ -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
+16
View File
@@ -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
+34
View File
@@ -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
+15
View File
@@ -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