Compare commits
1 Commits
renovate/u
...
2632801eae
| Author | SHA1 | Date | |
|---|---|---|---|
|
2632801eae
|
@@ -21,14 +21,14 @@ jobs:
|
||||
runs-on: ubuntu-js
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Check Branch Exists
|
||||
id: check-branch-exists
|
||||
if: github.event_name == 'pull_request'
|
||||
uses: GuillaumeFalourd/branch-exists@650358876c774d6ccbd581b5553eb636dab79a97 # v1.2
|
||||
uses: GuillaumeFalourd/branch-exists@v1.1
|
||||
with:
|
||||
branch: "${{ github.base_ref }}"
|
||||
|
||||
@@ -51,7 +51,7 @@ jobs:
|
||||
|
||||
- name: Set Up Node.js
|
||||
if: steps.branch-exists.outputs.exists == 'true'
|
||||
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: '24'
|
||||
|
||||
@@ -120,7 +120,7 @@ jobs:
|
||||
echo "----"
|
||||
|
||||
- name: ntfy Failed
|
||||
uses: niniyas/ntfy-action@96acac57fdc91d4c4f50b78486c1ed6f03f9f61c # master
|
||||
uses: niniyas/ntfy-action@master
|
||||
if: failure()
|
||||
with:
|
||||
url: '${{ secrets.NTFY_URL }}'
|
||||
|
||||
@@ -28,14 +28,14 @@ jobs:
|
||||
changes-detected: ${{ steps.check-dir-changes.outputs.changes-detected }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Check Branch Exists
|
||||
id: check-branch-exists
|
||||
if: github.event_name == 'pull_request'
|
||||
uses: GuillaumeFalourd/branch-exists@650358876c774d6ccbd581b5553eb636dab79a97 # v1.2
|
||||
uses: GuillaumeFalourd/branch-exists@v1.1
|
||||
with:
|
||||
branch: ${{ github.base_ref }}
|
||||
|
||||
@@ -58,7 +58,7 @@ jobs:
|
||||
|
||||
- name: Set Up Helm
|
||||
if: steps.branch-exists.outputs.exists == 'true'
|
||||
uses: azure/setup-helm@dda3372f752e03dde6b3237bc9431cdc2f7a02a2 # v5
|
||||
uses: azure/setup-helm@v4
|
||||
with:
|
||||
token: ${{ secrets.GITEA_TOKEN }}
|
||||
# renovate: datasource=github-releases depName=helm/helm
|
||||
@@ -67,7 +67,7 @@ jobs:
|
||||
|
||||
- name: Cache Helm Dependencies
|
||||
if: steps.branch-exists.outputs.exists == 'true'
|
||||
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5
|
||||
uses: actions/cache@v5
|
||||
with:
|
||||
path: |
|
||||
~/.cache/helm
|
||||
@@ -209,7 +209,7 @@ jobs:
|
||||
exit $EXIT_CODE
|
||||
|
||||
- name: ntfy Failed
|
||||
uses: niniyas/ntfy-action@96acac57fdc91d4c4f50b78486c1ed6f03f9f61c # master
|
||||
uses: niniyas/ntfy-action@master
|
||||
if: failure()
|
||||
with:
|
||||
url: '${{ secrets.NTFY_URL }}'
|
||||
@@ -232,7 +232,7 @@ jobs:
|
||||
github.event_name == 'pull_request'
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
@@ -257,7 +257,7 @@ jobs:
|
||||
echo "----"
|
||||
|
||||
- name: Set Up Helm
|
||||
uses: azure/setup-helm@dda3372f752e03dde6b3237bc9431cdc2f7a02a2 # v5
|
||||
uses: azure/setup-helm@v4
|
||||
with:
|
||||
token: ${{ secrets.GITEA_TOKEN }}
|
||||
# renovate: datasource=github-releases depName=helm/helm
|
||||
@@ -265,7 +265,7 @@ jobs:
|
||||
cache: true
|
||||
|
||||
- name: Cache Helm Dependencies
|
||||
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5
|
||||
uses: actions/cache@v5
|
||||
with:
|
||||
path: |
|
||||
~/.cache/helm
|
||||
@@ -352,7 +352,7 @@ jobs:
|
||||
exit $EXIT_CODE
|
||||
|
||||
- name: ntfy Failed
|
||||
uses: niniyas/ntfy-action@96acac57fdc91d4c4f50b78486c1ed6f03f9f61c # master
|
||||
uses: niniyas/ntfy-action@master
|
||||
if: failure()
|
||||
with:
|
||||
url: '${{ secrets.NTFY_URL }}'
|
||||
|
||||
@@ -31,32 +31,32 @@ jobs:
|
||||
(github.event_name == 'pull_request' && github.event.pull_request.merged == true)
|
||||
steps:
|
||||
- name: Checkout Main
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
path: infrastructure
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Checkout Manifests
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
ref: manifests
|
||||
path: infrastructure-manifests
|
||||
|
||||
- name: Set Up Helm
|
||||
uses: azure/setup-helm@dda3372f752e03dde6b3237bc9431cdc2f7a02a2 # v5
|
||||
uses: azure/setup-helm@v4
|
||||
with:
|
||||
token: ${{ secrets.GITEA_TOKEN }}
|
||||
version: v3.17.2 # Pending https://github.com/helm/helm/pull/30743
|
||||
cache: true
|
||||
|
||||
- name: Configure Kubeconfig
|
||||
uses: azure/k8s-set-context@ae59a723ba9abe7a9655538854a025448dbab4aa # v4
|
||||
uses: azure/k8s-set-context@v4
|
||||
with:
|
||||
method: kubeconfig
|
||||
kubeconfig: ${{ secrets.KUBECONFIG }}
|
||||
|
||||
- name: Cache Helm Dependencies
|
||||
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5
|
||||
uses: actions/cache@v5
|
||||
with:
|
||||
path: |
|
||||
~/.cache/helm
|
||||
@@ -568,7 +568,7 @@ jobs:
|
||||
echo "----"
|
||||
|
||||
- name: ntfy Created
|
||||
uses: niniyas/ntfy-action@96acac57fdc91d4c4f50b78486c1ed6f03f9f61c # master
|
||||
uses: niniyas/ntfy-action@master
|
||||
if: steps.create-pull-request.outputs.pull-request-operation == 'created' && steps.mode.outputs.is-automerge == 'false'
|
||||
with:
|
||||
url: "${{ secrets.NTFY_URL }}"
|
||||
@@ -582,7 +582,7 @@ jobs:
|
||||
actions: '[{"action": "view", "label": "View PR", "url": "${{ vars.USER_URL }}/${{ github.repository }}/pulls/${{ steps.create-pull-request.outputs.pull-request-number }}", "clear": true}]'
|
||||
|
||||
- name: ntfy Updated
|
||||
uses: niniyas/ntfy-action@96acac57fdc91d4c4f50b78486c1ed6f03f9f61c # master
|
||||
uses: niniyas/ntfy-action@master
|
||||
if: steps.commit-push.outputs.push == 'true' && steps.check-for-pull-request.outputs.pull-request-exists != 'false' && steps.mode.outputs.is-automerge == 'false'
|
||||
with:
|
||||
url: "${{ secrets.NTFY_URL }}"
|
||||
@@ -596,7 +596,7 @@ jobs:
|
||||
actions: '[{"action": "view", "label": "View PR", "url": "${{ vars.USER_URL }}/${{ github.repository }}/pulls/${{ steps.create-pull-request.outputs.pull-request-number }}", "clear": true}]'
|
||||
|
||||
- name: ntfy Merged
|
||||
uses: niniyas/ntfy-action@96acac57fdc91d4c4f50b78486c1ed6f03f9f61c # master
|
||||
uses: niniyas/ntfy-action@master
|
||||
if: steps.merge-changes.outputs.pull-request-operation == 'merged'
|
||||
with:
|
||||
url: "${{ secrets.NTFY_URL }}"
|
||||
@@ -610,7 +610,7 @@ jobs:
|
||||
actions: '[{"action": "view", "label": "View PR", "url": "${{ vars.USER_URL }}/${{ github.repository }}/pulls/${{ steps.create-pull-request.outputs.pull-request-number }}", "clear": true}]'
|
||||
|
||||
- name: ntfy Failed
|
||||
uses: niniyas/ntfy-action@96acac57fdc91d4c4f50b78486c1ed6f03f9f61c # master
|
||||
uses: niniyas/ntfy-action@master
|
||||
if: failure()
|
||||
with:
|
||||
url: "${{ secrets.NTFY_URL }}"
|
||||
|
||||
@@ -13,10 +13,10 @@ on:
|
||||
jobs:
|
||||
renovate:
|
||||
runs-on: ubuntu-latest
|
||||
container: ghcr.io/renovatebot/renovate:43.92.0@sha256:fc36479074628689b956475db381a71e4c7f85904e83009fe5e29ec3f1eee1d0
|
||||
container: ghcr.io/renovatebot/renovate:43
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||
uses: actions/checkout@v6
|
||||
|
||||
- name: Renovate
|
||||
run: renovate
|
||||
@@ -25,7 +25,7 @@ jobs:
|
||||
RENOVATE_ENDPOINT: ${{ vars.INSTANCE_URL }}
|
||||
RENOVATE_REPOSITORIES: alexlebens/infrastructure
|
||||
RENOVATE_GIT_AUTHOR: Renovate Bot <renovate-bot@alexlebens.net>
|
||||
LOG_LEVEL: debug
|
||||
LOG_LEVEL: info
|
||||
RENOVATE_TOKEN: ${{ secrets.RENOVATE_TOKEN }}
|
||||
RENOVATE_GIT_PRIVATE_KEY: ${{ secrets.RENOVATE_GIT_PRIVATE_KEY }}
|
||||
RENOVATE_GITHUB_COM_TOKEN: ${{ secrets.RENOVATE_GITHUB_COM_TOKEN }}
|
||||
|
||||
@@ -5,12 +5,11 @@ description: Actual
|
||||
keywords:
|
||||
- actual
|
||||
- budget
|
||||
home: https://docs.alexlebens.dev/applications/actual/
|
||||
home: https://wiki.alexlebens.dev/s/86192f45-94b7-45de-872c-6ef3fec7df5e
|
||||
sources:
|
||||
- https://github.com/actualbudget/actual
|
||||
- https://github.com/actualbudget/actual/pkgs/container/actual
|
||||
- https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template
|
||||
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/volsync-target
|
||||
maintainers:
|
||||
- name: alexlebens
|
||||
dependencies:
|
||||
|
||||
@@ -4,18 +4,20 @@ actual:
|
||||
type: deployment
|
||||
replicas: 1
|
||||
strategy: Recreate
|
||||
revisionHistoryLimit: 3
|
||||
containers:
|
||||
main:
|
||||
image:
|
||||
repository: ghcr.io/actualbudget/actual
|
||||
tag: 26.3.0@sha256:eb8bc26f53025e07e464594c12d77c52c4b95840c8dadd9b95c4f0c4660f8ad2
|
||||
tag: 26.3.0
|
||||
pullPolicy: IfNotPresent
|
||||
env:
|
||||
- name: ACTUAL_PORT
|
||||
value: 5006
|
||||
- name: TZ
|
||||
value: US/Central
|
||||
resources:
|
||||
requests:
|
||||
cpu: 10m
|
||||
memory: 50Mi
|
||||
memory: 128Mi
|
||||
probes:
|
||||
liveness:
|
||||
enabled: true
|
||||
@@ -52,8 +54,11 @@ actual:
|
||||
- actual.alexlebens.net
|
||||
rules:
|
||||
- backendRefs:
|
||||
- name: actual
|
||||
- group: ''
|
||||
kind: Service
|
||||
name: actual
|
||||
port: 80
|
||||
weight: 100
|
||||
matches:
|
||||
- path:
|
||||
type: PathPrefix
|
||||
@@ -64,6 +69,7 @@ actual:
|
||||
storageClass: ceph-block
|
||||
accessMode: ReadWriteOnce
|
||||
size: 2Gi
|
||||
retain: true
|
||||
advancedMounts:
|
||||
main:
|
||||
main:
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
dependencies:
|
||||
- name: argo-workflows
|
||||
repository: https://argoproj.github.io/argo-helm
|
||||
version: 1.0.6
|
||||
version: 1.0.2
|
||||
- name: argo-events
|
||||
repository: https://argoproj.github.io/argo-helm
|
||||
version: 2.4.21
|
||||
version: 2.4.20
|
||||
- name: postgres-cluster
|
||||
repository: oci://harbor.alexlebens.net/helm-charts
|
||||
version: 7.10.0
|
||||
digest: sha256:5635bfe609d8a901df257ef3e6cb469396a21bdd4c6f96e7e33f84036019c52b
|
||||
generated: "2026-03-24T16:59:01.228848139Z"
|
||||
digest: sha256:8d1c2dd011a360d930ed5ff186462f163407077d36ae633898ec5d6ba30a4e8d
|
||||
generated: "2026-03-15T20:04:18.080966008Z"
|
||||
|
||||
@@ -7,21 +7,21 @@ keywords:
|
||||
- argo-events
|
||||
- workflows
|
||||
- events
|
||||
home: https://docs.alexlebens.dev/applications/argo-workflows/
|
||||
home: https://wiki.alexlebens.dev/s/a268508f-d81d-4b4b-8bd5-9058edaea635
|
||||
sources:
|
||||
- https://github.com/argoproj/argo-workflows
|
||||
- https://github.com/argoproj/argo-events
|
||||
- https://github.com/argoproj/argo-helm/tree/main/charts/argo-workflows
|
||||
- https://github.com/argoproj/argo-helm/tree/main/charts/argo-events
|
||||
- https://github.com/cloudnative-pg/cloudnative-pg
|
||||
- https://github.com/argoproj/argo-helm/tree/main/charts
|
||||
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/postgres-cluster
|
||||
maintainers:
|
||||
- name: alexlebens
|
||||
dependencies:
|
||||
- name: argo-workflows
|
||||
version: 1.0.6
|
||||
version: 1.0.2
|
||||
repository: https://argoproj.github.io/argo-helm
|
||||
- name: argo-events
|
||||
version: 2.4.21
|
||||
version: 2.4.20
|
||||
repository: https://argoproj.github.io/argo-helm
|
||||
- name: postgres-cluster
|
||||
alias: postgres-18-cluster
|
||||
@@ -29,4 +29,4 @@ dependencies:
|
||||
repository: oci://harbor.alexlebens.net/helm-charts
|
||||
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/argo-cd.png
|
||||
# renovate: datasource=github-releases depName=argoproj/argo-workflows
|
||||
appVersion: v4.0.3
|
||||
appVersion: v4.0.2
|
||||
|
||||
@@ -14,9 +14,15 @@ spec:
|
||||
data:
|
||||
- secretKey: secret
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /authentik/oidc/argo-workflows
|
||||
metadataPolicy: None
|
||||
property: secret
|
||||
- secretKey: client
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /authentik/oidc/argo-workflows
|
||||
metadataPolicy: None
|
||||
property: client
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
apiVersion: gateway.networking.k8s.io/v1
|
||||
kind: HTTPRoute
|
||||
metadata:
|
||||
name: argo-workflows
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels:
|
||||
app.kubernetes.io/name: argo-workflows
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
||||
spec:
|
||||
parentRefs:
|
||||
- group: gateway.networking.k8s.io
|
||||
kind: Gateway
|
||||
name: traefik-gateway
|
||||
namespace: traefik
|
||||
hostnames:
|
||||
- argo-workflows.alexlebens.net
|
||||
rules:
|
||||
- matches:
|
||||
- path:
|
||||
type: PathPrefix
|
||||
value: /
|
||||
backendRefs:
|
||||
- group: ''
|
||||
kind: Service
|
||||
name: argo-workflows-server
|
||||
port: 2746
|
||||
weight: 100
|
||||
@@ -2,15 +2,22 @@ argo-workflows:
|
||||
crds:
|
||||
install: true
|
||||
keep: true
|
||||
# -- Use full CRDs with complete OpenAPI schemas. When false, uses minified CRDs with x-kubernetes-preserve-unknown-fields.
|
||||
# Full CRDs are very large and are installed via a pre-install/pre-upgrade hook Job that uses server-side apply.
|
||||
full: true
|
||||
upgradeJob:
|
||||
image:
|
||||
repository: registry.k8s.io/kubectl
|
||||
tag: v1.35.3
|
||||
tag: v1.35.2
|
||||
controller:
|
||||
metricsConfig:
|
||||
enabled: true
|
||||
persistence:
|
||||
connectionPool:
|
||||
maxIdleConns: 100
|
||||
maxOpenConns: 0
|
||||
nodeStatusOffLoad: true
|
||||
archive: true
|
||||
postgresql:
|
||||
host: argo-workflows-postgresql-18-cluster-rw
|
||||
port: 5432
|
||||
@@ -25,34 +32,24 @@ argo-workflows:
|
||||
ssl: false
|
||||
sslMode: disable
|
||||
workflowWorkers: 2
|
||||
workflowTTLWorkers: 2
|
||||
podCleanupWorkers: 2
|
||||
cronWorkflowWorkers: 2
|
||||
workflowTTLWorkers: 1
|
||||
podCleanupWorkers: 1
|
||||
cronWorkflowWorkers: 1
|
||||
resources:
|
||||
requests:
|
||||
cpu: 1m
|
||||
memory: 20Mi
|
||||
cpu: 10m
|
||||
memory: 128Mi
|
||||
serviceMonitor:
|
||||
enabled: true
|
||||
name: workflow-controller
|
||||
workflowNamespaces:
|
||||
- argocd
|
||||
- argo-workflows
|
||||
server:
|
||||
authModes:
|
||||
- sso
|
||||
httproute:
|
||||
enabled: true
|
||||
parentRefs:
|
||||
- group: gateway.networking.k8s.io
|
||||
kind: Gateway
|
||||
name: traefik-gateway
|
||||
namespace: traefik
|
||||
hostnames:
|
||||
- argo-workflows.alexlebens.net
|
||||
rules:
|
||||
- matches:
|
||||
- path:
|
||||
type: PathPrefix
|
||||
value: /
|
||||
ingress:
|
||||
enabled: false
|
||||
sso:
|
||||
enabled: true
|
||||
issuer: https://authentik.alexlebens.net/application/o/argo-workflows/
|
||||
@@ -69,15 +66,15 @@ argo-workflows:
|
||||
- openid
|
||||
- email
|
||||
- profile
|
||||
useStaticCredentials: true
|
||||
artifactRepository:
|
||||
archiveLogs: false
|
||||
argo-events:
|
||||
crds:
|
||||
install: true
|
||||
keep: true
|
||||
controller:
|
||||
resources:
|
||||
requests:
|
||||
cpu: 1m
|
||||
memory: 32Mi
|
||||
cpu: 10m
|
||||
memory: 128Mi
|
||||
metrics:
|
||||
enabled: true
|
||||
serviceMonitor:
|
||||
@@ -86,8 +83,8 @@ argo-events:
|
||||
enabled: true
|
||||
resources:
|
||||
requests:
|
||||
cpu: 1m
|
||||
memory: 20Mi
|
||||
cpu: 10m
|
||||
memory: 128Mi
|
||||
postgres-18-cluster:
|
||||
mode: recovery
|
||||
recovery:
|
||||
@@ -101,9 +98,32 @@ postgres-18-cluster:
|
||||
destinationBucket: postgres-backups
|
||||
externalSecretCredentialPath: /garage/home-infra/postgres-backups
|
||||
isWALArchiver: true
|
||||
# - name: garage-remote
|
||||
# index: 1
|
||||
# destinationBucket: postgres-backups
|
||||
# externalSecretCredentialPath: /garage/home-infra/postgres-backups
|
||||
# retentionPolicy: "90d"
|
||||
# data:
|
||||
# compression: bzip2
|
||||
# - name: external
|
||||
# index: 1
|
||||
# endpointURL: https://nyc3.digitaloceanspaces.com
|
||||
# destinationBucket: postgres-backups-ce540ddf106d186bbddca68a
|
||||
# externalSecretCredentialPath: /garage/home-infra/postgres-backups
|
||||
# isWALArchiver: false
|
||||
scheduledBackups:
|
||||
- name: live-backup
|
||||
suspend: false
|
||||
immediate: true
|
||||
schedule: "0 0 14 * * *"
|
||||
backupName: garage-local
|
||||
# - name: weekly-backup
|
||||
# suspend: true
|
||||
# immediate: true
|
||||
# schedule: "0 0 4 * * SAT"
|
||||
# backupName: garage-remote
|
||||
# - name: daily-backup
|
||||
# suspend: true
|
||||
# immediate: true
|
||||
# schedule: "0 0 0 * * *"
|
||||
# backupName: external
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
dependencies:
|
||||
- name: argo-cd
|
||||
repository: https://argoproj.github.io/argo-helm
|
||||
version: 9.4.16
|
||||
digest: sha256:f9ecc47369d4401df61c17f55cc59c9b2d4543f57cf122653abb1a27a4f7bf35
|
||||
generated: "2026-03-26T21:01:52.678525211Z"
|
||||
version: 9.4.11
|
||||
digest: sha256:7726a0806d7ab4e0c2f5942aceee4ce363decf63d54a545a91b537559e5a9f0f
|
||||
generated: "2026-03-17T13:05:43.394982076Z"
|
||||
|
||||
@@ -4,8 +4,10 @@ version: 1.0.0
|
||||
description: Argo CD
|
||||
keywords:
|
||||
- argo-cd
|
||||
- delivery
|
||||
- deployment
|
||||
home: https://docs.alexlebens.dev/applications/argo-cd/
|
||||
- gitops
|
||||
home: https://wiki.alexlebens.dev/s/8a75cf26-b9df-437e-9cc5-2ef47e871a5f
|
||||
sources:
|
||||
- https://github.com/argoproj/argo-cd
|
||||
- https://github.com/argoproj/argo-helm/tree/main/charts/argo-cd
|
||||
@@ -13,8 +15,8 @@ maintainers:
|
||||
- name: alexlebens
|
||||
dependencies:
|
||||
- name: argo-cd
|
||||
version: 9.4.16
|
||||
version: 9.4.11
|
||||
repository: https://argoproj.github.io/argo-helm
|
||||
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/argo-cd.png
|
||||
# renovate: datasource=github-releases depName=argoproj/argo-cd
|
||||
appVersion: v3.3.5
|
||||
appVersion: v3.3.4
|
||||
|
||||
@@ -14,11 +14,17 @@ spec:
|
||||
data:
|
||||
- secretKey: secret
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /authentik/oidc/argocd
|
||||
metadataPolicy: None
|
||||
property: secret
|
||||
- secretKey: client
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /authentik/oidc/argocd
|
||||
metadataPolicy: None
|
||||
property: client
|
||||
|
||||
---
|
||||
@@ -38,7 +44,10 @@ spec:
|
||||
data:
|
||||
- secretKey: ntfy-token
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /ntfy/user/cl01tl
|
||||
metadataPolicy: None
|
||||
property: token
|
||||
|
||||
---
|
||||
@@ -58,13 +67,22 @@ spec:
|
||||
data:
|
||||
- secretKey: type
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /cl01tl/argocd/credentials/repo/infrastructure
|
||||
metadataPolicy: None
|
||||
property: type
|
||||
- secretKey: url
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /cl01tl/argocd/credentials/repo/infrastructure
|
||||
metadataPolicy: None
|
||||
property: url
|
||||
- secretKey: sshPrivateKey
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /cl01tl/argocd/credentials/repo/infrastructure
|
||||
metadataPolicy: None
|
||||
property: sshPrivateKey
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
argo-cd:
|
||||
crds:
|
||||
install: true
|
||||
keep: true
|
||||
configs:
|
||||
cm:
|
||||
admin.enabled: true
|
||||
accounts.homepage: apiKey
|
||||
timeout.reconciliation: 100s
|
||||
timeout.reconciliation.jitter: 60s
|
||||
url: https://argocd.alexlebens.net
|
||||
statusbadge.url: https://argocd.alexlebens.net/
|
||||
statusbadge.enabled: true
|
||||
@@ -32,53 +33,12 @@ argo-cd:
|
||||
g, homepage, role:readonly
|
||||
controller:
|
||||
replicas: 1
|
||||
resources:
|
||||
requests:
|
||||
cpu: 100m
|
||||
memory: 1Gi
|
||||
readinessProbe:
|
||||
failureThreshold: 3
|
||||
initialDelaySeconds: 60
|
||||
periodSeconds: 30
|
||||
successThreshold: 1
|
||||
timeoutSeconds: 5
|
||||
metrics:
|
||||
enabled: true
|
||||
serviceMonitor:
|
||||
enabled: true
|
||||
rules:
|
||||
enabled: true
|
||||
spec:
|
||||
- alert: ArgoAppMissing
|
||||
expr: |
|
||||
absent(argocd_app_info) == 1
|
||||
for: 15m
|
||||
labels:
|
||||
severity: critical
|
||||
annotations:
|
||||
summary: "[Argo CD] No reported applications"
|
||||
description: >
|
||||
Argo CD has not reported any applications data for the past 15 minutes which
|
||||
means that it must be down or not functioning properly. This needs to be
|
||||
resolved for this cloud to continue to maintain state.
|
||||
- alert: ArgoAppNotSynced
|
||||
expr: |
|
||||
argocd_app_info{sync_status!="Synced"} == 1
|
||||
for: 12h
|
||||
labels:
|
||||
severity: warning
|
||||
annotations:
|
||||
summary: "[{{`{{$labels.name}}`}}] Application not synchronized"
|
||||
description: >
|
||||
The application [{{`{{$labels.name}}`}} has not been synchronized for over
|
||||
12 hours which means that the state of this cloud has drifted away from the
|
||||
state inside Git.
|
||||
dex:
|
||||
enabled: true
|
||||
resources:
|
||||
requests:
|
||||
cpu: 1m
|
||||
memory: 64Mi
|
||||
metrics:
|
||||
enabled: true
|
||||
serviceMonitor:
|
||||
@@ -89,57 +49,20 @@ argo-cd:
|
||||
enabled: true
|
||||
redis-ha:
|
||||
enabled: true
|
||||
image:
|
||||
repository: redis
|
||||
tag: 8.6.2-alpine@sha256:81b6f81d6a6c5b9019231a2e8eb10085e3a139a34f833dcc965a8a959b040b72
|
||||
persistentVolume:
|
||||
enabled: true
|
||||
redis:
|
||||
resources:
|
||||
requests:
|
||||
cpu: 1000m
|
||||
memory: 50Mi
|
||||
haproxy:
|
||||
enabled: true
|
||||
image:
|
||||
repository: haproxy
|
||||
tag: 3.3.6-alpine@sha256:744be2dca649a44d490a4c565d36968d19482dd387f1bdd44c168f4322bc6b1e
|
||||
resources:
|
||||
requests:
|
||||
cpu: 5m
|
||||
memory: 90Mi
|
||||
metrics:
|
||||
enabled: true
|
||||
serviceMonitor:
|
||||
enabled: true
|
||||
exporter:
|
||||
enabled: true
|
||||
image: ghcr.io/oliver006/redis_exporter
|
||||
tag: v1.82.0@sha256:6a97d4dd743b533e1f950c677b87d880e44df363c61af3f406fc9e53ed65ee03
|
||||
serviceMonitor:
|
||||
enabled: true
|
||||
prometheusRule:
|
||||
enabled: true
|
||||
interval: 30s
|
||||
rules:
|
||||
- alert: RedisPodDown
|
||||
expr: |
|
||||
redis_up{job="{{ include "redis-ha.fullname" . }}"} == 0
|
||||
for: 5m
|
||||
labels:
|
||||
severity: critical
|
||||
annotations:
|
||||
description: Redis pod {{ "{{ $labels.pod }}" }} is down
|
||||
summary: Redis pod {{ "{{ $labels.pod }}" }} is down
|
||||
auth: false
|
||||
redisSecretInit:
|
||||
enabled: false
|
||||
server:
|
||||
replicas: 2
|
||||
resources:
|
||||
requests:
|
||||
cpu: 20m
|
||||
memory: 80Mi
|
||||
extensions:
|
||||
enabled: true
|
||||
extensionList:
|
||||
- name: extension-trivy
|
||||
env:
|
||||
- name: EXTENSION_URL
|
||||
value: https://github.com/mziyabo/argocd-trivy-extension/releases/download/v0.2.0/extension-trivy.tar
|
||||
- name: EXTENSION_CHECKSUM_URL
|
||||
value: https://github.com/mziyabo/argocd-trivy-extension/releases/download/v0.2.0/extension-trivy_checksums.txt
|
||||
metrics:
|
||||
enabled: true
|
||||
serviceMonitor:
|
||||
@@ -153,56 +76,31 @@ argo-cd:
|
||||
namespace: traefik
|
||||
hostnames:
|
||||
- argocd.alexlebens.net
|
||||
rules:
|
||||
- matches:
|
||||
- path:
|
||||
type: PathPrefix
|
||||
value: /
|
||||
repoServer:
|
||||
replicas: 2
|
||||
resources:
|
||||
requests:
|
||||
cpu: 1m
|
||||
memory: 50Mi
|
||||
readinessProbe:
|
||||
enabled: true
|
||||
failureThreshold: 3
|
||||
initialDelaySeconds: 60
|
||||
periodSeconds: 30
|
||||
successThreshold: 1
|
||||
timeoutSeconds: 5
|
||||
livenessProbe:
|
||||
enabled: true
|
||||
failureThreshold: 3
|
||||
initialDelaySeconds: 60
|
||||
periodSeconds: 30
|
||||
successThreshold: 1
|
||||
timeoutSeconds: 5
|
||||
metrics:
|
||||
enabled: true
|
||||
serviceMonitor:
|
||||
enabled: true
|
||||
applicationSet:
|
||||
replicas: 2
|
||||
resources:
|
||||
requests:
|
||||
cpu: 10m
|
||||
memory: 50Mi
|
||||
metrics:
|
||||
enabled: true
|
||||
serviceMonitor:
|
||||
enabled: true
|
||||
readinessProbe:
|
||||
enabled: true
|
||||
failureThreshold: 3
|
||||
initialDelaySeconds: 60
|
||||
periodSeconds: 30
|
||||
successThreshold: 1
|
||||
timeoutSeconds: 5
|
||||
livenessProbe:
|
||||
enabled: true
|
||||
failureThreshold: 3
|
||||
initialDelaySeconds: 60
|
||||
periodSeconds: 30
|
||||
successThreshold: 1
|
||||
timeoutSeconds: 5
|
||||
readinessProbe:
|
||||
enabled: true
|
||||
notifications:
|
||||
argocdUrl: https://argocd.alexlebens.net
|
||||
enabled: true
|
||||
context:
|
||||
argocdUrl: https://argocd.alexlebens.net
|
||||
secret:
|
||||
create: false
|
||||
name: argocd-notifications-secret
|
||||
@@ -216,10 +114,6 @@ argo-cd:
|
||||
headers:
|
||||
- name: Authorization
|
||||
value: Bearer $ntfy-token
|
||||
resources:
|
||||
requests:
|
||||
cpu: 2m
|
||||
memory: 50Mi
|
||||
livenessProbe:
|
||||
enabled: true
|
||||
readinessProbe:
|
||||
|
||||
@@ -7,14 +7,11 @@ keywords:
|
||||
- books
|
||||
- podcasts
|
||||
- audiobooks
|
||||
home: https://docs.alexlebens.dev/applications/audiobookshelf/
|
||||
home: https://wiki.alexlebens.dev/s/d4d6719f-cd1c-4b6e-b78e-2d2d7a5097d7
|
||||
sources:
|
||||
- https://github.com/advplyr/audiobookshelf
|
||||
- https://github.com/caronc/apprise
|
||||
- https://github.com/advplyr/audiobookshelf/pkgs/container/audiobookshelf
|
||||
- https://github.com/caronc/apprise-api/pkgs/container/apprise
|
||||
- https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template
|
||||
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/volsync-target
|
||||
maintainers:
|
||||
- name: alexlebens
|
||||
dependencies:
|
||||
@@ -32,4 +29,4 @@ dependencies:
|
||||
repository: oci://harbor.alexlebens.net/helm-charts
|
||||
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/audiobookshelf.png
|
||||
# renovate: datasource=github-releases depName=advplyr/audiobookshelf
|
||||
appVersion: 2.33.1
|
||||
appVersion: 2.33.0
|
||||
|
||||
@@ -14,5 +14,8 @@ spec:
|
||||
data:
|
||||
- secretKey: ntfy-url
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /cl01tl/audiobookshelf/apprise
|
||||
metadataPolicy: None
|
||||
property: ntfy-url
|
||||
|
||||
@@ -4,29 +4,28 @@ audiobookshelf:
|
||||
type: deployment
|
||||
replicas: 1
|
||||
strategy: Recreate
|
||||
pod:
|
||||
securityContext:
|
||||
fsGroup: 1000
|
||||
fsGroupChangePolicy: OnRootMismatch
|
||||
revisionHistoryLimit: 3
|
||||
containers:
|
||||
main:
|
||||
image:
|
||||
repository: ghcr.io/advplyr/audiobookshelf
|
||||
tag: 2.33.1@sha256:a4a5841bba093d81e5f4ad1eaedb4da3fda6dbb2528c552349da50ad1f7ae708
|
||||
tag: 2.33.0
|
||||
pullPolicy: IfNotPresent
|
||||
env:
|
||||
- name: TZ
|
||||
value: America/Chicago
|
||||
value: US/Central
|
||||
resources:
|
||||
requests:
|
||||
cpu: 1m
|
||||
memory: 200Mi
|
||||
cpu: 10m
|
||||
memory: 128Mi
|
||||
apprise-api:
|
||||
image:
|
||||
repository: ghcr.io/caronc/apprise
|
||||
tag: v1.3.3@sha256:4bfeac268ba87b8e08e308c9aa0182fe99e9501ec464027afc333d1634e65977
|
||||
repository: caronc/apprise
|
||||
tag: v1.3.2
|
||||
pullPolicy: IfNotPresent
|
||||
env:
|
||||
- name: TZ
|
||||
value: America/Chicago
|
||||
value: US/Central
|
||||
- name: PGID
|
||||
value: "1000"
|
||||
- name: PUID
|
||||
@@ -42,6 +41,10 @@ audiobookshelf:
|
||||
secretKeyRef:
|
||||
name: audiobookshelf-apprise-config
|
||||
key: ntfy-url
|
||||
resources:
|
||||
requests:
|
||||
cpu: 10m
|
||||
memory: 128Mi
|
||||
service:
|
||||
main:
|
||||
controller: main
|
||||
@@ -79,8 +82,11 @@ audiobookshelf:
|
||||
- audiobookshelf.alexlebens.net
|
||||
rules:
|
||||
- backendRefs:
|
||||
- name: audiobookshelf
|
||||
- group: ''
|
||||
kind: Service
|
||||
name: audiobookshelf
|
||||
port: 80
|
||||
weight: 100
|
||||
matches:
|
||||
- path:
|
||||
type: PathPrefix
|
||||
@@ -91,6 +97,7 @@ audiobookshelf:
|
||||
storageClass: ceph-block
|
||||
accessMode: ReadWriteOnce
|
||||
size: 2Gi
|
||||
retain: true
|
||||
advancedMounts:
|
||||
main:
|
||||
main:
|
||||
@@ -101,6 +108,7 @@ audiobookshelf:
|
||||
storageClass: ceph-block
|
||||
accessMode: ReadWriteOnce
|
||||
size: 10Gi
|
||||
retain: true
|
||||
advancedMounts:
|
||||
main:
|
||||
main:
|
||||
|
||||
@@ -6,14 +6,17 @@ keywords:
|
||||
- authentik
|
||||
- sso
|
||||
- oidc
|
||||
- ldap
|
||||
- idp
|
||||
- authentication
|
||||
home: https://docs.alexlebens.dev/applications/authentik/
|
||||
home: https://wiki.alexlebens.dev/s/45ca5171-581f-41d2-b6fb-2b0915029a2d
|
||||
sources:
|
||||
- https://github.com/goauthentik/authentik
|
||||
- https://github.com/cloudflare/cloudflared
|
||||
- https://github.com/cloudnative-pg/cloudnative-pg
|
||||
- https://github.com/goauthentik/helm
|
||||
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/cloudflared
|
||||
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/postgres-cluster
|
||||
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/valkey
|
||||
maintainers:
|
||||
- name: alexlebens
|
||||
dependencies:
|
||||
|
||||
@@ -14,5 +14,8 @@ spec:
|
||||
data:
|
||||
- secretKey: key
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /cl01tl/authentik/key
|
||||
metadataPolicy: None
|
||||
property: key
|
||||
|
||||
@@ -30,23 +30,8 @@ authentik:
|
||||
redis:
|
||||
host: authentik-valkey
|
||||
server:
|
||||
replicas: 2
|
||||
resources:
|
||||
requests:
|
||||
cpu: 20m
|
||||
memory: 700Mi
|
||||
livenessProbe:
|
||||
failureThreshold: 3
|
||||
initialDelaySeconds: 15
|
||||
periodSeconds: 10
|
||||
successThreshold: 1
|
||||
timeoutSeconds: 5
|
||||
readinessProbe:
|
||||
failureThreshold: 3
|
||||
initialDelaySeconds: 15
|
||||
periodSeconds: 10
|
||||
successThreshold: 1
|
||||
timeoutSeconds: 5
|
||||
name: server
|
||||
replicas: 1
|
||||
metrics:
|
||||
enabled: true
|
||||
serviceMonitor:
|
||||
@@ -54,6 +39,8 @@ authentik:
|
||||
route:
|
||||
main:
|
||||
enabled: true
|
||||
apiVersion: gateway.networking.k8s.io/v1
|
||||
kind: HTTPRoute
|
||||
hostnames:
|
||||
- authentik.alexlebens.net
|
||||
parentRefs:
|
||||
@@ -61,20 +48,21 @@ authentik:
|
||||
kind: Gateway
|
||||
name: traefik-gateway
|
||||
namespace: traefik
|
||||
httpsRedirect: false
|
||||
matches:
|
||||
- path:
|
||||
type: PathPrefix
|
||||
value: /
|
||||
worker:
|
||||
name: worker
|
||||
replicas: 2
|
||||
resources:
|
||||
requests:
|
||||
cpu: 80m
|
||||
memory: 650Mi
|
||||
metrics:
|
||||
enabled: true
|
||||
serviceMonitor:
|
||||
enabled: true
|
||||
replicas: 1
|
||||
prometheus:
|
||||
rules:
|
||||
enabled: true
|
||||
postgresql:
|
||||
enabled: false
|
||||
redis:
|
||||
enabled: false
|
||||
postgres-18-cluster:
|
||||
mode: recovery
|
||||
recovery:
|
||||
@@ -88,9 +76,32 @@ postgres-18-cluster:
|
||||
destinationBucket: postgres-backups
|
||||
externalSecretCredentialPath: /garage/home-infra/postgres-backups
|
||||
isWALArchiver: true
|
||||
# - name: garage-remote
|
||||
# index: 1
|
||||
# destinationBucket: postgres-backups
|
||||
# externalSecretCredentialPath: /garage/home-infra/postgres-backups
|
||||
# retentionPolicy: "90d"
|
||||
# data:
|
||||
# compression: bzip2
|
||||
# - name: external
|
||||
# index: 1
|
||||
# endpointURL: https://nyc3.digitaloceanspaces.com
|
||||
# destinationBucket: postgres-backups-ce540ddf106d186bbddca68a
|
||||
# externalSecretCredentialPath: /garage/home-infra/postgres-backups
|
||||
# isWALArchiver: false
|
||||
scheduledBackups:
|
||||
- name: live-backup
|
||||
suspend: false
|
||||
immediate: true
|
||||
schedule: "0 5 14 * * *"
|
||||
backupName: garage-local
|
||||
# - name: weekly-backup
|
||||
# suspend: true
|
||||
# immediate: true
|
||||
# schedule: "0 0 4 * * SAT"
|
||||
# backupName: garage-remote
|
||||
# - name: daily-backup
|
||||
# suspend: true
|
||||
# immediate: true
|
||||
# schedule: "0 0 0 * * *"
|
||||
# backupName: external
|
||||
|
||||
@@ -5,12 +5,11 @@ description: backrest
|
||||
keywords:
|
||||
- backrest
|
||||
- backup
|
||||
home: https://docs.alexlebens.dev/applications/backrest/
|
||||
home: https://wiki.alexlebens.dev/
|
||||
sources:
|
||||
- https://github.com/garethgeorge/backrest
|
||||
- https://github.com/garethgeorge/backrest/pkgs/container/backrest
|
||||
- https://hub.docker.com/r/garethgeorge/backrest
|
||||
- https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template
|
||||
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/volsync-target
|
||||
maintainers:
|
||||
- name: alexlebens
|
||||
dependencies:
|
||||
|
||||
@@ -7,8 +7,9 @@ backrest:
|
||||
containers:
|
||||
main:
|
||||
image:
|
||||
repository: ghcr.io/garethgeorge/backrest
|
||||
tag: v1.12.1@sha256:f4d34bd6fa985d13bdb6c01c5d8727e07708899afa9567d800808357d77b9fb0
|
||||
repository: garethgeorge/backrest
|
||||
tag: v1.12.1
|
||||
pullPolicy: IfNotPresent
|
||||
env:
|
||||
- name: TZ
|
||||
value: America/Chicago
|
||||
@@ -22,8 +23,8 @@ backrest:
|
||||
value: /tmp
|
||||
resources:
|
||||
requests:
|
||||
cpu: 1m
|
||||
memory: 30Mi
|
||||
cpu: 10m
|
||||
memory: 256Mi
|
||||
service:
|
||||
main:
|
||||
controller: main
|
||||
@@ -32,19 +33,6 @@ backrest:
|
||||
port: 80
|
||||
targetPort: 9898
|
||||
protocol: TCP
|
||||
serviceMonitor:
|
||||
main:
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/name: backrest
|
||||
app.kubernetes.io/instance: backrest
|
||||
serviceName: '{{ include "bjw-s.common.lib.chart.names.fullname" $ }}'
|
||||
endpoints:
|
||||
- port: http
|
||||
scheme: http
|
||||
path: /metrics
|
||||
interval: 300s
|
||||
scrapeTimeout: 15s
|
||||
route:
|
||||
main:
|
||||
kind: HTTPRoute
|
||||
@@ -57,8 +45,11 @@ backrest:
|
||||
- backrest.alexlebens.net
|
||||
rules:
|
||||
- backendRefs:
|
||||
- name: backrest
|
||||
- group: ''
|
||||
kind: Service
|
||||
name: backrest
|
||||
port: 80
|
||||
weight: 100
|
||||
matches:
|
||||
- path:
|
||||
type: PathPrefix
|
||||
@@ -69,6 +60,7 @@ backrest:
|
||||
storageClass: ceph-block
|
||||
accessMode: ReadWriteOnce
|
||||
size: 10Gi
|
||||
retain: true
|
||||
advancedMounts:
|
||||
main:
|
||||
main:
|
||||
@@ -79,6 +71,7 @@ backrest:
|
||||
storageClass: ceph-block
|
||||
accessMode: ReadWriteOnce
|
||||
size: 1Gi
|
||||
retain: true
|
||||
advancedMounts:
|
||||
main:
|
||||
main:
|
||||
|
||||
@@ -4,14 +4,14 @@ version: 1.0.0
|
||||
description: Bazarr
|
||||
keywords:
|
||||
- bazarr
|
||||
- servarr
|
||||
- subtitles
|
||||
home: https://docs.alexlebens.dev/applications/bazarr/
|
||||
home: https://wiki.alexlebens.dev/s/
|
||||
sources:
|
||||
- https://github.com/morpheus65535/bazarr
|
||||
- https://github.com/linuxserver/docker-bazarr
|
||||
- https://github.com/linuxserver/docker-bazarr/pkgs/container/bazarr
|
||||
- https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template
|
||||
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/volsync-target
|
||||
maintainers:
|
||||
- name: alexlebens
|
||||
dependencies:
|
||||
|
||||
@@ -4,6 +4,7 @@ bazarr:
|
||||
type: deployment
|
||||
replicas: 1
|
||||
strategy: Recreate
|
||||
revisionHistoryLimit: 3
|
||||
pod:
|
||||
securityContext:
|
||||
runAsUser: 1000
|
||||
@@ -14,20 +15,19 @@ bazarr:
|
||||
main:
|
||||
image:
|
||||
repository: ghcr.io/linuxserver/bazarr
|
||||
tag: v1.5.6-ls342@sha256:9a631194c0dee21c85b5bff59e23610e1ae2f54594e922973949d271102e585e
|
||||
tag: 1.5.6@sha256:05f9d5b24884f37120453dc1a008a47be244eebec32099ae1bd29032e75b67aa
|
||||
pullPolicy: IfNotPresent
|
||||
env:
|
||||
- name: TZ
|
||||
value: America/Chicago
|
||||
value: US/Central
|
||||
- name: PUID
|
||||
value: 1000
|
||||
- name: PGID
|
||||
value: 1000
|
||||
resources:
|
||||
limits:
|
||||
cpu: 100m
|
||||
requests:
|
||||
cpu: 1m
|
||||
memory: 250Mi
|
||||
cpu: 10m
|
||||
memory: 256Mi
|
||||
service:
|
||||
main:
|
||||
controller: main
|
||||
@@ -48,8 +48,11 @@ bazarr:
|
||||
- bazarr.alexlebens.net
|
||||
rules:
|
||||
- backendRefs:
|
||||
- name: bazarr
|
||||
- group: ''
|
||||
kind: Service
|
||||
name: bazarr
|
||||
port: 80
|
||||
weight: 100
|
||||
matches:
|
||||
- path:
|
||||
type: PathPrefix
|
||||
@@ -60,6 +63,7 @@ bazarr:
|
||||
storageClass: ceph-block
|
||||
accessMode: ReadWriteOnce
|
||||
size: 5Gi
|
||||
retain: true
|
||||
advancedMounts:
|
||||
main:
|
||||
main:
|
||||
|
||||
@@ -5,12 +5,11 @@ description: Blocky
|
||||
keywords:
|
||||
- blocky
|
||||
- dns
|
||||
home: https://docs.alexlebens.dev/applications/blocky/
|
||||
home: https://wiki.alexlebens.dev/s/cf70113d-20bc-48ad-afb8-1e22ed3fd62a
|
||||
sources:
|
||||
- https://github.com/0xERR0R/blocky
|
||||
- https://github.com/0xERR0R/blocky/pkgs/container/blocky
|
||||
- https://hub.docker.com/r/spx01/blocky
|
||||
- https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template
|
||||
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/valkey
|
||||
maintainers:
|
||||
- name: alexlebens
|
||||
dependencies:
|
||||
|
||||
@@ -4,18 +4,20 @@ blocky:
|
||||
type: deployment
|
||||
replicas: 3
|
||||
strategy: RollingUpdate
|
||||
revisionHistoryLimit: 3
|
||||
containers:
|
||||
main:
|
||||
image:
|
||||
repository: ghcr.io/0xerr0r/blocky
|
||||
tag: v0.29.0@sha256:a6d99f323d3036a99a3767a52ad612f4d8f3f31167492bfc14d4ea57b24cdfd0
|
||||
pullPolicy: IfNotPresent
|
||||
env:
|
||||
- name: TZ
|
||||
value: America/Chicago
|
||||
value: US/Central
|
||||
resources:
|
||||
requests:
|
||||
cpu: 10m
|
||||
memory: 100Mi
|
||||
memory: 128Mi
|
||||
configMaps:
|
||||
config:
|
||||
enabled: true
|
||||
@@ -96,7 +98,7 @@ blocky:
|
||||
|
||||
traefik-cl01tl IN A 10.232.1.21
|
||||
blocky IN A 10.232.1.22
|
||||
plex-lb IN A 10.232.1.23
|
||||
cilium-cl01tl IN A 10.232.1.23
|
||||
|
||||
|
||||
;; Application Names
|
||||
@@ -108,35 +110,31 @@ blocky:
|
||||
authentik IN CNAME traefik-cl01tl
|
||||
backrest IN CNAME traefik-cl01tl
|
||||
bazarr IN CNAME traefik-cl01tl
|
||||
booklore IN CNAME traefik-cl01tl
|
||||
ceph IN CNAME traefik-cl01tl
|
||||
code-server IN CNAME traefik-cl01tl
|
||||
dawarich IN CNAME traefik-cl01tl
|
||||
directus IN CNAME traefik-cl01tl
|
||||
excalidraw IN CNAME traefik-cl01tl
|
||||
feishin IN CNAME traefik-cl01tl
|
||||
foldergram IN CNAME traefik-cl01tl
|
||||
garage-s3 IN CNAME traefik-cl01tl
|
||||
garage-webui IN CNAME traefik-cl01tl
|
||||
gatus IN CNAME traefik-cl01tl
|
||||
gitea IN CNAME traefik-cl01tl
|
||||
grafana IN CNAME traefik-cl01tl
|
||||
grimmory IN CNAME traefik-cl01tl
|
||||
harbor IN CNAME traefik-cl01tl
|
||||
headlamp IN CNAME traefik-cl01tl
|
||||
home IN CNAME traefik-cl01tl
|
||||
home-assistant IN CNAME traefik-cl01tl
|
||||
home-assistant-code-server IN CNAME traefik-cl01tl
|
||||
houndarr IN CNAME traefik-cl01tl
|
||||
hubble IN CNAME traefik-cl01tl
|
||||
immich IN CNAME traefik-cl01tl
|
||||
jellyfin IN CNAME traefik-cl01tl
|
||||
jellystat IN CNAME traefik-cl01tl
|
||||
kiwix IN CNAME traefik-cl01tl
|
||||
komodo IN CNAME traefik-cl01tl
|
||||
languagetool IN CNAME traefik-cl01tl
|
||||
lidarr IN CNAME traefik-cl01tl
|
||||
mail IN CNAME traefik-cl01tl
|
||||
medialyze IN CNAME traefik-cl01tl
|
||||
movie-roulette IN CNAME traefik-cl01tl
|
||||
music-grabber IN CNAME traefik-cl01tl
|
||||
navidrome IN CNAME traefik-cl01tl
|
||||
|
||||
@@ -8,5 +8,8 @@ dependencies:
|
||||
- name: volsync-target
|
||||
repository: oci://harbor.alexlebens.net/helm-charts
|
||||
version: 0.8.0
|
||||
digest: sha256:6ee403da03c1bcc0289a9abdef0508344072d51173da996eda69b8305d5feefa
|
||||
generated: "2026-03-23T20:35:19.743257-05:00"
|
||||
- name: volsync-target
|
||||
repository: oci://harbor.alexlebens.net/helm-charts
|
||||
version: 0.8.0
|
||||
digest: sha256:e65fa008c652092da5431e9780eb2a87c944298a12e58e432efad61c9e826da5
|
||||
generated: "2026-03-14T23:57:22.721295098Z"
|
||||
33
clusters/cl01tl/helm/booklore/Chart.yaml
Normal file
33
clusters/cl01tl/helm/booklore/Chart.yaml
Normal file
@@ -0,0 +1,33 @@
|
||||
apiVersion: v2
|
||||
name: booklore
|
||||
version: 1.0.0
|
||||
description: booklore
|
||||
keywords:
|
||||
- booklore
|
||||
- books
|
||||
home: https://wiki.alexlebens.dev/
|
||||
sources:
|
||||
- https://github.com/booklore-app/BookLore
|
||||
- https://github.com/booklore-app/booklore/pkgs/container/booklore
|
||||
- https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template
|
||||
maintainers:
|
||||
- name: alexlebens
|
||||
dependencies:
|
||||
- name: app-template
|
||||
alias: booklore
|
||||
repository: https://bjw-s-labs.github.io/helm-charts/
|
||||
version: 4.6.2
|
||||
- name: mariadb-cluster
|
||||
version: 26.3.0
|
||||
repository: https://helm.mariadb.com/mariadb-operator
|
||||
- name: volsync-target
|
||||
alias: volsync-target-config
|
||||
version: 0.8.0
|
||||
repository: oci://harbor.alexlebens.net/helm-charts
|
||||
- name: volsync-target
|
||||
alias: volsync-target-data
|
||||
version: 0.8.0
|
||||
repository: oci://harbor.alexlebens.net/helm-charts
|
||||
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/booklore.png
|
||||
# renovate: datasource=github-releases depName=booklore-app/BookLore
|
||||
appVersion: v2.2.1
|
||||
@@ -1,10 +1,10 @@
|
||||
apiVersion: external-secrets.io/v1
|
||||
kind: ExternalSecret
|
||||
metadata:
|
||||
name: grimmory-database-secret
|
||||
name: booklore-database-secret
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels:
|
||||
app.kubernetes.io/name: grimmory-database-secret
|
||||
app.kubernetes.io/name: booklore-database-secret
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
||||
spec:
|
||||
@@ -14,17 +14,20 @@ spec:
|
||||
data:
|
||||
- secretKey: password
|
||||
remoteRef:
|
||||
key: /cl01tl/grimmory/database
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /cl01tl/booklore/database
|
||||
metadataPolicy: None
|
||||
property: password
|
||||
|
||||
---
|
||||
apiVersion: external-secrets.io/v1
|
||||
kind: ExternalSecret
|
||||
metadata:
|
||||
name: grimmory-data-replication-secret
|
||||
name: booklore-data-replication-secret
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels:
|
||||
app.kubernetes.io/name: grimmory-data-replication-secret
|
||||
app.kubernetes.io/name: booklore-data-replication-secret
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
||||
spec:
|
||||
@@ -34,17 +37,20 @@ spec:
|
||||
data:
|
||||
- secretKey: psk.txt
|
||||
remoteRef:
|
||||
key: /cl01tl/grimmory/replication
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /cl01tl/booklore/replication
|
||||
metadataPolicy: None
|
||||
property: psk.txt
|
||||
|
||||
---
|
||||
apiVersion: external-secrets.io/v1
|
||||
kind: ExternalSecret
|
||||
metadata:
|
||||
name: grimmory-mariadb-cluster-backup-secret-external
|
||||
name: booklore-mariadb-cluster-backup-secret-external
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels:
|
||||
app.kubernetes.io/name: grimmory-mariadb-cluster-backup-secret-external
|
||||
app.kubernetes.io/name: booklore-mariadb-cluster-backup-secret-external
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
||||
spec:
|
||||
@@ -54,21 +60,27 @@ spec:
|
||||
data:
|
||||
- secretKey: access
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /digital-ocean/home-infra/mariadb-backups
|
||||
metadataPolicy: None
|
||||
property: access
|
||||
- secretKey: secret
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /digital-ocean/home-infra/mariadb-backups
|
||||
metadataPolicy: None
|
||||
property: secret
|
||||
|
||||
---
|
||||
apiVersion: external-secrets.io/v1
|
||||
kind: ExternalSecret
|
||||
metadata:
|
||||
name: grimmory-mariadb-cluster-backup-secret-garage
|
||||
name: booklore-mariadb-cluster-backup-secret-garage
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels:
|
||||
app.kubernetes.io/name: grimmory-mariadb-cluster-backup-secret-garage
|
||||
app.kubernetes.io/name: booklore-mariadb-cluster-backup-secret-garage
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
||||
spec:
|
||||
@@ -78,9 +90,15 @@ spec:
|
||||
data:
|
||||
- secretKey: access
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /garage/home-infra/mariadb-backups
|
||||
metadataPolicy: None
|
||||
property: access
|
||||
- secretKey: secret
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /garage/home-infra/mariadb-backups
|
||||
metadataPolicy: None
|
||||
property: secret
|
||||
@@ -1,11 +1,11 @@
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: grimmory
|
||||
name: booklore
|
||||
annotations:
|
||||
volsync.backube/privileged-movers: "true"
|
||||
labels:
|
||||
app.kubernetes.io/name: grimmory
|
||||
app.kubernetes.io/name: booklore
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
||||
pod-security.kubernetes.io/audit: privileged
|
||||
@@ -1,14 +1,14 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: grimmory-books-nfs-storage
|
||||
name: booklore-books-nfs-storage
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels:
|
||||
app.kubernetes.io/name: grimmory-books-nfs-storage
|
||||
app.kubernetes.io/name: booklore-books-nfs-storage
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
||||
spec:
|
||||
volumeName: grimmory-books-nfs-storage
|
||||
volumeName: booklore-books-nfs-storage
|
||||
storageClassName: nfs-client
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
@@ -20,14 +20,14 @@ spec:
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: grimmory-books-import-nfs-storage
|
||||
name: booklore-books-import-nfs-storage
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels:
|
||||
app.kubernetes.io/name: grimmory-books-import-nfs-storage
|
||||
app.kubernetes.io/name: booklore-books-import-nfs-storage
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
||||
spec:
|
||||
volumeName: grimmory-books-import-nfs-storage
|
||||
volumeName: booklore-books-import-nfs-storage
|
||||
storageClassName: nfs-client
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
@@ -1,10 +1,10 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: grimmory-books-nfs-storage
|
||||
name: booklore-books-nfs-storage
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels:
|
||||
app.kubernetes.io/name: grimmory-books-nfs-storage
|
||||
app.kubernetes.io/name: booklore-books-nfs-storage
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
||||
spec:
|
||||
@@ -26,10 +26,10 @@ spec:
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: grimmory-books-import-nfs-storage
|
||||
name: booklore-books-import-nfs-storage
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels:
|
||||
app.kubernetes.io/name: grimmory-books-import-nfs-storage
|
||||
app.kubernetes.io/name: booklore-books-import-nfs-storage
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
||||
spec:
|
||||
@@ -1,18 +1,16 @@
|
||||
grimmory:
|
||||
booklore:
|
||||
controllers:
|
||||
main:
|
||||
type: deployment
|
||||
replicas: 1
|
||||
strategy: Recreate
|
||||
pod:
|
||||
securityContext:
|
||||
fsGroup: 1000
|
||||
fsGroupChangePolicy: OnRootMismatch
|
||||
revisionHistoryLimit: 3
|
||||
containers:
|
||||
main:
|
||||
image:
|
||||
repository: ghcr.io/grimmory-tools/grimmory
|
||||
tag: v2.3.0@sha256:9014247f591074529894f81115ca40f899db697e89f72c2fe91ec530e3f19597
|
||||
repository: ghcr.io/booklore-app/booklore
|
||||
tag: v2.2.1
|
||||
pullPolicy: IfNotPresent
|
||||
env:
|
||||
- name: TZ
|
||||
value: America/Chicago
|
||||
@@ -21,22 +19,22 @@ grimmory:
|
||||
- name: GROUP_ID
|
||||
value: 1000
|
||||
- name: DATABASE_URL
|
||||
value: jdbc:mariadb://grimmory-mariadb-cluster-primary.grimmory:3306/booklore
|
||||
value: jdbc:mariadb://booklore-mariadb-cluster-primary.booklore:3306/booklore
|
||||
- name: DATABASE_USERNAME
|
||||
value: grimmory
|
||||
value: booklore
|
||||
- name: DATABASE_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: grimmory-database-secret
|
||||
name: booklore-database-secret
|
||||
key: password
|
||||
- name: GRIMMORY_PORT
|
||||
- name: BOOKLORE_PORT
|
||||
value: 6060
|
||||
- name: SWAGGER_ENABLED
|
||||
value: false
|
||||
resources:
|
||||
requests:
|
||||
cpu: 10m
|
||||
memory: 1Gi
|
||||
cpu: 50m
|
||||
memory: 128Mi
|
||||
service:
|
||||
main:
|
||||
controller: main
|
||||
@@ -54,26 +52,41 @@ grimmory:
|
||||
name: traefik-gateway
|
||||
namespace: traefik
|
||||
hostnames:
|
||||
- grimmory.alexlebens.net
|
||||
- booklore.alexlebens.net
|
||||
rules:
|
||||
- backendRefs:
|
||||
- name: grimmory
|
||||
- group: ''
|
||||
kind: Service
|
||||
name: booklore
|
||||
port: 80
|
||||
weight: 100
|
||||
matches:
|
||||
- path:
|
||||
type: PathPrefix
|
||||
value: /
|
||||
persistence:
|
||||
config:
|
||||
forceRename: grimmory-config
|
||||
forceRename: booklore-config
|
||||
storageClass: ceph-block
|
||||
accessMode: ReadWriteOnce
|
||||
size: 5Gi
|
||||
retain: true
|
||||
advancedMounts:
|
||||
main:
|
||||
main:
|
||||
- path: /app/data
|
||||
readOnly: false
|
||||
data:
|
||||
forceRename: booklore-data
|
||||
storageClass: ceph-block
|
||||
accessMode: ReadWriteOnce
|
||||
size: 10Gi
|
||||
retain: true
|
||||
advancedMounts:
|
||||
main:
|
||||
main:
|
||||
- path: /data
|
||||
readOnly: false
|
||||
books-import:
|
||||
type: emptyDir
|
||||
advancedMounts:
|
||||
@@ -81,15 +94,8 @@ grimmory:
|
||||
main:
|
||||
- path: /bookdrop
|
||||
readOnly: false
|
||||
data:
|
||||
existingClaim: grimmory-books-nfs-storage
|
||||
advancedMounts:
|
||||
main:
|
||||
main:
|
||||
- path: /data
|
||||
readOnly: false
|
||||
ingest:
|
||||
existingClaim: grimmory-books-import-nfs-storage
|
||||
existingClaim: booklore-books-import-nfs-storage
|
||||
advancedMounts:
|
||||
main:
|
||||
main:
|
||||
@@ -99,7 +105,7 @@ mariadb-cluster:
|
||||
mariadb:
|
||||
rootPasswordSecretKeyRef:
|
||||
generate: false
|
||||
name: grimmory-database-secret
|
||||
name: booklore-database-secret
|
||||
key: password
|
||||
storage:
|
||||
size: 5Gi
|
||||
@@ -109,14 +115,14 @@ mariadb-cluster:
|
||||
bootstrapFrom:
|
||||
s3:
|
||||
bucket: mariadb-backups-b230a2f5aecf080a4b372c08
|
||||
prefix: cl01tl/grimmory
|
||||
prefix: cl01tl/booklore
|
||||
endpoint: nyc3.digitaloceanspaces.com
|
||||
region: us-east-1
|
||||
accessKeyIdSecretKeyRef:
|
||||
name: grimmory-mariadb-cluster-backup-secret-external
|
||||
name: booklore-mariadb-cluster-backup-secret-external
|
||||
key: access
|
||||
secretAccessKeySecretKeyRef:
|
||||
name: grimmory-mariadb-cluster-backup-secret-external
|
||||
name: booklore-mariadb-cluster-backup-secret-external
|
||||
key: secret
|
||||
tls:
|
||||
enabled: true
|
||||
@@ -128,22 +134,21 @@ mariadb-cluster:
|
||||
cleanupPolicy: Delete
|
||||
requeueInterval: 10h
|
||||
users:
|
||||
- name: grimmory
|
||||
- name: booklore
|
||||
passwordSecretKeyRef:
|
||||
name: grimmory-database-secret
|
||||
name: booklore-database-secret
|
||||
key: password
|
||||
host: '%'
|
||||
maxUserConnections: 100
|
||||
cleanupPolicy: Delete
|
||||
requeueInterval: 10h
|
||||
retryInterval: 30s
|
||||
grants:
|
||||
- name: grimmory
|
||||
- name: booklore
|
||||
privileges:
|
||||
- "ALL PRIVILEGES"
|
||||
database: "booklore"
|
||||
table: "*"
|
||||
username: grimmory
|
||||
username: booklore
|
||||
grantOption: true
|
||||
host: '%'
|
||||
cleanupPolicy: Delete
|
||||
@@ -161,14 +166,14 @@ mariadb-cluster:
|
||||
storage:
|
||||
s3:
|
||||
bucket: mariadb-backups-b230a2f5aecf080a4b372c08
|
||||
prefix: cl01tl/grimmory
|
||||
prefix: cl01tl/booklore
|
||||
endpoint: nyc3.digitaloceanspaces.com
|
||||
region: us-east-1
|
||||
accessKeyIdSecretKeyRef:
|
||||
name: grimmory-mariadb-cluster-backup-secret-external
|
||||
name: booklore-mariadb-cluster-backup-secret-external
|
||||
key: access
|
||||
secretAccessKeySecretKeyRef:
|
||||
name: grimmory-mariadb-cluster-backup-secret-external
|
||||
name: booklore-mariadb-cluster-backup-secret-external
|
||||
key: secret
|
||||
tls:
|
||||
enabled: true
|
||||
@@ -183,14 +188,14 @@ mariadb-cluster:
|
||||
storage:
|
||||
s3:
|
||||
bucket: mariadb-backups
|
||||
prefix: cl01tl/grimmory
|
||||
prefix: cl01tl/booklore
|
||||
endpoint: garage-ps10rp.boreal-beaufort.ts.net:3900
|
||||
region: us-east-1
|
||||
accessKeyIdSecretKeyRef:
|
||||
name: grimmory-mariadb-cluster-backup-secret-garage
|
||||
name: booklore-mariadb-cluster-backup-secret-garage
|
||||
key: access
|
||||
secretAccessKeySecretKeyRef:
|
||||
name: grimmory-mariadb-cluster-backup-secret-garage
|
||||
name: booklore-mariadb-cluster-backup-secret-garage
|
||||
key: secret
|
||||
tls:
|
||||
enabled: true
|
||||
@@ -205,20 +210,17 @@ mariadb-cluster:
|
||||
storage:
|
||||
s3:
|
||||
bucket: mariadb-backups
|
||||
prefix: cl01tl/grimmory
|
||||
prefix: cl01tl/booklore
|
||||
endpoint: garage-main.garage:3900
|
||||
region: us-east-1
|
||||
accessKeyIdSecretKeyRef:
|
||||
name: grimmory-mariadb-cluster-backup-secret-garage
|
||||
name: booklore-mariadb-cluster-backup-secret-garage
|
||||
key: access
|
||||
secretAccessKeySecretKeyRef:
|
||||
name: grimmory-mariadb-cluster-backup-secret-garage
|
||||
name: booklore-mariadb-cluster-backup-secret-garage
|
||||
key: secret
|
||||
volsync-target-config:
|
||||
pvcTarget: grimmory-config
|
||||
moverSecurityContext:
|
||||
fsGroup: 1000
|
||||
fsGroupChangePolicy: OnRootMismatch
|
||||
pvcTarget: booklore-config
|
||||
local:
|
||||
enabled: true
|
||||
schedule: 12 8 * * *
|
||||
@@ -228,3 +230,20 @@ volsync-target-config:
|
||||
external:
|
||||
enabled: true
|
||||
schedule: 12 10 * * *
|
||||
volsync-target-data:
|
||||
pvcTarget: booklore-data
|
||||
local:
|
||||
enabled: true
|
||||
schedule: 14 8 * * *
|
||||
restic:
|
||||
cacheCapacity: 10Gi
|
||||
remote:
|
||||
enabled: true
|
||||
schedule: 14 9 * * *
|
||||
restic:
|
||||
cacheCapacity: 10Gi
|
||||
external:
|
||||
enabled: true
|
||||
schedule: 14 10 * * *
|
||||
restic:
|
||||
cacheCapacity: 10Gi
|
||||
@@ -5,7 +5,8 @@ description: Cert Manager
|
||||
keywords:
|
||||
- cert-manager
|
||||
- certificates
|
||||
home: https://docs.alexlebens.dev/applications/cert-manager/
|
||||
- kubernetes
|
||||
home: https://wiki.alexlebens.dev/s/368fe718-eedb-40e0-a5a7-fad03cdc6b09
|
||||
sources:
|
||||
- https://github.com/cert-manager/cert-manager
|
||||
- https://github.com/cert-manager/cert-manager/tree/master/deploy/charts/cert-manager
|
||||
@@ -15,6 +16,6 @@ dependencies:
|
||||
- name: cert-manager
|
||||
version: v1.20.0
|
||||
repository: https://charts.jetstack.io
|
||||
icon: https://raw.githubusercontent.com/cert-manager/cert-manager/refs/heads/master/logo/logo.png
|
||||
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/cert-manager.png
|
||||
# renovate: datasource=github-releases depName=cert-manager/cert-manager
|
||||
appVersion: v1.20.0
|
||||
|
||||
@@ -2,11 +2,6 @@ apiVersion: cert-manager.io/v1
|
||||
kind: ClusterIssuer
|
||||
metadata:
|
||||
name: letsencrypt-issuer
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels:
|
||||
app.kubernetes.io/name: letsencrypt-issuer
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
||||
spec:
|
||||
acme:
|
||||
email: alexanderlebens@gmail.com
|
||||
|
||||
@@ -14,5 +14,8 @@ spec:
|
||||
data:
|
||||
- secretKey: api-token
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /cloudflare/alexlebens.net/clusterissuer
|
||||
metadataPolicy: None
|
||||
property: token
|
||||
|
||||
@@ -3,16 +3,10 @@ cert-manager:
|
||||
enabled: true
|
||||
keep: true
|
||||
replicaCount: 2
|
||||
podDisruptionBudget:
|
||||
enabled: true
|
||||
minAvailable: 1
|
||||
extraArgs:
|
||||
- --enable-gateway-api
|
||||
resources:
|
||||
requests:
|
||||
cpu: 10m
|
||||
memory: 64Mi
|
||||
prometheus:
|
||||
enabled: true
|
||||
servicemonitor:
|
||||
enabled: true
|
||||
honorLabels: true
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
dependencies:
|
||||
- name: cilium
|
||||
repository: https://helm.cilium.io/
|
||||
version: 1.19.2
|
||||
digest: sha256:11f8eef4733b70c2b9a91ce39fe3c1ea1ad3fa3c46750efb015e03ff6ea3655b
|
||||
generated: "2026-03-27T06:03:34.264955338Z"
|
||||
version: 1.18.6
|
||||
digest: sha256:8ea328ac238524b5b423e6289f5e25d05ef64e6aa19cfd5de238f1d5dd533e9b
|
||||
generated: "2026-02-05T12:00:20.15778-06:00"
|
||||
|
||||
@@ -4,18 +4,19 @@ version: 1.0.0
|
||||
description: Cilium
|
||||
keywords:
|
||||
- cilium
|
||||
- operator
|
||||
- cni
|
||||
- network
|
||||
home: https://docs.alexlebens.dev/applications/cilium/
|
||||
- kubernetes
|
||||
home: https://wiki.alexlebens.dev/s/9e6f5b17-e186-4af0-81cd-af647b162d3d
|
||||
sources:
|
||||
- https://github.com/cilium/cilium
|
||||
- https://github.com/cilium/cilium/tree/main/install/kubernetes/cilium
|
||||
- https://github.com/cilium/charts
|
||||
maintainers:
|
||||
- name: alexlebens
|
||||
dependencies:
|
||||
- name: cilium
|
||||
version: 1.19.2
|
||||
version: 1.18.6
|
||||
repository: https://helm.cilium.io/
|
||||
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/cilium.png
|
||||
# renovate: datasource=github-releases depName=cilium/cilium
|
||||
appVersion: 1.19.2
|
||||
appVersion: 1.19.1
|
||||
|
||||
@@ -25,24 +25,36 @@ cilium:
|
||||
- NET_ADMIN
|
||||
- SYS_ADMIN
|
||||
- SYS_RESOURCE
|
||||
l2announcements:
|
||||
enabled: false
|
||||
bgpControlPlane:
|
||||
enabled: false
|
||||
secretsNamespace:
|
||||
name: kube-system
|
||||
statusReport:
|
||||
enabled: true
|
||||
routerIDAllocation:
|
||||
mode: "default"
|
||||
bpf:
|
||||
hostLegacyRouting: true
|
||||
devices: end0 enp6s0
|
||||
ciliumEndpointSlice:
|
||||
enabled: true
|
||||
ingressController:
|
||||
enabled: false
|
||||
gatewayAPI:
|
||||
enabled: true
|
||||
enableAppProtocol: true
|
||||
enableAlpn: true
|
||||
secretsNamespace:
|
||||
create: false
|
||||
name: kube-system
|
||||
enableAppProtocol: true
|
||||
gatewayClass:
|
||||
create: auto
|
||||
externalIPs:
|
||||
enabled: true
|
||||
socketLB:
|
||||
enabled: true
|
||||
hostNamespaceOnly: true
|
||||
hubble:
|
||||
enabled: true
|
||||
metrics:
|
||||
serviceMonitor:
|
||||
enabled: true
|
||||
@@ -56,6 +68,8 @@ cilium:
|
||||
enabled: true
|
||||
ui:
|
||||
enabled: true
|
||||
ingress:
|
||||
enabled: false
|
||||
ipam:
|
||||
mode: "kubernetes"
|
||||
ipv4:
|
||||
@@ -63,11 +77,12 @@ cilium:
|
||||
ipv6:
|
||||
enabled: false
|
||||
kubeProxyReplacement: true
|
||||
l7Proxy: true
|
||||
prometheus:
|
||||
enabled: true
|
||||
serviceMonitor:
|
||||
enabled: true
|
||||
trustCRDsExist: true
|
||||
enabled: true
|
||||
envoy:
|
||||
enabled: true
|
||||
securityContext:
|
||||
@@ -79,11 +94,14 @@ cilium:
|
||||
- PERFMON
|
||||
- BPF
|
||||
prometheus:
|
||||
enabled: true
|
||||
serviceMonitor:
|
||||
enabled: true
|
||||
operator:
|
||||
enabled: true
|
||||
rollOutPods: true
|
||||
prometheus:
|
||||
enabled: true
|
||||
serviceMonitor:
|
||||
enabled: true
|
||||
cgroup:
|
||||
|
||||
@@ -6,11 +6,10 @@ keywords:
|
||||
- cloudnative-pg
|
||||
- operator
|
||||
- postgresql
|
||||
home: https://docs.alexlebens.dev/applications/cloudnative-pg/
|
||||
- kubernetes
|
||||
home: https://wiki.alexlebens.dev/s/9fb10833-0278-4e64-a34c-d348d833839f
|
||||
sources:
|
||||
- https://github.com/cloudnative-pg/cloudnative-pg
|
||||
- https://github.com/cloudnative-pg/plugin-barman-cloud
|
||||
- https://github.com/cloudnative-pg/postgres-containers/pkgs/container/postgresql
|
||||
- https://github.com/cloudnative-pg/charts/tree/main/charts/cloudnative-pg
|
||||
- https://github.com/cloudnative-pg/charts/tree/main/charts/plugin-barman-cloud
|
||||
maintainers:
|
||||
@@ -22,6 +21,6 @@ dependencies:
|
||||
- name: plugin-barman-cloud
|
||||
version: 0.5.0
|
||||
repository: https://cloudnative-pg.io/charts/
|
||||
icon: https://raw.githubusercontent.com/cloudnative-pg/cloudnative-pg.github.io/refs/heads/main/assets/images/hero_image.png
|
||||
icon: https://avatars.githubusercontent.com/u/100373852?s=200&v=4
|
||||
# renovate: datasource=github-releases depName=cloudnative-pg/cloudnative-pg
|
||||
appVersion: 1.28.1
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
cloudnative-pg:
|
||||
replicaCount: 2
|
||||
resources:
|
||||
requests:
|
||||
cpu: 10m
|
||||
memory: 100Mi
|
||||
monitoring:
|
||||
podMonitorEnabled: true
|
||||
plugin-barman-cloud:
|
||||
replicaCount: 1
|
||||
image:
|
||||
registry: ghcr.io
|
||||
repository: cloudnative-pg/plugin-barman-cloud
|
||||
tag: v0.11.0
|
||||
sidecarImage:
|
||||
registry: ghcr.io
|
||||
repository: cloudnative-pg/plugin-barman-cloud-sidecar
|
||||
tag: v0.11.0
|
||||
crds:
|
||||
create: true
|
||||
resources:
|
||||
requests:
|
||||
cpu: 1m
|
||||
memory: 20Mi
|
||||
|
||||
@@ -5,14 +5,14 @@ description: Code Server
|
||||
keywords:
|
||||
- code-server
|
||||
- code
|
||||
home: https://docs.alexlebens.dev/applications/code-server/
|
||||
- ide
|
||||
home: https://wiki.alexlebens.dev/s/233f96bb-db70-47e4-8b22-a8efcbb0f93d
|
||||
sources:
|
||||
- https://github.com/coder/code-server
|
||||
- https://github.com/linuxserver/docker-code-server
|
||||
- https://github.com/linuxserver/docker-code-server/pkgs/container/code-server
|
||||
- https://github.com/cloudflare/cloudflared
|
||||
- https://hub.docker.com/r/linuxserver/code-server
|
||||
- https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template
|
||||
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/cloudflared
|
||||
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/volsync-target
|
||||
maintainers:
|
||||
- name: alexlebens
|
||||
dependencies:
|
||||
@@ -28,5 +28,5 @@ dependencies:
|
||||
version: 0.8.0
|
||||
repository: oci://harbor.alexlebens.net/helm-charts
|
||||
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/visual-studio-code.png
|
||||
# renovate: datasource=github-releases depName=coder/code-server
|
||||
appVersion: 4.112.0
|
||||
# renovate: datasource=github-releases depName=linuxserver/docker-code-server
|
||||
appVersion: 4.108.1
|
||||
|
||||
@@ -14,9 +14,15 @@ spec:
|
||||
data:
|
||||
- secretKey: PASSWORD
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /cl01tl/code-server/auth
|
||||
metadataPolicy: None
|
||||
property: PASSWORD
|
||||
- secretKey: SUDO_PASSWORD
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /cl01tl/code-server/auth
|
||||
metadataPolicy: None
|
||||
property: SUDO_PASSWORD
|
||||
|
||||
@@ -4,18 +4,16 @@ code-server:
|
||||
type: deployment
|
||||
replicas: 1
|
||||
strategy: Recreate
|
||||
pod:
|
||||
securityContext:
|
||||
fsGroup: 1000
|
||||
fsGroupChangePolicy: OnRootMismatch
|
||||
revisionHistoryLimit: 3
|
||||
containers:
|
||||
main:
|
||||
image:
|
||||
repository: ghcr.io/linuxserver/code-server
|
||||
tag: 4.112.0@sha256:4bb5b8ad22268001687c047f0f04933799fb03df1eb0e1e266ba15ed2d9f4e8b
|
||||
tag: 4.111.0@sha256:12c04b41f601604795562ece2ac64cade7cfca632415f4bfb1742477e3226272
|
||||
pullPolicy: IfNotPresent
|
||||
env:
|
||||
- name: TZ
|
||||
value: America/Chicago
|
||||
value: US/Central
|
||||
- name: PUID
|
||||
value: 1000
|
||||
- name: PGID
|
||||
@@ -27,8 +25,8 @@ code-server:
|
||||
name: codeserver-password-secret
|
||||
resources:
|
||||
requests:
|
||||
cpu: 1m
|
||||
memory: 50Mi
|
||||
cpu: 10m
|
||||
memory: 128Mi
|
||||
service:
|
||||
main:
|
||||
controller: main
|
||||
@@ -49,8 +47,11 @@ code-server:
|
||||
- code-server.alexlebens.net
|
||||
rules:
|
||||
- backendRefs:
|
||||
- name: code-server
|
||||
- group: ''
|
||||
kind: Service
|
||||
name: code-server
|
||||
port: 8443
|
||||
weight: 100
|
||||
matches:
|
||||
- path:
|
||||
type: PathPrefix
|
||||
@@ -61,6 +62,7 @@ code-server:
|
||||
storageClass: ceph-block
|
||||
accessMode: ReadWriteOnce
|
||||
size: 2Gi
|
||||
retain: true
|
||||
advancedMounts:
|
||||
main:
|
||||
main:
|
||||
|
||||
@@ -5,7 +5,9 @@ description: CoreDNS
|
||||
keywords:
|
||||
- coredns
|
||||
- dns
|
||||
home: https://docs.alexlebens.dev/applications/coredns/
|
||||
- network
|
||||
- kubernetes
|
||||
home: https://wiki.alexlebens.dev/s/
|
||||
sources:
|
||||
- https://github.com/coredns/coredns
|
||||
- https://github.com/coredns/helm
|
||||
@@ -15,6 +17,6 @@ dependencies:
|
||||
- name: coredns
|
||||
version: 1.45.2
|
||||
repository: https://coredns.github.io/helm
|
||||
icon: https://raw.githubusercontent.com/coredns/coredns.io/refs/heads/master/static/images/favicon.png
|
||||
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/coredns.png
|
||||
# renovate: datasource=github-releases depName=coredns/coredns
|
||||
appVersion: v1.14.2
|
||||
|
||||
@@ -1,18 +1,23 @@
|
||||
coredns:
|
||||
image:
|
||||
repository: registry.k8s.io/coredns/coredns
|
||||
tag: v1.14.2@sha256:e7e6440cfd1e919280958f5b5a6ab2b184d385bba774c12ad2a9e1e4183f90d9
|
||||
tag: v1.14.2
|
||||
replicaCount: 3
|
||||
resources:
|
||||
limits:
|
||||
cpu: null
|
||||
memory: null
|
||||
requests:
|
||||
cpu: 30m
|
||||
memory: 30Mi
|
||||
cpu: 50m
|
||||
memory: 128Mi
|
||||
rollingUpdate:
|
||||
maxUnavailable: 1
|
||||
maxSurge: 25%
|
||||
terminationGracePeriodSeconds: 30
|
||||
serviceType: "ClusterIP"
|
||||
prometheus:
|
||||
service:
|
||||
enabled: true
|
||||
annotations:
|
||||
prometheus.io/scrape: "true"
|
||||
prometheus.io/port: "9153"
|
||||
monitor:
|
||||
enabled: true
|
||||
namespace: kube-system
|
||||
@@ -24,7 +29,18 @@ coredns:
|
||||
serviceAccount:
|
||||
create: true
|
||||
name: coredns
|
||||
rbac:
|
||||
create: true
|
||||
isClusterService: true
|
||||
priorityClassName: system-cluster-critical
|
||||
securityContext:
|
||||
capabilities:
|
||||
add:
|
||||
- NET_BIND_SERVICE
|
||||
drop:
|
||||
- ALL
|
||||
readOnlyRootFilesystem: true
|
||||
allowPrivilegeEscalation: false
|
||||
servers:
|
||||
- zones:
|
||||
- zone: .
|
||||
@@ -61,8 +77,6 @@ coredns:
|
||||
- name: errors
|
||||
- name: cache
|
||||
parameters: 30
|
||||
- name: prometheus
|
||||
parameters: :9153
|
||||
- name: forward
|
||||
parameters: . 10.111.232.172
|
||||
- zones:
|
||||
@@ -74,8 +88,6 @@ coredns:
|
||||
- name: errors
|
||||
- name: cache
|
||||
parameters: 30
|
||||
- name: prometheus
|
||||
parameters: :9153
|
||||
- name: forward
|
||||
parameters: . 10.97.20.219
|
||||
nodeSelector:
|
||||
@@ -88,4 +100,6 @@ coredns:
|
||||
operator: Exists
|
||||
effect: NoSchedule
|
||||
deployment:
|
||||
skipConfig: false
|
||||
enabled: true
|
||||
name: coredns
|
||||
|
||||
@@ -5,13 +5,10 @@ description: Dawarich
|
||||
keywords:
|
||||
- dawarich
|
||||
- location
|
||||
home: https://docs.alexlebens.dev/applications/dawarich/
|
||||
home: https://wiki.alexlebens.dev/s/
|
||||
sources:
|
||||
- https://github.com/Freika/dawarich
|
||||
- https://hub.docker.com/r/freikin/dawarich
|
||||
- https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template
|
||||
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/postgres-cluster
|
||||
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/valkey
|
||||
maintainers:
|
||||
- name: alexlebens
|
||||
dependencies:
|
||||
@@ -29,4 +26,4 @@ dependencies:
|
||||
repository: oci://harbor.alexlebens.net/helm-charts
|
||||
icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/png/dawarich.png
|
||||
# renovate: datasource=github-releases depName=Freika/dawarich
|
||||
appVersion: 1.4.0
|
||||
appVersion: 1.3.4
|
||||
|
||||
@@ -14,7 +14,10 @@ spec:
|
||||
data:
|
||||
- secretKey: key
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /cl01tl/dawarich/key
|
||||
metadataPolicy: None
|
||||
property: key
|
||||
|
||||
---
|
||||
@@ -34,9 +37,15 @@ spec:
|
||||
data:
|
||||
- secretKey: client
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /authentik/oidc/dawarich
|
||||
metadataPolicy: None
|
||||
property: client
|
||||
- secretKey: secret
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /authentik/oidc/dawarich
|
||||
metadataPolicy: None
|
||||
property: secret
|
||||
|
||||
@@ -4,20 +4,15 @@ dawarich:
|
||||
type: deployment
|
||||
replicas: 1
|
||||
strategy: Recreate
|
||||
revisionHistoryLimit: 3
|
||||
containers:
|
||||
main:
|
||||
image:
|
||||
repository: freikin/dawarich
|
||||
tag: 1.4.0@sha256:07adb7643b00d1d8f606c675931d3604317fa3851b91b74ec503df8d50734cb8
|
||||
command:
|
||||
- "web-entrypoint.sh"
|
||||
args:
|
||||
- "bin/rails"
|
||||
- "server"
|
||||
- "-p"
|
||||
- "3000"
|
||||
- "-b"
|
||||
- "::"
|
||||
tag: 1.3.4
|
||||
pullPolicy: IfNotPresent
|
||||
command: ["web-entrypoint.sh"]
|
||||
args: ["bin/rails", "server", "-p", "3000", "-b", "::"]
|
||||
env:
|
||||
- name: RAILS_ENV
|
||||
value: production
|
||||
@@ -91,14 +86,14 @@ dawarich:
|
||||
value: true
|
||||
probes:
|
||||
liveness:
|
||||
enabled: true
|
||||
enabled: false
|
||||
custom: true
|
||||
spec:
|
||||
exec:
|
||||
command:
|
||||
- /bin/sh
|
||||
- -c
|
||||
- "wget -qO - http://127.0.0.1:3000/api/v1/health | grep -q '\"status\"\\s*:\\s*\"ok\"'"
|
||||
- wget -qO - http://127.0.0.1:3000/api/v1/health | grep -Eq '\"status\"\\s*:\\s*\"ok\"'
|
||||
failureThreshold: 5
|
||||
initialDelaySeconds: 60
|
||||
periodSeconds: 10
|
||||
@@ -106,16 +101,15 @@ dawarich:
|
||||
timeoutSeconds: 10
|
||||
resources:
|
||||
requests:
|
||||
cpu: 20m
|
||||
memory: 750Mi
|
||||
cpu: 10m
|
||||
memory: 128Mi
|
||||
sidekiq:
|
||||
image:
|
||||
repository: freikin/dawarich
|
||||
tag: 1.4.0@sha256:07adb7643b00d1d8f606c675931d3604317fa3851b91b74ec503df8d50734cb8
|
||||
command:
|
||||
- "sidekiq-entrypoint.sh"
|
||||
args:
|
||||
- "sidekiq"
|
||||
tag: 1.3.4
|
||||
pullPolicy: IfNotPresent
|
||||
command: ["sidekiq-entrypoint.sh"]
|
||||
args: ["sidekiq"]
|
||||
env:
|
||||
- name: RAILS_ENV
|
||||
value: production
|
||||
@@ -191,19 +185,23 @@ dawarich:
|
||||
value: true
|
||||
probes:
|
||||
liveness:
|
||||
enabled: true
|
||||
enabled: false
|
||||
custom: true
|
||||
spec:
|
||||
exec:
|
||||
command:
|
||||
- pgrep
|
||||
- -f
|
||||
- sidekiq
|
||||
- /bin/sh
|
||||
- -c
|
||||
- pgrep -f sidekiq
|
||||
failureThreshold: 5
|
||||
initialDelaySeconds: 60
|
||||
periodSeconds: 10
|
||||
successThreshold: 1
|
||||
timeoutSeconds: 10
|
||||
resources:
|
||||
requests:
|
||||
cpu: 10m
|
||||
memory: 128Mi
|
||||
service:
|
||||
main:
|
||||
controller: main
|
||||
@@ -240,8 +238,11 @@ dawarich:
|
||||
- dawarich.alexlebens.net
|
||||
rules:
|
||||
- backendRefs:
|
||||
- name: dawarich
|
||||
- group: ""
|
||||
kind: Service
|
||||
name: dawarich
|
||||
port: 80
|
||||
weight: 100
|
||||
matches:
|
||||
- path:
|
||||
type: PathPrefix
|
||||
@@ -252,6 +253,7 @@ dawarich:
|
||||
storageClass: ceph-block
|
||||
accessMode: ReadWriteOnce
|
||||
size: 5Gi
|
||||
retain: true
|
||||
advancedMounts:
|
||||
main:
|
||||
main:
|
||||
@@ -265,6 +267,7 @@ dawarich:
|
||||
storageClass: ceph-block
|
||||
accessMode: ReadWriteOnce
|
||||
size: 5Gi
|
||||
retain: true
|
||||
advancedMounts:
|
||||
main:
|
||||
main:
|
||||
@@ -278,6 +281,7 @@ dawarich:
|
||||
storageClass: ceph-block
|
||||
accessMode: ReadWriteOnce
|
||||
size: 1Gi
|
||||
retain: true
|
||||
advancedMounts:
|
||||
main:
|
||||
main:
|
||||
@@ -309,9 +313,32 @@ postgres-18-cluster:
|
||||
destinationBucket: postgres-backups
|
||||
externalSecretCredentialPath: /garage/home-infra/postgres-backups
|
||||
isWALArchiver: true
|
||||
# - name: garage-remote
|
||||
# index: 1
|
||||
# destinationBucket: postgres-backups
|
||||
# externalSecretCredentialPath: /garage/home-infra/postgres-backups
|
||||
# retentionPolicy: "90d"
|
||||
# data:
|
||||
# compression: bzip2
|
||||
# - name: external
|
||||
# index: 1
|
||||
# endpointURL: https://nyc3.digitaloceanspaces.com
|
||||
# destinationBucket: postgres-backups-ce540ddf106d186bbddca68a
|
||||
# externalSecretCredentialPath: /garage/home-infra/postgres-backups
|
||||
# isWALArchiver: false
|
||||
scheduledBackups:
|
||||
- name: live-backup
|
||||
suspend: false
|
||||
immediate: true
|
||||
schedule: "0 10 14 * * *"
|
||||
backupName: garage-local
|
||||
# - name: weekly-backup
|
||||
# suspend: true
|
||||
# immediate: true
|
||||
# schedule: "0 0 4 * * SAT"
|
||||
# backupName: garage-remote
|
||||
# - name: daily-backup
|
||||
# suspend: true
|
||||
# immediate: true
|
||||
# schedule: "0 0 0 * * *"
|
||||
# backupName: external
|
||||
|
||||
6
clusters/cl01tl/helm/decluttarr/Chart.lock
Normal file
6
clusters/cl01tl/helm/decluttarr/Chart.lock
Normal file
@@ -0,0 +1,6 @@
|
||||
dependencies:
|
||||
- name: app-template
|
||||
repository: https://bjw-s-labs.github.io/helm-charts/
|
||||
version: 4.6.2
|
||||
digest: sha256:548ae1f8699100a2f6bac11a4a3137402b3eea340c7a3db4d9f1813ad6a11dca
|
||||
generated: "2026-02-23T22:08:42.516245-06:00"
|
||||
20
clusters/cl01tl/helm/decluttarr/Chart.yaml
Normal file
20
clusters/cl01tl/helm/decluttarr/Chart.yaml
Normal file
@@ -0,0 +1,20 @@
|
||||
apiVersion: v2
|
||||
name: decluttarr
|
||||
version: 1.0.0
|
||||
description: decluttarr
|
||||
keywords:
|
||||
- decluttarr
|
||||
- servarr
|
||||
home: https://wiki.alexlebens.dev/s/
|
||||
sources:
|
||||
- https://github.com/ManiMatter/decluttarr
|
||||
- https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template
|
||||
maintainers:
|
||||
- name: alexlebens
|
||||
dependencies:
|
||||
- name: app-template
|
||||
alias: decluttarr
|
||||
repository: https://bjw-s-labs.github.io/helm-charts/
|
||||
version: 4.6.2
|
||||
# renovate: datasource=github-releases depName=ManiMatter/decluttarr
|
||||
appVersion: v2.0.0
|
||||
@@ -0,0 +1,21 @@
|
||||
apiVersion: external-secrets.io/v1
|
||||
kind: ExternalSecret
|
||||
metadata:
|
||||
name: decluttarr-config-secret
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels:
|
||||
app.kubernetes.io/name: decluttarr-config-secret
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
||||
spec:
|
||||
secretStoreRef:
|
||||
kind: ClusterSecretStore
|
||||
name: vault
|
||||
data:
|
||||
- secretKey: config.yaml
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /cl01tl/decluttarr/config
|
||||
metadataPolicy: None
|
||||
property: config.yaml
|
||||
32
clusters/cl01tl/helm/decluttarr/values.yaml
Normal file
32
clusters/cl01tl/helm/decluttarr/values.yaml
Normal file
@@ -0,0 +1,32 @@
|
||||
decluttarr:
|
||||
controllers:
|
||||
main:
|
||||
type: deployment
|
||||
replicas: 1
|
||||
strategy: Recreate
|
||||
revisionHistoryLimit: 3
|
||||
containers:
|
||||
main:
|
||||
image:
|
||||
repository: ghcr.io/manimatter/decluttarr
|
||||
tag: v2.0.0
|
||||
pullPolicy: IfNotPresent
|
||||
env:
|
||||
- name: TZ
|
||||
value: America/Chicago
|
||||
resources:
|
||||
requests:
|
||||
cpu: 10m
|
||||
memory: 128Mi
|
||||
persistence:
|
||||
config:
|
||||
enabled: true
|
||||
type: secret
|
||||
name: decluttarr-config-secret
|
||||
advancedMounts:
|
||||
main:
|
||||
main:
|
||||
- path: /app/config/config.yaml
|
||||
readOnly: true
|
||||
mountPropagation: None
|
||||
subPath: config.yaml
|
||||
@@ -5,7 +5,8 @@ description: Democratic CSI
|
||||
keywords:
|
||||
- democratic-csi-synology-iscsi
|
||||
- iscsi
|
||||
home: https://docs.alexlebens.dev/applications/democratic-csi-synology-iscsi/
|
||||
- kubernetes
|
||||
home: https://wiki.alexlebens.dev/s/0cc6ba65-024b-4489-952a-fc0f647fd099
|
||||
sources:
|
||||
- https://github.com/democratic-csi/democratic-csi
|
||||
- https://github.com/democratic-csi/charts/tree/master/stable/democratic-csi
|
||||
|
||||
@@ -14,5 +14,8 @@ spec:
|
||||
data:
|
||||
- secretKey: driver-config-file.yaml
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /cl01tl/democratic-csi-synology-iscsi/config
|
||||
metadataPolicy: None
|
||||
property: driver-config-file.yaml
|
||||
|
||||
@@ -3,13 +3,12 @@ democratic-csi:
|
||||
existingConfigSecret: synology-iscsi-config-secret
|
||||
config:
|
||||
driver: synology-iscsi
|
||||
resources:
|
||||
requests:
|
||||
cpu: 1m
|
||||
memory: 128Mi
|
||||
csiDriver:
|
||||
name: "org.democratic-csi.iscsi-synology"
|
||||
controller:
|
||||
enabled: true
|
||||
rbac:
|
||||
enabled: true
|
||||
replicaCount: 2
|
||||
storageClasses:
|
||||
- name: synology-iscsi-delete
|
||||
|
||||
@@ -5,7 +5,8 @@ description: Descheduler
|
||||
keywords:
|
||||
- descheduler
|
||||
- kube-scheduler
|
||||
home: https://docs.alexlebens.dev/applications/descheduler/
|
||||
- kubernetes
|
||||
home: https://wiki.alexlebens.dev/s/0c38b7e4-4573-487c-82b0-4eeeb00e1276
|
||||
sources:
|
||||
- https://github.com/kubernetes-sigs/descheduler
|
||||
- https://github.com/kubernetes-sigs/descheduler/tree/master/charts/descheduler
|
||||
|
||||
@@ -1,22 +1,27 @@
|
||||
descheduler:
|
||||
kind: Deployment
|
||||
resources:
|
||||
limits:
|
||||
cpu: null
|
||||
memory: null
|
||||
requests:
|
||||
cpu: 10m
|
||||
memory: 50Mi
|
||||
memory: 64Mi
|
||||
securityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
capabilities:
|
||||
drop:
|
||||
- ALL
|
||||
privileged: false
|
||||
readOnlyRootFilesystem: true
|
||||
runAsNonRoot: true
|
||||
runAsUser: 1000
|
||||
deschedulingInterval: 5m
|
||||
replicas: 3
|
||||
replicas: 1
|
||||
leaderElection:
|
||||
enabled: true
|
||||
leaseDuration: 15s
|
||||
renewDeadline: 10s
|
||||
retryPeriod: 2s
|
||||
resourceLock: "leases"
|
||||
resourceName: "descheduler"
|
||||
resourceNamespace: "descheduler"
|
||||
enabled: false
|
||||
command:
|
||||
- "/bin/descheduler"
|
||||
cmdOptions:
|
||||
v: 3
|
||||
deschedulerPolicyAPIVersion: "descheduler/v1alpha2"
|
||||
deschedulerPolicy:
|
||||
profiles:
|
||||
- name: default
|
||||
@@ -48,13 +53,13 @@ descheduler:
|
||||
- name: LowNodeUtilization
|
||||
args:
|
||||
thresholds:
|
||||
cpu: 20
|
||||
memory: 20
|
||||
pods: 20
|
||||
cpu: 30
|
||||
memory: 30
|
||||
pods: 50
|
||||
targetThresholds:
|
||||
cpu: 50
|
||||
memory: 50
|
||||
pods: 60
|
||||
cpu: 60
|
||||
memory: 40
|
||||
pods: 80
|
||||
plugins:
|
||||
balance:
|
||||
enabled:
|
||||
|
||||
@@ -4,14 +4,16 @@ version: 1.0.0
|
||||
description: Directus
|
||||
keywords:
|
||||
- directus
|
||||
- content-management-system
|
||||
home: https://docs.alexlebens.dev/applications/descheduler/
|
||||
- cms
|
||||
home: https://wiki.alexlebens.dev/s/c2d242de-dcaa-4801-86a2-c4761dc8bf9b
|
||||
sources:
|
||||
- https://github.com/directus/directus
|
||||
- https://github.com/directus/directus/pkgs/container/directus
|
||||
- https://github.com/cloudflare/cloudflared
|
||||
- https://github.com/cloudnative-pg/cloudnative-pg
|
||||
- https://hub.docker.com/r/directus/directus
|
||||
- https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template
|
||||
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/cloudflared
|
||||
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/postgres-cluster
|
||||
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/valkey
|
||||
maintainers:
|
||||
- name: alexlebens
|
||||
dependencies:
|
||||
@@ -29,4 +31,4 @@ dependencies:
|
||||
repository: oci://harbor.alexlebens.net/helm-charts
|
||||
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/directus.png
|
||||
# renovate: datasource=github-releases depName=directus/directus
|
||||
appVersion: 11.17.0
|
||||
appVersion: 11.16.1
|
||||
|
||||
@@ -14,19 +14,31 @@ spec:
|
||||
data:
|
||||
- secretKey: admin-email
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /cl01tl/directus/config
|
||||
metadataPolicy: None
|
||||
property: admin-email
|
||||
- secretKey: admin-password
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /cl01tl/directus/config
|
||||
metadataPolicy: None
|
||||
property: admin-password
|
||||
- secretKey: secret
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /cl01tl/directus/config
|
||||
metadataPolicy: None
|
||||
property: secret
|
||||
- secretKey: key
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /cl01tl/directus/config
|
||||
metadataPolicy: None
|
||||
property: key
|
||||
|
||||
---
|
||||
@@ -46,11 +58,17 @@ spec:
|
||||
data:
|
||||
- secretKey: OIDC_CLIENT_ID
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /authentik/oidc/directus
|
||||
metadataPolicy: None
|
||||
property: client
|
||||
- secretKey: OIDC_CLIENT_SECRET
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /authentik/oidc/directus
|
||||
metadataPolicy: None
|
||||
property: secret
|
||||
|
||||
---
|
||||
@@ -70,7 +88,10 @@ spec:
|
||||
data:
|
||||
- secretKey: metric-token
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /cl01tl/directus/metrics
|
||||
metadataPolicy: None
|
||||
property: metric-token
|
||||
|
||||
---
|
||||
@@ -90,15 +111,24 @@ spec:
|
||||
data:
|
||||
- secretKey: ACCESS_KEY_ID
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /garage/home-infra/directus-assets
|
||||
metadataPolicy: None
|
||||
property: ACCESS_KEY_ID
|
||||
- secretKey: ACCESS_SECRET_KEY
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /garage/home-infra/directus-assets
|
||||
metadataPolicy: None
|
||||
property: ACCESS_SECRET_KEY
|
||||
- secretKey: ACCESS_REGION
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /garage/home-infra/directus-assets
|
||||
metadataPolicy: None
|
||||
property: ACCESS_REGION
|
||||
|
||||
---
|
||||
@@ -118,13 +148,22 @@ spec:
|
||||
data:
|
||||
- secretKey: default
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /cl01tl/directus/valkey
|
||||
metadataPolicy: None
|
||||
property: password
|
||||
- secretKey: user
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /cl01tl/directus/valkey
|
||||
metadataPolicy: None
|
||||
property: user
|
||||
- secretKey: password
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /cl01tl/directus/valkey
|
||||
metadataPolicy: None
|
||||
property: password
|
||||
|
||||
@@ -4,11 +4,12 @@ directus:
|
||||
type: deployment
|
||||
replicas: 1
|
||||
strategy: Recreate
|
||||
revisionHistoryLimit: 3
|
||||
containers:
|
||||
main:
|
||||
image:
|
||||
repository: ghcr.io/directus/directus
|
||||
tag: 11.17.0@sha256:076269ccbe7d4a0c44ce5f5b7f11e2ea5f7b3e4c4f704c0f88a52805e069c1c6
|
||||
repository: directus/directus
|
||||
tag: 11.16.1
|
||||
pullPolicy: IfNotPresent
|
||||
env:
|
||||
- name: PUBLIC_URL
|
||||
@@ -143,7 +144,7 @@ directus:
|
||||
resources:
|
||||
requests:
|
||||
cpu: 10m
|
||||
memory: 1Gi
|
||||
memory: 256Mi
|
||||
service:
|
||||
main:
|
||||
controller: main
|
||||
@@ -179,8 +180,11 @@ directus:
|
||||
- directus.alexlebens.net
|
||||
rules:
|
||||
- backendRefs:
|
||||
- name: directus
|
||||
- group: ''
|
||||
kind: Service
|
||||
name: directus
|
||||
port: 80
|
||||
weight: 100
|
||||
matches:
|
||||
- path:
|
||||
type: PathPrefix
|
||||
@@ -198,12 +202,35 @@ postgres-18-cluster:
|
||||
destinationBucket: postgres-backups
|
||||
externalSecretCredentialPath: /garage/home-infra/postgres-backups
|
||||
isWALArchiver: true
|
||||
# - name: garage-remote
|
||||
# index: 1
|
||||
# destinationBucket: postgres-backups
|
||||
# externalSecretCredentialPath: /garage/home-infra/postgres-backups
|
||||
# retentionPolicy: "90d"
|
||||
# data:
|
||||
# compression: bzip2
|
||||
# - name: external
|
||||
# index: 1
|
||||
# endpointURL: https://nyc3.digitaloceanspaces.com
|
||||
# destinationBucket: postgres-backups-ce540ddf106d186bbddca68a
|
||||
# externalSecretCredentialPath: /garage/home-infra/postgres-backups
|
||||
# isWALArchiver: false
|
||||
scheduledBackups:
|
||||
- name: live-backup
|
||||
suspend: false
|
||||
immediate: true
|
||||
schedule: "0 15 14 * * *"
|
||||
backupName: garage-local
|
||||
# - name: weekly-backup
|
||||
# suspend: true
|
||||
# immediate: true
|
||||
# schedule: "0 0 4 * * SAT"
|
||||
# backupName: garage-remote
|
||||
# - name: daily-backup
|
||||
# suspend: true
|
||||
# immediate: true
|
||||
# schedule: "0 0 0 * * *"
|
||||
# backupName: external
|
||||
valkey:
|
||||
valkey:
|
||||
auth:
|
||||
@@ -212,3 +239,5 @@ valkey:
|
||||
aclUsers:
|
||||
default:
|
||||
permissions: "~* &* +@all"
|
||||
metrics:
|
||||
enabled: false
|
||||
|
||||
@@ -6,7 +6,8 @@ keywords:
|
||||
- elastic-operator
|
||||
- operator
|
||||
- elastic-search
|
||||
home: https://docs.alexlebens.dev/applications/elastic-operator/
|
||||
- kubernetes
|
||||
home: https://wiki.alexlebens.dev/s/
|
||||
sources:
|
||||
- https://github.com/elastic/cloud-on-k8s
|
||||
- https://github.com/elastic/cloud-on-k8s/tree/main/deploy/eck-operator
|
||||
@@ -16,6 +17,6 @@ dependencies:
|
||||
- name: eck-operator
|
||||
version: 3.3.1
|
||||
repository: https://helm.elastic.co
|
||||
icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/png/elastic.png
|
||||
icon: https://helm.elastic.co/icons/eck.png
|
||||
# renovate: datasource=github-releases depName=elastic/cloud-on-k8s
|
||||
appVersion: v3.3.1
|
||||
|
||||
@@ -4,13 +4,6 @@ eck-operator:
|
||||
- stalwart
|
||||
installCRDs: true
|
||||
replicaCount: 2
|
||||
resources:
|
||||
limits:
|
||||
cpu: null
|
||||
memory: null
|
||||
requests:
|
||||
cpu: 2m
|
||||
memory: 50Mi
|
||||
telemetry:
|
||||
disabled: true
|
||||
config:
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
dependencies:
|
||||
- name: element-web
|
||||
repository: https://ananace.gitlab.io/charts
|
||||
version: 1.4.33
|
||||
version: 1.4.32
|
||||
- name: cloudflared
|
||||
repository: oci://harbor.alexlebens.net/helm-charts
|
||||
version: 2.4.0
|
||||
digest: sha256:63b0e582d42fb42bcf4d96ba4b299e42c434c42f284208596808288543192fe0
|
||||
generated: "2026-03-24T16:11:50.424321433Z"
|
||||
digest: sha256:49d9dd45eff7cbbc11644e4a8bd3c9d3bf84716ed034a76f097f0ba1fea4c934
|
||||
generated: "2026-03-11T16:04:17.556777286Z"
|
||||
|
||||
@@ -4,22 +4,24 @@ version: 1.0.0
|
||||
description: Element Web
|
||||
keywords:
|
||||
- element-web
|
||||
- matrix-chat
|
||||
home: https://docs.alexlebens.dev/applications/element-web/
|
||||
- chat
|
||||
- matrix
|
||||
home: https://wiki.alexlebens.dev/s/e3b03481-1a1d-4b56-8cd9-e75a8dcc0f6c
|
||||
sources:
|
||||
- https://github.com/element-hq/element-web
|
||||
- https://github.com/element-hq/element-web/pkgs/container/element-web
|
||||
- https://github.com/cloudflare/cloudflared
|
||||
- https://hub.docker.com/r/vectorim/element-web
|
||||
- https://gitlab.com/ananace/charts/-/tree/master/charts/element-web
|
||||
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/cloudflared
|
||||
maintainers:
|
||||
- name: alexlebens
|
||||
dependencies:
|
||||
- name: element-web
|
||||
version: 1.4.33
|
||||
version: 1.4.32
|
||||
repository: https://ananace.gitlab.io/charts
|
||||
- name: cloudflared
|
||||
repository: oci://harbor.alexlebens.net/helm-charts
|
||||
version: 2.4.0
|
||||
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/element.png
|
||||
# renovate: datasource=github-releases depName=element-hq/element-web
|
||||
appVersion: v1.12.13
|
||||
appVersion: v1.12.12
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
element-web:
|
||||
replicaCount: 1
|
||||
image:
|
||||
repository: ghcr.io/element-hq/element-web
|
||||
tag: v1.12.13@sha256:5107e63026c13ed014f743e485821b7d4b56d275a41e76303859bb14f5f94eb6
|
||||
repository: vectorim/element-web
|
||||
tag: v1.12.12
|
||||
pullPolicy: IfNotPresent
|
||||
defaultServer:
|
||||
url: https://matrix.alexlebens.dev
|
||||
name: alexlebens.dev
|
||||
@@ -17,7 +18,9 @@ element-web:
|
||||
immediate: true
|
||||
default_theme: dark
|
||||
default_country_code: US
|
||||
ingress:
|
||||
enabled: false
|
||||
resources:
|
||||
requests:
|
||||
cpu: 1m
|
||||
memory: 10Mi
|
||||
cpu: 10m
|
||||
memory: 128Mi
|
||||
|
||||
@@ -5,10 +5,10 @@ description: Eraser
|
||||
keywords:
|
||||
- eraser
|
||||
- images
|
||||
home: https://docs.alexlebens.dev/applications/eraser/
|
||||
- kubernetes
|
||||
home: https://wiki.alexlebens.dev/s/bb53ffae-0eda-4ed6-9fdd-894e672b4377
|
||||
sources:
|
||||
- https://github.com/eraser-dev/eraser
|
||||
- https://github.com/eraser-dev/eraser/pkgs/container/eraser-manager
|
||||
- https://github.com/eraser-dev/eraser/tree/main/charts/eraser
|
||||
maintainers:
|
||||
- name: alexlebens
|
||||
@@ -16,6 +16,6 @@ dependencies:
|
||||
- name: eraser
|
||||
version: 1.4.1
|
||||
repository: https://eraser-dev.github.io/eraser/charts
|
||||
icon: https://raw.githubusercontent.com/eraser-dev/eraser/refs/heads/main/images/eraser-logo-color-1c.png
|
||||
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/kubernetes.png
|
||||
# renovate: datasource=github-releases depName=eraser-dev/eraser
|
||||
appVersion: v1.4.1
|
||||
|
||||
@@ -1,37 +1,70 @@
|
||||
eraser:
|
||||
runtimeConfig:
|
||||
apiVersion: eraser.sh/v1alpha3
|
||||
kind: EraserConfig
|
||||
manager:
|
||||
runtime:
|
||||
name: containerd
|
||||
address: unix:///run/containerd/containerd.sock
|
||||
logLevel: info
|
||||
scheduling:
|
||||
repeatInterval: 24h
|
||||
beginImmediately: true
|
||||
profile:
|
||||
enabled: false
|
||||
port: 6060
|
||||
imageJob:
|
||||
successRatio: 1.0
|
||||
cleanup:
|
||||
delayOnSuccess: 0s
|
||||
delayOnFailure: 24h
|
||||
nodeFilter:
|
||||
type: exclude
|
||||
selectors:
|
||||
- eraser.sh/cleanup.filter
|
||||
- kubernetes.io/os=windows
|
||||
components:
|
||||
collector:
|
||||
image:
|
||||
repo: ghcr.io/eraser-dev/collector
|
||||
tag: v1.4.1@sha256:827588ff826c3558bf2c50b1fc94f20122b054dfcf3480c3ffe6f0bae25c3dad
|
||||
enabled: true
|
||||
request:
|
||||
cpu: 1m
|
||||
memory: 20Mi
|
||||
cpu: 10m
|
||||
memory: 128Mi
|
||||
scanner:
|
||||
enabled: false
|
||||
remover:
|
||||
image:
|
||||
repo: ghcr.io/eraser-dev/remover
|
||||
tag: v1.4.1@sha256:e57592157d717588f69c011cd0b6ab783a19a53b447a5350b27e7e66aae67525
|
||||
request:
|
||||
cpu: 1m
|
||||
memory: 20Mi
|
||||
cpu: 100m
|
||||
memory: 128Mi
|
||||
config: "" # |
|
||||
# cacheDir: /var/lib/trivy
|
||||
# dbRepo: ghcr.io/aquasecurity/trivy-db
|
||||
# deleteFailedImages: true
|
||||
# deleteEOLImages: true
|
||||
# vulnerabilities:
|
||||
# ignoreUnfixed: true
|
||||
# types:
|
||||
# - os
|
||||
# - library
|
||||
# securityChecks:
|
||||
# - vuln
|
||||
# severities:
|
||||
# - CRITICAL
|
||||
# - HIGH
|
||||
# - MEDIUM
|
||||
# - LOW
|
||||
# ignoredStatuses:
|
||||
# timeout:
|
||||
# total: 23h
|
||||
# perImage: 1h
|
||||
remover:
|
||||
request:
|
||||
cpu: 10m
|
||||
memory: 128Mi
|
||||
deploy:
|
||||
image:
|
||||
repo: ghcr.io/eraser-dev/eraser-manager
|
||||
tag: v1.4.1@sha256:5f18fb7da4ccad93a8643ece496681f1489b0d7b0ce45e18a94774cf8b6a717d
|
||||
securityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
resources:
|
||||
limits:
|
||||
memory: null
|
||||
requests:
|
||||
cpu: 1m
|
||||
memory: 20Mi
|
||||
cpu: 10m
|
||||
memory: 30Mi
|
||||
nodeSelector:
|
||||
kubernetes.io/os: linux
|
||||
|
||||
@@ -4,8 +4,7 @@ version: 1.0.0
|
||||
description: Excalidraw
|
||||
keywords:
|
||||
- excalidraw
|
||||
- drawing
|
||||
home: https://docs.alexlebens.dev/applications/eraser/
|
||||
home: https://wiki.alexlebens.dev/
|
||||
sources:
|
||||
- https://github.com/excalidraw/excalidraw
|
||||
- https://hub.docker.com/r/excalidraw/excalidraw
|
||||
|
||||
@@ -4,11 +4,13 @@ excalidraw:
|
||||
type: deployment
|
||||
replicas: 1
|
||||
strategy: Recreate
|
||||
revisionHistoryLimit: 3
|
||||
containers:
|
||||
main:
|
||||
image:
|
||||
repository: excalidraw/excalidraw
|
||||
tag: latest@sha256:3c2513e830bb6e195147c05b34ecf8393d0ba2b1cc86e93b407a5777d6135c6c
|
||||
pullPolicy: IfNotPresent
|
||||
env:
|
||||
- name: NODE_ENV
|
||||
value: production
|
||||
@@ -16,8 +18,8 @@ excalidraw:
|
||||
value: America/Chicago
|
||||
resources:
|
||||
requests:
|
||||
cpu: 1m
|
||||
memory: 10Mi
|
||||
cpu: 10m
|
||||
memory: 128Mi
|
||||
service:
|
||||
main:
|
||||
controller: main
|
||||
@@ -38,8 +40,11 @@ excalidraw:
|
||||
- excalidraw.alexlebens.net
|
||||
rules:
|
||||
- backendRefs:
|
||||
- name: excalidraw
|
||||
- group: ''
|
||||
kind: Service
|
||||
name: excalidraw
|
||||
port: 80
|
||||
weight: 100
|
||||
matches:
|
||||
- path:
|
||||
type: PathPrefix
|
||||
|
||||
@@ -5,10 +5,11 @@ description: External DNS
|
||||
keywords:
|
||||
- external-dns
|
||||
- dns
|
||||
home: https://docs.alexlebens.dev/applications/eraser/
|
||||
- unifi
|
||||
- kubernetes
|
||||
home: https://wiki.alexlebens.dev/s/7b50e4da-5dc1-4f62-baf9-14b5fed64552
|
||||
sources:
|
||||
- https://github.com/kubernetes-sigs/external-dns
|
||||
- https://github.com/kashalls/external-dns-unifi-webhook
|
||||
- https://github.com/kubernetes-sigs/external-dns/tree/master/charts/external-dns
|
||||
maintainers:
|
||||
- name: alexlebens
|
||||
|
||||
@@ -14,5 +14,8 @@ spec:
|
||||
data:
|
||||
- secretKey: api-key
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /unifi/auth/cl01tl
|
||||
metadataPolicy: None
|
||||
property: api-key
|
||||
|
||||
@@ -1,27 +1,25 @@
|
||||
external-dns-unifi:
|
||||
fullnameOverride: external-dns-unifi
|
||||
resources:
|
||||
requests:
|
||||
cpu: 1m
|
||||
memory: 80Mi
|
||||
serviceMonitor:
|
||||
enabled: true
|
||||
interval: 360m
|
||||
interval: 1m
|
||||
sources:
|
||||
- ingress
|
||||
- crd
|
||||
- gateway-httproute
|
||||
- gateway-tlsroute
|
||||
policy: sync
|
||||
registry: txt
|
||||
txtOwnerId: default
|
||||
txtPrefix: k8s.
|
||||
domainFilters: ["alexlebens.net"]
|
||||
excludeDomains: ["alexlebens.dev"]
|
||||
excludeDomains: []
|
||||
provider:
|
||||
name: webhook
|
||||
webhook:
|
||||
image:
|
||||
repository: ghcr.io/kashalls/external-dns-unifi-webhook
|
||||
tag: v0.8.2@sha256:7f0ddbbc83a36a2a9d762e25eef9cafcb3adf0493068a27d72ae71087eafe6f0
|
||||
tag: v0.8.2
|
||||
env:
|
||||
- name: UNIFI_HOST
|
||||
value: https://192.168.1.1
|
||||
@@ -31,14 +29,18 @@ external-dns-unifi:
|
||||
name: external-dns-unifi-secret
|
||||
key: api-key
|
||||
- name: LOG_LEVEL
|
||||
value: info
|
||||
value: debug
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /healthz
|
||||
port: http-webhook
|
||||
initialDelaySeconds: 10
|
||||
timeoutSeconds: 5
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: /readyz
|
||||
port: http-webhook
|
||||
initialDelaySeconds: 10
|
||||
timeoutSeconds: 5
|
||||
extraArgs:
|
||||
- --ignore-ingress-tls-spec
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
dependencies:
|
||||
- name: external-secrets
|
||||
repository: https://charts.external-secrets.io
|
||||
version: 2.2.0
|
||||
digest: sha256:3894df20e1f3d56bc9789177181a84d8ae1402ef76ec6328e417ce5a568738ae
|
||||
generated: "2026-03-26T19:19:15.734454-05:00"
|
||||
version: 2.1.0
|
||||
digest: sha256:b19563d51f1922403185979c6c442531a7bb13d302e8438b5a18d450259b7245
|
||||
generated: "2026-03-07T18:02:23.908145348Z"
|
||||
|
||||
@@ -5,17 +5,15 @@ description: External Secrets
|
||||
keywords:
|
||||
- external-secrets
|
||||
- secrets
|
||||
- operator
|
||||
home: https://docs.alexlebens.dev/applications/eraser/
|
||||
- vault
|
||||
home: https://wiki.alexlebens.dev/s/d29044fb-0d63-4500-8853-2971964f356a
|
||||
sources:
|
||||
- https://github.com/external-secrets/external-secrets
|
||||
- https://github.com/external-secrets/external-secrets/pkgs/container/external-secrets
|
||||
- https://github.com/external-secrets/external-secrets/tree/main/deploy/charts/external-secrets
|
||||
dependencies:
|
||||
- name: external-secrets
|
||||
alias: external-secrets
|
||||
version: 2.2.0
|
||||
version: 2.1.0
|
||||
repository: https://charts.external-secrets.io
|
||||
icon: https://raw.githubusercontent.com/external-secrets/external-secrets/refs/heads/main/assets/eso-logo-large.png
|
||||
icon: https://avatars.githubusercontent.com/u/68335991?s=48&v=4
|
||||
# renovate: datasource=github-releases depName=external-secrets/external-secrets
|
||||
appVersion: v2.2.0
|
||||
appVersion: v2.1.0
|
||||
|
||||
@@ -1,44 +0,0 @@
|
||||
external-secrets:
|
||||
replicaCount: 3
|
||||
image:
|
||||
repository: ghcr.io/external-secrets/external-secrets
|
||||
tag: v2.2.0@sha256:876e627dbee5b0edd12da49b035469d12418cd6c3c4be5e383ae6a82e8bd4565
|
||||
installCRDs: true
|
||||
crds:
|
||||
createClusterExternalSecret: true
|
||||
createClusterSecretStore: true
|
||||
createSecretStore: true
|
||||
createClusterGenerator: true
|
||||
createClusterPushSecret: true
|
||||
createPushSecret: true
|
||||
leaderElect: true
|
||||
extendedMetricLabels: true
|
||||
resources:
|
||||
requests:
|
||||
cpu: 5m
|
||||
memory: 50Mi
|
||||
serviceMonitor:
|
||||
enabled: true
|
||||
livenessProbe:
|
||||
enabled: true
|
||||
readinessProbe:
|
||||
enabled: true
|
||||
podDisruptionBudget:
|
||||
enabled: true
|
||||
minAvailable: 1
|
||||
webhook:
|
||||
image:
|
||||
repository: ghcr.io/external-secrets/external-secrets
|
||||
tag: v2.2.0@sha256:876e627dbee5b0edd12da49b035469d12418cd6c3c4be5e383ae6a82e8bd4565
|
||||
resources:
|
||||
requests:
|
||||
cpu: 1m
|
||||
memory: 30Mi
|
||||
certController:
|
||||
image:
|
||||
repository: ghcr.io/external-secrets/external-secrets
|
||||
tag: v2.2.0@sha256:876e627dbee5b0edd12da49b035469d12418cd6c3c4be5e383ae6a82e8bd4565
|
||||
resources:
|
||||
requests:
|
||||
cpu: 1m
|
||||
memory: 60Mi
|
||||
@@ -1,9 +0,0 @@
|
||||
dependencies:
|
||||
- name: app-template
|
||||
repository: https://bjw-s-labs.github.io/helm-charts/
|
||||
version: 4.6.2
|
||||
- name: volsync-target
|
||||
repository: oci://harbor.alexlebens.net/helm-charts
|
||||
version: 0.8.0
|
||||
digest: sha256:59100c6fbfb829f9d703b9ee1cf869c4fd77b6ff53c63b0c644a757223027e58
|
||||
generated: "2026-03-22T12:42:43.150705-05:00"
|
||||
@@ -1,27 +0,0 @@
|
||||
apiVersion: v2
|
||||
name: foldergram
|
||||
version: 1.0.0
|
||||
description: Foldergram
|
||||
keywords:
|
||||
- foldergram
|
||||
- pictures
|
||||
home: https://docs.alexlebens.dev/applications/foldergram/
|
||||
sources:
|
||||
- https://github.com/foldergram/foldergram
|
||||
- https://github.com/foldergram/foldergram/pkgs/container/foldergram
|
||||
- https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template
|
||||
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/volsync-target
|
||||
maintainers:
|
||||
- name: alexlebens
|
||||
dependencies:
|
||||
- name: app-template
|
||||
alias: foldergram
|
||||
repository: https://bjw-s-labs.github.io/helm-charts/
|
||||
version: 4.6.2
|
||||
- name: volsync-target
|
||||
alias: volsync-target-data
|
||||
version: 0.8.0
|
||||
repository: oci://harbor.alexlebens.net/helm-charts
|
||||
icon: https://raw.githubusercontent.com/foldergram/foldergram/refs/heads/main/client/public/icon-512.png
|
||||
# renovate: datasource=github-releases depName=foldergram/foldergram
|
||||
appVersion: v1.0.8
|
||||
@@ -1,17 +0,0 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: foldergram-pictures-nfs-storage
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels:
|
||||
app.kubernetes.io/name: foldergram-pictures-nfs-storage
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
||||
spec:
|
||||
volumeName: foldergram-pictures-nfs-storage
|
||||
storageClassName: nfs-client
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
resources:
|
||||
requests:
|
||||
storage: 1Gi
|
||||
@@ -1,23 +0,0 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: foldergram-pictures-nfs-storage
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels:
|
||||
app.kubernetes.io/name: foldergram-pictures-nfs-storage
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
||||
spec:
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: nfs-client
|
||||
capacity:
|
||||
storage: 1Gi
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
nfs:
|
||||
path: /volume2/Storage/Pictures
|
||||
server: synologybond.alexlebens.net
|
||||
mountOptions:
|
||||
- vers=4
|
||||
- minorversion=1
|
||||
- noac
|
||||
@@ -1,86 +0,0 @@
|
||||
foldergram:
|
||||
controllers:
|
||||
main:
|
||||
type: deployment
|
||||
replicas: 1
|
||||
strategy: Recreate
|
||||
pod:
|
||||
securityContext:
|
||||
fsGroup: 1000
|
||||
fsGroupChangePolicy: OnRootMismatch
|
||||
containers:
|
||||
main:
|
||||
image:
|
||||
repository: ghcr.io/foldergram/foldergram
|
||||
tag: 1.0.8@sha256:3546dc1da4ec12cb27aaecbf77896d708ac7601eb0225e0f6e181d7ef35273f9
|
||||
pullPolicy: IfNotPresent
|
||||
env:
|
||||
- name: IMAGE_DETAIL_SOURCE
|
||||
value: original
|
||||
- name: DERIVATIVE_MODE
|
||||
value: lazy
|
||||
- name: DATA_ROOT
|
||||
value: ./data
|
||||
- name: GALLERY_ROOT
|
||||
value: /gallery
|
||||
- name: CSRF_TRUSTED_ORIGINS
|
||||
value: https://foldergram.alexlebens.net
|
||||
resources:
|
||||
requests:
|
||||
cpu: 1m
|
||||
memory: 230Mi
|
||||
service:
|
||||
main:
|
||||
controller: main
|
||||
ports:
|
||||
http:
|
||||
port: 80
|
||||
targetPort: 4141
|
||||
protocol: HTTP
|
||||
route:
|
||||
main:
|
||||
kind: HTTPRoute
|
||||
parentRefs:
|
||||
- group: gateway.networking.k8s.io
|
||||
kind: Gateway
|
||||
name: traefik-gateway
|
||||
namespace: traefik
|
||||
hostnames:
|
||||
- foldergram.alexlebens.net
|
||||
rules:
|
||||
- backendRefs:
|
||||
- name: foldergram
|
||||
port: 80
|
||||
matches:
|
||||
- path:
|
||||
type: PathPrefix
|
||||
value: /
|
||||
persistence:
|
||||
cache:
|
||||
forceRename: foldergram-data
|
||||
storageClass: ceph-block
|
||||
accessMode: ReadWriteOnce
|
||||
size: 10Gi
|
||||
advancedMounts:
|
||||
main:
|
||||
main:
|
||||
- path: /app/data
|
||||
readOnly: false
|
||||
pictures:
|
||||
existingClaim: foldergram-pictures-nfs-storage
|
||||
advancedMounts:
|
||||
main:
|
||||
main:
|
||||
- path: /gallery/pictures
|
||||
readOnly: true
|
||||
volsync-target-data:
|
||||
pvcTarget: foldergram-data
|
||||
local:
|
||||
enabled: true
|
||||
schedule: 46 11 * * *
|
||||
remote:
|
||||
enabled: true
|
||||
schedule: 46 12 * * *
|
||||
external:
|
||||
enabled: true
|
||||
schedule: 46 13 * * *
|
||||
@@ -5,14 +5,15 @@ description: FreshRSS
|
||||
keywords:
|
||||
- freshrss
|
||||
- rss
|
||||
home: https://docs.alexlebens.dev/applications/freshrss/
|
||||
home: https://wiki.alexlebens.dev/s/251cb7cb-2797-4bbb-8597-32757aa96391
|
||||
sources:
|
||||
- https://github.com/FreshRSS/FreshRSS
|
||||
- https://github.com/cloudflare/cloudflared
|
||||
- https://github.com/cloudnative-pg/cloudnative-pg
|
||||
- https://hub.docker.com/r/freshrss/freshrss
|
||||
- https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template
|
||||
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/cloudflared
|
||||
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/postgres-cluster
|
||||
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/volsync-target
|
||||
maintainers:
|
||||
- name: alexlebens
|
||||
dependencies:
|
||||
|
||||
@@ -14,15 +14,24 @@ spec:
|
||||
data:
|
||||
- secretKey: ADMIN_EMAIL
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /cl01tl/freshrss/config
|
||||
metadataPolicy: None
|
||||
property: ADMIN_EMAIL
|
||||
- secretKey: ADMIN_PASSWORD
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /cl01tl/freshrss/config
|
||||
metadataPolicy: None
|
||||
property: ADMIN_PASSWORD
|
||||
- secretKey: ADMIN_API_PASSWORD
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /cl01tl/freshrss/config
|
||||
metadataPolicy: None
|
||||
property: ADMIN_API_PASSWORD
|
||||
|
||||
---
|
||||
@@ -42,13 +51,22 @@ spec:
|
||||
data:
|
||||
- secretKey: OIDC_CLIENT_ID
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /authentik/oidc/freshrss
|
||||
metadataPolicy: None
|
||||
property: client
|
||||
- secretKey: OIDC_CLIENT_SECRET
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /authentik/oidc/freshrss
|
||||
metadataPolicy: None
|
||||
property: secret
|
||||
- secretKey: OIDC_CLIENT_CRYPTO_KEY
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /authentik/oidc/freshrss
|
||||
metadataPolicy: None
|
||||
property: crypto-key
|
||||
|
||||
@@ -4,11 +4,84 @@ freshrss:
|
||||
type: deployment
|
||||
replicas: 1
|
||||
strategy: Recreate
|
||||
revisionHistoryLimit: 3
|
||||
initContainers:
|
||||
init-download-extension-1:
|
||||
securityContext:
|
||||
runAsUser: 0
|
||||
image:
|
||||
repository: alpine
|
||||
tag: 3.23.3
|
||||
pullPolicy: IfNotPresent
|
||||
command:
|
||||
- /bin/sh
|
||||
- -ec
|
||||
- |
|
||||
apk add --no-cache git;
|
||||
cd /tmp;
|
||||
git clone -n --depth=1 --filter=tree:0 https://github.com/cn-tools/cntools_FreshRssExtensions.git;
|
||||
cd cntools_FreshRssExtensions;
|
||||
git sparse-checkout set --no-cone /xExtension-YouTubeChannel2RssFeed;
|
||||
git checkout;
|
||||
rm -rf /var/www/FreshRSS/extensions/xExtension-YouTubeChannel2RssFeed
|
||||
cp -r xExtension-YouTubeChannel2RssFeed /var/www/FreshRSS/extensions
|
||||
chown -R 568:568 /var/www/FreshRSS/extensions/xExtension-YouTubeChannel2RssFeed
|
||||
resources:
|
||||
requests:
|
||||
cpu: 10m
|
||||
memory: 128Mi
|
||||
init-download-extension-2:
|
||||
securityContext:
|
||||
runAsUser: 0
|
||||
image:
|
||||
repository: alpine
|
||||
tag: 3.23.3
|
||||
pullPolicy: IfNotPresent
|
||||
command:
|
||||
- /bin/sh
|
||||
- -ec
|
||||
- |
|
||||
apk add --no-cache git;
|
||||
cd /tmp;
|
||||
git clone -n --depth=1 --filter=tree:0 https://github.com/FreshRSS/Extensions.git;
|
||||
cd Extensions;
|
||||
git sparse-checkout set --no-cone /xExtension-ImageProxy;
|
||||
git checkout;
|
||||
rm -rf /var/www/FreshRSS/extensions/xExtension-ImageProxy
|
||||
cp -r xExtension-ImageProxy /var/www/FreshRSS/extensions
|
||||
chown -R 568:568 /var/www/FreshRSS/extensions/xExtension-ImageProxy
|
||||
resources:
|
||||
requests:
|
||||
cpu: 10m
|
||||
memory: 128Mi
|
||||
init-download-extension-3:
|
||||
securityContext:
|
||||
runAsUser: 0
|
||||
image:
|
||||
repository: alpine
|
||||
tag: 3.23.3
|
||||
pullPolicy: IfNotPresent
|
||||
command:
|
||||
- /bin/sh
|
||||
- -ec
|
||||
- |
|
||||
cd /tmp;
|
||||
wget https://github.com/zimmra/xExtension-karakeep-button/archive/refs/tags/v1.1.tar.gz;
|
||||
tar -xvzf *.tar.gz;
|
||||
rm -rf /var/www/FreshRSS/extensions/xExtension-karakeep-button
|
||||
mkdir /var/www/FreshRSS/extensions/xExtension-karakeep-button
|
||||
cp -r /tmp/xExtension-karakeep-button-*/* /var/www/FreshRSS/extensions/xExtension-karakeep-button
|
||||
chown -R 568:568 /var/www/FreshRSS/extensions/xExtension-karakeep-button
|
||||
resources:
|
||||
requests:
|
||||
cpu: 10m
|
||||
memory: 128Mi
|
||||
containers:
|
||||
main:
|
||||
image:
|
||||
repository: freshrss/freshrss
|
||||
tag: 1.28.1@sha256:9100f649f5c946f589f54cdb9be7a65996528f48f691ef90eb262a0e06e5a522
|
||||
tag: 1.28.1
|
||||
pullPolicy: IfNotPresent
|
||||
env:
|
||||
- name: PGID
|
||||
value: "568"
|
||||
@@ -78,7 +151,7 @@ freshrss:
|
||||
name: freshrss-install-secret
|
||||
resources:
|
||||
requests:
|
||||
cpu: 1m
|
||||
cpu: 10m
|
||||
memory: 128Mi
|
||||
service:
|
||||
main:
|
||||
@@ -94,11 +167,31 @@ freshrss:
|
||||
storageClass: ceph-block
|
||||
accessMode: ReadWriteOnce
|
||||
size: 5Gi
|
||||
retain: true
|
||||
advancedMounts:
|
||||
main:
|
||||
main:
|
||||
- path: /var/www/FreshRSS/data
|
||||
readOnly: false
|
||||
extensions:
|
||||
storageClass: ceph-block
|
||||
accessMode: ReadWriteOnce
|
||||
size: 1Gi
|
||||
retain: true
|
||||
advancedMounts:
|
||||
main:
|
||||
init-download-extension-1:
|
||||
- path: /var/www/FreshRSS/extensions
|
||||
readOnly: false
|
||||
init-download-extension-2:
|
||||
- path: /var/www/FreshRSS/extensions
|
||||
readOnly: false
|
||||
init-download-extension-3:
|
||||
- path: /var/www/FreshRSS/extensions
|
||||
readOnly: false
|
||||
main:
|
||||
- path: /var/www/FreshRSS/extensions
|
||||
readOnly: false
|
||||
postgres-18-cluster:
|
||||
mode: recovery
|
||||
recovery:
|
||||
@@ -112,12 +205,35 @@ postgres-18-cluster:
|
||||
destinationBucket: postgres-backups
|
||||
externalSecretCredentialPath: /garage/home-infra/postgres-backups
|
||||
isWALArchiver: true
|
||||
# - name: garage-remote
|
||||
# index: 1
|
||||
# destinationBucket: postgres-backups
|
||||
# externalSecretCredentialPath: /garage/home-infra/postgres-backups
|
||||
# retentionPolicy: "90d"
|
||||
# data:
|
||||
# compression: bzip2
|
||||
# - name: external
|
||||
# index: 1
|
||||
# endpointURL: https://nyc3.digitaloceanspaces.com
|
||||
# destinationBucket: postgres-backups-ce540ddf106d186bbddca68a
|
||||
# externalSecretCredentialPath: /garage/home-infra/postgres-backups
|
||||
# isWALArchiver: false
|
||||
scheduledBackups:
|
||||
- name: live-backup
|
||||
suspend: false
|
||||
immediate: true
|
||||
schedule: "0 20 14 * * *"
|
||||
backupName: garage-local
|
||||
# - name: weekly-backup
|
||||
# suspend: true
|
||||
# immediate: true
|
||||
# schedule: "0 0 4 * * SAT"
|
||||
# backupName: garage-remote
|
||||
# - name: daily-backup
|
||||
# suspend: true
|
||||
# immediate: true
|
||||
# schedule: "0 0 0 * * *"
|
||||
# backupName: external
|
||||
volsync-target-data:
|
||||
pvcTarget: freshrss-data
|
||||
moverSecurityContext:
|
||||
@@ -125,6 +241,11 @@ volsync-target-data:
|
||||
runAsGroup: 568
|
||||
fsGroup: 568
|
||||
fsGroupChangePolicy: OnRootMismatch
|
||||
supplementalGroups:
|
||||
- 44
|
||||
- 100
|
||||
- 109
|
||||
- 65539
|
||||
local:
|
||||
enabled: true
|
||||
schedule: 18 8 * * *
|
||||
|
||||
@@ -4,13 +4,12 @@ version: 1.0.0
|
||||
description: Garage
|
||||
keywords:
|
||||
- garage
|
||||
- storage
|
||||
- s3
|
||||
home: https://docs.alexlebens.dev/applications/garage/
|
||||
home: https://wiki.alexlebens.dev/s/
|
||||
sources:
|
||||
- https://git.deuxfleurs.fr/Deuxfleurs/garage
|
||||
- https://github.com/khairul169/garage-webui
|
||||
- https://hub.docker.com/r/dxflrs/garage
|
||||
- https://hub.docker.com/r/khairul169/garage-webui
|
||||
- https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template
|
||||
maintainers:
|
||||
- name: alexlebens
|
||||
@@ -19,6 +18,6 @@ dependencies:
|
||||
alias: garage
|
||||
repository: https://bjw-s-labs.github.io/helm-charts/
|
||||
version: 4.6.2
|
||||
icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/png/garage.png
|
||||
# renovate: datasource=docker depName=dxflrs/garage
|
||||
appVersion: v2.2.0
|
||||
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/kubernetes.png
|
||||
# renovate: datasource=github-releases depName=deuxfleurs-org/garage
|
||||
appVersion: v2.1.0
|
||||
|
||||
@@ -14,13 +14,22 @@ spec:
|
||||
data:
|
||||
- secretKey: GARAGE_RPC_SECRET
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /cl01tl/garage/token
|
||||
metadataPolicy: None
|
||||
property: rpc
|
||||
- secretKey: GARAGE_ADMIN_TOKEN
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /cl01tl/garage/token
|
||||
metadataPolicy: None
|
||||
property: admin
|
||||
- secretKey: GARAGE_METRICS_TOKEN
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /cl01tl/garage/token
|
||||
metadataPolicy: None
|
||||
property: metric
|
||||
|
||||
@@ -4,6 +4,7 @@ garage:
|
||||
type: deployment
|
||||
replicas: 1
|
||||
strategy: Recreate
|
||||
revisionHistoryLimit: 3
|
||||
pod:
|
||||
labels:
|
||||
garage-type: server
|
||||
@@ -21,18 +22,32 @@ garage:
|
||||
main:
|
||||
image:
|
||||
repository: dxflrs/garage
|
||||
tag: v2.2.0@sha256:45a61ce3f7c9c24fc23d9ed2b09b27ed560ab87b34605d175d5c588f539c24e4
|
||||
tag: v2.2.0
|
||||
pullPolicy: IfNotPresent
|
||||
envFrom:
|
||||
- secretRef:
|
||||
name: garage-token-secret
|
||||
resources:
|
||||
requests:
|
||||
cpu: 10m
|
||||
memory: 400Mi
|
||||
memory: 128Mi
|
||||
debug:
|
||||
image:
|
||||
repository: ubuntu
|
||||
tag: resolute-20260108
|
||||
pullPolicy: IfNotPresent
|
||||
command:
|
||||
- "sleep"
|
||||
- "infinity"
|
||||
resources:
|
||||
requests:
|
||||
cpu: 10m
|
||||
memory: 32Mi
|
||||
server-2:
|
||||
type: deployment
|
||||
replicas: 1
|
||||
strategy: Recreate
|
||||
revisionHistoryLimit: 3
|
||||
pod:
|
||||
labels:
|
||||
garage-type: server
|
||||
@@ -50,18 +65,20 @@ garage:
|
||||
main:
|
||||
image:
|
||||
repository: dxflrs/garage
|
||||
tag: v2.2.0@sha256:45a61ce3f7c9c24fc23d9ed2b09b27ed560ab87b34605d175d5c588f539c24e4
|
||||
tag: v2.2.0
|
||||
pullPolicy: IfNotPresent
|
||||
envFrom:
|
||||
- secretRef:
|
||||
name: garage-token-secret
|
||||
resources:
|
||||
requests:
|
||||
cpu: 10m
|
||||
memory: 400Mi
|
||||
memory: 128Mi
|
||||
server-3:
|
||||
type: deployment
|
||||
replicas: 1
|
||||
strategy: Recreate
|
||||
revisionHistoryLimit: 3
|
||||
pod:
|
||||
labels:
|
||||
garage-type: server
|
||||
@@ -79,23 +96,26 @@ garage:
|
||||
main:
|
||||
image:
|
||||
repository: dxflrs/garage
|
||||
tag: v2.2.0@sha256:45a61ce3f7c9c24fc23d9ed2b09b27ed560ab87b34605d175d5c588f539c24e4
|
||||
tag: v2.2.0
|
||||
pullPolicy: IfNotPresent
|
||||
envFrom:
|
||||
- secretRef:
|
||||
name: garage-token-secret
|
||||
resources:
|
||||
requests:
|
||||
cpu: 10m
|
||||
memory: 400Mi
|
||||
memory: 128Mi
|
||||
webui:
|
||||
type: deployment
|
||||
replicas: 1
|
||||
strategy: Recreate
|
||||
revisionHistoryLimit: 3
|
||||
containers:
|
||||
main:
|
||||
image:
|
||||
repository: khairul169/garage-webui
|
||||
tag: 1.1.0@sha256:17c793551873155065bf9a022dabcde874de808a1f26e648d4b82e168806439c
|
||||
tag: 1.1.0
|
||||
pullPolicy: IfNotPresent
|
||||
env:
|
||||
- name: API_BASE_URL
|
||||
value: http://garage-main.garage:3903
|
||||
@@ -108,8 +128,8 @@ garage:
|
||||
key: GARAGE_ADMIN_TOKEN
|
||||
resources:
|
||||
requests:
|
||||
cpu: 1m
|
||||
memory: 10Mi
|
||||
cpu: 10m
|
||||
memory: 128Mi
|
||||
configMaps:
|
||||
config:
|
||||
enabled: true
|
||||
@@ -300,8 +320,11 @@ garage:
|
||||
- garage-webui.alexlebens.net
|
||||
rules:
|
||||
- backendRefs:
|
||||
- name: garage-webui
|
||||
- group: ''
|
||||
kind: Service
|
||||
name: garage-webui
|
||||
port: 3909
|
||||
weight: 100
|
||||
matches:
|
||||
- path:
|
||||
type: PathPrefix
|
||||
@@ -317,8 +340,11 @@ garage:
|
||||
- garage-s3.alexlebens.net
|
||||
rules:
|
||||
- backendRefs:
|
||||
- name: garage-main
|
||||
- group: ''
|
||||
kind: Service
|
||||
name: garage-main
|
||||
port: 3900
|
||||
weight: 100
|
||||
matches:
|
||||
- path:
|
||||
type: PathPrefix
|
||||
@@ -335,6 +361,11 @@ garage:
|
||||
readOnly: true
|
||||
mountPropagation: None
|
||||
subPath: garage-1.toml
|
||||
debug:
|
||||
- path: /etc/garage.toml
|
||||
readOnly: true
|
||||
mountPropagation: None
|
||||
subPath: garage-1.toml
|
||||
server-2:
|
||||
main:
|
||||
- path: /etc/garage.toml
|
||||
@@ -358,16 +389,21 @@ garage:
|
||||
storageClass: ceph-block
|
||||
accessMode: ReadWriteOnce
|
||||
size: 50Gi
|
||||
retain: true
|
||||
advancedMounts:
|
||||
server-1:
|
||||
main:
|
||||
- path: /var/lib/garage/meta
|
||||
readOnly: false
|
||||
debug:
|
||||
- path: /var/lib/garage/meta
|
||||
readOnly: false
|
||||
db-2:
|
||||
forceRename: garage-db-2
|
||||
storageClass: ceph-block
|
||||
accessMode: ReadWriteOnce
|
||||
size: 50Gi
|
||||
retain: true
|
||||
advancedMounts:
|
||||
server-2:
|
||||
main:
|
||||
@@ -378,6 +414,7 @@ garage:
|
||||
storageClass: ceph-block
|
||||
accessMode: ReadWriteOnce
|
||||
size: 50Gi
|
||||
retain: true
|
||||
advancedMounts:
|
||||
server-3:
|
||||
main:
|
||||
@@ -388,11 +425,15 @@ garage:
|
||||
storageClass: synology-iscsi-delete
|
||||
accessMode: ReadWriteOnce
|
||||
size: 800Gi
|
||||
retain: true
|
||||
advancedMounts:
|
||||
server-1:
|
||||
main:
|
||||
- path: /var/lib/garage/data
|
||||
readOnly: false
|
||||
debug:
|
||||
- path: /var/lib/garage/data
|
||||
readOnly: false
|
||||
data-2:
|
||||
forceRename: garage-data-2
|
||||
storageClass: synology-iscsi-delete
|
||||
|
||||
@@ -4,14 +4,16 @@ version: 1.0.0
|
||||
description: Gatus
|
||||
keywords:
|
||||
- gatus
|
||||
- uptime-monitor
|
||||
home: https://docs.alexlebens.dev/applications/gatus/
|
||||
- healthcheck
|
||||
- uptime
|
||||
- metrics
|
||||
home: https://wiki.alexlebens.dev/s/2a2b0c83-81c7-49e3-aafc-daff4ff23ce2
|
||||
sources:
|
||||
- https://github.com/TwiN/gatus
|
||||
- https://github.com/cloudnative-pg/cloudnative-pg
|
||||
- https://github.com/TwiN/gatus/pkgs/container/gatus
|
||||
- https://github.com/TwiN/helm-charts/tree/master/charts/gatus
|
||||
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/postgres-cluster
|
||||
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/volsync-target
|
||||
maintainers:
|
||||
- name: alexlebens
|
||||
dependencies:
|
||||
|
||||
@@ -14,7 +14,10 @@ spec:
|
||||
data:
|
||||
- secretKey: NTFY_TOKEN
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /ntfy/user/cl01tl
|
||||
metadataPolicy: None
|
||||
property: token
|
||||
|
||||
---
|
||||
@@ -34,9 +37,15 @@ spec:
|
||||
data:
|
||||
- secretKey: OIDC_CLIENT_ID
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /authentik/oidc/gatus
|
||||
metadataPolicy: None
|
||||
property: client
|
||||
- secretKey: OIDC_CLIENT_SECRET
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /authentik/oidc/gatus
|
||||
metadataPolicy: None
|
||||
property: secret
|
||||
|
||||
@@ -1,14 +1,27 @@
|
||||
gatus:
|
||||
deployment:
|
||||
strategy: Recreate
|
||||
readinessProbe:
|
||||
enabled: true
|
||||
livenessProbe:
|
||||
enabled: true
|
||||
image:
|
||||
repository: ghcr.io/twin/gatus
|
||||
tag: v5.35.0@sha256:21609f31be8c4e680ce3004b24276305666239c99aff58391503f3fb6142f39d
|
||||
tag: v5.35.0
|
||||
annotations:
|
||||
reloader.stakater.com/auto: "true"
|
||||
service:
|
||||
type: ClusterIP
|
||||
port: 80
|
||||
targetPort: 8080
|
||||
portName: http
|
||||
ingress:
|
||||
enabled: false
|
||||
gateway:
|
||||
apiVersion: gateway.networking.k8s.io/v1
|
||||
route:
|
||||
enabled: true
|
||||
path: /
|
||||
parentRefs:
|
||||
- group: gateway.networking.k8s.io
|
||||
kind: Gateway
|
||||
@@ -60,13 +73,24 @@ gatus:
|
||||
resources:
|
||||
requests:
|
||||
cpu: 10m
|
||||
memory: 20Mi
|
||||
memory: 128Mi
|
||||
persistence:
|
||||
enabled: true
|
||||
size: 1Gi
|
||||
mountPath: /data
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
finalizers:
|
||||
- kubernetes.io/pvc-protection
|
||||
storageClassName: ceph-block
|
||||
serviceMonitor:
|
||||
enabled: true
|
||||
interval: 1m
|
||||
path: /metrics
|
||||
scheme: http
|
||||
scrapeTimeout: 30s
|
||||
networkPolicy:
|
||||
enabled: false
|
||||
config:
|
||||
metrics: true
|
||||
connectivity:
|
||||
@@ -137,11 +161,8 @@ gatus:
|
||||
- name: photoview
|
||||
url: https://photoview.alexlebens.net
|
||||
<<: *defaults
|
||||
- name: foldergram
|
||||
url: https://foldergram.alexlebens.net
|
||||
<<: *defaults
|
||||
- name: grimmory
|
||||
url: https://grimmory.alexlebens.net
|
||||
- name: booklore
|
||||
url: https://booklore.alexlebens.net
|
||||
<<: *defaults
|
||||
- name: directus
|
||||
url: https://directus.alexlebens.net
|
||||
@@ -170,9 +191,6 @@ gatus:
|
||||
- name: excalidraw
|
||||
url: https://excalidraw.alexlebens.net
|
||||
<<: *defaults
|
||||
- name: languagetool
|
||||
url: https://languagetool.alexlebens.net
|
||||
<<: *defaults
|
||||
- name: gitea
|
||||
url: https://gitea.alexlebens.net
|
||||
<<: *defaults
|
||||
@@ -209,9 +227,6 @@ gatus:
|
||||
- name: jellystat
|
||||
url: https://jellystat.alexlebens.net
|
||||
<<: *defaults
|
||||
- name: medialyze
|
||||
url: https://medialyze.alexlebens.net
|
||||
<<: *defaults
|
||||
- name: authentik
|
||||
url: https://authentik.alexlebens.net
|
||||
<<: *defaults
|
||||
@@ -286,9 +301,6 @@ gatus:
|
||||
- name: tdarr
|
||||
url: https://tdarr.alexlebens.net
|
||||
<<: *defaults
|
||||
- name: houndarr
|
||||
url: https://houndarr.alexlebens.net
|
||||
<<: *defaults
|
||||
- name: sonarr
|
||||
url: http://sonarr.sonarr:80
|
||||
<<: *defaults
|
||||
@@ -401,12 +413,35 @@ postgres-18-cluster:
|
||||
destinationBucket: postgres-backups
|
||||
externalSecretCredentialPath: /garage/home-infra/postgres-backups
|
||||
isWALArchiver: true
|
||||
# - name: garage-remote
|
||||
# index: 1
|
||||
# destinationBucket: postgres-backups
|
||||
# externalSecretCredentialPath: /garage/home-infra/postgres-backups
|
||||
# retentionPolicy: "90d"
|
||||
# data:
|
||||
# compression: bzip2
|
||||
# - name: external
|
||||
# index: 1
|
||||
# endpointURL: https://nyc3.digitaloceanspaces.com
|
||||
# destinationBucket: postgres-backups-ce540ddf106d186bbddca68a
|
||||
# externalSecretCredentialPath: /garage/home-infra/postgres-backups
|
||||
# isWALArchiver: false
|
||||
scheduledBackups:
|
||||
- name: live-backup
|
||||
suspend: false
|
||||
immediate: true
|
||||
schedule: "0 25 14 * * *"
|
||||
backupName: garage-local
|
||||
# - name: weekly-backup
|
||||
# suspend: true
|
||||
# immediate: true
|
||||
# schedule: "0 0 4 * * SAT"
|
||||
# backupName: garage-remote
|
||||
# - name: daily-backup
|
||||
# suspend: true
|
||||
# immediate: true
|
||||
# schedule: "0 0 0 * * *"
|
||||
# backupName: external
|
||||
volsync-target-data:
|
||||
pvcTarget: gatus
|
||||
local:
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
dependencies:
|
||||
- name: generic-device-plugin
|
||||
repository: https://gitea.alexlebens.dev/api/packages/alexlebens/helm
|
||||
version: 0.20.26
|
||||
digest: sha256:47d12b7555d345dea0438d13ac538896994dbd44b142b9a546dbfe5c0939a92b
|
||||
generated: "2026-03-24T16:59:26.537547513Z"
|
||||
version: 0.20.22
|
||||
digest: sha256:14e5aa3f02ce6a1271dadc3f76997c739fc9434e669b05655c079d0b873c56ca
|
||||
generated: "2026-03-15T20:35:40.676997293Z"
|
||||
|
||||
@@ -5,7 +5,8 @@ description: Generic Device Plugin
|
||||
keywords:
|
||||
- generic-device-plugin
|
||||
- device
|
||||
home: https://docs.alexlebens.dev/applications/generic-device-plugin/
|
||||
- plugin
|
||||
home: https://wiki.alexlebens.dev/s/ee9ba1be-119c-4e83-aea9-b087481554f2
|
||||
sources:
|
||||
- https://github.com/squat/generic-device-plugin
|
||||
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/generic-device-plugin
|
||||
@@ -14,6 +15,6 @@ maintainers:
|
||||
dependencies:
|
||||
- name: generic-device-plugin
|
||||
repository: https://gitea.alexlebens.dev/api/packages/alexlebens/helm
|
||||
version: 0.20.26
|
||||
version: 0.20.22
|
||||
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/kubernetes.png
|
||||
appVersion: 1.0.0
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
dependencies:
|
||||
- name: gitea
|
||||
repository: https://dl.gitea.com/charts/
|
||||
repository: https://dl.gitea.io/charts/
|
||||
version: 12.5.0
|
||||
- name: actions
|
||||
repository: https://dl.gitea.com/charts/
|
||||
version: 0.0.3
|
||||
- name: meilisearch
|
||||
repository: https://meilisearch.github.io/meilisearch-kubernetes
|
||||
version: 0.29.0
|
||||
version: 0.28.0
|
||||
- name: cloudflared
|
||||
repository: oci://harbor.alexlebens.net/helm-charts
|
||||
version: 2.4.0
|
||||
@@ -23,5 +23,5 @@ dependencies:
|
||||
- name: volsync-target
|
||||
repository: oci://harbor.alexlebens.net/helm-charts
|
||||
version: 0.8.0
|
||||
digest: sha256:49862b06fe4884f504d0a892cb899f577262b584053b64a3504bacaf96d70f39
|
||||
generated: "2026-03-26T20:59:30.690577-05:00"
|
||||
digest: sha256:238b7653c9d12c4886a56350b6d66217dbe7ecbb76078a846c7cc2c8cb450eb3
|
||||
generated: "2026-03-16T15:56:55.197735783Z"
|
||||
|
||||
@@ -5,34 +5,35 @@ description: Gitea
|
||||
keywords:
|
||||
- gitea
|
||||
- git
|
||||
home: https://docs.alexlebens.dev/applications/gitea/
|
||||
- code
|
||||
home: https://wiki.alexlebens.dev/s/94060f71-fd05-4f78-9af2-053f8f221acd
|
||||
sources:
|
||||
- https://github.com/go-gitea/gitea
|
||||
- https://github.com/renovatebot/renovate
|
||||
- https://github.com/Angatar/s3cmd
|
||||
- https://github.com/meilisearch/meilisearch
|
||||
- https://github.com/cloudflare/cloudflared
|
||||
- https://github.com/cloudnative-pg/cloudnative-pg
|
||||
- https://hub.docker.com/r/gitea/gitea
|
||||
- https://hub.docker.com/r/renovate/renovate
|
||||
- https://hub.docker.com/r/d3fk/s3cmd/
|
||||
- https://gitea.com/gitea/helm-chart
|
||||
- https://gitea.com/gitea/helm-actions
|
||||
- https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template
|
||||
- https://github.com/meilisearch/meilisearch-kubernetes/tree/main/charts/meilisearch
|
||||
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/cloudflared
|
||||
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/postgres-cluster
|
||||
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/valkey
|
||||
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/volsync-target
|
||||
maintainers:
|
||||
- name: alexlebens
|
||||
dependencies:
|
||||
- name: gitea
|
||||
version: 12.5.0
|
||||
repository: https://dl.gitea.com/charts/
|
||||
repository: https://dl.gitea.io/charts/
|
||||
- name: actions
|
||||
alias: gitea-actions
|
||||
repository: https://dl.gitea.com/charts/
|
||||
version: 0.0.3
|
||||
- name: meilisearch
|
||||
version: 0.29.0
|
||||
version: 0.28.0
|
||||
repository: https://meilisearch.github.io/meilisearch-kubernetes
|
||||
- name: cloudflared
|
||||
repository: oci://harbor.alexlebens.net/helm-charts
|
||||
@@ -53,6 +54,6 @@ dependencies:
|
||||
alias: volsync-target-storage
|
||||
version: 0.8.0
|
||||
repository: oci://harbor.alexlebens.net/helm-charts
|
||||
icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/png/gitea.png
|
||||
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/gitea.png
|
||||
# renovate: datasource=github-releases depName=go-gitea/gitea
|
||||
appVersion: 1.25.5
|
||||
|
||||
@@ -14,11 +14,17 @@ spec:
|
||||
data:
|
||||
- secretKey: username
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /cl01tl/gitea/auth/admin
|
||||
metadataPolicy: None
|
||||
property: username
|
||||
- secretKey: password
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /cl01tl/gitea/auth/admin
|
||||
metadataPolicy: None
|
||||
property: password
|
||||
|
||||
---
|
||||
@@ -38,11 +44,17 @@ spec:
|
||||
data:
|
||||
- secretKey: secret
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /authentik/oidc/gitea
|
||||
metadataPolicy: None
|
||||
property: secret
|
||||
- secretKey: key
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /authentik/oidc/gitea
|
||||
metadataPolicy: None
|
||||
property: client
|
||||
|
||||
---
|
||||
@@ -62,7 +74,10 @@ spec:
|
||||
data:
|
||||
- secretKey: token
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /cl01tl/gitea/runner
|
||||
metadataPolicy: None
|
||||
property: token
|
||||
|
||||
---
|
||||
@@ -82,23 +97,38 @@ spec:
|
||||
data:
|
||||
- secretKey: RENOVATE_ENDPOINT
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /cl01tl/gitea/renovate
|
||||
metadataPolicy: None
|
||||
property: RENOVATE_ENDPOINT
|
||||
- secretKey: RENOVATE_GIT_AUTHOR
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /cl01tl/gitea/renovate
|
||||
metadataPolicy: None
|
||||
property: RENOVATE_GIT_AUTHOR
|
||||
- secretKey: RENOVATE_TOKEN
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /cl01tl/gitea/renovate
|
||||
metadataPolicy: None
|
||||
property: RENOVATE_TOKEN
|
||||
- secretKey: RENOVATE_GIT_PRIVATE_KEY
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /cl01tl/gitea/renovate
|
||||
metadataPolicy: None
|
||||
property: id_rsa
|
||||
- secretKey: RENOVATE_GITHUB_COM_TOKEN
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /github/gitea-cl01tl
|
||||
metadataPolicy: None
|
||||
property: token
|
||||
|
||||
---
|
||||
@@ -118,15 +148,24 @@ spec:
|
||||
data:
|
||||
- secretKey: config
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /cl01tl/gitea/renovate
|
||||
metadataPolicy: None
|
||||
property: ssh_config
|
||||
- secretKey: id_rsa
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /cl01tl/gitea/renovate
|
||||
metadataPolicy: None
|
||||
property: id_rsa
|
||||
- secretKey: id_rsa.pub
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /cl01tl/gitea/renovate
|
||||
metadataPolicy: None
|
||||
property: id_rsa.pub
|
||||
|
||||
---
|
||||
@@ -152,5 +191,8 @@ spec:
|
||||
data:
|
||||
- secretKey: MEILI_MASTER_KEY
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /cl01tl/gitea/meilisearch
|
||||
metadataPolicy: None
|
||||
property: MEILI_MASTER_KEY
|
||||
|
||||
@@ -2,11 +2,6 @@ gitea:
|
||||
global:
|
||||
imageRegistry: registry.hub.docker.com
|
||||
replicaCount: 3
|
||||
strategy:
|
||||
type: "RollingUpdate"
|
||||
rollingUpdate:
|
||||
maxSurge: "100%"
|
||||
maxUnavailable: 1
|
||||
image:
|
||||
repository: gitea/gitea
|
||||
tag: 1.25.5
|
||||
@@ -19,10 +14,8 @@ gitea:
|
||||
type: ClusterIP
|
||||
port: 22
|
||||
clusterIP: 10.103.160.140
|
||||
resources:
|
||||
requests:
|
||||
cpu: 1000m
|
||||
memory: 600Mi
|
||||
ingress:
|
||||
enabled: false
|
||||
persistence:
|
||||
storageClass: ceph-filesystem
|
||||
size: 40Gi
|
||||
@@ -48,7 +41,7 @@ gitea:
|
||||
metrics:
|
||||
enabled: true
|
||||
serviceMonitor:
|
||||
enabled: true
|
||||
enabled: false
|
||||
oauth:
|
||||
- name: Authentik
|
||||
provider: openidConnect
|
||||
@@ -146,10 +139,9 @@ gitea-actions:
|
||||
replicas: 6
|
||||
timezone: America/Chicago
|
||||
actRunner:
|
||||
registry: docker.io
|
||||
registry: ""
|
||||
repository: gitea/act_runner
|
||||
# renovate: datasource=docker depName=gitea/act_runner
|
||||
tag: 0.3.1@sha256:c2a169c5e99864c25e32527cef3d82203225e09558773022bf3dc164a2e6d762
|
||||
tag: 0.2.13
|
||||
config: |
|
||||
log:
|
||||
level: debug
|
||||
@@ -162,19 +154,17 @@ gitea-actions:
|
||||
- "ubuntu-24.04:docker://harbor.alexlebens.net/proxy-hub.docker/gitea/runner-images:ubuntu-24.04"
|
||||
- "ubuntu-22.04:docker://harbor.alexlebens.net/proxy-hub.docker/gitea/runner-images:ubuntu-22.04"
|
||||
dind:
|
||||
registry: docker.io
|
||||
registry: ""
|
||||
repository: docker
|
||||
# renovate: datasource=docker depName=docker
|
||||
tag: 29.3.1-dind@sha256:4d90f1f6c400315c2dba96d3ec93c01e64198395cbba04f79d12adce4f737029
|
||||
tag: 28.3.3-dind
|
||||
persistence:
|
||||
storageClass: ceph-block
|
||||
size: 10Gi
|
||||
size: 5Gi
|
||||
init:
|
||||
image:
|
||||
registry: docker.io
|
||||
registry: ""
|
||||
repository: busybox
|
||||
# renovate: datasource=docker depName=busybox
|
||||
tag: 1.37.0@sha256:1487d0af5f52b4ba31c7e465126ee2123fe3f2305d638e7827681e7cf6c83d5e
|
||||
tag: "1.37.0"
|
||||
existingSecret: gitea-runner-secret
|
||||
existingSecretKey: token
|
||||
giteaRootURL: http://gitea-http.gitea:3000
|
||||
@@ -185,14 +175,17 @@ meilisearch:
|
||||
MEILI_EXPERIMENTAL_DUMPLESS_UPGRADE: true
|
||||
auth:
|
||||
existingMasterKeySecret: gitea-meilisearch-master-key-secret
|
||||
service:
|
||||
type: ClusterIP
|
||||
port: 7700
|
||||
persistence:
|
||||
enabled: true
|
||||
storageClass: ceph-block
|
||||
size: 5Gi
|
||||
resources:
|
||||
requests:
|
||||
cpu: 1m
|
||||
memory: 160Mi
|
||||
cpu: 10m
|
||||
memory: 128Mi
|
||||
serviceMonitor:
|
||||
enabled: true
|
||||
postgres-18-cluster:
|
||||
@@ -200,8 +193,8 @@ postgres-18-cluster:
|
||||
cluster:
|
||||
resources:
|
||||
requests:
|
||||
cpu: 100m
|
||||
memory: 100Mi
|
||||
memory: 1Gi
|
||||
cpu: 200m
|
||||
recovery:
|
||||
method: objectStore
|
||||
objectStore:
|
||||
@@ -213,18 +206,41 @@ postgres-18-cluster:
|
||||
destinationBucket: postgres-backups
|
||||
externalSecretCredentialPath: /garage/home-infra/postgres-backups
|
||||
isWALArchiver: true
|
||||
# - name: garage-remote
|
||||
# index: 1
|
||||
# destinationBucket: postgres-backups
|
||||
# externalSecretCredentialPath: /garage/home-infra/postgres-backups
|
||||
# retentionPolicy: "90d"
|
||||
# data:
|
||||
# compression: bzip2
|
||||
# - name: external
|
||||
# index: 1
|
||||
# endpointURL: https://nyc3.digitaloceanspaces.com
|
||||
# destinationBucket: postgres-backups-ce540ddf106d186bbddca68a
|
||||
# externalSecretCredentialPath: /garage/home-infra/postgres-backups
|
||||
# isWALArchiver: false
|
||||
scheduledBackups:
|
||||
- name: live-backup
|
||||
suspend: false
|
||||
immediate: true
|
||||
schedule: "0 0 7 * * *"
|
||||
backupName: garage-local
|
||||
# - name: weekly-backup
|
||||
# suspend: true
|
||||
# immediate: true
|
||||
# schedule: "0 0 4 * * SAT"
|
||||
# backupName: garage-remote
|
||||
# - name: daily-backup
|
||||
# suspend: true
|
||||
# immediate: true
|
||||
# schedule: "0 0 0 * * *"
|
||||
# backupName: external
|
||||
valkey-gitea:
|
||||
valkey:
|
||||
resources:
|
||||
requests:
|
||||
cpu: 20m
|
||||
memory: 2Gi
|
||||
memory: 256Mi
|
||||
dataStorage:
|
||||
requestedSize: 10Gi
|
||||
replica:
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
dependencies:
|
||||
- name: grafana-operator
|
||||
repository: https://grafana.github.io/helm-charts
|
||||
version: 5.22.2
|
||||
version: 5.22.1
|
||||
- name: postgres-cluster
|
||||
repository: oci://harbor.alexlebens.net/helm-charts
|
||||
version: 7.10.0
|
||||
@@ -11,5 +11,5 @@ dependencies:
|
||||
- name: valkey
|
||||
repository: oci://harbor.alexlebens.net/helm-charts
|
||||
version: 0.4.0
|
||||
digest: sha256:a3bf183bcecb4d4b5354fe91a549075997dccb41c193da9daec9ccbe4d659fe2
|
||||
generated: "2026-03-18T10:04:15.165729555Z"
|
||||
digest: sha256:9cbba52d093e40b20917af87263e1fb0e478912440f660543f3527e70452edc7
|
||||
generated: "2026-03-15T20:05:59.855514102Z"
|
||||
|
||||
@@ -17,7 +17,7 @@ maintainers:
|
||||
- name: alexlebens
|
||||
dependencies:
|
||||
- name: grafana-operator
|
||||
version: 5.22.2
|
||||
version: 5.22.1
|
||||
repository: https://grafana.github.io/helm-charts
|
||||
- name: postgres-cluster
|
||||
alias: postgres-18-cluster
|
||||
@@ -33,4 +33,4 @@ dependencies:
|
||||
repository: oci://harbor.alexlebens.net/helm-charts
|
||||
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/grafana.png
|
||||
# renovate: datasource=github-releases depName=grafana/grafana-operator
|
||||
appVersion: v5.22.2
|
||||
appVersion: v5.22.1
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user