Compare commits
	
		
			No commits in common. "a21062327d2ed8c16b0793ea5cf364068c2d00b7" and "52d28702fe8a71032e27fdbfa12f1f867c84ca2d" have entirely different histories.
		
	
	
		
			a21062327d
			...
			52d28702fe
		
	
		
					 45 changed files with 27 additions and 464 deletions
				
			
		| 
						 | 
					@ -1,30 +0,0 @@
 | 
				
			||||||
#!/bin/bash
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Parse command line arguments
 | 
					 | 
				
			||||||
RECREATE=false
 | 
					 | 
				
			||||||
for arg in "$@"; do
 | 
					 | 
				
			||||||
  case $arg in
 | 
					 | 
				
			||||||
    --recreate)
 | 
					 | 
				
			||||||
      RECREATE=true
 | 
					 | 
				
			||||||
      shift
 | 
					 | 
				
			||||||
      ;;
 | 
					 | 
				
			||||||
  esac
 | 
					 | 
				
			||||||
done
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Check if the secret already exists
 | 
					 | 
				
			||||||
SECRET_EXISTS=$(kubectl get secret universal-auth-credentials -n infisical --ignore-not-found -o name)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
if [[ -n "$SECRET_EXISTS" && "$RECREATE" == "true" ]]; then
 | 
					 | 
				
			||||||
  echo "Recreating Infisical bootstrap secret..."
 | 
					 | 
				
			||||||
  kubectl delete secret universal-auth-credentials -n infisical
 | 
					 | 
				
			||||||
  kubectl create secret generic universal-auth-credentials -n infisical \
 | 
					 | 
				
			||||||
    --from-literal clientId=$(gopass show -o homelab/infisical/id) \
 | 
					 | 
				
			||||||
    --from-literal clientSecret=$(gopass show -o homelab/infisical/secret)
 | 
					 | 
				
			||||||
elif [[ -z "$SECRET_EXISTS" ]]; then
 | 
					 | 
				
			||||||
  echo "Creating Infisical bootstrap secret..."
 | 
					 | 
				
			||||||
  kubectl create secret generic universal-auth-credentials -n infisical \
 | 
					 | 
				
			||||||
    --from-literal clientId=$(gopass show -o homelab/infisical/id) \
 | 
					 | 
				
			||||||
    --from-literal clientSecret=$(gopass show -o homelab/infisical/secret)
 | 
					 | 
				
			||||||
else
 | 
					 | 
				
			||||||
  echo "Infisical bootstrap secret already exists, skipping creation (use --recreate to force)"
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,5 +0,0 @@
 | 
				
			||||||
apiVersion: kustomize.config.k8s.io/v1beta1
 | 
					 | 
				
			||||||
kind: Kustomization
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
resources:
 | 
					 | 
				
			||||||
  - ../../namespaces/infisical/
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,6 +0,0 @@
 | 
				
			||||||
#!/bin/bash
 | 
					 | 
				
			||||||
echo -n "Checking for Infrastructure CRDs... "
 | 
					 | 
				
			||||||
kubectl wait --for condition=established crd/httproutes.gateway.networking.k8s.io > /dev/null
 | 
					 | 
				
			||||||
kubectl wait --for condition=established crd/volumes.longhorn.io > /dev/null
 | 
					 | 
				
			||||||
kubectl wait --for condition=established crd/certificates.cert-manager.io > /dev/null
 | 
					 | 
				
			||||||
echo "done"
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,8 +0,0 @@
 | 
				
			||||||
apiVersion: kustomize.config.k8s.io/v1beta1
 | 
					 | 
				
			||||||
kind: Kustomization
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
resources:
 | 
					 | 
				
			||||||
  - ../../namespaces/cert-manager/
 | 
					 | 
				
			||||||
  - ../../namespaces/homelab/
 | 
					 | 
				
			||||||
  - ../../namespaces/longhorn/
 | 
					 | 
				
			||||||
  - ../../namespaces/traefik/
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,5 +0,0 @@
 | 
				
			||||||
apiVersion: kustomize.config.k8s.io/v1beta1
 | 
					 | 
				
			||||||
kind: Kustomization
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
resources:
 | 
					 | 
				
			||||||
  - ../../namespaces/
 | 
					 | 
				
			||||||
							
								
								
									
										43
									
								
								justfile
									
										
									
									
									
								
							
							
						
						
									
										43
									
								
								justfile
									
										
									
									
									
								
							| 
						 | 
					@ -1,43 +0,0 @@
 | 
				
			||||||
set export := true
 | 
					 | 
				
			||||||
verbose := "false"
 | 
					 | 
				
			||||||
diff := "kubectl diff -k"
 | 
					 | 
				
			||||||
apply := "kubectl apply -k"
 | 
					 | 
				
			||||||
redirect := if verbose == "true" { "" } else { "> /dev/null" }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
default:
 | 
					 | 
				
			||||||
    @just --list
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
infisical_bootstrap_secret recreate="":
 | 
					 | 
				
			||||||
    @echo "-- Adding Infisical Bootstrap secret --"
 | 
					 | 
				
			||||||
    @./deploy/00-infisical.sh {{ recreate }}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
