Compare commits
1 Commits
renovate/o
...
ace64f0a05
| Author | SHA1 | Date | |
|---|---|---|---|
|
ace64f0a05
|
@@ -1,75 +0,0 @@
|
|||||||
name: lint-test-docker
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
paths:
|
|
||||||
- 'hosts/**'
|
|
||||||
- ! 'hosts/archive'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
docker-lint:
|
|
||||||
runs-on: ubuntu-js
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v5
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
|
|
||||||
- name: Set up Node.js
|
|
||||||
uses: actions/setup-node@v6
|
|
||||||
with:
|
|
||||||
node-version: '24'
|
|
||||||
|
|
||||||
- name: Lint Docker Compose
|
|
||||||
run: |
|
|
||||||
set -e # Exit immediately if a command exits with a non-zero status.
|
|
||||||
|
|
||||||
TARGET_BRANCH="origin/main"
|
|
||||||
echo ">> Target branch for diff is: $TARGET_BRANCH"
|
|
||||||
|
|
||||||
CHANGED_FILES=$(git diff --name-only "$TARGET_BRANCH" -- 'hosts/**')
|
|
||||||
|
|
||||||
echo ">> Found changed files:"
|
|
||||||
echo "$CHANGED_FILES"
|
|
||||||
|
|
||||||
# For each changed file, find its parent chart directory (the one with compose.yaml).
|
|
||||||
# Then, create a unique list of those directories.
|
|
||||||
CHANGED_COMPOSE=$(echo "$CHANGED_FILES" | while read -r file; do
|
|
||||||
dir=$(dirname "$file")
|
|
||||||
while [[ "$dir" != "." && ! -f "$dir/compose.yaml" ]]; do
|
|
||||||
dir=$(dirname "$dir")
|
|
||||||
done
|
|
||||||
if [[ "$dir" != "." ]]; then
|
|
||||||
echo "$dir"
|
|
||||||
fi
|
|
||||||
done | sort -u)
|
|
||||||
|
|
||||||
if [[ -z "$CHANGED_COMPOSE" ]]; then
|
|
||||||
echo ">> Could not determine changed compose files. This will happen if only files outside a compose file were changed."
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo ">> Running dclint on changed compose files:"
|
|
||||||
echo "$CHANGED_COMPOSE"
|
|
||||||
|
|
||||||
echo "$CHANGED_COMPOSE" | while read -r compose; do
|
|
||||||
echo ">> Linting $compose ..."
|
|
||||||
npx dclint $compose
|
|
||||||
done
|
|
||||||
|
|
||||||
- name: ntfy Failed
|
|
||||||
uses: niniyas/ntfy-action@master
|
|
||||||
if: failure()
|
|
||||||
with:
|
|
||||||
url: '${{ secrets.NTFY_URL }}'
|
|
||||||
topic: '${{ secrets.NTFY_TOPIC }}'
|
|
||||||
title: 'Test Failure - Infrastructure'
|
|
||||||
priority: 4
|
|
||||||
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
|
|
||||||
tags: action,failed
|
|
||||||
details: 'Docker linting on Push for Infrastructure has failed!'
|
|
||||||
icon: 'https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png'
|
|
||||||
actions: '[{"action": "view", "label": "Open Gitea", "url": "https://gitea.alexlebens.dev/alexlebens/infrastructure/actions?workflow=lint-test-docker-push.yaml", "clear": true}]'
|
|
||||||
image: true
|
|
||||||
@@ -1,6 +1,13 @@
|
|||||||
name: lint-test-docker
|
name: lint-test-docker
|
||||||
|
|
||||||
on:
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths:
|
||||||
|
- 'hosts/**'
|
||||||
|
- ! 'hosts/archive'
|
||||||
|
|
||||||
pull_request:
|
pull_request:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
@@ -10,10 +17,10 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
docker-lint:
|
docker-lint:
|
||||||
runs-on: ubuntu-js
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
@@ -21,17 +28,17 @@ jobs:
|
|||||||
id: check-branch-exists
|
id: check-branch-exists
|
||||||
uses: GuillaumeFalourd/branch-exists@v1.1
|
uses: GuillaumeFalourd/branch-exists@v1.1
|
||||||
with:
|
with:
|
||||||
branch: "${{ github.base_ref }}"
|
branch: "origin/${{ github.base_ref }}"
|
||||||
|
|
||||||
- name: Branch Does Not Exist
|
- name: Branch Does Not Exist
|
||||||
if: steps.check-branch-exists.outputs.exists == 'false'
|
if: steps.check-branch-exists.outputs.exists == 'false'
|
||||||
run: echo "Branch ${{ github.base_ref }} was not found, likely already merged"
|
run: echo "Branch origin/${{ github.base_ref }} was not found, likely already merged"
|
||||||
|
|
||||||
- name: Set up Node.js
|
- name: Set up Node.js
|
||||||
if: steps.check-branch-exists.outputs.exists == 'true'
|
if: steps.check-branch-exists.outputs.exists == 'true'
|
||||||
uses: actions/setup-node@v6
|
uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: '24'
|
node-version: '22'
|
||||||
|
|
||||||
- name: Lint Docker Compose
|
- name: Lint Docker Compose
|
||||||
if: steps.check-branch-exists.outputs.exists == 'true'
|
if: steps.check-branch-exists.outputs.exists == 'true'
|
||||||
@@ -70,18 +77,3 @@ jobs:
|
|||||||
echo ">> Linting $compose ..."
|
echo ">> Linting $compose ..."
|
||||||
npx dclint $compose
|
npx dclint $compose
|
||||||
done
|
done
|
||||||
|
|
||||||
- name: ntfy Failed
|
|
||||||
uses: niniyas/ntfy-action@master
|
|
||||||
if: failure()
|
|
||||||
with:
|
|
||||||
url: '${{ secrets.NTFY_URL }}'
|
|
||||||
topic: '${{ secrets.NTFY_TOPIC }}'
|
|
||||||
title: 'Test Failure - Infrastructure'
|
|
||||||
priority: 3
|
|
||||||
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
|
|
||||||
tags: action,failed
|
|
||||||
details: 'Docker linting on Pull Request for Infrastructure has failed!'
|
|
||||||
icon: 'https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png'
|
|
||||||
actions: '[{"action": "view", "label": "Open Gitea", "url": "https://gitea.alexlebens.dev/alexlebens/infrastructure/actions?workflow=lint-test-docker-pull.yaml", "clear": true}]'
|
|
||||||
image: true
|
|
||||||
@@ -1,78 +0,0 @@
|
|||||||
name: lint-test-helm
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
paths:
|
|
||||||
- 'clusters/**'
|
|
||||||
- ! 'clusters/*/archive'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
helm-lint:
|
|
||||||
runs-on: ubuntu-js
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v5
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
|
|
||||||
- name: Set up Helm
|
|
||||||
uses: azure/setup-helm@v4
|
|
||||||
with:
|
|
||||||
token: ${{ secrets.GITEA_TOKEN }}
|
|
||||||
version: latest
|
|
||||||
|
|
||||||
- name: Lint Helm Chart
|
|
||||||
run: |
|
|
||||||
set -e # Exit immediately if a command exits with a non-zero status.
|
|
||||||
|
|
||||||
TARGET_BRANCH="origin/main"
|
|
||||||
echo ">> Target branch for diff is: $TARGET_BRANCH"
|
|
||||||
|
|
||||||
CHANGED_FILES=$(git diff --name-only "$TARGET_BRANCH" -- 'clusters/**')
|
|
||||||
|
|
||||||
echo ">> Found changed files:"
|
|
||||||
echo "$CHANGED_FILES"
|
|
||||||
|
|
||||||
# For each changed file, find its parent chart directory (the one with Chart.yaml).
|
|
||||||
# Then, create a unique list of those directories.
|
|
||||||
CHANGED_CHARTS=$(echo "$CHANGED_FILES" | while read -r file; do
|
|
||||||
dir=$(dirname "$file")
|
|
||||||
while [[ "$dir" != "." && ! -f "$dir/Chart.yaml" ]]; do
|
|
||||||
dir=$(dirname "$dir")
|
|
||||||
done
|
|
||||||
if [[ "$dir" != "." ]]; then
|
|
||||||
echo "$dir"
|
|
||||||
fi
|
|
||||||
done | sort -u)
|
|
||||||
|
|
||||||
if [[ -z "$CHANGED_CHARTS" ]]; then
|
|
||||||
echo ">> Could not determine changed charts. This could happen if only files outside a chart were changed."
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo ">> Running helm lint on changed charts:"
|
|
||||||
echo "$CHANGED_CHARTS"
|
|
||||||
|
|
||||||
echo "$CHANGED_CHARTS" | while read -r chart; do
|
|
||||||
echo ">> Building dependency for "$chart" ..."
|
|
||||||
helm dependency build "$chart"
|
|
||||||
echo ">> Linting $chart..."
|
|
||||||
helm lint "$chart"
|
|
||||||
done
|
|
||||||
|
|
||||||
- name: ntfy Failed
|
|
||||||
uses: niniyas/ntfy-action@master
|
|
||||||
if: failure()
|
|
||||||
with:
|
|
||||||
url: '${{ secrets.NTFY_URL }}'
|
|
||||||
topic: '${{ secrets.NTFY_TOPIC }}'
|
|
||||||
title: 'Test Failure - Infrastructure'
|
|
||||||
priority: 4
|
|
||||||
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
|
|
||||||
tags: action,failed
|
|
||||||
details: 'Helm linting on Push for Infrastructure has failed!'
|
|
||||||
icon: 'https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png'
|
|
||||||
actions: '[{"action": "view", "label": "Open Gitea", "url": "https://gitea.alexlebens.dev/alexlebens/infrastructure/actions?workflow=lint-test-helm-push.yaml", "clear": true}]'
|
|
||||||
image: true
|
|
||||||
@@ -1,6 +1,13 @@
|
|||||||
name: lint-test-helm
|
name: lint-test-helm
|
||||||
|
|
||||||
on:
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths:
|
||||||
|
- 'clusters/**'
|
||||||
|
- ! 'clusters/*/archive'
|
||||||
|
|
||||||
pull_request:
|
pull_request:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
@@ -10,10 +17,10 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
helm-lint:
|
helm-lint:
|
||||||
runs-on: ubuntu-js
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
@@ -21,11 +28,11 @@ jobs:
|
|||||||
id: check-branch-exists
|
id: check-branch-exists
|
||||||
uses: GuillaumeFalourd/branch-exists@v1.1
|
uses: GuillaumeFalourd/branch-exists@v1.1
|
||||||
with:
|
with:
|
||||||
branch: ${{ github.base_ref }}
|
branch: "origin/${{ github.base_ref }}"
|
||||||
|
|
||||||
- name: Branch Does Not Exist
|
- name: Branch Does Not Exist
|
||||||
if: steps.check-branch-exists.outputs.exists == 'false'
|
if: steps.check-branch-exists.outputs.exists == 'false'
|
||||||
run: echo "Branch ${{ github.base_ref }} was not found, likely already merged"
|
run: echo "Branch origin/${{ github.base_ref }} was not found, likely already merged"
|
||||||
|
|
||||||
- name: Set up Helm
|
- name: Set up Helm
|
||||||
if: steps.check-branch-exists.outputs.exists == 'true'
|
if: steps.check-branch-exists.outputs.exists == 'true'
|
||||||
@@ -73,18 +80,3 @@ jobs:
|
|||||||
echo ">> Linting $chart..."
|
echo ">> Linting $chart..."
|
||||||
helm lint "$chart"
|
helm lint "$chart"
|
||||||
done
|
done
|
||||||
|
|
||||||
- name: ntfy Failed
|
|
||||||
uses: niniyas/ntfy-action@master
|
|
||||||
if: failure()
|
|
||||||
with:
|
|
||||||
url: '${{ secrets.NTFY_URL }}'
|
|
||||||
topic: '${{ secrets.NTFY_TOPIC }}'
|
|
||||||
title: 'Test Failure - Infrastructure'
|
|
||||||
priority: 3
|
|
||||||
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
|
|
||||||
tags: action,failed
|
|
||||||
details: 'Helm linting on Pull Request for Infrastructure has failed!'
|
|
||||||
icon: 'https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png'
|
|
||||||
actions: '[{"action": "view", "label": "Open Gitea", "url": "https://gitea.alexlebens.dev/alexlebens/infrastructure/actions?workflow=lint-test-helm-pull.yaml", "clear": true}]'
|
|
||||||
image: true
|
|
||||||
@@ -13,10 +13,10 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
renovate:
|
renovate:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
container: ghcr.io/renovatebot/renovate:42
|
container: ghcr.io/renovatebot/renovate:41
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Renovate
|
- name: Renovate
|
||||||
run: renovate
|
run: renovate
|
||||||
|
|||||||
@@ -1,24 +0,0 @@
|
|||||||
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.4.0
|
|
||||||
- name: mariadb-cluster
|
|
||||||
version: 25.10.2
|
|
||||||
repository: https://helm.mariadb.com/mariadb-operator
|
|
||||||
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/booklore.png
|
|
||||||
appVersion: v.1.10.0
|
|
||||||
@@ -1,309 +0,0 @@
|
|||||||
apiVersion: external-secrets.io/v1
|
|
||||||
kind: ExternalSecret
|
|
||||||
metadata:
|
|
||||||
name: booklore-database-secret
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: booklore-database-secret
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
secretStoreRef:
|
|
||||||
kind: ClusterSecretStore
|
|
||||||
name: vault
|
|
||||||
data:
|
|
||||||
- secretKey: password
|
|
||||||
remoteRef:
|
|
||||||
conversionStrategy: Default
|
|
||||||
decodingStrategy: None
|
|
||||||
key: /cl01tl/booklore/database
|
|
||||||
metadataPolicy: None
|
|
||||||
property: password
|
|
||||||
|
|
||||||
---
|
|
||||||
apiVersion: external-secrets.io/v1
|
|
||||||
kind: ExternalSecret
|
|
||||||
metadata:
|
|
||||||
name: booklore-config-backup-secret
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: booklore-config-backup-secret
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
secretStoreRef:
|
|
||||||
kind: ClusterSecretStore
|
|
||||||
name: vault
|
|
||||||
target:
|
|
||||||
template:
|
|
||||||
mergePolicy: Merge
|
|
||||||
engineVersion: v2
|
|
||||||
data:
|
|
||||||
RESTIC_REPOSITORY: "{{ `{{ .BUCKET_ENDPOINT }}` }}/booklore/booklore-config"
|
|
||||||
data:
|
|
||||||
- secretKey: BUCKET_ENDPOINT
|
|
||||||
remoteRef:
|
|
||||||
conversionStrategy: Default
|
|
||||||
decodingStrategy: None
|
|
||||||
key: /volsync/restic/digital-ocean
|
|
||||||
metadataPolicy: None
|
|
||||||
property: BUCKET_ENDPOINT
|
|
||||||
- secretKey: RESTIC_PASSWORD
|
|
||||||
remoteRef:
|
|
||||||
conversionStrategy: Default
|
|
||||||
decodingStrategy: None
|
|
||||||
key: /volsync/restic/digital-ocean
|
|
||||||
metadataPolicy: None
|
|
||||||
property: RESTIC_PASSWORD
|
|
||||||
- secretKey: AWS_DEFAULT_REGION
|
|
||||||
remoteRef:
|
|
||||||
conversionStrategy: Default
|
|
||||||
decodingStrategy: None
|
|
||||||
key: /digital-ocean/home-infra/volsync-backups
|
|
||||||
metadataPolicy: None
|
|
||||||
property: AWS_DEFAULT_REGION
|
|
||||||
- secretKey: AWS_ACCESS_KEY_ID
|
|
||||||
remoteRef:
|
|
||||||
conversionStrategy: Default
|
|
||||||
decodingStrategy: None
|
|
||||||
key: /digital-ocean/home-infra/volsync-backups
|
|
||||||
metadataPolicy: None
|
|
||||||
property: AWS_ACCESS_KEY_ID
|
|
||||||
- secretKey: AWS_SECRET_ACCESS_KEY
|
|
||||||
remoteRef:
|
|
||||||
conversionStrategy: Default
|
|
||||||
decodingStrategy: None
|
|
||||||
key: /digital-ocean/home-infra/volsync-backups
|
|
||||||
metadataPolicy: None
|
|
||||||
property: AWS_SECRET_ACCESS_KEY
|
|
||||||
|
|
||||||
---
|
|
||||||
apiVersion: external-secrets.io/v1
|
|
||||||
kind: ExternalSecret
|
|
||||||
metadata:
|
|
||||||
name: booklore-data-backup-secret-local
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: booklore-data-backup-secret-local
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
secretStoreRef:
|
|
||||||
kind: ClusterSecretStore
|
|
||||||
name: vault
|
|
||||||
target:
|
|
||||||
template:
|
|
||||||
mergePolicy: Merge
|
|
||||||
engineVersion: v2
|
|
||||||
data:
|
|
||||||
RESTIC_REPOSITORY: "{{ `{{ .BUCKET_ENDPOINT }}` }}/booklore/booklore-data"
|
|
||||||
data:
|
|
||||||
- secretKey: BUCKET_ENDPOINT
|
|
||||||
remoteRef:
|
|
||||||
conversionStrategy: Default
|
|
||||||
decodingStrategy: None
|
|
||||||
key: /volsync/restic/garage-local
|
|
||||||
metadataPolicy: None
|
|
||||||
property: BUCKET_ENDPOINT
|
|
||||||
- secretKey: RESTIC_PASSWORD
|
|
||||||
remoteRef:
|
|
||||||
conversionStrategy: Default
|
|
||||||
decodingStrategy: None
|
|
||||||
key: /volsync/restic/garage-local
|
|
||||||
metadataPolicy: None
|
|
||||||
property: RESTIC_PASSWORD
|
|
||||||
- secretKey: AWS_DEFAULT_REGION
|
|
||||||
remoteRef:
|
|
||||||
conversionStrategy: Default
|
|
||||||
decodingStrategy: None
|
|
||||||
key: /garage/home-infra/volsync-backups
|
|
||||||
metadataPolicy: None
|
|
||||||
property: ACCESS_REGION
|
|
||||||
- secretKey: AWS_ACCESS_KEY_ID
|
|
||||||
remoteRef:
|
|
||||||
conversionStrategy: Default
|
|
||||||
decodingStrategy: None
|
|
||||||
key: /garage/home-infra/volsync-backups
|
|
||||||
metadataPolicy: None
|
|
||||||
property: ACCESS_KEY_ID
|
|
||||||
- secretKey: AWS_SECRET_ACCESS_KEY
|
|
||||||
remoteRef:
|
|
||||||
conversionStrategy: Default
|
|
||||||
decodingStrategy: None
|
|
||||||
key: /garage/home-infra/volsync-backups
|
|
||||||
metadataPolicy: None
|
|
||||||
property: ACCESS_SECRET_KEY
|
|
||||||
|
|
||||||
---
|
|
||||||
apiVersion: external-secrets.io/v1
|
|
||||||
kind: ExternalSecret
|
|
||||||
metadata:
|
|
||||||
name: booklore-data-backup-secret-remote
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: booklore-data-backup-secret-remote
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
secretStoreRef:
|
|
||||||
kind: ClusterSecretStore
|
|
||||||
name: vault
|
|
||||||
target:
|
|
||||||
template:
|
|
||||||
mergePolicy: Merge
|
|
||||||
engineVersion: v2
|
|
||||||
data:
|
|
||||||
RESTIC_REPOSITORY: "{{ `{{ .BUCKET_ENDPOINT }}` }}/booklore/booklore-data"
|
|
||||||
data:
|
|
||||||
- secretKey: BUCKET_ENDPOINT
|
|
||||||
remoteRef:
|
|
||||||
conversionStrategy: Default
|
|
||||||
decodingStrategy: None
|
|
||||||
key: /volsync/restic/garage-remote
|
|
||||||
metadataPolicy: None
|
|
||||||
property: BUCKET_ENDPOINT
|
|
||||||
- secretKey: RESTIC_PASSWORD
|
|
||||||
remoteRef:
|
|
||||||
conversionStrategy: Default
|
|
||||||
decodingStrategy: None
|
|
||||||
key: /volsync/restic/garage-remote
|
|
||||||
metadataPolicy: None
|
|
||||||
property: RESTIC_PASSWORD
|
|
||||||
- secretKey: AWS_DEFAULT_REGION
|
|
||||||
remoteRef:
|
|
||||||
conversionStrategy: Default
|
|
||||||
decodingStrategy: None
|
|
||||||
key: /garage/home-infra/volsync-backups
|
|
||||||
metadataPolicy: None
|
|
||||||
property: ACCESS_REGION
|
|
||||||
- secretKey: AWS_ACCESS_KEY_ID
|
|
||||||
remoteRef:
|
|
||||||
conversionStrategy: Default
|
|
||||||
decodingStrategy: None
|
|
||||||
key: /garage/home-infra/volsync-backups
|
|
||||||
metadataPolicy: None
|
|
||||||
property: ACCESS_KEY_ID
|
|
||||||
- secretKey: AWS_SECRET_ACCESS_KEY
|
|
||||||
remoteRef:
|
|
||||||
conversionStrategy: Default
|
|
||||||
decodingStrategy: None
|
|
||||||
key: /garage/home-infra/volsync-backups
|
|
||||||
metadataPolicy: None
|
|
||||||
property: ACCESS_SECRET_KEY
|
|
||||||
|
|
||||||
---
|
|
||||||
apiVersion: external-secrets.io/v1
|
|
||||||
kind: ExternalSecret
|
|
||||||
metadata:
|
|
||||||
name: booklore-data-backup-secret-external
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: booklore-data-backup-secret-external
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
secretStoreRef:
|
|
||||||
kind: ClusterSecretStore
|
|
||||||
name: vault
|
|
||||||
target:
|
|
||||||
template:
|
|
||||||
mergePolicy: Merge
|
|
||||||
engineVersion: v2
|
|
||||||
data:
|
|
||||||
RESTIC_REPOSITORY: "{{ `{{ .BUCKET_ENDPOINT }}` }}/booklore/booklore-data"
|
|
||||||
data:
|
|
||||||
- secretKey: BUCKET_ENDPOINT
|
|
||||||
remoteRef:
|
|
||||||
conversionStrategy: Default
|
|
||||||
decodingStrategy: None
|
|
||||||
key: /volsync/restic/digital-ocean
|
|
||||||
metadataPolicy: None
|
|
||||||
property: BUCKET_ENDPOINT
|
|
||||||
- secretKey: RESTIC_PASSWORD
|
|
||||||
remoteRef:
|
|
||||||
conversionStrategy: Default
|
|
||||||
decodingStrategy: None
|
|
||||||
key: /volsync/restic/digital-ocean
|
|
||||||
metadataPolicy: None
|
|
||||||
property: RESTIC_PASSWORD
|
|
||||||
- secretKey: AWS_DEFAULT_REGION
|
|
||||||
remoteRef:
|
|
||||||
conversionStrategy: Default
|
|
||||||
decodingStrategy: None
|
|
||||||
key: /digital-ocean/home-infra/volsync-backups
|
|
||||||
metadataPolicy: None
|
|
||||||
property: AWS_DEFAULT_REGION
|
|
||||||
- secretKey: AWS_ACCESS_KEY_ID
|
|
||||||
remoteRef:
|
|
||||||
conversionStrategy: Default
|
|
||||||
decodingStrategy: None
|
|
||||||
key: /digital-ocean/home-infra/volsync-backups
|
|
||||||
metadataPolicy: None
|
|
||||||
property: AWS_ACCESS_KEY_ID
|
|
||||||
- secretKey: AWS_SECRET_ACCESS_KEY
|
|
||||||
remoteRef:
|
|
||||||
conversionStrategy: Default
|
|
||||||
decodingStrategy: None
|
|
||||||
key: /digital-ocean/home-infra/volsync-backups
|
|
||||||
metadataPolicy: None
|
|
||||||
property: AWS_SECRET_ACCESS_KEY
|
|
||||||
|
|
||||||
---
|
|
||||||
apiVersion: external-secrets.io/v1
|
|
||||||
kind: ExternalSecret
|
|
||||||
metadata:
|
|
||||||
name: booklore-mariadb-cluster-backup-secret-external
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: booklore-mariadb-cluster-backup-secret-external
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
secretStoreRef:
|
|
||||||
kind: ClusterSecretStore
|
|
||||||
name: vault
|
|
||||||
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: booklore-mariadb-cluster-backup-secret-garage
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: booklore-mariadb-cluster-backup-secret-garage
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
secretStoreRef:
|
|
||||||
kind: ClusterSecretStore
|
|
||||||
name: vault
|
|
||||||
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,28 +0,0 @@
|
|||||||
apiVersion: gateway.networking.k8s.io/v1
|
|
||||||
kind: HTTPRoute
|
|
||||||
metadata:
|
|
||||||
name: http-route-booklore
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: http-route-booklore
|
|
||||||
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:
|
|
||||||
- booklore.alexlebens.net
|
|
||||||
rules:
|
|
||||||
- matches:
|
|
||||||
- path:
|
|
||||||
type: PathPrefix
|
|
||||||
value: /
|
|
||||||
backendRefs:
|
|
||||||
- group: ''
|
|
||||||
kind: Service
|
|
||||||
name: booklore
|
|
||||||
port: 80
|
|
||||||
weight: 100
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolumeClaim
|
|
||||||
metadata:
|
|
||||||
name: booklore-books-nfs-storage
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: booklore-books-nfs-storage
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
volumeName: booklore-books-nfs-storage
|
|
||||||
storageClassName: nfs-client
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteMany
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: 1Gi
|
|
||||||
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolumeClaim
|
|
||||||
metadata:
|
|
||||||
name: booklore-books-import-nfs-storage
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: booklore-books-import-nfs-storage
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
volumeName: booklore-books-import-nfs-storage
|
|
||||||
storageClassName: nfs-client
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteMany
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: 1Gi
|
|
||||||
@@ -1,48 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolume
|
|
||||||
metadata:
|
|
||||||
name: booklore-books-nfs-storage
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: booklore-books-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/Books
|
|
||||||
server: synologybond.alexlebens.net
|
|
||||||
mountOptions:
|
|
||||||
- vers=4
|
|
||||||
- minorversion=1
|
|
||||||
- noac
|
|
||||||
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolume
|
|
||||||
metadata:
|
|
||||||
name: booklore-books-import-nfs-storage
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: booklore-books-import-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/Books Import
|
|
||||||
server: synologybond.alexlebens.net
|
|
||||||
mountOptions:
|
|
||||||
- vers=4
|
|
||||||
- minorversion=1
|
|
||||||
- noac
|
|
||||||
@@ -1,110 +0,0 @@
|
|||||||
apiVersion: volsync.backube/v1alpha1
|
|
||||||
kind: ReplicationSource
|
|
||||||
metadata:
|
|
||||||
name: booklore-config-backup-source
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: booklore-config-backup-source
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
sourcePVC: booklore-config
|
|
||||||
trigger:
|
|
||||||
schedule: 0 4 * * *
|
|
||||||
restic:
|
|
||||||
pruneIntervalDays: 7
|
|
||||||
repository: booklore-config-backup-secret
|
|
||||||
retain:
|
|
||||||
hourly: 1
|
|
||||||
daily: 3
|
|
||||||
weekly: 2
|
|
||||||
monthly: 2
|
|
||||||
yearly: 4
|
|
||||||
copyMethod: Snapshot
|
|
||||||
storageClassName: ceph-block
|
|
||||||
volumeSnapshotClassName: ceph-blockpool-snapshot
|
|
||||||
cacheCapacity: 10Gi
|
|
||||||
|
|
||||||
---
|
|
||||||
apiVersion: volsync.backube/v1alpha1
|
|
||||||
kind: ReplicationSource
|
|
||||||
metadata:
|
|
||||||
name: booklore-data-backup-source-local
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: booklore-data-backup-source-local
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
sourcePVC: booklore-data
|
|
||||||
trigger:
|
|
||||||
schedule: 0 2 * * *
|
|
||||||
restic:
|
|
||||||
pruneIntervalDays: 7
|
|
||||||
repository: booklore-data-backup-secret-local
|
|
||||||
retain:
|
|
||||||
hourly: 1
|
|
||||||
daily: 3
|
|
||||||
weekly: 2
|
|
||||||
monthly: 2
|
|
||||||
yearly: 4
|
|
||||||
copyMethod: Snapshot
|
|
||||||
storageClassName: ceph-block
|
|
||||||
volumeSnapshotClassName: ceph-blockpool-snapshot
|
|
||||||
cacheCapacity: 10Gi
|
|
||||||
|
|
||||||
---
|
|
||||||
apiVersion: volsync.backube/v1alpha1
|
|
||||||
kind: ReplicationSource
|
|
||||||
metadata:
|
|
||||||
name: booklore-data-backup-source-remote
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: booklore-data-backup-source-remote
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
sourcePVC: booklore-data
|
|
||||||
trigger:
|
|
||||||
schedule: 0 3 * * *
|
|
||||||
restic:
|
|
||||||
pruneIntervalDays: 7
|
|
||||||
repository: booklore-data-backup-secret-remote
|
|
||||||
retain:
|
|
||||||
hourly: 1
|
|
||||||
daily: 3
|
|
||||||
weekly: 2
|
|
||||||
monthly: 2
|
|
||||||
yearly: 4
|
|
||||||
copyMethod: Snapshot
|
|
||||||
storageClassName: ceph-block
|
|
||||||
volumeSnapshotClassName: ceph-blockpool-snapshot
|
|
||||||
cacheCapacity: 10Gi
|
|
||||||
|
|
||||||
---
|
|
||||||
apiVersion: volsync.backube/v1alpha1
|
|
||||||
kind: ReplicationSource
|
|
||||||
metadata:
|
|
||||||
name: booklore-data-backup-source-external
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: booklore-data-backup-source-external
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
sourcePVC: booklore-data
|
|
||||||
trigger:
|
|
||||||
schedule: 0 4 * * *
|
|
||||||
restic:
|
|
||||||
pruneIntervalDays: 7
|
|
||||||
repository: booklore-data-backup-secret-external
|
|
||||||
retain:
|
|
||||||
hourly: 1
|
|
||||||
daily: 3
|
|
||||||
weekly: 2
|
|
||||||
monthly: 2
|
|
||||||
yearly: 4
|
|
||||||
copyMethod: Snapshot
|
|
||||||
storageClassName: ceph-block
|
|
||||||
volumeSnapshotClassName: ceph-blockpool-snapshot
|
|
||||||
cacheCapacity: 10Gi
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: garage-ps10rp
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: garage-ps10rp
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
annotations:
|
|
||||||
tailscale.com/tailnet-fqdn: garage-ps10rp.boreal-beaufort.ts.net
|
|
||||||
spec:
|
|
||||||
externalName: placeholder
|
|
||||||
type: ExternalName
|
|
||||||
@@ -1,155 +0,0 @@
|
|||||||
booklore:
|
|
||||||
controllers:
|
|
||||||
main:
|
|
||||||
type: deployment
|
|
||||||
replicas: 1
|
|
||||||
strategy: Recreate
|
|
||||||
revisionHistoryLimit: 3
|
|
||||||
containers:
|
|
||||||
main:
|
|
||||||
image:
|
|
||||||
repository: ghcr.io/booklore-app/booklore
|
|
||||||
tag: v1.10.0
|
|
||||||
pullPolicy: IfNotPresent
|
|
||||||
env:
|
|
||||||
- name: TZ
|
|
||||||
value: America/Chicago
|
|
||||||
- name: DATABASE_URL
|
|
||||||
value: jdbc:mariadb://booklore-mariadb-cluster-primary.booklore:3306/booklore
|
|
||||||
- name: DATABASE_USERNAME
|
|
||||||
value: booklore
|
|
||||||
- name: DATABASE_PASSWORD
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: booklore-database-secret
|
|
||||||
key: password
|
|
||||||
- name: BOOKLORE_PORT
|
|
||||||
value: 6060
|
|
||||||
- name: SWAGGER_ENABLED
|
|
||||||
value: false
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
cpu: 50m
|
|
||||||
memory: 128Mi
|
|
||||||
service:
|
|
||||||
main:
|
|
||||||
controller: main
|
|
||||||
ports:
|
|
||||||
http:
|
|
||||||
port: 80
|
|
||||||
targetPort: 6060
|
|
||||||
protocol: HTTP
|
|
||||||
persistence:
|
|
||||||
config:
|
|
||||||
storageClass: ceph-block
|
|
||||||
accessMode: ReadWriteOnce
|
|
||||||
size: 5Gi
|
|
||||||
retain: true
|
|
||||||
advancedMounts:
|
|
||||||
main:
|
|
||||||
main:
|
|
||||||
- path: /app/data
|
|
||||||
readOnly: false
|
|
||||||
data:
|
|
||||||
storageClass: ceph-block
|
|
||||||
accessMode: ReadWriteOnce
|
|
||||||
size: 10Gi
|
|
||||||
retain: true
|
|
||||||
advancedMounts:
|
|
||||||
main:
|
|
||||||
main:
|
|
||||||
- path: /data
|
|
||||||
readOnly: false
|
|
||||||
books:
|
|
||||||
existingClaim: booklore-books-nfs-storage
|
|
||||||
advancedMounts:
|
|
||||||
main:
|
|
||||||
main:
|
|
||||||
- path: /books
|
|
||||||
readOnly: false
|
|
||||||
books-import:
|
|
||||||
existingClaim: booklore-books-import-nfs-storage
|
|
||||||
advancedMounts:
|
|
||||||
main:
|
|
||||||
main:
|
|
||||||
- path: /bookdrop
|
|
||||||
readOnly: false
|
|
||||||
mariadb-cluster:
|
|
||||||
mariadb:
|
|
||||||
rootPasswordSecretKeyRef:
|
|
||||||
generate: false
|
|
||||||
name: booklore-database-secret
|
|
||||||
key: password
|
|
||||||
storage:
|
|
||||||
size: 5Gi
|
|
||||||
replicas: 3
|
|
||||||
galera:
|
|
||||||
enabled: true
|
|
||||||
databases:
|
|
||||||
- name: booklore
|
|
||||||
characterSet: utf8
|
|
||||||
collate: utf8_general_ci
|
|
||||||
cleanupPolicy: Delete
|
|
||||||
requeueInterval: 10h
|
|
||||||
users:
|
|
||||||
- name: booklore
|
|
||||||
passwordSecretKeyRef:
|
|
||||||
name: booklore-database-secret
|
|
||||||
key: password
|
|
||||||
host: '%'
|
|
||||||
cleanupPolicy: Delete
|
|
||||||
requeueInterval: 10h
|
|
||||||
retryInterval: 30s
|
|
||||||
grants:
|
|
||||||
- name: booklore
|
|
||||||
privileges:
|
|
||||||
- "ALL PRIVILEGES"
|
|
||||||
database: "booklore"
|
|
||||||
table: "*"
|
|
||||||
username: booklore
|
|
||||||
grantOption: true
|
|
||||||
host: '%'
|
|
||||||
cleanupPolicy: Delete
|
|
||||||
requeueInterval: 10h
|
|
||||||
retryInterval: 30s
|
|
||||||
physicalBackups:
|
|
||||||
- name: backup-external
|
|
||||||
schedule:
|
|
||||||
cron: "0 0 * * 0"
|
|
||||||
suspend: false
|
|
||||||
immediate: true
|
|
||||||
compression: gzip
|
|
||||||
maxRetention: 720h
|
|
||||||
storage:
|
|
||||||
s3:
|
|
||||||
bucket: mariadb-backups-b230a2f5aecf080a4b372c08
|
|
||||||
prefix: cl01tl/booklore
|
|
||||||
endpoint: nyc3.digitaloceanspaces.com
|
|
||||||
region: us-east-1
|
|
||||||
accessKeyIdSecretKeyRef:
|
|
||||||
name: booklore-mariadb-cluster-backup-secret-external
|
|
||||||
key: access
|
|
||||||
secretAccessKeySecretKeyRef:
|
|
||||||
name: booklore-mariadb-cluster-backup-secret-external
|
|
||||||
key: secret
|
|
||||||
tls:
|
|
||||||
enabled: true
|
|
||||||
- name: backup-garage
|
|
||||||
schedule:
|
|
||||||
cron: "0 0 * * *"
|
|
||||||
suspend: false
|
|
||||||
immediate: true
|
|
||||||
compression: gzip
|
|
||||||
maxRetention: 360h
|
|
||||||
storage:
|
|
||||||
s3:
|
|
||||||
bucket: mariadb-backups
|
|
||||||
prefix: cl01tl/booklore
|
|
||||||
endpoint: garage-main.garage:3900
|
|
||||||
region: us-east-1
|
|
||||||
accessKeyIdSecretKeyRef:
|
|
||||||
name: booklore-mariadb-cluster-backup-secret-garage
|
|
||||||
key: access
|
|
||||||
secretAccessKeySecretKeyRef:
|
|
||||||
name: booklore-mariadb-cluster-backup-secret-garage
|
|
||||||
key: secret
|
|
||||||
@@ -55,7 +55,7 @@ calibre-web-automated:
|
|||||||
bypass:
|
bypass:
|
||||||
image:
|
image:
|
||||||
repository: ghcr.io/sarperavci/cloudflarebypassforscraping
|
repository: ghcr.io/sarperavci/cloudflarebypassforscraping
|
||||||
tag: latest@sha256:53b50a04bc9bc70cac350040a13bb23e9f31de59ca94d50d0bf8e4c50a73c656
|
tag: latest@sha256:c34ef70a768ddf35c057f893c5392b8f65465fc4fbac634ba68a16d6a9dd0cbb
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ code-server:
|
|||||||
main:
|
main:
|
||||||
image:
|
image:
|
||||||
repository: ghcr.io/linuxserver/code-server
|
repository: ghcr.io/linuxserver/code-server
|
||||||
tag: 4.105.1@sha256:f01693e529a6c4db98deb4bb28bf2655a403489831e962e6cc0b2c5f89f220f6
|
tag: 4.105.1@sha256:c7c66416238b70312df90b5936ea4adb6108552d866dd00a804c86c599b2ab6c
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
env:
|
env:
|
||||||
- name: TZ
|
- name: TZ
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ directus:
|
|||||||
main:
|
main:
|
||||||
image:
|
image:
|
||||||
repository: directus/directus
|
repository: directus/directus
|
||||||
tag: 11.13.3
|
tag: 11.12.0
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
env:
|
env:
|
||||||
- name: PUBLIC_URL
|
- name: PUBLIC_URL
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ maintainers:
|
|||||||
- name: alexlebens
|
- name: alexlebens
|
||||||
dependencies:
|
dependencies:
|
||||||
- name: element-web
|
- name: element-web
|
||||||
version: 1.4.24
|
version: 1.4.22
|
||||||
repository: https://ananace.gitlab.io/charts
|
repository: https://ananace.gitlab.io/charts
|
||||||
- name: cloudflared
|
- name: cloudflared
|
||||||
alias: cloudflared
|
alias: cloudflared
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ element-web:
|
|||||||
replicaCount: 1
|
replicaCount: 1
|
||||||
image:
|
image:
|
||||||
repository: vectorim/element-web
|
repository: vectorim/element-web
|
||||||
tag: v1.12.4
|
tag: v1.12.3
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
defaultServer:
|
defaultServer:
|
||||||
url: https://matrix.alexlebens.dev
|
url: https://matrix.alexlebens.dev
|
||||||
|
|||||||
@@ -1,23 +0,0 @@
|
|||||||
apiVersion: v2
|
|
||||||
name: ephemera
|
|
||||||
version: 1.0.0
|
|
||||||
description: ephemera
|
|
||||||
keywords:
|
|
||||||
- ephemera
|
|
||||||
- books
|
|
||||||
home: https://wiki.alexlebens.dev/
|
|
||||||
sources:
|
|
||||||
- https://github.com/OrwellianEpilogue/ephemera
|
|
||||||
- https://github.com/FlareSolverr/FlareSolverr
|
|
||||||
- https://github.com/orwellianepilogue/ephemera/pkgs/container/ephemera
|
|
||||||
- https://github.com/flaresolverr/FlareSolverr/pkgs/container/flaresolverr
|
|
||||||
- https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template
|
|
||||||
maintainers:
|
|
||||||
- name: alexlebens
|
|
||||||
dependencies:
|
|
||||||
- name: app-template
|
|
||||||
alias: ephemera
|
|
||||||
repository: https://bjw-s-labs.github.io/helm-charts/
|
|
||||||
version: 4.4.0
|
|
||||||
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/ephemera.png
|
|
||||||
appVersion: 1.3.1
|
|
||||||
@@ -1,101 +0,0 @@
|
|||||||
apiVersion: external-secrets.io/v1
|
|
||||||
kind: ExternalSecret
|
|
||||||
metadata:
|
|
||||||
name: ephemera-key-secret
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: ephemera-key-secret
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
secretStoreRef:
|
|
||||||
kind: ClusterSecretStore
|
|
||||||
name: vault
|
|
||||||
data:
|
|
||||||
- secretKey: key
|
|
||||||
remoteRef:
|
|
||||||
conversionStrategy: Default
|
|
||||||
decodingStrategy: None
|
|
||||||
key: /cl01tl/ephemera/config
|
|
||||||
metadataPolicy: None
|
|
||||||
property: key
|
|
||||||
|
|
||||||
---
|
|
||||||
apiVersion: external-secrets.io/v1
|
|
||||||
kind: ExternalSecret
|
|
||||||
metadata:
|
|
||||||
name: ephemera-apprise-config
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: ephemera-apprise-config
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
secretStoreRef:
|
|
||||||
kind: ClusterSecretStore
|
|
||||||
name: vault
|
|
||||||
data:
|
|
||||||
- secretKey: ntfy-url
|
|
||||||
remoteRef:
|
|
||||||
conversionStrategy: Default
|
|
||||||
decodingStrategy: None
|
|
||||||
key: /cl01tl/ephemera/config
|
|
||||||
metadataPolicy: None
|
|
||||||
property: ntfy-url
|
|
||||||
|
|
||||||
---
|
|
||||||
apiVersion: external-secrets.io/v1
|
|
||||||
kind: ExternalSecret
|
|
||||||
metadata:
|
|
||||||
name: ephemera-config-backup-secret
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: ephemera-config-backup-secret
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
secretStoreRef:
|
|
||||||
kind: ClusterSecretStore
|
|
||||||
name: vault
|
|
||||||
target:
|
|
||||||
template:
|
|
||||||
mergePolicy: Merge
|
|
||||||
engineVersion: v2
|
|
||||||
data:
|
|
||||||
RESTIC_REPOSITORY: "{{ `{{ .BUCKET_ENDPOINT }}` }}/ephemera/ephemera-config"
|
|
||||||
data:
|
|
||||||
- secretKey: BUCKET_ENDPOINT
|
|
||||||
remoteRef:
|
|
||||||
conversionStrategy: Default
|
|
||||||
decodingStrategy: None
|
|
||||||
key: /cl01tl/volsync/restic/config
|
|
||||||
metadataPolicy: None
|
|
||||||
property: S3_BUCKET_ENDPOINT
|
|
||||||
- secretKey: RESTIC_PASSWORD
|
|
||||||
remoteRef:
|
|
||||||
conversionStrategy: Default
|
|
||||||
decodingStrategy: None
|
|
||||||
key: /cl01tl/volsync/restic/config
|
|
||||||
metadataPolicy: None
|
|
||||||
property: RESTIC_PASSWORD
|
|
||||||
- secretKey: AWS_DEFAULT_REGION
|
|
||||||
remoteRef:
|
|
||||||
conversionStrategy: Default
|
|
||||||
decodingStrategy: None
|
|
||||||
key: /cl01tl/volsync/restic/config
|
|
||||||
metadataPolicy: None
|
|
||||||
property: AWS_DEFAULT_REGION
|
|
||||||
- secretKey: AWS_ACCESS_KEY_ID
|
|
||||||
remoteRef:
|
|
||||||
conversionStrategy: Default
|
|
||||||
decodingStrategy: None
|
|
||||||
key: /digital-ocean/home-infra/volsync-backups
|
|
||||||
metadataPolicy: None
|
|
||||||
property: access_key
|
|
||||||
- secretKey: AWS_SECRET_ACCESS_KEY
|
|
||||||
remoteRef:
|
|
||||||
conversionStrategy: Default
|
|
||||||
decodingStrategy: None
|
|
||||||
key: /digital-ocean/home-infra/volsync-backups
|
|
||||||
metadataPolicy: None
|
|
||||||
property: secret_key
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
apiVersion: gateway.networking.k8s.io/v1
|
|
||||||
kind: HTTPRoute
|
|
||||||
metadata:
|
|
||||||
name: http-route-ephemera
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: http-route-ephemera
|
|
||||||
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:
|
|
||||||
- ephemera.alexlebens.net
|
|
||||||
rules:
|
|
||||||
- matches:
|
|
||||||
- path:
|
|
||||||
type: PathPrefix
|
|
||||||
value: /
|
|
||||||
backendRefs:
|
|
||||||
- group: ''
|
|
||||||
kind: Service
|
|
||||||
name: ephemera
|
|
||||||
port: 80
|
|
||||||
weight: 100
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolumeClaim
|
|
||||||
metadata:
|
|
||||||
name: ephemera-nfs-storage
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: ephemera-nfs-storage
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
volumeName: ephemera-nfs-storage
|
|
||||||
storageClassName: nfs-client
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteMany
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: 1Gi
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolume
|
|
||||||
metadata:
|
|
||||||
name: ephemera-nfs-storage
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: ephemera-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/Books Import
|
|
||||||
server: synologybond.alexlebens.net
|
|
||||||
mountOptions:
|
|
||||||
- vers=4
|
|
||||||
- minorversion=1
|
|
||||||
- noac
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
apiVersion: volsync.backube/v1alpha1
|
|
||||||
kind: ReplicationSource
|
|
||||||
metadata:
|
|
||||||
name: ephemera-config-backup-source
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: ephemera-config-backup-source
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
sourcePVC: ephemera-config
|
|
||||||
trigger:
|
|
||||||
schedule: 0 4 * * *
|
|
||||||
restic:
|
|
||||||
pruneIntervalDays: 7
|
|
||||||
repository: ephemera-config-backup-secret
|
|
||||||
retain:
|
|
||||||
hourly: 1
|
|
||||||
daily: 3
|
|
||||||
weekly: 2
|
|
||||||
monthly: 2
|
|
||||||
yearly: 4
|
|
||||||
copyMethod: Snapshot
|
|
||||||
storageClassName: ceph-block
|
|
||||||
volumeSnapshotClassName: ceph-blockpool-snapshot
|
|
||||||
cacheCapacity: 10Gi
|
|
||||||
@@ -1,107 +0,0 @@
|
|||||||
ephemera:
|
|
||||||
controllers:
|
|
||||||
main:
|
|
||||||
type: deployment
|
|
||||||
replicas: 1
|
|
||||||
strategy: Recreate
|
|
||||||
revisionHistoryLimit: 3
|
|
||||||
containers:
|
|
||||||
main:
|
|
||||||
image:
|
|
||||||
repository: ghcr.io/orwellianepilogue/ephemera
|
|
||||||
tag: 1.3.1
|
|
||||||
pullPolicy: IfNotPresent
|
|
||||||
env:
|
|
||||||
- name: AA_BASE_URL
|
|
||||||
value: https://annas-archive.org
|
|
||||||
- name: AA_API_KEY
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: ephemera-key-secret
|
|
||||||
key: key
|
|
||||||
- name: FLARESOLVERR_URL
|
|
||||||
value: http://127.0.0.1:8191
|
|
||||||
- name: LG_BASE_URL
|
|
||||||
value: https://gen.com
|
|
||||||
- name: PUID
|
|
||||||
value: 0
|
|
||||||
- name: PGID
|
|
||||||
value: 0
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
cpu: 50m
|
|
||||||
memory: 128Mi
|
|
||||||
flaresolverr:
|
|
||||||
image:
|
|
||||||
repository: ghcr.io/flaresolverr/flaresolverr
|
|
||||||
tag: v3.4.5
|
|
||||||
pullPolicy: IfNotPresent
|
|
||||||
env:
|
|
||||||
- name: LOG_LEVEL
|
|
||||||
value: info
|
|
||||||
- name: LOG_HTML
|
|
||||||
value: false
|
|
||||||
- name: CAPTCHA_SOLVER
|
|
||||||
value: none
|
|
||||||
- name: TZ
|
|
||||||
value: America/Chicago
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
cpu: 10m
|
|
||||||
memory: 128Mi
|
|
||||||
apprise-api:
|
|
||||||
image:
|
|
||||||
repository: caronc/apprise
|
|
||||||
tag: 1.2.2
|
|
||||||
pullPolicy: IfNotPresent
|
|
||||||
env:
|
|
||||||
- name: TZ
|
|
||||||
value: US/Central
|
|
||||||
- name: APPRISE_STORAGE_MODE
|
|
||||||
value: memory
|
|
||||||
- name: APPRISE_STATEFUL_MODE
|
|
||||||
value: disabled
|
|
||||||
- name: APPRISE_WORKER_COUNT
|
|
||||||
value: 1
|
|
||||||
- name: APPRISE_STATELESS_URLS
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: ephemera-apprise-config
|
|
||||||
key: ntfy-url
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
cpu: 10m
|
|
||||||
memory: 128Mi
|
|
||||||
service:
|
|
||||||
main:
|
|
||||||
controller: main
|
|
||||||
ports:
|
|
||||||
http:
|
|
||||||
port: 80
|
|
||||||
targetPort: 8286
|
|
||||||
protocol: HTTP
|
|
||||||
persistence:
|
|
||||||
config:
|
|
||||||
storageClass: ceph-block
|
|
||||||
accessMode: ReadWriteOnce
|
|
||||||
size: 5Gi
|
|
||||||
retain: true
|
|
||||||
advancedMounts:
|
|
||||||
main:
|
|
||||||
main:
|
|
||||||
- path: /app/data
|
|
||||||
readOnly: false
|
|
||||||
cache:
|
|
||||||
type: emptyDir
|
|
||||||
advancedMounts:
|
|
||||||
main:
|
|
||||||
main:
|
|
||||||
- path: /app/downloads
|
|
||||||
readOnly: false
|
|
||||||
books-import:
|
|
||||||
existingClaim: ephemera-nfs-storage
|
|
||||||
advancedMounts:
|
|
||||||
main:
|
|
||||||
main:
|
|
||||||
- path: /app/ingest
|
|
||||||
readOnly: false
|
|
||||||
@@ -9,7 +9,7 @@ home-assistant:
|
|||||||
main:
|
main:
|
||||||
image:
|
image:
|
||||||
repository: ghcr.io/home-assistant/home-assistant
|
repository: ghcr.io/home-assistant/home-assistant
|
||||||
tag: 2025.11.1
|
tag: 2025.10.4
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
env:
|
env:
|
||||||
- name: TZ
|
- name: TZ
|
||||||
@@ -21,7 +21,7 @@ home-assistant:
|
|||||||
code-server:
|
code-server:
|
||||||
image:
|
image:
|
||||||
repository: ghcr.io/linuxserver/code-server
|
repository: ghcr.io/linuxserver/code-server
|
||||||
tag: 4.105.1@sha256:f01693e529a6c4db98deb4bb28bf2655a403489831e962e6cc0b2c5f89f220f6
|
tag: 4.105.1@sha256:c7c66416238b70312df90b5936ea4adb6108552d866dd00a804c86c599b2ab6c
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
env:
|
env:
|
||||||
- name: TZ
|
- name: TZ
|
||||||
|
|||||||
@@ -76,9 +76,6 @@ homepage:
|
|||||||
- Storage:
|
- Storage:
|
||||||
tab: Services
|
tab: Services
|
||||||
icon: mdi-database-#ffffff
|
icon: mdi-database-#ffffff
|
||||||
- Servarr:
|
|
||||||
tab: Services
|
|
||||||
icon: mdi-multimedia-#ffffff
|
|
||||||
- TV Shows:
|
- TV Shows:
|
||||||
tab: Servarr
|
tab: Servarr
|
||||||
icon: mdi-television-#ffffff
|
icon: mdi-television-#ffffff
|
||||||
@@ -88,9 +85,9 @@ homepage:
|
|||||||
- Music:
|
- Music:
|
||||||
tab: Servarr
|
tab: Servarr
|
||||||
icon: mdi-music-box-multiple-#ffffff
|
icon: mdi-music-box-multiple-#ffffff
|
||||||
- Books:
|
- Services (Servarr):
|
||||||
tab: Servarr
|
tab: Servarr
|
||||||
icon: mdi-book-open-variant-#ffffff
|
icon: mdi-radar-#ffffff
|
||||||
- External Services:
|
- External Services:
|
||||||
tab: Bookmarks
|
tab: Bookmarks
|
||||||
icon: mdi-cloud-#ffffff
|
icon: mdi-cloud-#ffffff
|
||||||
@@ -183,12 +180,6 @@ homepage:
|
|||||||
href: https://calibre.alexlebens.net
|
href: https://calibre.alexlebens.net
|
||||||
siteMonitor: http://calibre-web-automated-main.calibre-web-automated:8083
|
siteMonitor: http://calibre-web-automated-main.calibre-web-automated:8083
|
||||||
statusStyle: dot
|
statusStyle: dot
|
||||||
- Books (Booklore):
|
|
||||||
icon: sh-booklore.webp
|
|
||||||
description: Booklore
|
|
||||||
href: https://booklore.alexlebens.net
|
|
||||||
siteMonitor: http://booklore.booklore:80
|
|
||||||
statusStyle: dot
|
|
||||||
- Public:
|
- Public:
|
||||||
- Site:
|
- Site:
|
||||||
icon: https://web-assets-3bfcb5585cbd63dc365d32a3.nyc3.cdn.digitaloceanspaces.com/alexlebens-net/logo-new-round.png
|
icon: https://web-assets-3bfcb5585cbd63dc365d32a3.nyc3.cdn.digitaloceanspaces.com/alexlebens-net/logo-new-round.png
|
||||||
@@ -531,50 +522,6 @@ homepage:
|
|||||||
href: https://vault.alexlebens.net
|
href: https://vault.alexlebens.net
|
||||||
siteMonitor: http://vault.vault:8200
|
siteMonitor: http://vault.vault:8200
|
||||||
statusStyle: dot
|
statusStyle: dot
|
||||||
- Backups:
|
|
||||||
icon: sh-backrest-light.webp
|
|
||||||
description: Backrest
|
|
||||||
href: https://backrest.alexlebens.net
|
|
||||||
siteMonitor: http://backrest.backrest:80
|
|
||||||
statusStyle: dot
|
|
||||||
- Servarr:
|
|
||||||
- qUI:
|
|
||||||
icon: https://raw.githubusercontent.com/autobrr/qui/8487c818886df9abb2b1456f43b54e0ba180a2bd/web/public/icons.svg
|
|
||||||
description: qbitorrent
|
|
||||||
href: https://qui.alexlebens.net
|
|
||||||
siteMonitor: http://qbittorrent-qui.qbittorrent:80
|
|
||||||
statusStyle: dot
|
|
||||||
widget:
|
|
||||||
type: qbittorrent
|
|
||||||
url: http://qbittorrent.qbittorrent:8080
|
|
||||||
enableLeechProgress: true
|
|
||||||
- Prowlarr:
|
|
||||||
icon: sh-prowlarr.webp
|
|
||||||
description: Indexers
|
|
||||||
href: https://prowlarr.alexlebens.net
|
|
||||||
siteMonitor: http://prowlarr.prowlarr:80
|
|
||||||
statusStyle: dot
|
|
||||||
- Huntarr:
|
|
||||||
icon: https://raw.githubusercontent.com/plexguide/Huntarr.io/main/frontend/static/logo/128.png
|
|
||||||
description: Content upgrader
|
|
||||||
href: https://huntarr.alexlebens.net
|
|
||||||
siteMonitor: http://huntarr.huntarr:80
|
|
||||||
statusStyle: dot
|
|
||||||
- Bazarr:
|
|
||||||
icon: sh-bazarr.webp
|
|
||||||
description: Subtitles
|
|
||||||
href: https://bazarr.alexlebens.net
|
|
||||||
siteMonitor: http://bazarr.bazarr:80
|
|
||||||
statusStyle: dot
|
|
||||||
- Tdarr:
|
|
||||||
icon: sh-tdarr.webp
|
|
||||||
description: Media transcoding and health checks
|
|
||||||
href: https://tdarr.alexlebens.net
|
|
||||||
siteMonitor: http://tdarr-web.tdarr:8265
|
|
||||||
statusStyle: dot
|
|
||||||
widget:
|
|
||||||
type: tdarr
|
|
||||||
url: http://tdarr-web.tdarr:8265
|
|
||||||
- TV Shows:
|
- TV Shows:
|
||||||
- Sonarr:
|
- Sonarr:
|
||||||
icon: sh-sonarr.webp
|
icon: sh-sonarr.webp
|
||||||
@@ -685,25 +632,50 @@ homepage:
|
|||||||
href: https://slskd.alexlebens.net
|
href: https://slskd.alexlebens.net
|
||||||
siteMonitor: http://slskd.slskd:5030
|
siteMonitor: http://slskd.slskd:5030
|
||||||
statusStyle: dot
|
statusStyle: dot
|
||||||
- Books:
|
- Services (Servarr):
|
||||||
- Ephemera:
|
- qUI:
|
||||||
icon: sh-ephemera.webp
|
icon: https://raw.githubusercontent.com/autobrr/qui/8487c818886df9abb2b1456f43b54e0ba180a2bd/web/public/icons.svg
|
||||||
description: Books
|
description: qbitorrent
|
||||||
href: https://ephemera.alexlebens.net
|
href: https://qui.alexlebens.net
|
||||||
siteMonitor: http://ephemera.ephemera:80
|
siteMonitor: http://qbittorrent-qui.qbittorrent:80
|
||||||
|
statusStyle: dot
|
||||||
|
widget:
|
||||||
|
type: qbittorrent
|
||||||
|
url: http://qbittorrent.qbittorrent:8080
|
||||||
|
enableLeechProgress: true
|
||||||
|
- Prowlarr:
|
||||||
|
icon: sh-prowlarr.webp
|
||||||
|
description: Indexers
|
||||||
|
href: https://prowlarr.alexlebens.net
|
||||||
|
siteMonitor: http://prowlarr.prowlarr:80
|
||||||
|
statusStyle: dot
|
||||||
|
- Bazarr:
|
||||||
|
icon: sh-bazarr.webp
|
||||||
|
description: Indexers
|
||||||
|
href: https://bazarr.alexlebens.net
|
||||||
|
siteMonitor: http://bazarr.bazarr:80
|
||||||
|
statusStyle: dot
|
||||||
|
- Huntarr:
|
||||||
|
icon: https://raw.githubusercontent.com/plexguide/Huntarr.io/main/frontend/static/logo/128.png
|
||||||
|
description: Indexers
|
||||||
|
href: https://huntarr.alexlebens.net
|
||||||
|
siteMonitor: http://huntarr.huntarr:80
|
||||||
statusStyle: dot
|
statusStyle: dot
|
||||||
- CWA Downloader:
|
- CWA Downloader:
|
||||||
icon: sh-cwa-book-downloader.webp
|
icon: sh-calibre.webp
|
||||||
description: Books
|
description: Calibre Web Automated Book Downloader
|
||||||
href: https://calibre-downloader.alexlebens.net
|
href: https://calibre-downloader.alexlebens.net
|
||||||
siteMonitor: http://calibre-web-automated-downloader.calibre-web-automated:8084
|
siteMonitor: http://calibre-web-automated-downloader.calibre-web-automated:8084
|
||||||
statusStyle: dot
|
statusStyle: dot
|
||||||
- Listenarr:
|
- Tdarr:
|
||||||
icon: sh-audiobookrequest.webp
|
icon: sh-tdarr.webp
|
||||||
description: Audiobooks
|
description: Media transcoding and health checks
|
||||||
href: https://listenarr.alexlebens.net
|
href: https://tdarr.alexlebens.net
|
||||||
siteMonitor: http://listenarr.listenarr:80
|
siteMonitor: http://tdarr-web.tdarr:8265
|
||||||
statusStyle: dot
|
statusStyle: dot
|
||||||
|
widget:
|
||||||
|
type: tdarr
|
||||||
|
url: http://tdarr-web.tdarr:8265
|
||||||
- Other Homes:
|
- Other Homes:
|
||||||
- Dev:
|
- Dev:
|
||||||
icon: sh-homepage.webp
|
icon: sh-homepage.webp
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ karakeep:
|
|||||||
main:
|
main:
|
||||||
image:
|
image:
|
||||||
repository: ghcr.io/karakeep-app/karakeep
|
repository: ghcr.io/karakeep-app/karakeep
|
||||||
tag: 0.28.0
|
tag: 0.27.1
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
env:
|
env:
|
||||||
- name: DATA_DIR
|
- name: DATA_DIR
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ libation:
|
|||||||
main:
|
main:
|
||||||
image:
|
image:
|
||||||
repository: rmcrackan/libation
|
repository: rmcrackan/libation
|
||||||
tag: 12.7.1
|
tag: 12.5.7
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
env:
|
env:
|
||||||
- name: SLEEP_TIME
|
- name: SLEEP_TIME
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ lidatube:
|
|||||||
main:
|
main:
|
||||||
image:
|
image:
|
||||||
repository: thewicklowwolf/lidatube
|
repository: thewicklowwolf/lidatube
|
||||||
tag: 0.2.41
|
tag: 0.2.40
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
env:
|
env:
|
||||||
- name: PUID
|
- name: PUID
|
||||||
|
|||||||
@@ -1,20 +0,0 @@
|
|||||||
apiVersion: v2
|
|
||||||
name: listenarr
|
|
||||||
version: 1.0.0
|
|
||||||
description: Listenarr
|
|
||||||
keywords:
|
|
||||||
- listenarr
|
|
||||||
- audiobooks
|
|
||||||
home: https://wiki.alexlebens.dev/
|
|
||||||
sources:
|
|
||||||
- https://github.com/therobbiedavis/Listenarr
|
|
||||||
- https://hub.docker.com/r/therobbiedavis/listenarr
|
|
||||||
- https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template
|
|
||||||
maintainers:
|
|
||||||
- name: alexlebens
|
|
||||||
dependencies:
|
|
||||||
- name: app-template
|
|
||||||
alias: listenarr
|
|
||||||
repository: https://bjw-s-labs.github.io/helm-charts/
|
|
||||||
version: 4.4.0
|
|
||||||
appVersion: 0.2.35
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
apiVersion: gateway.networking.k8s.io/v1
|
|
||||||
kind: HTTPRoute
|
|
||||||
metadata:
|
|
||||||
name: http-route-listenarr
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: http-route-listenarr
|
|
||||||
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:
|
|
||||||
- listenarr.alexlebens.net
|
|
||||||
rules:
|
|
||||||
- matches:
|
|
||||||
- path:
|
|
||||||
type: PathPrefix
|
|
||||||
value: /
|
|
||||||
backendRefs:
|
|
||||||
- group: ''
|
|
||||||
kind: Service
|
|
||||||
name: listenarr
|
|
||||||
port: 80
|
|
||||||
weight: 100
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolumeClaim
|
|
||||||
metadata:
|
|
||||||
name: listenarr-nfs-storage
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: listenarr-nfs-storage
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
volumeName: listenarr-nfs-storage
|
|
||||||
storageClassName: nfs-client
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteMany
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: 1Gi
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolume
|
|
||||||
metadata:
|
|
||||||
name: listenarr-nfs-storage
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: listenarr-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/Audiobooks
|
|
||||||
server: synologybond.alexlebens.net
|
|
||||||
mountOptions:
|
|
||||||
- vers=4
|
|
||||||
- minorversion=1
|
|
||||||
- noac
|
|
||||||
@@ -1,46 +0,0 @@
|
|||||||
listenarr:
|
|
||||||
controllers:
|
|
||||||
main:
|
|
||||||
type: deployment
|
|
||||||
replicas: 1
|
|
||||||
strategy: Recreate
|
|
||||||
revisionHistoryLimit: 3
|
|
||||||
containers:
|
|
||||||
main:
|
|
||||||
image:
|
|
||||||
repository: therobbiedavis/listenarr
|
|
||||||
tag: canary-0.2.35
|
|
||||||
pullPolicy: IfNotPresent
|
|
||||||
env:
|
|
||||||
- name: LISTENARR_PUBLIC_URL
|
|
||||||
value: https://listenarr.alexlebens.net
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
cpu: 50m
|
|
||||||
memory: 128Mi
|
|
||||||
service:
|
|
||||||
main:
|
|
||||||
controller: main
|
|
||||||
ports:
|
|
||||||
http:
|
|
||||||
port: 80
|
|
||||||
targetPort: 5000
|
|
||||||
protocol: HTTP
|
|
||||||
persistence:
|
|
||||||
config:
|
|
||||||
storageClass: ceph-block
|
|
||||||
accessMode: ReadWriteOnce
|
|
||||||
size: 5Gi
|
|
||||||
retain: true
|
|
||||||
advancedMounts:
|
|
||||||
main:
|
|
||||||
main:
|
|
||||||
- path: /app/config
|
|
||||||
readOnly: false
|
|
||||||
media:
|
|
||||||
existingClaim: listenarr-nfs-storage
|
|
||||||
advancedMounts:
|
|
||||||
main:
|
|
||||||
main:
|
|
||||||
- path: /data
|
|
||||||
readOnly: false
|
|
||||||
@@ -9,7 +9,7 @@ outline:
|
|||||||
main:
|
main:
|
||||||
image:
|
image:
|
||||||
repository: outlinewiki/outline
|
repository: outlinewiki/outline
|
||||||
tag: 1.1.0
|
tag: 1.0.1
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
env:
|
env:
|
||||||
- name: NODE_ENV
|
- name: NODE_ENV
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ plex:
|
|||||||
main:
|
main:
|
||||||
image:
|
image:
|
||||||
repository: ghcr.io/linuxserver/plex
|
repository: ghcr.io/linuxserver/plex
|
||||||
tag: 1.42.2@sha256:a4749f3b84dc3f923a7bd4d2bc4ddc1e871b5a656b62022d3827d3d98afd5efd
|
tag: 1.42.2@sha256:a59133e5b94b3ca19158e4ab272657c77c62dc9abdbebe1172b7657da138badb
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
env:
|
env:
|
||||||
- name: TZ
|
- name: TZ
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ searxng:
|
|||||||
main:
|
main:
|
||||||
image:
|
image:
|
||||||
repository: searxng/searxng
|
repository: searxng/searxng
|
||||||
tag: latest@sha256:6a4ca3058a439d96805b7340ae84dacce6ade5456c24a1dde0bc6415ad76c1c6
|
tag: latest@sha256:7f7e3d85b9fc38cc99e8f7c715e3ae1b74ed11971d24987d6fa7b7f360a108be
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
env:
|
env:
|
||||||
- name: SEARXNG_BASE_URL
|
- name: SEARXNG_BASE_URL
|
||||||
@@ -43,7 +43,7 @@ searxng:
|
|||||||
main:
|
main:
|
||||||
image:
|
image:
|
||||||
repository: searxng/searxng
|
repository: searxng/searxng
|
||||||
tag: latest@sha256:6a4ca3058a439d96805b7340ae84dacce6ade5456c24a1dde0bc6415ad76c1c6
|
tag: latest@sha256:7f7e3d85b9fc38cc99e8f7c715e3ae1b74ed11971d24987d6fa7b7f360a108be
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
env:
|
env:
|
||||||
- name: SEARXNG_BASE_URL
|
- name: SEARXNG_BASE_URL
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ slskd:
|
|||||||
main:
|
main:
|
||||||
image:
|
image:
|
||||||
repository: slskd/slskd
|
repository: slskd/slskd
|
||||||
tag: 0.24.0
|
tag: 0.23.2
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
env:
|
env:
|
||||||
- name: TZ
|
- name: TZ
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ tdarr:
|
|||||||
main:
|
main:
|
||||||
image:
|
image:
|
||||||
repository: ghcr.io/haveagitgat/tdarr
|
repository: ghcr.io/haveagitgat/tdarr
|
||||||
tag: 2.54.01
|
tag: 2.51.03
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
env:
|
env:
|
||||||
- name: TZ
|
- name: TZ
|
||||||
@@ -48,7 +48,7 @@ tdarr:
|
|||||||
main:
|
main:
|
||||||
image:
|
image:
|
||||||
repository: ghcr.io/haveagitgat/tdarr_node
|
repository: ghcr.io/haveagitgat/tdarr_node
|
||||||
tag: 2.54.01
|
tag: 2.51.03
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
env:
|
env:
|
||||||
- name: TZ
|
- name: TZ
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ tubearchivist:
|
|||||||
main:
|
main:
|
||||||
image:
|
image:
|
||||||
repository: bbilly1/tubearchivist
|
repository: bbilly1/tubearchivist
|
||||||
tag: v0.5.8
|
tag: v0.5.7
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
env:
|
env:
|
||||||
- name: TZ
|
- name: TZ
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ maintainers:
|
|||||||
- name: alexlebens
|
- name: alexlebens
|
||||||
dependencies:
|
dependencies:
|
||||||
- name: argo-cd
|
- name: argo-cd
|
||||||
version: 9.1.3
|
version: 9.0.6
|
||||||
repository: https://argoproj.github.io/argo-helm
|
repository: https://argoproj.github.io/argo-helm
|
||||||
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/argo-cd.png
|
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/argo-cd.png
|
||||||
appVersion: 3.0.0
|
appVersion: 3.0.0
|
||||||
|
|||||||
@@ -100,11 +100,6 @@ applicationSet:
|
|||||||
syncOptions:
|
syncOptions:
|
||||||
serverSideApply: true
|
serverSideApply: true
|
||||||
- name: storage
|
- name: storage
|
||||||
ignoreDifferences:
|
|
||||||
- group: ""
|
|
||||||
kind: Service
|
|
||||||
jqPathExpressions:
|
|
||||||
- .spec.externalName
|
|
||||||
syncPolicy:
|
syncPolicy:
|
||||||
automated:
|
automated:
|
||||||
prune: true
|
prune: true
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ maintainers:
|
|||||||
- name: alexlebens
|
- name: alexlebens
|
||||||
dependencies:
|
dependencies:
|
||||||
- name: argo-workflows
|
- name: argo-workflows
|
||||||
version: 0.45.28
|
version: 0.45.27
|
||||||
repository: https://argoproj.github.io/argo-helm
|
repository: https://argoproj.github.io/argo-helm
|
||||||
- name: argo-events
|
- name: argo-events
|
||||||
version: 2.4.17
|
version: 2.4.17
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ maintainers:
|
|||||||
- name: alexlebens
|
- name: alexlebens
|
||||||
dependencies:
|
dependencies:
|
||||||
- name: headlamp
|
- name: headlamp
|
||||||
version: 0.38.0
|
version: 0.37.0
|
||||||
repository: https://kubernetes-sigs.github.io/headlamp/
|
repository: https://kubernetes-sigs.github.io/headlamp/
|
||||||
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/headlamp.png
|
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/headlamp.png
|
||||||
appVersion: 0.37.0
|
appVersion: 0.37.0
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
apiVersion: v1
|
apiVersion: talos.dev/v1alpha1
|
||||||
kind: ServiceAccount
|
kind: ServiceAccount
|
||||||
metadata:
|
metadata:
|
||||||
name: headlamp-admin
|
name: headlamp-admin
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ komodo:
|
|||||||
main:
|
main:
|
||||||
image:
|
image:
|
||||||
repository: ghcr.io/ferretdb/ferretdb
|
repository: ghcr.io/ferretdb/ferretdb
|
||||||
tag: 2.7.0
|
tag: 2.5.0
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
env:
|
env:
|
||||||
- name: FERRETDB_POSTGRESQL_URL
|
- name: FERRETDB_POSTGRESQL_URL
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ gatus:
|
|||||||
enabled: true
|
enabled: true
|
||||||
image:
|
image:
|
||||||
repository: ghcr.io/twin/gatus
|
repository: ghcr.io/twin/gatus
|
||||||
tag: v5.31.0
|
tag: v5.30.0
|
||||||
annotations:
|
annotations:
|
||||||
reloader.stakater.com/auto: "true"
|
reloader.stakater.com/auto: "true"
|
||||||
service:
|
service:
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ maintainers:
|
|||||||
- name: alexlebens
|
- name: alexlebens
|
||||||
dependencies:
|
dependencies:
|
||||||
- name: kube-prometheus-stack
|
- name: kube-prometheus-stack
|
||||||
version: 79.4.1
|
version: 79.2.1
|
||||||
repository: oci://ghcr.io/prometheus-community/charts
|
repository: oci://ghcr.io/prometheus-community/charts
|
||||||
- name: app-template
|
- name: app-template
|
||||||
alias: ntfy-alertmanager
|
alias: ntfy-alertmanager
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ maintainers:
|
|||||||
- name: alexlebens
|
- name: alexlebens
|
||||||
dependencies:
|
dependencies:
|
||||||
- name: loki
|
- name: loki
|
||||||
version: 6.46.0
|
version: 6.44.0
|
||||||
repository: https://grafana.github.io/helm-charts
|
repository: https://grafana.github.io/helm-charts
|
||||||
- name: promtail
|
- name: promtail
|
||||||
version: 6.17.1
|
version: 6.17.1
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ maintainers:
|
|||||||
- name: alexlebens
|
- name: alexlebens
|
||||||
dependencies:
|
dependencies:
|
||||||
- name: authentik
|
- name: authentik
|
||||||
version: 2025.10.2
|
version: 2025.10.1
|
||||||
repository: https://charts.goauthentik.io/
|
repository: https://charts.goauthentik.io/
|
||||||
- name: cloudflared
|
- name: cloudflared
|
||||||
alias: cloudflared
|
alias: cloudflared
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ sources:
|
|||||||
- https://github.com/external-secrets/external-secrets/tree/main/deploy/charts/external-secrets
|
- https://github.com/external-secrets/external-secrets/tree/main/deploy/charts/external-secrets
|
||||||
dependencies:
|
dependencies:
|
||||||
- name: external-secrets
|
- name: external-secrets
|
||||||
version: 1.0.0
|
version: 0.20.4
|
||||||
repository: https://charts.external-secrets.io
|
repository: https://charts.external-secrets.io
|
||||||
icon: https://avatars.githubusercontent.com/u/68335991?s=48&v=4
|
icon: https://avatars.githubusercontent.com/u/68335991?s=48&v=4
|
||||||
appVersion: 0.17.0
|
appVersion: 0.17.0
|
||||||
|
|||||||
@@ -146,7 +146,7 @@ gitea-actions:
|
|||||||
replicas: 6
|
replicas: 6
|
||||||
actRunner:
|
actRunner:
|
||||||
repository: gitea/act_runner
|
repository: gitea/act_runner
|
||||||
tag: 0.2.13
|
tag: 0.2.11
|
||||||
config: |
|
config: |
|
||||||
log:
|
log:
|
||||||
level: debug
|
level: debug
|
||||||
@@ -154,10 +154,10 @@ gitea-actions:
|
|||||||
enabled: false
|
enabled: false
|
||||||
runner:
|
runner:
|
||||||
labels:
|
labels:
|
||||||
- "ubuntu-latest:docker://harbor.alexlebens.net/proxy-hub.docker/gitea/runner-images:ubuntu-24.04"
|
- "ubuntu-latest:docker://harbor.alexlebens.net/proxy-ghcr.io/catthehacker/ubuntu:runner-24.04"
|
||||||
- "ubuntu-js:docker://harbor.alexlebens.net/proxy-ghcr.io/catthehacker/ubuntu:js-24.04"
|
- "ubuntu-24.04:docker://harbor.alexlebens.net/proxy-ghcr.io/catthehacker/ubuntu:runner-24.04"
|
||||||
- "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"
|
- "ubuntu-22.04:docker://harbor.alexlebens.net/proxy-hub.docker/gitea/runner-images:ubuntu-22.04"
|
||||||
|
- "ubuntu-20.04:docker://harbor.alexlebens.net/proxy-hub.docker/gitea/runner-images:ubuntu-20.04"
|
||||||
dind:
|
dind:
|
||||||
repository: docker
|
repository: docker
|
||||||
tag: 25.0.2-dind
|
tag: 25.0.2-dind
|
||||||
@@ -212,7 +212,7 @@ backup:
|
|||||||
s3-backup:
|
s3-backup:
|
||||||
image:
|
image:
|
||||||
repository: d3fk/s3cmd
|
repository: d3fk/s3cmd
|
||||||
tag: latest@sha256:caccff69634d420705b9f676d69e15d574fb65d1dd475b7412d3bc18df99e00f
|
tag: latest@sha256:33181474927de824a1d209a7bda39e877e2ce78e1aa34d2e7acdf490ef1b7601
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
command:
|
command:
|
||||||
- /bin/sh
|
- /bin/sh
|
||||||
@@ -236,7 +236,7 @@ backup:
|
|||||||
s3-prune:
|
s3-prune:
|
||||||
image:
|
image:
|
||||||
repository: d3fk/s3cmd
|
repository: d3fk/s3cmd
|
||||||
tag: latest@sha256:caccff69634d420705b9f676d69e15d574fb65d1dd475b7412d3bc18df99e00f
|
tag: latest@sha256:33181474927de824a1d209a7bda39e877e2ce78e1aa34d2e7acdf490ef1b7601
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
command:
|
command:
|
||||||
- /bin/sh
|
- /bin/sh
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ maintainers:
|
|||||||
- name: alexlebens
|
- name: alexlebens
|
||||||
dependencies:
|
dependencies:
|
||||||
- name: matrix-synapse
|
- name: matrix-synapse
|
||||||
version: 3.12.14
|
version: 3.12.13
|
||||||
repository: https://ananace.gitlab.io/charts
|
repository: https://ananace.gitlab.io/charts
|
||||||
- name: app-template
|
- name: app-template
|
||||||
alias: matrix-hookshot
|
alias: matrix-hookshot
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ n8n:
|
|||||||
main:
|
main:
|
||||||
image:
|
image:
|
||||||
repository: ghcr.io/n8n-io/n8n
|
repository: ghcr.io/n8n-io/n8n
|
||||||
tag: 1.119.1
|
tag: 1.119.0
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
env:
|
env:
|
||||||
- name: GENERIC_TIMEZONE
|
- name: GENERIC_TIMEZONE
|
||||||
@@ -93,7 +93,7 @@ n8n:
|
|||||||
main:
|
main:
|
||||||
image:
|
image:
|
||||||
repository: ghcr.io/n8n-io/n8n
|
repository: ghcr.io/n8n-io/n8n
|
||||||
tag: 1.119.1
|
tag: 1.119.0
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
command:
|
command:
|
||||||
- n8n
|
- n8n
|
||||||
@@ -188,7 +188,7 @@ n8n:
|
|||||||
main:
|
main:
|
||||||
image:
|
image:
|
||||||
repository: ghcr.io/n8n-io/n8n
|
repository: ghcr.io/n8n-io/n8n
|
||||||
tag: 1.119.1
|
tag: 1.119.0
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
command:
|
command:
|
||||||
- n8n
|
- n8n
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ ntfy:
|
|||||||
main:
|
main:
|
||||||
image:
|
image:
|
||||||
repository: binwiederhier/ntfy
|
repository: binwiederhier/ntfy
|
||||||
tag: v2.15.0
|
tag: v2.14.0
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
args: ["serve"]
|
args: ["serve"]
|
||||||
env:
|
env:
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ ollama:
|
|||||||
main:
|
main:
|
||||||
image:
|
image:
|
||||||
repository: ollama/ollama
|
repository: ollama/ollama
|
||||||
tag: 0.13.0
|
tag: 0.12.9
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
env:
|
env:
|
||||||
- name: OLLAMA_KEEP_ALIVE
|
- name: OLLAMA_KEEP_ALIVE
|
||||||
@@ -58,7 +58,7 @@ ollama:
|
|||||||
main:
|
main:
|
||||||
image:
|
image:
|
||||||
repository: ollama/ollama
|
repository: ollama/ollama
|
||||||
tag: 0.13.0
|
tag: 0.12.9
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
env:
|
env:
|
||||||
- name: OLLAMA_KEEP_ALIVE
|
- name: OLLAMA_KEEP_ALIVE
|
||||||
@@ -94,7 +94,7 @@ ollama:
|
|||||||
main:
|
main:
|
||||||
image:
|
image:
|
||||||
repository: ollama/ollama
|
repository: ollama/ollama
|
||||||
tag: 0.13.0
|
tag: 0.12.9
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
env:
|
env:
|
||||||
- name: OLLAMA_KEEP_ALIVE
|
- name: OLLAMA_KEEP_ALIVE
|
||||||
@@ -117,7 +117,7 @@ ollama:
|
|||||||
main:
|
main:
|
||||||
image:
|
image:
|
||||||
repository: ghcr.io/open-webui/open-webui
|
repository: ghcr.io/open-webui/open-webui
|
||||||
tag: v0.6.36
|
tag: 0.6.35
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
env:
|
env:
|
||||||
- name: ENV
|
- name: ENV
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ qbittorrent:
|
|||||||
qbittorrent:
|
qbittorrent:
|
||||||
image:
|
image:
|
||||||
repository: ghcr.io/linuxserver/qbittorrent
|
repository: ghcr.io/linuxserver/qbittorrent
|
||||||
tag: 5.1.2@sha256:7034f73a3c6fa4ea40fd67df462939d1665d765231b572523921c98c2db5362e
|
tag: 5.1.2@sha256:3908cec5685242ab49b4842124df38c7ff09f82e543c17e0f81e883788f6a611
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
env:
|
env:
|
||||||
- name: TZ
|
- name: TZ
|
||||||
@@ -186,7 +186,7 @@ qbittorrent:
|
|||||||
qui:
|
qui:
|
||||||
image:
|
image:
|
||||||
repository: ghcr.io/autobrr/qui
|
repository: ghcr.io/autobrr/qui
|
||||||
tag: v1.7.0
|
tag: v1.6.1
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
env:
|
env:
|
||||||
- name: QUI__METRICS_ENABLED
|
- name: QUI__METRICS_ENABLED
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ vault:
|
|||||||
enabled: true
|
enabled: true
|
||||||
image:
|
image:
|
||||||
repository: hashicorp/vault
|
repository: hashicorp/vault
|
||||||
tag: 1.21.1
|
tag: 1.21.0
|
||||||
updateStrategyType: "RollingUpdate"
|
updateStrategyType: "RollingUpdate"
|
||||||
logLevel: debug
|
logLevel: debug
|
||||||
logFormat: standard
|
logFormat: standard
|
||||||
@@ -170,7 +170,7 @@ snapshot:
|
|||||||
snapshot:
|
snapshot:
|
||||||
image:
|
image:
|
||||||
repository: hashicorp/vault
|
repository: hashicorp/vault
|
||||||
tag: 1.21.1
|
tag: 1.21.0
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
command:
|
command:
|
||||||
- /bin/ash
|
- /bin/ash
|
||||||
@@ -198,7 +198,7 @@ snapshot:
|
|||||||
s3-backup:
|
s3-backup:
|
||||||
image:
|
image:
|
||||||
repository: d3fk/s3cmd
|
repository: d3fk/s3cmd
|
||||||
tag: latest@sha256:caccff69634d420705b9f676d69e15d574fb65d1dd475b7412d3bc18df99e00f
|
tag: latest@sha256:33181474927de824a1d209a7bda39e877e2ce78e1aa34d2e7acdf490ef1b7601
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
command:
|
command:
|
||||||
- /bin/sh
|
- /bin/sh
|
||||||
|
|||||||
@@ -109,14 +109,11 @@ blocky:
|
|||||||
argocd IN CNAME traefik-cl01tl
|
argocd IN CNAME traefik-cl01tl
|
||||||
audiobookshelf IN CNAME traefik-cl01tl
|
audiobookshelf IN CNAME traefik-cl01tl
|
||||||
authentik IN CNAME traefik-cl01tl
|
authentik IN CNAME traefik-cl01tl
|
||||||
backrest IN CNAME traefik-cl01tl
|
|
||||||
bazarr IN CNAME traefik-cl01tl
|
bazarr IN CNAME traefik-cl01tl
|
||||||
booklore IN CNAME traefik-cl01tl
|
|
||||||
calibre IN CNAME traefik-cl01tl
|
calibre IN CNAME traefik-cl01tl
|
||||||
calibre-downloader IN CNAME traefik-cl01tl
|
calibre-downloader IN CNAME traefik-cl01tl
|
||||||
ceph IN CNAME traefik-cl01tl
|
ceph IN CNAME traefik-cl01tl
|
||||||
code-server IN CNAME traefik-cl01tl
|
code-server IN CNAME traefik-cl01tl
|
||||||
ephemera IN CNAME traefik-cl01tl
|
|
||||||
garage-s3 IN CNAME traefik-cl01tl
|
garage-s3 IN CNAME traefik-cl01tl
|
||||||
garage-webui IN CNAME traefik-cl01tl
|
garage-webui IN CNAME traefik-cl01tl
|
||||||
gatus IN CNAME traefik-cl01tl
|
gatus IN CNAME traefik-cl01tl
|
||||||
@@ -137,7 +134,6 @@ blocky:
|
|||||||
kronic IN CNAME traefik-cl01tl
|
kronic IN CNAME traefik-cl01tl
|
||||||
lidarr IN CNAME traefik-cl01tl
|
lidarr IN CNAME traefik-cl01tl
|
||||||
lidatube IN CNAME traefik-cl01tl
|
lidatube IN CNAME traefik-cl01tl
|
||||||
listenarr IN CNAME traefik-cl01tl
|
|
||||||
mail IN CNAME traefik-cl01tl
|
mail IN CNAME traefik-cl01tl
|
||||||
n8n IN CNAME traefik-cl01tl
|
n8n IN CNAME traefik-cl01tl
|
||||||
ntfy IN CNAME traefik-cl01tl
|
ntfy IN CNAME traefik-cl01tl
|
||||||
|
|||||||
@@ -15,6 +15,6 @@ maintainers:
|
|||||||
dependencies:
|
dependencies:
|
||||||
- name: generic-device-plugin
|
- name: generic-device-plugin
|
||||||
repository: https://gitea.alexlebens.dev/api/packages/alexlebens/helm
|
repository: https://gitea.alexlebens.dev/api/packages/alexlebens/helm
|
||||||
version: 0.20.0
|
version: 0.18.0
|
||||||
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/kubernetes.png
|
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/kubernetes.png
|
||||||
appVersion: 1.0.0
|
appVersion: 1.0.0
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ dependencies:
|
|||||||
repository: https://helm.goharbor.io
|
repository: https://helm.goharbor.io
|
||||||
- name: postgres-cluster
|
- name: postgres-cluster
|
||||||
alias: postgres-17-cluster
|
alias: postgres-17-cluster
|
||||||
version: 6.16.0
|
version: 6.15.0
|
||||||
repository: http://gitea-http.gitea:3000/api/packages/alexlebens/helm
|
repository: http://gitea-http.gitea:3000/api/packages/alexlebens/helm
|
||||||
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/harbor.png
|
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/harbor.png
|
||||||
appVersion: v2.13.0
|
appVersion: v2.13.0
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ maintainers:
|
|||||||
- name: alexlebens
|
- name: alexlebens
|
||||||
dependencies:
|
dependencies:
|
||||||
- name: tailscale-operator
|
- name: tailscale-operator
|
||||||
version: 1.90.8
|
version: 1.90.6
|
||||||
repository: https://pkgs.tailscale.com/helmcharts
|
repository: https://pkgs.tailscale.com/helmcharts
|
||||||
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/tailscale-light.png
|
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/tailscale-light.png
|
||||||
appVersion: v1.82.5
|
appVersion: v1.82.5
|
||||||
|
|||||||
@@ -11,4 +11,4 @@ spec:
|
|||||||
nameserver:
|
nameserver:
|
||||||
image:
|
image:
|
||||||
repo: tailscale/k8s-nameserver
|
repo: tailscale/k8s-nameserver
|
||||||
tag: unstable-v1.91.88
|
tag: unstable-v1.83.106
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ etcd-backup:
|
|||||||
s3-prune:
|
s3-prune:
|
||||||
image:
|
image:
|
||||||
repository: d3fk/s3cmd
|
repository: d3fk/s3cmd
|
||||||
tag: latest@sha256:caccff69634d420705b9f676d69e15d574fb65d1dd475b7412d3bc18df99e00f
|
tag: latest@sha256:33181474927de824a1d209a7bda39e877e2ce78e1aa34d2e7acdf490ef1b7601
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
command:
|
command:
|
||||||
- /bin/sh
|
- /bin/sh
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ maintainers:
|
|||||||
- name: alexlebens
|
- name: alexlebens
|
||||||
dependencies:
|
dependencies:
|
||||||
- name: traefik
|
- name: traefik
|
||||||
version: 37.3.0
|
version: 37.2.0
|
||||||
repository: https://traefik.github.io/charts
|
repository: https://traefik.github.io/charts
|
||||||
# enable pending:
|
# enable pending:
|
||||||
# https://github.com/traefik/traefik-helm-chart/pull/1340
|
# https://github.com/traefik/traefik-helm-chart/pull/1340
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ maintainers:
|
|||||||
- name: alexlebens
|
- name: alexlebens
|
||||||
dependencies:
|
dependencies:
|
||||||
- name: cilium
|
- name: cilium
|
||||||
version: 1.18.4
|
version: 1.18.3
|
||||||
repository: https://helm.cilium.io/
|
repository: https://helm.cilium.io/
|
||||||
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/cilium.png
|
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/cilium.png
|
||||||
appVersion: 1.17.3
|
appVersion: 1.17.3
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ maintainers:
|
|||||||
- name: alexlebens
|
- name: alexlebens
|
||||||
dependencies:
|
dependencies:
|
||||||
- name: prometheus-operator-crds
|
- name: prometheus-operator-crds
|
||||||
version: 24.0.2
|
version: 24.0.1
|
||||||
repository: oci://ghcr.io/prometheus-community/charts
|
repository: oci://ghcr.io/prometheus-community/charts
|
||||||
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/prometheus.png
|
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/prometheus.png
|
||||||
appVersion: v0.82.0
|
appVersion: v0.82.0
|
||||||
|
|||||||
@@ -1,21 +0,0 @@
|
|||||||
apiVersion: v2
|
|
||||||
name: backrest
|
|
||||||
version: 1.0.0
|
|
||||||
description: backrest
|
|
||||||
keywords:
|
|
||||||
- backrest
|
|
||||||
- backup
|
|
||||||
home: https://wiki.alexlebens.dev/
|
|
||||||
sources:
|
|
||||||
- https://github.com/garethgeorge/backrest
|
|
||||||
- https://hub.docker.com/r/garethgeorge/backrest
|
|
||||||
- https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template
|
|
||||||
maintainers:
|
|
||||||
- name: alexlebens
|
|
||||||
dependencies:
|
|
||||||
- name: app-template
|
|
||||||
alias: backrest
|
|
||||||
repository: https://bjw-s-labs.github.io/helm-charts/
|
|
||||||
version: 4.4.0
|
|
||||||
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/backrest.png
|
|
||||||
appVersion: v1.10.1
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
apiVersion: gateway.networking.k8s.io/v1
|
|
||||||
kind: HTTPRoute
|
|
||||||
metadata:
|
|
||||||
name: http-route-backrest
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: http-route-backrest
|
|
||||||
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:
|
|
||||||
- backrest.alexlebens.net
|
|
||||||
rules:
|
|
||||||
- matches:
|
|
||||||
- path:
|
|
||||||
type: PathPrefix
|
|
||||||
value: /
|
|
||||||
backendRefs:
|
|
||||||
- group: ''
|
|
||||||
kind: Service
|
|
||||||
name: backrest
|
|
||||||
port: 80
|
|
||||||
weight: 100
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolumeClaim
|
|
||||||
metadata:
|
|
||||||
name: backrest-nfs-storage
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: backrest-nfs-storage
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
volumeName: backrest-nfs-storage
|
|
||||||
storageClassName: nfs-client
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteMany
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: 1Gi
|
|
||||||
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolumeClaim
|
|
||||||
metadata:
|
|
||||||
name: backrest-nfs-share
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: backrest-nfs-share
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
volumeName: backrest-nfs-share
|
|
||||||
storageClassName: nfs-client
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteMany
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: 1Gi
|
|
||||||
@@ -1,48 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolume
|
|
||||||
metadata:
|
|
||||||
name: backrest-nfs-storage
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: backrest-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
|
|
||||||
server: synologybond.alexlebens.net
|
|
||||||
mountOptions:
|
|
||||||
- vers=4
|
|
||||||
- minorversion=1
|
|
||||||
- noac
|
|
||||||
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolume
|
|
||||||
metadata:
|
|
||||||
name: backrest-nfs-share
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: backrest-nfs-share
|
|
||||||
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/Share
|
|
||||||
server: synologybond.alexlebens.net
|
|
||||||
mountOptions:
|
|
||||||
- vers=4
|
|
||||||
- minorversion=1
|
|
||||||
- noac
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: garage-ps10rp
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: garage-ps10rp
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
annotations:
|
|
||||||
tailscale.com/tailnet-fqdn: garage-ps10rp.boreal-beaufort.ts.net
|
|
||||||
spec:
|
|
||||||
externalName: placeholder
|
|
||||||
type: ExternalName
|
|
||||||
@@ -1,84 +0,0 @@
|
|||||||
backrest:
|
|
||||||
controllers:
|
|
||||||
main:
|
|
||||||
type: deployment
|
|
||||||
replicas: 1
|
|
||||||
strategy: Recreate
|
|
||||||
containers:
|
|
||||||
main:
|
|
||||||
image:
|
|
||||||
repository: garethgeorge/backrest
|
|
||||||
tag: v1.10.1
|
|
||||||
pullPolicy: IfNotPresent
|
|
||||||
env:
|
|
||||||
- name: TZ
|
|
||||||
value: America/Chicago
|
|
||||||
- name: BACKREST_DATA
|
|
||||||
value: /data
|
|
||||||
- name: BACKREST_CONFIG
|
|
||||||
value: /config/config.json
|
|
||||||
- name: XDG_CACHE_HOME
|
|
||||||
value: /cache
|
|
||||||
- name: TMPDIR
|
|
||||||
value: /tmp
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
cpu: 10m
|
|
||||||
memory: 256Mi
|
|
||||||
service:
|
|
||||||
main:
|
|
||||||
controller: main
|
|
||||||
ports:
|
|
||||||
http:
|
|
||||||
port: 80
|
|
||||||
targetPort: 9898
|
|
||||||
protocol: TCP
|
|
||||||
persistence:
|
|
||||||
data:
|
|
||||||
storageClass: ceph-block
|
|
||||||
accessMode: ReadWriteOnce
|
|
||||||
size: 10Gi
|
|
||||||
retain: true
|
|
||||||
advancedMounts:
|
|
||||||
main:
|
|
||||||
main:
|
|
||||||
- path: /data
|
|
||||||
readOnly: false
|
|
||||||
config:
|
|
||||||
storageClass: ceph-block
|
|
||||||
accessMode: ReadWriteOnce
|
|
||||||
size: 1Gi
|
|
||||||
retain: true
|
|
||||||
advancedMounts:
|
|
||||||
main:
|
|
||||||
main:
|
|
||||||
- path: /config
|
|
||||||
readOnly: false
|
|
||||||
cache:
|
|
||||||
type: emptyDir
|
|
||||||
advancedMounts:
|
|
||||||
main:
|
|
||||||
main:
|
|
||||||
- path: /cache
|
|
||||||
readOnly: false
|
|
||||||
tmp:
|
|
||||||
type: emptyDir
|
|
||||||
advancedMounts:
|
|
||||||
main:
|
|
||||||
main:
|
|
||||||
- path: /tmp
|
|
||||||
readOnly: false
|
|
||||||
storage:
|
|
||||||
existingClaim: backrest-nfs-storage
|
|
||||||
advancedMounts:
|
|
||||||
main:
|
|
||||||
main:
|
|
||||||
- path: /mnt/storage
|
|
||||||
readOnly: true
|
|
||||||
share:
|
|
||||||
existingClaim: backrest-nfs-share
|
|
||||||
advancedMounts:
|
|
||||||
main:
|
|
||||||
main:
|
|
||||||
- path: /mnt/share
|
|
||||||
readOnly: true
|
|
||||||
@@ -19,7 +19,7 @@ dependencies:
|
|||||||
version: 0.26.1
|
version: 0.26.1
|
||||||
repository: https://cloudnative-pg.io/charts/
|
repository: https://cloudnative-pg.io/charts/
|
||||||
- name: plugin-barman-cloud
|
- name: plugin-barman-cloud
|
||||||
version: 0.3.1
|
version: 0.2.0
|
||||||
repository: https://cloudnative-pg.io/charts/
|
repository: https://cloudnative-pg.io/charts/
|
||||||
icon: https://avatars.githubusercontent.com/u/100373852?s=200&v=4
|
icon: https://avatars.githubusercontent.com/u/100373852?s=200&v=4
|
||||||
appVersion: 1.26.0
|
appVersion: 1.26.0
|
||||||
|
|||||||
@@ -7,10 +7,10 @@ plugin-barman-cloud:
|
|||||||
image:
|
image:
|
||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
repository: cloudnative-pg/plugin-barman-cloud
|
repository: cloudnative-pg/plugin-barman-cloud
|
||||||
tag: v0.9.0
|
tag: v0.8.0
|
||||||
sidecarImage:
|
sidecarImage:
|
||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
repository: cloudnative-pg/plugin-barman-cloud-sidecar
|
repository: cloudnative-pg/plugin-barman-cloud-sidecar
|
||||||
tag: v0.9.0
|
tag: v0.8.0
|
||||||
crds:
|
crds:
|
||||||
create: true
|
create: true
|
||||||
|
|||||||
@@ -52,13 +52,10 @@ garage:
|
|||||||
|
|
||||||
metadata_dir = "/var/lib/garage/meta"
|
metadata_dir = "/var/lib/garage/meta"
|
||||||
data_dir = "/var/lib/garage/data"
|
data_dir = "/var/lib/garage/data"
|
||||||
metadata_snapshots_dir = "/var/lib/garage/snapshots"
|
|
||||||
|
|
||||||
db_engine = "lmdb"
|
db_engine = "sqlite"
|
||||||
|
|
||||||
metadata_auto_snapshot_interval = "6h"
|
compression_level = 1
|
||||||
|
|
||||||
compression_level = 3
|
|
||||||
|
|
||||||
rpc_bind_addr = "[::]:3901"
|
rpc_bind_addr = "[::]:3901"
|
||||||
rpc_public_addr = "127.0.0.1:3901"
|
rpc_public_addr = "127.0.0.1:3901"
|
||||||
@@ -122,16 +119,6 @@ garage:
|
|||||||
readOnly: true
|
readOnly: true
|
||||||
mountPropagation: None
|
mountPropagation: None
|
||||||
subPath: garage.toml
|
subPath: garage.toml
|
||||||
db:
|
|
||||||
storageClass: ceph-block
|
|
||||||
accessMode: ReadWriteOnce
|
|
||||||
size: 10Gi
|
|
||||||
retain: true
|
|
||||||
advancedMounts:
|
|
||||||
main:
|
|
||||||
main:
|
|
||||||
- path: /var/lib/garage/meta
|
|
||||||
readOnly: false
|
|
||||||
data:
|
data:
|
||||||
storageClass: synology-iscsi-delete
|
storageClass: synology-iscsi-delete
|
||||||
accessMode: ReadWriteOnce
|
accessMode: ReadWriteOnce
|
||||||
@@ -140,15 +127,5 @@ garage:
|
|||||||
advancedMounts:
|
advancedMounts:
|
||||||
main:
|
main:
|
||||||
main:
|
main:
|
||||||
- path: /var/lib/garage/data
|
- path: /var/lib/garage
|
||||||
readOnly: false
|
|
||||||
snapshots:
|
|
||||||
storageClass: synology-iscsi-delete
|
|
||||||
accessMode: ReadWriteOnce
|
|
||||||
size: 50Gi
|
|
||||||
retain: true
|
|
||||||
advancedMounts:
|
|
||||||
main:
|
|
||||||
main:
|
|
||||||
- path: /var/lib/garage/snapshots
|
|
||||||
readOnly: false
|
readOnly: false
|
||||||
|
|||||||
@@ -1,24 +0,0 @@
|
|||||||
apiVersion: v2
|
|
||||||
name: mariadb-operator
|
|
||||||
version: 1.0.0
|
|
||||||
description: MariaDB Operator
|
|
||||||
keywords:
|
|
||||||
- mariadb-operator
|
|
||||||
- database
|
|
||||||
- storage
|
|
||||||
- kubernetes
|
|
||||||
home: https://wiki.alexlebens.dev/
|
|
||||||
sources:
|
|
||||||
- https://github.com/mariadb-operator/mariadb-operator
|
|
||||||
- https://github.com/mariadb-operator/mariadb-operator/tree/main/deploy/charts/mariadb-operator
|
|
||||||
maintainers:
|
|
||||||
- name: alexlebens
|
|
||||||
dependencies:
|
|
||||||
- name: mariadb-operator
|
|
||||||
version: 25.10.2
|
|
||||||
repository: https://helm.mariadb.com/mariadb-operator
|
|
||||||
- name: mariadb-operator-crds
|
|
||||||
version: 25.10.2
|
|
||||||
repository: https://helm.mariadb.com/mariadb-operator
|
|
||||||
icon: https://mariadb-operator.github.io/mariadb-operator/assets/mariadb_profile.svg
|
|
||||||
appVersion: 25.10.2
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
mariadb-operator:
|
|
||||||
ha:
|
|
||||||
enabled: true
|
|
||||||
replicas: 3
|
|
||||||
metrics:
|
|
||||||
enabled: true
|
|
||||||
serviceMonitor:
|
|
||||||
enabled: true
|
|
||||||
pdb:
|
|
||||||
enabled: true
|
|
||||||
maxUnavailable: 1
|
|
||||||
@@ -28,7 +28,7 @@ pgadmin4:
|
|||||||
runAsGroup: 5050
|
runAsGroup: 5050
|
||||||
image:
|
image:
|
||||||
repository: dpage/pgadmin4
|
repository: dpage/pgadmin4
|
||||||
tag: "9.10"
|
tag: "9.9"
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
env:
|
env:
|
||||||
- name: PGADMIN_CONFIG_ENHANCED_COOKIE_PROTECTION
|
- name: PGADMIN_CONFIG_ENHANCED_COOKIE_PROTECTION
|
||||||
|
|||||||
@@ -16,10 +16,10 @@ maintainers:
|
|||||||
- name: alexlebens
|
- name: alexlebens
|
||||||
dependencies:
|
dependencies:
|
||||||
- name: rook-ceph
|
- name: rook-ceph
|
||||||
version: v1.18.7
|
version: v1.18.6
|
||||||
repository: https://charts.rook.io/release
|
repository: https://charts.rook.io/release
|
||||||
- name: rook-ceph-cluster
|
- name: rook-ceph-cluster
|
||||||
version: v1.18.7
|
version: v1.18.6
|
||||||
repository: https://charts.rook.io/release
|
repository: https://charts.rook.io/release
|
||||||
- name: cloudflared
|
- name: cloudflared
|
||||||
alias: cloudflared-rgw
|
alias: cloudflared-rgw
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ rook-ceph:
|
|||||||
enabled: true
|
enabled: true
|
||||||
csi:
|
csi:
|
||||||
rookUseCsiOperator: true
|
rookUseCsiOperator: true
|
||||||
cephFSKernelMountOptions: "ms_mode=secure"
|
|
||||||
enableMetadata: true
|
enableMetadata: true
|
||||||
|
cephFSKernelMountOptions: "ms_mode=secure"
|
||||||
provisionerReplicas: 3
|
provisionerReplicas: 3
|
||||||
serviceMonitor:
|
serviceMonitor:
|
||||||
enabled: true
|
enabled: true
|
||||||
@@ -13,6 +13,7 @@ rook-ceph:
|
|||||||
enabled: true
|
enabled: true
|
||||||
|
|
||||||
rook-ceph-cluster:
|
rook-ceph-cluster:
|
||||||
|
operatorNamespace: rook-ceph
|
||||||
toolbox:
|
toolbox:
|
||||||
enabled: true
|
enabled: true
|
||||||
monitoring:
|
monitoring:
|
||||||
@@ -21,11 +22,12 @@ rook-ceph-cluster:
|
|||||||
prometheusRuleOverrides:
|
prometheusRuleOverrides:
|
||||||
CephNodeDiskspaceWarning:
|
CephNodeDiskspaceWarning:
|
||||||
disabled: true
|
disabled: true
|
||||||
cephImage:
|
|
||||||
# https://quay.io/repository/ceph/ceph?tab=tags
|
|
||||||
repository: quay.io/ceph/ceph
|
|
||||||
tag: v19.2.3-20250717
|
|
||||||
cephClusterSpec:
|
cephClusterSpec:
|
||||||
|
cephVersion:
|
||||||
|
# https://quay.io/repository/ceph/ceph?tab=tags
|
||||||
|
image: quay.io/ceph/ceph:v19.2.3-20250717
|
||||||
|
mon:
|
||||||
|
count: 3
|
||||||
mgr:
|
mgr:
|
||||||
count: 1
|
count: 1
|
||||||
modules:
|
modules:
|
||||||
@@ -83,6 +85,8 @@ rook-ceph-cluster:
|
|||||||
cpu: 100m
|
cpu: 100m
|
||||||
memory: 128Mi
|
memory: 128Mi
|
||||||
storage:
|
storage:
|
||||||
|
useAllNodes: true
|
||||||
|
useAllDevices: true
|
||||||
deviceFilter: sda
|
deviceFilter: sda
|
||||||
config:
|
config:
|
||||||
osdsPerDevice: "1"
|
osdsPerDevice: "1"
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ whodb:
|
|||||||
main:
|
main:
|
||||||
image:
|
image:
|
||||||
repository: clidey/whodb
|
repository: clidey/whodb
|
||||||
tag: 0.75.0
|
tag: 0.71.0
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
env:
|
env:
|
||||||
- name: WHODB_OLLAMA_HOST
|
- name: WHODB_OLLAMA_HOST
|
||||||
|
|||||||
@@ -85,14 +85,11 @@ customDNS:
|
|||||||
argocd IN CNAME traefik-cl01tl
|
argocd IN CNAME traefik-cl01tl
|
||||||
audiobookshelf IN CNAME traefik-cl01tl
|
audiobookshelf IN CNAME traefik-cl01tl
|
||||||
authentik IN CNAME traefik-cl01tl
|
authentik IN CNAME traefik-cl01tl
|
||||||
backrest IN CNAME traefik-cl01tl
|
|
||||||
bazarr IN CNAME traefik-cl01tl
|
bazarr IN CNAME traefik-cl01tl
|
||||||
booklore IN CNAME traefik-cl01tl
|
|
||||||
calibre IN CNAME traefik-cl01tl
|
calibre IN CNAME traefik-cl01tl
|
||||||
calibre-downloader IN CNAME traefik-cl01tl
|
calibre-downloader IN CNAME traefik-cl01tl
|
||||||
ceph IN CNAME traefik-cl01tl
|
ceph IN CNAME traefik-cl01tl
|
||||||
code-server IN CNAME traefik-cl01tl
|
code-server IN CNAME traefik-cl01tl
|
||||||
ephemera IN CNAME traefik-cl01tl
|
|
||||||
garage-s3 IN CNAME traefik-cl01tl
|
garage-s3 IN CNAME traefik-cl01tl
|
||||||
garage-webui IN CNAME traefik-cl01tl
|
garage-webui IN CNAME traefik-cl01tl
|
||||||
gatus IN CNAME traefik-cl01tl
|
gatus IN CNAME traefik-cl01tl
|
||||||
@@ -113,7 +110,6 @@ customDNS:
|
|||||||
kronic IN CNAME traefik-cl01tl
|
kronic IN CNAME traefik-cl01tl
|
||||||
lidarr IN CNAME traefik-cl01tl
|
lidarr IN CNAME traefik-cl01tl
|
||||||
lidatube IN CNAME traefik-cl01tl
|
lidatube IN CNAME traefik-cl01tl
|
||||||
listenarr IN CNAME traefik-cl01tl
|
|
||||||
mail IN CNAME traefik-cl01tl
|
mail IN CNAME traefik-cl01tl
|
||||||
n8n IN CNAME traefik-cl01tl
|
n8n IN CNAME traefik-cl01tl
|
||||||
ntfy IN CNAME traefik-cl01tl
|
ntfy IN CNAME traefik-cl01tl
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
services:
|
services:
|
||||||
traefik:
|
traefik:
|
||||||
image: ghcr.io/traefik/traefik:v3.6.0
|
image: ghcr.io/traefik/traefik:v3.5.4
|
||||||
container_name: traefik
|
container_name: traefik
|
||||||
command:
|
command:
|
||||||
- "--global.checkNewVersion=false"
|
- "--global.checkNewVersion=false"
|
||||||
|
|||||||
@@ -85,14 +85,11 @@ customDNS:
|
|||||||
argocd IN CNAME traefik-cl01tl
|
argocd IN CNAME traefik-cl01tl
|
||||||
audiobookshelf IN CNAME traefik-cl01tl
|
audiobookshelf IN CNAME traefik-cl01tl
|
||||||
authentik IN CNAME traefik-cl01tl
|
authentik IN CNAME traefik-cl01tl
|
||||||
backrest IN CNAME traefik-cl01tl
|
|
||||||
bazarr IN CNAME traefik-cl01tl
|
bazarr IN CNAME traefik-cl01tl
|
||||||
booklore IN CNAME traefik-cl01tl
|
|
||||||
calibre IN CNAME traefik-cl01tl
|
calibre IN CNAME traefik-cl01tl
|
||||||
calibre-downloader IN CNAME traefik-cl01tl
|
calibre-downloader IN CNAME traefik-cl01tl
|
||||||
ceph IN CNAME traefik-cl01tl
|
ceph IN CNAME traefik-cl01tl
|
||||||
code-server IN CNAME traefik-cl01tl
|
code-server IN CNAME traefik-cl01tl
|
||||||
ephemera IN CNAME traefik-cl01tl
|
|
||||||
garage-s3 IN CNAME traefik-cl01tl
|
garage-s3 IN CNAME traefik-cl01tl
|
||||||
garage-webui IN CNAME traefik-cl01tl
|
garage-webui IN CNAME traefik-cl01tl
|
||||||
gatus IN CNAME traefik-cl01tl
|
gatus IN CNAME traefik-cl01tl
|
||||||
@@ -113,7 +110,6 @@ customDNS:
|
|||||||
kronic IN CNAME traefik-cl01tl
|
kronic IN CNAME traefik-cl01tl
|
||||||
lidarr IN CNAME traefik-cl01tl
|
lidarr IN CNAME traefik-cl01tl
|
||||||
lidatube IN CNAME traefik-cl01tl
|
lidatube IN CNAME traefik-cl01tl
|
||||||
listenarr IN CNAME traefik-cl01tl
|
|
||||||
mail IN CNAME traefik-cl01tl
|
mail IN CNAME traefik-cl01tl
|
||||||
n8n IN CNAME traefik-cl01tl
|
n8n IN CNAME traefik-cl01tl
|
||||||
ntfy IN CNAME traefik-cl01tl
|
ntfy IN CNAME traefik-cl01tl
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
services:
|
services:
|
||||||
traefik:
|
traefik:
|
||||||
image: ghcr.io/traefik/traefik:v3.6.0
|
image: ghcr.io/traefik/traefik:v3.5.4
|
||||||
container_name: traefik
|
container_name: traefik
|
||||||
command:
|
command:
|
||||||
- "--global.checkNewVersion=false"
|
- "--global.checkNewVersion=false"
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ services:
|
|||||||
- /dev/net/tun:/dev/net/tun
|
- /dev/net/tun:/dev/net/tun
|
||||||
|
|
||||||
postgresql:
|
postgresql:
|
||||||
image: docker.io/postgres:17.7-alpine3.21
|
image: docker.io/postgres:17.6-alpine3.21
|
||||||
container_name: gitea-postgres
|
container_name: gitea-postgres
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ services:
|
|||||||
- /dev/net/tun:/dev/net/tun
|
- /dev/net/tun:/dev/net/tun
|
||||||
|
|
||||||
traefik:
|
traefik:
|
||||||
image: ghcr.io/traefik/traefik:v3.6.0
|
image: ghcr.io/traefik/traefik:v3.5.4
|
||||||
container_name: traefik
|
container_name: traefik
|
||||||
command:
|
command:
|
||||||
- "--global.checkNewVersion=false"
|
- "--global.checkNewVersion=false"
|
||||||
|
|||||||
Reference in New Issue
Block a user