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:b42cd8a5aa64cdd1c52b6689147c547839e229dd 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:d48945604a575086e590544c846894ad0deda76f 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