_diff_infisical:
 | 
					 | 
				
			||||||
    @echo "-- Diffing Infisical resources --"
 | 
					 | 
				
			||||||
    @{{ diff }} deploy/00-infisical || [ $? -eq 1 ]
 | 
					 | 
				
			||||||
_diff_infra:
 | 
					 | 
				
			||||||
    @echo "-- Diffing Infra resources --"
 | 
					 | 
				
			||||||
    @{{ diff }} deploy/01-infra || [ $? -eq 1 ]
 | 
					 | 
				
			||||||
_diff_apps:
 | 
					 | 
				
			||||||
    @echo "-- Diffing Apps --"
 | 
					 | 
				
			||||||
    @{{ diff }} deploy/10-apps || [ $? -eq 1 ]
 | 
					 | 
				
			||||||
    # @./deploy/10-apps.sh
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
_apply_infisical:
 | 
					 | 
				
			||||||
    @echo "-- Applying Infisical resources --"
 | 
					 | 
				
			||||||
    @{{ apply }} deploy/00-infisical {{ redirect }}
 | 
					 | 
				
			||||||
_apply_infra:
 | 
					 | 
				
			||||||
    @echo "-- Applying Infra resources --"
 | 
					 | 
				
			||||||
    @{{ apply }} deploy/01-infra {{ redirect }}
 | 
					 | 
				
			||||||
    @./deploy/01-infra.sh
 | 
					 | 
				
			||||||
_apply_apps:
 | 
					 | 
				
			||||||
    @echo "-- Applying Apps --"
 | 
					 | 
				
			||||||
    @{{ apply }} deploy/10-apps {{ redirect }}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
_apply_post: _apply_infra _apply_apps
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
diff: _diff_infisical _diff_infra _diff_apps
 | 
					 | 
				
			||||||
apply: _apply_infisical _apply_post
 | 
					 | 
				
			||||||
_deploy recreate="": _apply_infisical (infisical_bootstrap_secret recreate) _apply_post
 | 
					 | 
				
			||||||
deploy: _deploy
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
redeploy: (_deploy "--recreate")
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,8 +0,0 @@
 | 
				
			||||||
apiVersion: kustomize.config.k8s.io/v1beta1
 | 
					 | 
				
			||||||
kind: Kustomization
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
resources:
 | 
					 | 
				
			||||||
  - namespace.yaml
 | 
					 | 
				
			||||||
  - ollama/
 | 
					 | 
				
			||||||
  - tabby/
 | 
					 | 
				
			||||||
  - openwebui/
 | 
					 | 
				
			||||||
| 
						 | 
					@ -59,7 +59,7 @@ spec:
 | 
				
			||||||
      - name: RAG_OLLAMA_BASE_URL
 | 
					      - name: RAG_OLLAMA_BASE_URL
 | 
				
			||||||
        value: "https://ollama.leechpepin.com:11434"
 | 
					        value: "https://ollama.leechpepin.com:11434"
 | 
				
			||||||
      - name: TIKA_SERVER_URL
 | 
					      - name: TIKA_SERVER_URL
 | 
				
			||||||
        value: "http://tika-svc.core.svc.cluster.local:9998"
 | 
					        value: "http://tika.apps.svc.cluster.local:9998"
 | 
				
			||||||
      - name: WEBUI_URL
 | 
					      - name: WEBUI_URL
 | 
				
			||||||
        value: "https://owui.leechpepin.com"
 | 
					        value: "https://owui.leechpepin.com"
 | 
				
			||||||
      - name: ENABLE_RAG_WEB_SEARCH
 | 
					      - name: ENABLE_RAG_WEB_SEARCH
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -25,8 +25,7 @@ spec:
 | 
				
			||||||
          envFrom:
 | 
					          envFrom:
 | 
				
			||||||
            - configMapRef:
 | 
					            - configMapRef:
 | 
				
			||||||
                name: atuin-config
 | 
					                name: atuin-config
 | 
				
			||||||
          image: ghcr.io/atuinsh/atuin:18.4.0
 | 
					          image: ghcr.io/atuinsh/atuin:latest
 | 
				
			||||||
          imagePullPolicy: IfNotPresent
 | 
					 | 
				
			||||||
          name: atuin
 | 
					          name: atuin
 | 
				
			||||||
          ports:
 | 
					          ports:
 | 
				
			||||||
            - containerPort: 8888
 | 
					            - containerPort: 8888
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -7,7 +7,7 @@ transformers:
 | 
				
			||||||
    kind: NamespaceTransformer
 | 
					    kind: NamespaceTransformer
 | 
				
			||||||
    metadata:
 | 
					    metadata:
 | 
				
			||||||
      name: notImportantHere
 | 
					      name: notImportantHere
 | 
				
			||||||
      namespace: core
 | 
					      namespace: apps
 | 
				
			||||||
    unsetOnly: true
 | 
					    unsetOnly: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
namePrefix: gotenburg-
 | 
					namePrefix: gotenburg-
 | 
				
			||||||
