Refactor Docker and Kubernetes configurations to update Redis volume mapping and constraints for Docmost service

This commit is contained in:
2024-08-05 08:29:06 +08:00
parent db36090358
commit ef3cdf6f62
25 changed files with 601 additions and 7 deletions
@@ -0,0 +1,32 @@
apiVersion: traefik.containo.us/v1alpha1
kind: TraefikService
metadata:
name: nginx-wrr
namespace: default
spec:
weighted:
services:
- name: nginx-deploy-main
port: 80
weight: 1
- name: nginx-deploy-blue
port: 80
weight: 1
- name: nginx-deploy-green
port: 80
weight: 1
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: nginx
namespace: default
spec:
entryPoints:
- web
routes:
- match: Host(`nginx.example.com`)
kind: Rule
services:
- name: nginx-wrr
kind: TraefikService
@@ -0,0 +1,15 @@
additionalArguments:
- --certificatesresolvers.letsencrypt.acme.tlschallenge=true
- --certificatesresolvers.letsencrypt.acme.email=test@hello.com
- --certificatesresolvers.letsencrypt.acme.storage=/data/acme.json
- --certificatesresolvers.letsencrypt.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory
# Lets Encrypt servers
# Staging
# https://acme-staging-v02.api.letsencrypt.org/directory
# Production Lets Encrypt
# https://acme-v02.api.letsencrypt.org/directory
@@ -0,0 +1,31 @@
---
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
name: nginx-add-prefix
spec:
addPrefix:
prefix: /hello
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: nginx
namespace: default
spec:
entryPoints:
- web
routes:
- match: Host(`nginx.example.com`)
kind: Rule
services:
- name: nginx-deploy-main
port: 80
- match: Host(`nginx.example.org`)
kind: Rule
middlewares:
- name: nginx-add-prefix
services:
- name: nginx-deploy-main
port: 80
@@ -0,0 +1,40 @@
---
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
name: nginx-strip-path-prefix
spec:
stripPrefix:
prefixes:
- /blue
- /green
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: nginx
namespace: default
spec:
entryPoints:
- web
routes:
- match: Host(`nginx.example.com`)
kind: Rule
services:
- name: nginx-deploy-main
port: 80
- match: Host(`nginx.example.com`) && Path(`/blue`)
kind: Rule
middlewares:
- name: nginx-strip-path-prefix
services:
- name: nginx-deploy-blue
port: 80
- match: Host(`nginx.example.com`) && Path(`/green`)
kind: Rule
middlewares:
- name: nginx-strip-path-prefix
services:
- name: nginx-deploy-green
port: 80
@@ -0,0 +1,46 @@
---
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
name: nginx-redirect-scheme
spec:
redirectScheme:
scheme: https
permanent: true
port: "443"
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: nginx-http
namespace: default
spec:
entryPoints:
- web
routes:
- match: Host(`nginx.example.com`)
kind: Rule
middlewares:
- name: nginx-redirect-scheme
services:
- name: nginx-deploy-main
port: 80
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: nginx-https
namespace: default
spec:
entryPoints:
- websecure
routes:
- match: Host(`nginx.example.com`)
kind: Rule
services:
- name: nginx-deploy-main
port: 80
tls:
certResolver: letsencrypt
@@ -0,0 +1,39 @@
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
name: nginx-basic-auth
spec:
basicAuth:
secret: authsecret
---
# Example:
# htpasswd -nb venkat hello | base64
# dmVua2F0OiRhcHIxJE52L0lPTDZlJDRqdFlwckpjUk1aWU5aeG45M0xCNi8KCg==
apiVersion: v1
kind: Secret
metadata:
name: authsecret
data:
users: |
dmVua2F0OiRhcHIxJE52L0lPTDZlJDRqdFlwckpjUk1aWU5aeG45M0xCNi8KCg==
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: nginx
namespace: default
spec:
entryPoints:
- web
routes:
- match: Host(`nginx.example.com`)
kind: Rule
middlewares:
- name: nginx-basic-auth
services:
- name: nginx-deploy-main
port: 80
@@ -0,0 +1,16 @@
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: nginx
namespace: default
spec:
entryPoints:
- web
routes:
- match: Host(`nginx.traefik.local`)
kind: Rule
services:
- name: nginx-deploy-main
port: 80
@@ -0,0 +1,15 @@
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: nginx
namespace: default
spec:
entryPoints:
- web
routes:
- match: Host(`nginx.traefik.local`) || Host(`traefik.local`)
kind: Rule
services:
- name: nginx-deploy-main
port: 80
@@ -0,0 +1,25 @@
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: nginx
namespace: default
spec:
entryPoints:
- web
routes:
- match: Host(`nginx.traefik.local`)
kind: Rule
services:
- name: nginx-deploy-main
port: 80
- match: Host(`blue.traefik.local`)
kind: Rule
services:
- name: nginx-deploy-blue
port: 80
- match: Host(`green.traefik.local`)
kind: Rule
services:
- name: nginx-deploy-green
port: 80
@@ -0,0 +1,15 @@
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: nginx
namespace: default
spec:
entryPoints:
- web
routes:
- match: Host(`nginx.example.com`) && Headers(`From`, `test@example.com`)
kind: Rule
services:
- name: nginx-deploy-main
port: 80
@@ -0,0 +1,15 @@
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: nginx
namespace: default
spec:
entryPoints:
- web
routes:
- match: Host(`nginx.example.com`) && HeadersRegexp(`From`, `.*example.*`)
kind: Rule
services:
- name: nginx-deploy-main
port: 80
@@ -0,0 +1,15 @@
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: nginx
namespace: default
spec:
entryPoints:
- web
routes:
- match: Host(`nginx.example.com`) || (Host(`nginx.example.org`) && Headers(`From`, `main@example.com`))
kind: Rule
services:
- name: nginx-deploy-main
port: 80
@@ -0,0 +1,17 @@
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: nginx
namespace: default
spec:
entryPoints:
- websecure
routes:
- match: Host(`nginx.example.com`)
kind: Rule
services:
- name: nginx-deploy-main
port: 80
tls:
certResolver: letsencrypt
@@ -0,0 +1,17 @@
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: nginx
namespace: default
spec:
entryPoints:
- websecure
routes:
- match: Host(`nginx.example.com`, `nginx.example.org`)
kind: Rule
services:
- name: nginx-deploy-main
port: 80
tls:
certResolver: letsencrypt