kuber-deploy/strava.yml

162 lines
3.2 KiB
YAML

apiVersion: v1
kind: Namespace
metadata:
name: cycle-dev
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: cycle-backend-deployment
namespace: cycle-dev
labels:
app: cycle-backend
spec:
replicas: 1
selector:
matchLabels:
app: cycle-backend
template:
metadata:
labels:
app: cycle-backend
spec:
containers:
- name: cycle-backend
image: gitea.webart-tech.ru/webart/strava-backend/platformer:9469c60e7c4c8646dc65fd543359a2daabd1dd63
env:
- name: FS_LOCAL_MOUNT_DIR
value: "/files"
- name: APP_PUBLIC_URL
value: "https://cycle-rider.ru"
- name: DB_URI
value: "postgresql+asyncpg://gen_user:D%5C8C34*Bv%3E%5CVwD@192.168.0.4:5432/default_db"
ports:
- containerPort: 8000
volumeMounts:
- mountPath: /files
name: filedir
volumes:
- name: filedir
persistentVolumeClaim:
claimName: persistent-volume
readOnly: false
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: persistent-volume
namespace: cycle-dev
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
---
apiVersion: v1
kind: Service
metadata:
name: cycle-backend-service
namespace: cycle-dev
spec:
ports:
- port: 8000
targetPort: 8000
name: tcp
selector:
app: cycle-backend
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: cycle-frontend-deployment
namespace: cycle-dev
labels:
app: cycle-frontend
spec:
replicas: 1
selector:
matchLabels:
app: cycle-frontend
template:
metadata:
labels:
app: cycle-frontend
spec:
containers:
- name: cycle-frontend
image: gitea.webart-tech.ru/webart/strava-frontend:02fd361304ae2e2e2a19cce577fcf1dc56553f2b
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: cycle-frontend-service
namespace: cycle-dev
spec:
ports:
- port: 80
targetPort: 80
name: tcp
selector:
app: cycle-frontend
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: cycle-ingress
namespace: cycle-dev
annotations:
kubernetes.io/ingress.class: "traefik"
cert-manager.io/cluster-issuer: letsencrypt-prod
spec:
ingressClassName: traefik
rules:
- host: "cycle-rider.ru"
http:
paths:
- path: /docs
pathType: Prefix
backend:
service:
name: cycle-backend-service
port:
number: 8000
- path: /openapi.json
pathType: ImplementationSpecific
backend:
service:
name: cycle-backend-service
port:
number: 8000
- path: /api
pathType: Prefix
backend:
service:
name: cycle-backend-service
port:
number: 8000
- path: /
pathType: Prefix
backend:
service:
name: cycle-frontend-service
port:
number: 80
tls:
- hosts:
- cycle-rider.ru
secretName: cycle-dev-tls