| 
						 | 
					@ -45,4 +45,4 @@ labels:
 | 
				
			||||||
    pairs:
 | 
					    pairs:
 | 
				
			||||||
      app.kubernetes.io/appName: gotenburg
 | 
					      app.kubernetes.io/appName: gotenburg
 | 
				
			||||||
  - pairs:
 | 
					  - pairs:
 | 
				
			||||||
      app.kubernetes.io/appNamespace: core
 | 
					      app.kubernetes.io/appNamespace: apps
 | 
				
			||||||
| 
						 | 
					@ -1,13 +0,0 @@
 | 
				
			||||||
apiVersion: kustomize.config.k8s.io/v1beta1
 | 
					 | 
				
			||||||
kind: Kustomization
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
resources:
 | 
					 | 
				
			||||||
  - namespace.yaml
 | 
					 | 
				
			||||||
  - smtp-secrets.yaml
 | 
					 | 
				
			||||||
  - atuin/
 | 
					 | 
				
			||||||
  - dolibarr/
 | 
					 | 
				
			||||||
  - forgejo/
 | 
					 | 
				
			||||||
  - linkwarden/
 | 
					 | 
				
			||||||
  - mealie/
 | 
					 | 
				
			||||||
  - paperless/
 | 
					 | 
				
			||||||
  - vaultwarden/
 | 
					 | 
				
			||||||
| 
						 | 
					@ -96,8 +96,8 @@ configMapGenerator:
 | 
				
			||||||
      - PAPERLESS_DBUSER=paperless
 | 
					      - PAPERLESS_DBUSER=paperless
 | 
				
			||||||
      - PAPERLESS_DBNAME=paperlessdb
 | 
					      - PAPERLESS_DBNAME=paperlessdb
 | 
				
			||||||
      - PAPERLESS_TIKA_ENABLED="1"
 | 
					      - PAPERLESS_TIKA_ENABLED="1"
 | 
				
			||||||
      - PAPERLESS_TIKA_ENDPOINT="http://tika-svc.core:9998"
 | 
					      - PAPERLESS_TIKA_ENDPOINT="http://tika-svc.apps:9998"
 | 
				
			||||||
      - PAPERLESS_TIKA_GOTENBURG_ENDPOINT="http://gotenburg-svc.core:3000"
 | 
					      - PAPERLESS_TIKA_GOTENBURG_ENDPOINT="http://gotenburg-svc.apps:3000"
 | 
				
			||||||
      - PAPERLESS_USE_X_FORWARD_HOST="1"
 | 
					      - PAPERLESS_USE_X_FORWARD_HOST="1"
 | 
				
			||||||
      - PAPERLESS_TIME_ZONE="America/New_York"
 | 
					      - PAPERLESS_TIME_ZONE="America/New_York"
 | 
				
			||||||
      - PAPERLESS_URL="https://paperless.leechpepin.com"
 | 
					      - PAPERLESS_URL="https://paperless.leechpepin.com"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -17,8 +17,7 @@ spec:
 | 
				
			||||||
                      - arthur
 | 
					                      - arthur
 | 
				
			||||||
      containers:
 | 
					      containers:
 | 
				
			||||||
        - name: paperless
 | 
					        - name: paperless
 | 
				
			||||||
          image: ghcr.io/paperless-ngx/paperless-ngx:2.14.7
 | 
					          image: ghcr.io/paperless-ngx/paperless-ngx:latest
 | 
				
			||||||
          imagePullPolicy: IfNotPresent
 | 
					 | 
				
			||||||
          volumeMounts:
 | 
					          volumeMounts:
 | 
				
			||||||
            - name: consume-volume
 | 
					            - name: consume-volume
 | 
				
			||||||
              mountPath: /usr/src/paperless/consume
 | 
					              mountPath: /usr/src/paperless/consume
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,7 +1,7 @@
 | 
				
			||||||
apiVersion: secrets.infisical.com/v1alpha1
 | 
					apiVersion: secrets.infisical.com/v1alpha1
 | 
				
			||||||
kind: InfisicalSecret
 | 
					kind: InfisicalSecret
 | 
				
			||||||
metadata:
 | 
					metadata:
 | 
				
			||||||
  name: smtp-secrets-apps
 | 
					  name: smtp-secrets
 | 
				
			||||||
  namespace: infisical
 | 
					  namespace: infisical
 | 
				
			||||||
  labels:
 | 
					  labels:
 | 
				
			||||||
    label-to-be-passed-to-managed-secret: homelab
 | 
					    label-to-be-passed-to-managed-secret: homelab
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -7,7 +7,7 @@ transformers:
 | 
				
			||||||
    kind: NamespaceTransformer
 | 
					    kind: NamespaceTransformer
 | 
				
			||||||
    metadata:
 | 
					    metadata:
 | 
				
			||||||
      name: notImportantHere
 | 
					      name: notImportantHere
 | 
				
			||||||
      namespace: core
 | 
					      namespace: apps
 | 
				
			||||||
    unsetOnly: true
 | 
					    unsetOnly: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
namePrefix: tika-
 | 
					namePrefix: tika-
 | 
				
			||||||
