Skip to content

Commit cbf501f

Browse files
authored
Merge branch 'master' into master
2 parents 2260d72 + 9f5211b commit cbf501f

19 files changed

+459
-90
lines changed

.github/workflows/pull_request.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ env:
2323

2424
jobs:
2525
qa:
26-
uses: stakater/.github/.github/workflows/[email protected].79
26+
uses: stakater/.github/.github/workflows/[email protected].82
2727
with:
2828
MD_CONFIG: .github/md_config.json
2929
DOC_SRC: README.md

.github/workflows/pull_request_docs.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@ on:
1515

1616
jobs:
1717
qa:
18-
uses: stakater/.github/.github/workflows/[email protected].79
18+
uses: stakater/.github/.github/workflows/[email protected].82
1919
with:
2020
MD_CONFIG: .github/md_config.json
2121
DOC_SRC: docs
2222
MD_LINT_CONFIG: .markdownlint.yaml
2323
build:
24-
uses: stakater/.github/.github/workflows/[email protected].79
24+
uses: stakater/.github/.github/workflows/[email protected].82
2525
with:
2626
DOCKER_FILE_PATH: Dockerfile-docs
2727
secrets:

.github/workflows/push.yaml

+6-1
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,12 @@ jobs:
211211

212212
- name: Helm Template
213213
run: |
214-
helm template reloader deployments/kubernetes/chart/reloader/ > deployments/kubernetes/reloader.yaml
214+
helm template reloader deployments/kubernetes/chart/reloader/ \
215+
--set reloader.deployment.resources.limits.cpu=150m \
216+
--set reloader.deployment.resources.limits.memory=512Mi \
217+
--set reloader.deployment.resources.requests.cpu=10m \
218+
--set reloader.deployment.resources.requests.memory=128Mi > deployments/kubernetes/reloader.yaml
219+
215220
helm template reloader deployments/kubernetes/chart/reloader/ --output-dir deployments/kubernetes/manifests && mv deployments/kubernetes/manifests/reloader/templates/* deployments/kubernetes/manifests/ && rm -r deployments/kubernetes/manifests/reloader
216221
217222
- name: Remove labels and annotations from manifests

.github/workflows/push_docs.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ on:
1616

1717
jobs:
1818
push:
19-
uses: stakater/.github/.github/workflows/[email protected].79
19+
uses: stakater/.github/.github/workflows/[email protected].82
2020
with:
2121
DOCKER_FILE_PATH: Dockerfile-docs
2222
RELEASE_BRANCH: master

.vale.ini

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
StylesPath = styles
22
MinAlertLevel = warning
33

4-
Packages = https://github.com/stakater/vale-package/releases/download/v0.0.25/Stakater.zip
4+
Packages = https://github.com/stakater/vale-package/releases/download/v0.0.27/Stakater.zip
55
Vocab = Stakater
66

77
# Only check MarkDown files

README.md

+12-1
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,17 @@ You can apply vanilla manifests by changing `RELEASE-NAME` placeholder provided
190190
kubectl apply -f https://raw.githubusercontent.com/stakater/Reloader/master/deployments/kubernetes/reloader.yaml
191191
```
192192

193-
By default, Reloader gets deployed in `default` namespace and watches changes `secrets` and `configmaps` in all namespaces.
193+
By default, Reloader gets deployed in `default` namespace and watches changes `secrets` and `configmaps` in all namespaces.Additionally, in the default Reloader deployment, the following resource limits and requests are set:
194+
195+
```yaml
196+
resources:
197+
limits:
198+
cpu: 150m
199+
memory: 512Mi
200+
requests:
201+
cpu: 10m
202+
memory: 128Mi
203+
```
194204

195205
Reloader can be configured to ignore the resources `secrets` and `configmaps` by passing the following arguments (`spec.template.spec.containers.args`) to its container :
196206

@@ -329,6 +339,7 @@ helm uninstall {{RELEASE_NAME}} -n {{NAMESPACE}}
329339
| `reloader.readOnlyRootFileSystem` | Enforce readOnlyRootFilesystem | boolean | `false` |
330340
| `reloader.legacy.rbac` | | boolean | `false` |
331341
| `reloader.matchLabels` | Pod labels to match | map | `{}` |
342+
| `reloader.enableMetricsByNamespace` | Expose an additional Prometheus counter of reloads by namespace (this metric may have high cardinality in clusters with many namespaces) | boolean | `false` |
332343

333344
#### Deployment Reloader Parameters
334345

deployments/kubernetes/chart/reloader/Chart.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
apiVersion: v1
44
name: reloader
55
description: Reloader chart that runs on kubernetes
6-
version: 1.0.107
7-
appVersion: v1.0.107
6+
version: 1.0.115
7+
appVersion: v1.0.115
88
keywords:
99
- Reloader
1010
- kubernetes

deployments/kubernetes/chart/reloader/templates/_helpers.tpl

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ We truncate at 63 chars because some Kubernetes name fields are limited to this
2222

2323
{{- define "reloader-labels.chart" -}}
2424
app: {{ template "reloader-fullname" . }}
25-
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
25+
chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
2626
release: {{ .Release.Name | quote }}
2727
heritage: {{ .Release.Service | quote }}
2828
app.kubernetes.io/managed-by: {{ .Release.Service | quote }}

deployments/kubernetes/chart/reloader/templates/deployment.yaml

+5-1
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ spec:
7676
- image: "{{ .Values.reloader.deployment.image.name }}:{{ .Values.reloader.deployment.image.tag }}"
7777
imagePullPolicy: {{ .Values.reloader.deployment.image.pullPolicy }}
7878
name: {{ template "reloader-fullname" . }}
79-
{{- if or (.Values.reloader.deployment.env.open) (.Values.reloader.deployment.env.secret) (.Values.reloader.deployment.env.field) (.Values.reloader.deployment.env.existing) (eq .Values.reloader.watchGlobally false) (.Values.reloader.enableHA)}}
79+
{{- if or (.Values.reloader.deployment.env.open) (.Values.reloader.deployment.env.secret) (.Values.reloader.deployment.env.field) (.Values.reloader.deployment.env.existing) (eq .Values.reloader.watchGlobally false) (.Values.reloader.enableHA) (.Values.reloader.enableMetricsByNamespace)}}
8080
env:
8181
{{- range $name, $value := .Values.reloader.deployment.env.open }}
8282
{{- if not (empty $value) }}
@@ -129,6 +129,10 @@ spec:
129129
fieldRef:
130130
fieldPath: metadata.namespace
131131
{{- end }}
132+
{{- if .Values.reloader.enableMetricsByNamespace }}
133+
- name: METRICS_COUNT_BY_NAMESPACE
134+
value: enabled
135+
{{- end }}
132136
{{- end }}
133137

134138
ports:

deployments/kubernetes/chart/reloader/values.yaml

+4-2
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ reloader:
3333
legacy:
3434
rbac: false
3535
matchLabels: {}
36+
# Set to true to expose a prometheus counter of reloads by namespace (this metric may have high cardinality in clusters with many namespaces)
37+
enableMetricsByNamespace: false
3638
deployment:
3739
# If you wish to run multiple replicas set reloader.enableHA = true
3840
replicas: 1
@@ -90,10 +92,10 @@ reloader:
9092
labels:
9193
provider: stakater
9294
group: com.stakater.platform
93-
version: v1.0.107
95+
version: v1.0.115
9496
image:
9597
name: ghcr.io/stakater/reloader
96-
tag: v1.0.107
98+
tag: v1.0.115
9799
pullPolicy: IfNotPresent
98100
# Support for extra environment variables.
99101
env:

deployments/kubernetes/manifests/deployment.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ spec:
1717
app: reloader-reloader
1818
spec:
1919
containers:
20-
- image: "ghcr.io/stakater/reloader:v1.0.107"
20+
- image: "ghcr.io/stakater/reloader:v1.0.115"
2121
imagePullPolicy: IfNotPresent
2222
name: reloader-reloader
2323
ports:

deployments/kubernetes/reloader.yaml

+15-8
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ metadata:
88
meta.helm.sh/release-name: "reloader"
99
labels:
1010
app: reloader-reloader
11-
chart: "reloader-1.0.107"
11+
chart: "reloader-1.0.115"
1212
release: "reloader"
1313
heritage: "Helm"
1414
app.kubernetes.io/managed-by: "Helm"
@@ -25,7 +25,7 @@ metadata:
2525
meta.helm.sh/release-name: "reloader"
2626
labels:
2727
app: reloader-reloader
28-
chart: "reloader-1.0.107"
28+
chart: "reloader-1.0.115"
2929
release: "reloader"
3030
heritage: "Helm"
3131
app.kubernetes.io/managed-by: "Helm"
@@ -92,7 +92,7 @@ metadata:
9292
meta.helm.sh/release-name: "reloader"
9393
labels:
9494
app: reloader-reloader
95-
chart: "reloader-1.0.107"
95+
chart: "reloader-1.0.115"
9696
release: "reloader"
9797
heritage: "Helm"
9898
app.kubernetes.io/managed-by: "Helm"
@@ -115,13 +115,13 @@ metadata:
115115
meta.helm.sh/release-name: "reloader"
116116
labels:
117117
app: reloader-reloader
118-
chart: "reloader-1.0.107"
118+
chart: "reloader-1.0.115"
119119
release: "reloader"
120120
heritage: "Helm"
121121
app.kubernetes.io/managed-by: "Helm"
122122
group: com.stakater.platform
123123
provider: stakater
124-
version: v1.0.107
124+
version: v1.0.115
125125
name: reloader-reloader
126126
namespace: default
127127
spec:
@@ -135,16 +135,16 @@ spec:
135135
metadata:
136136
labels:
137137
app: reloader-reloader
138-
chart: "reloader-1.0.107"
138+
chart: "reloader-1.0.115"
139139
release: "reloader"
140140
heritage: "Helm"
141141
app.kubernetes.io/managed-by: "Helm"
142142
group: com.stakater.platform
143143
provider: stakater
144-
version: v1.0.107
144+
version: v1.0.115
145145
spec:
146146
containers:
147-
- image: "ghcr.io/stakater/reloader:v1.0.107"
147+
- image: "ghcr.io/stakater/reloader:v1.0.115"
148148
imagePullPolicy: IfNotPresent
149149
name: reloader-reloader
150150

@@ -172,6 +172,13 @@ spec:
172172

173173
securityContext:
174174
{}
175+
resources:
176+
limits:
177+
cpu: 150m
178+
memory: 512Mi
179+
requests:
180+
cpu: 10m
181+
memory: 128Mi
175182
securityContext:
176183
runAsNonRoot: true
177184
runAsUser: 65534

deployments/kubernetes/templates/chart/values.yaml.tmpl

+2
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ reloader:
2323
legacy:
2424
rbac: false
2525
matchLabels: {}
26+
# Set to true to expose a prometheus counter of reloads by namespace (this metric may have high cardinality in clusters with many namespaces)
27+
enableMetricsByNamespace: false
2628
deployment:
2729
replicas: 1
2830
nodeSelector:

docs/Verify-Reloader-Working.md

+13
Original file line numberDiff line numberDiff line change
@@ -60,3 +60,16 @@ When Reloader is unable to reload, `reloader_reload_executed_total{success="fals
6060
reloader_reload_executed_total{success="false"} 15
6161
reloader_reload_executed_total{success="true"} 12
6262
```
63+
64+
### Reloads by Namespace
65+
66+
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.
67+
68+
The metric will have both `success` and `namespace` as attributes:
69+
70+
```text
71+
reloader_reload_executed_total{success="false", namespace="some-namespace"} 2
72+
reloader_reload_executed_total{success="true", namespace="some-namespace"} 1
73+
```
74+
75+
To opt in, set the environment variable `METRICS_COUNT_BY_NAMESPACE` to `enabled` or set the Helm value `reloader.enableMetricsByNamespace` to `true`.

go.mod

+17-17
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,17 @@ module github.com/stakater/Reloader
33
go 1.21
44

55
require (
6-
github.com/argoproj/argo-rollouts v1.6.6
6+
github.com/argoproj/argo-rollouts v1.7.1
77
github.com/openshift/api v3.9.0+incompatible
88
github.com/openshift/client-go v0.0.0-20231110140829-a6ca51f6d5ba
99
github.com/parnurzeal/gorequest v0.2.16
1010
github.com/prometheus/client_golang v1.19.1
1111
github.com/sirupsen/logrus v1.9.3
12-
github.com/spf13/cobra v1.8.0
13-
k8s.io/api v0.28.4
14-
k8s.io/apimachinery v0.28.4
15-
k8s.io/client-go v0.28.4
16-
k8s.io/kubectl v0.28.4
12+
github.com/spf13/cobra v1.8.1
13+
k8s.io/api v0.29.3
14+
k8s.io/apimachinery v0.29.3
15+
k8s.io/client-go v0.29.3
16+
k8s.io/kubectl v0.29.3
1717
k8s.io/utils v0.0.0-20240423183400-0849a56e8f22
1818
)
1919

@@ -22,19 +22,19 @@ require (
2222
github.com/cespare/xxhash/v2 v2.2.0 // indirect
2323
github.com/davecgh/go-spew v1.1.1 // indirect
2424
github.com/elazarl/goproxy v0.0.0-20221015165544-a0805db90819 // indirect
25-
github.com/emicklei/go-restful/v3 v3.10.1 // indirect
25+
github.com/emicklei/go-restful/v3 v3.11.0 // indirect
2626
github.com/evanphx/json-patch v5.6.0+incompatible // indirect
27-
github.com/go-logr/logr v1.2.4 // indirect
27+
github.com/go-logr/logr v1.3.0 // indirect
2828
github.com/go-openapi/jsonpointer v0.19.6 // indirect
2929
github.com/go-openapi/jsonreference v0.20.2 // indirect
3030
github.com/go-openapi/swag v0.22.3 // indirect
3131
github.com/gogo/protobuf v1.3.2 // indirect
3232
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
33-
github.com/golang/protobuf v1.5.3 // indirect
33+
github.com/golang/protobuf v1.5.4 // indirect
3434
github.com/google/gnostic-models v0.6.8 // indirect
3535
github.com/google/go-cmp v0.6.0 // indirect
3636
github.com/google/gofuzz v1.2.0 // indirect
37-
github.com/google/uuid v1.3.0 // indirect
37+
github.com/google/uuid v1.6.0 // indirect
3838
github.com/imdario/mergo v0.3.13 // indirect
3939
github.com/inconshreveable/mousetrap v1.1.0 // indirect
4040
github.com/josharian/intern v1.0.0 // indirect
@@ -44,28 +44,28 @@ require (
4444
github.com/modern-go/reflect2 v1.0.2 // indirect
4545
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
4646
github.com/pkg/errors v0.9.1 // indirect
47-
github.com/prometheus/client_model v0.5.0 // indirect
47+
github.com/prometheus/client_model v0.6.0 // indirect
4848
github.com/prometheus/common v0.48.0 // indirect
4949
github.com/prometheus/procfs v0.12.0 // indirect
5050
github.com/smartystreets/goconvey v1.7.2 // indirect
5151
github.com/spf13/pflag v1.0.5 // indirect
5252
golang.org/x/net v0.25.0 // indirect
53-
golang.org/x/oauth2 v0.16.0 // indirect
53+
golang.org/x/oauth2 v0.18.0 // indirect
5454
golang.org/x/sys v0.20.0 // indirect
5555
golang.org/x/term v0.20.0 // indirect
5656
golang.org/x/text v0.15.0 // indirect
5757
golang.org/x/time v0.3.0 // indirect
58-
google.golang.org/appengine v1.6.7 // indirect
58+
google.golang.org/appengine v1.6.8 // indirect
5959
google.golang.org/protobuf v1.33.0 // indirect
6060
gopkg.in/inf.v0 v0.9.1 // indirect
6161
gopkg.in/yaml.v2 v2.4.0 // indirect
6262
gopkg.in/yaml.v3 v3.0.1 // indirect
63-
k8s.io/klog/v2 v2.100.1 // indirect
64-
k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 // indirect
63+
k8s.io/klog/v2 v2.110.1 // indirect
64+
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect
6565
moul.io/http2curl v1.0.0 // indirect
6666
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
67-
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect
68-
sigs.k8s.io/yaml v1.3.0 // indirect
67+
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
68+
sigs.k8s.io/yaml v1.4.0 // indirect
6969
)
7070

7171
// Replacements for argo-rollouts

0 commit comments

Comments
 (0)