21 Commits
Author SHA1 Message Date
astro-stanandGitHub 956d118e2f fix(multus-cni): Remove unsupported -o pipefail option from sh scripts (#47210)
**Description**
<!--
Please include a summary of the change and which issue is fixed. Please
also include relevant motivation and context. List any dependencies that
are required for this change.
-->

Not sure how this wasn't a problem before but I recently upgraded the
chart ot a more recent version and started getting:

```
sh: 1: set: Illegal option -o pipefail
```

pipefail is not supprted by `sh`, so it needs to be removed.

⚒️ Fixes  # <!--(issue)-->

**⚙️ Type of change**

- [ ] ⚙️ Feature/App addition
- [x] 🪛 Bugfix
- [ ] ⚠️ Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- [ ] 🔃 Refactor of current code
- [ ] 📜 Documentation Changes

**🧪 How Has This Been Tested?**
<!--
Please describe the tests that you ran to verify your changes. Provide
instructions so we can reproduce. Please also list any relevant details
for your test configuration
-->

**📃 Notes:**
<!-- Please enter any other relevant information here -->

**✔️ Checklist:**

- [X] ⚖️ My code follows the style guidelines of this project
- [X] 👀 I have performed a self-review of my own code
- [ ] #️⃣ I have commented my code, particularly in hard-to-understand
areas
- [ ] 📄 I have made changes to the documentation
- [ ] 🧪 I have added tests to this description that prove my fix is
effective or that my feature works
- [X] ⬆️ I increased versions for any altered app according to semantic
versioning
- [X] I made sure the title starts with `feat(chart-name):`,
`fix(chart-name):`, `chore(chart-name):`, `docs(chart-name):` or
`fix(docs):`

** App addition**

If this PR is an app addition please make sure you have done the
following.

- [ ] 🖼️ I have added an icon in the Chart's root directory called
`icon.png`

---

_Please don't blindly check all the boxes. Read them and only check
those that apply.
Those checkboxes are there for the reviewer to see what is this all
about and
the status of this PR with a quick glance._

---------

Signed-off-by: astro-stan <36302090+astro-stan@users.noreply.github.com>
2026-04-18 23:38:24 +02:00
5acf59386b fix(nextcloud): Fix nextcloud-redirect middleware ingress integration (#46702)
**Description**
<!--
Please include a summary of the change and which issue is fixed. Please
also include relevant motivation and context. List any dependencies that
are required for this change.
-->
⚒️ Fixes  # <!--(issue)-->

Rendering this chart with the traefik integration enabled yields an
error. Looks like the syntax for adding a traefik middleware to the
ingress changed but this chart was not updated.

**⚙️ Type of change**

- [ ] ⚙️ Feature/App addition
- [X] 🪛 Bugfix
- [ ] ⚠️ Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- [ ] 🔃 Refactor of current code
- [ ] 📜 Documentation Changes

**🧪 How Has This Been Tested?**
<!--
Please describe the tests that you ran to verify your changes. Provide
instructions so we can reproduce. Please also list any relevant details
for your test configuration
-->

Rendered the chart with traefik integration enabled

**📃 Notes:**
<!-- Please enter any other relevant information here -->

**✔️ Checklist:**

- [X] ⚖️ My code follows the style guidelines of this project
- [X] 👀 I have performed a self-review of my own code
- [ ] #️⃣ I have commented my code, particularly in hard-to-understand
areas
- [ ] 📄 I have made changes to the documentation
- [X] 🧪 I have added tests to this description that prove my fix is
effective or that my feature works
- [X] ⬆️ I increased versions for any altered app according to semantic
versioning
- [ ] I made sure the title starts with `feat(chart-name):`,
`fix(chart-name):`, `chore(chart-name):`, `docs(chart-name):` or
`fix(docs):`

** App addition**

If this PR is an app addition please make sure you have done the
following.

- [ ] 🖼️ I have added an icon in the Chart's root directory called
`icon.png`

---

_Please don't blindly check all the boxes. Read them and only check
those that apply.
Those checkboxes are there for the reviewer to see what is this all
about and
the status of this PR with a quick glance._

---------

Signed-off-by: astro-stan <36302090+astro-stan@users.noreply.github.com>
Signed-off-by: Alfred Göppel <43101280+alfi0812@users.noreply.github.com>
Co-authored-by: Alfred Göppel <43101280+alfi0812@users.noreply.github.com>
2026-04-03 16:51:13 +00:00
astro-stanandGitHub 04ef9ff796 fix(nextcloud): Reduce nextcloud wait-nextcloud requests and limits (#46703)
**Description**
<!--
Please include a summary of the change and which issue is fixed. Please
also include relevant motivation and context. List any dependencies that
are required for this change.
-->
⚒️ Fixes  # <!--(issue)-->

Similar to #46616, the Nextcloud 'wait-nextcloud' init container has no
resource requests or limits section specified and thus inherits the
defaults from common. These are needlessly large for what the container
is - a bash script.

This PR adds more conservative limits - matched to the limits specified
for the cnpg-wait init container in common.

**⚙️ Type of change**

- [ ] ⚙️ Feature/App addition
- [x] 🪛 Bugfix
- [ ] ⚠️ Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- [ ] 🔃 Refactor of current code
- [ ] 📜 Documentation Changes

**🧪 How Has This Been Tested?**
<!--
Please describe the tests that you ran to verify your changes. Provide
instructions so we can reproduce. Please also list any relevant details
for your test configuration
-->

CI. 

Also  rendered the chart with `helm template`

**📃 Notes:**
<!-- Please enter any other relevant information here -->

**✔️ Checklist:**

- [X] ⚖️ My code follows the style guidelines of this project
- [X] 👀 I have performed a self-review of my own code
- [ ] #️⃣ I have commented my code, particularly in hard-to-understand
areas
- [ ] 📄 I have made changes to the documentation
- [ ] 🧪 I have added tests to this description that prove my fix is
effective or that my feature works
- [X] ⬆️ I increased versions for any altered app according to semantic
versioning
- [X] I made sure the title starts with `feat(chart-name):`,
`fix(chart-name):`, `chore(chart-name):`, `docs(chart-name):` or
`fix(docs):`

** App addition**

If this PR is an app addition please make sure you have done the
following.

- [ ] 🖼️ I have added an icon in the Chart's root directory called
`icon.png`

---

_Please don't blindly check all the boxes. Read them and only check
those that apply.
Those checkboxes are there for the reviewer to see what is this all
about and
the status of this PR with a quick glance._
2026-04-03 18:42:44 +02:00
astro-stanandGitHub 909c5e3fc5 fix(authentik): Reduce authentik wait-server requests and limits (#46616)
**Description**
<!--
Please include a summary of the change and which issue is fixed. Please
also include relevant motivation and context. List any dependencies that
are required for this change.
-->
⚒️ Fixes  # <!--(issue)-->

Authentik's 'wait-server' init container has no `resources` section
specified and this inherits the default common resource requests and
limits. These are needlessly large for what the container is - a bash
script.

This PR adds more conservative limits - matched to the limits specified
for the `cnpg-wait` init container in common.

**⚙️ Type of change**

- [ ] ⚙️ Feature/App addition
- [X] 🪛 Bugfix
- [ ] ⚠️ Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- [ ] 🔃 Refactor of current code
- [ ] 📜 Documentation Changes

**🧪 How Has This Been Tested?**
<!--
Please describe the tests that you ran to verify your changes. Provide
instructions so we can reproduce. Please also list any relevant details
for your test configuration
-->

CI

**📃 Notes:**
<!-- Please enter any other relevant information here -->

**✔️ Checklist:**

- [x] ⚖️ My code follows the style guidelines of this project
- [X] 👀 I have performed a self-review of my own code
- [ ] #️⃣ I have commented my code, particularly in hard-to-understand
areas
- [ ] 📄 I have made changes to the documentation
- [ ] 🧪 I have added tests to this description that prove my fix is
effective or that my feature works
- [X] ⬆️ I increased versions for any altered app according to semantic
versioning
- [ ] I made sure the title starts with `feat(chart-name):`,
`fix(chart-name):`, `chore(chart-name):`, `docs(chart-name):` or
`fix(docs):`

** App addition**

If this PR is an app addition please make sure you have done the
following.

- [ ] 🖼️ I have added an icon in the Chart's root directory called
`icon.png`

---

_Please don't blindly check all the boxes. Read them and only check
those that apply.
Those checkboxes are there for the reviewer to see what is this all
about and
the status of this PR with a quick glance._

---------

Signed-off-by: astro-stan <36302090+astro-stan@users.noreply.github.com>
2026-04-01 05:36:35 +02:00
astro-stanandGitHub ada82d93d3 fix(authentik): remove deprecated dependency (#46283)
**Description**

Authentik removed is requirement for redis in 2025.10

See: https://goauthentik.io/blog/2025-11-13-we-removed-redis/


⚒️ Fixes  # <!--(issue)-->

**⚙️ Type of change**

- [ ] ⚙️ Feature/App addition
- [x] 🪛 Bugfix
- [ ] ⚠️ Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- [ ] 🔃 Refactor of current code
- [ ] 📜 Documentation Changes

**🧪 How Has This Been Tested?**
<!--
Please describe the tests that you ran to verify your changes. Provide
instructions so we can reproduce. Please also list any relevant details
for your test configuration
-->

Tested chart renders

**📃 Notes:**
<!-- Please enter any other relevant information here -->

**✔️ Checklist:**

- [x] ⚖️ My code follows the style guidelines of this project
- [X] 👀 I have performed a self-review of my own code
- [ ] #️⃣ I have commented my code, particularly in hard-to-understand
areas
- [ ] 📄 I have made changes to the documentation
- [ ] 🧪 I have added tests to this description that prove my fix is
effective or that my feature works
- [x] ⬆️ I increased versions for any altered app according to semantic
versioning
- [x] I made sure the title starts with `feat(chart-name):`,
`fix(chart-name):`, `chore(chart-name):`, `docs(chart-name):` or
`fix(docs):`

** App addition**

If this PR is an app addition please make sure you have done the
following.

- [ ] 🖼️ I have added an icon in the Chart's root directory called
`icon.png`

---

_Please don't blindly check all the boxes. Read them and only check
those that apply.
Those checkboxes are there for the reviewer to see what is this all
about and
the status of this PR with a quick glance._
2026-03-22 18:19:32 +01:00
astro-stanandGitHub 64bcd06754 fix(grafana): Reduce default Grafana k8s-sidecar resources (#46287)
**Description**

The default Grafana chart requests and limits for the `k8s-sidecar`
containers are a bit over the top:

```bash
kubectl resource-capacity --namespace grafana --pods -uc 
NODE            POD                       CONTAINER             CPU REQUESTS   CPU LIMITS     CPU UTIL   MEMORY REQUESTS   MEMORY LIMITS   MEMORY UTIL

...                                                                                                                                         
k8s-control-1   grafana-9554bbdd8-ph6vq   grafana-alerts        75m (0%)       1500m (10%)    2m (0%)    200Mi (0%)        2400Mi (2%)     272Mi (0%)
k8s-control-1   grafana-9554bbdd8-ph6vq   grafana-dashboards    75m (0%)       1500m (10%)    1m (0%)    200Mi (0%)        2400Mi (2%)     275Mi (0%)
k8s-control-1   grafana-9554bbdd8-ph6vq   grafana-datasources   75m (0%)       1500m (10%)    1m (0%)    200Mi (0%)        2400Mi (2%)     272Mi (0%)
k8s-control-1   grafana-9554bbdd8-ph6vq   grafana-notifiers     75m (0%)       1500m (10%)    1m (0%)    200Mi (0%)        2400Mi (2%)     272Mi (0%)
k8s-control-1   grafana-9554bbdd8-ph6vq   grafana-plugins       75m (0%)       1500m (10%)    1m (0%)    200Mi (0%)        2400Mi (2%)     272Mi (0%)
...
```

I have never seen them use more than 10m CPU or go over 300Mi of memory.

So I think it makes sense to assign lower default resources than what
the `common` defaults are.

⚒️ Fixes  # <!--(issue)-->

**⚙️ Type of change**

- [ ] ⚙️ Feature/App addition
- [X] 🪛 Bugfix
- [ ] ⚠️ Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- [ ] 🔃 Refactor of current code
- [ ] 📜 Documentation Changes

**🧪 How Has This Been Tested?**
<!--
Please describe the tests that you ran to verify your changes. Provide
instructions so we can reproduce. Please also list any relevant details
for your test configuration
-->

**📃 Notes:**
<!-- Please enter any other relevant information here -->

**✔️ Checklist:**

- [X] ⚖️ My code follows the style guidelines of this project
- [X] 👀 I have performed a self-review of my own code
- [ ] #️⃣ I have commented my code, particularly in hard-to-understand
areas
- [ ] 📄 I have made changes to the documentation
- [ ] 🧪 I have added tests to this description that prove my fix is
effective or that my feature works
- [x] ⬆️ I increased versions for any altered app according to semantic
versioning
- [X] I made sure the title starts with `feat(chart-name):`,
`fix(chart-name):`, `chore(chart-name):`, `docs(chart-name):` or
`fix(docs):`

** App addition**

If this PR is an app addition please make sure you have done the
following.

- [ ] 🖼️ I have added an icon in the Chart's root directory called
`icon.png`

---

_Please don't blindly check all the boxes. Read them and only check
those that apply.
Those checkboxes are there for the reviewer to see what is this all
about and
the status of this PR with a quick glance._
2026-03-21 19:02:48 +00:00
astro-stanandGitHub ecbcf37387 feat(multus-cni): Move multus-cni to stable (#44892)
**Description**
<!--
Please include a summary of the change and which issue is fixed. Please
also include relevant motivation and context. List any dependencies that
are required for this change.
-->
⚒️ Fixes  # <!--(issue)-->

**⚙️ Type of change**

- [X] ⚙️ Feature/App addition
- [ ] 🪛 Bugfix
- [ ] ⚠️ Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- [ ] 🔃 Refactor of current code
- [ ] 📜 Documentation Changes

**🧪 How Has This Been Tested?**
<!--
Please describe the tests that you ran to verify your changes. Provide
instructions so we can reproduce. Please also list any relevant details
for your test configuration
-->

CI

**📃 Notes:**
<!-- Please enter any other relevant information here -->

**✔️ Checklist:**

- [ ] ⚖️ My code follows the style guidelines of this project
- [X] 👀 I have performed a self-review of my own code
- [ ] #️⃣ I have commented my code, particularly in hard-to-understand
areas
- [ ] 📄 I have made changes to the documentation
- [ ] 🧪 I have added tests to this description that prove my fix is
effective or that my feature works
- [X] ⬆️ I increased versions for any altered app according to semantic
versioning
- [X] I made sure the title starts with `feat(chart-name):`,
`fix(chart-name):`, `chore(chart-name):`, `docs(chart-name):` or
`fix(docs):`

** App addition**

If this PR is an app addition please make sure you have done the
following.

- [ ] 🖼️ I have added an icon in the Chart's root directory called
`icon.png`

---

_Please don't blindly check all the boxes. Read them and only check
those that apply.
Those checkboxes are there for the reviewer to see what is this all
about and
the status of this PR with a quick glance._
2026-02-14 13:57:52 +01:00
2c4b477b48 feat(multus-cni): Add multus-cni chart (#43365)
**Description**
<!--
Please include a summary of the change and which issue is fixed. Please
also include relevant motivation and context. List any dependencies that
are required for this change.
-->

I've been using multus for a while but I've grown frustrated with the
hassle of maintaining it due to the lack of a helm chart.

This chart makes deploying and managing Multus easy!

Notable features:

- Sensible defaults, chart should work  "out of the box" for most setups
- Easy Multus configuration for more advanced use cases
- Talos integration - allows installing extra reference CNIs, which do
not ship with a standard Talos install (macvlan, ipvlan, etc)
- An "uninstall" mode, which cleans up changes made to the host's
filesystem, so the chart can be uninstalled cleanly
- Docs page

⚒️ Fixes  # <!--(issue)-->

**⚙️ Type of change**

- [X] ⚙️ Feature/App addition
- [ ] 🪛 Bugfix
- [ ] ⚠️ Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- [ ] 🔃 Refactor of current code
- [X] 📜 Documentation Changes

**🧪 How Has This Been Tested?**
<!--
Please describe the tests that you ran to verify your changes. Provide
instructions so we can reproduce. Please also list any relevant details
for your test configuration
-->

I've been testing it as I have been developing the chart. I have tested
the different configuration options, the uninstall mode and the
examples/tutorials given in the docs page.

**📃 Notes:**
<!-- Please enter any other relevant information here -->

**✔️ Checklist:**

- [X] ⚖️ My code follows the style guidelines of this project
- [X] 👀 I have performed a self-review of my own code
- [X] #️⃣ I have commented my code, particularly in hard-to-understand
areas
- [X] 📄 I have made changes to the documentation
- [X] 🧪 I have added tests to this description that prove my fix is
effective or that my feature works
- [X] ⬆️ I increased versions for any altered app according to semantic
versioning
- [X] I made sure the title starts with `feat(chart-name):`,
`fix(chart-name):`, `chore(chart-name):`, `docs(chart-name):` or
`fix(docs):`

** App addition**

If this PR is an app addition please make sure you have done the
following.

- [X] 🖼️ I have added an icon in the Chart's root directory called
`icon.png`

---

_Please don't blindly check all the boxes. Read them and only check
those that apply.
Those checkboxes are there for the reviewer to see what is this all
about and
the status of this PR with a quick glance._

---------

Signed-off-by: Kjeld Schouten <info@kjeldschouten.nl>
Co-authored-by: Alfred Göppel <43101280+alfi0812@users.noreply.github.com>
Co-authored-by: Kjeld Schouten <info@kjeldschouten.nl>
Co-authored-by: Stavros Kois <47820033+stavros-k@users.noreply.github.com>
2026-01-30 10:26:59 +01:00
e4ef820b30 feat(grafana): Add dashboard auto-downloader (#41665)
**Description**
<!--
Please include a summary of the change and which issue is fixed. Please
also include relevant motivation and context. List any dependencies that
are required for this change.
-->

Currently, this chart allows provisioning of 3 predefined dashboards.

This is not ideal because:

- It is not flexible (only 3 statically defined in the chart dashboards
are supported)
- It bloats the chart unnecessarily
- Dashboards can get out of date quickly

To fix these shortcomings, I have added a curl init container that
executes a script which is generated during chart rendering based on the
values defined in the new map in the chart values
(`.Values.extraDashboards`). The map allows defining dashboards to be
provisioned both directly from `grafana.com` and via any URL that
returns a valid JSON Grafana dashboard file.

⚒️ Fixes  # <!--(issue)-->

**⚙️ Type of change**

- [x] ⚙️ Feature/App addition
- [ ] 🪛 Bugfix
- [ ] ⚠️ Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- [ ] 🔃 Refactor of current code
- [ ] 📜 Documentation Changes

**🧪 How Has This Been Tested?**
<!--
Please describe the tests that you ran to verify your changes. Provide
instructions so we can reproduce. Please also list any relevant details
for your test configuration
-->

- Rendered the chart manually with the values defined under
`.Values.extraDashboards`.
- Checked that the dashboards are present in Grafana after it starts

**📃 Notes:**

- The Grafana image technically already has `curl` as a command;
however, I chose to use a separate image just for the init container
because `curl` might be removed without notice from the Grafana image in
the future, and I do not want to depend on it being present.
- I have left the old way of deploying dashboards to prevent making this
a breaking change. After this is merged, I will open a new PR for
removing them (that will be marked breaking), and it can be merged when
appropriate.

**✔️ Checklist:**

- [x] ⚖️ My code follows the style guidelines of this project
- [x] 👀 I have performed a self-review of my own code
- [x] #️⃣ I have commented my code, particularly in hard-to-understand
areas
- [ ] 📄 I have made changes to the documentation
- [x] 🧪 I have added tests to this description that prove my fix is
effective or that my feature works
- [x] ⬆️ I increased versions for any altered app according to semantic
versioning
- [x] I made sure the title starts with `feat(chart-name):`,
`fix(chart-name):`, `chore(chart-name):`, `docs(chart-name):` or
`fix(docs):`

** App addition**

If this PR is an app addition please make sure you have done the
following.

- [ ] 🖼️ I have added an icon in the Chart's root directory called
`icon.png`

---

_Please don't blindly check all the boxes. Read them and only check
those that apply.
Those checkboxes are there for the reviewer to see what is this all
about and
the status of this PR with a quick glance._

---------

Signed-off-by: Boemeltrein <130394941+Boemeltrein@users.noreply.github.com>
Signed-off-by: Kjeld Schouten <info@kjeldschouten.nl>
Co-authored-by: Boemeltrein <info@boemeltrein.nl>
Co-authored-by: Boemeltrein <130394941+Boemeltrein@users.noreply.github.com>
Co-authored-by: Kjeld Schouten <info@kjeldschouten.nl>
2025-11-23 14:44:59 +01:00
astro-stanandGitHub 717089af22 fix(jellyfin): Fix Jellyfin root FS not being read-only (#41926)
**Description**
<!--
Please include a summary of the change and which issue is fixed. Please
also include relevant motivation and context. List any dependencies that
are required for this change.
-->

I don't think there is a need for the Jellyfin's root FS to not be
read-only.

I gave it a quick test with `readOnlyRootFilesystem: true` and seems to
work just as good. Thus, I have removed it from the chart values (since
the fallback default is `true`).

⚒️ Fixes  # <!--(issue)-->

**⚙️ Type of change**

- [ ] ⚙️ Feature/App addition
- [x] 🪛 Bugfix
- [ ] ⚠️ Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- [ ] 🔃 Refactor of current code
- [ ] 📜 Documentation Changes

**🧪 How Has This Been Tested?**
<!--
Please describe the tests that you ran to verify your changes. Provide
instructions so we can reproduce. Please also list any relevant details
for your test configuration
-->

Deployed  chart with `readOnlyRootFilesystem: true`

**📃 Notes:**
<!-- Please enter any other relevant information here -->

Feel free to close this if I am wrong and a read-write root fs is
needed.

**✔️ Checklist:**

- [x] ⚖️ My code follows the style guidelines of this project
- [x] 👀 I have performed a self-review of my own code
- [ ] #️⃣ I have commented my code, particularly in hard-to-understand
areas
- [ ] 📄 I have made changes to the documentation
- [x] 🧪 I have added tests to this description that prove my fix is
effective or that my feature works
- [x] ⬆️ I increased versions for any altered app according to semantic
versioning
- [x] I made sure the title starts with `feat(chart-name):`,
`fix(chart-name):`, `chore(chart-name):`, `docs(chart-name):` or
`fix(docs):`

** App addition**

If this PR is an app addition please make sure you have done the
following.

- [ ] 🖼️ I have added an icon in the Chart's root directory called
`icon.png`

---

_Please don't blindly check all the boxes. Read them and only check
those that apply.
Those checkboxes are there for the reviewer to see what is this all
about and
the status of this PR with a quick glance._
2025-11-21 06:05:11 +01:00
5ff012e0c1 fix(common): Fix generating invalid CA secret names when credentials dict includes uppercase letters (#41548)
**Description**
<!--
Please include a summary of the change and which issue is fixed. Please
also include relevant motivation and context. List any dependencies that
are required for this change.
-->
⚒️ Fixes  # <!--(issue)-->

**⚙️ Type of change**

- [ ] ⚙️ Feature/App addition
- [x] 🪛 Bugfix
- [ ] ⚠️ Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- [ ] 🔃 Refactor of current code
- [ ] 📜 Documentation Changes

**🧪 How Has This Been Tested?**
<!--
Please describe the tests that you ran to verify your changes. Provide
instructions so we can reproduce. Please also list any relevant details
for your test configuration
-->

**📃 Notes:**
<!-- Please enter any other relevant information here -->

**✔️ Checklist:**

- [X] ⚖️ My code follows the style guidelines of this project
- [X] 👀 I have performed a self-review of my own code
- [ ] #️⃣ I have commented my code, particularly in hard-to-understand
areas
- [ ] 📄 I have made changes to the documentation
- [X] 🧪 I have added tests to this description that prove my fix is
effective or that my feature works
- [X] ⬆️ I increased versions for any altered app according to semantic
versioning
- [X] I made sure the title starts with `feat(chart-name):`,
`fix(chart-name):`, `chore(chart-name):`, `docs(chart-name):` or
`fix(docs):`

** App addition**

If this PR is an app addition please make sure you have done the
following.

- [ ] 🖼️ I have added an icon in the Chart's root directory called
`icon.png`

---

_Please don't blindly check all the boxes. Read them and only check
those that apply.
Those checkboxes are there for the reviewer to see what is this all
about and
the status of this PR with a quick glance._

---------

Signed-off-by: Alfred Göppel <43101280+alfi0812@users.noreply.github.com>
Signed-off-by: astro-stan <36302090+astro-stan@users.noreply.github.com>
Co-authored-by: Alfred Göppel <43101280+alfi0812@users.noreply.github.com>
2025-11-18 18:33:47 +01:00
astro-stanandGitHub d59c37c67e fix(jellyfin): Fix Jellyfin transcode dir mount location (#41821)
**Description**
<!--
Please include a summary of the change and which issue is fixed. Please
also include relevant motivation and context. List any dependencies that
are required for this change.
-->

The transcode dir was being mounted to `/config/transcodes` , while the
correct location (wrt the default Jellyfin config) is
`/cache/transcodes`.

This means that, until now, regardless of what was configured in the
chart values, transcoding was actually performed on the node disk (for
example, on Talos, that is the `EPHEMERAL` partition), instead of, say,
in a ramdisk as it is often configured to be.

⚒️ Fixes  # <!--(issue)-->

**⚙️ Type of change**

- [ ] ⚙️ Feature/App addition
- [x] 🪛 Bugfix
- [ ] ⚠️ Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- [ ] 🔃 Refactor of current code
- [ ] 📜 Documentation Changes

**🧪 How Has This Been Tested?**
<!--
Please describe the tests that you ran to verify your changes. Provide
instructions so we can reproduce. Please also list any relevant details
for your test configuration
-->

**📃 Notes:**
<!-- Please enter any other relevant information here -->

**✔️ Checklist:**

- [x] ⚖️ My code follows the style guidelines of this project
- [x] 👀 I have performed a self-review of my own code
- [ ] #️⃣ I have commented my code, particularly in hard-to-understand
areas
- [ ] 📄 I have made changes to the documentation
- [ ] 🧪 I have added tests to this description that prove my fix is
effective or that my feature works
- [x] ⬆️ I increased versions for any altered app according to semantic
versioning
- [x] I made sure the title starts with `feat(chart-name):`,
`fix(chart-name):`, `chore(chart-name):`, `docs(chart-name):` or
`fix(docs):`

** App addition**

If this PR is an app addition please make sure you have done the
following.

- [ ] 🖼️ I have added an icon in the Chart's root directory called
`icon.png`

---

_Please don't blindly check all the boxes. Read them and only check
those that apply.
Those checkboxes are there for the reviewer to see what is this all
about and
the status of this PR with a quick glance._

---------

Signed-off-by: astro-stan <36302090+astro-stan@users.noreply.github.com>
2025-11-18 06:10:06 +01:00
astro-stanandGitHub 9ad009ab9b fix(common): Fix broken links in Chart.yamls (#41664)
**Description**
<!--
Please include a summary of the change and which issue is fixed. Please
also include relevant motivation and context. List any dependencies that
are required for this change.
-->

This should fix CI (first noticed in !41548). 

Though I have a few questions:

- Should **all** links in **all** charts be updated (in this PR)?
- What should the commit scope in the PR title be?

⚒️ Fixes  # <!--(issue)-->

**⚙️ Type of change**

- [ ] ⚙️ Feature/App addition
- [ ] 🪛 Bugfix
- [ ] ⚠️ Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- [ ] 🔃 Refactor of current code
- [ ] 📜 Documentation Changes

**🧪 How Has This Been Tested?**
<!--
Please describe the tests that you ran to verify your changes. Provide
instructions so we can reproduce. Please also list any relevant details
for your test configuration
-->

**📃 Notes:**
<!-- Please enter any other relevant information here -->

**✔️ Checklist:**

- [ ] ⚖️ My code follows the style guidelines of this project
- [ ] 👀 I have performed a self-review of my own code
- [ ] #️⃣ I have commented my code, particularly in hard-to-understand
areas
- [ ] 📄 I have made changes to the documentation
- [ ] 🧪 I have added tests to this description that prove my fix is
effective or that my feature works
- [ ] ⬆️ I increased versions for any altered app according to semantic
versioning
- [ ] I made sure the title starts with `feat(chart-name):`,
`fix(chart-name):`, `chore(chart-name):`, `docs(chart-name):` or
`fix(docs):`

** App addition**

If this PR is an app addition please make sure you have done the
following.

- [ ] 🖼️ I have added an icon in the Chart's root directory called
`icon.png`

---

_Please don't blindly check all the boxes. Read them and only check
those that apply.
Those checkboxes are there for the reviewer to see what is this all
about and
the status of this PR with a quick glance._
2025-11-13 09:21:49 +01:00
astro-stanandGitHub 2c0c11a265 feat(csi-addons-controller): Add csi-addons-controller (#41539)
**Description**

Adds a [CSI-Addons](https://github.com/csi-addons/spec/) controller
implementation for Kubernetes.


⚒️ Fixes  # <!--(issue)-->

**⚙️ Type of change**

- [x] ⚙️ Feature/App addition
- [ ] 🪛 Bugfix
- [ ] ⚠️ Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- [ ] 🔃 Refactor of current code
- [ ] 📜 Documentation Changes

**🧪 How Has This Been Tested?**
<!--
Please describe the tests that you ran to verify your changes. Provide
instructions so we can reproduce. Please also list any relevant details
for your test configuration
-->

Tested via deploying it to my cluster in 2 ways:

- As an app template (for testing before I created the chart)
- Rendered this chart with `helm template` and applied it to my cluster

In both cases, it deployed and worked as expected. 

What was tested:

- Works with rook-ceph(when the CSI-addons sidecar container is enabled)
- Successfully created a `ReclaimSpaceCronJob`s by annotating both a PVC
and a storage class with `reclaimspace.csiaddons.openshift.io/schedule:
"*/15 * * * *"`
- Watched the controller periodically creating `ReclaimSpaceJob`
resources from the `ReclaimSpaceCronJob` resources and updating them
with a successful status on job completion

**📃 Notes:**

I have not tested all
[CRDs](https://github.com/csi-addons/kubernetes-csi-addons/blob/main/deploy/controller/crds.yaml)
that come with the chart; however, they have been copied directly from
the [upstream
repository](https://github.com/csi-addons/kubernetes-csi-addons/tree/main),
along with the
[RBACs](https://github.com/csi-addons/kubernetes-csi-addons/blob/main/deploy/controller/rbac.yaml),
thus if a CRD does not work as expected, it is likely due to a bug with
the controller rather than the chart.

Also, I cannot find an icon for this project, so I have not added one to
the chart

**✔️ Checklist:**

- [x] ⚖️ My code follows the style guidelines of this project
- [x] 👀 I have performed a self-review of my own code
- [ ] #️⃣ I have commented my code, particularly in hard-to-understand
areas
- [ ] 📄 I have made changes to the documentation
- [x] 🧪 I have added tests to this description that prove my fix is
effective or that my feature works
- [ ] ⬆️ I increased versions for any altered app according to semantic
versioning
- [x] I made sure the title starts with `feat(chart-name):`,
`fix(chart-name):`, `chore(chart-name):`, `docs(chart-name):` or
`fix(docs):`

** App addition**

If this PR is an app addition please make sure you have done the
following.

- [ ] 🖼️ I have added an icon in the Chart's root directory called
`icon.png`

---

_Please don't blindly check all the boxes. Read them and only check
those that apply.
Those checkboxes are there for the reviewer to see what is this all
about and
the status of this PR with a quick glance._
2025-11-12 10:23:14 +01:00
2de033f23a fix(common): Quote schedules in templates (#40956)
**Description**

I noticed that some renders of chedule entries were not being quoted,
which caused templates to fail to render when the schedule does not
start with a number (for example `* * * * * *`), or when special
supported words were used (for example `@daily`).

I grepped for `schedule:` in the common lib and added quotes where they
were missing.

⚒️ Fixes  # <!--(issue)-->

**⚙️ Type of change**

- [ ] ⚙️ Feature/App addition
- [X] 🪛 Bugfix
- [ ] ⚠️ Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- [ ] 🔃 Refactor of current code
- [ ] 📜 Documentation Changes

**🧪 How Has This Been Tested?**
<!--
Please describe the tests that you ran to verify your changes. Provide
instructions so we can reproduce. Please also list any relevant details
for your test configuration
-->

**📃 Notes:**
<!-- Please enter any other relevant information here -->

**✔️ Checklist:**

- [X] ⚖️ My code follows the style guidelines of this project
- [X] 👀 I have performed a self-review of my own code
- [ ] #️⃣ I have commented my code, particularly in hard-to-understand
areas
- [ ] 📄 I have made changes to the documentation
- [ ] 🧪 I have added tests to this description that prove my fix is
effective or that my feature works
- [X] ⬆️ I increased versions for any altered app according to semantic
versioning
- [X] I made sure the title starts with `feat(chart-name):`,
`fix(chart-name):`, `chore(chart-name):`, `docs(chart-name):` or
`fix(docs):`

** App addition**

If this PR is an app addition please make sure you have done the
following.

- [ ] 🖼️ I have added an icon in the Chart's root directory called
`icon.png`

---

_Please don't blindly check all the boxes. Read them and only check
those that apply.
Those checkboxes are there for the reviewer to see what is this all
about and
the status of this PR with a quick glance._

---------

Signed-off-by: Stavros Kois <47820033+stavros-k@users.noreply.github.com>
Co-authored-by: Stavros Kois <47820033+stavros-k@users.noreply.github.com>
2025-10-26 22:30:45 +00:00
e892b37565 feat(common): Add support for setting extra env to CNPG pods (#40673)
**Description**
<!--
Please include a summary of the change and which issue is fixed. Please
also include relevant motivation and context. List any dependencies that
are required for this change.
-->

This PR adds the ability to set extra environment variables to CNPG
pods.

I need this, as I need to set the `HTTP_PROXY`, `HTTPS_PROXY` and
`NO_PROXY` envs to the CNPG pods, so that backup/restore goes through my
Gluetun proxy.

This PR only adds support for CNPG, as with Volsync, this can be done by
setting environment variables on the Volsync controller itself (see
[release
notes](https://github.com/backube/volsync/blob/main/CHANGELOG.md#061)
for more info).

This PR, along with the other PRs I opened recently (#40000 , #40385,
#40523 , #40668) should be the last piece of the puzzle needed for
enabling backup/restore of clusters using a remote self-hosted S3
server.

⚒️ Fixes  # <!--(issue)-->

**⚙️ Type of change**

- [X] ⚙️ Feature/App addition
- [ ] 🪛 Bugfix
- [ ] ⚠️ Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- [ ] 🔃 Refactor of current code
- [ ] 📜 Documentation Changes

**🧪 How Has This Been Tested?**
<!--
Please describe the tests that you ran to verify your changes. Provide
instructions so we can reproduce. Please also list any relevant details
for your test configuration
-->

What I have tested:

- Rendered a chart with various combinations of CNPG envs set and looked
ad produced output
- Tested along with the other PRs (#40523, #40668) to verify backup up
to my S3 server works though the Gluetun proxy

**📃 Notes:**
<!-- Please enter any other relevant information here -->

Note that these changes should not affect any work related towards the
migration to the CNPG's new plugin-based barman. As per the [migration
guide](https://cloudnative-pg.io/plugin-barman-cloud/docs/migration/),
the required changes are primarily to export the keys under the
`barmanObjectStore` to a new CRD called `ObjectStore`. The `env` and
`envFrom` keys added in this PR are outside this dictionary; thus, they
should not require any changes when adding support for the new
plugin-based barman.

---

- [CNPG CRD for env and
envFrom](https://github.com/cloudnative-pg/cloudnative-pg/blob/main/config/crd/bases/postgresql.cnpg.io_clusters.yaml#L2161-L2368)

**✔️ Checklist:**

- [X] ⚖️ My code follows the style guidelines of this project
- [X] 👀 I have performed a self-review of my own code
- [X] #️⃣ I have commented my code, particularly in hard-to-understand
areas
- [ ] 📄 I have made changes to the documentation
- [X] 🧪 I have added tests to this description that prove my fix is
effective or that my feature works
- [X] ⬆️ I increased versions for any altered app according to semantic
versioning
- [X] I made sure the title starts with `feat(chart-name):`,
`fix(chart-name):`, `chore(chart-name):`, `docs(chart-name):` or
`fix(docs):`

** App addition**

If this PR is an app addition please make sure you have done the
following.

- [ ] 🖼️ I have added an icon in the Chart's root directory called
`icon.png`

---

_Please don't blindly check all the boxes. Read them and only check
those that apply.
Those checkboxes are there for the reviewer to see what is this all
about and
the status of this PR with a quick glance._

---------

Signed-off-by: Kjeld Schouten <info@kjeldschouten.nl>
Co-authored-by: Kjeld Schouten <info@kjeldschouten.nl>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-10-18 00:05:25 +02:00
astro-stanandGitHub 61ef119c1d feat(common): Add support for specifying default S3 region when it cannot be determined from the URL (#40668)
**Description**
<!--
Please include a summary of the change and which issue is fixed. Please
also include relevant motivation and context. List any dependencies that
are required for this change.
-->

This PR adds support for specifying a default S3 region when it cannot
be determined from the URL, or the underlying backup/restore solution
(or S3 server) does not support redirects to the correct region. See
Notes section for more information

⚒️ Fixes  # <!--(issue)-->

**⚙️ Type of change**

- [X] ⚙️ Feature/App addition
- [ ] 🪛 Bugfix
- [ ] ⚠️ Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- [ ] 🔃 Refactor of current code
- [ ] 📜 Documentation Changes

**🧪 How Has This Been Tested?**
<!--
Please describe the tests that you ran to verify your changes. Provide
instructions so we can reproduce. Please also list any relevant details
for your test configuration
-->

What I have tested:

- Rendered a chart with credentials that specify the new region key
- Deployed the chart
- Observed CNPG backups succeeding (they were failing if I did not
specify the region). See notes for more information
- Observed Volsync backups succeeding

**📃 Notes:**

**Regarding the CNPG backups failiure:**

I am using a LAN IP address for the S3 backup endpoint. While Volsync
can work with just that, CNPG backups were failing. I am not 100% sure
what the underlying reason is. Still, from brief research on Google, I
suspect the reason CNPG fails and Volsync doesn't is because Volsync can
follow a redirect to the correct region by the S3 server, while CNPG's
barman cannot.

In the S3 server logs I see that CNPG tries to use `us-east-1` as the
region, which the server rejects.

I tried alternative solutions such as placing the region in the URL
path, however, that did not work. From the S3 server docs (which just
reference AWS S3 docs for the most part), I gather that a region can
only be specified in the URL as a subdomain - i.e.
`my-region.my-endpoint.com/my-bucket`. Since I am using a LAN IP to
connect to the server, I cannot specify a subdomain.

Adding the region in the CNPG config makes it "default" to the correct
region, and backup succeeds.

**Regarding CNPG's migration to the plugin-based barman**:

I know this project will need to migrate to the CNPG's new plugin-based
barman. However, as shown by the [migration
guide](https://cloudnative-pg.io/plugin-barman-cloud/docs/migration/#example),
similarly to my previous PRs (#40523, #40385), the `region` value can
just be migrated to the new `ObjectStore` CRD like so:

```yaml
...
barmanObjectStore:
  endpointURL: ...
  ...
  s3Credentials:
    region:
        name: secret-name
        key: REGION
```

Migrates to:

```yaml
apiVersion: barmancloud.cnpg.io/v1
kind: ObjectStore
...
spec:
  configuration:
    endpointURL: ...
    ...
    s3Credentials:
      region:
        name: secret-name
        key: REGION
```

---

- [CNPG CRD for the region
key](https://github.com/cloudnative-pg/cloudnative-pg/blob/31d5f7acabd75e4b7fdc3ebe61c2cbf9c404f8b1/config/crd/bases/postgresql.cnpg.io_clusters.yaml#L1258-L1271)
- [Restic docs for specifying a default
region](https://restic.readthedocs.io/en/stable/040_backup.html#environment-variables:~:text=AWS_DEFAULT_REGION%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20Amazon%20S3%20default%20region)

**✔️ Checklist:**

- [X] ⚖️ My code follows the style guidelines of this project
- [X] 👀 I have performed a self-review of my own code
- [X] #️⃣ I have commented my code, particularly in hard-to-understand
areas
- [ ] 📄 I have made changes to the documentation
- [X] 🧪 I have added tests to this description that prove my fix is
effective or that my feature works
- [X] ⬆️ I increased versions for any altered app according to semantic
versioning
- [X] I made sure the title starts with `feat(chart-name):`,
`fix(chart-name):`, `chore(chart-name):`, `docs(chart-name):` or
`fix(docs):`

** App addition**

If this PR is an app addition please make sure you have done the
following.

- [ ] 🖼️ I have added an icon in the Chart's root directory called
`icon.png`

---

_Please don't blindly check all the boxes. Read them and only check
those that apply.
Those checkboxes are there for the reviewer to see what is this all
about and
the status of this PR with a quick glance._
2025-10-15 16:01:15 +02:00
astro-stanandGitHub f15cd12039 feat(common): Add customCA and customCASecretRef support for CNPG (#40523)
**Description**

As a continuation of #40385 and #40000 I am now extending customCA and
customCASecretRef support to work with CNPG backup/restore

⚒️ Fixes  # <!--(issue)-->

**⚙️ Type of change**

- [X] ⚙️ Feature/App addition
- [ ] 🪛 Bugfix
- [ ] ⚠️ Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- [ ] 🔃 Refactor of current code
- [ ] 📜 Documentation Changes

**🧪 How Has This Been Tested?**

- Tested generation using `helm template` and inspecting the results
-  CI tests


**📃 Notes:**
<!-- Please enter any other relevant information here -->

**✔️ Checklist:**

- [X] ⚖️ My code follows the style guidelines of this project
- [X] 👀 I have performed a self-review of my own code
- [X] #️⃣ I have commented my code, particularly in hard-to-understand
areas
- [ ] 📄 I have made changes to the documentation
- [X] 🧪 I have added tests to this description that prove my fix is
effective or that my feature works
- [X] ⬆️ I increased versions for any altered app according to semantic
versioning
- [X] I made sure the title starts with `feat(chart-name):`,
`fix(chart-name):`, `chore(chart-name):`, `docs(chart-name):` or
`fix(docs):`

** App addition**

If this PR is an app addition please make sure you have done the
following.

- [ ] 🖼️ I have added an icon in the Chart's root directory called
`icon.png`

---

_Please don't blindly check all the boxes. Read them and only check
those that apply.
Those checkboxes are there for the reviewer to see what is this all
about and
the status of this PR with a quick glance._
2025-10-11 21:30:56 +02:00
c0ff8684ce feat(common): Add support for secretRefs when defining custom CA for use with S3 credentials (#40385)
**Description**

This PR builds up on #40000 by adding an additional key -
`credentials.$name.customCASecretRef`. This allows referencing secrets
via the already familiar `configMapRef`/`secretRef` pattern, using the
`name` and `expandObjectName` keys to reference secrets defined under
`.Values.secret`. Additionally, it also adds a
`credentials.$name.customCASecretRef.key` forcing users to specify the
key in the secret which contains the CA, for maximum flexibility.

⚒️ Fixes  # <!--(issue)-->

**⚙️ Type of change**

- [X] ⚙️ Feature/App addition
- [ ] 🪛 Bugfix
- [ ] ⚠️ Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- [ ] 🔃 Refactor of current code
- [X] 📜 Documentation Changes

**🧪 How Has This Been Tested?**
<!--
Please describe the tests that you ran to verify your changes. Provide
instructions so we can reproduce. Please also list any relevant details
for your test configuration
-->

I tested rendering the same CA secret using both the current `customCA`
implementation and the new `.secret.$name` + `customCASecretRef` way.
Also added unit tests for CI.

**📃 Notes:**

Regarding CNPG support - the changes in this PR and from #40000 should
also work for CNPG. As far as i can tell it requires the CA secret to be
referenced under a key called `endpointCA` in the following way
([docs](https://cloudnative-pg.io/documentation/1.16/api_reference/#backupstatus),
[CRD
def](https://github.com/cloudnative-pg/cloudnative-pg/blob/6ae2fb61bee4f959545bceeacfc5a209b2358668/config/crd/bases/postgresql.cnpg.io_backups.yaml#L256)):

```yaml
...
barmanObjectStore:
  endpointURL: ...
  ...
  endpointCA:
    name: secret-name
    key: secret-key
```

Note that while the current [in-tree barman cloud support is being
deprecated in favour of a barman cloud
plugin](https://cloudnative-pg.io/releases/cloudnative-pg-1-26.0-released/#barman-cloud-deprecation-begins),
the [migration
guide](https://cloudnative-pg.io/plugin-barman-cloud/docs/migration/)
says the new `ObjectStore` CRD has a **direct mapping** between it and
the legacy `barmanObjectStore`. Therefore, the example above can be
translated to:

```yaml
apiVersion: barmancloud.cnpg.io/v1
kind: ObjectStore
...
spec:
  configuration:
    endpointURL: ...
    ...
    endpointCA:
      name: secret-name
      key: secret-key
```

**✔️ Checklist:**

- [X] ⚖️ My code follows the style guidelines of this project
- [X] 👀 I have performed a self-review of my own code
- [X] #️⃣ I have commented my code, particularly in hard-to-understand
areas
- [X] 📄 I have made changes to the documentation
- [X] 🧪 I have added tests to this description that prove my fix is
effective or that my feature works
- [X] ⬆️ I increased versions for any altered app according to semantic
versioning
- [X] I made sure the title starts with `feat(chart-name):`,
`fix(chart-name):`, `chore(chart-name):`, `docs(chart-name):` or
`fix(docs):`

** App addition**

If this PR is an app addition please make sure you have done the
following.

- [ ] 🖼️ I have added an icon in the Chart's root directory called
`icon.png`

---

_Please don't blindly check all the boxes. Read them and only check
those that apply.
Those checkboxes are there for the reviewer to see what is this all
about and
the status of this PR with a quick glance._

---------

Signed-off-by: Kjeld Schouten <info@kjeldschouten.nl>
Co-authored-by: Kjeld Schouten <info@kjeldschouten.nl>
2025-10-06 12:04:39 +02:00
astro-stanandGitHub 9ff148b37a feat(common): Improve traefik service integration (#40293)
**Description**

This PR improves the traefik service integration by:

- Adds ability to generate
[ServersTransport](https://doc.traefik.io/traefik/reference/routing-configuration/kubernetes/crd/http/serverstransport/)
resources
- Adds docs regarding the traefik service integration to the website

⚒️ Fixes  # NA

**⚙️ Type of change**

- [X] ⚙️ Feature/App addition
- [ ] 🪛 Bugfix
- [ ] ⚠️ Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- [ ] 🔃 Refactor of current code
- [X] 📜 Documentation Changes

**🧪 How Has This Been Tested?**

What I have tested:

- ServersTransport generation
- `traefik.ingress.kubernetes.io/service.serversscheme` and
`traefik.ingress.kubernetes.io/service.serverstransport` service
annotations generation
- Traefik:
- talks over HTTPS when
`traefik.ingress.kubernetes.io/service.serversscheme: "https"` is set on
the service
   - skips TLS verification when `insecureSkipVerify: true`
- Successfully verifies TLS when `serverName`, `rootCAs` and
`insecureSkipVerify` are set appropriately
   
**📃 Notes:**

1. Previously service docs were missing any kind of documentation
regarding available integrations. This PR only adds docs about the
traefik integration. Other integrations such as metallb, and cillium
remain undocumented as they are not relevant to this PR.

2. To keep this PR small, I have only added the most commonly used
[ServersTransport configuration
options](https://doc.traefik.io/traefik/reference/routing-configuration/kubernetes/crd/http/serverstransport/#configuration-options).
However, this can easily be extended with more options in the future.

**✔️ Checklist:**

- [X] ⚖️ My code follows the style guidelines of this project
- [X] 👀 I have performed a self-review of my own code
- [X] #️⃣ I have commented my code, particularly in hard-to-understand
areas
- [X] 📄 I have made changes to the documentation
- [X] 🧪 I have added tests to this description that prove my fix is
effective or that my feature works
- [X] ⬆️ I increased versions for any altered app according to semantic
versioning
- [X] I made sure the title starts with `feat(chart-name):`,
`fix(chart-name):`, `chore(chart-name):`, `docs(chart-name):` or
`fix(docs):`

** App addition**

If this PR is an app addition please make sure you have done the
following.

- [ ] 🖼️ I have added an icon in the Chart's root directory called
`icon.png`

---

_Please don't blindly check all the boxes. Read them and only check
those that apply.
Those checkboxes are there for the reviewer to see what is this all
about and
the status of this PR with a quick glance._

---------

Signed-off-by: astro-stan <36302090+astro-stan@users.noreply.github.com>
2025-10-05 22:52:52 +02:00
fc31ef5436 feat(common): Add support for using custom CAs with Volsync (#40000)
**Description**

Allows connecting volsync to an S3 API that uses a self-signed  cert.

Thiis is useful if you are self-hosting an S3 server and you are
exposing it via a self-signed certificate.

In my case this was needed because I am using the LAN IP of the server
and my Let's encrypt cert does not have it as one of its SANs. To avoid
making a LAN IP part of the cert history, I am instead using a
self-signed cert with the IP set up as SAN.

⚒️ Fixes  # <!--(issue)-->

**⚙️ Type of change**

- [X] ⚙️ Feature/App addition
- [ ] 🪛 Bugfix
- [ ] ⚠️ Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- [ ] 🔃 Refactor of current code
- [X] 📜 Documentation Changes

**🧪 How Has This Been Tested?**
<!--
Please describe the tests that you ran to verify your changes. Provide
instructions so we can reproduce. Please also list any relevant details
for your test configuration
-->

I rendered the authentik chart with the new common changes and deployed
it manually to my cluster.

What I have tested:

- Output is identical to `master` when `customCA` is unset
- When `customCA` is set to a non-empty string:
- `ReplicationDestination` and `ReplicationSource` resources correctly
render the `customCA` section
- An opaque secret with a single field (`ca.crt`) and name
`<chart-full-name>-volsync-ca-<credentials-name>` is correctly rendered
- The chart installs correctly with `kubectl apply -f
rendered-chart.yml`
- The volsync backup job prints "Using custom CA" and then succeeds in
creating a volume backup of the `blueprints` volume on my self-hosted S3
server with a self-signed cert
 
  
**📃 Notes:**
<!-- Please enter any other relevant information here -->

**✔️ Checklist:**

- [X] ⚖️ My code follows the style guidelines of this project
- [X] 👀 I have performed a self-review of my own code
- [ ] #️⃣ I have commented my code, particularly in hard-to-understand
areas
- [X] 📄 I have made changes to the documentation
- [X] 🧪 I have added tests to this description that prove my fix is
effective or that my feature works
- [X] ⬆️ I increased versions for any altered app according to semantic
versioning
- [X] I made sure the title starts with `feat(chart-name):`,
`fix(chart-name):`, `chore(chart-name):`, `docs(chart-name):` or
`fix(docs):`

** App addition**

If this PR is an app addition please make sure you have done the
following.

- [ ] 🖼️ I have added an icon in the Chart's root directory called
`icon.png`

---

_Please don't blindly check all the boxes. Read them and only check
those that apply.
Those checkboxes are there for the reviewer to see what is this all
about and
the status of this PR with a quick glance._

---------

Signed-off-by: Alfred Göppel <43101280+alfi0812@users.noreply.github.com>
Co-authored-by: Alfred Göppel <43101280+alfi0812@users.noreply.github.com>
2025-09-28 11:29:16 +02:00