Compare commits
107 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3a4e96aaf0 | ||
|
|
f196ed4fbb | ||
|
|
86e50e6ed8 | ||
|
|
0bb5570668 | ||
| 34950703ca | |||
| 0ff4cc5bad | |||
| 6e4ae08a5c | |||
| df62890043 | |||
| 8a9004d456 | |||
| 00969f8183 | |||
| b90fdc1991 | |||
| b6e7d5065c | |||
|
|
1bab20668d | ||
|
|
750889d58c | ||
|
|
f6da30f4f4 | ||
| 01e75840d3 | |||
| cb2798e201 | |||
| 2978aee67a | |||
| 6d7e5d6956 | |||
|
|
6c3e9ba781 | ||
|
|
5811b6ecbf | ||
|
|
3b05002fcf | ||
|
|
911398e73f | ||
|
|
3254fda226 | ||
|
|
ef8c5e6ba2 | ||
|
|
01c8cd9e38 | ||
|
|
f761405a7f | ||
| 8a3104684e | |||
| 6aaafd3a7e | |||
| 78e6bd6b8e | |||
| 338e3c23c2 | |||
| f4f02d9147 | |||
| 2256f76caa | |||
| 5915b5b7a3 | |||
| 1e19df0c7a | |||
| 43486b4ab4 | |||
| 9e1debe339 | |||
| f349a1c43a | |||
| a0f384a428 | |||
| 1ef48ae879 | |||
| 9c35356c5d | |||
| 0d4ec2c08a | |||
| ed970283ae | |||
| 6bebb64c41 | |||
| bf6d929398 | |||
| 475ccd6576 | |||
| 8461a4e818 | |||
| d6b5a05352 | |||
| bd9af60728 | |||
| b30297b951 | |||
| 81384297be | |||
| 8e585ed7b0 | |||
| 1017d6a834 | |||
| db7e629fed | |||
| d01ee2da24 | |||
| 083bbe5af5 | |||
| c45d239b8c | |||
| 1b1d9178d3 | |||
| ca4d492882 | |||
| b7c14e18b2 | |||
| 6ad1f067e4 | |||
| 3babb5db29 | |||
| b03642cd1d | |||
| f95e7539f0 | |||
| 540a9c6f8a | |||
| ce256ff51a | |||
| d0ec1a9909 | |||
| ec8111c239 | |||
| 54e51af63f | |||
| 6a57946a53 | |||
| 2fe3df9227 | |||
| fd9731b7e1 | |||
| 0aeccd39b8 | |||
| d63ee6027d | |||
| dd91465e44 | |||
| d42cf229bf | |||
| ec8afdb6bc | |||
| 8568d5e4c0 | |||
| 2b4e117ba3 | |||
| 9f45c8b145 | |||
| 38846d58f3 | |||
| 43160a8da1 | |||
| 690c9e40c9 | |||
| 29136dd395 | |||
| bf6314e914 | |||
| a669676e8b | |||
| f69d3babfc | |||
| 6059303fcf | |||
| 1a0458354b | |||
| a63fe8cb3f | |||
| c47dba6dc6 | |||
| 77faed876d | |||
| b105b7004c | |||
| 9c59677594 | |||
| 2ef82bd70f | |||
| f0ca5ec41f | |||
| c3411b7f93 | |||
| 7beeb5c86f | |||
| aed1ff9556 | |||
| 76449c7ccd | |||
| 2f9dca4bc7 | |||
| 583c548900 | |||
| 8ff8705a2f | |||
| d0e7fd57ed | |||
| 1be8492f4c | |||
| e06a35f1a2 | |||
| ea811669c3 |
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.idea
|
||||
@@ -7,7 +7,7 @@ spec:
|
||||
project: default
|
||||
source:
|
||||
repoURL: https://gitlab.com/developerdurp/homelab.git
|
||||
targetRevision: main
|
||||
targetRevision: dev
|
||||
path: internalproxy
|
||||
directory:
|
||||
recurse: true
|
||||
|
||||
@@ -7,7 +7,7 @@ spec:
|
||||
project: default
|
||||
source:
|
||||
repoURL: https://gitlab.com/developerdurp/homelab.git
|
||||
targetRevision: main
|
||||
targetRevision: dev
|
||||
path: argocd
|
||||
destination:
|
||||
namespace: argocd
|
||||
|
||||
@@ -7,7 +7,7 @@ spec:
|
||||
project: default
|
||||
source:
|
||||
repoURL: https://gitlab.com/developerdurp/homelab.git
|
||||
targetRevision: main
|
||||
targetRevision: dev
|
||||
path: authentik
|
||||
destination:
|
||||
namespace: authentik
|
||||
|
||||
@@ -7,7 +7,7 @@ spec:
|
||||
project: default
|
||||
source:
|
||||
repoURL: https://gitlab.com/developerdurp/homelab.git
|
||||
targetRevision: main
|
||||
targetRevision: dev
|
||||
path: bitwarden
|
||||
directory:
|
||||
recurse: true
|
||||
|
||||
@@ -7,7 +7,7 @@ spec:
|
||||
project: default
|
||||
source:
|
||||
repoURL: https://gitlab.com/developerdurp/homelab.git
|
||||
targetRevision: main
|
||||
targetRevision: dev
|
||||
path: cert-manager
|
||||
destination:
|
||||
namespace: cert-manager
|
||||
|
||||
@@ -7,7 +7,7 @@ spec:
|
||||
project: default
|
||||
source:
|
||||
repoURL: https://gitlab.com/developerdurp/homelab.git
|
||||
targetRevision: main
|
||||
targetRevision: dev
|
||||
path: crossplane
|
||||
destination:
|
||||
namespace: crossplane
|
||||
|
||||
@@ -7,7 +7,7 @@ spec:
|
||||
project: default
|
||||
source:
|
||||
repoURL: https://gitlab.com/developerdurp/homelab.git
|
||||
targetRevision: main
|
||||
targetRevision: dev
|
||||
path: durpapi
|
||||
destination:
|
||||
namespace: durpapi
|
||||
|
||||
@@ -7,7 +7,7 @@ spec:
|
||||
project: default
|
||||
source:
|
||||
repoURL: https://gitlab.com/developerdurp/homelab.git
|
||||
targetRevision: main
|
||||
targetRevision: dev
|
||||
path: durpot
|
||||
destination:
|
||||
namespace: durpot
|
||||
|
||||
@@ -7,7 +7,7 @@ spec:
|
||||
project: default
|
||||
source:
|
||||
repoURL: https://gitlab.com/developerdurp/homelab.git
|
||||
targetRevision: main
|
||||
targetRevision: dev
|
||||
path: external-dns
|
||||
destination:
|
||||
namespace: external-dns
|
||||
|
||||
@@ -7,7 +7,7 @@ spec:
|
||||
project: default
|
||||
source:
|
||||
repoURL: https://gitlab.com/developerdurp/homelab.git
|
||||
targetRevision: main
|
||||
targetRevision: dev
|
||||
path: external-secrets
|
||||
destination:
|
||||
namespace: external-secrets
|
||||
|
||||
@@ -7,7 +7,7 @@ spec:
|
||||
project: default
|
||||
source:
|
||||
repoURL: https://gitlab.com/developerdurp/homelab.git
|
||||
targetRevision: main
|
||||
targetRevision: dev
|
||||
path: gatekeeper
|
||||
destination:
|
||||
namespace: gatekeeper
|
||||
|
||||
@@ -7,7 +7,7 @@ spec:
|
||||
project: default
|
||||
source:
|
||||
repoURL: https://gitlab.com/developerdurp/homelab.git
|
||||
targetRevision: main
|
||||
targetRevision: dev
|
||||
path: gitlab-runner
|
||||
destination:
|
||||
namespace: gitlab-runner
|
||||
|
||||
@@ -7,7 +7,7 @@ spec:
|
||||
project: default
|
||||
source:
|
||||
repoURL: https://gitlab.com/developerdurp/homelab.git
|
||||
targetRevision: main
|
||||
targetRevision: dev
|
||||
path: heimdall
|
||||
destination:
|
||||
namespace: heimdall
|
||||
|
||||
@@ -8,9 +8,9 @@ spec:
|
||||
entryPoints:
|
||||
- websecure
|
||||
routes:
|
||||
- match: Host(`argocd.internal.durp.info`)
|
||||
- match: Host(`argocd.internal.dev.durp.info`)
|
||||
middlewares:
|
||||
- name: whitelist
|
||||
- name: internal-only
|
||||
namespace: traefik
|
||||
kind: Rule
|
||||
services:
|
||||
@@ -22,16 +22,6 @@ spec:
|
||||
|
||||
---
|
||||
|
||||
kind: Service
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: argocd-server
|
||||
spec:
|
||||
type: ExternalName
|
||||
externalName: argocd-server.argocd.svc.cluster.local
|
||||
|
||||
---
|
||||
|
||||
apiVersion: cert-manager.io/v1
|
||||
kind: Certificate
|
||||
metadata:
|
||||
@@ -41,6 +31,6 @@ spec:
|
||||
issuerRef:
|
||||
name: letsencrypt-production
|
||||
kind: ClusterIssuer
|
||||
commonName: "argocd.internal.durp.info"
|
||||
commonName: "argocd.internal.dev.durp.info"
|
||||
dnsNames:
|
||||
- "argocd.internal.durp.info"
|
||||
- "argocd.internal.dev.durp.info"
|
||||
@@ -7,7 +7,7 @@ spec:
|
||||
project: default
|
||||
source:
|
||||
repoURL: https://gitlab.com/developerdurp/homelab.git
|
||||
targetRevision: main
|
||||
targetRevision: dev
|
||||
path: krakend
|
||||
destination:
|
||||
namespace: krakend
|
||||
|
||||
@@ -7,7 +7,7 @@ spec:
|
||||
project: default
|
||||
source:
|
||||
repoURL: https://gitlab.com/developerdurp/homelab.git
|
||||
targetRevision: main
|
||||
targetRevision: dev
|
||||
path: kube-prometheus-stack
|
||||
destination:
|
||||
namespace: kube-prometheus-stack
|
||||
|
||||
@@ -7,7 +7,7 @@ spec:
|
||||
project: default
|
||||
source:
|
||||
repoURL: https://gitlab.com/developerdurp/homelab.git
|
||||
targetRevision: main
|
||||
targetRevision: dev
|
||||
path: kubeclarity
|
||||
destination:
|
||||
namespace: kubeclarity
|
||||
|
||||
@@ -7,7 +7,7 @@ spec:
|
||||
project: default
|
||||
source:
|
||||
repoURL: https://gitlab.com/developerdurp/homelab.git
|
||||
targetRevision: main
|
||||
targetRevision: dev
|
||||
path: littlelink
|
||||
directory:
|
||||
recurse: true
|
||||
|
||||
@@ -7,7 +7,7 @@ spec:
|
||||
project: default
|
||||
source:
|
||||
repoURL: https://gitlab.com/developerdurp/homelab.git
|
||||
targetRevision: main
|
||||
targetRevision: dev
|
||||
path: longhorn
|
||||
destination:
|
||||
namespace: longhorn-system
|
||||
|
||||
21
argocd/templates/metallb-system.yaml
Normal file
21
argocd/templates/metallb-system.yaml
Normal file
@@ -0,0 +1,21 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: metallb-system
|
||||
namespace: argocd
|
||||
spec:
|
||||
project: default
|
||||
source:
|
||||
repoURL: https://gitlab.com/developerdurp/homelab.git
|
||||
targetRevision: dev
|
||||
path: metallb-system
|
||||
destination:
|
||||
namespace: metallb-system
|
||||
name: in-cluster
|
||||
syncPolicy:
|
||||
automated:
|
||||
prune: true
|
||||
selfHeal: true
|
||||
syncOptions:
|
||||
- CreateNamespace=true
|
||||
|
||||
@@ -7,7 +7,7 @@ spec:
|
||||
project: default
|
||||
source:
|
||||
repoURL: https://gitlab.com/developerdurp/homelab.git
|
||||
targetRevision: main
|
||||
targetRevision: dev
|
||||
path: nfs-client
|
||||
directory:
|
||||
recurse: true
|
||||
|
||||
@@ -7,7 +7,7 @@ spec:
|
||||
project: default
|
||||
source:
|
||||
repoURL: https://gitlab.com/developerdurp/homelab.git
|
||||
targetRevision: main
|
||||
targetRevision: dev
|
||||
path: open-webui
|
||||
destination:
|
||||
namespace: open-webui
|
||||
|
||||
@@ -7,7 +7,7 @@ spec:
|
||||
project: default
|
||||
source:
|
||||
repoURL: https://gitlab.com/developerdurp/homelab.git
|
||||
targetRevision: main
|
||||
targetRevision: dev
|
||||
path: traefik
|
||||
destination:
|
||||
namespace: traefik
|
||||
|
||||
@@ -7,7 +7,7 @@ spec:
|
||||
project: default
|
||||
source:
|
||||
repoURL: https://gitlab.com/developerdurp/homelab.git
|
||||
targetRevision: main
|
||||
targetRevision: dev
|
||||
path: uptimekuma
|
||||
directory:
|
||||
recurse: true
|
||||
|
||||
@@ -7,7 +7,7 @@ spec:
|
||||
project: default
|
||||
source:
|
||||
repoURL: https://gitlab.com/developerdurp/homelab.git
|
||||
targetRevision: main
|
||||
targetRevision: dev
|
||||
path: vault
|
||||
destination:
|
||||
namespace: vault
|
||||
|
||||
@@ -1,28 +1,10 @@
|
||||
argo-cd:
|
||||
|
||||
global:
|
||||
revisionHistoryLimit: 1
|
||||
image:
|
||||
repository: registry.internal.durp.info/argoproj/argocd
|
||||
imagePullPolicy: Always
|
||||
|
||||
server:
|
||||
#extraArgs:
|
||||
# - --dex-server-plaintext
|
||||
# - --dex-server=argocd-dex-server:5556
|
||||
# oidc.config: |
|
||||
# name: AzureAD
|
||||
# issuer: https://login.microsoftonline.com/TENANT_ID/v2.0
|
||||
# clientID: CLIENT_ID
|
||||
# clientSecret: $oidc.azuread.clientSecret
|
||||
# requestedIDTokenClaims:
|
||||
# groups:
|
||||
# essential: true
|
||||
# requestedScopes:
|
||||
# - openid
|
||||
# - profile
|
||||
# - email
|
||||
|
||||
dex:
|
||||
enabled: true
|
||||
image:
|
||||
@@ -33,13 +15,13 @@ argo-cd:
|
||||
cm:
|
||||
create: true
|
||||
annotations: {}
|
||||
url: https://argocd.internal.durp.info
|
||||
url: https://argocd.dev.durp.info
|
||||
oidc.tls.insecure.skip.verify: "true"
|
||||
dex.config: |
|
||||
connectors:
|
||||
- config:
|
||||
issuer: https://authentik.durp.info/application/o/argocd/
|
||||
clientID: dbb8ffc06104fb6e7fac3e4ae7fafb1d90437625
|
||||
issuer: https://authentik.dev.durp.info/application/o/argocd/
|
||||
clientID: lKuMgyYaOlQMNAUSjsRVYgkwZG9UT6CeFWeTLAcl
|
||||
clientSecret: $client-secret:clientSecret
|
||||
insecureEnableGroups: true
|
||||
scopes:
|
||||
@@ -54,9 +36,9 @@ argo-cd:
|
||||
rbac:
|
||||
create: true
|
||||
policy.csv: |
|
||||
g, ArgoCD Admins, role:admin
|
||||
g, ArgoCD Admins, role:admin
|
||||
scopes: "[groups]"
|
||||
|
||||
server:
|
||||
route:
|
||||
route:
|
||||
enabled: false
|
||||
|
||||
@@ -6,7 +6,7 @@ spec:
|
||||
entryPoints:
|
||||
- websecure
|
||||
routes:
|
||||
- match: Host(`authentik.durp.info`) && PathPrefix(`/`)
|
||||
- match: Host(`authentik.dev.durp.info`) && PathPrefix(`/`)
|
||||
kind: Rule
|
||||
services:
|
||||
- name: authentik-server
|
||||
@@ -25,9 +25,9 @@ spec:
|
||||
issuerRef:
|
||||
name: letsencrypt-production
|
||||
kind: ClusterIssuer
|
||||
commonName: "authentik.durp.info"
|
||||
commonName: "authentik.dev.durp.info"
|
||||
dnsNames:
|
||||
- "authentik.durp.info"
|
||||
- "authentik.dev.durp.info"
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
authentik:
|
||||
global:
|
||||
env:
|
||||
- name: AUTHENTIK_REDIS__DB
|
||||
value: "1"
|
||||
- name: AUTHENTIK_POSTGRESQL__PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
@@ -32,9 +34,16 @@ authentik:
|
||||
registry: registry.internal.durp.info
|
||||
repository: bitnami/postgresql
|
||||
pullPolicy: Always
|
||||
postgresqlUsername: "authentik"
|
||||
postgresqlDatabase: "authentik"
|
||||
existingSecret: db-pass
|
||||
auth:
|
||||
username: "authentik"
|
||||
existingSecret: db-pass
|
||||
secretKeys:
|
||||
adminPasswordKey: dbpass
|
||||
userPasswordKey: dbpass
|
||||
|
||||
#postgresqlUsername: "authentik"
|
||||
#postgresqlDatabase: "authentik"
|
||||
#existingSecret: db-pass
|
||||
persistence:
|
||||
enabled: true
|
||||
storageClass: longhorn
|
||||
|
||||
@@ -17,7 +17,7 @@ spec:
|
||||
spec:
|
||||
containers:
|
||||
- name: bitwarden
|
||||
image: registry.internal.durp.info/vaultwarden/server:1.30.3
|
||||
image: registry.internal.durp.info/vaultwarden/server:1.30.5
|
||||
imagePullPolicy: Always
|
||||
volumeMounts:
|
||||
- name: bitwarden-pvc
|
||||
@@ -28,7 +28,7 @@ spec:
|
||||
containerPort: 80
|
||||
env:
|
||||
- name: SIGNUPS_ALLOWED
|
||||
value: "FALSE"
|
||||
value: "TRUE"
|
||||
- name: INVITATIONS_ALLOWED
|
||||
value: "FALSE"
|
||||
- name: WEBSOCKET_ENABLED
|
||||
@@ -39,7 +39,7 @@ spec:
|
||||
value: "80"
|
||||
- name: ROCKET_WORKERS
|
||||
value: "10"
|
||||
- name: SECRET_USERNAME
|
||||
- name: ADMIN_TOKEN
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: bitwarden-secret
|
||||
|
||||
@@ -6,7 +6,7 @@ spec:
|
||||
entryPoints:
|
||||
- websecure
|
||||
routes:
|
||||
- match: Host(`bitwarden.durp.info`) && PathPrefix(`/`)
|
||||
- match: Host(`bitwarden.dev.durp.info`) && PathPrefix(`/`)
|
||||
kind: Rule
|
||||
services:
|
||||
- name: bitwarden
|
||||
@@ -25,9 +25,9 @@ spec:
|
||||
issuerRef:
|
||||
name: letsencrypt-production
|
||||
kind: ClusterIssuer
|
||||
commonName: "bitwarden.durp.info"
|
||||
commonName: "bitwarden.dev.durp.info"
|
||||
dnsNames:
|
||||
- "bitwarden.durp.info"
|
||||
- "bitwarden.dev.durp.info"
|
||||
|
||||
---
|
||||
|
||||
@@ -36,7 +36,28 @@ apiVersion: v1
|
||||
metadata:
|
||||
name: bitwarden-external-dns
|
||||
annotations:
|
||||
external-dns.alpha.kubernetes.io/hostname: bitwarden.durp.info
|
||||
external-dns.alpha.kubernetes.io/hostname: bitwarden.dev.durp.info
|
||||
spec:
|
||||
type: ExternalName
|
||||
externalName: durp.info
|
||||
externalName: dev.durp.info
|
||||
|
||||
---
|
||||
|
||||
apiVersion: traefik.containo.us/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: bitwarden-admin-ingress
|
||||
spec:
|
||||
entryPoints:
|
||||
- websecure
|
||||
routes:
|
||||
- match: Host(`bitwarden.dev.durp.info`) && PathPrefix(`/admin`)
|
||||
kind: Rule
|
||||
middlewares:
|
||||
- name: whitelist
|
||||
namespace: traefik
|
||||
services:
|
||||
- name: bitwarden
|
||||
port: 80
|
||||
tls:
|
||||
secretName: bitwarden-tls
|
||||
|
||||
13
cert-manager/templates/self-signed.yaml
Normal file
13
cert-manager/templates/self-signed.yaml
Normal file
@@ -0,0 +1,13 @@
|
||||
apiVersion: cert-manager.io/v1
|
||||
kind: Issuer
|
||||
metadata:
|
||||
name: selfsigned-issuer
|
||||
spec:
|
||||
selfSigned: {}
|
||||
---
|
||||
apiVersion: cert-manager.io/v1
|
||||
kind: ClusterIssuer
|
||||
metadata:
|
||||
name: selfsigned-cluster-issuer
|
||||
spec:
|
||||
selfSigned: {}
|
||||
@@ -9,4 +9,4 @@ appVersion: "1.16.0"
|
||||
dependencies:
|
||||
- name: crossplane
|
||||
repository: https://charts.crossplane.io/stable
|
||||
version: 1.12.0
|
||||
version: 1.16.0
|
||||
|
||||
@@ -3,7 +3,7 @@ kind: Provider
|
||||
metadata:
|
||||
name: provider-gitlab
|
||||
spec:
|
||||
package: xpkg.upbound.io/crossplane-contrib/provider-gitlab:v0.5.0
|
||||
package: xpkg.upbound.io/crossplane-contrib/provider-gitlab:v0.7.0
|
||||
---
|
||||
|
||||
apiVersion: external-secrets.io/v1beta1
|
||||
|
||||
186
crossplane/values.yaml
Normal file
186
crossplane/values.yaml
Normal file
@@ -0,0 +1,186 @@
|
||||
# helm-docs renders these comments into markdown. Use markdown formatting where
|
||||
# appropiate.
|
||||
#
|
||||
# -- The number of Crossplane pod `replicas` to deploy.
|
||||
replicas: 1
|
||||
|
||||
# -- The deployment strategy for the Crossplane and RBAC Manager pods.
|
||||
deploymentStrategy: RollingUpdate
|
||||
|
||||
image:
|
||||
# -- Repository for the Crossplane pod image.
|
||||
repository: xpkg.upbound.io/crossplane/crossplane
|
||||
# -- The Crossplane image tag. Defaults to the value of `appVersion` in `Chart.yaml`.
|
||||
tag: ""
|
||||
# -- The image pull policy used for Crossplane and RBAC Manager pods.
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
# -- Add `nodeSelectors` to the Crossplane pod deployment.
|
||||
nodeSelector: {}
|
||||
# -- Add `tolerations` to the Crossplane pod deployment.
|
||||
tolerations: []
|
||||
# -- Add `affinities` to the Crossplane pod deployment.
|
||||
affinity: {}
|
||||
|
||||
# -- Enable `hostNetwork` for the Crossplane deployment. Caution: enabling `hostNetwork` grants the Crossplane Pod access to the host network namespace. Consider setting `dnsPolicy` to `ClusterFirstWithHostNet`.
|
||||
hostNetwork: false
|
||||
|
||||
# -- Specify the `dnsPolicy` to be used by the Crossplane pod.
|
||||
dnsPolicy: ""
|
||||
|
||||
# -- Add custom `labels` to the Crossplane pod deployment.
|
||||
customLabels: {}
|
||||
|
||||
# -- Add custom `annotations` to the Crossplane pod deployment.
|
||||
customAnnotations: {}
|
||||
|
||||
serviceAccount:
|
||||
# -- Add custom `annotations` to the Crossplane ServiceAccount.
|
||||
customAnnotations: {}
|
||||
|
||||
# -- Enable [leader election](https://docs.crossplane.io/latest/concepts/pods/#leader-election) for the Crossplane pod.
|
||||
leaderElection: true
|
||||
# -- Add custom arguments to the Crossplane pod.
|
||||
args: []
|
||||
|
||||
provider:
|
||||
# -- A list of Provider packages to install.
|
||||
packages: []
|
||||
|
||||
configuration:
|
||||
# -- A list of Configuration packages to install.
|
||||
packages: []
|
||||
|
||||
function:
|
||||
# -- A list of Function packages to install
|
||||
packages: []
|
||||
|
||||
# -- The imagePullSecret names to add to the Crossplane ServiceAccount.
|
||||
imagePullSecrets: []
|
||||
|
||||
registryCaBundleConfig:
|
||||
# -- The ConfigMap name containing a custom CA bundle to enable fetching packages from registries with unknown or untrusted certificates.
|
||||
name: ""
|
||||
# -- The ConfigMap key containing a custom CA bundle to enable fetching packages from registries with unknown or untrusted certificates.
|
||||
key: ""
|
||||
|
||||
service:
|
||||
# -- Configure annotations on the service object. Only enabled when webhooks.enabled = true
|
||||
customAnnotations: {}
|
||||
|
||||
webhooks:
|
||||
# -- Enable webhooks for Crossplane and installed Provider packages.
|
||||
enabled: true
|
||||
|
||||
rbacManager:
|
||||
# -- Deploy the RBAC Manager pod and its required roles.
|
||||
deploy: true
|
||||
# -- Don't install aggregated Crossplane ClusterRoles.
|
||||
skipAggregatedClusterRoles: false
|
||||
# -- The number of RBAC Manager pod `replicas` to deploy.
|
||||
replicas: 1
|
||||
# -- Enable [leader election](https://docs.crossplane.io/latest/concepts/pods/#leader-election) for the RBAC Manager pod.
|
||||
leaderElection: true
|
||||
# -- Add custom arguments to the RBAC Manager pod.
|
||||
args: []
|
||||
# -- Add `nodeSelectors` to the RBAC Manager pod deployment.
|
||||
nodeSelector: {}
|
||||
# -- Add `tolerations` to the RBAC Manager pod deployment.
|
||||
tolerations: []
|
||||
# -- Add `affinities` to the RBAC Manager pod deployment.
|
||||
affinity: {}
|
||||
|
||||
# -- The PriorityClass name to apply to the Crossplane and RBAC Manager pods.
|
||||
priorityClassName: ""
|
||||
|
||||
resourcesCrossplane:
|
||||
limits:
|
||||
# -- CPU resource limits for the Crossplane pod.
|
||||
cpu: 500m
|
||||
# -- Memory resource limits for the Crossplane pod.
|
||||
memory: 1024Mi
|
||||
requests:
|
||||
# -- CPU resource requests for the Crossplane pod.
|
||||
cpu: 100m
|
||||
# -- Memory resource requests for the Crossplane pod.
|
||||
memory: 256Mi
|
||||
|
||||
securityContextCrossplane:
|
||||
# -- The user ID used by the Crossplane pod.
|
||||
runAsUser: 65532
|
||||
# -- The group ID used by the Crossplane pod.
|
||||
runAsGroup: 65532
|
||||
# -- Enable `allowPrivilegeEscalation` for the Crossplane pod.
|
||||
allowPrivilegeEscalation: false
|
||||
# -- Set the Crossplane pod root file system as read-only.
|
||||
readOnlyRootFilesystem: true
|
||||
|
||||
packageCache:
|
||||
# -- Set to `Memory` to hold the package cache in a RAM backed file system. Useful for Crossplane development.
|
||||
medium: ""
|
||||
# -- The size limit for the package cache. If medium is `Memory` the `sizeLimit` can't exceed Node memory.
|
||||
sizeLimit: 20Mi
|
||||
# -- The name of a PersistentVolumeClaim to use as the package cache. Disables the default package cache `emptyDir` Volume.
|
||||
pvc: ""
|
||||
# -- The name of a ConfigMap to use as the package cache. Disables the default package cache `emptyDir` Volume.
|
||||
configMap: ""
|
||||
|
||||
resourcesRBACManager:
|
||||
limits:
|
||||
# -- CPU resource limits for the RBAC Manager pod.
|
||||
cpu: 100m
|
||||
# -- Memory resource limits for the RBAC Manager pod.
|
||||
memory: 512Mi
|
||||
requests:
|
||||
# -- CPU resource requests for the RBAC Manager pod.
|
||||
cpu: 100m
|
||||
# -- Memory resource requests for the RBAC Manager pod.
|
||||
memory: 256Mi
|
||||
|
||||
securityContextRBACManager:
|
||||
# -- The user ID used by the RBAC Manager pod.
|
||||
runAsUser: 65532
|
||||
# -- The group ID used by the RBAC Manager pod.
|
||||
runAsGroup: 65532
|
||||
# -- Enable `allowPrivilegeEscalation` for the RBAC Manager pod.
|
||||
allowPrivilegeEscalation: false
|
||||
# -- Set the RBAC Manager pod root file system as read-only.
|
||||
readOnlyRootFilesystem: true
|
||||
|
||||
metrics:
|
||||
# -- Enable Prometheus path, port and scrape annotations and expose port 8080 for both the Crossplane and RBAC Manager pods.
|
||||
enabled: false
|
||||
|
||||
# -- Add custom environmental variables to the Crossplane pod deployment.
|
||||
# Replaces any `.` in a variable name with `_`. For example, `SAMPLE.KEY=value1` becomes `SAMPLE_KEY=value1`.
|
||||
extraEnvVarsCrossplane: {}
|
||||
|
||||
# -- Add custom environmental variables to the RBAC Manager pod deployment.
|
||||
# Replaces any `.` in a variable name with `_`. For example, `SAMPLE.KEY=value1` becomes `SAMPLE_KEY=value1`.
|
||||
extraEnvVarsRBACManager: {}
|
||||
|
||||
# -- Add a custom `securityContext` to the Crossplane pod.
|
||||
podSecurityContextCrossplane: {}
|
||||
|
||||
# -- Add a custom `securityContext` to the RBAC Manager pod.
|
||||
podSecurityContextRBACManager: {}
|
||||
|
||||
# -- Add custom `volumes` to the Crossplane pod.
|
||||
extraVolumesCrossplane: {}
|
||||
|
||||
# -- Add custom `volumeMounts` to the Crossplane pod.
|
||||
extraVolumeMountsCrossplane: {}
|
||||
|
||||
# -- To add arbitrary Kubernetes Objects during a Helm Install
|
||||
extraObjects: []
|
||||
# - apiVersion: pkg.crossplane.io/v1alpha1
|
||||
# kind: ControllerConfig
|
||||
# metadata:
|
||||
# name: aws-config
|
||||
# annotations:
|
||||
# eks.amazonaws.com/role-arn: arn:aws:iam::123456789101:role/example
|
||||
# helm.sh/hook: post-install
|
||||
# spec:
|
||||
# podSecurityContext:
|
||||
# fsGroup: 2000
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
version: 0.1.0-dev0144
|
||||
apiVersion: v2
|
||||
type: application
|
||||
version: 0.1.0-dev0192
|
||||
description: A Helm chart for Kubernetes
|
||||
appVersion: 0.1.0
|
||||
name: durpapi
|
||||
dependencies:
|
||||
- version: 12.5.*
|
||||
condition: postgresql.enabled
|
||||
name: postgresql
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
description: A Helm chart for Kubernetes
|
||||
type: application
|
||||
appVersion: 0.1.0
|
||||
name: postgresql
|
||||
|
||||
@@ -6,7 +6,7 @@ spec:
|
||||
entryPoints:
|
||||
- websecure
|
||||
routes:
|
||||
- match: Host("api.durp.info") && PathPrefix(`/api`)
|
||||
- match: Host("api.dev.durp.info") && PathPrefix(`/api`)
|
||||
kind: Rule
|
||||
middlewares:
|
||||
- name: jwt
|
||||
@@ -24,7 +24,7 @@ spec:
|
||||
entryPoints:
|
||||
- websecure
|
||||
routes:
|
||||
- match: Host("api.durp.info") && PathPrefix(`/swagger`)
|
||||
- match: Host("api.dev.durp.info") && PathPrefix(`/swagger`)
|
||||
kind: Rule
|
||||
services:
|
||||
- name: "durpapi-service"
|
||||
@@ -42,3 +42,4 @@ spec:
|
||||
Required: true
|
||||
Keys:
|
||||
- https://authentik.durp.info/application/o/api/jwks
|
||||
|
||||
|
||||
@@ -4,13 +4,13 @@ external-dns:
|
||||
|
||||
image:
|
||||
pullPolicy: Always
|
||||
|
||||
txtPrefix: "dev-"
|
||||
sources:
|
||||
- service
|
||||
|
||||
provider: cloudflare
|
||||
cloudflare:
|
||||
secretName : "external-dns"
|
||||
proxied: true
|
||||
proxied: false
|
||||
|
||||
policy: sync
|
||||
policy: sync
|
||||
|
||||
@@ -7,7 +7,7 @@ spec:
|
||||
entryPoints:
|
||||
- websecure
|
||||
routes:
|
||||
- match: Host(`heimdall.durp.info`) && PathPrefix(`/`)
|
||||
- match: Host(`heimdall.dev.durp.info`) && PathPrefix(`/`)
|
||||
middlewares:
|
||||
- name: authentik-proxy-provider
|
||||
namespace: traefik
|
||||
@@ -15,7 +15,7 @@ spec:
|
||||
services:
|
||||
- name: heimdall
|
||||
port: 80
|
||||
- match: Host(`heimdall.durp.info`) && PathPrefix(`/outpost.goauthentik.io`)
|
||||
- match: Host(`heimdall.dev.durp.info`) && PathPrefix(`/outpost.goauthentik.io`)
|
||||
kind: Rule
|
||||
services:
|
||||
- name: ak-outpost-authentik-embedded-outpost
|
||||
@@ -35,9 +35,9 @@ spec:
|
||||
issuerRef:
|
||||
name: letsencrypt-production
|
||||
kind: ClusterIssuer
|
||||
commonName: "heimdall.durp.info"
|
||||
commonName: "heimdall.dev.durp.info"
|
||||
dnsNames:
|
||||
- "heimdall.durp.info"
|
||||
- "heimdall.dev.durp.info"
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -1,70 +0,0 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: duplicati
|
||||
spec:
|
||||
ports:
|
||||
- name: app
|
||||
port: 8200
|
||||
protocol: TCP
|
||||
targetPort: 8200
|
||||
clusterIP: None
|
||||
type: ClusterIP
|
||||
|
||||
---
|
||||
|
||||
apiVersion: v1
|
||||
kind: Endpoints
|
||||
metadata:
|
||||
name: duplicati
|
||||
subsets:
|
||||
- addresses:
|
||||
- ip: 192.168.20.253
|
||||
ports:
|
||||
- name: app
|
||||
port: 8200
|
||||
protocol: TCP
|
||||
|
||||
---
|
||||
|
||||
apiVersion: traefik.containo.us/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: duplicati-ingress
|
||||
spec:
|
||||
entryPoints:
|
||||
- websecure
|
||||
routes:
|
||||
- match: Host(`duplicati.internal.durp.info`) && PathPrefix(`/`)
|
||||
middlewares:
|
||||
- name: whitelist
|
||||
namespace: traefik
|
||||
- name: authentik-proxy-provider
|
||||
namespace: traefik
|
||||
kind: Rule
|
||||
services:
|
||||
- name: duplicati
|
||||
port: 8200
|
||||
- match: Host(`duplicati.internal.durp.info`) && PathPrefix(`/outpost.goauthentik.io`)
|
||||
kind: Rule
|
||||
services:
|
||||
- name: ak-outpost-authentik-embedded-outpost
|
||||
namespace: authentik
|
||||
port: 9000
|
||||
tls:
|
||||
secretName: duplicati-tls
|
||||
|
||||
---
|
||||
|
||||
apiVersion: cert-manager.io/v1
|
||||
kind: Certificate
|
||||
metadata:
|
||||
name: duplicati-tls
|
||||
spec:
|
||||
secretName: duplicati-tls
|
||||
issuerRef:
|
||||
name: letsencrypt-production
|
||||
kind: ClusterIssuer
|
||||
commonName: "duplicati.internal.durp.info"
|
||||
dnsNames:
|
||||
- "duplicati.internal.durp.info"
|
||||
@@ -1,9 +0,0 @@
|
||||
kind: Service
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: gitea-external-dns
|
||||
annotations:
|
||||
external-dns.alpha.kubernetes.io/hostname: gitea.durp.info
|
||||
spec:
|
||||
type: ExternalName
|
||||
externalName: durp.info
|
||||
@@ -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,9 +0,0 @@
|
||||
kind: Service
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: jellyfin-external-dns
|
||||
annotations:
|
||||
external-dns.alpha.kubernetes.io/hostname: jellyfin.durp.info
|
||||
spec:
|
||||
type: ExternalName
|
||||
externalName: durp.info
|
||||
@@ -1,9 +0,0 @@
|
||||
kind: Service
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: kasm-external-dns
|
||||
annotations:
|
||||
external-dns.alpha.kubernetes.io/hostname: kasm.durp.info
|
||||
spec:
|
||||
type: ExternalName
|
||||
externalName: durp.info
|
||||
@@ -1,71 +0,0 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: nexus
|
||||
spec:
|
||||
ports:
|
||||
- name: app
|
||||
port: 8081
|
||||
protocol: TCP
|
||||
targetPort: 8081
|
||||
clusterIP: None
|
||||
type: ClusterIP
|
||||
|
||||
---
|
||||
|
||||
apiVersion: v1
|
||||
kind: Endpoints
|
||||
metadata:
|
||||
name: nexus
|
||||
subsets:
|
||||
- addresses:
|
||||
- ip: 192.168.20.253
|
||||
ports:
|
||||
- name: app
|
||||
port: 8081
|
||||
protocol: TCP
|
||||
|
||||
---
|
||||
|
||||
apiVersion: traefik.containo.us/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: nexus-ingress
|
||||
spec:
|
||||
entryPoints:
|
||||
- websecure
|
||||
routes:
|
||||
- match: Host(`nexus.durp.info`) && PathPrefix(`/`)
|
||||
kind: Rule
|
||||
services:
|
||||
- name: nexus
|
||||
port: 8081
|
||||
tls:
|
||||
secretName: nexus-tls
|
||||
|
||||
---
|
||||
|
||||
apiVersion: cert-manager.io/v1
|
||||
kind: Certificate
|
||||
metadata:
|
||||
name: nexus-tls
|
||||
spec:
|
||||
secretName: nexus-tls
|
||||
issuerRef:
|
||||
name: letsencrypt-production
|
||||
kind: ClusterIssuer
|
||||
commonName: "nexus.durp.info"
|
||||
dnsNames:
|
||||
- "nexus.durp.info"
|
||||
|
||||
---
|
||||
|
||||
kind: Service
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: nexus-external-dns
|
||||
annotations:
|
||||
external-dns.alpha.kubernetes.io/hostname: nexus.durp.info
|
||||
spec:
|
||||
type: ExternalName
|
||||
externalName: durp.info
|
||||
@@ -1,9 +0,0 @@
|
||||
kind: Service
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: plex-external-dns
|
||||
annotations:
|
||||
external-dns.alpha.kubernetes.io/hostname: plex.durp.info
|
||||
spec:
|
||||
type: ExternalName
|
||||
externalName: durp.info
|
||||
@@ -1,59 +0,0 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: registry-internal
|
||||
spec:
|
||||
ports:
|
||||
- name: app
|
||||
port: 5001
|
||||
protocol: TCP
|
||||
targetPort: 5001
|
||||
clusterIP: None
|
||||
type: ClusterIP
|
||||
|
||||
---
|
||||
|
||||
apiVersion: v1
|
||||
kind: Endpoints
|
||||
metadata:
|
||||
name: registry-internal
|
||||
subsets:
|
||||
- addresses:
|
||||
- ip: 192.168.20.253
|
||||
ports:
|
||||
- name: app
|
||||
port: 5001
|
||||
protocol: TCP
|
||||
|
||||
---
|
||||
|
||||
apiVersion: traefik.containo.us/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: registry-internal-ingress
|
||||
spec:
|
||||
entryPoints:
|
||||
- websecure
|
||||
routes:
|
||||
- match: Host(`registry.internal.durp.info`) && PathPrefix(`/`)
|
||||
kind: Rule
|
||||
services:
|
||||
- name: registry-internal
|
||||
port: 5001
|
||||
tls:
|
||||
secretName: registry-tls
|
||||
|
||||
---
|
||||
|
||||
apiVersion: cert-manager.io/v1
|
||||
kind: Certificate
|
||||
metadata:
|
||||
name: registry-internal-tls
|
||||
spec:
|
||||
secretName: registry-internal-tls
|
||||
issuerRef:
|
||||
name: letsencrypt-production
|
||||
kind: ClusterIssuer
|
||||
commonName: "registry.durp.info"
|
||||
dnsNames:
|
||||
- "registry.durp.info"
|
||||
@@ -1,71 +0,0 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: registry
|
||||
spec:
|
||||
ports:
|
||||
- name: app
|
||||
port: 5000
|
||||
protocol: TCP
|
||||
targetPort: 5000
|
||||
clusterIP: None
|
||||
type: ClusterIP
|
||||
|
||||
---
|
||||
|
||||
apiVersion: v1
|
||||
kind: Endpoints
|
||||
metadata:
|
||||
name: registry
|
||||
subsets:
|
||||
- addresses:
|
||||
- ip: 192.168.20.253
|
||||
ports:
|
||||
- name: app
|
||||
port: 5000
|
||||
protocol: TCP
|
||||
|
||||
---
|
||||
|
||||
apiVersion: traefik.containo.us/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: registry-ingress
|
||||
spec:
|
||||
entryPoints:
|
||||
- websecure
|
||||
routes:
|
||||
- match: Host(`registry.durp.info`) && PathPrefix(`/`)
|
||||
kind: Rule
|
||||
services:
|
||||
- name: registry
|
||||
port: 5000
|
||||
tls:
|
||||
secretName: registry-tls
|
||||
|
||||
---
|
||||
|
||||
apiVersion: cert-manager.io/v1
|
||||
kind: Certificate
|
||||
metadata:
|
||||
name: registry-tls
|
||||
spec:
|
||||
secretName: registry-tls
|
||||
issuerRef:
|
||||
name: letsencrypt-production
|
||||
kind: ClusterIssuer
|
||||
commonName: "registry.durp.info"
|
||||
dnsNames:
|
||||
- "registry.durp.info"
|
||||
|
||||
---
|
||||
|
||||
kind: Service
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: registry-external-dns
|
||||
annotations:
|
||||
external-dns.alpha.kubernetes.io/hostname: registry.durp.info
|
||||
spec:
|
||||
type: ExternalName
|
||||
externalName: durp.info
|
||||
@@ -1,82 +0,0 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: smokeping
|
||||
spec:
|
||||
ports:
|
||||
- name: app
|
||||
port: 81
|
||||
protocol: TCP
|
||||
targetPort: 81
|
||||
clusterIP: None
|
||||
type: ClusterIP
|
||||
|
||||
---
|
||||
|
||||
apiVersion: v1
|
||||
kind: Endpoints
|
||||
metadata:
|
||||
name: smokeping
|
||||
subsets:
|
||||
- addresses:
|
||||
- ip: 192.168.20.253
|
||||
ports:
|
||||
- name: app
|
||||
port: 81
|
||||
protocol: TCP
|
||||
|
||||
---
|
||||
|
||||
apiVersion: traefik.containo.us/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: smokeping-ingress
|
||||
spec:
|
||||
entryPoints:
|
||||
- websecure
|
||||
routes:
|
||||
- match: Host(`smokeping.durp.info`) && PathPrefix(`/`)
|
||||
middlewares:
|
||||
- name: whitelist
|
||||
namespace: traefik
|
||||
- name: authentik-proxy-provider
|
||||
namespace: traefik
|
||||
kind: Rule
|
||||
services:
|
||||
- name: smokeping
|
||||
port: 81
|
||||
- match: Host(`smokeping.durp.info`) && PathPrefix(`/outpost.goauthentik.io`)
|
||||
kind: Rule
|
||||
services:
|
||||
- name: ak-outpost-authentik-embedded-outpost
|
||||
namespace: authentik
|
||||
port: 9000
|
||||
tls:
|
||||
secretName: smokeping-tls
|
||||
|
||||
---
|
||||
|
||||
apiVersion: cert-manager.io/v1
|
||||
kind: Certificate
|
||||
metadata:
|
||||
name: smokeping-tls
|
||||
spec:
|
||||
secretName: smokeping-tls
|
||||
issuerRef:
|
||||
name: letsencrypt-production
|
||||
kind: ClusterIssuer
|
||||
commonName: "smokeping.durp.info"
|
||||
dnsNames:
|
||||
- "smokeping.durp.info"
|
||||
|
||||
---
|
||||
|
||||
kind: Service
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: smokeping-external-dns
|
||||
annotations:
|
||||
external-dns.alpha.kubernetes.io/hostname: smokeping.durp.info
|
||||
spec:
|
||||
type: ExternalName
|
||||
externalName: durp.info
|
||||
@@ -1,74 +0,0 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: speedtest
|
||||
spec:
|
||||
ports:
|
||||
- name: app
|
||||
port: 6580
|
||||
protocol: TCP
|
||||
targetPort: 6580
|
||||
clusterIP: None
|
||||
type: ClusterIP
|
||||
|
||||
---
|
||||
|
||||
apiVersion: v1
|
||||
kind: Endpoints
|
||||
metadata:
|
||||
name: speedtest
|
||||
subsets:
|
||||
- addresses:
|
||||
- ip: 192.168.20.253
|
||||
ports:
|
||||
- name: app
|
||||
port: 6580
|
||||
protocol: TCP
|
||||
|
||||
---
|
||||
|
||||
apiVersion: traefik.containo.us/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: speedtest-ingress
|
||||
spec:
|
||||
entryPoints:
|
||||
- websecure
|
||||
routes:
|
||||
- match: Host(`speedtest.durp.info`) && PathPrefix(`/`)
|
||||
kind: Rule
|
||||
middlewares:
|
||||
- name: authentik-proxy-provider
|
||||
namespace: traefik
|
||||
services:
|
||||
- name: speedtest
|
||||
port: 6580
|
||||
tls:
|
||||
secretName: speedtest-tls
|
||||
|
||||
---
|
||||
|
||||
apiVersion: cert-manager.io/v1
|
||||
kind: Certificate
|
||||
metadata:
|
||||
name: speedtest-tls
|
||||
spec:
|
||||
secretName: speedtest-tls
|
||||
issuerRef:
|
||||
name: letsencrypt-production
|
||||
kind: ClusterIssuer
|
||||
commonName: "speedtest.durp.info"
|
||||
dnsNames:
|
||||
- "speedtest.durp.info"
|
||||
|
||||
---
|
||||
|
||||
kind: Service
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: speedtest-external-dns
|
||||
annotations:
|
||||
external-dns.alpha.kubernetes.io/hostname: speedtest.durp.info
|
||||
spec:
|
||||
type: ExternalName
|
||||
externalName: durp.info
|
||||
@@ -1,67 +0,0 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: tdarr
|
||||
spec:
|
||||
ports:
|
||||
- name: app
|
||||
port: 8267
|
||||
protocol: TCP
|
||||
targetPort: 8267
|
||||
clusterIP: None
|
||||
type: ClusterIP
|
||||
|
||||
---
|
||||
|
||||
apiVersion: v1
|
||||
kind: Endpoints
|
||||
metadata:
|
||||
name: tdarr
|
||||
subsets:
|
||||
- addresses:
|
||||
- ip: 192.168.20.253
|
||||
ports:
|
||||
- name: app
|
||||
port: 8267
|
||||
protocol: TCP
|
||||
|
||||
---
|
||||
|
||||
apiVersion: traefik.containo.us/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: tdarr-ingress
|
||||
annotations:
|
||||
cert-manager.io/cluster-issuer: letsencrypt-production
|
||||
spec:
|
||||
entryPoints:
|
||||
- websecure
|
||||
routes:
|
||||
- match: Host(`tdarr.internal.durp.info`)
|
||||
middlewares:
|
||||
- name: whitelist
|
||||
namespace: traefik
|
||||
- name: authentik-proxy-provider
|
||||
namespace: traefik
|
||||
kind: Rule
|
||||
services:
|
||||
- name: tdarr
|
||||
port: 8267
|
||||
scheme: http
|
||||
tls:
|
||||
secretName: tdarr-tls
|
||||
|
||||
---
|
||||
|
||||
apiVersion: cert-manager.io/v1
|
||||
kind: Certificate
|
||||
metadata:
|
||||
name: tdarr-tls
|
||||
spec:
|
||||
secretName: tdarr-tls
|
||||
issuerRef:
|
||||
name: letsencrypt-production
|
||||
kind: ClusterIssuer
|
||||
commonName: "tdarr.internal.durp.info"
|
||||
dnsNames:
|
||||
- "tdarr.internal.durp.info"
|
||||
@@ -7,9 +7,9 @@ spec:
|
||||
issuerRef:
|
||||
name: letsencrypt-production
|
||||
kind: ClusterIssuer
|
||||
commonName: "api.durp.info"
|
||||
commonName: "api.dev.durp.info"
|
||||
dnsNames:
|
||||
- "api.durp.info"
|
||||
- "api.dev.durp.info"
|
||||
|
||||
---
|
||||
|
||||
@@ -21,7 +21,7 @@ spec:
|
||||
entryPoints:
|
||||
- websecure
|
||||
routes:
|
||||
- match: Host(`api.durp.info`) && PathPrefix(`/`)
|
||||
- match: Host(`api.dev.durp.info`) && PathPrefix(`/`)
|
||||
kind: Rule
|
||||
services:
|
||||
- name: krakend-service
|
||||
@@ -37,10 +37,10 @@ apiVersion: v1
|
||||
metadata:
|
||||
name: api-external-dns
|
||||
annotations:
|
||||
external-dns.alpha.kubernetes.io/hostname: api.durp.info
|
||||
external-dns.alpha.kubernetes.io/hostname: api.dev.durp.info
|
||||
spec:
|
||||
type: ExternalName
|
||||
externalName: durp.info
|
||||
externalName: dev.durp.info
|
||||
|
||||
---
|
||||
|
||||
@@ -49,7 +49,7 @@ apiVersion: v1
|
||||
metadata:
|
||||
name: api-developer-dns
|
||||
annotations:
|
||||
external-dns.alpha.kubernetes.io/hostname: developer.durp.info
|
||||
external-dns.alpha.kubernetes.io/hostname: developer.dev.durp.info
|
||||
external-dns.alpha.kubernetes.io/cloudflare-proxied: "false"
|
||||
spec:
|
||||
type: ExternalName
|
||||
|
||||
@@ -6,7 +6,7 @@ spec:
|
||||
entryPoints:
|
||||
- websecure
|
||||
routes:
|
||||
- match: Host(`grafana.durp.info`) && PathPrefix(`/`)
|
||||
- match: Host(`grafana.dev.durp.info`) && PathPrefix(`/`)
|
||||
kind: Rule
|
||||
services:
|
||||
- name: grafana
|
||||
@@ -25,9 +25,9 @@ spec:
|
||||
issuerRef:
|
||||
name: letsencrypt-production
|
||||
kind: ClusterIssuer
|
||||
commonName: "grafana.durp.info"
|
||||
commonName: "grafana.dev.durp.info"
|
||||
dnsNames:
|
||||
- "grafana.durp.info"
|
||||
- "grafana.dev.durp.info"
|
||||
|
||||
---
|
||||
|
||||
@@ -39,7 +39,7 @@ spec:
|
||||
entryPoints:
|
||||
- websecure
|
||||
routes:
|
||||
- match: Host(`alertmanager.durp.info`) && PathPrefix(`/`)
|
||||
- match: Host(`alertmanager.dev.durp.info`) && PathPrefix(`/`)
|
||||
middlewares:
|
||||
- name: whitelist
|
||||
namespace: traefik
|
||||
@@ -63,9 +63,9 @@ spec:
|
||||
issuerRef:
|
||||
name: letsencrypt-production
|
||||
kind: ClusterIssuer
|
||||
commonName: "alertmanager.durp.info"
|
||||
commonName: "alertmanager.dev.durp.info"
|
||||
dnsNames:
|
||||
- "alertmanager.durp.info"
|
||||
- "alertmanager.dev.durp.info"
|
||||
|
||||
---
|
||||
|
||||
@@ -74,7 +74,7 @@ apiVersion: v1
|
||||
metadata:
|
||||
name: grafana-external-dns
|
||||
annotations:
|
||||
external-dns.alpha.kubernetes.io/hostname: grafana.durp.info
|
||||
external-dns.alpha.kubernetes.io/hostname: grafana.dev.durp.info
|
||||
spec:
|
||||
type: ExternalName
|
||||
externalName: durp.info
|
||||
externalName: dev.durp.info
|
||||
|
||||
@@ -6,7 +6,7 @@ spec:
|
||||
entryPoints:
|
||||
- websecure
|
||||
routes:
|
||||
- match: Host(`kubeclarity.durp.info`) && PathPrefix(`/`)
|
||||
- match: Host(`kubeclarity.dev.durp.info`) && PathPrefix(`/`)
|
||||
middlewares:
|
||||
- name: whitelist
|
||||
namespace: traefik
|
||||
@@ -30,9 +30,9 @@ spec:
|
||||
issuerRef:
|
||||
name: letsencrypt-production
|
||||
kind: ClusterIssuer
|
||||
commonName: "kubeclarity.durp.info"
|
||||
commonName: "kubeclarity.dev.durp.info"
|
||||
dnsNames:
|
||||
- "kubeclarity.durp.info"
|
||||
- "kubeclarity.dev.durp.info"
|
||||
|
||||
---
|
||||
|
||||
@@ -41,7 +41,7 @@ apiVersion: v1
|
||||
metadata:
|
||||
name: kubeclarity-external-dns
|
||||
annotations:
|
||||
external-dns.alpha.kubernetes.io/hostname: kubeclarity.durp.info
|
||||
external-dns.alpha.kubernetes.io/hostname: kubeclarity.dev.durp.info
|
||||
spec:
|
||||
type: ExternalName
|
||||
externalName: durp.info
|
||||
externalName: dev.durp.info
|
||||
|
||||
@@ -6,7 +6,7 @@ spec:
|
||||
entryPoints:
|
||||
- websecure
|
||||
routes:
|
||||
- match: Host(`links.durp.info`) && PathPrefix(`/`)
|
||||
- match: Host(`links.dev.durp.info`) && PathPrefix(`/`)
|
||||
kind: Rule
|
||||
services:
|
||||
- name: littlelink
|
||||
@@ -25,9 +25,9 @@ spec:
|
||||
issuerRef:
|
||||
name: letsencrypt-production
|
||||
kind: ClusterIssuer
|
||||
commonName: "links.durp.info"
|
||||
commonName: "links.dev.durp.info"
|
||||
dnsNames:
|
||||
- "links.durp.info"
|
||||
- "links.dev.durp.info"
|
||||
|
||||
---
|
||||
|
||||
@@ -36,7 +36,8 @@ apiVersion: v1
|
||||
metadata:
|
||||
name: links-external-dns
|
||||
annotations:
|
||||
external-dns.alpha.kubernetes.io/hostname: links.durp.info
|
||||
external-dns.alpha.kubernetes.io/hostname: links.dev.durp.info
|
||||
spec:
|
||||
type: ExternalName
|
||||
externalName: durp.info
|
||||
externalName: dev.durp.info
|
||||
|
||||
|
||||
@@ -9,4 +9,4 @@ appVersion: "1.16.0"
|
||||
dependencies:
|
||||
- name: longhorn
|
||||
repository: https://charts.longhorn.io
|
||||
version: 1.3.2
|
||||
version: 1.7.0
|
||||
|
||||
@@ -6,17 +6,17 @@ spec:
|
||||
entryPoints:
|
||||
- websecure
|
||||
routes:
|
||||
- match: Host(`longhorn.internal.durp.info`) && PathPrefix(`/`)
|
||||
- match: Host(`longhorn.internal.dev.durp.info`) && PathPrefix(`/`)
|
||||
middlewares:
|
||||
- name: whitelist
|
||||
namespace: traefik
|
||||
- name: authentik-proxy-provider
|
||||
namespace: traefik
|
||||
#- name: authentik-proxy-provider
|
||||
# namespace: traefik
|
||||
kind: Rule
|
||||
services:
|
||||
- name: longhorn-frontend
|
||||
port: 80
|
||||
- match: Host(`longhorn.internal.durp.info`) && PathPrefix(`/outpost.goauthentik.io`)
|
||||
- match: Host(`longhorn.internal.dev.durp.info`) && PathPrefix(`/outpost.goauthentik.io`)
|
||||
kind: Rule
|
||||
services:
|
||||
- name: ak-outpost-authentik-embedded-outpost
|
||||
@@ -36,6 +36,6 @@ spec:
|
||||
issuerRef:
|
||||
name: letsencrypt-production
|
||||
kind: ClusterIssuer
|
||||
commonName: "longhorn.internal.durp.info"
|
||||
commonName: "longhorn.internal.dev.durp.info"
|
||||
dnsNames:
|
||||
- "longhorn.internal.durp.info"
|
||||
- "longhorn.internal.dev.durp.info"
|
||||
|
||||
@@ -8,7 +8,7 @@ spec:
|
||||
name: vault
|
||||
kind: ClusterSecretStore
|
||||
target:
|
||||
name: longhorn-backup-token-secret
|
||||
name: longhorn-backup-token-secret2
|
||||
data:
|
||||
- secretKey: AWS_ACCESS_KEY_ID
|
||||
remoteRef:
|
||||
|
||||
@@ -47,7 +47,7 @@ longhorn:
|
||||
persistence:
|
||||
defaultClass: true
|
||||
defaultFsType: ext4
|
||||
defaultClassReplicaCount: 3
|
||||
defaultClassReplicaCount: 1
|
||||
defaultDataLocality: disabled # best-effort otherwise
|
||||
reclaimPolicy: Retain
|
||||
migratable: false
|
||||
@@ -76,8 +76,8 @@ longhorn:
|
||||
snapshotterReplicaCount: ~
|
||||
|
||||
defaultSettings:
|
||||
backupTarget: S3://longhorn@us-east-1/
|
||||
backupTargetCredentialSecret: longhorn-backup-token-secret
|
||||
backupTarget: S3://longhorn-dev@us-east-1/
|
||||
backupTargetCredentialSecret: longhorn-backup-token-secret2
|
||||
allowRecurringJobWhileVolumeDetached: ~
|
||||
createDefaultDiskLabeledNodes: ~
|
||||
defaultDataPath: ~
|
||||
@@ -238,7 +238,7 @@ longhorn:
|
||||
# certificate:
|
||||
|
||||
# Configure a pod security policy in the Longhorn namespace to allow privileged pods
|
||||
enablePSP: true
|
||||
enablePSP: false
|
||||
|
||||
## Specify override namespace, specifically this is useful for using longhorn as sub-chart
|
||||
## and its release namespace is not the `longhorn-system`
|
||||
|
||||
12
metallb-system/Chart.yaml
Normal file
12
metallb-system/Chart.yaml
Normal file
@@ -0,0 +1,12 @@
|
||||
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
|
||||
16
metallb-system/templates/config.yaml
Normal file
16
metallb-system/templates/config.yaml
Normal file
@@ -0,0 +1,16 @@
|
||||
apiVersion: metallb.io/v1beta1
|
||||
kind: IPAddressPool
|
||||
metadata:
|
||||
name: cheap
|
||||
spec:
|
||||
addresses:
|
||||
- 192.168.10.110-192.168.10.120
|
||||
---
|
||||
apiVersion: metallb.io/v1beta1
|
||||
kind: L2Advertisement
|
||||
metadata:
|
||||
name: pool
|
||||
namespace: metallb-system
|
||||
spec:
|
||||
ipAddressPools:
|
||||
- cheap
|
||||
196
metallb-system/values.yaml
Normal file
196
metallb-system/values.yaml
Normal file
@@ -0,0 +1,196 @@
|
||||
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
|
||||
@@ -34,9 +34,9 @@ spec:
|
||||
- name: NFS_SERVER
|
||||
value: 192.168.20.253
|
||||
- name: NFS_PATH
|
||||
value: /mnt/user/k3s
|
||||
value: /mnt/user/k3s-dev
|
||||
volumes:
|
||||
- name: nfs-client-ssd
|
||||
nfs:
|
||||
server: 192.168.20.253
|
||||
path: /mnt/user/k3s
|
||||
path: /mnt/user/k3s-dev
|
||||
|
||||
@@ -6,7 +6,7 @@ spec:
|
||||
entryPoints:
|
||||
- websecure
|
||||
routes:
|
||||
- match: Host(`open-webui.durp.info`) && PathPrefix(`/`)
|
||||
- match: Host(`open-webui.dev.durp.info`) && PathPrefix(`/`)
|
||||
kind: Rule
|
||||
services:
|
||||
- name: open-webui
|
||||
@@ -25,9 +25,9 @@ spec:
|
||||
issuerRef:
|
||||
name: letsencrypt-production
|
||||
kind: ClusterIssuer
|
||||
commonName: "open-webui.durp.info"
|
||||
commonName: "open-webui.dev.durp.info"
|
||||
dnsNames:
|
||||
- "open-webui.durp.info"
|
||||
- "open-webui.dev.durp.info"
|
||||
|
||||
---
|
||||
|
||||
@@ -36,7 +36,7 @@ apiVersion: v1
|
||||
metadata:
|
||||
name: open-webui-external-dns
|
||||
annotations:
|
||||
external-dns.alpha.kubernetes.io/hostname: open-webui.durp.info
|
||||
external-dns.alpha.kubernetes.io/hostname: open-webui.dev.durp.info
|
||||
spec:
|
||||
type: ExternalName
|
||||
externalName: durp.info
|
||||
externalName: dev.durp.info
|
||||
|
||||
@@ -6,7 +6,7 @@ spec:
|
||||
entryPoints:
|
||||
- websecure
|
||||
routes:
|
||||
- match: Host(`traefik.internal.durp.info`)
|
||||
- match: Host(`traefik.internal.dev.durp.info`)
|
||||
middlewares:
|
||||
- name: authentik-proxy-provider
|
||||
namespace: traefik
|
||||
@@ -14,7 +14,7 @@ spec:
|
||||
services:
|
||||
- name: api@internal
|
||||
kind: TraefikService
|
||||
- match: Host(`traefik.internal.durp.info`) && PathPrefix(`/outpost.goauthentik.io`)
|
||||
- match: Host(`traefik.internal.dev.durp.info`) && PathPrefix(`/outpost.goauthentik.io`)
|
||||
kind: Rule
|
||||
services:
|
||||
- name: ak-outpost-authentik-embedded-outpost
|
||||
@@ -34,6 +34,6 @@ spec:
|
||||
issuerRef:
|
||||
name: letsencrypt-production
|
||||
kind: ClusterIssuer
|
||||
commonName: "traefik.internal.durp.info"
|
||||
commonName: "traefik.internal.dev.durp.info"
|
||||
dnsNames:
|
||||
- "traefik.internal.durp.info"
|
||||
- "traefik.internal.dev.durp.info"
|
||||
|
||||
8
traefik/templates/middleware-chain.yaml
Normal file
8
traefik/templates/middleware-chain.yaml
Normal file
@@ -0,0 +1,8 @@
|
||||
apiVersion: traefik.containo.us/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: internal-only
|
||||
spec:
|
||||
chain:
|
||||
middlewares:
|
||||
- name: whitelist
|
||||
@@ -26,9 +26,20 @@ apiVersion: traefik.containo.us/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: whitelist
|
||||
namespace: traefik
|
||||
spec:
|
||||
ipWhiteList:
|
||||
sourceRange:
|
||||
- 192.168.20.1/32
|
||||
- 192.168.0.0/16
|
||||
- 10.0.0.0/8
|
||||
|
||||
---
|
||||
|
||||
apiVersion: traefik.containo.us/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: traefik-real-ip
|
||||
spec:
|
||||
plugin:
|
||||
traefik-real-ip:
|
||||
excludednets:
|
||||
- "1.1.1.1/24"
|
||||
|
||||
@@ -502,6 +502,8 @@ traefik:
|
||||
- "--log.level=DEBUG"
|
||||
- --experimental.plugins.jwt.moduleName=github.com/traefik-plugins/traefik-jwt-plugin
|
||||
- --experimental.plugins.jwt.version=v0.7.0
|
||||
- --experimental.plugins.traefik-real-ip.moduleName=github.com/soulbalz/traefik-real-ip
|
||||
- --experimental.plugins.traefik-real-ip.version=v1.0.3
|
||||
|
||||
|
||||
# Environment variables to be passed to Traefik's binary
|
||||
@@ -578,9 +580,10 @@ traefik:
|
||||
redirectTo: websecure
|
||||
#
|
||||
# Trust forwarded headers information (X-Forwarded-*).
|
||||
# forwardedHeaders:
|
||||
# trustedIPs: []
|
||||
# insecure: false
|
||||
forwardedHeaders:
|
||||
trustedIPs:
|
||||
- "192.168.10.1"
|
||||
insecure: false
|
||||
#
|
||||
# Enable the Proxy Protocol header parsing for the entry point
|
||||
# proxyProtocol:
|
||||
@@ -608,9 +611,10 @@ traefik:
|
||||
# advertisedPort: 4443
|
||||
#
|
||||
## Trust forwarded headers information (X-Forwarded-*).
|
||||
#forwardedHeaders:
|
||||
# trustedIPs: []
|
||||
# insecure: false
|
||||
forwardedHeaders:
|
||||
trustedIPs:
|
||||
- "192.168.10.1"
|
||||
insecure: false
|
||||
#
|
||||
## Enable the Proxy Protocol header parsing for the entry point
|
||||
#proxyProtocol:
|
||||
|
||||
@@ -6,7 +6,7 @@ spec:
|
||||
entryPoints:
|
||||
- websecure
|
||||
routes:
|
||||
- match: Host(`kuma.durp.info`) && PathPrefix(`/`)
|
||||
- match: Host(`kuma.dev.durp.info`) && PathPrefix(`/`)
|
||||
middlewares:
|
||||
- name: authentik-proxy-provider
|
||||
namespace: traefik
|
||||
@@ -28,9 +28,9 @@ spec:
|
||||
issuerRef:
|
||||
name: letsencrypt-production
|
||||
kind: ClusterIssuer
|
||||
commonName: "kuma.durp.info"
|
||||
commonName: "kuma.dev.durp.info"
|
||||
dnsNames:
|
||||
- "kuma.durp.info"
|
||||
- "kuma.dev.durp.info"
|
||||
|
||||
---
|
||||
|
||||
@@ -39,7 +39,7 @@ apiVersion: v1
|
||||
metadata:
|
||||
name: heimdall-external-dns
|
||||
annotations:
|
||||
external-dns.alpha.kubernetes.io/hostname: kuma.durp.info
|
||||
external-dns.alpha.kubernetes.io/hostname: kuma.dev.durp.info
|
||||
spec:
|
||||
type: ExternalName
|
||||
externalName: durp.info
|
||||
externalName: dev.durp.info
|
||||
|
||||
@@ -8,7 +8,7 @@ spec:
|
||||
entryPoints:
|
||||
- websecure
|
||||
routes:
|
||||
- match: Host(`vault.internal.durp.info`)
|
||||
- match: Host(`vault.internal.dev.durp.info`)
|
||||
middlewares:
|
||||
- name: whitelist
|
||||
namespace: traefik
|
||||
@@ -31,7 +31,7 @@ spec:
|
||||
issuerRef:
|
||||
name: letsencrypt-production
|
||||
kind: ClusterIssuer
|
||||
commonName: "vault.internal.durp.info"
|
||||
commonName: "vault.internal.dev.durp.info"
|
||||
dnsNames:
|
||||
- "vault.internal.durp.info"
|
||||
- "vault.internal.dev.durp.info"
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ vault:
|
||||
injector:
|
||||
enabled: "-"
|
||||
|
||||
replicas: 3
|
||||
replicas: 2
|
||||
leaderElector:
|
||||
enabled: true
|
||||
|
||||
|
||||
Reference in New Issue
Block a user