Compare commits

...

36 Commits

Author SHA1 Message Date
TrueCharts Bot
cb5a369c96 chore(deps): update helm general non-major (#3898) 2022-09-25 15:38:09 +02:00
Stavros Kois
4f7e0a8cc0 feat(watchyourlan): add watchyourlan (#3889)
* feat(watchyourlan): add watchyourlan

* probes

* lint

* gui ip

* Delete CHANGELOG.md

* Update charts/incubator/watchyourlan/README.md

Signed-off-by: Stavros Kois <47820033+stavros-k@users.noreply.github.com>

Signed-off-by: Stavros Kois <47820033+stavros-k@users.noreply.github.com>
2022-09-25 15:36:39 +02:00
Stavros Kois
86a66e1415 feat(dashy): add dashy (#3887)
* feat(dashy): add dashy

* fix configmap

* allow file mount from hostpath aswell

* add test paths

* use subpath

* clean md files

* linit

* rofs

* update protocol

* root

* update persistence
2022-09-25 15:36:02 +02:00
Stavros Kois
1cd2af561c fix(portainer): rbac - full access (#3896)
* fix(portainer): rbac - full access

* lint
2022-09-25 15:34:21 +02:00
truecharts-bot
844b10d2ee chore: Auto-update chart README [skip ci] 2022-09-25 13:12:09 +00:00
TrueCharts Bot
8cf72b1494 chore(deps): update helm chart common to v10.6.1 (#3893) 2022-09-25 15:03:01 +02:00
TrueCharts Bot
57aae7bb2e chore(deps): update helm chart common to v10.6.1 (#3894) 2022-09-25 15:02:52 +02:00
I-nebukad-I
37f300bc41 fix(linkace): Fixed wrong value for local backups (#3891)
* fix(linkace): Fixed wrong value for local backups

* update values.yaml

Co-authored-by: Stavros Kois <47820033+stavros-k@users.noreply.github.com>
2022-09-25 15:02:32 +02:00
truecharts-bot
f349ebde31 chore: Auto-update chart README [skip ci] 2022-09-25 12:52:00 +00:00
Stavros Kois
59a317efe4 feat(openaudible): add openaudible (#3890)
* feat(openaudible): add openaudible

* Update charts/incubator/openaudible/values.yaml

Signed-off-by: Stavros Kois <47820033+stavros-k@users.noreply.github.com>

Signed-off-by: Stavros Kois <47820033+stavros-k@users.noreply.github.com>
2022-09-25 15:48:08 +03:00
allcontributors[bot]
9ab36fd2e2 docs: add I-nebukad-I as a contributor for code (#3892)
* docs: update .github/README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2022-09-25 15:46:19 +03:00
truecharts-bot
44927183ef chore: Auto-update chart README [skip ci] 2022-09-25 12:40:43 +00:00
Kjeld Schouten-Lebbing
8fc5bb48cc fix(blocky): update redis 2022-09-25 14:36:45 +02:00
truecharts-bot
29228ad01d chore: Auto-update chart README [skip ci] 2022-09-25 11:49:20 +00:00
Stavros Kois
2d783667a2 chore(portainer): bump common to test (#3888) 2022-09-25 14:45:48 +03:00
truecharts-bot
1d04e60e50 chore: Auto-update chart README [skip ci] 2022-09-25 11:09:38 +00:00
Kjeld Schouten-Lebbing
3a5a159813 fix(blocky): use new common SA handler
Signed-off-by: Kjeld Schouten-Lebbing <kjeld@schouten-lebbing.nl>
2022-09-25 13:05:55 +02:00
truecharts-bot
f32437c367 chore: Auto-update chart README [skip ci] 2022-09-25 10:49:38 +00:00
Stavros Kois
58cea5a026 fix(blocky): disable probes until next release (#3886) 2022-09-25 12:45:49 +02:00
truecharts-bot
50306a5c5c chore: Auto-update chart README [skip ci] 2022-09-25 09:21:10 +00:00
Stavros Kois
8e9210fa6d fix(recipes): fix nginx conf (#3878)
* fix(recipes): fix nginx conf

* bump
2022-09-25 11:16:07 +02:00
Stavros Kois
ccf932740b feat(treafik): add RealIP and addPrefix middleware (#3884)
* fix typo

* feat(treafik): add RealIP middleware

* move middlewares to includes

* bump minor

* remove pilot reference

* lint

* lint

* fix typo in workflow

* add script to update traefikMiddlewares

* add empty space

* realIP empty array

* add addprefix middleware
2022-09-25 11:14:39 +02:00
truecharts-bot
46737b4916 chore: Auto-update chart README [skip ci] 2022-09-25 09:00:53 +00:00
Stavros Kois
12e426e779 fix(blocky): set defaults to some durations (#3885) 2022-09-25 10:56:59 +02:00
truecharts-bot
36c5a714e1 chore: Auto-update chart README [skip ci] 2022-09-25 06:00:10 +00:00
TrueCharts Bot
63021f6f27 chore(deps): update docker general non-major (#3881)
* chore(deps): update docker general non-major

* Commit bumped Chart Version

Signed-off-by: TrueCharts-Bot <bot@truecharts.org>

Signed-off-by: TrueCharts-Bot <bot@truecharts.org>
2022-09-25 08:51:31 +03:00
TrueCharts Bot
550b52bd77 chore(deps): update renovatebot/github-action action to v32.202.4 (#3882) 2022-09-25 08:48:45 +03:00
truecharts-bot
c749cd1acd chore: Auto-update chart README [skip ci] 2022-09-24 23:43:25 +00:00
Stavros Kois
caa7b7b5ef chore(traefik): regex redirect docs (#3880)
* chore(traefik): regex redirect docs

* bump

* Update charts/stable/traefik/docs/redirect-regex-middleware.md

Signed-off-by: Stavros Kois <47820033+stavros-k@users.noreply.github.com>

Signed-off-by: Stavros Kois <47820033+stavros-k@users.noreply.github.com>
2022-09-25 02:36:14 +03:00
Stavros Kois
c49b5565dc chore(timetagger): add missing icon (#3879) 2022-09-25 02:35:47 +03:00
Kjeld Schouten-Lebbing
433b148de2 chore(enterprise): remove most enterprise apps for now 2022-09-24 23:55:59 +02:00
truecharts-bot
376de6207d chore: Auto-update chart README [skip ci] 2022-09-24 21:37:11 +00:00
Kjeld Schouten-Lebbing
a93151fb33 chore(enterprise): bump major on new enterprise app to seperate helm updates 2022-09-24 23:32:55 +02:00
truecharts-bot
d0ce65055d chore: Auto-update chart README [skip ci] 2022-09-24 20:43:14 +00:00
Kjeld Schouten-Lebbing
373cc5168f chore(blocky): move blocky to enterprise (#3875) 2022-09-24 20:39:59 +00:00
truecharts-bot
5df55598b1 chore: Auto-update chart README [skip ci] 2022-09-24 19:15:06 +00:00
997 changed files with 3812 additions and 16731 deletions

View File

@@ -805,7 +805,8 @@
"avatar_url": "https://avatars.githubusercontent.com/u/16634069?v=4",
"profile": "https://github.com/I-nebukad-I",
"contributions": [
"bug"
"bug",
"code"
]
},
{

2
.github/README.md vendored
View File

@@ -242,7 +242,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
<td align="center"><a href="https://github.com/tfrancis"><img src="https://avatars.githubusercontent.com/u/29070?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Tyler Stransky</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3Atfrancis" title="Bug reports">🐛</a></td>
<td align="center"><a href="https://github.com/juggie"><img src="https://avatars.githubusercontent.com/u/2034757?v=4?s=100" width="100px;" alt=""/><br /><sub><b>juggie</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3Ajuggie" title="Bug reports">🐛</a></td>
<td align="center"><a href="https://github.com/btilford"><img src="https://avatars.githubusercontent.com/u/248725?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Ben Tilford</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3Abtilford" title="Bug reports">🐛</a> <a href="https://github.com/truecharts/charts/commits?author=btilford" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/I-nebukad-I"><img src="https://avatars.githubusercontent.com/u/16634069?v=4?s=100" width="100px;" alt=""/><br /><sub><b>I-nebukad-I</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3AI-nebukad-I" title="Bug reports">🐛</a></td>
<td align="center"><a href="https://github.com/I-nebukad-I"><img src="https://avatars.githubusercontent.com/u/16634069?v=4?s=100" width="100px;" alt=""/><br /><sub><b>I-nebukad-I</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3AI-nebukad-I" title="Bug reports">🐛</a> <a href="https://github.com/truecharts/charts/commits?author=I-nebukad-I" title="Code">💻</a></td>
</tr>
<tr>
<td align="center"><a href="https://github.com/packruler"><img src="https://avatars.githubusercontent.com/u/770373?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Ethan Leisinger</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=packruler" title="Code">💻</a> <a href="https://github.com/truecharts/charts/commits?author=packruler" title="Documentation">📖</a></td>

View File

@@ -296,6 +296,61 @@ include_questions(){
/# Include{proxyProtocol}/ { for (i=0;i<n;++i) print a[i]; next }
1' templates/questions/traefik/proxyProtocol.yaml ${target}/questions.yaml > "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml
# Replace # Include{basicAuth} with the standard basicAuth codesnippet
awk 'NR==FNR { a[n++]=$0; next }
/# Include{basicAuth}/ { for (i=0;i<n;++i) print a[i]; next }
1' templates/questions/traefik/middlewares/basicAuth.yaml ${target}/questions.yaml > "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml
# Replace # Include{forwardAuth} with the standard forwardAuth codesnippet
awk 'NR==FNR { a[n++]=$0; next }
/# Include{forwardAuth}/ { for (i=0;i<n;++i) print a[i]; next }
1' templates/questions/traefik/middlewares/forwardAuth.yaml ${target}/questions.yaml > "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml
# Replace # Include{chain} with the standard chain codesnippet
awk 'NR==FNR { a[n++]=$0; next }
/# Include{chain}/ { for (i=0;i<n;++i) print a[i]; next }
1' templates/questions/traefik/middlewares/chain.yaml ${target}/questions.yaml > "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml
# Replace # Include{redirectScheme} with the standard redirectScheme codesnippet
awk 'NR==FNR { a[n++]=$0; next }
/# Include{redirectScheme}/ { for (i=0;i<n;++i) print a[i]; next }
1' templates/questions/traefik/middlewares/redirectScheme.yaml ${target}/questions.yaml > "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml
# Replace # Include{rateLimit} with the standard rateLimit codesnippet
awk 'NR==FNR { a[n++]=$0; next }
/# Include{rateLimit}/ { for (i=0;i<n;++i) print a[i]; next }
1' templates/questions/traefik/middlewares/rateLimit.yaml ${target}/questions.yaml > "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml
# Replace # Include{redirectRegex} with the standard redirectRegex codesnippet
awk 'NR==FNR { a[n++]=$0; next }
/# Include{redirectRegex}/ { for (i=0;i<n;++i) print a[i]; next }
1' templates/questions/traefik/middlewares/redirectRegex.yaml ${target}/questions.yaml > "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml
# Replace # Include{stripPrefixRegex} with the standard stripPrefixRegex codesnippet
awk 'NR==FNR { a[n++]=$0; next }
/# Include{stripPrefixRegex}/ { for (i=0;i<n;++i) print a[i]; next }
1' templates/questions/traefik/middlewares/stripPrefixRegex.yaml ${target}/questions.yaml > "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml
# Replace # Include{ipWhitelist} with the standard ipWhitelist codesnippet
awk 'NR==FNR { a[n++]=$0; next }
/# Include{ipWhitelist}/ { for (i=0;i<n;++i) print a[i]; next }
1' templates/questions/traefik/middlewares/ipWhitelist.yaml ${target}/questions.yaml > "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml
# Replace # Include{themePark} with the standard themePark codesnippet
awk 'NR==FNR { a[n++]=$0; next }
/# Include{themePark}/ { for (i=0;i<n;++i) print a[i]; next }
1' templates/questions/traefik/middlewares/themePark.yaml ${target}/questions.yaml > "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml
# Replace # Include{realIP} with the standard realIP codesnippet
awk 'NR==FNR { a[n++]=$0; next }
/# Include{realIP}/ { for (i=0;i<n;++i) print a[i]; next }
1' templates/questions/traefik/middlewares/realIP.yaml ${target}/questions.yaml > "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml
# Replace # Include{addPrefix} with the standard addPrefix codesnippet
awk 'NR==FNR { a[n++]=$0; next }
/# Include{addPrefix}/ { for (i=0;i<n;++i) print a[i]; next }
1' templates/questions/traefik/middlewares/addPrefix.yaml ${target}/questions.yaml > "tmp${chartname}" && mv "tmp${chartname}" ${target}/questions.yaml
}
export -f include_questions

View File

@@ -0,0 +1,49 @@
#! /bin/bash
trainsPath="./charts"
traefikTrain="stable"
get_latest_release() {
# Get latest release from GitHub api
curl --silent \
--header 'authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' \
--url "https://api.github.com/repos/$1/releases/latest" |
# Get tag line
grep '"tag_name":' |
# Pluck JSON value
sed -E 's/.*"([^"]+)".*/\1/'
}
set_key_to_version() {
key="$1"
version="$2"
traefikValuesFile="$trainsPath/$traefikTrain/traefik/values.yaml"
echo "Setting $key to $version..."
sed -i "s/${key}: .*/${key}: ${version}/" $traefikValuesFile
content=$(grep "$key:" "$traefikValuesFile" | sed "s/\s*${key}:\s*//" )
echo "New content of $key in values.yaml: $content"
echo ""
}
update_plugin() {
repo="$1"
key="$2"
pluginName="$3"
version=$(get_latest_release "$repo")
if [ -z "$version" ]
then
echo "Got empty version, skipping..."
else
echo "Fetched $pluginName plugin version: $version"
set_key_to_version "$key" "$version"
fi;
}
# Example
# update_plugin "repo" "key_holding_version_in_values.yaml" "plugin_name_used_for_verbose_printing_only"
# Real IP
update_plugin "soulbalz/traefik-real-ip" "realIPVersion" "RealIP"
# Theme Park
update_plugin "packruler/traefik-themepark" "themeParkVersion" "ThemePark"

View File

@@ -45,7 +45,7 @@ jobs:
echo "changed apps: ${APPS[*]}"
for chart in ${APPS[*]}
do
if [[ "${chart}" == '.gitkee' ]]; then
if [[ "${chart}" == '.gitkeep' ]]; then
echo "Skipping..."
return
elif test -f "./charts/stable/${chart}/Chart.yaml"; then

View File

@@ -12,7 +12,7 @@ jobs:
with:
token: ${{ secrets.BOT_TOKEN }}
- name: Self-hosted Renovate
uses: renovatebot/github-action@88446f41092c9f7478c3d63199749db7a3b7e6e9 # tag=v32.202.3
uses: renovatebot/github-action@d46f9c6679e39ca1274a71d3ea8d444e11af11c4 # tag=v32.202.4
with:
configurationFile: .github/renovate-config.js
token: ${{ secrets.BOT_TOKEN }}

View File

@@ -2,19 +2,39 @@
## [clickhouse-1.0.28](https://github.com/truecharts/charts/compare/clickhouse-1.0.26...clickhouse-1.0.28) (2022-09-23)
## [memcached-3.0.83](https://github.com/truecharts/charts/compare/memcached-3.0.82...memcached-3.0.83) (2022-09-25)
### Chore
- Auto-update chart README [skip ci]
- update helm chart common to v10.6.1 ([#3893](https://github.com/truecharts/charts/issues/3893))
## [memcached-3.0.82](https://github.com/truecharts/charts/compare/memcached-3.0.81...memcached-3.0.82) (2022-09-25)
### Chore
- Auto-update chart README [skip ci]
- update docker general non-major ([#3881](https://github.com/truecharts/charts/issues/3881))
## [memcached-3.0.81](https://github.com/truecharts/charts/compare/memcached-3.0.79...memcached-3.0.81) (2022-09-24)
### Chore
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- update docker general non-major ([#3850](https://github.com/truecharts/charts/issues/3850))
- update helm chart common to v10.6.0
- update helm chart common to v10.5.12
## [clickhouse-1.0.27](https://github.com/truecharts/charts/compare/clickhouse-1.0.26...clickhouse-1.0.27) (2022-09-22)
## [memcached-3.0.80](https://github.com/truecharts/charts/compare/memcached-3.0.79...memcached-3.0.80) (2022-09-22)
### Chore
@@ -24,7 +44,7 @@
## [clickhouse-1.0.26](https://github.com/truecharts/charts/compare/clickhouse-1.0.25...clickhouse-1.0.26) (2022-09-22)
## [memcached-3.0.79](https://github.com/truecharts/charts/compare/memcached-3.0.76...memcached-3.0.79) (2022-09-22)
### Chore
@@ -41,13 +61,15 @@
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- refactor Services SCALE GUI
- update docker general non-major ([#3772](https://github.com/truecharts/charts/issues/3772))
- update docker general non-major ([#3790](https://github.com/truecharts/charts/issues/3790))
- update docker general non-major ([#3839](https://github.com/truecharts/charts/issues/3839))
- update docker general non-major ([#3787](https://github.com/truecharts/charts/issues/3787))
- split serviceSelector ([#3751](https://github.com/truecharts/charts/issues/3751))
## [clickhouse-1.0.26](https://github.com/truecharts/charts/compare/clickhouse-1.0.25...clickhouse-1.0.26) (2022-09-21)
## [memcached-3.0.79](https://github.com/truecharts/charts/compare/memcached-3.0.76...memcached-3.0.79) (2022-09-22)
### Chore
@@ -63,13 +85,15 @@
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- refactor Services SCALE GUI
- update docker general non-major ([#3772](https://github.com/truecharts/charts/issues/3772))
- update docker general non-major ([#3839](https://github.com/truecharts/charts/issues/3839))
- update docker general non-major ([#3790](https://github.com/truecharts/charts/issues/3790))
- update docker general non-major ([#3787](https://github.com/truecharts/charts/issues/3787))
- split serviceSelector ([#3751](https://github.com/truecharts/charts/issues/3751))
## [clickhouse-1.0.26](https://github.com/truecharts/charts/compare/clickhouse-1.0.25...clickhouse-1.0.26) (2022-09-21)
## [memcached-3.0.78](https://github.com/truecharts/charts/compare/memcached-3.0.76...memcached-3.0.78) (2022-09-21)
### Chore
@@ -84,27 +108,8 @@
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- refactor Services SCALE GUI
- update docker general non-major ([#3772](https://github.com/truecharts/charts/issues/3772))
- split serviceSelector ([#3751](https://github.com/truecharts/charts/issues/3751))
## [clickhouse-1.0.26](https://github.com/truecharts/charts/compare/clickhouse-1.0.25...clickhouse-1.0.26) (2022-09-20)
### Chore
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- refactor Services SCALE GUI
- update docker general non-major ([#3772](https://github.com/truecharts/charts/issues/3772))
- update docker general non-major ([#3790](https://github.com/truecharts/charts/issues/3790))
- update docker general non-major ([#3787](https://github.com/truecharts/charts/issues/3787))
- split serviceSelector ([#3751](https://github.com/truecharts/charts/issues/3751))
@@ -122,6 +127,7 @@
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- refactor Services SCALE GUI
- update docker general non-major ([#3790](https://github.com/truecharts/charts/issues/3790))
- update docker general non-major ([#3787](https://github.com/truecharts/charts/issues/3787))
@@ -130,6 +136,7 @@
## [memcached-3.0.78](https://github.com/truecharts/charts/compare/memcached-3.0.76...memcached-3.0.78) (2022-09-19)
### Chore

View File

@@ -3,7 +3,7 @@ appVersion: "22.9.2.7"
dependencies:
- name: common
repository: https://library-charts.truecharts.org
version: 10.6.0
version: 10.6.1
deprecated: false
description: ClickHouse is a column-oriented database management system (DBMS) for online analytical processing of queries (OLAP).
home: https://truecharts.org/docs/charts/dependency/clickhouse
@@ -23,7 +23,7 @@ sources:
- https://clickhouse.com/
- https://hub.docker.com/r/yandex/clickhouse-server
type: application
version: 1.0.29
version: 1.0.30
annotations:
truecharts.org/catagories: |
- database

View File

@@ -23,7 +23,7 @@ Kubernetes: `>=1.16.0-0`
| Repository | Name | Version |
|------------|------|---------|
| https://library-charts.truecharts.org | common | 10.5.12 |
| https://library-charts.truecharts.org | common | 10.6.1 |
## Installing the Chart

View File

@@ -2,6 +2,28 @@
## [collabora-online-12.1.46](https://github.com/truecharts/charts/compare/collabora-online-12.1.45...collabora-online-12.1.46) (2022-09-25)
### Chore
- Auto-update chart README [skip ci]
- update helm chart common to v10.6.1 ([#3893](https://github.com/truecharts/charts/issues/3893))
## [collabora-online-12.1.45](https://github.com/truecharts/charts/compare/collabora-online-12.1.43...collabora-online-12.1.45) (2022-09-24)
### Chore
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- update helm chart common to v10.6.0
- update helm chart common to v10.5.12
## [collabora-online-12.1.44](https://github.com/truecharts/charts/compare/collabora-online-12.1.43...collabora-online-12.1.44) (2022-09-22)
### Chore

View File

@@ -3,7 +3,7 @@ appVersion: "22.05.6.1"
dependencies:
- name: common
repository: https://library-charts.truecharts.org
version: 10.6.0
version: 10.6.1
deprecated: false
description: "An awesome Online Office suite."
home: https://truecharts.org/docs/charts/dependency/collabora-online
@@ -22,7 +22,7 @@ sources:
- https://sdk.collaboraonline.com/contents.html
- https://github.com/CollaboraOnline/online/tree/master/kubernetes/helm
type: application
version: 12.1.45
version: 12.1.46
annotations:
truecharts.org/catagories: |
- office

View File

@@ -24,7 +24,7 @@ Kubernetes: `>=1.16.0-0`
| Repository | Name | Version |
|------------|------|---------|
| https://library-charts.truecharts.org | common | 10.5.12 |
| https://library-charts.truecharts.org | common | 10.6.1 |
## Installing the Chart

View File

@@ -2,6 +2,26 @@
## [mariadb-3.0.82](https://github.com/truecharts/charts/compare/mariadb-3.0.81...mariadb-3.0.82) (2022-09-25)
### Chore
- Auto-update chart README [skip ci]
- update helm chart common to v10.6.1 ([#3893](https://github.com/truecharts/charts/issues/3893))
## [mariadb-3.0.81](https://github.com/truecharts/charts/compare/mariadb-3.0.80...mariadb-3.0.81) (2022-09-24)
### Chore
- Auto-update chart README [skip ci]
- update helm chart common to v10.6.0
## [mariadb-3.0.80](https://github.com/truecharts/charts/compare/mariadb-3.0.78...mariadb-3.0.80) (2022-09-24)
### Chore

View File

@@ -3,7 +3,7 @@ appVersion: "10.9.3"
dependencies:
- name: common
repository: https://library-charts.truecharts.org
version: 10.6.0
version: 10.6.1
deprecated: false
description: Fast, reliable, scalable, and easy to use open-source relational database system.
home: https://truecharts.org/docs/charts/dependency/mariadb
@@ -25,7 +25,7 @@ sources:
- https://github.com/prometheus/mysqld_exporter
- https://mariadb.org
type: application
version: 3.0.81
version: 3.0.82
annotations:
truecharts.org/catagories: |
- database

View File

@@ -24,7 +24,7 @@ Kubernetes: `>=1.16.0-0`
| Repository | Name | Version |
|------------|------|---------|
| https://library-charts.truecharts.org | common | 10.5.12 |
| https://library-charts.truecharts.org | common | 10.6.1 |
## Installing the Chart

View File

@@ -2,6 +2,29 @@
## [memcached-3.0.82](https://github.com/truecharts/charts/compare/memcached-3.0.81...memcached-3.0.82) (2022-09-25)
### Chore
- Auto-update chart README [skip ci]
- update docker general non-major ([#3881](https://github.com/truecharts/charts/issues/3881))
## [memcached-3.0.81](https://github.com/truecharts/charts/compare/memcached-3.0.79...memcached-3.0.81) (2022-09-24)
### Chore
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- update helm chart common to v10.6.0
- update helm chart common to v10.5.12
## [memcached-3.0.80](https://github.com/truecharts/charts/compare/memcached-3.0.79...memcached-3.0.80) (2022-09-22)
### Chore

View File

@@ -3,7 +3,7 @@ appVersion: "1.6.17"
dependencies:
- name: common
repository: https://library-charts.truecharts.org
version: 10.6.0
version: 10.6.1
deprecated: false
description: Memcached is a memory-backed database caching solution
home: https://truecharts.org/docs/charts/dependency/memcached
@@ -23,7 +23,7 @@ sources:
- https://github.com/bitnami/bitnami-docker-memcached
- http://memcached.org/
type: application
version: 3.0.81
version: 3.0.83
annotations:
truecharts.org/catagories: |
- database

View File

@@ -23,7 +23,7 @@ Kubernetes: `>=1.16.0-0`
| Repository | Name | Version |
|------------|------|---------|
| https://library-charts.truecharts.org | common | 10.5.12 |
| https://library-charts.truecharts.org | common | 10.6.1 |
## Installing the Chart

View File

@@ -1,7 +1,7 @@
image:
repository: tccr.io/truecharts/memcached
pullPolicy: IfNotPresent
tag: 1.6.17@sha256:3892377610baf88e3327e27214fe310bec2e817f64fa180ff78ce08a95f9394e
tag: 1.6.17@sha256:3d1a37f202fc3e9537db3c99c5479631b68ff42046ea061501833c17035a7789
service:
main:

View File

@@ -2,6 +2,26 @@
## [mongodb-2.0.21](https://github.com/truecharts/charts/compare/mongodb-2.0.20...mongodb-2.0.21) (2022-09-25)
### Chore
- Auto-update chart README [skip ci]
- update helm chart common to v10.6.1 ([#3893](https://github.com/truecharts/charts/issues/3893))
## [mongodb-2.0.20](https://github.com/truecharts/charts/compare/mongodb-2.0.19...mongodb-2.0.20) (2022-09-24)
### Chore
- Auto-update chart README [skip ci]
- update helm chart common to v10.6.0
## [mongodb-2.0.19](https://github.com/truecharts/charts/compare/mongodb-2.0.17...mongodb-2.0.19) (2022-09-24)
### Chore

View File

@@ -3,7 +3,7 @@ appVersion: "6.0.1"
dependencies:
- name: common
repository: https://library-charts.truecharts.org
version: 10.6.0
version: 10.6.1
deprecated: false
description: Fast, reliable, scalable, and easy to use open-source no-sql database system.
home: https://truecharts.org/docs/charts/dependency/mongodb
@@ -24,7 +24,7 @@ sources:
- https://github.com/bitnami/bitnami-docker-mongodb
- https://www.mongodb.com
type: application
version: 2.0.20
version: 2.0.21
annotations:
truecharts.org/catagories: |
- database

View File

@@ -24,7 +24,7 @@ Kubernetes: `>=1.16.0-0`
| Repository | Name | Version |
|------------|------|---------|
| https://library-charts.truecharts.org | common | 10.5.12 |
| https://library-charts.truecharts.org | common | 10.6.1 |
## Installing the Chart

View File

@@ -2,6 +2,38 @@
## [postgresql-8.0.87](https://github.com/truecharts/charts/compare/postgresql-8.0.86...postgresql-8.0.87) (2022-09-25)
### Chore
- Auto-update chart README [skip ci]
- update helm chart common to v10.6.1 ([#3893](https://github.com/truecharts/charts/issues/3893))
## [postgresql-8.0.86](https://github.com/truecharts/charts/compare/postgresql-8.0.85...postgresql-8.0.86) (2022-09-25)
### Chore
- Auto-update chart README [skip ci]
- update docker general non-major ([#3881](https://github.com/truecharts/charts/issues/3881))
## [postgresql-8.0.85](https://github.com/truecharts/charts/compare/postgresql-8.0.83...postgresql-8.0.85) (2022-09-24)
### Chore
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- update helm chart common to v10.6.0
- update helm chart common to v10.5.12
## [postgresql-8.0.84](https://github.com/truecharts/charts/compare/postgresql-8.0.83...postgresql-8.0.84) (2022-09-22)
### Chore

View File

@@ -3,7 +3,7 @@ appVersion: "14.5.0"
dependencies:
- name: common
repository: https://library-charts.truecharts.org
version: 10.6.0
version: 10.6.1
deprecated: false
description: PostgresSQL
home: https://truecharts.org/docs/charts/dependency/postgresql
@@ -23,7 +23,7 @@ sources:
- https://github.com/truecharts/charts/tree/master/charts/dependency/postgresql
- https://www.postgresql.org/
type: application
version: 8.0.85
version: 8.0.87
annotations:
truecharts.org/catagories: |
- database

View File

@@ -22,7 +22,7 @@ Kubernetes: `>=1.16.0-0`
| Repository | Name | Version |
|------------|------|---------|
| https://library-charts.truecharts.org | common | 10.5.12 |
| https://library-charts.truecharts.org | common | 10.6.1 |
## Installing the Chart

View File

@@ -1,7 +1,7 @@
image:
repository: tccr.io/truecharts/postgresql
pullPolicy: IfNotPresent
tag: 14.5.0@sha256:3d2e303e6ccc9fb8ecf110317381da38b0193a8ac85488514ec9d92345e9a69a
tag: 14.5.0@sha256:aa74c071ccea630972060d1291cacf4b58a8a549fca9d0d298ca115d5f8a536e
controller:
# -- Set the controller type.

View File

@@ -2,6 +2,26 @@
## [promtail-3.0.54](https://github.com/truecharts/charts/compare/promtail-3.0.53...promtail-3.0.54) (2022-09-25)
### Chore
- Auto-update chart README [skip ci]
- update helm chart common to v10.6.1 ([#3893](https://github.com/truecharts/charts/issues/3893))
## [promtail-3.0.53](https://github.com/truecharts/charts/compare/promtail-3.0.52...promtail-3.0.53) (2022-09-24)
### Chore
- Auto-update chart README [skip ci]
- update helm chart common to v10.6.0
## [promtail-3.0.52](https://github.com/truecharts/charts/compare/promtail-3.0.51...promtail-3.0.52) (2022-09-22)
### Chore

View File

@@ -3,7 +3,7 @@ appVersion: "2.6.1"
dependencies:
- name: common
repository: https://library-charts.truecharts.org
version: 10.6.0
version: 10.6.1
deprecated: false
description: Promtail is an agent which ships the contents of local logs to a Loki instance
icon: https://truecharts.org/img/hotlink-ok/chart-icons/promtail.png
@@ -23,7 +23,7 @@ sources:
- https://grafana.com/oss/loki/
- https://grafana.com/docs/loki/latest/
type: application
version: 3.0.53
version: 3.0.54
annotations:
truecharts.org/catagories: |
- metrics

View File

@@ -24,7 +24,7 @@ Kubernetes: `>=1.16.0-0`
| Repository | Name | Version |
|------------|------|---------|
| https://library-charts.truecharts.org | common | 10.5.12 |
| https://library-charts.truecharts.org | common | 10.6.1 |
## Installing the Chart

View File

@@ -2,6 +2,36 @@
## [redis-3.0.84](https://github.com/truecharts/charts/compare/redis-3.0.83...redis-3.0.84) (2022-09-25)
### Chore
- Auto-update chart README [skip ci]
- update helm chart common to v10.6.1 ([#3893](https://github.com/truecharts/charts/issues/3893))
## [redis-3.0.83](https://github.com/truecharts/charts/compare/redis-3.0.82...redis-3.0.83) (2022-09-25)
### Chore
- Auto-update chart README [skip ci]
- update docker general non-major ([#3881](https://github.com/truecharts/charts/issues/3881))
## [redis-3.0.82](https://github.com/truecharts/charts/compare/redis-3.0.81...redis-3.0.82) (2022-09-24)
### Chore
- Auto-update chart README [skip ci]
- update helm chart common to v10.6.0
## [redis-3.0.81](https://github.com/truecharts/charts/compare/tubearchivist-redisjson-0.0.24...redis-3.0.81) (2022-09-23)
### Chore

View File

@@ -3,7 +3,7 @@ appVersion: "7.0.5"
dependencies:
- name: common
repository: https://library-charts.truecharts.org
version: 10.6.0
version: 10.6.1
deprecated: false
description: Open source, advanced key-value store.
home: https://truecharts.org/docs/charts/dependency/redis
@@ -23,7 +23,7 @@ sources:
- https://github.com/bitnami/bitnami-docker-redis
- http://redis.io/
type: application
version: 3.0.82
version: 3.0.84
annotations:
truecharts.org/catagories: |
- database

View File

@@ -23,7 +23,7 @@ Kubernetes: `>=1.16.0-0`
| Repository | Name | Version |
|------------|------|---------|
| https://library-charts.truecharts.org | common | 10.5.12 |
| https://library-charts.truecharts.org | common | 10.6.1 |
## Installing the Chart

View File

@@ -1,7 +1,7 @@
image:
repository: tccr.io/truecharts/redis
pullPolicy: IfNotPresent
tag: 7.0.5@sha256:5f9b8bbed47bc0966268ca9d32322dc1a6b69475216615a02eba645a3a12f3ec
tag: 7.0.5@sha256:4f459d0cc8a71dd77394eea4e2ae4a874ba95783ec584af2981a08c31351fff9
controller:
# -- Set the controller type.

View File

@@ -2,6 +2,38 @@
## [solr-0.0.55](https://github.com/truecharts/charts/compare/solr-0.0.54...solr-0.0.55) (2022-09-25)
### Chore
- Auto-update chart README [skip ci]
- update helm chart common to v10.6.1 ([#3893](https://github.com/truecharts/charts/issues/3893))
## [solr-0.0.54](https://github.com/truecharts/charts/compare/solr-0.0.53...solr-0.0.54) (2022-09-25)
### Chore
- Auto-update chart README [skip ci]
- update docker general non-major ([#3881](https://github.com/truecharts/charts/issues/3881))
## [solr-0.0.53](https://github.com/truecharts/charts/compare/solr-0.0.51...solr-0.0.53) (2022-09-24)
### Chore
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- update helm chart common to v10.6.0
- update helm chart common to v10.5.12
## [solr-0.0.52](https://github.com/truecharts/charts/compare/solr-0.0.51...solr-0.0.52) (2022-09-22)
### Chore

View File

@@ -3,7 +3,7 @@ appVersion: "9.0.0"
dependencies:
- name: common
repository: https://library-charts.truecharts.org
version: 10.6.0
version: 10.6.1
deprecated: false
description: Apache Solr
home: https://truecharts.org/docs/charts/dependency/solr
@@ -23,7 +23,7 @@ sources:
- https://github.com/apache/solr
- https://hub.docker.com/r/bitnami/solr/
type: application
version: 0.0.53
version: 0.0.55
annotations:
truecharts.org/catagories: |
- search

View File

@@ -23,7 +23,7 @@ Kubernetes: `>=1.16.0-0`
| Repository | Name | Version |
|------------|------|---------|
| https://library-charts.truecharts.org | common | 10.5.12 |
| https://library-charts.truecharts.org | common | 10.6.1 |
## Installing the Chart

View File

@@ -1,7 +1,7 @@
image:
repository: tccr.io/truecharts/solr
pullPolicy: IfNotPresent
tag: v9.0.0@sha256:bf36dd644eedf3bde0339dcea6ba99403a54d4254e22e90051d445f7fb4d8d4a
tag: v9.0.0@sha256:d0825ea55a94b45cf7393aec881dbf1a9bf5360c75b19b3a27efd917f2580f25
controller:
# -- Set the controller type.

View File

@@ -0,0 +1,104 @@
# Changelog
## [blocky-1.0.4](https://github.com/truecharts/charts/compare/blocky-1.0.3...blocky-1.0.4) (2022-09-25)
### Chore
- Auto-update chart README [skip ci]
### Fix
- update redis
## [blocky-1.0.3](https://github.com/truecharts/charts/compare/blocky-1.0.2...blocky-1.0.3) (2022-09-25)
### Chore
- Auto-update chart README [skip ci]
### Fix
- use new common SA handler
## [blocky-1.0.2](https://github.com/truecharts/charts/compare/blocky-1.0.1...blocky-1.0.2) (2022-09-25)
### Chore
- Auto-update chart README [skip ci]
### Fix
- disable probes until next release ([#3886](https://github.com/truecharts/charts/issues/3886))
## [blocky-1.0.1](https://github.com/truecharts/charts/compare/blocky-1.0.0...blocky-1.0.1) (2022-09-25)
### Chore
- Auto-update chart README [skip ci]
### Fix
- set defaults to some durations ([#3885](https://github.com/truecharts/charts/issues/3885))
## [blocky-1.0.0](https://github.com/truecharts/charts/compare/blocky-0.0.4...blocky-1.0.0) (2022-09-24)
### Chore
- move blocky to enterprise ([#3875](https://github.com/truecharts/charts/issues/3875))
## [blocky-0.0.4](https://github.com/truecharts/charts/compare/blocky-0.0.3...blocky-0.0.4) (2022-09-24)
### Chore
- Auto-update chart README [skip ci]
### Fix
- Finish up UI ([#3866](https://github.com/truecharts/charts/issues/3866))
## [blocky-0.0.3](https://github.com/truecharts/charts/compare/blocky-0.0.2...blocky-0.0.3) (2022-09-24)
### Chore
- Auto-update chart README [skip ci]
- update docker general non-major ([#3860](https://github.com/truecharts/charts/issues/3860))
## [blocky-0.0.2](https://github.com/truecharts/charts/compare/blocky-0.0.1...blocky-0.0.2) (2022-09-23)
### Chore
- Auto-update chart README [skip ci]
- Auto-update chart README [skip ci]
- update docker general non-major ([#3850](https://github.com/truecharts/charts/issues/3850))
## [blocky-0.0.1]blocky-0.0.1 (2022-09-22)
### Feat
- add blocky ([#3735](https://github.com/truecharts/charts/issues/3735))

View File

@@ -1,15 +1,15 @@
apiVersion: v2
appVersion: "elopment"
appVersion: "0.19"
dependencies:
- name: common
repository: https://library-charts.truecharts.org
version: 10.6.0
version: 10.6.1
- condition: redis.enabled
name: redis
repository: https://charts.truecharts.org
version: 3.0.67
description: Blocky is a DNS proxy and ad-blocker for the local network written in Go
home: https://truecharts.org/docs/charts/incubator/blocky
version: 3.0.84
description: Blocky is a DNS proxy, DNS enhancer and ad-blocker for the local network written in Go
home: https://truecharts.org/docs/charts/enterprise/blocky
icon: https://truecharts.org/img/hotlink-ok/chart-icons/blocky.png
keywords:
- dns
@@ -21,12 +21,12 @@ maintainers:
url: https://truecharts.org
name: blocky
sources:
- https://github.com/truecharts/charts/tree/master/charts/incubator/blocky
- https://github.com/truecharts/charts/tree/master/charts/enterprise/blocky
- https://0xerr0r.github.io/blocky/
- https://github.com/0xERR0R/blocky
- https://github.com/Mozart409/blocky-frontend
- https://hub.docker.com/r/spx01/blocky
version: 0.0.4
version: 1.0.5
annotations:
truecharts.org/catagories: |
- network

View File

@@ -1,17 +1,17 @@
# blocky
Blocky is a DNS proxy and ad-blocker for the local network written in Go
Blocky is a DNS proxy, DNS enhancer and ad-blocker for the local network written in Go
TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE.
This readme is just an automatically generated general guide on installing our Helm Charts and Apps.
For more information, please click here: [blocky](https://truecharts.org/docs/charts/incubator/blocky)
For more information, please click here: [blocky](https://truecharts.org/docs/charts/enterprise/blocky)
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)**
## Source Code
* <https://github.com/truecharts/charts/tree/master/charts/incubator/blocky>
* <https://github.com/truecharts/charts/tree/master/charts/enterprise/blocky>
* <https://0xerr0r.github.io/blocky/>
* <https://github.com/0xERR0R/blocky>
* <https://github.com/Mozart409/blocky-frontend>
@@ -25,8 +25,8 @@ Kubernetes: `>=1.16.0-0`
| Repository | Name | Version |
|------------|------|---------|
| https://charts.truecharts.org | redis | 3.0.67 |
| https://library-charts.truecharts.org | common | 10.5.7 |
| https://charts.truecharts.org | redis | 3.0.83 |
| https://library-charts.truecharts.org | common | 10.6.1 |
## Installing the Chart

View File

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 39 KiB

View File

@@ -258,12 +258,12 @@ questions:
label: Min Time
schema:
type: string
default: ""
default: 5m
- variable: maxTime
label: Max Time
schema:
type: string
default: ""
default: 30m
- variable: maxItemsCount
label: Max Items Count
schema:

View File

@@ -10,7 +10,7 @@ metadata:
labels:
{{- include "tc.common.labels" . | nindent 4 }}
data:
tc-config.yaml: |
config.yml: |
{{ $config | toYaml | indent 4 }}
{{- end -}}

View File

@@ -7,8 +7,8 @@
{{- define "blocky.configmap.mount" -}}
enabled: true
type: custom
mountPath: /app/config/tc-config.yaml
subPath: tc-config.yaml
mountPath: /app/config.yml
subPath: config.yml
readOnly: true
volumeSpec:
configMap:

View File

@@ -1,8 +1,8 @@
image:
repository: spx01/blocky
tag: development@sha256:ddb35986cbc924de11cd37ccf625ff6bd0896fad456e57ee9c0bd67bd034770e
# repository: tccr.io/truecharts/blocky
# tag: v0.19@sha256:77a474542f12f480deca33ff0a6375846918b86988c13f858620839d8818ca84
# repository: spx01/blocky
# tag: development@sha256:ddb35986cbc924de11cd37ccf625ff6bd0896fad456e57ee9c0bd67bd034770e
repository: tccr.io/truecharts/blocky
tag: v0.19@sha256:77a474542f12f480deca33ff0a6375846918b86988c13f858620839d8818ca84
pullPolicy: IfNotPresent
WebUIImage:
@@ -31,36 +31,44 @@ blockyConfig: {}
# default:
# - 1.1.1.1
env:
BLOCKY_CONFIG_FILE: "/app/config/"
blocky:
enableWebUI: true
enablePrometheus: true
probes:
liveness:
enabled:
custom: true
spec:
exec:
command:
- /app/blocky
- healthcheck
enabled: false
# TODO: Enable after v0.20 is released.
# Current version does not include the healthcheck command
# enabled: true
# custom: true
# spec:
# exec:
# command:
# - /app/blocky
# - healthcheck
readiness:
custom: true
spec:
exec:
command:
- /app/blocky
- healthcheck
enabled: false
# TODO: Enable after v0.20 is released.
# Current version does not include the healthcheck command
# enabled: true
# custom: true
# spec:
# exec:
# command:
# - /app/blocky
# - healthcheck
startup:
custom: true
spec:
exec:
command:
- /app/blocky
- healthcheck
enabled: false
# TODO: Enable after v0.20 is released.
# Current version does not include the healthcheck command
# enabled: true
# custom: true
# spec:
# exec:
# command:
# - /app/blocky
# - healthcheck
service:
main:

File diff suppressed because it is too large Load Diff

View File

@@ -1,29 +0,0 @@
apiVersion: v2
appVersion: "latest"
dependencies:
- name: common
repository: https://library-charts.truecharts.org
version: 10.5.9
deprecated: false
description: Easy platform to combine all your social links
home: https://truecharts.org/docs/charts/stable/littlelink
icon: https://truecharts.org/img/hotlink-ok/chart-icons/littlelink.png
keywords:
- littlelink
kubeVersion: ">=1.16.0-0"
maintainers:
- email: info@truecharts.org
name: TrueCharts
url: https://truecharts.org
name: littlelink
sources:
- https://github.com/truecharts/charts/tree/master/charts/stable/littlelink
- https://github.com/techno-tim/littlelink-server
- https://github.com/sethcottle/littlelink
type: application
version: 6.0.62
annotations:
truecharts.org/catagories: |
- social
truecharts.org/SCALE-support: "true"
truecharts.org/grade: U

View File

@@ -1 +0,0 @@

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

View File

@@ -1,430 +0,0 @@
# Include{groups}
portals:
open:
# Include{portalLink}
questions:
# Include{global}
# Include{controller}
# Include{controllerDeployment}
# Include{replicas}
# Include{replica1}
# Include{strategy}
# Include{recreate}
# Include{controllerExpert}
# Include{controllerExpertExtraArgs}
# Include{containerConfig}
- variable: littlelink
label: ""
group: "App Configuration"
schema:
additional_attrs: true
type: dict
attrs:
- variable: meta_title
label: "meta title"
schema:
type: string
default: ""
- variable: meta_description
label: "meta description"
schema:
type: string
default: ""
- variable: meta_author
label: "meta_author"
schema:
type: string
default: ""
- variable: lang
label: "lang"
schema:
type: string
default: ""
- variable: meta_index_status
label: "meta_index_status"
schema:
type: string
default: ""
- variable: ga_tracking_id
label: "ga_tracking_id"
schema:
type: string
default: ""
- variable: theme
label: "theme"
schema:
type: string
default: ""
- variable: favicon_url
label: "favicon_url"
schema:
type: string
default: ""
- variable: avatar_url
label: "avatar_url"
schema:
type: string
default: ""
- variable: avatar_2x_url
label: "avatar_2x_url"
schema:
type: string
default: ""
- variable: avatar_alt
label: "avatar_alt"
schema:
type: string
default: ""
- variable: name
label: "name"
schema:
type: string
default: ""
- variable: bio
label: "bio"
schema:
type: string
default: ""
- variable: github
label: "github"
schema:
type: string
default: ""
- variable: twitter
label: "twitter"
schema:
type: string
default: ""
- variable: instagram
label: "instagram"
schema:
type: string
default: ""
- variable: youtube
label: "youtube"
schema:
type: string
default: ""
- variable: twitch
label: "twitch"
schema:
type: string
default: ""
- variable: discord
label: "discord"
schema:
type: string
default: ""
- variable: tiktok
label: "tiktok"
schema:
type: string
default: ""
- variable: kit
label: "kit"
schema:
type: string
default: ""
- variable: facebook
label: "facebook"
schema:
type: string
default: ""
- variable: facebook_messenger
label: "facebook_messenger"
schema:
type: string
default: ""
- variable: linked_in
label: "linked_in"
schema:
type: string
default: ""
- variable: product_hunt
label: "product_hunt"
schema:
type: string
default: ""
- variable: snapchat
label: "snapchat"
schema:
type: string
default: ""
- variable: spotify
label: "spotify"
schema:
type: string
default: ""
- variable: reddit
label: "reddit"
schema:
type: string
default: ""
- variable: medium
label: "medium"
schema:
type: string
default: ""
- variable: pinterest
label: "pinterest"
schema:
type: string
default: ""
- variable: email
label: "email"
schema:
type: string
default: ""
- variable: email_text
label: "email_text"
schema:
type: string
default: ""
- variable: email_alt
label: "email_alt"
schema:
type: string
default: ""
- variable: email_alt_text
label: "email_alt_text"
schema:
type: string
default: ""
- variable: sound_cloud
label: "sound_cloud"
schema:
type: string
default: ""
- variable: figma
label: "figma"
schema:
type: string
default: ""
- variable: telegram
label: "telegram"
schema:
type: string
default: ""
- variable: tumblr
label: "tumblr"
schema:
type: string
default: ""
- variable: steam
label: "steam"
schema:
type: string
default: ""
- variable: vimeo
label: "vimeo"
schema:
type: string
default: ""
- variable: wordpress
label: "wordpressp"
schema:
type: string
default: ""
- variable: goodreads
label: "goodreads"
schema:
type: string
default: ""
- variable: skoob
label: "skoob"
schema:
type: string
default: ""
- variable: letterboxd
label: "letterboxd"
schema:
type: string
default: ""
- variable: mastodon
label: "mastodon"
schema:
type: string
default: ""
- variable: micro_blog
label: "micro_blog"
schema:
type: string
default: ""
- variable: whatsapp
label: "whatsapp"
schema:
type: string
default: ""
- variable: strava
label: "strava"
schema:
type: string
default: ""
- variable: buymeacoffee
label: "buymeacoffee"
schema:
type: string
default: ""
- variable: gitlab
label: "gitlab"
schema:
type: string
default: ""
- variable: patreon
label: "patreon"
schema:
type: string
default: ""
- variable: devto
label: "devto"
schema:
type: string
default: ""
- variable: umami_website_id
label: "umami_website_id"
schema:
type: string
default: ""
- variable: umami_app_url
label: "umami_app_url"
schema:
type: string
default: ""
- variable: paypal
label: "paypal"
schema:
type: string
default: ""
- variable: slack
label: "slack"
schema:
type: string
default: ""
- variable: lastfm
label: "lastfm"
schema:
type: string
default: ""
- variable: untappd
label: "untappd"
schema:
type: string
default: ""
- variable: stackoverflow
label: "stackoverflow"
schema:
type: string
default: ""
- variable: gitea
label: "gitea"
schema:
type: string
default: ""
- variable: polywork
label: "polywork"
schema:
type: string
default: ""
- variable: signal
label: "signal"
schema:
type: string
default: ""
- variable: footer
label: "footer"
schema:
type: string
default: ""
# Include{serviceRoot}
- variable: main
label: "Main Service"
description: "The Primary service on which the healthcheck runs, often the webUI"
schema:
additional_attrs: true
type: dict
attrs:
# Include{serviceSelector}
- variable: main
label: "Main Service Port Configuration"
schema:
additional_attrs: true
type: dict
attrs:
- variable: port
label: "Port"
description: "This port exposes the container port on the service"
schema:
type: int
default: 10040
required: true
# Include{advancedPortHTTP}
- variable: targetPort
label: "Target Port"
description: "The internal(!) port on the container the Application runs on"
schema:
type: int
default: 3000
# Include{serviceExpertRoot}
default: false
# Include{serviceExpert}
# Include{serviceList}
# Include{persistenceList}
# Include{ingressRoot}
- variable: main
label: "Main Ingress"
schema:
additional_attrs: true
type: dict
attrs:
# Include{ingressDefault}
# Include{ingressTLS}
# Include{ingressTraefik}
# Include{ingressExpert}
# Include{ingressList}
# Include{security}
# Include{securityContextAdvancedRoot}
- variable: privileged
label: "Privileged mode"
schema:
type: boolean
default: false
- variable: readOnlyRootFilesystem
label: "ReadOnly Root Filesystem"
schema:
type: boolean
default: true
- variable: allowPrivilegeEscalation
label: "Allow Privilege Escalation"
schema:
type: boolean
default: false
- variable: runAsNonRoot
label: "runAsNonRoot"
schema:
type: boolean
default: true
# Include{securityContextAdvanced}
# Include{podSecurityContextRoot}
- variable: runAsUser
label: "runAsUser"
description: "The UserID of the user running the application"
schema:
type: int
default: 568
- variable: runAsGroup
label: "runAsGroup"
description: "The groupID this App of the user running the application"
schema:
type: int
default: 568
- variable: fsGroup
label: "fsGroup"
description: "The group that should own ALL storage."
schema:
type: int
default: 568
# Include{podSecurityContextAdvanced}
# Include{resources}
# Include{advanced}
# Include{addons}
# Include{documentation}

View File

@@ -1,199 +0,0 @@
{{/* Define the configmap */}}
{{- define "littlelink.configmap" -}}
---
apiVersion: v1
kind: ConfigMap
metadata:
name: littlelinkconfig
data:
{{- if .Values.littlelink.meta_title }}
META_TILE: {{ .Values.littlelink.meta_title | quote }}
{{- end }}
{{- if .Values.littlelink.meta_description }}
META_DESCRIPTION: {{ .Values.littlelink.meta_description | quote }}
{{- end }}
{{- if .Values.littlelink.meta_author }}
META_AUTHOR: {{ .Values.littlelink.meta_author | quote }}
{{- end }}
{{- if .Values.littlelink.lang }}
LANG: {{ .Values.littlelink.lang | quote }}
{{- end }}
{{- if .Values.littlelink.meta_index_status }}
META_INDEX_STATUS: {{ .Values.littlelink.meta_index_status | quote }}
{{- end }}
{{- if .Values.littlelink.ga_tracking_id }}
GA_TRACKING_ID: {{ .Values.littlelink.ga_tracking_id | quote }}
{{- end }}
{{- if .Values.littlelink.theme }}
THEME: {{ .Values.littlelink.theme | quote }}
{{- end }}
{{- if .Values.littlelink.favicon_url }}
FAVICON_URL: {{ .Values.littlelink.favicon_url | quote }}
{{- end }}
{{- if .Values.littlelink.avatar_url }}
AVATAR_URL: {{ .Values.littlelink.avatar_url | quote }}
{{- end }}
{{- if .Values.littlelink.avatar_2x_url }}
AVATAR_2X_URL: {{ .Values.littlelink.avatar_2x_url | quote }}
{{- end }}
{{- if .Values.littlelink.avatar_alt }}
AVATAR_ALT: {{ .Values.littlelink.avatar_alt | quote }}
{{- end }}
{{- if .Values.littlelink.name }}
NAME: {{ .Values.littlelink.name | quote }}
{{- end }}
{{- if .Values.littlelink.bio }}
BIO: {{ .Values.littlelink.bio | quote }}
{{- end }}
{{- if .Values.littlelink.github }}
GITHUB: {{ .Values.littlelink.github | quote }}
{{- end }}
{{- if .Values.littlelink.twitter }}
TWITTER: {{ .Values.littlelink.twitter | quote }}
{{- end }}
{{- if .Values.littlelink.instagram }}
INSTAGRAM: {{ .Values.littlelink.instagram | quote }}
{{- end }}
{{- if .Values.littlelink.youtube }}
YOUTUBE: {{ .Values.littlelink.youtube | quote }}
{{- end }}
{{- if .Values.littlelink.twitch }}
TWITCH: {{ .Values.littlelink.twitch | quote }}
{{- end }}
{{- if .Values.littlelink.discord }}
DISCORD: {{ .Values.littlelink.discord | quote }}
{{- end }}
{{- if .Values.littlelink.tiktok }}
TIKTOK: {{ .Values.littlelink.tiktok | quote }}
{{- end }}
{{- if .Values.littlelink.kit }}
KIT: {{ .Values.littlelink.kit | quote }}
{{- end }}
{{- if .Values.littlelink.facebook }}
FACEBOOK: {{ .Values.littlelink.facebook | quote }}
{{- end }}
{{- if .Values.littlelink.facebook_messenger }}
FACEBOOK_MESSENGER: {{ .Values.littlelink.facebook_messenger | quote }}
{{- end }}
{{- if .Values.littlelink.linked_in }}
LINKED_IN: {{ .Values.littlelink.linked_in | quote }}
{{- end }}
{{- if .Values.littlelink.product_hunt }}
PRODUCT_HUNT: {{ .Values.littlelink.product_hunt | quote }}
{{- end }}
{{- if .Values.littlelink.snapchat }}
SNAPCHAT: {{ .Values.littlelink.snapchat | quote }}
{{- end }}
{{- if .Values.littlelink.spotify }}
SPOTIFY: {{ .Values.littlelink.spotify | quote }}
{{- end }}
{{- if .Values.littlelink.reddit }}
REDDIT: {{ .Values.littlelink.reddit | quote }}
{{- end }}
{{- if .Values.littlelink.medium }}
MEDIUM: {{ .Values.littlelink.medium | quote }}
{{- end }}
{{- if .Values.littlelink.pinterest }}
PINTEREST: {{ .Values.littlelink.pinterest | quote }}
{{- end }}
{{- if .Values.littlelink.email }}
EMAIL: {{ .Values.littlelink.email | quote }}
{{- end }}
{{- if .Values.littlelink.email_text }}
EMAIL_TEXT: {{ .Values.littlelink.email_text | quote }}
{{- end }}
{{- if .Values.littlelink.email_alt }}
EMAIL_ALT: {{ .Values.littlelink.email_alt | quote }}
{{- end }}
{{- if .Values.littlelink.email_alt_text }}
EMAIL_ALT_TEXT: {{ .Values.littlelink.email_alt_text | quote }}
{{- end }}
{{- if .Values.littlelink.sound_cloud }}
SOUND_CLOUD: {{ .Values.littlelink.sound_cloud | quote }}
{{- end }}
{{- if .Values.littlelink.figma }}
FIGMA: {{ .Values.littlelink.figma | quote }}
{{- end }}
{{- if .Values.littlelink.telegram }}
TELEGRAM: {{ .Values.littlelink.telegram | quote }}
{{- end }}
{{- if .Values.littlelink.tumblr }}
TUMBLR: {{ .Values.littlelink.tumblr | quote }}
{{- end }}
{{- if .Values.littlelink.steam }}
STEAM: {{ .Values.littlelink.steam | quote }}
{{- end }}
{{- if .Values.littlelink.vimeo }}
VIMEO: {{ .Values.littlelink.vimeo | quote }}
{{- end }}
{{- if .Values.littlelink.wordpress }}
WORDPRESS: {{ .Values.littlelink.wordpress | quote }}
{{- end }}
{{- if .Values.littlelink.goodreads }}
GOODREADS: {{ .Values.littlelink.goodreads | quote }}
{{- end }}
{{- if .Values.littlelink.skoob }}
SKOOB: {{ .Values.littlelink.skoob | quote }}
{{- end }}
{{- if .Values.littlelink.letterboxd }}
LETTERBOXD: {{ .Values.littlelink.letterboxd | quote }}
{{- end }}
{{- if .Values.littlelink.mastodon }}
MASTODON: {{ .Values.littlelink.mastodon | quote }}
{{- end }}
{{- if .Values.littlelink.micro_blog }}
MICRO_BLOG: {{ .Values.littlelink.micro_blog | quote }}
{{- end }}
{{- if .Values.littlelink.whatsapp }}
WHATSAPP: {{ .Values.littlelink.whatsapp | quote }}
{{- end }}
{{- if .Values.littlelink.strava }}
STRAVA: {{ .Values.littlelink.strava | quote }}
{{- end }}
{{- if .Values.littlelink.buymeacoffee }}
BUYMEACOFFEE: {{ .Values.littlelink.buymeacoffee | quote }}
{{- end }}
{{- if .Values.littlelink.gitlab }}
GITLAB: {{ .Values.littlelink.gitlab | quote }}
{{- end }}
{{- if .Values.littlelink.patreon }}
PATREON: {{ .Values.littlelink.patreon | quote }}
{{- end }}
{{- if .Values.littlelink.devto }}
DEVTO: {{ .Values.littlelink.devto | quote }}
{{- end }}
{{- if .Values.littlelink.umami_website_id }}
UMAMI_WEBSITE_ID: {{ .Values.littlelink.umami_website_id | quote }}
{{- end }}
{{- if .Values.littlelink.umami_app_url }}
UMAMI_APP_URL: {{ .Values.littlelink.umami_app_url | quote }}
{{- end }}
{{- if .Values.littlelink.paypal }}
PAYPAL: {{ .Values.littlelink.paypal | quote }}
{{- end }}
{{- if .Values.littlelink.slack }}
SLACK: {{ .Values.littlelink.slack | quote }}
{{- end }}
{{- if .Values.littlelink.lastfm }}
LASTFM: {{ .Values.littlelink.lastfm | quote }}
{{- end }}
{{- if .Values.littlelink.untappd }}
UNTAPPD: {{ .Values.littlelink.untappd | quote }}
{{- end }}
{{- if .Values.littlelink.stackoverflow }}
STACKOVERFLOW: {{ .Values.littlelink.stackoverflow | quote }}
{{- end }}
{{- if .Values.littlelink.gitea }}
GITEA: {{ .Values.littlelink.gitea | quote }}
{{- end }}
{{- if .Values.littlelink.polywork }}
POLYWORK: {{ .Values.littlelink.polywork | quote }}
{{- end }}
{{- if .Values.littlelink.signal }}
SIGNAL: {{ .Values.littlelink.signal | quote }}
{{- end }}
{{- if .Values.littlelink.footer }}
FOOTER: {{ .Values.littlelink.footer | quote }}
{{- end }}
{{- end -}}

View File

@@ -1,8 +0,0 @@
{{/* Make sure all variables are set properly */}}
{{- include "tc.common.loader.init" . }}
{{/* Render the templates */}}
{{ include "tc.common.loader.apply" . }}
{{/* Render configmap for littlelink */}}
{{- include "littlelink.configmap" . }}

View File

@@ -1,39 +0,0 @@
image:
repository: tccr.io/truecharts/littlelink-server
pullPolicy: IfNotPresent
tag: latest@sha256:d0d935132991a5ca528169dc5bfc02846e2ada782d55dddb12b61d1ab89383e2
service:
main:
ports:
main:
port: 10040
targetPort: 3000
envFrom:
- configMapRef:
name: littlelinkconfig
littlelink:
meta_title: "techno tim"
meta_description: "techno tim link page"
meta_author: "techno tim"
theme: "dark"
favicon_url: "https://pbs.twimg.com/profile_images/1286144221217316864/qiaskopb_200x200.jpg"
avatar_url: "https://pbs.twimg.com/profile_images/1286144221217316864/qiaskopb_200x200.jpg"
avatar_2x_url: "https://pbs.twimg.com/profile_images/1286144221217316864/qiaskopb_400x400.jpg"
avatar_alt: "techno tim profile pic"
name: "technotim"
bio: "hey! just a place where you can connect with me!"
github: "https://github.com/timothystewart6"
twitter: "https://twitter.com/technotimlive"
instagram: "https://www.instagram.com/techno.tim"
youtube: "https://www.youtube.com/channel/ucok-ghyjcwznj3br4oxwh0a"
twitch: "https://www.twitch.tv/technotim/"
discord: "https://discord.gg/djkexrj"
tiktok: "https://www.tiktok.com/@technotim"
kit: "https://kit.co/technotim"
footer: "thanks for stopping by!"
portal:
enabled: true

View File

@@ -10,7 +10,7 @@ keywords:
dependencies:
- name: common
repository: https://library-charts.truecharts.org
version: 10.5.10
version: 10.6.1
- name: metallb
repository: https://metallb.github.io/metallb
version: 0.13.5
@@ -25,7 +25,7 @@ sources:
- https://github.com/metallb/metallb
- https://metallb.universe.tf
type: application
version: 4.0.11
version: 4.0.12
annotations:
truecharts.org/catagories: |
- core

File diff suppressed because it is too large Load Diff

View File

@@ -1,45 +0,0 @@
apiVersion: v2
appVersion: "24.0.5"
dependencies:
- name: common
repository: https://library-charts.truecharts.org
version: 10.5.9
- condition: postgresql.enabled
name: postgresql
repository: https://charts.truecharts.org/
version: 8.0.75
- condition: collabora.enabled
name: collabora-online
repository: https://charts.truecharts.org/
version: 12.1.39
- condition: redis.enabled
name: redis
repository: https://charts.truecharts.org
version: 3.0.71
deprecated: false
description: A private cloud server that puts the control and security of your own data back into your hands.
home: https://truecharts.org/docs/charts/stable/nextcloud
icon: https://truecharts.org/img/hotlink-ok/chart-icons/nextcloud.png
keywords:
- nextcloud
- storage
- http
- web
- php
kubeVersion: ">=1.16.0-0"
maintainers:
- email: info@truecharts.org
name: TrueCharts
url: https://truecharts.org
name: nextcloud
sources:
- https://github.com/truecharts/charts/tree/master/charts/stable/nextcloud
- https://github.com/nextcloud/docker
- https://github.com/nextcloud/helm
type: application
version: 15.3.12
annotations:
truecharts.org/catagories: |
- cloud
truecharts.org/SCALE-support: "true"
truecharts.org/grade: U

View File

@@ -1 +0,0 @@

View File

@@ -1,11 +0,0 @@
env:
# IP used for exposing nextcloud
# Often the service or nodePort IP
AccessIP: "127.0.0.1"
service:
main:
ports:
main:
port: 8080
targetPort: 8080

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

View File

@@ -1,100 +0,0 @@
# Installation Guide
## Userdata Dataset
This is the optional location your Nextcloud userdata will be located
> You do NOT need to create a userdata dataset if you do not plan on using one. Nextcloud does not require one, instead you can rely on the PVC default
:::note
The `apps`:`apps` user:group is built into Truenas SCALE, it is the default user for most applications on Truenas SCALE. You do not have to create a separate user for each application. www-data is also included with TrueNAS SCALE by default with user/group ID `33`
When configuring your application you'll typically see user:group `568`, this is the UID for `apps` and its recommended not to change it.
:::
- You are **REQUIRED** to use the `www-data` group and setting the permissions exactly, If you have anything different, chances are it will not work
- ACL's are known to cause problems with the Nextcloud `Userdata` folder, we advice you not to use them.
- Below is an example on how the permissions window should like like when done with your userdata dataset. If it looks totally different, you're most likely using ACL's
![!Dataset: Nextcloud](images/dataset.png)
## App Setup
For this application We used the `Nextcloud` provided by [TrueCharts](https://truecharts.org/manual/Quick-Start%20Guides/01-Adding-TrueCharts/).
- Available under the `stable` train
![!Container: Tube](images/nextcloud.png)
<br />
### Container
**Application Name**
```text
nextcloud
```
Name it whatever you want, We stick with the chart name for now
**NEXTCLOUD_ADMIN_USER (First Install Only)**
```text
USERNAME
```
> This is up to you
<br />
**NEXTCLOUD_ADMIN_PASSWORD (First Install Only)**
```text
PASSWORD
```
> This is up to you
<br />
<br />
### Storage
> This is an optional step, if you did not create a separate dataset, you can skip this
1. Ensure you are under `UserData Storage`
2. `Type of Storage` should be `Hostpath (simple)`
3. `Hostpath` should be the path to the dataset you created
![!Container: Env_Var](images/storage.png)
<br />
<br />
### Ingress
> While it technically might be possible to run Nextcloud without Ingress, We only offer support for people using ingress. Running it without adds complications and is not in accordance with the Nextcloud Deployment guidelines
<br />
1. Configure Hosts > Add
2. Configure Paths > Add
3. Type your hostname under `HostName`
![!Container: Ingres](images/ingress1.png)
<br />
1. Configure TLS-Settings > Add
2. Configure Certificate Hosts > Add
3. Type your hostname under `HostName`
4. Select your correct cert
> We do not add any middlewares, since Nextcloud has its own authentication, and adding middlewares breaks phone backups, since it has no way to authenticate through Authelia
![!Container: Ingres](images/ingress2.png)
<br />

View File

@@ -1,27 +0,0 @@
# Important Notes
Nextcloud is a VERY picky Application and is VERY hard to support.
The support staff on our Discord can help with the basic installation and
getting Ingress to run with the chart, as that is that is the only recommended and supported installation method since 15.X.
The support staff will not help with upgrades that fail from an earlier version than 15.X, we've included a
[migration guide](migration_guide.md) to help with this upgrade.
If you're having issues with the Nextcloud app/chart itself after basic installation we ask you not to file support
requests on our Discord or Github, unless your issue is clearly caused by TrueCharts. It's, however, fine to ask in an, appropiate, other, non-support, channel!
While we consider the App layer "Stable", we simply cannot guarantee stability due to the nature of the Nextcloud Application inside the App.
## Installation Notes
Nextcloud generates it's `config.php` file on the first startup/installation. Therefore you have to set some values correctly on the first try.
Otherwise you will have to either re-install the App or edit the `config.php` manually, with the latter being out of our support scope.
The mentioned values are:
- User Data storage location, type (eg. PVC, hostPath).
Also Nextcloud creates an Admin user on the first startup/installation. Changing them later, will have no effect.
The mentioned values are:
- NEXTCLOUD_ADMIN_USER
- NEXTCLOUD_ADMIN_PASSWORD

View File

@@ -1,27 +0,0 @@
# Migration Notes
This guide is provided as a resource to help taken from our Discord, but since 15.X is a breaking change
there's no guarantees this will work, and you may have to install fresh
We want to highlight that this is considered a completely new App, hence the "breaking change".
For the best stability we would advice people to reinstall (with the option to save the users data).
While we try to help people through migration and even have added some automated migration tooling,
we cannot guarantee migration with breaking changes like these.
The correct troubleshooting steps would be:
- Remove any mention of "nextcloud_datadir" either in env-vars or config.php (if you manually added or altered it), we never supported this due to us expecting this change long beforehand
- Remove any custom storage
- Ensure config is set to "PVC"
- Add `127.0.0.1` to the TRUSTED_PROXY setting like this: `172.16.0.0/16 127.0.0.1`
- Stop and Start the old version to double-ensure the settings are applied
- Apply the update
- Wait for a good while (go grab lunch, eat it and drink a coffee afterwards)
- Check if it worked out
If not:
- Manually ensure your nextcloud data structure is correct inside the App in both /var/www/html and /var/www/html/data
- Double check if data directory is not set to anything other than /var/www/html/data (not set at-all is fine though)
- Restart

View File

@@ -1,13 +0,0 @@
# Input Validation
**`Default Phone Region`**
Accepted formats are:
- 2x Capital Letters (eg. `US`)
Regex used to match this: `^[A-Z]{2}$`
You can try live [here](https://regex101.com/r/qf1Lti/1)
---
_If you find a field that you think it needs validation, please open an issue on github_

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

View File

@@ -1,346 +0,0 @@
# Include{groups}
portals:
open:
# Include{portalLink}
questions:
# Include{global}
# Include{controller}
# Include{controllerDeployment}
# Include{replicas}
# Include{replica1}
# Include{strategy}
# Include{recreate}
# Include{controllerExpert}
# Include{controllerExpertExtraArgs}
- variable: secretEnv
group: "Container Configuration"
label: "Image Secrets"
schema:
additional_attrs: true
type: dict
attrs:
- variable: NEXTCLOUD_ADMIN_USER
label: "NEXTCLOUD_ADMIN_USER (First Install Only)"
description: "Sets the initial nextcloud's admin username, changing this variable after first launch will NOT change admin's username"
schema:
type: string
required: true
default: "REPLACETHIS"
- variable: NEXTCLOUD_ADMIN_PASSWORD
label: "NEXTCLOUD_ADMIN_PASSWORD (First Install Only)"
description: "Sets the initial nextcloud's admin password, changing this variable after first launch will NOT change admin's password"
schema:
type: string
private: true
required: true
default: "REPLACETHIS"
- variable: env
group: "Container Configuration"
label: "Image Environment"
schema:
additional_attrs: true
type: dict
attrs:
- variable: TRUSTED_PROXIES
label: "Trusted Proxies (Advanced)"
description: "Sets nextcloud Trusted Proxies"
schema:
type: string
default: "172.16.0.0/16 127.0.0.1"
- variable: PHP_MEMORY_LIMIT
label: "PHP_MEMORY_LIMIT"
description: "Sets php memory_limit setting"
schema:
type: string
default: "1G"
- variable: PHP_UPLOAD_LIMIT
label: "PHP_UPLOAD_LIMIT"
description: "Sets php upload_max_filesize and post_max_size settings"
schema:
type: string
default: "10G"
- variable: AccessIP
label: "Access IP"
description: "Set to the IP-Address used to reach Nextcloud. Most often the Service or NodePort IP (Ensure this is correct!)"
schema:
type: string
required: true
$ref:
- "definitions/nodeIP"
- variable: nextcloud
group: "Container Configuration"
label: "Nextcloud Configuration"
schema:
additional_attrs: true
type: dict
attrs:
- variable: default_phone_region
label: "Default Phone Region"
description: "Sets the default phone region in ISO_3166-1 format (e.g. US). https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements"
schema:
type: string
valid_chars: '^[A-Z]{2}$'
default: "US"
- variable: imaginary
group: "Container Configuration"
label: "Preview Generation Configuration"
schema:
additional_attrs: true
type: dict
attrs:
- variable: preview_max_x
label: "Preview Max X"
description: "The maximum width, in pixels, of a preview."
schema:
type: int
required: true
default: 2048
- variable: preview_max_y
label: "Preview Max Y"
description: "The maximum height, in pixels, of a preview."
schema:
type: int
required: true
default: 2048
- variable: preview_max_memory
label: "Preview Max Memory"
description: "Max memory in MB for generating image previews."
schema:
type: int
required: true
default: 512
- variable: preview_max_filesize_image
label: "Preview Max Filesize Image"
description: "Max file size in MB for generating image previews."
schema:
type: int
required: true
default: 150
- variable: preview_png
label: "Generate previews for PNG"
schema:
type: boolean
default: true
- variable: preview_jpeg
label: "Generate previews for JPEG "
schema:
type: boolean
default: true
- variable: preview_gif
label: "Generate previews for GIF"
schema:
type: boolean
default: true
- variable: preview_bmp
label: "Generate previews for BMP"
schema:
type: boolean
default: true
- variable: preview_xbitmap
label: "Generate previews for XBitmap"
schema:
type: boolean
default: true
- variable: preview_mp3
label: "Generate previews for MP3"
schema:
type: boolean
default: true
- variable: preview_markdown
label: "Generate previews for MarkDown"
schema:
type: boolean
default: true
- variable: preview_opendoc
label: "Generate previews for OpenDocument"
schema:
type: boolean
default: true
- variable: preview_txt
label: "Generate previews for TXT"
schema:
type: boolean
default: true
- variable: preview_krita
label: "Generate previews for Krita"
schema:
type: boolean
default: true
- variable: preview_illustrator
label: "Generate previews for Illustrator"
schema:
type: boolean
default: false
- variable: preview_heic
label: "Generate previews for HEIC"
schema:
type: boolean
default: false
- variable: preview_movie
label: "Generate previews for Movie"
schema:
type: boolean
default: false
- variable: preview_msoffice2003
label: "Generate previews for MSOffice2003"
schema:
type: boolean
default: false
- variable: preview_msoffice2007
label: "Generate previews for MSOffice2007"
schema:
type: boolean
default: false
- variable: preview_msofficedoc
label: "Generate previews for MSOfficeDoc"
schema:
type: boolean
default: false
- variable: preview_pdf
label: "Generate previews for PDF"
schema:
type: boolean
default: false
- variable: preview_photoshop
label: "Generate previews for Photoshop"
schema:
type: boolean
default: false
- variable: preview_postscript
label: "Generate previews for Postscript"
schema:
type: boolean
default: false
- variable: preview_staroffice
label: "Generate previews for StarOffice"
schema:
type: boolean
default: false
- variable: preview_svg
label: "Generate previews for SVG"
schema:
type: boolean
default: false
- variable: preview_tiff
label: "Generate previews for TIFF"
schema:
type: boolean
default: false
- variable: preview_font
label: "Generate previews for Font"
schema:
type: boolean
default: false
# Include{containerConfig}
# Include{serviceRoot}
- variable: main
label: "Main Service"
description: "The Primary service on which the healthcheck runs, often the webUI"
schema:
additional_attrs: true
type: dict
attrs:
# Include{serviceSelector}
- variable: main
label: "Main Service Port Configuration"
schema:
additional_attrs: true
type: dict
attrs:
- variable: port
label: "Port"
description: "This port exposes the container port on the service"
schema:
type: int
default: 10020
required: true
# Include{advancedPortHTTP}
- variable: targetPort
label: "Target Port"
description: "The internal(!) port on the container the Application runs on"
schema:
type: int
default: 8080
# Include{serviceExpertRoot}
default: false
# Include{serviceExpert}
# Include{serviceList}
# Include{persistenceRoot}
- variable: html
label: "App html Storage"
description: "Stores the Application html."
schema:
additional_attrs: true
type: dict
attrs:
# Include{persistenceBasic}
# Include{persistenceAdvanced}
- variable: data
label: "UserData Storage"
description: "Stores the User Data."
schema:
additional_attrs: true
type: dict
attrs:
# Include{persistenceBasic}
# Include{persistenceAdvanced}
# Include{persistenceList}
# Include{ingressRoot}
- variable: main
label: "Main Ingress"
schema:
additional_attrs: true
type: dict
attrs:
# Include{ingressDefault}
# Include{ingressTLS}
# Include{ingressTraefik}
# Include{ingressExpert}
# Include{ingressList}
# Include{security}
# Include{securityContextAdvancedRoot}
- variable: privileged
label: "Privileged mode"
schema:
type: boolean
default: false
- variable: readOnlyRootFilesystem
label: "ReadOnly Root Filesystem"
schema:
type: boolean
default: false
- variable: allowPrivilegeEscalation
label: "Allow Privilege Escalation"
schema:
type: boolean
default: false
- variable: runAsNonRoot
label: "runAsNonRoot"
schema:
type: boolean
default: false
# Include{securityContextAdvanced}
# Include{podSecurityContextRoot}
- variable: runAsUser
label: "runAsUser"
description: "The UserID of the user running the application"
schema:
type: int
default: 0
- variable: runAsGroup
label: "runAsGroup"
description: "The groupID this App of the user running the application"
schema:
type: int
default: 0
- variable: fsGroup
label: "fsGroup"
description: "The group that should own ALL storage."
schema:
type: int
default: 33
# Include{podSecurityContextAdvanced}
# Include{resources}
# Include{advanced}
# Include{addons}
# Include{documentation}

View File

@@ -1,36 +0,0 @@
{{/* Define the configmap */}}
{{- define "nextcloud.configmap" -}}
{{- $hosts := "" }}
{{- if .Values.ingress.main.enabled }}
{{- range .Values.ingress }}
{{- range $index, $host := .hosts }}
{{- if $index }}
{{ $hosts = ( printf "%v %v" $hosts $host.host ) }}
{{- else }}
{{ $hosts = ( printf "%s" $host.host ) }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}
---
apiVersion: v1
kind: ConfigMap
metadata:
name: nextcloudconfig
data:
{{- $aliasgroup1 := ( printf "http://%s" ( .Values.env.AccessIP | default ( printf "%v-%v" .Release.Name "nextcloud" ) ) ) }}
{{- if .Values.ingress.main.enabled }}
{{- with (first .Values.ingress.main.hosts) }}
{{- $aliasgroup1 = ( printf "https://%s" .host ) }}
{{- end }}
{{- end }}
aliasgroup1: {{ $aliasgroup1 }}
NEXTCLOUD_TRUSTED_DOMAINS: {{ ( printf "%v %v %v %v %v %v %v %v" "test.fakedomain.dns" "localhost" "127.0.0.1" ( printf "%v:%v" "127.0.0.1" .Values.service.main.ports.main.port ) ( .Values.env.AccessIP | default "localhost" ) ( printf "%v-%v" .Release.Name "nextcloud" ) ( printf "%v-%v" .Release.Name "nextcloud-backend" ) $hosts ) | quote }}
{{- if .Values.ingress.main.enabled }}
APACHE_DISABLE_REWRITE_IP: "1"
{{- end }}
{{- end -}}

View File

@@ -1,64 +0,0 @@
{{/* Define the cronjob */}}
{{- define "nextcloud.cronjob" -}}
{{- if .Values.cronjob.enabled -}}
{{- $jobName := include "tc.common.names.fullname" . }}
---
apiVersion: batch/v1
kind: CronJob
metadata:
name: {{ printf "%s-cronjob" $jobName }}
labels:
{{- include "tc.common.labels" . | nindent 4 }}
spec:
schedule: "{{ .Values.cronjob.schedule }}"
concurrencyPolicy: Forbid
{{- with .Values.cronjob.failedJobsHistoryLimit }}
failedJobsHistoryLimit: {{ . }}
{{- end }}
{{- with .Values.cronjob.successfulJobsHistoryLimit }}
successfulJobsHistoryLimit: {{ . }}
{{- end }}
jobTemplate:
metadata:
spec:
template:
metadata:
spec:
restartPolicy: Never
{{- with (include "tc.common.controller.volumes" . | trim) }}
volumes:
{{- nindent 12 . }}
{{- end }}
containers:
- name: {{ .Chart.Name }}
image: '{{ include "tc.common.images.selector" . }}'
imagePullPolicy: {{ default .Values.image.pullPolicy }}
command:
- "/bin/sh"
- "-c"
- |
/bin/bash <<'EOF'
echo "running nextcloud cronjob..."
php -f /var/www/html/cron.php
echo "cronjob finished"
{{- if .Values.cronjob.generatePreviews }}
echo "Pre-generating Previews..."
php /var/www/html/occ preview:pre-generate
echo "Previews generated."
{{- end }}
EOF
# Will mount configuration files as www-data (id: 33) by default for nextcloud
{{- with (include "tc.common.controller.volumeMounts" . | trim) }}
volumeMounts:
{{ nindent 16 . }}
{{- end }}
securityContext:
runAsUser: 33
runAsGroup: 33
readOnlyRootFilesystem: true
runAsNonRoot: true
resources:
{{ toYaml .Values.resources | indent 16 }}
{{- end -}}
{{- end -}}

View File

@@ -1,164 +0,0 @@
{{/* Define the hbp container */}}
{{- define "nextcloud.hpb" -}}
{{- $jobName := include "tc.common.names.fullname" . }}
image: '{{ include "tc.common.images.selector" . }}'
imagePullPolicy: '{{ .Values.image.pullPolicy }}'
securityContext:
runAsUser: 33
runAsGroup: 33
readOnlyRootFilesystem: true
runAsNonRoot: true
{{- with (include "tc.common.controller.volumeMounts" . | trim) }}
volumeMounts:
{{ nindent 2 . }}
{{- end }}
ports:
- containerPort: 7867
readinessProbe:
httpGet:
path: /push/test/cookie
port: 7867
httpHeaders:
- name: Host
value: "test.fakedomain.dns"
initialDelaySeconds: {{ .Values.probes.readiness.spec.initialDelaySeconds }}
periodSeconds: {{ .Values.probes.readiness.spec.periodSeconds }}
timeoutSeconds: {{ .Values.probes.readiness.spec.timeoutSeconds }}
failureThreshold: {{ .Values.probes.readiness.spec.failureThreshold }}
livenessProbe:
httpGet:
path: /push/test/cookie
port: 7867
httpHeaders:
- name: Host
value: "test.fakedomain.dns"
initialDelaySeconds: {{ .Values.probes.liveness.spec.initialDelaySeconds }}
periodSeconds: {{ .Values.probes.liveness.spec.periodSeconds }}
timeoutSeconds: {{ .Values.probes.liveness.spec.timeoutSeconds }}
failureThreshold: {{ .Values.probes.liveness.spec.failureThreshold }}
startupProbe:
httpGet:
path: /push/test/cookie
port: 7867
httpHeaders:
- name: Host
value: "test.fakedomain.dns"
initialDelaySeconds: {{ .Values.probes.startup.spec.initialDelaySeconds }}
periodSeconds: {{ .Values.probes.startup.spec.periodSeconds }}
timeoutSeconds: {{ .Values.probes.startup.spec.timeoutSeconds }}
failureThreshold: {{ .Values.probes.startup.spec.failureThreshold }}
command:
- "/bin/sh"
- "-c"
- |
/bin/bash <<'EOF'
set -m
echo "Waiting for notify_push file to be available..."
until [ -f /var/www/html/custom_apps/notify_push/bin/x86_64/notify_push ]
do
sleep 10
echo "Notify_push app not found... waiting..."
done
echo "Waiting for Nextcloud to start..."
until $(curl --output /dev/null --silent --head --fail -H "Host: test.fakedomain.dns" http://127.0.0.1:8080/status.php); do
echo "Nextcloud not responding... waiting..."
sleep 10
done
until $(curl --silent --fail -H "Host: test.fakedomain.dns" http://127.0.0.1:8080/status.php | jq --raw-output '.installed' | grep "true"); do
echo "Nextcloud not installed... waiting..."
sleep 10
done
echo "Nextcloud instance with Notify_push found... Launching High Performance Backend..."
/var/www/html/custom_apps/notify_push/bin/x86_64/notify_push /var/www/html/config/config.php &
{{- $accessurl := ( printf "http://%v:%v" ( .Values.env.AccessIP | default ( printf "%v-%v" .Release.Name "nextcloud" ) ) .Values.service.main.ports.main.port ) }}
{{- if .Values.ingress.main.enabled }}
{{- with (first .Values.ingress.main.hosts) }}
{{- $accessurl = ( printf "https://%s" .host ) }}
{{- end }}
{{- end }}
echo "Configuring CLI url..."
php /var/www/html/occ config:system:set overwrite.cli.url --value='{{ $accessurl }}/'
{{- if .Values.imaginary.enabled }}
echo "Imaginary High Performance Previews enabled, enabling it on Nextcloud..."
php /var/www/html/occ config:system:set preview_imaginary_url --value='http://127.0.0.1:9090'
php /var/www/html/occ config:system:set preview_max_x --value='{{ .Values.imaginary.preview_max_x }}'
php /var/www/html/occ config:system:set preview_max_y --value='{{ .Values.imaginary.preview_max_y }}'
php /var/www/html/occ config:system:set preview_max_memory --value='{{ .Values.imaginary.preview_max_memory }}'
php /var/www/html/occ config:system:set preview_max_filesize_image --value='{{ .Values.imaginary.preview_max_filesize_image }}'
# Remove all preview providers and re-add only selected
php /var/www/html/occ config:system:delete enabledPreviewProviders
# Add imaginary always
{{ $c := 0 }} # Initialize counter
php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\Imaginary'{{ $c = add1 $c }}
{{ if .Values.imaginary.preview_png }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\PNG'{{ $c = add1 $c }}{{ end }}
{{ if .Values.imaginary.preview_jpeg }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\JPEG'{{ $c = add1 $c }}{{ end }}
{{ if .Values.imaginary.preview_gif }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\GIF'{{ $c = add1 $c }}{{ end }}
{{ if .Values.imaginary.preview_bmp }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\BMP'{{ $c = add1 $c }}{{ end }}
{{ if .Values.imaginary.preview_xbitmap }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\XBitmap'{{ $c = add1 $c }}{{ end }}
{{ if .Values.imaginary.preview_mp3 }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\MP3'{{ $c = add1 $c }}{{ end }}
{{ if .Values.imaginary.preview_markdown }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\MarkDown'{{ $c = add1 $c }}{{ end }}
{{ if .Values.imaginary.preview_opendoc }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\OpenDocument'{{ $c = add1 $c }}{{ end }}
{{ if .Values.imaginary.preview_txt }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\TXT'{{ $c = add1 $c }}{{ end }}
{{ if .Values.imaginary.preview_krita }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\Krita'{{ $c = add1 $c }}{{ end }}
{{ if .Values.imaginary.preview_illustrator }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\Illustrator'{{ $c = add1 $c }}{{ end }}
{{ if .Values.imaginary.preview_heic }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\HEIC'{{ $c = add1 $c }}{{ end }}
{{ if .Values.imaginary.preview_movie }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\Movie'{{ $c = add1 $c }}{{ end }}
{{ if .Values.imaginary.preview_msoffice2003 }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\MSOffice2003'{{ $c = add1 $c }}{{ end }}
{{ if .Values.imaginary.preview_msoffice2007 }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\MSOffice2007'{{ $c = add1 $c }}{{ end }}
{{ if .Values.imaginary.preview_msofficedoc }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\MSOfficeDoc'{{ $c = add1 $c }}{{ end }}
{{ if .Values.imaginary.preview_pdf }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\PDF'{{ $c = add1 $c }}{{ end }}
{{ if .Values.imaginary.preview_photoshop }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\Photoshop'{{ $c = add1 $c }}{{ end }}
{{ if .Values.imaginary.preview_postscript }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\Postscript'{{ $c = add1 $c }}{{ end }}
{{ if .Values.imaginary.preview_staroffice }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\StarOffice'{{ $c = add1 $c }}{{ end }}
{{ if .Values.imaginary.preview_svg }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\SVG'{{ $c = add1 $c }}{{ end }}
{{ if .Values.imaginary.preview_tiff }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\TIFF'{{ $c = add1 $c }}{{ end }}
{{ if .Values.imaginary.preview_font }}php /var/www/html/occ config:system:set enabledPreviewProviders {{ $c }} --value='OC\Preview\Font'{{ $c = add1 $c }}{{ end }}
{{- end }}
# Set default phone region
{{- with .Values.nextcloud.default_phone_region | upper }}
php /var/www/html/occ config:system:set default_phone_region --value='{{ . }}'
{{- end }}
echo "Configuring High Performance Backend for url: {{ $accessurl }}"
php /var/www/html/occ config:app:set notify_push base_endpoint --value='{{ $accessurl }}/push'
fg
EOF
env:
- name: NEXTCLOUD_URL
value: 'http://127.0.0.1:8080'
- name: METRICS_PORT
value: '7868'
- name: TRUSTED_PROXIES
value: "{{ .Values.env.TRUSTED_PROXIES }}"
- name: POSTGRES_DB
value: "{{ .Values.postgresql.postgresqlDatabase }}"
- name: POSTGRES_USER
value: "{{ .Values.postgresql.postgresqlUsername }}"
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: dbcreds
key: postgresql-password
- name: POSTGRES_HOST
valueFrom:
secretKeyRef:
name: dbcreds
key: plainporthost
- name: REDIS_HOST
valueFrom:
secretKeyRef:
name: rediscreds
key: plainhost
- name: REDIS_HOST_PASSWORD
valueFrom:
secretKeyRef:
name: rediscreds
key: redis-password
envFrom:
- configMapRef:
name: nextcloudconfig
{{- end -}}

View File

@@ -1,40 +0,0 @@
{{/* Define the imaginary container */}}
{{- define "nextcloud.imaginary" -}}
image: {{ .Values.imaginaryImage.repository }}:{{ .Values.imaginaryImage.tag }}
imagePullPolicy: '{{ .Values.image.pullPolicy }}'
securityContext:
runAsUser: 33
runAsGroup: 33
readOnlyRootFilesystem: true
runAsNonRoot: true
ports:
- containerPort: 9090
args: ["-enable-url-source"]
env:
- name: 'PORT'
value: '9090'
readinessProbe:
httpGet:
path: /
port: 9090
initialDelaySeconds: {{ .Values.probes.readiness.spec.initialDelaySeconds }}
periodSeconds: {{ .Values.probes.readiness.spec.periodSeconds }}
timeoutSeconds: {{ .Values.probes.readiness.spec.timeoutSeconds }}
failureThreshold: {{ .Values.probes.readiness.spec.failureThreshold }}
livenessProbe:
httpGet:
path: /
port: 9090
initialDelaySeconds: {{ .Values.probes.liveness.spec.initialDelaySeconds }}
periodSeconds: {{ .Values.probes.liveness.spec.periodSeconds }}
timeoutSeconds: {{ .Values.probes.liveness.spec.timeoutSeconds }}
failureThreshold: {{ .Values.probes.liveness.spec.failureThreshold }}
startupProbe:
httpGet:
path: /
port: 9090
initialDelaySeconds: {{ .Values.probes.startup.spec.initialDelaySeconds }}
periodSeconds: {{ .Values.probes.startup.spec.periodSeconds }}
timeoutSeconds: {{ .Values.probes.startup.spec.timeoutSeconds }}
failureThreshold: {{ .Values.probes.startup.spec.failureThreshold }}
{{- end -}}

View File

@@ -1,54 +0,0 @@
{{/* Define the nginx container */}}
{{- define "nextcloud.nginx" -}}
image: {{ .Values.nginxImage.repository }}:{{ .Values.nginxImage.tag }}
imagePullPolicy: '{{ .Values.image.pullPolicy }}'
securityContext:
runAsUser: 33
runAsGroup: 33
readOnlyRootFilesystem: true
runAsNonRoot: true
{{- with (include "tc.common.controller.volumeMounts" . | trim) }}
volumeMounts:
{{ nindent 2 . }}
{{- end }}
- mountPath: /etc/nginx/nginx.conf
name: nginx
readOnly: true
subPath: nginx.conf
ports:
- containerPort: 8080
readinessProbe:
httpGet:
path: /robots.txt
port: 8080
httpHeaders:
- name: Host
value: "test.fakedomain.dns"
initialDelaySeconds: {{ .Values.probes.readiness.spec.initialDelaySeconds }}
periodSeconds: {{ .Values.probes.readiness.spec.periodSeconds }}
timeoutSeconds: {{ .Values.probes.readiness.spec.timeoutSeconds }}
failureThreshold: {{ .Values.probes.readiness.spec.failureThreshold }}
livenessProbe:
httpGet:
path: /robots.txt
port: 8080
httpHeaders:
- name: Host
value: "test.fakedomain.dns"
initialDelaySeconds: {{ .Values.probes.liveness.spec.initialDelaySeconds }}
periodSeconds: {{ .Values.probes.liveness.spec.periodSeconds }}
timeoutSeconds: {{ .Values.probes.liveness.spec.timeoutSeconds }}
failureThreshold: {{ .Values.probes.liveness.spec.failureThreshold }}
startupProbe:
httpGet:
path: /robots.txt
port: 8080
httpHeaders:
- name: Host
value: "test.fakedomain.dns"
initialDelaySeconds: {{ .Values.probes.startup.spec.initialDelaySeconds }}
periodSeconds: {{ .Values.probes.startup.spec.periodSeconds }}
timeoutSeconds: {{ .Values.probes.startup.spec.timeoutSeconds }}
failureThreshold: {{ .Values.probes.startup.spec.failureThreshold }}
{{- end -}}

View File

@@ -1,22 +0,0 @@
{{/* Make sure all variables are set properly */}}
{{- include "tc.common.loader.init" . }}
{{/* Render configmap for nextcloud */}}
{{- include "nextcloud.configmap" . }}
{{- $newMiddlewares := append .Values.ingress.main.fixedMiddlewares "tc-nextcloud-chain" }}
{{- $_ := set .Values.ingress.main "fixedMiddlewares" $newMiddlewares -}}
{{- $_ := set .Values.additionalContainers "nginx" (include "nextcloud.nginx" . | fromYaml) -}}
{{- if .Values.imaginary.enabled -}}
{{- $_ := set .Values.additionalContainers "imaginary" (include "nextcloud.imaginary" . | fromYaml) -}}
{{- end -}}
{{- if .Values.hpb.enabled -}}
{{- $_ := set .Values.additionalContainers "hpb" (include "nextcloud.hpb" . | fromYaml) -}}
{{- end -}}
{{/* Render the templates */}}
{{ include "tc.common.loader.apply" . }}
{{/* Render cronjob for nextcloud */}}
{{- include "nextcloud.cronjob" . }}

View File

@@ -1,457 +0,0 @@
image:
repository: tccr.io/truecharts/nextcloud-fpm
pullPolicy: IfNotPresent
tag: 24.0.5@sha256:3448bd2ef8b73c61d0085cc1b2272b9e2573fe20333e94c12f8da35a1f8dd942
nginxImage:
repository: tccr.io/truecharts/nginx-unprivileged
pullPolicy: IfNotPresent
tag: 1.23.1@sha256:7770a2428904ef89362174b8774c2b6f26f738ad34580183b7d6b86b619d730a
imaginaryImage:
repository: h2non/imaginary
pullPolicy: IfNotPresent
tag: 1.2.4@sha256:7facb4221047a5e79b9e902f380247f4e5bf4376400d0badbeb738d3e1c2f654
securityContext:
readOnlyRootFilesystem: false
runAsNonRoot: false
podSecurityContext:
runAsUser: 0
runAsGroup: 0
fsGroup: 33
service:
main:
ports:
main:
port: 10020
targetPort: 8080
backend:
enabled: true
ports:
hpb:
enabled: true
port: 7867
targetPort: 7867
hpb-metrics:
enabled: true
port: 7868
targetPort: 7868
fpm:
enabled: true
port: 9000
targetPort: 9000
imaginary:
enabled: true
port: 9090
targetPort: 9090
hostAliases:
- ip: '{{ .Values.env.AccessIP | default "127.0.0.1" }}'
hostnames:
- "{{ if .Values.ingress.main.enabled }}{{ with (first .Values.ingress.main.hosts) }}{{ .host }}{{ end }}{{ else }}placeholder.fakedomain.dns{{ end }}"
secretEnv:
NEXTCLOUD_ADMIN_USER: "admin"
NEXTCLOUD_ADMIN_PASSWORD: "adminpass"
probes:
liveness:
custom: true
spec:
initialDelaySeconds: 25
httpGet:
path: /status.php
port: 8080
httpHeaders:
- name: Host
value: "test.fakedomain.dns"
readiness:
custom: true
spec:
initialDelaySeconds: 25
httpGet:
path: /status.php
port: 8080
httpHeaders:
- name: Host
value: "test.fakedomain.dns"
startup:
custom: true
spec:
initialDelaySeconds: 25
httpGet:
path: /status.php
port: 8080
httpHeaders:
- name: Host
value: "test.fakedomain.dns"
initContainers:
prestart:
image: '{{ include "tc.common.images.selector" . }}'
securityContext:
runAsUser: 0
runAsGroup: 0
privileged: true
command:
- "/bin/sh"
- "-c"
- |
/bin/bash <<'EOF'
echo "Forcing permissions on userdata folder..."
if nfs4xdr_getfacl && nfs4xdr_getfacl | grep -qv "Failed to get NFSv4 ACL"; then
echo "NFSv4 ACLs detected, Trying to override permissions using nfs4_setfacl..."
nfs4_setfacl -R -a A:g:33:RWX "/var/www/html/data"
else
echo "No NFSv4 ACLs detected, trying to override permissions using chown/chmod..."
echo "checking ownership..."
if [ $(stat -c %g .) -eq 33 ]; then
echo "Ownership already set to 33, skipping..."
else
echo "Changing ownership to group 33..."
chown -R :33 "/var/www/html/data"
fi
chmod 770 /var/www/html/data
fi
EOF
volumeMounts:
- name: data
mountPath: "/var/www/html/data"
- name: html
mountPath: "/var/www/html"
env:
# IP used for exposing nextcloud
# Often the service or nodePort IP
# Defaults to the main serviceName for CI purposes.
AccessIP:
NEXTCLOUD_INIT_HTACCESS: true
PHP_MEMORY_LIMIT: 1G
PHP_UPLOAD_LIMIT: 10G
NEXTCLOUD_CHUNKSIZE: "31457280"
TRUSTED_PROXIES: "172.16.0.0/16 127.0.0.1"
POSTGRES_DB: "{{ .Values.postgresql.postgresqlDatabase }}"
POSTGRES_USER: "{{ .Values.postgresql.postgresqlUsername }}"
NC_check_data_directory_permissions: "true"
POSTGRES_PASSWORD:
secretKeyRef:
name: dbcreds
key: postgresql-password
POSTGRES_HOST:
secretKeyRef:
name: dbcreds
key: plainporthost
REDIS_HOST:
secretKeyRef:
name: rediscreds
key: plainhost
REDIS_HOST_PASSWORD:
secretKeyRef:
name: rediscreds
key: redis-password
envFrom:
- configMapRef:
name: nextcloudconfig
persistence:
html:
enabled: true
mountPath: "/var/www/html"
data:
enabled: true
mountPath: "/var/www/html/data"
varrun:
enabled: true
cache:
enabled: true
type: emptyDir
mountPath: /var/cache/nginx
medium: Memory
nginx:
enabled: "true"
mountPath: "/etc/nginx"
noMount: true
readOnly: true
type: "custom"
volumeSpec:
configMap:
name: '{{ include "tc.common.names.fullname" . }}-nginx'
items:
- key: nginx.conf
path: nginx.conf
configmap:
nginx:
enabled: true
data:
nginx.conf: |-
worker_processes auto;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
# Prevent nginx HTTP Server Detection
server_tokens off;
keepalive_timeout 65;
#gzip on;
upstream php-handler {
server 127.0.0.1:9000;
}
server {
listen 8080;
absolute_redirect off;
# Forward Notify_Push "High Performance Backend" to it's own container
location ^~ /push/ {
proxy_pass http://127.0.0.1:7867/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
# HSTS settings
# WARNING: Only add the preload option once you read about
# the consequences in https://hstspreload.org/. This option
# will add the domain to a hardcoded list that is shipped
# in all major browsers and getting removed from this list
# could take several months.
#add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always;
# set max upload size
client_max_body_size {{ .Values.env.PHP_UPLOAD_LIMIT | default "512M" }};
fastcgi_buffers 64 4K;
# Enable gzip but do not remove ETag headers
gzip on;
gzip_vary on;
gzip_comp_level 4;
gzip_min_length 256;
gzip_proxied expired no-cache no-store private no_last_modified no_etag auth;
gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy;
# Pagespeed is not supported by Nextcloud, so if your server is built
# with the `ngx_pagespeed` module, uncomment this line to disable it.
#pagespeed off;
# HTTP response headers borrowed from Nextcloud `.htaccess`
add_header Referrer-Policy "no-referrer" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-Download-Options "noopen" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Permitted-Cross-Domain-Policies "none" always;
add_header X-Robots-Tag "none" always;
add_header X-XSS-Protection "1; mode=block" always;
# Remove X-Powered-By, which is an information leak
fastcgi_hide_header X-Powered-By;
# Path to the root of your installation
root /var/www/html;
# Specify how to handle directories -- specifying `/index.php$request_uri`
# here as the fallback means that Nginx always exhibits the desired behaviour
# when a client requests a path that corresponds to a directory that exists
# on the server. In particular, if that directory contains an index.php file,
# that file is correctly served; if it doesn't, then the request is passed to
# the front-end controller. This consistent behaviour means that we don't need
# to specify custom rules for certain paths (e.g. images and other assets,
# `/updater`, `/ocm-provider`, `/ocs-provider`), and thus
# `try_files $uri $uri/ /index.php$request_uri`
# always provides the desired behaviour.
index index.php index.html /index.php$request_uri;
# Rule borrowed from `.htaccess` to handle Microsoft DAV clients
location = / {
if ( $http_user_agent ~ ^DavClnt ) {
return 302 /remote.php/webdav/$is_args$args;
}
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
# Make a regex exception for `/.well-known` so that clients can still
# access it despite the existence of the regex rule
# `location ~ /(\.|autotest|...)` which would otherwise handle requests
# for `/.well-known`.
location ^~ /.well-known {
# The rules in this block are an adaptation of the rules
# in `.htaccess` that concern `/.well-known`.
location = /.well-known/carddav { return 301 /remote.php/dav/; }
location = /.well-known/caldav { return 301 /remote.php/dav/; }
# according to the documentation these two lines are not necessary, but some users are still recieving errors
location = /.well-known/webfinger { return 301 /index.php$uri; }
location = /.well-known/nodeinfo { return 301 /index.php$uri; }
location /.well-known/acme-challenge { try_files $uri $uri/ =404; }
location /.well-known/pki-validation { try_files $uri $uri/ =404; }
# Let Nextcloud's API for `/.well-known` URIs handle all other
# requests by passing them to the front-end controller.
return 301 /index.php$request_uri;
}
# Rules borrowed from `.htaccess` to hide certain paths from clients
location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)(?:$|/) { return 404; }
location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) { return 404; }
# Ensure this block, which passes PHP files to the PHP process, is above the blocks
# which handle static assets (as seen below). If this block is not declared first,
# then Nginx will encounter an infinite rewriting loop when it prepends `/index.php`
# to the URI, resulting in a HTTP 500 error response.
location ~ \.php(?:$|/) {
# Required for legacy support
rewrite ^/(?!index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|oc[ms]-provider\/.+|.+\/richdocumentscode\/proxy) /index.php$request_uri;
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
set $path_info $fastcgi_path_info;
try_files $fastcgi_script_name =404;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $path_info;
#fastcgi_param HTTPS on;
fastcgi_param modHeadersAvailable true; # Avoid sending the security headers twice
fastcgi_param front_controller_active true; # Enable pretty urls
fastcgi_pass php-handler;
fastcgi_intercept_errors on;
fastcgi_request_buffering off;
proxy_send_timeout 300s;
proxy_read_timeout 300s;
fastcgi_send_timeout 300s;
fastcgi_read_timeout 300s;
}
location ~ \.(?:css|js|svg|gif)$ {
try_files $uri /index.php$request_uri;
expires 6M; # Cache-Control policy borrowed from `.htaccess`
access_log off; # Optional: Don't log access to assets
}
location ~ \.woff2?$ {
try_files $uri /index.php$request_uri;
expires 7d; # Cache-Control policy borrowed from `.htaccess`
access_log off; # Optional: Don't log access to assets
}
# Rule borrowed from `.htaccess`
location /remote {
return 301 /remote.php$request_uri;
}
location / {
try_files $uri $uri/ /index.php$request_uri;
}
}
}
cronjob:
enabled: true
generatePreviews: true
schedule: "*/5 * * * *"
annotations: {}
failedJobsHistoryLimit: 5
successfulJobsHistoryLimit: 2
hpb:
enabled: true
nextcloud:
# https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements
default_phone_region: ""
imaginary:
enabled: true
preview_max_x: 2048
preview_max_y: 2048
preview_max_memory: 512
preview_max_filesize_image: 150
preview_png: true
preview_jpeg: true
preview_gif: true
preview_bmp: true
preview_xbitmap: true
preview_mp3: true
preview_markdown: true
preview_opendoc: true
preview_txt: true
preview_krita: true
preview_illustrator: false
preview_heic: false
preview_movie: false
preview_msoffice2003: false
preview_msoffice2007: false
preview_msofficedoc: false
preview_pdf: false
preview_photoshop: false
preview_postscript: false
preview_staroffice: false
preview_svg: false
preview_tiff: false
preview_font: false
collabora:
enabled: false
env:
aliasgroup1:
configMapRef:
name: nextcloudconfig
key: aliasgroup1
dictionaries: "de_DE en_GB en_US es_ES fr_FR it nl pt_BR pt_PT ru"
extra_params: "--o:welcome.enable=false --o:logging.level=information --o:user_interface.mode=notebookbar --o:ssl.termination=true --o:ssl.enable=false "
server_name: ""
DONT_GEN_SSL_CERT: true
postgresql:
enabled: true
existingSecret: "dbcreds"
postgresqlUsername: nextcloud
postgresqlDatabase: nextcloud
redis:
enabled: true
existingSecret: "rediscreds"
portal:
enabled: true

File diff suppressed because it is too large Load Diff

View File

@@ -1,31 +0,0 @@
apiVersion: v2
appVersion: "2.8.4"
dependencies:
- name: common
repository: https://library-charts.truecharts.org
version: 10.5.9
deprecated: false
description: Traefik is a flexible reverse proxy and Ingress Provider.
home: https://truecharts.org/docs/charts/stable/traefik
icon: https://truecharts.org/img/hotlink-ok/chart-icons/traefik.png
keywords:
- traefik
- ingress
kubeVersion: ">=1.16.0-0"
maintainers:
- email: info@truecharts.org
name: TrueCharts
url: https://truecharts.org
name: traefik
sources:
- https://github.com/truecharts/charts/tree/master/charts/stable/traefik
- https://github.com/traefik/traefik
- https://github.com/traefik/traefik-helm-chart
- https://traefik.io/
type: application
version: 13.3.7
annotations:
truecharts.org/catagories: |
- network
truecharts.org/SCALE-support: "true"
truecharts.org/grade: U

View File

@@ -1 +0,0 @@

View File

@@ -1,209 +0,0 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
"helm.sh/resource-policy": keep
"helm.sh/hook": pre-install,pre-upgrade,pre-rollback
controller-gen.kubebuilder.io/version: v0.4.1
creationTimestamp: null
name: ingressroutes.traefik.containo.us
spec:
group: traefik.containo.us
names:
kind: IngressRoute
listKind: IngressRouteList
plural: ingressroutes
singular: ingressroute
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: IngressRoute is an Ingress CRD specification.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"
type: string
metadata:
type: object
spec:
description:
IngressRouteSpec is a specification for a IngressRouteSpec
resource.
properties:
entryPoints:
items:
type: string
type: array
routes:
items:
description: Route contains the set of routes.
properties:
kind:
enum:
- Rule
type: string
match:
type: string
middlewares:
items:
description: MiddlewareRef is a ref to the Middleware resources.
properties:
name:
type: string
namespace:
type: string
required:
- name
type: object
type: array
priority:
type: integer
services:
items:
description: Service defines an upstream to proxy traffic.
properties:
kind:
enum:
- Service
- TraefikService
type: string
name:
description:
Name is a reference to a Kubernetes Service
object (for a load-balancer of servers), or to a TraefikService
object (service load-balancer, mirroring, etc). The
differentiation between the two is specified in the
Kind field.
type: string
namespace:
type: string
passHostHeader:
type: boolean
port:
anyOf:
- type: integer
- type: string
x-kubernetes-int-or-string: true
responseForwarding:
description:
ResponseForwarding holds configuration for
the forward of the response.
properties:
flushInterval:
type: string
type: object
scheme:
type: string
serversTransport:
type: string
sticky:
description: Sticky holds the sticky configuration.
properties:
cookie:
description:
Cookie holds the sticky configuration
based on cookie.
properties:
httpOnly:
type: boolean
name:
type: string
sameSite:
type: string
secure:
type: boolean
type: object
type: object
strategy:
type: string
weight:
description:
Weight should only be specified when Name
references a TraefikService object (and to be precise,
one that embeds a Weighted Round Robin).
type: integer
required:
- name
type: object
type: array
required:
- kind
- match
type: object
type: array
tls:
description:
"TLS contains the TLS certificates configuration of the
routes. To enable Let's Encrypt, use an empty TLS struct, e.g. in
YAML: \n \t tls: {} # inline format \n \t tls: \t secretName:
# block format"
properties:
certResolver:
type: string
domains:
items:
description: Domain holds a domain name with SANs.
properties:
main:
type: string
sans:
items:
type: string
type: array
type: object
type: array
options:
description:
Options is a reference to a TLSOption, that specifies
the parameters of the TLS connection.
properties:
name:
type: string
namespace:
type: string
required:
- name
type: object
secretName:
description:
SecretName is the name of the referenced Kubernetes
Secret to specify the certificate details.
type: string
store:
description:
Store is a reference to a TLSStore, that specifies
the parameters of the TLS store.
properties:
name:
type: string
namespace:
type: string
required:
- name
type: object
type: object
required:
- routes
type: object
required:
- metadata
- spec
type: object
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []

View File

@@ -1,169 +0,0 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
"helm.sh/resource-policy": keep
"helm.sh/hook": pre-install,pre-upgrade,pre-rollback
controller-gen.kubebuilder.io/version: v0.4.1
creationTimestamp: null
name: ingressroutetcps.traefik.containo.us
spec:
group: traefik.containo.us
names:
kind: IngressRouteTCP
listKind: IngressRouteTCPList
plural: ingressroutetcps
singular: ingressroutetcp
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: IngressRouteTCP is an Ingress CRD specification.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"
type: string
metadata:
type: object
spec:
description:
IngressRouteTCPSpec is a specification for a IngressRouteTCPSpec
resource.
properties:
entryPoints:
items:
type: string
type: array
routes:
items:
description: RouteTCP contains the set of routes.
properties:
match:
type: string
middlewares:
description:
Middlewares contains references to MiddlewareTCP
resources.
items:
description:
ObjectReference is a generic reference to a Traefik
resource.
properties:
name:
type: string
namespace:
type: string
required:
- name
type: object
type: array
services:
items:
description: ServiceTCP defines an upstream to proxy traffic.
properties:
name:
type: string
namespace:
type: string
port:
anyOf:
- type: integer
- type: string
x-kubernetes-int-or-string: true
proxyProtocol:
description: ProxyProtocol holds the ProxyProtocol configuration.
properties:
version:
type: integer
type: object
terminationDelay:
type: integer
weight:
type: integer
required:
- name
- port
type: object
type: array
required:
- match
type: object
type: array
tls:
description:
"TLSTCP contains the TLS certificates configuration of
the routes. To enable Let's Encrypt, use an empty TLS struct, e.g.
in YAML: \n \t tls: {} # inline format \n \t tls: \t secretName:
# block format"
properties:
certResolver:
type: string
domains:
items:
description: Domain holds a domain name with SANs.
properties:
main:
type: string
sans:
items:
type: string
type: array
type: object
type: array
options:
description:
Options is a reference to a TLSOption, that specifies
the parameters of the TLS connection.
properties:
name:
type: string
namespace:
type: string
required:
- name
type: object
passthrough:
type: boolean
secretName:
description:
SecretName is the name of the referenced Kubernetes
Secret to specify the certificate details.
type: string
store:
description:
Store is a reference to a TLSStore, that specifies
the parameters of the TLS store.
properties:
name:
type: string
namespace:
type: string
required:
- name
type: object
type: object
required:
- routes
type: object
required:
- metadata
- spec
type: object
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []

View File

@@ -1,87 +0,0 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
"helm.sh/resource-policy": keep
"helm.sh/hook": pre-install,pre-upgrade,pre-rollback
controller-gen.kubebuilder.io/version: v0.4.1
creationTimestamp: null
name: ingressrouteudps.traefik.containo.us
spec:
group: traefik.containo.us
names:
kind: IngressRouteUDP
listKind: IngressRouteUDPList
plural: ingressrouteudps
singular: ingressrouteudp
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: IngressRouteUDP is an Ingress CRD specification.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"
type: string
metadata:
type: object
spec:
description:
IngressRouteUDPSpec is a specification for a IngressRouteUDPSpec
resource.
properties:
entryPoints:
items:
type: string
type: array
routes:
items:
description: RouteUDP contains the set of routes.
properties:
services:
items:
description: ServiceUDP defines an upstream to proxy traffic.
properties:
name:
type: string
namespace:
type: string
port:
anyOf:
- type: integer
- type: string
x-kubernetes-int-or-string: true
weight:
type: integer
required:
- name
- port
type: object
type: array
type: object
type: array
required:
- routes
type: object
required:
- metadata
- spec
type: object
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []

View File

@@ -1,587 +0,0 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
"helm.sh/resource-policy": keep
"helm.sh/hook": pre-install,pre-upgrade,pre-rollback
controller-gen.kubebuilder.io/version: v0.4.1
creationTimestamp: null
name: middlewares.traefik.containo.us
spec:
group: traefik.containo.us
names:
kind: Middleware
listKind: MiddlewareList
plural: middlewares
singular: middleware
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: Middleware is a specification for a Middleware resource.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"
type: string
metadata:
type: object
spec:
description: MiddlewareSpec holds the Middleware configuration.
properties:
addPrefix:
description: AddPrefix holds the AddPrefix configuration.
properties:
prefix:
type: string
type: object
basicAuth:
description: BasicAuth holds the HTTP basic authentication configuration.
properties:
headerField:
type: string
realm:
type: string
removeHeader:
type: boolean
secret:
type: string
type: object
buffering:
description: Buffering holds the request/response buffering configuration.
properties:
maxRequestBodyBytes:
format: int64
type: integer
maxResponseBodyBytes:
format: int64
type: integer
memRequestBodyBytes:
format: int64
type: integer
memResponseBodyBytes:
format: int64
type: integer
retryExpression:
type: string
type: object
chain:
description: Chain holds a chain of middlewares.
properties:
middlewares:
items:
description: MiddlewareRef is a ref to the Middleware resources.
properties:
name:
type: string
namespace:
type: string
required:
- name
type: object
type: array
type: object
circuitBreaker:
description: CircuitBreaker holds the circuit breaker configuration.
properties:
expression:
type: string
type: object
compress:
description: Compress holds the compress configuration.
properties:
excludedContentTypes:
items:
type: string
type: array
type: object
contentType:
description:
ContentType middleware - or rather its unique `autoDetect`
option - specifies whether to let the `Content-Type` header, if
it has not been set by the backend, be automatically set to a value
derived from the contents of the response. As a proxy, the default
behavior should be to leave the header alone, regardless of what
the backend did with it. However, the historic default was to always
auto-detect and set the header if it was nil, and it is going to
be kept that way in order to support users currently relying on
it. This middleware exists to enable the correct behavior until
at least the default one can be changed in a future version.
properties:
autoDetect:
type: boolean
type: object
digestAuth:
description: DigestAuth holds the Digest HTTP authentication configuration.
properties:
headerField:
type: string
realm:
type: string
removeHeader:
type: boolean
secret:
type: string
type: object
errors:
description: ErrorPage holds the custom error page configuration.
properties:
query:
type: string
service:
description: Service defines an upstream to proxy traffic.
properties:
kind:
enum:
- Service
- TraefikService
type: string
name:
description:
Name is a reference to a Kubernetes Service object
(for a load-balancer of servers), or to a TraefikService
object (service load-balancer, mirroring, etc). The differentiation
between the two is specified in the Kind field.
type: string
namespace:
type: string
passHostHeader:
type: boolean
port:
anyOf:
- type: integer
- type: string
x-kubernetes-int-or-string: true
responseForwarding:
description:
ResponseForwarding holds configuration for the
forward of the response.
properties:
flushInterval:
type: string
type: object
scheme:
type: string
serversTransport:
type: string
sticky:
description: Sticky holds the sticky configuration.
properties:
cookie:
description:
Cookie holds the sticky configuration based
on cookie.
properties:
httpOnly:
type: boolean
name:
type: string
sameSite:
type: string
secure:
type: boolean
type: object
type: object
strategy:
type: string
weight:
description:
Weight should only be specified when Name references
a TraefikService object (and to be precise, one that embeds
a Weighted Round Robin).
type: integer
required:
- name
type: object
status:
items:
type: string
type: array
type: object
forwardAuth:
description: ForwardAuth holds the http forward authentication configuration.
properties:
address:
type: string
authRequestHeaders:
items:
type: string
type: array
authResponseHeaders:
items:
type: string
type: array
authResponseHeadersRegex:
type: string
tls:
description: ClientTLS holds TLS specific configurations as client.
properties:
caOptional:
type: boolean
caSecret:
type: string
certSecret:
type: string
insecureSkipVerify:
type: boolean
type: object
trustForwardHeader:
type: boolean
type: object
headers:
description: Headers holds the custom header configuration.
properties:
accessControlAllowCredentials:
description:
AccessControlAllowCredentials is only valid if true.
false is ignored.
type: boolean
accessControlAllowHeaders:
description:
AccessControlAllowHeaders must be used in response
to a preflight request with Access-Control-Request-Headers set.
items:
type: string
type: array
accessControlAllowMethods:
description:
AccessControlAllowMethods must be used in response
to a preflight request with Access-Control-Request-Method set.
items:
type: string
type: array
accessControlAllowOriginList:
description:
AccessControlAllowOriginList is a list of allowable
origins. Can also be a wildcard origin "*".
items:
type: string
type: array
accessControlAllowOriginListRegex:
description:
AccessControlAllowOriginListRegex is a list of allowable
origins written following the Regular Expression syntax (https://golang.org/pkg/regexp/).
items:
type: string
type: array
accessControlExposeHeaders:
description:
AccessControlExposeHeaders sets valid headers for
the response.
items:
type: string
type: array
accessControlMaxAge:
description:
AccessControlMaxAge sets the time that a preflight
request may be cached.
format: int64
type: integer
addVaryHeader:
description:
AddVaryHeader controls if the Vary header is automatically
added/updated when the AccessControlAllowOriginList is set.
type: boolean
allowedHosts:
items:
type: string
type: array
browserXssFilter:
type: boolean
contentSecurityPolicy:
type: string
contentTypeNosniff:
type: boolean
customBrowserXSSValue:
type: string
customFrameOptionsValue:
type: string
customRequestHeaders:
additionalProperties:
type: string
type: object
customResponseHeaders:
additionalProperties:
type: string
type: object
featurePolicy:
type: string
forceSTSHeader:
type: boolean
frameDeny:
type: boolean
hostsProxyHeaders:
items:
type: string
type: array
isDevelopment:
type: boolean
publicKey:
type: string
referrerPolicy:
type: string
sslForceHost:
description: "Deprecated: use RedirectRegex instead."
type: boolean
sslHost:
description: "Deprecated: use RedirectRegex instead."
type: string
sslProxyHeaders:
additionalProperties:
type: string
type: object
sslRedirect:
description:
"Deprecated: use EntryPoint redirection or RedirectScheme
instead."
type: boolean
sslTemporaryRedirect:
description:
"Deprecated: use EntryPoint redirection or RedirectScheme
instead."
type: boolean
stsIncludeSubdomains:
type: boolean
stsPreload:
type: boolean
stsSeconds:
format: int64
type: integer
type: object
inFlightReq:
description:
InFlightReq limits the number of requests being processed
and served concurrently.
properties:
amount:
format: int64
type: integer
sourceCriterion:
description:
SourceCriterion defines what criterion is used to
group requests as originating from a common source. If none
are set, the default is to use the request's remote address
field. All fields are mutually exclusive.
properties:
ipStrategy:
description: IPStrategy holds the ip strategy configuration.
properties:
depth:
type: integer
excludedIPs:
items:
type: string
type: array
type: object
requestHeaderName:
type: string
requestHost:
type: boolean
type: object
type: object
ipWhiteList:
description: IPWhiteList holds the ip white list configuration.
properties:
ipStrategy:
description: IPStrategy holds the ip strategy configuration.
properties:
depth:
type: integer
excludedIPs:
items:
type: string
type: array
type: object
sourceRange:
items:
type: string
type: array
type: object
passTLSClientCert:
description: PassTLSClientCert holds the TLS client cert headers configuration.
properties:
info:
description:
TLSClientCertificateInfo holds the client TLS certificate
info configuration.
properties:
issuer:
description:
TLSCLientCertificateDNInfo holds the client TLS
certificate distinguished name info configuration. cf https://tools.ietf.org/html/rfc3739
properties:
commonName:
type: boolean
country:
type: boolean
domainComponent:
type: boolean
locality:
type: boolean
organization:
type: boolean
province:
type: boolean
serialNumber:
type: boolean
type: object
notAfter:
type: boolean
notBefore:
type: boolean
sans:
type: boolean
serialNumber:
type: boolean
subject:
description:
TLSCLientCertificateDNInfo holds the client TLS
certificate distinguished name info configuration. cf https://tools.ietf.org/html/rfc3739
properties:
commonName:
type: boolean
country:
type: boolean
domainComponent:
type: boolean
locality:
type: boolean
organization:
type: boolean
province:
type: boolean
serialNumber:
type: boolean
type: object
type: object
pem:
type: boolean
type: object
plugin:
additionalProperties:
x-kubernetes-preserve-unknown-fields: true
type: object
rateLimit:
description:
RateLimit holds the rate limiting configuration for a
given router.
properties:
average:
format: int64
type: integer
burst:
format: int64
type: integer
period:
anyOf:
- type: integer
- type: string
x-kubernetes-int-or-string: true
sourceCriterion:
description:
SourceCriterion defines what criterion is used to
group requests as originating from a common source. If none
are set, the default is to use the request's remote address
field. All fields are mutually exclusive.
properties:
ipStrategy:
description: IPStrategy holds the ip strategy configuration.
properties:
depth:
type: integer
excludedIPs:
items:
type: string
type: array
type: object
requestHeaderName:
type: string
requestHost:
type: boolean
type: object
type: object
redirectRegex:
description: RedirectRegex holds the redirection configuration.
properties:
permanent:
type: boolean
regex:
type: string
replacement:
type: string
type: object
redirectScheme:
description: RedirectScheme holds the scheme redirection configuration.
properties:
permanent:
type: boolean
port:
type: string
scheme:
type: string
type: object
replacePath:
description: ReplacePath holds the ReplacePath configuration.
properties:
path:
type: string
type: object
replacePathRegex:
description: ReplacePathRegex holds the ReplacePathRegex configuration.
properties:
regex:
type: string
replacement:
type: string
type: object
retry:
description: Retry holds the retry configuration.
properties:
attempts:
type: integer
initialInterval:
anyOf:
- type: integer
- type: string
x-kubernetes-int-or-string: true
type: object
stripPrefix:
description: StripPrefix holds the StripPrefix configuration.
properties:
forceSlash:
type: boolean
prefixes:
items:
type: string
type: array
type: object
stripPrefixRegex:
description: StripPrefixRegex holds the StripPrefixRegex configuration.
properties:
regex:
items:
type: string
type: array
type: object
type: object
required:
- metadata
- spec
type: object
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []

View File

@@ -1,61 +0,0 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
"helm.sh/resource-policy": keep
"helm.sh/hook": pre-install,pre-upgrade,pre-rollback
controller-gen.kubebuilder.io/version: v0.4.1
creationTimestamp: null
name: middlewaretcps.traefik.containo.us
spec:
group: traefik.containo.us
names:
kind: MiddlewareTCP
listKind: MiddlewareTCPList
plural: middlewaretcps
singular: middlewaretcp
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: MiddlewareTCP is a specification for a MiddlewareTCP resource.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"
type: string
metadata:
type: object
spec:
description: MiddlewareTCPSpec holds the MiddlewareTCP configuration.
properties:
ipWhiteList:
description: TCPIPWhiteList holds the TCP ip white list configuration.
properties:
sourceRange:
items:
type: string
type: array
type: object
type: object
required:
- metadata
- spec
type: object
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []

View File

@@ -1,108 +0,0 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
"helm.sh/resource-policy": keep
"helm.sh/hook": pre-install,pre-upgrade,pre-rollback
controller-gen.kubebuilder.io/version: v0.4.1
creationTimestamp: null
name: serverstransports.traefik.containo.us
spec:
group: traefik.containo.us
names:
kind: ServersTransport
listKind: ServersTransportList
plural: serverstransports
singular: serverstransport
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: ServersTransport is a specification for a ServersTransport resource.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"
type: string
metadata:
type: object
spec:
description:
ServersTransportSpec options to configure communication between
Traefik and the servers.
properties:
certificatesSecrets:
description: Certificates for mTLS.
items:
type: string
type: array
disableHTTP2:
description: Disable HTTP/2 for connections with backend servers.
type: boolean
forwardingTimeouts:
description: Timeouts for requests forwarded to the backend servers.
properties:
dialTimeout:
anyOf:
- type: integer
- type: string
description:
The amount of time to wait until a connection to
a backend server can be established. If zero, no timeout exists.
x-kubernetes-int-or-string: true
idleConnTimeout:
anyOf:
- type: integer
- type: string
description:
The maximum period for which an idle HTTP keep-alive
connection will remain open before closing itself.
x-kubernetes-int-or-string: true
responseHeaderTimeout:
anyOf:
- type: integer
- type: string
description:
The amount of time to wait for a server's response
headers after fully writing the request (including its body,
if any). If zero, no timeout exists.
x-kubernetes-int-or-string: true
type: object
insecureSkipVerify:
description: Disable SSL certificate verification.
type: boolean
maxIdleConnsPerHost:
description:
If non-zero, controls the maximum idle (keep-alive) to
keep per-host. If zero, DefaultMaxIdleConnsPerHost is used.
type: integer
rootCAsSecrets:
description: Add cert file for self-signed certificate.
items:
type: string
type: array
serverName:
description: ServerName used to contact the server.
type: string
type: object
required:
- metadata
- spec
type: object
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []

View File

@@ -1,92 +0,0 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
"helm.sh/resource-policy": keep
"helm.sh/hook": pre-install,pre-upgrade,pre-rollback
controller-gen.kubebuilder.io/version: v0.4.1
creationTimestamp: null
name: tlsoptions.traefik.containo.us
spec:
group: traefik.containo.us
names:
kind: TLSOption
listKind: TLSOptionList
plural: tlsoptions
singular: tlsoption
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: TLSOption is a specification for a TLSOption resource.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"
type: string
metadata:
type: object
spec:
description: TLSOptionSpec configures TLS for an entry point.
properties:
cipherSuites:
items:
type: string
type: array
clientAuth:
description:
ClientAuth defines the parameters of the client authentication
part of the TLS connection, if any.
properties:
clientAuthType:
description:
ClientAuthType defines the client authentication
type to apply.
enum:
- NoClientCert
- RequestClientCert
- VerifyClientCertIfGiven
- RequireAndVerifyClientCert
type: string
secretNames:
description:
SecretName is the name of the referenced Kubernetes
Secret to specify the certificate details.
items:
type: string
type: array
type: object
curvePreferences:
items:
type: string
type: array
maxVersion:
type: string
minVersion:
type: string
preferServerCipherSuites:
type: boolean
sniStrict:
type: boolean
type: object
required:
- metadata
- spec
type: object
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []

View File

@@ -1,68 +0,0 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
"helm.sh/resource-policy": keep
"helm.sh/hook": pre-install,pre-upgrade,pre-rollback
controller-gen.kubebuilder.io/version: v0.4.1
creationTimestamp: null
name: tlsstores.traefik.containo.us
spec:
group: traefik.containo.us
names:
kind: TLSStore
listKind: TLSStoreList
plural: tlsstores
singular: tlsstore
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: TLSStore is a specification for a TLSStore resource.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"
type: string
metadata:
type: object
spec:
description: TLSStoreSpec configures a TLSStore resource.
properties:
defaultCertificate:
description:
DefaultCertificate holds a secret name for the TLSOption
resource.
properties:
secretName:
description:
SecretName is the name of the referenced Kubernetes
Secret to specify the certificate details.
type: string
required:
- secretName
type: object
required:
- defaultCertificate
type: object
required:
- metadata
- spec
type: object
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []

View File

@@ -1,289 +0,0 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
"helm.sh/resource-policy": keep
"helm.sh/hook": pre-install,pre-upgrade,pre-rollback
controller-gen.kubebuilder.io/version: v0.4.1
creationTimestamp: null
name: traefikservices.traefik.containo.us
spec:
group: traefik.containo.us
names:
kind: TraefikService
listKind: TraefikServiceList
plural: traefikservices
singular: traefikservice
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description:
TraefikService is the specification for a service (that an IngressRoute
refers to) that is usually not a terminal service (i.e. not a pod of servers),
as opposed to a Kubernetes Service. That is to say, it usually refers to
other (children) services, which themselves can be TraefikServices or Services.
properties:
apiVersion:
description:
"APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources"
type: string
kind:
description:
"Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"
type: string
metadata:
type: object
spec:
description:
ServiceSpec defines whether a TraefikService is a load-balancer
of services or a mirroring service.
properties:
mirroring:
description:
Mirroring defines a mirroring service, which is composed
of a main load-balancer, and a list of mirrors.
properties:
kind:
enum:
- Service
- TraefikService
type: string
maxBodySize:
format: int64
type: integer
mirrors:
items:
description:
MirrorService defines one of the mirrors of a Mirroring
service.
properties:
kind:
enum:
- Service
- TraefikService
type: string
name:
description:
Name is a reference to a Kubernetes Service
object (for a load-balancer of servers), or to a TraefikService
object (service load-balancer, mirroring, etc). The differentiation
between the two is specified in the Kind field.
type: string
namespace:
type: string
passHostHeader:
type: boolean
percent:
type: integer
port:
anyOf:
- type: integer
- type: string
x-kubernetes-int-or-string: true
responseForwarding:
description:
ResponseForwarding holds configuration for
the forward of the response.
properties:
flushInterval:
type: string
type: object
scheme:
type: string
serversTransport:
type: string
sticky:
description: Sticky holds the sticky configuration.
properties:
cookie:
description:
Cookie holds the sticky configuration based
on cookie.
properties:
httpOnly:
type: boolean
name:
type: string
sameSite:
type: string
secure:
type: boolean
type: object
type: object
strategy:
type: string
weight:
description:
Weight should only be specified when Name references
a TraefikService object (and to be precise, one that embeds
a Weighted Round Robin).
type: integer
required:
- name
type: object
type: array
name:
description:
Name is a reference to a Kubernetes Service object
(for a load-balancer of servers), or to a TraefikService object
(service load-balancer, mirroring, etc). The differentiation
between the two is specified in the Kind field.
type: string
namespace:
type: string
passHostHeader:
type: boolean
port:
anyOf:
- type: integer
- type: string
x-kubernetes-int-or-string: true
responseForwarding:
description:
ResponseForwarding holds configuration for the forward
of the response.
properties:
flushInterval:
type: string
type: object
scheme:
type: string
serversTransport:
type: string
sticky:
description: Sticky holds the sticky configuration.
properties:
cookie:
description:
Cookie holds the sticky configuration based on
cookie.
properties:
httpOnly:
type: boolean
name:
type: string
sameSite:
type: string
secure:
type: boolean
type: object
type: object
strategy:
type: string
weight:
description:
Weight should only be specified when Name references
a TraefikService object (and to be precise, one that embeds
a Weighted Round Robin).
type: integer
required:
- name
type: object
weighted:
description: WeightedRoundRobin defines a load-balancer of services.
properties:
services:
items:
description: Service defines an upstream to proxy traffic.
properties:
kind:
enum:
- Service
- TraefikService
type: string
name:
description:
Name is a reference to a Kubernetes Service
object (for a load-balancer of servers), or to a TraefikService
object (service load-balancer, mirroring, etc). The differentiation
between the two is specified in the Kind field.
type: string
namespace:
type: string
passHostHeader:
type: boolean
port:
anyOf:
- type: integer
- type: string
x-kubernetes-int-or-string: true
responseForwarding:
description:
ResponseForwarding holds configuration for
the forward of the response.
properties:
flushInterval:
type: string
type: object
scheme:
type: string
serversTransport:
type: string
sticky:
description: Sticky holds the sticky configuration.
properties:
cookie:
description:
Cookie holds the sticky configuration based
on cookie.
properties:
httpOnly:
type: boolean
name:
type: string
sameSite:
type: string
secure:
type: boolean
type: object
type: object
strategy:
type: string
weight:
description:
Weight should only be specified when Name references
a TraefikService object (and to be precise, one that embeds
a Weighted Round Robin).
type: integer
required:
- name
type: object
type: array
sticky:
description: Sticky holds the sticky configuration.
properties:
cookie:
description:
Cookie holds the sticky configuration based on
cookie.
properties:
httpOnly:
type: boolean
name:
type: string
sameSite:
type: string
secure:
type: boolean
type: object
type: object
type: object
type: object
required:
- metadata
- spec
type: object
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []

View File

@@ -1,68 +0,0 @@
---
sidebar_position: 1
---
# Installing Traefik
Within TrueCharts, our aim is to make it as easy as possible to secure your Apps.
To support this, we supply a separate Traefik "ingress" app, which has been pre-configured to provide secure and fast connections.
## How-To
### TrueNAS WebUI
In order to set up Traefik, you will be required to change the default TrueNAS WebUI access ports.
These ports are by default set to port `80` for HTTP and port `443` for HTTPS.
This is necessary as we will be setting Traefik up to function as a reverse proxy, and receive traffic on these host ports.
In the TrueNAS Menu, navigate to **System** > **General**. Click the **Settings** button at the top right of the GUI component.
Under these **GUI Settings**, change:
- Web Interface HTTP Port to port `81`
- Web Interface HTTPS Port to port `444`.
Click **Save** to save your changes. The WebUI will now prompt you to restart the web server service,
after which you will be automatically redirected to your dashboard through one of the new ports.
If you are not prompted to restart the web server service, you may restart the machine and manually navigate
to the WebUI address followed by one of the new ports eg. `truenas.local:81`.
:::info
These are the recommended ports for this procedure. Using different ports may require some
changes to your configuration that are not covered in this tutorial.
:::
:::warning
Do not skip this step. Neglecting to change the default ports active may cause your WebUI to become inaccessible after the following step.
Ensure you are accessing your WebUI from the new ports before proceeding.
:::
### Installing the Traefik Scale App
In the TrueNAS Menu, navigate to **Apps** > **Available Applications**. Use the search bar to search for or manually
find the Traefik app in the list of apps, and click **Install**
The setup of Traefik is relatively straight-forward. Most of the settings remain unchanged from default, except for these two:
- **Application Name**: Enter a name for your app. You may use simply _traefik_ for this field.
- **Networking and Services**: Under TCP Services, find and change:
- **web Entrypoint Configuration** > **Entrypoints port:**
Change port `9080` to port `80`
- **websecure Entrypoint Configuration** > **Entrypoints port:**
Change port `9433` to port `433`
Continue to section 12, and select **Next**. Traefik will now be installed.
After installation you can access the Traefik dashboard using your host IP address followed by `:9000`, or by simply clicking "Web Portal" on the application's entry under **Apps** > **Installed Applications**.
:::note
Traefik is part of the `stable` train, so make sure you have it enabled as specified in [Step 1](https://truecharts.org/manual/Quick-Start%20Guides/01-Adding-TrueCharts/) of our Quick Start Guides
:::
## Video Guide
<iframe width="560" height="315" src="https://www.youtube.com/embed/bWNPfrKjawI" title="YouTube video player" frameBorder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen></iframe>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

View File

@@ -1,44 +0,0 @@
# Theme Park
Theme park is a middleware to inject [supported stylesheets (css)](https://docs.theme-park.dev/theme-options)
into [supported apps](https://docs.theme-park.dev/themes).
So let's see how to do that.
Note that this will only work on apps you have enabled `ingress`, and only when accessing them via the URL.
Will NOT work if you access them via `IP:PORT`.
## Creating the middleware on traefik
Edit your existing traefik install (or install fresh if you don't have it installed)
- Scroll down to `theme-park`
- Click <kbd>Add</kbd>
- Name: `guactheme` (Any name you want, remember it, you will need it later)
- App Name: `guacamole` (Replace with the name of the app you want to theme)
- Theme Name: `plex` (Replace wit the theme you want to apply)
- Base URL: (Leave the default, unless you plan to use a self hosted theme provider)
- Click <kbd>Save</kbd>
![traefik-theme-fields](img/traefik-theme-fields.png)
> Keep in mind that if you decide to use a self hosted theme provider, it will need to have enabled ingress.
> Also use the external URL, not the internal, as the client will need to access that theme provider to fetch the
> stylesheets.
## Applying the theme to the app
Edit your existing _App_, in this example we will use `guacamole-client`.
- Scroll down to `Treafik MIddlewares` (Remember, you need to have `ingress` enabled)
- Click <kbd>Add</kbd>
- Name: `guactheme` (Replace with the name you gave to your middleware on the previous step)
- Click <kbd>Save</kbd>
![traefik-theme-app](img/traefik-theme-app.png)
You are ready!
| Before | After |
| :---------------------------------------------------: | :-------------------------------------------------: |
| ![traefik-theme-before](img/traefik-theme-before.png) | ![traefik-theme-after](img/traefik-theme-after.png) |

Some files were not shown because too many files have changed in this diff Show More