Compare commits
8 Commits
webdav
...
port/stabl
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dd4fcb9c9f | ||
|
|
ffd83d1fc4 | ||
|
|
44115539be | ||
|
|
c6575f26bd | ||
|
|
81c791611f | ||
|
|
4ac289e5fc | ||
|
|
bce36cb1dd | ||
|
|
2bdeb78b7b |
@@ -1060,8 +1060,7 @@
|
||||
"profile": "https://github.com/ZasX",
|
||||
"contributions": [
|
||||
"doc",
|
||||
"mentoring",
|
||||
"code"
|
||||
"mentoring"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1107,8 +1106,7 @@
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/1340877?v=4",
|
||||
"profile": "https://github.com/neoestremi",
|
||||
"contributions": [
|
||||
"mentoring",
|
||||
"bug"
|
||||
"mentoring"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1288,8 +1286,7 @@
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/92877124?v=4",
|
||||
"profile": "https://github.com/MaverickD650",
|
||||
"contributions": [
|
||||
"code",
|
||||
"bug"
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1645,151 +1642,6 @@
|
||||
"contributions": [
|
||||
"doc"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "Malpractis",
|
||||
"name": "Malpractis",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/31232305?v=4",
|
||||
"profile": "https://github.com/Malpractis",
|
||||
"contributions": [
|
||||
"bug"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "CommanderStarhump",
|
||||
"name": "CommanderStarhump",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/91758053?v=4",
|
||||
"profile": "https://github.com/CommanderStarhump",
|
||||
"contributions": [
|
||||
"bug"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "vianchiel",
|
||||
"name": "Vianchiel",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/123665622?v=4",
|
||||
"profile": "https://github.com/vianchiel",
|
||||
"contributions": [
|
||||
"bug"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "b-m-f",
|
||||
"name": "Maximilian Ehlers",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/2843450?v=4",
|
||||
"profile": "https://github.com/b-m-f",
|
||||
"contributions": [
|
||||
"bug"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "nautilus7",
|
||||
"name": "nautilus7",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/1540233?v=4",
|
||||
"profile": "https://github.com/nautilus7",
|
||||
"contributions": [
|
||||
"bug"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "kqmaverick",
|
||||
"name": "kqmaverick",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/121722567?v=4",
|
||||
"profile": "https://github.com/kqmaverick",
|
||||
"contributions": [
|
||||
"bug"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "ccalby",
|
||||
"name": "ccalby",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/680553?v=4",
|
||||
"profile": "https://github.com/ccalby",
|
||||
"contributions": [
|
||||
"bug"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "kofeyh",
|
||||
"name": "kofeyh",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/26401963?v=4",
|
||||
"profile": "https://github.com/kofeyh",
|
||||
"contributions": [
|
||||
"bug"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "imjustleaving",
|
||||
"name": "imjustleaving",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/109609649?v=4",
|
||||
"profile": "https://github.com/imjustleaving",
|
||||
"contributions": [
|
||||
"bug"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "PrototypeActual",
|
||||
"name": "Cristian Torres",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/18661121?v=4",
|
||||
"profile": "https://github.com/PrototypeActual",
|
||||
"contributions": [
|
||||
"bug"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "schopenhauer",
|
||||
"name": "schopenhauer",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/2085103?v=4",
|
||||
"profile": "https://github.com/schopenhauer",
|
||||
"contributions": [
|
||||
"bug"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "Zackptg5",
|
||||
"name": "Zackptg5",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/5107713?v=4",
|
||||
"profile": "https://github.com/Zackptg5",
|
||||
"contributions": [
|
||||
"bug"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "backerman",
|
||||
"name": "Brad Ackerman",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/115895?v=4",
|
||||
"profile": "https://bradackerman.com/",
|
||||
"contributions": [
|
||||
"bug"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "mcspiff313",
|
||||
"name": "mcspiff313",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/7252551?v=4",
|
||||
"profile": "https://hachyderm.io/@mcspiff",
|
||||
"contributions": [
|
||||
"bug"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "fnichol",
|
||||
"name": "Fletcher Nichol",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/261548?v=4",
|
||||
"profile": "https://fnichol.com",
|
||||
"contributions": [
|
||||
"code",
|
||||
"bug"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "marcofaggian",
|
||||
"name": "Marco Faggian",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/19221001?v=4",
|
||||
"profile": "https://marcofaggian.com",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
}
|
||||
],
|
||||
"contributorsPerLine": 7,
|
||||
|
||||
2
.github/CODEOWNERS
vendored
@@ -5,5 +5,5 @@
|
||||
/charts/dependency/ @truecharts/enterprise-maintainers @ornias1993
|
||||
/charts/enterprise/ @truecharts/enterprise-maintainers @ornias1993
|
||||
/charts/dev/ @ornias1993
|
||||
/.github/ @truecharts/ci-maintainers @ornias1993
|
||||
/.github/ @truecharts/ci-maintainers @ornias1993
|
||||
docs/ @truecharts/docs-maintainers @ornias1993
|
||||
|
||||
30
.github/README.md
vendored
@@ -124,7 +124,7 @@ A lot of our work is based on the great effort of others. We would love to exten
|
||||
## Contributors ✨
|
||||
|
||||
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
|
||||
[](#contributors)
|
||||
[](#contributors)
|
||||
<!-- ALL-CONTRIBUTORS-BADGE:END -->
|
||||
|
||||
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
|
||||
@@ -277,14 +277,14 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/uranderu"><img src="https://avatars.githubusercontent.com/u/71091366?v=4?s=100" width="100px;" alt="uranderu"/><br /><sub><b>uranderu</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3Auranderu" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/heytcass"><img src="https://avatars.githubusercontent.com/u/11260288?v=4?s=100" width="100px;" alt="Tom Cassady"/><br /><sub><b>Tom Cassady</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3Aheytcass" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Huftierchen"><img src="https://avatars.githubusercontent.com/u/16015778?v=4?s=100" width="100px;" alt="Huftierchen"/><br /><sub><b>Huftierchen</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3AHuftierchen" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/ZasX"><img src="https://avatars.githubusercontent.com/u/806452?v=4?s=100" width="100px;" alt="ZasX"/><br /><sub><b>ZasX</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=ZasX" title="Documentation">📖</a> <a href="#mentoring-ZasX" title="Mentoring">🧑🏫</a> <a href="https://github.com/truecharts/charts/commits?author=ZasX" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/ZasX"><img src="https://avatars.githubusercontent.com/u/806452?v=4?s=100" width="100px;" alt="ZasX"/><br /><sub><b>ZasX</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=ZasX" title="Documentation">📖</a> <a href="#mentoring-ZasX" title="Mentoring">🧑🏫</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/aeolus811tw"><img src="https://avatars.githubusercontent.com/u/4956319?v=4?s=100" width="100px;" alt="Kevin T."/><br /><sub><b>Kevin T.</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3Aaeolus811tw" title="Bug reports">🐛</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Chowarmaan"><img src="https://avatars.githubusercontent.com/u/175738?v=4?s=100" width="100px;" alt="Steven Scott"/><br /><sub><b>Steven Scott</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=Chowarmaan" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/piwi3910"><img src="https://avatars.githubusercontent.com/u/12539757?v=4?s=100" width="100px;" alt="Watteel Pascal"/><br /><sub><b>Watteel Pascal</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=piwi3910" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/JamesOsborn-SE"><img src="https://avatars.githubusercontent.com/u/3580335?v=4?s=100" width="100px;" alt="JamesOsborn-SE"/><br /><sub><b>JamesOsborn-SE</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=JamesOsborn-SE" title="Code">💻</a> <a href="https://github.com/truecharts/charts/commits?author=JamesOsborn-SE" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/neoestremi"><img src="https://avatars.githubusercontent.com/u/1340877?v=4?s=100" width="100px;" alt="NeoToxic"/><br /><sub><b>NeoToxic</b></sub></a><br /><a href="#mentoring-neoestremi" title="Mentoring">🧑🏫</a> <a href="https://github.com/truecharts/charts/issues?q=author%3Aneoestremi" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/neoestremi"><img src="https://avatars.githubusercontent.com/u/1340877?v=4?s=100" width="100px;" alt="NeoToxic"/><br /><sub><b>NeoToxic</b></sub></a><br /><a href="#mentoring-neoestremi" title="Mentoring">🧑🏫</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/jab416171"><img src="https://avatars.githubusercontent.com/u/345752?v=4?s=100" width="100px;" alt="jab416171"/><br /><sub><b>jab416171</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=jab416171" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="http://www.zioniyes.me"><img src="https://avatars.githubusercontent.com/u/16231288?v=4?s=100" width="100px;" alt="Anna"/><br /><sub><b>Anna</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=HumbleDeer" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/ChaosBlades"><img src="https://avatars.githubusercontent.com/u/7530545?v=4?s=100" width="100px;" alt="ChaosBlades"/><br /><sub><b>ChaosBlades</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3AChaosBlades" title="Bug reports">🐛</a></td>
|
||||
@@ -310,7 +310,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
|
||||
<tr>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/u4ium"><img src="https://avatars.githubusercontent.com/u/57515023?v=4?s=100" width="100px;" alt="u4ium"/><br /><sub><b>u4ium</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=u4ium" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/ErroneousBosch"><img src="https://avatars.githubusercontent.com/u/20829218?v=4?s=100" width="100px;" alt="ErroneousBosch"/><br /><sub><b>ErroneousBosch</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3AErroneousBosch" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/MaverickD650"><img src="https://avatars.githubusercontent.com/u/92877124?v=4?s=100" width="100px;" alt="MaverickD650"/><br /><sub><b>MaverickD650</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=MaverickD650" title="Code">💻</a> <a href="https://github.com/truecharts/charts/issues?q=author%3AMaverickD650" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/MaverickD650"><img src="https://avatars.githubusercontent.com/u/92877124?v=4?s=100" width="100px;" alt="MaverickD650"/><br /><sub><b>MaverickD650</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=MaverickD650" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Grogdor"><img src="https://avatars.githubusercontent.com/u/6863613?v=4?s=100" width="100px;" alt="Grogdor"/><br /><sub><b>Grogdor</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=Grogdor" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/rgooler"><img src="https://avatars.githubusercontent.com/u/1108200?v=4?s=100" width="100px;" alt="Ryan Gooler"/><br /><sub><b>Ryan Gooler</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=rgooler" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://reb.gg"><img src="https://avatars.githubusercontent.com/u/16991201?v=4?s=100" width="100px;" alt="Rob Herley"/><br /><sub><b>Rob Herley</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=robherley" title="Documentation">📖</a></td>
|
||||
@@ -361,28 +361,6 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/edmeister"><img src="https://avatars.githubusercontent.com/u/702527?v=4?s=100" width="100px;" alt="Jeroen Schepens"/><br /><sub><b>Jeroen Schepens</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3Aedmeister" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="http://jameswright.xyz"><img src="https://avatars.githubusercontent.com/u/20801821?v=4?s=100" width="100px;" alt="James Wright"/><br /><sub><b>James Wright</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=jrwrigh" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Malpractis"><img src="https://avatars.githubusercontent.com/u/31232305?v=4?s=100" width="100px;" alt="Malpractis"/><br /><sub><b>Malpractis</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3AMalpractis" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/CommanderStarhump"><img src="https://avatars.githubusercontent.com/u/91758053?v=4?s=100" width="100px;" alt="CommanderStarhump"/><br /><sub><b>CommanderStarhump</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3ACommanderStarhump" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/vianchiel"><img src="https://avatars.githubusercontent.com/u/123665622?v=4?s=100" width="100px;" alt="Vianchiel"/><br /><sub><b>Vianchiel</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3Avianchiel" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/b-m-f"><img src="https://avatars.githubusercontent.com/u/2843450?v=4?s=100" width="100px;" alt="Maximilian Ehlers"/><br /><sub><b>Maximilian Ehlers</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3Ab-m-f" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/nautilus7"><img src="https://avatars.githubusercontent.com/u/1540233?v=4?s=100" width="100px;" alt="nautilus7"/><br /><sub><b>nautilus7</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3Anautilus7" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/kqmaverick"><img src="https://avatars.githubusercontent.com/u/121722567?v=4?s=100" width="100px;" alt="kqmaverick"/><br /><sub><b>kqmaverick</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3Akqmaverick" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/ccalby"><img src="https://avatars.githubusercontent.com/u/680553?v=4?s=100" width="100px;" alt="ccalby"/><br /><sub><b>ccalby</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3Accalby" title="Bug reports">🐛</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/kofeyh"><img src="https://avatars.githubusercontent.com/u/26401963?v=4?s=100" width="100px;" alt="kofeyh"/><br /><sub><b>kofeyh</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3Akofeyh" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/imjustleaving"><img src="https://avatars.githubusercontent.com/u/109609649?v=4?s=100" width="100px;" alt="imjustleaving"/><br /><sub><b>imjustleaving</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3Aimjustleaving" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/PrototypeActual"><img src="https://avatars.githubusercontent.com/u/18661121?v=4?s=100" width="100px;" alt="Cristian Torres"/><br /><sub><b>Cristian Torres</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3APrototypeActual" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/schopenhauer"><img src="https://avatars.githubusercontent.com/u/2085103?v=4?s=100" width="100px;" alt="schopenhauer"/><br /><sub><b>schopenhauer</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3Aschopenhauer" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Zackptg5"><img src="https://avatars.githubusercontent.com/u/5107713?v=4?s=100" width="100px;" alt="Zackptg5"/><br /><sub><b>Zackptg5</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3AZackptg5" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://bradackerman.com/"><img src="https://avatars.githubusercontent.com/u/115895?v=4?s=100" width="100px;" alt="Brad Ackerman"/><br /><sub><b>Brad Ackerman</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3Abackerman" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://hachyderm.io/@mcspiff"><img src="https://avatars.githubusercontent.com/u/7252551?v=4?s=100" width="100px;" alt="mcspiff313"/><br /><sub><b>mcspiff313</b></sub></a><br /><a href="https://github.com/truecharts/charts/issues?q=author%3Amcspiff313" title="Bug reports">🐛</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://fnichol.com"><img src="https://avatars.githubusercontent.com/u/261548?v=4?s=100" width="100px;" alt="Fletcher Nichol"/><br /><sub><b>Fletcher Nichol</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=fnichol" title="Code">💻</a> <a href="https://github.com/truecharts/charts/issues?q=author%3Afnichol" title="Bug reports">🐛</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://marcofaggian.com"><img src="https://avatars.githubusercontent.com/u/19221001?v=4?s=100" width="100px;" alt="Marco Faggian"/><br /><sub><b>Marco Faggian</b></sub></a><br /><a href="https://github.com/truecharts/charts/commits?author=marcofaggian" title="Code">💻</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
18
.github/SUPPORT.md
vendored
@@ -1,7 +1,3 @@
|
||||
---
|
||||
sidebar_position: 3
|
||||
---
|
||||
|
||||
# Support Policy
|
||||
|
||||
## TrueCharts on TrueNAS SCALE
|
||||
@@ -15,11 +11,9 @@ We also document which versions of TrueNAS will receive TrueCharts updates and f
|
||||
### Supported Versions
|
||||
|
||||
| TrueNAS version | Branch | Supported with updates | Accepting Support tickets | Accepting Bug Reports | Notes |
|
||||
| ---------------- | -------- | ---------------------- | ------------------------- | --------------------- | -------------------------------------------------------------------------------------------------------------- |
|
||||
| 22.02.4 or prior | `master` | :x: | :x: | :x: | Advised to update to 22.12.2 release of [TrueNAS SCALE](https://www.truenas.com/docs/scale/scalereleasenotes/) |
|
||||
| 22.12.0 | `master` | :white_check_mark: | :white_check_mark: | :white_check_mark: | Stable Release as of 2022-12-13 |
|
||||
| 22.12.1 | `master` | :white_check_mark: | :white_check_mark: | :white_check_mark: | Stable Release as of 2023-02-21 |
|
||||
| 22.12.2 | `master` | :white_check_mark: | :white_check_mark: | :white_check_mark: | Stable Release as of 2023-04-11 |
|
||||
| ---------------- | -------- | ---------------------- | ------------------------- | --------------------- | -------------------------------------------------------------------------------------------------------------- | --- |
|
||||
| 22.02.4 or prior | `master` | :x: | :x: | :x: | Advised to update to 22.12.1 release of [TrueNAS SCALE](https://www.truenas.com/docs/scale/scalereleasenotes/) | |
|
||||
| 22.12.1 | `master` | :white_check_mark: | :white_check_mark: | :white_check_mark: | Most Stable Release as of 2023-02-21 |
|
||||
| Nightly | `master` | :white_check_mark: | :x: | :white_check_mark: | Please only submit bug reports during codefreeze |
|
||||
|
||||
:::warning Support Guidelines
|
||||
@@ -38,7 +32,7 @@ please report them to our [github](https://github.com/truecharts/charts/issues/n
|
||||
## Incubator Train Charts
|
||||
|
||||
Our support policy for `incubator` train charts is different for those on the `stable` train. Those charts are work in progress,
|
||||
may break at anytime and we're still going through many of the charts from unRAID. We won't accept support tickets for `incubator` train
|
||||
charts on our [discord](https://discord.gg/tVsPTHWTtr). However, we have an **#incubator-chat** channel for these apps to help get them running and/or receive feedback.
|
||||
With enough positive feedback a chart can be promoted to `stable` train. Feedback about bugs is also accepted there which can be used to fix them.
|
||||
may break at anytime and we're still going through many of the charts from unRAID. We won't accept support tickets on our discord for `incubator` train
|
||||
charts on our [discord](https://discord.gg/tVsPTHWTtr). However we have an **#incubator-chat** channel for these apps to help get them running and/or receive feedback.
|
||||
With enough posivite feedback a chart can be promoted to `stable` train. Feedback about bugs is also accepted there which can be used to fix them.
|
||||
Assume anything in the `incubator` train is in beta and you're testing it. As well, anything installed in `incubator` will have to be REINSTALLED once it moves to the `stable` train.
|
||||
|
||||
7
.github/cr.yaml
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
owner: truecharts
|
||||
git-repo: charts
|
||||
repo: charts
|
||||
charts-dir: charts/*
|
||||
charts_repo_url: "https://charts.truecharts.org"
|
||||
SkipExisting: true
|
||||
skipExisting: true
|
||||
10
.github/ct-install.yaml
vendored
@@ -1,13 +1,16 @@
|
||||
remote: origin
|
||||
target-branch: master
|
||||
helm-extra-args: --timeout 180s
|
||||
helm-extra-args: --timeout 300s
|
||||
chart-yaml-schema: .github/chart_schema.yaml
|
||||
chart-dirs:
|
||||
- charts/incubator
|
||||
- charts/stable
|
||||
- charts/dependency
|
||||
- charts/core
|
||||
- charts/dev
|
||||
- charts/games
|
||||
- charts/enterprise
|
||||
- charts/SCALE
|
||||
excluded-charts:
|
||||
- charts/dependency/subchart
|
||||
- charts/incubator/frigate
|
||||
@@ -32,7 +35,6 @@ excluded-charts:
|
||||
- charts/stable/promcord
|
||||
- charts/stable/rdesktop
|
||||
- charts/stable/reg
|
||||
- charts/incubator/romm
|
||||
- charts/stable/ser2sock
|
||||
- charts/stable/storj-node
|
||||
- charts/stable/tailscale
|
||||
@@ -42,4 +44,6 @@ excluded-charts:
|
||||
chart-repos:
|
||||
- truecharts=https://charts.truecharts.org
|
||||
- truecharts-library=https://library-charts.truecharts.org
|
||||
- truecharts-deps=https://deps.truecharts.org
|
||||
- bitnami=https://charts.bitnami.com/bitnami
|
||||
- grafana=https://grafana.github.io/helm-charts
|
||||
- prometheus=https://prometheus-community.github.io/helm-charts
|
||||
|
||||
9
.github/ct-lint.yaml
vendored
@@ -1,15 +1,20 @@
|
||||
remote: origin
|
||||
target-branch: master
|
||||
chart-yaml-schema: .github/chart_schema.yaml
|
||||
helm-extra-args: --timeout 120s
|
||||
helm-extra-args: --timeout 600s
|
||||
chart-dirs:
|
||||
- charts/incubator
|
||||
- charts/stable
|
||||
- charts/dependency
|
||||
- charts/core
|
||||
- charts/dev
|
||||
- charts/games
|
||||
- charts/enterprise
|
||||
- charts/SCALE
|
||||
excluded-charts: []
|
||||
chart-repos:
|
||||
- truecharts=https://charts.truecharts.org
|
||||
- truecharts-library=https://library-charts.truecharts.org
|
||||
- truecharts-deps=https://deps.truecharts.org
|
||||
- bitnami=https://charts.bitnami.com/bitnami
|
||||
- grafana=https://grafana.github.io/helm-charts
|
||||
- prometheus=https://prometheus-community.github.io/helm-charts
|
||||
|
||||
65
.github/renovate.json5
vendored
@@ -8,10 +8,10 @@
|
||||
"commitMessageExtra": "to {{newVersion}}",
|
||||
"commitMessageSuffix": "",
|
||||
"rebaseWhen": "conflicted",
|
||||
"prConcurrentLimit": 150,
|
||||
"prConcurrentLimit": 50,
|
||||
"timezone":"Europe/Amsterdam",
|
||||
"pinDigests": true,
|
||||
"automerge": false,
|
||||
"automerge": true,
|
||||
"gitAuthor": "TrueCharts-Admin <bot@truecharts.org>",
|
||||
"helm-values": {
|
||||
"fileMatch": ["charts/.+/.*values\\.yaml$", "charts/.+/SCALE/.*_values\\.yaml$"]
|
||||
@@ -32,7 +32,7 @@
|
||||
"matchManagers": ["helm-values"],
|
||||
"enabled": true,
|
||||
"pinDigests": true,
|
||||
"automerge": false,
|
||||
"automerge": true,
|
||||
"commitMessageTopic": "container image {{depName}}",
|
||||
"commitMessageExtra": "to {{#if isSingleVersion}}v{{{newVersion}}}{{else}}{{{newValue}}}{{/if}}",
|
||||
"matchUpdateTypes": ["major", "minor", "patch", "digest"],
|
||||
@@ -41,7 +41,7 @@
|
||||
"datasources": ["docker"],
|
||||
"enabled": true,
|
||||
"pinDigests": true,
|
||||
"automerge": false,
|
||||
"automerge": true,
|
||||
"separateMinorPatch": true,
|
||||
"commitMessageTopic": "container image {{depName}}",
|
||||
"commitMessageExtra": "to {{#if isSingleVersion}}v{{{newVersion}}}{{else}}{{{newValue}}}{{/if}}",
|
||||
@@ -50,7 +50,7 @@
|
||||
{
|
||||
"matchManagers": ["github-actions"],
|
||||
"excludePackageNames": ["stefanzweifel/git-auto-commit-action"],
|
||||
"automerge": true,
|
||||
"automerge": false,
|
||||
},
|
||||
//
|
||||
// helm deps
|
||||
@@ -66,13 +66,13 @@
|
||||
},
|
||||
{
|
||||
"matchDatasources": ["helm"],
|
||||
"automerge": false,
|
||||
"automerge": true,
|
||||
"matchUpdateTypes": [
|
||||
"minor",
|
||||
"patch"
|
||||
],
|
||||
"bumpVersion": "patch",
|
||||
"labels": ["update/helm/dependency/non-major", "automerge"],
|
||||
"labels": ["update/helm/dependency/non-major"],
|
||||
"matchPaths": ["charts/dependency/**"],
|
||||
"groupName": "helm dependency non-major",
|
||||
},
|
||||
@@ -93,14 +93,14 @@
|
||||
},
|
||||
{
|
||||
"matchDatasources": ["helm"],
|
||||
"automerge": false,
|
||||
"automerge": true,
|
||||
"matchUpdateTypes": [
|
||||
"minor",
|
||||
"patch"
|
||||
],
|
||||
"enabled": true,
|
||||
"bumpVersion": "patch",
|
||||
"labels": ["update/helm/general/non-major", "automerge"],
|
||||
"labels": ["update/helm/general/non-major"],
|
||||
"groupName": "helm general non-major",
|
||||
"matchPaths": ["charts/enterprise/**"],
|
||||
"schedule": [
|
||||
@@ -124,14 +124,14 @@
|
||||
},
|
||||
{
|
||||
"matchDatasources": ["helm"],
|
||||
"automerge": false,
|
||||
"enabled": true,
|
||||
"automerge": true,
|
||||
"enabled": false,
|
||||
"matchUpdateTypes": [
|
||||
"minor",
|
||||
"patch"
|
||||
],
|
||||
"bumpVersion": "patch",
|
||||
"labels": ["update/helm/general/non-major", "automerge"],
|
||||
"labels": ["update/helm/general/non-major"],
|
||||
"groupName": "helm general non-major",
|
||||
"matchPaths": ["charts/incubator/**", "charts/SCALE/**", "charts/dev/**", "charts/stable/**", "templates/app/**"],
|
||||
"schedule": [
|
||||
@@ -151,7 +151,7 @@
|
||||
},
|
||||
{
|
||||
"matchDatasources": ["docker"],
|
||||
"automerge": false,
|
||||
"automerge": true,
|
||||
"matchUpdateTypes": [
|
||||
"minor",
|
||||
],
|
||||
@@ -162,7 +162,7 @@
|
||||
},
|
||||
{
|
||||
"matchDatasources": ["docker"],
|
||||
"automerge": false,
|
||||
"automerge": true,
|
||||
"matchUpdateTypes": [
|
||||
"patch",
|
||||
"digest",
|
||||
@@ -170,48 +170,23 @@
|
||||
],
|
||||
"bumpVersion": "patch",
|
||||
"enabled": true,
|
||||
"labels": ["update/docker/enterprise/patch", "automerge"],
|
||||
"labels": ["update/docker/enterprise/patch"],
|
||||
"matchPaths": ["charts/enterprise/**"],
|
||||
},
|
||||
//
|
||||
// Tag updates for semantic tags on incubator and dev charts
|
||||
// Tag updates for semantic tags on all but enterprise Apps
|
||||
//
|
||||
{
|
||||
"matchDatasources": ["docker"],
|
||||
"updateTypes": ["major"],
|
||||
"bumpVersion": "minor",
|
||||
"enabled": false,
|
||||
"labels": ["update/docker/incubator/major", "automerge"],
|
||||
"matchPaths": ["charts/incubator/**", "charts/dev/**"],
|
||||
},
|
||||
{
|
||||
"matchDatasources": ["docker"],
|
||||
"automerge": false,
|
||||
"matchUpdateTypes": [
|
||||
"minor",
|
||||
"patch",
|
||||
"digest",
|
||||
"pin",
|
||||
],
|
||||
"bumpVersion": "patch",
|
||||
"enabled": false,
|
||||
"labels": ["update/docker/incubator/non-major", "automerge"],
|
||||
"matchPaths": ["charts/incubator/**", "charts/dev/**"],
|
||||
},
|
||||
//
|
||||
// Tag updates for semantic tags on all but enterprise and incubator Apps
|
||||
//
|
||||
{
|
||||
"matchDatasources": ["docker"],
|
||||
"updateTypes": ["major"],
|
||||
"bumpVersion": "minor",
|
||||
"enabled": true,
|
||||
"labels": ["update/docker/general/major", "automerge"],
|
||||
"matchPaths": ["charts/dependency/**", "charts/SCALE/**", "charts/stable/**", "templates/app/**"],
|
||||
"matchPaths": ["charts/dependency/**", "charts/SCALE/**", "charts/incubator/**", "charts/dev/**", "charts/stable/**", "templates/app/**"],
|
||||
},
|
||||
{
|
||||
"matchDatasources": ["docker"],
|
||||
"automerge": false,
|
||||
"automerge": true,
|
||||
"matchUpdateTypes": [
|
||||
"minor",
|
||||
"patch",
|
||||
@@ -219,9 +194,9 @@
|
||||
"pin",
|
||||
],
|
||||
"bumpVersion": "patch",
|
||||
"enabled": true,
|
||||
"enabled": false,
|
||||
"labels": ["update/docker/general/non-major", "automerge"],
|
||||
"matchPaths": ["charts/dependency/**", "charts/SCALE/**", "charts/library/**", "charts/stable/**", "templates/app/**"],
|
||||
"matchPaths": ["charts/dependency/**", "charts/SCALE/**", "charts/incubator/**", "charts/dev/**", "charts/library/**", "charts/stable/**", "templates/app/**"],
|
||||
},
|
||||
//
|
||||
// Tag semantic version type based on regex
|
||||
|
||||
28
.github/scripts/fetch_helm_deps.sh
vendored
@@ -19,20 +19,8 @@ trains=(
|
||||
"stable"
|
||||
"incubator"
|
||||
"dependency"
|
||||
"operators"
|
||||
)
|
||||
|
||||
load_gpg_key() {
|
||||
echo ""
|
||||
echo "⏬ Downloading and Loading TrueCharts pgp Public Key"
|
||||
gpg_dir=.cr-gpg
|
||||
mkdir -p "$gpg_dir"
|
||||
curl --silent https://keybase.io/truecharts/pgp_keys.asc | gpg --dearmor > $gpg_dir/pubring.gpg || echo "❌ Couldn't load Public Key."
|
||||
echo "✅ Public Key loaded successfully..."
|
||||
echo ""
|
||||
}
|
||||
export -f load_gpg_key
|
||||
|
||||
download_deps() {
|
||||
local train_chart="$1"
|
||||
|
||||
@@ -97,24 +85,17 @@ for idx in $(eval echo "{0..$length}"); do
|
||||
echo "⏬ Downloading dependency $name-$version from $dep_url..."
|
||||
mkdir -p "$cache_path/$repo_dir"
|
||||
wget --quiet "$dep_url" -P "$cache_path/$repo_dir"
|
||||
wget --quiet "$dep_url.prov" -P "$cache_path/$repo_dir"
|
||||
|
||||
if [ ! $? ]; then
|
||||
echo "❌ wget encountered an error..."
|
||||
helm dependency build "$charts_path/$train_chart/Chart.yaml" --verify --keyring $gpg_dir/pubring.gpg || \
|
||||
helm dependency update "$charts_path/$train_chart/Chart.yaml" --verify --keyring $gpg_dir/pubring.gpg || exit 1
|
||||
helm dependency build "$charts_path/$train_chart/Chart.yaml" || helm dependency update "$charts_path/$train_chart/Chart.yaml" || exit 1
|
||||
fi
|
||||
|
||||
if [ -f "$cache_path/$repo_dir/$name-$version.tgz" ]; then
|
||||
echo "✅ Dependency Downloaded!"
|
||||
echo "Validating dependency signature..."
|
||||
helm verify $cache_path/$repo_dir/$name-$version.tgz --keyring $gpg_dir/pubring.gpg || \
|
||||
helm verify $cache_path/$repo_dir/$name-$version.tgz --keyring $gpg_dir/pubring.gpg || exit 1
|
||||
else
|
||||
echo "❌ Failed to download dependency"
|
||||
# Try helm dependency build/update or otherwise fail fast if a dep fails to download...
|
||||
helm dependency build "$charts_path/$train_chart/Chart.yaml" --verify --keyring $gpg_dir/pubring.gpg || \
|
||||
helm dependency update "$charts_path/$train_chart/Chart.yaml" --verify --keyring $gpg_dir/pubring.gpg || exit 1
|
||||
helm dependency build "$charts_path/$train_chart/Chart.yaml" || helm dependency update "$charts_path/$train_chart/Chart.yaml" || exit 1
|
||||
fi
|
||||
fi
|
||||
echo ""
|
||||
@@ -129,16 +110,13 @@ for idx in $(eval echo "{0..$length}"); do
|
||||
else
|
||||
echo "❌ Failed to copy dependency"
|
||||
# Try helm dependency build/update or otherwise fail fast if a dep fails to copy...
|
||||
helm dependency build "$charts_path/$train_chart/Chart.yaml" || \
|
||||
helm dependency update "$charts_path/$train_chart/Chart.yaml" || exit 1
|
||||
helm dependency build "$charts_path/$train_chart/Chart.yaml" || helm dependency update "$charts_path/$train_chart/Chart.yaml" || exit 1
|
||||
fi
|
||||
fi
|
||||
done
|
||||
}
|
||||
export -f download_deps
|
||||
|
||||
load_gpg_key
|
||||
|
||||
if [ -z "$1" ]; then
|
||||
for train in "${trains[@]}"; do
|
||||
for chart in $(ls "$charts_path/$train"); do
|
||||
|
||||
182
.github/scripts/tc-lint.sh
vendored
@@ -1,182 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
function check_version() {
|
||||
chart_path=${1:?"No chart path provided to [Version Check]"}
|
||||
target_branch=${2:?"No target branch provided to [Version Check]"}
|
||||
|
||||
new=$(git diff "$target_branch" -- "$chart_path" | sed -nr 's/^\+version: (.*)$/\1/p')
|
||||
old=$(git diff "$target_branch" -- "$chart_path" | sed -nr 's/^\-version: (.*)$/\1/p')
|
||||
|
||||
if [[ -z "$new" ]]; then
|
||||
echo -e "\t❌ Chart version: Not changed"
|
||||
curr_result=1
|
||||
fi
|
||||
|
||||
echo -e "\t🔙 Old Chart Version: $old"
|
||||
echo -e "\t🆕 New Chart Version: $new"
|
||||
|
||||
if [[ $(echo "$new\n$old" | sort -V -r | head -n1) != "$old" ]]; then
|
||||
echo -e "\t✅ Chart version: Bumped"
|
||||
else
|
||||
echo -e "\t❌ Chart version: Not bumped or downgraded"
|
||||
curr_result=1
|
||||
fi
|
||||
}
|
||||
export -f check_version
|
||||
|
||||
function check_chart_schema(){
|
||||
chart_path=${1:?"No chart path provided to [Chart.yaml lint]"}
|
||||
|
||||
yamale_output=$(yamale --schema .github/chart_schema.yaml "$chart_path/Chart.yaml")
|
||||
yamale_exit_code=$?
|
||||
while IFS= read -r line; do
|
||||
echo -e "\t$line"
|
||||
done <<< "$yamale_output"
|
||||
|
||||
if [ $yamale_exit_code -ne 0 ]; then
|
||||
echo -e "\t❌ Chart Schema: Failed"
|
||||
curr_result=1
|
||||
else
|
||||
echo -e "\t✅ Chart Schema: Passed"
|
||||
fi
|
||||
}
|
||||
export -f check_chart_schema
|
||||
|
||||
function helm_lint(){
|
||||
chart_path=${1:?"No chart path provided to [Helm lint]"}
|
||||
|
||||
# Print only errors and warnings
|
||||
helm_lint_output=$(helm lint --quiet "$chart_path")
|
||||
helm_lint_exit_code=$?
|
||||
while IFS= read -r line; do
|
||||
echo -e "\t$line"
|
||||
done <<< "$helm_lint_output"
|
||||
|
||||
if [ $helm_lint_exit_code -ne 0 ]; then
|
||||
echo -e "\t❌ Helm Lint: Failed"
|
||||
curr_result=1
|
||||
else
|
||||
echo -e "\t✅ Helm Lint: Passed"
|
||||
fi
|
||||
}
|
||||
export -f helm_lint
|
||||
|
||||
function yaml_lint(){
|
||||
file_path=${1:?"No file path provided to [YAML lint]"}
|
||||
|
||||
yaml_lint_output=$(yamllint --config-file .github/yaml-lint-conf.yaml "$file_path")
|
||||
yaml_lint_exit_code=$?
|
||||
while IFS= read -r line; do
|
||||
echo -e "\t$line"
|
||||
done <<< "$yaml_lint_output"
|
||||
|
||||
if [ $yaml_lint_exit_code -ne 0 ]; then
|
||||
echo -e "\t❌ YAML Lint: Failed [$file_path]"
|
||||
curr_result=1
|
||||
else
|
||||
echo -e "\t✅ YAML Lint: Passed [$file_path]"
|
||||
fi
|
||||
}
|
||||
export -f yaml_lint
|
||||
|
||||
function lint_chart(){
|
||||
chart_path=${1:?"No chart path provided to [Lint Chart]"}
|
||||
target_branch=${2:?"No target branch provided to [Lint Chart]"}
|
||||
status_file=${3:?"No status file provided to [Lint Chart]"}
|
||||
|
||||
curr_result_file=/tmp/$(basename "$chart_path")
|
||||
curr_result=0
|
||||
{
|
||||
start_time=$(date +%s)
|
||||
echo '---------------------------------------------------------------------------------------'
|
||||
echo "## 🔍Linting [$chart_path]"
|
||||
echo '----------------------------------------------'
|
||||
echo ''
|
||||
echo "👣 Helm Lint - [$chart_path]"
|
||||
helm_lint "$chart_path"
|
||||
|
||||
echo "👣 Chart Version - [$chart_path] against [$target_branch]"
|
||||
check_version "$chart_path" "$target_branch"
|
||||
|
||||
echo "👣 Chart Schema - [$chart_path]"
|
||||
check_chart_schema "$chart_path"
|
||||
|
||||
echo "👣 YAML Lint - [$chart_path/Chart.yaml]"
|
||||
yaml_lint "$chart_path/Chart.yaml"
|
||||
|
||||
echo "👣 YAML Lint - [$chart_path/values.yaml]"
|
||||
yaml_lint "$chart_path/values.yaml"
|
||||
|
||||
for values in $chart_path/ci/*values.yaml; do
|
||||
if [ -f "${values}" ]; then
|
||||
echo "👣 YAML Lint - [$values]"
|
||||
yaml_lint "$values"
|
||||
fi
|
||||
done
|
||||
|
||||
end_time=$(date +%s)
|
||||
diff_time=$((end_time - start_time))
|
||||
|
||||
echo -e "\nResult:"
|
||||
if [ $curr_result -ne 0 ]; then
|
||||
echo "❌ Linting [$chart_path]: Failed - Took $diff_time seconds" | tee -a "$result_file"
|
||||
else
|
||||
echo "✅ Linting [$chart_path]: Passed - Took $diff_time seconds" | tee -a "$result_file"
|
||||
fi
|
||||
echo '---------------------------------------------------------------------------------------'
|
||||
echo ''
|
||||
} > "$curr_result_file"
|
||||
cat "$curr_result_file"
|
||||
echo $curr_result >> "$status_file"
|
||||
}
|
||||
export -f lint_chart
|
||||
|
||||
# Start of script
|
||||
|
||||
charts=$1
|
||||
target_branch=${2:-"origin/master"}
|
||||
status_file="/tmp/status"
|
||||
exit_code=0
|
||||
|
||||
result_file=${result_file:?"No result file provided"}
|
||||
|
||||
changed=$(echo $charts | jq --raw-output '.[]')
|
||||
|
||||
echo "📂 Charts to lint:"
|
||||
for chart in $changed; do
|
||||
echo -e "\t- 📄 $chart"
|
||||
done
|
||||
echo ''
|
||||
|
||||
start_time=$(date +%s)
|
||||
# Run lint_chart in parallel
|
||||
parallel --jobs $(($(nproc) * 2)) "lint_chart {} $target_branch $status_file" ::: $changed || true
|
||||
if grep -q 1 "$status_file"; then
|
||||
exit_code=1
|
||||
fi
|
||||
end_time=$(date +%s)
|
||||
diff_time=$((end_time - start_time))
|
||||
|
||||
echo '------------------------------------'
|
||||
|
||||
# Print summary
|
||||
sorted=$(cat "$result_file" | sort)
|
||||
sorted=$(echo "$sorted" | sed 's/✅/:heavy_check_mark:/g')
|
||||
sorted=$(echo "$sorted" | sed 's/❌/:heavy_multiplication_x:/g')
|
||||
echo "# 📝 Linting results:" | tee "$result_file"
|
||||
echo '====================================================================================='
|
||||
echo "$sorted" | tee -a "$result_file"
|
||||
echo ''
|
||||
echo -e "Total Charts Linted: **$(echo "$sorted" | wc -l)**" | tee -a "$result_file"
|
||||
echo -e "Total Charts Passed: **$(echo "$sorted" | grep -c 'heavy_check_mark')**" | tee -a "$result_file"
|
||||
echo -e "Total Charts Failed: **$(echo "$sorted" | grep -c 'heavy_multiplication_x')**" | tee -a "$result_file"
|
||||
echo '====================================================================================='
|
||||
echo '' | tee -a "$result_file"
|
||||
|
||||
if [ $exit_code -ne 0 ]; then
|
||||
echo "❌ Linting: **Failed** - Took $diff_time seconds" | tee -a "$result_file"
|
||||
else
|
||||
echo "✅ Linting: **Passed** - Took $diff_time seconds" | tee -a "$result_file"
|
||||
fi
|
||||
|
||||
exit $exit_code
|
||||
6
.github/workflows/catalog-test.yaml
vendored
@@ -15,9 +15,9 @@ jobs:
|
||||
name: Test SCALE Catalog
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: ghcr.io/truecharts/devcontainer:3.1.10@sha256:c239addf725eb5cedf79517f8089fdafdc32b5270d1893ee87ae6e511b9bcae3
|
||||
image: ghcr.io/truecharts/devcontainer:v3.1.1@sha256:44047909bbf54cb1ce3551ae0b342244a5bdcd62562a7f2f07caad4bf8856ee4
|
||||
steps:
|
||||
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3
|
||||
- uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3
|
||||
name: Checkout
|
||||
with:
|
||||
fetch-depth: 100
|
||||
@@ -27,7 +27,7 @@ jobs:
|
||||
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3
|
||||
uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3
|
||||
with:
|
||||
repository: truecharts/catalog
|
||||
path: catalog
|
||||
|
||||
4
.github/workflows/charts-changelog.yaml
vendored
@@ -20,7 +20,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3
|
||||
uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
@@ -44,7 +44,7 @@ jobs:
|
||||
commitHash: ${{ steps.save-commit-hash.outputs.commit_hash }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3
|
||||
uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
|
||||
389
.github/workflows/charts-lint.yaml
vendored
@@ -11,80 +11,357 @@ on:
|
||||
type: string
|
||||
|
||||
jobs:
|
||||
lint-and-verify:
|
||||
name: Lint Charts and Verify Dependencies
|
||||
generate-lint-matrix:
|
||||
name: Generate matrix for lint
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: tccr.io/truecharts/devcontainer:v3.1.38@sha256:2fd9355bc6791461430db87a04f5fe7b49c46bc5957bc348f1efbff4c6c7913d
|
||||
outputs:
|
||||
matrix1: |
|
||||
{
|
||||
"chart": ${{ steps.list-changed.outputs.charts1 }}
|
||||
}
|
||||
matrix2: |
|
||||
{
|
||||
"chart": ${{ steps.list-changed.outputs.charts2 }}
|
||||
}
|
||||
matrix3: |
|
||||
{
|
||||
"chart": ${{ steps.list-changed.outputs.charts3 }}
|
||||
}
|
||||
matrix4: |
|
||||
{
|
||||
"chart": ${{ steps.list-changed.outputs.charts4 }}
|
||||
}
|
||||
matrix5: |
|
||||
{
|
||||
"chart": ${{ steps.list-changed.outputs.charts5 }}
|
||||
}
|
||||
matrix6: |
|
||||
{
|
||||
"chart": ${{ steps.list-changed.outputs.charts6 }}
|
||||
}
|
||||
detected1: ${{ steps.list-changed.outputs.detected1 }}
|
||||
detected2: ${{ steps.list-changed.outputs.detected2 }}
|
||||
detected3: ${{ steps.list-changed.outputs.detected3 }}
|
||||
detected4: ${{ steps.list-changed.outputs.detected4 }}
|
||||
detected5: ${{ steps.list-changed.outputs.detected5 }}
|
||||
detected6: ${{ steps.list-changed.outputs.detected6 }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3
|
||||
uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ref: ${{ inputs.checkoutCommit }}
|
||||
|
||||
- name: Setting repo parent dir as safe safe.directory
|
||||
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
|
||||
- name: Set up chart-testing
|
||||
uses: helm/chart-testing-action@afea100a513515fbd68b0e72a7bb0ae34cb62aec # tag=v2.3.1
|
||||
|
||||
- name: Prep Helm
|
||||
run: |
|
||||
helm repo add truecharts https://charts.truecharts.org
|
||||
helm repo add truecharts-deps https://deps.truecharts.org
|
||||
helm repo add truecharts-library https://library-charts.truecharts.org
|
||||
helm repo add truecharts-deps https://deps.truecharts.org
|
||||
helm repo update
|
||||
|
||||
- name: Collect changes (branch-based)
|
||||
- name: Collect changes
|
||||
id: list-changed
|
||||
if: inputs.chartChangesDetected == 'true'
|
||||
shell: bash
|
||||
run: |
|
||||
EXCLUDED=$(yq eval -o=json '.excluded-charts // []' .github/ct-lint.yaml)
|
||||
CHARTS=$(ct list-changed --config .github/ct-lint.yaml)
|
||||
EXCLUDED_JSON=$(go-yq eval -o=json '.excluded-charts // []' .github/ct-lint.yaml)
|
||||
CHARTS_JSON=$(echo "${CHARTS}" | jq --raw-input '.' | jq --compact-output --slurp '.')
|
||||
OUTPUT_JSON=$(echo "{\"excluded\": ${EXCLUDED_JSON}, \"all\": ${CHARTS_JSON}}" | jq --compact-output '.all-.excluded')
|
||||
|
||||
echo CHANGED_CHARTS=${OUTPUT_JSON} >> "$GITHUB_OUTPUT"
|
||||
if [[ $(echo ${OUTPUT_JSON} | jq --compact-output '. | length') -gt 0 ]]; then
|
||||
echo "detected=true" >> "$GITHUB_OUTPUT"
|
||||
CHARTS_JSON=$(echo "${CHARTS}" | jq -R -s -c 'split("\n")[:-1]')
|
||||
OUTPUT_JSON=$(echo "{\"excluded\": ${EXCLUDED}, \"all\": ${CHARTS_JSON}}" | jq -c '.all-.excluded')
|
||||
OUTPUT_JSON1=$((echo $OUTPUT_JSON | jq -r -c '.[:50]'; echo $OUTPUT_JSON | jq -r -c '.[301:350]'; echo $OUTPUT_JSON | jq -r -c '.[601:650]'; echo $OUTPUT_JSON | jq -r -c '.[901:950]'; echo $OUTPUT_JSON | jq -r -c '.[1201:1250]') | jq -s add)
|
||||
OUTPUT_JSON2=$((echo $OUTPUT_JSON | jq -r -c '.[51:100]'; echo $OUTPUT_JSON | jq -r -c '.[351:400]'; echo $OUTPUT_JSON | jq -r -c '.[651:700]'; echo $OUTPUT_JSON | jq -r -c '.[951:1000]'; echo $OUTPUT_JSON | jq -r -c '.[1251:1300]') | jq -s add)
|
||||
OUTPUT_JSON3=$((echo $OUTPUT_JSON | jq -r -c '.[101:150]'; echo $OUTPUT_JSON | jq -r -c '.[401:450]'; echo $OUTPUT_JSON | jq -r -c '.[701:750]'; echo $OUTPUT_JSON | jq -r -c '.[1001:1050]'; echo $OUTPUT_JSON | jq -r -c '.[1301:1350]') | jq -s add)
|
||||
OUTPUT_JSON4=$((echo $OUTPUT_JSON | jq -r -c '.[151:200]'; echo $OUTPUT_JSON | jq -r -c '.[451:500]'; echo $OUTPUT_JSON | jq -r -c '.[751:800]'; echo $OUTPUT_JSON | jq -r -c '.[1051:1100]'; echo $OUTPUT_JSON | jq -r -c '.[1351:1400]') | jq -s add)
|
||||
OUTPUT_JSON5=$((echo $OUTPUT_JSON | jq -r -c '.[201:250]'; echo $OUTPUT_JSON | jq -r -c '.[501:550]'; echo $OUTPUT_JSON | jq -r -c '.[801:850]'; echo $OUTPUT_JSON | jq -r -c '.[1101:1150]'; echo $OUTPUT_JSON | jq -r -c '.[1401:1450]') | jq -s add)
|
||||
OUTPUT_JSON6=$((echo $OUTPUT_JSON | jq -r -c '.[251:300]'; echo $OUTPUT_JSON | jq -r -c '.[551:600]'; echo $OUTPUT_JSON | jq -r -c '.[851:900]'; echo $OUTPUT_JSON | jq -r -c '.[1151:1200]'; echo $OUTPUT_JSON | jq -r -c '.[1451:1500]') | jq -s add)
|
||||
echo ::set-output name=charts1::${OUTPUT_JSON1}
|
||||
echo ::set-output name=charts2::${OUTPUT_JSON2}
|
||||
echo ::set-output name=charts3::${OUTPUT_JSON3}
|
||||
echo ::set-output name=charts4::${OUTPUT_JSON4}
|
||||
echo ::set-output name=charts5::${OUTPUT_JSON5}
|
||||
echo ::set-output name=charts6::${OUTPUT_JSON6}
|
||||
if [[ $(echo ${OUTPUT_JSON1} | jq -c '. | length') -gt 0 ]]; then
|
||||
echo "::set-output name=detected1::true"
|
||||
fi
|
||||
if [[ $(echo ${OUTPUT_JSON2} | jq -c '. | length') -gt 0 ]]; then
|
||||
echo "::set-output name=detected2::true"
|
||||
fi
|
||||
if [[ $(echo ${OUTPUT_JSON3} | jq -c '. | length') -gt 0 ]]; then
|
||||
echo "::set-output name=detected3::true"
|
||||
fi
|
||||
if [[ $(echo ${OUTPUT_JSON4} | jq -c '. | length') -gt 0 ]]; then
|
||||
echo "::set-output name=detected4::true"
|
||||
fi
|
||||
if [[ $(echo ${OUTPUT_JSON5} | jq -c '. | length') -gt 0 ]]; then
|
||||
echo "::set-output name=detected5::true"
|
||||
fi
|
||||
if [[ $(echo ${OUTPUT_JSON6} | jq -c '. | length') -gt 0 ]]; then
|
||||
echo "::set-output name=detected6::true"
|
||||
fi
|
||||
|
||||
- name: Fetch and Verify dependencies
|
||||
shell: bash
|
||||
if: steps.list-changed.outputs.detected == 'true'
|
||||
env:
|
||||
charts_path: "./"
|
||||
run: |
|
||||
CHANGED=$(echo '${{ steps.list-changed.outputs.CHANGED_CHARTS }}' | jq --raw-output '.[]')
|
||||
for changed in ${CHANGED}; do
|
||||
.github/scripts/fetch_helm_deps.sh "${changed}"
|
||||
done
|
||||
|
||||
- name: Run Chart Linting
|
||||
continue-on-error: true
|
||||
id: lint
|
||||
if: steps.list-changed.outputs.detected == 'true'
|
||||
env:
|
||||
result_file: /tmp/lint_result.txt
|
||||
run: |
|
||||
CHANGED=$(echo '${{ steps.list-changed.outputs.CHANGED_CHARTS }}' | jq --raw-output '.[]')
|
||||
# If the github.base_ref is empty (eg it runs outside of a PR) it fails back to origin/master
|
||||
.github/scripts/tc-lint.sh '${{ steps.list-changed.outputs.CHANGED_CHARTS }}' "origin/${{ github.base_ref }}"
|
||||
|
||||
- name: Create/Update comment
|
||||
if: steps.list-changed.outputs.detected == 'true'
|
||||
uses: thollander/actions-comment-pull-request@632cf9ce90574d125be56b5f3405cda41a84e2fd # v2
|
||||
lint-charts1:
|
||||
needs:
|
||||
- generate-lint-matrix
|
||||
if: needs.generate-lint-matrix.outputs.detected1 == 'true'
|
||||
name: Lint charts Part 1
|
||||
strategy:
|
||||
matrix: ${{ fromJson(needs.generate-lint-matrix.outputs.matrix1) }}
|
||||
fail-fast: false
|
||||
max-parallel: 10
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3
|
||||
with:
|
||||
filePath: /tmp/lint_result.txt
|
||||
comment_tag: lint_results
|
||||
mode: recreate
|
||||
fetch-depth: 0
|
||||
ref: ${{ inputs.checkoutCommit }}
|
||||
|
||||
- name: Lint Result
|
||||
if: steps.list-changed.outputs.detected == 'true'
|
||||
shell: bash
|
||||
- name: lint Kubernetes tools
|
||||
uses: yokawasa/action-setup-kube-tools@af4ebb1af1efd30c5bd84a2e9773355ad6362a33 # v0.9.3
|
||||
with:
|
||||
setup-tools: |
|
||||
helmv3
|
||||
helm: "3.8.0"
|
||||
|
||||
- uses: actions/setup-python@d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435 # v4
|
||||
with:
|
||||
python-version: "3.10"
|
||||
|
||||
- name: Set up chart-testing
|
||||
uses: helm/chart-testing-action@afea100a513515fbd68b0e72a7bb0ae34cb62aec # tag=v2.3.1
|
||||
|
||||
- name: Run chart-testing (lint)
|
||||
run: ct lint --config ".github/ct-lint.yaml" --charts "${{ matrix.chart }}" || ct lint --config ".github/ct-lint.yaml" --charts "${{ matrix.chart }}"
|
||||
|
||||
lint-charts2:
|
||||
needs:
|
||||
- generate-lint-matrix
|
||||
if: needs.generate-lint-matrix.outputs.detected2 == 'true'
|
||||
name: Lint charts Part 2
|
||||
strategy:
|
||||
matrix: ${{ fromJson(needs.generate-lint-matrix.outputs.matrix2) }}
|
||||
fail-fast: false
|
||||
max-parallel: 10
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ref: ${{ inputs.checkoutCommit }}
|
||||
|
||||
- name: lint Kubernetes tools
|
||||
uses: yokawasa/action-setup-kube-tools@af4ebb1af1efd30c5bd84a2e9773355ad6362a33 # v0.9.3
|
||||
with:
|
||||
setup-tools: |
|
||||
helmv3
|
||||
helm: "3.8.0"
|
||||
|
||||
- uses: actions/setup-python@d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435 # v4
|
||||
with:
|
||||
python-version: "3.10"
|
||||
|
||||
- name: Set up chart-testing
|
||||
uses: helm/chart-testing-action@afea100a513515fbd68b0e72a7bb0ae34cb62aec # tag=v2.3.1
|
||||
|
||||
- name: Run chart-testing (lint)
|
||||
run: ct lint --config ".github/ct-lint.yaml" --charts "${{ matrix.chart }}" || ct lint --config ".github/ct-lint.yaml" --charts "${{ matrix.chart }}"
|
||||
|
||||
lint-charts3:
|
||||
needs:
|
||||
- generate-lint-matrix
|
||||
if: needs.generate-lint-matrix.outputs.detected3 == 'true'
|
||||
name: Lint charts Part 3
|
||||
strategy:
|
||||
matrix: ${{ fromJson(needs.generate-lint-matrix.outputs.matrix3) }}
|
||||
fail-fast: false
|
||||
max-parallel: 10
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ref: ${{ inputs.checkoutCommit }}
|
||||
|
||||
- name: lint Kubernetes tools
|
||||
uses: yokawasa/action-setup-kube-tools@af4ebb1af1efd30c5bd84a2e9773355ad6362a33 # v0.9.3
|
||||
with:
|
||||
setup-tools: |
|
||||
helmv3
|
||||
helm: "3.8.0"
|
||||
|
||||
- uses: actions/setup-python@d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435 # v4
|
||||
with:
|
||||
python-version: "3.10"
|
||||
|
||||
- name: Set up chart-testing
|
||||
uses: helm/chart-testing-action@afea100a513515fbd68b0e72a7bb0ae34cb62aec # tag=v2.3.1
|
||||
|
||||
- name: Run chart-testing (lint)
|
||||
run: ct lint --config ".github/ct-lint.yaml" --charts "${{ matrix.chart }}" || ct lint --config ".github/ct-lint.yaml" --charts "${{ matrix.chart }}"
|
||||
|
||||
lint-charts4:
|
||||
needs:
|
||||
- generate-lint-matrix
|
||||
if: needs.generate-lint-matrix.outputs.detected4 == 'true'
|
||||
name: Lint charts Part 4
|
||||
strategy:
|
||||
matrix: ${{ fromJson(needs.generate-lint-matrix.outputs.matrix4) }}
|
||||
fail-fast: false
|
||||
max-parallel: 10
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ref: ${{ inputs.checkoutCommit }}
|
||||
|
||||
- name: lint Kubernetes tools
|
||||
uses: yokawasa/action-setup-kube-tools@af4ebb1af1efd30c5bd84a2e9773355ad6362a33 # v0.9.3
|
||||
with:
|
||||
setup-tools: |
|
||||
helmv3
|
||||
helm: "3.8.0"
|
||||
|
||||
- uses: actions/setup-python@d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435 # v4
|
||||
with:
|
||||
python-version: "3.10"
|
||||
|
||||
- name: Set up chart-testing
|
||||
uses: helm/chart-testing-action@afea100a513515fbd68b0e72a7bb0ae34cb62aec # tag=v2.3.1
|
||||
|
||||
- name: Run chart-testing (lint)
|
||||
run: ct lint --config ".github/ct-lint.yaml" --charts "${{ matrix.chart }}" || ct lint --config ".github/ct-lint.yaml" --charts "${{ matrix.chart }}"
|
||||
|
||||
lint-charts5:
|
||||
needs:
|
||||
- generate-lint-matrix
|
||||
if: needs.generate-lint-matrix.outputs.detected5 == 'true'
|
||||
name: Lint charts Part 5
|
||||
strategy:
|
||||
matrix: ${{ fromJson(needs.generate-lint-matrix.outputs.matrix5) }}
|
||||
fail-fast: false
|
||||
max-parallel: 10
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ref: ${{ inputs.checkoutCommit }}
|
||||
|
||||
- name: lint Kubernetes tools
|
||||
uses: yokawasa/action-setup-kube-tools@af4ebb1af1efd30c5bd84a2e9773355ad6362a33 # v0.9.3
|
||||
with:
|
||||
setup-tools: |
|
||||
helmv3
|
||||
helm: "3.8.0"
|
||||
|
||||
- uses: actions/setup-python@d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435 # v4
|
||||
with:
|
||||
python-version: "3.10"
|
||||
|
||||
- name: Set up chart-testing
|
||||
uses: helm/chart-testing-action@afea100a513515fbd68b0e72a7bb0ae34cb62aec # tag=v2.3.1
|
||||
|
||||
- name: Run chart-testing (lint)
|
||||
run: ct lint --config ".github/ct-lint.yaml" --charts "${{ matrix.chart }}" || ct lint --config ".github/ct-lint.yaml" --charts "${{ matrix.chart }}"
|
||||
|
||||
lint-charts6:
|
||||
needs:
|
||||
- generate-lint-matrix
|
||||
if: needs.generate-lint-matrix.outputs.detected6 == 'true'
|
||||
name: Lint charts Part 6
|
||||
strategy:
|
||||
matrix: ${{ fromJson(needs.generate-lint-matrix.outputs.matrix6) }}
|
||||
fail-fast: false
|
||||
max-parallel: 10
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ref: ${{ inputs.checkoutCommit }}
|
||||
|
||||
- name: lint Kubernetes tools
|
||||
uses: yokawasa/action-setup-kube-tools@af4ebb1af1efd30c5bd84a2e9773355ad6362a33 # v0.9.3
|
||||
with:
|
||||
setup-tools: |
|
||||
helmv3
|
||||
helm: "3.8.0"
|
||||
|
||||
- uses: actions/setup-python@d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435 # v4
|
||||
with:
|
||||
python-version: "3.10"
|
||||
|
||||
- name: Set up chart-testing
|
||||
uses: helm/chart-testing-action@afea100a513515fbd68b0e72a7bb0ae34cb62aec # tag=v2.3.1
|
||||
|
||||
- name: Run chart-testing (lint)
|
||||
run: ct lint --config ".github/ct-lint.yaml" --charts "${{ matrix.chart }}" || ct lint --config ".github/ct-lint.yaml" --charts "${{ matrix.chart }}"
|
||||
|
||||
# Summarize matrix https://github.community/t/status-check-for-a-matrix-jobs/127354/7
|
||||
lint_success:
|
||||
needs:
|
||||
- generate-lint-matrix
|
||||
- lint-charts1
|
||||
- lint-charts2
|
||||
- lint-charts3
|
||||
- lint-charts4
|
||||
- lint-charts5
|
||||
- lint-charts6
|
||||
if: |
|
||||
always()
|
||||
name: Lint successful
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check lint matrix status
|
||||
run: |
|
||||
if [ "${{ steps.lint.outcome }}" != "success" ]; then
|
||||
echo "Linting failed"
|
||||
res1="${{needs.lint-charts1.result}}"
|
||||
res2="${{needs.lint-charts2.result}}"
|
||||
res3="${{needs.lint-charts3.result}}"
|
||||
res4="${{needs.lint-charts4.result}}"
|
||||
res5="${{needs.lint-charts5.result}}"
|
||||
res6="${{needs.lint-charts6.result}}"
|
||||
|
||||
if [[ $res1 == "success" || $res1 == "skipped" ]]; then
|
||||
echo "lint tests 1 successfull..."
|
||||
else
|
||||
echo "lint tests 1 error, stopping due to failure..."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ $res2 == "success" || $res2 == "skipped" ]]; then
|
||||
echo "lint tests 2 successfull..."
|
||||
else
|
||||
echo "lint tests 2 error, stopping due to failure..."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ $res3 == "success" || $res3 == "skipped" ]]; then
|
||||
echo "lint tests 3 successfull..."
|
||||
else
|
||||
echo "lint tests 3 error, stopping due to failure..."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ $res4 == "success" || $res4 == "skipped" ]]; then
|
||||
echo "lint tests 4 successfull..."
|
||||
else
|
||||
echo "lint tests 4 error, stopping due to failure..."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ $res5 == "success" || $res5 == "skipped" ]]; then
|
||||
echo "lint tests 5 successfull..."
|
||||
else
|
||||
echo "lint tests 5 error, stopping due to failure..."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ $res6 == "success" || $res6 == "skipped" ]]; then
|
||||
echo "lint tests 6 successfull..."
|
||||
else
|
||||
echo "lint tests 6 error, stopping due to failure..."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
59
.github/workflows/charts-release.yaml
vendored
@@ -11,25 +11,26 @@ on:
|
||||
- "charts/**"
|
||||
|
||||
jobs:
|
||||
|
||||
release-helm:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: ghcr.io/truecharts/devcontainer:3.1.10@sha256:c239addf725eb5cedf79517f8089fdafdc32b5270d1893ee87ae6e511b9bcae3
|
||||
image: ghcr.io/truecharts/devcontainer:v3.1.1@sha256:44047909bbf54cb1ce3551ae0b342244a5bdcd62562a7f2f07caad4bf8856ee4
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3
|
||||
uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3
|
||||
with:
|
||||
token: ${{ secrets.BOT_TOKEN }}
|
||||
fetch-depth: 1
|
||||
|
||||
|
||||
- name: Checkout Helm-Staging
|
||||
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3
|
||||
uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3
|
||||
with:
|
||||
fetch-depth: 1
|
||||
repository: truecharts/helm-staging
|
||||
token: ${{ secrets.BOT_TOKEN }}
|
||||
path: helm
|
||||
|
||||
|
||||
- name: Fix Pre-Commit issues
|
||||
shell: bash
|
||||
run: |
|
||||
@@ -37,7 +38,7 @@ jobs:
|
||||
pre-commit run --all ||:
|
||||
# Fix sh files to always be executable
|
||||
find . -name '*.sh' | xargs chmod +x
|
||||
|
||||
|
||||
- name: Commit Helm Changes
|
||||
run: |
|
||||
rm -rf helm/charts
|
||||
@@ -59,7 +60,7 @@ jobs:
|
||||
outputs:
|
||||
ref: ${{ steps.save-commit-hash.outputs.commit_hash }}
|
||||
container:
|
||||
image: ghcr.io/truecharts/devcontainer:3.1.10@sha256:c239addf725eb5cedf79517f8089fdafdc32b5270d1893ee87ae6e511b9bcae3
|
||||
image: ghcr.io/truecharts/devcontainer:v3.1.1@sha256:44047909bbf54cb1ce3551ae0b342244a5bdcd62562a7f2f07caad4bf8856ee4
|
||||
steps:
|
||||
- name: Install Kubernetes tools
|
||||
uses: yokawasa/action-setup-kube-tools@af4ebb1af1efd30c5bd84a2e9773355ad6362a33 # v0.9.3
|
||||
@@ -72,27 +73,13 @@ jobs:
|
||||
run: |
|
||||
helm repo add truecharts https://charts.truecharts.org
|
||||
helm repo add truecharts-library https://library-charts.truecharts.org
|
||||
helm repo add truecharts-deps https://deps.truecharts.org
|
||||
helm repo add bitnami https://charts.bitnami.com/bitnami
|
||||
|
||||
helm repo add prometheus https://prometheus-community.github.io/helm-charts
|
||||
helm repo update
|
||||
|
||||
# Optional step if GPG signing is used
|
||||
- name: Prepare GPG key
|
||||
shell: bash
|
||||
run: |
|
||||
gpg_dir=.cr-gpg
|
||||
mkdir -p "$gpg_dir"
|
||||
keyring="$gpg_dir/secring.gpg"
|
||||
base64 -d <<< "$GPG_KEYRING_BASE64" > "$keyring"
|
||||
passphrase_file="$gpg_dir/passphrase"
|
||||
echo "$GPG_PASSPHRASE" > "$passphrase_file"
|
||||
echo "CR_PASSPHRASE_FILE=$passphrase_file" >> "$GITHUB_ENV"
|
||||
echo "CR_KEYRING=$keyring" >> "$GITHUB_ENV"
|
||||
env:
|
||||
GPG_KEYRING_BASE64: "${{ secrets.GPG_KEYRING_BASE64 }}"
|
||||
GPG_PASSPHRASE: "${{ secrets.GPG_PASSPHRASE }}"
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3
|
||||
uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3
|
||||
with:
|
||||
token: ${{ secrets.BOT_TOKEN }}
|
||||
fetch-depth: 0
|
||||
@@ -124,7 +111,7 @@ jobs:
|
||||
find . -name '*.sh' | xargs chmod +x
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3
|
||||
uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3
|
||||
if: |
|
||||
steps.collect-changes.outputs.changesDetectedAfterTag == 'true'
|
||||
with:
|
||||
@@ -236,9 +223,10 @@ jobs:
|
||||
git add --all
|
||||
git commit -sm "Commit released docs for TrueCharts" || exit 0
|
||||
git push
|
||||
|
||||
|
||||
- name: Checkout Catalog
|
||||
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3
|
||||
uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3
|
||||
if: |
|
||||
steps.collect-changes.outputs.changesDetectedAfterTag == 'true'
|
||||
with:
|
||||
@@ -284,22 +272,6 @@ jobs:
|
||||
git config user.name "TrueCharts-Bot"
|
||||
git config user.email "bot@truecharts.org"
|
||||
|
||||
# Optional step if GPG signing is used
|
||||
- name: Prepare GPG key
|
||||
shell: bash
|
||||
run: |
|
||||
gpg_dir=.cr-gpg
|
||||
mkdir -p "$gpg_dir"
|
||||
keyring="$gpg_dir/secring.gpg"
|
||||
base64 -d <<< "$GPG_KEYRING_BASE64" > "$keyring"
|
||||
passphrase_file="$gpg_dir/passphrase"
|
||||
echo "$GPG_PASSPHRASE" > "$passphrase_file"
|
||||
echo "CR_PASSPHRASE_FILE=$passphrase_file" >> "$GITHUB_ENV"
|
||||
echo "CR_KEYRING=$keyring" >> "$GITHUB_ENV"
|
||||
env:
|
||||
GPG_KEYRING_BASE64: "${{ secrets.GPG_KEYRING_BASE64 }}"
|
||||
GPG_PASSPHRASE: "${{ secrets.GPG_PASSPHRASE }}"
|
||||
|
||||
- name: Run chart-releaser for dependency apps
|
||||
uses: helm/chart-releaser-action@be16258da8010256c6e82849661221415f031968 # v1.5.0
|
||||
if: |
|
||||
@@ -307,7 +279,6 @@ jobs:
|
||||
with:
|
||||
charts_dir: charts/dependency
|
||||
charts_repo_url: https://deps.truecharts.org
|
||||
config: cr.yaml
|
||||
env:
|
||||
CR_TOKEN: "${{ secrets.BOT_TOKEN }}"
|
||||
CR_SKIP_EXISTING: "true"
|
||||
|
||||
42
.github/workflows/charts-test.yaml
vendored
@@ -16,7 +16,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3
|
||||
uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ref: ${{ inputs.checkoutCommit }}
|
||||
@@ -81,13 +81,13 @@ jobs:
|
||||
detected6: ${{ steps.list-changed.outputs.detected6 }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3
|
||||
uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ref: ${{ inputs.checkoutCommit }}
|
||||
|
||||
- name: Set up chart-testing
|
||||
uses: helm/chart-testing-action@e8788873172cb653a90ca2e819d79d65a66d4e76 # v2.4.0
|
||||
uses: helm/chart-testing-action@afea100a513515fbd68b0e72a7bb0ae34cb62aec # tag=v2.3.1
|
||||
|
||||
- name: Run chart-testing (list-changed)
|
||||
id: list-changed
|
||||
@@ -140,7 +140,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3
|
||||
uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ref: ${{ inputs.checkoutCommit }}
|
||||
@@ -152,12 +152,12 @@ jobs:
|
||||
helmv3
|
||||
helm: "3.8.0"
|
||||
|
||||
- uses: actions/setup-python@bd6b4b6205c4dbad673328db7b31b7fab9e241c0 # v4
|
||||
- uses: actions/setup-python@d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435 # v4
|
||||
with:
|
||||
python-version: "3.10"
|
||||
|
||||
- name: Set up chart-testing
|
||||
uses: helm/chart-testing-action@e8788873172cb653a90ca2e819d79d65a66d4e76 # v2.4.0
|
||||
uses: helm/chart-testing-action@afea100a513515fbd68b0e72a7bb0ae34cb62aec # tag=v2.3.1
|
||||
|
||||
- name: Create k3d cluster
|
||||
uses: nolar/setup-k3d-k3s@v1
|
||||
@@ -185,7 +185,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3
|
||||
uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ref: ${{ inputs.checkoutCommit }}
|
||||
@@ -197,12 +197,12 @@ jobs:
|
||||
helmv3
|
||||
helm: "3.8.0"
|
||||
|
||||
- uses: actions/setup-python@bd6b4b6205c4dbad673328db7b31b7fab9e241c0 # v4
|
||||
- uses: actions/setup-python@d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435 # v4
|
||||
with:
|
||||
python-version: "3.10"
|
||||
|
||||
- name: Set up chart-testing
|
||||
uses: helm/chart-testing-action@e8788873172cb653a90ca2e819d79d65a66d4e76 # v2.4.0
|
||||
uses: helm/chart-testing-action@afea100a513515fbd68b0e72a7bb0ae34cb62aec # tag=v2.3.1
|
||||
|
||||
- name: Create k3d cluster
|
||||
uses: nolar/setup-k3d-k3s@v1
|
||||
@@ -231,7 +231,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3
|
||||
uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ref: ${{ inputs.checkoutCommit }}
|
||||
@@ -243,12 +243,12 @@ jobs:
|
||||
helmv3
|
||||
helm: "3.8.0"
|
||||
|
||||
- uses: actions/setup-python@bd6b4b6205c4dbad673328db7b31b7fab9e241c0 # v4
|
||||
- uses: actions/setup-python@d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435 # v4
|
||||
with:
|
||||
python-version: "3.10"
|
||||
|
||||
- name: Set up chart-testing
|
||||
uses: helm/chart-testing-action@e8788873172cb653a90ca2e819d79d65a66d4e76 # v2.4.0
|
||||
uses: helm/chart-testing-action@afea100a513515fbd68b0e72a7bb0ae34cb62aec # tag=v2.3.1
|
||||
|
||||
- name: Create k3d cluster
|
||||
uses: nolar/setup-k3d-k3s@v1
|
||||
@@ -276,7 +276,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3
|
||||
uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ref: ${{ inputs.checkoutCommit }}
|
||||
@@ -288,12 +288,12 @@ jobs:
|
||||
helmv3
|
||||
helm: "3.8.0"
|
||||
|
||||
- uses: actions/setup-python@bd6b4b6205c4dbad673328db7b31b7fab9e241c0 # v4
|
||||
- uses: actions/setup-python@d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435 # v4
|
||||
with:
|
||||
python-version: "3.10"
|
||||
|
||||
- name: Set up chart-testing
|
||||
uses: helm/chart-testing-action@e8788873172cb653a90ca2e819d79d65a66d4e76 # v2.4.0
|
||||
uses: helm/chart-testing-action@afea100a513515fbd68b0e72a7bb0ae34cb62aec # tag=v2.3.1
|
||||
|
||||
- name: Create k3d cluster
|
||||
uses: nolar/setup-k3d-k3s@v1
|
||||
@@ -321,7 +321,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3
|
||||
uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ref: ${{ inputs.checkoutCommit }}
|
||||
@@ -333,12 +333,12 @@ jobs:
|
||||
helmv3
|
||||
helm: "3.8.0"
|
||||
|
||||
- uses: actions/setup-python@bd6b4b6205c4dbad673328db7b31b7fab9e241c0 # v4
|
||||
- uses: actions/setup-python@d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435 # v4
|
||||
with:
|
||||
python-version: "3.10"
|
||||
|
||||
- name: Set up chart-testing
|
||||
uses: helm/chart-testing-action@e8788873172cb653a90ca2e819d79d65a66d4e76 # v2.4.0
|
||||
uses: helm/chart-testing-action@afea100a513515fbd68b0e72a7bb0ae34cb62aec # tag=v2.3.1
|
||||
|
||||
- name: Create k3d cluster
|
||||
uses: nolar/setup-k3d-k3s@v1
|
||||
@@ -366,7 +366,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3
|
||||
uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ref: ${{ inputs.checkoutCommit }}
|
||||
@@ -378,12 +378,12 @@ jobs:
|
||||
helmv3
|
||||
helm: "3.8.0"
|
||||
|
||||
- uses: actions/setup-python@bd6b4b6205c4dbad673328db7b31b7fab9e241c0 # v4
|
||||
- uses: actions/setup-python@d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435 # v4
|
||||
with:
|
||||
python-version: "3.10"
|
||||
|
||||
- name: Set up chart-testing
|
||||
uses: helm/chart-testing-action@e8788873172cb653a90ca2e819d79d65a66d4e76 # v2.4.0
|
||||
uses: helm/chart-testing-action@afea100a513515fbd68b0e72a7bb0ae34cb62aec # tag=v2.3.1
|
||||
|
||||
- name: Create k3d cluster
|
||||
uses: nolar/setup-k3d-k3s@v1
|
||||
|
||||
25
.github/workflows/daily.yaml
vendored
@@ -17,10 +17,10 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
name: "Generate readme files"
|
||||
container:
|
||||
image: ghcr.io/truecharts/devcontainer:3.1.10@sha256:c239addf725eb5cedf79517f8089fdafdc32b5270d1893ee87ae6e511b9bcae3
|
||||
image: ghcr.io/truecharts/devcontainer:v3.1.1@sha256:44047909bbf54cb1ce3551ae0b342244a5bdcd62562a7f2f07caad4bf8856ee4
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3
|
||||
uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3
|
||||
with:
|
||||
token: ${{ secrets.BOT_TOKEN }}
|
||||
fetch-depth: 1
|
||||
@@ -31,7 +31,7 @@ jobs:
|
||||
- name: generate readme.md
|
||||
shell: bash
|
||||
run: |
|
||||
for train in stable operators SCALE incubator games enterprise develop non-free deprecated dependency core; do
|
||||
for train in stable SCALE incubator games enterprise develop non-free deprecated dependency core; do
|
||||
for chart in charts/${train}/*; do
|
||||
if [ -d "${chart}" ]; then
|
||||
echo "Generating readme.md for ${train}/${chart}"
|
||||
@@ -44,7 +44,7 @@ jobs:
|
||||
- name: generate HelmIgnore
|
||||
shell: bash
|
||||
run: |
|
||||
for train in stable operators SCALE incubator games enterprise develop non-free deprecated dependency core; do
|
||||
for train in stable SCALE incubator games enterprise develop non-free deprecated dependency core; do
|
||||
for chart in charts/${train}/*; do
|
||||
if [ -d "${chart}" ]; then
|
||||
echo "Attempting to sync HelmIgnore file for: ${chartname}"
|
||||
@@ -55,7 +55,7 @@ jobs:
|
||||
done
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3
|
||||
uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3
|
||||
with:
|
||||
repository: truecharts/website
|
||||
path: website
|
||||
@@ -196,7 +196,7 @@ jobs:
|
||||
}
|
||||
export -f sync_tag
|
||||
|
||||
for train in enterprise stable operators incubator dependency; do
|
||||
for train in enterprise stable incubator dependency; do
|
||||
echo "Correcting Chart.yaml for Train: ${train}..."
|
||||
for chart in $(ls "charts/${train}"); do
|
||||
echo "Correcting Chart.yaml for Chart: ${chart}..."
|
||||
@@ -222,7 +222,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
name: "Generate Security Reports"
|
||||
container:
|
||||
image: ghcr.io/truecharts/devcontainer:3.1.10@sha256:c239addf725eb5cedf79517f8089fdafdc32b5270d1893ee87ae6e511b9bcae3
|
||||
image: ghcr.io/truecharts/devcontainer:v3.1.1@sha256:44047909bbf54cb1ce3551ae0b342244a5bdcd62562a7f2f07caad4bf8856ee4
|
||||
steps:
|
||||
- name: Install Kubernetes tools
|
||||
uses: yokawasa/action-setup-kube-tools@af4ebb1af1efd30c5bd84a2e9773355ad6362a33 # v0.9.3
|
||||
@@ -235,11 +235,12 @@ jobs:
|
||||
run: |
|
||||
helm repo add truecharts https://charts.truecharts.org
|
||||
helm repo add truecharts-library https://library-charts.truecharts.org
|
||||
helm repo add truecharts-deps https://deps.truecharts.org
|
||||
helm repo add bitnami https://charts.bitnami.com/bitnami
|
||||
helm repo add prometheus https://prometheus-community.github.io/helm-charts
|
||||
helm repo update
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3
|
||||
uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3
|
||||
with:
|
||||
token: ${{ secrets.BOT_TOKEN }}
|
||||
fetch-depth: 1
|
||||
@@ -248,7 +249,7 @@ jobs:
|
||||
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
|
||||
|
||||
- name: Checkout website
|
||||
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3
|
||||
uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3
|
||||
with:
|
||||
fetch-depth: 1
|
||||
repository: truecharts/website
|
||||
@@ -325,7 +326,7 @@ jobs:
|
||||
sed -i 's|<hr>|<hr />|g' website/docs/charts/${train}/${chartname}/helm-security.md ||:
|
||||
sed -i 's|<hr>|<hr />|g' website/docs/charts/${train}/${chartname}/container-security.md ||:
|
||||
}
|
||||
for train in enterprise stable operators incubator dependency; do
|
||||
for train in enterprise stable incubator dependency; do
|
||||
echo "Processing Charts for Train: ${train}..."
|
||||
for chart in $(ls "charts/${train}"); do
|
||||
render "charts/${train}/${chart}" ${chart} ${train} || echo "rendering failed for ${chart}"
|
||||
@@ -368,7 +369,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3
|
||||
uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3
|
||||
with:
|
||||
token: ${{ secrets.BOT_TOKEN }}
|
||||
fetch-depth: 1
|
||||
|
||||
105
.github/workflows/meta-label-pr-ci-status.yaml
vendored
Normal file
@@ -0,0 +1,105 @@
|
||||
---
|
||||
name: "Metadata: Label pull requests CI status"
|
||||
|
||||
on:
|
||||
workflow_run:
|
||||
workflows:
|
||||
- "Pull Request: Validate"
|
||||
types:
|
||||
- completed
|
||||
|
||||
jobs:
|
||||
label-ci-status:
|
||||
name: Label CI status
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3
|
||||
with:
|
||||
token: ${{ secrets.BOT_TOKEN }}
|
||||
|
||||
- name: Download workflow artifact
|
||||
uses: dawidd6/action-download-artifact@7132ab516fba5f602fafae6fdd4822afa10db76f # v2.26.1
|
||||
with:
|
||||
github_token: ${{ secrets.BOT_TOKEN }}
|
||||
workflow: pr-validate.yaml
|
||||
run_id: ${{ github.event.workflow_run.id }}
|
||||
name: pr_metadata
|
||||
path: ./pr_metadata
|
||||
|
||||
- name: Read the pr_number file
|
||||
id: pr_num_reader
|
||||
uses: juliangruber/read-file-action@02bbba9876a8f870efd4ad64e3b9088d3fb94d4b # tag=v1.1.6
|
||||
with:
|
||||
path: ./pr_metadata/pr_number.txt
|
||||
|
||||
- name: "Get workflow job status"
|
||||
uses: actions/github-script@98814c53be79b1d30f795b907e553d8679345975 # v6
|
||||
id: get-workflow-jobs
|
||||
with:
|
||||
github-token: ${{ secrets.BOT_TOKEN }}
|
||||
# https://mhagemann.medium.com/the-ultimate-way-to-slugify-a-url-string-in-javascript-b8e4a0d849e1
|
||||
script: |
|
||||
function slugify(string) {
|
||||
const a = 'àáâäæãåāăąçćčđďèéêëēėęěğǵḧîïíīįìıİłḿñńǹňôöòóœøōõőṕŕřßśšşșťțûüùúūǘůűųẃẍÿýžźż·/_,:;'
|
||||
const b = 'aaaaaaaaaacccddeeeeeeeegghiiiiiiiilmnnnnoooooooooprrsssssttuuuuuuuuuwxyyzzz------'
|
||||
const p = new RegExp(a.split('').join('|'), 'g')
|
||||
return string.toString().toLowerCase()
|
||||
.replace(/\s+/g, '-') // Replace spaces with -
|
||||
.replace(p, c => b.charAt(a.indexOf(c))) // Replace special characters
|
||||
.replace(/&/g, '-and-') // Replace & with 'and'
|
||||
.replace(/[^\w\-]+/g, '') // Remove all non-word characters
|
||||
.replace(/\-\-+/g, '-') // Replace multiple - with single -
|
||||
.replace(/^-+/, '') // Trim - from start of text
|
||||
.replace(/-+$/, '') // Trim - from end of text
|
||||
}
|
||||
let result = new Object
|
||||
const wfJobs = await github.rest.actions.listJobsForWorkflowRun({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
run_id: context.payload.workflow_run.id,
|
||||
})
|
||||
for (const job of wfJobs.data.jobs) {
|
||||
result[slugify(job.name)] = job.conclusion
|
||||
}
|
||||
console.log(result)
|
||||
return result
|
||||
- name: Label pre-commit status
|
||||
uses: ./.github/actions/label-from-status
|
||||
with:
|
||||
token: ${{ secrets.BOT_TOKEN }}
|
||||
issue-number: ${{ steps.pr_num_reader.outputs.content }}
|
||||
prefix: precommit
|
||||
job-status: |-
|
||||
${{ fromJSON(steps.get-workflow-jobs.outputs.result).pre-commit-check-run-pre-commit-checks || 'skipped' }}
|
||||
remove-on-skipped: true
|
||||
|
||||
#- name: Label changelog status
|
||||
# uses: ./.github/actions/label-from-status
|
||||
# with:
|
||||
# token: ${{ secrets.BOT_TOKEN }}
|
||||
# issue-number: ${{ steps.pr_num_reader.outputs.content }}
|
||||
# prefix: changelog
|
||||
# job-status: |-
|
||||
# ${{ fromJSON(steps.get-workflow-jobs.outputs.result).charts-changelog-validate-changelog || 'skipped' }}
|
||||
# remove-on-skipped: true
|
||||
|
||||
- name: Label chart lint status
|
||||
uses: ./.github/actions/label-from-status
|
||||
with:
|
||||
token: ${{ secrets.BOT_TOKEN }}
|
||||
issue-number: ${{ steps.pr_num_reader.outputs.content }}
|
||||
prefix: lint
|
||||
job-status: |-
|
||||
${{ fromJSON(steps.get-workflow-jobs.outputs.result).charts-lint-lint-successful || 'skipped' }}
|
||||
remove-on-skipped: true
|
||||
|
||||
- name: Label chart install status
|
||||
uses: ./.github/actions/label-from-status
|
||||
with:
|
||||
token: ${{ secrets.BOT_TOKEN }}
|
||||
issue-number: ${{ steps.pr_num_reader.outputs.content }}
|
||||
prefix: install
|
||||
job-status: |-
|
||||
${{ fromJSON(steps.get-workflow-jobs.outputs.result).charts-test-install-successful || 'skipped' }}
|
||||
remove-on-skipped: true
|
||||
32
.github/workflows/metadata-label-commenter.yaml
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
---
|
||||
name: "Metadata: Label Commenter"
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
issues:
|
||||
types:
|
||||
- labeled
|
||||
- unlabeled
|
||||
pull_request_target:
|
||||
types:
|
||||
- labeled
|
||||
- unlabeled
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
issues: write
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
comment:
|
||||
name: Label commenter
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3
|
||||
with:
|
||||
token: ${{ secrets.BOT_TOKEN }}
|
||||
ref: master
|
||||
|
||||
- uses: peaceiris/actions-label-commenter@f0dbbef043eb1b150b566db36b0bdc8b7f505579 # tag=v1
|
||||
with:
|
||||
github_token: ${{ secrets.BOT_TOKEN }}
|
||||
33
.github/workflows/metadata-label-pr.yaml
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
---
|
||||
name: "Metadata: Label pull requests"
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
pull_request_target:
|
||||
types:
|
||||
- opened
|
||||
- edited
|
||||
- closed
|
||||
- reopened
|
||||
- ready_for_review
|
||||
- synchronize
|
||||
|
||||
jobs:
|
||||
label-size:
|
||||
name: Label Size
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Label Size
|
||||
uses: pascalgn/size-label-action@1619680c5ac1ef360b944bb56a57587ba4aa2af8 # tag=v0.4.3
|
||||
env:
|
||||
GITHUB_TOKEN: "${{ secrets.BOT_TOKEN }}"
|
||||
with:
|
||||
sizes: >
|
||||
{
|
||||
"0": "XS",
|
||||
"20": "S",
|
||||
"50": "M",
|
||||
"200": "L",
|
||||
"800": "XL",
|
||||
"2000": "XXL"
|
||||
}
|
||||
2
.github/workflows/pr-metadata.yaml
vendored
@@ -53,7 +53,7 @@ jobs:
|
||||
addedOrModifiedCharts: ${{ steps.collect-changes.outputs.addedOrModifiedCharts }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3
|
||||
uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3
|
||||
|
||||
- name: Collect changes
|
||||
id: collect-changes
|
||||
|
||||
3
.github/workflows/pr-validate.yaml
vendored
@@ -62,7 +62,7 @@ jobs:
|
||||
head-commit-message: ${{ steps.get_head_commit_message.outputs.headCommitMsg }}
|
||||
steps:
|
||||
- name: Get repo
|
||||
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3
|
||||
uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3
|
||||
with:
|
||||
ref: ${{ github.event.pull_request.head.sha }}
|
||||
- name: verbose head git commit message
|
||||
@@ -91,4 +91,3 @@ jobs:
|
||||
GITHUB_TOKEN: "${{ secrets.BOT_TOKEN }}"
|
||||
UPDATE_RETRIES: 12
|
||||
UPDATE_RETRY_SLEEP: 60000
|
||||
MERGE_METHOD: squash
|
||||
|
||||
2
.github/workflows/prune.yaml
vendored
@@ -9,7 +9,7 @@ jobs:
|
||||
name: "prune old releases"
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3
|
||||
uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- uses: actions/delete-package-versions@0d39a63126868f5eefaa47169615edd3c0f61e20 # v4
|
||||
|
||||
6
.github/workflows/renovate-bump.yaml
vendored
@@ -12,14 +12,14 @@ jobs:
|
||||
name: Get changed Apps
|
||||
runs-on: ubuntu-20.04
|
||||
container:
|
||||
image: ghcr.io/truecharts/devcontainer:3.1.10@sha256:c239addf725eb5cedf79517f8089fdafdc32b5270d1893ee87ae6e511b9bcae3
|
||||
image: ghcr.io/truecharts/devcontainer:v3.1.1@sha256:44047909bbf54cb1ce3551ae0b342244a5bdcd62562a7f2f07caad4bf8856ee4
|
||||
steps:
|
||||
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3
|
||||
- uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3
|
||||
name: Checkout
|
||||
with:
|
||||
fetch-depth: 0
|
||||
token: ${{ secrets.BOT_TOKEN }}
|
||||
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3
|
||||
- uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3
|
||||
name: Checkout
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
4
.github/workflows/renovate.yml
vendored
@@ -8,11 +8,11 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
|
||||
uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3.5.0
|
||||
with:
|
||||
token: ${{ secrets.BOT_TOKEN }}
|
||||
- name: Self-hosted Renovate
|
||||
uses: renovatebot/github-action@4cc203c40dc0eb6b356306893cabda6ff9d42f33 # v37.0.0
|
||||
uses: renovatebot/github-action@95cbcd7e8b9d0d69e15ba26208631839ce7eee48 # v36.0.2
|
||||
with:
|
||||
configurationFile: .github/renovate-config.js
|
||||
token: ${{ secrets.BOT_TOKEN }}
|
||||
|
||||
2
.github/workflows/schedule-sync-labels.yaml
vendored
@@ -12,7 +12,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3
|
||||
uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3
|
||||
with:
|
||||
token: ${{ secrets.BOT_TOKEN }}
|
||||
|
||||
|
||||
56
.github/yaml-lint-conf.yaml
vendored
@@ -1,56 +0,0 @@
|
||||
---
|
||||
rules:
|
||||
anchors:
|
||||
forbid-undeclared-aliases: true
|
||||
braces:
|
||||
forbid: non-empty
|
||||
min-spaces-inside: 0
|
||||
max-spaces-inside: 0
|
||||
min-spaces-inside-empty: -1
|
||||
max-spaces-inside-empty: -1
|
||||
brackets:
|
||||
forbid: false
|
||||
min-spaces-inside: 0
|
||||
max-spaces-inside: 0
|
||||
min-spaces-inside-empty: -1
|
||||
max-spaces-inside-empty: -1
|
||||
colons:
|
||||
max-spaces-before: 0
|
||||
max-spaces-after: 1
|
||||
commas:
|
||||
max-spaces-before: 0
|
||||
min-spaces-after: 1
|
||||
max-spaces-after: 1
|
||||
comments:
|
||||
require-starting-space: true
|
||||
min-spaces-from-content: 2
|
||||
# No --- to start a file
|
||||
document-start: disable
|
||||
document-end: disable
|
||||
empty-lines:
|
||||
max: 1
|
||||
max-start: 0
|
||||
max-end: 0
|
||||
float-values:
|
||||
require-numeral-before-decimal: true
|
||||
forbid-scientific-notation: true
|
||||
forbid-nan: true
|
||||
forbid-inf: true
|
||||
hyphens:
|
||||
max-spaces-after: 1
|
||||
indentation:
|
||||
spaces: 2
|
||||
indent-sequences: true
|
||||
check-multi-line-strings: false
|
||||
key-duplicates: enable
|
||||
# Lines can be any length
|
||||
line-length: disable
|
||||
new-line-at-end-of-file: enable
|
||||
new-lines:
|
||||
type: unix
|
||||
octal-values:
|
||||
forbid-implicit-octal: true
|
||||
forbid-explicit-octal: true
|
||||
trailing-spaces: enable
|
||||
truthy:
|
||||
allowed-values: ["true", "false"]
|
||||
@@ -22,7 +22,7 @@ repos:
|
||||
- id: fix-byte-order-marker # removes utf-8 byte order marker.
|
||||
- id: requirements-txt-fixer # sorts entries in requirements.txt.
|
||||
- id: check-added-large-files # prevents giant files from being committed.
|
||||
exclude: \.(png|jpg|jpeg|svg)$
|
||||
exclude: (icon.*)
|
||||
- id: check-yaml # checks yaml files for parseable syntax.
|
||||
exclude: (templates\/.*|crds\/.*|questions.yaml|chart_schema.yaml)
|
||||
- id: detect-private-key # detects the presence of private keys.
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
apiVersion: v2
|
||||
appVersion: "23.4.2.11"
|
||||
appVersion: "23.2.1.253"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.truecharts.org
|
||||
version: 12.10.0
|
||||
version: 12.3.0
|
||||
deprecated: false
|
||||
description: ClickHouse is a column-oriented database management system (DBMS) for online analytical processing of queries (OLAP).
|
||||
home: https://truecharts.org/charts/dependency/clickhouse
|
||||
@@ -22,7 +22,7 @@ sources:
|
||||
- https://github.com/truecharts/charts/tree/master/charts/dependency/clickhouse
|
||||
- https://clickhouse.com/
|
||||
type: application
|
||||
version: 5.0.28
|
||||
version: 5.0.2
|
||||
annotations:
|
||||
truecharts.org/catagories: |
|
||||
- database
|
||||
|
||||
@@ -11,7 +11,6 @@ questions:
|
||||
# Include{containerAdvanced}
|
||||
|
||||
# Include{containerConfig}
|
||||
# Include{podOptions}
|
||||
- variable: clickhouseDatabase
|
||||
group: "App Configuration"
|
||||
label: "Database Name"
|
||||
@@ -70,6 +69,7 @@ questions:
|
||||
default: 8123
|
||||
required: true
|
||||
# Include{serviceExpertRoot}
|
||||
default: false
|
||||
# Include{serviceExpert}
|
||||
# Include{serviceList}
|
||||
# Include{persistenceRoot}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
image:
|
||||
repository: tccr.io/truecharts/clickhouse
|
||||
pullPolicy: IfNotPresent
|
||||
tag: v23.4.2.11@sha256:c12f70ed3f189415fac14cb4e1cb861575817fe6d1e385dc88024341eca10cca
|
||||
tag: 23.2.1.2537@sha256:669278d98936a2d12bf8f331067afb6a34e5570fdcb37b854bb5d0b2d8f30108
|
||||
|
||||
workload:
|
||||
main:
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
apiVersion: v2
|
||||
appVersion: "2.8.2"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.truecharts.org
|
||||
version: 12.10.0
|
||||
deprecated: false
|
||||
description: kube-state-metrics is a simple service that listens to the Kubernetes API server and generates metrics about the state of the objects.
|
||||
home: https://truecharts.org/charts/dependency/kube-state-metrics
|
||||
icon: https://truecharts.org/img/hotlink-ok/chart-icons/kube-state-metrics.png
|
||||
keywords:
|
||||
- prometheus
|
||||
- kube-state-metrics
|
||||
- monitoring
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
maintainers:
|
||||
- email: info@truecharts.org
|
||||
name: TrueCharts
|
||||
url: https://truecharts.org
|
||||
name: kube-state-metrics
|
||||
sources:
|
||||
- https://github.com/truecharts/charts/tree/master/charts/dependency/kube-state-metrics
|
||||
type: application
|
||||
version: 1.0.5
|
||||
annotations:
|
||||
truecharts.org/catagories: |
|
||||
- metrics
|
||||
truecharts.org/SCALE-support: "true"
|
||||
truecharts.org/grade: U
|
||||
@@ -1,106 +0,0 @@
|
||||
Business Source License 1.1
|
||||
|
||||
Parameters
|
||||
|
||||
Licensor: The TrueCharts Project, it's owner and it's contributors
|
||||
Licensed Work: The TrueCharts "Grafana" Helm Chart
|
||||
Additional Use Grant: You may use the licensed work in production, as long
|
||||
as it is directly sourced from a TrueCharts provided
|
||||
official repository, catalog or source. You may also make private
|
||||
modification to the directly sourced licenced work,
|
||||
when used in production.
|
||||
|
||||
The following cases are, due to their nature, also
|
||||
defined as 'production use' and explicitly prohibited:
|
||||
- Bundling, including or displaying the licensed work
|
||||
with(in) another work intended for production use,
|
||||
with the apparent intend of facilitating and/or
|
||||
promoting production use by third parties in
|
||||
violation of this license.
|
||||
|
||||
Change Date: 2050-01-01
|
||||
|
||||
Change License: 3-clause BSD license
|
||||
|
||||
For information about alternative licensing arrangements for the Software,
|
||||
please contact: legal@truecharts.org
|
||||
|
||||
Notice
|
||||
|
||||
The Business Source License (this document, or the “License”) is not an Open
|
||||
Source license. However, the Licensed Work will eventually be made available
|
||||
under an Open Source License, as stated in this License.
|
||||
|
||||
License text copyright (c) 2017 MariaDB Corporation Ab, All Rights Reserved.
|
||||
“Business Source License” is a trademark of MariaDB Corporation Ab.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Business Source License 1.1
|
||||
|
||||
Terms
|
||||
|
||||
The Licensor hereby grants you the right to copy, modify, create derivative
|
||||
works, redistribute, and make non-production use of the Licensed Work. The
|
||||
Licensor may make an Additional Use Grant, above, permitting limited
|
||||
production use.
|
||||
|
||||
Effective on the Change Date, or the fourth anniversary of the first publicly
|
||||
available distribution of a specific version of the Licensed Work under this
|
||||
License, whichever comes first, the Licensor hereby grants you rights under
|
||||
the terms of the Change License, and the rights granted in the paragraph
|
||||
above terminate.
|
||||
|
||||
If your use of the Licensed Work does not comply with the requirements
|
||||
currently in effect as described in this License, you must purchase a
|
||||
commercial license from the Licensor, its affiliated entities, or authorized
|
||||
resellers, or you must refrain from using the Licensed Work.
|
||||
|
||||
All copies of the original and modified Licensed Work, and derivative works
|
||||
of the Licensed Work, are subject to this License. This License applies
|
||||
separately for each version of the Licensed Work and the Change Date may vary
|
||||
for each version of the Licensed Work released by Licensor.
|
||||
|
||||
You must conspicuously display this License on each original or modified copy
|
||||
of the Licensed Work. If you receive the Licensed Work in original or
|
||||
modified form from a third party, the terms and conditions set forth in this
|
||||
License apply to your use of that work.
|
||||
|
||||
Any use of the Licensed Work in violation of this License will automatically
|
||||
terminate your rights under this License for the current and all other
|
||||
versions of the Licensed Work.
|
||||
|
||||
This License does not grant you any right in any trademark or logo of
|
||||
Licensor or its affiliates (provided that you may use a trademark or logo of
|
||||
Licensor as expressly required by this License).
|
||||
|
||||
TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON
|
||||
AN “AS IS” BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS,
|
||||
EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND
|
||||
TITLE.
|
||||
|
||||
MariaDB hereby grants you permission to use this License’s text to license
|
||||
your works, and to refer to it using the trademark “Business Source License”,
|
||||
as long as you comply with the Covenants of Licensor below.
|
||||
|
||||
Covenants of Licensor
|
||||
|
||||
In consideration of the right to use this License’s text and the “Business
|
||||
Source License” name and trademark, Licensor covenants to MariaDB, and to all
|
||||
other recipients of the licensed work to be provided by Licensor:
|
||||
|
||||
1. To specify as the Change License the GPL Version 2.0 or any later version,
|
||||
or a license that is compatible with GPL Version 2.0 or a later version,
|
||||
where “compatible” means that software provided under the Change License can
|
||||
be included in a program with software provided under GPL Version 2.0 or a
|
||||
later version. Licensor may specify additional Change Licenses without
|
||||
limitation.
|
||||
|
||||
2. To either: (a) specify an additional grant of rights to use that does not
|
||||
impose any additional restriction on the right granted in this License, as
|
||||
the Additional Use Grant; or (b) insert the text “None”.
|
||||
|
||||
3. To specify a Change Date.
|
||||
|
||||
4. Not to modify this License in any other way.
|
||||
|
Before Width: | Height: | Size: 8.5 KiB |
@@ -1,313 +0,0 @@
|
||||
image:
|
||||
repository: tccr.io/truecharts/kube-state-metrics
|
||||
pullPolicy: IfNotPresent
|
||||
tag: v2.8.2@sha256:e7b9fbc67f29bb72043238ebaa397d5161f9e3d5cdb16ac888e2ffe152015700
|
||||
|
||||
service:
|
||||
main:
|
||||
ports:
|
||||
main:
|
||||
protocol: http
|
||||
port: 8080
|
||||
selfmonitor:
|
||||
enabled: true
|
||||
ports:
|
||||
selfmonitor:
|
||||
enabled: true
|
||||
protocol: http
|
||||
port: 8081
|
||||
|
||||
workload:
|
||||
main:
|
||||
podSpec:
|
||||
containers:
|
||||
main:
|
||||
args:
|
||||
- --resources=certificatesigningrequests
|
||||
- --resources=configmaps
|
||||
- --resources=cronjobs
|
||||
- --resources=daemonsets
|
||||
- --resources=deployments
|
||||
- --resources=endpoints
|
||||
- --resources=horizontalpodautoscalers
|
||||
- --resources=ingresses
|
||||
- --resources=jobs
|
||||
- --resources=limitranges
|
||||
- --resources=mutatingwebhookconfigurations
|
||||
- --resources=namespaces
|
||||
- --resources=networkpolicies
|
||||
- --resources=nodes
|
||||
- --resources=persistentvolumeclaims
|
||||
- --resources=persistentvolumes
|
||||
- --resources=poddisruptionbudgets
|
||||
- --resources=pods
|
||||
- --resources=replicasets
|
||||
- --resources=replicationcontrollers
|
||||
- --resources=resourcequotas
|
||||
- --resources=secrets
|
||||
- --resources=services
|
||||
- --resources=statefulsets
|
||||
- --resources=storageclasses
|
||||
- --resources=verticalpodautoscalers
|
||||
- --resources=validatingwebhookconfigurations
|
||||
- --resources=volumeattachments
|
||||
|
||||
probes:
|
||||
liveness:
|
||||
path: /healthz
|
||||
port: main
|
||||
|
||||
readiness:
|
||||
path: /healthz
|
||||
port: main
|
||||
|
||||
startup:
|
||||
type: tcp
|
||||
port: main
|
||||
|
||||
podOptions:
|
||||
automountServiceAccountToken: true
|
||||
|
||||
serviceAccount:
|
||||
main:
|
||||
enabled: true
|
||||
primary: true
|
||||
|
||||
rbac:
|
||||
main:
|
||||
enabled: true
|
||||
primary: true
|
||||
clusterWide: true
|
||||
rules:
|
||||
- apiGroups:
|
||||
- certificates.k8s.io
|
||||
resources:
|
||||
- certificatesigningrequests
|
||||
verbs:
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- configmaps
|
||||
verbs:
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- batch
|
||||
resources:
|
||||
- cronjobs
|
||||
verbs:
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- extensions
|
||||
- apps
|
||||
resources:
|
||||
- daemonsets
|
||||
verbs:
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- extensions
|
||||
- apps
|
||||
resources:
|
||||
- deployments
|
||||
verbs:
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- endpoints
|
||||
verbs:
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- autoscaling
|
||||
resources:
|
||||
- horizontalpodautoscalers
|
||||
verbs:
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- extensions
|
||||
- networking.k8s.io
|
||||
resources:
|
||||
- ingresses
|
||||
verbs:
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- batch
|
||||
resources:
|
||||
- jobs
|
||||
verbs:
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- limitranges
|
||||
verbs:
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- admissionregistration.k8s.io
|
||||
resources:
|
||||
- mutatingwebhookconfigurations
|
||||
verbs:
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- namespaces
|
||||
verbs:
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- networking.k8s.io
|
||||
resources:
|
||||
- networkpolicies
|
||||
verbs:
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- nodes
|
||||
verbs:
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- persistentvolumeclaims
|
||||
verbs:
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- persistentvolumes
|
||||
verbs:
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- policy
|
||||
resources:
|
||||
- poddisruptionbudgets
|
||||
verbs:
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- pods
|
||||
verbs:
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- extensions
|
||||
- apps
|
||||
resources:
|
||||
- replicasets
|
||||
verbs:
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- replicationcontrollers
|
||||
verbs:
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- resourcequotas
|
||||
verbs:
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- secrets
|
||||
verbs:
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- services
|
||||
verbs:
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- apps
|
||||
resources:
|
||||
- statefulsets
|
||||
verbs:
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- storage.k8s.io
|
||||
resources:
|
||||
- storageclasses
|
||||
verbs:
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- autoscaling.k8s.io
|
||||
resources:
|
||||
- verticalpodautoscalers
|
||||
verbs:
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- admissionregistration.k8s.io
|
||||
resources:
|
||||
- validatingwebhookconfigurations
|
||||
verbs:
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- storage.k8s.io
|
||||
resources:
|
||||
- volumeattachments
|
||||
verbs:
|
||||
- list
|
||||
- watch
|
||||
|
||||
metrics:
|
||||
main:
|
||||
# -- Enable and configure a Prometheus serviceMonitor for the chart under this key.
|
||||
# @default -- See values.yaml
|
||||
enabled: true
|
||||
type: serviceMonitor
|
||||
endpoints:
|
||||
- port: main
|
||||
- port: selfmonitor
|
||||
# -- Enable and configure Prometheus Rules for the chart under this key.
|
||||
# @default -- See values.yaml
|
||||
prometheusRule:
|
||||
enabled: false
|
||||
labels: {}
|
||||
# -- Configure additionial rules for the chart under this key.
|
||||
# @default -- See prometheusrules.yaml
|
||||
rules:
|
||||
[]
|
||||
# - alert: UnifiPollerAbsent
|
||||
# annotations:
|
||||
# description: Unifi Poller has disappeared from Prometheus service discovery.
|
||||
# summary: Unifi Poller is down.
|
||||
# expr: |
|
||||
# absent(up{job=~".*unifi-poller.*"} == 1)
|
||||
# for: 5m
|
||||
# labels:
|
||||
# severity: critical
|
||||
|
||||
portal:
|
||||
open:
|
||||
enabled: false
|
||||
@@ -1,9 +1,9 @@
|
||||
apiVersion: v2
|
||||
appVersion: "10.11.3"
|
||||
appVersion: "10.11.2"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.truecharts.org
|
||||
version: 12.10.0
|
||||
version: 12.3.0
|
||||
deprecated: false
|
||||
description: Fast, reliable, scalable, and easy to use open-source relational database system.
|
||||
home: https://truecharts.org/charts/dependency/mariadb
|
||||
@@ -25,7 +25,7 @@ sources:
|
||||
- https://github.com/prometheus/mysqld_exporter
|
||||
- https://mariadb.org
|
||||
type: application
|
||||
version: 7.0.32
|
||||
version: 7.0.3
|
||||
annotations:
|
||||
truecharts.org/catagories: |
|
||||
- database
|
||||
|
||||
@@ -11,7 +11,6 @@ questions:
|
||||
# Include{containerAdvanced}
|
||||
|
||||
# Include{containerConfig}
|
||||
# Include{podOptions}
|
||||
- variable: mariadbDatabase
|
||||
group: "App Configuration"
|
||||
label: "Database Name"
|
||||
@@ -64,6 +63,7 @@ questions:
|
||||
default: 3306
|
||||
required: true
|
||||
# Include{serviceExpertRoot}
|
||||
default: false
|
||||
# Include{serviceExpert}
|
||||
# Include{serviceList}
|
||||
# Include{persistenceRoot}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
image:
|
||||
repository: tccr.io/truecharts/mariadb
|
||||
pullPolicy: IfNotPresent
|
||||
tag: v10.11.3@sha256:6644ba3144bf9956439b2c40ec6b645c16c9b83fdf1943a9b60a750f98ac7e3c
|
||||
tag: 10.11.2@sha256:fc01102eef1de92155b5097636ef738700c8bef1735f52a397b1505cbf455c0f
|
||||
|
||||
workload:
|
||||
main:
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
apiVersion: v2
|
||||
appVersion: "1.6.20"
|
||||
appVersion: "1.6.18"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.truecharts.org
|
||||
version: 12.10.0
|
||||
version: 12.3.0
|
||||
deprecated: false
|
||||
description: Memcached is a memory-backed database caching solution
|
||||
home: https://truecharts.org/charts/dependency/memcached
|
||||
@@ -23,7 +23,7 @@ sources:
|
||||
- https://github.com/bitnami/bitnami-docker-memcached
|
||||
- http://memcached.org/
|
||||
type: application
|
||||
version: 6.0.42
|
||||
version: 6.0.13
|
||||
annotations:
|
||||
truecharts.org/catagories: |
|
||||
- database
|
||||
|
||||
@@ -9,7 +9,6 @@ questions:
|
||||
# Include{containerBasic}
|
||||
# Include{containerAdvanced}
|
||||
# Include{containerConfig}
|
||||
# Include{podOptions}
|
||||
# Include{serviceRoot}
|
||||
- variable: main
|
||||
label: "Main Service"
|
||||
@@ -34,6 +33,7 @@ questions:
|
||||
default: 11211
|
||||
required: true
|
||||
# Include{serviceExpertRoot}
|
||||
default: false
|
||||
# Include{serviceExpert}
|
||||
# Include{serviceList}
|
||||
# Include{persistenceList}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
image:
|
||||
repository: tccr.io/truecharts/memcached
|
||||
pullPolicy: IfNotPresent
|
||||
tag: v1.6.20@sha256:6e11823db1555e766c5eda1b7725f4cc5cc5513da404644541d38a8432820117
|
||||
tag: 1.6.18@sha256:49998f1e9bb4c1537c559c9e6a757c93a346d2ea6b03d03ecdca3bda3c8d4ab6
|
||||
|
||||
service:
|
||||
main:
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
apiVersion: v2
|
||||
appVersion: "6.0.6"
|
||||
appVersion: "6.0.4"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.truecharts.org
|
||||
version: 12.10.0
|
||||
version: 12.3.0
|
||||
deprecated: false
|
||||
description: Fast, reliable, scalable, and easy to use open-source no-sql database system.
|
||||
home: https://truecharts.org/charts/dependency/mongodb
|
||||
@@ -23,7 +23,7 @@ sources:
|
||||
- https://github.com/bitnami/bitnami-docker-mongodb
|
||||
- https://www.mongodb.com
|
||||
type: application
|
||||
version: 6.0.31
|
||||
version: 6.0.2
|
||||
annotations:
|
||||
truecharts.org/catagories: |
|
||||
- database
|
||||
|
||||
@@ -11,7 +11,6 @@ questions:
|
||||
# Include{containerAdvanced}
|
||||
|
||||
# Include{containerConfig}
|
||||
# Include{podOptions}
|
||||
- variable: mongodbDatabase
|
||||
group: "App Configuration"
|
||||
label: "Database Name"
|
||||
@@ -64,6 +63,7 @@ questions:
|
||||
default: 27017
|
||||
required: true
|
||||
# Include{serviceExpertRoot}
|
||||
default: false
|
||||
# Include{serviceExpert}
|
||||
# Include{serviceList}
|
||||
# Include{persistenceRoot}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
image:
|
||||
repository: tccr.io/truecharts/mongodb
|
||||
pullPolicy: IfNotPresent
|
||||
tag: v6.0.6@sha256:9d10c8a26a1b98d7212bbc2fef5dd7bf35275390dad10e6b4680c8f01c8177e4
|
||||
tag: 6.0.4@sha256:3600c9f13d96311ddad4d2de6520d54c89a8708ee36798e4dc6fb93f59c1eab4
|
||||
|
||||
workload:
|
||||
main:
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
apiVersion: v2
|
||||
appVersion: "1.5.0"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.truecharts.org
|
||||
version: 12.10.0
|
||||
deprecated: false
|
||||
description: Prometheus exporter for hardware and OS metrics exposed by UNIX kernels, with pluggable metric collectors.
|
||||
home: https://truecharts.org/charts/dependency/node-exporter
|
||||
icon: https://truecharts.org/img/hotlink-ok/chart-icons/node-exporter.png
|
||||
keywords:
|
||||
- prometheus
|
||||
- node-exporter
|
||||
- monitoring
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
maintainers:
|
||||
- email: info@truecharts.org
|
||||
name: TrueCharts
|
||||
url: https://truecharts.org
|
||||
name: node-exporter
|
||||
sources:
|
||||
- https://github.com/truecharts/charts/tree/master/charts/dependency/node-exporter
|
||||
type: application
|
||||
version: 1.0.4
|
||||
annotations:
|
||||
truecharts.org/catagories: |
|
||||
- metrics
|
||||
truecharts.org/SCALE-support: "true"
|
||||
truecharts.org/grade: U
|
||||
@@ -1,106 +0,0 @@
|
||||
Business Source License 1.1
|
||||
|
||||
Parameters
|
||||
|
||||
Licensor: The TrueCharts Project, it's owner and it's contributors
|
||||
Licensed Work: The TrueCharts "Grafana" Helm Chart
|
||||
Additional Use Grant: You may use the licensed work in production, as long
|
||||
as it is directly sourced from a TrueCharts provided
|
||||
official repository, catalog or source. You may also make private
|
||||
modification to the directly sourced licenced work,
|
||||
when used in production.
|
||||
|
||||
The following cases are, due to their nature, also
|
||||
defined as 'production use' and explicitly prohibited:
|
||||
- Bundling, including or displaying the licensed work
|
||||
with(in) another work intended for production use,
|
||||
with the apparent intend of facilitating and/or
|
||||
promoting production use by third parties in
|
||||
violation of this license.
|
||||
|
||||
Change Date: 2050-01-01
|
||||
|
||||
Change License: 3-clause BSD license
|
||||
|
||||
For information about alternative licensing arrangements for the Software,
|
||||
please contact: legal@truecharts.org
|
||||
|
||||
Notice
|
||||
|
||||
The Business Source License (this document, or the “License”) is not an Open
|
||||
Source license. However, the Licensed Work will eventually be made available
|
||||
under an Open Source License, as stated in this License.
|
||||
|
||||
License text copyright (c) 2017 MariaDB Corporation Ab, All Rights Reserved.
|
||||
“Business Source License” is a trademark of MariaDB Corporation Ab.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Business Source License 1.1
|
||||
|
||||
Terms
|
||||
|
||||
The Licensor hereby grants you the right to copy, modify, create derivative
|
||||
works, redistribute, and make non-production use of the Licensed Work. The
|
||||
Licensor may make an Additional Use Grant, above, permitting limited
|
||||
production use.
|
||||
|
||||
Effective on the Change Date, or the fourth anniversary of the first publicly
|
||||
available distribution of a specific version of the Licensed Work under this
|
||||
License, whichever comes first, the Licensor hereby grants you rights under
|
||||
the terms of the Change License, and the rights granted in the paragraph
|
||||
above terminate.
|
||||
|
||||
If your use of the Licensed Work does not comply with the requirements
|
||||
currently in effect as described in this License, you must purchase a
|
||||
commercial license from the Licensor, its affiliated entities, or authorized
|
||||
resellers, or you must refrain from using the Licensed Work.
|
||||
|
||||
All copies of the original and modified Licensed Work, and derivative works
|
||||
of the Licensed Work, are subject to this License. This License applies
|
||||
separately for each version of the Licensed Work and the Change Date may vary
|
||||
for each version of the Licensed Work released by Licensor.
|
||||
|
||||
You must conspicuously display this License on each original or modified copy
|
||||
of the Licensed Work. If you receive the Licensed Work in original or
|
||||
modified form from a third party, the terms and conditions set forth in this
|
||||
License apply to your use of that work.
|
||||
|
||||
Any use of the Licensed Work in violation of this License will automatically
|
||||
terminate your rights under this License for the current and all other
|
||||
versions of the Licensed Work.
|
||||
|
||||
This License does not grant you any right in any trademark or logo of
|
||||
Licensor or its affiliates (provided that you may use a trademark or logo of
|
||||
Licensor as expressly required by this License).
|
||||
|
||||
TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON
|
||||
AN “AS IS” BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS,
|
||||
EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND
|
||||
TITLE.
|
||||
|
||||
MariaDB hereby grants you permission to use this License’s text to license
|
||||
your works, and to refer to it using the trademark “Business Source License”,
|
||||
as long as you comply with the Covenants of Licensor below.
|
||||
|
||||
Covenants of Licensor
|
||||
|
||||
In consideration of the right to use this License’s text and the “Business
|
||||
Source License” name and trademark, Licensor covenants to MariaDB, and to all
|
||||
other recipients of the licensed work to be provided by Licensor:
|
||||
|
||||
1. To specify as the Change License the GPL Version 2.0 or any later version,
|
||||
or a license that is compatible with GPL Version 2.0 or a later version,
|
||||
where “compatible” means that software provided under the Change License can
|
||||
be included in a program with software provided under GPL Version 2.0 or a
|
||||
later version. Licensor may specify additional Change Licenses without
|
||||
limitation.
|
||||
|
||||
2. To either: (a) specify an additional grant of rights to use that does not
|
||||
impose any additional restriction on the right granted in this License, as
|
||||
the Additional Use Grant; or (b) insert the text “None”.
|
||||
|
||||
3. To specify a Change Date.
|
||||
|
||||
4. Not to modify this License in any other way.
|
||||
|
Before Width: | Height: | Size: 8.5 KiB |
@@ -1,91 +0,0 @@
|
||||
image:
|
||||
repository: tccr.io/truecharts/node-exporter
|
||||
pullPolicy: IfNotPresent
|
||||
tag: v1.5.0@sha256:674e04af703ffb85daf5cbddc64c5fc92e75ba49a5e2b0c0d14a2a8ccace3590
|
||||
|
||||
service:
|
||||
main:
|
||||
ports:
|
||||
main:
|
||||
protocol: http
|
||||
port: 9910
|
||||
|
||||
workload:
|
||||
main:
|
||||
type: DaemonSet
|
||||
podSpec:
|
||||
containers:
|
||||
main:
|
||||
args:
|
||||
- --path.procfs=/host/proc
|
||||
- --path.sysfs=/host/sys
|
||||
- --web.listen-address=0.0.0.0:{{ .Values.service.main.ports.main.port }}
|
||||
- --collector.filesystem.ignored-mount-points="^/(dev|proc|sys|var/lib/docker/.+|var/lib/kubelet/.+|var/db/system/.+|mnt/[a-zA-Z0-9-_\\.]+/ix-applications/.+)($|/)"
|
||||
- --collector.filesystem.ignored-fs-types="^(autofs|binfmt_misc|cgroup|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|mqueue|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|sysfs|tracefs)$"
|
||||
- --collector.netdev.device-exclude="^veth.*$"
|
||||
- --collector.netclass.ignored-devices="^veth.*$"
|
||||
probes:
|
||||
liveness:
|
||||
path: /
|
||||
port: main
|
||||
|
||||
readiness:
|
||||
path: /
|
||||
port: main
|
||||
|
||||
startup:
|
||||
type: tcp
|
||||
port: main
|
||||
|
||||
podOptions:
|
||||
hostNetwork: true
|
||||
hostPID: true
|
||||
|
||||
persistence:
|
||||
host:
|
||||
enabled: true
|
||||
hostPath: /
|
||||
mountPath: /host
|
||||
readOnly: true
|
||||
proc:
|
||||
enabled: true
|
||||
hostPath: /proc
|
||||
mountPath: /host/proc
|
||||
readOnly: true
|
||||
sys:
|
||||
enabled: true
|
||||
hostPath: /sys
|
||||
mountPath: /host/sys
|
||||
readOnly: true
|
||||
|
||||
metrics:
|
||||
main:
|
||||
# -- Enable and configure a Prometheus serviceMonitor for the chart under this key.
|
||||
# @default -- See values.yaml
|
||||
enabled: true
|
||||
type: serviceMonitor
|
||||
endpoints:
|
||||
- port: main
|
||||
path: /metrics
|
||||
# -- Enable and configure Prometheus Rules for the chart under this key.
|
||||
# @default -- See values.yaml
|
||||
prometheusRule:
|
||||
enabled: false
|
||||
labels: {}
|
||||
# -- Configure additionial rules for the chart under this key.
|
||||
# @default -- See prometheusrules.yaml
|
||||
rules:
|
||||
[]
|
||||
# - alert: UnifiPollerAbsent
|
||||
# annotations:
|
||||
# description: Unifi Poller has disappeared from Prometheus service discovery.
|
||||
# summary: Unifi Poller is down.
|
||||
# expr: |
|
||||
# absent(up{job=~".*unifi-poller.*"} == 1)
|
||||
# for: 5m
|
||||
# labels:
|
||||
# severity: critical
|
||||
|
||||
portal:
|
||||
open:
|
||||
enabled: false
|
||||
@@ -1,9 +1,9 @@
|
||||
apiVersion: v2
|
||||
appVersion: "7.0.11"
|
||||
appVersion: "7.0.8"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.truecharts.org
|
||||
version: 12.10.0
|
||||
version: 12.3.0
|
||||
deprecated: false
|
||||
description: Open source, advanced key-value store.
|
||||
home: https://truecharts.org/charts/dependency/redis
|
||||
@@ -23,7 +23,7 @@ sources:
|
||||
- https://github.com/bitnami/bitnami-docker-redis
|
||||
- http://redis.io/
|
||||
type: application
|
||||
version: 6.0.45
|
||||
version: 6.0.19
|
||||
annotations:
|
||||
truecharts.org/catagories: |
|
||||
- database
|
||||
|
||||
@@ -11,7 +11,6 @@ questions:
|
||||
# Include{containerAdvanced}
|
||||
|
||||
# Include{containerConfig}
|
||||
# Include{podOptions}
|
||||
- variable: redisPassword
|
||||
group: "App Configuration"
|
||||
label: "Redis Password"
|
||||
@@ -43,6 +42,7 @@ questions:
|
||||
default: 6379
|
||||
required: true
|
||||
# Include{serviceExpertRoot}
|
||||
default: false
|
||||
# Include{serviceExpert}
|
||||
# Include{serviceList}
|
||||
# Include{vctRoot}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
image:
|
||||
repository: tccr.io/truecharts/redis
|
||||
pullPolicy: IfNotPresent
|
||||
tag: 7.0.11@sha256:4653f0bff0f593ae2fd5782fbca41c15e0fbc631ab339ee74fb0e82ef37ed90a
|
||||
tag: 7.0.8@sha256:13e0bbf5369ed2f219b96c0e7136b531eb1fdca1db7b7e2c72e13133adf26288
|
||||
|
||||
workload:
|
||||
main:
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
apiVersion: v2
|
||||
appVersion: "9.2.1"
|
||||
appVersion: "9.1.1"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.truecharts.org
|
||||
version: 12.10.0
|
||||
version: 12.3.0
|
||||
deprecated: false
|
||||
description: Apache Solr
|
||||
home: https://truecharts.org/charts/dependency/solr
|
||||
@@ -22,7 +22,7 @@ sources:
|
||||
- https://github.com/truecharts/charts/tree/master/charts/dependency/solr
|
||||
- https://github.com/apache/solr
|
||||
type: application
|
||||
version: 4.0.31
|
||||
version: 4.0.2
|
||||
annotations:
|
||||
truecharts.org/catagories: |
|
||||
- search
|
||||
|
||||
@@ -14,7 +14,6 @@ questions:
|
||||
# Include{containerAdvanced}
|
||||
|
||||
# Include{containerConfig}
|
||||
# Include{podOptions}
|
||||
- variable: solrCores
|
||||
group: "App Configuration"
|
||||
label: "Solr Cores"
|
||||
@@ -66,6 +65,7 @@ questions:
|
||||
default: 8983
|
||||
required: true
|
||||
# Include{serviceExpertRoot}
|
||||
default: false
|
||||
# Include{serviceExpert}
|
||||
# Include{serviceList}
|
||||
# Include{persistenceRoot}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
image:
|
||||
repository: tccr.io/truecharts/solr
|
||||
pullPolicy: IfNotPresent
|
||||
tag: v9.2.1@sha256:93e8741f09c07cbdce822aad7f74882f43a6b2e388f071b5e667a8cb93724849
|
||||
tag: 9.1.1@sha256:4ac9d6e8120321349f0a3e5dbaff796192a9623de8fb164adf9f42de952479f1
|
||||
|
||||
workload:
|
||||
main:
|
||||
|
||||
32
charts/dev/testapp/Chart.yaml
Normal file
@@ -0,0 +1,32 @@
|
||||
apiVersion: v2
|
||||
appVersion: "0.20.2297"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.truecharts.org
|
||||
version: 12.2.0
|
||||
deprecated: false
|
||||
description: testing app for truecharts
|
||||
home: https://truecharts.org/charts/stable/jackett
|
||||
icon: https://truecharts.org/img/hotlink-ok/chart-icons/jackett.png
|
||||
keywords:
|
||||
- jackett
|
||||
- torrent
|
||||
- usenet
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
maintainers:
|
||||
- email: info@truecharts.org
|
||||
name: TrueCharts
|
||||
url: https://truecharts.org
|
||||
name: testapp
|
||||
sources:
|
||||
- https://github.com/truecharts/charts/tree/master/charts/stable/jackett
|
||||
- https://ghcr.io/onedr0p/jackett
|
||||
- https://github.com/Jackett/Jackett
|
||||
type: application
|
||||
version: 0.0.2
|
||||
annotations:
|
||||
truecharts.org/catagories: |
|
||||
- media
|
||||
- test
|
||||
truecharts.org/SCALE-support: "true"
|
||||
truecharts.org/grade: U
|
||||
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
93
charts/dev/testapp/questions.yaml
Normal file
@@ -0,0 +1,93 @@
|
||||
# Include{groups}
|
||||
portals:
|
||||
open:
|
||||
# Include{portalLink}
|
||||
questions:
|
||||
# Include{global}
|
||||
# Include{workload}
|
||||
# Include{workloadDeployment}
|
||||
# Include{replicas1}
|
||||
# Include{podSpec}
|
||||
# Include{containerMain}
|
||||
# Include{containerBasic}
|
||||
# Include{containerAdvanced}
|
||||
# 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{serviceSelectorLoadBalancer}
|
||||
# Include{serviceSelectorExtras}
|
||||
- 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: 9117
|
||||
required: true
|
||||
# Include{serviceExpertRoot}
|
||||
default: false
|
||||
# Include{serviceExpert}
|
||||
# Include{serviceList}
|
||||
# Include{persistenceRoot}
|
||||
- variable: config
|
||||
label: "App Config Storage"
|
||||
description: "Stores the Application Configuration."
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
# Include{persistenceBasic}
|
||||
# Include{persistenceList}
|
||||
# Include{ingressRoot}
|
||||
- variable: main
|
||||
label: "Main Ingress"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
# Include{ingressDefault}
|
||||
# Include{ingressTLS}
|
||||
# Include{ingressTraefik}
|
||||
# Include{ingressList}
|
||||
# Include{securityContextRoot}
|
||||
- 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
|
||||
# Include{securityContextContainer}
|
||||
# Include{securityContextAdvanced}
|
||||
# Include{securityContextPod}
|
||||
- variable: fsGroup
|
||||
label: "fsGroup"
|
||||
description: "The group that should own ALL storage."
|
||||
schema:
|
||||
type: int
|
||||
default: 568568
|
||||
# Include{resources}
|
||||
# Include{advanced}
|
||||
# Include{postgresql}
|
||||
# Include{postgresqlBasics}
|
||||
# Include{addons}
|
||||
# Include{vpn}
|
||||
# Include{codeserver}
|
||||
# Include{netshoot}
|
||||
# Include{documentation}
|
||||
1
charts/dev/testapp/templates/common.yaml
Normal file
@@ -0,0 +1 @@
|
||||
{{- include "tc.v1.common.loader.all" . -}}
|
||||
38
charts/dev/testapp/values.yaml
Normal file
@@ -0,0 +1,38 @@
|
||||
image:
|
||||
repository: tccr.io/truecharts/jackett
|
||||
pullPolicy: IfNotPresent
|
||||
tag: 0.20.2297@sha256:4de1541011cb56935ba5a8e28a58f6cbcf62a903393dc94581eda0b6e2aa117c
|
||||
|
||||
securityContext:
|
||||
container:
|
||||
readOnlyRootFilesystem: false
|
||||
|
||||
service:
|
||||
main:
|
||||
ports:
|
||||
main:
|
||||
protocol: http
|
||||
targetPort: 9117
|
||||
port: 9117
|
||||
|
||||
workload:
|
||||
main:
|
||||
podSpec:
|
||||
containers:
|
||||
main:
|
||||
probes:
|
||||
liveness:
|
||||
path: "/UI/Login"
|
||||
readiness:
|
||||
path: "/UI/Login"
|
||||
startup:
|
||||
path: "/UI/Login"
|
||||
|
||||
persistence:
|
||||
config:
|
||||
enabled: true
|
||||
mountPath: "/config"
|
||||
|
||||
portal:
|
||||
open:
|
||||
enabled: true
|
||||
@@ -3,11 +3,11 @@ appVersion: "4.37.5"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.truecharts.org
|
||||
version: 12.9.5
|
||||
version: 12.3.0
|
||||
- condition: redis.enabled
|
||||
name: redis
|
||||
repository: https://deps.truecharts.org
|
||||
version: 6.0.44
|
||||
version: 6.0.19
|
||||
deprecated: false
|
||||
description: Authelia is a Single Sign-On Multi-Factor portal for web apps
|
||||
home: https://truecharts.org/charts/enterprise/authelia
|
||||
@@ -35,7 +35,7 @@ sources:
|
||||
- https://github.com/authelia/chartrepo
|
||||
- https://github.com/authelia/authelia
|
||||
type: application
|
||||
version: 15.1.20
|
||||
version: 15.1.2
|
||||
annotations:
|
||||
truecharts.org/catagories: |
|
||||
- security
|
||||
|
||||
@@ -12,7 +12,6 @@ questions:
|
||||
# Include{containerBasic}
|
||||
# Include{containerAdvanced}
|
||||
# Include{containerConfig}
|
||||
# Include{podOptions}
|
||||
- variable: domain
|
||||
group: "App Configuration"
|
||||
label: "Domain"
|
||||
@@ -743,6 +742,7 @@ questions:
|
||||
default: 9091
|
||||
required: true
|
||||
# Include{serviceExpertRoot}
|
||||
default: false
|
||||
# Include{serviceExpert}
|
||||
# Include{serviceList}
|
||||
# Include{persistenceRoot}
|
||||
|
||||
@@ -2,8 +2,7 @@ image:
|
||||
repository: tccr.io/truecharts/authelia
|
||||
pullPolicy: IfNotPresent
|
||||
tag: 4.37.5@sha256:76a4617539534cec140fd98a12f721b878524f2df3a3653f3df8ff2b7eaab586
|
||||
manifestManager:
|
||||
enabled: true
|
||||
|
||||
workload:
|
||||
main:
|
||||
replicas: 2
|
||||
@@ -11,10 +10,8 @@ workload:
|
||||
podSpec:
|
||||
containers:
|
||||
main:
|
||||
command:
|
||||
- authelia
|
||||
args:
|
||||
- --config=/configuration.yaml
|
||||
command: ["authelia"]
|
||||
args: ["--config=/configuration.yaml"]
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: authelia-paths
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
apiVersion: v2
|
||||
appVersion: "0.21.0"
|
||||
appVersion: "0.20.0"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.truecharts.org
|
||||
version: 12.9.5
|
||||
version: 12.3.0
|
||||
- condition: redis.enabled
|
||||
name: redis
|
||||
repository: https://deps.truecharts.org
|
||||
version: 6.0.44
|
||||
version: 6.0.19
|
||||
description: Blocky is a DNS proxy, DNS enhancer and ad-blocker for the local network written in Go
|
||||
home: https://truecharts.org/charts/enterprise/blocky
|
||||
icon: https://truecharts.org/img/hotlink-ok/chart-icons/blocky.png
|
||||
@@ -25,7 +25,7 @@ sources:
|
||||
- https://0xerr0r.github.io/blocky/
|
||||
- https://github.com/0xERR0R/blocky
|
||||
- https://github.com/Mozart409/blocky-frontend
|
||||
version: 5.0.32
|
||||
version: 5.0.12
|
||||
annotations:
|
||||
truecharts.org/catagories: |
|
||||
- network
|
||||
|
||||
@@ -439,22 +439,12 @@ questions:
|
||||
schema:
|
||||
type: string
|
||||
default: 2s
|
||||
- variable: startStrategy
|
||||
label: Start Strategy
|
||||
description: |
|
||||
blocking: all blocking lists will be loaded before DNS resolution starts.</br>
|
||||
failOnError: like blocking but blocky will shut down if any download fails.</br>
|
||||
fast: DNS resolution starts immediately without blocking which will be enabled after list load is completed
|
||||
- variable: failStartOnListError
|
||||
label: Fail Start on List Error
|
||||
description: Fail to start if at least one list can't be downloaded or opened
|
||||
schema:
|
||||
type: string
|
||||
default: blocking
|
||||
enum:
|
||||
- value: blocking
|
||||
description: Blocking
|
||||
- value: failOnError
|
||||
description: Fail On Error
|
||||
- value: fast
|
||||
description: Fast
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: processingConcurrency
|
||||
label: Processing Concurrency
|
||||
description: Sets how many list-groups can be processed at the same time
|
||||
@@ -723,7 +713,6 @@ questions:
|
||||
type: string
|
||||
default: ""
|
||||
# Include{containerConfig}
|
||||
# Include{podOptions}
|
||||
# Include{serviceRoot}
|
||||
- variable: main
|
||||
label: Main Service
|
||||
@@ -814,6 +803,7 @@ questions:
|
||||
default: 853
|
||||
required: true
|
||||
# Include{serviceExpertRoot}
|
||||
default: false
|
||||
# Include{serviceExpert}
|
||||
# Include{serviceList}
|
||||
# Include{persistenceList}
|
||||
|
||||
@@ -43,19 +43,22 @@ upstream:
|
||||
{{- $value.dnsservers | toYaml | nindent 8 }}
|
||||
{{- end }}
|
||||
|
||||
ports:
|
||||
{{- if .Values.service.dnsudp.enabled }}
|
||||
dns: {{ .Values.service.dnsudp.ports.dnsudp.targetPort }}
|
||||
{{- end }}
|
||||
{{- if .Values.service.dot.enabled }}
|
||||
tls: {{ .Values.service.dot.ports.dot.targetPort }}
|
||||
{{- end }}
|
||||
{{- if .Values.service.main.enabled }}
|
||||
http: {{ .Values.service.main.ports.main.targetPort }}
|
||||
{{- end }}
|
||||
{{- if .Values.service.https.enabled }}
|
||||
https: {{ .Values.service.https.ports.https.targetPort }}
|
||||
{{- end }}
|
||||
{{- if .Values.service.dnsudp.enabled }}
|
||||
port: {{ .Values.service.dnsudp.ports.dnsudp.targetPort }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.service.dot.enabled }}
|
||||
tlsPort: {{ .Values.service.dot.ports.dot.targetPort }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.service.main.enabled }}
|
||||
httpPort: {{ .Values.service.main.ports.main.targetPort }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.service.https.enabled }}
|
||||
httpsPort: {{ .Values.service.https.ports.https.targetPort }}
|
||||
{{- end }}
|
||||
|
||||
|
||||
{{- if .Values.certFile }}
|
||||
certFile: {{ .Values.certFile }}
|
||||
@@ -65,16 +68,17 @@ certFile: {{ .Values.certFile }}
|
||||
keyFile: {{ .Values.keyFile }}
|
||||
{{- end }}
|
||||
|
||||
log:
|
||||
{{- if .Values.logLevel }}
|
||||
level: {{ .Values.logLevel }}
|
||||
{{- end }}
|
||||
{{- if .Values.logTimestamp }}
|
||||
timestamp: {{ .Values.logTimestamp }}
|
||||
{{- end }}
|
||||
{{- if .Values.logPrivacy }}
|
||||
privacy: {{ .Values.logPrivacy }}
|
||||
{{- end }}
|
||||
{{- if .Values.logLevel }}
|
||||
logLevel: {{ .Values.logLevel }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.logTimestamp }}
|
||||
logTimestamp: {{ .Values.logTimestamp }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.logPrivacy }}
|
||||
logPrivacy: {{ .Values.logPrivacy }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.dohUserAgent }}
|
||||
dohUserAgent: {{ .Values.dohUserAgent }}
|
||||
@@ -109,11 +113,9 @@ bootstrapDns:
|
||||
{{- with .upstream }}
|
||||
- upstream: {{ . }}
|
||||
{{- end }}
|
||||
{{- if .ips }}
|
||||
{{- range $id, $value := .ips }}
|
||||
ips:
|
||||
{{- range $id, $value := .ips }}
|
||||
- {{ $value }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
@@ -202,7 +204,7 @@ blocking:
|
||||
downloadTimeout: {{ .Values.blocking.downloadTimeout }}
|
||||
downloadAttempts: {{ .Values.blocking.downloadAttempts }}
|
||||
downloadCooldown: {{ .Values.blocking.downloadCooldown }}
|
||||
startStrategy: {{ .Values.blocking.startStrategy }}
|
||||
failStartOnListError: {{ .Values.blocking.failStartOnListError }}
|
||||
processingConcurrency: {{ .Values.blocking.processingConcurrency }}
|
||||
{{- if .Values.blocking.whitelist }}
|
||||
whiteLists:
|
||||
|
||||
@@ -1,14 +1,13 @@
|
||||
image:
|
||||
repository: tccr.io/truecharts/blocky
|
||||
tag: v0.21.0@sha256:ed72f8a64307b7b734174589ac631726dd642cc8202c3bdf2eeb1de4adedbe0a
|
||||
tag: v0.20.0@sha256:873c357493403b5985c38b7cc16f278b8268ba51bc6e95b076fd00cfb010f085
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
k8sgatewayImage:
|
||||
repository: tccr.io/truecharts/k8s_gateway
|
||||
pullPolicy: IfNotPresent
|
||||
tag: 0.3.4@sha256:c49645e7b263e5cfc8fc269db2aef7d90149cecc7a50e2c2fe77ef935dd35742
|
||||
manifestManager:
|
||||
enabled: true
|
||||
tag: 0.3.3@sha256:246e7006afaf57a398b02e417a31d6f14fb43562901388772778f60be586b807
|
||||
|
||||
workload:
|
||||
main:
|
||||
replicas: 2
|
||||
@@ -208,8 +207,8 @@ blocking:
|
||||
downloadAttempts: 3
|
||||
# -- Sets the block download cooldown
|
||||
downloadCooldown: 2s
|
||||
# -- Set the start strategy (blocking | failOnError | fast)
|
||||
startStrategy: blocking
|
||||
# -- Set to fail start of lists cannot be downloaded
|
||||
failStartOnListError: false
|
||||
# -- Sets how many list-groups can be processed at the same time
|
||||
processingConcurrency: 4
|
||||
# -- Add blocky whitelists
|
||||
|
||||
@@ -10,7 +10,7 @@ keywords:
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.truecharts.org
|
||||
version: 12.9.5
|
||||
version: 12.3.0
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
maintainers:
|
||||
- email: info@truecharts.org
|
||||
@@ -21,7 +21,7 @@ sources:
|
||||
- https://github.com/truecharts/charts/tree/master/charts/enterprise/cert-manager
|
||||
- https://cert-manager.io/
|
||||
type: application
|
||||
version: 1.0.35
|
||||
version: 1.0.16
|
||||
annotations:
|
||||
truecharts.org/catagories: |
|
||||
- core
|
||||
|
||||
@@ -1,54 +0,0 @@
|
||||
# Cert-Manager Setup Guide
|
||||
|
||||
This guide will walk you through setting up `cert-manager`, certificate management for Kubernetes.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
Ensure you have the `enterprise` train enabled for `TrueCharts` as discussed [here](https://truecharts.org/manual/SCALE/guides/getting-started/#adding-truecharts).
|
||||
|
||||
Ensure you have traefik installed, required for Ingress.
|
||||
|
||||
Search for cert-manager in the `Apps` menu | `Available Applications` tab and click **Install**.
|
||||
|
||||
## Cloudflare DNS-Provider
|
||||
|
||||
You can setup multiple domains with a single cert-manager app, all you have to do is either add the global API key (**not recommended**) or `Add` multiple `ACME Issuer` entries for each domain and create an API token for each at [Cloudflare API Tokens](https://dash.cloudflare.com/profile/api-tokens).
|
||||
|
||||
- Give the certificate a name (eg domain or "maincert", etc).
|
||||
- Select the correct provider, for example `Cloudflare`.
|
||||
- Set **Server** to **Letsencrypt-Production**.
|
||||
- Set Email to the account email.
|
||||
- Optionally set Cloudflare API key (**not recommended**)
|
||||
- Set the Cloudflare API Token to the one created earlier.
|
||||
|
||||

|
||||
|
||||
## cert-manager App
|
||||
|
||||
> **Note**
|
||||
>
|
||||
> It is normal that the app does not run, there are no events, no logs and no shell. This is by design.
|
||||
|
||||

|
||||
|
||||
## How to Add Ingress to Apps with cert-manager
|
||||
|
||||
Here's an example on how to add ingress to an app with cert-manager for a single domain only.
|
||||
|
||||
Add the name of the `ACME Issuer` into `Cert-Manager clusterIssuer`
|
||||
|
||||
> **Warning**
|
||||
> Do **NOT** use this combined with the `TLS-Settings`.
|
||||
|
||||

|
||||
|
||||
If you want to support multiple domains, use the `TLS-Settings` option to create each one, basically an extra step each time.
|
||||
|
||||
## Verifying cert-manager is working
|
||||
|
||||
Once install using the Ingress settings above, you can see the `Application Events` for the app in question to pull the certificate and issue the challenge directly. See the example below:
|
||||
|
||||

|
||||

|
||||
|
||||
All is automated by `cert-manager`
|
||||
|
Before Width: | Height: | Size: 49 KiB |
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 126 KiB |
|
Before Width: | Height: | Size: 124 KiB |
@@ -1,9 +1,8 @@
|
||||
image:
|
||||
repository: tccr.io/truecharts/scratch
|
||||
tag: latest@sha256:9dd0f68d32ace452a3a75273bd8e3a074d0a14e4d38683389c73887432832fc3
|
||||
tag: latest@sha256:180d25cc7a4f380758cd1e72864793c280f3e1728d800984c3287a709803e172
|
||||
pullPolicy: IfNotPresent
|
||||
manifestManager:
|
||||
enabled: true
|
||||
|
||||
workload:
|
||||
main:
|
||||
enabled: false
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
apiVersion: v2
|
||||
appVersion: "9.5.2"
|
||||
appVersion: "9.4.7"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.truecharts.org
|
||||
version: 12.9.5
|
||||
version: 12.3.0
|
||||
deprecated: false
|
||||
description: Grafana is an open source, feature rich metrics dashboard and graph editor for Graphite, Elasticsearch, OpenTSDB, Prometheus and InfluxDB.
|
||||
home: https://truecharts.org/charts/enterprise/grafana
|
||||
@@ -24,7 +24,7 @@ sources:
|
||||
- https://github.com/bitnami/bitnami-docker-grafana
|
||||
- https://grafana.com/
|
||||
type: application
|
||||
version: 7.0.38
|
||||
version: 7.0.13
|
||||
annotations:
|
||||
truecharts.org/catagories: |
|
||||
- metrics
|
||||
|
||||
@@ -56,7 +56,6 @@ questions:
|
||||
|
||||
|
||||
# Include{containerConfig}
|
||||
# Include{podOptions}
|
||||
# Include{serviceRoot}
|
||||
- variable: main
|
||||
label: "Main Service"
|
||||
@@ -81,6 +80,7 @@ questions:
|
||||
default: 10038
|
||||
required: true
|
||||
# Include{serviceExpertRoot}
|
||||
default: false
|
||||
# Include{serviceExpert}
|
||||
# Include{serviceList}
|
||||
# Include{persistenceRoot}
|
||||
@@ -131,6 +131,7 @@ questions:
|
||||
# Include{resources}
|
||||
# Include{metrics}
|
||||
# Include{prometheusRule}
|
||||
# Include{prometheusRule}
|
||||
# Include{advanced}
|
||||
# Include{addons}
|
||||
# Include{codeserver}
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
image:
|
||||
repository: tccr.io/truecharts/grafana
|
||||
pullPolicy: IfNotPresent
|
||||
tag: v9.5.2@sha256:2835129a3364407fb10ce370ff5f83087373dbf99b067190e84bde8db2a77d5e
|
||||
manifestManager:
|
||||
enabled: true
|
||||
tag: 9.4.7@sha256:ff6de962c1a5ed647f44e2bbb941806dfe05a7623305fe0f5765ce56bd30ef2e
|
||||
|
||||
securityContext:
|
||||
container:
|
||||
readOnlyRootFilesystem: false
|
||||
|
||||
@@ -10,7 +10,7 @@ keywords:
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.truecharts.org
|
||||
version: 12.9.5
|
||||
version: 12.3.0
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
maintainers:
|
||||
- email: info@truecharts.org
|
||||
@@ -22,7 +22,7 @@ sources:
|
||||
- https://github.com/metallb/metallb
|
||||
- https://metallb.universe.tf
|
||||
type: application
|
||||
version: 8.0.30
|
||||
version: 8.0.9
|
||||
annotations:
|
||||
truecharts.org/catagories: |
|
||||
- core
|
||||
|
||||
@@ -2,12 +2,6 @@
|
||||
|
||||
The guide walks through a basic configuration of MetalLB for a single address pool on a layer 2 network. This will allow assigning different IP addresses by app.
|
||||
|
||||
:::warning
|
||||
|
||||
With MetalLB installed, apps will not be reachable using the integrated loadbalancer. You cannot combine two different loadbalancers in TrueNAS SCALE.
|
||||
|
||||
:::
|
||||
|
||||
## 1. Configure Address Pool & L2 Advertisement
|
||||
|
||||

|
||||
@@ -15,7 +9,7 @@ With MetalLB installed, apps will not be reachable using the integrated loadbala
|
||||
Create a new entry under `Configure IP Address Pools Object`
|
||||
|
||||
- **Name**: Enter a general name for this IP range. Something like _apps_ or _charts_ for this field is fine.
|
||||
- **Auto Assign**: if you want MetalLB Services to auto-assign IPs from the configured address pool without needing to specify per app. Recommendation is to keep this checked. You can still specify an IP for apps as needed (see step 3).
|
||||
- **Auto Assign**: if you want MetalLB Services to auto-assign IPs from the configured address pool without needing to specify per app. Recommendation is to keep this checked. You can still specify an IP for apps as needed (see step 4).
|
||||
|
||||
Create a single entry under `Configure Address Pools`
|
||||
|
||||
@@ -58,15 +52,21 @@ With MetalLB installed, you may optionally specify IP addresses for your apps.
|
||||
|
||||
For each app, under **Networking and Services**, select `LoadBalancer` Service Type for the Main Service.
|
||||
|
||||
In the **LoadBalancer IP** field, specify an IP address that is within the MetalLB address pool that you configured. Apply the same IP address to the **LoadBalancer IP** field on other services within the app.
|
||||
In the **LoadBalancer IP** field, specify an IP address that is within the MetalLB address pool that you configured.
|
||||
|
||||
With the Main Service assigned, you do not need to specify an IP address for other services under the same app, unless you specifically want a different IP address for that service.
|
||||
|
||||
:::info
|
||||
|
||||
By default all services under a single app will be assigned the same IP address.
|
||||
|
||||
:::
|
||||
|
||||
You may need to stop & restart the app for the IP address to take affect.
|
||||
|
||||
From your SCALE shell, run the command `k3s kubectl get svc -A` to verify the IP addresses assigned for each of your apps. The IPs will be listed under the `EXTERNAL-IP` column.
|
||||
|
||||
If you have an IP conflict with a previously assigned address it will show as `<pending>`.
|
||||
|
||||
**You may need to do a system reboot as well to properly resolve the conflict.**
|
||||
If you have an IP conflict with a previously assigned address it will show as `<pending>`. You may need to do a system reboot as well to properly resolve the conflict.
|
||||
|
||||
:::caution
|
||||
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
image:
|
||||
repository: tccr.io/truecharts/scratch
|
||||
tag: latest@sha256:9dd0f68d32ace452a3a75273bd8e3a074d0a14e4d38683389c73887432832fc3
|
||||
tag: latest@sha256:180d25cc7a4f380758cd1e72864793c280f3e1728d800984c3287a709803e172
|
||||
pullPolicy: IfNotPresent
|
||||
manifestManager:
|
||||
enabled: true
|
||||
|
||||
workload:
|
||||
main:
|
||||
enabled: false
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
apiVersion: v2
|
||||
appVersion: "2.44.0"
|
||||
appVersion: "2.43.0"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.truecharts.org
|
||||
version: 12.9.5
|
||||
version: 12.3.0
|
||||
- condition: exporters.enabled,exporters.node-exporter.enabled
|
||||
name: node-exporter
|
||||
repository: https://deps.truecharts.org
|
||||
version: 1.0.3
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
version: 3.3.4
|
||||
- condition: exporters.enabled,exporters.kube-state-metrics.enabled
|
||||
name: kube-state-metrics
|
||||
repository: https://deps.truecharts.org
|
||||
version: 1.0.4
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
version: 3.3.5
|
||||
deprecated: false
|
||||
description: kube-prometheus-stack collects Kubernetes manifests, Grafana dashboards, and Prometheus rules combined with documentation and scripts to provide easy to operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus Operator.
|
||||
icon: https://truecharts.org/img/hotlink-ok/chart-icons/prometheus.png
|
||||
@@ -29,7 +29,7 @@ sources:
|
||||
- https://github.com/prometheus-community/helm-charts
|
||||
- https://github.com/prometheus-operator/kube-prometheus
|
||||
type: application
|
||||
version: 9.0.10
|
||||
version: 8.0.11
|
||||
annotations:
|
||||
truecharts.org/catagories: |
|
||||
- metrics
|
||||
|
||||
@@ -23,7 +23,6 @@ questions:
|
||||
schema:
|
||||
type: string
|
||||
default: "info"
|
||||
|
||||
- variable: prometheus
|
||||
group: "App Configuration"
|
||||
label: "Prometheus Settings"
|
||||
@@ -80,37 +79,6 @@ questions:
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
- variable: exporters
|
||||
group: "App Configuration"
|
||||
label: "Exporter Settings"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: node-exporter
|
||||
label: "node-exporter"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: kube-state-metrics
|
||||
label: "Kube-State-Metrics"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
|
||||
- variable: alertmanager
|
||||
group: "App Configuration"
|
||||
label: "Alertmanager Settings"
|
||||
@@ -183,6 +151,7 @@ questions:
|
||||
default: 10087
|
||||
required: true
|
||||
# Include{serviceExpertRoot}
|
||||
default: false
|
||||
# Include{serviceExpert}
|
||||
# Include{serviceList}
|
||||
# Include{persistenceList}
|
||||
|
||||
@@ -1,16 +1,15 @@
|
||||
image:
|
||||
repository: tccr.io/truecharts/prometheus
|
||||
tag: v2.44.0@sha256:48aa3e3b18118bea2ffddc916517a400f483f68bf2cdc48c75ebb2c6e84543fa
|
||||
tag: 2.43.0@sha256:2f9b37b4823b2cb14e70714f5f0d7396aeacd8f18d96ff2a407ab2c655d64147
|
||||
|
||||
thanosImage:
|
||||
repository: tccr.io/truecharts/thanos
|
||||
tag: 0.31.0@sha256:28282d3e63f84cdeeb05e965b173b610d5597997acc7ce75d5849207b0f97b28
|
||||
tag: 0.31.0@sha256:5fb6e900c9c94756a0296d9348e1d3e2fd731804d3be56461ea0189e48452299
|
||||
|
||||
alertmanagerImage:
|
||||
repository: tccr.io/truecharts/alertmanager
|
||||
tag: 0.25.0@sha256:6b534671b83aa7fbd91d1b10bf0f1b29b948e4b300f8359a86043d0deba07207
|
||||
manifestManager:
|
||||
enabled: true
|
||||
tag: 0.25.0@sha256:fe79dcef013284d16a053f624d0b9a73fdb7385bda191ea2a78f4c750e60301e
|
||||
|
||||
global:
|
||||
labels: {}
|
||||
workload:
|
||||
@@ -973,8 +972,7 @@ alertmanager:
|
||||
global:
|
||||
resolve_timeout: 5m
|
||||
route:
|
||||
group_by:
|
||||
- job
|
||||
group_by: ["job"]
|
||||
group_wait: 30s
|
||||
group_interval: 5m
|
||||
repeat_interval: 12h
|
||||
@@ -1131,14 +1129,37 @@ exporters:
|
||||
## @param exporters.kube-state-metrics.enabled Enable kube-state-metrics
|
||||
##
|
||||
enabled: true
|
||||
|
||||
## @param node-exporter [object] Node Exporter deployment configuration
|
||||
##
|
||||
node-exporter:
|
||||
service:
|
||||
port: 9910
|
||||
targetPort: 9910
|
||||
labels:
|
||||
jobLabel: node-exporter
|
||||
serviceMonitor:
|
||||
enabled: true
|
||||
jobLabel: jobLabel
|
||||
extraArgs:
|
||||
collector.filesystem.ignored-mount-points: "^/(dev|proc|sys|var/lib/docker/.+|var/lib/kubelet/.+|var/db/system/.+|mnt/[a-zA-Z0-9-_\\.]+/ix-applications/.+)($|/)"
|
||||
collector.filesystem.ignored-fs-types: "^(autofs|binfmt_misc|cgroup|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|mqueue|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|sysfs|tracefs)$"
|
||||
collector.netdev.device-exclude: "^veth.*$"
|
||||
collector.netclass.ignored-devices: "^veth.*$"
|
||||
path.rootfs: /host
|
||||
extraVolumes:
|
||||
- name: host
|
||||
hostPath:
|
||||
path: /
|
||||
extraVolumeMounts:
|
||||
- name: host
|
||||
mountPath: /host
|
||||
readOnly: true
|
||||
## @param kube-state-metrics [object] Node Exporter deployment configuration
|
||||
##
|
||||
kube-state-metrics:
|
||||
serviceMonitor:
|
||||
enabled: true
|
||||
honorLabels: true
|
||||
|
||||
## Component scraping for kubelet and kubelet hosted cAdvisor
|
||||
##
|
||||
kubelet:
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
apiVersion: v2
|
||||
appVersion: "2.9.10"
|
||||
appVersion: "2.9.9"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.truecharts.org
|
||||
version: 12.9.5
|
||||
version: 12.3.0
|
||||
deprecated: false
|
||||
description: Traefik is a flexible reverse proxy and Ingress Provider.
|
||||
home: https://truecharts.org/charts/enterprise/traefik
|
||||
@@ -23,7 +23,7 @@ sources:
|
||||
- https://github.com/traefik/traefik-helm-chart
|
||||
- https://traefik.io/
|
||||
type: application
|
||||
version: 18.0.2
|
||||
version: 17.0.16
|
||||
annotations:
|
||||
truecharts.org/catagories: |
|
||||
- network
|
||||
|
||||
@@ -44,7 +44,7 @@ Ensure you are accessing your WebUI from the new ports before proceeding.
|
||||
|
||||
:::note
|
||||
|
||||
Traefik is part of the `enterprise` train, so make sure you have it enabled as specified in the [guide](https://truecharts.org/manual/SCALE/guides/getting-started#adding-truecharts).
|
||||
Traefik is part of the `enterprise` train, so make sure you have it enabled as specified in the [guide](https://truecharts.org/manual/guides/Adding-TrueCharts#adding-truecharts).
|
||||
|
||||
:::
|
||||
|
||||
|
||||
@@ -15,7 +15,6 @@ questions:
|
||||
# Include{containerAdvanced}
|
||||
|
||||
# Include{containerConfig}
|
||||
# Include{podOptions}
|
||||
- variable: ingressClass
|
||||
label: "ingressClass"
|
||||
group: "App Configuration"
|
||||
@@ -320,13 +319,13 @@ questions:
|
||||
label: "Entrypoints Type"
|
||||
schema:
|
||||
type: string
|
||||
default: "tcp"
|
||||
default: "TCP"
|
||||
enum:
|
||||
- value: http
|
||||
- value: HTTP
|
||||
description: "HTTP"
|
||||
- value: "https"
|
||||
- value: "HTTPS"
|
||||
description: "HTTPS"
|
||||
- value: tcp
|
||||
- value: TCP
|
||||
description: "TCP"
|
||||
- variable: port
|
||||
label: "Port"
|
||||
|
||||
@@ -67,7 +67,7 @@ args:
|
||||
- "--providers.kubernetesingress.namespaces={{ template "providers.kubernetesIngress.namespaces" . }}"
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if $.Values.ingressClass.enabled }}
|
||||
{{- if .Values.ingressClass.enabled }}
|
||||
- "--providers.kubernetesingress.ingressclass={{ .Release.Name }}"
|
||||
{{- end }}
|
||||
{{- range $entrypoint, $config := $ports }}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{{/* Define the ingressClass */}}
|
||||
{{- define "traefik.ingressClass" -}}
|
||||
---
|
||||
{{ if $.Values.ingressClass.enabled }}
|
||||
{{ if .Values.ingressClass.enabled }}
|
||||
{{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1/IngressClass" }}
|
||||
apiVersion: networking.k8s.io/v1
|
||||
{{- else if .Capabilities.APIVersions.Has "networking.k8s.io/v1beta1/IngressClass" }}
|
||||
|
||||
@@ -1,13 +1,17 @@
|
||||
{{/* Define the portalHook */}}
|
||||
{{- define "traefik.portalhook" -}}
|
||||
{{- if .Values.portalhook.enabled }}
|
||||
{{- $namespace := ( printf "ix-%s" .Release.Name ) }}
|
||||
{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }}
|
||||
{{- $namespace = "default" }}
|
||||
{{- end }}
|
||||
---
|
||||
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: portalhook{{ if $.Values.ingressClass.enabled }}-{{ .Release.Name }}{{ end }}
|
||||
namespace: tc-system
|
||||
name: portalhook
|
||||
namespace: {{ $namespace }}
|
||||
data:
|
||||
{{- $ports := dict }}
|
||||
{{- range $.Values.service }}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
{{- define "traefik.tlsOptions" -}}
|
||||
{{- range $name, $config := .Values.tlsOptions }}
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: traefik.containo.us/v1alpha1
|
||||
kind: TLSOption
|
||||
metadata:
|
||||
name: {{ $name }}
|
||||
|
||||
@@ -1,13 +1,16 @@
|
||||
{{- $values := .Values }}
|
||||
|
||||
{{- $namespace := ( printf "ix-%s" .Release.Name ) }}
|
||||
{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }}
|
||||
{{- $namespace = "default" }}
|
||||
{{- end }}
|
||||
{{- range $index, $middlewareData := .Values.middlewares.addPrefix }}
|
||||
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: traefik.containo.us/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: {{ if $.Values.ingressClass.enabled }}{{ .Release.Name }}-{{ end }}{{ $middlewareData.name }}
|
||||
namespace: tc-system
|
||||
name: {{ $middlewareData.name }}
|
||||
namespace: {{ $namespace }}
|
||||
spec:
|
||||
addPrefix:
|
||||
prefix: {{ $middlewareData.prefix }}
|
||||
|
||||
@@ -1,31 +1,34 @@
|
||||
{{- $values := .Values }}
|
||||
|
||||
{{- $namespace := ( printf "ix-%s" .Release.Name ) }}
|
||||
{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }}
|
||||
{{- $namespace = "default" }}
|
||||
{{- end }}
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: traefik.containo.us/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: {{ if $.Values.ingressClass.enabled }}{{ .Release.Name }}-{{ end }}{{ if $.Values.ingressClass.enabled }}{{ .Release.Name }}-{{ end }}compress
|
||||
namespace: tc-system
|
||||
name: compress
|
||||
namespace: {{ $namespace }}
|
||||
spec:
|
||||
compress: {}
|
||||
---
|
||||
# Here, an average of 300 requests per second is allowed.
|
||||
# In addition, a burst of 200 requests is allowed.
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: traefik.containo.us/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: {{ if $.Values.ingressClass.enabled }}{{ .Release.Name }}-{{ end }}{{ if $.Values.ingressClass.enabled }}{{ .Release.Name }}-{{ end }}basic-ratelimit
|
||||
namespace: tc-system
|
||||
name: basic-ratelimit
|
||||
namespace: {{ $namespace }}
|
||||
spec:
|
||||
rateLimit:
|
||||
average: 600
|
||||
burst: 400
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: traefik.containo.us/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: {{ if $.Values.ingressClass.enabled }}{{ .Release.Name }}-{{ end }}{{ if $.Values.ingressClass.enabled }}{{ .Release.Name }}-{{ end }}basic-secure-headers
|
||||
namespace: tc-system
|
||||
name: basic-secure-headers
|
||||
namespace: {{ $namespace }}
|
||||
spec:
|
||||
headers:
|
||||
accessControlAllowMethods:
|
||||
@@ -46,14 +49,14 @@ spec:
|
||||
customResponseHeaders:
|
||||
server: ''
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: traefik.containo.us/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: {{ if $.Values.ingressClass.enabled }}{{ .Release.Name }}-{{ end }}{{ if $.Values.ingressClass.enabled }}{{ .Release.Name }}-{{ end }}chain-basic
|
||||
namespace: tc-system
|
||||
name: chain-basic
|
||||
namespace: {{ $namespace }}
|
||||
spec:
|
||||
chain:
|
||||
middlewares:
|
||||
- name: {{ if $.Values.ingressClass.enabled }}{{ .Release.Name }}-{{ end }}{{ if $.Values.ingressClass.enabled }}{{ .Release.Name }}-{{ end }}basic-ratelimit
|
||||
- name: {{ if $.Values.ingressClass.enabled }}{{ .Release.Name }}-{{ end }}{{ if $.Values.ingressClass.enabled }}{{ .Release.Name }}-{{ end }}basic-secure-headers
|
||||
- name: {{ if $.Values.ingressClass.enabled }}{{ .Release.Name }}-{{ end }}{{ if $.Values.ingressClass.enabled }}{{ .Release.Name }}-{{ end }}compress
|
||||
- name: basic-ratelimit
|
||||
- name: basic-secure-headers
|
||||
- name: compress
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
{{- $values := .Values }}
|
||||
|
||||
{{- $namespace := ( printf "ix-%s" .Release.Name ) }}
|
||||
{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }}
|
||||
{{- $namespace = "default" }}
|
||||
{{- end }}
|
||||
{{ range $index, $middlewareData := .Values.middlewares.basicAuth }}
|
||||
---
|
||||
{{- $users := list }}
|
||||
@@ -11,7 +14,7 @@ apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: {{printf "%v-%v" $middlewareData.name "secret" }}
|
||||
namespace: tc-system
|
||||
namespace: {{ $namespace }}
|
||||
type: Opaque
|
||||
stringData:
|
||||
users: |
|
||||
@@ -20,11 +23,11 @@ stringData:
|
||||
{{- end }}
|
||||
---
|
||||
# Declaring the user list
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: traefik.containo.us/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: {{ if $.Values.ingressClass.enabled }}{{ .Release.Name }}-{{ end }}{{ $middlewareData.name }}
|
||||
namespace: tc-system
|
||||
name: {{ $middlewareData.name }}
|
||||
namespace: {{ $namespace }}
|
||||
spec:
|
||||
basicAuth:
|
||||
secret: {{printf "%v-%v" $middlewareData.name "secret" }}
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
{{- $values := .Values }}
|
||||
{{- $namespace := "tc-system" }}
|
||||
{{- if $.Values.ingressClass.enabled }}
|
||||
{{- $namespace := ( printf "tc-system-%s" .Release.Name ) }}
|
||||
{{- $namespace := ( printf "ix-%s" .Release.Name ) }}
|
||||
{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }}
|
||||
{{- $namespace = "default" }}
|
||||
{{- end }}
|
||||
{{ range $index, $middlewareData := .Values.middlewares.chain }}
|
||||
|
||||
---
|
||||
# Declaring the user list
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: traefik.containo.us/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: {{ if $.Values.ingressClass.enabled }}{{ .Release.Name }}-{{ end }}{{ $middlewareData.name }}
|
||||
namespace: tc-system
|
||||
name: {{ $middlewareData.name }}
|
||||
namespace: {{ $namespace }}
|
||||
spec:
|
||||
chain:
|
||||
middlewares:
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
{{- $values := .Values }}
|
||||
|
||||
{{- $namespace := ( printf "ix-%s" .Release.Name ) }}
|
||||
{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }}
|
||||
{{- $namespace = "default" }}
|
||||
{{- end }}
|
||||
{{ range $index, $middlewareData := .Values.middlewares.forwardAuth }}
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: traefik.containo.us/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: {{ if $.Values.ingressClass.enabled }}{{ .Release.Name }}-{{ end }}{{ $middlewareData.name }}
|
||||
namespace: tc-system
|
||||
name: {{ $middlewareData.name }}
|
||||
namespace: {{ $namespace }}
|
||||
spec:
|
||||
forwardAuth:
|
||||
address: {{ $middlewareData.address }}
|
||||
|
||||
@@ -1,13 +1,16 @@
|
||||
{{- $values := .Values }}
|
||||
|
||||
{{- $namespace := ( printf "ix-%s" .Release.Name ) }}
|
||||
{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }}
|
||||
{{- $namespace = "default" }}
|
||||
{{- end }}
|
||||
{{- range $index, $middlewareData := .Values.middlewares.geoBlock }}
|
||||
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: traefik.containo.us/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: {{ if $.Values.ingressClass.enabled }}{{ .Release.Name }}-{{ end }}{{ $middlewareData.name }}
|
||||
namespace: tc-system
|
||||
name: {{ $middlewareData.name }}
|
||||
namespace: {{ $namespace }}
|
||||
spec:
|
||||
plugin:
|
||||
GeoBlock:
|
||||
|
||||
@@ -1,14 +1,17 @@
|
||||
{{- $values := .Values }}
|
||||
|
||||
{{- $namespace := ( printf "ix-%s" .Release.Name ) }}
|
||||
{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }}
|
||||
{{- $namespace = "default" }}
|
||||
{{- end }}
|
||||
{{ range $index, $middlewareData := .Values.middlewares.ipWhiteList }}
|
||||
|
||||
---
|
||||
# Declaring the user list
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: traefik.containo.us/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: {{ if $.Values.ingressClass.enabled }}{{ .Release.Name }}-{{ end }}{{ $middlewareData.name }}
|
||||
namespace: tc-system
|
||||
name: {{ $middlewareData.name }}
|
||||
namespace: {{ $namespace }}
|
||||
spec:
|
||||
ipWhiteList:
|
||||
sourceRange:
|
||||
|
||||
@@ -1,14 +1,17 @@
|
||||
{{- $values := .Values }}
|
||||
|
||||
{{- $namespace := ( printf "ix-%s" .Release.Name ) }}
|
||||
{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }}
|
||||
{{- $namespace = "default" }}
|
||||
{{- end }}
|
||||
{{ range $index, $middlewareData := .Values.middlewares.rateLimit }}
|
||||
|
||||
---
|
||||
# Declaring the user list
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: traefik.containo.us/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: {{ if $.Values.ingressClass.enabled }}{{ .Release.Name }}-{{ end }}{{ if $.Values.ingressClass.enabled }}{{ .Release.Name }}-{{ end }}{{ $middlewareData.name }}
|
||||
namespace: tc-system
|
||||
name: {{ $middlewareData.name }}
|
||||
namespace: {{ $namespace }}
|
||||
spec:
|
||||
rateLimit:
|
||||
average: {{ $middlewareData.average }}
|
||||
|
||||