mirror of
https://github.com/morten-olsen/homelab-operator.git
synced 2026-02-08 01:36:28 +01:00
Compare commits
40 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b3416b84fa | ||
|
|
1f5e5d57cb | ||
|
|
2c46062c4f | ||
|
|
512d96a128 | ||
|
|
57e8349569 | ||
|
|
0b9bb40706 | ||
|
|
1d8f10cc88 | ||
|
|
de431ca488 | ||
|
|
ca8f632fca | ||
|
|
396a936c5c | ||
|
|
3f15920744 | ||
|
|
58255669dc | ||
|
|
e0d47f7803 | ||
|
|
6538f9ee24 | ||
|
|
9599beae72 | ||
|
|
af72239295 | ||
|
|
5fa12c203d | ||
|
|
440328ce6b | ||
|
|
67e9c3bc32 | ||
|
|
51242946e2 | ||
|
|
b33d68bf09 | ||
|
|
14adfd6227 | ||
|
|
a56e8b0ad8 | ||
|
|
1c587216cc | ||
|
|
d3abe5bb87 | ||
|
|
7c2e4b591e | ||
|
|
f553fb891c | ||
|
|
daa4abc6d6 | ||
|
|
bdf4aafbbb | ||
|
|
2e597ee105 | ||
|
|
d59aabb30c | ||
|
|
303c9704b3 | ||
|
|
bf6cf818c4 | ||
|
|
4a7a84919c | ||
|
|
324356a59d | ||
|
|
7319cf932b | ||
|
|
933b65b3dd | ||
|
|
8353dc8d0a | ||
|
|
abdd4b81c4 | ||
|
|
4691ab1139 |
6
.github/workflows/main.yml
vendored
6
.github/workflows/main.yml
vendored
@@ -27,9 +27,9 @@ jobs:
|
|||||||
name: Build
|
name: Build
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v5
|
||||||
|
|
||||||
- uses: actions/setup-node@v4
|
- uses: actions/setup-node@v5
|
||||||
with:
|
with:
|
||||||
node-version: "${{ env.NODE_VERSION }}"
|
node-version: "${{ env.NODE_VERSION }}"
|
||||||
registry-url: "${{ env.NODE_REGISTRY }}"
|
registry-url: "${{ env.NODE_REGISTRY }}"
|
||||||
@@ -81,7 +81,7 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v5
|
||||||
|
|
||||||
- name: Upload Release Asset
|
- name: Upload Release Asset
|
||||||
id: upload-release-asset
|
id: upload-release-asset
|
||||||
|
|||||||
10
.github/workflows/publish-backup-tag.yml
vendored
10
.github/workflows/publish-backup-tag.yml
vendored
@@ -31,12 +31,12 @@ jobs:
|
|||||||
name: Release
|
name: Release
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v5
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Log in to the Container registry
|
- name: Log in to the Container registry
|
||||||
uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1
|
uses: docker/login-action@5b7b28b1cc417bbd34cd8c225a957c9ce9adf7f2
|
||||||
with:
|
with:
|
||||||
registry: ${{ env.DOCKER_REGISTRY }}
|
registry: ${{ env.DOCKER_REGISTRY }}
|
||||||
username: ${{ github.actor }}
|
username: ${{ github.actor }}
|
||||||
@@ -44,13 +44,13 @@ jobs:
|
|||||||
|
|
||||||
- name: Extract metadata (tags, labels) for Docker
|
- name: Extract metadata (tags, labels) for Docker
|
||||||
id: meta
|
id: meta
|
||||||
uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7
|
uses: docker/metadata-action@032a4b3bda1b716928481836ac5bfe36e1feaad6
|
||||||
with:
|
with:
|
||||||
images: ${{ env.DOCKER_REGISTRY }}/${{ env.IMAGE_NAME }}
|
images: ${{ env.DOCKER_REGISTRY }}/${{ env.IMAGE_NAME }}
|
||||||
|
|
||||||
- name: Build and push Docker image
|
- name: Build and push Docker image
|
||||||
id: push
|
id: push
|
||||||
uses: docker/build-push-action@f2a1d5e99d037542a71f64918e516c093c6f3fc4
|
uses: docker/build-push-action@cb8fc7586f9ad9441b20c33e0f6e8b1b58d8b4c6
|
||||||
with:
|
with:
|
||||||
context: ./images/backup
|
context: ./images/backup
|
||||||
push: true
|
push: true
|
||||||
@@ -58,7 +58,7 @@ jobs:
|
|||||||
labels: ${{ steps.meta.outputs.labels }}
|
labels: ${{ steps.meta.outputs.labels }}
|
||||||
|
|
||||||
- name: Generate artifact attestation
|
- name: Generate artifact attestation
|
||||||
uses: actions/attest-build-provenance@v2
|
uses: actions/attest-build-provenance@v3
|
||||||
with:
|
with:
|
||||||
subject-name: ${{ env.DOCKER_REGISTRY }}/${{ env.IMAGE_NAME}}
|
subject-name: ${{ env.DOCKER_REGISTRY }}/${{ env.IMAGE_NAME}}
|
||||||
subject-digest: ${{ steps.push.outputs.digest }}
|
subject-digest: ${{ steps.push.outputs.digest }}
|
||||||
|
|||||||
10
.github/workflows/publish-tag.yml
vendored
10
.github/workflows/publish-tag.yml
vendored
@@ -31,12 +31,12 @@ jobs:
|
|||||||
name: Release
|
name: Release
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v5
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Log in to the Container registry
|
- name: Log in to the Container registry
|
||||||
uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1
|
uses: docker/login-action@5b7b28b1cc417bbd34cd8c225a957c9ce9adf7f2
|
||||||
with:
|
with:
|
||||||
registry: ${{ env.DOCKER_REGISTRY }}
|
registry: ${{ env.DOCKER_REGISTRY }}
|
||||||
username: ${{ github.actor }}
|
username: ${{ github.actor }}
|
||||||
@@ -44,13 +44,13 @@ jobs:
|
|||||||
|
|
||||||
- name: Extract metadata (tags, labels) for Docker
|
- name: Extract metadata (tags, labels) for Docker
|
||||||
id: meta
|
id: meta
|
||||||
uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7
|
uses: docker/metadata-action@032a4b3bda1b716928481836ac5bfe36e1feaad6
|
||||||
with:
|
with:
|
||||||
images: ${{ env.DOCKER_REGISTRY }}/${{ env.IMAGE_NAME }}
|
images: ${{ env.DOCKER_REGISTRY }}/${{ env.IMAGE_NAME }}
|
||||||
|
|
||||||
- name: Build and push Docker image
|
- name: Build and push Docker image
|
||||||
id: push
|
id: push
|
||||||
uses: docker/build-push-action@f2a1d5e99d037542a71f64918e516c093c6f3fc4
|
uses: docker/build-push-action@cb8fc7586f9ad9441b20c33e0f6e8b1b58d8b4c6
|
||||||
with:
|
with:
|
||||||
context: ./images/operator
|
context: ./images/operator
|
||||||
push: true
|
push: true
|
||||||
@@ -58,7 +58,7 @@ jobs:
|
|||||||
labels: ${{ steps.meta.outputs.labels }}
|
labels: ${{ steps.meta.outputs.labels }}
|
||||||
|
|
||||||
- name: Generate artifact attestation
|
- name: Generate artifact attestation
|
||||||
uses: actions/attest-build-provenance@v2
|
uses: actions/attest-build-provenance@v3
|
||||||
with:
|
with:
|
||||||
subject-name: ${{ env.DOCKER_REGISTRY }}/${{ env.IMAGE_NAME}}
|
subject-name: ${{ env.DOCKER_REGISTRY }}/${{ env.IMAGE_NAME}}
|
||||||
subject-digest: ${{ steps.push.outputs.digest }}
|
subject-digest: ${{ steps.push.outputs.digest }}
|
||||||
|
|||||||
16
.github/workflows/renovate.yml
vendored
Normal file
16
.github/workflows/renovate.yml
vendored
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
name: Renovate
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
schedule:
|
||||||
|
- cron: "0 */6 * * *"
|
||||||
|
jobs:
|
||||||
|
renovate:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
- name: Self-hosted Renovate
|
||||||
|
uses: renovatebot/github-action@v43.0.13
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
configurationFile: ./renovate.json5
|
||||||
3
.gitignore
vendored
3
.gitignore
vendored
@@ -1,3 +1,4 @@
|
|||||||
/secret.*.yaml
|
/secret.*.yaml
|
||||||
/data/
|
/data/
|
||||||
*.DS_Store
|
/.envrc
|
||||||
|
*.DS_Store
|
||||||
|
|||||||
@@ -4,6 +4,6 @@ globals:
|
|||||||
domain: olsen.cloud
|
domain: olsen.cloud
|
||||||
image:
|
image:
|
||||||
repository: docker.io/caronc/apprise
|
repository: docker.io/caronc/apprise
|
||||||
tag: latest
|
tag: latest@sha256:127b3834f0679502529397ead8ffeaadf5189019c4c863fa6652e9b942fdccf8
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
subdomain: apprise
|
subdomain: apprise
|
||||||
|
|||||||
@@ -2,6 +2,6 @@ globals:
|
|||||||
environment: prod
|
environment: prod
|
||||||
image:
|
image:
|
||||||
repository: ghcr.io/advplyr/audiobookshelf
|
repository: ghcr.io/advplyr/audiobookshelf
|
||||||
tag: 2.26.1
|
tag: 2.29.0@sha256:dd4a3079d26bfe9f0ea63de3e3eff483dfa25fef05ef850a5a9d121dca3794b2
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
subdomain: audiobookshelf
|
subdomain: audiobookshelf
|
||||||
|
|||||||
@@ -4,6 +4,6 @@ globals:
|
|||||||
domain: olsen.cloud
|
domain: olsen.cloud
|
||||||
image:
|
image:
|
||||||
repository: docker.io/ckulka/baikal
|
repository: docker.io/ckulka/baikal
|
||||||
tag: nginx
|
tag: nginx@sha256:045918423df00a3f9ec793a819b9acdb055d338b75387926b7d93d753ac1e93a
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
subdomain: baikal
|
subdomain: baikal
|
||||||
|
|||||||
@@ -4,6 +4,6 @@ globals:
|
|||||||
timezone: Europe/Amsterdam
|
timezone: Europe/Amsterdam
|
||||||
image:
|
image:
|
||||||
repository: lscr.io/linuxserver/calibre-web
|
repository: lscr.io/linuxserver/calibre-web
|
||||||
tag: latest
|
tag: latest@sha256:98a20064168ab284bbb8e048af48c89a5e25650f35a4b217705241af94c1debe
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
subdomain: calibre-web
|
subdomain: calibre-web
|
||||||
|
|||||||
@@ -2,6 +2,6 @@ globals:
|
|||||||
environment: prod
|
environment: prod
|
||||||
image:
|
image:
|
||||||
repository: ghcr.io/coder/coder
|
repository: ghcr.io/coder/coder
|
||||||
tag: latest
|
tag: latest@sha256:73714e0685addde01bbff905cf5b647d6b677d77977c8009b6293d40fdf0f562
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
subdomain: coder
|
subdomain: coder
|
||||||
|
|||||||
3
charts/apps/data/Chart.yaml
Normal file
3
charts/apps/data/Chart.yaml
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
apiVersion: v2
|
||||||
|
version: 1.0.0
|
||||||
|
name: data
|
||||||
6
charts/apps/data/templates/database.yaml
Normal file
6
charts/apps/data/templates/database.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
apiVersion: homelab.mortenolsen.pro/v1
|
||||||
|
kind: PostgresDatabase
|
||||||
|
metadata:
|
||||||
|
name: '{{ .Release.Name }}'
|
||||||
|
spec:
|
||||||
|
environment: '{{ .Values.globals.environment }}'
|
||||||
2
charts/apps/data/values.yaml
Normal file
2
charts/apps/data/values.yaml
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
globals:
|
||||||
|
environment: prod
|
||||||
@@ -4,6 +4,6 @@ globals:
|
|||||||
domain: olsen.cloud
|
domain: olsen.cloud
|
||||||
image:
|
image:
|
||||||
repository: ghcr.io/esphome/esphome
|
repository: ghcr.io/esphome/esphome
|
||||||
tag: latest
|
tag: latest@sha256:67f4df2206af244e79c6c624ea7ef27be572f83af981657b1ac1ffa0d7b8487a
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
subdomain: esphome
|
subdomain: esphome
|
||||||
|
|||||||
@@ -3,6 +3,6 @@ globals:
|
|||||||
timezone: Europe/Amsterdam
|
timezone: Europe/Amsterdam
|
||||||
image:
|
image:
|
||||||
repository: docker.gitea.com/gitea
|
repository: docker.gitea.com/gitea
|
||||||
tag: latest
|
tag: latest@sha256:2edc102cbb636ae1ddac5fa0c715aa5b03079dee13ac6800b2cef6d4e912e718
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
subdomain: gitea
|
subdomain: gitea
|
||||||
|
|||||||
@@ -2,6 +2,6 @@ globals:
|
|||||||
environment: prod
|
environment: prod
|
||||||
image:
|
image:
|
||||||
repository: headscale/headscale
|
repository: headscale/headscale
|
||||||
tag: latest
|
tag: latest@sha256:ea9b5ee06274d757a4d52103de56cd11a9c393acb19d9a35f4b9fe52ada410de
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
subdomain: headscale
|
subdomain: headscale
|
||||||
|
|||||||
@@ -2,6 +2,6 @@ globals:
|
|||||||
environment: prod
|
environment: prod
|
||||||
image:
|
image:
|
||||||
repository: ghcr.io/homarr-labs/homarr
|
repository: ghcr.io/homarr-labs/homarr
|
||||||
tag: latest
|
tag: latest@sha256:9ba9831d43347b6d66143a0754c97b9790a2ffe9bdf5004083668864b3328e65
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
subdomain: homarr
|
subdomain: homarr
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ spec:
|
|||||||
app: "{{ .Release.Name }}"
|
app: "{{ .Release.Name }}"
|
||||||
spec:
|
spec:
|
||||||
hostNetwork: true
|
hostNetwork: true
|
||||||
|
dnsPolicy: ClusterFirstWithHostNet
|
||||||
|
|
||||||
containers:
|
containers:
|
||||||
- name: "{{ .Release.Name }}"
|
- name: "{{ .Release.Name }}"
|
||||||
|
|||||||
59
charts/apps/home-assistant/templates/piper.yaml
Normal file
59
charts/apps/home-assistant/templates/piper.yaml
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: "{{ .Release.Name }}-piper"
|
||||||
|
spec:
|
||||||
|
strategy:
|
||||||
|
type: Recreate
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: "{{ .Release.Name }}-piper"
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: "{{ .Release.Name }}-piper"
|
||||||
|
spec:
|
||||||
|
hostNetwork: true
|
||||||
|
|
||||||
|
containers:
|
||||||
|
- name: "{{ .Release.Name }}-piper"
|
||||||
|
image: "{{ .Values.piper.image.repository }}:{{ .Values.piper.image.tag }}"
|
||||||
|
imagePullPolicy: "{{ .Values.piper.image.pullPolicy }}"
|
||||||
|
args:
|
||||||
|
- --piper
|
||||||
|
- /usr/share/piper/piper
|
||||||
|
- --data-dir
|
||||||
|
- /usr/share/piper-voices
|
||||||
|
- --voice
|
||||||
|
- "{{ .Values.piper.model }}"
|
||||||
|
env:
|
||||||
|
- name: TZ
|
||||||
|
value: "{{ .Values.globals.timezone }}"
|
||||||
|
ports:
|
||||||
|
- name: http
|
||||||
|
containerPort: 10200
|
||||||
|
protocol: TCP
|
||||||
|
livenessProbe:
|
||||||
|
tcpSocket:
|
||||||
|
port: http
|
||||||
|
readinessProbe:
|
||||||
|
tcpSocket:
|
||||||
|
port: http
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: "{{ .Release.Name }}-piper"
|
||||||
|
labels:
|
||||||
|
app: "{{ .Release.Name }}-piper"
|
||||||
|
spec:
|
||||||
|
type: ClusterIP
|
||||||
|
ports:
|
||||||
|
- port: 80
|
||||||
|
targetPort: 10200
|
||||||
|
protocol: TCP
|
||||||
|
name: http
|
||||||
|
selector:
|
||||||
|
app: "{{ .Release.Name }}-piper"
|
||||||
57
charts/apps/home-assistant/templates/whisper.yaml
Normal file
57
charts/apps/home-assistant/templates/whisper.yaml
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: "{{ .Release.Name }}-whisper"
|
||||||
|
spec:
|
||||||
|
strategy:
|
||||||
|
type: Recreate
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: "{{ .Release.Name }}-whisper"
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: "{{ .Release.Name }}-whisper"
|
||||||
|
spec:
|
||||||
|
hostNetwork: true
|
||||||
|
|
||||||
|
containers:
|
||||||
|
- name: "{{ .Release.Name }}-whisper"
|
||||||
|
image: "{{ .Values.whisper.image.repository }}:{{ .Values.whisper.image.tag }}"
|
||||||
|
imagePullPolicy: "{{ .Values.whisper.image.pullPolicy }}"
|
||||||
|
args:
|
||||||
|
- --model
|
||||||
|
- "{{ .Values.whisper.model }}"
|
||||||
|
- --language
|
||||||
|
- "{{ .Values.whisper.language }}"
|
||||||
|
env:
|
||||||
|
- name: TZ
|
||||||
|
value: "{{ .Values.globals.timezone }}"
|
||||||
|
ports:
|
||||||
|
- name: http
|
||||||
|
containerPort: 10300
|
||||||
|
protocol: TCP
|
||||||
|
livenessProbe:
|
||||||
|
tcpSocket:
|
||||||
|
port: http
|
||||||
|
readinessProbe:
|
||||||
|
tcpSocket:
|
||||||
|
port: http
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: "{{ .Release.Name }}-whisper"
|
||||||
|
labels:
|
||||||
|
app: "{{ .Release.Name }}-whisper"
|
||||||
|
spec:
|
||||||
|
type: ClusterIP
|
||||||
|
ports:
|
||||||
|
- port: 80
|
||||||
|
targetPort: 10300
|
||||||
|
protocol: TCP
|
||||||
|
name: http
|
||||||
|
selector:
|
||||||
|
app: "{{ .Release.Name }}-whisper"
|
||||||
@@ -3,6 +3,19 @@ globals:
|
|||||||
timezone: Europe/Amsterdam
|
timezone: Europe/Amsterdam
|
||||||
image:
|
image:
|
||||||
repository: ghcr.io/home-assistant/home-assistant
|
repository: ghcr.io/home-assistant/home-assistant
|
||||||
tag: stable
|
tag: stable@sha256:89ec0583c7f47c8a150204f6b5ed48b5432026012bebe1226cf72775a795a5e1
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
subdomain: home-assistant
|
subdomain: home-assistant
|
||||||
|
piper:
|
||||||
|
image:
|
||||||
|
repository: ghcr.io/morten-olsen/glados-voice
|
||||||
|
tag: main@sha256:8fcc19bd9e7e846bdfd9e9e569c8c944dcfb1d0b47e3f479cbaa7f5587c7206c
|
||||||
|
pullPolicy: Always
|
||||||
|
model: en_US-glados-medium
|
||||||
|
whisper:
|
||||||
|
image:
|
||||||
|
repository: rhasspy/wyoming-whisper
|
||||||
|
tag: latest@sha256:f03456914affe8076fc7688c0890f4c708d93ebfac7340b0b2467f721412012d
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
model: tiny-int8
|
||||||
|
language: us
|
||||||
|
|||||||
12
charts/apps/install.sh
Executable file
12
charts/apps/install.sh
Executable file
@@ -0,0 +1,12 @@
|
|||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
find . -name "values.yaml" -type f -print0 | while IFS= read -r -d '' values_file; do
|
||||||
|
location=$(dirname "$values_file")
|
||||||
|
name=$(basename "$location")
|
||||||
|
name=$(echo "$name" | tr '[:upper:]' '[:lower:]' | tr -s '[:punct:][:space:]' '-' | sed -e 's/^-*//' -e 's/-*$//')
|
||||||
|
|
||||||
|
echo "✅ Chart found in: $location"
|
||||||
|
echo " - Generated release name: $name"
|
||||||
|
HELM_COMMAND="helm install --namespace prod \"$name\" \"$location\""
|
||||||
|
helm upgrade -i --namespace prod "$name" "$location"
|
||||||
|
done
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
kind: PersistentVolumeClaim
|
kind: PersistentVolumeClaim
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
metadata:
|
metadata:
|
||||||
name: '{{ .Release.Name }}-config'
|
name: "{{ .Release.Name }}-config"
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- 'ReadWriteOnce'
|
- "ReadWriteOnce"
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
storage: '1Gi'
|
storage: "1Gi"
|
||||||
storageClassName: '{{ .Values.environment }}'
|
storageClassName: "{{ .Values.globals.environment }}"
|
||||||
|
|||||||
@@ -2,6 +2,6 @@ globals:
|
|||||||
environment: prod
|
environment: prod
|
||||||
image:
|
image:
|
||||||
repository: docker.io/jellyfin/jellyfin
|
repository: docker.io/jellyfin/jellyfin
|
||||||
tag: latest
|
tag: latest@sha256:7ae36aab93ef9b6aaff02b37f8bb23df84bb2d7a3f6054ec8fc466072a648ce2
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
subdomain: jellyfin
|
subdomain: jellyfin
|
||||||
|
|||||||
3
charts/apps/linkwarden/Chart.yaml
Normal file
3
charts/apps/linkwarden/Chart.yaml
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
apiVersion: v2
|
||||||
|
version: 1.0.0
|
||||||
|
name: Linkwarden
|
||||||
10
charts/apps/linkwarden/templates/client.yaml
Normal file
10
charts/apps/linkwarden/templates/client.yaml
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
apiVersion: homelab.mortenolsen.pro/v1
|
||||||
|
kind: OidcClient
|
||||||
|
metadata:
|
||||||
|
name: "{{ .Release.Name }}"
|
||||||
|
spec:
|
||||||
|
environment: "{{ .Values.globals.environment }}"
|
||||||
|
redirectUris:
|
||||||
|
- path: /api/v1/auth/callback/authentik
|
||||||
|
subdomain: "{{ .Values.subdomain }}"
|
||||||
|
matchingMode: strict
|
||||||
6
charts/apps/linkwarden/templates/database.yaml
Normal file
6
charts/apps/linkwarden/templates/database.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
apiVersion: homelab.mortenolsen.pro/v1
|
||||||
|
kind: PostgresDatabase
|
||||||
|
metadata:
|
||||||
|
name: '{{ .Release.Name }}'
|
||||||
|
spec:
|
||||||
|
environment: '{{ .Values.globals.environment }}'
|
||||||
75
charts/apps/linkwarden/templates/deployment.yaml
Normal file
75
charts/apps/linkwarden/templates/deployment.yaml
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: "{{ .Release.Name }}"
|
||||||
|
labels:
|
||||||
|
app: "{{ .Release.Name }}"
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: "{{ .Release.Name }}"
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: "{{ .Release.Name }}"
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: "{{ .Release.Name }}"
|
||||||
|
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
|
||||||
|
imagePullPolicy: "{{ .Values.image.pullPolicy }}"
|
||||||
|
ports:
|
||||||
|
- containerPort: 3000
|
||||||
|
name: http
|
||||||
|
env:
|
||||||
|
- name: TZ
|
||||||
|
value: "{{ .Values.globals.timezone }}"
|
||||||
|
- name: NEXTAUTH_URL
|
||||||
|
value: "https://{{ .Values.subdomain }}.{{ .Values.globals.domain }}/api/v1/auth"
|
||||||
|
- name: NEXT_PUBLIC_OLLAMA_ENDPOINT_URL
|
||||||
|
value: "http://ollama:80"
|
||||||
|
- name: OLLAMA_MODEL
|
||||||
|
value: phi3:mini-4k
|
||||||
|
- name: DATABASE_URL
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: "{{ .Release.Name }}-pg-connection"
|
||||||
|
key: url
|
||||||
|
- name: NEXTAUTH_SECRET
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: "{{ .Release.Name }}-secrets"
|
||||||
|
key: nextauth
|
||||||
|
- name: NEXT_PUBLIC_DISABLE_REGISTRATION
|
||||||
|
value: "true"
|
||||||
|
- name: NEXT_PUBLIC_CREDENTIALS_ENABLED
|
||||||
|
value: "false"
|
||||||
|
- name: DISABLE_NEW_SSO_USERS
|
||||||
|
value: "false"
|
||||||
|
- name: NEXT_PUBLIC_AUTHENTIK_ENABLED
|
||||||
|
value: "true"
|
||||||
|
- name: AUTHENTIK_CLIENT_ID
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: "{{ .Release.Name }}-client"
|
||||||
|
key: clientId
|
||||||
|
- name: AUTHENTIK_CLIENT_SECRET
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: "{{ .Release.Name }}-client"
|
||||||
|
key: clientSecret
|
||||||
|
- name: AUTHENTIK_ISSUER
|
||||||
|
value: "https://authentik.{{ .Values.globals.domain }}/application/o/linkwarden"
|
||||||
|
# TODO:
|
||||||
|
# - name: AUTHENTIK_ISSUER
|
||||||
|
# valueFrom:
|
||||||
|
# secretKeyRef:
|
||||||
|
# name: "{{ .Release.Name }}-client"
|
||||||
|
# key: configurationIssuer
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /data/data
|
||||||
|
name: data
|
||||||
|
volumes:
|
||||||
|
- name: data
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: "{{ .Release.Name }}-data"
|
||||||
11
charts/apps/linkwarden/templates/external-http-service.yaml
Normal file
11
charts/apps/linkwarden/templates/external-http-service.yaml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
apiVersion: homelab.mortenolsen.pro/v1
|
||||||
|
kind: ExternalHttpService
|
||||||
|
metadata:
|
||||||
|
name: '{{ .Release.Name }}'
|
||||||
|
spec:
|
||||||
|
environment: '{{ .Values.globals.environment }}'
|
||||||
|
subdomain: '{{ .Values.subdomain }}'
|
||||||
|
destination:
|
||||||
|
host: '{{ .Release.Name }}.{{ .Release.Namespace }}.svc.cluster.local'
|
||||||
|
port:
|
||||||
|
number: 80
|
||||||
11
charts/apps/linkwarden/templates/http-service.yaml
Normal file
11
charts/apps/linkwarden/templates/http-service.yaml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
apiVersion: homelab.mortenolsen.pro/v1
|
||||||
|
kind: HttpService
|
||||||
|
metadata:
|
||||||
|
name: "{{ .Release.Name }}"
|
||||||
|
spec:
|
||||||
|
environment: "{{ .Values.globals.environment }}"
|
||||||
|
subdomain: "{{ .Values.subdomain }}"
|
||||||
|
destination:
|
||||||
|
host: "{{ .Release.Name }}"
|
||||||
|
port:
|
||||||
|
number: 80
|
||||||
11
charts/apps/linkwarden/templates/pvc.yaml
Normal file
11
charts/apps/linkwarden/templates/pvc.yaml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
kind: PersistentVolumeClaim
|
||||||
|
apiVersion: v1
|
||||||
|
metadata:
|
||||||
|
name: '{{ .Release.Name }}-data'
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- 'ReadWriteOnce'
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: '1Gi'
|
||||||
|
storageClassName: '{{ .Values.globals.environment }}'
|
||||||
9
charts/apps/linkwarden/templates/secret.yaml
Normal file
9
charts/apps/linkwarden/templates/secret.yaml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
apiVersion: homelab.mortenolsen.pro/v1
|
||||||
|
kind: GenerateSecret
|
||||||
|
metadata:
|
||||||
|
name: "{{ .Release.Name }}-secrets"
|
||||||
|
spec:
|
||||||
|
fields:
|
||||||
|
- name: nextauth
|
||||||
|
encoding: hex
|
||||||
|
length: 64
|
||||||
15
charts/apps/linkwarden/templates/service.yaml
Normal file
15
charts/apps/linkwarden/templates/service.yaml
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: "{{ .Release.Name }}"
|
||||||
|
labels:
|
||||||
|
app: "{{ .Release.Name }}"
|
||||||
|
spec:
|
||||||
|
type: ClusterIP
|
||||||
|
ports:
|
||||||
|
- port: 80
|
||||||
|
targetPort: 3000
|
||||||
|
protocol: TCP
|
||||||
|
name: http
|
||||||
|
selector:
|
||||||
|
app: "{{ .Release.Name }}"
|
||||||
9
charts/apps/linkwarden/values.yaml
Normal file
9
charts/apps/linkwarden/values.yaml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
globals:
|
||||||
|
environment: prod
|
||||||
|
domain: olsen.cloud
|
||||||
|
timezone: Europe/Amsterdam
|
||||||
|
image:
|
||||||
|
repository: ghcr.io/linkwarden/linkwarden
|
||||||
|
tag: latest@sha256:c1c6f417ea566de2c2dac6e79353ee5f40cb6a44fd9dd3970c83e6fc098de1df
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
subdomain: linkwarden
|
||||||
@@ -5,4 +5,4 @@ globals:
|
|||||||
subdomain: mealie
|
subdomain: mealie
|
||||||
image:
|
image:
|
||||||
repository: ghcr.io/mealie-recipes/mealie
|
repository: ghcr.io/mealie-recipes/mealie
|
||||||
tag: latest
|
tag: latest@sha256:322369a5b748eddb091417e708f0667d21994e6119278d1b8c509900ba41e54b
|
||||||
10
charts/apps/metamcp/templates/client.yaml
Normal file
10
charts/apps/metamcp/templates/client.yaml
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
apiVersion: homelab.mortenolsen.pro/v1
|
||||||
|
kind: OidcClient
|
||||||
|
metadata:
|
||||||
|
name: '{{ .Release.Name }}'
|
||||||
|
spec:
|
||||||
|
environment: '{{ .Values.globals.environment }}'
|
||||||
|
redirectUris:
|
||||||
|
- path: /api/auth/oidc/callback
|
||||||
|
subdomain: '{{ .Values.subdomain }}'
|
||||||
|
matchingMode: strict
|
||||||
@@ -1,23 +1,23 @@
|
|||||||
apiVersion: apps/v1
|
apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata:
|
metadata:
|
||||||
name: '{{ .Release.Name }}'
|
name: "{{ .Release.Name }}"
|
||||||
spec:
|
spec:
|
||||||
strategy:
|
strategy:
|
||||||
type: Recreate
|
type: Recreate
|
||||||
replicas: 1
|
replicas: 1
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
app: '{{ .Release.Name }}'
|
app: "{{ .Release.Name }}"
|
||||||
template:
|
template:
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
app: '{{ .Release.Name }}'
|
app: "{{ .Release.Name }}"
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: '{{ .Release.Name }}'
|
- name: "{{ .Release.Name }}"
|
||||||
image: '{{ .Values.image.repository }}:{{ .Values.image.tag }}'
|
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
|
||||||
imagePullPolicy: '{{ .Values.image.pullPolicy }}'
|
imagePullPolicy: "{{ .Values.image.pullPolicy }}"
|
||||||
ports:
|
ports:
|
||||||
- name: http
|
- name: http
|
||||||
containerPort: 12008
|
containerPort: 12008
|
||||||
@@ -33,47 +33,68 @@ spec:
|
|||||||
name: data
|
name: data
|
||||||
env:
|
env:
|
||||||
- name: TZ
|
- name: TZ
|
||||||
value: '{{ .Values.globals.timezone }}'
|
value: "{{ .Values.globals.timezone }}"
|
||||||
- name: APP_URL
|
- name: APP_URL
|
||||||
value: https://metamcp.olsen.cloud # TODO: Change
|
value: "https://{{ .Values.subdomain }}.{{ .Values.globals.domain }}"
|
||||||
- name: NEXT_PUBLIC_APP_URL
|
- name: NEXT_PUBLIC_APP_URL
|
||||||
value: https://metamcp.olsen.cloud # TODO: Change
|
value: "https://{{ .Values.subdomain }}.{{ .Values.globals.domain }}"
|
||||||
- name: BETTER_AUTH_SECRET
|
- name: BETTER_AUTH_SECRET
|
||||||
valueFrom:
|
valueFrom:
|
||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: '{{ .Release.Name }}-secrets'
|
name: "{{ .Release.Name }}-secrets"
|
||||||
key: betterauth
|
key: betterauth
|
||||||
- name: DATABASE_URL
|
- name: DATABASE_URL
|
||||||
valueFrom:
|
valueFrom:
|
||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: '{{ .Release.Name }}-pg-connection'
|
name: "{{ .Release.Name }}-pg-connection"
|
||||||
key: url
|
key: url
|
||||||
- name: POSTGRES_DB
|
- name: POSTGRES_DB
|
||||||
valueFrom:
|
valueFrom:
|
||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: '{{ .Release.Name }}-pg-connection'
|
name: "{{ .Release.Name }}-pg-connection"
|
||||||
key: database
|
key: database
|
||||||
- name: POSTGRES_HOST
|
- name: POSTGRES_HOST
|
||||||
valueFrom:
|
valueFrom:
|
||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: '{{ .Release.Name }}-pg-connection'
|
name: "{{ .Release.Name }}-pg-connection"
|
||||||
key: host
|
key: host
|
||||||
- name: POSTGRES_PORT
|
- name: POSTGRES_PORT
|
||||||
valueFrom:
|
valueFrom:
|
||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: '{{ .Release.Name }}-pg-connection'
|
name: "{{ .Release.Name }}-pg-connection"
|
||||||
key: port
|
key: port
|
||||||
- name: POSTGRES_USER
|
- name: POSTGRES_USER
|
||||||
valueFrom:
|
valueFrom:
|
||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: '{{ .Release.Name }}-pg-connection'
|
name: "{{ .Release.Name }}-pg-connection"
|
||||||
key: user
|
key: user
|
||||||
- name: POSTGRES_PASSWORD
|
- name: POSTGRES_PASSWORD
|
||||||
valueFrom:
|
valueFrom:
|
||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: '{{ .Release.Name }}-pg-connection'
|
name: "{{ .Release.Name }}-pg-connection"
|
||||||
key: password
|
key: password
|
||||||
|
- name: OIDC_PROVIDER_ID
|
||||||
|
value: oidc
|
||||||
|
- name: OIDC_SCOPES
|
||||||
|
value: openid email profile
|
||||||
|
- name: OIDC_PKCE
|
||||||
|
value: "true"
|
||||||
|
- name: OIDC_CLIENT_ID
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: "{{ .Release.Name }}-client"
|
||||||
|
key: clientId
|
||||||
|
- name: OIDC_CLIENT_SECRET
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: "{{ .Release.Name }}-client"
|
||||||
|
key: clientSecret
|
||||||
|
- name: OIDC_DISCOVERY_URL
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: "{{ .Release.Name }}-client"
|
||||||
|
key: configuration
|
||||||
volumes:
|
volumes:
|
||||||
- name: data
|
- name: data
|
||||||
persistentVolumeClaim:
|
persistentVolumeClaim:
|
||||||
claimName: '{{ .Release.Name }}-data'
|
claimName: "{{ .Release.Name }}-data"
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
globals:
|
globals:
|
||||||
environment: prod
|
environment: prod
|
||||||
|
domain: olsen.cloud
|
||||||
timezone: Europe/Amsterdam
|
timezone: Europe/Amsterdam
|
||||||
image:
|
image:
|
||||||
repository: ghcr.io/metatool-ai/metamcp
|
repository: ghcr.io/metatool-ai/metamcp
|
||||||
tag: latest
|
tag: latest@sha256:009c6354d55a7ff0df484c8109ac5ae241484e6fb6f7f09318dfeeba384108ac
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
subdomain: metamcp
|
subdomain: metamcp
|
||||||
|
|||||||
@@ -4,6 +4,6 @@ globals:
|
|||||||
domain: olsen.cloud
|
domain: olsen.cloud
|
||||||
image:
|
image:
|
||||||
repository: ghcr.io/miniflux/miniflux
|
repository: ghcr.io/miniflux/miniflux
|
||||||
tag: latest
|
tag: latest@sha256:fd6587a23884c277301307e4d70c196cd0f772fba1720b9e60051fc65a75121e
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
subdomain: miniflux
|
subdomain: miniflux
|
||||||
|
|||||||
@@ -8,5 +8,5 @@ data:
|
|||||||
mosquitto.conf: |
|
mosquitto.conf: |
|
||||||
persistence true
|
persistence true
|
||||||
persistence_location /mosquitto/data/
|
persistence_location /mosquitto/data/
|
||||||
listener 1884 0.0.0.0
|
listener 1883 0.0.0.0
|
||||||
allow_anonymous true
|
allow_anonymous true
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ spec:
|
|||||||
command:
|
command:
|
||||||
- sh
|
- sh
|
||||||
- -c
|
- -c
|
||||||
- mosquitto_pub -h localhost -p 1884 -t health/ready -m "ready" -q 0 -i readiness_client -V 5
|
- mosquitto_pub -h localhost -p 1883 -t health/ready -m "ready" -q 0 -i readiness_client -V 5
|
||||||
initialDelaySeconds: 10 # Give broker time to start
|
initialDelaySeconds: 10 # Give broker time to start
|
||||||
periodSeconds: 20 # Check every 20 seconds
|
periodSeconds: 20 # Check every 20 seconds
|
||||||
timeoutSeconds: 5 # Fail if command takes longer than 5 seconds
|
timeoutSeconds: 5 # Fail if command takes longer than 5 seconds
|
||||||
@@ -37,7 +37,7 @@ spec:
|
|||||||
command:
|
command:
|
||||||
- sh
|
- sh
|
||||||
- -c
|
- -c
|
||||||
- mosquitto_pub -h localhost -p 1884 -t health/ready -m "ready" -q 0 -i readiness_client -V 5
|
- mosquitto_pub -h localhost -p 1883 -t health/ready -m "ready" -q 0 -i readiness_client -V 5
|
||||||
initialDelaySeconds: 15
|
initialDelaySeconds: 15
|
||||||
periodSeconds: 20
|
periodSeconds: 20
|
||||||
timeoutSeconds: 5
|
timeoutSeconds: 5
|
||||||
|
|||||||
11
charts/apps/mqtt/templates/http-service.yaml
Normal file
11
charts/apps/mqtt/templates/http-service.yaml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
apiVersion: homelab.mortenolsen.pro/v1
|
||||||
|
kind: HttpService
|
||||||
|
metadata:
|
||||||
|
name: "{{ .Release.Name }}"
|
||||||
|
spec:
|
||||||
|
environment: "{{ .Values.globals.environment }}"
|
||||||
|
subdomain: "{{ .Values.subdomain }}"
|
||||||
|
destination:
|
||||||
|
host: "{{ .Release.Name }}"
|
||||||
|
port:
|
||||||
|
number: 1883
|
||||||
@@ -5,7 +5,7 @@ metadata:
|
|||||||
labels:
|
labels:
|
||||||
app: "{{ .Release.Name }}"
|
app: "{{ .Release.Name }}"
|
||||||
spec:
|
spec:
|
||||||
type: ClusterIP
|
type: LoadBalancer
|
||||||
ports:
|
ports:
|
||||||
- port: 1883
|
- port: 1883
|
||||||
targetPort: 1883
|
targetPort: 1883
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ globals:
|
|||||||
domain: olsen.cloud
|
domain: olsen.cloud
|
||||||
image:
|
image:
|
||||||
repository: docker.io/eclipse-mosquitto
|
repository: docker.io/eclipse-mosquitto
|
||||||
tag: latest
|
tag: latest@sha256:d219d3a72847f3aed6a1d66975972d3b17f86e39e8f6f6b86b4088b879c1a2d6
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
subdomain: mqtt
|
subdomain: mqtt
|
||||||
mode: json-rpc
|
mode: json-rpc
|
||||||
@@ -2,6 +2,6 @@ globals:
|
|||||||
environment: prod
|
environment: prod
|
||||||
image:
|
image:
|
||||||
repository: ghcr.io/music-assistant/server
|
repository: ghcr.io/music-assistant/server
|
||||||
tag: latest
|
tag: latest@sha256:f534116c53d49b3120961c908a5fa24f28684806bf222ccd74add9e16b105aa4
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
subdomain: music-assistant
|
subdomain: music-assistant
|
||||||
|
|||||||
@@ -4,6 +4,6 @@ globals:
|
|||||||
domain: olsen.cloud
|
domain: olsen.cloud
|
||||||
image:
|
image:
|
||||||
repository: docker.n8n.io/n8nio/n8n
|
repository: docker.n8n.io/n8nio/n8n
|
||||||
tag: latest
|
tag: latest@sha256:4a159553c22d41f6167c7ddf01e4078c97726af863eae59579f3b2d9e8b12fe2
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
subdomain: n8n
|
subdomain: n8n
|
||||||
|
|||||||
3
charts/apps/nocodb/Chart.yaml
Normal file
3
charts/apps/nocodb/Chart.yaml
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
apiVersion: v2
|
||||||
|
version: 1.0.0
|
||||||
|
name: nocodb
|
||||||
33
charts/apps/nocodb/templates/deployment.yaml
Normal file
33
charts/apps/nocodb/templates/deployment.yaml
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: "{{ .Release.Name }}"
|
||||||
|
labels:
|
||||||
|
app: "{{ .Release.Name }}"
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: "{{ .Release.Name }}"
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: "{{ .Release.Name }}"
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: "{{ .Release.Name }}"
|
||||||
|
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
|
||||||
|
imagePullPolicy: "{{ .Values.image.pullPolicy }}"
|
||||||
|
ports:
|
||||||
|
- containerPort: 8080
|
||||||
|
name: http
|
||||||
|
env:
|
||||||
|
- name: TZ
|
||||||
|
value: "{{ .Values.globals.timezone }}"
|
||||||
|
- name: PUID
|
||||||
|
- mountPath: /usr/app/data/
|
||||||
|
name: data
|
||||||
|
volumes:
|
||||||
|
- name: data
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: "{{ .Release.Name }}-data"
|
||||||
11
charts/apps/nocodb/templates/external-http-service.yaml
Normal file
11
charts/apps/nocodb/templates/external-http-service.yaml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
apiVersion: homelab.mortenolsen.pro/v1
|
||||||
|
kind: ExternalHttpService
|
||||||
|
metadata:
|
||||||
|
name: '{{ .Release.Name }}'
|
||||||
|
spec:
|
||||||
|
environment: '{{ .Values.globals.environment }}'
|
||||||
|
subdomain: '{{ .Values.subdomain }}'
|
||||||
|
destination:
|
||||||
|
host: '{{ .Release.Name }}.{{ .Release.Namespace }}.svc.cluster.local'
|
||||||
|
port:
|
||||||
|
number: 80
|
||||||
11
charts/apps/nocodb/templates/http-service.yaml
Normal file
11
charts/apps/nocodb/templates/http-service.yaml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
apiVersion: homelab.mortenolsen.pro/v1
|
||||||
|
kind: HttpService
|
||||||
|
metadata:
|
||||||
|
name: "{{ .Release.Name }}"
|
||||||
|
spec:
|
||||||
|
environment: "{{ .Values.globals.environment }}"
|
||||||
|
subdomain: "{{ .Values.subdomain }}"
|
||||||
|
destination:
|
||||||
|
host: "{{ .Release.Name }}"
|
||||||
|
port:
|
||||||
|
number: 80
|
||||||
11
charts/apps/nocodb/templates/pvc.yaml
Normal file
11
charts/apps/nocodb/templates/pvc.yaml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
kind: PersistentVolumeClaim
|
||||||
|
apiVersion: v1
|
||||||
|
metadata:
|
||||||
|
name: '{{ .Release.Name }}-data'
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- 'ReadWriteOnce'
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: '1Gi'
|
||||||
|
storageClassName: '{{ .Values.globals.environment }}'
|
||||||
15
charts/apps/nocodb/templates/service.yaml
Normal file
15
charts/apps/nocodb/templates/service.yaml
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: "{{ .Release.Name }}"
|
||||||
|
labels:
|
||||||
|
app: "{{ .Release.Name }}"
|
||||||
|
spec:
|
||||||
|
type: ClusterIP
|
||||||
|
ports:
|
||||||
|
- port: 80
|
||||||
|
targetPort: 8080
|
||||||
|
protocol: TCP
|
||||||
|
name: http
|
||||||
|
selector:
|
||||||
|
app: "{{ .Release.Name }}"
|
||||||
9
charts/apps/nocodb/values.yaml
Normal file
9
charts/apps/nocodb/values.yaml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
globals:
|
||||||
|
environment: prod
|
||||||
|
domain: olsen.cloud
|
||||||
|
timezone: Europe/Amsterdam
|
||||||
|
image:
|
||||||
|
repository: nocodb/nocodb
|
||||||
|
tag: latest@sha256:71d5b23640a9f5068bab26cf5b4c6a733709677a2c78664b132beaf24d766246
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
subdomain: nocodb
|
||||||
@@ -2,6 +2,6 @@ globals:
|
|||||||
environment: prod
|
environment: prod
|
||||||
image:
|
image:
|
||||||
repository: ollama/ollama
|
repository: ollama/ollama
|
||||||
tag: 0.11.8
|
tag: 0.12.1@sha256:5aed793ab336d1aac9b132f4b46fddfcfa13b8911def3d275937c8acbd1763e8
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
subdomain: openwebui
|
subdomain: openwebui
|
||||||
|
|||||||
@@ -2,6 +2,6 @@ globals:
|
|||||||
environment: prod
|
environment: prod
|
||||||
image:
|
image:
|
||||||
repository: ghcr.io/open-webui/open-webui
|
repository: ghcr.io/open-webui/open-webui
|
||||||
tag: main
|
tag: main@sha256:05aaa81eb4094038a16f0ae056342e3515d1912a30e41b828bfd3731fbe36a6c
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
subdomain: openwebui
|
subdomain: openwebui
|
||||||
|
|||||||
@@ -2,6 +2,6 @@ globals:
|
|||||||
environment: prod
|
environment: prod
|
||||||
image:
|
image:
|
||||||
repository: photoprism/photoprism
|
repository: photoprism/photoprism
|
||||||
tag: latest
|
tag: latest@sha256:2ba3a774ca1acc498096d7a5cb50df9cfecb7e3117a617d648093ff74eec2793
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
subdomain: photoprism
|
subdomain: photoprism
|
||||||
|
|||||||
@@ -4,6 +4,6 @@ globals:
|
|||||||
timezone: Europe/Amsterdam
|
timezone: Europe/Amsterdam
|
||||||
image:
|
image:
|
||||||
repository: codeberg.org/readeck/readeck
|
repository: codeberg.org/readeck/readeck
|
||||||
tag: latest
|
tag: latest@sha256:432cc2026f9dca3c33ce331f52c225287a2fa91a3c1dce8a4b0b7e9de4185c2f
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
subdomain: readeck
|
subdomain: readeck
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ globals:
|
|||||||
domain: olsen.cloud
|
domain: olsen.cloud
|
||||||
image:
|
image:
|
||||||
repository: bbernhard/signal-cli-rest-api
|
repository: bbernhard/signal-cli-rest-api
|
||||||
tag: latest
|
tag: latest@sha256:e4bc92213b2a4da10fc429d16ed1754e90c2c169f186efbb9ce5f04da5322771
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
subdomain: apprise
|
subdomain: apprise
|
||||||
mode: json-rpc
|
mode: json-rpc
|
||||||
@@ -36,6 +36,9 @@ data:
|
|||||||
},
|
},
|
||||||
"auth": {
|
"auth": {
|
||||||
"failDelay": 5,
|
"failDelay": 5,
|
||||||
|
"htpasswd": {
|
||||||
|
"path": "/etc/zot/htpasswd"
|
||||||
|
},
|
||||||
"openid": {
|
"openid": {
|
||||||
"providers": {
|
"providers": {
|
||||||
"oidc": {
|
"oidc": {
|
||||||
@@ -53,12 +56,22 @@ data:
|
|||||||
"actions": ["read", "create", "update", "delete"]
|
"actions": ["read", "create", "update", "delete"]
|
||||||
},
|
},
|
||||||
"repositories": {
|
"repositories": {
|
||||||
|
"public/**": {
|
||||||
|
"anonymousPolicy": ["read"],
|
||||||
|
"defaultPolicy": ["read"],
|
||||||
|
"policies": [
|
||||||
|
{
|
||||||
|
"users": ["*"],
|
||||||
|
"actions": ["create", "update", "delete"]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
"**": {
|
"**": {
|
||||||
"defaultPolicy": ["read"],
|
"defaultPolicy": ["read"],
|
||||||
"policies": [
|
"policies": [
|
||||||
{
|
{
|
||||||
"users": ["*"],
|
"users": ["*"],
|
||||||
"actions": ["push", "delete"]
|
"actions": ["create", "update", "delete"]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ metadata:
|
|||||||
app: "{{ .Release.Name }}"
|
app: "{{ .Release.Name }}"
|
||||||
spec:
|
spec:
|
||||||
replicas: 1
|
replicas: 1
|
||||||
|
strategy:
|
||||||
|
type: Recreate
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
app: "{{ .Release.Name }}"
|
app: "{{ .Release.Name }}"
|
||||||
@@ -14,8 +16,6 @@ spec:
|
|||||||
labels:
|
labels:
|
||||||
app: "{{ .Release.Name }}"
|
app: "{{ .Release.Name }}"
|
||||||
spec:
|
spec:
|
||||||
strategy:
|
|
||||||
type: Recreate
|
|
||||||
initContainers:
|
initContainers:
|
||||||
- name: render-config
|
- name: render-config
|
||||||
image: alpine:3.20
|
image: alpine:3.20
|
||||||
@@ -36,9 +36,14 @@ spec:
|
|||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: "{{ .Release.Name }}-client"
|
name: "{{ .Release.Name }}-client"
|
||||||
key: clientSecret
|
key: clientSecret
|
||||||
|
- name: PASSWORD
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: "{{ .Release.Name }}-cluster"
|
||||||
|
key: password
|
||||||
args:
|
args:
|
||||||
- |
|
- |
|
||||||
apk add --no-cache gettext >/dev/null
|
apk add --no-cache gettext apache2-utils >/dev/null
|
||||||
envsubst < /config-tpl/config.tpl.json > /config-out/config.json
|
envsubst < /config-tpl/config.tpl.json > /config-out/config.json
|
||||||
echo "Rendered /etc/zot/config.json"
|
echo "Rendered /etc/zot/config.json"
|
||||||
echo "---------------------------------------"
|
echo "---------------------------------------"
|
||||||
@@ -49,6 +54,7 @@ spec:
|
|||||||
echo "---------------------------------------"
|
echo "---------------------------------------"
|
||||||
cat /config-out/secrets.json
|
cat /config-out/secrets.json
|
||||||
echo "---------------------------------------"
|
echo "---------------------------------------"
|
||||||
|
htpasswd -nbB cluster "$PASSWORD" > /config-out/htpasswd
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: config-tpl
|
- name: config-tpl
|
||||||
mountPath: /config-tpl
|
mountPath: /config-tpl
|
||||||
|
|||||||
9
charts/apps/zot/templates/secret.yaml
Normal file
9
charts/apps/zot/templates/secret.yaml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
apiVersion: homelab.mortenolsen.pro/v1
|
||||||
|
kind: GenerateSecret
|
||||||
|
metadata:
|
||||||
|
name: "{{ .Release.Name }}-cluster"
|
||||||
|
spec:
|
||||||
|
fields:
|
||||||
|
- name: password
|
||||||
|
encoding: hex
|
||||||
|
length: 64
|
||||||
@@ -5,4 +5,4 @@ globals:
|
|||||||
subdomain: zot
|
subdomain: zot
|
||||||
image:
|
image:
|
||||||
repository: ghcr.io/project-zot/zot
|
repository: ghcr.io/project-zot/zot
|
||||||
tag: latest
|
tag: latest@sha256:cd2aea942f428630bcb4190542be6abd35e14177aab84fc7ccad0dca8ecb363d
|
||||||
@@ -4,7 +4,7 @@ globals:
|
|||||||
domain: olsen.cloud
|
domain: olsen.cloud
|
||||||
image:
|
image:
|
||||||
repository: garethgeorge/backrest
|
repository: garethgeorge/backrest
|
||||||
tag: latest
|
tag: latest@sha256:f8306faef0a3cbedc7daa55756f1d4c105d8c104aa773656bdad4fa8553dab5a
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
subdomain: restic
|
subdomain: restic
|
||||||
password:
|
password:
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ image:
|
|||||||
repository: ghcr.io/morten-olsen/homelab-operator
|
repository: ghcr.io/morten-olsen/homelab-operator
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
# Overrides the image tag whose default is the chart appVersion.
|
# Overrides the image tag whose default is the chart appVersion.
|
||||||
tag: main
|
tag: main@sha256:df20d7e4f48bd886cef63ab882de9c6df76b0b297724d1cdf3a79aba8de6f896
|
||||||
|
|
||||||
imagePullSecrets: []
|
imagePullSecrets: []
|
||||||
nameOverride: ''
|
nameOverride: ''
|
||||||
|
|||||||
83
helmfile.yaml.gotmpl
Normal file
83
helmfile.yaml.gotmpl
Normal file
@@ -0,0 +1,83 @@
|
|||||||
|
environments:
|
||||||
|
default: {}
|
||||||
|
---
|
||||||
|
|
||||||
|
releases:
|
||||||
|
- name: volumes
|
||||||
|
chart: charts/apps/volumes
|
||||||
|
namespace: prod
|
||||||
|
- name: audiobookshelf
|
||||||
|
chart: charts/apps/audiobookshelf
|
||||||
|
namespace: prod
|
||||||
|
- name: baikal
|
||||||
|
chart: charts/apps/baikal
|
||||||
|
namespace: prod
|
||||||
|
- name: bytestash
|
||||||
|
chart: charts/apps/bytestash
|
||||||
|
namespace: prod
|
||||||
|
- name: calibre-web
|
||||||
|
chart: charts/apps/calibre-web
|
||||||
|
namespace: prod
|
||||||
|
- name: coder
|
||||||
|
chart: charts/apps/coder
|
||||||
|
namespace: prod
|
||||||
|
- name: data
|
||||||
|
chart: charts/apps/data
|
||||||
|
namespace: prod
|
||||||
|
- name: esphome
|
||||||
|
chart: charts/apps/esphome
|
||||||
|
namespace: prod
|
||||||
|
- name: gitea
|
||||||
|
chart: charts/apps/gitea
|
||||||
|
namespace: prod
|
||||||
|
- name: homarr
|
||||||
|
chart: charts/apps/homarr
|
||||||
|
namespace: prod
|
||||||
|
- name: home-assistant
|
||||||
|
chart: charts/apps/home-assistant
|
||||||
|
namespace: prod
|
||||||
|
- name: jellyfin
|
||||||
|
chart: charts/apps/jellyfin
|
||||||
|
namespace: prod
|
||||||
|
- name: linkwarden
|
||||||
|
chart: charts/apps/linkwarden
|
||||||
|
namespace: prod
|
||||||
|
- name: mealie
|
||||||
|
chart: charts/apps/mealie
|
||||||
|
namespace: prod
|
||||||
|
- name: metamcp
|
||||||
|
chart: charts/apps/metamcp
|
||||||
|
namespace: prod
|
||||||
|
- name: miniflux
|
||||||
|
chart: charts/apps/miniflux
|
||||||
|
namespace: prod
|
||||||
|
- name: mqtt
|
||||||
|
chart: charts/apps/mqtt
|
||||||
|
namespace: prod
|
||||||
|
- name: music-assistant
|
||||||
|
chart: charts/apps/music-assistant
|
||||||
|
namespace: prod
|
||||||
|
- name: n8n
|
||||||
|
chart: charts/apps/n8n
|
||||||
|
namespace: prod
|
||||||
|
- name: nocodb
|
||||||
|
chart: charts/apps/nocodb
|
||||||
|
namespace: prod
|
||||||
|
- name: ollama
|
||||||
|
chart: charts/apps/ollama
|
||||||
|
namespace: prod
|
||||||
|
- name: openwebui
|
||||||
|
chart: charts/apps/openwebui
|
||||||
|
namespace: prod
|
||||||
|
- name: photoprism
|
||||||
|
chart: charts/apps/photoprism
|
||||||
|
namespace: prod
|
||||||
|
- name: readeck
|
||||||
|
chart: charts/apps/readeck
|
||||||
|
namespace: prod
|
||||||
|
- name: signal
|
||||||
|
chart: charts/apps/signal
|
||||||
|
namespace: prod
|
||||||
|
- name: zot
|
||||||
|
chart: charts/apps/zot
|
||||||
|
namespace: prod
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
FROM alpine/git:latest
|
FROM alpine/git:latest@sha256:bd54f921f6d803dfa3a4fe14b7defe36df1b71349a3e416547e333aa960f86e3
|
||||||
# or a more specific image like a Debian slim or Ubuntu base image.
|
# or a more specific image like a Debian slim or Ubuntu base image.
|
||||||
RUN apk add --no-cache restic fuse-overlayfs
|
RUN apk add --no-cache restic fuse-overlayfs
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
FROM node:23-slim
|
FROM node:23-slim@sha256:86191b94d2a163be41f3dc7fe5e5fcaca8ba2f1be7275d98a06343483c17414a
|
||||||
RUN corepack enable
|
RUN corepack enable
|
||||||
COPY package.json pnpm-lock.yaml ./
|
COPY package.json pnpm-lock.yaml ./
|
||||||
RUN pnpm install --frozen-lockfile --prod
|
RUN pnpm install --frozen-lockfile --prod
|
||||||
|
|||||||
@@ -5,15 +5,15 @@
|
|||||||
"private": true,
|
"private": true,
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@eslint/eslintrc": "3.3.1",
|
"@eslint/eslintrc": "3.3.1",
|
||||||
"@eslint/js": "9.32.0",
|
"@eslint/js": "9.36.0",
|
||||||
"@types/deep-equal": "^1.0.4",
|
"@types/deep-equal": "^1.0.4",
|
||||||
"eslint": "9.32.0",
|
"eslint": "9.36.0",
|
||||||
"eslint-config-prettier": "10.1.8",
|
"eslint-config-prettier": "10.1.8",
|
||||||
"eslint-plugin-import": "2.32.0",
|
"eslint-plugin-import": "2.32.0",
|
||||||
"eslint-plugin-prettier": "5.5.3",
|
"eslint-plugin-prettier": "5.5.4",
|
||||||
"json-schema-to-typescript": "^15.0.4",
|
"json-schema-to-typescript": "^15.0.4",
|
||||||
"prettier": "3.6.2",
|
"prettier": "3.6.2",
|
||||||
"typescript": "5.8.3",
|
"typescript": "5.9.2",
|
||||||
"typescript-eslint": "8.38.0"
|
"typescript-eslint": "8.38.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@goauthentik/api": "2025.6.3-1751754396",
|
"@goauthentik/api": "2025.6.3-1751754396",
|
||||||
"@kubernetes/client-node": "^1.3.0",
|
"@kubernetes/client-node": "^1.3.0",
|
||||||
"cloudflare": "^4.5.0",
|
"cloudflare": "^5.0.0",
|
||||||
"cron": "^4.3.3",
|
"cron": "^4.3.3",
|
||||||
"debounce": "^2.2.0",
|
"debounce": "^2.2.0",
|
||||||
"deep-equal": "^2.2.3",
|
"deep-equal": "^2.2.3",
|
||||||
@@ -31,7 +31,7 @@
|
|||||||
"execa": "^9.6.0",
|
"execa": "^9.6.0",
|
||||||
"knex": "^3.1.0",
|
"knex": "^3.1.0",
|
||||||
"p-queue": "^8.1.0",
|
"p-queue": "^8.1.0",
|
||||||
"p-retry": "^6.2.1",
|
"p-retry": "^7.0.0",
|
||||||
"pg": "^8.16.3",
|
"pg": "^8.16.3",
|
||||||
"sqlite3": "^5.1.7",
|
"sqlite3": "^5.1.7",
|
||||||
"yaml": "^2.8.0",
|
"yaml": "^2.8.0",
|
||||||
@@ -43,7 +43,7 @@
|
|||||||
"#bootstrap/*": "./src/bootstrap/*",
|
"#bootstrap/*": "./src/bootstrap/*",
|
||||||
"#utils/*": "./src/utils/*"
|
"#utils/*": "./src/utils/*"
|
||||||
},
|
},
|
||||||
"packageManager": "pnpm@10.6.0",
|
"packageManager": "pnpm@10.17.1",
|
||||||
"pnpm": {
|
"pnpm": {
|
||||||
"onlyBuiltDependencies": [
|
"onlyBuiltDependencies": [
|
||||||
"sqlite3"
|
"sqlite3"
|
||||||
|
|||||||
271
images/operator/pnpm-lock.yaml
generated
271
images/operator/pnpm-lock.yaml
generated
@@ -4,6 +4,11 @@ settings:
|
|||||||
autoInstallPeers: true
|
autoInstallPeers: true
|
||||||
excludeLinksFromLockfile: false
|
excludeLinksFromLockfile: false
|
||||||
|
|
||||||
|
patchedDependencies:
|
||||||
|
'@kubernetes/client-node':
|
||||||
|
hash: 0b0e5d32aa2930107c8c9b45df2639faf53fa12a389a551885d6e42d71f9429d
|
||||||
|
path: patches/@kubernetes__client-node.patch
|
||||||
|
|
||||||
importers:
|
importers:
|
||||||
|
|
||||||
.:
|
.:
|
||||||
@@ -13,10 +18,10 @@ importers:
|
|||||||
version: 2025.6.3-1751754396
|
version: 2025.6.3-1751754396
|
||||||
'@kubernetes/client-node':
|
'@kubernetes/client-node':
|
||||||
specifier: ^1.3.0
|
specifier: ^1.3.0
|
||||||
version: 1.3.0(encoding@0.1.13)
|
version: 1.3.0(patch_hash=0b0e5d32aa2930107c8c9b45df2639faf53fa12a389a551885d6e42d71f9429d)(encoding@0.1.13)
|
||||||
cloudflare:
|
cloudflare:
|
||||||
specifier: ^4.5.0
|
specifier: ^5.0.0
|
||||||
version: 4.5.0(encoding@0.1.13)
|
version: 5.1.0(encoding@0.1.13)
|
||||||
cron:
|
cron:
|
||||||
specifier: ^4.3.3
|
specifier: ^4.3.3
|
||||||
version: 4.3.3
|
version: 4.3.3
|
||||||
@@ -28,7 +33,7 @@ importers:
|
|||||||
version: 2.2.3
|
version: 2.2.3
|
||||||
dotenv:
|
dotenv:
|
||||||
specifier: ^17.2.1
|
specifier: ^17.2.1
|
||||||
version: 17.2.1
|
version: 17.2.2
|
||||||
eventemitter3:
|
eventemitter3:
|
||||||
specifier: ^5.0.1
|
specifier: ^5.0.1
|
||||||
version: 5.0.1
|
version: 5.0.1
|
||||||
@@ -40,10 +45,10 @@ importers:
|
|||||||
version: 3.1.0(pg@8.16.3)(sqlite3@5.1.7)
|
version: 3.1.0(pg@8.16.3)(sqlite3@5.1.7)
|
||||||
p-queue:
|
p-queue:
|
||||||
specifier: ^8.1.0
|
specifier: ^8.1.0
|
||||||
version: 8.1.0
|
version: 8.1.1
|
||||||
p-retry:
|
p-retry:
|
||||||
specifier: ^6.2.1
|
specifier: ^7.0.0
|
||||||
version: 6.2.1
|
version: 7.0.0
|
||||||
pg:
|
pg:
|
||||||
specifier: ^8.16.3
|
specifier: ^8.16.3
|
||||||
version: 8.16.3
|
version: 8.16.3
|
||||||
@@ -52,32 +57,32 @@ importers:
|
|||||||
version: 5.1.7
|
version: 5.1.7
|
||||||
yaml:
|
yaml:
|
||||||
specifier: ^2.8.0
|
specifier: ^2.8.0
|
||||||
version: 2.8.0
|
version: 2.8.1
|
||||||
zod:
|
zod:
|
||||||
specifier: ^4.0.14
|
specifier: ^4.0.14
|
||||||
version: 4.0.14
|
version: 4.1.11
|
||||||
devDependencies:
|
devDependencies:
|
||||||
'@eslint/eslintrc':
|
'@eslint/eslintrc':
|
||||||
specifier: 3.3.1
|
specifier: 3.3.1
|
||||||
version: 3.3.1
|
version: 3.3.1
|
||||||
'@eslint/js':
|
'@eslint/js':
|
||||||
specifier: 9.32.0
|
specifier: 9.36.0
|
||||||
version: 9.32.0
|
version: 9.36.0
|
||||||
'@types/deep-equal':
|
'@types/deep-equal':
|
||||||
specifier: ^1.0.4
|
specifier: ^1.0.4
|
||||||
version: 1.0.4
|
version: 1.0.4
|
||||||
eslint:
|
eslint:
|
||||||
specifier: 9.32.0
|
specifier: 9.36.0
|
||||||
version: 9.32.0
|
version: 9.36.0
|
||||||
eslint-config-prettier:
|
eslint-config-prettier:
|
||||||
specifier: 10.1.8
|
specifier: 10.1.8
|
||||||
version: 10.1.8(eslint@9.32.0)
|
version: 10.1.8(eslint@9.36.0)
|
||||||
eslint-plugin-import:
|
eslint-plugin-import:
|
||||||
specifier: 2.32.0
|
specifier: 2.32.0
|
||||||
version: 2.32.0(@typescript-eslint/parser@8.38.0(eslint@9.32.0)(typescript@5.8.3))(eslint@9.32.0)
|
version: 2.32.0(@typescript-eslint/parser@8.38.0(eslint@9.36.0)(typescript@5.9.2))(eslint@9.36.0)
|
||||||
eslint-plugin-prettier:
|
eslint-plugin-prettier:
|
||||||
specifier: 5.5.3
|
specifier: 5.5.4
|
||||||
version: 5.5.3(eslint-config-prettier@10.1.8(eslint@9.32.0))(eslint@9.32.0)(prettier@3.6.2)
|
version: 5.5.4(eslint-config-prettier@10.1.8(eslint@9.36.0))(eslint@9.36.0)(prettier@3.6.2)
|
||||||
json-schema-to-typescript:
|
json-schema-to-typescript:
|
||||||
specifier: ^15.0.4
|
specifier: ^15.0.4
|
||||||
version: 15.0.4
|
version: 15.0.4
|
||||||
@@ -85,11 +90,11 @@ importers:
|
|||||||
specifier: 3.6.2
|
specifier: 3.6.2
|
||||||
version: 3.6.2
|
version: 3.6.2
|
||||||
typescript:
|
typescript:
|
||||||
specifier: 5.8.3
|
specifier: 5.9.2
|
||||||
version: 5.8.3
|
version: 5.9.2
|
||||||
typescript-eslint:
|
typescript-eslint:
|
||||||
specifier: 8.38.0
|
specifier: 8.38.0
|
||||||
version: 8.38.0(eslint@9.32.0)(typescript@5.8.3)
|
version: 8.38.0(eslint@9.36.0)(typescript@5.9.2)
|
||||||
|
|
||||||
packages:
|
packages:
|
||||||
|
|
||||||
@@ -103,6 +108,12 @@ packages:
|
|||||||
peerDependencies:
|
peerDependencies:
|
||||||
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
|
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
|
||||||
|
|
||||||
|
'@eslint-community/eslint-utils@4.9.0':
|
||||||
|
resolution: {integrity: sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==}
|
||||||
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
|
peerDependencies:
|
||||||
|
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
|
||||||
|
|
||||||
'@eslint-community/regexpp@4.12.1':
|
'@eslint-community/regexpp@4.12.1':
|
||||||
resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==}
|
resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==}
|
||||||
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
|
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
|
||||||
@@ -111,28 +122,28 @@ packages:
|
|||||||
resolution: {integrity: sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==}
|
resolution: {integrity: sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==}
|
||||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||||
|
|
||||||
'@eslint/config-helpers@0.3.0':
|
'@eslint/config-helpers@0.3.1':
|
||||||
resolution: {integrity: sha512-ViuymvFmcJi04qdZeDc2whTHryouGcDlaxPqarTD0ZE10ISpxGUVZGZDx4w01upyIynL3iu6IXH2bS1NhclQMw==}
|
resolution: {integrity: sha512-xR93k9WhrDYpXHORXpxVL5oHj3Era7wo6k/Wd8/IsQNnZUTzkGS29lyn3nAT05v6ltUuTFVCCYDEGfy2Or/sPA==}
|
||||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||||
|
|
||||||
'@eslint/core@0.15.1':
|
'@eslint/core@0.15.2':
|
||||||
resolution: {integrity: sha512-bkOp+iumZCCbt1K1CmWf0R9pM5yKpDv+ZXtvSyQpudrI9kuFLp+bM2WOPXImuD/ceQuaa8f5pj93Y7zyECIGNA==}
|
resolution: {integrity: sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==}
|
||||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||||
|
|
||||||
'@eslint/eslintrc@3.3.1':
|
'@eslint/eslintrc@3.3.1':
|
||||||
resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==}
|
resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==}
|
||||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||||
|
|
||||||
'@eslint/js@9.32.0':
|
'@eslint/js@9.36.0':
|
||||||
resolution: {integrity: sha512-BBpRFZK3eX6uMLKz8WxFOBIFFcGFJ/g8XuwjTHCqHROSIsopI+ddn/d5Cfh36+7+e5edVS8dbSHnBNhrLEX0zg==}
|
resolution: {integrity: sha512-uhCbYtYynH30iZErszX78U+nR3pJU3RHGQ57NXy5QupD4SBVwDeU8TNBy+MjMngc1UyIW9noKqsRqfjQTBU2dw==}
|
||||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||||
|
|
||||||
'@eslint/object-schema@2.1.6':
|
'@eslint/object-schema@2.1.6':
|
||||||
resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==}
|
resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==}
|
||||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||||
|
|
||||||
'@eslint/plugin-kit@0.3.4':
|
'@eslint/plugin-kit@0.3.5':
|
||||||
resolution: {integrity: sha512-Ul5l+lHEcw3L5+k8POx6r74mxEYKG5kOb6Xpy2gCRW6zweT6TEhAf8vhxGgjhqrd/VO/Dirhsb+1hNpD1ue9hw==}
|
resolution: {integrity: sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==}
|
||||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||||
|
|
||||||
'@gar/promisify@1.1.3':
|
'@gar/promisify@1.1.3':
|
||||||
@@ -247,9 +258,6 @@ packages:
|
|||||||
'@types/node@22.16.5':
|
'@types/node@22.16.5':
|
||||||
resolution: {integrity: sha512-bJFoMATwIGaxxx8VJPeM8TonI8t579oRvgAuT8zFugJsJZgzqv0Fu8Mhp68iecjzG7cnN3mO2dJQ5uUM2EFrgQ==}
|
resolution: {integrity: sha512-bJFoMATwIGaxxx8VJPeM8TonI8t579oRvgAuT8zFugJsJZgzqv0Fu8Mhp68iecjzG7cnN3mO2dJQ5uUM2EFrgQ==}
|
||||||
|
|
||||||
'@types/retry@0.12.2':
|
|
||||||
resolution: {integrity: sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==}
|
|
||||||
|
|
||||||
'@types/stream-buffers@3.0.7':
|
'@types/stream-buffers@3.0.7':
|
||||||
resolution: {integrity: sha512-azOCy05sXVXrO+qklf0c/B07H/oHaIuDDAiHPVwlk3A9Ek+ksHyTeMajLZl3r76FxpPpxem//4Te61G1iW3Giw==}
|
resolution: {integrity: sha512-azOCy05sXVXrO+qklf0c/B07H/oHaIuDDAiHPVwlk3A9Ek+ksHyTeMajLZl3r76FxpPpxem//4Te61G1iW3Giw==}
|
||||||
|
|
||||||
@@ -495,8 +503,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==}
|
resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==}
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
|
|
||||||
cloudflare@4.5.0:
|
cloudflare@5.1.0:
|
||||||
resolution: {integrity: sha512-fPcbPKx4zF45jBvQ0z7PCdgejVAPBBCZxwqk1k7krQNfpM07Cfj97/Q6wBzvYqlWXx/zt1S9+m8vnfCe06umbQ==}
|
resolution: {integrity: sha512-J2vT90WHio8VSbGUmuHckJr9pabH6N+nQKQsgjfwydgV2bgyQoV/KqWw1Df+YKZ5T/QqP7KadKr4bxh+WiRafg==}
|
||||||
|
|
||||||
color-convert@2.0.1:
|
color-convert@2.0.1:
|
||||||
resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
|
resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
|
||||||
@@ -614,8 +622,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
|
resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
|
|
||||||
dotenv@17.2.1:
|
dotenv@17.2.2:
|
||||||
resolution: {integrity: sha512-kQhDYKZecqnM0fCnzI5eIv5L4cAe/iRI+HqMbO/hbRdTAeXDG+M9FjipUxNfbARuEg4iHIbhnhs78BCHNbSxEQ==}
|
resolution: {integrity: sha512-Sf2LSQP+bOlhKWWyhFsn0UsfdK/kCWRv1iuA2gXAwt3dyNabr6QSj00I2V10pidqz69soatm9ZwZvpQMTIOd5Q==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
|
|
||||||
dunder-proto@1.0.1:
|
dunder-proto@1.0.1:
|
||||||
@@ -717,8 +725,8 @@ packages:
|
|||||||
'@typescript-eslint/parser':
|
'@typescript-eslint/parser':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
eslint-plugin-prettier@5.5.3:
|
eslint-plugin-prettier@5.5.4:
|
||||||
resolution: {integrity: sha512-NAdMYww51ehKfDyDhv59/eIItUVzU0Io9H2E8nHNGKEeeqlnci+1gCvrHib6EmZdf6GxF+LCV5K7UC65Ezvw7w==}
|
resolution: {integrity: sha512-swNtI95SToIz05YINMA6Ox5R057IMAmWZ26GqPxusAp1TZzj+IdY9tXNWWD3vkF/wEqydCONcwjTFpxybBqZsg==}
|
||||||
engines: {node: ^14.18.0 || >=16.0.0}
|
engines: {node: ^14.18.0 || >=16.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@types/eslint': '>=8.0.0'
|
'@types/eslint': '>=8.0.0'
|
||||||
@@ -743,8 +751,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==}
|
resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==}
|
||||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||||
|
|
||||||
eslint@9.32.0:
|
eslint@9.36.0:
|
||||||
resolution: {integrity: sha512-LSehfdpgMeWcTZkWZVIJl+tkZ2nuSkyyB9C27MZqFWXuph7DvaowgcTvKqxvpLW1JZIk8PN7hFY3Rj9LQ7m7lg==}
|
resolution: {integrity: sha512-hB4FIzXovouYzwzECDcUkJ4OcfOEkXTv2zRY6B9bkwjx/cprAq0uvm1nl7zvQ0/TsUk0zQiN4uPfJpB9m+rPMQ==}
|
||||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@@ -1467,13 +1475,13 @@ packages:
|
|||||||
resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==}
|
resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==}
|
||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
|
|
||||||
p-queue@8.1.0:
|
p-queue@8.1.1:
|
||||||
resolution: {integrity: sha512-mxLDbbGIBEXTJL0zEx8JIylaj3xQ7Z/7eEVjcF9fJX4DBiH9oqe+oahYnlKKxm0Ci9TlWTyhSHgygxMxjIB2jw==}
|
resolution: {integrity: sha512-aNZ+VfjobsWryoiPnEApGGmf5WmNsCo9xu8dfaYamG5qaLP7ClhLN6NgsFe6SwJ2UbLEBK5dv9x8Mn5+RVhMWQ==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
|
|
||||||
p-retry@6.2.1:
|
p-retry@7.0.0:
|
||||||
resolution: {integrity: sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==}
|
resolution: {integrity: sha512-3BgO9rjULJYyr0Y0pcsG7FZ+7JB/hfOODO8kx9ppumiO5jprUF92WK/Y7Q0xppZtq4VhTcPiVq7qWLQfIV5aKQ==}
|
||||||
engines: {node: '>=16.17'}
|
engines: {node: '>=20'}
|
||||||
|
|
||||||
p-timeout@6.1.4:
|
p-timeout@6.1.4:
|
||||||
resolution: {integrity: sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==}
|
resolution: {integrity: sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==}
|
||||||
@@ -1652,10 +1660,6 @@ packages:
|
|||||||
resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==}
|
resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==}
|
||||||
engines: {node: '>= 4'}
|
engines: {node: '>= 4'}
|
||||||
|
|
||||||
retry@0.13.1:
|
|
||||||
resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==}
|
|
||||||
engines: {node: '>= 4'}
|
|
||||||
|
|
||||||
reusify@1.1.0:
|
reusify@1.1.0:
|
||||||
resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==}
|
resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==}
|
||||||
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
|
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
|
||||||
@@ -1920,8 +1924,8 @@ packages:
|
|||||||
eslint: ^8.57.0 || ^9.0.0
|
eslint: ^8.57.0 || ^9.0.0
|
||||||
typescript: '>=4.8.4 <5.9.0'
|
typescript: '>=4.8.4 <5.9.0'
|
||||||
|
|
||||||
typescript@5.8.3:
|
typescript@5.9.2:
|
||||||
resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==}
|
resolution: {integrity: sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==}
|
||||||
engines: {node: '>=14.17'}
|
engines: {node: '>=14.17'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
@@ -2011,8 +2015,8 @@ packages:
|
|||||||
yallist@4.0.0:
|
yallist@4.0.0:
|
||||||
resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
|
resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
|
||||||
|
|
||||||
yaml@2.8.0:
|
yaml@2.8.1:
|
||||||
resolution: {integrity: sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==}
|
resolution: {integrity: sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==}
|
||||||
engines: {node: '>= 14.6'}
|
engines: {node: '>= 14.6'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
@@ -2024,8 +2028,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==}
|
resolution: {integrity: sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
|
|
||||||
zod@4.0.14:
|
zod@4.1.11:
|
||||||
resolution: {integrity: sha512-nGFJTnJN6cM2v9kXL+SOBq3AtjQby3Mv5ySGFof5UGRHrRioSJ5iG680cYNjE/yWk671nROcpPj4hAS8nyLhSw==}
|
resolution: {integrity: sha512-WPsqwxITS2tzx1bzhIKsEs19ABD5vmCVa4xBo2tq/SrV4RNZtfws1EnCWQXM6yh8bD08a1idvkB5MZSBiZsjwg==}
|
||||||
|
|
||||||
snapshots:
|
snapshots:
|
||||||
|
|
||||||
@@ -2035,9 +2039,14 @@ snapshots:
|
|||||||
'@types/json-schema': 7.0.15
|
'@types/json-schema': 7.0.15
|
||||||
js-yaml: 4.1.0
|
js-yaml: 4.1.0
|
||||||
|
|
||||||
'@eslint-community/eslint-utils@4.7.0(eslint@9.32.0)':
|
'@eslint-community/eslint-utils@4.7.0(eslint@9.36.0)':
|
||||||
dependencies:
|
dependencies:
|
||||||
eslint: 9.32.0
|
eslint: 9.36.0
|
||||||
|
eslint-visitor-keys: 3.4.3
|
||||||
|
|
||||||
|
'@eslint-community/eslint-utils@4.9.0(eslint@9.36.0)':
|
||||||
|
dependencies:
|
||||||
|
eslint: 9.36.0
|
||||||
eslint-visitor-keys: 3.4.3
|
eslint-visitor-keys: 3.4.3
|
||||||
|
|
||||||
'@eslint-community/regexpp@4.12.1': {}
|
'@eslint-community/regexpp@4.12.1': {}
|
||||||
@@ -2050,9 +2059,9 @@ snapshots:
|
|||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
'@eslint/config-helpers@0.3.0': {}
|
'@eslint/config-helpers@0.3.1': {}
|
||||||
|
|
||||||
'@eslint/core@0.15.1':
|
'@eslint/core@0.15.2':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/json-schema': 7.0.15
|
'@types/json-schema': 7.0.15
|
||||||
|
|
||||||
@@ -2070,13 +2079,13 @@ snapshots:
|
|||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
'@eslint/js@9.32.0': {}
|
'@eslint/js@9.36.0': {}
|
||||||
|
|
||||||
'@eslint/object-schema@2.1.6': {}
|
'@eslint/object-schema@2.1.6': {}
|
||||||
|
|
||||||
'@eslint/plugin-kit@0.3.4':
|
'@eslint/plugin-kit@0.3.5':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@eslint/core': 0.15.1
|
'@eslint/core': 0.15.2
|
||||||
levn: 0.4.1
|
levn: 0.4.1
|
||||||
|
|
||||||
'@gar/promisify@1.1.3':
|
'@gar/promisify@1.1.3':
|
||||||
@@ -2107,7 +2116,7 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
jsep: 1.4.0
|
jsep: 1.4.0
|
||||||
|
|
||||||
'@kubernetes/client-node@1.3.0(encoding@0.1.13)':
|
'@kubernetes/client-node@1.3.0(patch_hash=0b0e5d32aa2930107c8c9b45df2639faf53fa12a389a551885d6e42d71f9429d)(encoding@0.1.13)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/js-yaml': 4.0.9
|
'@types/js-yaml': 4.0.9
|
||||||
'@types/node': 22.16.5
|
'@types/node': 22.16.5
|
||||||
@@ -2194,47 +2203,45 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
undici-types: 6.21.0
|
undici-types: 6.21.0
|
||||||
|
|
||||||
'@types/retry@0.12.2': {}
|
|
||||||
|
|
||||||
'@types/stream-buffers@3.0.7':
|
'@types/stream-buffers@3.0.7':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/node': 22.16.5
|
'@types/node': 22.16.5
|
||||||
|
|
||||||
'@typescript-eslint/eslint-plugin@8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.32.0)(typescript@5.8.3))(eslint@9.32.0)(typescript@5.8.3)':
|
'@typescript-eslint/eslint-plugin@8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.36.0)(typescript@5.9.2))(eslint@9.36.0)(typescript@5.9.2)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@eslint-community/regexpp': 4.12.1
|
'@eslint-community/regexpp': 4.12.1
|
||||||
'@typescript-eslint/parser': 8.38.0(eslint@9.32.0)(typescript@5.8.3)
|
'@typescript-eslint/parser': 8.38.0(eslint@9.36.0)(typescript@5.9.2)
|
||||||
'@typescript-eslint/scope-manager': 8.38.0
|
'@typescript-eslint/scope-manager': 8.38.0
|
||||||
'@typescript-eslint/type-utils': 8.38.0(eslint@9.32.0)(typescript@5.8.3)
|
'@typescript-eslint/type-utils': 8.38.0(eslint@9.36.0)(typescript@5.9.2)
|
||||||
'@typescript-eslint/utils': 8.38.0(eslint@9.32.0)(typescript@5.8.3)
|
'@typescript-eslint/utils': 8.38.0(eslint@9.36.0)(typescript@5.9.2)
|
||||||
'@typescript-eslint/visitor-keys': 8.38.0
|
'@typescript-eslint/visitor-keys': 8.38.0
|
||||||
eslint: 9.32.0
|
eslint: 9.36.0
|
||||||
graphemer: 1.4.0
|
graphemer: 1.4.0
|
||||||
ignore: 7.0.5
|
ignore: 7.0.5
|
||||||
natural-compare: 1.4.0
|
natural-compare: 1.4.0
|
||||||
ts-api-utils: 2.1.0(typescript@5.8.3)
|
ts-api-utils: 2.1.0(typescript@5.9.2)
|
||||||
typescript: 5.8.3
|
typescript: 5.9.2
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
'@typescript-eslint/parser@8.38.0(eslint@9.32.0)(typescript@5.8.3)':
|
'@typescript-eslint/parser@8.38.0(eslint@9.36.0)(typescript@5.9.2)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/scope-manager': 8.38.0
|
'@typescript-eslint/scope-manager': 8.38.0
|
||||||
'@typescript-eslint/types': 8.38.0
|
'@typescript-eslint/types': 8.38.0
|
||||||
'@typescript-eslint/typescript-estree': 8.38.0(typescript@5.8.3)
|
'@typescript-eslint/typescript-estree': 8.38.0(typescript@5.9.2)
|
||||||
'@typescript-eslint/visitor-keys': 8.38.0
|
'@typescript-eslint/visitor-keys': 8.38.0
|
||||||
debug: 4.4.1
|
debug: 4.4.1
|
||||||
eslint: 9.32.0
|
eslint: 9.36.0
|
||||||
typescript: 5.8.3
|
typescript: 5.9.2
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
'@typescript-eslint/project-service@8.38.0(typescript@5.8.3)':
|
'@typescript-eslint/project-service@8.38.0(typescript@5.9.2)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/tsconfig-utils': 8.38.0(typescript@5.8.3)
|
'@typescript-eslint/tsconfig-utils': 8.38.0(typescript@5.9.2)
|
||||||
'@typescript-eslint/types': 8.38.0
|
'@typescript-eslint/types': 8.38.0
|
||||||
debug: 4.4.1
|
debug: 4.4.1
|
||||||
typescript: 5.8.3
|
typescript: 5.9.2
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
@@ -2243,28 +2250,28 @@ snapshots:
|
|||||||
'@typescript-eslint/types': 8.38.0
|
'@typescript-eslint/types': 8.38.0
|
||||||
'@typescript-eslint/visitor-keys': 8.38.0
|
'@typescript-eslint/visitor-keys': 8.38.0
|
||||||
|
|
||||||
'@typescript-eslint/tsconfig-utils@8.38.0(typescript@5.8.3)':
|
'@typescript-eslint/tsconfig-utils@8.38.0(typescript@5.9.2)':
|
||||||
dependencies:
|
dependencies:
|
||||||
typescript: 5.8.3
|
typescript: 5.9.2
|
||||||
|
|
||||||
'@typescript-eslint/type-utils@8.38.0(eslint@9.32.0)(typescript@5.8.3)':
|
'@typescript-eslint/type-utils@8.38.0(eslint@9.36.0)(typescript@5.9.2)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/types': 8.38.0
|
'@typescript-eslint/types': 8.38.0
|
||||||
'@typescript-eslint/typescript-estree': 8.38.0(typescript@5.8.3)
|
'@typescript-eslint/typescript-estree': 8.38.0(typescript@5.9.2)
|
||||||
'@typescript-eslint/utils': 8.38.0(eslint@9.32.0)(typescript@5.8.3)
|
'@typescript-eslint/utils': 8.38.0(eslint@9.36.0)(typescript@5.9.2)
|
||||||
debug: 4.4.1
|
debug: 4.4.1
|
||||||
eslint: 9.32.0
|
eslint: 9.36.0
|
||||||
ts-api-utils: 2.1.0(typescript@5.8.3)
|
ts-api-utils: 2.1.0(typescript@5.9.2)
|
||||||
typescript: 5.8.3
|
typescript: 5.9.2
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
'@typescript-eslint/types@8.38.0': {}
|
'@typescript-eslint/types@8.38.0': {}
|
||||||
|
|
||||||
'@typescript-eslint/typescript-estree@8.38.0(typescript@5.8.3)':
|
'@typescript-eslint/typescript-estree@8.38.0(typescript@5.9.2)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/project-service': 8.38.0(typescript@5.8.3)
|
'@typescript-eslint/project-service': 8.38.0(typescript@5.9.2)
|
||||||
'@typescript-eslint/tsconfig-utils': 8.38.0(typescript@5.8.3)
|
'@typescript-eslint/tsconfig-utils': 8.38.0(typescript@5.9.2)
|
||||||
'@typescript-eslint/types': 8.38.0
|
'@typescript-eslint/types': 8.38.0
|
||||||
'@typescript-eslint/visitor-keys': 8.38.0
|
'@typescript-eslint/visitor-keys': 8.38.0
|
||||||
debug: 4.4.1
|
debug: 4.4.1
|
||||||
@@ -2272,19 +2279,19 @@ snapshots:
|
|||||||
is-glob: 4.0.3
|
is-glob: 4.0.3
|
||||||
minimatch: 9.0.5
|
minimatch: 9.0.5
|
||||||
semver: 7.7.2
|
semver: 7.7.2
|
||||||
ts-api-utils: 2.1.0(typescript@5.8.3)
|
ts-api-utils: 2.1.0(typescript@5.9.2)
|
||||||
typescript: 5.8.3
|
typescript: 5.9.2
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
'@typescript-eslint/utils@8.38.0(eslint@9.32.0)(typescript@5.8.3)':
|
'@typescript-eslint/utils@8.38.0(eslint@9.36.0)(typescript@5.9.2)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@eslint-community/eslint-utils': 4.7.0(eslint@9.32.0)
|
'@eslint-community/eslint-utils': 4.7.0(eslint@9.36.0)
|
||||||
'@typescript-eslint/scope-manager': 8.38.0
|
'@typescript-eslint/scope-manager': 8.38.0
|
||||||
'@typescript-eslint/types': 8.38.0
|
'@typescript-eslint/types': 8.38.0
|
||||||
'@typescript-eslint/typescript-estree': 8.38.0(typescript@5.8.3)
|
'@typescript-eslint/typescript-estree': 8.38.0(typescript@5.9.2)
|
||||||
eslint: 9.32.0
|
eslint: 9.36.0
|
||||||
typescript: 5.8.3
|
typescript: 5.9.2
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
@@ -2522,7 +2529,7 @@ snapshots:
|
|||||||
clean-stack@2.2.0:
|
clean-stack@2.2.0:
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
cloudflare@4.5.0(encoding@0.1.13):
|
cloudflare@5.1.0(encoding@0.1.13):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/node': 18.19.123
|
'@types/node': 18.19.123
|
||||||
'@types/node-fetch': 2.6.12
|
'@types/node-fetch': 2.6.12
|
||||||
@@ -2651,7 +2658,7 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
esutils: 2.0.3
|
esutils: 2.0.3
|
||||||
|
|
||||||
dotenv@17.2.1: {}
|
dotenv@17.2.2: {}
|
||||||
|
|
||||||
dunder-proto@1.0.1:
|
dunder-proto@1.0.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -2775,9 +2782,9 @@ snapshots:
|
|||||||
|
|
||||||
escape-string-regexp@4.0.0: {}
|
escape-string-regexp@4.0.0: {}
|
||||||
|
|
||||||
eslint-config-prettier@10.1.8(eslint@9.32.0):
|
eslint-config-prettier@10.1.8(eslint@9.36.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
eslint: 9.32.0
|
eslint: 9.36.0
|
||||||
|
|
||||||
eslint-import-resolver-node@0.3.9:
|
eslint-import-resolver-node@0.3.9:
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -2787,17 +2794,17 @@ snapshots:
|
|||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
eslint-module-utils@2.12.1(@typescript-eslint/parser@8.38.0(eslint@9.32.0)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint@9.32.0):
|
eslint-module-utils@2.12.1(@typescript-eslint/parser@8.38.0(eslint@9.36.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint@9.36.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
debug: 3.2.7
|
debug: 3.2.7
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@typescript-eslint/parser': 8.38.0(eslint@9.32.0)(typescript@5.8.3)
|
'@typescript-eslint/parser': 8.38.0(eslint@9.36.0)(typescript@5.9.2)
|
||||||
eslint: 9.32.0
|
eslint: 9.36.0
|
||||||
eslint-import-resolver-node: 0.3.9
|
eslint-import-resolver-node: 0.3.9
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.38.0(eslint@9.32.0)(typescript@5.8.3))(eslint@9.32.0):
|
eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.38.0(eslint@9.36.0)(typescript@5.9.2))(eslint@9.36.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@rtsao/scc': 1.1.0
|
'@rtsao/scc': 1.1.0
|
||||||
array-includes: 3.1.9
|
array-includes: 3.1.9
|
||||||
@@ -2806,9 +2813,9 @@ snapshots:
|
|||||||
array.prototype.flatmap: 1.3.3
|
array.prototype.flatmap: 1.3.3
|
||||||
debug: 3.2.7
|
debug: 3.2.7
|
||||||
doctrine: 2.1.0
|
doctrine: 2.1.0
|
||||||
eslint: 9.32.0
|
eslint: 9.36.0
|
||||||
eslint-import-resolver-node: 0.3.9
|
eslint-import-resolver-node: 0.3.9
|
||||||
eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.38.0(eslint@9.32.0)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint@9.32.0)
|
eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.38.0(eslint@9.36.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint@9.36.0)
|
||||||
hasown: 2.0.2
|
hasown: 2.0.2
|
||||||
is-core-module: 2.16.1
|
is-core-module: 2.16.1
|
||||||
is-glob: 4.0.3
|
is-glob: 4.0.3
|
||||||
@@ -2820,20 +2827,20 @@ snapshots:
|
|||||||
string.prototype.trimend: 1.0.9
|
string.prototype.trimend: 1.0.9
|
||||||
tsconfig-paths: 3.15.0
|
tsconfig-paths: 3.15.0
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@typescript-eslint/parser': 8.38.0(eslint@9.32.0)(typescript@5.8.3)
|
'@typescript-eslint/parser': 8.38.0(eslint@9.36.0)(typescript@5.9.2)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- eslint-import-resolver-typescript
|
- eslint-import-resolver-typescript
|
||||||
- eslint-import-resolver-webpack
|
- eslint-import-resolver-webpack
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
eslint-plugin-prettier@5.5.3(eslint-config-prettier@10.1.8(eslint@9.32.0))(eslint@9.32.0)(prettier@3.6.2):
|
eslint-plugin-prettier@5.5.4(eslint-config-prettier@10.1.8(eslint@9.36.0))(eslint@9.36.0)(prettier@3.6.2):
|
||||||
dependencies:
|
dependencies:
|
||||||
eslint: 9.32.0
|
eslint: 9.36.0
|
||||||
prettier: 3.6.2
|
prettier: 3.6.2
|
||||||
prettier-linter-helpers: 1.0.0
|
prettier-linter-helpers: 1.0.0
|
||||||
synckit: 0.11.11
|
synckit: 0.11.11
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
eslint-config-prettier: 10.1.8(eslint@9.32.0)
|
eslint-config-prettier: 10.1.8(eslint@9.36.0)
|
||||||
|
|
||||||
eslint-scope@8.4.0:
|
eslint-scope@8.4.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -2844,16 +2851,16 @@ snapshots:
|
|||||||
|
|
||||||
eslint-visitor-keys@4.2.1: {}
|
eslint-visitor-keys@4.2.1: {}
|
||||||
|
|
||||||
eslint@9.32.0:
|
eslint@9.36.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@eslint-community/eslint-utils': 4.7.0(eslint@9.32.0)
|
'@eslint-community/eslint-utils': 4.9.0(eslint@9.36.0)
|
||||||
'@eslint-community/regexpp': 4.12.1
|
'@eslint-community/regexpp': 4.12.1
|
||||||
'@eslint/config-array': 0.21.0
|
'@eslint/config-array': 0.21.0
|
||||||
'@eslint/config-helpers': 0.3.0
|
'@eslint/config-helpers': 0.3.1
|
||||||
'@eslint/core': 0.15.1
|
'@eslint/core': 0.15.2
|
||||||
'@eslint/eslintrc': 3.3.1
|
'@eslint/eslintrc': 3.3.1
|
||||||
'@eslint/js': 9.32.0
|
'@eslint/js': 9.36.0
|
||||||
'@eslint/plugin-kit': 0.3.4
|
'@eslint/plugin-kit': 0.3.5
|
||||||
'@humanfs/node': 0.16.6
|
'@humanfs/node': 0.16.6
|
||||||
'@humanwhocodes/module-importer': 1.0.1
|
'@humanwhocodes/module-importer': 1.0.1
|
||||||
'@humanwhocodes/retry': 0.4.3
|
'@humanwhocodes/retry': 0.4.3
|
||||||
@@ -3646,16 +3653,14 @@ snapshots:
|
|||||||
aggregate-error: 3.1.0
|
aggregate-error: 3.1.0
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
p-queue@8.1.0:
|
p-queue@8.1.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
eventemitter3: 5.0.1
|
eventemitter3: 5.0.1
|
||||||
p-timeout: 6.1.4
|
p-timeout: 6.1.4
|
||||||
|
|
||||||
p-retry@6.2.1:
|
p-retry@7.0.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/retry': 0.12.2
|
|
||||||
is-network-error: 1.1.0
|
is-network-error: 1.1.0
|
||||||
retry: 0.13.1
|
|
||||||
|
|
||||||
p-timeout@6.1.4: {}
|
p-timeout@6.1.4: {}
|
||||||
|
|
||||||
@@ -3824,8 +3829,6 @@ snapshots:
|
|||||||
retry@0.12.0:
|
retry@0.12.0:
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
retry@0.13.1: {}
|
|
||||||
|
|
||||||
reusify@1.1.0: {}
|
reusify@1.1.0: {}
|
||||||
|
|
||||||
rfc4648@1.5.4: {}
|
rfc4648@1.5.4: {}
|
||||||
@@ -4114,9 +4117,9 @@ snapshots:
|
|||||||
|
|
||||||
tr46@0.0.3: {}
|
tr46@0.0.3: {}
|
||||||
|
|
||||||
ts-api-utils@2.1.0(typescript@5.8.3):
|
ts-api-utils@2.1.0(typescript@5.9.2):
|
||||||
dependencies:
|
dependencies:
|
||||||
typescript: 5.8.3
|
typescript: 5.9.2
|
||||||
|
|
||||||
tsconfig-paths@3.15.0:
|
tsconfig-paths@3.15.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -4166,18 +4169,18 @@ snapshots:
|
|||||||
possible-typed-array-names: 1.1.0
|
possible-typed-array-names: 1.1.0
|
||||||
reflect.getprototypeof: 1.0.10
|
reflect.getprototypeof: 1.0.10
|
||||||
|
|
||||||
typescript-eslint@8.38.0(eslint@9.32.0)(typescript@5.8.3):
|
typescript-eslint@8.38.0(eslint@9.36.0)(typescript@5.9.2):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/eslint-plugin': 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.32.0)(typescript@5.8.3))(eslint@9.32.0)(typescript@5.8.3)
|
'@typescript-eslint/eslint-plugin': 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.36.0)(typescript@5.9.2))(eslint@9.36.0)(typescript@5.9.2)
|
||||||
'@typescript-eslint/parser': 8.38.0(eslint@9.32.0)(typescript@5.8.3)
|
'@typescript-eslint/parser': 8.38.0(eslint@9.36.0)(typescript@5.9.2)
|
||||||
'@typescript-eslint/typescript-estree': 8.38.0(typescript@5.8.3)
|
'@typescript-eslint/typescript-estree': 8.38.0(typescript@5.9.2)
|
||||||
'@typescript-eslint/utils': 8.38.0(eslint@9.32.0)(typescript@5.8.3)
|
'@typescript-eslint/utils': 8.38.0(eslint@9.36.0)(typescript@5.9.2)
|
||||||
eslint: 9.32.0
|
eslint: 9.36.0
|
||||||
typescript: 5.8.3
|
typescript: 5.9.2
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
typescript@5.8.3: {}
|
typescript@5.9.2: {}
|
||||||
|
|
||||||
unbox-primitive@1.1.0:
|
unbox-primitive@1.1.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -4277,10 +4280,10 @@ snapshots:
|
|||||||
|
|
||||||
yallist@4.0.0: {}
|
yallist@4.0.0: {}
|
||||||
|
|
||||||
yaml@2.8.0: {}
|
yaml@2.8.1: {}
|
||||||
|
|
||||||
yocto-queue@0.1.0: {}
|
yocto-queue@0.1.0: {}
|
||||||
|
|
||||||
yoctocolors@2.1.1: {}
|
yoctocolors@2.1.1: {}
|
||||||
|
|
||||||
zod@4.0.14: {}
|
zod@4.1.11: {}
|
||||||
|
|||||||
1
notes.md
Normal file
1
notes.md
Normal file
@@ -0,0 +1 @@
|
|||||||
|

|
||||||
28
renovate.json5
Normal file
28
renovate.json5
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||||
|
"extends": [
|
||||||
|
"config:base"
|
||||||
|
],
|
||||||
|
"packageRules": [
|
||||||
|
{
|
||||||
|
"groupName": "Docker images",
|
||||||
|
"groupSlug": "dockerimages",
|
||||||
|
"matchDatasources": ["docker"],
|
||||||
|
"pinDigests": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"helm-values": {
|
||||||
|
"fileMatch": ["^charts/.*/values\\.yaml$"]
|
||||||
|
},
|
||||||
|
"regexManagers": [
|
||||||
|
{
|
||||||
|
"fileMatch": ["^charts/.*/values\\.yaml$"],
|
||||||
|
"matchStrings": [
|
||||||
|
"repository:\s*'(?<depName>.*?)'\n\s*tag:\s*'(?<currentValue>.*?)'",
|
||||||
|
"repository:\s*\"(?<depName>.*?)\"\n\s*tag:\s*\"(?<currentValue>.*?)\"",
|
||||||
|
"repository:\s*(?<depName>.*?)\n\s*tag:\s*(?<currentValue>.*)"
|
||||||
|
],
|
||||||
|
"datasourceTemplate": "docker"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
4
values.yaml
Normal file
4
values.yaml
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
globals:
|
||||||
|
environment: prod
|
||||||
|
domain: olsen.cloud
|
||||||
|
timezone: Europe/Amsterdam
|
||||||
Reference in New Issue
Block a user