Compare commits
56 Commits
dev
...
f12b7aa532
| Author | SHA1 | Date | |
|---|---|---|---|
| f12b7aa532 | |||
| 8ec254f59c | |||
| 33fd621ec8 | |||
| 89b8364fe5 | |||
| 52038a7585 | |||
| 885ab5e3d7 | |||
| 7843ae7c29 | |||
| e2d1e01708 | |||
| e8cafed885 | |||
| 62b7efad89 | |||
| 47ddf2fd28 | |||
| 31b689d5fe | |||
| 5ef03e6dbe | |||
| 38bb3538a3 | |||
| 8c77e53669 | |||
| 44aac27362 | |||
| 0f4048072d | |||
| b6f0c41d5d | |||
| 3259cd6f37 | |||
| 418162a9e0 | |||
| de022ea46b | |||
| a50214eafc | |||
| be2ee6274a | |||
| 1fbe3dbc95 | |||
| f8a13c4bff | |||
| c9d77c5eec | |||
| 3457eba0a2 | |||
| 738d19edfa | |||
| 23d397e5d4 | |||
| 10bfb6fd54 | |||
| 0ff6377bd6 | |||
| 8d92151ad3 | |||
| 3f74860c28 | |||
| f12af0f92f | |||
| 86a5af321d | |||
| 4a1e4f980d | |||
| bf6c021d8b | |||
| 0abc90d9cd | |||
| e2cabee7dd | |||
| 1f2fd56d89 | |||
| 785a256258 | |||
| 26c3a919c6 | |||
| 280298cc0a | |||
| f5b4c58367 | |||
| 0a3f3d99d7 | |||
| 21405024f7 | |||
| 61110282d5 | |||
| 5765f9b5d7 | |||
| f70c55dcf2 | |||
| b2212a6608 | |||
| 5e5a7b3803 | |||
| b1272fc052 | |||
| c2298c51b1 | |||
| 40e98020bb | |||
| 30331572e5 | |||
| ef367a7d10 |
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
.idea
|
||||||
22
argocd/templates/metallb-system.yaml
Normal file
22
argocd/templates/metallb-system.yaml
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: metallb-system
|
||||||
|
namespace: argocd
|
||||||
|
spec:
|
||||||
|
project: default
|
||||||
|
source:
|
||||||
|
repoURL: https://gitlab.com/developerdurp/homelab.git
|
||||||
|
targetRevision: main
|
||||||
|
path: metallb-system
|
||||||
|
destination:
|
||||||
|
namespace: metallb-system
|
||||||
|
name: in-cluster
|
||||||
|
syncPolicy:
|
||||||
|
automated:
|
||||||
|
prune: true
|
||||||
|
selfHeal: true
|
||||||
|
syncOptions:
|
||||||
|
- CreateNamespace=true
|
||||||
|
|
||||||
|
|
||||||
@@ -1,11 +1,13 @@
|
|||||||
version: 0.1.0-dev0144
|
|
||||||
apiVersion: v2
|
apiVersion: v2
|
||||||
name: durpapi
|
name: durpapi
|
||||||
dependencies:
|
|
||||||
- version: 12.5.*
|
|
||||||
condition: postgresql.enabled
|
|
||||||
name: postgresql
|
|
||||||
repository: https://charts.bitnami.com/bitnami
|
|
||||||
description: A Helm chart for Kubernetes
|
description: A Helm chart for Kubernetes
|
||||||
type: application
|
type: application
|
||||||
|
|
||||||
|
version: 0.1.0-dev0184
|
||||||
appVersion: 0.1.0
|
appVersion: 0.1.0
|
||||||
|
|
||||||
|
dependencies:
|
||||||
|
- condition: postgresql.enabled
|
||||||
|
version: 12.5.*
|
||||||
|
repository: https://charts.bitnami.com/bitnami
|
||||||
|
name: postgresql
|
||||||
|
|||||||
@@ -10,15 +10,15 @@ deployment:
|
|||||||
probe:
|
probe:
|
||||||
readiness:
|
readiness:
|
||||||
httpGet:
|
httpGet:
|
||||||
path: /api/health/gethealth
|
path: /health/gethealth
|
||||||
port: 8080
|
port: 8080
|
||||||
liveness:
|
liveness:
|
||||||
httpGet:
|
httpGet:
|
||||||
path: /api/health/gethealth
|
path: /health/gethealth
|
||||||
port: 8080
|
port: 8080
|
||||||
startup:
|
startup:
|
||||||
httpGet:
|
httpGet:
|
||||||
path: /api/health/gethealth
|
path: /health/gethealth
|
||||||
port: 8080
|
port: 8080
|
||||||
service:
|
service:
|
||||||
type: ClusterIP
|
type: ClusterIP
|
||||||
|
|||||||
@@ -11,6 +11,6 @@ external-dns:
|
|||||||
provider: cloudflare
|
provider: cloudflare
|
||||||
cloudflare:
|
cloudflare:
|
||||||
secretName : "external-dns"
|
secretName : "external-dns"
|
||||||
proxied: true
|
proxied: false
|
||||||
|
|
||||||
policy: sync
|
policy: sync
|
||||||
|
|||||||
63
internalproxy/templates/blueiris.yaml
Normal file
63
internalproxy/templates/blueiris.yaml
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: blueiris
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- name: app
|
||||||
|
port: 81
|
||||||
|
protocol: TCP
|
||||||
|
targetPort: 81
|
||||||
|
clusterIP: None
|
||||||
|
type: ClusterIP
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Endpoints
|
||||||
|
metadata:
|
||||||
|
name: blueiris
|
||||||
|
subsets:
|
||||||
|
- addresses:
|
||||||
|
- ip: 192.168.99.2
|
||||||
|
ports:
|
||||||
|
- name: app
|
||||||
|
port: 81
|
||||||
|
protocol: TCP
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: traefik.containo.us/v1alpha1
|
||||||
|
kind: IngressRoute
|
||||||
|
metadata:
|
||||||
|
name: blueiris-ingress
|
||||||
|
spec:
|
||||||
|
entryPoints:
|
||||||
|
- websecure
|
||||||
|
routes:
|
||||||
|
- match: Host(`blueiris.internal.durp.info`) && PathPrefix(`/`)
|
||||||
|
middlewares:
|
||||||
|
- name: whitelist
|
||||||
|
namespace: traefik
|
||||||
|
kind: Rule
|
||||||
|
services:
|
||||||
|
- name: blueiris
|
||||||
|
port: 81
|
||||||
|
scheme: http
|
||||||
|
tls:
|
||||||
|
secretName: blueiris-tls
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: cert-manager.io/v1
|
||||||
|
kind: Certificate
|
||||||
|
metadata:
|
||||||
|
name: blueiris-tls
|
||||||
|
spec:
|
||||||
|
secretName: blueiris-tls
|
||||||
|
issuerRef:
|
||||||
|
name: letsencrypt-production
|
||||||
|
kind: ClusterIssuer
|
||||||
|
commonName: "blueiris.internal.durp.info"
|
||||||
|
dnsNames:
|
||||||
|
- "blueiris.internal.durp.info"
|
||||||
@@ -1,3 +1,66 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: gitea
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- name: app
|
||||||
|
port: 3000
|
||||||
|
protocol: TCP
|
||||||
|
targetPort: 3000
|
||||||
|
clusterIP: None
|
||||||
|
type: ClusterIP
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Endpoints
|
||||||
|
metadata:
|
||||||
|
name: gitea
|
||||||
|
subsets:
|
||||||
|
- addresses:
|
||||||
|
- ip: 192.168.20.253
|
||||||
|
ports:
|
||||||
|
- name: app
|
||||||
|
port: 3000
|
||||||
|
protocol: TCP
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: traefik.containo.us/v1alpha1
|
||||||
|
kind: IngressRoute
|
||||||
|
metadata:
|
||||||
|
name: gitea-ingress
|
||||||
|
spec:
|
||||||
|
entryPoints:
|
||||||
|
- websecure
|
||||||
|
routes:
|
||||||
|
- match: Host(`gitea.durp.info`) && PathPrefix(`/`)
|
||||||
|
kind: Rule
|
||||||
|
services:
|
||||||
|
- name: gitea
|
||||||
|
port: 3000
|
||||||
|
scheme: http
|
||||||
|
tls:
|
||||||
|
secretName: gitea-tls
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: cert-manager.io/v1
|
||||||
|
kind: Certificate
|
||||||
|
metadata:
|
||||||
|
name: gitea-tls
|
||||||
|
spec:
|
||||||
|
secretName: gitea-tls
|
||||||
|
issuerRef:
|
||||||
|
name: letsencrypt-production
|
||||||
|
kind: ClusterIssuer
|
||||||
|
commonName: "gitea.durp.info"
|
||||||
|
dnsNames:
|
||||||
|
- "gitea.durp.info"
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
kind: Service
|
kind: Service
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
metadata:
|
metadata:
|
||||||
|
|||||||
@@ -1,71 +0,0 @@
|
|||||||
kind: Service
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: guac-external-dns
|
|
||||||
annotations:
|
|
||||||
external-dns.alpha.kubernetes.io/hostname: guac.durp.info
|
|
||||||
spec:
|
|
||||||
type: ExternalName
|
|
||||||
externalName: durp.info
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: guac
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: app
|
|
||||||
port: 8082
|
|
||||||
protocol: TCP
|
|
||||||
targetPort: 8082
|
|
||||||
clusterIP: None
|
|
||||||
type: ClusterIP
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Endpoints
|
|
||||||
metadata:
|
|
||||||
name: guac
|
|
||||||
subsets:
|
|
||||||
- addresses:
|
|
||||||
- ip: 192.168.20.253
|
|
||||||
ports:
|
|
||||||
- name: app
|
|
||||||
port: 8082
|
|
||||||
protocol: TCP
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
apiVersion: traefik.containo.us/v1alpha1
|
|
||||||
kind: IngressRoute
|
|
||||||
metadata:
|
|
||||||
name: guac-ingress
|
|
||||||
spec:
|
|
||||||
entryPoints:
|
|
||||||
- websecure
|
|
||||||
routes:
|
|
||||||
- match: Host(`guac.durp.info`) && PathPrefix(`/`)
|
|
||||||
kind: Rule
|
|
||||||
services:
|
|
||||||
- name: guac
|
|
||||||
port: 8082
|
|
||||||
tls:
|
|
||||||
secretName: guac-tls
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
apiVersion: cert-manager.io/v1
|
|
||||||
kind: Certificate
|
|
||||||
metadata:
|
|
||||||
name: guac-tls
|
|
||||||
spec:
|
|
||||||
secretName: guac-tls
|
|
||||||
issuerRef:
|
|
||||||
name: letsencrypt-production
|
|
||||||
kind: ClusterIssuer
|
|
||||||
commonName: "guac.durp.info"
|
|
||||||
dnsNames:
|
|
||||||
- "guac.durp.info"
|
|
||||||
@@ -1,3 +1,66 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: jellyfin
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- name: app
|
||||||
|
port: 8096
|
||||||
|
protocol: TCP
|
||||||
|
targetPort: 8096
|
||||||
|
clusterIP: None
|
||||||
|
type: ClusterIP
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Endpoints
|
||||||
|
metadata:
|
||||||
|
name: jellyfin
|
||||||
|
subsets:
|
||||||
|
- addresses:
|
||||||
|
- ip: 192.168.20.253
|
||||||
|
ports:
|
||||||
|
- name: app
|
||||||
|
port: 8096
|
||||||
|
protocol: TCP
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: traefik.containo.us/v1alpha1
|
||||||
|
kind: IngressRoute
|
||||||
|
metadata:
|
||||||
|
name: jellyfin-ingress
|
||||||
|
spec:
|
||||||
|
entryPoints:
|
||||||
|
- websecure
|
||||||
|
routes:
|
||||||
|
- match: Host(`jellyfin.durp.info`) && PathPrefix(`/`)
|
||||||
|
kind: Rule
|
||||||
|
services:
|
||||||
|
- name: jellyfin
|
||||||
|
port: 8096
|
||||||
|
scheme: http
|
||||||
|
tls:
|
||||||
|
secretName: jellyfin-tls
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: cert-manager.io/v1
|
||||||
|
kind: Certificate
|
||||||
|
metadata:
|
||||||
|
name: jellyfin-tls
|
||||||
|
spec:
|
||||||
|
secretName: jellyfin-tls
|
||||||
|
issuerRef:
|
||||||
|
name: letsencrypt-production
|
||||||
|
kind: ClusterIssuer
|
||||||
|
commonName: "jellyfin.durp.info"
|
||||||
|
dnsNames:
|
||||||
|
- "jellyfin.durp.info"
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
kind: Service
|
kind: Service
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
metadata:
|
metadata:
|
||||||
|
|||||||
@@ -1,3 +1,66 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: kasm
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- name: app
|
||||||
|
port: 443
|
||||||
|
protocol: TCP
|
||||||
|
targetPort: 443
|
||||||
|
clusterIP: None
|
||||||
|
type: ClusterIP
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Endpoints
|
||||||
|
metadata:
|
||||||
|
name: kasm
|
||||||
|
subsets:
|
||||||
|
- addresses:
|
||||||
|
- ip: 192.168.20.104
|
||||||
|
ports:
|
||||||
|
- name: app
|
||||||
|
port: 443
|
||||||
|
protocol: TCP
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: traefik.containo.us/v1alpha1
|
||||||
|
kind: IngressRoute
|
||||||
|
metadata:
|
||||||
|
name: kasm-ingress
|
||||||
|
spec:
|
||||||
|
entryPoints:
|
||||||
|
- websecure
|
||||||
|
routes:
|
||||||
|
- match: Host(`kasm.durp.info`) && PathPrefix(`/`)
|
||||||
|
kind: Rule
|
||||||
|
services:
|
||||||
|
- name: kasm
|
||||||
|
port: 443
|
||||||
|
scheme: https
|
||||||
|
tls:
|
||||||
|
secretName: kasm-tls
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: cert-manager.io/v1
|
||||||
|
kind: Certificate
|
||||||
|
metadata:
|
||||||
|
name: kasm-tls
|
||||||
|
spec:
|
||||||
|
secretName: kasm-tls
|
||||||
|
issuerRef:
|
||||||
|
name: letsencrypt-production
|
||||||
|
kind: ClusterIssuer
|
||||||
|
commonName: "kasm.durp.info"
|
||||||
|
dnsNames:
|
||||||
|
- "kasm.durp.info"
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
kind: Service
|
kind: Service
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
metadata:
|
metadata:
|
||||||
|
|||||||
63
internalproxy/templates/minio.yaml
Normal file
63
internalproxy/templates/minio.yaml
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: minio
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- name: app
|
||||||
|
port: 9769
|
||||||
|
protocol: TCP
|
||||||
|
targetPort: 9769
|
||||||
|
clusterIP: None
|
||||||
|
type: ClusterIP
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Endpoints
|
||||||
|
metadata:
|
||||||
|
name: minio
|
||||||
|
subsets:
|
||||||
|
- addresses:
|
||||||
|
- ip: 192.168.20.253
|
||||||
|
ports:
|
||||||
|
- name: app
|
||||||
|
port: 9769
|
||||||
|
protocol: TCP
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: traefik.containo.us/v1alpha1
|
||||||
|
kind: IngressRoute
|
||||||
|
metadata:
|
||||||
|
name: minio-ingress
|
||||||
|
spec:
|
||||||
|
entryPoints:
|
||||||
|
- websecure
|
||||||
|
routes:
|
||||||
|
- match: Host(`minio.internal.durp.info`) && PathPrefix(`/`)
|
||||||
|
middlewares:
|
||||||
|
- name: whitelist
|
||||||
|
namespace: traefik
|
||||||
|
kind: Rule
|
||||||
|
services:
|
||||||
|
- name: minio
|
||||||
|
port: 9769
|
||||||
|
scheme: http
|
||||||
|
tls:
|
||||||
|
secretName: minio-tls
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: cert-manager.io/v1
|
||||||
|
kind: Certificate
|
||||||
|
metadata:
|
||||||
|
name: minio-tls
|
||||||
|
spec:
|
||||||
|
secretName: minio-tls
|
||||||
|
issuerRef:
|
||||||
|
name: letsencrypt-production
|
||||||
|
kind: ClusterIssuer
|
||||||
|
commonName: "minio.internal.durp.info"
|
||||||
|
dnsNames:
|
||||||
|
- "minio.internal.durp.info"
|
||||||
63
internalproxy/templates/octopus.yaml
Normal file
63
internalproxy/templates/octopus.yaml
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: octopus
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- name: app
|
||||||
|
port: 443
|
||||||
|
protocol: TCP
|
||||||
|
targetPort: 443
|
||||||
|
clusterIP: None
|
||||||
|
type: ClusterIP
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Endpoints
|
||||||
|
metadata:
|
||||||
|
name: octopus
|
||||||
|
subsets:
|
||||||
|
- addresses:
|
||||||
|
- ip: 192.168.20.105
|
||||||
|
ports:
|
||||||
|
- name: app
|
||||||
|
port: 443
|
||||||
|
protocol: TCP
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: traefik.containo.us/v1alpha1
|
||||||
|
kind: IngressRoute
|
||||||
|
metadata:
|
||||||
|
name: octopus-ingress
|
||||||
|
spec:
|
||||||
|
entryPoints:
|
||||||
|
- websecure
|
||||||
|
routes:
|
||||||
|
- match: Host(`octopus.internal.durp.info`) && PathPrefix(`/`)
|
||||||
|
middlewares:
|
||||||
|
- name: whitelist
|
||||||
|
namespace: traefik
|
||||||
|
kind: Rule
|
||||||
|
services:
|
||||||
|
- name: octopus
|
||||||
|
port: 443
|
||||||
|
scheme: https
|
||||||
|
tls:
|
||||||
|
secretName: octopus-tls
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: cert-manager.io/v1
|
||||||
|
kind: Certificate
|
||||||
|
metadata:
|
||||||
|
name: octopus-tls
|
||||||
|
spec:
|
||||||
|
secretName: octopus-tls
|
||||||
|
issuerRef:
|
||||||
|
name: letsencrypt-production
|
||||||
|
kind: ClusterIssuer
|
||||||
|
commonName: "octopus.internal.durp.info"
|
||||||
|
dnsNames:
|
||||||
|
- "octopus.internal.durp.info"
|
||||||
101
internalproxy/templates/ollama.yaml
Normal file
101
internalproxy/templates/ollama.yaml
Normal file
@@ -0,0 +1,101 @@
|
|||||||
|
apiVersion: external-secrets.io/v1beta1
|
||||||
|
kind: ExternalSecret
|
||||||
|
metadata:
|
||||||
|
name: ollama-secret
|
||||||
|
spec:
|
||||||
|
secretStoreRef:
|
||||||
|
name: vault
|
||||||
|
kind: ClusterSecretStore
|
||||||
|
target:
|
||||||
|
name: ollama-secret
|
||||||
|
data:
|
||||||
|
- secretKey: users
|
||||||
|
remoteRef:
|
||||||
|
key: secrets/internalproxy/ollama
|
||||||
|
property: users
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: traefik.containo.us/v1alpha1
|
||||||
|
kind: Middleware
|
||||||
|
metadata:
|
||||||
|
name: ollama-basic-auth
|
||||||
|
spec:
|
||||||
|
basicAuth:
|
||||||
|
secret: ollama-secret
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: ollama
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- name: app
|
||||||
|
port: 11435
|
||||||
|
protocol: TCP
|
||||||
|
targetPort: 11435
|
||||||
|
clusterIP: None
|
||||||
|
type: ClusterIP
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Endpoints
|
||||||
|
metadata:
|
||||||
|
name: ollama
|
||||||
|
subsets:
|
||||||
|
- addresses:
|
||||||
|
- ip: 192.168.20.104
|
||||||
|
ports:
|
||||||
|
- name: app
|
||||||
|
port: 11435
|
||||||
|
protocol: TCP
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: traefik.containo.us/v1alpha1
|
||||||
|
kind: IngressRoute
|
||||||
|
metadata:
|
||||||
|
name: ollama-ingress
|
||||||
|
spec:
|
||||||
|
entryPoints:
|
||||||
|
- websecure
|
||||||
|
routes:
|
||||||
|
- match: Host(`ollama.durp.info`) && PathPrefix(`/`)
|
||||||
|
middlewares:
|
||||||
|
- name: ollama-basic-auth
|
||||||
|
kind: Rule
|
||||||
|
services:
|
||||||
|
- name: ollama
|
||||||
|
port: 11435
|
||||||
|
tls:
|
||||||
|
secretName: ollama-tls
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: cert-manager.io/v1
|
||||||
|
kind: Certificate
|
||||||
|
metadata:
|
||||||
|
name: ollama-tls
|
||||||
|
spec:
|
||||||
|
secretName: ollama-tls
|
||||||
|
issuerRef:
|
||||||
|
name: letsencrypt-production
|
||||||
|
kind: ClusterIssuer
|
||||||
|
commonName: "ollama.durp.info"
|
||||||
|
dnsNames:
|
||||||
|
- "ollama.durp.info"
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
kind: Service
|
||||||
|
apiVersion: v1
|
||||||
|
metadata:
|
||||||
|
name: ollama-external-dns
|
||||||
|
annotations:
|
||||||
|
external-dns.alpha.kubernetes.io/hostname: ollama.durp.info
|
||||||
|
spec:
|
||||||
|
type: ExternalName
|
||||||
|
externalName: durp.info
|
||||||
63
internalproxy/templates/pfsense.yaml
Normal file
63
internalproxy/templates/pfsense.yaml
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: pfsense
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- name: app
|
||||||
|
port: 10443
|
||||||
|
protocol: TCP
|
||||||
|
targetPort: 10443
|
||||||
|
clusterIP: None
|
||||||
|
type: ClusterIP
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Endpoints
|
||||||
|
metadata:
|
||||||
|
name: pfsense
|
||||||
|
subsets:
|
||||||
|
- addresses:
|
||||||
|
- ip: 192.168.20.1
|
||||||
|
ports:
|
||||||
|
- name: app
|
||||||
|
port: 10443
|
||||||
|
protocol: TCP
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: traefik.containo.us/v1alpha1
|
||||||
|
kind: IngressRoute
|
||||||
|
metadata:
|
||||||
|
name: pfsense-ingress
|
||||||
|
spec:
|
||||||
|
entryPoints:
|
||||||
|
- websecure
|
||||||
|
routes:
|
||||||
|
- match: Host(`pfsense.internal.durp.info`) && PathPrefix(`/`)
|
||||||
|
middlewares:
|
||||||
|
- name: whitelist
|
||||||
|
namespace: traefik
|
||||||
|
kind: Rule
|
||||||
|
services:
|
||||||
|
- name: pfsense
|
||||||
|
port: 10443
|
||||||
|
scheme: https
|
||||||
|
tls:
|
||||||
|
secretName: pfsense-tls
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: cert-manager.io/v1
|
||||||
|
kind: Certificate
|
||||||
|
metadata:
|
||||||
|
name: pfsense-tls
|
||||||
|
spec:
|
||||||
|
secretName: pfsense-tls
|
||||||
|
issuerRef:
|
||||||
|
name: letsencrypt-production
|
||||||
|
kind: ClusterIssuer
|
||||||
|
commonName: "pfsense.internal.durp.info"
|
||||||
|
dnsNames:
|
||||||
|
- "pfsense.internal.durp.info"
|
||||||
@@ -1,3 +1,66 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: plex
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- name: app
|
||||||
|
port: 32400
|
||||||
|
protocol: TCP
|
||||||
|
targetPort: 32400
|
||||||
|
clusterIP: None
|
||||||
|
type: ClusterIP
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Endpoints
|
||||||
|
metadata:
|
||||||
|
name: plex
|
||||||
|
subsets:
|
||||||
|
- addresses:
|
||||||
|
- ip: 192.168.20.253
|
||||||
|
ports:
|
||||||
|
- name: app
|
||||||
|
port: 32400
|
||||||
|
protocol: TCP
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: traefik.containo.us/v1alpha1
|
||||||
|
kind: IngressRoute
|
||||||
|
metadata:
|
||||||
|
name: plex-ingress
|
||||||
|
spec:
|
||||||
|
entryPoints:
|
||||||
|
- websecure
|
||||||
|
routes:
|
||||||
|
- match: Host(`plex.durp.info`) && PathPrefix(`/`)
|
||||||
|
kind: Rule
|
||||||
|
services:
|
||||||
|
- name: plex
|
||||||
|
port: 32400
|
||||||
|
scheme: https
|
||||||
|
tls:
|
||||||
|
secretName: plex-tls
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: cert-manager.io/v1
|
||||||
|
kind: Certificate
|
||||||
|
metadata:
|
||||||
|
name: plex-tls
|
||||||
|
spec:
|
||||||
|
secretName: plex-tls
|
||||||
|
issuerRef:
|
||||||
|
name: letsencrypt-production
|
||||||
|
kind: ClusterIssuer
|
||||||
|
commonName: "plex.durp.info"
|
||||||
|
dnsNames:
|
||||||
|
- "plex.durp.info"
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
kind: Service
|
kind: Service
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
metadata:
|
metadata:
|
||||||
|
|||||||
63
internalproxy/templates/portainer.yaml
Normal file
63
internalproxy/templates/portainer.yaml
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: portainer
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- name: app
|
||||||
|
port: 9443
|
||||||
|
protocol: TCP
|
||||||
|
targetPort: 9443
|
||||||
|
clusterIP: None
|
||||||
|
type: ClusterIP
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Endpoints
|
||||||
|
metadata:
|
||||||
|
name: portainer
|
||||||
|
subsets:
|
||||||
|
- addresses:
|
||||||
|
- ip: 192.168.20.104
|
||||||
|
ports:
|
||||||
|
- name: app
|
||||||
|
port: 9443
|
||||||
|
protocol: TCP
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: traefik.containo.us/v1alpha1
|
||||||
|
kind: IngressRoute
|
||||||
|
metadata:
|
||||||
|
name: portainer-ingress
|
||||||
|
spec:
|
||||||
|
entryPoints:
|
||||||
|
- websecure
|
||||||
|
routes:
|
||||||
|
- match: Host(`portainer.internal.durp.info`) && PathPrefix(`/`)
|
||||||
|
middlewares:
|
||||||
|
- name: whitelist
|
||||||
|
namespace: traefik
|
||||||
|
kind: Rule
|
||||||
|
services:
|
||||||
|
- name: portainer
|
||||||
|
port: 9443
|
||||||
|
scheme: https
|
||||||
|
tls:
|
||||||
|
secretName: portainer-tls
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: cert-manager.io/v1
|
||||||
|
kind: Certificate
|
||||||
|
metadata:
|
||||||
|
name: portainer-tls
|
||||||
|
spec:
|
||||||
|
secretName: portainer-tls
|
||||||
|
issuerRef:
|
||||||
|
name: letsencrypt-production
|
||||||
|
kind: ClusterIssuer
|
||||||
|
commonName: "portainer.internal.durp.info"
|
||||||
|
dnsNames:
|
||||||
|
- "portainer.internal.durp.info"
|
||||||
63
internalproxy/templates/proxmox.yaml
Normal file
63
internalproxy/templates/proxmox.yaml
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: proxmox
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- name: app
|
||||||
|
port: 8006
|
||||||
|
protocol: TCP
|
||||||
|
targetPort: 8006
|
||||||
|
clusterIP: None
|
||||||
|
type: ClusterIP
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Endpoints
|
||||||
|
metadata:
|
||||||
|
name: proxmox
|
||||||
|
subsets:
|
||||||
|
- addresses:
|
||||||
|
- ip: 192.168.21.252
|
||||||
|
ports:
|
||||||
|
- name: app
|
||||||
|
port: 8006
|
||||||
|
protocol: TCP
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: traefik.containo.us/v1alpha1
|
||||||
|
kind: IngressRoute
|
||||||
|
metadata:
|
||||||
|
name: proxmox-ingress
|
||||||
|
spec:
|
||||||
|
entryPoints:
|
||||||
|
- websecure
|
||||||
|
routes:
|
||||||
|
- match: Host(`proxmox.internal.durp.info`) && PathPrefix(`/`)
|
||||||
|
middlewares:
|
||||||
|
- name: whitelist
|
||||||
|
namespace: traefik
|
||||||
|
kind: Rule
|
||||||
|
services:
|
||||||
|
- name: proxmox
|
||||||
|
port: 8006
|
||||||
|
scheme: https
|
||||||
|
tls:
|
||||||
|
secretName: proxmox-tls
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: cert-manager.io/v1
|
||||||
|
kind: Certificate
|
||||||
|
metadata:
|
||||||
|
name: proxmox-tls
|
||||||
|
spec:
|
||||||
|
secretName: proxmox-tls
|
||||||
|
issuerRef:
|
||||||
|
name: letsencrypt-production
|
||||||
|
kind: ClusterIssuer
|
||||||
|
commonName: "proxmox.internal.durp.info"
|
||||||
|
dnsNames:
|
||||||
|
- "proxmox.internal.durp.info"
|
||||||
@@ -5,9 +5,9 @@ metadata:
|
|||||||
spec:
|
spec:
|
||||||
ports:
|
ports:
|
||||||
- name: app
|
- name: app
|
||||||
port: 5001
|
port: 5000
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
targetPort: 5001
|
targetPort: 5000
|
||||||
clusterIP: None
|
clusterIP: None
|
||||||
type: ClusterIP
|
type: ClusterIP
|
||||||
|
|
||||||
@@ -22,7 +22,7 @@ subsets:
|
|||||||
- ip: 192.168.20.253
|
- ip: 192.168.20.253
|
||||||
ports:
|
ports:
|
||||||
- name: app
|
- name: app
|
||||||
port: 5001
|
port: 5000
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -39,9 +39,9 @@ spec:
|
|||||||
kind: Rule
|
kind: Rule
|
||||||
services:
|
services:
|
||||||
- name: registry-internal
|
- name: registry-internal
|
||||||
port: 5001
|
port: 5000
|
||||||
tls:
|
tls:
|
||||||
secretName: registry-tls
|
secretName: registry-internal-tls
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -54,6 +54,6 @@ spec:
|
|||||||
issuerRef:
|
issuerRef:
|
||||||
name: letsencrypt-production
|
name: letsencrypt-production
|
||||||
kind: ClusterIssuer
|
kind: ClusterIssuer
|
||||||
commonName: "registry.durp.info"
|
commonName: "registry.internal.durp.info"
|
||||||
dnsNames:
|
dnsNames:
|
||||||
- "registry.durp.info"
|
- "registry.internal.durp.info"
|
||||||
|
|||||||
63
internalproxy/templates/s3.yaml
Normal file
63
internalproxy/templates/s3.yaml
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: s3
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- name: app
|
||||||
|
port: 9768
|
||||||
|
protocol: TCP
|
||||||
|
targetPort: 9768
|
||||||
|
clusterIP: None
|
||||||
|
type: ClusterIP
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Endpoints
|
||||||
|
metadata:
|
||||||
|
name: s3
|
||||||
|
subsets:
|
||||||
|
- addresses:
|
||||||
|
- ip: 192.168.20.253
|
||||||
|
ports:
|
||||||
|
- name: app
|
||||||
|
port: 9768
|
||||||
|
protocol: TCP
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: traefik.containo.us/v1alpha1
|
||||||
|
kind: IngressRoute
|
||||||
|
metadata:
|
||||||
|
name: s3-ingress
|
||||||
|
spec:
|
||||||
|
entryPoints:
|
||||||
|
- websecure
|
||||||
|
routes:
|
||||||
|
- match: Host(`s3.internal.durp.info`) && PathPrefix(`/`)
|
||||||
|
middlewares:
|
||||||
|
- name: whitelist
|
||||||
|
namespace: traefik
|
||||||
|
kind: Rule
|
||||||
|
services:
|
||||||
|
- name: s3
|
||||||
|
port: 9768
|
||||||
|
scheme: http
|
||||||
|
tls:
|
||||||
|
secretName: s3-tls
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: cert-manager.io/v1
|
||||||
|
kind: Certificate
|
||||||
|
metadata:
|
||||||
|
name: s3-tls
|
||||||
|
spec:
|
||||||
|
secretName: s3-tls
|
||||||
|
issuerRef:
|
||||||
|
name: letsencrypt-production
|
||||||
|
kind: ClusterIssuer
|
||||||
|
commonName: "s3.internal.durp.info"
|
||||||
|
dnsNames:
|
||||||
|
- "s3.internal.durp.info"
|
||||||
63
internalproxy/templates/semaphore.yaml
Normal file
63
internalproxy/templates/semaphore.yaml
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: semaphore
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- name: app
|
||||||
|
port: 3001
|
||||||
|
protocol: TCP
|
||||||
|
targetPort: 3001
|
||||||
|
clusterIP: None
|
||||||
|
type: ClusterIP
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Endpoints
|
||||||
|
metadata:
|
||||||
|
name: semaphore
|
||||||
|
subsets:
|
||||||
|
- addresses:
|
||||||
|
- ip: 192.168.20.253
|
||||||
|
ports:
|
||||||
|
- name: app
|
||||||
|
port: 3001
|
||||||
|
protocol: TCP
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: traefik.containo.us/v1alpha1
|
||||||
|
kind: IngressRoute
|
||||||
|
metadata:
|
||||||
|
name: semaphore-ingress
|
||||||
|
spec:
|
||||||
|
entryPoints:
|
||||||
|
- websecure
|
||||||
|
routes:
|
||||||
|
- match: Host(`semaphore.internal.durp.info`) && PathPrefix(`/`)
|
||||||
|
middlewares:
|
||||||
|
- name: whitelist
|
||||||
|
namespace: traefik
|
||||||
|
kind: Rule
|
||||||
|
services:
|
||||||
|
- name: semaphore
|
||||||
|
port: 3001
|
||||||
|
scheme: http
|
||||||
|
tls:
|
||||||
|
secretName: semaphore-tls
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: cert-manager.io/v1
|
||||||
|
kind: Certificate
|
||||||
|
metadata:
|
||||||
|
name: semaphore-tls
|
||||||
|
spec:
|
||||||
|
secretName: semaphore-tls
|
||||||
|
issuerRef:
|
||||||
|
name: letsencrypt-production
|
||||||
|
kind: ClusterIssuer
|
||||||
|
commonName: "semaphore.internal.durp.info"
|
||||||
|
dnsNames:
|
||||||
|
- "semaphore.internal.durp.info"
|
||||||
63
internalproxy/templates/unraid.yaml
Normal file
63
internalproxy/templates/unraid.yaml
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: unraid
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- name: app
|
||||||
|
port: 443
|
||||||
|
protocol: TCP
|
||||||
|
targetPort: 443
|
||||||
|
clusterIP: None
|
||||||
|
type: ClusterIP
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Endpoints
|
||||||
|
metadata:
|
||||||
|
name: unraid
|
||||||
|
subsets:
|
||||||
|
- addresses:
|
||||||
|
- ip: 192.168.20.253
|
||||||
|
ports:
|
||||||
|
- name: app
|
||||||
|
port: 443
|
||||||
|
protocol: TCP
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: traefik.containo.us/v1alpha1
|
||||||
|
kind: IngressRoute
|
||||||
|
metadata:
|
||||||
|
name: unraid-ingress
|
||||||
|
spec:
|
||||||
|
entryPoints:
|
||||||
|
- websecure
|
||||||
|
routes:
|
||||||
|
- match: Host(`unraid.internal.durp.info`) && PathPrefix(`/`)
|
||||||
|
middlewares:
|
||||||
|
- name: whitelist
|
||||||
|
namespace: traefik
|
||||||
|
kind: Rule
|
||||||
|
services:
|
||||||
|
- name: unraid
|
||||||
|
port: 443
|
||||||
|
scheme: https
|
||||||
|
tls:
|
||||||
|
secretName: unraid-tls
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: cert-manager.io/v1
|
||||||
|
kind: Certificate
|
||||||
|
metadata:
|
||||||
|
name: unraid-tls
|
||||||
|
spec:
|
||||||
|
secretName: unraid-tls
|
||||||
|
issuerRef:
|
||||||
|
name: letsencrypt-production
|
||||||
|
kind: ClusterIssuer
|
||||||
|
commonName: "unraid.internal.durp.info"
|
||||||
|
dnsNames:
|
||||||
|
- "unraid.internal.durp.info"
|
||||||
63
internalproxy/templates/wazuh.yaml
Normal file
63
internalproxy/templates/wazuh.yaml
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: wazuh
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- name: app
|
||||||
|
port: 443
|
||||||
|
protocol: TCP
|
||||||
|
targetPort: 443
|
||||||
|
clusterIP: None
|
||||||
|
type: ClusterIP
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Endpoints
|
||||||
|
metadata:
|
||||||
|
name: wazuh
|
||||||
|
subsets:
|
||||||
|
- addresses:
|
||||||
|
- ip: 192.168.20.102
|
||||||
|
ports:
|
||||||
|
- name: app
|
||||||
|
port: 443
|
||||||
|
protocol: TCP
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: traefik.containo.us/v1alpha1
|
||||||
|
kind: IngressRoute
|
||||||
|
metadata:
|
||||||
|
name: wazuh-ingress
|
||||||
|
spec:
|
||||||
|
entryPoints:
|
||||||
|
- websecure
|
||||||
|
routes:
|
||||||
|
- match: Host(`wazuh.internal.durp.info`) && PathPrefix(`/`)
|
||||||
|
middlewares:
|
||||||
|
- name: whitelist
|
||||||
|
namespace: traefik
|
||||||
|
kind: Rule
|
||||||
|
services:
|
||||||
|
- name: wazuh
|
||||||
|
port: 443
|
||||||
|
scheme: https
|
||||||
|
tls:
|
||||||
|
secretName: wazuh-tls
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: cert-manager.io/v1
|
||||||
|
kind: Certificate
|
||||||
|
metadata:
|
||||||
|
name: wazuh-tls
|
||||||
|
spec:
|
||||||
|
secretName: wazuh-tls
|
||||||
|
issuerRef:
|
||||||
|
name: letsencrypt-production
|
||||||
|
kind: ClusterIssuer
|
||||||
|
commonName: "wazuh.internal.durp.info"
|
||||||
|
dnsNames:
|
||||||
|
- "wazuh.internal.durp.info"
|
||||||
@@ -57,7 +57,7 @@ longhorn:
|
|||||||
{
|
{
|
||||||
"name":"backup",
|
"name":"backup",
|
||||||
"task":"backup",
|
"task":"backup",
|
||||||
"cron":"0 */6 * * *",
|
"cron":"0 0 * * ?",
|
||||||
"retain":24
|
"retain":24
|
||||||
}
|
}
|
||||||
]'
|
]'
|
||||||
@@ -76,7 +76,7 @@ longhorn:
|
|||||||
snapshotterReplicaCount: ~
|
snapshotterReplicaCount: ~
|
||||||
|
|
||||||
defaultSettings:
|
defaultSettings:
|
||||||
backupTarget: S3://longhorn@us-east-1/
|
backupTarget: S3://longhorn-master@us-east-1/
|
||||||
backupTargetCredentialSecret: longhorn-backup-token-secret
|
backupTargetCredentialSecret: longhorn-backup-token-secret
|
||||||
allowRecurringJobWhileVolumeDetached: ~
|
allowRecurringJobWhileVolumeDetached: ~
|
||||||
createDefaultDiskLabeledNodes: ~
|
createDefaultDiskLabeledNodes: ~
|
||||||
|
|||||||
13
metallb-system/Chart.yaml
Normal file
13
metallb-system/Chart.yaml
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
apiVersion: v2
|
||||||
|
name: metallb-system
|
||||||
|
description: A Helm chart for Kubernetes
|
||||||
|
type: application
|
||||||
|
|
||||||
|
version: 0.1.0
|
||||||
|
appVersion: "1.16.0"
|
||||||
|
|
||||||
|
dependencies:
|
||||||
|
- name: metallb
|
||||||
|
repository: https://metallb.github.io/metallb
|
||||||
|
version: 0.14.5
|
||||||
|
|
||||||
17
metallb-system/templates/config.yaml
Normal file
17
metallb-system/templates/config.yaml
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
apiVersion: metallb.io/v1beta1
|
||||||
|
kind: IPAddressPool
|
||||||
|
metadata:
|
||||||
|
name: cheap
|
||||||
|
spec:
|
||||||
|
addresses:
|
||||||
|
- 192.168.20.130-192.168.20.140
|
||||||
|
---
|
||||||
|
apiVersion: metallb.io/v1beta1
|
||||||
|
kind: L2Advertisement
|
||||||
|
metadata:
|
||||||
|
name: poop
|
||||||
|
namespace: metallb-system
|
||||||
|
spec:
|
||||||
|
ipAddressPools:
|
||||||
|
- cheap
|
||||||
|
|
||||||
197
metallb-system/values.yaml
Normal file
197
metallb-system/values.yaml
Normal file
@@ -0,0 +1,197 @@
|
|||||||
|
metallb:
|
||||||
|
imagePullSecrets: []
|
||||||
|
nameOverride: ""
|
||||||
|
fullnameOverride: ""
|
||||||
|
loadBalancerClass: ""
|
||||||
|
|
||||||
|
rbac:
|
||||||
|
create: true
|
||||||
|
|
||||||
|
prometheus:
|
||||||
|
scrapeAnnotations: false
|
||||||
|
metricsPort: 7472
|
||||||
|
speakerMetricsTLSSecret: ""
|
||||||
|
controllerMetricsTLSSecret: ""
|
||||||
|
rbacPrometheus: true
|
||||||
|
serviceAccount: ""
|
||||||
|
namespace: ""
|
||||||
|
rbacProxy:
|
||||||
|
repository: gcr.io/kubebuilder/kube-rbac-proxy
|
||||||
|
tag: v0.12.0
|
||||||
|
pullPolicy:
|
||||||
|
podMonitor:
|
||||||
|
enabled: false
|
||||||
|
additionalLabels: {}
|
||||||
|
annotations: {}
|
||||||
|
jobLabel: "app.kubernetes.io/name"
|
||||||
|
interval:
|
||||||
|
metricRelabelings: []
|
||||||
|
relabelings: []
|
||||||
|
serviceMonitor:
|
||||||
|
enabled: false
|
||||||
|
speaker:
|
||||||
|
additionalLabels: {}
|
||||||
|
annotations: {}
|
||||||
|
tlsConfig:
|
||||||
|
insecureSkipVerify: true
|
||||||
|
controller:
|
||||||
|
additionalLabels: {}
|
||||||
|
annotations: {}
|
||||||
|
tlsConfig:
|
||||||
|
insecureSkipVerify: true
|
||||||
|
jobLabel: "app.kubernetes.io/name"
|
||||||
|
interval:
|
||||||
|
metricRelabelings: []
|
||||||
|
relabelings: []
|
||||||
|
prometheusRule:
|
||||||
|
enabled: false
|
||||||
|
additionalLabels: {}
|
||||||
|
annotations: {}
|
||||||
|
staleConfig:
|
||||||
|
enabled: true
|
||||||
|
labels:
|
||||||
|
severity: warning
|
||||||
|
configNotLoaded:
|
||||||
|
enabled: true
|
||||||
|
labels:
|
||||||
|
severity: warning
|
||||||
|
addressPoolExhausted:
|
||||||
|
enabled: true
|
||||||
|
labels:
|
||||||
|
severity: alert
|
||||||
|
addressPoolUsage:
|
||||||
|
enabled: true
|
||||||
|
thresholds:
|
||||||
|
- percent: 75
|
||||||
|
labels:
|
||||||
|
severity: warning
|
||||||
|
- percent: 85
|
||||||
|
labels:
|
||||||
|
severity: warning
|
||||||
|
- percent: 95
|
||||||
|
labels:
|
||||||
|
severity: alert
|
||||||
|
bgpSessionDown:
|
||||||
|
enabled: true
|
||||||
|
labels:
|
||||||
|
severity: alert
|
||||||
|
|
||||||
|
extraAlerts: []
|
||||||
|
|
||||||
|
controller:
|
||||||
|
enabled: true
|
||||||
|
# -- Controller log level. Must be one of: `all`, `debug`, `info`, `warn`, `error` or `none`
|
||||||
|
logLevel: info
|
||||||
|
image:
|
||||||
|
repository: quay.io/metallb/controller
|
||||||
|
tag:
|
||||||
|
pullPolicy:
|
||||||
|
strategy:
|
||||||
|
type: RollingUpdate
|
||||||
|
serviceAccount:
|
||||||
|
create: true
|
||||||
|
name: ""
|
||||||
|
annotations: {}
|
||||||
|
securityContext:
|
||||||
|
runAsNonRoot: true
|
||||||
|
runAsUser: 65534
|
||||||
|
fsGroup: 65534
|
||||||
|
resources: {}
|
||||||
|
nodeSelector: {}
|
||||||
|
tolerations: []
|
||||||
|
priorityClassName: ""
|
||||||
|
runtimeClassName: ""
|
||||||
|
affinity: {}
|
||||||
|
podAnnotations: {}
|
||||||
|
labels: {}
|
||||||
|
livenessProbe:
|
||||||
|
enabled: true
|
||||||
|
failureThreshold: 3
|
||||||
|
initialDelaySeconds: 10
|
||||||
|
periodSeconds: 10
|
||||||
|
successThreshold: 1
|
||||||
|
timeoutSeconds: 1
|
||||||
|
readinessProbe:
|
||||||
|
enabled: true
|
||||||
|
failureThreshold: 3
|
||||||
|
initialDelaySeconds: 10
|
||||||
|
periodSeconds: 10
|
||||||
|
successThreshold: 1
|
||||||
|
timeoutSeconds: 1
|
||||||
|
tlsMinVersion: "VersionTLS12"
|
||||||
|
tlsCipherSuites: ""
|
||||||
|
|
||||||
|
extraContainers: []
|
||||||
|
|
||||||
|
speaker:
|
||||||
|
enabled: true
|
||||||
|
logLevel: debug
|
||||||
|
tolerateMaster: true
|
||||||
|
memberlist:
|
||||||
|
enabled: true
|
||||||
|
mlBindPort: 7946
|
||||||
|
mlBindAddrOverride: ""
|
||||||
|
mlSecretKeyPath: "/etc/ml_secret_key"
|
||||||
|
excludeInterfaces:
|
||||||
|
enabled: true
|
||||||
|
ignoreExcludeLB: false
|
||||||
|
|
||||||
|
image:
|
||||||
|
repository: quay.io/metallb/speaker
|
||||||
|
tag:
|
||||||
|
pullPolicy:
|
||||||
|
updateStrategy:
|
||||||
|
type: RollingUpdate
|
||||||
|
serviceAccount:
|
||||||
|
create: true
|
||||||
|
name: ""
|
||||||
|
annotations: {}
|
||||||
|
securityContext: {}
|
||||||
|
resources: {}
|
||||||
|
nodeSelector: {}
|
||||||
|
tolerations: []
|
||||||
|
priorityClassName: ""
|
||||||
|
affinity: {}
|
||||||
|
runtimeClassName: ""
|
||||||
|
podAnnotations: {}
|
||||||
|
labels:
|
||||||
|
pod-security.kubernetes.io/enforce: privileged
|
||||||
|
pod-security.kubernetes.io/audit: privileged
|
||||||
|
pod-security.kubernetes.io/warn: privileged
|
||||||
|
livenessProbe:
|
||||||
|
enabled: true
|
||||||
|
failureThreshold: 3
|
||||||
|
initialDelaySeconds: 10
|
||||||
|
periodSeconds: 10
|
||||||
|
successThreshold: 1
|
||||||
|
timeoutSeconds: 1
|
||||||
|
readinessProbe:
|
||||||
|
enabled: true
|
||||||
|
failureThreshold: 3
|
||||||
|
initialDelaySeconds: 10
|
||||||
|
periodSeconds: 10
|
||||||
|
successThreshold: 1
|
||||||
|
timeoutSeconds: 1
|
||||||
|
startupProbe:
|
||||||
|
enabled: true
|
||||||
|
failureThreshold: 30
|
||||||
|
periodSeconds: 5
|
||||||
|
frr:
|
||||||
|
enabled: true
|
||||||
|
image:
|
||||||
|
repository: quay.io/frrouting/frr
|
||||||
|
tag: 9.0.2
|
||||||
|
pullPolicy:
|
||||||
|
metricsPort: 7473
|
||||||
|
resources: {}
|
||||||
|
reloader:
|
||||||
|
resources: {}
|
||||||
|
frrMetrics:
|
||||||
|
resources: {}
|
||||||
|
extraContainers: []
|
||||||
|
crds:
|
||||||
|
enabled: true
|
||||||
|
validationFailurePolicy: Fail
|
||||||
|
frrk8s:
|
||||||
|
enabled: false
|
||||||
|
|
||||||
@@ -30,5 +30,7 @@ metadata:
|
|||||||
spec:
|
spec:
|
||||||
ipWhiteList:
|
ipWhiteList:
|
||||||
sourceRange:
|
sourceRange:
|
||||||
- 192.168.20.1/32
|
- 192.168.20.1/32
|
||||||
- 10.0.0.0/8
|
- 10.0.0.0/8
|
||||||
|
- 192.168.30.0/24
|
||||||
|
- 192.168.130.0/24
|
||||||
|
|||||||
@@ -730,7 +730,7 @@ traefik:
|
|||||||
## Create HorizontalPodAutoscaler object.
|
## Create HorizontalPodAutoscaler object.
|
||||||
##
|
##
|
||||||
autoscaling:
|
autoscaling:
|
||||||
enabled: false
|
enabled: true
|
||||||
minReplicas: 1
|
minReplicas: 1
|
||||||
maxReplicas: 10
|
maxReplicas: 10
|
||||||
metrics:
|
metrics:
|
||||||
@@ -819,13 +819,13 @@ traefik:
|
|||||||
# Additional serviceAccount annotations (e.g. for oidc authentication)
|
# Additional serviceAccount annotations (e.g. for oidc authentication)
|
||||||
serviceAccountAnnotations: {}
|
serviceAccountAnnotations: {}
|
||||||
|
|
||||||
resources: {}
|
resources:
|
||||||
# requests:
|
requests:
|
||||||
# cpu: "100m"
|
cpu: "100m"
|
||||||
# memory: "50Mi"
|
memory: "50Mi"
|
||||||
# limits:
|
limits:
|
||||||
# cpu: "300m"
|
cpu: "300m"
|
||||||
# memory: "150Mi"
|
memory: "256Mi"
|
||||||
|
|
||||||
# This example pod anti-affinity forces the scheduler to put traefik pods
|
# This example pod anti-affinity forces the scheduler to put traefik pods
|
||||||
# on nodes where no other traefik pods are scheduled.
|
# on nodes where no other traefik pods are scheduled.
|
||||||
|
|||||||
@@ -39,14 +39,13 @@ vault:
|
|||||||
ha:
|
ha:
|
||||||
enabled: false
|
enabled: false
|
||||||
replicas: 3
|
replicas: 3
|
||||||
resources: {}
|
resources:
|
||||||
# resources:
|
requests:
|
||||||
# requests:
|
memory: 256Mi
|
||||||
# memory: 256Mi
|
cpu: 250m
|
||||||
# cpu: 250m
|
limits:
|
||||||
# limits:
|
memory: 256Mi
|
||||||
# memory: 256Mi
|
cpu: 250m
|
||||||
# cpu: 250m
|
|
||||||
|
|
||||||
dataStorage:
|
dataStorage:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
|||||||
Reference in New Issue
Block a user