Skip to content

Commit e6e72ae

Browse files
committed
feat(proxy): add Api Gateway template for proxy chart
1 parent b811e62 commit e6e72ae

13 files changed

Lines changed: 122 additions & 22 deletions

Taskfile.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ tasks:
4141
4242
update-deps:
4343
desc: Update Helm dependencies
44+
silent: true
4445
cmds:
4546
- |
4647
for chart in $(yq '.chart-dirs[]' charts/ct.yaml); do

charts/proxy/Chart.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,14 @@ appVersion: "1.0.0"
33
description: A Helm chart for Ingress with ExternalName
44
icon: https://freuds.github.io/custom-charts/imgs/proxy.png
55
name: proxy
6-
version: 1.0.0
6+
version: 1.1.0
77
type: application
88
home: https://freuds.github.io/custom-charts
99
sources:
1010
- https://freuds.github.io/custom-charts
1111
keywords:
1212
- proxy
1313
- ingress
14+
- api-gateway
1415
maintainers:
1516
- name: Freuds
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
{{- if .Values.gateway.enabled -}}
2+
{{- $serviceName := include "proxy.name" . -}}
3+
apiVersion: gateway.networking.k8s.io/v1
4+
kind: Gateway
5+
metadata:
6+
namespace: {{ .Values.namespace }}
7+
name: {{ include "proxy.name" . }}
8+
labels:
9+
{{- include "proxy.labels" . | nindent 4 }}
10+
spec:
11+
gatewayClassName: {{ .Values.gateway.gatewayClassName | quote }}
12+
listeners:
13+
- name: {{ .Values.gateway.listener.name }}
14+
protocol: {{ .Values.gateway.listener.protocol }}
15+
port: {{ .Values.gateway.listener.port }}
16+
allowedRoutes:
17+
namespaces:
18+
from: All
19+
20+
---
21+
apiVersion: gateway.networking.k8s.io/v1
22+
kind: HTTPRoute
23+
metadata:
24+
namespace: {{ .Values.namespace }}
25+
name: {{ include "proxy.name" . }}-http
26+
labels:
27+
{{- include "proxy.labels" . | nindent 4 }}
28+
spec:
29+
parentRefs:
30+
- name: {{ include "proxy.name" . }}
31+
hostnames:
32+
{{- range .Values.gateway.hosts }}
33+
- {{ . | quote }}
34+
{{- end }}
35+
rules:
36+
- matches:
37+
- path:
38+
type: PathPrefix
39+
value: /
40+
backendRefs:
41+
- name: {{ $serviceName }}
42+
port: {{ $.Values.service.port }}
43+
weight: 1
44+
{{- end }}

charts/proxy/values.yaml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,3 +33,17 @@ ingress:
3333
# - secretName: chart-example-tls
3434
# hosts:
3535
# - chart-example.local
36+
37+
gateway:
38+
# Enable generation of Gateway API resources (Gateway + HTTPRoute)
39+
enabled: false
40+
# gatewayClassName used by the Gateway resource (depends on your cluster)
41+
gatewayClassName: "nginx"
42+
# Hostnames to expose through the HTTPRoute
43+
hosts:
44+
- chart-example.local
45+
# Listener configuration (simple HTTP listener)
46+
listener:
47+
name: http
48+
protocol: HTTP
49+
port: 80

docs/cronjob-1.0.0.tgz

0 Bytes
Binary file not shown.

docs/gatus-1.3.0.tgz

1 Byte
Binary file not shown.

docs/grafana-dashboards-1.1.6.tgz

86.3 KB
Binary file not shown.

docs/ihm-1.0.0.tgz

0 Bytes
Binary file not shown.

docs/index.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@
1010

1111
### proxy
1212

13-
- **Description** : Ingress Proxy for ExternalName
14-
- **Version** : 1.0.0
13+
- **Description** : Ingress or Api Gateway Proxy
14+
- **Version** : 1.1.0
1515
- **AppVersion** : 1.0.0
1616

1717
### grafana-dashboards
1818

1919
- **Description** : Dashboards for Grafana
20-
- **Version** : 1.1.4
20+
- **Version** : 1.1.6
2121
- **AppVersion** : 1.0.0
2222

2323
### openvpn-exporter

docs/index.yaml