| 
						 | 
					@ -45,4 +45,4 @@ labels:
 | 
				
			||||||
    pairs:
 | 
					    pairs:
 | 
				
			||||||
      app.kubernetes.io/appName: tika
 | 
					      app.kubernetes.io/appName: tika
 | 
				
			||||||
  - pairs:
 | 
					  - pairs:
 | 
				
			||||||
      app.kubernetes.io/appNamespace: core
 | 
					      app.kubernetes.io/appNamespace: apps
 | 
				
			||||||
| 
						 | 
					@ -7,7 +7,7 @@ spec:
 | 
				
			||||||
    spec:
 | 
					    spec:
 | 
				
			||||||
      containers:
 | 
					      containers:
 | 
				
			||||||
        - name: tika
 | 
					        - name: tika
 | 
				
			||||||
          image: docker.io/apache/tika:3.1.0.0
 | 
					          image: docker.io/apache/tika:latest
 | 
				
			||||||
          imagePullPolicy: IfNotPresent
 | 
					          imagePullPolicy: IfNotPresent
 | 
				
			||||||
          ports:
 | 
					          ports:
 | 
				
			||||||
            - containerPort: 9998
 | 
					            - containerPort: 9998
 | 
				
			||||||
| 
						 | 
					@ -1,112 +0,0 @@
 | 
				
			||||||
apiVersion: kustomize.config.k8s.io/v1beta1
 | 
					 | 
				
			||||||
kind: Kustomization
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
transformers:
 | 
					 | 
				
			||||||
  - |-
 | 
					 | 
				
			||||||
    apiVersion: builtin
 | 
					 | 
				
			||||||
    kind: NamespaceTransformer
 | 
					 | 
				
			||||||
    metadata:
 | 
					 | 
				
			||||||
      name: notImportantHere
 | 
					 | 
				
			||||||
      namespace: auth
 | 
					 | 
				
			||||||
    unsetOnly: true
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
namePrefix: authentik-
 | 
					 | 
				
			||||||
resources:
 | 
					 | 
				
			||||||
  - ../../../kustomize/helmchart
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
patches:
 | 
					 | 
				
			||||||
  - path: patches/chart.yaml
 | 
					 | 
				
			||||||
    target:
 | 
					 | 
				
			||||||
      kind: HelmChart
 | 
					 | 
				
			||||||
      name: chart
 | 
					 | 
				
			||||||
  # - path: patches/httproute.yaml
 | 
					 | 
				
			||||||
  #   target:
 | 
					 | 
				
			||||||
  #     kind: HTTPRoute
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
labels:
 | 
					 | 
				
			||||||
  - includeSelectors: true
 | 
					 | 
				
			||||||
    pairs:
 | 
					 | 
				
			||||||
      app.kubernetes.io/appName: authentik
 | 
					 | 
				
			||||||
  - pairs:
 | 
					 | 
				
			||||||
      app.kubernetes.io/appNamespace: auth
 | 
					 | 
				
			||||||
  - pairs:
 | 
					 | 
				
			||||||
      app.kubernetes.io/chartServiceName: authentik-chart-server
 | 
					 | 
				
			||||||
  - pairs:
 | 
					 | 
				
			||||||
      app.kubernetes.io/routePrefix: auth
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
replacements:
 | 
					 | 
				
			||||||
  # Update secrets
 | 
					 | 
				
			||||||
  - source:
 | 
					 | 
				
			||||||
      kind: HelmChart
 | 
					 | 
				
			||||||
      name: chart
 | 
					 | 
				
			||||||
      fieldPath: metadata.labels.[app.kubernetes.io/appName]
 | 
					 | 
				
			||||||
    targets:
 | 
					 | 
				
			||||||
      - select:
 | 
					 | 
				
			||||||
          kind: InfisicalSecret
 | 
					 | 
				
			||||||
        options:
 | 
					 | 
				
			||||||
          create: true
 | 
					 | 
				
			||||||
          delimiter: "-"
 | 
					 | 
				
			||||||
          index: 0
 | 
					 | 
				
			||||||
        fieldPaths:
 | 
					 | 
				
			||||||
          - spec.managedSecretReference.secretName
 | 
					 | 
				
			||||||
      - select:
 | 
					 | 
				
			||||||
          kind: InfisicalSecret
 | 
					 | 
				
			||||||
        options:
 | 
					 | 
				
			||||||
          create: true
 | 
					 | 
				
			||||||
          delimiter: "/"
 | 
					 | 
				
			||||||
          index: 2
 | 
					 | 
				
			||||||
        fieldPaths:
 | 
					 | 
				
			||||||
          - spec.authentication.universalAuth.secretsScope.secretsPath
 | 
					 | 
				
			||||||
  - source:
 | 
					 | 
				
			||||||
      kind: HelmChart
 | 
					 | 
				
			||||||
      name: chart
 | 
					 | 
				
			||||||
      fieldPath: metadata.labels.[app.kubernetes.io/appNamespace]
 | 
					 | 
				
			||||||
    targets:
 | 
					 | 
				
			||||||
      - select:
 | 
					 | 
				
			||||||
          kind: InfisicalSecret
 | 
					 | 
				
			||||||
        options:
 | 
					 | 
				
			||||||
          create: true
 | 
					 | 
				
			||||||
          delimiter: "/"
 | 
					 | 
				
			||||||
          index: 1
 | 
					 | 
				
			||||||
        fieldPaths:
 | 
					 | 
				
			||||||
          - spec.authentication.universalAuth.secretsScope.secretsPath
 | 
					 | 
				
			||||||
      - select:
 | 
					 | 
				
			||||||
          kind: InfisicalSecret
 | 
					 | 
				
			||||||
        fieldPaths:
 | 
					 | 
				
			||||||
          - spec.managedSecretReference.secretNamespace
 | 
					 | 
				
			||||||
  # HTTPRoute
 | 
					 | 
				
			||||||
  - source:
 | 
					 | 
				
			||||||
      kind: HelmChart
 | 
					 | 
				
			||||||
      name: chart
 | 
					 | 
				
			||||||
      fieldPath: metadata.labels.[app.kubernetes.io/appName]
 | 
					 | 
				
			||||||
    targets:
 | 
					 | 
				
			||||||
      - select:
 | 
					 | 
				
			||||||
          kind: HTTPRoute
 | 
					 | 
				
			||||||
        options:
 | 
					 | 
				
			||||||
          create: true
 | 
					 | 
				
			||||||
          delimiter: "."
 | 
					 | 
				
			||||||
          index: 0
 | 
					 | 
				
			||||||
        fieldPaths:
 | 
					 | 
				
			||||||
          - spec.hostnames.0
 | 
					 | 
				
			||||||
  - source:
 | 
					 | 
				
			||||||
      kind: HelmChart
 | 
					 | 
				
			||||||
      name: chart
 | 
					 | 
				
			||||||
      fieldPath: metadata.labels.[app.kubernetes.io/chartServiceName]
 | 
					 | 
				
			||||||
    targets:
 | 
					 | 
				
			||||||
      - select:
 | 
					 | 
				
			||||||
          kind: HTTPRoute
 | 
					 | 
				
			||||||
        fieldPaths:
 | 
					 | 
				
			||||||
          - spec.rules.0.backendRefs.0.name
 | 
					 | 
				
			||||||
  - source:
 | 
					 | 
				
			||||||
      kind: HTTPRoute
 | 
					 | 
				
			||||||
      name: http
 | 
					 | 
				
			||||||
      fieldPath: metadata.labels.[app.kubernetes.io/routePrefix]
 | 
					 | 
				
			||||||
    targets:
 | 
					 | 
				
			||||||
      - select:
 | 
					 | 
				
			||||||
          kind: HTTPRoute
 | 
					 | 
				
			||||||
        options:
 | 
					 | 
				
			||||||
          create: true
 | 
					 | 
				
			||||||
          delimiter: "."
 | 
					 | 
				
			||||||
          index: 0
 | 
					 | 
				
			||||||
        fieldPaths:
 | 
					 | 
				
			||||||
          - spec.hostnames.0
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,66 +0,0 @@
 | 
				
			||||||
