118 lines
2.6 KiB
YAML
118 lines
2.6 KiB
YAML
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: dogs-ai-deployment
|
|
namespace: dogs-ai-dev
|
|
labels:
|
|
app: dogs-ai
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: dogs-ai
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: dogs-ai
|
|
spec:
|
|
containers:
|
|
- name: dogs-ai
|
|
image: gitea.webart-tech.ru/webart/beerds/backend:d17005b71b7cfda98be19ce63a05098701184781
|
|
env:
|
|
- name: DB_URI
|
|
value: "postgresql+asyncpg://gen_user:D%5C8C34*Bv%3E%5CVwD@192.168.0.4:5432/default_db"
|
|
- name: FS_S3_BUCKET
|
|
value: "2e786d2d-fe84d3bf-f7f2-4328-a04d-a88cdc6b8dbf"
|
|
- name: FS_ACCESS_KEY_ID
|
|
value: "BI086M8O245328C2CE21"
|
|
- name: FS_SECRET_ACCESS_KEY
|
|
value: "bOXOMVBhWzxzjuJPb0gvvE7zZM4YOIELwujXiF69"
|
|
- name: FS_S3_ENDPOINT
|
|
value: "https://s3.twcstorage.ru"
|
|
ports:
|
|
- name: dogs-ai-port
|
|
containerPort: 8000
|
|
|
|
---
|
|
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: dogs-ai-service
|
|
namespace: dogs-ai-dev
|
|
spec:
|
|
ports:
|
|
- port: 8000
|
|
targetPort: 8000
|
|
name: tcp
|
|
selector:
|
|
app: dogs-ai
|
|
|
|
---
|
|
|
|
# Middleware: redirect all HTTP to HTTPS
|
|
apiVersion: traefik.io/v1alpha1
|
|
kind: Middleware
|
|
metadata:
|
|
name: redirect-to-https
|
|
namespace: dogs-ai-dev
|
|
spec:
|
|
redirectScheme:
|
|
scheme: https
|
|
permanent: true
|
|
|
|
---
|
|
|
|
# HTTP Ingress: redirects to HTTPS
|
|
apiVersion: networking.k8s.io/v1
|
|
kind: Ingress
|
|
metadata:
|
|
name: dogs-ai-ingress-redirect
|
|
namespace: dogs-ai-dev
|
|
annotations:
|
|
kubernetes.io/ingress.class: "traefik"
|
|
traefik.ingress.kubernetes.io/router.entrypoints: "web"
|
|
traefik.ingress.kubernetes.io/router.middlewares: "dogs-ai-dev/redirect-to-https@kubernetescrd"
|
|
spec:
|
|
ingressClassName: traefik
|
|
rules:
|
|
- host: "xn-----6kcp3cadbabfh8a0a.xn--p1ai"
|
|
http:
|
|
paths:
|
|
- path: /
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: dogs-ai-service
|
|
port:
|
|
number: 8000
|
|
|
|
---
|
|
|
|
apiVersion: networking.k8s.io/v1
|
|
kind: Ingress
|
|
metadata:
|
|
name: dogs-ai-ingress
|
|
namespace: dogs-ai-dev
|
|
annotations:
|
|
kubernetes.io/ingress.class: "traefik"
|
|
traefik.ingress.kubernetes.io/router.entrypoints: "websecure"
|
|
cert-manager.io/cluster-issuer: letsencrypt-prod
|
|
spec:
|
|
ingressClassName: traefik
|
|
rules:
|
|
- host: "xn-----6kcp3cadbabfh8a0a.xn--p1ai"
|
|
http:
|
|
paths:
|
|
- path: /
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: dogs-ai-service
|
|
port:
|
|
number: 8000
|
|
tls:
|
|
- hosts:
|
|
- xn-----6kcp3cadbabfh8a0a.xn--p1ai
|
|
secretName: dogs-ai-dev-tls
|