From 977701c212a2e82928a68a683a625066a20eb75b Mon Sep 17 00:00:00 2001 From: Rasheed Amir Date: Sat, 25 Apr 2026 22:43:58 +0200 Subject: [PATCH 01/33] Revise README for Reloader Enterprise and badges Updated README to reflect changes in enterprise version details and added GitHub stars badge. --- README.md | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 57a1e62c..1f44f06f 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ [![Release](https://img.shields.io/github/release/stakater/reloader.svg?style=flat-square)](https://github.com/stakater/reloader/releases/latest) [![GitHub tag](https://img.shields.io/github/tag/stakater/reloader.svg?style=flat-square)](https://github.com/stakater/reloader/releases/latest) [![Docker Pulls](https://img.shields.io/docker/pulls/stakater/reloader.svg?style=flat-square)](https://hub.docker.com/r/stakater/reloader/) -[![Docker Stars](https://img.shields.io/docker/stars/stakater/reloader.svg?style=flat-square)](https://hub.docker.com/r/stakater/reloader/) +[![GitHub Stars](https://img.shields.io/github/stars/stakater/Reloader.svg?style=flat-square)](https://github.com/stakater/Reloader) [![license](https://img.shields.io/github/license/stakater/reloader.svg?style=flat-square)](LICENSE) ## 🔁 What is Reloader? @@ -85,15 +85,20 @@ spec: This tells Reloader to watch the `ConfigMap` and `Secret` referenced in this deployment. When either is updated, it will trigger a rollout. -## 🏢 Enterprise Version +## 🏢 Reloader Enterprise -Stakater offers an enterprise-grade version of Reloader with: +Reloader OSS is free and production-proven with 24B+ downloads. -1. SLA-backed support -1. Certified images -1. Private Slack support +For teams with stricter requirements: -Contact [`sales@stakater.com`](mailto:sales@stakater.com) for info about Reloader Enterprise. +| Need | Enterprise | +|------|-----------| +| CVE-free, signed images with SBOM | ✅ | +| SLA-backed support from Kubernetes experts | ✅ | +| Artifact provenance for compliance audits | ✅ | +| Dedicated escalation path | ✅ | + +→ [Contact [`sales@stakater.com`](mailto:sales@stakater.com) for info about Reloader Enterprise. ## 🧩 Usage From 1e016d8f259c729256c587237b96489751754cde Mon Sep 17 00:00:00 2001 From: Rasheed Amir Date: Sun, 26 Apr 2026 22:28:37 +0200 Subject: [PATCH 02/33] Create ADOPTERS.md for Reloader user organizations Added a list of organizations using Reloader, including details on how to contribute and add logos. --- adopters/ADOPTERS.md | 70 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 adopters/ADOPTERS.md diff --git a/adopters/ADOPTERS.md b/adopters/ADOPTERS.md new file mode 100644 index 00000000..baf88e36 --- /dev/null +++ b/adopters/ADOPTERS.md @@ -0,0 +1,70 @@ +# Adopters + +Organizations and teams running Reloader in production. + +This list exists to help the community understand real-world usage patterns and +to give visibility to the teams that have made Reloader part of their infrastructure. +It also helps us prioritize what to build next. + +**Want to be listed?** +Open a PR — add your logo to [`/adopters/logos/`](./logos/) and a row to the +table below. See the [contribution guide](#how-to-add-your-organization) at the +bottom of this page. + +--- + +## Organizations Using Reloader + + +| | | | | | +|:---:|:---:|:---:|:---:|:---:| +| Stakater Cloud | Exelient AB | | | | + + +--- + +## Adopter Details + +| Organization | Quote | Use Case | Scale | Since | +|---|---|---|---|---| +| **Stakater Cloud** | "Reloader is foundational to Stakater Cloud — every secret rotation, config change, and cert renewal, handled automatically." | Secret rotation, Cert Renewal, Config Propagation | 4 regions, 800+ namespaces | 2024 | +| **Exelient AB** | "The cert-manager + Reloader combo is gold. Renewed certs, live and hassle-free." | Secret rotation, Cert Renewal, Config Propagation | 1 cluster, 3 namespaces | 2026 | + +--- + +## How to Add Your Organization + +Adding your organization takes about 5 minutes and means a lot to the project. + +### Option A — Pull Request (gets you a logo in the grid) + +1. Fork the repository +2. Add your logo to [`/adopters/logos/`](./logos/) + - SVG preferred, PNG accepted + - Name the file after your company: `acme-corp.svg` + - Keep it under 100KB +3. Add a row to the **Adopter Details** table above +4. Open a PR with the commit title: `docs: add to ADOPTERS.md` + +### Option B — GitHub Discussion (quickest, no git required) + +Drop a comment in the +[👋 Show & Tell: Who's using Reloader?](https://github.com/stakater/Reloader/discussions) +discussion using this template: + +``` +**Company / Team:** +**Quote:** (1–2 lines on how Reloader helps you) +**Use case:** (e.g. secret rotation, cert-manager, GitOps pipeline) +**Scale:** (clusters, namespaces, workloads — share what you're comfortable with) +**Since:** (approximate year) +**Logo:** (attach an SVG or PNG if you'd like to appear in the grid) +``` + +We'll take care of the PR on your behalf. + +--- + +> **Note:** Anonymous entries are welcome. If you're not able to share your company +> name publicly, you can describe yourself as e.g. *"A fintech running 40 clusters +> in production"* — it still helps the community understand real-world scale. From bb53a23aedbd5dba65a9b910e9385b919f4a6261 Mon Sep 17 00:00:00 2001 From: Rasheed Amir Date: Sun, 26 Apr 2026 22:29:01 +0200 Subject: [PATCH 03/33] Create .gitkeep --- adopters/logos/.gitkeep | 1 + 1 file changed, 1 insertion(+) create mode 100644 adopters/logos/.gitkeep diff --git a/adopters/logos/.gitkeep b/adopters/logos/.gitkeep new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/adopters/logos/.gitkeep @@ -0,0 +1 @@ + From 63a986ab729df0c5528fd403f532299a03538755 Mon Sep 17 00:00:00 2001 From: Rasheed Amir Date: Mon, 27 Apr 2026 20:17:01 +0200 Subject: [PATCH 04/33] add sc and exelient logos for adopters --- adopters/logos/exelient-ab.svg | 1 + adopters/logos/stakater-cloud.svg | 30 ++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 adopters/logos/exelient-ab.svg create mode 100644 adopters/logos/stakater-cloud.svg diff --git a/adopters/logos/exelient-ab.svg b/adopters/logos/exelient-ab.svg new file mode 100644 index 00000000..b382d29c --- /dev/null +++ b/adopters/logos/exelient-ab.svg @@ -0,0 +1 @@ +EXELIENT \ No newline at end of file diff --git a/adopters/logos/stakater-cloud.svg b/adopters/logos/stakater-cloud.svg new file mode 100644 index 00000000..808b70c1 --- /dev/null +++ b/adopters/logos/stakater-cloud.svg @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From 0db35d3dc17b27b78d931d3953b50efcc2e49c45 Mon Sep 17 00:00:00 2001 From: Rasheed Amir Date: Mon, 27 Apr 2026 20:27:13 +0200 Subject: [PATCH 05/33] Fix link to Reloader Show & Tell discussion Updated link to the GitHub Discussion for Reloader. --- adopters/ADOPTERS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/adopters/ADOPTERS.md b/adopters/ADOPTERS.md index baf88e36..f6e2d763 100644 --- a/adopters/ADOPTERS.md +++ b/adopters/ADOPTERS.md @@ -49,7 +49,7 @@ Adding your organization takes about 5 minutes and means a lot to the project. ### Option B — GitHub Discussion (quickest, no git required) Drop a comment in the -[👋 Show & Tell: Who's using Reloader?](https://github.com/stakater/Reloader/discussions) +[👋 Show & Tell: Who's using Reloader?](https://github.com/stakater/Reloader/discussions/1137) discussion using this template: ``` From 399a56b1d1f9a178124b873430aa01ccef139dc9 Mon Sep 17 00:00:00 2001 From: Rasheed Amir Date: Mon, 27 Apr 2026 21:15:23 +0200 Subject: [PATCH 06/33] Add adopters section to README Added adopters section to highlight Reloader's usage and community feedback. --- README.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/README.md b/README.md index 1f44f06f..1e292ee1 100644 --- a/README.md +++ b/README.md @@ -452,6 +452,17 @@ These flags allow you to redefine annotation keys used in your workloads or reso Reloader is compatible with Kubernetes >= 1.19 +## 🏢 Adopters + +Reloader has **24B+ Docker pulls** across thousands of Kubernetes clusters worldwide. + +If you're running Reloader in production, we'd love to hear from you: + +- 💬 **Share your story** → [Show & Tell Discussion](https://github.com/stakater/Reloader/discussions/1137) +- 🏷️ **Add your logo** → [ADOPTERS.md](./adopters/ADOPTERS.md) + +[See who's using Reloader →](./adopters/ADOPTERS.md) + ## Help ### Documentation From 50073d5ea6370ce4afecb58c85ea51684d479b56 Mon Sep 17 00:00:00 2001 From: Rasheed Amir Date: Mon, 27 Apr 2026 21:17:48 +0200 Subject: [PATCH 07/33] Update Exelient logo filename in ADOPTERS.md --- adopters/ADOPTERS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/adopters/ADOPTERS.md b/adopters/ADOPTERS.md index f6e2d763..35192d88 100644 --- a/adopters/ADOPTERS.md +++ b/adopters/ADOPTERS.md @@ -18,7 +18,7 @@ bottom of this page. | | | | | | |:---:|:---:|:---:|:---:|:---:| -| Stakater Cloud | Exelient AB | | | | +| Stakater Cloud | Exelient AB | | | | --- From 818e520b0856aa5ee338e86369300bde890099f2 Mon Sep 17 00:00:00 2001 From: Muhammad Safwan Karim <66724151+msafwankarim@users.noreply.github.com> Date: Tue, 28 Apr 2026 00:18:59 +0500 Subject: [PATCH 08/33] Update ADOPTERS.md --- adopters/ADOPTERS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/adopters/ADOPTERS.md b/adopters/ADOPTERS.md index 35192d88..c308b575 100644 --- a/adopters/ADOPTERS.md +++ b/adopters/ADOPTERS.md @@ -18,7 +18,7 @@ bottom of this page. | | | | | | |:---:|:---:|:---:|:---:|:---:| -| Stakater Cloud | Exelient AB | | | | +| ![Stakater Cloud]("logos/stakater-cloud.svg") | Exelient AB | | | | --- From f2a6316486e24d3649fb0e961ae399307f7714de Mon Sep 17 00:00:00 2001 From: Muhammad Safwan Karim <66724151+msafwankarim@users.noreply.github.com> Date: Tue, 28 Apr 2026 00:21:14 +0500 Subject: [PATCH 09/33] Fix logo image syntax in ADOPTERS.md --- adopters/ADOPTERS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/adopters/ADOPTERS.md b/adopters/ADOPTERS.md index c308b575..8e1e9bcd 100644 --- a/adopters/ADOPTERS.md +++ b/adopters/ADOPTERS.md @@ -18,7 +18,7 @@ bottom of this page. | | | | | | |:---:|:---:|:---:|:---:|:---:| -| ![Stakater Cloud]("logos/stakater-cloud.svg") | Exelient AB | | | | +| ![Stakater Cloud](logos/stakater-cloud.svg) | ![Exelient AB](logos/exelient-ab.svg) | | | | --- From 00631ac33f8e0628232184e30c734da05a525d2d Mon Sep 17 00:00:00 2001 From: Muhammad Safwan Karim <66724151+msafwankarim@users.noreply.github.com> Date: Tue, 28 Apr 2026 00:22:14 +0500 Subject: [PATCH 10/33] Update ADOPTERS.md --- adopters/ADOPTERS.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/adopters/ADOPTERS.md b/adopters/ADOPTERS.md index 8e1e9bcd..a439748c 100644 --- a/adopters/ADOPTERS.md +++ b/adopters/ADOPTERS.md @@ -15,6 +15,8 @@ bottom of this page. ## Organizations Using Reloader +![Stakater Cloud](logos/stakater-cloud.svg) + | | | | | | |:---:|:---:|:---:|:---:|:---:| From 7f8ddaa032ea1f59fa9b7818542a6064eb90b332 Mon Sep 17 00:00:00 2001 From: Muhammad Safwan Karim <66724151+msafwankarim@users.noreply.github.com> Date: Tue, 28 Apr 2026 00:24:29 +0500 Subject: [PATCH 11/33] Update ADOPTERS.md --- adopters/ADOPTERS.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/adopters/ADOPTERS.md b/adopters/ADOPTERS.md index a439748c..e1683569 100644 --- a/adopters/ADOPTERS.md +++ b/adopters/ADOPTERS.md @@ -15,12 +15,10 @@ bottom of this page. ## Organizations Using Reloader -![Stakater Cloud](logos/stakater-cloud.svg) - | | | | | | |:---:|:---:|:---:|:---:|:---:| -| ![Stakater Cloud](logos/stakater-cloud.svg) | ![Exelient AB](logos/exelient-ab.svg) | | | | +| Stakater Cloud | Exelient AB | | | | --- From 4472c6599a8661a6edbe9b5002e731f2a7f2ab30 Mon Sep 17 00:00:00 2001 From: Muhammad Safwan Karim <66724151+msafwankarim@users.noreply.github.com> Date: Tue, 28 Apr 2026 00:25:14 +0500 Subject: [PATCH 12/33] Update ADOPTERS.md --- adopters/ADOPTERS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/adopters/ADOPTERS.md b/adopters/ADOPTERS.md index e1683569..5aa171f3 100644 --- a/adopters/ADOPTERS.md +++ b/adopters/ADOPTERS.md @@ -18,7 +18,7 @@ bottom of this page. | | | | | | |:---:|:---:|:---:|:---:|:---:| -| Stakater Cloud | Exelient AB | | | | +| Stakater Cloud | Exelient AB | | | | --- From c01de5a052247281ccce0db223e6c6da4173ee0e Mon Sep 17 00:00:00 2001 From: Muhammad Safwan Karim <66724151+msafwankarim@users.noreply.github.com> Date: Tue, 28 Apr 2026 00:26:40 +0500 Subject: [PATCH 13/33] Update ADOPTERS.md --- adopters/ADOPTERS.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/adopters/ADOPTERS.md b/adopters/ADOPTERS.md index 5aa171f3..4b1c54b0 100644 --- a/adopters/ADOPTERS.md +++ b/adopters/ADOPTERS.md @@ -16,11 +16,14 @@ bottom of this page. ## Organizations Using Reloader -| | | | | | -|:---:|:---:|:---:|:---:|:---:| -| Stakater Cloud | Exelient AB | | | | + + + + + + +
Stakater CloudExelient AB
- --- ## Adopter Details From b1bf52482bdaae88cb0ac65e20b2b9dfdd14aba9 Mon Sep 17 00:00:00 2001 From: Muhammad Safwan Karim <66724151+msafwankarim@users.noreply.github.com> Date: Tue, 28 Apr 2026 00:26:54 +0500 Subject: [PATCH 14/33] Update ADOPTERS.md --- adopters/ADOPTERS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/adopters/ADOPTERS.md b/adopters/ADOPTERS.md index 4b1c54b0..04472b29 100644 --- a/adopters/ADOPTERS.md +++ b/adopters/ADOPTERS.md @@ -24,6 +24,7 @@ bottom of this page. + --- ## Adopter Details From 03fd552352a38301f4f9c1381b65cb1f7d038971 Mon Sep 17 00:00:00 2001 From: Rasheed Amir Date: Mon, 27 Apr 2026 21:27:00 +0200 Subject: [PATCH 15/33] Update README.md --- README.md | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 1e292ee1..23d11cb0 100644 --- a/README.md +++ b/README.md @@ -50,6 +50,21 @@ flowchart LR - `Secrets` and `ConfigMaps` are watched by Reloader. - When changes are detected, Reloader automatically triggers a rollout of the associated workloads, ensuring your app always runs with the latest configuration. +## 🏢 Reloader Enterprise + +Reloader OSS is free and production-proven with 24B+ downloads. + +For teams with stricter requirements: + +| Need | Enterprise | +|------|-----------| +| CVE-free, signed images with SBOM | ✅ | +| SLA-backed support from Kubernetes experts | ✅ | +| Artifact provenance for compliance audits | ✅ | +| Dedicated escalation path | ✅ | + +→ [Contact Sales](mailto:sales@stakater.com) for info about Reloader Enterprise. + ## ⚡ Quick Start ### 1. Install Reloader @@ -85,21 +100,6 @@ spec: This tells Reloader to watch the `ConfigMap` and `Secret` referenced in this deployment. When either is updated, it will trigger a rollout. -## 🏢 Reloader Enterprise - -Reloader OSS is free and production-proven with 24B+ downloads. - -For teams with stricter requirements: - -| Need | Enterprise | -|------|-----------| -| CVE-free, signed images with SBOM | ✅ | -| SLA-backed support from Kubernetes experts | ✅ | -| Artifact provenance for compliance audits | ✅ | -| Dedicated escalation path | ✅ | - -→ [Contact [`sales@stakater.com`](mailto:sales@stakater.com) for info about Reloader Enterprise. - ## 🧩 Usage Reloader supports multiple annotation-based controls to let you **customize when and how your Kubernetes workloads are reloaded** upon changes in `Secrets` or `ConfigMaps`. From c4ef9b57a6626a767d9a10fa4a7bfbd45002e0a0 Mon Sep 17 00:00:00 2001 From: Muhammad Safwan Karim <66724151+msafwankarim@users.noreply.github.com> Date: Tue, 28 Apr 2026 00:27:14 +0500 Subject: [PATCH 16/33] Update ADOPTERS.md --- adopters/ADOPTERS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/adopters/ADOPTERS.md b/adopters/ADOPTERS.md index 04472b29..78af74b2 100644 --- a/adopters/ADOPTERS.md +++ b/adopters/ADOPTERS.md @@ -19,7 +19,7 @@ bottom of this page. - +
Stakater CloudExelient ABExelient AB
From b976a2fc0d45825cb8ee93cc7be9183a0c88796e Mon Sep 17 00:00:00 2001 From: Muhammad Safwan Karim <66724151+msafwankarim@users.noreply.github.com> Date: Tue, 28 Apr 2026 00:28:06 +0500 Subject: [PATCH 17/33] Update Exelient AB logo size in ADOPTERS.md --- adopters/ADOPTERS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/adopters/ADOPTERS.md b/adopters/ADOPTERS.md index 78af74b2..04472b29 100644 --- a/adopters/ADOPTERS.md +++ b/adopters/ADOPTERS.md @@ -19,7 +19,7 @@ bottom of this page. - +
Stakater CloudExelient ABExelient AB
From 3bcb7d4fb74b4f3d99fa823f4ba6857b7efb46b1 Mon Sep 17 00:00:00 2001 From: Muhammad Safwan Karim <66724151+msafwankarim@users.noreply.github.com> Date: Tue, 28 Apr 2026 00:29:48 +0500 Subject: [PATCH 18/33] Adjust table cell widths in ADOPTERS.md --- adopters/ADOPTERS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/adopters/ADOPTERS.md b/adopters/ADOPTERS.md index 04472b29..52b3029e 100644 --- a/adopters/ADOPTERS.md +++ b/adopters/ADOPTERS.md @@ -20,7 +20,7 @@ bottom of this page. Stakater Cloud Exelient AB - + From 6474a6a960376d8f3472908508d43ad102ca8dd4 Mon Sep 17 00:00:00 2001 From: Rasheed Amir Date: Mon, 27 Apr 2026 22:36:22 +0200 Subject: [PATCH 19/33] add links to adopters --- adopters/ADOPTERS.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/adopters/ADOPTERS.md b/adopters/ADOPTERS.md index 52b3029e..f308d5aa 100644 --- a/adopters/ADOPTERS.md +++ b/adopters/ADOPTERS.md @@ -31,8 +31,8 @@ bottom of this page. | Organization | Quote | Use Case | Scale | Since | |---|---|---|---|---| -| **Stakater Cloud** | "Reloader is foundational to Stakater Cloud — every secret rotation, config change, and cert renewal, handled automatically." | Secret rotation, Cert Renewal, Config Propagation | 4 regions, 800+ namespaces | 2024 | -| **Exelient AB** | "The cert-manager + Reloader combo is gold. Renewed certs, live and hassle-free." | Secret rotation, Cert Renewal, Config Propagation | 1 cluster, 3 namespaces | 2026 | +| [Stakater Cloud](www.stakater.cloud) | "Reloader is foundational to Stakater Cloud — every secret rotation, config change, and cert renewal, handled automatically." | Secret rotation, Cert Renewal, Config Propagation | 4 regions, 800+ namespaces | 2024 | +| [Exelient AB](www.exelient.se) | "The cert-manager + Reloader combo is gold. Renewed certs, live and hassle-free." | Secret rotation, Cert Renewal, Config Propagation | 1 cluster, 3 namespaces | 2026 | --- From 37f3795233381a904221b90de75f64b72c7e7214 Mon Sep 17 00:00:00 2001 From: Rasheed Amir Date: Mon, 11 May 2026 07:45:49 +0200 Subject: [PATCH 20/33] remove docs --- README.md | 2 +- docs/Alerting.md | 18 ----- docs/Container Build.md | 53 ------------ docs/Helm2-to-Helm3.md | 68 ---------------- docs/How-it-works.md | 93 ---------------------- docs/Reloader-vs-ConfigmapController.md | 11 --- docs/Reloader-vs-k8s-trigger-controller.md | 46 ----------- docs/Reloader-with-Sealed-Secrets.md | 14 ---- docs/Verify-Reloader-Working.md | 75 ----------------- docs/index.md | 26 ------ 10 files changed, 1 insertion(+), 405 deletions(-) delete mode 100644 docs/Alerting.md delete mode 100644 docs/Container Build.md delete mode 100644 docs/Helm2-to-Helm3.md delete mode 100644 docs/How-it-works.md delete mode 100644 docs/Reloader-vs-ConfigmapController.md delete mode 100644 docs/Reloader-vs-k8s-trigger-controller.md delete mode 100644 docs/Reloader-with-Sealed-Secrets.md delete mode 100644 docs/Verify-Reloader-Working.md delete mode 100644 docs/index.md diff --git a/README.md b/README.md index 23d11cb0..112c2fd0 100644 --- a/README.md +++ b/README.md @@ -467,7 +467,7 @@ If you're running Reloader in production, we'd love to hear from you: ### Documentation -The Reloader documentation can be viewed from [the doc site](https://docs.stakater.com/reloader/). The doc source is in the [docs](./docs/) folder. +The Reloader documentation can be viewed from [the doc site](https://docs.stakater.com/reloader/). ### Have a question? diff --git a/docs/Alerting.md b/docs/Alerting.md deleted file mode 100644 index bb4fbbec..00000000 --- a/docs/Alerting.md +++ /dev/null @@ -1,18 +0,0 @@ -# Alerting on Reload - -Reloader can alert when it triggers a rolling upgrade on Deployments or StatefulSets. Webhook notification alert would be sent to the configured webhook server with all the required information. - -## Enabling - -In-order to enable this feature, you need to update the `reloader.env.secret` section of `values.yaml` providing the information needed for alert: - -```yaml - ALERT_ON_RELOAD: [ true/false ] Default: false - ALERT_SINK: [ slack/teams/gchat/webhook ] Default: webhook - ALERT_WEBHOOK_URL: Required if ALERT_ON_RELOAD is true - ALERT_ADDITIONAL_INFO: Any additional information to be added to alert -``` - -## Slack Incoming-Webhook Creation Docs - -[Sending messages using Incoming Webhooks](https://api.slack.com/messaging/webhooks) diff --git a/docs/Container Build.md b/docs/Container Build.md deleted file mode 100644 index d48d438b..00000000 --- a/docs/Container Build.md +++ /dev/null @@ -1,53 +0,0 @@ -# Container Build - -> **WARNING:** As a user of Reloader there is no need to build containers, the open source version is available on [Docker Hub](https://hub.docker.com/r/stakater/reloader/). - -Multi-architecture approach is based on original work by [@mdh02038](https://github.com/mdh02038/Reloader). - -Images are tested on linux/arm, linux/arm64 and linux/amd64. - -## Install Pre-Reqs - -The build environment requires the following packages (tested on `Ubuntu 20.04`): - -* Golang -* `make` -* `qemu` (for arm, arm64 etc. emulation) -* binfmt-support -* Docker engine - -## Docker - -Follow instructions on [Install using the apt repository](https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository). - -Once installed, enable the experimental CLI: - -```bash -export DOCKER_CLI_EXPERIMENTAL=enabled -``` - -Login to enable publishing of packages: - -```bash -sudo docker login -``` - -## Remaining Pre-Reqs - -Remaining Pre-Reqs can be installed via: - -```bash -sudo apt install golang make qemu-user-static binfmt-support -y -``` - -## Publish Multi-Architecture Image - -To build/ publish multi-arch Docker images clone repository and execute from repository root: - -```bash -sudo make release-all -``` - -## Additional Links/Info - -[Building Multi-Architecture Docker Images With `Buildx`](https://medium.com/@artur.klauser/building-multi-architecture-docker-images-with-buildx-27d80f7e2408) diff --git a/docs/Helm2-to-Helm3.md b/docs/Helm2-to-Helm3.md deleted file mode 100644 index c55eae1c..00000000 --- a/docs/Helm2-to-Helm3.md +++ /dev/null @@ -1,68 +0,0 @@ -# Helm2 to Helm3 Migration - -Follow below-mentioned instructions to migrate Reloader from Helm2 to Helm3 - -## Instructions - -There are 3 steps involved in migrating the Reloader from Helm2 to Helm3. - -### Step 1 - -Install the `helm-2to3` plugin - -```bash -helm3 plugin install https://github.com/helm/helm-2to3 - -helm3 2to3 convert - -helm3 2to3 cleanup --release-cleanup --skip-confirmation -``` - -### Step 2 - -Add the following Helm3 labels and annotations on Reloader resources. - -Label: - -```yaml -app.kubernetes.io/managed-by=Helm -``` - -Annotations: - -```yaml -meta.helm.sh/release-name= -meta.helm.sh/release-namespace= -``` - -For example, to label and annotate the ClusterRoleBinding and ClusterRole: - -```bash -KIND=ClusterRoleBinding -NAME=reloader-reloader-role-binding -RELEASE=reloader -NAMESPACE=kube-system -kubectl annotate $KIND $NAME meta.helm.sh/release-name=$RELEASE -kubectl annotate $KIND $NAME meta.helm.sh/release-namespace=$NAMESPACE -kubectl label $KIND $NAME app.kubernetes.io/managed-by=Helm - -KIND=ClusterRole -NAME=reloader-reloader-role -RELEASE=reloader -NAMESPACE=kube-system -kubectl annotate $KIND $NAME meta.helm.sh/release-name=$RELEASE -kubectl annotate $KIND $NAME meta.helm.sh/release-namespace=$NAMESPACE -kubectl label $KIND $NAME app.kubernetes.io/managed-by=Helm -``` - -### Step 3 - -Upgrade to desired version - -```bash -helm3 repo add stakater https://stakater.github.io/stakater-charts - -helm3 repo update - -helm3 upgrade stakater/reloader --version=v0.0.72 -``` diff --git a/docs/How-it-works.md b/docs/How-it-works.md deleted file mode 100644 index c0ae964f..00000000 --- a/docs/How-it-works.md +++ /dev/null @@ -1,93 +0,0 @@ -# How Does Reloader Work? - -Reloader watches for `ConfigMap` and `Secret` and detects if there are changes in data of these objects. After change detection Reloader performs rolling upgrade on relevant Pods via associated `Deployment`, `Daemonset` and `Statefulset`: - -```mermaid -flowchart LR - subgraph Reloader - controller("Controller watches in a loop") -- "Detects a change" --> upgrade_handler("Upgrade handler checks if the change is a valid data change by comparing the change hash") - upgrade_handler -- "Update resource" --> update_resource("Updates the resource with computed hash of change") - end - Reloader -- "Watches" --> secret_configmaps("Secrets/ConfigMaps") - Reloader -- "Updates resources with Reloader environment variable" --> resources("Deployments/DaemonSets/StatefulSets resources with Reloader annotation") - resources -- "Restart pods based on StrategyType" --> Pods -``` - -## How Does Change Detection Work? - -Reloader watches changes in `ConfigMaps` and `Secrets` data. As soon as it detects a change in these. It forwards these objects to an update handler which decides if and how to perform the rolling upgrade. - -## Requirements for Rolling Upgrade - -To perform rolling upgrade a `deployment`, `daemonset` or `statefulset` must have - -- support for rolling upgrade strategy -- specific annotation for `ConfigMaps` or `Secrets` - -The annotation value is comma separated list of `ConfigMaps` or `Secrets`. If a change is detected in data of these `ConfigMaps` or `Secrets`, Reloader will perform rolling upgrades on their associated `deployments`, `daemonsets` or `statefulsets`. - -### Annotation for ConfigMap - -For a `Deployment` called `foo` have a `ConfigMap` called `foo`. Then add this annotation* to your `Deployment`, where the default annotation can be changed with the `--configmap-annotation` flag: - -```yaml -metadata: - annotations: - configmap.reloader.stakater.com/reload: "foo" -``` - -### Annotation for Secret - -For a `Deployment` called `foo` have a `Secret` called `foo`. Then add this annotation to your `Deployment`, where the default annotation can be changed with the `--secret-annotation` flag: - -```yaml -metadata: - annotations: - secret.reloader.stakater.com/reload: "foo" -``` - -Above mentioned annotation are also work for `Daemonsets` `Statefulsets` and `Rollouts` - -## How Does Rolling Upgrade Work? - -When Reloader detects changes in `ConfigMap`. It gets two objects of `ConfigMap`. First object is an old `ConfigMap` object which has a state before the latest change. Second object is new `ConfigMap` object which contains latest changes. Reloader compares both objects and see whether any change in data occurred or not. If Reloader finds any change in new `ConfigMap` object, only then, it moves forward with rolling upgrade. - -After that, Reloader gets the list of all `deployments`, `daemonsets` and `statefulset` and looks for above mentioned annotation for `ConfigMap`. If the annotation value contains the `ConfigMap` name, it then looks for an environment variable which can contain the `ConfigMap` or secret data change hash. - -### Environment Variable for ConfigMap - -If `ConfigMap` name is foo then - -```yaml -STAKATER_FOO_CONFIGMAP -``` - -### Environment Variable for Secret - -If Secret name is foo then - -```yaml -STAKATER_FOO_SECRET -``` - -If the environment variable is found then it gets its value and compares it with new `ConfigMap` hash value. If old value in environment variable is different from new hash value then Reloader updates the environment variable. If the environment variable does not exist then it creates a new environment variable with latest hash value from `ConfigMap` and updates the relevant `deployment`, `daemonset` or `statefulset` - -Note: Rolling upgrade also works in the same way for secrets. - -### Hash Value Computation - -Reloader uses SHA1 to compute hash value. SHA1 is used because it is efficient and less prone to collision. - -## Monitor All Namespaces - -By default Reloader deploys in default namespace and monitors changes in all namespaces. To monitor changes in a specific namespace deploy the Reloader in that namespace and set the `watchGlobally` flag to `false` in values file located under `deployments/kubernetes/chart/reloader` and render manifest file using helm command: - -```bash -helm --namespace {replace this with namespace name} template . > reloader.yaml -``` - -The output file can then be used to deploy Reloader in specific namespace. - -## Compatibility With Helm Install and Upgrade - -Reloader has no impact on helm deployment cycle. Reloader only injects an environment variable in `deployment`, `daemonset` or `statefulset`. The environment variable contains the SHA1 value of `ConfigMaps` or `Secrets` data. So if a deployment is created using Helm and Reloader updates the deployment, then next time you upgrade the helm release, Reloader will do nothing except changing that environment variable value in `deployment` , `daemonset` or `statefulset`. diff --git a/docs/Reloader-vs-ConfigmapController.md b/docs/Reloader-vs-ConfigmapController.md deleted file mode 100644 index 1433daa5..00000000 --- a/docs/Reloader-vs-ConfigmapController.md +++ /dev/null @@ -1,11 +0,0 @@ -# Reloader vs ConfigmapController - -Reloader is inspired from [`configmapcontroller`](https://github.com/fabric8io/configmapcontroller) but there are many ways in which it differs from `configmapcontroller`. Below is the small comparison between these two controllers. - -| Reloader | ConfigMap | -|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Reloader can watch both `Secrets` and `ConfigMaps`. | `configmapcontroller` can only watch changes in `ConfigMaps`. It cannot detect changes in other resources like `Secrets`. | -| Reloader can perform rolling upgrades on `deployments` as well as on `statefulsets` and `daemonsets` | `configmapcontroller` can only perform rolling upgrades on `deployments`. It currently does not support rolling upgrades on `statefulsets` and `daemonsets` | -| Reloader provides both unit test cases and end to end integration test cases for future updates. So one can make sure that new changes do not break any old functionality. | Currently there are not any unit test cases or end to end integration test cases in `configmap-controller`. It adds difficulties for any additional updates in `configmap-controller` and one can not know for sure whether new changes breaks any old functionality or not. | -| Reloader uses SHA1 to encode the change in `ConfigMap` or `Secret`. It then saves the SHA1 value in `STAKATER_FOO_CONFIGMAP` or `STAKATER_FOO_SECRET` environment variable depending upon where the change has happened. The use of SHA1 provides a concise 40 characters encoded value that is very less prone to collision. | `configmap-controller` uses `FABRICB_FOO_REVISION` environment variable to store any change in `ConfigMap` controller. It does not encode it or convert it in suitable hash value to avoid data pollution in deployment. | -| Reloader allows you to customize your own annotation (for both `Secrets` and `ConfigMaps`) using command line flags | `configmap-controller` restricts you to only their provided annotation | diff --git a/docs/Reloader-vs-k8s-trigger-controller.md b/docs/Reloader-vs-k8s-trigger-controller.md deleted file mode 100644 index 561dca50..00000000 --- a/docs/Reloader-vs-k8s-trigger-controller.md +++ /dev/null @@ -1,46 +0,0 @@ -# Reloader vs k8s-trigger-controller - -Reloader and k8s-trigger-controller are both built for same purpose. So there are quite a few similarities and differences between these. - -## Similarities - -- Both controllers support change detection in `ConfigMaps` and `Secrets` -- Both controllers support deployment `rollout` -- Reloader controller use SHA1 for hashing -- Both controllers have end to end as well as unit test cases. - -## Differences - -### Support for `Daemonsets` and `Statefulsets` - -#### `k8s-trigger-controller` - -`k8s-trigger-controller` only support for deployment `rollout`. It does not support `daemonsets` and `statefulsets` `rollout`. - -#### Reloader - -Reloader supports deployment `rollout` as well as `daemonsets` and `statefulsets` `rollout`. - -### Hashing Usage - -#### `k8s-trigger-controller` - -`k8s-trigger-controller` stores the hash value in an annotation `trigger.k8s.io/[secret|configMap]-NAME-last-hash` - -#### Reloader - -Reloader stores the hash value in an environment variable `STAKATER_NAME_[SECRET|CONFIGMAP]` - -### Customization - -#### `k8s-trigger-controller` - -`k8s-trigger-controller` restricts you to using the `trigger.k8s.io/[secret-configMap]-NAME-last-hash` annotation - -#### Reloader - -Reloader allows you to customize the annotation to fit your needs with command line flags: - -- `--auto-annotation ` -- `--configmap-annotation ` -- `--secret-annotation ` diff --git a/docs/Reloader-with-Sealed-Secrets.md b/docs/Reloader-with-Sealed-Secrets.md deleted file mode 100644 index 4df328d6..00000000 --- a/docs/Reloader-with-Sealed-Secrets.md +++ /dev/null @@ -1,14 +0,0 @@ -# Using Reloader with Sealed Secrets - -Below are the steps to use Reloader with Sealed Secrets: - -1. Download and install the kubeseal client from [here](https://github.com/bitnami-labs/sealed-secrets) -1. Install the controller for Sealed Secrets -1. Fetch the encryption certificate -1. Encrypt the secret -1. Apply the secret -1. Install the tool which uses that Sealed Secret -1. Install Reloader -1. Once everything is setup, update the original secret at client and encrypt it with kubeseal to see Reloader working -1. Apply the updated Sealed Secret -1. Reloader will restart the pod to use that updated secret diff --git a/docs/Verify-Reloader-Working.md b/docs/Verify-Reloader-Working.md deleted file mode 100644 index 1e9146fa..00000000 --- a/docs/Verify-Reloader-Working.md +++ /dev/null @@ -1,75 +0,0 @@ -# Verify Reloader's Working - -Reloader's working can be verified by three ways. - -## Verify From Logs - -Check the logs of Reloader and verify that you can see logs looks like below, if you are able to find these logs then it means Reloader is working. - -```text -Changes Detected in test-object of type 'SECRET' in namespace: test-reloader - -Updated test-resource of type Deployment in namespace: test-reloader -``` - -Below are the details that explain these logs: - -### `test-object` - -`test-object` is the name of a `secret` or a `configmap` in which change has been detected. - -### `SECRET` - -`SECRET` is the type of `test-object`. It can either be `SECRET` or `CONFIGMAP` - -### `test-reloader` - -`test-reloader` is the name of namespace in which Reloader has detected the change. - -### `test-resource` - -`test-resource` is the name of resource which is going to be updated - -### `Deployment` - -`Deployment` is the type of `test-resource`. It can either be a `Deployment`, `Daemonset` or `Statefulset` - -## Verify by Checking the Age of Pod - -A pod's age can tell whether Reloader is working correctly or not. If you know that a change in a `secret` or `configmap` has occurred, then check the relevant Pod's age immediately. It should be newly created few moments ago. - -### Verify from Kubernetes Dashboard - -`kubernetes dashboard` can be used to verify the working of Reloader. After a change in `secret` or `configmap`, check the relevant Pod's age from dashboard. It should be newly created few moments ago. - -### Verify from Command Line - -After a change in `secret` or `configmap`. Run the below-mentioned command and verify that the pod is newly created. - -```bash -kubectl get pods -n -``` - -## Verify From Metrics - -Some metrics are exported to Prometheus endpoint `/metrics` on port `9090`. - -When Reloader is unable to reload, `reloader_reload_executed_total{success="false"}` metric gets incremented and when it reloads successfully, `reloader_reload_executed_total{success="true"}` gets incremented. You will be able to see the following metrics, with some other metrics, at `/metrics` endpoint. - -```text -reloader_reload_executed_total{success="false"} 15 -reloader_reload_executed_total{success="true"} 12 -``` - -### Reloads by Namespace - -Reloader can also export a metric to show the number of reloads by namespace. This feature is disabled by default, as it can lead to high cardinality in clusters with many namespaces. - -The metric will have both `success` and `namespace` as attributes: - -```text -reloader_reload_executed_total{success="false", namespace="some-namespace"} 2 -reloader_reload_executed_total{success="true", namespace="some-namespace"} 1 -``` - -To opt in, set the environment variable `METRICS_COUNT_BY_NAMESPACE` to `enabled` or set the Helm value `reloader.enableMetricsByNamespace` to `true`. diff --git a/docs/index.md b/docs/index.md deleted file mode 100644 index 11971869..00000000 --- a/docs/index.md +++ /dev/null @@ -1,26 +0,0 @@ -# Introduction - -Reloader can watch changes in `ConfigMap` and `Secret` and do rolling upgrades on Pods with their associated `DeploymentConfigs`, `Deployments`, `Daemonsets` `Statefulsets` and `Rollouts`. - -These are the key features of Reloader: - -1. Restart pod in a `deployment` on change in linked/related `ConfigMaps` or `Secrets` -1. Restart pod in a `daemonset` on change in linked/related `ConfigMaps` or `Secrets` -1. Restart pod in a `statefulset` on change in linked/related `ConfigMaps` or `Secrets` -1. Restart pod in a `rollout` on change in linked/related `ConfigMaps` or `Secrets` - -This site contains more details on how Reloader works. For an overview, please see the repository's [README file](https://github.com/stakater/Reloader/blob/master/README.md). - ---- - -
- -[![💖 Sponsor our work](https://img.shields.io/badge/Sponsor%20Our%20Work-FF8C00?style=for-the-badge&logo=github-sponsors&logoColor=white)](https://github.com/sponsors/stakater?utm_source=docs&utm_medium=footer&utm_campaign=reloader) - -

-Your support funds maintenance, security updates, and new features for Reloader, plus continued investment in other open source tools. -

- -
- ---- From 9187bb9a851d5115371623d939ca7bd57cacf5a0 Mon Sep 17 00:00:00 2001 From: Rasheed Amir Date: Mon, 11 May 2026 09:48:10 +0200 Subject: [PATCH 21/33] Remove docs build infrastructure - Delete Dockerfile-docs, docs-nginx.conf, theme_common, theme_override - Delete pull_request_docs.yaml workflow - Remove docs build steps from push.yaml and release.yaml - Clean up docs path exclusions from pull_request.yaml and push-pr-image.yaml --- .github/workflows/pull_request.yaml | 5 --- .github/workflows/pull_request_docs.yaml | 34 ------------------ .github/workflows/push-pr-image.yaml | 5 --- .github/workflows/push.yaml | 31 ---------------- .github/workflows/release.yaml | 15 -------- Dockerfile-docs | 35 ------------------- docs-nginx.conf | 11 ------ theme_common | 1 - theme_override/mkdocs.yml | 22 ------------ theme_override/resources/.gitignore | 0 .../resources/assets/images/favicon.svg | 1 - 11 files changed, 160 deletions(-) delete mode 100644 .github/workflows/pull_request_docs.yaml delete mode 100644 Dockerfile-docs delete mode 100644 docs-nginx.conf delete mode 160000 theme_common delete mode 100644 theme_override/mkdocs.yml delete mode 100644 theme_override/resources/.gitignore delete mode 100644 theme_override/resources/assets/images/favicon.svg diff --git a/.github/workflows/pull_request.yaml b/.github/workflows/pull_request.yaml index 9b403bfa..7b21026d 100644 --- a/.github/workflows/pull_request.yaml +++ b/.github/workflows/pull_request.yaml @@ -9,11 +9,6 @@ on: - '**' - '!.markdownlint.yaml' - '!.vale.ini' - - '!Dockerfile-docs' - - '!docs-nginx.conf' - - '!docs/**' - - '!theme_common' - - '!theme_override' - '!deployments/kubernetes/chart/reloader/**' env: diff --git a/.github/workflows/pull_request_docs.yaml b/.github/workflows/pull_request_docs.yaml deleted file mode 100644 index 74162371..00000000 --- a/.github/workflows/pull_request_docs.yaml +++ /dev/null @@ -1,34 +0,0 @@ -name: Pull Request for Documentation Changes - -on: - pull_request: - branches: - - master - paths: - - '.markdownlint.yaml' - - '.vale.ini' - - 'Dockerfile-docs' - - 'docs-nginx.conf' - - 'docs/**' - - '!docs/plans/**' - - 'theme_common' - - 'theme_override' - - 'deployments/kubernetes/chart/reloader/README.md' - -jobs: - qa: - uses: stakater/.github/.github/workflows/pull_request_doc_qa.yaml@v0.0.163 - with: - MD_CONFIG: .github/md_config.json - DOC_SRC: docs - MD_LINT_CONFIG: .markdownlint.yaml - build: - uses: stakater/.github/.github/workflows/pull_request_container_build.yaml@v0.0.163 - with: - DOCKER_FILE_PATH: Dockerfile-docs - CONTAINER_REGISTRY_URL: ghcr.io/stakater - PUSH_IMAGE: false - secrets: - CONTAINER_REGISTRY_USERNAME: ${{ github.actor }} - CONTAINER_REGISTRY_PASSWORD: ${{ secrets.GHCR_TOKEN }} - SLACK_WEBHOOK_URL: ${{ secrets.STAKATER_DELIVERY_SLACK_WEBHOOK }} diff --git a/.github/workflows/push-pr-image.yaml b/.github/workflows/push-pr-image.yaml index eff22f73..9d8681ce 100644 --- a/.github/workflows/push-pr-image.yaml +++ b/.github/workflows/push-pr-image.yaml @@ -8,11 +8,6 @@ on: paths: - '!.markdownlint.yaml' - '!.vale.ini' - - '!Dockerfile-docs' - - '!docs-nginx.conf' - - '!docs/**' - - '!theme_common' - - '!theme_override' - '!deployments/kubernetes/chart/reloader/**' env: diff --git a/.github/workflows/push.yaml b/.github/workflows/push.yaml index 6340f0fd..b7908bf9 100644 --- a/.github/workflows/push.yaml +++ b/.github/workflows/push.yaml @@ -186,37 +186,6 @@ jobs: org.opencontainers.image.source=${{ github.event.repository.clone_url }} org.opencontainers.image.revision=${{ github.sha }} - - uses: dorny/paths-filter@v3 - id: filter - with: - filters: | - docs: - - '.markdownlint.yaml' - - '.vale.ini' - - 'Dockerfile-docs' - - 'docs-nginx.conf' - - 'docs/**' - - 'README.md' - - 'theme_common' - - 'theme_override' - - # run only if 'docs' files were changed - - name: Build and Push Docker Image for Docs to ghcr registry - if: steps.filter.outputs.docs == 'true' - uses: docker/build-push-action@v6 - with: - context: . - file: Dockerfile-docs - pull: true - push: true - build-args: BUILD_PARAMETERS=${{ env.BUILD_PARAMETERS }} - cache-to: type=inline - tags: | - ${{ env.GHCR_IMAGE_REPOSITORY }}/docs:merge-${{ github.event.number }} - labels: | - org.opencontainers.image.source=${{ github.event.repository.clone_url }} - org.opencontainers.image.revision=${{ github.sha }} - - name: Push Latest Tag uses: anothrNick/github-tag-action@1.75.0 env: diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 32cecd6d..fac3fe72 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -186,21 +186,6 @@ jobs: org.opencontainers.image.created=${{ steps.prep.outputs.created }} org.opencontainers.image.revision=${{ github.sha }} - - name: Build and Push Docker Image for Docs to ghcr registry - uses: docker/build-push-action@v6 - with: - context: . - file: Dockerfile-docs - pull: true - push: true - cache-to: type=inline - tags: | - ${{ env.GHCR_IMAGE_REPOSITORY }}/docs:${{ steps.generate_tag.outputs.RELEASE_VERSION }} - labels: | - org.opencontainers.image.source=${{ github.event.repository.clone_url }} - org.opencontainers.image.created=${{ steps.prep.outputs.created }} - org.opencontainers.image.revision=${{ github.sha }} - ############################## ## Add steps to generate required artifacts for a release here(helm chart, operator manifest etc.) ############################## diff --git a/Dockerfile-docs b/Dockerfile-docs deleted file mode 100644 index feb745c1..00000000 --- a/Dockerfile-docs +++ /dev/null @@ -1,35 +0,0 @@ -FROM python:3.14-alpine as builder - -# set workdir -RUN mkdir -p $HOME/application -WORKDIR $HOME/application - -# copy the entire application -COPY --chown=1001:root . . - -RUN pip3 install -r theme_common/requirements.txt - -# Combine Theme Resources -RUN python theme_common/scripts/combine_theme_resources.py -s theme_common/resources -ov theme_override/resources -o dist/_theme -# Produce mkdocs file -RUN python theme_common/scripts/combine_mkdocs_config_yaml.py theme_common/mkdocs.yml theme_override/mkdocs.yml mkdocs.yml - -# build the docs -RUN mkdocs build - -FROM nginxinc/nginx-unprivileged:1.29-alpine as deploy -COPY --from=builder $HOME/application/site/ /usr/share/nginx/html/reloader/ -COPY docs-nginx.conf /etc/nginx/conf.d/default.conf - -# set non-root user -USER 1001 - -LABEL name="Stakater Reloader Documentation" \ - maintainer="Stakater " \ - vendor="Stakater" \ - release="1" \ - summary="Documentation for Stakater Reloader" - -EXPOSE 8080:8080/tcp - -CMD ["nginx", "-g", "daemon off;"] diff --git a/docs-nginx.conf b/docs-nginx.conf deleted file mode 100644 index f3897143..00000000 --- a/docs-nginx.conf +++ /dev/null @@ -1,11 +0,0 @@ -server { - listen 8080; - root /usr/share/nginx/html/; - index index.html; - error_page 403 404 /404.html; - location = /404.html { - internal; - } - # redirects issued by nginx will be relative - absolute_redirect off; -} diff --git a/theme_common b/theme_common deleted file mode 160000 index 11286e11..00000000 --- a/theme_common +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 11286e112ea55c995232ea415038456ab3f70f59 diff --git a/theme_override/mkdocs.yml b/theme_override/mkdocs.yml deleted file mode 100644 index 265ec602..00000000 --- a/theme_override/mkdocs.yml +++ /dev/null @@ -1,22 +0,0 @@ -site_name: Stakater Reloader -docs_dir: docs -site_url: https://docs.stakater.com/reloader/ -repo_url: https://github.com/stakater/reloader -edit_uri: blob/master/docs/ - -theme: - favicon: assets/images/favicon.svg - -nav: - - index.md - - How-to Guides: - - Verify-Reloader-Working.md - - Alerting.md - - Reloader-with-Sealed-Secrets.md - - Helm2-to-Helm3.md - - References: - - How-it-works.md - - Container Build.md - - Comparisons with similar tools: - - Reloader-vs-ConfigmapController.md - - Reloader-vs-k8s-trigger-controller.md diff --git a/theme_override/resources/.gitignore b/theme_override/resources/.gitignore deleted file mode 100644 index e69de29b..00000000 diff --git a/theme_override/resources/assets/images/favicon.svg b/theme_override/resources/assets/images/favicon.svg deleted file mode 100644 index c353305c..00000000 --- a/theme_override/resources/assets/images/favicon.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From f4f345410c5f8d3c4f56244db7843abfa479cd53 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 11 May 2026 07:51:49 +0000 Subject: [PATCH 22/33] docs: move documentation link higher in README Agent-Logs-Url: https://github.com/stakater/Reloader/sessions/247dcce4-dd5c-4f51-816b-04cabd572f7c Co-authored-by: msafwankarim <66724151+msafwankarim@users.noreply.github.com> --- README.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 112c2fd0..3f11dc29 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,8 @@ In a traditional Kubernetes setup, updating a `Secret` or `ConfigMap` does not a Reloader bridges that gap by ensuring your workloads stay in sync with configuration changes — automatically and safely. +📚 Full documentation: [docs.stakater.com/reloader](https://docs.stakater.com/reloader/) + ## 🚀 Why Reloader? - ✅ **Zero manual restarts**: No need to manually rollout workloads after config/secret changes. @@ -465,10 +467,6 @@ If you're running Reloader in production, we'd love to hear from you: ## Help -### Documentation - -The Reloader documentation can be viewed from [the doc site](https://docs.stakater.com/reloader/). - ### Have a question? File a GitHub [issue](https://github.com/stakater/Reloader/issues). From 98f85c67c1d00c4c46cf2ec2f096b3b7a99a32b0 Mon Sep 17 00:00:00 2001 From: Muhammad Safwan Karim <66724151+msafwankarim@users.noreply.github.com> Date: Mon, 11 May 2026 16:14:54 +0500 Subject: [PATCH 23/33] Update pull_request.yaml --- .github/workflows/pull_request.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pull_request.yaml b/.github/workflows/pull_request.yaml index 9b403bfa..af4f53d2 100644 --- a/.github/workflows/pull_request.yaml +++ b/.github/workflows/pull_request.yaml @@ -50,9 +50,9 @@ jobs: # Setting up helm binary - name: Set up Helm - uses: azure/setup-helm@v4 + uses: azure/setup-helm@v5 with: - version: v3.11.3 + version: v3.20.2 - name: Helm chart unit tests uses: d3adb5/helm-unittest-action@v2 From dfcde67b6b2932e30adc7c0dc630b5acfa396965 Mon Sep 17 00:00:00 2001 From: Muhammad Safwan Karim <66724151+msafwankarim@users.noreply.github.com> Date: Mon, 11 May 2026 16:18:28 +0500 Subject: [PATCH 24/33] Update pull_request.yaml --- .github/workflows/pull_request.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/pull_request.yaml b/.github/workflows/pull_request.yaml index af4f53d2..01e3dd8f 100644 --- a/.github/workflows/pull_request.yaml +++ b/.github/workflows/pull_request.yaml @@ -58,6 +58,8 @@ jobs: uses: d3adb5/helm-unittest-action@v2 with: charts: deployments/kubernetes/chart/reloader + helm-version: v3.20.2 + github-token: ${{ secrets.GITHUB_TOKEN }} - name: Set up Go uses: actions/setup-go@v6 From 91ce7a7262e682cac06afe149ea63c1827906a71 Mon Sep 17 00:00:00 2001 From: Muhammad Safwan Karim <66724151+msafwankarim@users.noreply.github.com> Date: Mon, 11 May 2026 17:03:42 +0500 Subject: [PATCH 25/33] Fix link formatting in README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3f11dc29..a97acde3 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ In a traditional Kubernetes setup, updating a `Secret` or `ConfigMap` does not a Reloader bridges that gap by ensuring your workloads stay in sync with configuration changes — automatically and safely. -📚 Full documentation: [docs.stakater.com/reloader](https://docs.stakater.com/reloader/) +📚 Full documentation: [https://docs.stakater.com/reloader](https://docs.stakater.com/reloader/) ## 🚀 Why Reloader? From 227d6a985a549e1bcb5b71b01ec3641e25c75d9d Mon Sep 17 00:00:00 2001 From: Muhammad Safwan Karim <66724151+msafwankarim@users.noreply.github.com> Date: Mon, 11 May 2026 17:11:19 +0500 Subject: [PATCH 26/33] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a97acde3..3f11dc29 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ In a traditional Kubernetes setup, updating a `Secret` or `ConfigMap` does not a Reloader bridges that gap by ensuring your workloads stay in sync with configuration changes — automatically and safely. -📚 Full documentation: [https://docs.stakater.com/reloader](https://docs.stakater.com/reloader/) +📚 Full documentation: [docs.stakater.com/reloader](https://docs.stakater.com/reloader/) ## 🚀 Why Reloader? From ff4cb092586eb44f574dccfbe8e08c5e36f8304f Mon Sep 17 00:00:00 2001 From: Muhammad Safwan Karim <66724151+msafwankarim@users.noreply.github.com> Date: Mon, 11 May 2026 17:13:08 +0500 Subject: [PATCH 27/33] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3f11dc29..c7bda71c 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ In a traditional Kubernetes setup, updating a `Secret` or `ConfigMap` does not a Reloader bridges that gap by ensuring your workloads stay in sync with configuration changes — automatically and safely. -📚 Full documentation: [docs.stakater.com/reloader](https://docs.stakater.com/reloader/) +📚 Full documentation is available at [Stakater documentation site](https://docs.stakater.com/reloader/) ## 🚀 Why Reloader? From e009003ffa65f66afb03144bd531fda1ff43ce3e Mon Sep 17 00:00:00 2001 From: Rasheed Amir Date: Fri, 22 May 2026 18:50:43 +0200 Subject: [PATCH 28/33] harden actions --- .github/actions/loadtest/action.yml | 25 ++++++++----- .github/workflows/init-branch-release.yaml | 4 +-- .github/workflows/loadtest.yml | 14 ++++---- .github/workflows/pull_request-helm.yaml | 15 ++++---- .github/workflows/pull_request.yaml | 28 ++++++++------- .github/workflows/push-helm-chart.yaml | 21 ++++++----- .github/workflows/push-pr-image.yaml | 18 +++++----- .github/workflows/push.yaml | 35 +++++++++---------- .github/workflows/release-helm-chart.yaml | 4 +-- .github/workflows/release.yaml | 35 +++++++++---------- .../reloader-enterprise-published.yml | 9 ++++- .../reloader-enterprise-unpublished.yml | 9 ++++- 12 files changed, 125 insertions(+), 92 deletions(-) diff --git a/.github/actions/loadtest/action.yml b/.github/actions/loadtest/action.yml index 3f71ae9f..164056d6 100644 --- a/.github/actions/loadtest/action.yml +++ b/.github/actions/loadtest/action.yml @@ -209,12 +209,21 @@ runs: - name: Post PR comment if: inputs.post-comment == 'true' && inputs.pr-number != '' continue-on-error: true - uses: actions/github-script@v7 + uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7 + # Untrusted/templated values are passed via env and read with process.env + # inside the script, so they are never interpolated into JS source. + env: + SUMMARY_PATH: ${{ github.workspace }}/test/loadtest/summary.md + COMMENT_HEADER: ${{ inputs.comment-header }} + RUN_STATUS: ${{ steps.run.outputs.status }} + TEST_TYPE: ${{ inputs.test-type }} + PR_NUMBER: ${{ inputs.pr-number }} + RUN_URL: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }} with: github-token: ${{ inputs.github-token }} script: | const fs = require('fs'); - const summaryPath = '${{ github.workspace }}/test/loadtest/summary.md'; + const summaryPath = process.env.SUMMARY_PATH; let summary = 'No results available'; try { summary = fs.readFileSync(summaryPath, 'utf8'); @@ -222,24 +231,24 @@ runs: console.log('Could not read summary file:', e.message); } - const header = '${{ inputs.comment-header }}'; - const status = '${{ steps.run.outputs.status }}'; + const header = process.env.COMMENT_HEADER; + const status = process.env.RUN_STATUS; const statusEmoji = status === 'pass' ? ':white_check_mark:' : ':x:'; const body = [ - header ? header : `## ${statusEmoji} Load Test Results (${{ inputs.test-type }})`, + header ? header : `## ${statusEmoji} Load Test Results (${process.env.TEST_TYPE})`, '', summary, '', '---', - `**Artifacts:** [Download](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }})`, + `**Artifacts:** [Download](${process.env.RUN_URL})`, ].join('\n'); try { await github.rest.issues.createComment({ owner: context.repo.owner, repo: context.repo.repo, - issue_number: ${{ inputs.pr-number }}, + issue_number: Number(process.env.PR_NUMBER), body: body }); console.log('Comment posted successfully'); @@ -252,7 +261,7 @@ runs: } - name: Upload results - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 if: always() with: name: loadtest-${{ inputs.test-type }}-results diff --git a/.github/workflows/init-branch-release.yaml b/.github/workflows/init-branch-release.yaml index 01c54dca..cd37bd2a 100644 --- a/.github/workflows/init-branch-release.yaml +++ b/.github/workflows/init-branch-release.yaml @@ -23,7 +23,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout code - uses: actions/checkout@v5.0.0 + uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 with: fetch-depth: 0 token: ${{ secrets.GITHUB_TOKEN }} @@ -57,7 +57,7 @@ jobs: git diff - name: Create pull request - uses: peter-evans/create-pull-request@v7.0.8 + uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8 with: commit-message: "Bump version to ${{ inputs.TARGET_VERSION }}" title: "Bump version to ${{ inputs.TARGET_VERSION }} on ${{ inputs.TARGET_BRANCH }} branch" diff --git a/.github/workflows/loadtest.yml b/.github/workflows/loadtest.yml index dbe5d9cd..03270645 100644 --- a/.github/workflows/loadtest.yml +++ b/.github/workflows/loadtest.yml @@ -19,7 +19,7 @@ jobs: steps: - name: Add reaction to comment - uses: actions/github-script@v7 + uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7 with: script: | await github.rest.reactions.createForIssueComment({ @@ -31,7 +31,7 @@ jobs: - name: Get PR details id: pr - uses: actions/github-script@v7 + uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7 with: script: | const pr = await github.rest.pulls.get({ @@ -46,19 +46,19 @@ jobs: console.log(`PR #${context.issue.number}: ${pr.data.head.ref} -> ${pr.data.base.ref}`); - name: Checkout PR branch - uses: actions/checkout@v4 + uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 with: ref: ${{ steps.pr.outputs.head_sha }} fetch-depth: 0 # Full history for building from base ref - name: Set up Go - uses: actions/setup-go@v5 + uses: actions/setup-go@40f1582b2485089dde7abd97c1529aa768e1baff # v5 with: go-version: '1.26' cache: false - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3 - name: Install kind run: | @@ -89,7 +89,7 @@ jobs: - name: Add success reaction if: steps.loadtest.outputs.status == 'pass' - uses: actions/github-script@v7 + uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7 with: script: | await github.rest.reactions.createForIssueComment({ @@ -101,7 +101,7 @@ jobs: - name: Add failure reaction if: steps.loadtest.outputs.status == 'fail' - uses: actions/github-script@v7 + uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7 with: script: | await github.rest.reactions.createForIssueComment({ diff --git a/.github/workflows/pull_request-helm.yaml b/.github/workflows/pull_request-helm.yaml index 0edafae8..f4f6e067 100644 --- a/.github/workflows/pull_request-helm.yaml +++ b/.github/workflows/pull_request-helm.yaml @@ -14,6 +14,9 @@ env: KIND_VERSION: "0.23.0" REGISTRY: ghcr.io +# Default to no GITHUB_TOKEN permissions; each job opts into the minimum it needs. +permissions: {} + jobs: helm-chart-validation: @@ -26,19 +29,19 @@ jobs: steps: - name: Check out code - uses: actions/checkout@v5 + uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5 with: ref: ${{github.event.pull_request.head.sha}} fetch-depth: 0 # Setting up helm binary - name: Set up Helm - uses: azure/setup-helm@v4 + uses: azure/setup-helm@1a275c3b69536ee54be43f2070a358922e12c8d4 # v4 with: version: v3.11.3 - name: Helm chart unit tests - uses: d3adb5/helm-unittest-action@v2 + uses: d3adb5/helm-unittest-action@850bc76597579183998069830d5fa8c3ef0ea34a # v2 with: charts: deployments/kubernetes/chart/reloader @@ -55,7 +58,7 @@ jobs: steps: - name: Check out code - uses: actions/checkout@v5 + uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5 with: ref: ${{github.event.pull_request.head.sha}} fetch-depth: 0 @@ -71,13 +74,13 @@ jobs: echo "CURRENT_CHART_VERSION=$(echo ${current_chart_version})" >> $GITHUB_OUTPUT - name: Get Updated Chart version from Chart.yaml - uses: mikefarah/yq@master + uses: mikefarah/yq@751d8ad57b84f1794661bc70c0afb92a22ad7b3c # v4.53.2 id: new_chart_version with: cmd: yq e '.version' deployments/kubernetes/chart/reloader/Chart.yaml - name: Check Version - uses: aleoyakas/check-semver-increased-action@v1 + uses: aleoyakas/check-semver-increased-action@415c9c60054c2442c03478b6dd96a195deac6695 # v1 id: check-version with: current-version: ${{ steps.new_chart_version.outputs.result }} diff --git a/.github/workflows/pull_request.yaml b/.github/workflows/pull_request.yaml index ad121532..e55be6e8 100644 --- a/.github/workflows/pull_request.yaml +++ b/.github/workflows/pull_request.yaml @@ -19,9 +19,15 @@ env: REGISTRY: ghcr.io RELOADER_EDITION: oss +# Default to no GITHUB_TOKEN permissions; each job opts into the minimum it needs. +permissions: {} + jobs: qa: - uses: stakater/.github/.github/workflows/pull_request_doc_qa.yaml@v0.0.163 + permissions: + contents: read + pull-requests: write # reusable workflow posts languagetool review comments + uses: stakater/.github/.github/workflows/pull_request_doc_qa.yaml@3dfb835dba6b596fe32e1d0f5eadbb4a3a139a1c # v0.0.163 with: MD_CONFIG: .github/md_config.json DOC_SRC: README.md @@ -38,30 +44,30 @@ jobs: name: Build steps: - name: Check out code - uses: actions/checkout@v5 + uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5 with: ref: ${{github.event.pull_request.head.sha}} fetch-depth: 0 # Setting up helm binary - name: Set up Helm - uses: azure/setup-helm@v5 + uses: azure/setup-helm@dda3372f752e03dde6b3237bc9431cdc2f7a02a2 # v5 with: version: v3.20.2 - name: Helm chart unit tests - uses: d3adb5/helm-unittest-action@v2 + uses: d3adb5/helm-unittest-action@850bc76597579183998069830d5fa8c3ef0ea34a # v2 with: charts: deployments/kubernetes/chart/reloader helm-version: v3.20.2 github-token: ${{ secrets.GITHUB_TOKEN }} - name: Set up Go - uses: actions/setup-go@v6 + uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6 with: go-version-file: 'go.mod' check-latest: true - cache: true + cache: false - name: Create timestamp id: prep @@ -130,10 +136,10 @@ jobs: echo "GIT_UBI_TAG=$(echo ${ubi_tag})" >> $GITHUB_OUTPUT - name: Set up QEMU - uses: docker/setup-qemu-action@v3 + uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # v3 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3 - name: Generate image repository path for ghcr registry run: | @@ -142,7 +148,7 @@ jobs: # To identify any broken changes in dockerfiles or dependencies - name: Build Docker Image - uses: docker/build-push-action@v6 + uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6 with: context: . file: ${{ env.DOCKER_FILE_PATH }} @@ -155,7 +161,6 @@ jobs: EDITION=${{ env.RELOADER_EDITION }} BUILD_PARAMETERS=${{ env.BUILD_PARAMETERS }} - cache-to: type=inline platforms: linux/amd64,linux/arm,linux/arm64 tags: | ${{ env.GHCR_IMAGE_REPOSITORY }}:${{ steps.generate_tag.outputs.GIT_TAG }} @@ -165,7 +170,7 @@ jobs: org.opencontainers.image.revision=${{ github.sha }} - name: Build Docker UBI Image - uses: docker/build-push-action@v6 + uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6 with: context: . file: ${{ env.DOCKER_UBI_FILE_PATH }} @@ -178,7 +183,6 @@ jobs: EDITION=${{ env.RELOADER_EDITION }} BUILD_PARAMETERS=${{ env.BUILD_PARAMETERS }} BUILDER_IMAGE=${{ env.GHCR_IMAGE_REPOSITORY }}:${{ steps.highest_tag.outputs.tag }} - cache-to: type=inline platforms: linux/amd64,linux/arm64 tags: | ${{ env.GHCR_IMAGE_REPOSITORY }}:${{ steps.generate_tag.outputs.GIT_UBI_TAG }} diff --git a/.github/workflows/push-helm-chart.yaml b/.github/workflows/push-helm-chart.yaml index fc80c05e..eab327e0 100644 --- a/.github/workflows/push-helm-chart.yaml +++ b/.github/workflows/push-helm-chart.yaml @@ -17,6 +17,9 @@ env: HELM_REGISTRY_URL: "https://stakater.github.io/stakater-charts" REGISTRY: ghcr.io # container registry +# Default to no GITHUB_TOKEN permissions; each job opts into the minimum it needs. +permissions: {} + jobs: verify-and-push-helm-chart: @@ -31,7 +34,7 @@ jobs: steps: - name: Check out code - uses: actions/checkout@v5 + uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5 with: token: ${{ secrets.PUBLISH_TOKEN }} fetch-depth: 0 # otherwise, you will fail to push refs to dest repo @@ -39,7 +42,7 @@ jobs: # Setting up helm binary - name: Set up Helm - uses: azure/setup-helm@v4 + uses: azure/setup-helm@1a275c3b69536ee54be43f2070a358922e12c8d4 # v4 with: version: v3.11.3 @@ -54,13 +57,13 @@ jobs: echo "CURRENT_CHART_VERSION=$(echo ${current_chart_version})" >> $GITHUB_OUTPUT - name: Get Updated Chart version from Chart.yaml - uses: mikefarah/yq@master + uses: mikefarah/yq@751d8ad57b84f1794661bc70c0afb92a22ad7b3c # v4.53.2 id: new_chart_version with: cmd: yq e '.version' deployments/kubernetes/chart/reloader/Chart.yaml - name: Check Version - uses: aleoyakas/check-semver-increased-action@v1 + uses: aleoyakas/check-semver-increased-action@415c9c60054c2442c03478b6dd96a195deac6695 # v1 id: check-version with: current-version: ${{ steps.new_chart_version.outputs.result }} @@ -73,10 +76,10 @@ jobs: exit 1 - name: Install Cosign - uses: sigstore/cosign-installer@v4.0.0 + uses: sigstore/cosign-installer@faadad0cce49287aee09b3a48701e75088a2c6ad # v4.0.0 - name: Login to GHCR Registry - uses: docker/login-action@v3 + uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3 with: registry: ${{ env.REGISTRY }} username: stakater-user @@ -92,7 +95,7 @@ jobs: run: cosign sign --yes ghcr.io/stakater/charts/reloader:${{ steps.new_chart_version.outputs.result }} - name: Publish Helm chart to gh-pages - uses: stefanprodan/helm-gh-pages@master + uses: stefanprodan/helm-gh-pages@0ad2bb377311d61ac04ad9eb6f252fb68e207260 # v1.7.0 with: branch: master repository: stakater-charts @@ -106,14 +109,14 @@ jobs: commit_email: stakater@gmail.com - name: Push new chart tag - uses: anothrNick/github-tag-action@1.75.0 + uses: anothrNick/github-tag-action@4ed44965e0db8dab2b466a16da04aec3cc312fd8 # 1.75.0 env: GITHUB_TOKEN: ${{ secrets.PUBLISH_TOKEN }} WITH_V: false CUSTOM_TAG: chart-v${{ steps.new_chart_version.outputs.result }} - name: Notify Slack - uses: 8398a7/action-slack@v3 + uses: 8398a7/action-slack@77eaa4f1c608a7d68b38af4e3f739dcd8cba273e # v3 if: always() # Pick up events even if the job fails or is canceled. with: status: ${{ job.status }} diff --git a/.github/workflows/push-pr-image.yaml b/.github/workflows/push-pr-image.yaml index 9d8681ce..88259b87 100644 --- a/.github/workflows/push-pr-image.yaml +++ b/.github/workflows/push-pr-image.yaml @@ -14,6 +14,9 @@ env: DOCKER_FILE_PATH: Dockerfile REGISTRY: ghcr.io +# Default to no GITHUB_TOKEN permissions; each job opts into the minimum it needs. +permissions: {} + jobs: build-and-push-pr-image: @@ -25,17 +28,17 @@ jobs: if: ${{ github.event.label.name == 'build-and-push-pr-image' }} steps: - name: Check out code - uses: actions/checkout@v5 + uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5 with: ref: ${{github.event.pull_request.head.sha}} fetch-depth: 0 - name: Set up Go - uses: actions/setup-go@v6 + uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6 with: go-version-file: 'go.mod' check-latest: true - cache: true + cache: false - name: Install Dependencies run: | @@ -52,31 +55,30 @@ jobs: echo "GIT_TAG=$(echo ${tag})" >> $GITHUB_OUTPUT - name: Set up QEMU - uses: docker/setup-qemu-action@v3 + uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # v3 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3 - name: Generate image repository path for ghcr registry run: | echo GHCR_IMAGE_REPOSITORY=${{env.REGISTRY}}/$(echo ${{ github.repository }} | tr '[:upper:]' '[:lower:]') >> $GITHUB_ENV - name: Login to ghcr registry - uses: docker/login-action@v3 + uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3 with: registry: ${{env.REGISTRY}} username: stakater-user password: ${{secrets.GITHUB_TOKEN}} - name: Build Docker Image - uses: docker/build-push-action@v6 + uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6 with: context: . file: ${{ env.DOCKER_FILE_PATH }} pull: true push: true build-args: BUILD_PARAMETERS=${{ env.BUILD_PARAMETERS }} - cache-to: type=inline platforms: linux/amd64,linux/arm,linux/arm64 tags: | ${{ env.GHCR_IMAGE_REPOSITORY }}:${{ steps.generate_tag.outputs.GIT_TAG }} diff --git a/.github/workflows/push.yaml b/.github/workflows/push.yaml index b7908bf9..6e7e3346 100644 --- a/.github/workflows/push.yaml +++ b/.github/workflows/push.yaml @@ -17,6 +17,9 @@ env: REGISTRY: ghcr.io RELOADER_EDITION: oss +# Default to no GITHUB_TOKEN permissions; each job opts into the minimum it needs. +permissions: {} + jobs: build: @@ -30,7 +33,7 @@ jobs: steps: - name: Check out code - uses: actions/checkout@v5 + uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5 with: token: ${{ secrets.PUBLISH_TOKEN }} fetch-depth: 0 # otherwise, you will fail to push refs to dest repo @@ -38,16 +41,16 @@ jobs: # Setting up helm binary - name: Set up Helm - uses: azure/setup-helm@v4 + uses: azure/setup-helm@1a275c3b69536ee54be43f2070a358922e12c8d4 # v4 with: version: v3.11.3 - name: Set up Go - uses: actions/setup-go@v6 + uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6 with: go-version-file: 'go.mod' check-latest: true - cache: true + cache: false - name: Install Dependencies run: | @@ -78,13 +81,13 @@ jobs: run: make test - name: Set up QEMU - uses: docker/setup-qemu-action@v3 + uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # v3 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3 - name: Login to Docker Registry - uses: docker/login-action@v3 + uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3 with: username: ${{ secrets.STAKATER_DOCKERHUB_USERNAME }} password: ${{ secrets.STAKATER_DOCKERHUB_PASSWORD }} @@ -98,7 +101,7 @@ jobs: echo DOCKER_IMAGE_REPOSITORY=$(echo ${{ github.repository }} | tr '[:upper:]' '[:lower:]') >> $GITHUB_ENV - name: Build and Push Docker Image to Docker registry - uses: docker/build-push-action@v6 + uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6 with: context: . file: ${{ env.DOCKER_FILE_PATH }} @@ -110,7 +113,6 @@ jobs: BUILD_DATE=${{ steps.prep.outputs.created }} EDITION=${{ env.RELOADER_EDITION }} BUILD_PARAMETERS=${{ env.BUILD_PARAMETERS }} - cache-to: type=inline platforms: linux/amd64,linux/arm,linux/arm64 tags: | ${{ env.DOCKER_IMAGE_REPOSITORY }}:merge-${{ github.event.number }} @@ -119,7 +121,7 @@ jobs: org.opencontainers.image.revision=${{ github.sha }} - name: Build and Push Docker UBI Image to Docker registry - uses: docker/build-push-action@v6 + uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6 with: context: . file: ${{ env.DOCKER_UBI_FILE_PATH }} @@ -128,7 +130,6 @@ jobs: build-args: | BUILD_PARAMETERS=${{ env.BUILD_PARAMETERS }} BUILDER_IMAGE=${{ env.DOCKER_IMAGE_REPOSITORY }}:merge-${{ github.event.number }} - cache-to: type=inline platforms: linux/amd64,linux/arm64 tags: | ${{ env.DOCKER_IMAGE_REPOSITORY }}:merge-${{ github.event.number }}-ubi @@ -137,7 +138,7 @@ jobs: org.opencontainers.image.revision=${{ github.sha }} - name: Login to ghcr registry - uses: docker/login-action@v3 + uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3 with: registry: ${{env.REGISTRY}} username: stakater-user @@ -148,7 +149,7 @@ jobs: echo GHCR_IMAGE_REPOSITORY=${{env.REGISTRY}}/$(echo ${{ github.repository }} | tr '[:upper:]' '[:lower:]') >> $GITHUB_ENV - name: Build and Push Docker Image to ghcr registry - uses: docker/build-push-action@v6 + uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6 with: context: . file: ${{ env.DOCKER_FILE_PATH }} @@ -160,7 +161,6 @@ jobs: BUILD_DATE=${{ steps.prep.outputs.created }} EDITION=${{ env.RELOADER_EDITION }} BUILD_PARAMETERS=${{ env.BUILD_PARAMETERS }} - cache-to: type=inline platforms: linux/amd64,linux/arm,linux/arm64 tags: | ${{ env.GHCR_IMAGE_REPOSITORY }}:merge-${{ github.event.number }} @@ -169,7 +169,7 @@ jobs: org.opencontainers.image.revision=${{ github.sha }} - name: Build and Push Docker UBI Image to ghcr registry - uses: docker/build-push-action@v6 + uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6 with: context: . file: ${{ env.DOCKER_UBI_FILE_PATH }} @@ -178,7 +178,6 @@ jobs: build-args: | BUILD_PARAMETERS=${{ env.BUILD_PARAMETERS }} BUILDER_IMAGE=${{ env.GHCR_IMAGE_REPOSITORY }}:merge-${{ github.event.number }} - cache-to: type=inline platforms: linux/amd64,linux/arm64 tags: | ${{ env.GHCR_IMAGE_REPOSITORY }}:merge-${{ github.event.number }}-ubi @@ -187,14 +186,14 @@ jobs: org.opencontainers.image.revision=${{ github.sha }} - name: Push Latest Tag - uses: anothrNick/github-tag-action@1.75.0 + uses: anothrNick/github-tag-action@4ed44965e0db8dab2b466a16da04aec3cc312fd8 # 1.75.0 env: GITHUB_TOKEN: ${{ secrets.PUBLISH_TOKEN }} WITH_V: false CUSTOM_TAG: merge-${{ github.event.number }} - name: Notify Slack - uses: 8398a7/action-slack@v3 + uses: 8398a7/action-slack@77eaa4f1c608a7d68b38af4e3f739dcd8cba273e # v3 if: always() # Pick up events even if the job fails or is canceled. with: status: ${{ job.status }} diff --git a/.github/workflows/release-helm-chart.yaml b/.github/workflows/release-helm-chart.yaml index 78c70636..afc39ee5 100644 --- a/.github/workflows/release-helm-chart.yaml +++ b/.github/workflows/release-helm-chart.yaml @@ -15,7 +15,7 @@ jobs: steps: - name: Check out code - uses: actions/checkout@v5 + uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5 with: fetch-depth: 0 @@ -30,7 +30,7 @@ jobs: --generate-notes - name: Notify Slack - uses: 8398a7/action-slack@v3 + uses: 8398a7/action-slack@77eaa4f1c608a7d68b38af4e3f739dcd8cba273e # v3 if: always() with: status: ${{ job.status }} diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index fac3fe72..f84be902 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -13,6 +13,9 @@ env: REGISTRY: ghcr.io RELOADER_EDITION: oss +# Default to no GITHUB_TOKEN permissions; each job opts into the minimum it needs. +permissions: {} + jobs: release: @@ -25,7 +28,7 @@ jobs: steps: - name: Check out code - uses: actions/checkout@v5 + uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5 with: token: ${{ secrets.PUBLISH_TOKEN }} fetch-depth: 0 # otherwise, you will fail to push refs to dest repo @@ -33,16 +36,16 @@ jobs: # Setting up helm binary - name: Set up Helm - uses: azure/setup-helm@v4 + uses: azure/setup-helm@1a275c3b69536ee54be43f2070a358922e12c8d4 # v4 with: version: v3.11.3 - name: Set up Go - uses: actions/setup-go@v6 + uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6 with: go-version-file: 'go.mod' check-latest: true - cache: true + cache: false - name: Install Dependencies run: | @@ -81,13 +84,13 @@ jobs: run: echo "created=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT - name: Set up QEMU - uses: docker/setup-qemu-action@v3 + uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # v3 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3 - name: Login to Docker Registry - uses: docker/login-action@v3 + uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3 with: username: ${{ secrets.STAKATER_DOCKERHUB_USERNAME }} password: ${{ secrets.STAKATER_DOCKERHUB_PASSWORD }} @@ -97,13 +100,12 @@ jobs: echo DOCKER_IMAGE_REPOSITORY=$(echo ${{ github.repository }} | tr '[:upper:]' '[:lower:]') >> $GITHUB_ENV - name: Build and Push Docker Image to Docker registry - uses: docker/build-push-action@v6 + uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6 with: context: . file: ${{ env.DOCKER_FILE_PATH }} pull: true push: true - cache-to: type=inline platforms: linux/amd64,linux/arm,linux/arm64 tags: | ${{ env.DOCKER_IMAGE_REPOSITORY }}:${{ steps.generate_tag.outputs.RELEASE_VERSION }} @@ -118,7 +120,7 @@ jobs: org.opencontainers.image.revision=${{ github.sha }} - name: Build and Push Docker UBI Image to Docker registry - uses: docker/build-push-action@v6 + uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6 with: context: . file: ${{ env.DOCKER_UBI_FILE_PATH }} @@ -126,7 +128,6 @@ jobs: push: true build-args: | BUILDER_IMAGE=${{ env.DOCKER_IMAGE_REPOSITORY }}:${{ steps.generate_tag.outputs.RELEASE_VERSION }} - cache-to: type=inline platforms: linux/amd64,linux/arm64 tags: | ${{ env.DOCKER_IMAGE_REPOSITORY }}:${{ steps.generate_tag.outputs.RELEASE_VERSION }}-ubi @@ -136,7 +137,7 @@ jobs: org.opencontainers.image.revision=${{ github.sha }} - name: Login to ghcr registry - uses: docker/login-action@v3 + uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3 with: registry: ${{env.REGISTRY}} username: stakater-user @@ -148,13 +149,12 @@ jobs: # tag this image as latest as it will be used in plain manifests - name: Build and Push Docker Image to ghcr registry - uses: docker/build-push-action@v6 + uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6 with: context: . file: ${{ env.DOCKER_FILE_PATH }} pull: true push: true - cache-to: type=inline platforms: linux/amd64,linux/arm,linux/arm64 tags: | ${{ env.GHCR_IMAGE_REPOSITORY }}:${{ steps.generate_tag.outputs.RELEASE_VERSION }},${{ env.GHCR_IMAGE_REPOSITORY }}:latest @@ -169,7 +169,7 @@ jobs: org.opencontainers.image.revision=${{ github.sha }} - name: Build and Push Docker UBI Image to ghcr registry - uses: docker/build-push-action@v6 + uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6 with: context: . file: ${{ env.DOCKER_UBI_FILE_PATH }} @@ -177,7 +177,6 @@ jobs: push: true build-args: | BUILDER_IMAGE=${{ env.GHCR_IMAGE_REPOSITORY }}:${{ steps.generate_tag.outputs.RELEASE_VERSION }} - cache-to: type=inline platforms: linux/amd64,linux/arm64 tags: | ${{ env.GHCR_IMAGE_REPOSITORY }}:${{ steps.generate_tag.outputs.RELEASE_VERSION }}-ubi @@ -191,7 +190,7 @@ jobs: ############################## - name: Run GoReleaser - uses: goreleaser/goreleaser-action@master + uses: goreleaser/goreleaser-action@5daf1e915a5f0af01ddbcd89a43b8061ff4f1a89 # v7.2.2 with: version: latest args: release --clean @@ -199,7 +198,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.PUBLISH_TOKEN }} - name: Notify Slack - uses: 8398a7/action-slack@v3 + uses: 8398a7/action-slack@77eaa4f1c608a7d68b38af4e3f739dcd8cba273e # v3 if: always() # Pick up events even if the job fails or is canceled. with: status: ${{ job.status }} diff --git a/.github/workflows/reloader-enterprise-published.yml b/.github/workflows/reloader-enterprise-published.yml index 9015c2c0..6d092154 100644 --- a/.github/workflows/reloader-enterprise-published.yml +++ b/.github/workflows/reloader-enterprise-published.yml @@ -4,14 +4,21 @@ on: release: types: [published] +# Authenticates with a PAT, not GITHUB_TOKEN — no token scopes needed. +permissions: {} + jobs: dispatch: runs-on: ubuntu-latest steps: - name: Trigger target repository workflow + env: + RELEASE_TAG: ${{ github.event.release.tag_name }} run: | + payload=$(jq -nc --arg tag "$RELEASE_TAG" \ + '{event_type: "release-published", client_payload: {tag: $tag}}') curl -X POST \ -H "Accept: application/vnd.github.v3+json" \ -H "Authorization: token ${{ secrets.STAKATER_AB_TOKEN_FOR_RLDR }}" \ https://api.github.com/repos/stakater-ab/reloader-enterprise/dispatches \ - -d '{"event_type":"release-published","client_payload":{"tag":"${{ github.event.release.tag_name }}"}}' + -d "$payload" diff --git a/.github/workflows/reloader-enterprise-unpublished.yml b/.github/workflows/reloader-enterprise-unpublished.yml index e1d6743f..99274789 100644 --- a/.github/workflows/reloader-enterprise-unpublished.yml +++ b/.github/workflows/reloader-enterprise-unpublished.yml @@ -4,14 +4,21 @@ on: release: types: [unpublished ] +# Authenticates with a PAT, not GITHUB_TOKEN — no token scopes needed. +permissions: {} + jobs: dispatch: runs-on: ubuntu-latest steps: - name: Trigger target repository workflow + env: + RELEASE_TAG: ${{ github.event.release.tag_name }} run: | + payload=$(jq -nc --arg tag "$RELEASE_TAG" \ + '{event_type: "release-unpublished", client_payload: {tag: $tag}}') curl -X POST \ -H "Accept: application/vnd.github.v3+json" \ -H "Authorization: token ${{ secrets.STAKATER_AB_TOKEN_FOR_RLDR }}" \ https://api.github.com/repos/stakater-ab/reloader-enterprise/dispatches \ - -d '{"event_type":"release-unpublished","client_payload":{"tag":"${{ github.event.release.tag_name }}"}}' + -d "$payload" From af018af95c03162b4addb18fbaacafd4b1aa053a Mon Sep 17 00:00:00 2001 From: Safwan Date: Mon, 25 May 2026 10:04:35 +0500 Subject: [PATCH 29/33] bump vulnerable go dependency --- go.mod | 10 +++++----- go.sum | 16 ++++++++-------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/go.mod b/go.mod index b3182dab..cb3d8670 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/stakater/Reloader -go 1.26.2 +go 1.26.3 require ( github.com/argoproj/argo-rollouts v1.9.0 @@ -62,11 +62,11 @@ require ( github.com/x448/float16 v0.8.4 // indirect go.yaml.in/yaml/v2 v2.4.4 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect - golang.org/x/net v0.52.0 // indirect + golang.org/x/net v0.55.0 // indirect golang.org/x/oauth2 v0.36.0 // indirect - golang.org/x/sys v0.42.0 // indirect - golang.org/x/term v0.41.0 // indirect - golang.org/x/text v0.35.0 // indirect + golang.org/x/sys v0.45.0 // indirect + golang.org/x/term v0.43.0 // indirect + golang.org/x/text v0.37.0 // indirect golang.org/x/time v0.15.0 // indirect google.golang.org/protobuf v1.36.11 // indirect gopkg.in/evanphx/json-patch.v4 v4.13.0 // indirect diff --git a/go.sum b/go.sum index 70a4505f..db6c2011 100644 --- a/go.sum +++ b/go.sum @@ -147,8 +147,8 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.52.0 h1:He/TN1l0e4mmR3QqHMT2Xab3Aj3L9qjbhRm78/6jrW0= -golang.org/x/net v0.52.0/go.mod h1:R1MAz7uMZxVMualyPXb+VaqGSa3LIaUqk0eEt3w36Sw= +golang.org/x/net v0.55.0 h1:bcvxaJn3e1U6InsFWt1JUq1aSjnRxLzT2rtD2KfkDF8= +golang.org/x/net v0.55.0/go.mod h1:L5U2KuzuOe1lY7Z+aWVIKK6qEeJXnXV9yzGA+WCHJww= golang.org/x/oauth2 v0.36.0 h1:peZ/1z27fi9hUOFCAZaHyrpWG5lwe0RJEEEeH0ThlIs= golang.org/x/oauth2 v0.36.0/go.mod h1:YDBUJMTkDnJS+A4BP4eZBjCqtokkg1hODuPjwiGPO7Q= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -157,14 +157,14 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.42.0 h1:omrd2nAlyT5ESRdCLYdm3+fMfNFE/+Rf4bDIQImRJeo= -golang.org/x/sys v0.42.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= -golang.org/x/term v0.41.0 h1:QCgPso/Q3RTJx2Th4bDLqML4W6iJiaXFq2/ftQF13YU= -golang.org/x/term v0.41.0/go.mod h1:3pfBgksrReYfZ5lvYM0kSO0LIkAl4Yl2bXOkKP7Ec2A= +golang.org/x/sys v0.45.0 h1:dO4czNzziLiiXplLQgBCEpCvXQ3dnkn0SdaZSYdQ+FY= +golang.org/x/sys v0.45.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/term v0.43.0 h1:S4RLU2sB31O/NCl+zFN9Aru9A/Cq2aqKpTZJ6B+DwT4= +golang.org/x/term v0.43.0/go.mod h1:lrhlHNdQJHO+1qVYiHfFKVuVioJIheAc3fBSMFYEIsk= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.35.0 h1:JOVx6vVDFokkpaq1AEptVzLTpDe9KGpj5tR4/X+ybL8= -golang.org/x/text v0.35.0/go.mod h1:khi/HExzZJ2pGnjenulevKNX1W67CUy0AsXcNubPGCA= +golang.org/x/text v0.37.0 h1:Cqjiwd9eSg8e0QAkyCaQTNHFIIzWtidPahFWR83rTrc= +golang.org/x/text v0.37.0/go.mod h1:a5sjxXGs9hsn/AJVwuElvCAo9v8QYLzvavO5z2PiM38= golang.org/x/time v0.15.0 h1:bbrp8t3bGUeFOx08pvsMYRTCVSMk89u4tKbNOZbp88U= golang.org/x/time v0.15.0/go.mod h1:Y4YMaQmXwGQZoFaVFk4YpCt4FLQMYKZe9oeV/f4MSno= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= From 977b24b77119b34d6b725523e404a151e7ac2939 Mon Sep 17 00:00:00 2001 From: Safwan Date: Mon, 25 May 2026 11:16:05 +0500 Subject: [PATCH 30/33] updated docker go version --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index f92fa5eb..e76b396c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,7 +2,7 @@ ARG BUILDER_IMAGE ARG BASE_IMAGE # Build the manager binary -FROM --platform=${BUILDPLATFORM} ${BUILDER_IMAGE:-golang:1.26.2} AS builder +FROM --platform=${BUILDPLATFORM} ${BUILDER_IMAGE:-golang:1.26} AS builder ARG TARGETOS ARG TARGETARCH From 7644e514f3b387735d693c1ffcb8ace057bf3a2e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 25 May 2026 07:14:30 +0000 Subject: [PATCH 31/33] Update registry.access.redhat.com/ubi9/ubi Docker tag to v9.8-1779374378 --- Dockerfile.ubi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.ubi b/Dockerfile.ubi index d7416432..ba22ebba 100644 --- a/Dockerfile.ubi +++ b/Dockerfile.ubi @@ -3,7 +3,7 @@ ARG BASE_IMAGE FROM --platform=${BUILDPLATFORM} ${BUILDER_IMAGE} AS SRC -FROM ${BASE_IMAGE:-registry.access.redhat.com/ubi9/ubi:9.7} AS ubi +FROM ${BASE_IMAGE:-registry.access.redhat.com/ubi9/ubi:9.8-1779374378} AS ubi ARG TARGETARCH From d633294d755ce11c70c17793e817d6322012aba0 Mon Sep 17 00:00:00 2001 From: Safwan Date: Mon, 25 May 2026 13:35:01 +0500 Subject: [PATCH 32/33] updated helm version --- .github/workflows/pull_request-helm.yaml | 2 +- .github/workflows/push-helm-chart.yaml | 2 +- .github/workflows/push.yaml | 2 +- .github/workflows/release.yaml | 2 +- deployments/kubernetes/chart/reloader/Chart.yaml | 4 ++-- deployments/kubernetes/chart/reloader/values.yaml | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/pull_request-helm.yaml b/.github/workflows/pull_request-helm.yaml index f4f6e067..8b78df06 100644 --- a/.github/workflows/pull_request-helm.yaml +++ b/.github/workflows/pull_request-helm.yaml @@ -38,7 +38,7 @@ jobs: - name: Set up Helm uses: azure/setup-helm@1a275c3b69536ee54be43f2070a358922e12c8d4 # v4 with: - version: v3.11.3 + version: v3.20.2 - name: Helm chart unit tests uses: d3adb5/helm-unittest-action@850bc76597579183998069830d5fa8c3ef0ea34a # v2 diff --git a/.github/workflows/push-helm-chart.yaml b/.github/workflows/push-helm-chart.yaml index eab327e0..29b52580 100644 --- a/.github/workflows/push-helm-chart.yaml +++ b/.github/workflows/push-helm-chart.yaml @@ -44,7 +44,7 @@ jobs: - name: Set up Helm uses: azure/setup-helm@1a275c3b69536ee54be43f2070a358922e12c8d4 # v4 with: - version: v3.11.3 + version: v3.20.2 - name: Add Stakater Helm Repo run: | diff --git a/.github/workflows/push.yaml b/.github/workflows/push.yaml index 6e7e3346..7f2f76ed 100644 --- a/.github/workflows/push.yaml +++ b/.github/workflows/push.yaml @@ -43,7 +43,7 @@ jobs: - name: Set up Helm uses: azure/setup-helm@1a275c3b69536ee54be43f2070a358922e12c8d4 # v4 with: - version: v3.11.3 + version: v3.20.2 - name: Set up Go uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6 diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index f84be902..ee1154b6 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -38,7 +38,7 @@ jobs: - name: Set up Helm uses: azure/setup-helm@1a275c3b69536ee54be43f2070a358922e12c8d4 # v4 with: - version: v3.11.3 + version: v3.20.2 - name: Set up Go uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6 diff --git a/deployments/kubernetes/chart/reloader/Chart.yaml b/deployments/kubernetes/chart/reloader/Chart.yaml index 3d2f447f..ee8bae06 100644 --- a/deployments/kubernetes/chart/reloader/Chart.yaml +++ b/deployments/kubernetes/chart/reloader/Chart.yaml @@ -1,8 +1,8 @@ apiVersion: v1 name: reloader description: Reloader chart that runs on kubernetes -version: 2.2.11 -appVersion: v1.4.16 +version: 2.2.12 +appVersion: v1.4.17 keywords: - Reloader - kubernetes diff --git a/deployments/kubernetes/chart/reloader/values.yaml b/deployments/kubernetes/chart/reloader/values.yaml index 03429366..c764c765 100644 --- a/deployments/kubernetes/chart/reloader/values.yaml +++ b/deployments/kubernetes/chart/reloader/values.yaml @@ -19,7 +19,7 @@ fullnameOverride: "" image: name: stakater/reloader repository: ghcr.io/stakater/reloader - tag: v1.4.16 + tag: v1.4.17 # digest: sha256:1234567 pullPolicy: IfNotPresent From c4df6404c3abf0205dbd5aaee801eb9ddd51bda6 Mon Sep 17 00:00:00 2001 From: Safwan Date: Mon, 25 May 2026 13:39:52 +0500 Subject: [PATCH 33/33] add helm version in pr workflow --- .github/workflows/pull_request-helm.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/pull_request-helm.yaml b/.github/workflows/pull_request-helm.yaml index 8b78df06..3cb5482f 100644 --- a/.github/workflows/pull_request-helm.yaml +++ b/.github/workflows/pull_request-helm.yaml @@ -44,6 +44,8 @@ jobs: uses: d3adb5/helm-unittest-action@850bc76597579183998069830d5fa8c3ef0ea34a # v2 with: charts: deployments/kubernetes/chart/reloader + helm-version: v3.20.2 + github-token: ${{ secrets.GITHUB_TOKEN }} helm-version-validation: needs: helm-chart-validation