apiVersion: helm.cattle.io/v1
 | 
					 | 
				
			||||||
kind: HelmChart
 | 
					 | 
				
			||||||
metadata:
 | 
					 | 
				
			||||||
  name: chart
 | 
					 | 
				
			||||||
spec:
 | 
					 | 
				
			||||||
  chart: authentik
 | 
					 | 
				
			||||||
  repo: https://charts.goauthentik.io
 | 
					 | 
				
			||||||
  targetNamespace: auth
 | 
					 | 
				
			||||||
  createNamespace: true
 | 
					 | 
				
			||||||
  valuesContent: |-
 | 
					 | 
				
			||||||
    authentik:
 | 
					 | 
				
			||||||
      secret_key: "file:///auth-secrets/SECRET-KEY"
 | 
					 | 
				
			||||||
      postgresql:
 | 
					 | 
				
			||||||
        host: postgres-svc.core.svc.cluster.local
 | 
					 | 
				
			||||||
        port: 5432
 | 
					 | 
				
			||||||
        user: authentik  # Using default directly
 | 
					 | 
				
			||||||
        password: file:///auth-secrets/DB-PASSWORD
 | 
					 | 
				
			||||||
        database: authentik
 | 
					 | 
				
			||||||
      redis:
 | 
					 | 
				
			||||||
        host: redis-svc.core.svc.cluster.local
 | 
					 | 
				
			||||||
        db: 15
 | 
					 | 
				
			||||||
      email:
 | 
					 | 
				
			||||||
        from: homelab@leechpepin.com
 | 
					 | 
				
			||||||
        host: blizzard.mxrouting.net
 | 
					 | 
				
			||||||
        port: 465
 | 
					 | 
				
			||||||
        use_ssl: true
 | 
					 | 
				
			||||||
        username: homelab@leechpepin.com
 | 
					 | 
				
			||||||
        password: file:///smtp-secrets/SMTP_PASSWORD
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    postgresql:
 | 
					 | 
				
			||||||
      enabled: false
 | 
					 | 
				
			||||||
    redis:
 | 
					 | 
				
			||||||
      enabled: false
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    server:
 | 
					 | 
				
			||||||
      service:
 | 
					 | 
				
			||||||
        type: NodePort
 | 
					 | 
				
			||||||
      volumes:
 | 
					 | 
				
			||||||
        - name: auth-secrets
 | 
					 | 
				
			||||||
          secret:
 | 
					 | 
				
			||||||
            secretName: authentik-secrets
 | 
					 | 
				
			||||||
        - name: smtp-secrets
 | 
					 | 
				
			||||||
          secret:
 | 
					 | 
				
			||||||
            secretName: smtp-secrets
 | 
					 | 
				
			||||||
      volumeMounts:
 | 
					 | 
				
			||||||
        - name: auth-secrets
 | 
					 | 
				
			||||||
          mountPath: /auth-secrets
 | 
					 | 
				
			||||||
          readOnly: true
 | 
					 | 
				
			||||||
        - name: smtp-secrets
 | 
					 | 
				
			||||||
          mountPath: /smtp-secrets
 | 
					 | 
				
			||||||
          readOnly: true
 | 
					 | 
				
			||||||
    worker:
 | 
					 | 
				
			||||||
      volumes:
 | 
					 | 
				
			||||||
        - name: auth-secrets
 | 
					 | 
				
			||||||
          secret:
 | 
					 | 
				
			||||||
            secretName: authentik-secrets
 | 
					 | 
				
			||||||
        - name: smtp-secrets
 | 
					 | 
				
			||||||
          secret:
 | 
					 | 
				
			||||||
            secretName: smtp-secrets
 | 
					 | 
				
			||||||
      volumeMounts:
 | 
					 | 
				
			||||||
        - name: auth-secrets
 | 
					 | 
				
			||||||
          mountPath: /auth-secrets
 | 
					 | 
				
			||||||
          readOnly: true
 | 
					 | 
				
			||||||
        - name: smtp-secrets
 | 
					 | 
				
			||||||
          mountPath: /smtp-secrets
 | 
					 | 
				
			||||||
          readOnly: true
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,16 +0,0 @@
 | 
				
			||||||
