Compare commits
202 Commits
truecomman
...
bookstack-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5243f370f5 | ||
|
|
703559d660 | ||
|
|
d19e6c1a89 | ||
|
|
cf35450ca5 | ||
|
|
e92fd316b0 | ||
|
|
ae81ca4b5a | ||
|
|
fb6c58165b | ||
|
|
49077c43e0 | ||
|
|
e6a8fc7caa | ||
|
|
78e8e2d29a | ||
|
|
a83aba1e2a | ||
|
|
997b3c13db | ||
|
|
92105a4ae2 | ||
|
|
593cd38508 | ||
|
|
e33bde7446 | ||
|
|
dd22935f93 | ||
|
|
6ae2682e0b | ||
|
|
319fc288c7 | ||
|
|
d784e69c85 | ||
|
|
26c33aa8f1 | ||
|
|
655caff53b | ||
|
|
bc3811ac01 | ||
|
|
eaec12cc82 | ||
|
|
7bb050d177 | ||
|
|
f7a4cddaee | ||
|
|
6b276162e6 | ||
|
|
9a8fe0e854 | ||
|
|
7b85e388a1 | ||
|
|
1d89c3f86e | ||
|
|
236bd21e02 | ||
|
|
dc60a1911c | ||
|
|
a10c53cce3 | ||
|
|
7f3a976430 | ||
|
|
1f35105f3c | ||
|
|
7c19db377d | ||
|
|
798bfdf3af | ||
|
|
0fa3722295 | ||
|
|
e1d68c84f2 | ||
|
|
05af1b178a | ||
|
|
8856491aaa | ||
|
|
b5aff5e52b | ||
|
|
a389c0ed86 | ||
|
|
dddd47c090 | ||
|
|
10dc3ac9da | ||
|
|
d6c1f1f5d4 | ||
|
|
a4d859efe5 | ||
|
|
c82a11bf8b | ||
|
|
c439af7018 | ||
|
|
644bc1070d | ||
|
|
ed6fb93413 | ||
|
|
84bf867daf | ||
|
|
af1313a8f0 | ||
|
|
28236d89fe | ||
|
|
9a350b7074 | ||
|
|
d15c8e49f9 | ||
|
|
a377c3d2d3 | ||
|
|
dcb2200ccd | ||
|
|
715ebb37d5 | ||
|
|
fbf582680b | ||
|
|
4caa8f82a1 | ||
|
|
f0984b954c | ||
|
|
4991c13b0d | ||
|
|
7a6f41ba9f | ||
|
|
4585ca9f66 | ||
|
|
d73f54fbd7 | ||
|
|
1a0a42cff0 | ||
|
|
8e09367a5a | ||
|
|
ba355365b8 | ||
|
|
372312e13d | ||
|
|
deed7f4497 | ||
|
|
15ba418e8a | ||
|
|
bb7c421bb8 | ||
|
|
18c032fcbf | ||
|
|
1477ff26c3 | ||
|
|
c84b3c3eae | ||
|
|
f59e1af294 | ||
|
|
9d8ef6eee6 | ||
|
|
4b4e136fba | ||
|
|
24832aaef0 | ||
|
|
452c738a52 | ||
|
|
d77018b242 | ||
|
|
eedb10b767 | ||
|
|
e307719bae | ||
|
|
4d112565b7 | ||
|
|
00ba361853 | ||
|
|
eacbf95b91 | ||
|
|
7ee1f9914d | ||
|
|
4cc083d7a2 | ||
|
|
a33219152a | ||
|
|
ff26315c57 | ||
|
|
6851e89504 | ||
|
|
79b8752934 | ||
|
|
f18a4d895d | ||
|
|
edc4318a6a | ||
|
|
7a4b852013 | ||
|
|
2c01769411 | ||
|
|
c3cdd2b5af | ||
|
|
ade46f17fa | ||
|
|
f30da71898 | ||
|
|
09328441f2 | ||
|
|
a97785f85e | ||
|
|
c650ff5335 | ||
|
|
a587be6fcc | ||
|
|
2350c47efb | ||
|
|
d1d63ffa3f | ||
|
|
11d62d84f3 | ||
|
|
5178d5495e | ||
|
|
c00ab02809 | ||
|
|
777437a3da | ||
|
|
72d0df12fd | ||
|
|
926b96499a | ||
|
|
90e92b65c9 | ||
|
|
48196fac6f | ||
|
|
2523cb7b5e | ||
|
|
aa69f69828 | ||
|
|
0d229ec376 | ||
|
|
5475a5ffff | ||
|
|
c156819394 | ||
|
|
bb314ce2d9 | ||
|
|
ffe4297db0 | ||
|
|
ee03d09780 | ||
|
|
90a62afddc | ||
|
|
05347d1716 | ||
|
|
f7b54c65ff | ||
|
|
a7aaa5a524 | ||
|
|
e2bb5d8ed4 | ||
|
|
fbf13879b8 | ||
|
|
f8cbead63b | ||
|
|
6d51e3cf22 | ||
|
|
e5238adde0 | ||
|
|
0c3f44e3b7 | ||
|
|
f4a5eb4603 | ||
|
|
5c3101f03e | ||
|
|
00cc4540ea | ||
|
|
68b03c60fc | ||
|
|
7cc2b37c68 | ||
|
|
cc52622614 | ||
|
|
3f50891603 | ||
|
|
e8e2d25873 | ||
|
|
2e63e3740b | ||
|
|
951d2c20f3 | ||
|
|
34dea81127 | ||
|
|
c3e83ecaa0 | ||
|
|
4474e30af2 | ||
|
|
a2e26d5a0f | ||
|
|
574f6529c5 | ||
|
|
c0317251aa | ||
|
|
17f0578b4f | ||
|
|
de1d9c2580 | ||
|
|
356a0f2f16 | ||
|
|
0065e83f75 | ||
|
|
bbb81ffb9e | ||
|
|
f74e6ebe07 | ||
|
|
a8e0296ddf | ||
|
|
fc2e341c47 | ||
|
|
1395771b7f | ||
|
|
2b92555678 | ||
|
|
fe6ae00012 | ||
|
|
6e3e59fa73 | ||
|
|
01ca1d423f | ||
|
|
998aa05027 | ||
|
|
2a58efa68e | ||
|
|
54f9b87b70 | ||
|
|
5e5f23c69d | ||
|
|
19b3af8f2f | ||
|
|
8003e17a76 | ||
|
|
a101402e74 | ||
|
|
085bd01f1a | ||
|
|
b4af8c56c1 | ||
|
|
ee6b8361da | ||
|
|
1db3745ec4 | ||
|
|
9c4cc4fefd | ||
|
|
66ee00cb63 | ||
|
|
47deacc271 | ||
|
|
98a0ac4d90 | ||
|
|
85348178f1 | ||
|
|
6dd5f3ff0b | ||
|
|
ae9e3c02a1 | ||
|
|
000771d79f | ||
|
|
8c3edda840 | ||
|
|
8b2121e522 | ||
|
|
a3582f3c83 | ||
|
|
42dbe4ee4a | ||
|
|
8b6f481099 | ||
|
|
803f9433eb | ||
|
|
9e8aa6d2eb | ||
|
|
d111bcdcad | ||
|
|
133647a1c5 | ||
|
|
07bcb33623 | ||
|
|
523ce4e823 | ||
|
|
eee839e548 | ||
|
|
50d0d5e7c8 | ||
|
|
278351c2de | ||
|
|
85ac8697fb | ||
|
|
f02beeb9f0 | ||
|
|
b1fc8dd547 | ||
|
|
8f5d80ab5e | ||
|
|
8b37db4b7c | ||
|
|
7f51945eff | ||
|
|
49266748b1 | ||
|
|
78fe13e697 | ||
|
|
a92c96b422 |
@@ -481,6 +481,51 @@
|
|||||||
"contributions": [
|
"contributions": [
|
||||||
"code"
|
"code"
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"login": "psych0d0g",
|
||||||
|
"name": "Lukas Wingerberg",
|
||||||
|
"avatar_url": "https://avatars.githubusercontent.com/u/181302?v=4",
|
||||||
|
"profile": "https://cronix.cc",
|
||||||
|
"contributions": [
|
||||||
|
"code"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"login": "TheDJVG",
|
||||||
|
"name": "TheDJVG",
|
||||||
|
"avatar_url": "https://avatars.githubusercontent.com/u/17107225?v=4",
|
||||||
|
"profile": "http://www.djvg.net",
|
||||||
|
"contributions": [
|
||||||
|
"code"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"login": "rschoultz",
|
||||||
|
"name": "Rickard Schoultz",
|
||||||
|
"avatar_url": "https://avatars.githubusercontent.com/u/727834?v=4",
|
||||||
|
"profile": "https://github.com/rschoultz",
|
||||||
|
"contributions": [
|
||||||
|
"code"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"login": "tvories",
|
||||||
|
"name": "Taylor Vories",
|
||||||
|
"avatar_url": "https://avatars.githubusercontent.com/u/13934524?v=4",
|
||||||
|
"profile": "http://taylorvories.com",
|
||||||
|
"contributions": [
|
||||||
|
"code"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"login": "djjudas21",
|
||||||
|
"name": "Jonathan",
|
||||||
|
"avatar_url": "https://avatars.githubusercontent.com/u/604595?v=4",
|
||||||
|
"profile": "http://www.jonathangazeley.com",
|
||||||
|
"contributions": [
|
||||||
|
"code"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"contributorsPerLine": 7,
|
"contributorsPerLine": 7,
|
||||||
|
|||||||
5
.github/PULL_REQUEST_TEMPLATE.md
vendored
5
.github/PULL_REQUEST_TEMPLATE.md
vendored
@@ -32,8 +32,9 @@ Also don't be worried if the request is closed or not integrated sometimes our p
|
|||||||
<!-- If there's anything else that's important and relevant to your pull request, mention that information here.-->
|
<!-- If there's anything else that's important and relevant to your pull request, mention that information here.-->
|
||||||
|
|
||||||
**Checklist** <!-- [Place an '[X]' (no spaces) in all applicable fields. Please remove unrelated fields.] -->
|
**Checklist** <!-- [Place an '[X]' (no spaces) in all applicable fields. Please remove unrelated fields.] -->
|
||||||
- [ ] Chart version bumped in `Chart.yaml` according to [semver](http://semver.org/).
|
|
||||||
- [ ] Title of the PR starts with chart name (e.g. `[home-assistant]`)
|
- [ ] Title of the PR starts with chart name (e.g. `[home-assistant]`)
|
||||||
- [ ] Variables are documented in the README.md (this can be done with using our helm-docs wrapper `./hack/gen-helm-docs.sh stable <chart>`)
|
- [ ] Chart version bumped in `Chart.yaml` according to [semver](http://semver.org/).
|
||||||
|
- [ ] Chart `artifacthub.io/changes` changelog annotation has been updated in `Chart.yaml`. See [Artifact Hub documentation](https://artifacthub.io/docs/topics/annotations/helm/#supported-annotations) for more info.
|
||||||
|
- [ ] Variables have been documented in the `values.yaml` file.
|
||||||
|
|
||||||
<!-- Keep in mind that if you are submitting a new chart, try to use our [common](https://github.com/k8s-at-home/charts/tree/master/charts/common) library as a dependency. This will help maintaining charts here and keep them consistent between each other -->
|
<!-- Keep in mind that if you are submitting a new chart, try to use our [common](https://github.com/k8s-at-home/charts/tree/master/charts/common) library as a dependency. This will help maintaining charts here and keep them consistent between each other -->
|
||||||
|
|||||||
45
.github/actions/collect-changes/action.yaml
vendored
Normal file
45
.github/actions/collect-changes/action.yaml
vendored
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
name: "Collect changes"
|
||||||
|
description: "Collects and stores changed files/charts"
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
changesDetected:
|
||||||
|
description: "Whether or not changes to charts have been detected"
|
||||||
|
value: ${{ steps.filter.outputs.addedOrModified }}
|
||||||
|
addedOrModifiedFiles:
|
||||||
|
description: "A list of the files changed"
|
||||||
|
value: ${{ steps.filter.outputs.addedOrModified_files }}
|
||||||
|
addedOrModifiedCharts:
|
||||||
|
description: "A list of the charts changed"
|
||||||
|
value: ${{ steps.filter-charts.outputs.addedOrModified }}
|
||||||
|
|
||||||
|
runs:
|
||||||
|
using: "composite"
|
||||||
|
steps:
|
||||||
|
- name: Collect changed files
|
||||||
|
uses: dorny/paths-filter@v2
|
||||||
|
id: filter
|
||||||
|
with:
|
||||||
|
list-files: shell
|
||||||
|
filters: |
|
||||||
|
addedOrModified:
|
||||||
|
- added|modified: 'charts/*/**'
|
||||||
|
|
||||||
|
- name: Collect changed charts
|
||||||
|
if: |
|
||||||
|
steps.filter.outputs.addedOrModified == 'true'
|
||||||
|
id: filter-charts
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
CHARTS=()
|
||||||
|
PATHS=(${{ steps.filter.outputs.addedOrModified_files }})
|
||||||
|
# Get only the chart paths
|
||||||
|
for CHARTPATH in "${PATHS[@]}"
|
||||||
|
do
|
||||||
|
IFS='/' read -r -a path_parts <<< "${CHARTPATH}"
|
||||||
|
CHARTS+=("${path_parts[1]}/${path_parts[2]}")
|
||||||
|
done
|
||||||
|
|
||||||
|
# Remove duplicates
|
||||||
|
CHARTS=( `printf "%s\n" "${CHARTS[@]}" | sort -u` )
|
||||||
|
# Set output to changed charts
|
||||||
|
printf "::set-output name=addedOrModified::%s\n" "${CHARTS[*]}"
|
||||||
48
.github/actions/label-from-status/action.yaml
vendored
Normal file
48
.github/actions/label-from-status/action.yaml
vendored
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
name: "Set issue labels based on status"
|
||||||
|
description: "Sets / removes issue labels based on CI job status"
|
||||||
|
inputs:
|
||||||
|
token:
|
||||||
|
required: true
|
||||||
|
description: "The Github API token to use"
|
||||||
|
issue-number:
|
||||||
|
required: true
|
||||||
|
description: "The issue to label"
|
||||||
|
prefix:
|
||||||
|
required: true
|
||||||
|
description: "The label prefix (e.g. lint, install)"
|
||||||
|
job-status:
|
||||||
|
required: true
|
||||||
|
description: "The status of the CI job"
|
||||||
|
remove-on-skipped:
|
||||||
|
required: false
|
||||||
|
default: false
|
||||||
|
description: "Remove the label if the job was skipped"
|
||||||
|
|
||||||
|
runs:
|
||||||
|
using: "composite"
|
||||||
|
steps:
|
||||||
|
- name: Label success
|
||||||
|
uses: andymckay/labeler@1.0.4
|
||||||
|
if: ${{ inputs.job-status == 'success' }}
|
||||||
|
with:
|
||||||
|
repo-token: ${{ inputs.token }}
|
||||||
|
issue-number: ${{ inputs.issue-number }}
|
||||||
|
add-labels: "${{ inputs.prefix }}:ok"
|
||||||
|
remove-labels: "${{ inputs.prefix }}:failed"
|
||||||
|
|
||||||
|
- name: Label failure
|
||||||
|
uses: andymckay/labeler@1.0.4
|
||||||
|
if: ${{ inputs.job-status == 'failure' }}
|
||||||
|
with:
|
||||||
|
repo-token: ${{ inputs.token }}
|
||||||
|
issue-number: ${{ inputs.issue-number }}
|
||||||
|
add-labels: "${{ inputs.prefix }}:failed"
|
||||||
|
remove-labels: "${{ inputs.prefix }}:ok"
|
||||||
|
|
||||||
|
- name: Remove label
|
||||||
|
uses: andymckay/labeler@1.0.4
|
||||||
|
if: ${{ (inputs.job-status == 'skipped') && (inputs.remove-on-skipped == 'true') }}
|
||||||
|
with:
|
||||||
|
repo-token: ${{ inputs.token }}
|
||||||
|
issue-number: ${{ inputs.issue-number }}
|
||||||
|
remove-labels: "${{ inputs.prefix }}:ok, ${{ inputs.prefix }}:failed"
|
||||||
2
.github/ct-lint.yaml
vendored
2
.github/ct-lint.yaml
vendored
@@ -10,5 +10,3 @@ chart-repos:
|
|||||||
- k8s-at-home-libraries=https://library-charts.k8s-at-home.com
|
- k8s-at-home-libraries=https://library-charts.k8s-at-home.com
|
||||||
- k8s-at-home=https://k8s-at-home.com/charts
|
- k8s-at-home=https://k8s-at-home.com/charts
|
||||||
- jetstack=https://charts.jetstack.io
|
- jetstack=https://charts.jetstack.io
|
||||||
additional-commands:
|
|
||||||
- ./hack/check-releasenotes.sh {{ .Path }}
|
|
||||||
|
|||||||
22
.github/label-commenter-config.yml
vendored
22
.github/label-commenter-config.yml
vendored
@@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
labels:
|
labels:
|
||||||
- name: kind:incomplete-template
|
- name: incomplete-template
|
||||||
labeled:
|
labeled:
|
||||||
issue:
|
issue:
|
||||||
body: |
|
body: |
|
||||||
@@ -9,7 +9,7 @@ labels:
|
|||||||
locking: lock
|
locking: lock
|
||||||
lock_reason: resolved
|
lock_reason: resolved
|
||||||
|
|
||||||
- name: kind:support
|
- name: support
|
||||||
labeled:
|
labeled:
|
||||||
issue:
|
issue:
|
||||||
body: |
|
body: |
|
||||||
@@ -22,7 +22,7 @@ labels:
|
|||||||
- [GitHub Discussions](https://github.com/k8s-at-home/organization/discussions)
|
- [GitHub Discussions](https://github.com/k8s-at-home/organization/discussions)
|
||||||
action: close
|
action: close
|
||||||
|
|
||||||
- name: kind:incomplete-docs
|
- name: incomplete-docs
|
||||||
labeled:
|
labeled:
|
||||||
pr:
|
pr:
|
||||||
body: |
|
body: |
|
||||||
@@ -31,19 +31,5 @@ labels:
|
|||||||
We have noticed that the chart documentation has not been completely updated for this PR.
|
We have noticed that the chart documentation has not been completely updated for this PR.
|
||||||
Could you please make sure that the following items have been updated:
|
Could you please make sure that the following items have been updated:
|
||||||
- `version` in `Chart.yaml` has been updated per [semver](http://semver.org/)
|
- `version` in `Chart.yaml` has been updated per [semver](http://semver.org/)
|
||||||
- `README_CHANGELOG.md.gotmpl` contains a summary of the updates for this new version
|
- The `artifacthub.io/changes` chart annotation contains a summary of the updates for this new version. See [Artifact Hub documentation](https://artifacthub.io/docs/topics/annotations/helm/#supported-annotations) for more info.
|
||||||
- [Documentation strings](https://github.com/norwoodj/helm-docs#valuesyaml-metadata) have been added to the keys in `values.yaml`.
|
- [Documentation strings](https://github.com/norwoodj/helm-docs#valuesyaml-metadata) have been added to the keys in `values.yaml`.
|
||||||
|
|
||||||
Afterwards you can run `./hack/gen-helm-docs.sh stable <chart>` again to update the chart's `README.md` file.
|
|
||||||
|
|
||||||
- name: kind:incorrect-title
|
|
||||||
labeled:
|
|
||||||
pr:
|
|
||||||
body: |
|
|
||||||
:wave: @{{ pull_request.user.login }}, thanks for taking the time to submit this PR. 🙏🏽
|
|
||||||
|
|
||||||
We have noticed that the PR title does not adhere to our desired format.
|
|
||||||
Could you please make sure that it follows the pattern `[<lowercase chart name>] <Update description>`?
|
|
||||||
Example: `[radarr] Update image version`.
|
|
||||||
|
|
||||||
Thanks!
|
|
||||||
|
|||||||
111
.github/labels.yaml
vendored
Normal file
111
.github/labels.yaml
vendored
Normal file
@@ -0,0 +1,111 @@
|
|||||||
|
---
|
||||||
|
# CI Status
|
||||||
|
- name: "precommit:ok"
|
||||||
|
color: "0E8A16"
|
||||||
|
description: >-
|
||||||
|
CI status: pre-commit validation successful
|
||||||
|
- name: "precommit:failed"
|
||||||
|
color: "D93F0B"
|
||||||
|
description: >-
|
||||||
|
CI status: pre-commit validation failed
|
||||||
|
- name: "changelog:ok"
|
||||||
|
color: "0E8A16"
|
||||||
|
description: >-
|
||||||
|
CI status: changelog validation successful
|
||||||
|
- name: "changelog:failed"
|
||||||
|
color: "D93F0B"
|
||||||
|
description: >-
|
||||||
|
CI status: changelog validation failed
|
||||||
|
- name: "lint:ok"
|
||||||
|
color: "0E8A16"
|
||||||
|
description: >-
|
||||||
|
CI status: linting successful
|
||||||
|
- name: "lint:failed"
|
||||||
|
color: "D93F0B"
|
||||||
|
description: >-
|
||||||
|
CI status: linting failed
|
||||||
|
- name: "install:ok"
|
||||||
|
color: "0E8A16"
|
||||||
|
description: >-
|
||||||
|
CI status: install successful
|
||||||
|
- name: "install:failed"
|
||||||
|
color: "D93F0B"
|
||||||
|
description: >-
|
||||||
|
CI status: install failed
|
||||||
|
|
||||||
|
# Semantic Type
|
||||||
|
- name: type/patch
|
||||||
|
color: "FFEC19"
|
||||||
|
- name: type/minor
|
||||||
|
color: "FF9800"
|
||||||
|
- name: type/major
|
||||||
|
color: "F6412D"
|
||||||
|
|
||||||
|
# Renovate
|
||||||
|
- name: renovate/container
|
||||||
|
color: "ffc300"
|
||||||
|
- name: renovate/helm
|
||||||
|
color: "ffc300"
|
||||||
|
|
||||||
|
# Size
|
||||||
|
- name: size/XS
|
||||||
|
color: "009900"
|
||||||
|
description: >-
|
||||||
|
Categorises a PR that changes 0-9 lines, ignoring generated files.
|
||||||
|
- name: size/S
|
||||||
|
color: "77bb00"
|
||||||
|
description: >-
|
||||||
|
Categorises a PR that changes 10-29 lines, ignoring generated files.
|
||||||
|
- name: size/M
|
||||||
|
color: "eebb00"
|
||||||
|
description: >-
|
||||||
|
Categorises a PR that changes 30-99 lines, ignoring generated files.
|
||||||
|
- name: size/L
|
||||||
|
color: "ee9900"
|
||||||
|
description: >-
|
||||||
|
Categorises a PR that changes 100-499 lines, ignoring generated files.
|
||||||
|
- name: size/XL
|
||||||
|
color: "ee5500"
|
||||||
|
description: >-
|
||||||
|
Categorises a PR that changes 500-999 lines, ignoring generated files.
|
||||||
|
- name: size/XXL
|
||||||
|
color: "ee0000"
|
||||||
|
description: >-
|
||||||
|
Categorises a PR that changes 1000+ lines, ignoring generated files.
|
||||||
|
|
||||||
|
# Issue categories
|
||||||
|
- name: documentation
|
||||||
|
color: "0075ca"
|
||||||
|
- name: bug
|
||||||
|
color: "B60205"
|
||||||
|
- name: enhancement
|
||||||
|
color: "a2eeef"
|
||||||
|
- name: "help wanted"
|
||||||
|
color: "008672"
|
||||||
|
- name: wontfix
|
||||||
|
color: "ffffff"
|
||||||
|
- name: "support"
|
||||||
|
color: ffffff
|
||||||
|
- name: "incomplete-template"
|
||||||
|
color: ffffff
|
||||||
|
|
||||||
|
- name: "new-chart"
|
||||||
|
color: "C2E0C6"
|
||||||
|
description: >-
|
||||||
|
Categorises a PR or issue that references a new Helm chart.
|
||||||
|
- name: do-not-merge
|
||||||
|
color: "ee0701"
|
||||||
|
description: >-
|
||||||
|
Categorises a PR that should not be merged in the current state.
|
||||||
|
- name: "incomplete-docs"
|
||||||
|
color: B72175
|
||||||
|
description: >-
|
||||||
|
Categorises a PR for which the documentation has not been updated completely.
|
||||||
|
- name: keepalive
|
||||||
|
color: "4D28C4"
|
||||||
|
description: >-
|
||||||
|
Categorises a PR or issue that should not be marked as stale.
|
||||||
|
- name: stale
|
||||||
|
color: "D4C5F9"
|
||||||
|
description: >-
|
||||||
|
Categorises a PR or issue that has not been active for a specified time.
|
||||||
40
.github/renovate.json5
vendored
40
.github/renovate.json5
vendored
@@ -5,7 +5,6 @@
|
|||||||
"assigneesFromCodeOwners": true,
|
"assigneesFromCodeOwners": true,
|
||||||
"reviewersFromCodeOwners": true,
|
"reviewersFromCodeOwners": true,
|
||||||
"suppressNotifications": ["prIgnoreNotification"],
|
"suppressNotifications": ["prIgnoreNotification"],
|
||||||
"rebaseWhen": "conflicted",
|
|
||||||
"prConcurrentLimit": 5,
|
"prConcurrentLimit": 5,
|
||||||
"helm-values": {
|
"helm-values": {
|
||||||
"enabled": false
|
"enabled": false
|
||||||
@@ -26,62 +25,77 @@
|
|||||||
"matchPackageNames": ["potiuk/get-workflow-origin"],
|
"matchPackageNames": ["potiuk/get-workflow-origin"],
|
||||||
"versioning": "regex:^v(?<major>\\d+)_(?<minor>\\d+)(_(?<patch>\\d+))?$"
|
"versioning": "regex:^v(?<major>\\d+)_(?<minor>\\d+)(_(?<patch>\\d+))?$"
|
||||||
},
|
},
|
||||||
|
///
|
||||||
|
/// Automatically update minor/patch Github Actions
|
||||||
|
///
|
||||||
|
{
|
||||||
|
"matchManagers": ["github-actions"],
|
||||||
|
"automerge": true,
|
||||||
|
"automergeType": "branch",
|
||||||
|
"matchUpdateTypes": ["minor", "patch"]
|
||||||
|
},
|
||||||
//
|
//
|
||||||
// Common library dep
|
// Common library dep
|
||||||
//
|
//
|
||||||
{
|
{
|
||||||
|
"matchDatasources": ["helm"],
|
||||||
"commitMessagePrefix": "[{{{parentDir}}}]",
|
"commitMessagePrefix": "[{{{parentDir}}}]",
|
||||||
"branchTopic": "{{{parentDir}}}-{{{depNameSanitized}}}-{{{newMajor}}}{{#if isPatch}}.{{{newMinor}}}{{/if}}.x{{#if isLockfileUpdate}}-lockfile{{/if}}",
|
"branchTopic": "{{{parentDir}}}-{{{depNameSanitized}}}-{{{newMajor}}}{{#if isPatch}}.{{{newMinor}}}{{/if}}.x{{#if isLockfileUpdate}}-lockfile{{/if}}",
|
||||||
"updateTypes": ["major"],
|
"updateTypes": ["major"],
|
||||||
"bumpVersion": "major",
|
"bumpVersion": "major",
|
||||||
"labels": ["dependency/major"],
|
"labels": ["type/major"],
|
||||||
"packageNames": ["common"],
|
"packageNames": ["common"],
|
||||||
"groupName": ["internal major dep"]
|
"groupName": ["common library major"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"matchDatasources": ["helm"],
|
||||||
"updateTypes": ["minor"],
|
"updateTypes": ["minor"],
|
||||||
"bumpVersion": "minor",
|
"bumpVersion": "minor",
|
||||||
"labels": ["dependency/minor"],
|
"labels": ["type/minor"],
|
||||||
"packageNames": ["common"],
|
"packageNames": ["common"],
|
||||||
"groupName": ["internal minor dep"]
|
"groupName": ["common library minor"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"matchDatasources": ["helm"],
|
||||||
"updateTypes": ["patch"],
|
"updateTypes": ["patch"],
|
||||||
"bumpVersion": "patch",
|
"bumpVersion": "patch",
|
||||||
"labels": ["dependency/patch"],
|
"labels": ["type/patch"],
|
||||||
"packageNames": ["common"],
|
"packageNames": ["common"],
|
||||||
"groupName": ["internal patch dep"]
|
"groupName": ["common library patch"]
|
||||||
},
|
},
|
||||||
//
|
//
|
||||||
// Other library deps
|
// Other external chart deps
|
||||||
//
|
//
|
||||||
{
|
{
|
||||||
|
"matchDatasources": ["helm"],
|
||||||
"commitMessagePrefix": "[{{{parentDir}}}]",
|
"commitMessagePrefix": "[{{{parentDir}}}]",
|
||||||
"branchTopic": "{{{parentDir}}}-{{{depNameSanitized}}}-{{{newMajor}}}{{#if isPatch}}.{{{newMinor}}}{{/if}}.x{{#if isLockfileUpdate}}-lockfile{{/if}}",
|
"branchTopic": "{{{parentDir}}}-{{{depNameSanitized}}}-{{{newMajor}}}{{#if isPatch}}.{{{newMinor}}}{{/if}}.x{{#if isLockfileUpdate}}-lockfile{{/if}}",
|
||||||
"updateTypes": ["major"],
|
"updateTypes": ["major"],
|
||||||
"bumpVersion": "major",
|
"bumpVersion": "major",
|
||||||
"labels": ["dependency/major"],
|
"labels": ["type/major"],
|
||||||
"excludePackageNames": ["common"],
|
"excludePackageNames": ["common"],
|
||||||
"schedule": [
|
"schedule": [
|
||||||
"every 3 months on the first day of the month"
|
"every 3 months on the first day of the month"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"matchDatasources": ["helm"],
|
||||||
"updateTypes": ["minor"],
|
"updateTypes": ["minor"],
|
||||||
"bumpVersion": "minor",
|
"bumpVersion": "minor",
|
||||||
"labels": ["dependency/minor"],
|
"labels": ["type/minor"],
|
||||||
"excludePackageNames": ["common"],
|
"excludePackageNames": ["common"],
|
||||||
"groupName": ["external minor dep"],
|
"groupName": ["external dependency minor"],
|
||||||
"schedule": [
|
"schedule": [
|
||||||
"every 2 months on the first day of the month"
|
"every 2 months on the first day of the month"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"matchDatasources": ["helm"],
|
||||||
"updateTypes": ["patch"],
|
"updateTypes": ["patch"],
|
||||||
"bumpVersion": "patch",
|
"bumpVersion": "patch",
|
||||||
"labels": ["dependency/patch"],
|
"labels": ["type/patch"],
|
||||||
"excludePackageNames": ["common"],
|
"excludePackageNames": ["common"],
|
||||||
"groupName": ["external patch dep"],
|
"groupName": ["external dependency patch"],
|
||||||
"schedule": [
|
"schedule": [
|
||||||
"every 1 months on the first day of the month"
|
"every 1 months on the first day of the month"
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
set -eu
|
set -e
|
||||||
|
|
||||||
# Check if release notes have been changed
|
# Check if release notes have been changed
|
||||||
# Usage ./check-releasenotes.sh path
|
# Usage ./check-releasenotes.sh path
|
||||||
|
|
||||||
# require yq
|
# require yq
|
||||||
command -v yq >/dev/null 2>&1 || {
|
command -v yq >/dev/null 2>&1 || {
|
||||||
echo >&2 "yq (https://github.com/mikefarah/yq) is not installed. Aborting."
|
printf >&2 "%s\n" "yq (https://github.com/mikefarah/yq) is not installed. Aborting."
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -19,17 +19,20 @@ if [ $# -ge 1 ] && [ -n "$1" ]; then
|
|||||||
root="$1"
|
root="$1"
|
||||||
chart_file="${1}/Chart.yaml"
|
chart_file="${1}/Chart.yaml"
|
||||||
if [ ! -f "$chart_file" ]; then
|
if [ ! -f "$chart_file" ]; then
|
||||||
echo "File ${chart_file} does not exist."
|
printf >&2 "File %s\n does not exist.\n" "${chart_file}"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Validating release notes for $root"
|
|
||||||
|
|
||||||
cd $root
|
cd $root
|
||||||
|
|
||||||
|
if [ -z "$DEFAULT_BRANCH" ]; then
|
||||||
|
DEFAULT_BRANCH=$(git remote show origin | awk '/HEAD branch/ {print $NF}')
|
||||||
|
fi
|
||||||
|
|
||||||
CURRENT=$(cat Chart.yaml | yq e '.annotations."artifacthub.io/changes"' -P -)
|
CURRENT=$(cat Chart.yaml | yq e '.annotations."artifacthub.io/changes"' -P -)
|
||||||
|
|
||||||
if [ "$CURRENT" == "" ] || [ "$CURRENT" == "null" ]; then
|
if [ "$CURRENT" == "" ] || [ "$CURRENT" == "null" ]; then
|
||||||
echo >&2 "Release notes have not been set for this chart!"
|
printf >&2 "Changelog annotation has not been set in %s!\n" "$chart_file"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -37,10 +40,10 @@ if [ $# -ge 1 ] && [ -n "$1" ]; then
|
|||||||
ORIGINAL=$(git show origin/$DEFAULT_BRANCH:./Chart.yaml | yq e '.annotations."artifacthub.io/changes"' -P -)
|
ORIGINAL=$(git show origin/$DEFAULT_BRANCH:./Chart.yaml | yq e '.annotations."artifacthub.io/changes"' -P -)
|
||||||
|
|
||||||
if [ "$CURRENT" == "$ORIGINAL" ]; then
|
if [ "$CURRENT" == "$ORIGINAL" ]; then
|
||||||
echo >&2 "Release notes have not been updated!"
|
printf >&2 "Changelog annotation has not been updated in %s!\n" "$chart_file"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo >&2 "No chart folder has been specified."
|
printf >&2 "%s\n" "No chart folder has been specified."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
@@ -6,7 +6,7 @@ set -eu
|
|||||||
|
|
||||||
# require helm-docs
|
# require helm-docs
|
||||||
command -v helm-docs >/dev/null 2>&1 || {
|
command -v helm-docs >/dev/null 2>&1 || {
|
||||||
echo >&2 "helm-docs (https://github.com/norwoodj/helm-docs) is not installed. Aborting."
|
echo >&2 "helm-docs (https://github.com/k8s-at-home/helm-docs) is not installed. Aborting."
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -35,8 +35,6 @@ fi
|
|||||||
for chart in ${charts}; do
|
for chart in ${charts}; do
|
||||||
chart_directory="$(dirname "${chart}")"
|
chart_directory="$(dirname "${chart}")"
|
||||||
echo "-] Copying templates to ${chart_directory}"
|
echo "-] Copying templates to ${chart_directory}"
|
||||||
# Copy README template into each Chart directory, overwrite if exists
|
|
||||||
cp "${readme_template}" "${chart_directory}"
|
|
||||||
# Copy CONFIG template to each Chart directory, do not overwrite if exists
|
# Copy CONFIG template to each Chart directory, do not overwrite if exists
|
||||||
cp -n "${readme_config_template}" "${chart_directory}" || true
|
cp -n "${readme_config_template}" "${chart_directory}" || true
|
||||||
done
|
done
|
||||||
@@ -44,6 +42,6 @@ done
|
|||||||
# Run helm-docs for charts using the common library and the common library itself
|
# Run helm-docs for charts using the common library and the common library itself
|
||||||
helm-docs \
|
helm-docs \
|
||||||
--ignore-file="${repository}/.helmdocsignore" \
|
--ignore-file="${repository}/.helmdocsignore" \
|
||||||
--template-files="$(basename "${readme_template}")" \
|
--template-files="${readme_template}" \
|
||||||
--template-files="$(basename "${readme_config_template}")" \
|
--template-files="$(basename "${readme_config_template}")" \
|
||||||
--chart-search-root="${root}"
|
--chart-search-root="${root}"
|
||||||
@@ -19,7 +19,7 @@ if [ $# -ge 1 ] && [ -n "$1" ]; then
|
|||||||
printf >&2 "File %s does not exist.\n" "${chart_file}"
|
printf >&2 "File %s does not exist.\n" "${chart_file}"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
cd $root
|
cd "${root}"
|
||||||
|
|
||||||
if [ -z "$DEFAULT_BRANCH" ]; then
|
if [ -z "$DEFAULT_BRANCH" ]; then
|
||||||
DEFAULT_BRANCH=$(git remote show origin | awk '/HEAD branch/ {print $NF}')
|
DEFAULT_BRANCH=$(git remote show origin | awk '/HEAD branch/ {print $NF}')
|
||||||
@@ -28,23 +28,24 @@ if [ $# -ge 1 ] && [ -n "$1" ]; then
|
|||||||
printf "Updating changelog annotation for chart %s\n" "$root"
|
printf "Updating changelog annotation for chart %s\n" "$root"
|
||||||
|
|
||||||
# Loop over all dependencies in current chart version
|
# Loop over all dependencies in current chart version
|
||||||
NEW_DEPENDENCIES=$(cat Chart.yaml | yq e '.dependencies[].name' -P - | LC_ALL=C sort)
|
NEW_DEPENDENCIES=()
|
||||||
OLD_DEPENDENCIES=$(git show origin/$DEFAULT_BRANCH:./Chart.yaml | yq e '.dependencies[].name' -P - | LC_ALL=C sort)
|
while IFS='' read -r line; do NEW_DEPENDENCIES+=("$line"); done < <(yq e '.dependencies[].name' -P Chart.yaml | LC_ALL=C sort)
|
||||||
|
OLD_DEPENDENCIES=$(git show "origin/$DEFAULT_BRANCH:./Chart.yaml" | yq e '.dependencies[].name' -P - | LC_ALL=C sort)
|
||||||
|
|
||||||
tmpfile=$(mktemp)
|
tmpfile=$(mktemp)
|
||||||
trap 'rm -f "$tmpfile"' EXIT
|
trap 'rm -f "$tmpfile"' EXIT
|
||||||
|
|
||||||
for DEP_NAME in ${NEW_DEPENDENCIES[@]}
|
for DEP_NAME in "${NEW_DEPENDENCIES[@]}"
|
||||||
do
|
do
|
||||||
NEW_VERSION=$(cat Chart.yaml | yq e ".dependencies[] | select(.name == \"$DEP_NAME\") | .version" -P -)
|
NEW_VERSION=$(yq e ".dependencies[] | select(.name == \"$DEP_NAME\") | .version" -P Chart.yaml)
|
||||||
OLD_VERSION=$(git show origin/$DEFAULT_BRANCH:./Chart.yaml | yq e ".dependencies[] | select(.name == \"$DEP_NAME\") | .version" -P -)
|
OLD_VERSION=$(git show "origin/$DEFAULT_BRANCH:./Chart.yaml" | yq e ".dependencies[] | select(.name == \"$DEP_NAME\") | .version" -P -)
|
||||||
if [ "${NEW_VERSION}" != "${OLD_VERSION}" ]; then
|
if [ "${NEW_VERSION}" != "${OLD_VERSION}" ]; then
|
||||||
printf "%s\n" "- kind: changed" >> $tmpfile
|
printf "%s\n" "- kind: changed" >> "${tmpfile}"
|
||||||
printf " description: Upgraded \`%s\` chart dependency to version \`%s\`.\n" "${DEP_NAME}" "${NEW_VERSION}" >> $tmpfile
|
printf " description: Upgraded \`%s\` chart dependency to version \`%s\`.\n" "${DEP_NAME}" "${NEW_VERSION}" >> "${tmpfile}"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
yq eval-all --inplace 'select(fileIndex == 0).annotations."artifacthub.io/changes" = (select(fileIndex == 1) | to_yaml) | select(fileIndex==0)' Chart.yaml $tmpfile
|
yq eval-all --inplace 'select(fileIndex == 0).annotations."artifacthub.io/changes" = (select(fileIndex == 1) | to_yaml) | select(fileIndex==0)' Chart.yaml "${tmpfile}"
|
||||||
else
|
else
|
||||||
printf >&2 "%s\n" "No chart folder has been specified."
|
printf >&2 "%s\n" "No chart folder has been specified."
|
||||||
exit 1
|
exit 1
|
||||||
89
.github/workflows/charts-changelog.yaml
vendored
Normal file
89
.github/workflows/charts-changelog.yaml
vendored
Normal file
@@ -0,0 +1,89 @@
|
|||||||
|
name: "Charts: Update README"
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_call:
|
||||||
|
inputs:
|
||||||
|
modifiedCharts:
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
isRenovatePR:
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
outputs:
|
||||||
|
commitHash:
|
||||||
|
description: "The most recent commit hash at the end of this workflow"
|
||||||
|
value: ${{ jobs.generate-changelog.outputs.commitHash }}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
validate-changelog:
|
||||||
|
name: Validate changelog
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- name: Check changelog annotations
|
||||||
|
if: inputs.isRenovatePR != 'true'
|
||||||
|
run: |
|
||||||
|
CHARTS=(${{ inputs.modifiedCharts }})
|
||||||
|
for i in "${CHARTS[@]}"
|
||||||
|
do
|
||||||
|
IFS='/' read -r -a chart_parts <<< "$i"
|
||||||
|
./.github/scripts/check-releasenotes.sh "charts/${chart_parts[0]}/${chart_parts[1]}"
|
||||||
|
echo ""
|
||||||
|
done
|
||||||
|
|
||||||
|
generate-changelog:
|
||||||
|
name: Generate changelog annotations
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs:
|
||||||
|
- validate-changelog
|
||||||
|
outputs:
|
||||||
|
commitHash: ${{ steps.save-commit-hash.outputs.commit_hash }}
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- name: Install Kubernetes tools
|
||||||
|
if: inputs.isRenovatePR == 'true'
|
||||||
|
uses: yokawasa/action-setup-kube-tools@v0.8.0
|
||||||
|
with:
|
||||||
|
setup-tools: |
|
||||||
|
yq
|
||||||
|
yq: "4.20.1"
|
||||||
|
|
||||||
|
- name: Annotate Charts.yaml for Renovate PR's
|
||||||
|
if: inputs.isRenovatePR == 'true'
|
||||||
|
env:
|
||||||
|
DEFAULT_BRANCH: "${{ github.event.repository.default_branch }}"
|
||||||
|
run: |
|
||||||
|
CHARTS=(${{ inputs.modifiedCharts }})
|
||||||
|
for i in "${CHARTS[@]}"
|
||||||
|
do
|
||||||
|
IFS='/' read -r -a chart_parts <<< "$i"
|
||||||
|
./.github/scripts/renovate-releasenotes.sh "charts/${chart_parts[0]}/${chart_parts[1]}"
|
||||||
|
echo ""
|
||||||
|
done
|
||||||
|
|
||||||
|
- name: Create commit
|
||||||
|
id: create-commit
|
||||||
|
if: inputs.isRenovatePR == 'true'
|
||||||
|
uses: stefanzweifel/git-auto-commit-action@v4
|
||||||
|
with:
|
||||||
|
file_pattern: charts/**/
|
||||||
|
commit_message: "chore: Auto-update chart metadata [skip ci]"
|
||||||
|
commit_user_name: ${{ github.actor }}
|
||||||
|
commit_user_email: ${{ github.actor }}@users.noreply.github.com
|
||||||
|
|
||||||
|
- name: Save commit hash
|
||||||
|
id: save-commit-hash
|
||||||
|
run: |
|
||||||
|
if [ "${{ steps.create-commit.outputs.changes_detected || 'unknown' }}" == "true" ]; then
|
||||||
|
echo '::set-output name=commit_hash::${{ steps.create-commit.outputs.commit_hash }}'
|
||||||
|
else
|
||||||
|
echo "::set-output name=commit_hash::${GITHUB_SHA}"
|
||||||
|
fi
|
||||||
54
.github/workflows/charts-lint.yaml
vendored
Normal file
54
.github/workflows/charts-lint.yaml
vendored
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
name: "Charts: Lint"
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_call:
|
||||||
|
inputs:
|
||||||
|
checkoutCommit:
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
chartChangesDetected:
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
lint:
|
||||||
|
name: Lint charts
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
ref: ${{ inputs.checkoutCommit }}
|
||||||
|
|
||||||
|
- name: Install Kubernetes tools
|
||||||
|
uses: yokawasa/action-setup-kube-tools@v0.8.0
|
||||||
|
with:
|
||||||
|
setup-tools: |
|
||||||
|
helmv3
|
||||||
|
helm: "3.8.0"
|
||||||
|
|
||||||
|
- uses: actions/setup-python@v3
|
||||||
|
with:
|
||||||
|
python-version: "3.10"
|
||||||
|
|
||||||
|
- name: Set up chart-testing
|
||||||
|
uses: helm/chart-testing-action@v2.2.1
|
||||||
|
|
||||||
|
- name: Collect changes
|
||||||
|
id: list-changed
|
||||||
|
if: inputs.chartChangesDetected == 'true'
|
||||||
|
run: |
|
||||||
|
EXCLUDED=$(yq eval -o=json '.excluded-charts // []' .github/ct-lint.yaml)
|
||||||
|
CHARTS=$(ct list-changed --config .github/ct-lint.yaml)
|
||||||
|
CHARTS_JSON=$(echo "${CHARTS}" | jq -R -s -c 'split("\n")[:-1]')
|
||||||
|
OUTPUT_JSON=$(echo "{\"excluded\": ${EXCLUDED}, \"all\": ${CHARTS_JSON}}" | jq -c '.all-.excluded')
|
||||||
|
echo ::set-output name=charts::${OUTPUT_JSON}
|
||||||
|
if [[ $(echo ${OUTPUT_JSON} | jq -c '. | length') -gt 0 ]]; then
|
||||||
|
echo "::set-output name=detected::true"
|
||||||
|
fi
|
||||||
|
|
||||||
|
- name: Run chart-testing (lint)
|
||||||
|
id: lint
|
||||||
|
if: steps.list-changed.outputs.detected == 'true'
|
||||||
|
run: ct lint --config .github/ct-lint.yaml
|
||||||
169
.github/workflows/charts-release.yaml
vendored
169
.github/workflows/charts-release.yaml
vendored
@@ -6,82 +6,133 @@ on:
|
|||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
paths:
|
paths:
|
||||||
- 'charts/**'
|
- "charts/**"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
release:
|
release:
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-20.04
|
||||||
steps:
|
steps:
|
||||||
- name: Get k8s-at-home token
|
- name: Generate Token
|
||||||
id: get-app-token
|
uses: tibdex/github-app-token@v1
|
||||||
uses: getsentry/action-github-app-token@v1
|
id: generate-token
|
||||||
with:
|
with:
|
||||||
app_id: ${{ secrets.K8S_AT_HOME_APP_ID }}
|
app_id: ${{ secrets.K8S_AT_HOME_APP_ID }}
|
||||||
private_key: ${{ secrets.K8S_AT_HOME_APP_PRIVATE_KEY }}
|
private_key: ${{ secrets.K8S_AT_HOME_APP_PRIVATE_KEY }}
|
||||||
|
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
token: ${{ steps.get-app-token.outputs.token }}
|
token: ${{ steps.generate-token.outputs.token }}
|
||||||
ref: master
|
fetch-depth: 0
|
||||||
fetch-depth: 0
|
|
||||||
|
|
||||||
- name: Configure Git
|
- name: Install Kubernetes tools
|
||||||
run: |
|
uses: yokawasa/action-setup-kube-tools@v0.8.0
|
||||||
git config user.name "k8s-at-home[bot]"
|
with:
|
||||||
git config user.email "k8s-at-home[bot]@users.noreply.github.com"
|
setup-tools: |
|
||||||
|
helmv3
|
||||||
|
yq
|
||||||
|
helm: "3.8.0"
|
||||||
|
yq: "4.16.2"
|
||||||
|
|
||||||
- name: Install Helm
|
- name: Install helm-docs
|
||||||
uses: azure/setup-helm@v1
|
run: |
|
||||||
with:
|
wget -O /tmp/helm-docs.deb https://github.com/k8s-at-home/helm-docs/releases/download/v0.1.1/helm-docs_0.1.1_Linux_x86_64.deb
|
||||||
version: v3.6.3
|
sudo dpkg -i /tmp/helm-docs.deb
|
||||||
|
|
||||||
- name: Run chart-releaser
|
- name: Collect changes
|
||||||
uses: helm/chart-releaser-action@v1.2.1
|
id: collect-changes
|
||||||
with:
|
uses: ./.github/actions/collect-changes
|
||||||
charts_dir: charts/*
|
|
||||||
charts_repo_url: https://k8s-at-home.com/charts/
|
- name: Generate README for changed charts
|
||||||
env:
|
if: |
|
||||||
CR_TOKEN: "${{ steps.get-app-token.outputs.token }}"
|
steps.collect-changes.outputs.changesDetected == 'true'
|
||||||
CR_SKIP_EXISTING: "true"
|
run: |
|
||||||
|
CHARTS=(${{ steps.collect-changes.outputs.addedOrModifiedCharts }})
|
||||||
|
for i in "${CHARTS[@]}"
|
||||||
|
do
|
||||||
|
IFS='/' read -r -a chart_parts <<< "$i"
|
||||||
|
if [ -f "charts/${chart_parts[0]}"/"${chart_parts[1]}/Chart.yaml" ]; then
|
||||||
|
./.github/scripts/gen-helm-docs.sh "${chart_parts[0]}" "${chart_parts[1]}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
- name: Create commit
|
||||||
|
id: create-commit
|
||||||
|
uses: stefanzweifel/git-auto-commit-action@v4
|
||||||
|
with:
|
||||||
|
file_pattern: charts/**/
|
||||||
|
commit_message: "chore: Auto-update chart README [skip ci]"
|
||||||
|
commit_user_name: k8s-at-home[bot]
|
||||||
|
commit_user_email: k8s-at-home[bot]@users.noreply.github.com
|
||||||
|
commit_author: k8s-at-home[bot] <k8s-at-home[bot]@users.noreply.github.com>
|
||||||
|
|
||||||
|
- name: Save commit hash
|
||||||
|
id: save-commit-hash
|
||||||
|
run: |
|
||||||
|
if [ "${{ steps.create-commit.outputs.changes_detected || 'unknown' }}" == "true" ]; then
|
||||||
|
echo '::set-output name=commit_hash::${{ steps.create-commit.outputs.commit_hash }}'
|
||||||
|
else
|
||||||
|
echo "::set-output name=commit_hash::${GITHUB_SHA}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
token: ${{ steps.generate-token.outputs.token }}
|
||||||
|
ref: ${{ steps.save-commit-hash.outputs.commit_hash }}
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- name: Configure Git
|
||||||
|
run: |
|
||||||
|
git config user.name "k8s-at-home[bot]"
|
||||||
|
git config user.email "k8s-at-home[bot]@users.noreply.github.com"
|
||||||
|
|
||||||
|
- name: Run chart-releaser
|
||||||
|
uses: helm/chart-releaser-action@v1.3.0
|
||||||
|
with:
|
||||||
|
charts_dir: charts/*
|
||||||
|
charts_repo_url: https://k8s-at-home.com/charts/
|
||||||
|
env:
|
||||||
|
CR_TOKEN: "${{ steps.generate-token.outputs.token }}"
|
||||||
|
CR_SKIP_EXISTING: "true"
|
||||||
|
|
||||||
generate-summary:
|
generate-summary:
|
||||||
name: Auto-generate charts summary
|
name: Auto-generate charts summary
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-20.04
|
||||||
needs:
|
needs:
|
||||||
- release
|
- release
|
||||||
steps:
|
steps:
|
||||||
- name: Get k8s-at-home token
|
- name: Generate Token
|
||||||
id: get-app-token
|
uses: tibdex/github-app-token@v1
|
||||||
uses: getsentry/action-github-app-token@v1
|
id: generate-token
|
||||||
with:
|
with:
|
||||||
app_id: ${{ secrets.K8S_AT_HOME_APP_ID }}
|
app_id: ${{ secrets.K8S_AT_HOME_APP_ID }}
|
||||||
private_key: ${{ secrets.K8S_AT_HOME_APP_PRIVATE_KEY }}
|
private_key: ${{ secrets.K8S_AT_HOME_APP_PRIVATE_KEY }}
|
||||||
|
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
token: ${{ steps.get-app-token.outputs.token }}
|
token: ${{ steps.generate-token.outputs.token }}
|
||||||
ref: master
|
ref: master
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Install yq
|
- name: Install yq
|
||||||
uses: chrisdickinson/setup-yq@latest
|
uses: chrisdickinson/setup-yq@latest
|
||||||
with:
|
with:
|
||||||
yq-version: v4.9.3
|
yq-version: v4.9.3
|
||||||
|
|
||||||
- name: Run script
|
- name: Run script
|
||||||
run: |
|
run: |
|
||||||
./hack/gen-chart-summary.sh
|
./hack/gen-chart-summary.sh
|
||||||
|
|
||||||
- name: Create Commit
|
- name: Create Commit
|
||||||
uses: stefanzweifel/git-auto-commit-action@v4
|
uses: stefanzweifel/git-auto-commit-action@v4
|
||||||
with:
|
with:
|
||||||
push_options: --force
|
push_options: --force
|
||||||
commit_message: Auto-generate chart summary [no ci]
|
commit_message: Auto-generate chart summary [no ci]
|
||||||
commit_user_name: k8s-at-home[bot]
|
commit_user_name: k8s-at-home[bot]
|
||||||
commit_user_email: k8s-at-home[bot]@users.noreply.github.com
|
commit_user_email: k8s-at-home[bot]@users.noreply.github.com
|
||||||
commit_author: k8s-at-home[bot] <k8s-at-home[bot]@users.noreply.github.com>
|
commit_author: k8s-at-home[bot] <k8s-at-home[bot]@users.noreply.github.com>
|
||||||
file_pattern: charts/README.md
|
file_pattern: charts/README.md
|
||||||
|
|||||||
135
.github/workflows/charts-test.yaml
vendored
Normal file
135
.github/workflows/charts-test.yaml
vendored
Normal file
@@ -0,0 +1,135 @@
|
|||||||
|
name: "Charts: Test"
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_call:
|
||||||
|
inputs:
|
||||||
|
checkoutCommit:
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
chartChangesDetected:
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
unit-test:
|
||||||
|
name: Run unit tests
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
ref: ${{ inputs.checkoutCommit }}
|
||||||
|
|
||||||
|
- name: Install Kubernetes tools
|
||||||
|
uses: yokawasa/action-setup-kube-tools@v0.8.0
|
||||||
|
with:
|
||||||
|
setup-tools: |
|
||||||
|
helmv3
|
||||||
|
helm: "3.8.0"
|
||||||
|
|
||||||
|
- name: Install Ruby
|
||||||
|
uses: ruby/setup-ruby@v1
|
||||||
|
with:
|
||||||
|
ruby-version: 2.7
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
env:
|
||||||
|
RUBYJQ_USE_SYSTEM_LIBRARIES: 1
|
||||||
|
run: |
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install libjq-dev
|
||||||
|
bundle install
|
||||||
|
|
||||||
|
- name: Run tests
|
||||||
|
run: |
|
||||||
|
bundle exec m -r ./test/
|
||||||
|
|
||||||
|
generate-install-matrix:
|
||||||
|
name: Generate matrix for install
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
outputs:
|
||||||
|
matrix: |
|
||||||
|
{
|
||||||
|
"chart": ${{ steps.list-changed.outputs.charts }}
|
||||||
|
}
|
||||||
|
detected: ${{ steps.list-changed.outputs.detected }}
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
ref: ${{ inputs.checkoutCommit }}
|
||||||
|
|
||||||
|
- name: Set up chart-testing
|
||||||
|
uses: helm/chart-testing-action@v2.2.1
|
||||||
|
|
||||||
|
- name: Run chart-testing (list-changed)
|
||||||
|
id: list-changed
|
||||||
|
if: inputs.chartChangesDetected == 'true'
|
||||||
|
run: |
|
||||||
|
EXCLUDED=$(yq eval -o=json '.excluded-charts // []' .github/ct-install.yaml)
|
||||||
|
CHARTS=$(ct list-changed --config .github/ct-install.yaml)
|
||||||
|
CHARTS_JSON=$(echo "${CHARTS}" | jq -R -s -c 'split("\n")[:-1]')
|
||||||
|
OUTPUT_JSON=$(echo "{\"excluded\": ${EXCLUDED}, \"all\": ${CHARTS_JSON}}" | jq -c '.all-.excluded')
|
||||||
|
echo ::set-output name=charts::${OUTPUT_JSON}
|
||||||
|
if [[ $(echo ${OUTPUT_JSON} | jq -c '. | length') -gt 0 ]]; then
|
||||||
|
echo "::set-output name=detected::true"
|
||||||
|
fi
|
||||||
|
|
||||||
|
install-charts:
|
||||||
|
needs:
|
||||||
|
- generate-install-matrix
|
||||||
|
if: needs.generate-install-matrix.outputs.detected == 'true'
|
||||||
|
name: Install charts
|
||||||
|
strategy:
|
||||||
|
matrix: ${{ fromJson(needs.generate-install-matrix.outputs.matrix) }}
|
||||||
|
fail-fast: true
|
||||||
|
max-parallel: 15
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
ref: ${{ inputs.checkoutCommit }}
|
||||||
|
|
||||||
|
- name: Install Kubernetes tools
|
||||||
|
uses: yokawasa/action-setup-kube-tools@v0.8.0
|
||||||
|
with:
|
||||||
|
setup-tools: |
|
||||||
|
helmv3
|
||||||
|
helm: "3.6.3"
|
||||||
|
|
||||||
|
- uses: actions/setup-python@v3
|
||||||
|
with:
|
||||||
|
python-version: "3.10"
|
||||||
|
|
||||||
|
- name: Set up chart-testing
|
||||||
|
uses: helm/chart-testing-action@v2.2.1
|
||||||
|
|
||||||
|
- name: Create k3d cluster
|
||||||
|
uses: nolar/setup-k3d-k3s@v1
|
||||||
|
with:
|
||||||
|
version: v1.19
|
||||||
|
|
||||||
|
- name: Remove node taints
|
||||||
|
run: |
|
||||||
|
kubectl taint --all=true nodes node.cloudprovider.kubernetes.io/uninitialized- || true
|
||||||
|
|
||||||
|
- name: Run chart-testing (install)
|
||||||
|
run: ct install --config .github/ct-install.yaml --charts ${{ matrix.chart }}
|
||||||
|
|
||||||
|
# Summarize matrix https://github.community/t/status-check-for-a-matrix-jobs/127354/7
|
||||||
|
install_success:
|
||||||
|
needs:
|
||||||
|
- generate-install-matrix
|
||||||
|
- install-charts
|
||||||
|
if: |
|
||||||
|
always()
|
||||||
|
name: Install successful
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Check install matrix status
|
||||||
|
if: ${{ (needs.generate-install-matrix.outputs.detected == 'true') && (needs.install-charts.result != 'success') }}
|
||||||
|
run: exit 1
|
||||||
351
.github/workflows/charts-validate.yaml
vendored
351
.github/workflows/charts-validate.yaml
vendored
@@ -1,351 +0,0 @@
|
|||||||
name: "Charts: Validate"
|
|
||||||
|
|
||||||
on:
|
|
||||||
workflow_dispatch:
|
|
||||||
pull_request:
|
|
||||||
paths:
|
|
||||||
- "charts/**"
|
|
||||||
|
|
||||||
concurrency:
|
|
||||||
group: ${{ github.head_ref }}-validate
|
|
||||||
# cancel-in-progress: true
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
pr-metadata:
|
|
||||||
name: Collect PR metadata
|
|
||||||
runs-on: ubuntu-20.04
|
|
||||||
outputs:
|
|
||||||
branch: ${{ steps.branch-name.outputs.current_branch }}
|
|
||||||
isFork: ${{ github.event.pull_request.head.repo.full_name != github.repository }}
|
|
||||||
addedOrModified: ${{ steps.filter.outputs.addedOrModified }}
|
|
||||||
addedOrModifiedFiles: ${{ steps.filter.outputs.addedOrModified_files }}
|
|
||||||
addedOrModifiedCharts: ${{ steps.filter-charts.outputs.addedOrModified }}
|
|
||||||
steps:
|
|
||||||
- name: Get branch name
|
|
||||||
id: branch-name
|
|
||||||
uses: tj-actions/branch-names@v5.1
|
|
||||||
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
|
|
||||||
- name: Collect changed files
|
|
||||||
uses: dorny/paths-filter@v2
|
|
||||||
id: filter
|
|
||||||
with:
|
|
||||||
list-files: shell
|
|
||||||
filters: |
|
|
||||||
addedOrModified:
|
|
||||||
- added|modified: 'charts/**'
|
|
||||||
|
|
||||||
- name: Collect changed charts
|
|
||||||
if: |
|
|
||||||
steps.filter.outputs.addedOrModified == 'true'
|
|
||||||
id: filter-charts
|
|
||||||
run: |
|
|
||||||
CHARTS=()
|
|
||||||
PATHS=(${{ steps.filter.outputs.addedOrModified_files }})
|
|
||||||
# Get only the chart paths
|
|
||||||
for CHARTPATH in "${PATHS[@]}"
|
|
||||||
do
|
|
||||||
IFS='/' read -r -a path_parts <<< "${CHARTPATH}"
|
|
||||||
CHARTS+=("${path_parts[1]}/${path_parts[2]}")
|
|
||||||
done
|
|
||||||
|
|
||||||
# Remove duplicates
|
|
||||||
CHARTS=( `printf "%s\n" "${CHARTS[@]}" | sort -u` )
|
|
||||||
# Set output to changed charts
|
|
||||||
printf "::set-output name=addedOrModified::%s\n" "${CHARTS[*]}"
|
|
||||||
|
|
||||||
generate-readme:
|
|
||||||
name: Generate chart README files
|
|
||||||
runs-on: ubuntu-20.04
|
|
||||||
outputs:
|
|
||||||
commitHash: ${{ steps.create-commit.outputs.commit_hash }}
|
|
||||||
needs:
|
|
||||||
- pr-metadata
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
if: |
|
|
||||||
needs.pr-metadata.outputs.isFork == 'true'
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
|
|
||||||
- name: Get app-token
|
|
||||||
uses: getsentry/action-github-app-token@v1
|
|
||||||
id: get-app-token
|
|
||||||
if: |
|
|
||||||
needs.pr-metadata.outputs.isFork == 'false'
|
|
||||||
with:
|
|
||||||
app_id: ${{ secrets.K8S_AT_HOME_APP_ID }}
|
|
||||||
private_key: ${{ secrets.K8S_AT_HOME_APP_PRIVATE_KEY }}
|
|
||||||
|
|
||||||
- name: Checkout with app-token
|
|
||||||
if: |
|
|
||||||
needs.pr-metadata.outputs.isFork == 'false'
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
token: ${{ steps.get-app-token.outputs.token }}
|
|
||||||
|
|
||||||
- uses: yokawasa/action-setup-kube-tools@v0.8.0
|
|
||||||
if: |
|
|
||||||
needs.pr-metadata.outputs.addedOrModified == 'true'
|
|
||||||
with:
|
|
||||||
setup-tools: |
|
|
||||||
yq
|
|
||||||
yq: "4.16.2"
|
|
||||||
|
|
||||||
- name: Install helm-docs
|
|
||||||
if: |
|
|
||||||
needs.pr-metadata.outputs.addedOrModified == 'true'
|
|
||||||
run: |
|
|
||||||
wget -O /tmp/helm-docs.deb https://github.com/k8s-at-home/helm-docs/releases/download/v0.1.1/helm-docs_0.1.1_Linux_x86_64.deb
|
|
||||||
sudo dpkg -i /tmp/helm-docs.deb
|
|
||||||
|
|
||||||
- name: Annotate Charts.yaml for Renovate PR's
|
|
||||||
if: |
|
|
||||||
needs.pr-metadata.outputs.addedOrModified == 'true' &&
|
|
||||||
startsWith(needs.pr-metadata.outputs.branch, 'renovate/')
|
|
||||||
run: |
|
|
||||||
export DEFAULT_BRANCH=$(git remote show origin | awk '/HEAD branch/ {print $NF}')
|
|
||||||
CHARTS=(${{ needs.pr-metadata.outputs.addedOrModifiedCharts }})
|
|
||||||
for i in "${CHARTS[@]}"
|
|
||||||
do
|
|
||||||
IFS='/' read -r -a chart_parts <<< "$i"
|
|
||||||
if [ -f "charts/${chart_parts[0]}"/"${chart_parts[1]}/Chart.yaml" ]; then
|
|
||||||
./hack/renovate-releasenotes.sh "charts/${chart_parts[0]}"/"${chart_parts[1]}"
|
|
||||||
fi
|
|
||||||
echo ""
|
|
||||||
done
|
|
||||||
|
|
||||||
- name: Generate README for changed charts
|
|
||||||
if: |
|
|
||||||
needs.pr-metadata.outputs.addedOrModified == 'true'
|
|
||||||
run: |
|
|
||||||
CHARTS=(${{ needs.pr-metadata.outputs.addedOrModifiedCharts }})
|
|
||||||
for i in "${CHARTS[@]}"
|
|
||||||
do
|
|
||||||
printf "Rendering README for chart %s\n" "${i}"
|
|
||||||
echo " ${i}"
|
|
||||||
IFS='/' read -r -a chart_parts <<< "$i"
|
|
||||||
if [ -f "charts/${chart_parts[0]}"/"${chart_parts[1]}/Chart.yaml" ]; then
|
|
||||||
./hack/gen-helm-docs.sh "${chart_parts[0]}" "${chart_parts[1]}"
|
|
||||||
fi
|
|
||||||
echo ""
|
|
||||||
done
|
|
||||||
|
|
||||||
- name: Create commit
|
|
||||||
id: create-commit
|
|
||||||
if: |
|
|
||||||
needs.pr-metadata.outputs.addedOrModified == 'true'
|
|
||||||
uses: stefanzweifel/git-auto-commit-action@v4
|
|
||||||
with:
|
|
||||||
file_pattern: charts/**/
|
|
||||||
commit_message: Auto-update chart metadata and README
|
|
||||||
commit_user_name: ${{ github.actor }}
|
|
||||||
commit_user_email: ${{ github.actor }}@users.noreply.github.com
|
|
||||||
|
|
||||||
changes-lint:
|
|
||||||
name: Detect changes for linting
|
|
||||||
runs-on: ubuntu-20.04
|
|
||||||
outputs:
|
|
||||||
matrix: |
|
|
||||||
{
|
|
||||||
"chart": ${{ steps.list-changed.outputs.charts }}
|
|
||||||
}
|
|
||||||
detected: ${{ steps.list-changed.outputs.detected }}
|
|
||||||
needs:
|
|
||||||
- pr-metadata
|
|
||||||
- generate-readme
|
|
||||||
if: |
|
|
||||||
needs.generate-readme.outputs.commitHash == ''
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
|
|
||||||
- name: Set up chart-testing
|
|
||||||
uses: helm/chart-testing-action@v2.1.0
|
|
||||||
|
|
||||||
- name: Run chart-testing (list-changed)
|
|
||||||
id: list-changed
|
|
||||||
run: |
|
|
||||||
EXCLUDED=$(yq eval -o=json '.excluded-charts // []' .github/ct-lint.yaml)
|
|
||||||
CHARTS=$(ct list-changed --config .github/ct-lint.yaml)
|
|
||||||
CHARTS_JSON=$(echo "${CHARTS}" | jq -R -s -c 'split("\n")[:-1]')
|
|
||||||
OUTPUT_JSON=$(echo "{\"excluded\": ${EXCLUDED}, \"all\": ${CHARTS_JSON}}" | jq -c '.all-.excluded')
|
|
||||||
echo ::set-output name=charts::${OUTPUT_JSON}
|
|
||||||
if [[ $(echo ${OUTPUT_JSON} | jq -c '. | length') -gt 0 ]]; then
|
|
||||||
echo "::set-output name=detected::true"
|
|
||||||
fi
|
|
||||||
|
|
||||||
changes-install:
|
|
||||||
name: Detect changes for install
|
|
||||||
runs-on: ubuntu-20.04
|
|
||||||
outputs:
|
|
||||||
matrix: |
|
|
||||||
{
|
|
||||||
"chart": ${{ steps.list-changed.outputs.charts }}
|
|
||||||
}
|
|
||||||
detected: ${{ steps.list-changed.outputs.detected }}
|
|
||||||
needs:
|
|
||||||
- pr-metadata
|
|
||||||
- generate-readme
|
|
||||||
if: |
|
|
||||||
needs.generate-readme.outputs.commitHash == ''
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
|
|
||||||
- name: Set up chart-testing
|
|
||||||
uses: helm/chart-testing-action@v2.1.0
|
|
||||||
|
|
||||||
- name: Run chart-testing (list-changed)
|
|
||||||
id: list-changed
|
|
||||||
run: |
|
|
||||||
EXCLUDED=$(yq eval -o=json '.excluded-charts // []' .github/ct-install.yaml)
|
|
||||||
CHARTS=$(ct list-changed --config .github/ct-install.yaml)
|
|
||||||
CHARTS_JSON=$(echo "${CHARTS}" | jq -R -s -c 'split("\n")[:-1]')
|
|
||||||
OUTPUT_JSON=$(echo "{\"excluded\": ${EXCLUDED}, \"all\": ${CHARTS_JSON}}" | jq -c '.all-.excluded')
|
|
||||||
echo ::set-output name=charts::${OUTPUT_JSON}
|
|
||||||
if [[ $(echo ${OUTPUT_JSON} | jq -c '. | length') -gt 0 ]]; then
|
|
||||||
echo "::set-output name=detected::true"
|
|
||||||
fi
|
|
||||||
|
|
||||||
lint:
|
|
||||||
needs:
|
|
||||||
- changes-lint
|
|
||||||
if:
|
|
||||||
needs.changes-lint.outputs.detected == 'true'
|
|
||||||
name: Lint charts
|
|
||||||
strategy:
|
|
||||||
matrix: ${{ fromJson(needs.changes-lint.outputs.matrix) }}
|
|
||||||
fail-fast: true
|
|
||||||
max-parallel: 15
|
|
||||||
runs-on: ubuntu-20.04
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
|
|
||||||
- name: Install Helm
|
|
||||||
uses: azure/setup-helm@v1
|
|
||||||
with:
|
|
||||||
version: v3.6.3
|
|
||||||
|
|
||||||
- uses: actions/setup-python@v2
|
|
||||||
with:
|
|
||||||
python-version: 3.7
|
|
||||||
|
|
||||||
- name: Set up chart-testing
|
|
||||||
uses: helm/chart-testing-action@v2.1.0
|
|
||||||
|
|
||||||
- name: Run chart-testing (lint)
|
|
||||||
id: lint
|
|
||||||
run: ct lint --config .github/ct-lint.yaml --charts ${{ matrix.chart }}
|
|
||||||
|
|
||||||
# Summarize matrix https://github.community/t/status-check-for-a-matrix-jobs/127354/7
|
|
||||||
lint_success:
|
|
||||||
needs:
|
|
||||||
- lint
|
|
||||||
if: ${{ always() }}
|
|
||||||
name: Lint successful
|
|
||||||
runs-on: ubuntu-20.04
|
|
||||||
steps:
|
|
||||||
- name: Check lint matrix status
|
|
||||||
if: ${{ needs.changes-lint.outputs.detected == 'true' && needs.lint.result != 'success' }}
|
|
||||||
run: exit 1
|
|
||||||
|
|
||||||
unittest:
|
|
||||||
needs:
|
|
||||||
- lint_success
|
|
||||||
name: Run unit tests
|
|
||||||
runs-on: ubuntu-20.04
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
|
|
||||||
- name: Install Dev tools
|
|
||||||
run: sudo apt-get update && sudo apt-get install -y jq libjq-dev
|
|
||||||
|
|
||||||
- name: Install Helm
|
|
||||||
uses: azure/setup-helm@v1
|
|
||||||
with:
|
|
||||||
version: v3.6.3
|
|
||||||
|
|
||||||
- name: Install Ruby
|
|
||||||
uses: ruby/setup-ruby@v1
|
|
||||||
with:
|
|
||||||
ruby-version: 2.7
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
env:
|
|
||||||
RUBYJQ_USE_SYSTEM_LIBRARIES: 1
|
|
||||||
run: |
|
|
||||||
bundle install
|
|
||||||
|
|
||||||
- name: Run tests
|
|
||||||
run: |
|
|
||||||
bundle exec m -r ./test/
|
|
||||||
|
|
||||||
install:
|
|
||||||
needs:
|
|
||||||
- changes-install
|
|
||||||
- lint_success
|
|
||||||
if:
|
|
||||||
needs.changes-install.outputs.detected == 'true'
|
|
||||||
name: Install charts
|
|
||||||
strategy:
|
|
||||||
matrix: ${{ fromJson(needs.changes-install.outputs.matrix) }}
|
|
||||||
fail-fast: true
|
|
||||||
max-parallel: 15
|
|
||||||
runs-on: ubuntu-20.04
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
|
|
||||||
- name: Install Helm
|
|
||||||
uses: azure/setup-helm@v1
|
|
||||||
with:
|
|
||||||
version: v3.6.3
|
|
||||||
|
|
||||||
- uses: actions/setup-python@v2
|
|
||||||
with:
|
|
||||||
python-version: 3.7
|
|
||||||
|
|
||||||
- name: Set up chart-testing
|
|
||||||
uses: helm/chart-testing-action@v2.1.0
|
|
||||||
|
|
||||||
- name: Create k3d cluster
|
|
||||||
uses: nolar/setup-k3d-k3s@v1
|
|
||||||
with:
|
|
||||||
version: v1.19
|
|
||||||
|
|
||||||
- name: Remove node taints
|
|
||||||
run: |
|
|
||||||
kubectl taint --all=true nodes node.cloudprovider.kubernetes.io/uninitialized- || true
|
|
||||||
|
|
||||||
- name: Run chart-testing (install)
|
|
||||||
run: ct install --config .github/ct-install.yaml --charts ${{ matrix.chart }}
|
|
||||||
|
|
||||||
# Summarize matrix https://github.community/t/status-check-for-a-matrix-jobs/127354/7
|
|
||||||
install_success:
|
|
||||||
needs:
|
|
||||||
- changes-install
|
|
||||||
- install
|
|
||||||
if: ${{ always() }}
|
|
||||||
name: Install successful
|
|
||||||
runs-on: ubuntu-20.04
|
|
||||||
steps:
|
|
||||||
- name: Check install matrix status
|
|
||||||
if: ${{ needs.changes-install.outputs.detected == 'true' && needs.install.result != 'success' }}
|
|
||||||
run: exit 1
|
|
||||||
118
.github/workflows/meta-label-pr-ci-status.yaml
vendored
Normal file
118
.github/workflows/meta-label-pr-ci-status.yaml
vendored
Normal file
@@ -0,0 +1,118 @@
|
|||||||
|
---
|
||||||
|
name: "Metadata: Label pull requests CI status"
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_run:
|
||||||
|
workflows:
|
||||||
|
- "Pull Request: Validate"
|
||||||
|
types:
|
||||||
|
- completed
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
label-ci-status:
|
||||||
|
name: Label CI status
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Generate Token
|
||||||
|
uses: tibdex/github-app-token@v1
|
||||||
|
id: generate-token
|
||||||
|
with:
|
||||||
|
app_id: ${{ secrets.K8S_AT_HOME_APP_ID }}
|
||||||
|
private_key: ${{ secrets.K8S_AT_HOME_APP_PRIVATE_KEY }}
|
||||||
|
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
token: ${{ steps.generate-token.outputs.token }}
|
||||||
|
|
||||||
|
- name: Download workflow artifact
|
||||||
|
uses: dawidd6/action-download-artifact@v2.17.0
|
||||||
|
with:
|
||||||
|
github_token: ${{ steps.generate-token.outputs.token }}
|
||||||
|
workflow: pr-validate.yaml
|
||||||
|
run_id: ${{ github.event.workflow_run.id }}
|
||||||
|
name: pr_metadata
|
||||||
|
path: ./pr_metadata
|
||||||
|
|
||||||
|
- name: Read the pr_number file
|
||||||
|
id: pr_num_reader
|
||||||
|
uses: juliangruber/read-file-action@v1.1.4
|
||||||
|
with:
|
||||||
|
path: ./pr_metadata/pr_number.txt
|
||||||
|
|
||||||
|
- name: "Get workflow job status"
|
||||||
|
uses: actions/github-script@v6
|
||||||
|
id: get-workflow-jobs
|
||||||
|
with:
|
||||||
|
github-token: ${{ steps.generate-token.outputs.token }}
|
||||||
|
# https://mhagemann.medium.com/the-ultimate-way-to-slugify-a-url-string-in-javascript-b8e4a0d849e1
|
||||||
|
script: |
|
||||||
|
function slugify(string) {
|
||||||
|
const a = 'àáâäæãåāăąçćčđďèéêëēėęěğǵḧîïíīįìıİłḿñńǹňôöòóœøōõőṕŕřßśšşșťțûüùúūǘůűųẃẍÿýžźż·/_,:;'
|
||||||
|
const b = 'aaaaaaaaaacccddeeeeeeeegghiiiiiiiilmnnnnoooooooooprrsssssttuuuuuuuuuwxyyzzz------'
|
||||||
|
const p = new RegExp(a.split('').join('|'), 'g')
|
||||||
|
|
||||||
|
return string.toString().toLowerCase()
|
||||||
|
.replace(/\s+/g, '-') // Replace spaces with -
|
||||||
|
.replace(p, c => b.charAt(a.indexOf(c))) // Replace special characters
|
||||||
|
.replace(/&/g, '-and-') // Replace & with 'and'
|
||||||
|
.replace(/[^\w\-]+/g, '') // Remove all non-word characters
|
||||||
|
.replace(/\-\-+/g, '-') // Replace multiple - with single -
|
||||||
|
.replace(/^-+/, '') // Trim - from start of text
|
||||||
|
.replace(/-+$/, '') // Trim - from end of text
|
||||||
|
}
|
||||||
|
|
||||||
|
let result = new Object
|
||||||
|
|
||||||
|
const wfJobs = await github.rest.actions.listJobsForWorkflowRun({
|
||||||
|
owner: context.repo.owner,
|
||||||
|
repo: context.repo.repo,
|
||||||
|
run_id: context.payload.workflow_run.id,
|
||||||
|
})
|
||||||
|
|
||||||
|
for (const job of wfJobs.data.jobs) {
|
||||||
|
result[slugify(job.name)] = job.conclusion
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log(result)
|
||||||
|
return result
|
||||||
|
|
||||||
|
- name: Label pre-commit status
|
||||||
|
uses: ./.github/actions/label-from-status
|
||||||
|
with:
|
||||||
|
token: ${{ steps.generate-token.outputs.token }}
|
||||||
|
issue-number: ${{ steps.pr_num_reader.outputs.content }}
|
||||||
|
prefix: precommit
|
||||||
|
job-status: |-
|
||||||
|
${{ fromJSON(steps.get-workflow-jobs.outputs.result).pre-commit-check-run-pre-commit-checks || 'skipped' }}
|
||||||
|
remove-on-skipped: true
|
||||||
|
|
||||||
|
- name: Label changelog status
|
||||||
|
uses: ./.github/actions/label-from-status
|
||||||
|
with:
|
||||||
|
token: ${{ steps.generate-token.outputs.token }}
|
||||||
|
issue-number: ${{ steps.pr_num_reader.outputs.content }}
|
||||||
|
prefix: changelog
|
||||||
|
job-status: |-
|
||||||
|
${{ fromJSON(steps.get-workflow-jobs.outputs.result).charts-changelog-validate-changelog || 'skipped' }}
|
||||||
|
remove-on-skipped: true
|
||||||
|
|
||||||
|
- name: Label chart lint status
|
||||||
|
uses: ./.github/actions/label-from-status
|
||||||
|
with:
|
||||||
|
token: ${{ steps.generate-token.outputs.token }}
|
||||||
|
issue-number: ${{ steps.pr_num_reader.outputs.content }}
|
||||||
|
prefix: lint
|
||||||
|
job-status: |-
|
||||||
|
${{ fromJSON(steps.get-workflow-jobs.outputs.result).charts-lint-lint-charts || 'skipped' }}
|
||||||
|
remove-on-skipped: true
|
||||||
|
|
||||||
|
- name: Label chart install status
|
||||||
|
uses: ./.github/actions/label-from-status
|
||||||
|
with:
|
||||||
|
token: ${{ steps.generate-token.outputs.token }}
|
||||||
|
issue-number: ${{ steps.pr_num_reader.outputs.content }}
|
||||||
|
prefix: install
|
||||||
|
job-status: |-
|
||||||
|
${{ fromJSON(steps.get-workflow-jobs.outputs.result).charts-test-install-successful || 'skipped' }}
|
||||||
|
remove-on-skipped: true
|
||||||
27
.github/workflows/metadata-label-commenter.yaml
vendored
27
.github/workflows/metadata-label-commenter.yaml
vendored
@@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
name: 'Metadata: Label Commenter'
|
name: "Metadata: Label Commenter"
|
||||||
|
|
||||||
on:
|
on:
|
||||||
issues:
|
issues:
|
||||||
@@ -21,17 +21,18 @@ jobs:
|
|||||||
name: Label commenter
|
name: Label commenter
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-20.04
|
||||||
steps:
|
steps:
|
||||||
- uses: getsentry/action-github-app-token@v1
|
- name: Generate Token
|
||||||
id: get-app-token
|
uses: tibdex/github-app-token@v1
|
||||||
with:
|
id: generate-token
|
||||||
app_id: ${{ secrets.K8S_AT_HOME_APP_ID }}
|
with:
|
||||||
private_key: ${{ secrets.K8S_AT_HOME_APP_PRIVATE_KEY }}
|
app_id: ${{ secrets.K8S_AT_HOME_APP_ID }}
|
||||||
|
private_key: ${{ secrets.K8S_AT_HOME_APP_PRIVATE_KEY }}
|
||||||
|
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
token: ${{ steps.get-app-token.outputs.token }}
|
token: ${{ steps.generate-token.outputs.token }}
|
||||||
ref: master
|
ref: master
|
||||||
|
|
||||||
- uses: peaceiris/actions-label-commenter@v1
|
- uses: peaceiris/actions-label-commenter@v1
|
||||||
with:
|
with:
|
||||||
github_token: ${{ steps.get-app-token.outputs.token }}
|
github_token: ${{ steps.generate-token.outputs.token }}
|
||||||
|
|||||||
71
.github/workflows/metadata-label-issues-prs.yaml
vendored
71
.github/workflows/metadata-label-issues-prs.yaml
vendored
@@ -1,71 +0,0 @@
|
|||||||
---
|
|
||||||
name: "Metadata: Label issues and pull requests"
|
|
||||||
|
|
||||||
on:
|
|
||||||
issues:
|
|
||||||
types:
|
|
||||||
- opened
|
|
||||||
- edited
|
|
||||||
- closed
|
|
||||||
- reopened
|
|
||||||
pull_request_target:
|
|
||||||
types:
|
|
||||||
- opened
|
|
||||||
- edited
|
|
||||||
- closed
|
|
||||||
- reopened
|
|
||||||
- ready_for_review
|
|
||||||
- synchronize
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
label:
|
|
||||||
name: Label issues and pull requests
|
|
||||||
runs-on: ubuntu-20.04
|
|
||||||
steps:
|
|
||||||
- uses: getsentry/action-github-app-token@v1
|
|
||||||
id: get-app-token
|
|
||||||
with:
|
|
||||||
app_id: ${{ secrets.K8S_AT_HOME_APP_ID }}
|
|
||||||
private_key: ${{ secrets.K8S_AT_HOME_APP_PRIVATE_KEY }}
|
|
||||||
|
|
||||||
- uses: Videndum/label-mastermind@2.1.3
|
|
||||||
with:
|
|
||||||
GITHUB_TOKEN: ${{ steps.get-app-token.outputs.token }}
|
|
||||||
configJSON: |
|
|
||||||
{
|
|
||||||
"releaseMastermind": {
|
|
||||||
"labels": {
|
|
||||||
"kind:incorrect-title": {
|
|
||||||
"name": "kind:incorrect-title",
|
|
||||||
"colour": "#ffb700",
|
|
||||||
"description": "Incorrect title"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"runners": [
|
|
||||||
{
|
|
||||||
"root": ".",
|
|
||||||
"versioning": {
|
|
||||||
"source": "milestones",
|
|
||||||
"type": "other"
|
|
||||||
},
|
|
||||||
"pr": {
|
|
||||||
"labels": {
|
|
||||||
"kind:incorrect-title": {
|
|
||||||
"requires": 2,
|
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"type": "creatorMatches",
|
|
||||||
"pattern": "^(?!renovate).+"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "titleMatches",
|
|
||||||
"pattern": "^(?!\\[[a-z0-9\\-]+\\]\\s.+).+"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
126
.github/workflows/metadata-label-pr-ci-status.yaml
vendored
126
.github/workflows/metadata-label-pr-ci-status.yaml
vendored
@@ -1,126 +0,0 @@
|
|||||||
---
|
|
||||||
name: "Metadata: Label pull requests CI status"
|
|
||||||
|
|
||||||
on:
|
|
||||||
workflow_run:
|
|
||||||
workflows:
|
|
||||||
- "Pre-commit consistency check"
|
|
||||||
- "Charts: Validate"
|
|
||||||
types:
|
|
||||||
- completed
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
label-precommit:
|
|
||||||
name: Label pre-commit status
|
|
||||||
runs-on: ubuntu-20.04
|
|
||||||
if: "${{ github.event.workflow.name == 'Pre-commit consistency check' }}"
|
|
||||||
steps:
|
|
||||||
- uses: getsentry/action-github-app-token@v1
|
|
||||||
id: get-app-token
|
|
||||||
with:
|
|
||||||
app_id: ${{ secrets.K8S_AT_HOME_APP_ID }}
|
|
||||||
private_key: ${{ secrets.K8S_AT_HOME_APP_PRIVATE_KEY }}
|
|
||||||
|
|
||||||
- name: "Get information about the origin 'CI' run"
|
|
||||||
uses: potiuk/get-workflow-origin@v1_3
|
|
||||||
id: source-run-info
|
|
||||||
with:
|
|
||||||
token: ${{ steps.get-app-token.outputs.token }}
|
|
||||||
sourceRunId: ${{ github.event.workflow_run.id }}
|
|
||||||
|
|
||||||
- name: Label precommit success
|
|
||||||
uses: andymckay/labeler@1.0.4
|
|
||||||
if: ${{ github.event.workflow_run.conclusion == 'success' }}
|
|
||||||
with:
|
|
||||||
repo-token: ${{ steps.get-app-token.outputs.token }}
|
|
||||||
issue-number: ${{ steps.source-run-info.outputs.pullRequestNumber }}
|
|
||||||
add-labels: "precommit:ok"
|
|
||||||
remove-labels: "precommit:failed"
|
|
||||||
|
|
||||||
- name: Label precommit failure
|
|
||||||
uses: andymckay/labeler@1.0.4
|
|
||||||
if: ${{ github.event.workflow_run.conclusion == 'failure' }}
|
|
||||||
with:
|
|
||||||
repo-token: ${{ steps.get-app-token.outputs.token }}
|
|
||||||
issue-number: ${{ steps.source-run-info.outputs.pullRequestNumber }}
|
|
||||||
add-labels: "precommit:failed"
|
|
||||||
remove-labels: "precommit:ok"
|
|
||||||
|
|
||||||
label-lint-install:
|
|
||||||
name: Label lint and install status
|
|
||||||
runs-on: ubuntu-20.04
|
|
||||||
if: "${{ github.event.workflow.name == 'Charts: Validate' }}"
|
|
||||||
steps:
|
|
||||||
- uses: getsentry/action-github-app-token@v1
|
|
||||||
id: get-app-token
|
|
||||||
with:
|
|
||||||
app_id: ${{ secrets.K8S_AT_HOME_APP_ID }}
|
|
||||||
private_key: ${{ secrets.K8S_AT_HOME_APP_PRIVATE_KEY }}
|
|
||||||
|
|
||||||
- name: "Get information about the origin 'CI' run"
|
|
||||||
uses: potiuk/get-workflow-origin@v1_3
|
|
||||||
id: source-run-info
|
|
||||||
with:
|
|
||||||
token: ${{ steps.get-app-token.outputs.token }}
|
|
||||||
sourceRunId: ${{ github.event.workflow_run.id }}
|
|
||||||
|
|
||||||
- name: "Get workflow job status"
|
|
||||||
uses: actions/github-script@v5
|
|
||||||
id: get-workflow-jobs
|
|
||||||
with:
|
|
||||||
github-token: ${{ steps.get-app-token.outputs.token }}
|
|
||||||
script: |
|
|
||||||
let result = new Object
|
|
||||||
|
|
||||||
const wfJobs = await github.rest.actions.listJobsForWorkflowRun({
|
|
||||||
owner: context.repo.owner,
|
|
||||||
repo: context.repo.repo,
|
|
||||||
run_id: context.payload.workflow_run.id,
|
|
||||||
})
|
|
||||||
|
|
||||||
for (const job of wfJobs.data.jobs) {
|
|
||||||
if (job.name === 'Lint successful') {
|
|
||||||
result['lint'] = job.conclusion
|
|
||||||
} else if (job.name === 'Install successful') {
|
|
||||||
result['install'] = job.conclusion
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
console.log(result)
|
|
||||||
return result
|
|
||||||
|
|
||||||
- name: Label lint success
|
|
||||||
uses: andymckay/labeler@1.0.4
|
|
||||||
if: ${{ fromJSON(steps.get-workflow-jobs.outputs.result).lint == 'success' }}
|
|
||||||
with:
|
|
||||||
repo-token: ${{ steps.get-app-token.outputs.token }}
|
|
||||||
issue-number: ${{ steps.source-run-info.outputs.pullRequestNumber }}
|
|
||||||
add-labels: "lint:ok"
|
|
||||||
remove-labels: "lint:failed"
|
|
||||||
|
|
||||||
- name: Label lint failure
|
|
||||||
uses: andymckay/labeler@1.0.4
|
|
||||||
if: ${{ fromJSON(steps.get-workflow-jobs.outputs.result).lint == 'failure' }}
|
|
||||||
with:
|
|
||||||
repo-token: ${{ steps.get-app-token.outputs.token }}
|
|
||||||
issue-number: ${{ steps.source-run-info.outputs.pullRequestNumber }}
|
|
||||||
add-labels: "lint:failed"
|
|
||||||
remove-labels: "lint:ok"
|
|
||||||
|
|
||||||
- name: Label install success
|
|
||||||
uses: andymckay/labeler@1.0.4
|
|
||||||
if: ${{ fromJSON(steps.get-workflow-jobs.outputs.result).install == 'success' }}
|
|
||||||
with:
|
|
||||||
repo-token: ${{ steps.get-app-token.outputs.token }}
|
|
||||||
issue-number: ${{ steps.source-run-info.outputs.pullRequestNumber }}
|
|
||||||
add-labels: "install:ok"
|
|
||||||
remove-labels: "install:failed"
|
|
||||||
|
|
||||||
- name: Label install failure
|
|
||||||
uses: andymckay/labeler@1.0.4
|
|
||||||
if: ${{ fromJSON(steps.get-workflow-jobs.outputs.result).install == 'failure' }}
|
|
||||||
with:
|
|
||||||
repo-token: ${{ steps.get-app-token.outputs.token }}
|
|
||||||
issue-number: ${{ steps.source-run-info.outputs.pullRequestNumber }}
|
|
||||||
add-labels: "install:failed"
|
|
||||||
remove-labels: "install:ok"
|
|
||||||
39
.github/workflows/metadata-label-pr.yaml
vendored
Normal file
39
.github/workflows/metadata-label-pr.yaml
vendored
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
---
|
||||||
|
name: "Metadata: Label pull requests"
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request_target:
|
||||||
|
types:
|
||||||
|
- opened
|
||||||
|
- edited
|
||||||
|
- closed
|
||||||
|
- reopened
|
||||||
|
- ready_for_review
|
||||||
|
- synchronize
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
label-size:
|
||||||
|
name: Label Size
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Generate Token
|
||||||
|
uses: tibdex/github-app-token@v1
|
||||||
|
id: generate-token
|
||||||
|
with:
|
||||||
|
app_id: ${{ secrets.K8S_AT_HOME_APP_ID }}
|
||||||
|
private_key: ${{ secrets.K8S_AT_HOME_APP_PRIVATE_KEY }}
|
||||||
|
|
||||||
|
- name: Label Size
|
||||||
|
uses: pascalgn/size-label-action@v0.4.3
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: "${{ steps.generate-token.outputs.token }}"
|
||||||
|
with:
|
||||||
|
sizes: >
|
||||||
|
{
|
||||||
|
"0": "XS",
|
||||||
|
"20": "S",
|
||||||
|
"50": "M",
|
||||||
|
"200": "L",
|
||||||
|
"800": "XL",
|
||||||
|
"2000": "XXL"
|
||||||
|
}
|
||||||
60
.github/workflows/pr-metadata.yaml
vendored
Normal file
60
.github/workflows/pr-metadata.yaml
vendored
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
name: "Pull Request: Get metadata"
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_call:
|
||||||
|
outputs:
|
||||||
|
isRenovatePR:
|
||||||
|
description: "Is the PR coming from Renovate?"
|
||||||
|
value: ${{ jobs.pr-metadata.outputs.isRenovatePR }}
|
||||||
|
isFork:
|
||||||
|
description: "Is the PR coming from a forked repo?"
|
||||||
|
value: ${{ jobs.pr-metadata.outputs.isFork }}
|
||||||
|
addedOrModified:
|
||||||
|
description: "Does the PR contain any changes?"
|
||||||
|
value: ${{ jobs.pr-changes.outputs.addedOrModified }}
|
||||||
|
addedOrModifiedFiles:
|
||||||
|
description: "A list of the files changed in this PR"
|
||||||
|
value: ${{ jobs.pr-changes.outputs.addedOrModifiedFiles }}
|
||||||
|
addedOrModifiedCharts:
|
||||||
|
description: "A list of the charts changed in this PR"
|
||||||
|
value: ${{ jobs.pr-changes.outputs.addedOrModifiedCharts }}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
pr-metadata:
|
||||||
|
name: Collect PR metadata
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
outputs:
|
||||||
|
isRenovatePR: ${{ startsWith(steps.branch-name.outputs.current_branch, 'renovate/') }}
|
||||||
|
isFork: ${{ github.event.pull_request.head.repo.full_name != github.repository }}
|
||||||
|
steps:
|
||||||
|
- name: Get branch name
|
||||||
|
id: branch-name
|
||||||
|
uses: tj-actions/branch-names@v5.2
|
||||||
|
|
||||||
|
- name: Save PR data to file
|
||||||
|
env:
|
||||||
|
PR_NUMBER: ${{ github.event.number }}
|
||||||
|
run: |
|
||||||
|
echo $PR_NUMBER > pr_number.txt
|
||||||
|
|
||||||
|
- name: Store pr data in artifact
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: pr_metadata
|
||||||
|
path: ./pr_number.txt
|
||||||
|
retention-days: 5
|
||||||
|
|
||||||
|
pr-changes:
|
||||||
|
name: Collect PR changes
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
outputs:
|
||||||
|
addedOrModified: ${{ steps.collect-changes.outputs.changesDetected }}
|
||||||
|
addedOrModifiedFiles: ${{ steps.collect-changes.outputs.addedOrModifiedFiles }}
|
||||||
|
addedOrModifiedCharts: ${{ steps.collect-changes.outputs.addedOrModifiedCharts }}
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Collect changes
|
||||||
|
id: collect-changes
|
||||||
|
uses: ./.github/actions/collect-changes
|
||||||
49
.github/workflows/pr-validate.yaml
vendored
Normal file
49
.github/workflows/pr-validate.yaml
vendored
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
name: "Pull Request: Validate"
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: ${{ github.head_ref }}-pr-validate
|
||||||
|
# cancel-in-progress: true
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
pr-metadata:
|
||||||
|
uses: k8s-at-home/charts/.github/workflows/pr-metadata.yaml@master
|
||||||
|
|
||||||
|
pre-commit-check:
|
||||||
|
uses: k8s-at-home/charts/.github/workflows/pre-commit-check.yaml@master
|
||||||
|
needs:
|
||||||
|
- pr-metadata
|
||||||
|
with:
|
||||||
|
modifiedFiles: ${{ needs.pr-metadata.outputs.addedOrModifiedFiles }}
|
||||||
|
|
||||||
|
charts-changelog:
|
||||||
|
uses: k8s-at-home/charts/.github/workflows/charts-changelog.yaml@master
|
||||||
|
needs:
|
||||||
|
- pr-metadata
|
||||||
|
- pre-commit-check
|
||||||
|
with:
|
||||||
|
isRenovatePR: ${{ needs.pr-metadata.outputs.isRenovatePR }}
|
||||||
|
modifiedCharts: ${{ needs.pr-metadata.outputs.addedOrModifiedCharts }}
|
||||||
|
|
||||||
|
charts-lint:
|
||||||
|
uses: k8s-at-home/charts/.github/workflows/charts-lint.yaml@master
|
||||||
|
needs:
|
||||||
|
- pr-metadata
|
||||||
|
- charts-changelog
|
||||||
|
with:
|
||||||
|
checkoutCommit: ${{ needs.charts-changelog.outputs.commitHash }}
|
||||||
|
chartChangesDetected: ${{ needs.pr-metadata.outputs.addedOrModified }}
|
||||||
|
|
||||||
|
charts-test:
|
||||||
|
uses: k8s-at-home/charts/.github/workflows/charts-test.yaml@master
|
||||||
|
needs:
|
||||||
|
- pr-metadata
|
||||||
|
- charts-changelog
|
||||||
|
- charts-lint
|
||||||
|
with:
|
||||||
|
checkoutCommit: ${{ needs.charts-changelog.outputs.commitHash }}
|
||||||
|
chartChangesDetected: ${{ needs.pr-metadata.outputs.addedOrModified }}
|
||||||
44
.github/workflows/pre-commit-check.yaml
vendored
44
.github/workflows/pre-commit-check.yaml
vendored
@@ -1,41 +1,21 @@
|
|||||||
name: "Pre-commit consistency check"
|
name: "Pre-commit consistency check"
|
||||||
|
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_call:
|
||||||
pull_request:
|
inputs:
|
||||||
|
modifiedFiles:
|
||||||
concurrency:
|
required: true
|
||||||
group: ${{ github.head_ref }}-precommit
|
type: string
|
||||||
cancel-in-progress: true
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
pre-commit-check:
|
pre-commit-check:
|
||||||
name: Run pre-commit checks
|
name: Run pre-commit checks
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
|
|
||||||
- uses: dorny/paths-filter@v2
|
- name: Run against changes
|
||||||
id: filter
|
uses: pre-commit/action@v2.0.3
|
||||||
with:
|
with:
|
||||||
list-files: shell
|
extra_args: --files ${{ inputs.modifiedFiles }}
|
||||||
filters: |
|
|
||||||
addedOrModified:
|
|
||||||
- added|modified: '**'
|
|
||||||
|
|
||||||
# run only if changed files were detected
|
|
||||||
- name: Run against changes
|
|
||||||
uses: pre-commit/action@v2.0.3
|
|
||||||
if: steps.filter.outputs.addedOrModified == 'true'
|
|
||||||
with:
|
|
||||||
extra_args: --files ${{ steps.filter.outputs.addedOrModified_files }}
|
|
||||||
|
|
||||||
# run if no changed files were detected (e.g. workflow_dispatch on master branch)
|
|
||||||
- name: Run against all files
|
|
||||||
uses: pre-commit/action@v2.0.3
|
|
||||||
if: steps.filter.outputs.addedOrModified != 'true'
|
|
||||||
with:
|
|
||||||
extra_args: --all-files
|
|
||||||
|
|||||||
32
.github/workflows/schedule-sync-labels.yaml
vendored
Normal file
32
.github/workflows/schedule-sync-labels.yaml
vendored
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
---
|
||||||
|
name: "Schedule: Sync labels"
|
||||||
|
|
||||||
|
on: # yamllint disable-line rule:truthy
|
||||||
|
workflow_dispatch:
|
||||||
|
schedule:
|
||||||
|
- cron: "0 * * * *"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
labels:
|
||||||
|
name: Sync Labels
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: github.repository == 'k8s-at-home/charts'
|
||||||
|
steps:
|
||||||
|
- name: Generate Token
|
||||||
|
uses: tibdex/github-app-token@v1
|
||||||
|
id: generate-token
|
||||||
|
with:
|
||||||
|
app_id: ${{ secrets.K8S_AT_HOME_APP_ID }}
|
||||||
|
private_key: ${{ secrets.K8S_AT_HOME_APP_PRIVATE_KEY }}
|
||||||
|
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
token: ${{ steps.generate-token.outputs.token }}
|
||||||
|
|
||||||
|
- name: Sync Labels
|
||||||
|
uses: EndBug/label-sync@v2
|
||||||
|
with:
|
||||||
|
config-file: .github/labels.yaml
|
||||||
|
token: "${{ steps.generate-token.outputs.token }}"
|
||||||
|
delete-other-labels: true
|
||||||
17
.github/workflows/stale.yaml
vendored
17
.github/workflows/stale.yaml
vendored
@@ -1,6 +1,7 @@
|
|||||||
---
|
---
|
||||||
name: "Mark or close stale issues and PRs"
|
name: "Mark or close stale issues and PRs"
|
||||||
on:
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
schedule:
|
schedule:
|
||||||
# Run the stalebot every day at 8pm UTC
|
# Run the stalebot every day at 8pm UTC
|
||||||
- cron: "00 20 * * *"
|
- cron: "00 20 * * *"
|
||||||
@@ -9,11 +10,19 @@ jobs:
|
|||||||
stale:
|
stale:
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-20.04
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/stale@v4
|
- name: Generate Token
|
||||||
|
uses: tibdex/github-app-token@v1
|
||||||
|
id: generate-token
|
||||||
with:
|
with:
|
||||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
app_id: ${{ secrets.K8S_AT_HOME_APP_ID }}
|
||||||
days-before-issue-stale: 90
|
private_key: ${{ secrets.K8S_AT_HOME_APP_PRIVATE_KEY }}
|
||||||
days-before-pr-stale: 90
|
|
||||||
|
- name: Check for stale issues and PRs
|
||||||
|
uses: actions/stale@v5
|
||||||
|
with:
|
||||||
|
repo-token: ${{ steps.generate-token.outputs.token }}
|
||||||
|
days-before-issue-stale: 60
|
||||||
|
days-before-pr-stale: 60
|
||||||
days-before-close: 14
|
days-before-close: 14
|
||||||
days-before-pr-close: 14
|
days-before-pr-close: 14
|
||||||
stale-issue-message: >
|
stale-issue-message: >
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ tasks:
|
|||||||
|
|
||||||
helm-docs:
|
helm-docs:
|
||||||
desc: generate helm-docs
|
desc: generate helm-docs
|
||||||
dir: "{{.GIT_ROOT}}/hack"
|
dir: "{{.GIT_ROOT}}/.github/scripts"
|
||||||
cmds:
|
cmds:
|
||||||
- ./gen-helm-docs.sh "{{.CHART_TYPE}}" "{{.CHART}}"
|
- ./gen-helm-docs.sh "{{.CHART_TYPE}}" "{{.CHART}}"
|
||||||
deps:
|
deps:
|
||||||
|
|||||||
@@ -47,10 +47,8 @@ Chart releases must be immutable. Any change to a chart warrants a chart version
|
|||||||
|
|
||||||
The chart `version` should follow [semver](https://semver.org/).
|
The chart `version` should follow [semver](https://semver.org/).
|
||||||
|
|
||||||
Charts should start at `1.0.0`. Any breaking (backwards incompatible) changes to a chart should:
|
Charts should start at `1.0.0`. Any any breaking (backwards incompatible) changes should Bump the MAJOR version, and should describe the manual steps necessary to upgrade. All changes should be described in in the [Chart metadata](https://docs.k8s-at-home.com/our-helm-charts/development/creating-a-new-chart/#chart-metadata).
|
||||||
|
|
||||||
1. Bump the MAJOR version
|
|
||||||
2. In the README, under a section called "Upgrading", describe the manual steps necessary to upgrade to the new (specified) MAJOR version
|
|
||||||
|
|
||||||
### Pre-commit
|
### Pre-commit
|
||||||
|
|
||||||
|
|||||||
2
Gemfile
2
Gemfile
@@ -6,7 +6,7 @@ group :test do
|
|||||||
gem 'm'
|
gem 'm'
|
||||||
gem 'minitest', "5.15.0"
|
gem 'minitest', "5.15.0"
|
||||||
gem 'minitest-implicit-subject'
|
gem 'minitest-implicit-subject'
|
||||||
gem 'minitest-reporters', "1.4.3"
|
gem 'minitest-reporters', "1.5.0"
|
||||||
gem 'pry', "0.14.1"
|
gem 'pry', "0.14.1"
|
||||||
gem 'ruby-jq'
|
gem 'ruby-jq'
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Helm charts
|
# Helm charts
|
||||||
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
|
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
|
||||||
[](#contributors-)
|
[](#contributors-)
|
||||||
<!-- ALL-CONTRIBUTORS-BADGE:END -->
|
<!-- ALL-CONTRIBUTORS-BADGE:END -->
|
||||||
|
|
||||||
[](https://docs.k8s-at-home.com/)
|
[](https://docs.k8s-at-home.com/)
|
||||||
@@ -115,6 +115,13 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
|
|||||||
<td align="center"><a href="https://www.carrierlost.net"><img src="https://avatars.githubusercontent.com/u/969721?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Roberto Santalla</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=roobre" title="Code">💻</a></td>
|
<td align="center"><a href="https://www.carrierlost.net"><img src="https://avatars.githubusercontent.com/u/969721?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Roberto Santalla</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=roobre" title="Code">💻</a></td>
|
||||||
<td align="center"><a href="http://www.greghaskins.com"><img src="https://avatars.githubusercontent.com/u/285310?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Greg Haskins</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=greghaskins" title="Code">💻</a></td>
|
<td align="center"><a href="http://www.greghaskins.com"><img src="https://avatars.githubusercontent.com/u/285310?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Greg Haskins</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=greghaskins" title="Code">💻</a></td>
|
||||||
<td align="center"><a href="https://github.com/jlrgraham"><img src="https://avatars.githubusercontent.com/u/2184689?v=4?s=100" width="100px;" alt=""/><br /><sub><b>jlrgraham</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=jlrgraham" title="Code">💻</a></td>
|
<td align="center"><a href="https://github.com/jlrgraham"><img src="https://avatars.githubusercontent.com/u/2184689?v=4?s=100" width="100px;" alt=""/><br /><sub><b>jlrgraham</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=jlrgraham" title="Code">💻</a></td>
|
||||||
|
<td align="center"><a href="https://cronix.cc"><img src="https://avatars.githubusercontent.com/u/181302?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Lukas Wingerberg</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=psych0d0g" title="Code">💻</a></td>
|
||||||
|
<td align="center"><a href="http://www.djvg.net"><img src="https://avatars.githubusercontent.com/u/17107225?v=4?s=100" width="100px;" alt=""/><br /><sub><b>TheDJVG</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=TheDJVG" title="Code">💻</a></td>
|
||||||
|
<td align="center"><a href="https://github.com/rschoultz"><img src="https://avatars.githubusercontent.com/u/727834?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Rickard Schoultz</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=rschoultz" title="Code">💻</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td align="center"><a href="http://taylorvories.com"><img src="https://avatars.githubusercontent.com/u/13934524?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Taylor Vories</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=tvories" title="Code">💻</a></td>
|
||||||
|
<td align="center"><a href="http://www.jonathangazeley.com"><img src="https://avatars.githubusercontent.com/u/604595?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jonathan</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=djjudas21" title="Code">💻</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,7 @@
|
|||||||
| [apache-musicindex](stable/apache-musicindex) | Index and stream music using apache-musicindex and m3u playlists |
|
| [apache-musicindex](stable/apache-musicindex) | Index and stream music using apache-musicindex and m3u playlists |
|
||||||
| [appdaemon](stable/appdaemon) | AppDaemon is a loosely coupled, multi-threaded, sandboxed python execution environment for writing automation apps for various types of Home Automation Software including Home Assistant and MQTT. |
|
| [appdaemon](stable/appdaemon) | AppDaemon is a loosely coupled, multi-threaded, sandboxed python execution environment for writing automation apps for various types of Home Automation Software including Home Assistant and MQTT. |
|
||||||
| [aria2](stable/aria2) | aria server for downloading web content |
|
| [aria2](stable/aria2) | aria server for downloading web content |
|
||||||
|
| [audiobookshelf](stable/audiobookshelf) | Self-hosted audiobook server for managing and playing your audiobooks |
|
||||||
| [baikal](stable/baikal) | Baïkal is a lightweight CalDAV+CardDAV server. It offers a web interface with management of users, address books and calendars. |
|
| [baikal](stable/baikal) | Baïkal is a lightweight CalDAV+CardDAV server. It offers a web interface with management of users, address books and calendars. |
|
||||||
| [bazarr](stable/bazarr) | Bazarr is a companion application to Sonarr and Radarr. It manages and downloads subtitles based on your requirements |
|
| [bazarr](stable/bazarr) | Bazarr is a companion application to Sonarr and Radarr. It manages and downloads subtitles based on your requirements |
|
||||||
| [beets](stable/beets) | beets helm package |
|
| [beets](stable/beets) | beets helm package |
|
||||||
@@ -26,10 +27,12 @@
|
|||||||
| [deluge](stable/deluge) | Deluge is a torrent download client |
|
| [deluge](stable/deluge) | Deluge is a torrent download client |
|
||||||
| [dizquetv](stable/dizquetv) | Create live TV channel streams from media on your Plex servers. |
|
| [dizquetv](stable/dizquetv) | Create live TV channel streams from media on your Plex servers. |
|
||||||
| [dnsmadeeasy-webhook](stable/dnsmadeeasy-webhook) | Cert-Manager Webhook for DNSMadeEasy |
|
| [dnsmadeeasy-webhook](stable/dnsmadeeasy-webhook) | Cert-Manager Webhook for DNSMadeEasy |
|
||||||
|
| [dokuwiki](stable/dokuwiki) | DokuWiki is a simple to use and highly versatile Open Source wiki software that doesn't require a database. |
|
||||||
| [double-take](stable/double-take) | Unified UI and API for processing and training images for facial recognition. |
|
| [double-take](stable/double-take) | Unified UI and API for processing and training images for facial recognition. |
|
||||||
| [dsmr-reader](stable/dsmr-reader) | DSMR-protocol reader, telegram data storage and energy consumption visualizer. |
|
| [dsmr-reader](stable/dsmr-reader) | DSMR-protocol reader, telegram data storage and energy consumption visualizer. |
|
||||||
| [duplicati](stable/duplicati) | Store securely encrypted backups on cloud storage services! |
|
| [duplicati](stable/duplicati) | Store securely encrypted backups on cloud storage services! |
|
||||||
| [emby](stable/emby) | Emby Server is a home media server |
|
| [emby](stable/emby) | Emby Server is a home media server |
|
||||||
|
| [error-pages](stable/error-pages) | Server error pages in the docker image |
|
||||||
| [esphome](stable/esphome) | ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems. |
|
| [esphome](stable/esphome) | ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems. |
|
||||||
| [facebox](stable/facebox) | Facebox detects and identifies faces in photos. You can teach facebox with as little as one sample image. |
|
| [facebox](stable/facebox) | Facebox detects and identifies faces in photos. You can teach facebox with as little as one sample image. |
|
||||||
| [filebrowser](stable/filebrowser) | filebrowser provides a file managing interface within a specified directory |
|
| [filebrowser](stable/filebrowser) | filebrowser provides a file managing interface within a specified directory |
|
||||||
@@ -44,6 +47,7 @@
|
|||||||
| [ghost](stable/ghost) | Ghost is a blogging and publishing software |
|
| [ghost](stable/ghost) | Ghost is a blogging and publishing software |
|
||||||
| [gollum](stable/gollum) | Gollum is a simple wiki system built on top of Git |
|
| [gollum](stable/gollum) | Gollum is a simple wiki system built on top of Git |
|
||||||
| [gonic](stable/gonic) | Music streaming server / subsonic server API implementation |
|
| [gonic](stable/gonic) | Music streaming server / subsonic server API implementation |
|
||||||
|
| [gotify](stable/gotify) | A simple server for sending and receiving messages |
|
||||||
| [grocy](stable/grocy) | ERP beyond your fridge - grocy is a web-based self-hosted groceries & household management solution for your home |
|
| [grocy](stable/grocy) | ERP beyond your fridge - grocy is a web-based self-hosted groceries & household management solution for your home |
|
||||||
| [haste-server](stable/haste-server) | Simple text sharing |
|
| [haste-server](stable/haste-server) | Simple text sharing |
|
||||||
| [healthchecks](stable/healthchecks) | Healthchecks is a cron job monitoring service. It listens for HTTP requests and email messages ("pings") from your cron jobs and scheduled tasks ("checks"). When a ping does not arrive on time, Healthchecks sends out alerts. |
|
| [healthchecks](stable/healthchecks) | Healthchecks is a cron job monitoring service. It listens for HTTP requests and email messages ("pings") from your cron jobs and scheduled tasks ("checks"). When a ping does not arrive on time, Healthchecks sends out alerts. |
|
||||||
@@ -54,6 +58,7 @@
|
|||||||
| [hyperion-ng](stable/hyperion-ng) | Hyperion is an opensource Bias or Ambient Lighting implementation |
|
| [hyperion-ng](stable/hyperion-ng) | Hyperion is an opensource Bias or Ambient Lighting implementation |
|
||||||
| [icantbelieveitsnotvaletudo](stable/icantbelieveitsnotvaletudo) | Create live map data from Valetudo powered robots |
|
| [icantbelieveitsnotvaletudo](stable/icantbelieveitsnotvaletudo) | Create live map data from Valetudo powered robots |
|
||||||
| [icinga2](stable/icinga2) | A monitoring system which checks the availability of your network resources, notifies users of outages, and generates performance data for reporting. |
|
| [icinga2](stable/icinga2) | A monitoring system which checks the availability of your network resources, notifies users of outages, and generates performance data for reporting. |
|
||||||
|
| [influxdb-exporter](stable/influxdb-exporter) | An exporter for metrics in the InfluxDB format, transforms them and exposes them for consumption by Prometheus. |
|
||||||
| [intel-gpu-plugin](stable/intel-gpu-plugin) | The Intel GPU plugin facilitates offloading the processing of computation intensive workloads to GPU hardware |
|
| [intel-gpu-plugin](stable/intel-gpu-plugin) | The Intel GPU plugin facilitates offloading the processing of computation intensive workloads to GPU hardware |
|
||||||
| [jackett](stable/jackett) | API Support for your favorite torrent trackers |
|
| [jackett](stable/jackett) | API Support for your favorite torrent trackers |
|
||||||
| [jellyfin](stable/jellyfin) | Jellyfin is a Free Software Media System |
|
| [jellyfin](stable/jellyfin) | Jellyfin is a Free Software Media System |
|
||||||
@@ -61,12 +66,14 @@
|
|||||||
| [joplin-server](stable/joplin-server) | This server allows you to sync any Joplin client |
|
| [joplin-server](stable/joplin-server) | This server allows you to sync any Joplin client |
|
||||||
| [kanboard](stable/kanboard) | Kanboard is a free and open source Kanban project management software. |
|
| [kanboard](stable/kanboard) | Kanboard is a free and open source Kanban project management software. |
|
||||||
| [komga](stable/komga) | A comics/mangas server to serve/stream pages via API |
|
| [komga](stable/komga) | A comics/mangas server to serve/stream pages via API |
|
||||||
|
| [kube-ops-view](stable/kube-ops-view) | kube-ops-view helm package |
|
||||||
| [lazylibrarian](stable/lazylibrarian) | A Helm chart for deploying LazyLibrarian |
|
| [lazylibrarian](stable/lazylibrarian) | A Helm chart for deploying LazyLibrarian |
|
||||||
| [leaf2mqtt](stable/leaf2mqtt) | Nissan Leaf connected services to MQTT adapter |
|
| [leaf2mqtt](stable/leaf2mqtt) | Nissan Leaf connected services to MQTT adapter |
|
||||||
| [librespeed](stable/librespeed) | Librespeed is a HTML5 webpage to test upload and download speeds |
|
| [librespeed](stable/librespeed) | Librespeed is a HTML5 webpage to test upload and download speeds |
|
||||||
| [lidarr](stable/lidarr) | Looks and smells like Sonarr but made for music |
|
| [lidarr](stable/lidarr) | Looks and smells like Sonarr but made for music |
|
||||||
| [littlelink-server](stable/littlelink-server) | A lightweight open source alternative to linktree |
|
| [littlelink-server](stable/littlelink-server) | A lightweight open source alternative to linktree |
|
||||||
| [lychee](stable/lychee) | Lychee is a free photo-management tool, which runs on your server or web-space |
|
| [lychee](stable/lychee) | Lychee is a free photo-management tool, which runs on your server or web-space |
|
||||||
|
| [maddy](stable/maddy) | Maddy Mail Server |
|
||||||
| [magic-mirror](stable/magic-mirror) | magic-mirror helm package |
|
| [magic-mirror](stable/magic-mirror) | magic-mirror helm package |
|
||||||
| [mealie](stable/mealie) | Mealie is a self hosted recipe manager and meal planner with a RestAPI backend and a reactive frontend application built in Vue for a pleasant user experience for the whole family. |
|
| [mealie](stable/mealie) | Mealie is a self hosted recipe manager and meal planner with a RestAPI backend and a reactive frontend application built in Vue for a pleasant user experience for the whole family. |
|
||||||
| [miniflux](stable/miniflux) | Miniflux is a minimalist and opinionated feed reader. |
|
| [miniflux](stable/miniflux) | Miniflux is a minimalist and opinionated feed reader. |
|
||||||
@@ -90,6 +97,7 @@
|
|||||||
| [openemr](stable/openemr) | OpenEMR is the most popular open source electronic health records and medical practice management solution. |
|
| [openemr](stable/openemr) | OpenEMR is the most popular open source electronic health records and medical practice management solution. |
|
||||||
| [openkm](stable/openkm) | OpenKM integrates all essential documents management, collaboration and an advanced search functionality into one easy to use solution. |
|
| [openkm](stable/openkm) | OpenKM integrates all essential documents management, collaboration and an advanced search functionality into one easy to use solution. |
|
||||||
| [organizr](stable/organizr) | HTPC/Homelab Services Organizer |
|
| [organizr](stable/organizr) | HTPC/Homelab Services Organizer |
|
||||||
|
| [otel-collector](stable/otel-collector) | OpenTelemetry collector helm package |
|
||||||
| [overleaf](stable/overleaf) | A web-based collaborative LaTeX editor |
|
| [overleaf](stable/overleaf) | A web-based collaborative LaTeX editor |
|
||||||
| [overseerr](stable/overseerr) | Overseerr is a free and open source software application for managing requests for your media library. It integrates with your existing services such as Sonarr, Radarr and Plex! |
|
| [overseerr](stable/overseerr) | Overseerr is a free and open source software application for managing requests for your media library. It integrates with your existing services such as Sonarr, Radarr and Plex! |
|
||||||
| [owncast](stable/owncast) | Take control over your live stream video by running it yourself. Streaming + chat out of the box. |
|
| [owncast](stable/owncast) | Take control over your live stream video by running it yourself. Streaming + chat out of the box. |
|
||||||
@@ -99,23 +107,29 @@
|
|||||||
| [piaware](stable/piaware) | Program for forwarding ADS-B data to FlightAware |
|
| [piaware](stable/piaware) | Program for forwarding ADS-B data to FlightAware |
|
||||||
| [plex](stable/plex) | Plex Media Server |
|
| [plex](stable/plex) | Plex Media Server |
|
||||||
| [pod-gateway](stable/pod-gateway) | Admision controller to change the default gateway and DNS server of PODs |
|
| [pod-gateway](stable/pod-gateway) | Admision controller to change the default gateway and DNS server of PODs |
|
||||||
|
| [powerdns-admin](stable/powerdns-admin) | A PowerDNS web interface with advanced features |
|
||||||
| [powerdns](stable/powerdns) | PowerDNS is a DNS server, written in C++ and licensed under the GPL. It runs on most Unix derivatives. PowerDNS features a large number of different backends ranging from simple BIND style zonefiles to relational databases and load balancing/failover algorithms. A DNS recursor is provided as a separate program. |
|
| [powerdns](stable/powerdns) | PowerDNS is a DNS server, written in C++ and licensed under the GPL. It runs on most Unix derivatives. PowerDNS features a large number of different backends ranging from simple BIND style zonefiles to relational databases and load balancing/failover algorithms. A DNS recursor is provided as a separate program. |
|
||||||
| [pretend-youre-xyzzy](stable/pretend-youre-xyzzy) | pretend-youre-xyzzy, a cards against humanity clone |
|
| [pretend-youre-xyzzy](stable/pretend-youre-xyzzy) | pretend-youre-xyzzy, a cards against humanity clone |
|
||||||
|
| [privatebin](stable/privatebin) | A minimalist, open source online pastebin running on an Nginx, php-fpm & Alpine Linux stack |
|
||||||
| [promcord](stable/promcord) | Discord bot that provides metrics from a Discord server |
|
| [promcord](stable/promcord) | Discord bot that provides metrics from a Discord server |
|
||||||
| [prometheus-nut-exporter](stable/prometheus-nut-exporter) | Prometheus NUT Exporter a service monitor to send NUT server metrics to a Prometheus instance. |
|
| [prometheus-nut-exporter](stable/prometheus-nut-exporter) | Prometheus NUT Exporter a service monitor to send NUT server metrics to a Prometheus instance. |
|
||||||
| [protonmail-bridge](stable/protonmail-bridge) | Container for protonmail bridge to work on the network. |
|
| [protonmail-bridge](stable/protonmail-bridge) | Container for protonmail bridge to work on the network. |
|
||||||
| [prowlarr](stable/prowlarr) | Indexer manager/proxy built on the popular arr net base stack to integrate with your various PVR apps. |
|
| [prowlarr](stable/prowlarr) | Indexer manager/proxy built on the popular arr net base stack to integrate with your various PVR apps. |
|
||||||
|
| [puppeteer](stable/puppeteer) | Headless Chrome Node.js API |
|
||||||
| [pyload](stable/pyload) | pyLoad is a Free and Open Source download manager written in Python and designed to be extremely lightweight, easily extensible and fully manageable via web. |
|
| [pyload](stable/pyload) | pyLoad is a Free and Open Source download manager written in Python and designed to be extremely lightweight, easily extensible and fully manageable via web. |
|
||||||
| [qbittorrent](stable/qbittorrent) | qBittorrent is a cross-platform free and open-source BitTorrent client |
|
| [qbittorrent](stable/qbittorrent) | qBittorrent is a cross-platform free and open-source BitTorrent client |
|
||||||
| [radarr](stable/radarr) | A fork of Sonarr to work with movies à la Couchpotato |
|
| [radarr](stable/radarr) | A fork of Sonarr to work with movies à la Couchpotato |
|
||||||
|
| [radicale](stable/radicale) | A simple CalDAV (calendar) and CardDAV (contact) server. |
|
||||||
| [readarr](stable/readarr) | A fork of Radarr to work with Books & AudioBooks |
|
| [readarr](stable/readarr) | A fork of Radarr to work with Books & AudioBooks |
|
||||||
| [recipes](stable/recipes) | Recipes is a Django application to manage, tag and search recipes using either built in models or external storage providers hosting PDF's, Images or other files. |
|
| [recipes](stable/recipes) | Recipes is a Django application to manage, tag and search recipes using either built in models or external storage providers hosting PDF's, Images or other files. |
|
||||||
| [reg](stable/reg) | Docker registry v2 command line client and repo listing generator with security checks. |
|
| [reg](stable/reg) | Docker registry v2 command line client and repo listing generator with security checks. |
|
||||||
| [resilio-sync](stable/resilio-sync) | Resilio Sync is a fast, reliable, and simple file sync and share solution, powered by P2P technology |
|
| [resilio-sync](stable/resilio-sync) | Resilio Sync is a fast, reliable, and simple file sync and share solution, powered by P2P technology |
|
||||||
| [reverse-proxy](stable/reverse-proxy) | Creates ingress reverse-proxies for external hosts with minimum boilerplate |
|
| [reverse-proxy](stable/reverse-proxy) | Creates ingress reverse-proxies for external hosts with minimum boilerplate |
|
||||||
| [rtorrent-flood](stable/rtorrent-flood) | rTorrent is a stable, high-performance and low resource consumption BitTorrent client. |
|
| [rtorrent-flood](stable/rtorrent-flood) | rTorrent is a stable, high-performance and low resource consumption BitTorrent client. |
|
||||||
|
| [rtsp-to-web](stable/rtsp-to-web) | RTSPtoWeb converts RTSP streams to WebRTC, LL-HLS, HLS, MSE |
|
||||||
| [sabnzbd](stable/sabnzbd) | Free and easy binary newsreader |
|
| [sabnzbd](stable/sabnzbd) | Free and easy binary newsreader |
|
||||||
| [samba](stable/samba) | A simple in-cluster Samba server |
|
| [samba](stable/samba) | A simple in-cluster Samba server |
|
||||||
|
| [seafile](stable/seafile) | seafile helm package |
|
||||||
| [searx](stable/searx) | Searx is a privacy-respecting, hackable metasearch engine |
|
| [searx](stable/searx) | Searx is a privacy-respecting, hackable metasearch engine |
|
||||||
| [ser2sock](stable/ser2sock) | Serial to Socket Redirector |
|
| [ser2sock](stable/ser2sock) | Serial to Socket Redirector |
|
||||||
| [sharry](stable/sharry) | Sharry allows to share files with others in a simple way. It is a self-hosted web application. The basic concept is to upload files and get a url back that can then be shared. |
|
| [sharry](stable/sharry) | Sharry allows to share files with others in a simple way. It is a self-hosted web application. The basic concept is to upload files and get a url back that can then be shared. |
|
||||||
@@ -167,6 +181,10 @@
|
|||||||
| [dendrite](incubator/dendrite) | Dendrite Matrix Homeserver |
|
| [dendrite](incubator/dendrite) | Dendrite Matrix Homeserver |
|
||||||
| [lancache](incubator/lancache) | LanCache Monolithic - a caching proxy server for game download content |
|
| [lancache](incubator/lancache) | LanCache Monolithic - a caching proxy server for game download content |
|
||||||
| [openhab](incubator/openhab) | openhab helm package |
|
| [openhab](incubator/openhab) | openhab helm package |
|
||||||
| [seafile](incubator/seafile) | seafile helm package |
|
| [scrypted](incubator/scrypted) | scrypted helm package |
|
||||||
|
| [signal-cli-rest-api](incubator/signal-cli-rest-api) | Dockerized Signal Messenger REST API |
|
||||||
| [sinusbot](incubator/sinusbot) | TeamSpeak & Discord Bot |
|
| [sinusbot](incubator/sinusbot) | TeamSpeak & Discord Bot |
|
||||||
|
| [strongswan](incubator/strongswan) | strongSwan – the OpenSource IPsec-based VPN Solution |
|
||||||
| [teamspeak](incubator/teamspeak) | TeamSpeak Server |
|
| [teamspeak](incubator/teamspeak) | TeamSpeak Server |
|
||||||
|
| [torrserver](incubator/torrserver) | TorrServer streams torrent to http |
|
||||||
|
| [warrior](incubator/warrior) | The Archive Team Warrior is a virtual archiving appliance. You can run it to help with the Archive Team archiving efforts. It will download sites and upload them to our archive—and it’s really easy to do! |
|
||||||
|
|||||||
@@ -1,176 +0,0 @@
|
|||||||
{{- define "custom.repository.organization" -}}
|
|
||||||
k8s-at-home
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.repository.url" -}}
|
|
||||||
https://github.com/k8s-at-home/charts
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.helm.url" -}}
|
|
||||||
https://k8s-at-home.com/charts/
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.helm.path" -}}
|
|
||||||
{{ template "custom.repository.organization" . }}/{{ template "chart.name" . }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.notes" -}}
|
|
||||||
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.requirements" -}}
|
|
||||||
## Requirements
|
|
||||||
|
|
||||||
{{ template "chart.kubeVersionLine" . }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.dependencies" -}}
|
|
||||||
## Dependencies
|
|
||||||
|
|
||||||
{{ template "chart.requirementsTable" . }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.install.tldr" -}}
|
|
||||||
## TL;DR
|
|
||||||
|
|
||||||
```console
|
|
||||||
helm repo add {{ template "custom.repository.organization" . }} {{ template "custom.helm.url" . }}
|
|
||||||
helm repo update
|
|
||||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
|
|
||||||
```
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.install" -}}
|
|
||||||
## Installing the Chart
|
|
||||||
|
|
||||||
To install the chart with the release name `{{ template "chart.name" . }}`
|
|
||||||
|
|
||||||
```console
|
|
||||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
|
|
||||||
```
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.uninstall" -}}
|
|
||||||
## Uninstalling the Chart
|
|
||||||
|
|
||||||
To uninstall the `{{ template "chart.name" . }}` deployment
|
|
||||||
|
|
||||||
```console
|
|
||||||
helm uninstall {{ template "chart.name" . }}
|
|
||||||
```
|
|
||||||
|
|
||||||
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.configuration.header" -}}
|
|
||||||
## Configuration
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.configuration.readValues" -}}
|
|
||||||
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
|
|
||||||
Other values may be used from the [values.yaml](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common).
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.configuration.example.set" -}}
|
|
||||||
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
|
|
||||||
|
|
||||||
```console
|
|
||||||
helm install {{ template "chart.name" . }} \
|
|
||||||
--set env.TZ="America/New York" \
|
|
||||||
{{ template "custom.helm.path" . }}
|
|
||||||
```
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.configuration.example.file" -}}
|
|
||||||
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
|
|
||||||
|
|
||||||
```console
|
|
||||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }} -f values.yaml
|
|
||||||
```
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.valuesSection" -}}
|
|
||||||
## Values
|
|
||||||
|
|
||||||
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common)
|
|
||||||
|
|
||||||
{{ template "chart.valuesTable" . }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.support" -}}
|
|
||||||
## Support
|
|
||||||
|
|
||||||
- See the [Docs](https://docs.k8s-at-home.com/our-helm-charts/getting-started/)
|
|
||||||
- Open an [issue](https://github.com/k8s-at-home/charts/issues/new/choose)
|
|
||||||
- Ask a [question](https://github.com/k8s-at-home/organization/discussions)
|
|
||||||
- Join our [Discord](https://discord.gg/sTMX7Vh) community
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.changelog" -}}
|
|
||||||
{{ $changeTypes := list "added" "changed" "fixed" }}
|
|
||||||
## Changelog
|
|
||||||
|
|
||||||
### Version {{ template "chart.version" . }}
|
|
||||||
|
|
||||||
{{ range $changeType := $changeTypes }}
|
|
||||||
{{- with (index $.Annotations "artifacthub.io/changes") }}
|
|
||||||
{{- print "#### " ($changeType | title) | nindent 0 }}
|
|
||||||
{{- print "" | nindent 0 }}
|
|
||||||
{{- $changesFound := false }}
|
|
||||||
{{- range (print "changes:\n" . | fromYaml).changes }}
|
|
||||||
{{- if eq .kind $changeType }}
|
|
||||||
{{- print "* " .description | nindent 0 }}
|
|
||||||
{{- $changesFound = true }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
{{- if not $changesFound }}
|
|
||||||
{{- print "N/A" | nindent 0 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- print "" | nindent 0 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
### Older versions
|
|
||||||
|
|
||||||
A historical overview of changes can be found on [ArtifactHUB](https://artifacthub.io/packages/helm/k8s-at-home/{{- template "chart.name" . }}?modal=changelog)
|
|
||||||
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{ template "chart.header" . }}
|
|
||||||
|
|
||||||
{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }}
|
|
||||||
|
|
||||||
{{ template "chart.description" . }}
|
|
||||||
|
|
||||||
{{ template "custom.notes" . }}
|
|
||||||
|
|
||||||
{{ template "chart.sourcesSection" . }}
|
|
||||||
|
|
||||||
{{ template "custom.requirements" . }}
|
|
||||||
|
|
||||||
{{ template "custom.dependencies" . }}
|
|
||||||
|
|
||||||
{{ template "custom.install.tldr" . }}
|
|
||||||
|
|
||||||
{{ template "custom.install" . }}
|
|
||||||
|
|
||||||
{{ template "custom.uninstall" . }}
|
|
||||||
|
|
||||||
{{ template "custom.configuration.header" . }}
|
|
||||||
|
|
||||||
{{ template "custom.configuration.readValues" . }}
|
|
||||||
|
|
||||||
{{ template "custom.configuration.example.set" . }}
|
|
||||||
|
|
||||||
{{ template "custom.configuration.example.file" . }}
|
|
||||||
|
|
||||||
{{ template "custom.custom.configuration" . }}
|
|
||||||
|
|
||||||
{{ template "custom.valuesSection" . }}
|
|
||||||
|
|
||||||
{{ template "custom.changelog" . }}
|
|
||||||
|
|
||||||
{{ template "custom.support" . }}
|
|
||||||
|
|
||||||
{{ template "helm-docs.versionFooter" . }}
|
|
||||||
{{ "" }}
|
|
||||||
@@ -1,176 +0,0 @@
|
|||||||
{{- define "custom.repository.organization" -}}
|
|
||||||
k8s-at-home
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.repository.url" -}}
|
|
||||||
https://github.com/k8s-at-home/charts
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.helm.url" -}}
|
|
||||||
https://k8s-at-home.com/charts/
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.helm.path" -}}
|
|
||||||
{{ template "custom.repository.organization" . }}/{{ template "chart.name" . }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.notes" -}}
|
|
||||||
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.requirements" -}}
|
|
||||||
## Requirements
|
|
||||||
|
|
||||||
{{ template "chart.kubeVersionLine" . }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.dependencies" -}}
|
|
||||||
## Dependencies
|
|
||||||
|
|
||||||
{{ template "chart.requirementsTable" . }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.install.tldr" -}}
|
|
||||||
## TL;DR
|
|
||||||
|
|
||||||
```console
|
|
||||||
helm repo add {{ template "custom.repository.organization" . }} {{ template "custom.helm.url" . }}
|
|
||||||
helm repo update
|
|
||||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
|
|
||||||
```
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.install" -}}
|
|
||||||
## Installing the Chart
|
|
||||||
|
|
||||||
To install the chart with the release name `{{ template "chart.name" . }}`
|
|
||||||
|
|
||||||
```console
|
|
||||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
|
|
||||||
```
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.uninstall" -}}
|
|
||||||
## Uninstalling the Chart
|
|
||||||
|
|
||||||
To uninstall the `{{ template "chart.name" . }}` deployment
|
|
||||||
|
|
||||||
```console
|
|
||||||
helm uninstall {{ template "chart.name" . }}
|
|
||||||
```
|
|
||||||
|
|
||||||
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.configuration.header" -}}
|
|
||||||
## Configuration
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.configuration.readValues" -}}
|
|
||||||
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
|
|
||||||
Other values may be used from the [values.yaml](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common).
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.configuration.example.set" -}}
|
|
||||||
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
|
|
||||||
|
|
||||||
```console
|
|
||||||
helm install {{ template "chart.name" . }} \
|
|
||||||
--set env.TZ="America/New York" \
|
|
||||||
{{ template "custom.helm.path" . }}
|
|
||||||
```
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.configuration.example.file" -}}
|
|
||||||
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
|
|
||||||
|
|
||||||
```console
|
|
||||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }} -f values.yaml
|
|
||||||
```
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.valuesSection" -}}
|
|
||||||
## Values
|
|
||||||
|
|
||||||
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common)
|
|
||||||
|
|
||||||
{{ template "chart.valuesTable" . }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.support" -}}
|
|
||||||
## Support
|
|
||||||
|
|
||||||
- See the [Docs](https://docs.k8s-at-home.com/our-helm-charts/getting-started/)
|
|
||||||
- Open an [issue](https://github.com/k8s-at-home/charts/issues/new/choose)
|
|
||||||
- Ask a [question](https://github.com/k8s-at-home/organization/discussions)
|
|
||||||
- Join our [Discord](https://discord.gg/sTMX7Vh) community
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.changelog" -}}
|
|
||||||
{{ $changeTypes := list "added" "changed" "fixed" }}
|
|
||||||
## Changelog
|
|
||||||
|
|
||||||
### Version {{ template "chart.version" . }}
|
|
||||||
|
|
||||||
{{ range $changeType := $changeTypes }}
|
|
||||||
{{- with (index $.Annotations "artifacthub.io/changes") }}
|
|
||||||
{{- print "#### " ($changeType | title) | nindent 0 }}
|
|
||||||
{{- print "" | nindent 0 }}
|
|
||||||
{{- $changesFound := false }}
|
|
||||||
{{- range (print "changes:\n" . | fromYaml).changes }}
|
|
||||||
{{- if eq .kind $changeType }}
|
|
||||||
{{- print "* " .description | nindent 0 }}
|
|
||||||
{{- $changesFound = true }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
{{- if not $changesFound }}
|
|
||||||
{{- print "N/A" | nindent 0 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- print "" | nindent 0 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
### Older versions
|
|
||||||
|
|
||||||
A historical overview of changes can be found on [ArtifactHUB](https://artifacthub.io/packages/helm/k8s-at-home/{{- template "chart.name" . }}?modal=changelog)
|
|
||||||
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{ template "chart.header" . }}
|
|
||||||
|
|
||||||
{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }}
|
|
||||||
|
|
||||||
{{ template "chart.description" . }}
|
|
||||||
|
|
||||||
{{ template "custom.notes" . }}
|
|
||||||
|
|
||||||
{{ template "chart.sourcesSection" . }}
|
|
||||||
|
|
||||||
{{ template "custom.requirements" . }}
|
|
||||||
|
|
||||||
{{ template "custom.dependencies" . }}
|
|
||||||
|
|
||||||
{{ template "custom.install.tldr" . }}
|
|
||||||
|
|
||||||
{{ template "custom.install" . }}
|
|
||||||
|
|
||||||
{{ template "custom.uninstall" . }}
|
|
||||||
|
|
||||||
{{ template "custom.configuration.header" . }}
|
|
||||||
|
|
||||||
{{ template "custom.configuration.readValues" . }}
|
|
||||||
|
|
||||||
{{ template "custom.configuration.example.set" . }}
|
|
||||||
|
|
||||||
{{ template "custom.configuration.example.file" . }}
|
|
||||||
|
|
||||||
{{ template "custom.custom.configuration" . }}
|
|
||||||
|
|
||||||
{{ template "custom.valuesSection" . }}
|
|
||||||
|
|
||||||
{{ template "custom.changelog" . }}
|
|
||||||
|
|
||||||
{{ template "custom.support" . }}
|
|
||||||
|
|
||||||
{{ template "helm-docs.versionFooter" . }}
|
|
||||||
{{ "" }}
|
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
apiVersion: v2
|
apiVersion: v2
|
||||||
appVersion: 0.5.1
|
appVersion: v0.6.3
|
||||||
description: Dendrite Matrix Homeserver
|
description: Dendrite Matrix Homeserver
|
||||||
name: dendrite
|
name: dendrite
|
||||||
version: 1.0.1
|
version: 3.1.0
|
||||||
kubeVersion: ">=1.16.0-0"
|
kubeVersion: ">=1.16.0-0"
|
||||||
keywords:
|
keywords:
|
||||||
- dendrite
|
- dendrite
|
||||||
@@ -11,6 +11,7 @@ keywords:
|
|||||||
- homeserver
|
- homeserver
|
||||||
- monolith
|
- monolith
|
||||||
- federation
|
- federation
|
||||||
|
- polylith
|
||||||
home: https://github.com/k8s-at-home/charts/tree/master/charts/stable/dendrite
|
home: https://github.com/k8s-at-home/charts/tree/master/charts/stable/dendrite
|
||||||
sources:
|
sources:
|
||||||
- https://github.com/matrix-org/dendrite
|
- https://github.com/matrix-org/dendrite
|
||||||
@@ -23,10 +24,70 @@ dependencies:
|
|||||||
repository: https://library-charts.k8s-at-home.com
|
repository: https://library-charts.k8s-at-home.com
|
||||||
version: 4.3.0
|
version: 4.3.0
|
||||||
- name: postgresql
|
- name: postgresql
|
||||||
version: 10.14.4
|
version: 10.16.2
|
||||||
repository: https://charts.bitnami.com/bitnami
|
repository: https://charts.bitnami.com/bitnami
|
||||||
condition: postgresql.enabled
|
condition: postgresql.enabled
|
||||||
|
- name: nats
|
||||||
|
version: 0.15.0
|
||||||
|
repository: https://nats-io.github.io/k8s/helm/charts/
|
||||||
|
condition: nats.enabled
|
||||||
|
# Client API
|
||||||
|
- name: common
|
||||||
|
repository: https://library-charts.k8s-at-home.com
|
||||||
|
version: 4.3.0
|
||||||
|
alias: clientapi
|
||||||
|
condition: dendrite.polylithEnabled
|
||||||
|
# Media API
|
||||||
|
- name: common
|
||||||
|
repository: https://library-charts.k8s-at-home.com
|
||||||
|
version: 4.3.0
|
||||||
|
alias: mediaapi
|
||||||
|
condition: dendrite.polylithEnabled
|
||||||
|
# Sync API
|
||||||
|
- name: common
|
||||||
|
repository: https://library-charts.k8s-at-home.com
|
||||||
|
version: 4.3.0
|
||||||
|
alias: syncapi
|
||||||
|
condition: dendrite.polylithEnabled
|
||||||
|
# Room Server
|
||||||
|
- name: common
|
||||||
|
repository: https://library-charts.k8s-at-home.com
|
||||||
|
version: 4.3.0
|
||||||
|
alias: roomserver
|
||||||
|
condition: dendrite.polylithEnabled
|
||||||
|
# EDU Server
|
||||||
|
- name: common
|
||||||
|
repository: https://library-charts.k8s-at-home.com
|
||||||
|
version: 4.3.0
|
||||||
|
alias: eduserver
|
||||||
|
condition: dendrite.polylithEnabled
|
||||||
|
# Federation API
|
||||||
|
- name: common
|
||||||
|
repository: https://library-charts.k8s-at-home.com
|
||||||
|
version: 4.3.0
|
||||||
|
alias: federationapi
|
||||||
|
condition: dendrite.polylithEnabled
|
||||||
|
# Key Server
|
||||||
|
- name: common
|
||||||
|
repository: https://library-charts.k8s-at-home.com
|
||||||
|
version: 4.3.0
|
||||||
|
alias: keyserver
|
||||||
|
condition: dendrite.polylithEnabled
|
||||||
|
# User API
|
||||||
|
- name: common
|
||||||
|
repository: https://library-charts.k8s-at-home.com
|
||||||
|
version: 4.3.0
|
||||||
|
alias: userapi
|
||||||
|
condition: dendrite.polylithEnabled
|
||||||
|
# App Service API
|
||||||
|
- name: common
|
||||||
|
repository: https://library-charts.k8s-at-home.com
|
||||||
|
version: 4.3.0
|
||||||
|
alias: appserviceapi
|
||||||
|
condition: dendrite.polylithEnabled
|
||||||
annotations:
|
annotations:
|
||||||
artifacthub.io/changes: |
|
artifacthub.io/changes: |
|
||||||
- kind: changed
|
- kind: changed
|
||||||
description: Upgraded `postgresql` chart dependency to version `10.14.4`.
|
description: Upgraded `nats` chart dependency to version `0.15.0`.
|
||||||
|
- kind: changed
|
||||||
|
description: Upgraded `postgresql` chart dependency to version `10.16.2`.
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# dendrite
|
# dendrite
|
||||||
|
|
||||||
 
|
 
|
||||||
|
|
||||||
Dendrite Matrix Homeserver
|
Dendrite Matrix Homeserver
|
||||||
|
|
||||||
@@ -19,8 +19,18 @@ Kubernetes: `>=1.16.0-0`
|
|||||||
|
|
||||||
| Repository | Name | Version |
|
| Repository | Name | Version |
|
||||||
|------------|------|---------|
|
|------------|------|---------|
|
||||||
| https://charts.bitnami.com/bitnami | postgresql | 10.14.4 |
|
| https://charts.bitnami.com/bitnami | postgresql | 10.16.2 |
|
||||||
| https://library-charts.k8s-at-home.com | common | 4.3.0 |
|
| https://library-charts.k8s-at-home.com | common | 4.3.0 |
|
||||||
|
| https://library-charts.k8s-at-home.com | federationapi(common) | 4.3.0 |
|
||||||
|
| https://library-charts.k8s-at-home.com | clientapi(common) | 4.3.0 |
|
||||||
|
| https://library-charts.k8s-at-home.com | mediaapi(common) | 4.3.0 |
|
||||||
|
| https://library-charts.k8s-at-home.com | syncapi(common) | 4.3.0 |
|
||||||
|
| https://library-charts.k8s-at-home.com | roomserver(common) | 4.3.0 |
|
||||||
|
| https://library-charts.k8s-at-home.com | eduserver(common) | 4.3.0 |
|
||||||
|
| https://library-charts.k8s-at-home.com | keyserver(common) | 4.3.0 |
|
||||||
|
| https://library-charts.k8s-at-home.com | userapi(common) | 4.3.0 |
|
||||||
|
| https://library-charts.k8s-at-home.com | appserviceapi(common) | 4.3.0 |
|
||||||
|
| https://nats-io.github.io/k8s/helm/charts/ | nats | 0.15.0 |
|
||||||
|
|
||||||
## TL;DR
|
## TL;DR
|
||||||
|
|
||||||
@@ -69,7 +79,14 @@ helm install dendrite k8s-at-home/dendrite -f values.yaml
|
|||||||
|
|
||||||
## Custom configuration
|
## Custom configuration
|
||||||
|
|
||||||
N/A
|
### Polylith Ingress
|
||||||
|
|
||||||
|
Due to the complexity of setting up ingress for each individual component it
|
||||||
|
is left up to the individual to add the necessary ingress fields to polylith deployments.
|
||||||
|
|
||||||
|
For more information see:
|
||||||
|
- https://github.com/matrix-org/dendrite/blob/master/docs/INSTALL.md#nginx-or-other-reverse-proxy
|
||||||
|
- and https://github.com/matrix-org/dendrite/blob/master/docs/nginx/polylith-sample.conf
|
||||||
|
|
||||||
## Values
|
## Values
|
||||||
|
|
||||||
@@ -77,17 +94,20 @@ N/A
|
|||||||
|
|
||||||
| Key | Type | Default | Description |
|
| Key | Type | Default | Description |
|
||||||
|-----|------|---------|-------------|
|
|-----|------|---------|-------------|
|
||||||
|
| appserviceapi | object | See values.yaml | Configure the app service api. For more information see [the sample dendrite configuration](https://github.com/matrix-org/dendrite/blob/master/build/docker/config/dendrite-config.yaml) |
|
||||||
|
| appserviceapi.image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
|
||||||
|
| appserviceapi.image.repository | string | `"matrixdotorg/dendrite-polylith"` | image repository |
|
||||||
|
| appserviceapi.image.tag | string | chart.appVersion | image tag |
|
||||||
|
| clientapi | object | See values.yaml | Configuration for the client api component. For more information see [the sample dendrite configuration](https://github.com/matrix-org/dendrite/blob/master/build/docker/config/dendrite-config.yaml) |
|
||||||
|
| clientapi.config.captcha | object | See values.yaml | Configure captcha for registration |
|
||||||
|
| clientapi.config.rate_limiting | object | values.yaml | Configure rate limiting. |
|
||||||
|
| clientapi.config.registration_disabled | bool | `false` | Enable or disable registration for this homeserver. |
|
||||||
|
| clientapi.config.registration_shared_secret | string | `""` | Shared secret that allows registration, despite registration_disabled. |
|
||||||
|
| clientapi.config.turn | object | See values.yaml | Configure TURN |
|
||||||
|
| clientapi.image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
|
||||||
|
| clientapi.image.repository | string | `"matrixdotorg/dendrite-polylith"` | image repository |
|
||||||
|
| clientapi.image.tag | string | chart.appVersion | image tag |
|
||||||
| dendrite | object | See values.yaml | Configuration for Dendrite. For more information see [the sample denrite-config.yaml](https://github.com/matrix-org/dendrite/blob/master/build/docker/config/dendrite-config.yaml) |
|
| dendrite | object | See values.yaml | Configuration for Dendrite. For more information see [the sample denrite-config.yaml](https://github.com/matrix-org/dendrite/blob/master/build/docker/config/dendrite-config.yaml) |
|
||||||
| dendrite.components | object | See values.yaml | Configure the dendrite components. |
|
|
||||||
| dendrite.components.app_service_api | object | See values.yaml | Configure the App Service API |
|
|
||||||
| dendrite.components.client_api | object | `{"captcha":{"enabled":false,"recaptcha_bypass_secret":"","recaptcha_private_key":"","recaptcha_public_key":"","recaptcha_siteverify_api":""},"rate_limiting":{"cooloff_ms":500,"enabled":true,"threshold":5},"registration_disabled":false,"registration_shared_secret":"","turn":{"turn_password":"","turn_shared_secret":"","turn_uris":[],"turn_user_lifetime":"","turn_username":""}}` | Configure the Client API |
|
|
||||||
| dendrite.components.client_api.captcha | object | See values.yaml | Configure captcha for registration |
|
|
||||||
| dendrite.components.client_api.rate_limiting | object | values.yaml | Configure rate limiting. |
|
|
||||||
| dendrite.components.client_api.registration_disabled | bool | `false` | Enable or disable registration for this homeserver. |
|
|
||||||
| dendrite.components.client_api.registration_shared_secret | string | `""` | Shared secret that allows registration, despite registration_disabled. |
|
|
||||||
| dendrite.components.client_api.turn | object | See values.yaml | Configure TURN |
|
|
||||||
| dendrite.components.federation_api | object | values.yaml | Configure the Federation API |
|
|
||||||
| dendrite.components.media_api | object | values.yaml | Configure the Media API |
|
|
||||||
| dendrite.database | object | See values.yaml | Configure database connection parameters. |
|
| dendrite.database | object | See values.yaml | Configure database connection parameters. |
|
||||||
| dendrite.global | object | See values.yaml | Configure the global settings for dendrite. |
|
| dendrite.global | object | See values.yaml | Configure the global settings for dendrite. |
|
||||||
| dendrite.global.dns_cache | object | See values.yaml | Configure DNS cache. |
|
| dendrite.global.dns_cache | object | See values.yaml | Configure DNS cache. |
|
||||||
@@ -95,31 +115,71 @@ N/A
|
|||||||
| dendrite.global.key_validity_period | string | `"168h0m0s"` | Configure the key_validity period |
|
| dendrite.global.key_validity_period | string | `"168h0m0s"` | Configure the key_validity period |
|
||||||
| dendrite.global.metrics | object | See values.yaml | Configure prometheus metrics collection for dendrite. |
|
| dendrite.global.metrics | object | See values.yaml | Configure prometheus metrics collection for dendrite. |
|
||||||
| dendrite.global.metrics.enabled | bool | See values.yaml | If enabled, metrics collection will be enabled |
|
| dendrite.global.metrics.enabled | bool | See values.yaml | If enabled, metrics collection will be enabled |
|
||||||
|
| dendrite.global.mscs | list | `[]` | Configure experimental MSC's |
|
||||||
| dendrite.global.server_name | string | `"localhost"` | (required) Configure the server name for the dendrite instance. |
|
| dendrite.global.server_name | string | `"localhost"` | (required) Configure the server name for the dendrite instance. |
|
||||||
| dendrite.global.trusted_third_party_id_servers | list | `["matrix.org","vector.im"]` | Configure the list of domains the server will trust as identity servers |
|
| dendrite.global.trusted_third_party_id_servers | list | `["matrix.org","vector.im"]` | Configure the list of domains the server will trust as identity servers |
|
||||||
| dendrite.global.well_known_server_name | string | `""` | Configure the well-known server name and optional port |
|
| dendrite.global.well_known_server_name | string | `""` | Configure the well-known server name and optional port |
|
||||||
| dendrite.logging | list | See values.yaml | Configure logging. |
|
| dendrite.logging | list | See values.yaml | Configure logging. |
|
||||||
| dendrite.matrix_key_secret | object | See values.yaml | If enabled, use an existing secret for matrix_key.pem. Otherwise a matrix_key.pem must be mounted to `/etc/dendrite`. |
|
| dendrite.matrix_key_secret.create | bool | `false` | Create matrix_key secret using the keyBody below. |
|
||||||
|
| dendrite.matrix_key_secret.existingSecret | string | `""` | Use an existing secret |
|
||||||
|
| dendrite.matrix_key_secret.keyBody | string | `""` | New Key Body |
|
||||||
|
| dendrite.matrix_key_secret.secretPath | string | `"matrix_key.pem"` | Field in the secret to get the key from |
|
||||||
|
| dendrite.polylithEnabled | bool | `false` | Enable polylith deployment |
|
||||||
| dendrite.tls_secret | object | See values.yaml | If enabled, use an existing secrets for the TLS certificate and key. Otherwise, to enable TLS a `server.crt` and `server.key` must be mounted at `/etc/dendrite`. |
|
| dendrite.tls_secret | object | See values.yaml | If enabled, use an existing secrets for the TLS certificate and key. Otherwise, to enable TLS a `server.crt` and `server.key` must be mounted at `/etc/dendrite`. |
|
||||||
| dendrite.tracing | object | See values.yaml | Configure opentracing. |
|
| dendrite.tracing | object | See values.yaml | Configure opentracing. |
|
||||||
| image | object | `{"pullPolicy":"IfNotPresent","repository":"matrixdotorg/dendrite-monolith","tag":"v0.5.1"}` | IMPORTANT NOTE This chart inherits from our common library chart. You can check the default values/options here: https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml |
|
| eduserver | object | values.yaml | Configure the edu server For more information see [the sample dendrite configuration](https://github.com/matrix-org/dendrite/blob/master/build/docker/config/dendrite-config.yaml) |
|
||||||
|
| eduserver.image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
|
||||||
|
| eduserver.image.repository | string | `"matrixdotorg/dendrite-polylith"` | image repository |
|
||||||
|
| eduserver.image.tag | string | chart.appVersion | image tag |
|
||||||
|
| federationapi | object | values.yaml | Configure the Federation API For more information see [the sample dendrite configuration](https://github.com/matrix-org/dendrite/blob/master/build/docker/config/dendrite-config.yaml) |
|
||||||
|
| federationapi.image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
|
||||||
|
| federationapi.image.repository | string | `"matrixdotorg/dendrite-polylith"` | image repository |
|
||||||
|
| federationapi.image.tag | string | chart.appVersion | image tag |
|
||||||
|
| image | object | `{"pullPolicy":"IfNotPresent","repository":"matrixdotorg/dendrite-monolith","tag":null}` | IMPORTANT NOTE This chart inherits from our common library chart. You can check the default values/options here: https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml |
|
||||||
| image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
|
| image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
|
||||||
| image.repository | string | `"matrixdotorg/dendrite-monolith"` | image repository |
|
| image.repository | string | `"matrixdotorg/dendrite-monolith"` | image repository |
|
||||||
| image.tag | string | `"v0.5.1"` | image tag |
|
| image.tag | string | chart.appVersion | image tag |
|
||||||
| ingress.main | object | See values.yaml | Enable and configure ingress settings for the chart under this key. |
|
| ingress.main | object | See values.yaml | Enable and configure ingress settings for the chart under this key. |
|
||||||
|
| keyserver | object | See values.yaml | Configure the key server. For more information see [the sample dendrite configuration](https://github.com/matrix-org/dendrite/blob/master/build/docker/config/dendrite-config.yaml) |
|
||||||
|
| keyserver.image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
|
||||||
|
| keyserver.image.repository | string | `"matrixdotorg/dendrite-polylith"` | image repository |
|
||||||
|
| keyserver.image.tag | string | chart.appVersion | image tag |
|
||||||
|
| mediaapi | object | values.yaml | Configure the Media API For more information see [the sample dendrite configuration](https://github.com/matrix-org/dendrite/blob/master/build/docker/config/dendrite-config.yaml) |
|
||||||
|
| mediaapi.image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
|
||||||
|
| mediaapi.image.repository | string | `"matrixdotorg/dendrite-polylith"` | image repository |
|
||||||
|
| mediaapi.image.tag | string | chart.appVersion | image tag |
|
||||||
|
| nats.enabled | bool | See value.yaml | Enable and configure NATS for dendrite. Can be disabled for monolith deployments - an internal NATS server will be used in its place. |
|
||||||
|
| nats.nats.image | string | `"nats:2.7.1-alpine"` | |
|
||||||
|
| nats.nats.jetstream.enabled | bool | `true` | |
|
||||||
| persistence | object | See values.yaml | Configure persistence settings for the chart under this key. |
|
| persistence | object | See values.yaml | Configure persistence settings for the chart under this key. |
|
||||||
|
| persistence.jetstream | object | See values.yaml | Configure Jetsream persistence. This is highly recommended in production. |
|
||||||
| postgresql.enabled | bool | See value.yaml | Enable and configure postgres as the database for dendrite. |
|
| postgresql.enabled | bool | See value.yaml | Enable and configure postgres as the database for dendrite. |
|
||||||
|
| postgresql.image.repository | string | `"bitnami/postgresql"` | |
|
||||||
|
| postgresql.image.tag | string | `"14.1.0"` | |
|
||||||
|
| postgresql.initdbScriptsConfigMap | string | `"dendrite-postgresql-init-scripts"` | |
|
||||||
| postgresql.persistence.enabled | bool | `false` | |
|
| postgresql.persistence.enabled | bool | `false` | |
|
||||||
| postgresql.postgresqlDatabase | string | `"dendrite"` | |
|
| postgresql.postgresqlDatabase | string | `"dendrite"` | |
|
||||||
| postgresql.postgresqlPassword | string | `"changeme"` | |
|
| postgresql.postgresqlPassword | string | `"changeme"` | |
|
||||||
| postgresql.postgresqlUsername | string | `"dendrite"` | |
|
| postgresql.postgresqlUsername | string | `"dendrite"` | |
|
||||||
|
| roomserver | object | values.yaml | Configure the Room Server For more information see [the sample dendrite configuration](https://github.com/matrix-org/dendrite/blob/master/build/docker/config/dendrite-config.yaml) |
|
||||||
|
| roomserver.image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
|
||||||
|
| roomserver.image.repository | string | `"matrixdotorg/dendrite-polylith"` | image repository |
|
||||||
|
| roomserver.image.tag | string | chart.appVersion | image tag |
|
||||||
| service | object | See values.yaml | If added dendrite will start a HTTP and HTTPS listener args: - "--tls-cert=server.crt" - "--tls-key=server.key" -- Configures service settings for the chart. |
|
| service | object | See values.yaml | If added dendrite will start a HTTP and HTTPS listener args: - "--tls-cert=server.crt" - "--tls-key=server.key" -- Configures service settings for the chart. |
|
||||||
| service.main.ports.http | object | See values.yaml | Configures the default HTTP listener for dendrite |
|
| service.main.ports.http | object | See values.yaml | Configures the default HTTP listener for dendrite |
|
||||||
| service.main.ports.https | object | See values.yaml | Configures the HTTPS listener for dendrite |
|
| service.main.ports.https | object | See values.yaml | Configures the HTTPS listener for dendrite |
|
||||||
|
| syncapi | object | values.yaml | Configure the Sync API For more information see [the sample dendrite configuration](https://github.com/matrix-org/dendrite/blob/master/build/docker/config/dendrite-config.yaml) |
|
||||||
|
| syncapi.image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
|
||||||
|
| syncapi.image.repository | string | `"matrixdotorg/dendrite-polylith"` | image repository |
|
||||||
|
| syncapi.image.tag | string | chart.appVersion | image tag |
|
||||||
|
| userapi | object | values.yaml | Configure the User API For more information see [the sample dendrite configuration](https://github.com/matrix-org/dendrite/blob/master/build/docker/config/dendrite-config.yaml) |
|
||||||
|
| userapi.image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
|
||||||
|
| userapi.image.repository | string | `"matrixdotorg/dendrite-polylith"` | image repository |
|
||||||
|
| userapi.image.tag | string | chart.appVersion | image tag |
|
||||||
|
|
||||||
## Changelog
|
## Changelog
|
||||||
|
|
||||||
### Version 1.0.1
|
### Version 3.1.0
|
||||||
|
|
||||||
#### Added
|
#### Added
|
||||||
|
|
||||||
@@ -127,7 +187,8 @@ N/A
|
|||||||
|
|
||||||
#### Changed
|
#### Changed
|
||||||
|
|
||||||
* Upgraded `postgresql` chart dependency to version `10.14.4`.
|
* Upgraded `nats` chart dependency to version `0.15.0`.
|
||||||
|
* Upgraded `postgresql` chart dependency to version `10.16.2`.
|
||||||
|
|
||||||
#### Fixed
|
#### Fixed
|
||||||
|
|
||||||
|
|||||||
@@ -1,176 +0,0 @@
|
|||||||
{{- define "custom.repository.organization" -}}
|
|
||||||
k8s-at-home
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.repository.url" -}}
|
|
||||||
https://github.com/k8s-at-home/charts
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.helm.url" -}}
|
|
||||||
https://k8s-at-home.com/charts/
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.helm.path" -}}
|
|
||||||
{{ template "custom.repository.organization" . }}/{{ template "chart.name" . }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.notes" -}}
|
|
||||||
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.requirements" -}}
|
|
||||||
## Requirements
|
|
||||||
|
|
||||||
{{ template "chart.kubeVersionLine" . }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.dependencies" -}}
|
|
||||||
## Dependencies
|
|
||||||
|
|
||||||
{{ template "chart.requirementsTable" . }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.install.tldr" -}}
|
|
||||||
## TL;DR
|
|
||||||
|
|
||||||
```console
|
|
||||||
helm repo add {{ template "custom.repository.organization" . }} {{ template "custom.helm.url" . }}
|
|
||||||
helm repo update
|
|
||||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
|
|
||||||
```
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.install" -}}
|
|
||||||
## Installing the Chart
|
|
||||||
|
|
||||||
To install the chart with the release name `{{ template "chart.name" . }}`
|
|
||||||
|
|
||||||
```console
|
|
||||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
|
|
||||||
```
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.uninstall" -}}
|
|
||||||
## Uninstalling the Chart
|
|
||||||
|
|
||||||
To uninstall the `{{ template "chart.name" . }}` deployment
|
|
||||||
|
|
||||||
```console
|
|
||||||
helm uninstall {{ template "chart.name" . }}
|
|
||||||
```
|
|
||||||
|
|
||||||
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.configuration.header" -}}
|
|
||||||
## Configuration
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.configuration.readValues" -}}
|
|
||||||
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
|
|
||||||
Other values may be used from the [values.yaml](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common).
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.configuration.example.set" -}}
|
|
||||||
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
|
|
||||||
|
|
||||||
```console
|
|
||||||
helm install {{ template "chart.name" . }} \
|
|
||||||
--set env.TZ="America/New York" \
|
|
||||||
{{ template "custom.helm.path" . }}
|
|
||||||
```
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.configuration.example.file" -}}
|
|
||||||
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
|
|
||||||
|
|
||||||
```console
|
|
||||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }} -f values.yaml
|
|
||||||
```
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.valuesSection" -}}
|
|
||||||
## Values
|
|
||||||
|
|
||||||
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common)
|
|
||||||
|
|
||||||
{{ template "chart.valuesTable" . }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.support" -}}
|
|
||||||
## Support
|
|
||||||
|
|
||||||
- See the [Docs](https://docs.k8s-at-home.com/our-helm-charts/getting-started/)
|
|
||||||
- Open an [issue](https://github.com/k8s-at-home/charts/issues/new/choose)
|
|
||||||
- Ask a [question](https://github.com/k8s-at-home/organization/discussions)
|
|
||||||
- Join our [Discord](https://discord.gg/sTMX7Vh) community
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.changelog" -}}
|
|
||||||
{{ $changeTypes := list "added" "changed" "fixed" }}
|
|
||||||
## Changelog
|
|
||||||
|
|
||||||
### Version {{ template "chart.version" . }}
|
|
||||||
|
|
||||||
{{ range $changeType := $changeTypes }}
|
|
||||||
{{- with (index $.Annotations "artifacthub.io/changes") }}
|
|
||||||
{{- print "#### " ($changeType | title) | nindent 0 }}
|
|
||||||
{{- print "" | nindent 0 }}
|
|
||||||
{{- $changesFound := false }}
|
|
||||||
{{- range (print "changes:\n" . | fromYaml).changes }}
|
|
||||||
{{- if eq .kind $changeType }}
|
|
||||||
{{- print "* " .description | nindent 0 }}
|
|
||||||
{{- $changesFound = true }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
{{- if not $changesFound }}
|
|
||||||
{{- print "N/A" | nindent 0 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- print "" | nindent 0 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
### Older versions
|
|
||||||
|
|
||||||
A historical overview of changes can be found on [ArtifactHUB](https://artifacthub.io/packages/helm/k8s-at-home/{{- template "chart.name" . }}?modal=changelog)
|
|
||||||
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{ template "chart.header" . }}
|
|
||||||
|
|
||||||
{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }}
|
|
||||||
|
|
||||||
{{ template "chart.description" . }}
|
|
||||||
|
|
||||||
{{ template "custom.notes" . }}
|
|
||||||
|
|
||||||
{{ template "chart.sourcesSection" . }}
|
|
||||||
|
|
||||||
{{ template "custom.requirements" . }}
|
|
||||||
|
|
||||||
{{ template "custom.dependencies" . }}
|
|
||||||
|
|
||||||
{{ template "custom.install.tldr" . }}
|
|
||||||
|
|
||||||
{{ template "custom.install" . }}
|
|
||||||
|
|
||||||
{{ template "custom.uninstall" . }}
|
|
||||||
|
|
||||||
{{ template "custom.configuration.header" . }}
|
|
||||||
|
|
||||||
{{ template "custom.configuration.readValues" . }}
|
|
||||||
|
|
||||||
{{ template "custom.configuration.example.set" . }}
|
|
||||||
|
|
||||||
{{ template "custom.configuration.example.file" . }}
|
|
||||||
|
|
||||||
{{ template "custom.custom.configuration" . }}
|
|
||||||
|
|
||||||
{{ template "custom.valuesSection" . }}
|
|
||||||
|
|
||||||
{{ template "custom.changelog" . }}
|
|
||||||
|
|
||||||
{{ template "custom.support" . }}
|
|
||||||
|
|
||||||
{{ template "helm-docs.versionFooter" . }}
|
|
||||||
{{ "" }}
|
|
||||||
@@ -5,5 +5,13 @@
|
|||||||
{{- define "custom.custom.configuration" -}}
|
{{- define "custom.custom.configuration" -}}
|
||||||
{{ template "custom.custom.configuration.header" . }}
|
{{ template "custom.custom.configuration.header" . }}
|
||||||
|
|
||||||
N/A
|
### Polylith Ingress
|
||||||
|
|
||||||
|
Due to the complexity of setting up ingress for each individual component it
|
||||||
|
is left up to the individual to add the necessary ingress fields to polylith deployments.
|
||||||
|
|
||||||
|
For more information see:
|
||||||
|
- https://github.com/matrix-org/dendrite/blob/master/docs/INSTALL.md#nginx-or-other-reverse-proxy
|
||||||
|
- and https://github.com/matrix-org/dendrite/blob/master/docs/nginx/polylith-sample.conf
|
||||||
|
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|||||||
@@ -1,11 +1,10 @@
|
|||||||
---
|
---
|
||||||
dendrite:
|
dendrite:
|
||||||
matrix_key_secret:
|
matrix_key_secret:
|
||||||
enabled: true
|
create: true
|
||||||
secret:
|
keyBody: |
|
||||||
matrix_key.pem: |
|
-----BEGIN MATRIX PRIVATE KEY-----
|
||||||
-----BEGIN MATRIX PRIVATE KEY-----
|
Key-ID: ed25519:P8gZqV
|
||||||
Key-ID: ed25519:P8gZqV
|
|
||||||
|
|
||||||
qVzy2Cwokt15RjGy8OzFSq6z0JFmI6QX/1Zw1VP73uU=
|
qVzy2Cwokt15RjGy8OzFSq6z0JFmI6QX/1Zw1VP73uU=
|
||||||
-----END MATRIX PRIVATE KEY-----
|
-----END MATRIX PRIVATE KEY-----
|
||||||
|
|||||||
12
charts/incubator/dendrite/ci/nats-values.yaml
Normal file
12
charts/incubator/dendrite/ci/nats-values.yaml
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
---
|
||||||
|
dendrite:
|
||||||
|
matrix_key_secret:
|
||||||
|
create: true
|
||||||
|
keyBody: |
|
||||||
|
-----BEGIN MATRIX PRIVATE KEY-----
|
||||||
|
Key-ID: ed25519:P8gZqV
|
||||||
|
|
||||||
|
qVzy2Cwokt15RjGy8OzFSq6z0JFmI6QX/1Zw1VP73uU=
|
||||||
|
-----END MATRIX PRIVATE KEY-----
|
||||||
|
nats:
|
||||||
|
enabled: true
|
||||||
13
charts/incubator/dendrite/ci/polylith-basic-values.yaml
Normal file
13
charts/incubator/dendrite/ci/polylith-basic-values.yaml
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
---
|
||||||
|
dendrite:
|
||||||
|
polylithEnabled: true
|
||||||
|
matrix_key_secret:
|
||||||
|
create: true
|
||||||
|
keyBody: |
|
||||||
|
-----BEGIN MATRIX PRIVATE KEY-----
|
||||||
|
Key-ID: ed25519:P8gZqV
|
||||||
|
|
||||||
|
qVzy2Cwokt15RjGy8OzFSq6z0JFmI6QX/1Zw1VP73uU=
|
||||||
|
-----END MATRIX PRIVATE KEY-----
|
||||||
|
nats:
|
||||||
|
enabled: true
|
||||||
18
charts/incubator/dendrite/ci/polylith-full-values.yaml
Normal file
18
charts/incubator/dendrite/ci/polylith-full-values.yaml
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
---
|
||||||
|
dendrite:
|
||||||
|
polylithEnabled: true
|
||||||
|
matrix_key_secret:
|
||||||
|
create: true
|
||||||
|
keyBody: |
|
||||||
|
-----BEGIN MATRIX PRIVATE KEY-----
|
||||||
|
Key-ID: ed25519:P8gZqV
|
||||||
|
|
||||||
|
qVzy2Cwokt15RjGy8OzFSq6z0JFmI6QX/1Zw1VP73uU=
|
||||||
|
-----END MATRIX PRIVATE KEY-----
|
||||||
|
nats:
|
||||||
|
enabled: true
|
||||||
|
persistence:
|
||||||
|
jetstream:
|
||||||
|
enabled: true
|
||||||
|
postgresql:
|
||||||
|
enabled: true
|
||||||
12
charts/incubator/dendrite/ci/postresql-values.yaml
Normal file
12
charts/incubator/dendrite/ci/postresql-values.yaml
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
---
|
||||||
|
dendrite:
|
||||||
|
matrix_key_secret:
|
||||||
|
create: true
|
||||||
|
keyBody: |
|
||||||
|
-----BEGIN MATRIX PRIVATE KEY-----
|
||||||
|
Key-ID: ed25519:P8gZqV
|
||||||
|
|
||||||
|
qVzy2Cwokt15RjGy8OzFSq6z0JFmI6QX/1Zw1VP73uU=
|
||||||
|
-----END MATRIX PRIVATE KEY-----
|
||||||
|
postgresql:
|
||||||
|
enabled: true
|
||||||
3
charts/incubator/dendrite/templates/_helper.tpl
Normal file
3
charts/incubator/dendrite/templates/_helper.tpl
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
{{- define "dendrite.names.key" -}}
|
||||||
|
{{- default (printf "%s-key" (include "common.names.fullname" .)) .Values.dendrite.matrix_key_secret.existingSecret -}}
|
||||||
|
{{- end -}}
|
||||||
@@ -1,50 +1,28 @@
|
|||||||
{{ include "common.values.setup" . }}
|
{{- if .Values.dendrite.polylithEnabled }}
|
||||||
|
{{ $components := list "clientapi" "appserviceapi" "federationapi" "userapi" "keyserver" "mediaapi" "syncapi" "roomserver" "eduserver" }}
|
||||||
{{- define "dendrite.keyVolume" -}}
|
{{- range $components }}
|
||||||
enabled: {{ .Values.dendrite.matrix_key_secret.enabled | quote }}
|
{{- include "common.values.setup" (index $.Subcharts .) }}
|
||||||
type: "custom"
|
{{- with (index $.Values .) }}
|
||||||
volumeSpec:
|
{{- with .image }}
|
||||||
secret:
|
{{- $_ := set . "tag" (default $.Chart.AppVersion .tag) -}}
|
||||||
defaultMode: 0600
|
{{- end -}}
|
||||||
secretName: {{ default (include "common.names.fullname" .) .Values.dendrite.matrix_key_secret.secretName }}
|
{{- if not .persistence }}
|
||||||
subPath:
|
{{- $_ := set . "persistence" (dict)}}
|
||||||
- path: {{ .Values.dendrite.matrix_key_secret.key }}
|
{{- end }}
|
||||||
mountPath: "/etc/dendrite/matrix_key.pem"
|
{{- $_ := set .persistence "dendrite-key" (include "dendrite.keyVolume" $ | fromYaml) -}}
|
||||||
{{- end -}}
|
{{- $_ := set .persistence "dendrite-config" (include "dendrite.configVolume" $ | fromYaml) -}}
|
||||||
{{- define "dendrite.tlsVolume" -}}
|
{{- $_ := set .persistence "dendrite-tls" (include "dendrite.tlsVolume" $ | fromYaml) -}}
|
||||||
enabled: {{ .Values.dendrite.tls_secret.enabled }}
|
{{- $_ := set .persistence "jetstream" $.Values.persistence.jetstream -}}
|
||||||
type: "custom"
|
{{- end }}
|
||||||
volumeSpec:
|
{{- include "common.all" (index $.Subcharts .) }}
|
||||||
secret:
|
{{- end }}
|
||||||
defaultMode: 0600
|
{{- with (index $.Values "mediaapi") }}
|
||||||
secretName: {{ .Values.dendrite.tls_secret.secretName }}
|
{{- $_ := set .persistence "media" $.Values.persistence.media -}}
|
||||||
subPath:
|
{{- end }}
|
||||||
- path: {{ .Values.dendrite.tls_secret.crtKey }}
|
{{- else }}
|
||||||
mountPath: "/etc/dendrite/server.crt"
|
{{ include "common.values.setup" . }}
|
||||||
- path: {{ .Values.dendrite.tls_secret.keyKey }}
|
{{- $_ := set .Values.persistence "dendrite-key" (include "dendrite.keyVolume" . | fromYaml) -}}
|
||||||
mountPath: "/etc/dendrite/server.key"
|
{{- $_ := set .Values.persistence "dendrite-config" (include "dendrite.configVolume" . | fromYaml) -}}
|
||||||
{{- end -}}
|
{{- $_ := set .Values.persistence "dendrite-tls" (include "dendrite.tlsVolume" . | fromYaml) -}}
|
||||||
{{- define "dendrite.configVolume" -}}
|
{{ include "common.all" . }}
|
||||||
enabled: "true"
|
{{- end }}
|
||||||
type: "custom"
|
|
||||||
volumeSpec:
|
|
||||||
secret:
|
|
||||||
defaultMode: 0600
|
|
||||||
secretName: {{ include "common.names.fullname" . }}-config
|
|
||||||
subPath:
|
|
||||||
- path: dendrite.yaml
|
|
||||||
mountPath: "/etc/dendrite/dendrite.yaml"
|
|
||||||
{{- end -}}
|
|
||||||
{{- $_ := set .Values.persistence "dendrite-key" (include "dendrite.keyVolume" . | fromYaml) -}}
|
|
||||||
{{- $_ := set .Values.persistence "dendrite-config" (include "dendrite.configVolume" . | fromYaml) -}}
|
|
||||||
{{- $_ := set .Values.persistence "dendrite-tls" (include "dendrite.tlsVolume" . | fromYaml) -}}
|
|
||||||
{{- define "postgresql.initdbScripts" -}}
|
|
||||||
create_db.sh: |
|
|
||||||
#!/bin/sh
|
|
||||||
for db in userapi_accounts userapi_devices mediaapi syncapi roomserver keyserver federationapi appservice naffka; do
|
|
||||||
createdb -U dendrite -O dendrite dendrite_$db
|
|
||||||
done
|
|
||||||
{{- end -}}
|
|
||||||
{{- $_ := set .Values.postgresql "initdbScripts" (include "postgresql.initdbScripts" . | fromYaml) -}}
|
|
||||||
|
|
||||||
{{ include "common.all" . }}
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{{- $connectionString := "file:" -}}
|
{{- $connectionString := "file:" -}}
|
||||||
{{- if .Values.postgresql.enabled}}
|
{{- if .Values.postgresql.enabled}}
|
||||||
{{- $connectionString = print "postgresql://" .Values.postgresql.postgresqlUsername ":" .Values.postgresql.postgresqlPassword "@dendrite-postgresql/" -}}
|
{{- $connectionString = print "postgresql://" .Values.postgresql.postgresqlUsername ":" .Values.postgresql.postgresqlPassword "@" (include "common.names.fullname" .) "-postgresql/" -}}
|
||||||
{{- end}}
|
{{- end}}
|
||||||
---
|
---
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
@@ -10,7 +10,7 @@ metadata:
|
|||||||
type: Opaque
|
type: Opaque
|
||||||
stringData:
|
stringData:
|
||||||
dendrite.yaml: |
|
dendrite.yaml: |
|
||||||
version: 1
|
version: 2
|
||||||
global:
|
global:
|
||||||
server_name: {{ required "A server_name must be provided." .Values.dendrite.global.server_name | quote }}
|
server_name: {{ required "A server_name must be provided." .Values.dendrite.global.server_name | quote }}
|
||||||
private_key: matrix_key.pem
|
private_key: matrix_key.pem
|
||||||
@@ -18,14 +18,16 @@ stringData:
|
|||||||
well_known_server_name: {{ default "" .Values.dendrite.global.well_known_server_name | quote }}
|
well_known_server_name: {{ default "" .Values.dendrite.global.well_known_server_name | quote }}
|
||||||
trusted_third_party_id_servers:
|
trusted_third_party_id_servers:
|
||||||
{{- toYaml .Values.dendrite.global.trusted_third_party_id_servers | nindent 8 }}
|
{{- toYaml .Values.dendrite.global.trusted_third_party_id_servers | nindent 8 }}
|
||||||
kafka:
|
jetstream:
|
||||||
|
addresses:
|
||||||
|
{{- if .Values.nats.enabled }}
|
||||||
|
- {{ template "common.names.fullname" . }}-nats:4222
|
||||||
|
{{- else }}
|
||||||
|
[]
|
||||||
|
{{- end }}
|
||||||
|
in_memory: {{ not .Values.persistence.jetstream.enabled }}
|
||||||
|
storage_path: {{ .Values.persistence.jetstream.mountPath }}
|
||||||
topic_prefix: "Dendrite"
|
topic_prefix: "Dendrite"
|
||||||
use_naffka: true
|
|
||||||
naffka_database:
|
|
||||||
connection_string: {{ $connectionString }}dendrite_naffka?sslmode=disable
|
|
||||||
max_open_conns: {{ .Values.dendrite.database.max_open_conns }}
|
|
||||||
max_idle_conns: {{ .Values.dendrite.database.max_idle_conns }}
|
|
||||||
conn_max_lifetime: {{ .Values.dendrite.database.conn_max_lifetime }}
|
|
||||||
metrics:
|
metrics:
|
||||||
enabled: {{ default false .Values.dendrite.global.metrics.enabled }}
|
enabled: {{ default false .Values.dendrite.global.metrics.enabled }}
|
||||||
basic_auth:
|
basic_auth:
|
||||||
@@ -37,40 +39,40 @@ stringData:
|
|||||||
cache_lifetime: {{ default "5m" .Values.dendrite.global.dns_cache.cache_lifetime }}
|
cache_lifetime: {{ default "5m" .Values.dendrite.global.dns_cache.cache_lifetime }}
|
||||||
app_service_api:
|
app_service_api:
|
||||||
internal_api:
|
internal_api:
|
||||||
listen: http://0.0.0.0:7777
|
listen: http://0.0.0.0:{{ .Values.appserviceapi.service.main.ports.internal.port }}
|
||||||
connect: http://appservice_api:7777
|
connect: http://{{ include "common.names.fullname" . }}-appserviceapi:{{ .Values.appserviceapi.service.main.ports.internal.port }}
|
||||||
database:
|
database:
|
||||||
connection_string: {{ $connectionString }}dendrite_appservice?sslmode=disable
|
connection_string: {{ $connectionString }}dendrite_appservice?sslmode=disable
|
||||||
max_open_conns: {{ .Values.dendrite.database.max_open_conns }}
|
max_open_conns: {{ .Values.dendrite.database.max_open_conns }}
|
||||||
max_idle_conns: {{ .Values.dendrite.database.max_idle_conns }}
|
max_idle_conns: {{ .Values.dendrite.database.max_idle_conns }}
|
||||||
conn_max_lifetime: {{ .Values.dendrite.database.conn_max_lifetime }}
|
conn_max_lifetime: {{ .Values.dendrite.database.conn_max_lifetime }}
|
||||||
config_files: {{- toYaml .Values.dendrite.components.app_service_api.config_files | nindent 8 }}
|
config_files: {{- toYaml .Values.appserviceapi.config.config_files | nindent 8 }}
|
||||||
client_api:
|
client_api:
|
||||||
internal_api:
|
internal_api:
|
||||||
listen: http://0.0.0.0:7771
|
listen: http://0.0.0.0:{{ .Values.clientapi.service.main.ports.internal.port }}
|
||||||
connect: http://client_api:7771
|
connect: http://{{ include "common.names.fullname" . }}-clientapi:{{ .Values.clientapi.service.main.ports.internal.port }}
|
||||||
external_api:
|
external_api:
|
||||||
listen: http://0.0.0.0:8071
|
listen: http://0.0.0.0:{{ .Values.clientapi.service.main.ports.external.port }}
|
||||||
registration_disabled: {{ default false .Values.dendrite.components.client_api.registration_disabled }}
|
registration_disabled: {{ default false .Values.clientapi.config.registration_disabled }}
|
||||||
registration_shared_secret: {{ default "" .Values.dendrite.components.client_api.registration_shared_secret | quote }}
|
registration_shared_secret: {{ default "" .Values.clientapi.config.registration_shared_secret | quote }}
|
||||||
enable_registration_captcha: {{ default false .Values.dendrite.components.client_api.captcha.enabled }}
|
enable_registration_captcha: {{ default false .Values.clientapi.config.captcha.enabled }}
|
||||||
recaptcha_public_key: {{ default "" .Values.dendrite.components.client_api.captcha.recaptcha_public_key | quote }}
|
recaptcha_public_key: {{ default "" .Values.clientapi.config.captcha.recaptcha_public_key | quote }}
|
||||||
recaptcha_private_key: {{ default "" .Values.dendrite.components.client_api.captcha.recaptcha_private_key | quote }}
|
recaptcha_private_key: {{ default "" .Values.clientapi.config.captcha.recaptcha_private_key | quote }}
|
||||||
recaptcha_bypass_secret: {{ default "" .Values.dendrite.components.client_api.captcha.recaptcha_bypass_secret | quote }}
|
recaptcha_bypass_secret: {{ default "" .Values.clientapi.config.captcha.recaptcha_bypass_secret | quote }}
|
||||||
recaptcha_siteverify_api: {{ default "" .Values.dendrite.components.client_api.captcha.recaptcha_siteverify_api | quote }}
|
recaptcha_siteverify_api: {{ default "" .Values.clientapi.config.captcha.recaptcha_siteverify_api | quote }}
|
||||||
turn: {{- toYaml .Values.dendrite.components.client_api.turn | nindent 8 }}
|
turn: {{- toYaml .Values.clientapi.config.turn | nindent 8 }}
|
||||||
rate_limiting:
|
rate_limiting:
|
||||||
enabled: {{ default true .Values.dendrite.components.client_api.rate_limiting.enabled }}
|
enabled: {{ default true .Values.clientapi.config.rate_limiting.enabled }}
|
||||||
threshold: {{ default 5 .Values.dendrite.components.client_api.rate_limiting.threshold }}
|
threshold: {{ default 5 .Values.clientapi.config.rate_limiting.threshold }}
|
||||||
cooloff_ms: {{ default 500 .Values.dendrite.components.client_api.rate_limiting.cooloff_ms }}
|
cooloff_ms: {{ default 500 .Values.clientapi.config.rate_limiting.cooloff_ms }}
|
||||||
edu_server:
|
edu_server:
|
||||||
internal_api:
|
internal_api:
|
||||||
listen: http://0.0.0.0:7778
|
listen: http://0.0.0.0:7778
|
||||||
connect: http://edu_server:7778
|
connect: http://{{ include "common.names.fullname" . }}-eduserver:7778
|
||||||
federation_api:
|
federation_api:
|
||||||
internal_api:
|
internal_api:
|
||||||
listen: http://0.0.0.0:7772
|
listen: http://0.0.0.0:7772
|
||||||
connect: http://federation_api:7772
|
connect: http://{{ include "common.names.fullname" . }}-federationapi:7772
|
||||||
external_api:
|
external_api:
|
||||||
listen: http://0.0.0.0:8072
|
listen: http://0.0.0.0:8072
|
||||||
database:
|
database:
|
||||||
@@ -78,20 +80,20 @@ stringData:
|
|||||||
max_open_conns: {{ .Values.dendrite.database.max_open_conns }}
|
max_open_conns: {{ .Values.dendrite.database.max_open_conns }}
|
||||||
max_idle_conns: {{ .Values.dendrite.database.max_idle_conns }}
|
max_idle_conns: {{ .Values.dendrite.database.max_idle_conns }}
|
||||||
conn_max_lifetime: {{ .Values.dendrite.database.conn_max_lifetime }}
|
conn_max_lifetime: {{ .Values.dendrite.database.conn_max_lifetime }}
|
||||||
federation_certificates: {{- toYaml .Values.dendrite.components.federation_api.federation_certificates | nindent 8 }}
|
federation_certificates: {{- toYaml .Values.federationapi.config.federation_certificates | nindent 8 }}
|
||||||
send_max_retries: {{ default 16 .Values.dendrite.components.federation_api.send_max_retries }}
|
send_max_retries: {{ default 16 .Values.federationapi.config.send_max_retries }}
|
||||||
disable_tls_validation: {{ default false .Values.dendrite.components.federation_api.disable_tls_validation }}
|
disable_tls_validation: {{ default false .Values.federationapi.config.disable_tls_validation }}
|
||||||
proxy_outbound:
|
proxy_outbound:
|
||||||
enabled: {{ default false .Values.dendrite.components.federation_api.proxy_outbound.enabled }}
|
enabled: {{ default false .Values.federationapi.config.proxy_outbound.enabled }}
|
||||||
protocol: {{ default "http" .Values.dendrite.components.federation_api.proxy_outbound.protocol | quote }}
|
protocol: {{ default "http" .Values.federationapi.config.proxy_outbound.protocol | quote }}
|
||||||
host: {{ default "localhost" .Values.dendrite.components.federation_api.proxy_outbound.host | quote }}
|
host: {{ default "localhost" .Values.federationapi.config.proxy_outbound.host | quote }}
|
||||||
port: {{ default 8080 .Values.dendrite.components.federation_api.proxy_outbound.port }}
|
port: {{ default 8080 .Values.federationapi.config.proxy_outbound.port }}
|
||||||
key_perspectives: {{- toYaml .Values.dendrite.components.federation_api.key_perspectives | nindent 8 }}
|
key_perspectives: {{- toYaml .Values.federationapi.config.key_perspectives | nindent 8 }}
|
||||||
prefer_direct_fetch: {{ default false .Values.dendrite.components.federation_api.prefer_direct_fetch }}
|
prefer_direct_fetch: {{ default false .Values.federationapi.config.prefer_direct_fetch }}
|
||||||
key_server:
|
key_server:
|
||||||
internal_api:
|
internal_api:
|
||||||
listen: http://0.0.0.0:7779
|
listen: http://0.0.0.0:7779
|
||||||
connect: http://key_server:7779
|
connect: http://{{ include "common.names.fullname" . }}-keyserver:7779
|
||||||
database:
|
database:
|
||||||
connection_string: {{ $connectionString }}dendrite_keyserver?sslmode=disable
|
connection_string: {{ $connectionString }}dendrite_keyserver?sslmode=disable
|
||||||
max_open_conns: {{ .Values.dendrite.database.max_open_conns }}
|
max_open_conns: {{ .Values.dendrite.database.max_open_conns }}
|
||||||
@@ -100,7 +102,7 @@ stringData:
|
|||||||
media_api:
|
media_api:
|
||||||
internal_api:
|
internal_api:
|
||||||
listen: http://0.0.0.0:7774
|
listen: http://0.0.0.0:7774
|
||||||
connect: http://media_api:7774
|
connect: http://{{ include "common.names.fullname" . }}-mediaapi:7774
|
||||||
external_api:
|
external_api:
|
||||||
listen: http://0.0.0.0:8074
|
listen: http://0.0.0.0:8074
|
||||||
database:
|
database:
|
||||||
@@ -108,15 +110,22 @@ stringData:
|
|||||||
max_open_conns: {{ .Values.dendrite.database.max_open_conns }}
|
max_open_conns: {{ .Values.dendrite.database.max_open_conns }}
|
||||||
max_idle_conns: {{ .Values.dendrite.database.max_idle_conns }}
|
max_idle_conns: {{ .Values.dendrite.database.max_idle_conns }}
|
||||||
conn_max_lifetime: {{ .Values.dendrite.database.conn_max_lifetime }}
|
conn_max_lifetime: {{ .Values.dendrite.database.conn_max_lifetime }}
|
||||||
base_path: {{ default "/var/dendrite/media" .Values.dendrite.components.media_api.base_path | quote }}
|
base_path: {{ default "/var/dendrite/media" .Values.mediaapi.config.base_path | quote }}
|
||||||
max_file_size_bytes: {{ default 10485760 .Values.dendrite.components.media_api.max_file_size_bytes }}
|
max_file_size_bytes: {{ int ( default 10485760 .Values.mediaapi.config.max_file_size_bytes ) }}
|
||||||
dynamic_thumbnails: {{ default false .Values.dendrite.components.media_api.dynamic_thumbnails }}
|
dynamic_thumbnails: {{ default false .Values.mediaapi.config.dynamic_thumbnails }}
|
||||||
max_thumbnail_generators: {{ default 10 .Values.dendrite.components.media_api.max_thumbnail_generators }}
|
max_thumbnail_generators: {{ default 10 .Values.mediaapi.config.max_thumbnail_generators }}
|
||||||
thumbnail_sizes: {{- toYaml .Values.dendrite.components.media_api.thumbnail_sizes | nindent 8 }}
|
thumbnail_sizes: {{- toYaml .Values.mediaapi.config.thumbnail_sizes | nindent 8 }}
|
||||||
|
mscs:
|
||||||
|
mscs: {{ .Values.dendrite.global.mscs | toYaml | nindent 8 }}
|
||||||
|
database:
|
||||||
|
connection_string: {{ $connectionString }}dendrite_mscs?sslmode=disable
|
||||||
|
max_open_conns: {{ .Values.dendrite.database.max_open_conns }}
|
||||||
|
max_idle_conns: {{ .Values.dendrite.database.max_idle_conns }}
|
||||||
|
conn_max_lifetime: {{ .Values.dendrite.database.conn_max_lifetime }}
|
||||||
room_server:
|
room_server:
|
||||||
internal_api:
|
internal_api:
|
||||||
listen: http://0.0.0.0:7770
|
listen: http://0.0.0.0:7770
|
||||||
connect: http://room_server:7770
|
connect: http://{{ include "common.names.fullname" . }}-roomserver:7770
|
||||||
database:
|
database:
|
||||||
connection_string: {{ $connectionString }}dendrite_roomserver?sslmode=disable
|
connection_string: {{ $connectionString }}dendrite_roomserver?sslmode=disable
|
||||||
max_open_conns: {{ .Values.dendrite.database.max_open_conns }}
|
max_open_conns: {{ .Values.dendrite.database.max_open_conns }}
|
||||||
@@ -125,7 +134,7 @@ stringData:
|
|||||||
sync_api:
|
sync_api:
|
||||||
internal_api:
|
internal_api:
|
||||||
listen: http://0.0.0.0:7773
|
listen: http://0.0.0.0:7773
|
||||||
connect: http://sync_api:7773
|
connect: http://{{ include "common.names.fullname" . }}-syncapi:7773
|
||||||
external_api:
|
external_api:
|
||||||
listen: http://0.0.0.0:8073
|
listen: http://0.0.0.0:8073
|
||||||
database:
|
database:
|
||||||
@@ -136,7 +145,7 @@ stringData:
|
|||||||
user_api:
|
user_api:
|
||||||
internal_api:
|
internal_api:
|
||||||
listen: http://0.0.0.0:7781
|
listen: http://0.0.0.0:7781
|
||||||
connect: http://user_api:7781
|
connect: http://{{ include "common.names.fullname" . }}-userapi:7781
|
||||||
account_database:
|
account_database:
|
||||||
connection_string: {{ $connectionString }}dendrite_userapi_accounts?sslmode=disable
|
connection_string: {{ $connectionString }}dendrite_userapi_accounts?sslmode=disable
|
||||||
max_open_conns: {{ .Values.dendrite.database.max_open_conns }}
|
max_open_conns: {{ .Values.dendrite.database.max_open_conns }}
|
||||||
|
|||||||
@@ -0,0 +1,9 @@
|
|||||||
|
{{- if .Values.dendrite.matrix_key_secret.create }}
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: {{ include "dendrite.names.key" . }}
|
||||||
|
stringData:
|
||||||
|
{{ .Values.dendrite.matrix_key_secret.secretPath }}: | {{ .Values.dendrite.matrix_key_secret.keyBody | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
14
charts/incubator/dendrite/templates/postgresql-initdb.yaml
Normal file
14
charts/incubator/dendrite/templates/postgresql-initdb.yaml
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
{{- if .Values.postgresql.enabled }}
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
creationTimestamp: null
|
||||||
|
name: {{ .Values.postgresql.initdbScriptsConfigMap | quote }}
|
||||||
|
data:
|
||||||
|
create-db.sh: |
|
||||||
|
#!/bin/sh
|
||||||
|
for db in userapi_accounts userapi_devices mediaapi syncapi roomserver keyserver federationapi appservice naffka; do
|
||||||
|
createdb -U {{ .Values.postgresql.postgresqlUsername }} -O {{ .Values.postgresql.postgresqlUsername }} dendrite_$db
|
||||||
|
done
|
||||||
|
{{- end }}
|
||||||
35
charts/incubator/dendrite/templates/volumes.yaml
Normal file
35
charts/incubator/dendrite/templates/volumes.yaml
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
{{- define "dendrite.keyVolume" -}}
|
||||||
|
enabled: {{ .Values.dendrite.matrix_key_secret.enabled }}
|
||||||
|
type: "custom"
|
||||||
|
volumeSpec:
|
||||||
|
secret:
|
||||||
|
defaultMode: 0600
|
||||||
|
secretName: {{ include "dendrite.names.key" . }}
|
||||||
|
subPath:
|
||||||
|
- path: {{ .Values.dendrite.matrix_key_secret.secretPath }}
|
||||||
|
mountPath: "/etc/dendrite/matrix_key.pem"
|
||||||
|
{{- end -}}
|
||||||
|
{{- define "dendrite.tlsVolume" -}}
|
||||||
|
enabled: {{ .Values.dendrite.tls_secret.enabled }}
|
||||||
|
type: "custom"
|
||||||
|
volumeSpec:
|
||||||
|
secret:
|
||||||
|
defaultMode: 0600
|
||||||
|
secretName: {{ .Values.dendrite.tls_secret.existingSecret }}
|
||||||
|
subPath:
|
||||||
|
- path: {{ .Values.dendrite.tls_secret.crtPath }}
|
||||||
|
mountPath: "/etc/dendrite/server.crt"
|
||||||
|
- path: {{ .Values.dendrite.tls_secret.keyPath }}
|
||||||
|
mountPath: "/etc/dendrite/server.key"
|
||||||
|
{{- end -}}
|
||||||
|
{{- define "dendrite.configVolume" -}}
|
||||||
|
enabled: true
|
||||||
|
type: "custom"
|
||||||
|
volumeSpec:
|
||||||
|
secret:
|
||||||
|
defaultMode: 0600
|
||||||
|
secretName: {{ include "common.names.fullname" . }}-config
|
||||||
|
subPath:
|
||||||
|
- path: dendrite.yaml
|
||||||
|
mountPath: "/etc/dendrite/dendrite.yaml"
|
||||||
|
{{- end -}}
|
||||||
@@ -10,7 +10,8 @@ image:
|
|||||||
# -- image repository
|
# -- image repository
|
||||||
repository: matrixdotorg/dendrite-monolith
|
repository: matrixdotorg/dendrite-monolith
|
||||||
# -- image tag
|
# -- image tag
|
||||||
tag: "v0.5.1"
|
# @default -- chart.appVersion
|
||||||
|
tag:
|
||||||
# -- image pull policy
|
# -- image pull policy
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
|
|
||||||
@@ -47,27 +48,313 @@ persistence:
|
|||||||
media:
|
media:
|
||||||
enabled: false
|
enabled: false
|
||||||
mountPath: &mediaPath /var/dendrite/media
|
mountPath: &mediaPath /var/dendrite/media
|
||||||
|
accessMode: ReadWriteOnce
|
||||||
|
size: 5Gi
|
||||||
|
# -- Configure Jetsream persistence. This is highly recommended in production.
|
||||||
|
# @default -- See values.yaml
|
||||||
|
jetstream:
|
||||||
|
enabled: false
|
||||||
|
mountPath: /var/dendrite/jetstream
|
||||||
|
accessMode: ReadWriteOnce
|
||||||
|
size: 1Gi
|
||||||
|
|
||||||
|
# -- Configure the key server.
|
||||||
|
# For more information see [the sample dendrite configuration](https://github.com/matrix-org/dendrite/blob/master/build/docker/config/dendrite-config.yaml)
|
||||||
|
# @default -- See values.yaml
|
||||||
|
keyserver:
|
||||||
|
image:
|
||||||
|
# -- image repository
|
||||||
|
repository: matrixdotorg/dendrite-polylith
|
||||||
|
# -- image tag
|
||||||
|
# @default -- chart.appVersion
|
||||||
|
tag:
|
||||||
|
# -- image pull policy
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
service:
|
||||||
|
main:
|
||||||
|
ports:
|
||||||
|
http:
|
||||||
|
enabled: false
|
||||||
|
internal:
|
||||||
|
enabled: true
|
||||||
|
port: 7779
|
||||||
|
args: "keyserver"
|
||||||
|
|
||||||
|
# -- Configure the app service api.
|
||||||
|
# For more information see [the sample dendrite configuration](https://github.com/matrix-org/dendrite/blob/master/build/docker/config/dendrite-config.yaml)
|
||||||
|
# @default -- See values.yaml
|
||||||
|
appserviceapi:
|
||||||
|
image:
|
||||||
|
# -- image repository
|
||||||
|
repository: matrixdotorg/dendrite-polylith
|
||||||
|
# -- image tag
|
||||||
|
# @default -- chart.appVersion
|
||||||
|
tag:
|
||||||
|
# -- image pull policy
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
service:
|
||||||
|
main:
|
||||||
|
ports:
|
||||||
|
http:
|
||||||
|
enabled: false
|
||||||
|
internal:
|
||||||
|
enabled: true
|
||||||
|
port: 7777
|
||||||
|
args: "appservice"
|
||||||
|
config:
|
||||||
|
config_files: []
|
||||||
|
|
||||||
|
# -- Configuration for the client api component.
|
||||||
|
# For more information see [the sample dendrite configuration](https://github.com/matrix-org/dendrite/blob/master/build/docker/config/dendrite-config.yaml)
|
||||||
|
# @default -- See values.yaml
|
||||||
|
clientapi:
|
||||||
|
image:
|
||||||
|
# -- image repository
|
||||||
|
repository: matrixdotorg/dendrite-polylith
|
||||||
|
# -- image tag
|
||||||
|
# @default -- chart.appVersion
|
||||||
|
tag:
|
||||||
|
# -- image pull policy
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
service:
|
||||||
|
main:
|
||||||
|
ports:
|
||||||
|
http:
|
||||||
|
enabled: false
|
||||||
|
internal:
|
||||||
|
enabled: true
|
||||||
|
port: 7771
|
||||||
|
external:
|
||||||
|
enabled: true
|
||||||
|
port: 8071
|
||||||
|
args: "clientapi"
|
||||||
|
config:
|
||||||
|
# -- Enable or disable registration for this homeserver.
|
||||||
|
registration_disabled: false
|
||||||
|
# -- Shared secret that allows registration, despite registration_disabled.
|
||||||
|
registration_shared_secret: ""
|
||||||
|
# -- Configure captcha for registration
|
||||||
|
# @default -- See values.yaml
|
||||||
|
captcha:
|
||||||
|
enabled: false
|
||||||
|
recaptcha_public_key: ""
|
||||||
|
recaptcha_private_key: ""
|
||||||
|
recaptcha_bypass_secret: ""
|
||||||
|
recaptcha_siteverify_api: ""
|
||||||
|
# -- Configure TURN
|
||||||
|
# @default -- See values.yaml
|
||||||
|
turn:
|
||||||
|
turn_user_lifetime: ""
|
||||||
|
turn_uris: []
|
||||||
|
turn_shared_secret: ""
|
||||||
|
turn_username: ""
|
||||||
|
turn_password: ""
|
||||||
|
# -- Configure rate limiting.
|
||||||
|
# @default -- values.yaml
|
||||||
|
rate_limiting:
|
||||||
|
enabled: true
|
||||||
|
threshold: 5
|
||||||
|
cooloff_ms: 500
|
||||||
|
|
||||||
|
# -- Configure the Federation API
|
||||||
|
# For more information see [the sample dendrite configuration](https://github.com/matrix-org/dendrite/blob/master/build/docker/config/dendrite-config.yaml)
|
||||||
|
# @default -- values.yaml
|
||||||
|
federationapi:
|
||||||
|
image:
|
||||||
|
# -- image repository
|
||||||
|
repository: matrixdotorg/dendrite-polylith
|
||||||
|
# -- image tag
|
||||||
|
# @default -- chart.appVersion
|
||||||
|
tag:
|
||||||
|
# -- image pull policy
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
service:
|
||||||
|
main:
|
||||||
|
ports:
|
||||||
|
http:
|
||||||
|
enabled: false
|
||||||
|
internal:
|
||||||
|
enabled: true
|
||||||
|
port: 7772
|
||||||
|
external:
|
||||||
|
enabled: true
|
||||||
|
port: 8072
|
||||||
|
args: "federationapi"
|
||||||
|
config:
|
||||||
|
federation-certificates: []
|
||||||
|
send-max_retires: 16
|
||||||
|
disable_tls_validation: false
|
||||||
|
proxy_outbound:
|
||||||
|
enabled: false
|
||||||
|
protocol: http
|
||||||
|
host: localhost
|
||||||
|
port: 8080
|
||||||
|
key_perspectives:
|
||||||
|
- server_name: matrix.org
|
||||||
|
keys:
|
||||||
|
- key_id: ed25519:auto
|
||||||
|
public_key: Noi6WqcDj0QmPxCNQqgezwTlBKrfqehY1u2FyWP9uYw
|
||||||
|
- key_id: ed25519:a_RXGa
|
||||||
|
public_key: l8Hft5qXKn1vfHrg3p4+W8gELQVo8N13JkluMfmn2sQ
|
||||||
|
prefer_direct_fetch: false
|
||||||
|
|
||||||
|
# -- Configure the User API
|
||||||
|
# For more information see [the sample dendrite configuration](https://github.com/matrix-org/dendrite/blob/master/build/docker/config/dendrite-config.yaml)
|
||||||
|
# @default -- values.yaml
|
||||||
|
userapi:
|
||||||
|
image:
|
||||||
|
# -- image repository
|
||||||
|
repository: matrixdotorg/dendrite-polylith
|
||||||
|
# -- image tag
|
||||||
|
# @default -- chart.appVersion
|
||||||
|
tag:
|
||||||
|
# -- image pull policy
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
service:
|
||||||
|
main:
|
||||||
|
ports:
|
||||||
|
http:
|
||||||
|
enabled: false
|
||||||
|
internal:
|
||||||
|
enabled: true
|
||||||
|
port: 7781
|
||||||
|
args: "userapi"
|
||||||
|
|
||||||
|
# -- Configure the Sync API
|
||||||
|
# For more information see [the sample dendrite configuration](https://github.com/matrix-org/dendrite/blob/master/build/docker/config/dendrite-config.yaml)
|
||||||
|
# @default -- values.yaml
|
||||||
|
syncapi:
|
||||||
|
image:
|
||||||
|
# -- image repository
|
||||||
|
repository: matrixdotorg/dendrite-polylith
|
||||||
|
# -- image tag
|
||||||
|
# @default -- chart.appVersion
|
||||||
|
tag: latest
|
||||||
|
# -- image pull policy
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
service:
|
||||||
|
main:
|
||||||
|
ports:
|
||||||
|
http:
|
||||||
|
enabled: false
|
||||||
|
internal:
|
||||||
|
enabled: true
|
||||||
|
port: 7773
|
||||||
|
external:
|
||||||
|
enabled: true
|
||||||
|
port: 8073
|
||||||
|
args: "syncapi"
|
||||||
|
|
||||||
|
# -- Configure the Room Server
|
||||||
|
# For more information see [the sample dendrite configuration](https://github.com/matrix-org/dendrite/blob/master/build/docker/config/dendrite-config.yaml)
|
||||||
|
# @default -- values.yaml
|
||||||
|
roomserver:
|
||||||
|
image:
|
||||||
|
# -- image repository
|
||||||
|
repository: matrixdotorg/dendrite-polylith
|
||||||
|
# -- image tag
|
||||||
|
# @default -- chart.appVersion
|
||||||
|
tag:
|
||||||
|
# -- image pull policy
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
service:
|
||||||
|
main:
|
||||||
|
ports:
|
||||||
|
http:
|
||||||
|
enabled: false
|
||||||
|
internal:
|
||||||
|
enabled: true
|
||||||
|
port: 7770
|
||||||
|
args: "roomserver"
|
||||||
|
|
||||||
|
# -- Configure the edu server
|
||||||
|
# For more information see [the sample dendrite configuration](https://github.com/matrix-org/dendrite/blob/master/build/docker/config/dendrite-config.yaml)
|
||||||
|
# @default -- values.yaml
|
||||||
|
eduserver:
|
||||||
|
image:
|
||||||
|
# -- image repository
|
||||||
|
repository: matrixdotorg/dendrite-polylith
|
||||||
|
# -- image tag
|
||||||
|
# @default -- chart.appVersion
|
||||||
|
tag:
|
||||||
|
# -- image pull policy
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
service:
|
||||||
|
main:
|
||||||
|
ports:
|
||||||
|
http:
|
||||||
|
enabled: false
|
||||||
|
internal:
|
||||||
|
enabled: true
|
||||||
|
port: 7778
|
||||||
|
args: "eduserver"
|
||||||
|
|
||||||
|
# -- Configure the Media API
|
||||||
|
# For more information see [the sample dendrite configuration](https://github.com/matrix-org/dendrite/blob/master/build/docker/config/dendrite-config.yaml)
|
||||||
|
# @default -- values.yaml
|
||||||
|
mediaapi:
|
||||||
|
image:
|
||||||
|
# -- image repository
|
||||||
|
repository: matrixdotorg/dendrite-polylith
|
||||||
|
# -- image tag
|
||||||
|
# @default -- chart.appVersion
|
||||||
|
tag:
|
||||||
|
# -- image pull policy
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
service:
|
||||||
|
main:
|
||||||
|
ports:
|
||||||
|
http:
|
||||||
|
enabled: false
|
||||||
|
internal:
|
||||||
|
enabled: true
|
||||||
|
port: 7774
|
||||||
|
external:
|
||||||
|
enabled: true
|
||||||
|
port: 8074
|
||||||
|
args: "mediaapi"
|
||||||
|
config:
|
||||||
|
base_path: *mediaPath
|
||||||
|
max_file_size_bytes: 10485760
|
||||||
|
dynamic_thumbnails: false
|
||||||
|
max_thumbnail_generators: 10
|
||||||
|
thumbnail_sizes:
|
||||||
|
- width: 32
|
||||||
|
height: 32
|
||||||
|
method: crop
|
||||||
|
- width: 96
|
||||||
|
height: 96
|
||||||
|
method: crop
|
||||||
|
- width: 640
|
||||||
|
height: 480
|
||||||
|
method: scale
|
||||||
|
|
||||||
# -- Configuration for Dendrite.
|
# -- Configuration for Dendrite.
|
||||||
# For more information see [the sample
|
# For more information see [the sample
|
||||||
# denrite-config.yaml](https://github.com/matrix-org/dendrite/blob/master/build/docker/config/dendrite-config.yaml)
|
# denrite-config.yaml](https://github.com/matrix-org/dendrite/blob/master/build/docker/config/dendrite-config.yaml)
|
||||||
# @default -- See values.yaml
|
# @default -- See values.yaml
|
||||||
dendrite:
|
dendrite:
|
||||||
|
# -- Enable polylith deployment
|
||||||
|
polylithEnabled: false
|
||||||
# -- If enabled, use an existing secrets for the TLS certificate and key.
|
# -- If enabled, use an existing secrets for the TLS certificate and key.
|
||||||
# Otherwise, to enable TLS a `server.crt` and `server.key` must be mounted at
|
# Otherwise, to enable TLS a `server.crt` and `server.key` must be mounted at
|
||||||
# `/etc/dendrite`.
|
# `/etc/dendrite`.
|
||||||
# @default -- See values.yaml
|
# @default -- See values.yaml
|
||||||
tls_secret:
|
tls_secret:
|
||||||
enabled: false
|
enabled: false
|
||||||
secretName: "dendrite-tls"
|
existingSecret: ""
|
||||||
crtKey: tls.crt
|
crtPath: tls.crt
|
||||||
keyKey: tls.key
|
keyPath: tls.key
|
||||||
# -- If enabled, use an existing secret for matrix_key.pem. Otherwise a
|
|
||||||
# matrix_key.pem must be mounted to `/etc/dendrite`.
|
|
||||||
# @default -- See values.yaml
|
|
||||||
matrix_key_secret:
|
matrix_key_secret:
|
||||||
enabled: false
|
# -- Create matrix_key secret using the keyBody below.
|
||||||
key: matrix_key.pem
|
create: false
|
||||||
|
# -- New Key Body
|
||||||
|
keyBody: ""
|
||||||
|
# -- Use an existing secret
|
||||||
|
existingSecret: ""
|
||||||
|
# -- Field in the secret to get the key from
|
||||||
|
secretPath: matrix_key.pem
|
||||||
|
|
||||||
# -- Configure database connection parameters.
|
# -- Configure database connection parameters.
|
||||||
# @default -- See values.yaml
|
# @default -- See values.yaml
|
||||||
database:
|
database:
|
||||||
@@ -104,77 +391,9 @@ dendrite:
|
|||||||
enabled: false
|
enabled: false
|
||||||
cache_size: 256
|
cache_size: 256
|
||||||
cache_lifetime: "5m"
|
cache_lifetime: "5m"
|
||||||
# -- Configure the dendrite components.
|
# -- Configure experimental MSC's
|
||||||
# @default -- See values.yaml
|
mscs: []
|
||||||
components:
|
|
||||||
# -- Configure the App Service API
|
|
||||||
# @default -- See values.yaml
|
|
||||||
app_service_api:
|
|
||||||
config_files: []
|
|
||||||
# -- Configure the Client API
|
|
||||||
client_api:
|
|
||||||
# -- Enable or disable registration for this homeserver.
|
|
||||||
registration_disabled: false
|
|
||||||
# -- Shared secret that allows registration, despite registration_disabled.
|
|
||||||
registration_shared_secret: ""
|
|
||||||
# -- Configure captcha for registration
|
|
||||||
# @default -- See values.yaml
|
|
||||||
captcha:
|
|
||||||
enabled: false
|
|
||||||
recaptcha_public_key: ""
|
|
||||||
recaptcha_private_key: ""
|
|
||||||
recaptcha_bypass_secret: ""
|
|
||||||
recaptcha_siteverify_api: ""
|
|
||||||
# -- Configure TURN
|
|
||||||
# @default -- See values.yaml
|
|
||||||
turn:
|
|
||||||
turn_user_lifetime: ""
|
|
||||||
turn_uris: []
|
|
||||||
turn_shared_secret: ""
|
|
||||||
turn_username: ""
|
|
||||||
turn_password: ""
|
|
||||||
# -- Configure rate limiting.
|
|
||||||
# @default -- values.yaml
|
|
||||||
rate_limiting:
|
|
||||||
enabled: true
|
|
||||||
threshold: 5
|
|
||||||
cooloff_ms: 500
|
|
||||||
# -- Configure the Federation API
|
|
||||||
# @default -- values.yaml
|
|
||||||
federation_api:
|
|
||||||
federation_certificates: []
|
|
||||||
send_max_retires: 16
|
|
||||||
disable_tls_validation: false
|
|
||||||
proxy_outbound:
|
|
||||||
enabled: false
|
|
||||||
protocol: http
|
|
||||||
host: localhost
|
|
||||||
port: 8080
|
|
||||||
key_perspectives:
|
|
||||||
- server_name: matrix.org
|
|
||||||
keys:
|
|
||||||
- key_id: ed25519:auto
|
|
||||||
public_key: Noi6WqcDj0QmPxCNQqgezwTlBKrfqehY1u2FyWP9uYw
|
|
||||||
- key_id: ed25519:a_RXGa
|
|
||||||
public_key: l8Hft5qXKn1vfHrg3p4+W8gELQVo8N13JkluMfmn2sQ
|
|
||||||
prefer_direct_fetch: false
|
|
||||||
# -- Configure the Media API
|
|
||||||
# @default -- values.yaml
|
|
||||||
media_api:
|
|
||||||
base_path: *mediaPath
|
|
||||||
max_file_size_bytes: 10485760
|
|
||||||
dynamic_thumbnails: false
|
|
||||||
max_thumbnail_generators: 10
|
|
||||||
thumbnail_sizes:
|
|
||||||
- width: 32
|
|
||||||
height: 32
|
|
||||||
method: crop
|
|
||||||
- width: 96
|
|
||||||
height: 96
|
|
||||||
method: crop
|
|
||||||
- width: 640
|
|
||||||
height: 480
|
|
||||||
method: scale
|
|
||||||
# -- Configure opentracing.
|
# -- Configure opentracing.
|
||||||
# @default -- See values.yaml
|
# @default -- See values.yaml
|
||||||
tracing:
|
tracing:
|
||||||
@@ -189,6 +408,7 @@ dendrite:
|
|||||||
headers: null
|
headers: null
|
||||||
baggage_restrictions: null
|
baggage_restrictions: null
|
||||||
throttler: null
|
throttler: null
|
||||||
|
|
||||||
# -- Configure logging.
|
# -- Configure logging.
|
||||||
# @default -- See values.yaml
|
# @default -- See values.yaml
|
||||||
logging:
|
logging:
|
||||||
@@ -201,8 +421,22 @@ postgresql:
|
|||||||
# -- Enable and configure postgres as the database for dendrite.
|
# -- Enable and configure postgres as the database for dendrite.
|
||||||
# @default -- See value.yaml
|
# @default -- See value.yaml
|
||||||
enabled: false
|
enabled: false
|
||||||
|
image:
|
||||||
|
repository: bitnami/postgresql
|
||||||
|
tag: "14.1.0"
|
||||||
postgresqlUsername: dendrite
|
postgresqlUsername: dendrite
|
||||||
postgresqlPassword: changeme
|
postgresqlPassword: changeme
|
||||||
postgresqlDatabase: dendrite
|
postgresqlDatabase: dendrite
|
||||||
persistence:
|
persistence:
|
||||||
enabled: false
|
enabled: false
|
||||||
|
initdbScriptsConfigMap: "dendrite-postgresql-init-scripts"
|
||||||
|
|
||||||
|
nats:
|
||||||
|
# -- Enable and configure NATS for dendrite. Can be disabled for monolith
|
||||||
|
# deployments - an internal NATS server will be used in its place.
|
||||||
|
# @default -- See value.yaml
|
||||||
|
enabled: false
|
||||||
|
nats:
|
||||||
|
image: nats:2.7.1-alpine
|
||||||
|
jetstream:
|
||||||
|
enabled: true
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ apiVersion: v2
|
|||||||
appVersion: 1.0.0
|
appVersion: 1.0.0
|
||||||
description: LanCache Monolithic - a caching proxy server for game download content
|
description: LanCache Monolithic - a caching proxy server for game download content
|
||||||
name: lancache
|
name: lancache
|
||||||
version: 0.3.0
|
version: 0.4.0
|
||||||
kubeVersion: ">=1.16.0-0"
|
kubeVersion: ">=1.16.0-0"
|
||||||
keywords:
|
keywords:
|
||||||
- lancache
|
- lancache
|
||||||
@@ -21,5 +21,5 @@ dependencies:
|
|||||||
version: 4.3.0
|
version: 4.3.0
|
||||||
annotations:
|
annotations:
|
||||||
artifacthub.io/changes: |
|
artifacthub.io/changes: |
|
||||||
- kind: changed
|
- kind: added
|
||||||
description: Upgraded `common` chart dependency to version `4.3.0`.
|
description: Added probes for LanCache DNS container.
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# lancache
|
# lancache
|
||||||
|
|
||||||
 
|
 
|
||||||
|
|
||||||
LanCache Monolithic - a caching proxy server for game download content
|
LanCache Monolithic - a caching proxy server for game download content
|
||||||
|
|
||||||
@@ -104,15 +104,15 @@ N/A
|
|||||||
|
|
||||||
## Changelog
|
## Changelog
|
||||||
|
|
||||||
### Version 0.3.0
|
### Version 0.4.0
|
||||||
|
|
||||||
#### Added
|
#### Added
|
||||||
|
|
||||||
N/A
|
* Added probes for LanCache DNS container.
|
||||||
|
|
||||||
#### Changed
|
#### Changed
|
||||||
|
|
||||||
* Upgraded `common` chart dependency to version `4.3.0`.
|
N/A
|
||||||
|
|
||||||
#### Fixed
|
#### Fixed
|
||||||
|
|
||||||
|
|||||||
@@ -1,176 +0,0 @@
|
|||||||
{{- define "custom.repository.organization" -}}
|
|
||||||
k8s-at-home
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.repository.url" -}}
|
|
||||||
https://github.com/k8s-at-home/charts
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.helm.url" -}}
|
|
||||||
https://k8s-at-home.com/charts/
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.helm.path" -}}
|
|
||||||
{{ template "custom.repository.organization" . }}/{{ template "chart.name" . }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.notes" -}}
|
|
||||||
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.requirements" -}}
|
|
||||||
## Requirements
|
|
||||||
|
|
||||||
{{ template "chart.kubeVersionLine" . }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.dependencies" -}}
|
|
||||||
## Dependencies
|
|
||||||
|
|
||||||
{{ template "chart.requirementsTable" . }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.install.tldr" -}}
|
|
||||||
## TL;DR
|
|
||||||
|
|
||||||
```console
|
|
||||||
helm repo add {{ template "custom.repository.organization" . }} {{ template "custom.helm.url" . }}
|
|
||||||
helm repo update
|
|
||||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
|
|
||||||
```
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.install" -}}
|
|
||||||
## Installing the Chart
|
|
||||||
|
|
||||||
To install the chart with the release name `{{ template "chart.name" . }}`
|
|
||||||
|
|
||||||
```console
|
|
||||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
|
|
||||||
```
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.uninstall" -}}
|
|
||||||
## Uninstalling the Chart
|
|
||||||
|
|
||||||
To uninstall the `{{ template "chart.name" . }}` deployment
|
|
||||||
|
|
||||||
```console
|
|
||||||
helm uninstall {{ template "chart.name" . }}
|
|
||||||
```
|
|
||||||
|
|
||||||
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.configuration.header" -}}
|
|
||||||
## Configuration
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.configuration.readValues" -}}
|
|
||||||
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
|
|
||||||
Other values may be used from the [values.yaml](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common).
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.configuration.example.set" -}}
|
|
||||||
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
|
|
||||||
|
|
||||||
```console
|
|
||||||
helm install {{ template "chart.name" . }} \
|
|
||||||
--set env.TZ="America/New York" \
|
|
||||||
{{ template "custom.helm.path" . }}
|
|
||||||
```
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.configuration.example.file" -}}
|
|
||||||
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
|
|
||||||
|
|
||||||
```console
|
|
||||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }} -f values.yaml
|
|
||||||
```
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.valuesSection" -}}
|
|
||||||
## Values
|
|
||||||
|
|
||||||
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common)
|
|
||||||
|
|
||||||
{{ template "chart.valuesTable" . }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.support" -}}
|
|
||||||
## Support
|
|
||||||
|
|
||||||
- See the [Docs](https://docs.k8s-at-home.com/our-helm-charts/getting-started/)
|
|
||||||
- Open an [issue](https://github.com/k8s-at-home/charts/issues/new/choose)
|
|
||||||
- Ask a [question](https://github.com/k8s-at-home/organization/discussions)
|
|
||||||
- Join our [Discord](https://discord.gg/sTMX7Vh) community
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.changelog" -}}
|
|
||||||
{{ $changeTypes := list "added" "changed" "fixed" }}
|
|
||||||
## Changelog
|
|
||||||
|
|
||||||
### Version {{ template "chart.version" . }}
|
|
||||||
|
|
||||||
{{ range $changeType := $changeTypes }}
|
|
||||||
{{- with (index $.Annotations "artifacthub.io/changes") }}
|
|
||||||
{{- print "#### " ($changeType | title) | nindent 0 }}
|
|
||||||
{{- print "" | nindent 0 }}
|
|
||||||
{{- $changesFound := false }}
|
|
||||||
{{- range (print "changes:\n" . | fromYaml).changes }}
|
|
||||||
{{- if eq .kind $changeType }}
|
|
||||||
{{- print "* " .description | nindent 0 }}
|
|
||||||
{{- $changesFound = true }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
{{- if not $changesFound }}
|
|
||||||
{{- print "N/A" | nindent 0 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- print "" | nindent 0 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
### Older versions
|
|
||||||
|
|
||||||
A historical overview of changes can be found on [ArtifactHUB](https://artifacthub.io/packages/helm/k8s-at-home/{{- template "chart.name" . }}?modal=changelog)
|
|
||||||
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{ template "chart.header" . }}
|
|
||||||
|
|
||||||
{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }}
|
|
||||||
|
|
||||||
{{ template "chart.description" . }}
|
|
||||||
|
|
||||||
{{ template "custom.notes" . }}
|
|
||||||
|
|
||||||
{{ template "chart.sourcesSection" . }}
|
|
||||||
|
|
||||||
{{ template "custom.requirements" . }}
|
|
||||||
|
|
||||||
{{ template "custom.dependencies" . }}
|
|
||||||
|
|
||||||
{{ template "custom.install.tldr" . }}
|
|
||||||
|
|
||||||
{{ template "custom.install" . }}
|
|
||||||
|
|
||||||
{{ template "custom.uninstall" . }}
|
|
||||||
|
|
||||||
{{ template "custom.configuration.header" . }}
|
|
||||||
|
|
||||||
{{ template "custom.configuration.readValues" . }}
|
|
||||||
|
|
||||||
{{ template "custom.configuration.example.set" . }}
|
|
||||||
|
|
||||||
{{ template "custom.configuration.example.file" . }}
|
|
||||||
|
|
||||||
{{ template "custom.custom.configuration" . }}
|
|
||||||
|
|
||||||
{{ template "custom.valuesSection" . }}
|
|
||||||
|
|
||||||
{{ template "custom.changelog" . }}
|
|
||||||
|
|
||||||
{{ template "custom.support" . }}
|
|
||||||
|
|
||||||
{{ template "helm-docs.versionFooter" . }}
|
|
||||||
{{ "" }}
|
|
||||||
@@ -44,6 +44,45 @@ additionalContainers:
|
|||||||
- name: dns
|
- name: dns
|
||||||
containerPort: 53
|
containerPort: 53
|
||||||
protocol: UDP
|
protocol: UDP
|
||||||
|
livenessProbe:
|
||||||
|
exec:
|
||||||
|
command:
|
||||||
|
- bash
|
||||||
|
- -c
|
||||||
|
- |
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
# Check if LanCache DNS entries are set up.
|
||||||
|
dig @127.0.0.1 "${LANCACHE_DNSDOMAIN}" SOA | grep localhost
|
||||||
|
|
||||||
|
# Check if upstream DNS server is reachable.
|
||||||
|
dig "${LANCACHE_DNSDOMAIN}" SOA
|
||||||
|
readinessProbe:
|
||||||
|
exec:
|
||||||
|
command:
|
||||||
|
- bash
|
||||||
|
- -c
|
||||||
|
- |
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
# Check if LanCache DNS entries are set up.
|
||||||
|
dig @127.0.0.1 "${LANCACHE_DNSDOMAIN}" SOA | grep localhost
|
||||||
|
|
||||||
|
# Check if upstream DNS server is reachable.
|
||||||
|
dig "${LANCACHE_DNSDOMAIN}" SOA
|
||||||
|
startupProbe:
|
||||||
|
exec:
|
||||||
|
command:
|
||||||
|
- bash
|
||||||
|
- -c
|
||||||
|
- |
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
# Check if LanCache DNS entries are set up.
|
||||||
|
dig @127.0.0.1 "${LANCACHE_DNSDOMAIN}" SOA | grep localhost
|
||||||
|
|
||||||
|
# Check if upstream DNS server is reachable.
|
||||||
|
dig "${LANCACHE_DNSDOMAIN}" SOA
|
||||||
|
|
||||||
service:
|
service:
|
||||||
dns:
|
dns:
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ service:
|
|||||||
port: 53
|
port: 53
|
||||||
|
|
||||||
# -- LanCache uses custom upstream nameservers, overridable with the `UPSTREAM_DNS` variable.
|
# -- LanCache uses custom upstream nameservers, overridable with the `UPSTREAM_DNS` variable.
|
||||||
dnsPolicy: 'None'
|
dnsPolicy: None
|
||||||
dnsConfig:
|
dnsConfig:
|
||||||
nameservers:
|
nameservers:
|
||||||
- 127.0.0.1
|
- 127.0.0.1
|
||||||
|
|||||||
@@ -1,176 +0,0 @@
|
|||||||
{{- define "custom.repository.organization" -}}
|
|
||||||
k8s-at-home
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.repository.url" -}}
|
|
||||||
https://github.com/k8s-at-home/charts
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.helm.url" -}}
|
|
||||||
https://k8s-at-home.com/charts/
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.helm.path" -}}
|
|
||||||
{{ template "custom.repository.organization" . }}/{{ template "chart.name" . }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.notes" -}}
|
|
||||||
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.requirements" -}}
|
|
||||||
## Requirements
|
|
||||||
|
|
||||||
{{ template "chart.kubeVersionLine" . }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.dependencies" -}}
|
|
||||||
## Dependencies
|
|
||||||
|
|
||||||
{{ template "chart.requirementsTable" . }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.install.tldr" -}}
|
|
||||||
## TL;DR
|
|
||||||
|
|
||||||
```console
|
|
||||||
helm repo add {{ template "custom.repository.organization" . }} {{ template "custom.helm.url" . }}
|
|
||||||
helm repo update
|
|
||||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
|
|
||||||
```
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.install" -}}
|
|
||||||
## Installing the Chart
|
|
||||||
|
|
||||||
To install the chart with the release name `{{ template "chart.name" . }}`
|
|
||||||
|
|
||||||
```console
|
|
||||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
|
|
||||||
```
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.uninstall" -}}
|
|
||||||
## Uninstalling the Chart
|
|
||||||
|
|
||||||
To uninstall the `{{ template "chart.name" . }}` deployment
|
|
||||||
|
|
||||||
```console
|
|
||||||
helm uninstall {{ template "chart.name" . }}
|
|
||||||
```
|
|
||||||
|
|
||||||
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.configuration.header" -}}
|
|
||||||
## Configuration
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.configuration.readValues" -}}
|
|
||||||
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
|
|
||||||
Other values may be used from the [values.yaml](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common).
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.configuration.example.set" -}}
|
|
||||||
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
|
|
||||||
|
|
||||||
```console
|
|
||||||
helm install {{ template "chart.name" . }} \
|
|
||||||
--set env.TZ="America/New York" \
|
|
||||||
{{ template "custom.helm.path" . }}
|
|
||||||
```
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.configuration.example.file" -}}
|
|
||||||
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
|
|
||||||
|
|
||||||
```console
|
|
||||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }} -f values.yaml
|
|
||||||
```
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.valuesSection" -}}
|
|
||||||
## Values
|
|
||||||
|
|
||||||
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common)
|
|
||||||
|
|
||||||
{{ template "chart.valuesTable" . }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.support" -}}
|
|
||||||
## Support
|
|
||||||
|
|
||||||
- See the [Docs](https://docs.k8s-at-home.com/our-helm-charts/getting-started/)
|
|
||||||
- Open an [issue](https://github.com/k8s-at-home/charts/issues/new/choose)
|
|
||||||
- Ask a [question](https://github.com/k8s-at-home/organization/discussions)
|
|
||||||
- Join our [Discord](https://discord.gg/sTMX7Vh) community
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.changelog" -}}
|
|
||||||
{{ $changeTypes := list "added" "changed" "fixed" }}
|
|
||||||
## Changelog
|
|
||||||
|
|
||||||
### Version {{ template "chart.version" . }}
|
|
||||||
|
|
||||||
{{ range $changeType := $changeTypes }}
|
|
||||||
{{- with (index $.Annotations "artifacthub.io/changes") }}
|
|
||||||
{{- print "#### " ($changeType | title) | nindent 0 }}
|
|
||||||
{{- print "" | nindent 0 }}
|
|
||||||
{{- $changesFound := false }}
|
|
||||||
{{- range (print "changes:\n" . | fromYaml).changes }}
|
|
||||||
{{- if eq .kind $changeType }}
|
|
||||||
{{- print "* " .description | nindent 0 }}
|
|
||||||
{{- $changesFound = true }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
{{- if not $changesFound }}
|
|
||||||
{{- print "N/A" | nindent 0 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- print "" | nindent 0 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
### Older versions
|
|
||||||
|
|
||||||
A historical overview of changes can be found on [ArtifactHUB](https://artifacthub.io/packages/helm/k8s-at-home/{{- template "chart.name" . }}?modal=changelog)
|
|
||||||
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{ template "chart.header" . }}
|
|
||||||
|
|
||||||
{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }}
|
|
||||||
|
|
||||||
{{ template "chart.description" . }}
|
|
||||||
|
|
||||||
{{ template "custom.notes" . }}
|
|
||||||
|
|
||||||
{{ template "chart.sourcesSection" . }}
|
|
||||||
|
|
||||||
{{ template "custom.requirements" . }}
|
|
||||||
|
|
||||||
{{ template "custom.dependencies" . }}
|
|
||||||
|
|
||||||
{{ template "custom.install.tldr" . }}
|
|
||||||
|
|
||||||
{{ template "custom.install" . }}
|
|
||||||
|
|
||||||
{{ template "custom.uninstall" . }}
|
|
||||||
|
|
||||||
{{ template "custom.configuration.header" . }}
|
|
||||||
|
|
||||||
{{ template "custom.configuration.readValues" . }}
|
|
||||||
|
|
||||||
{{ template "custom.configuration.example.set" . }}
|
|
||||||
|
|
||||||
{{ template "custom.configuration.example.file" . }}
|
|
||||||
|
|
||||||
{{ template "custom.custom.configuration" . }}
|
|
||||||
|
|
||||||
{{ template "custom.valuesSection" . }}
|
|
||||||
|
|
||||||
{{ template "custom.changelog" . }}
|
|
||||||
|
|
||||||
{{ template "custom.support" . }}
|
|
||||||
|
|
||||||
{{ template "helm-docs.versionFooter" . }}
|
|
||||||
{{ "" }}
|
|
||||||
24
charts/incubator/scrypted/Chart.yaml
Normal file
24
charts/incubator/scrypted/Chart.yaml
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
apiVersion: v2
|
||||||
|
appVersion: 0.0.138
|
||||||
|
description: scrypted helm package
|
||||||
|
name: scrypted
|
||||||
|
type: application
|
||||||
|
version: 0.1.0
|
||||||
|
kubeVersion: ">=1.16.0-0"
|
||||||
|
keywords:
|
||||||
|
- scrypted
|
||||||
|
home: https://github.com/k8s-at-home/charts/tree/master/charts/stable/scrypted
|
||||||
|
icon: https://scrypted.org/icon
|
||||||
|
sources:
|
||||||
|
- https://github.com/koush/scrypted
|
||||||
|
maintainers:
|
||||||
|
- name: scrypted
|
||||||
|
email: koush@scrypted.com
|
||||||
|
dependencies:
|
||||||
|
- name: common
|
||||||
|
repository: https://library-charts.k8s-at-home.com
|
||||||
|
version: 4.3.0
|
||||||
|
annotations:
|
||||||
|
artifacthub.io/changes: |
|
||||||
|
- kind: added
|
||||||
|
description: Initial version
|
||||||
115
charts/incubator/scrypted/README.md
Normal file
115
charts/incubator/scrypted/README.md
Normal file
@@ -0,0 +1,115 @@
|
|||||||
|
# scrypted
|
||||||
|
|
||||||
|
  
|
||||||
|
|
||||||
|
scrypted helm package
|
||||||
|
|
||||||
|
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
|
||||||
|
|
||||||
|
## Source Code
|
||||||
|
|
||||||
|
* <https://github.com/koush/scrypted>
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
|
Kubernetes: `>=1.16.0-0`
|
||||||
|
|
||||||
|
## Dependencies
|
||||||
|
|
||||||
|
| Repository | Name | Version |
|
||||||
|
|------------|------|---------|
|
||||||
|
| https://library-charts.k8s-at-home.com | common | 4.3.0 |
|
||||||
|
|
||||||
|
## TL;DR
|
||||||
|
|
||||||
|
```console
|
||||||
|
helm repo add k8s-at-home https://k8s-at-home.com/charts/
|
||||||
|
helm repo update
|
||||||
|
helm install scrypted k8s-at-home/scrypted
|
||||||
|
```
|
||||||
|
|
||||||
|
## Installing the Chart
|
||||||
|
|
||||||
|
To install the chart with the release name `scrypted`
|
||||||
|
|
||||||
|
```console
|
||||||
|
helm install scrypted k8s-at-home/scrypted
|
||||||
|
```
|
||||||
|
|
||||||
|
## Uninstalling the Chart
|
||||||
|
|
||||||
|
To uninstall the `scrypted` deployment
|
||||||
|
|
||||||
|
```console
|
||||||
|
helm uninstall scrypted
|
||||||
|
```
|
||||||
|
|
||||||
|
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
|
||||||
|
Other values may be used from the [values.yaml](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common).
|
||||||
|
|
||||||
|
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
|
||||||
|
|
||||||
|
```console
|
||||||
|
helm install scrypted \
|
||||||
|
--set env.TZ="America/New York" \
|
||||||
|
k8s-at-home/scrypted
|
||||||
|
```
|
||||||
|
|
||||||
|
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
|
||||||
|
|
||||||
|
```console
|
||||||
|
helm install scrypted k8s-at-home/scrypted -f values.yaml
|
||||||
|
```
|
||||||
|
|
||||||
|
## Custom configuration
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
## Values
|
||||||
|
|
||||||
|
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common)
|
||||||
|
|
||||||
|
| Key | Type | Default | Description |
|
||||||
|
|-----|------|---------|-------------|
|
||||||
|
| env | object | See below | environment variables. See more environment variables in the [scrypted documentation](https://scrypted.org/docs). |
|
||||||
|
| env.TZ | string | `"UTC"` | Set the container timezone |
|
||||||
|
| image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
|
||||||
|
| image.repository | string | `"koush/scrypted"` | image repository |
|
||||||
|
| image.tag | string | `"16-bullseye"` | image tag |
|
||||||
|
| ingress.main | object | See values.yaml | Enable and configure ingress settings for the chart under this key. |
|
||||||
|
| persistence | object | See values.yaml | Configure persistence settings for the chart under this key. |
|
||||||
|
| service | object | See values.yaml | Configures service settings for the chart. |
|
||||||
|
|
||||||
|
## Changelog
|
||||||
|
|
||||||
|
### Version 0.1.0
|
||||||
|
|
||||||
|
#### Added
|
||||||
|
|
||||||
|
* Initial version
|
||||||
|
|
||||||
|
#### Changed
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
### Older versions
|
||||||
|
|
||||||
|
A historical overview of changes can be found on [ArtifactHUB](https://artifacthub.io/packages/helm/k8s-at-home/scrypted?modal=changelog)
|
||||||
|
|
||||||
|
## Support
|
||||||
|
|
||||||
|
- See the [Docs](https://docs.k8s-at-home.com/our-helm-charts/getting-started/)
|
||||||
|
- Open an [issue](https://github.com/k8s-at-home/charts/issues/new/choose)
|
||||||
|
- Ask a [question](https://github.com/k8s-at-home/organization/discussions)
|
||||||
|
- Join our [Discord](https://discord.gg/sTMX7Vh) community
|
||||||
|
|
||||||
|
----------------------------------------------
|
||||||
|
Autogenerated from chart metadata using [helm-docs v0.1.1](https://github.com/k8s-at-home/helm-docs/releases/v0.1.1)
|
||||||
52
charts/incubator/scrypted/values.yaml
Normal file
52
charts/incubator/scrypted/values.yaml
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
#
|
||||||
|
# IMPORTANT NOTE
|
||||||
|
#
|
||||||
|
# This chart inherits from our common library chart. You can check the default values/options here:
|
||||||
|
# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml
|
||||||
|
#
|
||||||
|
|
||||||
|
image:
|
||||||
|
# -- image repository
|
||||||
|
repository: koush/scrypted
|
||||||
|
# -- image tag
|
||||||
|
tag: 16-bullseye
|
||||||
|
# -- image pull policy
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
|
||||||
|
# -- environment variables. See more environment variables in the [scrypted documentation](https://scrypted.org/docs).
|
||||||
|
# @default -- See below
|
||||||
|
env:
|
||||||
|
# -- Set the container timezone
|
||||||
|
TZ: UTC
|
||||||
|
|
||||||
|
# -- Configures service settings for the chart.
|
||||||
|
# @default -- See values.yaml
|
||||||
|
service:
|
||||||
|
main:
|
||||||
|
ports:
|
||||||
|
http:
|
||||||
|
port: 10080
|
||||||
|
primary: true
|
||||||
|
https:
|
||||||
|
enabled: false
|
||||||
|
port: 10443
|
||||||
|
protocol: HTTPS
|
||||||
|
primary: false
|
||||||
|
debug:
|
||||||
|
enabled: false
|
||||||
|
port: 10081
|
||||||
|
protocol: HTTP
|
||||||
|
primary: false
|
||||||
|
|
||||||
|
ingress:
|
||||||
|
# -- Enable and configure ingress settings for the chart under this key.
|
||||||
|
# @default -- See values.yaml
|
||||||
|
main:
|
||||||
|
enabled: false
|
||||||
|
|
||||||
|
# -- Configure persistence settings for the chart under this key.
|
||||||
|
# @default -- See values.yaml
|
||||||
|
persistence:
|
||||||
|
config:
|
||||||
|
enabled: false
|
||||||
|
mountPath: /server/volume
|
||||||
@@ -1,35 +0,0 @@
|
|||||||
apiVersion: v2
|
|
||||||
appVersion: 8.0.7
|
|
||||||
description: seafile helm package
|
|
||||||
name: seafile
|
|
||||||
version: 2.0.0
|
|
||||||
kubeVersion: ">=1.16.0-0"
|
|
||||||
keywords:
|
|
||||||
- seafile
|
|
||||||
home: https://github.com/k8s-at-home/charts/tree/master/charts/stable/seafile
|
|
||||||
icon: https://manual.seafile.com/media/seafile-transparent-1024.png
|
|
||||||
sources:
|
|
||||||
- https://github.com/haiwen/seafile-docker
|
|
||||||
maintainers:
|
|
||||||
- name: phybros
|
|
||||||
email: 1985132+phybros@users.noreply.github.com
|
|
||||||
dependencies:
|
|
||||||
- name: common
|
|
||||||
repository: https://library-charts.k8s-at-home.com
|
|
||||||
version: 4.3.0
|
|
||||||
- name: mariadb
|
|
||||||
version: 10.2.0
|
|
||||||
repository: https://charts.bitnami.com/bitnami
|
|
||||||
condition: mariadb.enabled
|
|
||||||
annotations:
|
|
||||||
artifacthub.io/changes: |
|
|
||||||
- kind: changed
|
|
||||||
description: "**Breaking:** Updated `mariadb` chart to version `10.2.0`. Check out the chart documentation to see which values have changed."
|
|
||||||
links:
|
|
||||||
- name: Chart documentation
|
|
||||||
url: https://github.com/bitnami/charts/tree/master/bitnami/mariadb#to-1000
|
|
||||||
- kind: changed
|
|
||||||
description: Updated the common library dependency to version `4.3.0`.
|
|
||||||
links:
|
|
||||||
- name: Chart repository
|
|
||||||
url: https://github.com/k8s-at-home/library-charts/tree/common-4.3.0/charts/stable/common
|
|
||||||
@@ -1,176 +0,0 @@
|
|||||||
{{- define "custom.repository.organization" -}}
|
|
||||||
k8s-at-home
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.repository.url" -}}
|
|
||||||
https://github.com/k8s-at-home/charts
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.helm.url" -}}
|
|
||||||
https://k8s-at-home.com/charts/
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.helm.path" -}}
|
|
||||||
{{ template "custom.repository.organization" . }}/{{ template "chart.name" . }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.notes" -}}
|
|
||||||
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.requirements" -}}
|
|
||||||
## Requirements
|
|
||||||
|
|
||||||
{{ template "chart.kubeVersionLine" . }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.dependencies" -}}
|
|
||||||
## Dependencies
|
|
||||||
|
|
||||||
{{ template "chart.requirementsTable" . }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.install.tldr" -}}
|
|
||||||
## TL;DR
|
|
||||||
|
|
||||||
```console
|
|
||||||
helm repo add {{ template "custom.repository.organization" . }} {{ template "custom.helm.url" . }}
|
|
||||||
helm repo update
|
|
||||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
|
|
||||||
```
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.install" -}}
|
|
||||||
## Installing the Chart
|
|
||||||
|
|
||||||
To install the chart with the release name `{{ template "chart.name" . }}`
|
|
||||||
|
|
||||||
```console
|
|
||||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
|
|
||||||
```
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.uninstall" -}}
|
|
||||||
## Uninstalling the Chart
|
|
||||||
|
|
||||||
To uninstall the `{{ template "chart.name" . }}` deployment
|
|
||||||
|
|
||||||
```console
|
|
||||||
helm uninstall {{ template "chart.name" . }}
|
|
||||||
```
|
|
||||||
|
|
||||||
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.configuration.header" -}}
|
|
||||||
## Configuration
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.configuration.readValues" -}}
|
|
||||||
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
|
|
||||||
Other values may be used from the [values.yaml](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common).
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.configuration.example.set" -}}
|
|
||||||
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
|
|
||||||
|
|
||||||
```console
|
|
||||||
helm install {{ template "chart.name" . }} \
|
|
||||||
--set env.TZ="America/New York" \
|
|
||||||
{{ template "custom.helm.path" . }}
|
|
||||||
```
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.configuration.example.file" -}}
|
|
||||||
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
|
|
||||||
|
|
||||||
```console
|
|
||||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }} -f values.yaml
|
|
||||||
```
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.valuesSection" -}}
|
|
||||||
## Values
|
|
||||||
|
|
||||||
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common)
|
|
||||||
|
|
||||||
{{ template "chart.valuesTable" . }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.support" -}}
|
|
||||||
## Support
|
|
||||||
|
|
||||||
- See the [Docs](https://docs.k8s-at-home.com/our-helm-charts/getting-started/)
|
|
||||||
- Open an [issue](https://github.com/k8s-at-home/charts/issues/new/choose)
|
|
||||||
- Ask a [question](https://github.com/k8s-at-home/organization/discussions)
|
|
||||||
- Join our [Discord](https://discord.gg/sTMX7Vh) community
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.changelog" -}}
|
|
||||||
{{ $changeTypes := list "added" "changed" "fixed" }}
|
|
||||||
## Changelog
|
|
||||||
|
|
||||||
### Version {{ template "chart.version" . }}
|
|
||||||
|
|
||||||
{{ range $changeType := $changeTypes }}
|
|
||||||
{{- with (index $.Annotations "artifacthub.io/changes") }}
|
|
||||||
{{- print "#### " ($changeType | title) | nindent 0 }}
|
|
||||||
{{- print "" | nindent 0 }}
|
|
||||||
{{- $changesFound := false }}
|
|
||||||
{{- range (print "changes:\n" . | fromYaml).changes }}
|
|
||||||
{{- if eq .kind $changeType }}
|
|
||||||
{{- print "* " .description | nindent 0 }}
|
|
||||||
{{- $changesFound = true }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
{{- if not $changesFound }}
|
|
||||||
{{- print "N/A" | nindent 0 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- print "" | nindent 0 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
### Older versions
|
|
||||||
|
|
||||||
A historical overview of changes can be found on [ArtifactHUB](https://artifacthub.io/packages/helm/k8s-at-home/{{- template "chart.name" . }}?modal=changelog)
|
|
||||||
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{ template "chart.header" . }}
|
|
||||||
|
|
||||||
{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }}
|
|
||||||
|
|
||||||
{{ template "chart.description" . }}
|
|
||||||
|
|
||||||
{{ template "custom.notes" . }}
|
|
||||||
|
|
||||||
{{ template "chart.sourcesSection" . }}
|
|
||||||
|
|
||||||
{{ template "custom.requirements" . }}
|
|
||||||
|
|
||||||
{{ template "custom.dependencies" . }}
|
|
||||||
|
|
||||||
{{ template "custom.install.tldr" . }}
|
|
||||||
|
|
||||||
{{ template "custom.install" . }}
|
|
||||||
|
|
||||||
{{ template "custom.uninstall" . }}
|
|
||||||
|
|
||||||
{{ template "custom.configuration.header" . }}
|
|
||||||
|
|
||||||
{{ template "custom.configuration.readValues" . }}
|
|
||||||
|
|
||||||
{{ template "custom.configuration.example.set" . }}
|
|
||||||
|
|
||||||
{{ template "custom.configuration.example.file" . }}
|
|
||||||
|
|
||||||
{{ template "custom.custom.configuration" . }}
|
|
||||||
|
|
||||||
{{ template "custom.valuesSection" . }}
|
|
||||||
|
|
||||||
{{ template "custom.changelog" . }}
|
|
||||||
|
|
||||||
{{ template "custom.support" . }}
|
|
||||||
|
|
||||||
{{ template "helm-docs.versionFooter" . }}
|
|
||||||
{{ "" }}
|
|
||||||
26
charts/incubator/signal-cli-rest-api/.helmignore
Normal file
26
charts/incubator/signal-cli-rest-api/.helmignore
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
# Patterns to ignore when building packages.
|
||||||
|
# This supports shell glob matching, relative path matching, and
|
||||||
|
# negation (prefixed with !). Only one pattern per line.
|
||||||
|
.DS_Store
|
||||||
|
# Common VCS dirs
|
||||||
|
.git/
|
||||||
|
.gitignore
|
||||||
|
.bzr/
|
||||||
|
.bzrignore
|
||||||
|
.hg/
|
||||||
|
.hgignore
|
||||||
|
.svn/
|
||||||
|
# Common backup files
|
||||||
|
*.swp
|
||||||
|
*.bak
|
||||||
|
*.tmp
|
||||||
|
*~
|
||||||
|
# Various IDEs
|
||||||
|
.project
|
||||||
|
.idea/
|
||||||
|
*.tmproj
|
||||||
|
.vscode/
|
||||||
|
# OWNERS file for Kubernetes
|
||||||
|
OWNERS
|
||||||
|
# helm-docs templates
|
||||||
|
*.gotmpl
|
||||||
25
charts/incubator/signal-cli-rest-api/Chart.yaml
Normal file
25
charts/incubator/signal-cli-rest-api/Chart.yaml
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
apiVersion: v2
|
||||||
|
version: 1.0.0
|
||||||
|
description: Dockerized Signal Messenger REST API
|
||||||
|
name: signal-cli-rest-api
|
||||||
|
appVersion: "0.57"
|
||||||
|
kubeVersion: ">=1.16.0-0"
|
||||||
|
keywords:
|
||||||
|
- signal-cli-rest-api
|
||||||
|
- signal-messenger
|
||||||
|
- signal
|
||||||
|
home: https://github.com/k8s-at-home/charts/tree/master/charts/stable/signal-cli-rest-api
|
||||||
|
icon: https://signal-cli-rest-api.org/icon
|
||||||
|
sources:
|
||||||
|
- https://github.com/bbernhard/signal-cli-rest-api
|
||||||
|
maintainers:
|
||||||
|
- name: vargat
|
||||||
|
url: https://github.com/tamasv
|
||||||
|
dependencies:
|
||||||
|
- name: common
|
||||||
|
repository: https://library-charts.k8s-at-home.com
|
||||||
|
version: 4.3.0
|
||||||
|
annotations:
|
||||||
|
artifacthub.io/changes: |
|
||||||
|
- kind: added
|
||||||
|
description: Initial version
|
||||||
116
charts/incubator/signal-cli-rest-api/README.md
Normal file
116
charts/incubator/signal-cli-rest-api/README.md
Normal file
@@ -0,0 +1,116 @@
|
|||||||
|
# signal-cli-rest-api
|
||||||
|
|
||||||
|
 
|
||||||
|
|
||||||
|
Dockerized Signal Messenger REST API
|
||||||
|
|
||||||
|
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
|
||||||
|
|
||||||
|
## Source Code
|
||||||
|
|
||||||
|
* <https://github.com/bbernhard/signal-cli-rest-api>
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
|
Kubernetes: `>=1.16.0-0`
|
||||||
|
|
||||||
|
## Dependencies
|
||||||
|
|
||||||
|
| Repository | Name | Version |
|
||||||
|
|------------|------|---------|
|
||||||
|
| https://library-charts.k8s-at-home.com | common | 4.3.0 |
|
||||||
|
|
||||||
|
## TL;DR
|
||||||
|
|
||||||
|
```console
|
||||||
|
helm repo add k8s-at-home https://k8s-at-home.com/charts/
|
||||||
|
helm repo update
|
||||||
|
helm install signal-cli-rest-api k8s-at-home/signal-cli-rest-api
|
||||||
|
```
|
||||||
|
|
||||||
|
## Installing the Chart
|
||||||
|
|
||||||
|
To install the chart with the release name `signal-cli-rest-api`
|
||||||
|
|
||||||
|
```console
|
||||||
|
helm install signal-cli-rest-api k8s-at-home/signal-cli-rest-api
|
||||||
|
```
|
||||||
|
|
||||||
|
## Uninstalling the Chart
|
||||||
|
|
||||||
|
To uninstall the `signal-cli-rest-api` deployment
|
||||||
|
|
||||||
|
```console
|
||||||
|
helm uninstall signal-cli-rest-api
|
||||||
|
```
|
||||||
|
|
||||||
|
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
|
||||||
|
Other values may be used from the [values.yaml](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common).
|
||||||
|
|
||||||
|
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
|
||||||
|
|
||||||
|
```console
|
||||||
|
helm install signal-cli-rest-api \
|
||||||
|
--set env.TZ="America/New York" \
|
||||||
|
k8s-at-home/signal-cli-rest-api
|
||||||
|
```
|
||||||
|
|
||||||
|
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
|
||||||
|
|
||||||
|
```console
|
||||||
|
helm install signal-cli-rest-api k8s-at-home/signal-cli-rest-api -f values.yaml
|
||||||
|
```
|
||||||
|
|
||||||
|
## Custom configuration
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
## Values
|
||||||
|
|
||||||
|
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common)
|
||||||
|
|
||||||
|
| Key | Type | Default | Description |
|
||||||
|
|-----|------|---------|-------------|
|
||||||
|
| env | object | See below | environment variables. See more environment variables in the [signal-cli-rest-api documentation](https://github.com/bbernhard/signal-cli-rest-api). |
|
||||||
|
| env.MODE | string | `"native"` | Set the Execution mode. See https://github.com/bbernhard/signal-cli-rest-api#execution-modes |
|
||||||
|
| env.TZ | string | `"UTC"` | Set the container timezone |
|
||||||
|
| image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
|
||||||
|
| image.repository | string | `"bbernhard/signal-cli-rest-api"` | image repository |
|
||||||
|
| image.tag | string | `nil` | image tag |
|
||||||
|
| ingress.main | object | See values.yaml | Enable and configure ingress settings for the chart under this key. |
|
||||||
|
| persistence | object | See values.yaml | Configure persistence settings for the chart under this key. |
|
||||||
|
| service | object | See values.yaml | Configures service settings for the chart. |
|
||||||
|
|
||||||
|
## Changelog
|
||||||
|
|
||||||
|
### Version 1.0.0
|
||||||
|
|
||||||
|
#### Added
|
||||||
|
|
||||||
|
* Initial version
|
||||||
|
|
||||||
|
#### Changed
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
### Older versions
|
||||||
|
|
||||||
|
A historical overview of changes can be found on [ArtifactHUB](https://artifacthub.io/packages/helm/k8s-at-home/signal-cli-rest-api?modal=changelog)
|
||||||
|
|
||||||
|
## Support
|
||||||
|
|
||||||
|
- See the [Docs](https://docs.k8s-at-home.com/our-helm-charts/getting-started/)
|
||||||
|
- Open an [issue](https://github.com/k8s-at-home/charts/issues/new/choose)
|
||||||
|
- Ask a [question](https://github.com/k8s-at-home/organization/discussions)
|
||||||
|
- Join our [Discord](https://discord.gg/sTMX7Vh) community
|
||||||
|
|
||||||
|
----------------------------------------------
|
||||||
|
Autogenerated from chart metadata using [helm-docs v0.1.1](https://github.com/k8s-at-home/helm-docs/releases/v0.1.1)
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
{{- define "custom.custom.configuration.header" -}}
|
||||||
|
## Custom configuration
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- define "custom.custom.configuration" -}}
|
||||||
|
{{ template "custom.custom.configuration.header" . }}
|
||||||
|
|
||||||
|
N/A
|
||||||
|
{{- end -}}
|
||||||
1
charts/incubator/signal-cli-rest-api/templates/NOTES.txt
Normal file
1
charts/incubator/signal-cli-rest-api/templates/NOTES.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{{- include "common.notes.defaultNotes" . -}}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{{ include "common.all" . }}
|
||||||
50
charts/incubator/signal-cli-rest-api/values.yaml
Normal file
50
charts/incubator/signal-cli-rest-api/values.yaml
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
#
|
||||||
|
# IMPORTANT NOTE
|
||||||
|
#
|
||||||
|
# This chart inherits from our common library chart. You can check the default values/options here:
|
||||||
|
# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml
|
||||||
|
#
|
||||||
|
|
||||||
|
image:
|
||||||
|
# -- image repository
|
||||||
|
repository: bbernhard/signal-cli-rest-api
|
||||||
|
# -- image tag
|
||||||
|
tag:
|
||||||
|
# -- image pull policy
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
|
||||||
|
# -- environment variables. See more environment variables in the [signal-cli-rest-api documentation](https://github.com/bbernhard/signal-cli-rest-api).
|
||||||
|
# @default -- See below
|
||||||
|
env:
|
||||||
|
# -- Set the container timezone
|
||||||
|
TZ: UTC
|
||||||
|
# -- Set the Execution mode. See https://github.com/bbernhard/signal-cli-rest-api#execution-modes
|
||||||
|
MODE: native
|
||||||
|
# -- Set the Auto receive schedule. See https://github.com/bbernhard/signal-cli-rest-api#auto-receive-schedule
|
||||||
|
# AUTO_RECEIVE_SCHEDULE="0 22 * * *"
|
||||||
|
# -- Set the config directory for the application. See https://github.com/bbernhard/signal-cli-rest-api#advanced-settings
|
||||||
|
# SIGNAL_CLI_CONFIG_DIR: "/home/.local/share/signal-cli"
|
||||||
|
# -- Specifies the uid of the signal-api user inside the docker container. Defaults to 1000
|
||||||
|
# SIGNAL_CLI_UID: 1000
|
||||||
|
# -- Specifies the gid of the signal-api group inside the docker container. Defaults to 1000
|
||||||
|
# SIGNAL_CLI_GID: 1000
|
||||||
|
# -- Configures service settings for the chart.
|
||||||
|
# @default -- See values.yaml
|
||||||
|
service:
|
||||||
|
main:
|
||||||
|
ports:
|
||||||
|
http:
|
||||||
|
port: 8080
|
||||||
|
|
||||||
|
ingress:
|
||||||
|
# -- Enable and configure ingress settings for the chart under this key.
|
||||||
|
# @default -- See values.yaml
|
||||||
|
main:
|
||||||
|
enabled: false
|
||||||
|
|
||||||
|
# -- Configure persistence settings for the chart under this key.
|
||||||
|
# @default -- See values.yaml
|
||||||
|
persistence:
|
||||||
|
config:
|
||||||
|
enabled: false
|
||||||
|
mountPath: /home/.local/share/signal-cli
|
||||||
@@ -1,176 +0,0 @@
|
|||||||
{{- define "custom.repository.organization" -}}
|
|
||||||
k8s-at-home
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.repository.url" -}}
|
|
||||||
https://github.com/k8s-at-home/charts
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.helm.url" -}}
|
|
||||||
https://k8s-at-home.com/charts/
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.helm.path" -}}
|
|
||||||
{{ template "custom.repository.organization" . }}/{{ template "chart.name" . }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.notes" -}}
|
|
||||||
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.requirements" -}}
|
|
||||||
## Requirements
|
|
||||||
|
|
||||||
{{ template "chart.kubeVersionLine" . }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.dependencies" -}}
|
|
||||||
## Dependencies
|
|
||||||
|
|
||||||
{{ template "chart.requirementsTable" . }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.install.tldr" -}}
|
|
||||||
## TL;DR
|
|
||||||
|
|
||||||
```console
|
|
||||||
helm repo add {{ template "custom.repository.organization" . }} {{ template "custom.helm.url" . }}
|
|
||||||
helm repo update
|
|
||||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
|
|
||||||
```
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.install" -}}
|
|
||||||
## Installing the Chart
|
|
||||||
|
|
||||||
To install the chart with the release name `{{ template "chart.name" . }}`
|
|
||||||
|
|
||||||
```console
|
|
||||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
|
|
||||||
```
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.uninstall" -}}
|
|
||||||
## Uninstalling the Chart
|
|
||||||
|
|
||||||
To uninstall the `{{ template "chart.name" . }}` deployment
|
|
||||||
|
|
||||||
```console
|
|
||||||
helm uninstall {{ template "chart.name" . }}
|
|
||||||
```
|
|
||||||
|
|
||||||
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.configuration.header" -}}
|
|
||||||
## Configuration
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.configuration.readValues" -}}
|
|
||||||
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
|
|
||||||
Other values may be used from the [values.yaml](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common).
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.configuration.example.set" -}}
|
|
||||||
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
|
|
||||||
|
|
||||||
```console
|
|
||||||
helm install {{ template "chart.name" . }} \
|
|
||||||
--set env.TZ="America/New York" \
|
|
||||||
{{ template "custom.helm.path" . }}
|
|
||||||
```
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.configuration.example.file" -}}
|
|
||||||
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
|
|
||||||
|
|
||||||
```console
|
|
||||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }} -f values.yaml
|
|
||||||
```
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.valuesSection" -}}
|
|
||||||
## Values
|
|
||||||
|
|
||||||
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common)
|
|
||||||
|
|
||||||
{{ template "chart.valuesTable" . }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.support" -}}
|
|
||||||
## Support
|
|
||||||
|
|
||||||
- See the [Docs](https://docs.k8s-at-home.com/our-helm-charts/getting-started/)
|
|
||||||
- Open an [issue](https://github.com/k8s-at-home/charts/issues/new/choose)
|
|
||||||
- Ask a [question](https://github.com/k8s-at-home/organization/discussions)
|
|
||||||
- Join our [Discord](https://discord.gg/sTMX7Vh) community
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.changelog" -}}
|
|
||||||
{{ $changeTypes := list "added" "changed" "fixed" }}
|
|
||||||
## Changelog
|
|
||||||
|
|
||||||
### Version {{ template "chart.version" . }}
|
|
||||||
|
|
||||||
{{ range $changeType := $changeTypes }}
|
|
||||||
{{- with (index $.Annotations "artifacthub.io/changes") }}
|
|
||||||
{{- print "#### " ($changeType | title) | nindent 0 }}
|
|
||||||
{{- print "" | nindent 0 }}
|
|
||||||
{{- $changesFound := false }}
|
|
||||||
{{- range (print "changes:\n" . | fromYaml).changes }}
|
|
||||||
{{- if eq .kind $changeType }}
|
|
||||||
{{- print "* " .description | nindent 0 }}
|
|
||||||
{{- $changesFound = true }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
{{- if not $changesFound }}
|
|
||||||
{{- print "N/A" | nindent 0 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- print "" | nindent 0 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
### Older versions
|
|
||||||
|
|
||||||
A historical overview of changes can be found on [ArtifactHUB](https://artifacthub.io/packages/helm/k8s-at-home/{{- template "chart.name" . }}?modal=changelog)
|
|
||||||
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{ template "chart.header" . }}
|
|
||||||
|
|
||||||
{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }}
|
|
||||||
|
|
||||||
{{ template "chart.description" . }}
|
|
||||||
|
|
||||||
{{ template "custom.notes" . }}
|
|
||||||
|
|
||||||
{{ template "chart.sourcesSection" . }}
|
|
||||||
|
|
||||||
{{ template "custom.requirements" . }}
|
|
||||||
|
|
||||||
{{ template "custom.dependencies" . }}
|
|
||||||
|
|
||||||
{{ template "custom.install.tldr" . }}
|
|
||||||
|
|
||||||
{{ template "custom.install" . }}
|
|
||||||
|
|
||||||
{{ template "custom.uninstall" . }}
|
|
||||||
|
|
||||||
{{ template "custom.configuration.header" . }}
|
|
||||||
|
|
||||||
{{ template "custom.configuration.readValues" . }}
|
|
||||||
|
|
||||||
{{ template "custom.configuration.example.set" . }}
|
|
||||||
|
|
||||||
{{ template "custom.configuration.example.file" . }}
|
|
||||||
|
|
||||||
{{ template "custom.custom.configuration" . }}
|
|
||||||
|
|
||||||
{{ template "custom.valuesSection" . }}
|
|
||||||
|
|
||||||
{{ template "custom.changelog" . }}
|
|
||||||
|
|
||||||
{{ template "custom.support" . }}
|
|
||||||
|
|
||||||
{{ template "helm-docs.versionFooter" . }}
|
|
||||||
{{ "" }}
|
|
||||||
26
charts/incubator/strongswan/.helmignore
Normal file
26
charts/incubator/strongswan/.helmignore
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
# Patterns to ignore when building packages.
|
||||||
|
# This supports shell glob matching, relative path matching, and
|
||||||
|
# negation (prefixed with !). Only one pattern per line.
|
||||||
|
.DS_Store
|
||||||
|
# Common VCS dirs
|
||||||
|
.git/
|
||||||
|
.gitignore
|
||||||
|
.bzr/
|
||||||
|
.bzrignore
|
||||||
|
.hg/
|
||||||
|
.hgignore
|
||||||
|
.svn/
|
||||||
|
# Common backup files
|
||||||
|
*.swp
|
||||||
|
*.bak
|
||||||
|
*.tmp
|
||||||
|
*~
|
||||||
|
# Various IDEs
|
||||||
|
.project
|
||||||
|
.idea/
|
||||||
|
*.tmproj
|
||||||
|
.vscode/
|
||||||
|
# OWNERS file for Kubernetes
|
||||||
|
OWNERS
|
||||||
|
# helm-docs templates
|
||||||
|
*.gotmpl
|
||||||
23
charts/incubator/strongswan/Chart.yaml
Normal file
23
charts/incubator/strongswan/Chart.yaml
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
apiVersion: v2
|
||||||
|
appVersion: 1.0.0
|
||||||
|
description: strongSwan – the OpenSource IPsec-based VPN Solution
|
||||||
|
name: strongswan
|
||||||
|
version: 0.1.0
|
||||||
|
kubeVersion: ">=1.16.0-0"
|
||||||
|
keywords:
|
||||||
|
- strongswan
|
||||||
|
home: https://github.com/k8s-at-home/charts/tree/master/charts/stable/strongswan
|
||||||
|
icon: https://strongswan.org/images/strongswan_neu.png
|
||||||
|
sources:
|
||||||
|
- https://github.com/reitermarkus/strongswan
|
||||||
|
maintainers:
|
||||||
|
- name: reitermarkus
|
||||||
|
email: me@reitermark.us
|
||||||
|
dependencies:
|
||||||
|
- name: common
|
||||||
|
repository: https://library-charts.k8s-at-home.com
|
||||||
|
version: 4.3.0
|
||||||
|
annotations:
|
||||||
|
artifacthub.io/changes: |
|
||||||
|
- kind: added
|
||||||
|
description: Initial version
|
||||||
118
charts/incubator/strongswan/README.md
Normal file
118
charts/incubator/strongswan/README.md
Normal file
@@ -0,0 +1,118 @@
|
|||||||
|
# strongswan
|
||||||
|
|
||||||
|
 
|
||||||
|
|
||||||
|
strongSwan – the OpenSource IPsec-based VPN Solution
|
||||||
|
|
||||||
|
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
|
||||||
|
|
||||||
|
## Source Code
|
||||||
|
|
||||||
|
* <https://github.com/reitermarkus/strongswan>
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
|
Kubernetes: `>=1.16.0-0`
|
||||||
|
|
||||||
|
## Dependencies
|
||||||
|
|
||||||
|
| Repository | Name | Version |
|
||||||
|
|------------|------|---------|
|
||||||
|
| https://library-charts.k8s-at-home.com | common | 4.3.0 |
|
||||||
|
|
||||||
|
## TL;DR
|
||||||
|
|
||||||
|
```console
|
||||||
|
helm repo add k8s-at-home https://k8s-at-home.com/charts/
|
||||||
|
helm repo update
|
||||||
|
helm install strongswan k8s-at-home/strongswan
|
||||||
|
```
|
||||||
|
|
||||||
|
## Installing the Chart
|
||||||
|
|
||||||
|
To install the chart with the release name `strongswan`
|
||||||
|
|
||||||
|
```console
|
||||||
|
helm install strongswan k8s-at-home/strongswan
|
||||||
|
```
|
||||||
|
|
||||||
|
## Uninstalling the Chart
|
||||||
|
|
||||||
|
To uninstall the `strongswan` deployment
|
||||||
|
|
||||||
|
```console
|
||||||
|
helm uninstall strongswan
|
||||||
|
```
|
||||||
|
|
||||||
|
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
|
||||||
|
Other values may be used from the [values.yaml](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common).
|
||||||
|
|
||||||
|
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
|
||||||
|
|
||||||
|
```console
|
||||||
|
helm install strongswan \
|
||||||
|
--set env.TZ="America/New York" \
|
||||||
|
k8s-at-home/strongswan
|
||||||
|
```
|
||||||
|
|
||||||
|
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
|
||||||
|
|
||||||
|
```console
|
||||||
|
helm install strongswan k8s-at-home/strongswan -f values.yaml
|
||||||
|
```
|
||||||
|
|
||||||
|
## Custom configuration
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
## Values
|
||||||
|
|
||||||
|
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common)
|
||||||
|
|
||||||
|
| Key | Type | Default | Description |
|
||||||
|
|-----|------|---------|-------------|
|
||||||
|
| dnsPolicy | string | `"ClusterFirstWithHostNet"` | |
|
||||||
|
| env | object | See below | environment variables. See more environment variables in the [strongswan documentation](https://github.com/reitermarkus/strongswan). |
|
||||||
|
| env.TZ | string | `"UTC"` | Set the container timezone |
|
||||||
|
| hostNetwork | bool | `true` | |
|
||||||
|
| image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
|
||||||
|
| image.repository | string | `"ghcr.io/reitermarkus/strongswan"` | image repository |
|
||||||
|
| image.tag | string | `"v1.0.0"` | image tag |
|
||||||
|
| persistence | object | See values.yaml | Configure persistence settings for the chart under this key. |
|
||||||
|
| probes | object | See values.yaml | Configures the probes for the main Pod. |
|
||||||
|
| securityContext | object | See values.yaml | Security contexts required for container. |
|
||||||
|
| service | object | See values.yaml | Configures service settings for the chart. |
|
||||||
|
|
||||||
|
## Changelog
|
||||||
|
|
||||||
|
### Version 0.1.0
|
||||||
|
|
||||||
|
#### Added
|
||||||
|
|
||||||
|
* Initial version
|
||||||
|
|
||||||
|
#### Changed
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
### Older versions
|
||||||
|
|
||||||
|
A historical overview of changes can be found on [ArtifactHUB](https://artifacthub.io/packages/helm/k8s-at-home/strongswan?modal=changelog)
|
||||||
|
|
||||||
|
## Support
|
||||||
|
|
||||||
|
- See the [Docs](https://docs.k8s-at-home.com/our-helm-charts/getting-started/)
|
||||||
|
- Open an [issue](https://github.com/k8s-at-home/charts/issues/new/choose)
|
||||||
|
- Ask a [question](https://github.com/k8s-at-home/organization/discussions)
|
||||||
|
- Join our [Discord](https://discord.gg/sTMX7Vh) community
|
||||||
|
|
||||||
|
----------------------------------------------
|
||||||
|
Autogenerated from chart metadata using [helm-docs v0.1.1](https://github.com/k8s-at-home/helm-docs/releases/v0.1.1)
|
||||||
9
charts/incubator/strongswan/README_CONFIG.md.gotmpl
Normal file
9
charts/incubator/strongswan/README_CONFIG.md.gotmpl
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{{- define "custom.custom.configuration.header" -}}
|
||||||
|
## Custom configuration
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- define "custom.custom.configuration" -}}
|
||||||
|
{{ template "custom.custom.configuration.header" . }}
|
||||||
|
|
||||||
|
N/A
|
||||||
|
{{- end -}}
|
||||||
5
charts/incubator/strongswan/ci/ct-values.yaml
Normal file
5
charts/incubator/strongswan/ci/ct-values.yaml
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
env:
|
||||||
|
VPN_NAME: Example VPN
|
||||||
|
WIFI_SSID: Example WiFi
|
||||||
|
VPN_DOMAIN: vpn.example.org
|
||||||
|
VPN_P12_PASSWORD: password
|
||||||
1
charts/incubator/strongswan/templates/NOTES.txt
Normal file
1
charts/incubator/strongswan/templates/NOTES.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{{- include "common.notes.defaultNotes" . -}}
|
||||||
1
charts/incubator/strongswan/templates/common.yaml
Normal file
1
charts/incubator/strongswan/templates/common.yaml
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{{ include "common.all" . }}
|
||||||
86
charts/incubator/strongswan/values.yaml
Normal file
86
charts/incubator/strongswan/values.yaml
Normal file
@@ -0,0 +1,86 @@
|
|||||||
|
#
|
||||||
|
# IMPORTANT NOTE
|
||||||
|
#
|
||||||
|
# This chart inherits from our common library chart. You can check the default values/options here:
|
||||||
|
# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml
|
||||||
|
#
|
||||||
|
|
||||||
|
image:
|
||||||
|
# -- image repository
|
||||||
|
repository: ghcr.io/reitermarkus/strongswan
|
||||||
|
# -- image tag
|
||||||
|
tag: v1.0.0
|
||||||
|
# -- image pull policy
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
|
||||||
|
# -- environment variables. See more environment variables in the [strongswan documentation](https://github.com/reitermarkus/strongswan).
|
||||||
|
# @default -- See below
|
||||||
|
env:
|
||||||
|
# -- Set the container timezone
|
||||||
|
TZ: UTC
|
||||||
|
# VPN_NAME: Example VPN # VPN display name.
|
||||||
|
# WIFI_SSID: Example WiFi # Disable VPN when connected to this WiFi network.
|
||||||
|
# VPN_DOMAIN: vpn.example.org # FQDN for accessing the VPN.
|
||||||
|
# VPN_P12_PASSWORD:
|
||||||
|
# valueFrom:
|
||||||
|
# secretKeyRef:
|
||||||
|
# name: strongswan-credentials
|
||||||
|
# key: p12-password
|
||||||
|
|
||||||
|
# -- Configures service settings for the chart.
|
||||||
|
# @default -- See values.yaml
|
||||||
|
service:
|
||||||
|
main:
|
||||||
|
ports:
|
||||||
|
http:
|
||||||
|
enabled: false
|
||||||
|
primary: false
|
||||||
|
isakmp:
|
||||||
|
enabled: true
|
||||||
|
port: 500
|
||||||
|
targetPort: 500
|
||||||
|
protocol: UDP
|
||||||
|
ike:
|
||||||
|
enabled: true
|
||||||
|
port: 4500
|
||||||
|
targetPort: 4500
|
||||||
|
protocol: UDP
|
||||||
|
|
||||||
|
# -- Security contexts required for container.
|
||||||
|
# @default -- See values.yaml
|
||||||
|
securityContext:
|
||||||
|
capabilities:
|
||||||
|
add:
|
||||||
|
- NET_ADMIN
|
||||||
|
|
||||||
|
hostNetwork: true
|
||||||
|
dnsPolicy: ClusterFirstWithHostNet
|
||||||
|
|
||||||
|
# -- Configures the probes for the main Pod.
|
||||||
|
# @default -- See values.yaml
|
||||||
|
probes:
|
||||||
|
liveness:
|
||||||
|
enabled: true
|
||||||
|
custom: true
|
||||||
|
spec:
|
||||||
|
exec:
|
||||||
|
command: [ipsec, status]
|
||||||
|
readiness:
|
||||||
|
enabled: true
|
||||||
|
custom: true
|
||||||
|
spec:
|
||||||
|
exec:
|
||||||
|
command: [ipsec, status]
|
||||||
|
startup:
|
||||||
|
enabled: true
|
||||||
|
custom: true
|
||||||
|
spec:
|
||||||
|
exec:
|
||||||
|
command: [ipsec, status]
|
||||||
|
|
||||||
|
# -- Configure persistence settings for the chart under this key.
|
||||||
|
# @default -- See values.yaml
|
||||||
|
persistence:
|
||||||
|
config:
|
||||||
|
enabled: false
|
||||||
|
mountPath: /etc/ipsec.d
|
||||||
@@ -2,7 +2,7 @@ apiVersion: v2
|
|||||||
appVersion: 3.13.6
|
appVersion: 3.13.6
|
||||||
description: TeamSpeak Server
|
description: TeamSpeak Server
|
||||||
name: teamspeak
|
name: teamspeak
|
||||||
version: 0.3.0
|
version: 0.4.0
|
||||||
kubeVersion: ">=1.16.0-0"
|
kubeVersion: ">=1.16.0-0"
|
||||||
keywords:
|
keywords:
|
||||||
- teamspeak
|
- teamspeak
|
||||||
@@ -20,4 +20,6 @@ dependencies:
|
|||||||
annotations:
|
annotations:
|
||||||
artifacthub.io/changes: |
|
artifacthub.io/changes: |
|
||||||
- kind: changed
|
- kind: changed
|
||||||
description: Upgraded `common` chart dependency to version `4.3.0`.
|
description: Merged ports into single service.
|
||||||
|
- kind: added
|
||||||
|
description: Added metrics sidecar.
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# teamspeak
|
# teamspeak
|
||||||
|
|
||||||
 
|
 
|
||||||
|
|
||||||
TeamSpeak Server
|
TeamSpeak Server
|
||||||
|
|
||||||
@@ -67,7 +67,29 @@ helm install teamspeak k8s-at-home/teamspeak -f values.yaml
|
|||||||
|
|
||||||
## Custom configuration
|
## Custom configuration
|
||||||
|
|
||||||
N/A
|
### Regarding the services
|
||||||
|
|
||||||
|
By default, it is not yet possible to combine TCP and UDP ports on a service with `type: LoadBalancer`. This can be solved in a number of ways:
|
||||||
|
|
||||||
|
1. Create a separate service containing the UDP ports. This could be done by disabling the UDP ports under `service.main.ports` and adding the following in your `values.yaml`:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
service:
|
||||||
|
udp:
|
||||||
|
enabled: true
|
||||||
|
type: LoadBalancer
|
||||||
|
# <your other service configuration>
|
||||||
|
ports:
|
||||||
|
voice:
|
||||||
|
enabled: true
|
||||||
|
port: 9987
|
||||||
|
protocol: UDP
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Since Kubernetes 1.20 there is a feature gate that can be enabled to allow TCP and UDP ports to coexist on Services with `type: Loadbalancer`.
|
||||||
|
You will need to enable the `MixedProtocolLBService` feature gate in order to achieve this.
|
||||||
|
|
||||||
|
For more information about feature gates, please see [the docs](https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/).
|
||||||
|
|
||||||
## Values
|
## Values
|
||||||
|
|
||||||
@@ -75,10 +97,21 @@ N/A
|
|||||||
|
|
||||||
| Key | Type | Default | Description |
|
| Key | Type | Default | Description |
|
||||||
|-----|------|---------|-------------|
|
|-----|------|---------|-------------|
|
||||||
| env | string | See below | environment variables. See more environment variables in the [teamspeak image documentation](https://hub.docker.com/_/teamspeak). |
|
| env | object | See below | environment variables. See more environment variables in the [teamspeak image documentation](https://hub.docker.com/_/teamspeak). |
|
||||||
| image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
|
| image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
|
||||||
| image.repository | string | `"teamspeak"` | image repository |
|
| image.repository | string | `"teamspeak"` | image repository |
|
||||||
| image.tag | string | `"3.13.6"` | image tag |
|
| image.tag | string | `"3.13.6"` | image tag |
|
||||||
|
| metrics.enabled | bool | See values.yaml | Enable and configure ts3exporter sidecar and Prometheus serviceMonitor. |
|
||||||
|
| metrics.exporter.env.enableChannelMetrics | bool | `false` | Set to true to enable gathering of channel metrics |
|
||||||
|
| metrics.exporter.env.port | int | `9189` | metrics port |
|
||||||
|
| metrics.exporter.image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
|
||||||
|
| metrics.exporter.image.repository | string | `"quay.io/ricardbejarano/ts3exporter"` | image repository |
|
||||||
|
| metrics.exporter.image.tag | string | `"0.0.7"` | image tag |
|
||||||
|
| metrics.prometheusRule | object | See values.yaml | Enable and configure Prometheus Rules for the chart under this key. |
|
||||||
|
| metrics.prometheusRule.rules | list | See prometheusrules.yaml | Configure additionial rules for the chart under this key. |
|
||||||
|
| metrics.serviceMonitor.interval | string | `"1m"` | |
|
||||||
|
| metrics.serviceMonitor.labels | object | `{}` | |
|
||||||
|
| metrics.serviceMonitor.scrapeTimeout | string | `"30s"` | |
|
||||||
| nodeSelector | object | `{"kubernetes.io/arch":"amd64"}` | The TeamSpeak server binary is only available for x86_64. |
|
| nodeSelector | object | `{"kubernetes.io/arch":"amd64"}` | The TeamSpeak server binary is only available for x86_64. |
|
||||||
| persistence | object | See values.yaml | Configure persistence settings for the chart under this key. |
|
| persistence | object | See values.yaml | Configure persistence settings for the chart under this key. |
|
||||||
| probes.liveness.custom | bool | `true` | |
|
| probes.liveness.custom | bool | `true` | |
|
||||||
@@ -91,15 +124,15 @@ N/A
|
|||||||
|
|
||||||
## Changelog
|
## Changelog
|
||||||
|
|
||||||
### Version 0.3.0
|
### Version 0.4.0
|
||||||
|
|
||||||
#### Added
|
#### Added
|
||||||
|
|
||||||
N/A
|
* Added metrics sidecar.
|
||||||
|
|
||||||
#### Changed
|
#### Changed
|
||||||
|
|
||||||
* Upgraded `common` chart dependency to version `4.3.0`.
|
* Merged ports into single service.
|
||||||
|
|
||||||
#### Fixed
|
#### Fixed
|
||||||
|
|
||||||
|
|||||||
@@ -1,176 +0,0 @@
|
|||||||
{{- define "custom.repository.organization" -}}
|
|
||||||
k8s-at-home
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.repository.url" -}}
|
|
||||||
https://github.com/k8s-at-home/charts
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.helm.url" -}}
|
|
||||||
https://k8s-at-home.com/charts/
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.helm.path" -}}
|
|
||||||
{{ template "custom.repository.organization" . }}/{{ template "chart.name" . }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.notes" -}}
|
|
||||||
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.requirements" -}}
|
|
||||||
## Requirements
|
|
||||||
|
|
||||||
{{ template "chart.kubeVersionLine" . }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.dependencies" -}}
|
|
||||||
## Dependencies
|
|
||||||
|
|
||||||
{{ template "chart.requirementsTable" . }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.install.tldr" -}}
|
|
||||||
## TL;DR
|
|
||||||
|
|
||||||
```console
|
|
||||||
helm repo add {{ template "custom.repository.organization" . }} {{ template "custom.helm.url" . }}
|
|
||||||
helm repo update
|
|
||||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
|
|
||||||
```
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.install" -}}
|
|
||||||
## Installing the Chart
|
|
||||||
|
|
||||||
To install the chart with the release name `{{ template "chart.name" . }}`
|
|
||||||
|
|
||||||
```console
|
|
||||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
|
|
||||||
```
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.uninstall" -}}
|
|
||||||
## Uninstalling the Chart
|
|
||||||
|
|
||||||
To uninstall the `{{ template "chart.name" . }}` deployment
|
|
||||||
|
|
||||||
```console
|
|
||||||
helm uninstall {{ template "chart.name" . }}
|
|
||||||
```
|
|
||||||
|
|
||||||
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.configuration.header" -}}
|
|
||||||
## Configuration
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.configuration.readValues" -}}
|
|
||||||
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
|
|
||||||
Other values may be used from the [values.yaml](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common).
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.configuration.example.set" -}}
|
|
||||||
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
|
|
||||||
|
|
||||||
```console
|
|
||||||
helm install {{ template "chart.name" . }} \
|
|
||||||
--set env.TZ="America/New York" \
|
|
||||||
{{ template "custom.helm.path" . }}
|
|
||||||
```
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.configuration.example.file" -}}
|
|
||||||
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
|
|
||||||
|
|
||||||
```console
|
|
||||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }} -f values.yaml
|
|
||||||
```
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.valuesSection" -}}
|
|
||||||
## Values
|
|
||||||
|
|
||||||
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common)
|
|
||||||
|
|
||||||
{{ template "chart.valuesTable" . }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.support" -}}
|
|
||||||
## Support
|
|
||||||
|
|
||||||
- See the [Docs](https://docs.k8s-at-home.com/our-helm-charts/getting-started/)
|
|
||||||
- Open an [issue](https://github.com/k8s-at-home/charts/issues/new/choose)
|
|
||||||
- Ask a [question](https://github.com/k8s-at-home/organization/discussions)
|
|
||||||
- Join our [Discord](https://discord.gg/sTMX7Vh) community
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "custom.changelog" -}}
|
|
||||||
{{ $changeTypes := list "added" "changed" "fixed" }}
|
|
||||||
## Changelog
|
|
||||||
|
|
||||||
### Version {{ template "chart.version" . }}
|
|
||||||
|
|
||||||
{{ range $changeType := $changeTypes }}
|
|
||||||
{{- with (index $.Annotations "artifacthub.io/changes") }}
|
|
||||||
{{- print "#### " ($changeType | title) | nindent 0 }}
|
|
||||||
{{- print "" | nindent 0 }}
|
|
||||||
{{- $changesFound := false }}
|
|
||||||
{{- range (print "changes:\n" . | fromYaml).changes }}
|
|
||||||
{{- if eq .kind $changeType }}
|
|
||||||
{{- print "* " .description | nindent 0 }}
|
|
||||||
{{- $changesFound = true }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
{{- if not $changesFound }}
|
|
||||||
{{- print "N/A" | nindent 0 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- print "" | nindent 0 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
### Older versions
|
|
||||||
|
|
||||||
A historical overview of changes can be found on [ArtifactHUB](https://artifacthub.io/packages/helm/k8s-at-home/{{- template "chart.name" . }}?modal=changelog)
|
|
||||||
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{ template "chart.header" . }}
|
|
||||||
|
|
||||||
{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }}
|
|
||||||
|
|
||||||
{{ template "chart.description" . }}
|
|
||||||
|
|
||||||
{{ template "custom.notes" . }}
|
|
||||||
|
|
||||||
{{ template "chart.sourcesSection" . }}
|
|
||||||
|
|
||||||
{{ template "custom.requirements" . }}
|
|
||||||
|
|
||||||
{{ template "custom.dependencies" . }}
|
|
||||||
|
|
||||||
{{ template "custom.install.tldr" . }}
|
|
||||||
|
|
||||||
{{ template "custom.install" . }}
|
|
||||||
|
|
||||||
{{ template "custom.uninstall" . }}
|
|
||||||
|
|
||||||
{{ template "custom.configuration.header" . }}
|
|
||||||
|
|
||||||
{{ template "custom.configuration.readValues" . }}
|
|
||||||
|
|
||||||
{{ template "custom.configuration.example.set" . }}
|
|
||||||
|
|
||||||
{{ template "custom.configuration.example.file" . }}
|
|
||||||
|
|
||||||
{{ template "custom.custom.configuration" . }}
|
|
||||||
|
|
||||||
{{ template "custom.valuesSection" . }}
|
|
||||||
|
|
||||||
{{ template "custom.changelog" . }}
|
|
||||||
|
|
||||||
{{ template "custom.support" . }}
|
|
||||||
|
|
||||||
{{ template "helm-docs.versionFooter" . }}
|
|
||||||
{{ "" }}
|
|
||||||
@@ -5,5 +5,27 @@
|
|||||||
{{- define "custom.custom.configuration" -}}
|
{{- define "custom.custom.configuration" -}}
|
||||||
{{ template "custom.custom.configuration.header" . }}
|
{{ template "custom.custom.configuration.header" . }}
|
||||||
|
|
||||||
N/A
|
### Regarding the services
|
||||||
|
|
||||||
|
By default, it is not yet possible to combine TCP and UDP ports on a service with `type: LoadBalancer`. This can be solved in a number of ways:
|
||||||
|
|
||||||
|
1. Create a separate service containing the UDP ports. This could be done by disabling the UDP ports under `service.main.ports` and adding the following in your `values.yaml`:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
service:
|
||||||
|
udp:
|
||||||
|
enabled: true
|
||||||
|
type: LoadBalancer
|
||||||
|
# <your other service configuration>
|
||||||
|
ports:
|
||||||
|
voice:
|
||||||
|
enabled: true
|
||||||
|
port: 9987
|
||||||
|
protocol: UDP
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Since Kubernetes 1.20 there is a feature gate that can be enabled to allow TCP and UDP ports to coexist on Services with `type: Loadbalancer`.
|
||||||
|
You will need to enable the `MixedProtocolLBService` feature gate in order to achieve this.
|
||||||
|
|
||||||
|
For more information about feature gates, please see [the docs](https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/).
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|||||||
@@ -1 +1,79 @@
|
|||||||
|
{{/* Make sure all variables are set properly */}}
|
||||||
|
{{- include "common.values.setup" . }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
If there's an existing secret, reuse it, otherwise generate a new one.
|
||||||
|
*/}}
|
||||||
|
{{- define "teamspeak.serveradmin-password" -}}
|
||||||
|
{{- $secret := (lookup "v1" "Secret" .Release.Namespace (include "common.names.fullname" .) ) -}}
|
||||||
|
{{- if $secret -}}
|
||||||
|
{{- index $secret "data" "serveradmin_password" -}}
|
||||||
|
{{- else -}}
|
||||||
|
{{- randAlphaNum 32 | b64enc | quote -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/* Append the hardcoded settings */}}
|
||||||
|
{{- define "teamspeak.harcodedValues" -}}
|
||||||
|
{{- if not .Values.env.TS3SERVER_SERVERADMIN_PASSWORD }}
|
||||||
|
env:
|
||||||
|
TS3SERVER_SERVERADMIN_PASSWORD:
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: {{ include "common.names.fullname" . }}
|
||||||
|
key: serveradmin_password
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.metrics.enabled }}
|
||||||
|
additionalContainers:
|
||||||
|
exporter:
|
||||||
|
name: exporter
|
||||||
|
image: "{{ .Values.metrics.exporter.image.repository }}:{{ .Values.metrics.exporter.image.tag }}"
|
||||||
|
imagePullPolicy: {{ .Values.metrics.exporter.image.pullPolicy }}
|
||||||
|
args:
|
||||||
|
- -listen
|
||||||
|
- :{{ .Values.metrics.exporter.env.port }}
|
||||||
|
{{- if .Values.metrics.exporter.env.enableChannelMetrics }}
|
||||||
|
- -enablechannelmetrics
|
||||||
|
{{- end }}
|
||||||
|
env:
|
||||||
|
- name: SERVERQUERY_PASSWORD
|
||||||
|
{{- $value := .Values.env.TS3SERVER_SERVERADMIN_PASSWORD }}
|
||||||
|
{{- if $value }}
|
||||||
|
{{- if kindIs "map" $value -}}
|
||||||
|
{{- if hasKey $value "value" }}
|
||||||
|
{{- $value = $value.value -}}
|
||||||
|
{{- else if hasKey $value "valueFrom" }}
|
||||||
|
{{- toYaml $value | nindent 8 }}
|
||||||
|
{{- else }}
|
||||||
|
{{- dict "valueFrom" $value | toYaml | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- else }}
|
||||||
|
{{- if kindIs "string" $value }}
|
||||||
|
{{- $value = tpl $value $ }}
|
||||||
|
{{- end }}
|
||||||
|
value: {{ quote $value }}
|
||||||
|
{{- end }}
|
||||||
|
{{- else }}
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: {{ include "common.names.fullname" . }}
|
||||||
|
key: serveradmin_password
|
||||||
|
{{- end }}
|
||||||
|
ports:
|
||||||
|
- name: metrics
|
||||||
|
containerPort: {{ .Values.metrics.exporter.env.port }}
|
||||||
|
|
||||||
|
service:
|
||||||
|
metrics:
|
||||||
|
enabled: true
|
||||||
|
ports:
|
||||||
|
metrics:
|
||||||
|
enabled: true
|
||||||
|
protocol: TCP
|
||||||
|
port: {{ .Values.metrics.exporter.env.port }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end -}}
|
||||||
|
{{- $_ := mergeOverwrite .Values (include "teamspeak.harcodedValues" . | fromYaml) -}}
|
||||||
|
|
||||||
|
{{/* Render the templates */}}
|
||||||
{{ include "common.all" . }}
|
{{ include "common.all" . }}
|
||||||
|
|||||||
36
charts/incubator/teamspeak/templates/prometheusrules.yaml
Normal file
36
charts/incubator/teamspeak/templates/prometheusrules.yaml
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
{{- if and .Values.metrics.enabled .Values.metrics.prometheusRule.enabled }}
|
||||||
|
apiVersion: monitoring.coreos.com/v1
|
||||||
|
kind: PrometheusRule
|
||||||
|
metadata:
|
||||||
|
name: {{ include "common.names.fullname" . }}
|
||||||
|
labels:
|
||||||
|
{{- include "common.labels" . | nindent 4 }}
|
||||||
|
{{- with .Values.metrics.prometheusRule.labels }}
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
groups:
|
||||||
|
- name: {{ include "common.names.fullname" . }}
|
||||||
|
rules:
|
||||||
|
- alert: Ts3ExporterAbsent
|
||||||
|
annotations:
|
||||||
|
description: ts3exporter has disappeared from Prometheus service discovery.
|
||||||
|
summary: ts3exporter is down.
|
||||||
|
expr: |
|
||||||
|
absent(up{job=~".*{{ include "common.names.fullname" . }}.*"} == 1)
|
||||||
|
for: 5m
|
||||||
|
labels:
|
||||||
|
severity: critical
|
||||||
|
- alert: TeamSpeakDown
|
||||||
|
annotations:
|
||||||
|
description: TeamSpeak service is down.
|
||||||
|
summary: TeamSpeak is down.
|
||||||
|
expr: |
|
||||||
|
ts3_serverinfo_online{job=~".*{{ include "common.names.fullname" . }}.*"} == 0
|
||||||
|
for: 5m
|
||||||
|
labels:
|
||||||
|
severity: critical
|
||||||
|
{{- with .Values.metrics.prometheusRule.rules }}
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
11
charts/incubator/teamspeak/templates/secret.yaml
Normal file
11
charts/incubator/teamspeak/templates/secret.yaml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{{- if not .Values.env.TS3SERVER_SERVERADMIN_PASSWORD }}
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: {{ include "common.names.fullname" . }}
|
||||||
|
labels:
|
||||||
|
{{- include "common.labels" . | nindent 4 }}
|
||||||
|
type: Opaque
|
||||||
|
data:
|
||||||
|
serveradmin_password: {{ template "teamspeak.serveradmin-password" . }}
|
||||||
|
{{- end }}
|
||||||
24
charts/incubator/teamspeak/templates/servicemonitor.yaml
Normal file
24
charts/incubator/teamspeak/templates/servicemonitor.yaml
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
{{- if .Values.metrics.enabled }}
|
||||||
|
apiVersion: monitoring.coreos.com/v1
|
||||||
|
kind: ServiceMonitor
|
||||||
|
metadata:
|
||||||
|
name: {{ include "common.names.fullname" . }}
|
||||||
|
labels:
|
||||||
|
{{- include "common.labels" . | nindent 4 }}
|
||||||
|
{{- with .Values.metrics.serviceMonitor.labels }}
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
{{- include "common.labels.selectorLabels" . | nindent 6 }}
|
||||||
|
endpoints:
|
||||||
|
- port: metrics
|
||||||
|
{{- with .Values.metrics.serviceMonitor.interval }}
|
||||||
|
interval: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.metrics.serviceMonitor.scrapeTimeout }}
|
||||||
|
scrapeTimeout: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
path: /metrics
|
||||||
|
{{- end }}
|
||||||
@@ -16,7 +16,14 @@ image:
|
|||||||
# -- environment variables. See more environment variables in the [teamspeak image documentation](https://hub.docker.com/_/teamspeak).
|
# -- environment variables. See more environment variables in the [teamspeak image documentation](https://hub.docker.com/_/teamspeak).
|
||||||
# @default -- See below
|
# @default -- See below
|
||||||
env:
|
env:
|
||||||
|
TZ: UTC
|
||||||
# TS3SERVER_LICENSE: accept
|
# TS3SERVER_LICENSE: accept
|
||||||
|
# TS3SERVER_SERVERADMIN_PASSWORD:
|
||||||
|
# valueFrom:
|
||||||
|
# secretKeyRef:
|
||||||
|
# name: teamspeak
|
||||||
|
# key: serveradmin_password
|
||||||
|
|
||||||
|
|
||||||
# -- Configures service settings for the chart.
|
# -- Configures service settings for the chart.
|
||||||
# @default -- See values.yaml
|
# @default -- See values.yaml
|
||||||
@@ -26,20 +33,17 @@ service:
|
|||||||
http:
|
http:
|
||||||
enabled: false
|
enabled: false
|
||||||
primary: false
|
primary: false
|
||||||
voice:
|
|
||||||
enabled: true
|
|
||||||
primary: true
|
|
||||||
port: 9987
|
|
||||||
protocol: UDP
|
|
||||||
tcp:
|
|
||||||
enabled: true
|
|
||||||
ports:
|
|
||||||
serverquery:
|
serverquery:
|
||||||
enabled: true
|
enabled: true
|
||||||
port: 10011
|
port: 10011
|
||||||
filetransfer:
|
filetransfer:
|
||||||
enabled: true
|
enabled: true
|
||||||
port: 30033
|
port: 30033
|
||||||
|
voice:
|
||||||
|
enabled: true
|
||||||
|
primary: true
|
||||||
|
port: 9987
|
||||||
|
protocol: UDP
|
||||||
|
|
||||||
probes:
|
probes:
|
||||||
readiness:
|
readiness:
|
||||||
@@ -65,6 +69,45 @@ persistence:
|
|||||||
enabled: false
|
enabled: false
|
||||||
mountPath: /var/ts3server
|
mountPath: /var/ts3server
|
||||||
|
|
||||||
|
metrics:
|
||||||
|
# -- Enable and configure ts3exporter sidecar and Prometheus serviceMonitor.
|
||||||
|
# @default -- See values.yaml
|
||||||
|
enabled: false
|
||||||
|
serviceMonitor:
|
||||||
|
interval: 1m
|
||||||
|
scrapeTimeout: 30s
|
||||||
|
labels: {}
|
||||||
|
# -- Enable and configure Prometheus Rules for the chart under this key.
|
||||||
|
# @default -- See values.yaml
|
||||||
|
prometheusRule:
|
||||||
|
enabled: false
|
||||||
|
labels: {}
|
||||||
|
# -- Configure additionial rules for the chart under this key.
|
||||||
|
# @default -- See prometheusrules.yaml
|
||||||
|
rules: []
|
||||||
|
# - alert: TeamSpeakDown
|
||||||
|
# annotations:
|
||||||
|
# description: Teamspeak service is down.
|
||||||
|
# summary: Teamspeak is down.
|
||||||
|
# expr: |
|
||||||
|
# ts3_serverinfo_online == 0
|
||||||
|
# for: 5m
|
||||||
|
# labels:
|
||||||
|
# severity: critical
|
||||||
|
exporter:
|
||||||
|
image:
|
||||||
|
# -- image repository
|
||||||
|
repository: quay.io/ricardbejarano/ts3exporter
|
||||||
|
# -- image tag
|
||||||
|
tag: 0.0.7
|
||||||
|
# -- image pull policy
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
env:
|
||||||
|
# -- metrics port
|
||||||
|
port: 9189
|
||||||
|
# -- Set to true to enable gathering of channel metrics
|
||||||
|
enableChannelMetrics: false
|
||||||
|
|
||||||
# -- The TeamSpeak server binary is only available for x86_64.
|
# -- The TeamSpeak server binary is only available for x86_64.
|
||||||
nodeSelector:
|
nodeSelector:
|
||||||
kubernetes.io/arch: amd64
|
kubernetes.io/arch: amd64
|
||||||
|
|||||||
26
charts/incubator/torrserver/.helmignore
Normal file
26
charts/incubator/torrserver/.helmignore
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
# Patterns to ignore when building packages.
|
||||||
|
# This supports shell glob matching, relative path matching, and
|
||||||
|
# negation (prefixed with !). Only one pattern per line.
|
||||||
|
.DS_Store
|
||||||
|
# Common VCS dirs
|
||||||
|
.git/
|
||||||
|
.gitignore
|
||||||
|
.bzr/
|
||||||
|
.bzrignore
|
||||||
|
.hg/
|
||||||
|
.hgignore
|
||||||
|
.svn/
|
||||||
|
# Common backup files
|
||||||
|
*.swp
|
||||||
|
*.bak
|
||||||
|
*.tmp
|
||||||
|
*~
|
||||||
|
# Various IDEs
|
||||||
|
.project
|
||||||
|
.idea/
|
||||||
|
*.tmproj
|
||||||
|
.vscode/
|
||||||
|
# OWNERS file for Kubernetes
|
||||||
|
OWNERS
|
||||||
|
# helm-docs templates
|
||||||
|
*.gotmpl
|
||||||
24
charts/incubator/torrserver/Chart.yaml
Normal file
24
charts/incubator/torrserver/Chart.yaml
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
apiVersion: v2
|
||||||
|
appVersion: 1.0.111
|
||||||
|
description: TorrServer streams torrent to http
|
||||||
|
name: torrserver
|
||||||
|
version: 1.0.0
|
||||||
|
kubeVersion: ">=1.16.0-0"
|
||||||
|
keywords:
|
||||||
|
- torrserver
|
||||||
|
home: https://github.com/k8s-at-home/charts/tree/master/charts/stable/torrserver
|
||||||
|
icon: https://github.com/YouROK/TorrServer/raw/6868979f1fee009204ffe272f89905fcaa03fb72/server/web/pages/template/pages/apple-touch-icon.png
|
||||||
|
sources:
|
||||||
|
- https://github.com/MGlants/docker-torrserver
|
||||||
|
- https://github.com/YouROK/TorrServer
|
||||||
|
maintainers:
|
||||||
|
- name: MGlants
|
||||||
|
email: mark@glants.xyz
|
||||||
|
dependencies:
|
||||||
|
- name: common
|
||||||
|
repository: https://library-charts.k8s-at-home.com
|
||||||
|
version: 4.3.0
|
||||||
|
annotations:
|
||||||
|
artifacthub.io/changes: |
|
||||||
|
- kind: added
|
||||||
|
description: Initial version
|
||||||
119
charts/incubator/torrserver/README.md
Normal file
119
charts/incubator/torrserver/README.md
Normal file
@@ -0,0 +1,119 @@
|
|||||||
|
# torrserver
|
||||||
|
|
||||||
|
 
|
||||||
|
|
||||||
|
TorrServer streams torrent to http
|
||||||
|
|
||||||
|
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
|
||||||
|
|
||||||
|
## Source Code
|
||||||
|
|
||||||
|
* <https://github.com/MGlants/docker-torrserver>
|
||||||
|
* <https://github.com/YouROK/TorrServer>
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
|
Kubernetes: `>=1.16.0-0`
|
||||||
|
|
||||||
|
## Dependencies
|
||||||
|
|
||||||
|
| Repository | Name | Version |
|
||||||
|
|------------|------|---------|
|
||||||
|
| https://library-charts.k8s-at-home.com | common | 4.3.0 |
|
||||||
|
|
||||||
|
## TL;DR
|
||||||
|
|
||||||
|
```console
|
||||||
|
helm repo add k8s-at-home https://k8s-at-home.com/charts/
|
||||||
|
helm repo update
|
||||||
|
helm install torrserver k8s-at-home/torrserver
|
||||||
|
```
|
||||||
|
|
||||||
|
## Installing the Chart
|
||||||
|
|
||||||
|
To install the chart with the release name `torrserver`
|
||||||
|
|
||||||
|
```console
|
||||||
|
helm install torrserver k8s-at-home/torrserver
|
||||||
|
```
|
||||||
|
|
||||||
|
## Uninstalling the Chart
|
||||||
|
|
||||||
|
To uninstall the `torrserver` deployment
|
||||||
|
|
||||||
|
```console
|
||||||
|
helm uninstall torrserver
|
||||||
|
```
|
||||||
|
|
||||||
|
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
|
||||||
|
Other values may be used from the [values.yaml](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common).
|
||||||
|
|
||||||
|
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
|
||||||
|
|
||||||
|
```console
|
||||||
|
helm install torrserver \
|
||||||
|
--set env.TZ="America/New York" \
|
||||||
|
k8s-at-home/torrserver
|
||||||
|
```
|
||||||
|
|
||||||
|
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
|
||||||
|
|
||||||
|
```console
|
||||||
|
helm install torrserver k8s-at-home/torrserver -f values.yaml
|
||||||
|
```
|
||||||
|
|
||||||
|
## Custom configuration
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
## Values
|
||||||
|
|
||||||
|
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common)
|
||||||
|
|
||||||
|
| Key | Type | Default | Description |
|
||||||
|
|-----|------|---------|-------------|
|
||||||
|
| env | object | See below | environment variables. See more environment variables in the [torrserver documentation](https://torrserver.org/docs). |
|
||||||
|
| env.TS_CONF_PATH | string | `"/data"` | Set data dir |
|
||||||
|
| env.TS_TORR_DIRL | string | `"/data/torrents"` | Set torrent-tiles dir |
|
||||||
|
| env.TZ | string | `"UTC"` | Set the container timezone |
|
||||||
|
| hostNetwork | bool | `false` | Set this to `true` to allow using DLNA |
|
||||||
|
| image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
|
||||||
|
| image.repository | string | `"smailkoz/torrserver"` | image repository |
|
||||||
|
| image.tag | string | chart.appVersion | image tag |
|
||||||
|
| ingress.main | object | See values.yaml | Enable and configure ingress settings for the chart under this key. |
|
||||||
|
| persistence | object | See values.yaml | Configure persistence settings for the chart under this key. |
|
||||||
|
| service | object | See values.yaml | Configures service settings for the chart. |
|
||||||
|
|
||||||
|
## Changelog
|
||||||
|
|
||||||
|
### Version 1.0.0
|
||||||
|
|
||||||
|
#### Added
|
||||||
|
|
||||||
|
* Initial version
|
||||||
|
|
||||||
|
#### Changed
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
### Older versions
|
||||||
|
|
||||||
|
A historical overview of changes can be found on [ArtifactHUB](https://artifacthub.io/packages/helm/k8s-at-home/torrserver?modal=changelog)
|
||||||
|
|
||||||
|
## Support
|
||||||
|
|
||||||
|
- See the [Docs](https://docs.k8s-at-home.com/our-helm-charts/getting-started/)
|
||||||
|
- Open an [issue](https://github.com/k8s-at-home/charts/issues/new/choose)
|
||||||
|
- Ask a [question](https://github.com/k8s-at-home/organization/discussions)
|
||||||
|
- Join our [Discord](https://discord.gg/sTMX7Vh) community
|
||||||
|
|
||||||
|
----------------------------------------------
|
||||||
|
Autogenerated from chart metadata using [helm-docs v0.1.1](https://github.com/k8s-at-home/helm-docs/releases/v0.1.1)
|
||||||
9
charts/incubator/torrserver/README_CONFIG.md.gotmpl
Normal file
9
charts/incubator/torrserver/README_CONFIG.md.gotmpl
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{{- define "custom.custom.configuration.header" -}}
|
||||||
|
## Custom configuration
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- define "custom.custom.configuration" -}}
|
||||||
|
{{ template "custom.custom.configuration.header" . }}
|
||||||
|
|
||||||
|
N/A
|
||||||
|
{{- end -}}
|
||||||
1
charts/incubator/torrserver/templates/NOTES.txt
Normal file
1
charts/incubator/torrserver/templates/NOTES.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{{- include "common.notes.defaultNotes" . -}}
|
||||||
1
charts/incubator/torrserver/templates/common.yaml
Normal file
1
charts/incubator/torrserver/templates/common.yaml
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{{ include "common.all" . }}
|
||||||
48
charts/incubator/torrserver/values.yaml
Normal file
48
charts/incubator/torrserver/values.yaml
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
#
|
||||||
|
# IMPORTANT NOTE
|
||||||
|
#
|
||||||
|
# This chart inherits from our common library chart. You can check the default values/options here:
|
||||||
|
# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml
|
||||||
|
#
|
||||||
|
|
||||||
|
image:
|
||||||
|
# -- image repository
|
||||||
|
repository: smailkoz/torrserver
|
||||||
|
# -- image tag
|
||||||
|
# @default -- chart.appVersion
|
||||||
|
tag:
|
||||||
|
# -- image pull policy
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
|
||||||
|
# -- environment variables. See more environment variables in the [torrserver documentation](https://torrserver.org/docs).
|
||||||
|
# @default -- See below
|
||||||
|
env:
|
||||||
|
# -- Set the container timezone
|
||||||
|
TZ: UTC
|
||||||
|
# -- Set data dir
|
||||||
|
TS_CONF_PATH: /data
|
||||||
|
# -- Set torrent-tiles dir
|
||||||
|
TS_TORR_DIRL: /data/torrents
|
||||||
|
|
||||||
|
# -- Set this to `true` to allow using DLNA
|
||||||
|
hostNetwork: false
|
||||||
|
# -- Configures service settings for the chart.
|
||||||
|
# @default -- See values.yaml
|
||||||
|
service:
|
||||||
|
main:
|
||||||
|
ports:
|
||||||
|
http:
|
||||||
|
port: 8090
|
||||||
|
|
||||||
|
ingress:
|
||||||
|
# -- Enable and configure ingress settings for the chart under this key.
|
||||||
|
# @default -- See values.yaml
|
||||||
|
main:
|
||||||
|
enabled: false
|
||||||
|
|
||||||
|
# -- Configure persistence settings for the chart under this key.
|
||||||
|
# @default -- See values.yaml
|
||||||
|
persistence:
|
||||||
|
data:
|
||||||
|
enabled: false
|
||||||
|
mountPath: /data
|
||||||
26
charts/incubator/warrior/.helmignore
Normal file
26
charts/incubator/warrior/.helmignore
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
# Patterns to ignore when building packages.
|
||||||
|
# This supports shell glob matching, relative path matching, and
|
||||||
|
# negation (prefixed with !). Only one pattern per line.
|
||||||
|
.DS_Store
|
||||||
|
# Common VCS dirs
|
||||||
|
.git/
|
||||||
|
.gitignore
|
||||||
|
.bzr/
|
||||||
|
.bzrignore
|
||||||
|
.hg/
|
||||||
|
.hgignore
|
||||||
|
.svn/
|
||||||
|
# Common backup files
|
||||||
|
*.swp
|
||||||
|
*.bak
|
||||||
|
*.tmp
|
||||||
|
*~
|
||||||
|
# Various IDEs
|
||||||
|
.project
|
||||||
|
.idea/
|
||||||
|
*.tmproj
|
||||||
|
.vscode/
|
||||||
|
# OWNERS file for Kubernetes
|
||||||
|
OWNERS
|
||||||
|
# helm-docs templates
|
||||||
|
*.gotmpl
|
||||||
25
charts/incubator/warrior/Chart.yaml
Normal file
25
charts/incubator/warrior/Chart.yaml
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
apiVersion: v2
|
||||||
|
appVersion: latest
|
||||||
|
description: The Archive Team Warrior is a virtual archiving appliance. You can run it to help with the Archive Team archiving efforts. It will download sites and upload them to our archive—and it’s really easy to do!
|
||||||
|
name: warrior
|
||||||
|
version: 1.0.0
|
||||||
|
kubeVersion: ">=1.16.0-0"
|
||||||
|
keywords:
|
||||||
|
- warrior
|
||||||
|
- archiveteam
|
||||||
|
home: https://github.com/k8s-at-home/charts/tree/master/charts/incubator/warrior
|
||||||
|
icon: https://camo.githubusercontent.com/782d076bd3542f1e91abe60274e7fac9f63f586f8f6a27a13e16425fb8fd4608/68747470733a2f2f7777772e617263686976657465616d2e6f72672f696d616765732f662f66332f417263686976655f7465616d2e706e67
|
||||||
|
sources:
|
||||||
|
- https://wiki.archiveteam.org/index.php/ArchiveTeam_Warrior
|
||||||
|
- https://github.com/ArchiveTeam/warrior-dockerfile
|
||||||
|
maintainers:
|
||||||
|
- name: stimmerman
|
||||||
|
email: sander@red9.nl
|
||||||
|
dependencies:
|
||||||
|
- name: common
|
||||||
|
repository: https://library-charts.k8s-at-home.com
|
||||||
|
version: 4.3.0
|
||||||
|
annotations:
|
||||||
|
artifacthub.io/changes: |
|
||||||
|
- kind: added
|
||||||
|
description: Initial chart version.
|
||||||
114
charts/incubator/warrior/README.md
Normal file
114
charts/incubator/warrior/README.md
Normal file
@@ -0,0 +1,114 @@
|
|||||||
|
# warrior
|
||||||
|
|
||||||
|
 
|
||||||
|
|
||||||
|
The Archive Team Warrior is a virtual archiving appliance. You can run it to help with the Archive Team archiving efforts. It will download sites and upload them to our archive—and it’s really easy to do!
|
||||||
|
|
||||||
|
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
|
||||||
|
|
||||||
|
## Source Code
|
||||||
|
|
||||||
|
* <https://wiki.archiveteam.org/index.php/ArchiveTeam_Warrior>
|
||||||
|
* <https://github.com/ArchiveTeam/warrior-dockerfile>
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
|
Kubernetes: `>=1.16.0-0`
|
||||||
|
|
||||||
|
## Dependencies
|
||||||
|
|
||||||
|
| Repository | Name | Version |
|
||||||
|
|------------|------|---------|
|
||||||
|
| https://library-charts.k8s-at-home.com | common | 4.3.0 |
|
||||||
|
|
||||||
|
## TL;DR
|
||||||
|
|
||||||
|
```console
|
||||||
|
helm repo add k8s-at-home https://k8s-at-home.com/charts/
|
||||||
|
helm repo update
|
||||||
|
helm install warrior k8s-at-home/warrior
|
||||||
|
```
|
||||||
|
|
||||||
|
## Installing the Chart
|
||||||
|
|
||||||
|
To install the chart with the release name `warrior`
|
||||||
|
|
||||||
|
```console
|
||||||
|
helm install warrior k8s-at-home/warrior
|
||||||
|
```
|
||||||
|
|
||||||
|
## Uninstalling the Chart
|
||||||
|
|
||||||
|
To uninstall the `warrior` deployment
|
||||||
|
|
||||||
|
```console
|
||||||
|
helm uninstall warrior
|
||||||
|
```
|
||||||
|
|
||||||
|
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
|
||||||
|
Other values may be used from the [values.yaml](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common).
|
||||||
|
|
||||||
|
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
|
||||||
|
|
||||||
|
```console
|
||||||
|
helm install warrior \
|
||||||
|
--set env.TZ="America/New York" \
|
||||||
|
k8s-at-home/warrior
|
||||||
|
```
|
||||||
|
|
||||||
|
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
|
||||||
|
|
||||||
|
```console
|
||||||
|
helm install warrior k8s-at-home/warrior -f values.yaml
|
||||||
|
```
|
||||||
|
|
||||||
|
## Custom configuration
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
## Values
|
||||||
|
|
||||||
|
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common)
|
||||||
|
|
||||||
|
| Key | Type | Default | Description |
|
||||||
|
|-----|------|---------|-------------|
|
||||||
|
| image.pullPolicy | string | `"Always"` | image pull policy |
|
||||||
|
| image.repository | string | `"atdr.meo.ws/archiveteam/warrior-dockerfile"` | image repository |
|
||||||
|
| image.tag | string | chart.appVersion | image tag |
|
||||||
|
| ingress.main | object | See values.yaml | Enable and configure ingress settings for the chart under this key. |
|
||||||
|
| persistence | object | See values.yaml | Configure persistence settings for the chart under this key. |
|
||||||
|
| service | object | See values.yaml | Configures service settings for the chart. |
|
||||||
|
|
||||||
|
## Changelog
|
||||||
|
|
||||||
|
### Version 1.0.0
|
||||||
|
|
||||||
|
#### Added
|
||||||
|
|
||||||
|
* Initial chart version.
|
||||||
|
|
||||||
|
#### Changed
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
### Older versions
|
||||||
|
|
||||||
|
A historical overview of changes can be found on [ArtifactHUB](https://artifacthub.io/packages/helm/k8s-at-home/warrior?modal=changelog)
|
||||||
|
|
||||||
|
## Support
|
||||||
|
|
||||||
|
- See the [Docs](https://docs.k8s-at-home.com/our-helm-charts/getting-started/)
|
||||||
|
- Open an [issue](https://github.com/k8s-at-home/charts/issues/new/choose)
|
||||||
|
- Ask a [question](https://github.com/k8s-at-home/organization/discussions)
|
||||||
|
- Join our [Discord](https://discord.gg/sTMX7Vh) community
|
||||||
|
|
||||||
|
----------------------------------------------
|
||||||
|
Autogenerated from chart metadata using [helm-docs v0.1.1](https://github.com/k8s-at-home/helm-docs/releases/v0.1.1)
|
||||||
9
charts/incubator/warrior/README_CONFIG.md.gotmpl
Normal file
9
charts/incubator/warrior/README_CONFIG.md.gotmpl
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{{- define "custom.custom.configuration.header" -}}
|
||||||
|
## Custom configuration
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- define "custom.custom.configuration" -}}
|
||||||
|
{{ template "custom.custom.configuration.header" . }}
|
||||||
|
|
||||||
|
N/A
|
||||||
|
{{- end -}}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user