Compare commits
221 Commits
penpot-0.1
...
postgres-c
Author | SHA1 | Date | |
---|---|---|---|
e98973b467 | |||
cb5c199d03 | |||
df4bb2acd7 | |||
7f494fcc1e | |||
337aee6940 | |||
74c2bca3ae | |||
e1a2ee71f8 | |||
37478087d4 | |||
9af2f7d52a | |||
ab89f723a7 | |||
884cae31a3 | |||
9c2afe436d | |||
e0b707fa32 | |||
2b02da90fd | |||
225ffc6c7e | |||
fa470296b9 | |||
336a6f2815 | |||
406737ed6a | |||
ffcd5139ef | |||
69a554bd9d | |||
2aacb4115a | |||
56d7b063bd | |||
1ca985edc7 | |||
47d7604aac | |||
ecf6e80a20 | |||
f6bc5f42a5 | |||
1b28dbf3db | |||
0f2d18fc7a | |||
0c093bd754 | |||
0c8d26e3eb | |||
82d93fc450 | |||
2657f162c4 | |||
b7d53203da | |||
21a646dabd | |||
0d15a1dadd | |||
a7fe403702 | |||
34957e0c18 | |||
a9286227f7 | |||
3f6faacaa1 | |||
5817f674f4 | |||
2786520504 | |||
c93f608874 | |||
4164f50bce | |||
c060846f7b | |||
673a8c686f | |||
707cb159b9 | |||
90a61573bc | |||
ad1fa6786a | |||
28ed0e8735 | |||
0e3de3cca7 | |||
53f37bc75a | |||
01d96d9a25 | |||
76823dc414 | |||
f97b6ab657 | |||
4bee2a675c | |||
0094b5611f | |||
bb7fb1eadb | |||
99ed8cce53 | |||
02bec682c2 | |||
c549882df9 | |||
e28f44b697 | |||
78afcf24d3 | |||
86e87dbbba | |||
39134cbd95 | |||
9f66bd588c | |||
81aac4790e | |||
|
94b6b4b0fb | ||
|
27edd0a1ef | ||
94184ea569 | |||
08473fc265 | |||
81d3ecf237 | |||
8392d67790 | |||
3f06bf148c | |||
5259488c05 | |||
09c693d371 | |||
ec6f44c6bc | |||
35f331e29a | |||
3b0481fcb1 | |||
e2dfd70dc4 | |||
ffc253ef7d | |||
77dd85362e | |||
d5bb83bf84 | |||
11d3dd927b | |||
1b67b5cbb6 | |||
56fe199fb9 | |||
8ec7f590b2 | |||
d2444fb544 | |||
202a534e8e | |||
c36e4e371f | |||
1ac9444bb2 | |||
275fcd8568 | |||
158d4ca676 | |||
32e232d8e2 | |||
93d2f916fb | |||
b1a6a2fd39 | |||
d3307d4f70 | |||
1b7018d3bd | |||
b75721ae1d | |||
|
e0e4f6ee8a | ||
|
7dd80d4528 | ||
24af841f19 | |||
16211d4c62 | |||
513c46c957 | |||
3fad4e4ff0 | |||
1f867e0276 | |||
601790ab7a | |||
16ebdda6a4 | |||
dbf8f14512 | |||
22dcd7a14c | |||
8862d97c27 | |||
1f4cd543c0 | |||
4aac272e98 | |||
b8602fb919 | |||
fb34897269 | |||
ec27eff4da | |||
2b31df483e | |||
53191f1d68 | |||
172526fb79 | |||
5d5aad265a | |||
84af71da49 | |||
ab3ca49103 | |||
8b2342d1c2 | |||
9107020db2 | |||
3ecef5f8d1 | |||
|
e5b1b733fe | ||
843e37e233 | |||
ee944a6b83 | |||
|
5fe95ea7ad | ||
6a33a670e1 | |||
27cdfd742e | |||
9f68b30a31 | |||
668d50dfdb | |||
93a232947e | |||
667236239d | |||
875f0c143c | |||
670b6e600c | |||
6f5b5ffcb4 | |||
|
295a7296bc | ||
f1b4020287 | |||
969357a664 | |||
5685190e43 | |||
5e88f116fc | |||
f99ebfaa44 | |||
64e3612762 | |||
a6821995ca | |||
4291c3d18c | |||
|
3f1fc33123 | ||
fad13607e6 | |||
a1811097c0 | |||
6b850205ad | |||
d075a47f03 | |||
0a437d983d | |||
7058201439 | |||
42cd8834b9 | |||
2cda957b4c | |||
238d01c5e4 | |||
9f0fae9fdf | |||
d2f062e3db | |||
a1c9367b6d | |||
9857d61093 | |||
cfe7ebea99 | |||
aface2b57d | |||
8158d1689c | |||
276921cf8a | |||
e420e092c9 | |||
e20049fc8c | |||
37ba06acc7 | |||
02228e31cc | |||
6708443275 | |||
987cedb98a | |||
7f0fd5d5c7 | |||
d381bdee39 | |||
ed4a43cd31 | |||
1b01ed0ba2 | |||
58151e21aa | |||
3f2615097f | |||
a8bbc84740 | |||
a8b3615f2f | |||
590b095a32 | |||
5d2cdc9648 | |||
99c106bd63 | |||
e6938fe645 | |||
7f5d870579 | |||
6cf2db87f4 | |||
537d9bd125 | |||
9627287f30 | |||
dd724b5b32 | |||
cd91a16c75 | |||
69900d3931 | |||
f80cec8c82 | |||
f3d629fe00 | |||
4d3574ffa8 | |||
f98268fd25 | |||
7514ea022e | |||
a65a0dbcec | |||
6bc5aea01f | |||
80940910a9 | |||
6895b078b5 | |||
27e70a1786 | |||
de21d07a5d | |||
58cc48724b | |||
8a357574e9 | |||
220e9e011b | |||
9483523eb8 | |||
ca205a8802 | |||
36267ada6f | |||
153b7a1ad2 | |||
9b30408661 | |||
947120d73c | |||
a62e24142c | |||
03c825e816 | |||
38c2be01f9 | |||
|
5ac88f9aa8 | ||
|
3c3f1bdb76 | ||
|
718acdc607 | ||
|
71a5d81c09 | ||
|
e2d4c395e5 | ||
fd611813b7 | |||
ab5da15b10 | |||
e584566dde | |||
f06aa3a175 |
38
.gitea/workflows/lint-test.yaml
Normal file
38
.gitea/workflows/lint-test.yaml
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
name: lint-and-test-charts
|
||||||
|
|
||||||
|
on: pull_request
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
lint-test:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- name: Set up Helm
|
||||||
|
uses: azure/setup-helm@v4
|
||||||
|
with:
|
||||||
|
version: latest
|
||||||
|
|
||||||
|
- name: Set up Python
|
||||||
|
uses: actions/setup-python@v5
|
||||||
|
with:
|
||||||
|
python-version: "3.13"
|
||||||
|
check-latest: true
|
||||||
|
|
||||||
|
- name: Set up Chart Testing
|
||||||
|
uses: helm/chart-testing-action@v2.7.0
|
||||||
|
|
||||||
|
- name: Run Chart Testing (list-changed)
|
||||||
|
id: list-changed
|
||||||
|
run: |
|
||||||
|
changed=$(ct list-changed --target-branch ${{ gitea.event.repository.default_branch }})
|
||||||
|
if [[ -n "$changed" ]]; then
|
||||||
|
echo "changed=true" >> $GITHUB_OUTPUT
|
||||||
|
fi
|
||||||
|
|
||||||
|
- name: Run Chart Testing (lint)
|
||||||
|
if: steps.list-changed.outputs.changed == 'true'
|
||||||
|
run: ct lint --target-branch ${{ gitea.event.repository.default_branch }}
|
66
.gitea/workflows/release-charts-cloudflared.yml
Normal file
66
.gitea/workflows/release-charts-cloudflared.yml
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
name: release-charts-cloudflared
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths:
|
||||||
|
- "charts/cloudflared/**"
|
||||||
|
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
env:
|
||||||
|
WORKFLOW_DIR: "charts/cloudflared"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
release:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Set up Helm
|
||||||
|
uses: azure/setup-helm@v4
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.GITEA_TOKEN }}
|
||||||
|
version: latest
|
||||||
|
|
||||||
|
- name: Package Helm Chart
|
||||||
|
run: |
|
||||||
|
cd $WORKFLOW_DIR
|
||||||
|
helm dependency build
|
||||||
|
echo "PACKAGE_PATH=$(helm package . | awk '{print $NF}')" >> $GITEA_ENV
|
||||||
|
|
||||||
|
- name: Publish Helm Chart to Harbor
|
||||||
|
run: |
|
||||||
|
helm registry login ${{ vars.REGISTRY_HOST }} -u ${{ vars.REGISTRY_USER }} -p ${{ secrets.REGISTRY_SECRET }}
|
||||||
|
helm push ${{ env.PACKAGE_PATH }} oci://${{ vars.REGISTRY_HOST }}/helm-charts
|
||||||
|
|
||||||
|
- name: Publish Helm Chart to Gitea
|
||||||
|
run: |
|
||||||
|
helm plugin install https://github.com/chartmuseum/helm-push
|
||||||
|
helm repo add --username ${{ gitea.actor }} --password ${{ secrets.REPOSITORY_TOKEN }} helm-charts https://${{ vars.REPOSITORY_HOST }}/api/packages/alexlebens/helm
|
||||||
|
helm cm-push ${{ env.PACKAGE_PATH }} helm-charts
|
||||||
|
|
||||||
|
- name: Extract Chart Metadata
|
||||||
|
run: |
|
||||||
|
cd $WORKFLOW_DIR
|
||||||
|
echo "CHART_VERSION=$(yq '.version' Chart.yaml)" >> $GITEA_ENV
|
||||||
|
echo "CHART_NAME=$(yq '.name' Chart.yaml)" >> $GITEA_ENV
|
||||||
|
|
||||||
|
- name: Release Helm Chart
|
||||||
|
uses: akkuman/gitea-release-action@v1
|
||||||
|
with:
|
||||||
|
name: ${{ env.CHART_NAME }}-${{ env.CHART_VERSION }}
|
||||||
|
tag_name: ${{ env.CHART_NAME }}-${{ env.CHART_VERSION }}
|
||||||
|
files: |-
|
||||||
|
${{ env.PACKAGE_PATH }}
|
||||||
|
|
||||||
|
- name: Actions Ntfy
|
||||||
|
run: |
|
||||||
|
curl \
|
||||||
|
-H "Authorization: Bearer ${{ secrets.NTFY_CRED }}" \
|
||||||
|
-H "Title: Chart Released: ${{ env.CHART_NAME }}-${{ env.CHART_VERSION }}" \
|
||||||
|
-H "Content-Type: text/plain" \
|
||||||
|
-d $'Repo: ${{ gitea.repository }}\nCommit: ${{ gitea.sha }}\nRef: ${{ gitea.ref }}\nStatus: ${{ job.status}}' \
|
||||||
|
${{ secrets.NTFY_URL }}
|
66
.gitea/workflows/release-charts-generic-device-plugin.yml
Normal file
66
.gitea/workflows/release-charts-generic-device-plugin.yml
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
name: release-charts-generic-device-plugin
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths:
|
||||||
|
- "charts/generic-device-plugin/**"
|
||||||
|
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
env:
|
||||||
|
WORKFLOW_DIR: "charts/generic-device-plugin"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
release:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Set up Helm
|
||||||
|
uses: azure/setup-helm@v4
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.GITEA_TOKEN }}
|
||||||
|
version: latest
|
||||||
|
|
||||||
|
- name: Package Helm Chart
|
||||||
|
run: |
|
||||||
|
cd $WORKFLOW_DIR
|
||||||
|
helm dependency build
|
||||||
|
echo "PACKAGE_PATH=$(helm package . | awk '{print $NF}')" >> $GITEA_ENV
|
||||||
|
|
||||||
|
- name: Publish Helm Chart to Harbor
|
||||||
|
run: |
|
||||||
|
helm registry login ${{ vars.REGISTRY_HOST }} -u ${{ vars.REGISTRY_USER }} -p ${{ secrets.REGISTRY_SECRET }}
|
||||||
|
helm push ${{ env.PACKAGE_PATH }} oci://${{ vars.REGISTRY_HOST }}/helm-charts
|
||||||
|
|
||||||
|
- name: Publish Helm Chart to Gitea
|
||||||
|
run: |
|
||||||
|
helm plugin install https://github.com/chartmuseum/helm-push
|
||||||
|
helm repo add --username ${{ gitea.actor }} --password ${{ secrets.REPOSITORY_TOKEN }} helm-charts https://${{ vars.REPOSITORY_HOST }}/api/packages/alexlebens/helm
|
||||||
|
helm cm-push ${{ env.PACKAGE_PATH }} helm-charts
|
||||||
|
|
||||||
|
- name: Extract Chart Metadata
|
||||||
|
run: |
|
||||||
|
cd $WORKFLOW_DIR
|
||||||
|
echo "CHART_VERSION=$(yq '.version' Chart.yaml)" >> $GITEA_ENV
|
||||||
|
echo "CHART_NAME=$(yq '.name' Chart.yaml)" >> $GITEA_ENV
|
||||||
|
|
||||||
|
- name: Release Helm Chart
|
||||||
|
uses: akkuman/gitea-release-action@v1
|
||||||
|
with:
|
||||||
|
name: ${{ env.CHART_NAME }}-${{ env.CHART_VERSION }}
|
||||||
|
tag_name: ${{ env.CHART_NAME }}-${{ env.CHART_VERSION }}
|
||||||
|
files: |-
|
||||||
|
${{ env.PACKAGE_PATH }}
|
||||||
|
|
||||||
|
- name: Actions Ntfy
|
||||||
|
run: |
|
||||||
|
curl \
|
||||||
|
-H "Authorization: Bearer ${{ secrets.NTFY_CRED }}" \
|
||||||
|
-H "Title: Chart Released: ${{ env.CHART_NAME }}-${{ env.CHART_VERSION }}" \
|
||||||
|
-H "Content-Type: text/plain" \
|
||||||
|
-d $'Repo: ${{ gitea.repository }}\nCommit: ${{ gitea.sha }}\nRef: ${{ gitea.ref }}\nStatus: ${{ job.status}}' \
|
||||||
|
${{ secrets.NTFY_URL }}
|
66
.gitea/workflows/release-charts-postgres-cluster.yml
Normal file
66
.gitea/workflows/release-charts-postgres-cluster.yml
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
name: release-charts-postgres-cluster
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths:
|
||||||
|
- "charts/postgres-cluster/**"
|
||||||
|
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
env:
|
||||||
|
WORKFLOW_DIR: "charts/postgres-cluster"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
release:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Set up Helm
|
||||||
|
uses: azure/setup-helm@v4
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.GITEA_TOKEN }}
|
||||||
|
version: latest
|
||||||
|
|
||||||
|
- name: Package Helm Chart
|
||||||
|
run: |
|
||||||
|
cd $WORKFLOW_DIR
|
||||||
|
helm dependency build
|
||||||
|
echo "PACKAGE_PATH=$(helm package . | awk '{print $NF}')" >> $GITEA_ENV
|
||||||
|
|
||||||
|
- name: Publish Helm Chart to Harbor
|
||||||
|
run: |
|
||||||
|
helm registry login ${{ vars.REGISTRY_HOST }} -u ${{ vars.REGISTRY_USER }} -p ${{ secrets.REGISTRY_SECRET }}
|
||||||
|
helm push ${{ env.PACKAGE_PATH }} oci://${{ vars.REGISTRY_HOST }}/helm-charts
|
||||||
|
|
||||||
|
- name: Publish Helm Chart to Gitea
|
||||||
|
run: |
|
||||||
|
helm plugin install https://github.com/chartmuseum/helm-push
|
||||||
|
helm repo add --username ${{ gitea.actor }} --password ${{ secrets.REPOSITORY_TOKEN }} helm-charts https://${{ vars.REPOSITORY_HOST }}/api/packages/alexlebens/helm
|
||||||
|
helm cm-push ${{ env.PACKAGE_PATH }} helm-charts
|
||||||
|
|
||||||
|
- name: Extract Chart Metadata
|
||||||
|
run: |
|
||||||
|
cd $WORKFLOW_DIR
|
||||||
|
echo "CHART_VERSION=$(yq '.version' Chart.yaml)" >> $GITEA_ENV
|
||||||
|
echo "CHART_NAME=$(yq '.name' Chart.yaml)" >> $GITEA_ENV
|
||||||
|
|
||||||
|
- name: Release Helm Chart
|
||||||
|
uses: akkuman/gitea-release-action@v1
|
||||||
|
with:
|
||||||
|
name: ${{ env.CHART_NAME }}-${{ env.CHART_VERSION }}
|
||||||
|
tag_name: ${{ env.CHART_NAME }}-${{ env.CHART_VERSION }}
|
||||||
|
files: |-
|
||||||
|
${{ env.PACKAGE_PATH }}
|
||||||
|
|
||||||
|
- name: Actions Ntfy
|
||||||
|
run: |
|
||||||
|
curl \
|
||||||
|
-H "Authorization: Bearer ${{ secrets.NTFY_CRED }}" \
|
||||||
|
-H "Title: Chart Released: ${{ env.CHART_NAME }}-${{ env.CHART_VERSION }}" \
|
||||||
|
-H "Content-Type: text/plain" \
|
||||||
|
-d $'Repo: ${{ gitea.repository }}\nCommit: ${{ gitea.sha }}\nRef: ${{ gitea.ref }}\nStatus: ${{ job.status}}' \
|
||||||
|
${{ secrets.NTFY_URL }}
|
@@ -1,2 +0,0 @@
|
|||||||
# This file is processed by Renovate bot so that it creates a PR on new major Renovate versions
|
|
||||||
FROM renovate/renovate:37
|
|
112
.github/renovate.json
vendored
112
.github/renovate.json
vendored
@@ -1,112 +0,0 @@
|
|||||||
{
|
|
||||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
|
||||||
"extends": [
|
|
||||||
"config:recommended",
|
|
||||||
"mergeConfidence:all-badges",
|
|
||||||
":rebaseStalePrs"
|
|
||||||
],
|
|
||||||
"timezone": "US/Mountain",
|
|
||||||
"schedule": [
|
|
||||||
"every weekday"
|
|
||||||
],
|
|
||||||
"labels": [],
|
|
||||||
"packageRules": [
|
|
||||||
{
|
|
||||||
"description": "Disables for non major Renovate version",
|
|
||||||
"matchPaths": [
|
|
||||||
".github/renovate-update-notification/Dockerfile"
|
|
||||||
],
|
|
||||||
"matchUpdateTypes": [
|
|
||||||
"minor",
|
|
||||||
"patch",
|
|
||||||
"pin",
|
|
||||||
"digest",
|
|
||||||
"rollback"
|
|
||||||
],
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"description": "Generate for major Renovate version",
|
|
||||||
"matchPaths": [
|
|
||||||
".github/renovate-update-notification/Dockerfile"
|
|
||||||
],
|
|
||||||
"matchUpdateTypes": [
|
|
||||||
"major"
|
|
||||||
],
|
|
||||||
"addLabels": [
|
|
||||||
"upgrade"
|
|
||||||
],
|
|
||||||
"automerge": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"description": "Label service images",
|
|
||||||
"matchPackageNames": [
|
|
||||||
"ghcr.io/alex1989hu/kubelet-serving-cert-approver",
|
|
||||||
"ghcr.io/cloudnative-pg/postgresql",
|
|
||||||
"redis/redis-stack-server"
|
|
||||||
],
|
|
||||||
"matchDatasources": [
|
|
||||||
"docker"
|
|
||||||
],
|
|
||||||
"addLabels": [
|
|
||||||
"service",
|
|
||||||
"image"
|
|
||||||
],
|
|
||||||
"automerge": false,
|
|
||||||
"minimumReleaseAge": "3 days"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"description": "Label service charts",
|
|
||||||
"matchPackageNames": [
|
|
||||||
"elasticsearch",
|
|
||||||
"redis"
|
|
||||||
],
|
|
||||||
"matchDatasources": [
|
|
||||||
"helm"
|
|
||||||
],
|
|
||||||
"addLabels": [
|
|
||||||
"serivce",
|
|
||||||
"chart"
|
|
||||||
],
|
|
||||||
"automerge": false,
|
|
||||||
"minimumReleaseAge": "3 days"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"description": "Label application images",
|
|
||||||
"matchPackageNames": [
|
|
||||||
"bbilly1/tubearchivist-jf",
|
|
||||||
"bbilly1/tubearchivist",
|
|
||||||
"freshrss/freshrss",
|
|
||||||
"ghcr.io/gethomepage/homepage",
|
|
||||||
"homeassistant/home-assistant",
|
|
||||||
"linuxserver/calibre",
|
|
||||||
"linuxserver/code-server",
|
|
||||||
"linuxserver/cops",
|
|
||||||
"outlinewiki/outline",
|
|
||||||
"rmcrackan/libation"
|
|
||||||
],
|
|
||||||
"matchDatasources": [
|
|
||||||
"docker"
|
|
||||||
],
|
|
||||||
"addLabels": [
|
|
||||||
"application",
|
|
||||||
"image"
|
|
||||||
],
|
|
||||||
"automerge": false,
|
|
||||||
"minimumReleaseAge": "3 days"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"description": "Label application charts",
|
|
||||||
"matchPackageNames": [],
|
|
||||||
"matchDatasources": [
|
|
||||||
"helm"
|
|
||||||
],
|
|
||||||
"addLabels": [
|
|
||||||
"application",
|
|
||||||
"chart"
|
|
||||||
],
|
|
||||||
"automerge": false,
|
|
||||||
"minimumReleaseAge": "3 days"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
37
.github/workflows/lint-test.yaml
vendored
37
.github/workflows/lint-test.yaml
vendored
@@ -1,37 +0,0 @@
|
|||||||
name: lint-and-test-charts
|
|
||||||
|
|
||||||
on: pull_request
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
lint-test:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
|
|
||||||
- name: Set up Helm
|
|
||||||
uses: azure/setup-helm@v4
|
|
||||||
with:
|
|
||||||
version: v3.13.3
|
|
||||||
|
|
||||||
- uses: actions/setup-python@v5
|
|
||||||
with:
|
|
||||||
python-version: "3.10"
|
|
||||||
check-latest: true
|
|
||||||
|
|
||||||
- name: Set up chart-testing
|
|
||||||
uses: helm/chart-testing-action@v2.6.1
|
|
||||||
|
|
||||||
- name: Run chart-testing (list-changed)
|
|
||||||
id: list-changed
|
|
||||||
run: |
|
|
||||||
changed=$(ct list-changed --target-branch ${{ github.event.repository.default_branch }})
|
|
||||||
if [[ -n "$changed" ]]; then
|
|
||||||
echo "changed=true" >> "$GITHUB_OUTPUT"
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Run chart-testing (lint)
|
|
||||||
if: steps.list-changed.outputs.changed == 'true'
|
|
||||||
run: ct lint --target-branch ${{ github.event.repository.default_branch }}
|
|
@@ -4,6 +4,8 @@ on:
|
|||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
|
paths:
|
||||||
|
- "charts/**"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
release:
|
release:
|
||||||
@@ -22,6 +24,6 @@ jobs:
|
|||||||
git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
|
git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
|
||||||
|
|
||||||
- name: Run chart-releaser
|
- name: Run chart-releaser
|
||||||
uses: helm/chart-releaser-action@v1.6.0
|
uses: helm/chart-releaser-action@v1.7.0
|
||||||
env:
|
env:
|
||||||
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
|
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
|
5
.gitignore
vendored
5
.gitignore
vendored
@@ -1,3 +1,6 @@
|
|||||||
|
# Archived
|
||||||
|
charts/**/archive
|
||||||
|
|
||||||
# Compiled Helm chart dependencies
|
# Compiled Helm chart dependencies
|
||||||
charts/**/Chart.lock
|
charts/**/Chart.lock
|
||||||
charts/**/charts/
|
charts/**/charts/
|
||||||
@@ -6,4 +9,4 @@ charts/**/charts/
|
|||||||
__snapshot__/
|
__snapshot__/
|
||||||
|
|
||||||
# Docs
|
# Docs
|
||||||
_site/
|
_site/
|
||||||
|
19
.pre-commit-config.yaml
Normal file
19
.pre-commit-config.yaml
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
repos:
|
||||||
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||||
|
rev: v2.3.0
|
||||||
|
hooks:
|
||||||
|
- id: end-of-file-fixer
|
||||||
|
- id: trailing-whitespace
|
||||||
|
- id: check-added-large-files
|
||||||
|
- id: check-yaml
|
||||||
|
exclude: 'charts/'
|
||||||
|
args:
|
||||||
|
- --multi
|
||||||
|
- repo: https://github.com/norwoodj/helm-docs
|
||||||
|
rev: v1.14.2
|
||||||
|
hooks:
|
||||||
|
- id: helm-docs
|
||||||
|
args:
|
||||||
|
- --chart-search-root=charts
|
||||||
|
- --template-files=./_templates.gotmpl
|
||||||
|
- --template-files=README.md.gotmpl
|
@@ -1,13 +0,0 @@
|
|||||||
apiVersion: v2
|
|
||||||
name: calibre-server
|
|
||||||
version: 0.0.6
|
|
||||||
description: Chart for Calibre content database
|
|
||||||
keywords:
|
|
||||||
- media
|
|
||||||
- books
|
|
||||||
sources:
|
|
||||||
- https://github.com/kovidgoyal/calibre
|
|
||||||
maintainers:
|
|
||||||
- name: alexlebens
|
|
||||||
icon: https://raw.githubusercontent.com/kovidgoyal/calibre/master/resources/images/lt.png
|
|
||||||
appVersion: 7.5.1
|
|
@@ -1,18 +0,0 @@
|
|||||||
## Introduction
|
|
||||||
|
|
||||||
[Calibre](https://calibre-ebook.com/)
|
|
||||||
|
|
||||||
calibre is an e-book manager. It can view, convert, edit and catalog e-books in all of the major e-book formats. It can also talk to e-book reader devices. It can go out to the internet and fetch metadata for your books. It can download newspapers and convert them into e-books for convenient reading.
|
|
||||||
|
|
||||||
This chart bootstraps a [Calibre](https://github.com/home-assistant) deployment on a [Kubernetes](https://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.
|
|
||||||
|
|
||||||
## Prerequisites
|
|
||||||
|
|
||||||
- Kubernetes
|
|
||||||
- Helm
|
|
||||||
- Traefik v2 / IngressRoute
|
|
||||||
- Authentik / Auth
|
|
||||||
|
|
||||||
## Parameters
|
|
||||||
|
|
||||||
See the [values files](values.yaml).
|
|
@@ -1,83 +0,0 @@
|
|||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: calibre-server
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: calibre-server
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/component: web
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
revisionHistoryLimit: 3
|
|
||||||
replicas: {{ .Values.deployment.replicas }}
|
|
||||||
strategy:
|
|
||||||
type: {{ .Values.deployment.strategy }}
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app.kubernetes.io/name: calibre-server
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: calibre-server
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
serviceAccountName: calibre-server
|
|
||||||
automountServiceAccountToken: true
|
|
||||||
containers:
|
|
||||||
- name: calibre-server
|
|
||||||
image: "{{ .Values.deployment.image.repository }}:{{ .Values.deployment.image.tag }}"
|
|
||||||
imagePullPolicy: {{ .Values.deployment.image.imagePullPolicy }}
|
|
||||||
ports:
|
|
||||||
- name: http
|
|
||||||
containerPort: {{ .Values.service.http.port }}
|
|
||||||
protocol: TCP
|
|
||||||
- name: content
|
|
||||||
containerPort: {{ .Values.service.content.port }}
|
|
||||||
protocol: TCP
|
|
||||||
env:
|
|
||||||
{{- range $k,$v := .Values.deployment.env }}
|
|
||||||
- name: {{ $k }}
|
|
||||||
value: {{ $v | quote }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.deployment.envFrom }}
|
|
||||||
envFrom:
|
|
||||||
{{- toYaml . | nindent 12 }}
|
|
||||||
{{- end }}
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /config
|
|
||||||
name: calibre-server-config
|
|
||||||
- mountPath: /books
|
|
||||||
name: calibre-server-books
|
|
||||||
resources:
|
|
||||||
{{- toYaml .Values.deployment.resources | nindent 12 }}
|
|
||||||
livenessProbe:
|
|
||||||
tcpSocket:
|
|
||||||
port: {{ .Values.service.http.port }}
|
|
||||||
initialDelaySeconds: 0
|
|
||||||
failureThreshold: 3
|
|
||||||
timeoutSeconds: 1
|
|
||||||
periodSeconds: 10
|
|
||||||
readinessProbe:
|
|
||||||
tcpSocket:
|
|
||||||
port: {{ .Values.service.http.port }}
|
|
||||||
initialDelaySeconds: 0
|
|
||||||
failureThreshold: 3
|
|
||||||
timeoutSeconds: 1
|
|
||||||
periodSeconds: 10
|
|
||||||
startupProbe:
|
|
||||||
tcpSocket:
|
|
||||||
port: {{ .Values.service.http.port }}
|
|
||||||
initialDelaySeconds: 0
|
|
||||||
failureThreshold: 30
|
|
||||||
timeoutSeconds: 1
|
|
||||||
periodSeconds: 5
|
|
||||||
volumes:
|
|
||||||
- name: calibre-server-config
|
|
||||||
persistentVolumeClaim:
|
|
||||||
claimName: calibre-server-config
|
|
||||||
- name: calibre-server-books
|
|
||||||
persistentVolumeClaim:
|
|
||||||
claimName: {{ .Values.persistence.books.claimName }}
|
|
@@ -1,34 +0,0 @@
|
|||||||
{{- if .Values.ingressRoute.enabled }}
|
|
||||||
apiVersion: traefik.io/v1alpha1
|
|
||||||
kind: IngressRoute
|
|
||||||
metadata:
|
|
||||||
name: calibre-server
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: calibre-server
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/component: web
|
|
||||||
app.kubernetes.io/part-of: calibre-server
|
|
||||||
spec:
|
|
||||||
entryPoints:
|
|
||||||
- websecure
|
|
||||||
routes:
|
|
||||||
- kind: Rule
|
|
||||||
match: "Host(`{{ .Values.ingressRoute.http.host }}`)"
|
|
||||||
middlewares:
|
|
||||||
- name: "authentik-{{ .Release.Name }}"
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
priority: 10
|
|
||||||
services:
|
|
||||||
- kind: Service
|
|
||||||
name: calibre-server
|
|
||||||
port: {{ .Values.service.http.port }}
|
|
||||||
- kind: Rule
|
|
||||||
match: "Host(`{{ .Values.ingressRoute.http.host }}`) && PathPrefix(`/outpost.goauthentik.io/`)"
|
|
||||||
priority: 15
|
|
||||||
services:
|
|
||||||
- kind: Service
|
|
||||||
name: {{ .Values.ingressRoute.authentik.outpost }}
|
|
||||||
port: {{ .Values.ingressRoute.authentik.port }}
|
|
||||||
{{- end }}
|
|
@@ -1,29 +0,0 @@
|
|||||||
{{- if .Values.ingressRoute.enabled }}
|
|
||||||
apiVersion: traefik.containo.us/v1alpha1
|
|
||||||
kind: Middleware
|
|
||||||
metadata:
|
|
||||||
name: "authentik-{{ .Release.Name }}"
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/component: auth
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
forwardAuth:
|
|
||||||
address: "http://{{ .Values.ingressRoute.authentik.outpost }}.authentik:{{ .Values.ingressRoute.authentik.port }}/outpost.goauthentik.io/auth/traefik"
|
|
||||||
trustForwardHeader: true
|
|
||||||
authResponseHeaders:
|
|
||||||
- X-authentik-username
|
|
||||||
- X-authentik-groups
|
|
||||||
- X-authentik-email
|
|
||||||
- X-authentik-name
|
|
||||||
- X-authentik-uid
|
|
||||||
- X-authentik-jwt
|
|
||||||
- X-authentik-meta-jwks
|
|
||||||
- X-authentik-meta-outpost
|
|
||||||
- X-authentik-meta-provider
|
|
||||||
- X-authentik-meta-app
|
|
||||||
- X-authentik-meta-version
|
|
||||||
{{- end }}
|
|
@@ -1,19 +0,0 @@
|
|||||||
kind: PersistentVolumeClaim
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: calibre-server-config
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: calibre-server
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/component: web
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteOnce
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: {{ .Values.persistence.config.storageSize }}
|
|
||||||
storageClassName: {{ .Values.persistence.config.storageClassName }}
|
|
||||||
volumeMode: {{ .Values.persistence.config.volumeMode }}
|
|
@@ -1,11 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: ServiceAccount
|
|
||||||
metadata:
|
|
||||||
name: calibre-server
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: calibre-server
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/component: web
|
|
||||||
app.kubernetes.io/part-of: calibre-server
|
|
@@ -1,44 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: calibre-server
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: calibre-server
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/component: web
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
ports:
|
|
||||||
- port: {{ .Values.service.http.port }}
|
|
||||||
targetPort: http
|
|
||||||
protocol: TCP
|
|
||||||
name: http
|
|
||||||
selector:
|
|
||||||
app.kubernetes.io/name: calibre-server
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: calibre-server-content
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: calibre-server
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/component: web
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
ports:
|
|
||||||
- port: {{ .Values.service.content.port }}
|
|
||||||
targetPort: content
|
|
||||||
protocol: TCP
|
|
||||||
name: content
|
|
||||||
selector:
|
|
||||||
app.kubernetes.io/name: calibre-server
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
@@ -1,42 +0,0 @@
|
|||||||
deployment:
|
|
||||||
replicas: 1
|
|
||||||
strategy: Recreate
|
|
||||||
image:
|
|
||||||
repository: linuxserver/calibre
|
|
||||||
tag: v7.5.1-ls269
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
env:
|
|
||||||
PGID: "1001"
|
|
||||||
PUID: "1001"
|
|
||||||
TZ: UTC
|
|
||||||
UMASK_SET: "022"
|
|
||||||
CUSTOM_USER: calibre
|
|
||||||
TITLE: Calibre Server
|
|
||||||
NO_DECOR: true
|
|
||||||
envFrom:
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
memory: 256Mi
|
|
||||||
cpu: 50m
|
|
||||||
limits:
|
|
||||||
memory: 1Gi
|
|
||||||
cpu: 500m
|
|
||||||
service:
|
|
||||||
http:
|
|
||||||
port: 8080
|
|
||||||
content:
|
|
||||||
port: 8081
|
|
||||||
ingressRoute:
|
|
||||||
enabled: true
|
|
||||||
http:
|
|
||||||
host:
|
|
||||||
authentik:
|
|
||||||
outpost:
|
|
||||||
port: 9000
|
|
||||||
persistence:
|
|
||||||
config:
|
|
||||||
storageClassName: default
|
|
||||||
storageSize: 5Gi
|
|
||||||
volumeMode: Filesystem
|
|
||||||
books:
|
|
||||||
claimName:
|
|
18
charts/cloudflared/Chart.yaml
Normal file
18
charts/cloudflared/Chart.yaml
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
apiVersion: v2
|
||||||
|
name: cloudflared
|
||||||
|
version: 1.15.0
|
||||||
|
description: Cloudflared Tunnel
|
||||||
|
keywords:
|
||||||
|
- cloudflare
|
||||||
|
- tunnel
|
||||||
|
sources:
|
||||||
|
- https://github.com/cloudflare/cloudflared
|
||||||
|
- https://github.com/bjw-s-labs/helm-charts/tree/main/charts/library/common
|
||||||
|
maintainers:
|
||||||
|
- name: alexlebens
|
||||||
|
dependencies:
|
||||||
|
- name: common
|
||||||
|
repository: https://bjw-s-labs.github.io/helm-charts/
|
||||||
|
version: 4.0.1
|
||||||
|
icon: https://avatars.githubusercontent.com/u/314135?s=48&v=4
|
||||||
|
appVersion: "2025.5.0"
|
35
charts/cloudflared/README.md
Normal file
35
charts/cloudflared/README.md
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
# cloudflared
|
||||||
|
|
||||||
|
 
|
||||||
|
|
||||||
|
Cloudflared Tunnel
|
||||||
|
|
||||||
|
## Maintainers
|
||||||
|
|
||||||
|
| Name | Email | Url |
|
||||||
|
| ---- | ------ | --- |
|
||||||
|
| alexlebens | | |
|
||||||
|
|
||||||
|
## Source Code
|
||||||
|
|
||||||
|
* <https://github.com/cloudflare/cloudflared>
|
||||||
|
* <https://github.com/bjw-s-labs/helm-charts/tree/main/charts/library/common>
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
|
| Repository | Name | Version |
|
||||||
|
|------------|------|---------|
|
||||||
|
| https://bjw-s-labs.github.io/helm-charts/ | common | 4.0.1 |
|
||||||
|
|
||||||
|
## Values
|
||||||
|
|
||||||
|
| Key | Type | Default | Description |
|
||||||
|
|-----|------|---------|-------------|
|
||||||
|
| existingSecretKey | string | `"cf-tunnel-token"` | Name of key that contains the token in the existingSecret |
|
||||||
|
| existingSecretName | string | `"cloudflared-secret"` | Name of existing secret that contains Cloudflare token |
|
||||||
|
| image | object | `{"pullPolicy":"IfNotPresent","repository":"cloudflare/cloudflared","tag":"2025.5.0"}` | Default image |
|
||||||
|
| name | string | `"cloudflared"` | Name override of release |
|
||||||
|
| resources | object | `{"requests":{"cpu":"10m","memory":"128Mi"}}` | Default resources |
|
||||||
|
|
||||||
|
----------------------------------------------
|
||||||
|
Autogenerated from chart metadata using [helm-docs v1.14.2](https://github.com/norwoodj/helm-docs/releases/v1.14.2)
|
41
charts/cloudflared/templates/common.yaml
Normal file
41
charts/cloudflared/templates/common.yaml
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
{{- include "bjw-s.common.loader.init" . }}
|
||||||
|
|
||||||
|
{{- define "cloudflared.hardcodedValues" -}}
|
||||||
|
{{ if not .Values.global.nameOverride }}
|
||||||
|
global:
|
||||||
|
nameOverride: {{ .Values.name }}
|
||||||
|
{{ end }}
|
||||||
|
controllers:
|
||||||
|
main:
|
||||||
|
type: deployment
|
||||||
|
strategy: Recreate
|
||||||
|
containers:
|
||||||
|
main:
|
||||||
|
image:
|
||||||
|
repository: {{ .Values.image.repository }}
|
||||||
|
tag: {{ .Values.image.tag }}
|
||||||
|
pullPolicy: {{ .Values.image.pullPolicy }}
|
||||||
|
args:
|
||||||
|
- tunnel
|
||||||
|
- --protocol
|
||||||
|
- http2
|
||||||
|
- --no-autoupdate
|
||||||
|
- run
|
||||||
|
- --token
|
||||||
|
- $(CF_MANAGED_TUNNEL_TOKEN)
|
||||||
|
env:
|
||||||
|
- name: CF_MANAGED_TUNNEL_TOKEN
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: {{ .Values.existingSecretName }}
|
||||||
|
key: {{ .Values.existingSecretKey }}
|
||||||
|
resources:
|
||||||
|
{{- with .Values.resources }}
|
||||||
|
resources:
|
||||||
|
{{- toYaml . | nindent 10 }}
|
||||||
|
{{ end }}
|
||||||
|
{{- end -}}
|
||||||
|
{{- $_ := mergeOverwrite .Values (include "cloudflared.hardcodedValues" . | fromYaml) -}}
|
||||||
|
|
||||||
|
{{/* Render the templates */}}
|
||||||
|
{{ include "bjw-s.common.loader.generate" . }}
|
20
charts/cloudflared/values.yaml
Normal file
20
charts/cloudflared/values.yaml
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
# -- Name override of release
|
||||||
|
name: cloudflared
|
||||||
|
|
||||||
|
# -- Name of existing secret that contains Cloudflare token
|
||||||
|
existingSecretName: cloudflared-secret
|
||||||
|
|
||||||
|
# -- Name of key that contains the token in the existingSecret
|
||||||
|
existingSecretKey: cf-tunnel-token
|
||||||
|
|
||||||
|
# -- Default image
|
||||||
|
image:
|
||||||
|
repository: cloudflare/cloudflared
|
||||||
|
tag: "2025.5.0"
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
|
||||||
|
# -- Default resources
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 10m
|
||||||
|
memory: 128Mi
|
@@ -1,12 +0,0 @@
|
|||||||
apiVersion: v2
|
|
||||||
name: cops
|
|
||||||
version: 0.0.3
|
|
||||||
description: Chart for Calibre OPDS (and HTML) PHP Server
|
|
||||||
keywords:
|
|
||||||
- calibre
|
|
||||||
- OPDS
|
|
||||||
sources:
|
|
||||||
- https://github.com/seblucas/cops
|
|
||||||
maintainers:
|
|
||||||
- name: alexlebens
|
|
||||||
appVersion: 1.1.3
|
|
@@ -1,22 +0,0 @@
|
|||||||
## Introduction
|
|
||||||
|
|
||||||
[Calibre OPDS (and HTML) PHP Server](https://github.com/seblucas/cops)
|
|
||||||
|
|
||||||
COPS's main advantages are :
|
|
||||||
|
|
||||||
- No need for many dependencies.
|
|
||||||
- No need for a lot of CPU or RAM.
|
|
||||||
- Not much code.
|
|
||||||
- Search is available.
|
|
||||||
- It was fun to code.
|
|
||||||
|
|
||||||
This chart bootstraps a [COPS](https://github.com/seblucas/cops) deployment on a [Kubernetes](https://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.
|
|
||||||
|
|
||||||
## Prerequisites
|
|
||||||
|
|
||||||
- Kubernetes
|
|
||||||
- Helm
|
|
||||||
|
|
||||||
## Parameters
|
|
||||||
|
|
||||||
See the [values files](values.yaml).
|
|
@@ -1,82 +0,0 @@
|
|||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: {{ .Release.Name }}
|
|
||||||
namespace: {{ .Release.Namespace | quote }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/component: web
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
revisionHistoryLimit: 3
|
|
||||||
replicas: {{ .Values.deployment.replicas }}
|
|
||||||
strategy:
|
|
||||||
type: {{ .Values.deployment.strategy }}
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app.kubernetes.io/name: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
serviceAccountName: {{ .Release.Name }}
|
|
||||||
containers:
|
|
||||||
- name: {{ .Release.Name }}
|
|
||||||
image: "{{ .Values.deployment.image.repository }}:{{ .Values.deployment.image.tag }}"
|
|
||||||
imagePullPolicy: {{ .Values.deployment.image.imagePullPolicy }}
|
|
||||||
ports:
|
|
||||||
- name: http
|
|
||||||
containerPort: {{ .Values.service.http.port }}
|
|
||||||
protocol: TCP
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /config
|
|
||||||
name: cops-config
|
|
||||||
- mountPath: /books
|
|
||||||
name: cops-books
|
|
||||||
resources:
|
|
||||||
{{- toYaml .Values.deployment.resources | nindent 12 }}
|
|
||||||
env:
|
|
||||||
{{- range $k,$v := .Values.deployment.env }}
|
|
||||||
- name: {{ $k }}
|
|
||||||
value: {{ $v | quote }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.deployment.envFrom }}
|
|
||||||
envFrom:
|
|
||||||
{{- toYaml . | nindent 12 }}
|
|
||||||
{{- end }}
|
|
||||||
livenessProbe:
|
|
||||||
httpGet:
|
|
||||||
path: /
|
|
||||||
port: {{ .Values.service.http.port }}
|
|
||||||
initialDelaySeconds: 0
|
|
||||||
failureThreshold: 5
|
|
||||||
timeoutSeconds: 1
|
|
||||||
periodSeconds: 10
|
|
||||||
readinessProbe:
|
|
||||||
httpGet:
|
|
||||||
path: /
|
|
||||||
port: {{ .Values.service.http.port }}
|
|
||||||
initialDelaySeconds: 0
|
|
||||||
failureThreshold: 5
|
|
||||||
timeoutSeconds: 1
|
|
||||||
periodSeconds: 10
|
|
||||||
startupProbe:
|
|
||||||
httpGet:
|
|
||||||
path: /
|
|
||||||
port: {{ .Values.service.http.port }}
|
|
||||||
initialDelaySeconds: 5
|
|
||||||
failureThreshold: 30
|
|
||||||
periodSeconds: 10
|
|
||||||
timeoutSeconds: 1
|
|
||||||
volumes:
|
|
||||||
- name: cops-config
|
|
||||||
persistentVolumeClaim:
|
|
||||||
claimName: cops-config
|
|
||||||
- name: cops-books
|
|
||||||
persistentVolumeClaim:
|
|
||||||
claimName: {{ .Values.persistence.books.claimName }}
|
|
@@ -1,32 +0,0 @@
|
|||||||
{{- if .Values.ingress.enabled }}
|
|
||||||
apiVersion: networking.k8s.io/v1
|
|
||||||
kind: Ingress
|
|
||||||
metadata:
|
|
||||||
name: {{ .Release.Name }}
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/component: web
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
annotations:
|
|
||||||
{{- toYaml .Values.ingress.annotations | nindent 4 }}
|
|
||||||
spec:
|
|
||||||
ingressClassName: {{ .Values.ingress.className }}
|
|
||||||
tls:
|
|
||||||
- hosts:
|
|
||||||
- {{ .Values.ingress.host }}
|
|
||||||
secretName: {{ .Release.Name }}-secret-tls
|
|
||||||
rules:
|
|
||||||
- host: {{ .Values.ingress.host }}
|
|
||||||
http:
|
|
||||||
paths:
|
|
||||||
- path: /
|
|
||||||
pathType: Prefix
|
|
||||||
backend:
|
|
||||||
service:
|
|
||||||
name: {{ .Release.Name }}
|
|
||||||
port:
|
|
||||||
name: http
|
|
||||||
{{- end }}
|
|
@@ -1,19 +0,0 @@
|
|||||||
kind: PersistentVolumeClaim
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: cops-config
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/component: storage
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteOnce
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: {{ .Values.persistence.config.storageSize }}
|
|
||||||
storageClassName: {{ .Values.persistence.config.storageClassName }}
|
|
||||||
volumeMode: {{ .Values.persistence.config.volumeMode }}
|
|
@@ -1,26 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: Pod
|
|
||||||
metadata:
|
|
||||||
name: "{{ .Release.Name }}-test-connection"
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/component: web
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
annotations:
|
|
||||||
"helm.sh/hook": test-success
|
|
||||||
spec:
|
|
||||||
restartPolicy: Never
|
|
||||||
containers:
|
|
||||||
- name: wget
|
|
||||||
image: busybox
|
|
||||||
command: ['wget']
|
|
||||||
args: ['{{ .Release.Name }}:{{ .Values.service.http.port }}']
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: 500m
|
|
||||||
memory: 1Gi
|
|
||||||
requests:
|
|
||||||
cpu: 50m
|
|
||||||
memory: 256Mi
|
|
@@ -1,11 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: ServiceAccount
|
|
||||||
metadata:
|
|
||||||
name: {{ .Release.Name }}
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/component: web
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
@@ -1,22 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: {{ .Release.Name }}
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/component: web
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
externalTrafficPolicy:
|
|
||||||
ports:
|
|
||||||
- port: {{ .Values.service.http.port }}
|
|
||||||
targetPort: http
|
|
||||||
protocol: TCP
|
|
||||||
name: http
|
|
||||||
selector:
|
|
||||||
app.kubernetes.io/name: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
@@ -1,36 +0,0 @@
|
|||||||
deployment:
|
|
||||||
replicas: 1
|
|
||||||
strategy: Recreate
|
|
||||||
image:
|
|
||||||
repository: linuxserver/cops
|
|
||||||
tag: 2.3.1-ls185
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
env:
|
|
||||||
PGID: "1000"
|
|
||||||
PUID: "1000"
|
|
||||||
TZ: UTC
|
|
||||||
envFrom:
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: 500m
|
|
||||||
memory: 1Gi
|
|
||||||
requests:
|
|
||||||
cpu: 50m
|
|
||||||
memory: 256Mi
|
|
||||||
serviceAccount:
|
|
||||||
create: true
|
|
||||||
service:
|
|
||||||
http:
|
|
||||||
port: 80
|
|
||||||
ingress:
|
|
||||||
enabled: false
|
|
||||||
annotations:
|
|
||||||
className:
|
|
||||||
host:
|
|
||||||
persistence:
|
|
||||||
config:
|
|
||||||
storageClassName: default
|
|
||||||
storageSize: 5Gi
|
|
||||||
volumeMode: Filesystem
|
|
||||||
books:
|
|
||||||
claimName:
|
|
@@ -1,12 +0,0 @@
|
|||||||
apiVersion: v2
|
|
||||||
name: freshrss
|
|
||||||
version: 0.0.3
|
|
||||||
description: Chart for Freshrss
|
|
||||||
keywords:
|
|
||||||
- rss
|
|
||||||
sources:
|
|
||||||
- https://github.com/FreshRSS/FreshRSS
|
|
||||||
maintainers:
|
|
||||||
- name: alexlebens
|
|
||||||
icon: https://avatars.githubusercontent.com/u/9414285?s=48&v=4
|
|
||||||
appVersion: "1.23.1"
|
|
@@ -1,18 +0,0 @@
|
|||||||
## Introduction
|
|
||||||
|
|
||||||
[FreshRSS](https://github.com/FreshRSS/FreshRSS)
|
|
||||||
|
|
||||||
FreshRSS is a self-hosted RSS feed aggregator.
|
|
||||||
|
|
||||||
It is lightweight, easy to work with, powerful, and customizable.
|
|
||||||
|
|
||||||
This chart bootstraps a [FreshRSS](https://github.com/FreshRSS/FreshRSS) deployment on a [Kubernetes](https://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.
|
|
||||||
|
|
||||||
## Prerequisites
|
|
||||||
|
|
||||||
- Kubernetes
|
|
||||||
- Helm
|
|
||||||
|
|
||||||
## Parameters
|
|
||||||
|
|
||||||
See the [values files](values.yaml).
|
|
@@ -1,76 +0,0 @@
|
|||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: {{ .Release.Name }}
|
|
||||||
namespace: {{ .Release.Namespace | quote }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/component: web
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
revisionHistoryLimit: 3
|
|
||||||
replicas: {{ .Values.deployment.replicas }}
|
|
||||||
strategy:
|
|
||||||
type: {{ .Values.deployment.strategy }}
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app.kubernetes.io/name: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
serviceAccountName: {{ .Release.Name }}
|
|
||||||
containers:
|
|
||||||
- name: {{ .Release.Name }}
|
|
||||||
image: "{{ .Values.deployment.image.repository }}:{{ .Values.deployment.image.tag }}"
|
|
||||||
imagePullPolicy: {{ .Values.deployment.image.imagePullPolicy }}
|
|
||||||
ports:
|
|
||||||
- name: http
|
|
||||||
containerPort: {{ .Values.service.http.port }}
|
|
||||||
protocol: TCP
|
|
||||||
volumeMounts:
|
|
||||||
- name: {{ .Release.Name }}-config
|
|
||||||
mountPath: /config
|
|
||||||
resources:
|
|
||||||
{{- toYaml .Values.deployment.resources | nindent 12 }}
|
|
||||||
env:
|
|
||||||
- name: LISTEN
|
|
||||||
value: "0.0.0.0:{{ .Values.service.http.port }}"
|
|
||||||
{{- range $k,$v := .Values.deployment.env }}
|
|
||||||
- name: {{ $k }}
|
|
||||||
value: {{ $v | quote }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.deployment.envFrom }}
|
|
||||||
envFrom:
|
|
||||||
{{- toYaml . | nindent 12 }}
|
|
||||||
{{- end }}
|
|
||||||
livenessProbe:
|
|
||||||
tcpSocket:
|
|
||||||
port: {{ .Values.service.http.port }}
|
|
||||||
initialDelaySeconds: 0
|
|
||||||
failureThreshold: 3
|
|
||||||
timeoutSeconds: 1
|
|
||||||
periodSeconds: 10
|
|
||||||
readinessProbe:
|
|
||||||
tcpSocket:
|
|
||||||
port: {{ .Values.service.http.port }}
|
|
||||||
initialDelaySeconds: 0
|
|
||||||
failureThreshold: 3
|
|
||||||
timeoutSeconds: 1
|
|
||||||
periodSeconds: 10
|
|
||||||
startupProbe:
|
|
||||||
tcpSocket:
|
|
||||||
port: {{ .Values.service.http.port }}
|
|
||||||
initialDelaySeconds: 0
|
|
||||||
failureThreshold: 30
|
|
||||||
timeoutSeconds: 1
|
|
||||||
periodSeconds: 5
|
|
||||||
volumes:
|
|
||||||
- name: {{ .Release.Name }}-config
|
|
||||||
persistentVolumeClaim:
|
|
||||||
claimName: {{ .Release.Name }}-config
|
|
@@ -1,32 +0,0 @@
|
|||||||
{{- if .Values.ingress.enabled }}
|
|
||||||
apiVersion: networking.k8s.io/v1
|
|
||||||
kind: Ingress
|
|
||||||
metadata:
|
|
||||||
name: {{ .Release.Name }}
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/component: web
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
annotations:
|
|
||||||
{{- toYaml .Values.ingress.annotations | nindent 4 }}
|
|
||||||
spec:
|
|
||||||
ingressClassName: {{ .Values.ingress.className }}
|
|
||||||
tls:
|
|
||||||
- hosts:
|
|
||||||
- {{ .Values.ingress.host }}
|
|
||||||
secretName: {{ .Release.Name }}-secret-tls
|
|
||||||
rules:
|
|
||||||
- host: {{ .Values.ingress.host }}
|
|
||||||
http:
|
|
||||||
paths:
|
|
||||||
- path: /
|
|
||||||
pathType: Prefix
|
|
||||||
backend:
|
|
||||||
service:
|
|
||||||
name: {{ .Release.Name }}
|
|
||||||
port:
|
|
||||||
name: http
|
|
||||||
{{- end }}
|
|
@@ -1,19 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolumeClaim
|
|
||||||
metadata:
|
|
||||||
name: {{ .Release.Name }}-config
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/component: storage
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteOnce
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: {{ .Values.persistence.config.storageSize }}
|
|
||||||
storageClassName: {{ .Values.persistence.config.storageClassName }}
|
|
||||||
volumeMode: {{ .Values.persistence.config.volumeMode }}
|
|
@@ -1,26 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: Pod
|
|
||||||
metadata:
|
|
||||||
name: "{{ .Release.Name }}-test-connection"
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/component: web
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
annotations:
|
|
||||||
"helm.sh/hook": test-success
|
|
||||||
spec:
|
|
||||||
restartPolicy: Never
|
|
||||||
containers:
|
|
||||||
- name: wget
|
|
||||||
image: busybox
|
|
||||||
command: ['wget']
|
|
||||||
args: ['{{ .Release.Name }}:{{ .Values.service.http.port }}']
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: 500m
|
|
||||||
memory: 1Gi
|
|
||||||
requests:
|
|
||||||
cpu: 50m
|
|
||||||
memory: 256Mi
|
|
@@ -1,11 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: ServiceAccount
|
|
||||||
metadata:
|
|
||||||
name: {{ .Release.Name }}
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/component: web
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
@@ -1,21 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: {{ .Release.Name }}
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/component: web
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
ports:
|
|
||||||
- port: {{ .Values.service.http.port }}
|
|
||||||
targetPort: http
|
|
||||||
protocol: TCP
|
|
||||||
name: http
|
|
||||||
selector:
|
|
||||||
app.kubernetes.io/name: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
@@ -1,33 +0,0 @@
|
|||||||
deployment:
|
|
||||||
replicas: 1
|
|
||||||
strategy: Recreate
|
|
||||||
image:
|
|
||||||
repository: freshrss/freshrss
|
|
||||||
tag: 1.23.1
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
env:
|
|
||||||
PGID: "568"
|
|
||||||
PUID: "568"
|
|
||||||
TZ: UTC
|
|
||||||
FRESHRSS_ENV: production
|
|
||||||
envFrom:
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: 500m
|
|
||||||
memory: 1Gi
|
|
||||||
requests:
|
|
||||||
cpu: 50m
|
|
||||||
memory: 256Mi
|
|
||||||
service:
|
|
||||||
http:
|
|
||||||
port: 80
|
|
||||||
ingress:
|
|
||||||
enabled: true
|
|
||||||
className:
|
|
||||||
annotations:
|
|
||||||
host:
|
|
||||||
persistence:
|
|
||||||
config:
|
|
||||||
storageClassName: default
|
|
||||||
storageSize: 5Gi
|
|
||||||
volumeMode: Filesystem
|
|
18
charts/generic-device-plugin/Chart.yaml
Normal file
18
charts/generic-device-plugin/Chart.yaml
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
apiVersion: v2
|
||||||
|
name: generic-device-plugin
|
||||||
|
version: 0.1.10
|
||||||
|
description: Generic Device Plugin
|
||||||
|
keywords:
|
||||||
|
- generic-device-plugin
|
||||||
|
- device
|
||||||
|
- plugin
|
||||||
|
sources:
|
||||||
|
- https://github.com/squat/generic-device-plugin
|
||||||
|
- https://github.com/bjw-s/helm-charts/tree/main/charts/library/common
|
||||||
|
maintainers:
|
||||||
|
- name: alexlebens
|
||||||
|
dependencies:
|
||||||
|
- name: common
|
||||||
|
repository: https://bjw-s.github.io/helm-charts/
|
||||||
|
version: 3.7.3
|
||||||
|
appVersion: 0.1.10
|
37
charts/generic-device-plugin/README.md
Normal file
37
charts/generic-device-plugin/README.md
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
# generic-device-plugin
|
||||||
|
|
||||||
|
 
|
||||||
|
|
||||||
|
Generic Device Plugin
|
||||||
|
|
||||||
|
## Maintainers
|
||||||
|
|
||||||
|
| Name | Email | Url |
|
||||||
|
| ---- | ------ | --- |
|
||||||
|
| alexlebens | | |
|
||||||
|
|
||||||
|
## Source Code
|
||||||
|
|
||||||
|
* <https://github.com/squat/generic-device-plugin>
|
||||||
|
* <https://github.com/bjw-s/helm-charts/tree/main/charts/library/common>
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
|
| Repository | Name | Version |
|
||||||
|
|------------|------|---------|
|
||||||
|
| https://bjw-s.github.io/helm-charts/ | common | 3.7.3 |
|
||||||
|
|
||||||
|
## Values
|
||||||
|
|
||||||
|
| Key | Type | Default | Description |
|
||||||
|
|-----|------|---------|-------------|
|
||||||
|
| config | object | `{"data":"devices:\n - name: serial\n groups:\n - paths:\n - path: /dev/ttyUSB*\n - paths:\n - path: /dev/ttyACM*\n - paths:\n - path: /dev/tty.usb*\n - paths:\n - path: /dev/cu.*\n - paths:\n - path: /dev/cuaU*\n - paths:\n - path: /dev/rfcomm*\n - name: video\n groups:\n - paths:\n - path: /dev/video0\n - name: fuse\n groups:\n - count: 10\n paths:\n - path: /dev/fuse\n - name: audio\n groups:\n - count: 10\n paths:\n - path: /dev/snd\n - name: capture\n groups:\n - paths:\n - path: /dev/snd/controlC0\n - path: /dev/snd/pcmC0D0c\n - paths:\n - path: /dev/snd/controlC1\n mountPath: /dev/snd/controlC0\n - path: /dev/snd/pcmC1D0c\n mountPath: /dev/snd/pcmC0D0c\n - paths:\n - path: /dev/snd/controlC2\n mountPath: /dev/snd/controlC0\n - path: /dev/snd/pcmC2D0c\n mountPath: /dev/snd/pcmC0D0c\n - paths:\n - path: /dev/snd/controlC3\n mountPath: /dev/snd/controlC0\n - path: /dev/snd/pcmC3D0c\n mountPath: /dev/snd/pcmC0D0c\n","enabled":true}` | Config map |
|
||||||
|
| config.data | string | See [values.yaml](./values.yaml) | generic-device-plugin config file [[ref]](https://github.com/squat/generic-device-plugin#usage) |
|
||||||
|
| deviceDomain | string | `"squat.ai"` | Domain used by devices for identifcation |
|
||||||
|
| image | object | `{"pullPolicy":"Always","repository":"ghcr.io/squat/generic-device-plugin","tag":"latest@sha256:d7d0951df7f11479185fd9fba1c1cb4d9c8f3232d38a5468d6fe80074f2b45d5"}` | Default image |
|
||||||
|
| name | string | `"generic-device-plugin"` | Name override of release |
|
||||||
|
| resources | object | `{"limit":{"cpu":"100m","memory":"20Mi"},"requests":{"cpu":"50m","memory":"10Mi"}}` | Default resources |
|
||||||
|
| service | object | `{"listenPort":8080}` | Service port |
|
||||||
|
|
||||||
|
----------------------------------------------
|
||||||
|
Autogenerated from chart metadata using [helm-docs v1.14.2](https://github.com/norwoodj/helm-docs/releases/v1.14.2)
|
82
charts/generic-device-plugin/templates/common.yaml
Normal file
82
charts/generic-device-plugin/templates/common.yaml
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
{{ include "bjw-s.common.loader.init" . }}
|
||||||
|
|
||||||
|
{{ define "genericDevicePlugin.hardcodedValues" }}
|
||||||
|
{{ if not .Values.global.nameOverride }}
|
||||||
|
global:
|
||||||
|
nameOverride: {{ .Values.name }}
|
||||||
|
{{ end }}
|
||||||
|
controllers:
|
||||||
|
main:
|
||||||
|
type: daemonset
|
||||||
|
pod:
|
||||||
|
priorityClassName: system-node-critical
|
||||||
|
tolerations:
|
||||||
|
- operator: "Exists"
|
||||||
|
effect: "NoExecute"
|
||||||
|
- operator: "Exists"
|
||||||
|
effect: "NoSchedule"
|
||||||
|
containers:
|
||||||
|
main:
|
||||||
|
image:
|
||||||
|
repository: {{ .Values.image.repository }}
|
||||||
|
tag: {{ .Values.image.tag }}
|
||||||
|
pullPolicy: {{ .Values.image.pullPolicy }}
|
||||||
|
args:
|
||||||
|
- --config=/config/config.yaml
|
||||||
|
env:
|
||||||
|
- name: LISTEN
|
||||||
|
value: :{{ .Values.service.listenPort }}
|
||||||
|
- name: PLUGIN_DIRECTORY
|
||||||
|
value: /var/lib/kubelet/device-plugins
|
||||||
|
- name: DOMAIN
|
||||||
|
value: {{ .Values.deviceDomain }}
|
||||||
|
probes:
|
||||||
|
liveness:
|
||||||
|
type: HTTP
|
||||||
|
path: /health
|
||||||
|
readiness:
|
||||||
|
type: HTTP
|
||||||
|
path: /health
|
||||||
|
startup:
|
||||||
|
type: HTTP
|
||||||
|
path: /health
|
||||||
|
securityContext:
|
||||||
|
privileged: True
|
||||||
|
configMaps:
|
||||||
|
config:
|
||||||
|
enabled: {{ .Values.config.enabled }}
|
||||||
|
data:
|
||||||
|
config.yaml: {{ toYaml .Values.config.data | nindent 8 }}
|
||||||
|
service:
|
||||||
|
main:
|
||||||
|
controller: main
|
||||||
|
ports:
|
||||||
|
http:
|
||||||
|
port: {{ .Values.service.listenPort }}
|
||||||
|
persistence:
|
||||||
|
config:
|
||||||
|
enabled: true
|
||||||
|
type: configMap
|
||||||
|
name: {{ .Values.name }}-config
|
||||||
|
device-plugins:
|
||||||
|
enabled: true
|
||||||
|
type: hostPath
|
||||||
|
hostPath: /var/lib/kubelet/device-plugins
|
||||||
|
dev:
|
||||||
|
enabled: true
|
||||||
|
type: hostPath
|
||||||
|
hostPath: /dev
|
||||||
|
serviceMonitor:
|
||||||
|
main:
|
||||||
|
serviceName: generic-device-plugin
|
||||||
|
endpoints:
|
||||||
|
- port: http
|
||||||
|
scheme: http
|
||||||
|
path: /metrics
|
||||||
|
interval: 30s
|
||||||
|
scrapeTimeout: 10s
|
||||||
|
{{ end }}
|
||||||
|
{{ $_ := mergeOverwrite .Values (include "genericDevicePlugin.hardcodedValues" . | fromYaml) }}
|
||||||
|
|
||||||
|
{{/* Render the templates */}}
|
||||||
|
{{ include "bjw-s.common.loader.generate" . }}
|
80
charts/generic-device-plugin/values.yaml
Normal file
80
charts/generic-device-plugin/values.yaml
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
# -- Name override of release
|
||||||
|
name: generic-device-plugin
|
||||||
|
|
||||||
|
# -- Default image
|
||||||
|
image:
|
||||||
|
repository: ghcr.io/squat/generic-device-plugin
|
||||||
|
tag: latest@sha256:d7d0951df7f11479185fd9fba1c1cb4d9c8f3232d38a5468d6fe80074f2b45d5
|
||||||
|
pullPolicy: Always
|
||||||
|
|
||||||
|
# -- Domain used by devices for identifcation
|
||||||
|
deviceDomain: squat.ai
|
||||||
|
|
||||||
|
# -- Service port
|
||||||
|
service:
|
||||||
|
listenPort: 8080
|
||||||
|
|
||||||
|
# -- Default resources
|
||||||
|
resources:
|
||||||
|
limit:
|
||||||
|
cpu: 100m
|
||||||
|
memory: 20Mi
|
||||||
|
requests:
|
||||||
|
cpu: 50m
|
||||||
|
memory: 10Mi
|
||||||
|
|
||||||
|
# -- Config map
|
||||||
|
config:
|
||||||
|
enabled: true
|
||||||
|
# -- generic-device-plugin config file [[ref]](https://github.com/squat/generic-device-plugin#usage)
|
||||||
|
# @default -- See [values.yaml](./values.yaml)
|
||||||
|
data: |
|
||||||
|
devices:
|
||||||
|
- name: serial
|
||||||
|
groups:
|
||||||
|
- paths:
|
||||||
|
- path: /dev/ttyUSB*
|
||||||
|
- paths:
|
||||||
|
- path: /dev/ttyACM*
|
||||||
|
- paths:
|
||||||
|
- path: /dev/tty.usb*
|
||||||
|
- paths:
|
||||||
|
- path: /dev/cu.*
|
||||||
|
- paths:
|
||||||
|
- path: /dev/cuaU*
|
||||||
|
- paths:
|
||||||
|
- path: /dev/rfcomm*
|
||||||
|
- name: video
|
||||||
|
groups:
|
||||||
|
- paths:
|
||||||
|
- path: /dev/video0
|
||||||
|
- name: fuse
|
||||||
|
groups:
|
||||||
|
- count: 10
|
||||||
|
paths:
|
||||||
|
- path: /dev/fuse
|
||||||
|
- name: audio
|
||||||
|
groups:
|
||||||
|
- count: 10
|
||||||
|
paths:
|
||||||
|
- path: /dev/snd
|
||||||
|
- name: capture
|
||||||
|
groups:
|
||||||
|
- paths:
|
||||||
|
- path: /dev/snd/controlC0
|
||||||
|
- path: /dev/snd/pcmC0D0c
|
||||||
|
- paths:
|
||||||
|
- path: /dev/snd/controlC1
|
||||||
|
mountPath: /dev/snd/controlC0
|
||||||
|
- path: /dev/snd/pcmC1D0c
|
||||||
|
mountPath: /dev/snd/pcmC0D0c
|
||||||
|
- paths:
|
||||||
|
- path: /dev/snd/controlC2
|
||||||
|
mountPath: /dev/snd/controlC0
|
||||||
|
- path: /dev/snd/pcmC2D0c
|
||||||
|
mountPath: /dev/snd/pcmC0D0c
|
||||||
|
- paths:
|
||||||
|
- path: /dev/snd/controlC3
|
||||||
|
mountPath: /dev/snd/controlC0
|
||||||
|
- path: /dev/snd/pcmC3D0c
|
||||||
|
mountPath: /dev/snd/pcmC0D0c
|
@@ -1,12 +0,0 @@
|
|||||||
apiVersion: v2
|
|
||||||
name: home-assistant
|
|
||||||
version: 0.1.10
|
|
||||||
description: Chart for Home Assistant
|
|
||||||
keywords:
|
|
||||||
- home-automation
|
|
||||||
sources:
|
|
||||||
- https://github.com/home-assistant
|
|
||||||
maintainers:
|
|
||||||
- name: alexlebens
|
|
||||||
icon: https://avatars.githubusercontent.com/u/13844975?s=200&v=4
|
|
||||||
appVersion: v2024.4.3
|
|
@@ -1,18 +0,0 @@
|
|||||||
## Introduction
|
|
||||||
|
|
||||||
[Home Assistant](https://www.home-assistant.io/)
|
|
||||||
|
|
||||||
Open source home automation that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY enthusiasts. Perfect to run on a Raspberry Pi or a local server.
|
|
||||||
|
|
||||||
This chart bootstraps a [Home-Assistant](https://github.com/home-assistant) deployment on a [Kubernetes](https://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.
|
|
||||||
|
|
||||||
## Prerequisites
|
|
||||||
|
|
||||||
- Kubernetes
|
|
||||||
- Helm
|
|
||||||
- Traefik v2 / IngressRoute
|
|
||||||
- Authentik / Auth
|
|
||||||
|
|
||||||
## Parameters
|
|
||||||
|
|
||||||
See the [values files](values.yaml).
|
|
@@ -1,98 +0,0 @@
|
|||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: home-assistant
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/component: web
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
revisionHistoryLimit: 3
|
|
||||||
replicas: {{ .Values.deployment.replicas }}
|
|
||||||
strategy:
|
|
||||||
type: {{ .Values.deployment.strategy }}
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app.kubernetes.io/name: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
serviceAccountName: {{ .Release.Name }}
|
|
||||||
automountServiceAccountToken: true
|
|
||||||
containers:
|
|
||||||
- name: {{ .Release.Name }}
|
|
||||||
image: "{{ .Values.deployment.image.repository }}:{{ .Values.deployment.image.tag }}"
|
|
||||||
imagePullPolicy: {{ .Values.deployment.image.imagePullPolicy }}
|
|
||||||
ports:
|
|
||||||
- name: http
|
|
||||||
containerPort: {{ .Values.service.http.port }}
|
|
||||||
protocol: TCP
|
|
||||||
env:
|
|
||||||
{{- range $k,$v := .Values.deployment.env }}
|
|
||||||
- name: {{ $k }}
|
|
||||||
value: {{ $v | quote }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.deployment.envFrom }}
|
|
||||||
envFrom:
|
|
||||||
{{- toYaml . | nindent 12 }}
|
|
||||||
{{- end }}
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /config
|
|
||||||
name: home-assistant-config
|
|
||||||
resources:
|
|
||||||
{{- toYaml .Values.deployment.resources | nindent 12 }}
|
|
||||||
livenessProbe:
|
|
||||||
tcpSocket:
|
|
||||||
port: {{ .Values.service.http.port }}
|
|
||||||
initialDelaySeconds: 0
|
|
||||||
failureThreshold: 3
|
|
||||||
timeoutSeconds: 1
|
|
||||||
periodSeconds: 10
|
|
||||||
readinessProbe:
|
|
||||||
tcpSocket:
|
|
||||||
port: {{ .Values.service.http.port }}
|
|
||||||
initialDelaySeconds: 0
|
|
||||||
failureThreshold: 3
|
|
||||||
timeoutSeconds: 1
|
|
||||||
periodSeconds: 10
|
|
||||||
startupProbe:
|
|
||||||
tcpSocket:
|
|
||||||
port: {{ .Values.service.http.port }}
|
|
||||||
initialDelaySeconds: 0
|
|
||||||
failureThreshold: 30
|
|
||||||
timeoutSeconds: 1
|
|
||||||
periodSeconds: 5
|
|
||||||
{{- if .Values.codeserver.enabled }}
|
|
||||||
- name: codeserver
|
|
||||||
image: "{{ .Values.codeserver.image.repository }}:{{ .Values.codeserver.image.tag }}"
|
|
||||||
imagePullPolicy: {{ .Values.codeserver.image.imagePullPolicy }}
|
|
||||||
ports:
|
|
||||||
- containerPort: {{ .Values.codeserver.service.http.port }}
|
|
||||||
name: codeserver-http
|
|
||||||
protocol: TCP
|
|
||||||
env:
|
|
||||||
{{- range $k,$v := .Values.codeserver.env }}
|
|
||||||
- name: {{ $k }}
|
|
||||||
value: {{ $v | quote }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.codeserver.envFrom }}
|
|
||||||
envFrom:
|
|
||||||
{{- toYaml . | nindent 12 }}
|
|
||||||
{{- end }}
|
|
||||||
securityContext:
|
|
||||||
{{- toYaml .Values.codeserver.securityContext | nindent 12 }}
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /config/home-assistant
|
|
||||||
name: home-assistant-config
|
|
||||||
{{- end }}
|
|
||||||
volumes:
|
|
||||||
- name: home-assistant-config
|
|
||||||
persistentVolumeClaim:
|
|
||||||
claimName: "{{ .Release.Name }}-config"
|
|
@@ -1,70 +0,0 @@
|
|||||||
{{- if .Values.ingressRoute.enabled }}
|
|
||||||
apiVersion: traefik.io/v1alpha1
|
|
||||||
kind: IngressRoute
|
|
||||||
metadata:
|
|
||||||
name: {{ .Release.Name }}
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/component: web
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
entryPoints:
|
|
||||||
- websecure
|
|
||||||
routes:
|
|
||||||
- kind: Rule
|
|
||||||
match: "Host(`{{ .Values.ingressRoute.host }}`)"
|
|
||||||
middlewares:
|
|
||||||
- name: "authentik-{{ .Release.Name }}"
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
priority: 10
|
|
||||||
services:
|
|
||||||
- kind: Service
|
|
||||||
name: {{ .Release.Name }}
|
|
||||||
port: {{ .Values.service.http.port }}
|
|
||||||
- kind: Rule
|
|
||||||
match: "Host(`{{ .Values.ingressRoute.host }}`) && PathPrefix(`/outpost.goauthentik.io/`)"
|
|
||||||
priority: 15
|
|
||||||
services:
|
|
||||||
- kind: Service
|
|
||||||
name: {{ .Values.ingressRoute.authentik.outpost }}
|
|
||||||
port: {{ .Values.ingressRoute.authentik.port }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
---
|
|
||||||
{{- if and .Values.codeserver.ingressRoute.enabled .Values.codeserver.enabled }}
|
|
||||||
apiVersion: traefik.io/v1alpha1
|
|
||||||
kind: IngressRoute
|
|
||||||
metadata:
|
|
||||||
name: "{{ .Release.Name }}-codeserver"
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/component: web
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
entryPoints:
|
|
||||||
- websecure
|
|
||||||
routes:
|
|
||||||
- kind: Rule
|
|
||||||
match: "Host(`{{ .Values.codeserver.ingressRoute.host }}`)"
|
|
||||||
middlewares:
|
|
||||||
- name: "authentik-{{ .Release.Name }}"
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
priority: 10
|
|
||||||
services:
|
|
||||||
- kind: Service
|
|
||||||
name: "{{ .Release.Name }}-codeserver"
|
|
||||||
port: {{ .Values.codeserver.service.http.port }}
|
|
||||||
- kind: Rule
|
|
||||||
match: "Host(`{{ .Values.ingressRoute.host }}`) && PathPrefix(`/outpost.goauthentik.io/`)"
|
|
||||||
priority: 15
|
|
||||||
services:
|
|
||||||
- kind: Service
|
|
||||||
name: {{ .Values.ingressRoute.authentik.outpost }}
|
|
||||||
port: {{ .Values.ingressRoute.authentik.port }}
|
|
||||||
{{- end }}
|
|
@@ -1,29 +0,0 @@
|
|||||||
{{- if .Values.ingressRoute.enabled }}
|
|
||||||
apiVersion: traefik.containo.us/v1alpha1
|
|
||||||
kind: Middleware
|
|
||||||
metadata:
|
|
||||||
name: "authentik-{{ .Release.Name }}"
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/component: auth
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
forwardAuth:
|
|
||||||
address: "http://{{ .Values.ingressRoute.authentik.outpost }}.authentik:{{ .Values.ingressRoute.authentik.port }}/outpost.goauthentik.io/auth/traefik"
|
|
||||||
trustForwardHeader: true
|
|
||||||
authResponseHeaders:
|
|
||||||
- X-authentik-username
|
|
||||||
- X-authentik-groups
|
|
||||||
- X-authentik-email
|
|
||||||
- X-authentik-name
|
|
||||||
- X-authentik-uid
|
|
||||||
- X-authentik-jwt
|
|
||||||
- X-authentik-meta-jwks
|
|
||||||
- X-authentik-meta-outpost
|
|
||||||
- X-authentik-meta-provider
|
|
||||||
- X-authentik-meta-app
|
|
||||||
- X-authentik-meta-version
|
|
||||||
{{- end }}
|
|
@@ -1,19 +0,0 @@
|
|||||||
kind: PersistentVolumeClaim
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: "{{ .Release.Name }}-config"
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/component: web
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteOnce
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: {{ .Values.persistence.config.storageSize }}
|
|
||||||
storageClassName: {{ .Values.persistence.config.storageClassName }}
|
|
||||||
volumeMode: {{ .Values.persistence.config.volumeMode }}
|
|
@@ -1,18 +0,0 @@
|
|||||||
{{- if and .Values.metrics.enabled .Values.metrics.prometheusRule.enabled }}
|
|
||||||
apiVersion: monitoring.coreos.com/v1
|
|
||||||
kind: PrometheusRule
|
|
||||||
metadata:
|
|
||||||
name: {{ .Release.Name }}
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/component: web
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
groups:
|
|
||||||
- name: {{ .Release.Name }}
|
|
||||||
rules:
|
|
||||||
{{- toYaml .Values.metrics.prometheusRule.rules | nindent 8 }}
|
|
||||||
{{- end }}
|
|
@@ -1,11 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: ServiceAccount
|
|
||||||
metadata:
|
|
||||||
name: {{ .Release.Name }}
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/component: web
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
@@ -1,26 +0,0 @@
|
|||||||
{{- if .Values.metrics.enabled }}
|
|
||||||
apiVersion: monitoring.coreos.com/v1
|
|
||||||
kind: ServiceMonitor
|
|
||||||
metadata:
|
|
||||||
name: {{ .Release.Name }}
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/component: web
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app.kubernetes.io/name: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
endpoints:
|
|
||||||
- port: http
|
|
||||||
interval: {{ .Values.metrics.serviceMonitor.interval }}
|
|
||||||
scrapeTimeout: {{ .Values.metrics.serviceMonitor.scrapeTimeout }}
|
|
||||||
path: /api/prometheus
|
|
||||||
bearerTokenSecret:
|
|
||||||
name: {{ .Values.metrics.serviceMonitor.bearerTokenSecret.name }}
|
|
||||||
key: {{ .Values.metrics.serviceMonitor.bearerTokenSecret.key }}
|
|
||||||
{{- end }}
|
|
@@ -1,46 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: {{ .Release.Name }}
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/component: web
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
ports:
|
|
||||||
- port: {{ .Values.service.http.port }}
|
|
||||||
targetPort: http
|
|
||||||
protocol: TCP
|
|
||||||
name: http
|
|
||||||
selector:
|
|
||||||
app.kubernetes.io/name: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
|
|
||||||
---
|
|
||||||
{{- if .Values.codeserver.enabled }}
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: "{{ .Release.Name }}-codeserver"
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/component: web
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
ports:
|
|
||||||
- port: {{ .Values.codeserver.service.http.port }}
|
|
||||||
targetPort: codeserver-http
|
|
||||||
protocol: TCP
|
|
||||||
name: codeserver-http
|
|
||||||
selector:
|
|
||||||
app.kubernetes.io/name: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
{{- end }}
|
|
@@ -1,74 +0,0 @@
|
|||||||
deployment:
|
|
||||||
replicas: 1
|
|
||||||
strategy: Recreate
|
|
||||||
image:
|
|
||||||
repository: homeassistant/home-assistant
|
|
||||||
tag: 2024.4.3
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
env:
|
|
||||||
TZ: UTC
|
|
||||||
envFrom:
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
memory: 512Mi
|
|
||||||
cpu: 50m
|
|
||||||
limits:
|
|
||||||
memory: 1Gi
|
|
||||||
cpu: 500m
|
|
||||||
service:
|
|
||||||
http:
|
|
||||||
port: 8123
|
|
||||||
ingressRoute:
|
|
||||||
enabled: true
|
|
||||||
host:
|
|
||||||
authentik:
|
|
||||||
outpost:
|
|
||||||
port: 9000
|
|
||||||
metrics:
|
|
||||||
enabled: false
|
|
||||||
serviceMonitor:
|
|
||||||
interval: 1m
|
|
||||||
scrapeTimeout: 30s
|
|
||||||
## See https://www.home-assistant.io/docs/authentication/ for where to find
|
|
||||||
## long lived access token creation under your account profile, which is
|
|
||||||
## needed to monitor Home Assistant
|
|
||||||
bearerTokenSecret:
|
|
||||||
name: ""
|
|
||||||
key: ""
|
|
||||||
prometheusRule:
|
|
||||||
enabled: false
|
|
||||||
rules:
|
|
||||||
- alert: HomeAssistantAbsent
|
|
||||||
annotations:
|
|
||||||
description: Home Assistant has disappeared from Prometheus service discovery.
|
|
||||||
summary: Home Assistant is down.
|
|
||||||
expr: |
|
|
||||||
absent(up{job=~".*home-assistant.*"} == 1)
|
|
||||||
for: 5m
|
|
||||||
labels:
|
|
||||||
severity: critical
|
|
||||||
persistence:
|
|
||||||
config:
|
|
||||||
storageClassName: default
|
|
||||||
storageSize: 1Gi
|
|
||||||
volumeMode: Filesystem
|
|
||||||
codeserver:
|
|
||||||
enabled: false
|
|
||||||
image:
|
|
||||||
repository: linuxserver/code-server
|
|
||||||
tag: 4.23.1
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
env:
|
|
||||||
TZ: UTC
|
|
||||||
PUID: 1000
|
|
||||||
PGID: 1000
|
|
||||||
DEFAULT_WORKSPACE: /config
|
|
||||||
envFrom:
|
|
||||||
securityContext:
|
|
||||||
runAsUser: 0
|
|
||||||
service:
|
|
||||||
http:
|
|
||||||
port: 8443
|
|
||||||
ingressRoute:
|
|
||||||
enabled: false
|
|
||||||
host:
|
|
@@ -1,12 +0,0 @@
|
|||||||
apiVersion: v2
|
|
||||||
name: homepage
|
|
||||||
version: 0.0.11
|
|
||||||
description: Chart for benphelps homepage
|
|
||||||
keywords:
|
|
||||||
- dashboard
|
|
||||||
sources:
|
|
||||||
- https://github.com/gethomepage/homepage
|
|
||||||
maintainers:
|
|
||||||
- name: alexlebens
|
|
||||||
icon: https://github.com/benphelps/homepage/blob/de584eae8f12a0d257e554e9511ef19bd2a1232c/public/mstile-150x150.png
|
|
||||||
appVersion: v0.8.12
|
|
@@ -1,18 +0,0 @@
|
|||||||
## Introduction
|
|
||||||
|
|
||||||
[Homepage](https://github.com/benphelps/homepage)
|
|
||||||
|
|
||||||
A modern (fully static, fast), secure (fully proxied), highly customizable application dashboard with integrations for more than 25 services and translations for over 15 languages. Easily configured via YAML files (or discovery via docker labels).
|
|
||||||
|
|
||||||
This chart bootstraps a [Homepage](https://github.com/benphelps/homepage) deployment on a [Kubernetes](https://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.
|
|
||||||
|
|
||||||
## Prerequisites
|
|
||||||
|
|
||||||
- Kubernetes
|
|
||||||
- Helm
|
|
||||||
- Traefik v2 / IngressRoute
|
|
||||||
- Authentik / Auth
|
|
||||||
|
|
||||||
## Parameters
|
|
||||||
|
|
||||||
See the [values files](values.yaml).
|
|
@@ -1,19 +0,0 @@
|
|||||||
apiVersion: rbac.authorization.k8s.io/v1
|
|
||||||
kind: ClusterRoleBinding
|
|
||||||
metadata:
|
|
||||||
name: {{ .Release.Name }}
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/component: web
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
roleRef:
|
|
||||||
apiGroup: rbac.authorization.k8s.io
|
|
||||||
kind: ClusterRole
|
|
||||||
name: {{ .Release.Name }}
|
|
||||||
subjects:
|
|
||||||
- kind: ServiceAccount
|
|
||||||
name: homepage
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
@@ -1,51 +0,0 @@
|
|||||||
apiVersion: rbac.authorization.k8s.io/v1
|
|
||||||
kind: ClusterRole
|
|
||||||
metadata:
|
|
||||||
name: {{ .Release.Name }}
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/component: web
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
rules:
|
|
||||||
- apiGroups:
|
|
||||||
- ""
|
|
||||||
resources:
|
|
||||||
- namespaces
|
|
||||||
- pods
|
|
||||||
- nodes
|
|
||||||
verbs:
|
|
||||||
- get
|
|
||||||
- list
|
|
||||||
- apiGroups:
|
|
||||||
- extensions
|
|
||||||
- networking.k8s.io
|
|
||||||
resources:
|
|
||||||
- ingresses
|
|
||||||
verbs:
|
|
||||||
- get
|
|
||||||
- list
|
|
||||||
- apiGroups:
|
|
||||||
- traefik.containo.us
|
|
||||||
- traefik.io
|
|
||||||
resources:
|
|
||||||
- ingressroutes
|
|
||||||
verbs:
|
|
||||||
- get
|
|
||||||
- list
|
|
||||||
- apiGroups:
|
|
||||||
- metrics.k8s.io
|
|
||||||
resources:
|
|
||||||
- nodes
|
|
||||||
- pods
|
|
||||||
verbs:
|
|
||||||
- get
|
|
||||||
- list
|
|
||||||
- apiGroups:
|
|
||||||
- apiextensions.k8s.io
|
|
||||||
resources:
|
|
||||||
- customresourcedefinitions/status
|
|
||||||
verbs:
|
|
||||||
- get
|
|
@@ -1,36 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: ConfigMap
|
|
||||||
metadata:
|
|
||||||
name: homepage-config
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: homepage
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/component: web
|
|
||||||
app.kubernetes.io/part-of: homepage
|
|
||||||
data:
|
|
||||||
bookmarks.yaml: {{- if .Values.config.bookmarks }} |
|
|
||||||
{{- .Values.config.bookmarks | toYaml | nindent 4}}
|
|
||||||
{{- else }} ""
|
|
||||||
{{- end }}
|
|
||||||
docker.yaml: {{- if .Values.config.docker }} |
|
|
||||||
{{- .Values.config.docker | toYaml | nindent 4 }}
|
|
||||||
{{- else }} ""
|
|
||||||
{{- end }}
|
|
||||||
kubernetes.yaml: {{- if .Values.config.kubernetes }} |
|
|
||||||
{{- .Values.config.kubernetes | toYaml | nindent 4 }}
|
|
||||||
{{- else }} ""
|
|
||||||
{{- end }}
|
|
||||||
services.yaml: {{- if .Values.config.services }} |
|
|
||||||
{{- .Values.config.services | toYaml | nindent 4 }}
|
|
||||||
{{- else }} ""
|
|
||||||
{{- end }}
|
|
||||||
settings.yaml: {{- if .Values.config.settings }} |
|
|
||||||
{{- .Values.config.settings | toYaml | nindent 4 }}
|
|
||||||
{{- else }} ""
|
|
||||||
{{- end }}
|
|
||||||
widgets.yaml: {{- if .Values.config.widgets }} |
|
|
||||||
{{- .Values.config.widgets | toYaml | nindent 4 }}
|
|
||||||
{{- else }} ""
|
|
||||||
{{- end }}
|
|
@@ -1,95 +0,0 @@
|
|||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: homepage
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: homepage
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/component: web
|
|
||||||
app.kubernetes.io/part-of: homepage
|
|
||||||
spec:
|
|
||||||
revisionHistoryLimit: 3
|
|
||||||
replicas: {{ .Values.deployment.replicas }}
|
|
||||||
strategy:
|
|
||||||
type: {{ .Values.deployment.strategy }}
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app.kubernetes.io/name: homepage
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: homepage
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
serviceAccountName: homepage
|
|
||||||
automountServiceAccountToken: true
|
|
||||||
containers:
|
|
||||||
- name: {{ .Release.Name }}
|
|
||||||
image: "{{ .Values.deployment.image.repository }}:{{ .Values.deployment.image.tag }}"
|
|
||||||
imagePullPolicy: {{ .Values.deployment.image.imagePullPolicy }}
|
|
||||||
ports:
|
|
||||||
- name: http
|
|
||||||
containerPort: {{ .Values.service.http.port }}
|
|
||||||
protocol: TCP
|
|
||||||
env:
|
|
||||||
{{- range $k,$v := .Values.deployment.env }}
|
|
||||||
- name: {{ $k }}
|
|
||||||
value: {{ $v | quote }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.deployment.envFrom }}
|
|
||||||
envFrom:
|
|
||||||
{{- toYaml . | nindent 12 }}
|
|
||||||
{{- end }}
|
|
||||||
volumeMounts:
|
|
||||||
- name: homepage-config
|
|
||||||
subPath: bookmarks.yaml
|
|
||||||
mountPath: /app/config/bookmarks.yaml
|
|
||||||
- name: homepage-config
|
|
||||||
subPath: docker.yaml
|
|
||||||
mountPath: /app/config/docker.yaml
|
|
||||||
- name: homepage-config
|
|
||||||
subPath: kubernetes.yaml
|
|
||||||
mountPath: /app/config/kubernetes.yaml
|
|
||||||
- name: homepage-config
|
|
||||||
subPath: services.yaml
|
|
||||||
mountPath: /app/config/services.yaml
|
|
||||||
- name: homepage-config
|
|
||||||
subPath: settings.yaml
|
|
||||||
mountPath: /app/config/settings.yaml
|
|
||||||
- name: homepage-config
|
|
||||||
subPath: widgets.yaml
|
|
||||||
mountPath: /app/config/widgets.yaml
|
|
||||||
- name: logs
|
|
||||||
mountPath: /app/config/logs
|
|
||||||
resources:
|
|
||||||
{{- toYaml .Values.deployment.resources | nindent 12 }}
|
|
||||||
livenessProbe:
|
|
||||||
failureThreshold: 3
|
|
||||||
initialDelaySeconds: 0
|
|
||||||
periodSeconds: 10
|
|
||||||
tcpSocket:
|
|
||||||
port: {{ .Values.service.http.port }}
|
|
||||||
timeoutSeconds: 1
|
|
||||||
readinessProbe:
|
|
||||||
failureThreshold: 3
|
|
||||||
initialDelaySeconds: 0
|
|
||||||
periodSeconds: 10
|
|
||||||
tcpSocket:
|
|
||||||
port: {{ .Values.service.http.port }}
|
|
||||||
timeoutSeconds: 1
|
|
||||||
startupProbe:
|
|
||||||
failureThreshold: 30
|
|
||||||
initialDelaySeconds: 0
|
|
||||||
periodSeconds: 5
|
|
||||||
tcpSocket:
|
|
||||||
port: {{ .Values.service.http.port }}
|
|
||||||
timeoutSeconds: 1
|
|
||||||
volumes:
|
|
||||||
- name: homepage-config
|
|
||||||
configMap:
|
|
||||||
name: homepage-config
|
|
||||||
- name: logs
|
|
||||||
emptyDir: {}
|
|
@@ -1,32 +0,0 @@
|
|||||||
apiVersion: traefik.io/v1alpha1
|
|
||||||
kind: IngressRoute
|
|
||||||
metadata:
|
|
||||||
name: homepage
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: homepage
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/component: web
|
|
||||||
app.kubernetes.io/part-of: homepage
|
|
||||||
spec:
|
|
||||||
entryPoints:
|
|
||||||
- websecure
|
|
||||||
routes:
|
|
||||||
- kind: Rule
|
|
||||||
match: "Host(`{{ .Values.ingressRoute.host }}`)"
|
|
||||||
middlewares:
|
|
||||||
- name: "authentik-{{ .Release.Name }}"
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
priority: 10
|
|
||||||
services:
|
|
||||||
- kind: Service
|
|
||||||
name: homepage
|
|
||||||
port: {{ .Values.service.http.port }}
|
|
||||||
- kind: Rule
|
|
||||||
match: "Host(`{{ .Values.ingressRoute.host }}`) && PathPrefix(`/outpost.goauthentik.io/`)"
|
|
||||||
priority: 15
|
|
||||||
services:
|
|
||||||
- kind: Service
|
|
||||||
name: {{ .Values.ingressRoute.authentik.outpost }}
|
|
||||||
port: {{ .Values.ingressRoute.authentik.port }}
|
|
@@ -1,27 +0,0 @@
|
|||||||
apiVersion: traefik.containo.us/v1alpha1
|
|
||||||
kind: Middleware
|
|
||||||
metadata:
|
|
||||||
name: "authentik-{{ .Release.Name }}"
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/component: auth
|
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
forwardAuth:
|
|
||||||
address: "http://{{ .Values.ingressRoute.authentik.outpost }}.authentik:{{ .Values.ingressRoute.authentik.port }}/outpost.goauthentik.io/auth/traefik"
|
|
||||||
trustForwardHeader: true
|
|
||||||
authResponseHeaders:
|
|
||||||
- X-authentik-username
|
|
||||||
- X-authentik-groups
|
|
||||||
- X-authentik-email
|
|
||||||
- X-authentik-name
|
|
||||||
- X-authentik-uid
|
|
||||||
- X-authentik-jwt
|
|
||||||
- X-authentik-meta-jwks
|
|
||||||
- X-authentik-meta-outpost
|
|
||||||
- X-authentik-meta-provider
|
|
||||||
- X-authentik-meta-app
|
|
||||||
- X-authentik-meta-version
|
|
@@ -1,14 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: Secret
|
|
||||||
type: kubernetes.io/service-account-token
|
|
||||||
metadata:
|
|
||||||
name: "{{ .Release.Name }}-sa-token"
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: homepage
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/component: web
|
|
||||||
app.kubernetes.io/part-of: homepage
|
|
||||||
annotations:
|
|
||||||
kubernetes.io/service-account.name: homepage
|
|
@@ -1,13 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: ServiceAccount
|
|
||||||
metadata:
|
|
||||||
name: homepage
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: homepage
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/component: web
|
|
||||||
app.kubernetes.io/part-of: homepage
|
|
||||||
secrets:
|
|
||||||
- name: "{{ .Release.Name }}-sa-token"
|
|
@@ -1,21 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: homepage
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: homepage
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/component: web
|
|
||||||
app.kubernetes.io/part-of: homepage
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
ports:
|
|
||||||
- port: {{ .Values.service.http.port }}
|
|
||||||
targetPort: http
|
|
||||||
protocol: TCP
|
|
||||||
name: http
|
|
||||||
selector:
|
|
||||||
app.kubernetes.io/name: homepage
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
@@ -1,32 +0,0 @@
|
|||||||
deployment:
|
|
||||||
replicas: 1
|
|
||||||
strategy: Recreate
|
|
||||||
image:
|
|
||||||
repository: ghcr.io/gethomepage/homepage
|
|
||||||
tag: v0.8.12
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
env:
|
|
||||||
envFrom:
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
memory: 256Mi
|
|
||||||
cpu: 50m
|
|
||||||
limits:
|
|
||||||
memory: 512Mi
|
|
||||||
cpu: 500m
|
|
||||||
service:
|
|
||||||
http:
|
|
||||||
port: 3000
|
|
||||||
ingressRoute:
|
|
||||||
host:
|
|
||||||
authentik:
|
|
||||||
outpost:
|
|
||||||
port: 9000
|
|
||||||
config:
|
|
||||||
bookmarks:
|
|
||||||
services:
|
|
||||||
widgets:
|
|
||||||
kubernetes:
|
|
||||||
mode: cluster
|
|
||||||
docker:
|
|
||||||
settings:
|
|
@@ -1,13 +0,0 @@
|
|||||||
apiVersion: v2
|
|
||||||
name: kubelet-serving-cert-approver
|
|
||||||
version: 0.0.4
|
|
||||||
description: Kubelet Serving TLS Certificate Signing Request Approver
|
|
||||||
keywords:
|
|
||||||
- kubernetes
|
|
||||||
- certificate
|
|
||||||
sources:
|
|
||||||
- https://github.com/alex1989hu/kubelet-serving-cert-approver
|
|
||||||
- https://github.com/alexlebens/helm-charts/charts/homepage
|
|
||||||
maintainers:
|
|
||||||
- name: alexlebens
|
|
||||||
appVersion: 0.8.1
|
|
@@ -1,16 +0,0 @@
|
|||||||
## Introduction
|
|
||||||
|
|
||||||
[Kubelet Serving Certificate Approver](https://github.com/alex1989hu/kubelet-serving-cert-approver)
|
|
||||||
|
|
||||||
Kubelet Serving Certificate Approver is a custom approving controller which approves kubernetes.io/kubelet-serving Certificate Signing Request that kubelet use to serve TLS endpoints.
|
|
||||||
|
|
||||||
This chart bootstraps a [Kubelet Serving Certificate Approver](https://github.com/alex1989hu/kubelet-serving-cert-approver) deployment on a [Kubernetes](https://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.
|
|
||||||
|
|
||||||
## Prerequisites
|
|
||||||
|
|
||||||
- Kubernetes
|
|
||||||
- Helm
|
|
||||||
|
|
||||||
## Parameters
|
|
||||||
|
|
||||||
See the [values files](values.yaml).
|
|
@@ -1,19 +0,0 @@
|
|||||||
apiVersion: rbac.authorization.k8s.io/v1
|
|
||||||
kind: ClusterRoleBinding
|
|
||||||
metadata:
|
|
||||||
name: kubelet-serving-cert-approver
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: kubelet-serving-cert-approver
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/component: server
|
|
||||||
app.kubernetes.io/part-of: kubelet-serving-cert-approver
|
|
||||||
roleRef:
|
|
||||||
apiGroup: rbac.authorization.k8s.io
|
|
||||||
kind: ClusterRole
|
|
||||||
name: "certificates:{{ .Release.Name }}"
|
|
||||||
subjects:
|
|
||||||
- kind: ServiceAccount
|
|
||||||
name: {{ .Release.Name }}
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
@@ -1,61 +0,0 @@
|
|||||||
apiVersion: rbac.authorization.k8s.io/v1
|
|
||||||
kind: ClusterRole
|
|
||||||
metadata:
|
|
||||||
name: "certificates:{{ .Release.Name }}"
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: kubelet-serving-cert-approver
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/component: server
|
|
||||||
app.kubernetes.io/part-of: kubelet-serving-cert-approver
|
|
||||||
rules:
|
|
||||||
- apiGroups:
|
|
||||||
- certificates.k8s.io
|
|
||||||
resources:
|
|
||||||
- certificatesigningrequests
|
|
||||||
verbs:
|
|
||||||
- get
|
|
||||||
- list
|
|
||||||
- watch
|
|
||||||
- apiGroups:
|
|
||||||
- certificates.k8s.io
|
|
||||||
resources:
|
|
||||||
- certificatesigningrequests/approval
|
|
||||||
verbs:
|
|
||||||
- update
|
|
||||||
- apiGroups:
|
|
||||||
- authorization.k8s.io
|
|
||||||
resources:
|
|
||||||
- subjectaccessreviews
|
|
||||||
verbs:
|
|
||||||
- create
|
|
||||||
- apiGroups:
|
|
||||||
- certificates.k8s.io
|
|
||||||
resourceNames:
|
|
||||||
- kubernetes.io/kubelet-serving
|
|
||||||
resources:
|
|
||||||
- signers
|
|
||||||
verbs:
|
|
||||||
- approve
|
|
||||||
|
|
||||||
---
|
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
|
||||||
kind: ClusterRole
|
|
||||||
metadata:
|
|
||||||
name: "events:{{ .Release.Name }}"
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: kubelet-serving-cert-approver
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/component: server
|
|
||||||
app.kubernetes.io/part-of: kubelet-serving-cert-approverv
|
|
||||||
rules:
|
|
||||||
- apiGroups:
|
|
||||||
- ""
|
|
||||||
resources:
|
|
||||||
- events
|
|
||||||
verbs:
|
|
||||||
- create
|
|
||||||
- patch
|
|
@@ -1,88 +0,0 @@
|
|||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: kubelet-serving-cert-approver
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: kubelet-serving-cert-approver
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/component: server
|
|
||||||
app.kubernetes.io/part-of: kubelet-serving-cert-approver
|
|
||||||
spec:
|
|
||||||
revisionHistoryLimit: 3
|
|
||||||
replicas: {{ .Values.deployment.replicas }}
|
|
||||||
strategy:
|
|
||||||
type: {{ .Values.deployment.strategy }}
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app.kubernetes.io/name: kubelet-serving-cert-approver
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: kubelet-serving-cert-approver
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
spec:
|
|
||||||
affinity:
|
|
||||||
nodeAffinity:
|
|
||||||
preferredDuringSchedulingIgnoredDuringExecution:
|
|
||||||
- preference:
|
|
||||||
matchExpressions:
|
|
||||||
- key: node-role.kubernetes.io/master
|
|
||||||
operator: DoesNotExist
|
|
||||||
- key: node-role.kubernetes.io/control-plane
|
|
||||||
operator: DoesNotExist
|
|
||||||
weight: 100
|
|
||||||
containers:
|
|
||||||
- name: {{ .Release.Name }}
|
|
||||||
image: "{{ .Values.deployment.image.repository }}:{{ .Values.deployment.image.tag }}"
|
|
||||||
imagePullPolicy: {{ .Values.deployment.image.imagePullPolicy }}
|
|
||||||
ports:
|
|
||||||
- containerPort: 8080
|
|
||||||
name: health
|
|
||||||
- containerPort: 9090
|
|
||||||
name: metrics
|
|
||||||
args:
|
|
||||||
- serve
|
|
||||||
env:
|
|
||||||
- name: NAMESPACE
|
|
||||||
valueFrom:
|
|
||||||
fieldRef:
|
|
||||||
fieldPath: metadata.namespace
|
|
||||||
resources:
|
|
||||||
{{- toYaml .Values.deployment.resources | nindent 12 }}
|
|
||||||
livenessProbe:
|
|
||||||
httpGet:
|
|
||||||
path: /healthz
|
|
||||||
port: health
|
|
||||||
initialDelaySeconds: 6
|
|
||||||
readinessProbe:
|
|
||||||
httpGet:
|
|
||||||
path: /readyz
|
|
||||||
port: health
|
|
||||||
initialDelaySeconds: 3
|
|
||||||
securityContext:
|
|
||||||
allowPrivilegeEscalation: false
|
|
||||||
capabilities:
|
|
||||||
drop:
|
|
||||||
- ALL
|
|
||||||
privileged: false
|
|
||||||
readOnlyRootFilesystem: true
|
|
||||||
runAsNonRoot: true
|
|
||||||
priorityClassName: {{ .Values.deployment.priorityClassName }}
|
|
||||||
securityContext:
|
|
||||||
fsGroup: 65534
|
|
||||||
runAsGroup: 65534
|
|
||||||
runAsUser: 65534
|
|
||||||
seccompProfile:
|
|
||||||
type: RuntimeDefault
|
|
||||||
serviceAccountName: kubelet-serving-cert-approver
|
|
||||||
tolerations:
|
|
||||||
- effect: NoSchedule
|
|
||||||
key: node-role.kubernetes.io/master
|
|
||||||
operator: Exists
|
|
||||||
- effect: NoSchedule
|
|
||||||
key: node-role.kubernetes.io/control-plane
|
|
||||||
operator: Exists
|
|
@@ -1,10 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: Namespace
|
|
||||||
metadata:
|
|
||||||
name: kubelet-serving-cert-approver
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: kubelet-serving-cert-approver
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
pod-security.kubernetes.io/audit: restricted
|
|
||||||
pod-security.kubernetes.io/enforce: restricted
|
|
||||||
pod-security.kubernetes.io/warn: restricted
|
|
@@ -1,19 +0,0 @@
|
|||||||
apiVersion: rbac.authorization.k8s.io/v1
|
|
||||||
kind: RoleBinding
|
|
||||||
metadata:
|
|
||||||
name: "events:{{ .Release.Name }}"
|
|
||||||
namespace: default
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: kubelet-serving-cert-approver
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/component: server
|
|
||||||
app.kubernetes.io/part-of: kubelet-serving-cert-approver
|
|
||||||
roleRef:
|
|
||||||
apiGroup: rbac.authorization.k8s.io
|
|
||||||
kind: ClusterRole
|
|
||||||
name: "events:{{ .Release.Name }}"
|
|
||||||
subjects:
|
|
||||||
- kind: ServiceAccount
|
|
||||||
name: kubelet-serving-cert-approver
|
|
||||||
namespace: {{ .Release.Name }}
|
|
@@ -1,11 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: ServiceAccount
|
|
||||||
metadata:
|
|
||||||
name: kubelet-serving-cert-approver
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: kubelet-serving-cert-approver
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/component: server
|
|
||||||
app.kubernetes.io/part-of: kubelet-serving-cert-approver
|
|
@@ -1,20 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: kubelet-serving-cert-approver
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: kubelet-serving-cert-approver
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/component: server
|
|
||||||
app.kubernetes.io/part-of: kubelet-serving-cert-approver
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: metrics
|
|
||||||
port: 9090
|
|
||||||
protocol: TCP
|
|
||||||
targetPort: metrics
|
|
||||||
selector:
|
|
||||||
app.kubernetes.io/name: kubelet-serving-cert-approver
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
@@ -1,15 +0,0 @@
|
|||||||
deployment:
|
|
||||||
replicas: 1
|
|
||||||
strategy: Recreate
|
|
||||||
priorityClassName: system-cluster-critical
|
|
||||||
image:
|
|
||||||
repository: ghcr.io/alex1989hu/kubelet-serving-cert-approver
|
|
||||||
tag: main
|
|
||||||
imagePullPolicy: Always
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: 250m
|
|
||||||
memory: 32Mi
|
|
||||||
requests:
|
|
||||||
cpu: 10m
|
|
||||||
memory: 16Mi
|
|
@@ -1,23 +0,0 @@
|
|||||||
apiVersion: v2
|
|
||||||
name: kyoo
|
|
||||||
version: 0.1.9
|
|
||||||
description: Chart for Kyoo
|
|
||||||
keywords:
|
|
||||||
- media
|
|
||||||
sources:
|
|
||||||
- https://github.com/zoriya/Kyoo
|
|
||||||
- https://github.com/rabbitmq/rabbitmq-server
|
|
||||||
- https://github.com/bitnami/charts/tree/main/bitnami/rabbitmq
|
|
||||||
- https://github.com/meilisearch/meilisearch
|
|
||||||
- https://github.com/meilisearch/meilisearch-kubernetes/tree/main/charts/meilisearch
|
|
||||||
maintainers:
|
|
||||||
- name: alexlebens
|
|
||||||
icon: https://raw.githubusercontent.com/zoriya/Kyoo/master/icons/icon-256x256.png
|
|
||||||
dependencies:
|
|
||||||
- name: rabbitmq
|
|
||||||
version: 14.0.1
|
|
||||||
repository: https://charts.bitnami.com/bitnami
|
|
||||||
- name: meilisearch
|
|
||||||
version: 0.6.1
|
|
||||||
repository: https://meilisearch.github.io/meilisearch-kubernetes
|
|
||||||
appVersion: v4.4.0
|
|
@@ -1,17 +0,0 @@
|
|||||||
## Introduction
|
|
||||||
|
|
||||||
[Kyoo](https://github.com/zoriya/Kyoo)
|
|
||||||
|
|
||||||
A portable and vast media library solution.
|
|
||||||
|
|
||||||
This chart bootstraps a [Kyoo](https://github.com/zoriya/Kyoo) deployment on a [Kubernetes](https://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.
|
|
||||||
|
|
||||||
|
|
||||||
## Prerequisites
|
|
||||||
|
|
||||||
- Kubernetes
|
|
||||||
- Helm
|
|
||||||
|
|
||||||
## Parameters
|
|
||||||
|
|
||||||
See the [values files](values.yaml).
|
|
@@ -1,155 +0,0 @@
|
|||||||
{{/*
|
|
||||||
Expand the name of the chart.
|
|
||||||
*/}}
|
|
||||||
{{- define "kyoo.name" -}}
|
|
||||||
{{- default .Chart.Name .Values.global.nameOverride | trunc 63 | trimSuffix "-" -}}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Create a default fully qualified app name.
|
|
||||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
|
||||||
*/}}
|
|
||||||
{{- define "kyoo.fullname" -}}
|
|
||||||
{{- if .Values.global.fullnameOverride -}}
|
|
||||||
{{- .Values.global.fullnameOverride | trunc 63 | trimSuffix "-" -}}
|
|
||||||
{{- else -}}
|
|
||||||
{{- $name := default .Chart.Name .Values.global.nameOverride -}}
|
|
||||||
{{- if contains $name .Release.Name -}}
|
|
||||||
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
|
|
||||||
{{- else -}}
|
|
||||||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
|
|
||||||
{{- end -}}
|
|
||||||
{{- end -}}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Create chart name and version as used by the chart label
|
|
||||||
*/}}
|
|
||||||
{{- define "kyoo.chart" -}}
|
|
||||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Common labels
|
|
||||||
*/}}
|
|
||||||
{{- define "kyoo.labels" -}}
|
|
||||||
app.kubernetes.io/name: {{ template "kyoo.name" . }}
|
|
||||||
helm.sh/chart: {{ template "kyoo.chart" . }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Common labels for specific components
|
|
||||||
*/}}
|
|
||||||
{{- define "kyoo.autosync.labels" -}}
|
|
||||||
app.kubernetes.io/name: {{ template "kyoo.name" . }}-autosync
|
|
||||||
helm.sh/chart: {{ template "kyoo.chart" . }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
|
||||||
{{- end -}}
|
|
||||||
{{- define "kyoo.back.labels" -}}
|
|
||||||
app.kubernetes.io/name: {{ template "kyoo.name" . }}-back
|
|
||||||
helm.sh/chart: {{ template "kyoo.chart" . }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
|
||||||
{{- end -}}
|
|
||||||
{{- define "kyoo.front.labels" -}}
|
|
||||||
app.kubernetes.io/name: {{ template "kyoo.name" . }}-front
|
|
||||||
helm.sh/chart: {{ template "kyoo.chart" . }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
|
||||||
{{- end -}}
|
|
||||||
{{- define "kyoo.matcher.labels" -}}
|
|
||||||
app.kubernetes.io/name: {{ template "kyoo.name" . }}-matcher
|
|
||||||
helm.sh/chart: {{ template "kyoo.chart" . }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
|
||||||
{{- end -}}
|
|
||||||
{{- define "kyoo.migrations.labels" -}}
|
|
||||||
app.kubernetes.io/name: {{ template "kyoo.name" . }}-migrations
|
|
||||||
helm.sh/chart: {{ template "kyoo.chart" . }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
|
||||||
{{- end -}}
|
|
||||||
{{- define "kyoo.scanner.labels" -}}
|
|
||||||
app.kubernetes.io/name: {{ template "kyoo.name" . }}-scanner
|
|
||||||
helm.sh/chart: {{ template "kyoo.chart" . }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
|
||||||
{{- end -}}
|
|
||||||
{{- define "kyoo.transcoder.labels" -}}
|
|
||||||
app.kubernetes.io/name: {{ template "kyoo.name" . }}-transcoder
|
|
||||||
helm.sh/chart: {{ template "kyoo.chart" . }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Labels to use on deploy.spec.selector.matchLabels and svc.spec.selector
|
|
||||||
*/}}
|
|
||||||
{{- define "kyoo.matchLabels" -}}
|
|
||||||
app.kubernetes.io/name: {{ template "kyoo.name" . }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
{{- end -}}
|
|
||||||
{{- define "kyoo.autosync.matchLabels" -}}
|
|
||||||
app.kubernetes.io/name: {{ template "kyoo.name" . }}-autosync
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
{{- end -}}
|
|
||||||
{{- define "kyoo.back.matchLabels" -}}
|
|
||||||
app.kubernetes.io/name: {{ template "kyoo.name" . }}-back
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
{{- end -}}
|
|
||||||
{{- define "kyoo.front.matchLabels" -}}
|
|
||||||
app.kubernetes.io/name: {{ template "kyoo.name" . }}-front
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
{{- end -}}
|
|
||||||
{{- define "kyoo.matcher.matchLabels" -}}
|
|
||||||
app.kubernetes.io/name: {{ template "kyoo.name" . }}-matcher
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
{{- end -}}
|
|
||||||
{{- define "kyoo.migrations.matchLabels" -}}
|
|
||||||
app.kubernetes.io/name: {{ template "kyoo.name" . }}-migrations
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
{{- end -}}
|
|
||||||
{{- define "kyoo.scanner.matchLabels" -}}
|
|
||||||
app.kubernetes.io/name: {{ template "kyoo.name" . }}-scanner
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
{{- end -}}
|
|
||||||
{{- define "kyoo.transcoder.matchLabels" -}}
|
|
||||||
app.kubernetes.io/name: {{ template "kyoo.name" . }}-transcoder
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Create the name of the service account to use
|
|
||||||
*/}}
|
|
||||||
{{- define "kyoo.serviceAccountName" -}}
|
|
||||||
{{- if .Values.serviceAccount.create -}}
|
|
||||||
{{ default (include "kyoo.fullname" .) .Values.serviceAccount.name }}
|
|
||||||
{{- else -}}
|
|
||||||
{{ default "default" .Values.serviceAccount.name }}
|
|
||||||
{{- end -}}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Create the name of the back persistent volume
|
|
||||||
*/}}
|
|
||||||
{{- define "kyoo.backVolumeName" -}}
|
|
||||||
{{- if .Values.persistence.back.existingClaim -}}
|
|
||||||
{{ .Values.persistence.back.existingClaim }}
|
|
||||||
{{- else -}}
|
|
||||||
{{ printf "%s-back" (include "kyoo.fullname" .) | trunc 63 | trimSuffix "-" }}
|
|
||||||
{{- end -}}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Create the name of the metadata persistent volume
|
|
||||||
*/}}
|
|
||||||
{{- define "kyoo.metadataVolumeName" -}}
|
|
||||||
{{- if .Values.persistence.metadata.existingClaim -}}
|
|
||||||
{{ .Values.persistence.metadata.existingClaim }}
|
|
||||||
{{- else -}}
|
|
||||||
{{ printf "%s-metadata" (include "kyoo.fullname" .) | trunc 63 | trimSuffix "-" }}
|
|
||||||
{{- end -}}
|
|
||||||
{{- end -}}
|
|
@@ -1,75 +0,0 @@
|
|||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: {{ template "kyoo.fullname" . }}-autosync
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
annotations:
|
|
||||||
{{- with .Values.global.annotations }}
|
|
||||||
{{- toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
labels:
|
|
||||||
{{- include "kyoo.autosync.labels" . | nindent 4 }}
|
|
||||||
{{- with .Values.global.labels }}
|
|
||||||
{{ toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
spec:
|
|
||||||
revisionHistoryLimit: 3
|
|
||||||
replicas: {{ .Values.autosync.replicas }}
|
|
||||||
strategy:
|
|
||||||
type: Recreate
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
{{- include "kyoo.autosync.matchLabels" . | nindent 6 }}
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
{{- include "kyoo.autosync.labels" . | nindent 8 }}
|
|
||||||
app.kubernetes.io/component: {{ template "kyoo.name" . }}-autosync
|
|
||||||
annotations:
|
|
||||||
{{- with .Values.autosync.podAnnotations }}
|
|
||||||
{{ toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
spec:
|
|
||||||
affinity:
|
|
||||||
{{- with .Values.autosync.affinity }}
|
|
||||||
{{ toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
nodeSelector:
|
|
||||||
{{- with .Values.autosync.nodeSelector }}
|
|
||||||
{{ toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
tolerations:
|
|
||||||
{{- with .Values.autosync.tolerations }}
|
|
||||||
{{ toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
serviceAccountName: {{ template "kyoo.serviceAccountName" . }}
|
|
||||||
securityContext:
|
|
||||||
{{- with .Values.autosync.securityContext }}
|
|
||||||
{{ toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
containers:
|
|
||||||
- name: {{ template "kyoo.fullname" . }}-autosync
|
|
||||||
image: "{{ .Values.autosync.image.repository }}:{{ .Values.autosync.image.tag }}"
|
|
||||||
imagePullPolicy: {{ .Values.autosync.image.pullPolicy }}
|
|
||||||
resources:
|
|
||||||
{{ toYaml .Values.autosync.resources | nindent 12 }}
|
|
||||||
env:
|
|
||||||
- name: RABBITMQ_HOST
|
|
||||||
value: {{ template "kyoo.fullname" . }}-rabbitmq
|
|
||||||
- name: RABBITMQ_DEFAULT_USER
|
|
||||||
value: "{{ .Values.rabbitmq.auth.username }}"
|
|
||||||
- name: RABBITMQ_DEFAULT_PASS
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: "{{ .Values.rabbitmq.auth.existingPasswordSecret }}"
|
|
||||||
key: "{{ .Values.rabbitmq.auth.existingSecretPasswordKey }}"
|
|
||||||
{{ if .Values.config.secretAPIKey.existingSimklSecretKey }}
|
|
||||||
- name: OIDC_SIMKL_CLIENTID
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: "{{ .Values.config.secretAPIKey.existingSecretName }}"
|
|
||||||
key: "{{ .Values.config.secretAPIKey.existingSimklSecretKey }}"
|
|
||||||
{{ end }}
|
|
||||||
{{- with .Values.autosync.extraVars }}
|
|
||||||
{{- toYaml . | nindent 12 }}
|
|
||||||
{{- end }}
|
|
@@ -1,173 +0,0 @@
|
|||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: {{ template "kyoo.fullname" . }}-back
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
annotations:
|
|
||||||
{{- with .Values.global.annotations }}
|
|
||||||
{{- toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
labels:
|
|
||||||
{{- include "kyoo.back.labels" . | nindent 4 }}
|
|
||||||
{{- with .Values.global.labels }}
|
|
||||||
{{ toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
spec:
|
|
||||||
revisionHistoryLimit: 3
|
|
||||||
replicas: {{ .Values.back.replicas }}
|
|
||||||
strategy:
|
|
||||||
type: Recreate
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
{{- include "kyoo.back.matchLabels" . | nindent 6 }}
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
{{- include "kyoo.back.labels" . | nindent 8 }}
|
|
||||||
app.kubernetes.io/component: {{ template "kyoo.name" . }}-back
|
|
||||||
annotations:
|
|
||||||
{{- with .Values.back.podAnnotations }}
|
|
||||||
{{ toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
spec:
|
|
||||||
affinity:
|
|
||||||
{{- with .Values.back.affinity }}
|
|
||||||
{{ toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
nodeSelector:
|
|
||||||
{{- with .Values.back.nodeSelector }}
|
|
||||||
{{ toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
tolerations:
|
|
||||||
{{- with .Values.back.tolerations }}
|
|
||||||
{{ toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
serviceAccountName: {{ template "kyoo.serviceAccountName" . }}
|
|
||||||
securityContext:
|
|
||||||
{{- with .Values.back.securityContext }}
|
|
||||||
{{ toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
containers:
|
|
||||||
- name: {{ template "kyoo.fullname" . }}-back
|
|
||||||
image: "{{ .Values.back.image.repository }}:{{ .Values.back.image.tag }}"
|
|
||||||
imagePullPolicy: {{ .Values.back.image.pullPolicy }}
|
|
||||||
resources:
|
|
||||||
{{ toYaml .Values.back.resources | nindent 12 }}
|
|
||||||
ports:
|
|
||||||
- name: kyoo-back
|
|
||||||
containerPort: {{ .Values.back.service.port }}
|
|
||||||
protocol: TCP
|
|
||||||
volumeMounts:
|
|
||||||
- name: kyoo-back
|
|
||||||
mountPath: /kyoo
|
|
||||||
env:
|
|
||||||
{{- with .Values.back.extraVars }}
|
|
||||||
{{- toYaml . | nindent 12 }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
- name: REQUIRE_ACCOUNT_VERIFICATION
|
|
||||||
value: "{{ .Values.config.requireAccountVerification }}"
|
|
||||||
- name: UNLOGGED_PERMISSIONS
|
|
||||||
value: "{{ .Values.config.unloggedPermissions }}"
|
|
||||||
- name: DEFAULT_PERMISSIONS
|
|
||||||
value: "{{ .Values.config.defaultPermissions }}"
|
|
||||||
- name: AUTHENTICATION_SECRET
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: "{{ .Values.config.secretAuthenticationKey.existingSecretName }}"
|
|
||||||
key: "{{ .Values.config.secretAuthenticationKey.existingSecretKey }}"
|
|
||||||
- name: KYOO_APIKEYS
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: "{{ .Values.config.secretAPIKey.existingSecretName }}"
|
|
||||||
key: "{{ .Values.config.secretAPIKey.existingKyooSecretKey }}"
|
|
||||||
- name: PUBLIC_URL
|
|
||||||
value: "{{ .Values.config.publicUrl }}"
|
|
||||||
- name: POSTGRES_USER
|
|
||||||
value: "{{ .Values.config.postgresql.username }}"
|
|
||||||
- name: POSTGRES_PASSWORD
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: "{{ .Values.config.postgresql.existingSecretName }}"
|
|
||||||
key: "{{ .Values.config.postgresql.passwordKey }}"
|
|
||||||
- name: POSTGRES_DB
|
|
||||||
value: "{{ .Values.config.postgresql.database }}"
|
|
||||||
- name: POSTGRES_SERVER
|
|
||||||
value: "{{ .Values.config.postgresql.host }}"
|
|
||||||
- name: POSTGRES_PORT
|
|
||||||
value: "{{ .Values.config.postgresql.port }}"
|
|
||||||
|
|
||||||
{{ if .Values.config.oidc.enabled }}
|
|
||||||
- name: OIDC_SERVICE_NAME
|
|
||||||
value: "{{ .Values.config.oidc.name }}"
|
|
||||||
- name: OIDC_SERVICE_LOGO
|
|
||||||
value: "{{ .Values.config.oidc.logo }}"
|
|
||||||
- name: OIDC_SERVICE_AUTHORIZATION
|
|
||||||
value: "{{ .Values.config.oidc.authorization }}"
|
|
||||||
- name: OIDC_SERVICE_TOKEN
|
|
||||||
value: "{{ .Values.config.oidc.token }}"
|
|
||||||
- name: OIDC_SERVICE_PROFILE
|
|
||||||
value: "{{ .Values.config.oidc.profile }}"
|
|
||||||
- name: OIDC_SERVICE_SCOPE
|
|
||||||
value: "{{ .Values.config.oidc.scope }}"
|
|
||||||
- name: OIDC_CLIENT_ID
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: "{{ .Values.config.oidc.existingSecretName }}"
|
|
||||||
key: "{{ .Values.config.oidc.clientIDKey }}"
|
|
||||||
- name: OIDC_CLIENT_SECRET
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: "{{ .Values.config.oidc.existingSecretName }}"
|
|
||||||
key: "{{ .Values.config.oidc.secretIDKey }}"
|
|
||||||
{{ end }}
|
|
||||||
|
|
||||||
- name: MEILI_HOST
|
|
||||||
value: http://{{ template "kyoo.fullname" . }}-meilisearch.{{ .Release.Namespace }}:{{ .Values.meilisearch.service.port }}
|
|
||||||
- name: MEILI_MASTER_KEY
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: "{{ .Values.meilisearch.auth.existingMasterKeySecret }}"
|
|
||||||
key: MEILI_MASTER_KEY
|
|
||||||
- name: RABBITMQ_HOST
|
|
||||||
value: {{ template "kyoo.fullname" . }}-rabbitmq
|
|
||||||
- name: RABBITMQ_DEFAULT_USER
|
|
||||||
value: "{{ .Values.rabbitmq.auth.username }}"
|
|
||||||
- name: RABBITMQ_DEFAULT_PASS
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: "{{ .Values.rabbitmq.auth.existingPasswordSecret }}"
|
|
||||||
key: "{{ .Values.rabbitmq.auth.existingSecretPasswordKey }}"
|
|
||||||
|
|
||||||
{{- if .Values.back.livenessProbe.enabled }}
|
|
||||||
livenessProbe:
|
|
||||||
httpGet:
|
|
||||||
path: {{ .Values.back.livenessProbe.path }}
|
|
||||||
port: {{ .Values.back.service.port }}
|
|
||||||
initialDelaySeconds: {{ .Values.back.livenessProbe.initialDelaySeconds }}
|
|
||||||
periodSeconds: {{ .Values.back.livenessProbe.periodSeconds }}
|
|
||||||
timeoutSeconds: {{ .Values.back.livenessProbe.timeoutSeconds }}
|
|
||||||
successThreshold: {{ .Values.back.livenessProbe.successThreshold }}
|
|
||||||
failureThreshold: {{ .Values.back.livenessProbe.failureThreshold }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
{{- if .Values.back.readinessProbe.enabled }}
|
|
||||||
readinessProbe:
|
|
||||||
httpGet:
|
|
||||||
path: {{ .Values.back.livenessProbe.path }}
|
|
||||||
port: {{ .Values.back.service.port }}
|
|
||||||
initialDelaySeconds: {{ .Values.back.readinessProbe.initialDelaySeconds }}
|
|
||||||
periodSeconds: {{ .Values.back.readinessProbe.periodSeconds }}
|
|
||||||
timeoutSeconds: {{ .Values.back.readinessProbe.timeoutSeconds }}
|
|
||||||
successThreshold: {{ .Values.back.readinessProbe.successThreshold }}
|
|
||||||
failureThreshold: {{ .Values.back.readinessProbe.failureThreshold }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
- name: kyoo-back
|
|
||||||
{{- if .Values.persistence.back.enabled }}
|
|
||||||
persistentVolumeClaim:
|
|
||||||
claimName: {{ include "kyoo.backVolumeName" . }}
|
|
||||||
{{- else }}
|
|
||||||
emptyDir: {}
|
|
||||||
{{- end }}
|
|
@@ -1,90 +0,0 @@
|
|||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: {{ template "kyoo.fullname" . }}-front
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
annotations:
|
|
||||||
{{- with .Values.global.annotations }}
|
|
||||||
{{- toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
labels:
|
|
||||||
{{- include "kyoo.front.labels" . | nindent 4 }}
|
|
||||||
{{- with .Values.global.labels }}
|
|
||||||
{{ toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
spec:
|
|
||||||
revisionHistoryLimit: 3
|
|
||||||
replicas: {{ .Values.front.replicas }}
|
|
||||||
strategy:
|
|
||||||
type: Recreate
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
{{- include "kyoo.front.matchLabels" . | nindent 6 }}
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
{{- include "kyoo.front.labels" . | nindent 8 }}
|
|
||||||
app.kubernetes.io/component: {{ template "kyoo.name" . }}-front
|
|
||||||
annotations:
|
|
||||||
{{- with .Values.front.podAnnotations }}
|
|
||||||
{{ toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
spec:
|
|
||||||
affinity:
|
|
||||||
{{- with .Values.front.affinity }}
|
|
||||||
{{ toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
nodeSelector:
|
|
||||||
{{- with .Values.front.nodeSelector }}
|
|
||||||
{{ toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
tolerations:
|
|
||||||
{{- with .Values.front.tolerations }}
|
|
||||||
{{ toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
serviceAccountName: {{ template "kyoo.serviceAccountName" . }}
|
|
||||||
securityContext:
|
|
||||||
{{- with .Values.front.securityContext }}
|
|
||||||
{{ toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
containers:
|
|
||||||
- name: {{ template "kyoo.fullname" . }}-front
|
|
||||||
image: "{{ .Values.front.image.repository }}:{{ .Values.front.image.tag }}"
|
|
||||||
imagePullPolicy: {{ .Values.front.image.pullPolicy }}
|
|
||||||
resources:
|
|
||||||
{{ toYaml .Values.front.resources | nindent 12 }}
|
|
||||||
ports:
|
|
||||||
- name: kyoo-front
|
|
||||||
containerPort: {{ .Values.front.service.port }}
|
|
||||||
protocol: TCP
|
|
||||||
env:
|
|
||||||
{{- with .Values.back.extraVars }}
|
|
||||||
{{- toYaml . | nindent 12 }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
- name: KYOO_URL
|
|
||||||
value: http://{{ template "kyoo.fullname" . }}-back.{{ .Release.Namespace }}:{{ .Values.back.service.port }}
|
|
||||||
|
|
||||||
{{- if .Values.front.livenessProbe.enabled }}
|
|
||||||
livenessProbe:
|
|
||||||
httpGet:
|
|
||||||
path: {{ .Values.front.livenessProbe.path }}
|
|
||||||
port: {{ .Values.front.service.port }}
|
|
||||||
initialDelaySeconds: {{ .Values.front.livenessProbe.initialDelaySeconds }}
|
|
||||||
periodSeconds: {{ .Values.front.livenessProbe.periodSeconds }}
|
|
||||||
timeoutSeconds: {{ .Values.front.livenessProbe.timeoutSeconds }}
|
|
||||||
successThreshold: {{ .Values.front.livenessProbe.successThreshold }}
|
|
||||||
failureThreshold: {{ .Values.front.livenessProbe.failureThreshold }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
{{- if .Values.front.readinessProbe.enabled }}
|
|
||||||
readinessProbe:
|
|
||||||
httpGet:
|
|
||||||
path: {{ .Values.front.livenessProbe.path }}
|
|
||||||
port: {{ .Values.front.service.port }}
|
|
||||||
initialDelaySeconds: {{ .Values.front.readinessProbe.initialDelaySeconds }}
|
|
||||||
periodSeconds: {{ .Values.front.readinessProbe.periodSeconds }}
|
|
||||||
timeoutSeconds: {{ .Values.front.readinessProbe.timeoutSeconds }}
|
|
||||||
successThreshold: {{ .Values.front.readinessProbe.successThreshold }}
|
|
||||||
failureThreshold: {{ .Values.front.readinessProbe.failureThreshold }}
|
|
||||||
{{- end }}
|
|
@@ -1,92 +0,0 @@
|
|||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: {{ template "kyoo.fullname" . }}-matcher
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
annotations:
|
|
||||||
{{- with .Values.global.annotations }}
|
|
||||||
{{- toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
labels:
|
|
||||||
{{- include "kyoo.matcher.labels" . | nindent 4 }}
|
|
||||||
{{- with .Values.global.labels }}
|
|
||||||
{{ toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
spec:
|
|
||||||
revisionHistoryLimit: 3
|
|
||||||
replicas: {{ .Values.matcher.replicas }}
|
|
||||||
strategy:
|
|
||||||
type: Recreate
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
{{- include "kyoo.matcher.matchLabels" . | nindent 6 }}
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
{{- include "kyoo.matcher.labels" . | nindent 8 }}
|
|
||||||
app.kubernetes.io/component: {{ template "kyoo.name" . }}-matcher
|
|
||||||
annotations:
|
|
||||||
{{- with .Values.matcher.podAnnotations }}
|
|
||||||
{{ toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
spec:
|
|
||||||
affinity:
|
|
||||||
{{- with .Values.matcher.affinity }}
|
|
||||||
{{ toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
nodeSelector:
|
|
||||||
{{- with .Values.matcher.nodeSelector }}
|
|
||||||
{{ toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
tolerations:
|
|
||||||
{{- with .Values.matcher.tolerations }}
|
|
||||||
{{ toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
serviceAccountName: {{ template "kyoo.serviceAccountName" . }}
|
|
||||||
securityContext:
|
|
||||||
{{- with .Values.matcher.securityContext }}
|
|
||||||
{{ toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
containers:
|
|
||||||
- name: {{ template "kyoo.fullname" . }}-matcher
|
|
||||||
image: "{{ .Values.matcher.image.repository }}:{{ .Values.matcher.image.tag }}"
|
|
||||||
imagePullPolicy: {{ .Values.matcher.image.pullPolicy }}
|
|
||||||
resources:
|
|
||||||
{{ toYaml .Values.matcher.resources | nindent 12 }}
|
|
||||||
command:
|
|
||||||
- matcher
|
|
||||||
env:
|
|
||||||
{{- with .Values.back.extraVars }}
|
|
||||||
{{- toYaml . | nindent 12 }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
- name: KYOO_URL
|
|
||||||
value: http://{{ template "kyoo.fullname" . }}-back.{{ .Release.Namespace }}:{{ .Values.back.service.port }}
|
|
||||||
|
|
||||||
{{- if .Values.config.secretAPIKey.existingKyooSecretKey }}
|
|
||||||
- name: KYOO_APIKEYS
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: "{{ .Values.config.secretAPIKey.existingSecretName }}"
|
|
||||||
key: "{{ .Values.config.secretAPIKey.existingKyooSecretKey }}"
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
{{- if .Values.config.secretAPIKey.existingTMDBSecretKey }}
|
|
||||||
- name: THEMOVIEDB_APIKEY
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: "{{ .Values.config.secretAPIKey.existingSecretName }}"
|
|
||||||
key: "{{ .Values.config.secretAPIKey.existingTMDBSecretKey }}"
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
- name: LIBRARY_LANGUAGES
|
|
||||||
value: "{{ .Values.config.libraryLanguages }}"
|
|
||||||
- name: RABBITMQ_HOST
|
|
||||||
value: {{ template "kyoo.fullname" . }}-rabbitmq
|
|
||||||
- name: RABBITMQ_DEFAULT_USER
|
|
||||||
value: "{{ .Values.rabbitmq.auth.username }}"
|
|
||||||
- name: RABBITMQ_DEFAULT_PASS
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: "{{ .Values.rabbitmq.auth.existingPasswordSecret }}"
|
|
||||||
key: "{{ .Values.rabbitmq.auth.existingSecretPasswordKey }}"
|
|
@@ -1,133 +0,0 @@
|
|||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: {{ template "kyoo.fullname" . }}-migrations
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
annotations:
|
|
||||||
{{- with .Values.global.annotations }}
|
|
||||||
{{- toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
labels:
|
|
||||||
{{- include "kyoo.migrations.labels" . | nindent 4 }}
|
|
||||||
{{- with .Values.global.labels }}
|
|
||||||
{{ toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
spec:
|
|
||||||
revisionHistoryLimit: 3
|
|
||||||
replicas: {{ .Values.migrations.replicas }}
|
|
||||||
strategy:
|
|
||||||
type: Recreate
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
{{- include "kyoo.migrations.matchLabels" . | nindent 6 }}
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
{{- include "kyoo.migrations.labels" . | nindent 8 }}
|
|
||||||
app.kubernetes.io/component: {{ template "kyoo.name" . }}-migrations
|
|
||||||
annotations:
|
|
||||||
{{- with .Values.migrations.podAnnotations }}
|
|
||||||
{{ toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
spec:
|
|
||||||
affinity:
|
|
||||||
{{- with .Values.migrations.affinity }}
|
|
||||||
{{ toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
nodeSelector:
|
|
||||||
{{- with .Values.migrations.nodeSelector }}
|
|
||||||
{{ toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
tolerations:
|
|
||||||
{{- with .Values.migrations.tolerations }}
|
|
||||||
{{ toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
serviceAccountName: {{ template "kyoo.serviceAccountName" . }}
|
|
||||||
securityContext:
|
|
||||||
{{- with .Values.migrations.securityContext }}
|
|
||||||
{{ toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
containers:
|
|
||||||
- name: {{ template "kyoo.fullname" . }}-migrations
|
|
||||||
image: "{{ .Values.migrations.image.repository }}:{{ .Values.migrations.image.tag }}"
|
|
||||||
imagePullPolicy: {{ .Values.migrations.image.pullPolicy }}
|
|
||||||
resources:
|
|
||||||
{{ toYaml .Values.migrations.resources | nindent 12 }}
|
|
||||||
env:
|
|
||||||
{{- with .Values.back.extraVars }}
|
|
||||||
{{- toYaml . | nindent 12 }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
- name: REQUIRE_ACCOUNT_VERIFICATION
|
|
||||||
value: "{{ .Values.config.requireAccountVerification }}"
|
|
||||||
- name: UNLOGGED_PERMISSIONS
|
|
||||||
value: "{{ .Values.config.unloggedPermissions }}"
|
|
||||||
- name: DEFAULT_PERMISSIONS
|
|
||||||
value: "{{ .Values.config.defaultPermissions }}"
|
|
||||||
- name: AUTHENTICATION_SECRET
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: "{{ .Values.config.secretAuthenticationKey.existingSecretName }}"
|
|
||||||
key: "{{ .Values.config.secretAuthenticationKey.existingSecretKey }}"
|
|
||||||
- name: KYOO_APIKEYS
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: "{{ .Values.config.secretAPIKey.existingSecretName }}"
|
|
||||||
key: "{{ .Values.config.secretAPIKey.existingKyooSecretKey }}"
|
|
||||||
- name: PUBLIC_URL
|
|
||||||
value: "{{ .Values.config.publicUrl }}"
|
|
||||||
- name: POSTGRES_USER
|
|
||||||
value: "{{ .Values.config.postgresql.username }}"
|
|
||||||
- name: POSTGRES_PASSWORD
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: "{{ .Values.config.postgresql.existingSecretName }}"
|
|
||||||
key: "{{ .Values.config.postgresql.passwordKey }}"
|
|
||||||
- name: POSTGRES_DB
|
|
||||||
value: "{{ .Values.config.postgresql.database }}"
|
|
||||||
- name: POSTGRES_SERVER
|
|
||||||
value: "{{ .Values.config.postgresql.host }}"
|
|
||||||
- name: POSTGRES_PORT
|
|
||||||
value: "{{ .Values.config.postgresql.port }}"
|
|
||||||
|
|
||||||
{{ if .Values.config.oidc.enabled }}
|
|
||||||
- name: OIDC_SERVICE_NAME
|
|
||||||
value: "{{ .Values.config.oidc.name }}"
|
|
||||||
- name: OIDC_SERVICE_LOGO
|
|
||||||
value: "{{ .Values.config.oidc.logo }}"
|
|
||||||
- name: OIDC_SERVICE_AUTHORIZATION
|
|
||||||
value: "{{ .Values.config.oidc.authorization }}"
|
|
||||||
- name: OIDC_SERVICE_TOKEN
|
|
||||||
value: "{{ .Values.config.oidc.token }}"
|
|
||||||
- name: OIDC_SERVICE_PROFILE
|
|
||||||
value: "{{ .Values.config.oidc.profile }}"
|
|
||||||
- name: OIDC_SERVICE_SCOPE
|
|
||||||
value: "{{ .Values.config.oidc.scope }}"
|
|
||||||
- name: OIDC_CLIENT_ID
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: "{{ .Values.config.oidc.existingSecretName }}"
|
|
||||||
key: "{{ .Values.config.oidc.clientIDKey }}"
|
|
||||||
- name: OIDC_CLIENT_SECRET
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: "{{ .Values.config.oidc.existingSecretName }}"
|
|
||||||
key: "{{ .Values.config.oidc.secretIDKey }}"
|
|
||||||
{{ end }}
|
|
||||||
|
|
||||||
- name: MEILI_HOST
|
|
||||||
value: http://{{ template "kyoo.fullname" . }}-meilisearch.{{ .Release.Namespace }}:{{ .Values.meilisearch.service.port }}
|
|
||||||
- name: MEILI_MASTER_KEY
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: "{{ .Values.meilisearch.auth.existingMasterKeySecret }}"
|
|
||||||
key: MEILI_MASTER_KEY
|
|
||||||
- name: RABBITMQ_HOST
|
|
||||||
value: {{ template "kyoo.fullname" . }}-rabbitmq
|
|
||||||
- name: RABBITMQ_DEFAULT_USER
|
|
||||||
value: "{{ .Values.rabbitmq.auth.username }}"
|
|
||||||
- name: RABBITMQ_DEFAULT_PASS
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: "{{ .Values.rabbitmq.auth.existingPasswordSecret }}"
|
|
||||||
key: "{{ .Values.rabbitmq.auth.existingSecretPasswordKey }}"
|
|
@@ -1,108 +0,0 @@
|
|||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: {{ template "kyoo.fullname" . }}-scanner
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
annotations:
|
|
||||||
{{- with .Values.global.annotations }}
|
|
||||||
{{- toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
labels:
|
|
||||||
{{- include "kyoo.scanner.labels" . | nindent 4 }}
|
|
||||||
{{- with .Values.global.labels }}
|
|
||||||
{{ toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
spec:
|
|
||||||
revisionHistoryLimit: 3
|
|
||||||
replicas: {{ .Values.scanner.replicas }}
|
|
||||||
strategy:
|
|
||||||
type: Recreate
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
{{- include "kyoo.scanner.matchLabels" . | nindent 6 }}
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
{{- include "kyoo.scanner.labels" . | nindent 8 }}
|
|
||||||
app.kubernetes.io/component: {{ template "kyoo.name" . }}-scanner
|
|
||||||
annotations:
|
|
||||||
{{- with .Values.scanner.podAnnotations }}
|
|
||||||
{{ toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
spec:
|
|
||||||
affinity:
|
|
||||||
{{- with .Values.scanner.affinity }}
|
|
||||||
{{ toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
nodeSelector:
|
|
||||||
{{- with .Values.scanner.nodeSelector }}
|
|
||||||
{{ toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
tolerations:
|
|
||||||
{{- with .Values.scanner.tolerations }}
|
|
||||||
{{ toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
serviceAccountName: {{ template "kyoo.serviceAccountName" . }}
|
|
||||||
securityContext:
|
|
||||||
{{- with .Values.scanner.securityContext }}
|
|
||||||
{{ toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
containers:
|
|
||||||
- name: {{ template "kyoo.fullname" . }}-scanner
|
|
||||||
image: "{{ .Values.scanner.image.repository }}:{{ .Values.scanner.image.tag }}"
|
|
||||||
imagePullPolicy: {{ .Values.scanner.image.pullPolicy }}
|
|
||||||
resources:
|
|
||||||
{{ toYaml .Values.scanner.resources | nindent 12 }}
|
|
||||||
volumeMounts:
|
|
||||||
- name: kyoo-library
|
|
||||||
mountPath: "{{ .Values.persistence.library.mountPath }}"
|
|
||||||
command:
|
|
||||||
- scanner
|
|
||||||
env:
|
|
||||||
{{- with .Values.back.extraVars }}
|
|
||||||
{{- toYaml . | nindent 12 }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
- name: KYOO_URL
|
|
||||||
value: http://{{ template "kyoo.fullname" . }}-back.{{ .Release.Namespace }}:{{ .Values.back.service.port }}
|
|
||||||
|
|
||||||
{{- if .Values.config.secretAPIKey.existingKyooSecretKey }}
|
|
||||||
- name: KYOO_APIKEYS
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: "{{ .Values.config.secretAPIKey.existingSecretName }}"
|
|
||||||
key: "{{ .Values.config.secretAPIKey.existingKyooSecretKey }}"
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
{{- if .Values.config.secretAPIKey.existingTMDBSecretKey }}
|
|
||||||
- name: THEMOVIEDB_APIKEY
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: "{{ .Values.config.secretAPIKey.existingSecretName }}"
|
|
||||||
key: "{{ .Values.config.secretAPIKey.existingTMDBSecretKey }}"
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
- name: LIBRARY_LANGUAGES
|
|
||||||
value: "{{ .Values.config.libraryLanguages }}"
|
|
||||||
- name: LIBRARY_IGNORE_PATTERN
|
|
||||||
value: "{{ .Values.config.libraryIgnorePattern }}"
|
|
||||||
- name: SCANNER_LIBRARY_ROOT
|
|
||||||
value: "{{ .Values.persistence.library.mountPath }}"
|
|
||||||
- name: RABBITMQ_HOST
|
|
||||||
value: {{ template "kyoo.fullname" . }}-rabbitmq
|
|
||||||
- name: RABBITMQ_DEFAULT_USER
|
|
||||||
value: "{{ .Values.rabbitmq.auth.username }}"
|
|
||||||
- name: RABBITMQ_DEFAULT_PASS
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: "{{ .Values.rabbitmq.auth.existingPasswordSecret }}"
|
|
||||||
key: "{{ .Values.rabbitmq.auth.existingSecretPasswordKey }}"
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
- name: kyoo-library
|
|
||||||
{{- if .Values.persistence.library.enabled }}
|
|
||||||
persistentVolumeClaim:
|
|
||||||
claimName: {{ .Values.persistence.library.existingClaim }}
|
|
||||||
{{- else }}
|
|
||||||
emptyDir: {}
|
|
||||||
{{- end }}
|
|
@@ -1,114 +0,0 @@
|
|||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: {{ template "kyoo.fullname" . }}-transcoder
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
annotations:
|
|
||||||
{{- with .Values.global.annotations }}
|
|
||||||
{{- toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
labels:
|
|
||||||
{{- include "kyoo.transcoder.labels" . | nindent 4 }}
|
|
||||||
{{- with .Values.global.labels }}
|
|
||||||
{{ toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
spec:
|
|
||||||
revisionHistoryLimit: 3
|
|
||||||
replicas: {{ .Values.transcoder.replicas }}
|
|
||||||
strategy:
|
|
||||||
type: Recreate
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
{{- include "kyoo.transcoder.matchLabels" . | nindent 6 }}
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
{{- include "kyoo.transcoder.labels" . | nindent 8 }}
|
|
||||||
app.kubernetes.io/component: {{ template "kyoo.name" . }}-transcoder
|
|
||||||
annotations:
|
|
||||||
{{- with .Values.transcoder.podAnnotations }}
|
|
||||||
{{ toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
spec:
|
|
||||||
affinity:
|
|
||||||
{{- with .Values.transcoder.affinity }}
|
|
||||||
{{ toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
nodeSelector:
|
|
||||||
{{- with .Values.transcoder.nodeSelector }}
|
|
||||||
{{ toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
tolerations:
|
|
||||||
{{- with .Values.transcoder.tolerations }}
|
|
||||||
{{ toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
serviceAccountName: {{ template "kyoo.serviceAccountName" . }}
|
|
||||||
securityContext:
|
|
||||||
{{- with .Values.transcoder.securityContext }}
|
|
||||||
{{ toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
containers:
|
|
||||||
- name: {{ template "kyoo.fullname" . }}-transcoder
|
|
||||||
image: "{{ .Values.transcoder.image.repository }}:{{ .Values.transcoder.image.tag }}"
|
|
||||||
imagePullPolicy: {{ .Values.transcoder.image.pullPolicy }}
|
|
||||||
resources:
|
|
||||||
{{ toYaml .Values.transcoder.resources | nindent 12 }}
|
|
||||||
ports:
|
|
||||||
- name: kyoo-transcoder
|
|
||||||
containerPort: {{ .Values.transcoder.service.port }}
|
|
||||||
protocol: TCP
|
|
||||||
volumeMounts:
|
|
||||||
- name: kyoo-metadata
|
|
||||||
mountPath: "{{ .Values.persistence.metadata.mountPath }}"
|
|
||||||
- name: kyoo-cache
|
|
||||||
mountPath: "{{ .Values.persistence.cache.mountPath }}"
|
|
||||||
- name: kyoo-library
|
|
||||||
mountPath: "{{ .Values.persistence.library.mountPath }}"
|
|
||||||
env:
|
|
||||||
{{- with .Values.back.extraVars }}
|
|
||||||
{{- toYaml . | nindent 12 }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
{{- if eq .Values.config.transcoderProfile "vaapi" }}
|
|
||||||
- name: GOCODER_HWACCEL
|
|
||||||
value: "vaapi"
|
|
||||||
- name: GOCODER_VAAPI_RENDERER
|
|
||||||
value: "{{ .Values.config.transcoderRenderPath }}"
|
|
||||||
{{- else if eq .Values.config.transcoderProfile "qsv" }}
|
|
||||||
- name: GOCODER_HWACCEL
|
|
||||||
value: "qsv"
|
|
||||||
- name: GOCODER_QSV_RENDERER
|
|
||||||
value: "{{ .Values.config.transcoderRenderPath }}"
|
|
||||||
{{- else if eq .Values.config.transcoderProfile "nvidia" }}
|
|
||||||
- name: GOCODER_HWACCEL
|
|
||||||
value: "nvidia"
|
|
||||||
{{- else }}
|
|
||||||
- name: GOCODER_HWACCEL
|
|
||||||
value: "disabled"
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
- name: GOCODER_PRESET
|
|
||||||
value: "{{ .Values.config.transcoderPreset }}"
|
|
||||||
- name: GOCODER_METADATA_ROOT
|
|
||||||
value: "{{ .Values.persistence.metadata.mountPath }}"
|
|
||||||
- name: GOCODER_CACHE_ROOT
|
|
||||||
value: "{{ .Values.persistence.cache.mountPath }}"
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
- name: kyoo-metadata
|
|
||||||
{{- if .Values.persistence.metadata.enabled }}
|
|
||||||
persistentVolumeClaim:
|
|
||||||
claimName: {{ include "kyoo.metadataVolumeName" . }}
|
|
||||||
{{- else }}
|
|
||||||
emptyDir: {}
|
|
||||||
{{- end }}
|
|
||||||
- name: kyoo-cache
|
|
||||||
emptyDir:
|
|
||||||
sizeLimit: {{ .Values.persistence.cache.size }}
|
|
||||||
- name: kyoo-library
|
|
||||||
{{- if .Values.persistence.library.enabled }}
|
|
||||||
persistentVolumeClaim:
|
|
||||||
claimName: {{ .Values.persistence.library.existingClaim }}
|
|
||||||
{{- else }}
|
|
||||||
emptyDir: {}
|
|
||||||
{{- end }}
|
|
@@ -1,44 +0,0 @@
|
|||||||
{{- if .Values.ingress.enabled }}
|
|
||||||
apiVersion: networking.k8s.io/v1
|
|
||||||
kind: Ingress
|
|
||||||
metadata:
|
|
||||||
name: {{ template "kyoo.fullname" . }}
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
annotations:
|
|
||||||
{{- with .Values.global.annotations }}
|
|
||||||
{{- toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- toYaml .Values.ingress.annotations | nindent 4 }}
|
|
||||||
labels:
|
|
||||||
{{- include "kyoo.labels" . | nindent 4 }}
|
|
||||||
{{- with .Values.global.labels }}
|
|
||||||
{{ toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.ingress.labels }}
|
|
||||||
{{ toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
spec:
|
|
||||||
ingressClassName: {{ .Values.ingress.className }}
|
|
||||||
tls:
|
|
||||||
- hosts:
|
|
||||||
- {{ .Values.ingress.host }}
|
|
||||||
secretName: {{ template "kyoo.fullname" . }}-secret-tls
|
|
||||||
rules:
|
|
||||||
- host: {{ .Values.ingress.host }}
|
|
||||||
http:
|
|
||||||
paths:
|
|
||||||
- path: /
|
|
||||||
backend:
|
|
||||||
service:
|
|
||||||
name: "{{ template "kyoo.fullname" . }}-front"
|
|
||||||
port:
|
|
||||||
name: kyoo-front
|
|
||||||
pathType: ImplementationSpecific
|
|
||||||
- path: /api
|
|
||||||
backend:
|
|
||||||
service:
|
|
||||||
name: "{{ template "kyoo.fullname" . }}-back"
|
|
||||||
port:
|
|
||||||
name: kyoo-back
|
|
||||||
pathType: ImplementationSpecific
|
|
||||||
{{- end }}
|
|
@@ -1,54 +0,0 @@
|
|||||||
{{- if and .Values.persistence.back.enabled (not .Values.persistence.back.existingClaim) }}
|
|
||||||
kind: PersistentVolumeClaim
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: {{ template "kyoo.backVolumeName" . }}
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
annotations:
|
|
||||||
{{- with .Values.global.annotations }}
|
|
||||||
{{- toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- if .Values.persistence.back.retain }}
|
|
||||||
helm.sh/resource-policy: keep
|
|
||||||
{{- end }}
|
|
||||||
labels:
|
|
||||||
{{- include "kyoo.labels" . | nindent 4 }}
|
|
||||||
{{- with .Values.global.labels }}
|
|
||||||
{{ toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
spec:
|
|
||||||
storageClassName: {{ .Values.persistence.back.storageClass }}
|
|
||||||
accessModes:
|
|
||||||
- {{ .Values.persistence.back.accessMode }}
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: {{ .Values.persistence.back.size }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
---
|
|
||||||
{{- if and .Values.persistence.metadata.enabled (not .Values.persistence.metadata.existingClaim) }}
|
|
||||||
kind: PersistentVolumeClaim
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: {{ template "kyoo.metadataVolumeName" . }}
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
annotations:
|
|
||||||
{{- with .Values.global.annotations }}
|
|
||||||
{{- toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- if .Values.persistence.metadata.retain }}
|
|
||||||
"helm.sh/resource-policy": keep
|
|
||||||
{{- end }}
|
|
||||||
labels:
|
|
||||||
{{- include "kyoo.labels" . | nindent 4 }}
|
|
||||||
{{- with .Values.global.labels }}
|
|
||||||
{{ toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
spec:
|
|
||||||
storageClassName: {{ .Values.persistence.metadata.storageClass }}
|
|
||||||
accessModes:
|
|
||||||
- {{ .Values.persistence.metadata.accessMode }}
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: {{ .Values.persistence.metadata.size }}
|
|
||||||
{{- end }}
|
|
@@ -1,20 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: ServiceAccount
|
|
||||||
metadata:
|
|
||||||
name: {{ template "kyoo.serviceAccountName" . }}
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
annotations:
|
|
||||||
{{- with .Values.global.annotations }}
|
|
||||||
{{- toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.serviceAccount.annotations }}
|
|
||||||
{{- toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
labels:
|
|
||||||
{{- include "kyoo.labels" . | nindent 4 }}
|
|
||||||
{{- with .Values.global.labels }}
|
|
||||||
{{ toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.serviceAccount.labels }}
|
|
||||||
{{ toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
@@ -1,100 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: {{ template "kyoo.fullname" . }}-back
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
annotations:
|
|
||||||
{{- with .Values.global.annotations }}
|
|
||||||
{{- toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.back.service.annotations }}
|
|
||||||
{{- toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
labels:
|
|
||||||
{{- include "kyoo.back.labels" . | nindent 4 }}
|
|
||||||
{{- with .Values.global.labels }}
|
|
||||||
{{ toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.back.service.labels }}
|
|
||||||
{{- toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
spec:
|
|
||||||
type: {{ .Values.back.service.type }}
|
|
||||||
ports:
|
|
||||||
- port: {{ .Values.back.service.port }}
|
|
||||||
targetPort: kyoo-back
|
|
||||||
protocol: TCP
|
|
||||||
name: kyoo-back
|
|
||||||
selector:
|
|
||||||
{{- include "kyoo.back.matchLabels" . | nindent 4 }}
|
|
||||||
{{- with .Values.back.service.extraSelectorLabels }}
|
|
||||||
{{- toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: {{ template "kyoo.fullname" . }}-front
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
annotations:
|
|
||||||
{{- with .Values.global.annotations }}
|
|
||||||
{{- toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.front.service.annotations }}
|
|
||||||
{{- toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
labels:
|
|
||||||
{{- include "kyoo.front.labels" . | nindent 4 }}
|
|
||||||
{{- with .Values.global.labels }}
|
|
||||||
{{ toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.front.service.labels }}
|
|
||||||
{{- toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
spec:
|
|
||||||
type: {{ .Values.front.service.type }}
|
|
||||||
ports:
|
|
||||||
- port: {{ .Values.front.service.port }}
|
|
||||||
targetPort: kyoo-front
|
|
||||||
protocol: TCP
|
|
||||||
name: kyoo-front
|
|
||||||
selector:
|
|
||||||
{{- include "kyoo.front.matchLabels" . | nindent 4 }}
|
|
||||||
{{- with .Values.front.service.extraSelectorLabels }}
|
|
||||||
{{- toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: transcoder
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
annotations:
|
|
||||||
{{- with .Values.global.annotations }}
|
|
||||||
{{- toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.transcoder.service.annotations }}
|
|
||||||
{{- toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
labels:
|
|
||||||
{{- include "kyoo.transcoder.labels" . | nindent 4 }}
|
|
||||||
{{- with .Values.global.labels }}
|
|
||||||
{{ toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.transcoder.service.labels }}
|
|
||||||
{{- toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
spec:
|
|
||||||
type: {{ .Values.transcoder.service.type }}
|
|
||||||
ports:
|
|
||||||
- port: {{ .Values.transcoder.service.port }}
|
|
||||||
targetPort: kyoo-transcoder
|
|
||||||
protocol: TCP
|
|
||||||
name: kyoo-transcoder
|
|
||||||
selector:
|
|
||||||
{{- include "kyoo.transcoder.matchLabels" . | nindent 4 }}
|
|
||||||
{{- with .Values.transcoder.service.extraSelectorLabels }}
|
|
||||||
{{- toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
@@ -1,892 +0,0 @@
|
|||||||
## Global
|
|
||||||
##
|
|
||||||
global:
|
|
||||||
# -- Set an override for the prefix of the fullname
|
|
||||||
nameOverride:
|
|
||||||
|
|
||||||
# -- Set the entire name definition
|
|
||||||
fullnameOverride:
|
|
||||||
|
|
||||||
# -- Set additional global labels. Helm templates can be used.
|
|
||||||
labels: {}
|
|
||||||
|
|
||||||
# -- Set additional global annotations. Helm templates can be used.
|
|
||||||
annotations: {}
|
|
||||||
|
|
||||||
## Service Account
|
|
||||||
##
|
|
||||||
serviceAccount:
|
|
||||||
# -- Specifies whether a service account should be created
|
|
||||||
create: false
|
|
||||||
|
|
||||||
# -- Annotations to add to the service account
|
|
||||||
annotations: {}
|
|
||||||
|
|
||||||
# -- Labels to add to the service account
|
|
||||||
labels: {}
|
|
||||||
|
|
||||||
# -- The name of the service account to use.
|
|
||||||
# If not set and create is true, a name is generated using the fullname template
|
|
||||||
name: ""
|
|
||||||
|
|
||||||
## Config options
|
|
||||||
##
|
|
||||||
config:
|
|
||||||
## Secret key
|
|
||||||
## Specificy the secret name and the key containg a strong secret key
|
|
||||||
##
|
|
||||||
secretAuthenticationKey:
|
|
||||||
existingSecretName: ""
|
|
||||||
existingSecretKey: ""
|
|
||||||
|
|
||||||
## API keys
|
|
||||||
## Specificy the secret name and the key containg an API key for that service
|
|
||||||
##
|
|
||||||
secretAPIKey:
|
|
||||||
existingSecretName: ""
|
|
||||||
|
|
||||||
# -- Kyoo
|
|
||||||
existingKyooSecretKey: ""
|
|
||||||
|
|
||||||
# -- The Movie Database
|
|
||||||
existingTMDBSecretKey: ""
|
|
||||||
|
|
||||||
# -- Simkl: https://simkl.docs.apiary.io/#
|
|
||||||
existingSimklSecretKey: ""
|
|
||||||
|
|
||||||
# Langauges
|
|
||||||
libraryLanguages: en
|
|
||||||
|
|
||||||
# A pattern (regex) to ignore video files, ie ".*/[dD]ownloads?/.*"
|
|
||||||
libraryIgnorePattern: ""
|
|
||||||
|
|
||||||
# If this is true, new accounts wont have any permissions before you approve them in your admin dashboard.
|
|
||||||
requireAccountVerification: true
|
|
||||||
|
|
||||||
# Specify permissions of guest accounts, default is no permissions,
|
|
||||||
# but you can allow anyone to use your instance without account by doing:
|
|
||||||
# UNLOGGED_PERMISSIONS=overall.read,overall.play
|
|
||||||
# You can specify this to allow guests users to see your collection without behing able to play videos for example:
|
|
||||||
# UNLOGGED_PERMISSIONS=overall.read
|
|
||||||
unloggedPermissions: overall.read
|
|
||||||
|
|
||||||
# Specify permissions of new accounts.
|
|
||||||
defaultPermissions: overall.read,overall.play
|
|
||||||
|
|
||||||
# Hardware transcoding (equivalent of --profile docker compose option).
|
|
||||||
# cpu (no hardware acceleration) or vaapi or qsv or nvidia
|
|
||||||
transcoderProfile: cpu
|
|
||||||
|
|
||||||
# Path to the hardware device for the specificied transcoder profile
|
|
||||||
transcoderRenderPath: /dev/dri/renderD128
|
|
||||||
|
|
||||||
# the preset used during transcode. faster means worst quality, you can probably use a slower preset with hwaccels
|
|
||||||
# warning: using vaapi hwaccel disable presets (they are not supported).
|
|
||||||
transcoderPreset: fast
|
|
||||||
|
|
||||||
# The url you can use to reach your kyoo instance. This is also used during oidc to redirect users to your instance.
|
|
||||||
publicUrl: ""
|
|
||||||
|
|
||||||
## OIDC authentication
|
|
||||||
##
|
|
||||||
oidc:
|
|
||||||
enabled: false
|
|
||||||
|
|
||||||
# Name of the OIDC provider, ie Authentik, Keycloak, Authelia, etc
|
|
||||||
name: ""
|
|
||||||
|
|
||||||
# URL to the an image of the provider logo
|
|
||||||
logo: ""
|
|
||||||
|
|
||||||
# Urls to access the provider
|
|
||||||
authorization: ""
|
|
||||||
token: ""
|
|
||||||
profile: ""
|
|
||||||
|
|
||||||
# Scopes space separeted
|
|
||||||
scope: "openid profile email"
|
|
||||||
|
|
||||||
# Generated from the provider, these are expected to be stored in a secret
|
|
||||||
existingSecretName: ""
|
|
||||||
clientIDKey: ""
|
|
||||||
secretIDKey: ""
|
|
||||||
|
|
||||||
## Postgresql
|
|
||||||
##
|
|
||||||
postgresql:
|
|
||||||
username: ""
|
|
||||||
database: ""
|
|
||||||
host: ""
|
|
||||||
port: ""
|
|
||||||
|
|
||||||
# -- Use a secret to store the pasword
|
|
||||||
existingSecretName: ""
|
|
||||||
passwordKey: ""
|
|
||||||
|
|
||||||
## Configure the ingress resource that allows you to access the
|
|
||||||
## kyoo installation. Set up the URL
|
|
||||||
## ref: http://kubernetes.io/docs/user-guide/ingress/
|
|
||||||
##
|
|
||||||
ingress:
|
|
||||||
# -- Enables or disables the ingress
|
|
||||||
enabled: false
|
|
||||||
|
|
||||||
# -- Provide additional annotations which may be required.
|
|
||||||
annotations: {}
|
|
||||||
|
|
||||||
# -- Provide additional labels which may be required.
|
|
||||||
labels: {}
|
|
||||||
|
|
||||||
# -- Set the ingressClass that is used for this ingress.
|
|
||||||
className: ""
|
|
||||||
|
|
||||||
## Configure the hosts for the ingress
|
|
||||||
host: chart-example.local
|
|
||||||
|
|
||||||
## Enable persistence using Persistent Volume Claims
|
|
||||||
## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
|
|
||||||
##
|
|
||||||
persistence:
|
|
||||||
back:
|
|
||||||
# -- Enables or disables the persistence item. Defaults to true
|
|
||||||
enabled: true
|
|
||||||
|
|
||||||
# -- Storage Class for the config volume.
|
|
||||||
# If set to `-`, dynamic provisioning is disabled.
|
|
||||||
# If set to something else, the given storageClass is used.
|
|
||||||
# If undefined (the default) or set to null, no storageClassName spec is set, choosing the default provisioner.
|
|
||||||
storageClass: ""
|
|
||||||
|
|
||||||
# -- If you want to reuse an existing claim, the name of the existing PVC can be passed here.
|
|
||||||
existingClaim: ""
|
|
||||||
|
|
||||||
# -- AccessMode for the persistent volume.
|
|
||||||
# Make sure to select an access mode that is supported by your storage provider!
|
|
||||||
# [[ref]](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes)
|
|
||||||
accessMode: ReadWriteOnce
|
|
||||||
|
|
||||||
# -- The amount of storage that is requested for the persistent volume.
|
|
||||||
size: 5Gi
|
|
||||||
|
|
||||||
# -- Set to true to retain the PVC upon `helm uninstall`
|
|
||||||
retain: false
|
|
||||||
|
|
||||||
metadata:
|
|
||||||
# -- Enables or disables the persistence item. Defaults to true
|
|
||||||
enabled: true
|
|
||||||
|
|
||||||
# -- Storage Class for the config volume.
|
|
||||||
# If set to `-`, dynamic provisioning is disabled.
|
|
||||||
# If set to something else, the given storageClass is used.
|
|
||||||
# If undefined (the default) or set to null, no storageClassName spec is set, choosing the default provisioner.
|
|
||||||
storageClass: ""
|
|
||||||
|
|
||||||
# -- If you want to reuse an existing claim, the name of the existing PVC can be passed here.
|
|
||||||
existingClaim: ""
|
|
||||||
|
|
||||||
# -- AccessMode for the persistent volume.
|
|
||||||
# Make sure to select an access mode that is supported by your storage provider!
|
|
||||||
# [[ref]](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes)
|
|
||||||
accessMode: ReadWriteOnce
|
|
||||||
|
|
||||||
# -- The amount of storage that is requested for the persistent volume.
|
|
||||||
size: 5Gi
|
|
||||||
|
|
||||||
# -- Set to true to retain the PVC upon `helm uninstall`
|
|
||||||
retain: false
|
|
||||||
|
|
||||||
# -- Mount path inside container
|
|
||||||
mountPath: /metadata
|
|
||||||
|
|
||||||
cache:
|
|
||||||
# -- Transcoder cache will be mounted as an emptyDir, specificy a limit to the cache size
|
|
||||||
size: 10Gi
|
|
||||||
|
|
||||||
# -- Mount path inside container
|
|
||||||
mountPath: /cache
|
|
||||||
|
|
||||||
library:
|
|
||||||
enabled: false
|
|
||||||
|
|
||||||
# -- Provide an existing claim to you media library
|
|
||||||
existingClaim: ""
|
|
||||||
|
|
||||||
# -- Mount path inside container, used as the root path for the library
|
|
||||||
mountPath: /video
|
|
||||||
|
|
||||||
## Auto Sync
|
|
||||||
##
|
|
||||||
autosync:
|
|
||||||
## Kyoo Auto Sync image version
|
|
||||||
## ref: https://hub.docker.com/r/zoriya/kyoo_autosync/tags
|
|
||||||
##
|
|
||||||
image:
|
|
||||||
repository: zoriya/kyoo_autosync
|
|
||||||
tag: "4.4.0"
|
|
||||||
## Specify a imagePullPolicy
|
|
||||||
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
|
|
||||||
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
|
|
||||||
##
|
|
||||||
pullPolicy: IfNotPresent
|
|
||||||
|
|
||||||
## Define the number of pods the deployment will create
|
|
||||||
## Do not change unless your persistent volume allows more than one writer, ie NFS
|
|
||||||
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/
|
|
||||||
##
|
|
||||||
replicas: 1
|
|
||||||
|
|
||||||
## Pod annotations
|
|
||||||
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
|
|
||||||
##
|
|
||||||
podAnnotations: {}
|
|
||||||
|
|
||||||
## Affinity for pod assignment
|
|
||||||
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
|
|
||||||
##
|
|
||||||
affinity: {}
|
|
||||||
|
|
||||||
## Node labels for pod assignment. Evaluated as a template.
|
|
||||||
## Ref: https://kubernetes.io/docs/user-guide/node-selection/
|
|
||||||
##
|
|
||||||
nodeSelector: {}
|
|
||||||
|
|
||||||
## Tolerations for pod assignment
|
|
||||||
## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
|
|
||||||
##
|
|
||||||
tolerations: []
|
|
||||||
|
|
||||||
## Pod Security Context
|
|
||||||
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
|
|
||||||
##
|
|
||||||
securityContext: {}
|
|
||||||
|
|
||||||
## kyoo containers' resource requests and limits
|
|
||||||
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
|
|
||||||
##
|
|
||||||
resources:
|
|
||||||
# We usually recommend not to specify default resources and to leave this as a conscious
|
|
||||||
# choice for the user. This also increases chances charts run on environments with little
|
|
||||||
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
|
||||||
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
|
||||||
limits: {}
|
|
||||||
# cpu: 2
|
|
||||||
# memory: 1Gi
|
|
||||||
requests: {}
|
|
||||||
# cpu: 1
|
|
||||||
# memory: 1Gi
|
|
||||||
|
|
||||||
## Extra environment variables
|
|
||||||
##
|
|
||||||
extraVars:
|
|
||||||
# - name: EXAMPLE
|
|
||||||
# value: "example"
|
|
||||||
|
|
||||||
## Back
|
|
||||||
##
|
|
||||||
back:
|
|
||||||
## Kyoo Back image version
|
|
||||||
## ref: https://hub.docker.com/r/zoriya/kyoo_back/tags
|
|
||||||
##
|
|
||||||
image:
|
|
||||||
repository: zoriya/kyoo_back
|
|
||||||
tag: "4.4.0"
|
|
||||||
## Specify a imagePullPolicy
|
|
||||||
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
|
|
||||||
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
|
|
||||||
##
|
|
||||||
pullPolicy: IfNotPresent
|
|
||||||
|
|
||||||
## Define the number of pods the deployment will create
|
|
||||||
## Do not change unless your persistent volume allows more than one writer, ie NFS
|
|
||||||
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/
|
|
||||||
##
|
|
||||||
replicas: 1
|
|
||||||
|
|
||||||
## Pod annotations
|
|
||||||
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
|
|
||||||
##
|
|
||||||
podAnnotations: {}
|
|
||||||
|
|
||||||
## Affinity for pod assignment
|
|
||||||
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
|
|
||||||
##
|
|
||||||
affinity: {}
|
|
||||||
|
|
||||||
## Node labels for pod assignment. Evaluated as a template.
|
|
||||||
## Ref: https://kubernetes.io/docs/user-guide/node-selection/
|
|
||||||
##
|
|
||||||
nodeSelector: {}
|
|
||||||
|
|
||||||
## Tolerations for pod assignment
|
|
||||||
## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
|
|
||||||
##
|
|
||||||
tolerations: []
|
|
||||||
|
|
||||||
## Pod Security Context
|
|
||||||
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
|
|
||||||
##
|
|
||||||
securityContext: {}
|
|
||||||
|
|
||||||
## kyoo containers' resource requests and limits
|
|
||||||
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
|
|
||||||
##
|
|
||||||
resources:
|
|
||||||
# We usually recommend not to specify default resources and to leave this as a conscious
|
|
||||||
# choice for the user. This also increases chances charts run on environments with little
|
|
||||||
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
|
||||||
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
|
||||||
limits: {}
|
|
||||||
# cpu: 2
|
|
||||||
# memory: 1Gi
|
|
||||||
requests: {}
|
|
||||||
# cpu: 1
|
|
||||||
# memory: 1Gi
|
|
||||||
|
|
||||||
## Configure extra options for liveness and readiness probes
|
|
||||||
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes)
|
|
||||||
##
|
|
||||||
livenessProbe:
|
|
||||||
enabled: false
|
|
||||||
path: /health
|
|
||||||
initialDelaySeconds: 20
|
|
||||||
periodSeconds: 10
|
|
||||||
timeoutSeconds: 5
|
|
||||||
successThreshold: 1
|
|
||||||
failureThreshold: 3
|
|
||||||
|
|
||||||
readinessProbe:
|
|
||||||
enabled: false
|
|
||||||
path: /health
|
|
||||||
initialDelaySeconds: 5
|
|
||||||
periodSeconds: 10
|
|
||||||
timeoutSeconds: 1
|
|
||||||
successThreshold: 1
|
|
||||||
failureThreshold: 3
|
|
||||||
|
|
||||||
## Extra environment variables
|
|
||||||
##
|
|
||||||
extraVars:
|
|
||||||
# - name: EXAMPLE
|
|
||||||
# value: "example"
|
|
||||||
|
|
||||||
## Service
|
|
||||||
##
|
|
||||||
service:
|
|
||||||
# -- Set the service type
|
|
||||||
type: ClusterIP
|
|
||||||
|
|
||||||
# -- Provide additional annotations which may be required.
|
|
||||||
annotations: {}
|
|
||||||
|
|
||||||
# -- Provide additional labels which may be required.
|
|
||||||
labels: {}
|
|
||||||
|
|
||||||
# -- Allow adding additional match labels
|
|
||||||
extraSelectorLabels: {}
|
|
||||||
|
|
||||||
# -- HTTP port number
|
|
||||||
port: 5000
|
|
||||||
|
|
||||||
## Front
|
|
||||||
##
|
|
||||||
front:
|
|
||||||
## Kyoo Front image version
|
|
||||||
## ref: https://hub.docker.com/r/zoriya/kyoo_front/tags
|
|
||||||
##
|
|
||||||
image:
|
|
||||||
repository: zoriya/kyoo_front
|
|
||||||
tag: "4.4.0"
|
|
||||||
## Specify a imagePullPolicy
|
|
||||||
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
|
|
||||||
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
|
|
||||||
##
|
|
||||||
pullPolicy: IfNotPresent
|
|
||||||
|
|
||||||
## Define the number of pods the deployment will create
|
|
||||||
## Do not change unless your persistent volume allows more than one writer, ie NFS
|
|
||||||
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/
|
|
||||||
##
|
|
||||||
replicas: 1
|
|
||||||
|
|
||||||
## Pod annotations
|
|
||||||
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
|
|
||||||
##
|
|
||||||
podAnnotations: {}
|
|
||||||
|
|
||||||
## Affinity for pod assignment
|
|
||||||
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
|
|
||||||
##
|
|
||||||
affinity: {}
|
|
||||||
|
|
||||||
## Node labels for pod assignment. Evaluated as a template.
|
|
||||||
## Ref: https://kubernetes.io/docs/user-guide/node-selection/
|
|
||||||
##
|
|
||||||
nodeSelector: {}
|
|
||||||
|
|
||||||
## Tolerations for pod assignment
|
|
||||||
## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
|
|
||||||
##
|
|
||||||
tolerations: []
|
|
||||||
|
|
||||||
## Pod Security Context
|
|
||||||
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
|
|
||||||
##
|
|
||||||
securityContext: {}
|
|
||||||
|
|
||||||
## kyoo containers' resource requests and limits
|
|
||||||
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
|
|
||||||
##
|
|
||||||
resources:
|
|
||||||
# We usually recommend not to specify default resources and to leave this as a conscious
|
|
||||||
# choice for the user. This also increases chances charts run on environments with little
|
|
||||||
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
|
||||||
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
|
||||||
limits: {}
|
|
||||||
# cpu: 2
|
|
||||||
# memory: 1Gi
|
|
||||||
requests: {}
|
|
||||||
# cpu: 1
|
|
||||||
# memory: 1Gi
|
|
||||||
|
|
||||||
## Configure extra options for liveness and readiness probes
|
|
||||||
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes)
|
|
||||||
##
|
|
||||||
livenessProbe:
|
|
||||||
enabled: false
|
|
||||||
path: /
|
|
||||||
initialDelaySeconds: 20
|
|
||||||
periodSeconds: 10
|
|
||||||
timeoutSeconds: 5
|
|
||||||
successThreshold: 1
|
|
||||||
failureThreshold: 3
|
|
||||||
|
|
||||||
readinessProbe:
|
|
||||||
enabled: false
|
|
||||||
path: /
|
|
||||||
initialDelaySeconds: 5
|
|
||||||
periodSeconds: 10
|
|
||||||
timeoutSeconds: 1
|
|
||||||
successThreshold: 1
|
|
||||||
failureThreshold: 3
|
|
||||||
|
|
||||||
## Extra environment variables
|
|
||||||
##
|
|
||||||
extraVars:
|
|
||||||
# - name: EXAMPLE
|
|
||||||
# value: "example"
|
|
||||||
|
|
||||||
## Service
|
|
||||||
##
|
|
||||||
service:
|
|
||||||
# -- Set the service type
|
|
||||||
type: ClusterIP
|
|
||||||
|
|
||||||
# -- Provide additional annotations which may be required.
|
|
||||||
annotations: {}
|
|
||||||
|
|
||||||
# -- Provide additional labels which may be required.
|
|
||||||
labels: {}
|
|
||||||
|
|
||||||
# -- Allow adding additional match labels
|
|
||||||
extraSelectorLabels: {}
|
|
||||||
|
|
||||||
# -- HTTP port number
|
|
||||||
port: 8901
|
|
||||||
|
|
||||||
## Matcher
|
|
||||||
##
|
|
||||||
matcher:
|
|
||||||
## Kyoo Matcher image version
|
|
||||||
## ref: https://hub.docker.com/r/zoriya/kyoo_matcher/tags
|
|
||||||
##
|
|
||||||
image:
|
|
||||||
repository: zoriya/kyoo_scanner
|
|
||||||
tag: "4.4.0"
|
|
||||||
## Specify a imagePullPolicy
|
|
||||||
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
|
|
||||||
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
|
|
||||||
##
|
|
||||||
pullPolicy: IfNotPresent
|
|
||||||
|
|
||||||
## Define the number of pods the deployment will create
|
|
||||||
## Do not change unless your persistent volume allows more than one writer, ie NFS
|
|
||||||
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/
|
|
||||||
##
|
|
||||||
replicas: 1
|
|
||||||
|
|
||||||
## Pod annotations
|
|
||||||
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
|
|
||||||
##
|
|
||||||
podAnnotations: {}
|
|
||||||
|
|
||||||
## Affinity for pod assignment
|
|
||||||
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
|
|
||||||
##
|
|
||||||
affinity: {}
|
|
||||||
|
|
||||||
## Node labels for pod assignment. Evaluated as a template.
|
|
||||||
## Ref: https://kubernetes.io/docs/user-guide/node-selection/
|
|
||||||
##
|
|
||||||
nodeSelector: {}
|
|
||||||
|
|
||||||
## Tolerations for pod assignment
|
|
||||||
## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
|
|
||||||
##
|
|
||||||
tolerations: []
|
|
||||||
|
|
||||||
## Pod Security Context
|
|
||||||
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
|
|
||||||
##
|
|
||||||
securityContext: {}
|
|
||||||
|
|
||||||
## kyoo containers' resource requests and limits
|
|
||||||
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
|
|
||||||
##
|
|
||||||
resources:
|
|
||||||
# We usually recommend not to specify default resources and to leave this as a conscious
|
|
||||||
# choice for the user. This also increases chances charts run on environments with little
|
|
||||||
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
|
||||||
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
|
||||||
limits: {}
|
|
||||||
# cpu: 2
|
|
||||||
# memory: 1Gi
|
|
||||||
requests: {}
|
|
||||||
# cpu: 1
|
|
||||||
# memory: 1Gi
|
|
||||||
|
|
||||||
## Extra environment variables
|
|
||||||
##
|
|
||||||
extraVars:
|
|
||||||
# - name: EXAMPLE
|
|
||||||
# value: "example"
|
|
||||||
|
|
||||||
## Migrations
|
|
||||||
##
|
|
||||||
migrations:
|
|
||||||
## Kyoo Migrations image version
|
|
||||||
## ref: https://hub.docker.com/r/zoriya/kyoo_migrations/tags
|
|
||||||
##
|
|
||||||
image:
|
|
||||||
repository: zoriya/kyoo_migrations
|
|
||||||
tag: "4.4.0"
|
|
||||||
## Specify a imagePullPolicy
|
|
||||||
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
|
|
||||||
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
|
|
||||||
##
|
|
||||||
pullPolicy: IfNotPresent
|
|
||||||
|
|
||||||
## Define the number of pods the deployment will create
|
|
||||||
## Do not change unless your persistent volume allows more than one writer, ie NFS
|
|
||||||
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/
|
|
||||||
##
|
|
||||||
replicas: 1
|
|
||||||
|
|
||||||
## Pod annotations
|
|
||||||
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
|
|
||||||
##
|
|
||||||
podAnnotations: {}
|
|
||||||
|
|
||||||
## Affinity for pod assignment
|
|
||||||
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
|
|
||||||
##
|
|
||||||
affinity: {}
|
|
||||||
|
|
||||||
## Node labels for pod assignment. Evaluated as a template.
|
|
||||||
## Ref: https://kubernetes.io/docs/user-guide/node-selection/
|
|
||||||
##
|
|
||||||
nodeSelector: {}
|
|
||||||
|
|
||||||
## Tolerations for pod assignment
|
|
||||||
## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
|
|
||||||
##
|
|
||||||
tolerations: []
|
|
||||||
|
|
||||||
## Pod Security Context
|
|
||||||
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
|
|
||||||
##
|
|
||||||
securityContext: {}
|
|
||||||
|
|
||||||
## kyoo containers' resource requests and limits
|
|
||||||
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
|
|
||||||
##
|
|
||||||
resources:
|
|
||||||
# We usually recommend not to specify default resources and to leave this as a conscious
|
|
||||||
# choice for the user. This also increases chances charts run on environments with little
|
|
||||||
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
|
||||||
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
|
||||||
limits: {}
|
|
||||||
# cpu: 2
|
|
||||||
# memory: 1Gi
|
|
||||||
requests: {}
|
|
||||||
# cpu: 1
|
|
||||||
# memory: 1Gi
|
|
||||||
|
|
||||||
## Extra environment variables
|
|
||||||
##
|
|
||||||
extraVars:
|
|
||||||
# - name: EXAMPLE
|
|
||||||
# value: "example"
|
|
||||||
|
|
||||||
## Scanner
|
|
||||||
##
|
|
||||||
scanner:
|
|
||||||
## Kyoo Scanner image version
|
|
||||||
## ref: https://hub.docker.com/r/zoriya/zoriya/kyoo_scanner/tags
|
|
||||||
##
|
|
||||||
image:
|
|
||||||
repository: zoriya/kyoo_scanner
|
|
||||||
tag: "4.4.0"
|
|
||||||
## Specify a imagePullPolicy
|
|
||||||
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
|
|
||||||
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
|
|
||||||
##
|
|
||||||
pullPolicy: IfNotPresent
|
|
||||||
|
|
||||||
## Define the number of pods the deployment will create
|
|
||||||
## Do not change unless your persistent volume allows more than one writer, ie NFS
|
|
||||||
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/
|
|
||||||
##
|
|
||||||
replicas: 1
|
|
||||||
|
|
||||||
## Pod annotations
|
|
||||||
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
|
|
||||||
##
|
|
||||||
podAnnotations: {}
|
|
||||||
|
|
||||||
## Affinity for pod assignment
|
|
||||||
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
|
|
||||||
##
|
|
||||||
affinity: {}
|
|
||||||
|
|
||||||
## Node labels for pod assignment. Evaluated as a template.
|
|
||||||
## Ref: https://kubernetes.io/docs/user-guide/node-selection/
|
|
||||||
##
|
|
||||||
nodeSelector: {}
|
|
||||||
|
|
||||||
## Tolerations for pod assignment
|
|
||||||
## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
|
|
||||||
##
|
|
||||||
tolerations: []
|
|
||||||
|
|
||||||
## Pod Security Context
|
|
||||||
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
|
|
||||||
##
|
|
||||||
securityContext: {}
|
|
||||||
|
|
||||||
## kyoo containers' resource requests and limits
|
|
||||||
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
|
|
||||||
##
|
|
||||||
resources:
|
|
||||||
# We usually recommend not to specify default resources and to leave this as a conscious
|
|
||||||
# choice for the user. This also increases chances charts run on environments with little
|
|
||||||
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
|
||||||
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
|
||||||
limits: {}
|
|
||||||
# cpu: 2
|
|
||||||
# memory: 1Gi
|
|
||||||
requests: {}
|
|
||||||
# cpu: 1
|
|
||||||
# memory: 1Gi
|
|
||||||
|
|
||||||
## Extra environment variables
|
|
||||||
##
|
|
||||||
extraVars:
|
|
||||||
# - name: EXAMPLE
|
|
||||||
# value: "example"
|
|
||||||
|
|
||||||
## Transcoder
|
|
||||||
##
|
|
||||||
transcoder:
|
|
||||||
## Kyoo Transcoder image version
|
|
||||||
## ref: https://hub.docker.com/r/zoriya/kyoo_transcoder/tags
|
|
||||||
##
|
|
||||||
image:
|
|
||||||
repository: zoriya/kyoo_transcoder
|
|
||||||
tag: "4.4.0"
|
|
||||||
## Specify a imagePullPolicy
|
|
||||||
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
|
|
||||||
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
|
|
||||||
##
|
|
||||||
pullPolicy: IfNotPresent
|
|
||||||
|
|
||||||
## Define the number of pods the deployment will create
|
|
||||||
## Do not change unless your persistent volume allows more than one writer, ie NFS
|
|
||||||
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/
|
|
||||||
##
|
|
||||||
replicas: 1
|
|
||||||
|
|
||||||
## Pod annotations
|
|
||||||
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
|
|
||||||
##
|
|
||||||
podAnnotations: {}
|
|
||||||
|
|
||||||
## Affinity for pod assignment
|
|
||||||
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
|
|
||||||
##
|
|
||||||
affinity: {}
|
|
||||||
|
|
||||||
## Node labels for pod assignment. Evaluated as a template.
|
|
||||||
## Ref: https://kubernetes.io/docs/user-guide/node-selection/
|
|
||||||
##
|
|
||||||
nodeSelector: {}
|
|
||||||
|
|
||||||
## Tolerations for pod assignment
|
|
||||||
## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
|
|
||||||
##
|
|
||||||
tolerations: []
|
|
||||||
|
|
||||||
## Pod Security Context
|
|
||||||
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
|
|
||||||
##
|
|
||||||
securityContext: {}
|
|
||||||
|
|
||||||
## kyoo containers' resource requests and limits
|
|
||||||
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
|
|
||||||
##
|
|
||||||
resources:
|
|
||||||
# We usually recommend not to specify default resources and to leave this as a conscious
|
|
||||||
# choice for the user. This also increases chances charts run on environments with little
|
|
||||||
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
|
||||||
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
|
||||||
limits: {}
|
|
||||||
# cpu: 2
|
|
||||||
# memory: 1Gi
|
|
||||||
requests: {}
|
|
||||||
# cpu: 1
|
|
||||||
# memory: 1Gi
|
|
||||||
|
|
||||||
## Extra environment variables
|
|
||||||
##
|
|
||||||
extraVars:
|
|
||||||
# - name: EXAMPLE
|
|
||||||
# value: "example"
|
|
||||||
|
|
||||||
## Service
|
|
||||||
##
|
|
||||||
service:
|
|
||||||
# -- Set the service type
|
|
||||||
type: ClusterIP
|
|
||||||
|
|
||||||
# -- Provide additional annotations which may be required.
|
|
||||||
annotations: {}
|
|
||||||
|
|
||||||
# -- Provide additional labels which may be required.
|
|
||||||
labels: {}
|
|
||||||
|
|
||||||
# -- Allow adding additional match labels
|
|
||||||
extraSelectorLabels: {}
|
|
||||||
|
|
||||||
# -- HTTP port number
|
|
||||||
port: 7666
|
|
||||||
|
|
||||||
## Rabbitmq
|
|
||||||
## https://artifacthub.io/packages/helm/bitnami/rabbitmq?modal=values-schema
|
|
||||||
##
|
|
||||||
rabbitmq:
|
|
||||||
auth:
|
|
||||||
## @param auth.username RabbitMQ application username
|
|
||||||
## ref: https://github.com/bitnami/containers/tree/main/bitnami/rabbitmq#environment-variables
|
|
||||||
##
|
|
||||||
username: kyoo
|
|
||||||
|
|
||||||
## @param auth.existingPasswordSecret Existing secret with RabbitMQ credentials (existing secret must contain a value for `rabbitmq-password` key or override with setting auth.existingSecretPasswordKey)
|
|
||||||
## e.g:
|
|
||||||
## existingPasswordSecret: name-of-existing-secret
|
|
||||||
##
|
|
||||||
existingPasswordSecret: ""
|
|
||||||
existingSecretPasswordKey: ""
|
|
||||||
|
|
||||||
## @param auth.existingErlangSecret Existing secret with RabbitMQ Erlang cookie (must contain a value for `rabbitmq-erlang-cookie` key or override with auth.existingSecretErlangKey)
|
|
||||||
## e.g:
|
|
||||||
## existingErlangSecret: name-of-existing-secret
|
|
||||||
##
|
|
||||||
existingErlangSecret: ""
|
|
||||||
## @param auth.existingSecretErlangKey [default: rabbitmq-erlang-cookie] Erlang cookie key to be retrieved from existing secret
|
|
||||||
## NOTE: ignored unless `auth.existingErlangSecret` parameter is set
|
|
||||||
##
|
|
||||||
existingSecretErlangKey: ""
|
|
||||||
|
|
||||||
## @param configurationExistingSecret Existing secret with the configuration to use as rabbitmq.conf.
|
|
||||||
## Must contain the key "rabbitmq.conf"
|
|
||||||
## Takes precedence over `configuration`, so do not use both simultaneously
|
|
||||||
## With providing an existingSecret, extraConfiguration and extraConfigurationExistingSecret do not take any effect
|
|
||||||
##
|
|
||||||
configurationExistingSecret: ""
|
|
||||||
|
|
||||||
## @param extraConfiguration [string] Configuration file content: extra configuration to be appended to RabbitMQ configuration
|
|
||||||
## Use this instead of `configuration` to add more configuration
|
|
||||||
## Do not use simultaneously with `extraConfigurationExistingSecret`
|
|
||||||
##
|
|
||||||
extraConfiguration: |-
|
|
||||||
default_vhost = '/'
|
|
||||||
default_permissions.configure = .*
|
|
||||||
default_permissions.read = .*
|
|
||||||
default_permissions.write = .*
|
|
||||||
|
|
||||||
## Meilisearch
|
|
||||||
## https://github.com/meilisearch/meilisearch-kubernetes/blob/main/charts/meilisearch/values.yaml
|
|
||||||
##
|
|
||||||
meilisearch:
|
|
||||||
environment:
|
|
||||||
|
|
||||||
# -- Deactivates analytics
|
|
||||||
MEILI_NO_ANALYTICS: true
|
|
||||||
|
|
||||||
# -- Sets the environment. Either **production** or **development**
|
|
||||||
MEILI_ENV: production
|
|
||||||
|
|
||||||
# For production deployment, the environment MEILI_MASTER_KEY is required.
|
|
||||||
# If MEILI_ENV is set to "production" without setting MEILI_MASTER_KEY, this
|
|
||||||
# chart will automatically create a secure MEILI_MASTER_KEY and push it as a
|
|
||||||
# secret. Otherwise the below value of MEILI_MASTER_KEY will be used instead.
|
|
||||||
# MEILI_MASTER_KEY: ""
|
|
||||||
|
|
||||||
auth:
|
|
||||||
# -- Use an existing Kubernetes secret for the MEILI_MASTER_KEY
|
|
||||||
existingMasterKeySecret: ""
|
|
||||||
|
|
||||||
service:
|
|
||||||
# -- Kubernetes Service type
|
|
||||||
type: ClusterIP
|
|
||||||
|
|
||||||
# -- Kubernetes Service port
|
|
||||||
port: 7700
|
|
||||||
|
|
||||||
# -- Additional annotations for service
|
|
||||||
annotations: {}
|
|
||||||
|
|
||||||
persistence:
|
|
||||||
enabled: false
|
|
||||||
|
|
||||||
# -- PVC Access Mode
|
|
||||||
accessMode: ReadWriteOnce
|
|
||||||
|
|
||||||
## Persistent Volume Storage Class
|
|
||||||
## If defined, storageClassName: <storageClass>
|
|
||||||
## If set to "-", storageClassName: "", which disables dynamic provisioning
|
|
||||||
## If undefined (the default) or set to null, no storageClassName spec is
|
|
||||||
## set, choosing the default provisioner. (gp2 on AWS, standard on
|
|
||||||
## GKE, AWS & OpenStack)
|
|
||||||
##
|
|
||||||
# -- PVC Storage Class
|
|
||||||
storageClass: "-"
|
|
||||||
|
|
||||||
## Data Persistent Volume existing claim name
|
|
||||||
## Requires persistence.enabled: true
|
|
||||||
## If defined, PVC must be created manually before volume will be bound
|
|
||||||
# -- Existing PVC
|
|
||||||
existingClaim: ""
|
|
||||||
|
|
||||||
# -- PVC Storage Request
|
|
||||||
size: 10Gi
|
|
||||||
|
|
||||||
resources: {}
|
|
||||||
# limits:
|
|
||||||
# cpu: 100m
|
|
||||||
# memory: 128Mi
|
|
||||||
# requests:
|
|
||||||
# cpu: 100m
|
|
||||||
# memory: 128Mi
|
|
||||||
|
|
||||||
serviceMonitor:
|
|
||||||
enabled: false
|
|
@@ -1,13 +0,0 @@
|
|||||||
apiVersion: v2
|
|
||||||
name: libation
|
|
||||||
version: 0.0.6
|
|
||||||
description: Import library from audible
|
|
||||||
keywords:
|
|
||||||
- audiobooks
|
|
||||||
- job
|
|
||||||
sources:
|
|
||||||
- https://github.com/rmcrackan/Libation
|
|
||||||
maintainers:
|
|
||||||
- name: alexlebens
|
|
||||||
icon: https://getlibation.com/images/libation-logo.png
|
|
||||||
appVersion: "11.1.0"
|
|
@@ -1,18 +0,0 @@
|
|||||||
## Introduction
|
|
||||||
|
|
||||||
[Libation](https://github.com/rmcrackan/Libation)
|
|
||||||
|
|
||||||
Libation: Liberate your Library. Import library from audible, including cover art
|
|
||||||
|
|
||||||
|
|
||||||
This chart bootstraps a [Libation](https://github.com/benphelps/homepage) CronJob on a [Kubernetes](https://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.
|
|
||||||
|
|
||||||
## Prerequisites
|
|
||||||
|
|
||||||
- Kubernetes
|
|
||||||
- Helm
|
|
||||||
- CronJob
|
|
||||||
|
|
||||||
## Parameters
|
|
||||||
|
|
||||||
See the [values files](values.yaml).
|
|
@@ -1,39 +0,0 @@
|
|||||||
apiVersion: batch/v1
|
|
||||||
kind: CronJob
|
|
||||||
metadata:
|
|
||||||
name: libation
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: libation
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/component: job
|
|
||||||
app.kubernetes.io/part-of: libation
|
|
||||||
spec:
|
|
||||||
schedule: {{ .Values.job.schedule }}
|
|
||||||
successfulJobsHistoryLimit: 3
|
|
||||||
failedJobsHistoryLimit: 3
|
|
||||||
jobTemplate:
|
|
||||||
spec:
|
|
||||||
template:
|
|
||||||
spec:
|
|
||||||
restartPolicy: Never
|
|
||||||
containers:
|
|
||||||
- name: libation
|
|
||||||
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
|
|
||||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
|
||||||
env:
|
|
||||||
- name: SLEEP_TIME
|
|
||||||
value: "-1"
|
|
||||||
volumeMounts:
|
|
||||||
- name: libation-config
|
|
||||||
mountPath: /config
|
|
||||||
- name: libation-books
|
|
||||||
mountPath: /data
|
|
||||||
volumes:
|
|
||||||
- name: libation-config
|
|
||||||
persistentVolumeClaim:
|
|
||||||
claimName: libation-config
|
|
||||||
- name: libation-books
|
|
||||||
persistentVolumeClaim:
|
|
||||||
claimName: {{ .Values.persistence.books.claimName }}
|
|
@@ -1,19 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolumeClaim
|
|
||||||
metadata:
|
|
||||||
name: libation-config
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: libation
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/component: storage
|
|
||||||
app.kubernetes.io/part-of: libation
|
|
||||||
spec:
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteOnce
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: {{ .Values.persistence.config.storageSize }}
|
|
||||||
storageClassName: {{ .Values.persistence.config.storageClassName }}
|
|
||||||
volumeMode: {{ .Values.persistence.config.volumeMode }}
|
|
@@ -1,13 +0,0 @@
|
|||||||
job:
|
|
||||||
schedule: "0 * * * *"
|
|
||||||
image:
|
|
||||||
repository: rmcrackan/libation
|
|
||||||
tag: "11.1.0"
|
|
||||||
pullPolicy: IfNotPresent
|
|
||||||
persistence:
|
|
||||||
config:
|
|
||||||
storageClassName: default
|
|
||||||
storageSize: 1Gi
|
|
||||||
volumeMode: Filesystem
|
|
||||||
books:
|
|
||||||
claimName:
|
|
@@ -1,14 +0,0 @@
|
|||||||
apiVersion: v2
|
|
||||||
name: matrix-hookshot
|
|
||||||
version: 0.1.1
|
|
||||||
description: Chart for Matrix Hookshot
|
|
||||||
keywords:
|
|
||||||
- matrix
|
|
||||||
- matrix-hookshot
|
|
||||||
- webhook
|
|
||||||
sources:
|
|
||||||
- https://github.com/matrix-org/matrix-hookshot
|
|
||||||
maintainers:
|
|
||||||
- name: alexlebens
|
|
||||||
icon: https://avatars.githubusercontent.com/u/8418310?s=48&v=4
|
|
||||||
appVersion: "5.3.0"
|
|
@@ -1,43 +0,0 @@
|
|||||||
{{/*
|
|
||||||
Helper for secret name
|
|
||||||
*/}}
|
|
||||||
{{- define "hookshot.secretName" -}}
|
|
||||||
{{- if .Values.hookshot.existingSecret }}
|
|
||||||
{{- printf "%s" .Values.hookshot.existingSecret -}}
|
|
||||||
{{- else }}
|
|
||||||
{{- printf "matrix-hookshot-config-secret" | trunc 63 | trimSuffix "-" }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Helper for registration secret name
|
|
||||||
*/}}
|
|
||||||
{{- define "hookshot.registrationSecretName" -}}
|
|
||||||
{{- if .Values.hookshot.existingRegistrationSecret }}
|
|
||||||
{{- printf "%s" .Values.hookshot.existingRegistrationSecret -}}
|
|
||||||
{{- else }}
|
|
||||||
{{- printf "matrix-hookshot-registration-secret" }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Helper for passkey secret name
|
|
||||||
*/}}
|
|
||||||
{{- define "hookshot.passkeySecretName" -}}
|
|
||||||
{{- if .Values.hookshot.existingPasskeySecret }}
|
|
||||||
{{- printf "%s" .Values.hookshot.existingPasskeySecret -}}
|
|
||||||
{{- else }}
|
|
||||||
{{- printf "matrix-hookshot-passkey-secret" }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Helper for passkey file name
|
|
||||||
*/}}
|
|
||||||
{{- define "hookshot.passFile" -}}
|
|
||||||
{{- if .Values.hookshot.config.passFile }}
|
|
||||||
{{- printf "%s" .Values.hookshot.config.passFile -}}
|
|
||||||
{{- else }}
|
|
||||||
{{- printf "passkey.pem" }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user