apiVersion: gateway.networking.k8s.io/v1
 | 
					 | 
				
			||||||
kind: HTTPRoute
 | 
					 | 
				
			||||||
metadata:
 | 
					 | 
				
			||||||
  name: http
 | 
					 | 
				
			||||||
spec:
 | 
					 | 
				
			||||||
  rules:
 | 
					 | 
				
			||||||
    - backendRefs:
 | 
					 | 
				
			||||||
        - name: authentik-chart-server
 | 
					 | 
				
			||||||
          port: 80
 | 
					 | 
				
			||||||
          namespace: auth
 | 
					 | 
				
			||||||
      filters:
 | 
					 | 
				
			||||||
        - requestHeaderModifier:
 | 
					 | 
				
			||||||
            set:
 | 
					 | 
				
			||||||
              - name: X-Forwarded-Proto
 | 
					 | 
				
			||||||
                value: https
 | 
					 | 
				
			||||||
          type: RequestHeaderModifier
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,7 +0,0 @@
 | 
				
			||||||
apiVersion: kustomize.config.k8s.io/v1beta1
 | 
					 | 
				
			||||||
kind: Kustomization
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
resources:
 | 
					 | 
				
			||||||
  - namespace.yaml
 | 
					 | 
				
			||||||
  - smtp-secrets.yaml
 | 
					 | 
				
			||||||
  - authentik/
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,7 +0,0 @@
 | 
				
			||||||
---
 | 
					 | 
				
			||||||
apiVersion: v1
 | 
					 | 
				
			||||||
kind: Namespace
 | 
					 | 
				
			||||||
metadata:
 | 
					 | 
				
			||||||
  labels:
 | 
					 | 
				
			||||||
    homelab-access: "true"
 | 
					 | 
				
			||||||
  name: auth
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,28 +0,0 @@
 | 
				
			||||||
---
 | 
					 | 
				
			||||||
apiVersion: secrets.infisical.com/v1alpha1
 | 
					 | 
				
			||||||
kind: InfisicalSecret
 | 
					 | 
				
			||||||
metadata:
 | 
					 | 
				
			||||||
  name: smtp-secrets-auth
 | 
					 | 
				
			||||||
  namespace: infisical
 | 
					 | 
				
			||||||
  labels:
 | 
					 | 
				
			||||||
    label-to-be-passed-to-managed-secret: homelab
 | 
					 | 
				
			||||||
  annotations:
 | 
					 | 
				
			||||||
    example.com/annotation-to-be-passed-to-managed-secret: "homelab"
 | 
					 | 
				
			||||||
