add demo application

This commit is contained in:
2024-06-02 19:23:12 +03:00
parent cd368c7755
commit 83ce5b53f3
4 changed files with 104 additions and 0 deletions

View File

@@ -0,0 +1,17 @@
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: demo-app-issuer
spec:
acme:
server: https://acme-v02.api.letsencrypt.org/directory
email: reversstorm@gmail.com
privateKeySecretRef:
name: demo-app-acme-secret
solvers:
- http01:
ingress:
ingressTemplate:
metadata:
annotations:
kubernetes.io/ingress.class: nginx

View File

@@ -0,0 +1,31 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: demo-app-ingress
labels:
name: demo-app-ingress
annotations:
cert-manager.io/cluster-issuer: "demo-app-issuer"
nginx.ingress.kubernetes.io/cors-allow-headers: Authorization,Accept,Origin,DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range
nginx.ingress.kubernetes.io/enable-cors: "true"
nginx.ingress.kubernetes.io/proxy-buffer-size: 128k
nginx.ingress.kubernetes.io/proxy-buffers: 4 256k
nginx.ingress.kubernetes.io/proxy-busy-buffers-size: 256k
nginx.ingress.kubernetes.io/ssl-redirect: "true"
spec:
ingressClassName: nginx
tls:
- hosts:
- demo.dev.kvazaric.ru
secretName: kvazaric-frontend-tls
rules:
- host: demo.dev.kvazaric.ru
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: kvazaric-frontend-frontend
port:
number: 80

View File

@@ -0,0 +1,45 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: kvazaric-frontend
labels:
app: kvazaric-frontend
app.kubernetes.io/component: "kvazaric-frontend"
spec:
replicas: 1
selector:
matchLabels:
app: kvazaric-frontend
app.kubernetes.io/component: "kvazaric-frontend"
template:
metadata:
labels:
app: kvazaric-frontend
app.kubernetes.io/component: "kvazaric-frontend"
annotations:
vault.hashicorp.com/agent-inject: "true"
vault.hashicorp.com/agent-inject-secret-env: demo-app/kvazaric-frontend
vault.hashicorp.com/agent-inject-template-env: |
{{- with secret "demo-app/kvazaric-frontend" -}}
{{- range $key, $value := .Data.data }}
export {{ $key }}={{ $value }}
{{- end }}
{{- end }}
vault.hashicorp.com/auth-path: auth/kubernetes-local
vault.hashicorp.com/role: demo-app
spec:
imagePullSecrets:
- name: docker
containers:
- name: kvazaric-frontend
image: harbor.disk.klt.t1.cloud/demo-app/frontend:dev-ee001fcc
imagePullPolicy: Always
ports:
- containerPort: 3000
resources:
limits:
cpu: 100m
memory: 100Mi
requests:
cpu: 50m
memory: 50Mi

View File

@@ -0,0 +1,11 @@
apiVersion: v1
kind: Service
metadata:
name: kvazaric-frontend
spec:
selector:
app: kvazaric-frontend
app.kubernetes.io/component: "kvazaric-frontend"
ports:
- port: 80
targetPort: 3000