ldc-sbv/manifest.yaml
2024-06-14 14:57:53 +00:00

136 lines
No EOL
3.4 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: "mariadb-service.common-services"
DB_PREFIX: "ldc_"
WP_ENV: "${APP_WP_ENV}"
WP_HOME: "https://www.${APP_DOMAIN}"
WP_SITEURL: "https://www.${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: "Société Bretonne de Volaille"
MAIL_FROM_ADDRESS: "no-reply@societebretonnedevolaille.fr"
CONTACT_MAIL_RECRUTEMENT: "${APP_CONTACT_MAIL_RECRUTEMENT}"
CONTACT_MAIL_COMMERCIAL: "${APP_CONTACT_MAIL_COMMERCIAL}"
CONTACT_MAIL_PRESSE: "${APP_CONTACT_MAIL_PRESSE}"
CONTACT_MAIL_AUTRE: "${APP_CONTACT_MAIL_AUTRE}"
MATOMO_SITE_ID: "${APP_MATOMO_SITE_ID}"
LDCWEB_API_TOKEN: "${APP_LDCWEB_API_TOKEN}"
GOOGLE_RECAPTCHA_PUBLIC: "${APP_GOOGLE_RECAPTCHA_PUBLIC}"
GOOGLE_RECAPTCHA_PRIVATE: "${APP_GOOGLE_RECAPTCHA_PRIVATE}"
---
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
volumeMounts:
- name: storage
mountPath: /app/srcs/public/app/uploads
imagePullSecrets:
- name: docker-registry-credentials
securityContext:
runAsUser: 33
runAsGroup: 33
fsGroup: 33
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: 443
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: ${CI_PROJECT_PATH_SLUG}-ingress-route
spec:
entryPoints:
- web
- websecure
routes:
- match: Host(`${APP_DOMAIN}`, `www.${APP_DOMAIN}`)
kind: Rule
services:
- name: ${CI_PROJECT_PATH_SLUG}-service
port: 80
middlewares:
- name: redirect-no-www-to-www
namespace: common-services
tls:
secretName: $APP_DOMAIN
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: $APP_DOMAIN
spec:
dnsNames:
- $APP_DOMAIN
- www.${APP_DOMAIN}
secretName: $APP_DOMAIN
issuerRef:
name: $APP_CERT_ISSUER
kind: ClusterIssuer