spec:
 | 
					 | 
				
			||||||
  hostAPI: https://app.infisical.com/api
 | 
					 | 
				
			||||||
  resyncInterval: 10
 | 
					 | 
				
			||||||
  authentication:
 | 
					 | 
				
			||||||
    # Universal Auth
 | 
					 | 
				
			||||||
    universalAuth:
 | 
					 | 
				
			||||||
      secretsScope:
 | 
					 | 
				
			||||||
        projectSlug: homelab-n-f-yj
 | 
					 | 
				
			||||||
        envSlug: prod
 | 
					 | 
				
			||||||
        secretsPath: "/" # Root is "/"
 | 
					 | 
				
			||||||
        recursive: false # Whether or not to use recursive mode (Fetches all secrets in an environment from a given secret path, and all folders inside the path) / defaults to false
 | 
					 | 
				
			||||||
      credentialsRef:
 | 
					 | 
				
			||||||
        secretName: universal-auth-credentials
 | 
					 | 
				
			||||||
        secretNamespace: infisical
 | 
					 | 
				
			||||||
  managedSecretReference:
 | 
					 | 
				
			||||||
    secretName: smtp-secrets
 | 
					 | 
				
			||||||
    secretNamespace: auth
 | 
					 | 
				
			||||||
    creationPolicy: "Orphan" ## Owner | Orphan
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,6 +0,0 @@
 | 
				
			||||||
apiVersion: kustomize.config.k8s.io/v1beta1
 | 
					 | 
				
			||||||
kind: Kustomization
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
resources:
 | 
					 | 
				
			||||||
  - namespace.yaml
 | 
					 | 
				
			||||||
  - cert-manager/
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,8 +0,0 @@
 | 
				
			||||||
apiVersion: kustomize.config.k8s.io/v1beta1
 | 
					 | 
				
			||||||
kind: Kustomization
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
resources:
 | 
					 | 
				
			||||||
  - cluster-issuer.yaml
 | 
					 | 
				
			||||||
  - consultjlpdotcom-cert.yaml
 | 
					 | 
				
			||||||
  - jlptechdotconsulting-cert.yaml
 | 
					 | 
				
			||||||
  - leechpepindotcom-cert.yaml
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,6 +0,0 @@
 | 
				
			||||||
apiVersion: kustomize.config.k8s.io/v1beta1
 | 
					 | 
				
			||||||
kind: Kustomization
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
resources:
 | 
					 | 
				
			||||||
  - namespace.yaml
 | 
					 | 
				
			||||||
  - gpu-runtime.yaml
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,9 +0,0 @@
 | 
				
			||||||
apiVersion: kustomize.config.k8s.io/v1beta1
 | 
					 | 
				
			||||||
kind: Kustomization
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
resources:
 | 
					 | 
				
			||||||
  - namespace.yaml
 | 
					 | 
				
			||||||
  - postgres/
 | 
					 | 
				
			||||||
  - redis/
 | 
					 | 
				
			||||||
  - tika/
 | 
					 | 
				
			||||||
  - gotenburg/
 | 
					 | 
				
			||||||
| 
						 | 
					@ -17,7 +17,7 @@ spec:
 | 
				
			||||||
      restartPolicy: Always
 | 
					      restartPolicy: Always
 | 
				
			||||||
      containers:
 | 
					      containers:
 | 
				
			||||||
        - name: syncthing
 | 
					        - name: syncthing
 | 
				
			||||||
          image: syncthing/syncthing:1.29
 | 
					          image: syncthing/syncthing:latest
 | 
				
			||||||
          ports:
 | 
					          ports:
 | 
				
			||||||
            - name: http
 | 
					            - name: http
 | 
				
			||||||
              containerPort: 8384
 | 
					              containerPort: 8384
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +0,0 @@
 | 
				
			||||||
apiVersion: kustomize.config.k8s.io/v1beta1
 | 
					 | 
				
			||||||
kind: Kustomization
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
resources:
 | 
					 | 
				
			||||||
  - namespace.yaml
 | 
					 | 
				
			||||||
  - gateway.yaml
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,6 +0,0 @@
 | 
				
			||||||
apiVersion: kustomize.config.k8s.io/v1beta1
 | 
					 | 
				
			||||||
kind: Kustomization
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
resources:
 | 
					 | 
				
			||||||
  - namespace.yaml
 | 
					 | 
				
			||||||
  - infisical/
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,12 +0,0 @@
 | 
				
			||||||
apiVersion: kustomize.config.k8s.io/v1beta1
 | 
					 | 
				
			||||||
kind: Kustomization
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
resources:
 | 
					 | 
				
			||||||
  - cert-manager/post-crd
 | 
					 | 
				
			||||||
  - ai/
 | 
					 | 
				
			||||||
  - apps/
 | 
					 | 
				
			||||||
  - auth/
 | 
					 | 
				
			||||||
  - core/
 | 
					 | 
				
			||||||
  - charts/
 | 
					 | 
				
			||||||
  - monitoring/
 | 
					 | 
				
			||||||
  - public/
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,6 +0,0 @@
 | 
				
			||||||
apiVersion: kustomize.config.k8s.io/v1beta1
 | 
					 | 
				
			||||||
kind: Kustomization
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
resources:
 | 
					 | 
				
			||||||
  - namespace.yaml
 | 
					 | 
				
			||||||
  - longhorn/
 | 
					 | 
				
			||||||