Lines changed: 58 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ entries:
33
cronjob:
44
- apiVersion: v2
55
appVersion: 0.1.3
6-
created: "2025-10-19T14:23:47.052208704Z"
6+
created: "2025-11-11T18:22:58.225965+01:00"
77
description: A Helm chart for cronjob Kubernetes
8-
digest: ddb06c6c09f20e45e061366930560367f9db8592fc6db1f716ae3eccd0de055b
8+
digest: 4af61ce2be6268c4a4ed4bc150f7c613833f28633c3e360951857205cf2f8e64
99
home: https://freuds.github.io/custom-charts/
1010
icon: https://freuds.github.io/custom-charts/imgs/cronjob.png
1111
keywords:
@@ -22,7 +22,7 @@ entries:
2222
version: 1.0.0
2323
- apiVersion: v2
2424
appVersion: 0.1.3
25-
created: "2025-10-19T14:23:47.05193807Z"
25+
created: "2025-11-11T18:22:58.223622+01:00"
2626
description: A Helm chart for cronjob Kubernetes
2727
digest: 380370db38cf455e5fbee7f365b33a146791f781f269c6e27577d91ecbf56ba9
2828
name: cronjob
@@ -33,9 +33,9 @@ entries:
3333
gatus:
3434
- apiVersion: v2
3535
appVersion: v5.18.1
36-
created: "2025-10-19T14:23:47.052897837Z"
36+
created: "2025-11-11T18:22:58.228476+01:00"
3737
description: Automated service health dashboard
38-
digest: a27f0df3bf33763c4950422ba2428440b08585bad1c7c72f29bd48da2971d16e
38+
digest: 3ad6b135368cc640899a1d7e6dfa73d32a6737ddc8a3a24e851dfd06a75793ad
3939
home: https://github.com/TwiN/gatus
4040
icon: https://raw.githubusercontent.com/TwiN/gatus/a1c8422c2ff2b9d0a6f184c99e4dc728d3f2cd75/web/static/logo-192x192.png
4141
keywords:
@@ -56,7 +56,27 @@ entries:
5656
grafana-dashboards:
5757
- apiVersion: v2
5858
appVersion: 1.0.0
59-
created: "2025-10-19T14:23:47.066782714Z"
59+
created: "2025-11-11T18:22:58.254219+01:00"
60+
description: A Helm chart for deploying Grafana Dashboars as configMap in Kubernetes
61+
digest: 1f5b365fa29ef57017223afac1f2cf84479a6365fbaa719c72cd1fa121902222
62+
home: https://freuds.github.io/custom-charts
63+
icon: https://freuds.github.io/custom-charts/imgs/grafana-dashboards.png
64+
keywords:
65+
- grafana
66+
- dashboards
67+
maintainers:
68+
- email: fred@freuds.fr
69+
name: Freuds
70+
name: grafana-dashboards
71+
sources:
72+
- https://freuds.github.io/custom-charts
73+
type: application
74+
urls:
75+
- https://freuds.github.io/custom-charts/grafana-dashboards-1.1.6.tgz
76+
version: 1.1.6
77+
- apiVersion: v2
78+
appVersion: 1.0.0
79+
created: "2025-11-11T18:22:58.249172+01:00"
6080
description: A Helm chart for deploying Grafana Dashboars as configMap in Kubernetes
6181
digest: df1eb2f58e977fe82e2d3fdb0cddfdc691e80aa968cfa313c6598a52c9768b0f
6282
home: https://freuds.github.io/custom-charts
@@ -76,7 +96,7 @@ entries:
7696
version: 1.1.5
7797
- apiVersion: v2
7898
appVersion: 1.0.0
79-
created: "2025-10-19T14:23:47.064130431Z"
99+
created: "2025-11-11T18:22:58.245542+01:00"
80100
description: A Helm chart for deploying Grafana Dashboars as configMap in Kubernetes
81101
digest: 1aed8bb7301991a0bfaf4a114d248fd99d4b970a674623f88930f893427e22d6
82102
home: https://freuds.github.io/custom-charts
@@ -96,7 +116,7 @@ entries:
96116
version: 1.1.4
97117
- apiVersion: v2
98118
appVersion: 1.0.0
99-
created: "2025-10-19T14:23:47.062125228Z"
119+
created: "2025-11-11T18:22:58.241778+01:00"
100120
description: A Helm chart for deploying Grafana Dashboars as configMap in Kubernetes
101121
digest: d70373505bf798fa77e018ae63c0139ddfd838f87652c4790c562f96bff4f699
102122
home: https://freuds.github.io/custom-charts
@@ -116,7 +136,7 @@ entries:
116136
version: 1.1.3
117137
- apiVersion: v2
118138
appVersion: 1.0.0
119-
created: "2025-10-19T14:23:47.05944197Z"
139+
created: "2025-11-11T18:22:58.237841+01:00"
120140
description: A Helm chart for deploying Grafana Dashboars as configMap in Kubernetes
121141
digest: e81da2b32c5329aabaa98b80eeae96c00c324654b9088b831e9ec0e223aa3887
122142
home: https://freuds.github.io/custom-charts
@@ -136,7 +156,7 @@ entries:
136156
version: 1.1.2
137157
- apiVersion: v2
138158
appVersion: 1.0.0
139-
created: "2025-10-19T14:23:47.055956933Z"
159+
created: "2025-11-11T18:22:58.232844+01:00"
140160
description: A Helm chart for deploying Grafana Dashboars as configMap in Kubernetes
141161
digest: e0c224921375e54c294ff5ed57c65dd4e994e72d912326c9ce678d40ed410b5a
142162
home: https://freuds.github.io/custom-charts
@@ -156,9 +176,9 @@ entries:
156176
ihm:
157177
- apiVersion: v2
158178
appVersion: 1.16.0
159-
created: "2025-10-19T14:23:47.067232551Z"
179+
created: "2025-11-11T18:22:58.257073+01:00"
160180
description: A Generic IHM Helm chart for Kubernetes
161-
digest: 37619a65c094ea69a647f58b630ae175f4c861b67d15707c81a6cdec4de9ba2e
181+
digest: c07a38bfeb3322acdb706180591b3e6c2a4d425cff8082ce7172fe858ee4e43d
162182
home: https://freuds.github.io/custom-charts
163183
icon: https://freuds.github.io/custom-charts/imgs/ihm.png
164184
keywords:
@@ -178,9 +198,9 @@ entries:
178198
openvpn-exporter:
179199
- apiVersion: v2
180200
appVersion: v0.3.2
181-
created: "2025-10-19T14:23:47.068380679Z"
201+
created: "2025-11-11T18:22:58.2628+01:00"
182202
description: Prometheus OpenVPN Exporter
183-
digest: a078f56c8750ed4b3d689da79142b479af2936a60e9ed6ee802da92e99dc0135
203+
digest: 0b4ff39b7e8395ed952d8a5a87c97a84fc04c72a9a7df63833b2ff6f37f08d96
184204
home: https://freuds.github.io/custom-charts
185205
icon: https://freuds.github.io/custom-charts/imgs/openvpn-exporter.png
186206
keywords:
@@ -199,7 +219,7 @@ entries:
199219
version: 1.0.1
200220
- apiVersion: v2
201221
appVersion: v0.3.2
202-
created: "2025-10-19T14:23:47.067866451Z"
222+
created: "2025-11-11T18:22:58.259255+01:00"
203223
description: Prometheus SNMP Exporter
204224
digest: a7a89e8ca3e98d305e3284589b35154c7e2965c61e06ec5ee72eea39894417d3
205225
home: https://freuds.github.io/custom-charts
@@ -221,9 +241,29 @@ entries:
221241
proxy:
222242
- apiVersion: v2
223243
appVersion: 1.0.0
224-
created: "2025-10-19T14:23:47.068647215Z"
244+
created: "2025-11-11T18:22:58.267726+01:00"
245+
description: A Helm chart for Ingress with ExternalName
246+
digest: 4f063fba109a4823946a499860e6cb1815c71b3c2d0b4f9b6ef1cb0ccd34cac8
247+
home: https://freuds.github.io/custom-charts
248+
icon: https://freuds.github.io/custom-charts/imgs/proxy.png
249+
keywords:
250+
- proxy
251+
- ingress
252+
- api-gateway
253+
maintainers:
254+
- name: Freuds
255+
name: proxy
256+
sources:
257+
- https://freuds.github.io/custom-charts
258+
type: application
259+
urls:
260+
- https://freuds.github.io/custom-charts/proxy-1.1.0.tgz
261+
version: 1.1.0
262+
- apiVersion: v2
263+
appVersion: 1.0.0
264+
created: "2025-11-11T18:22:58.264675+01:00"
225265
description: A Helm chart for Ingress with ExternalName
226-
digest: ecd4429f535a8e914acd7fa39a44b948e37acf2513eee4976b0e3ba8f0fef10e
266+
digest: 7a755e96449b01eb3de19349d7d2df716fb743e9054af257b9eca5bcf98b92b7
227267
home: https://freuds.github.io/custom-charts
228268
icon: https://freuds.github.io/custom-charts/imgs/proxy.png
229269
keywords:
@@ -238,4 +278,4 @@ entries:
238278
urls:
239279
- https://freuds.github.io/custom-charts/proxy-1.0.0.tgz
240280
version: 1.0.0
241-
generated: "2025-10-19T14:23:47.051585243Z"
281+
generated: "2025-11-11T18:22:58.220027+01:00"

0 commit comments

Comments
 (0)