124 lines
3.2 KiB
YAML
124 lines
3.2 KiB
YAML
---
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: ${CI_PROJECT_PATH_SLUG}-config-map
|
|
data:
|
|
DB_NAME: "${APP_DB_NAME}"
|
|
DB_USER: "${APP_DB_USER}"
|
|
DB_PASSWORD: "${APP_DB_PASSWORD}"
|
|
DB_HOST: "${APP_DB_HOST}"
|
|
DB_PREFIX: "reg_"
|
|
WP_ENV: "${APP_WP_ENV}"
|
|
WP_HOME: "https://${REDIRECT}${APP_DOMAIN}"
|
|
WP_SITEURL: "https://${REDIRECT}${APP_DOMAIN}/wp"
|
|
AUTH_KEY: "${APP_AUTH_KEY}"
|
|
SECURE_AUTH_KEY: "${APP_SECURE_AUTH_KEY}"
|
|
LOGGED_IN_KEY: "${APP_LOGGED_IN_KEY}"
|
|
NONCE_KEY: "${APP_NONCE_KEY}"
|
|
AUTH_SALT: "${APP_AUTH_SALT}"
|
|
SECURE_AUTH_SALT: "${APP_SECURE_AUTH_SALT}"
|
|
LOGGED_IN_SALT: "${APP_LOGGED_IN_SALT}"
|
|
NONCE_SALT: "${APP_NONCE_SALT}"
|
|
DISABLE_WP_CRON: "true"
|
|
SMTP_HOST: "${APP_SMTP_HOST}"
|
|
SMTP_PORT: "${APP_SMTP_PORT}"
|
|
SMTP_AUTH: "${APP_SMTP_AUTH}"
|
|
SMTP_USER: "${APP_SMTP_USER}"
|
|
SMTP_PASS: "${APP_SMTP_PASS}"
|
|
SMTP_SECURE: "${APP_SMTP_SECURE}"
|
|
MAIL_FROM_NAME: "Régalette"
|
|
MAIL_FROM_ADDRESS: "no-reply@regalette.bzh"
|
|
CONTACT_MAIL_TO: "${APP_CONTACT_MAIL_TO}"
|
|
MATOMO_SITE_ID: "${APP_MATOMO_SITE_ID}"
|
|
GOOGLE_RECAPTCHA_PUBLIC: "${APP_GOOGLE_RECAPTCHA_PUBLIC}"
|
|
GOOGLE_RECAPTCHA_PRIVATE: "${APP_GOOGLE_RECAPTCHA_PRIVATE}"
|
|
UWIL_ADMIN_SECURE_CIDR_LIST: "${APP_GLOBAL_UWIL_ADMIN_SECURE_CIDR_LIST}"
|
|
|
|
---
|
|
apiVersion: v1
|
|
kind: PersistentVolumeClaim
|
|
metadata:
|
|
name: ${CI_PROJECT_PATH_SLUG}-pvc-storage
|
|
spec:
|
|
storageClassName: "csi-cinder-classic"
|
|
accessModes:
|
|
- ReadWriteOnce
|
|
resources:
|
|
requests:
|
|
storage: $APP_PVC_SIZE
|
|
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: ${CI_PROJECT_PATH_SLUG}-deployment
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: ${CI_PROJECT_PATH_SLUG}-app
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: ${CI_PROJECT_PATH_SLUG}-app
|
|
spec:
|
|
containers:
|
|
- name: ${CI_PROJECT_PATH_SLUG}-container
|
|
image: $IMAGE_TAG
|
|
envFrom:
|
|
- configMapRef:
|
|
name: ${CI_PROJECT_PATH_SLUG}-config-map
|
|
resources:
|
|
limits:
|
|
cpu: "${APP_CI_CPU_LIMIT}"
|
|
memory: "${APP_CI_MEMORY_LIMIT}"
|
|
requests:
|
|
cpu: "${APP_CI_CPU_REQUEST}"
|
|
memory: "${APP_CI_MEMORY_REQUEST}"
|
|
volumeMounts:
|
|
- name: storage
|
|
mountPath: /app/srcs/public/app/uploads
|
|
imagePullSecrets:
|
|
- name: docker-registry-credentials
|
|
securityContext:
|
|
runAsUser: 82
|
|
runAsGroup: 82
|
|
fsGroup: 82
|
|
fsGroupChangePolicy: "OnRootMismatch"
|
|
volumes:
|
|
- name: storage
|
|
persistentVolumeClaim:
|
|
claimName: ${CI_PROJECT_PATH_SLUG}-pvc-storage
|
|
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: ${CI_PROJECT_PATH_SLUG}-service
|
|
spec:
|
|
selector:
|
|
app: ${CI_PROJECT_PATH_SLUG}-app
|
|
ports:
|
|
- port: 80
|
|
targetPort: 80
|
|
|
|
---
|
|
apiVersion: traefik.io/v1alpha1
|
|
kind: IngressRoute
|
|
metadata:
|
|
name: ${CI_PROJECT_PATH_SLUG}-ingress-route
|
|
spec:
|
|
entryPoints:
|
|
- web
|
|
- websecure
|
|
routes:
|
|
- match: Host(`${APP_DOMAIN}`) || Host(`www.${APP_DOMAIN}`)
|
|
kind: Rule
|
|
services:
|
|
- name: ${CI_PROJECT_PATH_SLUG}-service
|
|
port: 80
|
|
middlewares:
|
|
- name: redirect-no-www-to-www
|
|
tls:
|
|
secretName: ${CRT_TLS_NAME}
|