| 
						 | 
					@ -23,8 +23,8 @@ spec:
 | 
				
			||||||
      serviceAccountName: diun
 | 
					      serviceAccountName: diun
 | 
				
			||||||
      containers:
 | 
					      containers:
 | 
				
			||||||
        - name: diun
 | 
					        - name: diun
 | 
				
			||||||
          image: crazymax/diun:4.29.0
 | 
					          image: crazymax/diun:latest
 | 
				
			||||||
          imagePullPolicy: IfNotPresent
 | 
					          imagePullPolicy: Always
 | 
				
			||||||
          args: ["serve"]
 | 
					          args: ["serve"]
 | 
				
			||||||
          envFrom:
 | 
					          envFrom:
 | 
				
			||||||
            - configMapRef:
 | 
					            - configMapRef:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -22,8 +22,7 @@ spec:
 | 
				
			||||||
                      - "true"
 | 
					                      - "true"
 | 
				
			||||||
      containers:
 | 
					      containers:
 | 
				
			||||||
        - name: healthchecks
 | 
					        - name: healthchecks
 | 
				
			||||||
          image: healthchecks/healthchecks:v3.9
 | 
					          image: healthchecks/healthchecks:latest
 | 
				
			||||||
          imagePullPolicy: IfNotPresent
 | 
					 | 
				
			||||||
          envFrom:
 | 
					          envFrom:
 | 
				
			||||||
            - configMapRef:
 | 
					            - configMapRef:
 | 
				
			||||||
                name: healthchecks-config
 | 
					                name: healthchecks-config
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,10 +0,0 @@
 | 
				
			||||||
apiVersion: kustomize.config.k8s.io/v1beta1
 | 
					 | 
				
			||||||
kind: Kustomization
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
resources:
 | 
					 | 
				
			||||||
  - namespace.yaml
 | 
					 | 
				
			||||||
  - smtp-secrets.yaml
 | 
					 | 
				
			||||||
  - umami/
 | 
					 | 
				
			||||||
  - ntfy/
 | 
					 | 
				
			||||||
  - diun/
 | 
					 | 
				
			||||||
  - healthchecks/
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,7 +1,7 @@
 | 
				
			||||||
apiVersion: secrets.infisical.com/v1alpha1
 | 
					apiVersion: secrets.infisical.com/v1alpha1
 | 
				
			||||||
kind: InfisicalSecret
 | 
					kind: InfisicalSecret
 | 
				
			||||||
metadata:
 | 
					metadata:
 | 
				
			||||||
  name: smtp-secrets-monitoring
 | 
					  name: smtp-secrets
 | 
				
			||||||
  namespace: infisical
 | 
					  namespace: infisical
 | 
				
			||||||
  labels:
 | 
					  labels:
 | 
				
			||||||
    label-to-be-passed-to-managed-secret: homelab
 | 
					    label-to-be-passed-to-managed-secret: homelab
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -13,7 +13,7 @@ transformers:
 | 
				
			||||||
namePrefix: uptime-kuma-
 | 
					namePrefix: uptime-kuma-
 | 
				
			||||||
resources:
 | 
					resources:
 | 
				
			||||||
  - ../../../kustomize/deployment/
 | 
					  - ../../../kustomize/deployment/
 | 
				
			||||||
  # - extra/middleware-auth.yaml
 | 
					  - extra/middleware-auth.yaml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
replacements:
 | 
					replacements:
 | 
				
			||||||
  - source:
 | 
					  - source:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,13 +2,13 @@ apiVersion: gateway.networking.k8s.io/v1
 | 
				
			||||||
kind: HTTPRoute
 | 
					kind: HTTPRoute
 | 
				
			||||||
metadata:
 | 
					metadata:
 | 
				
			||||||
  name: http
 | 
					  name: http
 | 
				
			||||||
# spec:
 | 
					spec:
 | 
				
			||||||
#   rules:
 | 
					  rules:
 | 
				
			||||||
#     - backendRefs:
 | 
					    - backendRefs:
 | 
				
			||||||
#         - port: 80
 | 
					        - port: 80
 | 
				
			||||||
#       filters:
 | 
					      filters:
 | 
				
			||||||
#         - type: ExtensionRef
 | 
					        - type: ExtensionRef
 | 
				
			||||||
#           extensionRef:
 | 
					          extensionRef:
 | 
				
			||||||
#             group: traefik.io
 | 
					            group: traefik.io
 | 
				
			||||||
#             kind: Middleware
 | 
					            kind: Middleware
 | 
				
			||||||
#             name: authentik-forward-auth
 | 
					            name: authentik-forward-auth
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +0,0 @@
 | 
				
			||||||
apiVersion: kustomize.config.k8s.io/v1beta1
 | 
					 | 
				
			||||||
kind: Kustomization
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
resources:
 | 
					 | 
				
			||||||
  - namespace.yaml
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,6 +0,0 @@
 | 
				
			||||||
apiVersion: kustomize.config.k8s.io/v1beta1
 | 
					 | 
				
			||||||
kind: Kustomization
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
resources:
 | 
					 | 
				
			||||||
  - namespace.yaml
 | 
					 | 
				
			||||||
  - traefik/
 | 
					 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue