Compare commits

..

388 commits

Author SHA1 Message Date
Andrey Kitsul
2680f582dc
fix(forgejo-runner): Fix job image for generate-config after added global.image override 2025-02-28 12:21:43 +01:00
db6bc3cfa4
fix(grampsweb): image with prefix 2025-02-27 23:10:39 +01:00
514e251219
fix(grampsweb): add global (and improve docs) 2025-02-27 13:29:57 +01:00
41ae926531
fix(conduit): add global (and improve docs) 2025-02-27 13:29:52 +01:00
c53619a396
fix(autopush): add global (and improve docs) 2025-02-27 13:29:47 +01:00
62b585a006
fix(alertmanager-ntfy): add global (and improve docs) 2025-02-27 13:29:42 +01:00
818b26c642
fix(alertmanager-matrix): add global (and improve docs) 2025-02-27 13:29:37 +01:00
e7fa2e477a
fix(pretix): add global (and improve docs) 2025-02-27 10:55:45 +01:00
0ab3d22506
fix(paperless-ngx): add global (and improve docs) 2025-02-27 10:55:42 +01:00
e0542e7be9
fix(stalwart-mail): add global (and improve docs) 2025-02-27 10:54:45 +01:00
c20b6ea10e
fix(speedtest-exporter): add global (and improve docs) 2025-02-27 10:54:42 +01:00
d97db5482e
fix(postgresql): add global (and improve docs) 2025-02-27 10:54:40 +01:00
39b928f93c
fix(gotosocial): add global (and improve docs) 2025-02-27 10:54:36 +01:00
6445458cd1
fix(forgejo-runner): add global (and improve docs) 2025-02-27 10:54:34 +01:00
552bfaf6d8
fix(element-call): add global (and improve docs) 2025-02-27 10:54:31 +01:00
Andrey Kitsul
c376e4b8ee
feat(forgejo-runner): Added a separate setting for tune dind resources 2025-02-27 10:27:51 +01:00
46ad35ae44
fix(gotosocial): update appVersion 2025-02-25 01:34:54 +01:00
fde4f02619
feat(paperless-ngx): add paperless-ngx 2025-02-25 01:33:19 +01:00
568eba8017
fix(gotosocial): int without quote (but as string) 2025-02-23 09:23:48 +01:00
59c7fd372a
fix(gotosocial): int without quote 2025-02-23 09:20:18 +01:00
45928ee1b8
fix(gotosocial): make trusted proxies configurable 2025-02-23 09:15:08 +01:00
86190b244d
fix(postgresql): update appVersion 2025-02-23 08:50:27 +01:00
750b661050
fix(matrix-authentication-service): update appVersion 2025-02-23 08:50:23 +01:00
5873e81ad7
fix(home-assistant): update appVersion 2025-02-23 08:50:19 +01:00
df9e6938ca
fix(gotosocial): update appVersion 2025-02-23 08:50:00 +01:00
14df2e5633
fix(ocrserver): try language downloader 2025-02-22 03:11:50 +01:00
c6c1b4a04c
fix(ocrserver): networkpolicy (prepare fetch of language) 2025-02-21 23:16:29 +01:00
16d0e48121
fix(ocrserver): adjust probe to status 2025-02-21 22:58:01 +01:00
ecfcb069a3
fix(ocrserver): init ocrserver 2025-02-21 16:30:26 +01:00
d1a8429945
fix(ntfy): helm-hook delete-before-create for setup job 2025-02-21 09:04:57 +01:00
1606b9aabd
fix(pretix): update dependencies redis 2025-02-21 08:38:28 +01:00
644bb3f3f4
fix(forgejo-runner): update dependencies 2025-02-21 08:37:02 +01:00
601f610a86
fix(matrix-synapse): update dependencies redis 2025-02-21 08:31:46 +01:00
227e81515a
fix(autopush): update dependencies redis 2025-02-21 08:31:34 +01:00
9ee24629c6
fix(pretix): update dependencies redis 2025-02-20 03:45:57 +01:00
819ed8252e
fix(matrix-synapse): update dependencies redis 2025-02-20 03:43:52 +01:00
0ee283df17
fix(autopush): update dependencies redis 2025-02-20 03:40:27 +01:00
ef58eb59a8
fix(ntfy): update dependencies kubectl 2025-02-20 03:37:44 +01:00
7c9ca7c4e3
fix(forgejo-runner): update dependencies kubectl 2025-02-20 03:37:41 +01:00
d3ba9541c0
fix(postgresql): update appVersion 2025-02-20 03:31:50 +01:00
f687640c42
fix(matrix-authentication-service): update appVersion 2025-02-20 03:31:47 +01:00
a8cbe79c03
fix(jellyfin): update appVersion 2025-02-20 03:31:44 +01:00
02983322dc
fix(home-assistant): update appVersion 2025-02-20 03:31:41 +01:00
08d01aef91
fix(grampsweb): update appVersion 2025-02-20 03:31:30 +01:00
cee5b3db28
fix(gotosocial): update appVersion 2025-02-20 03:31:26 +01:00
76f7e1f819
fix(mautrix-bridge): update signal 2025-02-18 09:34:06 +01:00
b672571992
fix(matrix-synapse): update appVersion 2025-02-11 23:29:19 +01:00
e744821a04
fix(home-assistant): update appVersion 2025-02-11 23:29:16 +01:00
8f14e47323
fix(matrix-authentication-service): update AppVersion and move from matrix-org to element-hq 2025-02-11 23:26:25 +01:00
db91dac019
fix(pretix): update redis and postgresql 2025-02-08 00:23:49 +01:00
ed8625c625
fix(matrix-synapse): update redis and postgresql 2025-02-08 00:23:46 +01:00
67ca7da919
fix(autopush): update redis and postgresql 2025-02-08 00:23:43 +01:00
58ff147c28
fix(miniserve): update appVersion 2025-02-08 00:20:41 +01:00
834b656916
fix(home-assistant): update appVersion 2025-02-08 00:20:38 +01:00
873def6f3c
fix(conduit): update appVersion 2025-02-08 00:20:27 +01:00
6457beac25
fix(pretix): helm-hook delete-before-create for migration job 2025-02-02 19:31:31 +01:00
a35627e48e
fix(authentik-application): add invalidation flow to proxy provider 2025-02-02 18:39:57 +01:00
f7d860ef89
fix(stalwart-mail): update appVersion 2025-02-02 18:37:47 +01:00
42e1c4143e
fix(pretix): update appVersion 2025-02-02 18:37:44 +01:00
43cf44a240
fix(home-assistant): update appVersion 2025-02-02 18:37:41 +01:00
856b7bf913
fix(grampsweb): update appVersion 2025-02-02 18:37:31 +01:00
af5c638929
fix(forgejo-runner): update appVersion 2025-02-02 18:37:28 +01:00
59f14088b3
fix(stalwart-mail): update appVersion 2025-01-29 21:37:19 +01:00
c7da63f787
fix(matrix-synapse): update appVersion 2025-01-29 21:37:16 +01:00
1b0be409b1
fix(forgejo-runner): update appVersion 2025-01-29 21:37:12 +01:00
ed55b8e683
fix(grampsweb): update appVersion 2025-01-28 17:02:05 +01:00
fe10a40695
fix(jellyfin): update appVersion 2025-01-26 23:25:55 +01:00
8dd5732c21
fix(home-assistant): update everything 2025-01-26 23:25:30 +01:00
b8d36b5296
fix(forgejo-runner): update everything 2025-01-26 23:24:47 +01:00
6de9ec016b
fix(autopush): add unifiedpush common-proxies support 2025-01-22 22:12:54 +01:00
24286723f0
fix(forgejo-runner): update appVersion 2025-01-22 21:04:58 +01:00
174cf19d2c
fix(jellyfin): update appVersion 2025-01-22 21:04:03 +01:00
f656f15e85
fix(home-assistant): update appVersion 2025-01-21 18:52:36 +01:00
c39a8e05b8
fix(headscale-ui): update appVersion 2025-01-20 15:03:13 +01:00
db242ac7f6
fix(autopush): add router of autoconnect to service 2025-01-19 23:55:11 +01:00
e2052a56ff
fix(pretix): redis to persistence 2025-01-18 15:28:57 +01:00
b8969440b7
fix(matrix-synapse): redis to persistence 2025-01-18 14:56:55 +01:00
ff40a7f712
fix(autopush): redis to persistence 2025-01-18 14:56:51 +01:00
fa40436ef0
fix(stalwart-mail): update AppVersion after fix https://github.com/stalwartlabs/mail-server/issues/1104 2025-01-18 00:55:41 +01:00
de8e16c4de
fix(mautrix-bridge): update signal 2025-01-17 23:57:07 +01:00
76fd94a39e
fix(stalwart-mail): update appVersion 2025-01-17 23:45:14 +01:00
8afa8af7bd
fix(ntfy): update dependencies kubectl 2025-01-17 23:42:59 +01:00
679f8f54ad
fix(forgejo-runner): update dependencies kubectl 2025-01-17 23:42:56 +01:00
6a13f3072b
fix(matrix-synapse): update appVersion 2025-01-17 23:41:46 +01:00
d2e147987b
fix(autopush): add grafana dashboards (first draft) 2025-01-16 17:22:01 +01:00
e5099620cd
fix(autopush): add first prometheus rules 2025-01-16 15:38:52 +01:00
4e6de7e2bb
fix(pretix): update dependencies redis 2025-01-15 22:12:16 +01:00
7ae56a29d3
fix(autopush): update dependencies redis 2025-01-15 22:12:12 +01:00
e4086c91c7
fix(forgejo-runner): updates 2025-01-15 22:09:33 +01:00
9c890d23df
fix(home-assistant): update appVersion 2025-01-15 22:07:53 +01:00
b37f6fe615
fix(matrix-synapse): update dependencies 2025-01-15 22:06:38 +01:00
50d64e2bfb
fix(authentik-application): invalidation_flow on oidc 2025-01-08 22:36:38 +01:00
1dd3eeb6b2
fix(authentik-application): redirect_uris 2025-01-08 22:18:21 +01:00
59d61d8fe9
fix(matrix-synapse): update helper 2025-01-07 15:45:21 +01:00
527147cf8e
fix(home-assistant): update appVersion 2025-01-07 15:43:29 +01:00
7813b1540d
fix(stalwart-mail): add default allowed-ip for health-check 2025-01-07 15:42:47 +01:00
c6d73fc92c
fix(autopush): add autoend endpoint_url again 2025-01-07 13:48:58 +01:00
a88e6e8601
fix(home-assistant): new config for helmchart 2025-01-07 12:36:15 +01:00
947486dc81
fix(stalwart-mail): update appVersion 2025-01-06 19:56:08 +01:00
68a9192f11
fix(autopush): update python on helper 2025-01-06 19:55:30 +01:00
6f78c0c592
fix(home-assistant): update AppVersion and deps 2025-01-06 19:53:34 +01:00
fc7a229fcc
feat(autopush): init - WIP 2025-01-06 16:09:15 +01:00
6ca7741a91
fix(grampsweb): update appVersion 2025-01-03 13:42:52 +01:00
033e49c5c0
fix(home-assistant): update appVersion 2024-12-23 12:09:16 +01:00
5dc32f9722
fix(pretix): update redis and postgresql 2024-12-23 12:07:33 +01:00
ef6a0315af
fix(matrix-synapse): update redis and postgresql 2024-12-23 12:07:24 +01:00
742b680c63
fix(home-assistant): update dependencies 2024-12-23 12:04:56 +01:00
8d6d7560a8
fix(ntfy): update dependencies 2024-12-23 12:04:19 +01:00
ece35cce9c
fix(forgejo-runner): update dependencies 2024-12-23 12:03:17 +01:00
de664fc68b
fix(mautrix-bridge): update mautrix-bridge 2024-12-17 17:40:26 +01:00
1807f781d9
fix(pretix): update appVersion 2024-12-17 14:19:11 +01:00
ceb661a790
fix(matrix-synapse): update appVersion 2024-12-17 14:19:08 +01:00
4b5e489ab4
fix(home-assistant): update appVersion 2024-12-17 14:19:05 +01:00
3b45ef423f
fix(forgejo-runner): update appVersion 2024-12-17 14:18:55 +01:00
2407101ec0
feat(pretix): init 2024-12-14 02:45:27 +01:00
b3fd15e30f
fix(ntfy): update dependencies 2024-12-11 13:20:56 +01:00
c01b429f52
fix(forgejo-runner): update dependencies 2024-12-11 13:20:49 +01:00
8745454542
fix(home-assistant): update 2024-12-11 13:18:49 +01:00
e97206fa96
fix(stalwart-mail): update appVersion 2024-12-08 22:29:04 +01:00
16145e2548
fix(grampsweb): update appVersion 2024-12-08 22:29:01 +01:00
ebb3dd435e
fix(matrix-synapse): update 2024-12-06 23:32:44 +01:00
e12fb35a84
fix(home-assistant): update 2024-12-06 23:32:39 +01:00
ef13535140
fix(matrix-synapse): update appVersion 2024-12-04 00:14:51 +01:00
9a8fba28ee
fix(home-assistant): update appVersion 2024-12-04 00:14:45 +01:00
8dc0ef5abb
fix(matrix-synapse): update appVersion 2024-11-30 00:19:23 +01:00
910947134c
fix(forgejo-runner): update appVersion 2024-11-30 00:19:20 +01:00
994721a8a4
fix(element-call): update appVersion 2024-11-30 00:19:17 +01:00
74f448cb9a
fix(conduit): update appVersion 2024-11-30 00:19:14 +01:00
8971235de6
fix(postgresql): update appVersion 2024-11-26 11:32:23 +01:00
3294de9ddf
fix(home-assistant): update appVersion 2024-11-22 15:21:34 +01:00
3bc284a797
fix(element-call): update appVersion 2024-11-22 15:21:11 +01:00
441c4f64a9
fix(alertmanager-ntfy): update appVersion 2024-11-21 21:50:18 +01:00
f59683cf4b
chore(ci): improve publish.sh script 2024-11-21 21:42:14 +01:00
2b84699651
fix(headscale)!: update to v0.23.0 with breaking changes 2024-11-21 21:39:54 +01:00
330095207e
chore(ci): improve publish.sh script 2024-11-21 17:38:07 +01:00
f1c3954586
chore(global): drop asciidoc support 2024-11-21 16:49:47 +01:00
8dc748c9d1
fix(ntfy): update kubectl to v1.31.3 2024-11-21 16:42:09 +01:00
0d4554f545
fix(forgejo-runner): update kubectl to v1.31.3 2024-11-21 16:41:46 +01:00
aba9ed1241
fix(forgejo-runner): update appVersion 2024-11-21 16:39:42 +01:00
4604e5fe6d
chore(forgejo-runner): doc syntax 2024-11-20 23:24:36 +01:00
dde49d45cd
fix(jellyfin): update appVersion 2024-11-20 23:09:53 +01:00
24900e0048
fix(forgejo-runner): update appVersion 2024-11-20 23:09:50 +01:00
a7b0cfb92c
fix(mautrix-bridge): update appVersion 2024-11-18 15:16:33 +01:00
2d624653a8
fix(forgejo-runner): update appVersion 2024-11-18 15:01:52 +01:00
4f25dbc235
fix(jellyfin): update appVersion 2024-11-18 14:56:29 +01:00
bcef18fc36
fix(home-assistant): update appVersion 2024-11-18 14:56:22 +01:00
3b4b6961db
fix(postgresql): update appVersion 2024-11-15 17:58:00 +01:00
3c3c09dd2c
feat(mautrix)!: move mautrix-signal to a generic helm-chart for mautrix 2024-11-13 20:22:38 +01:00
101feb46a6
fix(matrix-synapse): update appVersion 2024-11-13 19:29:09 +01:00
92acda05be
fix(forgejo-runner): add README in markdown 2024-11-12 12:24:34 +01:00
d8004bcb81
fix(conduit): add README in markdown 2024-11-12 12:24:32 +01:00
0d12449bd8
fix(alertmanager-matrix): add README in markdown 2024-11-12 12:24:16 +01:00
5bc85aca1e
fix(speedtest-exporter): add README in markdown 2024-11-12 12:15:24 +01:00
4e6beb2b62
fix(postgresql): add README in markdown 2024-11-12 12:15:21 +01:00
4a22a672c5
fix(ntfy): add README in markdown 2024-11-12 12:15:19 +01:00
ce5a2c0fdb
fix(monitoring): add README in markdown 2024-11-12 12:15:16 +01:00
99db5b44ef
fix(miniserve): add README in markdown 2024-11-12 12:15:14 +01:00
5f946e11e6
fix(matrix-synapse): add README in markdown 2024-11-12 12:15:11 +01:00
86755ddff6
fix(matrix-sliding-sync): add README in markdown 2024-11-12 12:15:09 +01:00
32a8cc40cf
fix(matrix-authentication-service): add README in markdown 2024-11-12 12:15:05 +01:00
8bd352a9d7
fix(jellyfin): add README in markdown 2024-11-12 12:15:03 +01:00
27564187fd
fix(hydrogen-web): add README in markdown 2024-11-12 12:15:00 +01:00
7c926ac432
fix(grampsweb): add README in markdown 2024-11-12 12:14:55 +01:00
0335bfdb12
fix(gotosocial): add README in markdown 2024-11-12 12:14:52 +01:00
7239373db2
fix(element-call): add README in markdown 2024-11-12 12:14:49 +01:00
16b3a74e74
fix(authentik-application): add README in markdown 2024-11-12 12:14:44 +01:00
50633fccbd
fix(home-assistant): update AppVersion to v2024.11.1 2024-11-12 11:16:30 +01:00
1d57a623fc
chore: add debug output on publish.sh 2024-11-08 15:43:25 +01:00
d75dcd1411
fix(stalwart-mail): update appVersion 2024-11-08 15:40:34 +01:00
d8c1b296f5
fix(home-assistant): update appVersion 2024-11-08 15:38:20 +01:00
6eb0c854cf
fix(gotosocial): update appVersion 2024-11-06 22:50:35 +01:00
702e8cd796
fix(jellyfin): update appVersion 2024-11-06 11:23:03 +01:00
dad41dade7
fix(gotosocial): update appVersion 2024-11-06 11:23:00 +01:00
8e9066c8b4
fix(alertmanager-matrix): change registry for support arm64 (own build) 2024-11-01 22:11:21 +01:00
2ee0926c93
fix(forgejo-runner): update appVersion 2024-11-01 19:45:12 +01:00
84c9135489
fix(home-assistant): update zigbee2mqtt 2024-11-01 19:43:49 +01:00
d350facac3
fix(grampsweb): update appVersion 2024-11-01 19:42:35 +01:00
ecd791d0cd
fix(matrix-synapse): upgrade postgresql - BREAKING CHANGES 2024-11-01 19:34:36 +01:00
d33ebc16e3
fix(matrix-synapse): adjust helm-hook for signing-key job 2024-11-01 19:31:39 +01:00
ebf8a3eba2
fix(ntfy): update appVersion 2024-10-30 19:59:44 +01:00
6423fe0d6c
fix(matrix-synapse): update appVersion 2024-10-30 19:59:42 +01:00
31c8844c6a
fix(jellyfin): update appVersion 2024-10-30 19:59:40 +01:00
d9c98abb3c
fix(home-assistant): update appVersion 2024-10-30 19:59:37 +01:00
65ea3b95eb
fix(forgejo-runner): update appVersion 2024-10-30 19:59:24 +01:00
ec4f5a9235
fix(gotosocial): update appVersion 2024-10-22 10:38:14 +02:00
83d2cdd1fd
fix(hydrogen-web): update appVersion 2024-10-22 10:37:56 +02:00
24cbc8c2db
fix(home-assistant): update home-assistent and nats/mqtt 2024-10-22 10:37:24 +02:00
Calle Englund
34635afd4b
feat(forgejo-runner): add hpa behavior support
Allows customizing HPA behaviors when autoscaling is enabled.
2024-10-16 19:39:12 +02:00
48c65fe19f
fix(home-assistant): add podmonitor (with given bearerTokenSecret) 2024-10-16 19:10:01 +02:00
e22b40e8e4
fix(gotosocial): update appVersion 2024-10-16 18:36:07 +02:00
c19794de4a
fix(matrix-synapse): update appVersion 2024-10-16 18:35:32 +02:00
a79136028c
fix(stalwart-mail): update appVersion 2024-10-16 18:34:36 +02:00
a4e242c9d5
fix(mautrix-signal): update appVersion 2024-10-16 18:33:56 +02:00
tectux
7df49a6afa
fix(conduit): wellknown custom deployment 2024-10-11 23:58:42 +02:00
6c3deba125
fix(home-assistant): update appVersion 2024-10-11 23:13:46 +02:00
0f400688df
fix(gotosocial): no empty values in secret 2024-10-10 23:26:22 +02:00
d3df54a036
fix(stalwart-mail): update appVersion 2024-10-10 23:17:04 +02:00
b44b87338e
fix(conduit): update nginx for well-known 2024-10-06 14:19:23 +02:00
9958ceb79f
fix(conduit): use docker.io because of well tagged container images 2024-10-06 14:12:44 +02:00
af8f5968ac
fix(matrix-synapse): update nginx for well-known 2024-10-06 14:08:15 +02:00
22bdadf946
fix(home-assistant): update AppVersion and zigbee2mqtt 2024-10-06 14:06:23 +02:00
tectux
b530414bdd
fix(conduit) labels so that service can find pod
fix #184 (close #185)
2024-10-06 14:03:41 +02:00
ce6eea5496
fix(postgresql): use for major update pgautoupgrade 2024-10-01 15:59:40 +02:00
c30caa3763
fix(matrix-synapse): update to v1.116.0 2024-10-01 14:37:59 +02:00
a6ab540830
fix(forgejo-runner): do not delete config secret (hook with resource-policy only delete) 2024-09-30 21:24:58 +02:00
69bf19be1e
fix(forgejo-runner): do not delete configfile secret (hook without resource-policy) 2024-09-30 21:06:12 +02:00
f99e88a370
fix(stalwart-mail): update appVersion 2024-09-30 19:57:42 +02:00
Alexey Pavlunin
54755bc90c
fix(forgejo-runner): fix secrets creation, adding envs from values 2024-09-30 19:47:22 +02:00
19e361b9f5
fix(home-assistant): update AppVersion and deps 2024-09-28 17:50:35 +02:00
2fc63308da
fix(forgejo-runner): update dependencies 2024-09-21 16:58:42 +02:00
f27b3fa9e7
fix(element-call): update appVersion 2024-09-21 13:39:14 +02:00
bd2b407c77
fix(ntfy): grafana dashboards 2024-09-18 15:58:15 +02:00
c713bbdf90
fix(miniserve): update appVersion 2024-09-18 13:21:33 +02:00
f80f70e7d3
fix(matrix-synapse): update alpine helper 2024-09-18 12:58:27 +02:00
a3b537a5b8
fix(forgejo-runner): update kubectl and dind 2024-09-18 12:57:39 +02:00
e1d631b121
fix(ntfy): update kubectl 2024-09-18 12:56:59 +02:00
632b4234f9
fix(stalwart-mail): update appVersion 2024-09-18 12:55:19 +02:00
26cdda5bee
fix(miniserve): update appVersion 2024-09-18 12:55:16 +02:00
6a8adae834
fix(mautrix-signal): update appVersion 2024-09-18 12:55:13 +02:00
8b5ba6c641
fix(matrix-synapse): update appVersion 2024-09-18 12:55:11 +02:00
f0ab2a7061
fix(home-assistant): update appVersion 2024-09-18 12:55:08 +02:00
87c9b27aea
fix(home-assistant): update appVersion 2024-09-09 15:56:25 +02:00
8791b1de95
fix(jellyfin): update appVersion 2024-09-09 15:54:56 +02:00
f8d6c2191b
fix(home-assistant): update appVersion 2024-09-05 12:57:21 +02:00
90c324572d
fix(matrix-authentication-service): update appVersion 2024-09-04 16:55:34 +02:00
4a8bcb00fc
fix(element-call): update appVersion 2024-09-04 16:55:30 +02:00
6b4e02e43b
fix(element-call): update appVersion 2024-09-03 12:06:28 +02:00
0b9d6c262c
fix(matrix-synapse): update appVersion 2024-09-03 12:05:35 +02:00
75ddac6bd2
fix(home-assistant): update zigbee2mqtt 2024-09-03 12:03:33 +02:00
18e0ef8747
fix(forgejo-runner): update dind 2024-09-01 12:59:49 +02:00
e3855f0199
fix(jellyfin): update appVersion 2024-09-01 12:59:11 +02:00
1217a5e74f
fix(home-assistant): update home-assistent and nats/mqtt 2024-09-01 12:58:35 +02:00
8c843f6648
fix(ntfy): update grafana dashboard 2024-08-25 06:37:51 +02:00
77036c3301
fix(matrix-sliding-sync): add grafana dashboard 2024-08-25 06:11:30 +02:00
e1755dc3e5
fix(matrix-synapse): update appVersion 2024-08-25 05:57:29 +02:00
07653a06a6
fix(matrix-authentication-service): update appVersion 2024-08-25 05:57:26 +02:00
7164c92c80
fix(hydrogen-web): update appVersion 2024-08-25 05:57:24 +02:00
32baf52508
fix(forgejo-runner): update appVersion 2024-08-25 05:57:22 +02:00
04e0d1136c
fix(element-call): update appVersion 2024-08-25 05:57:19 +02:00
81a09c95ae
fix(grampsweb): update appVersion 2024-08-25 05:51:20 +02:00
ed89909ed7
fix(mautrix-signal): improve display_name template 2024-08-25 05:50:57 +02:00
4e67ed133e
-a(matrix-synapse): support well-known for element 2024-08-23 19:17:07 +02:00
b9234328e9
fix(element-call): improve auto-restart, optional lk-jwt and networkpolicy 2024-08-23 18:00:38 +02:00
d9944d6c3f
fix(matrix-synapse): add cors to well-known 2024-08-23 09:47:15 +02:00
6f18af3d01
fix(headscale): add networkpolicy support 2024-08-22 21:45:48 +02:00
24bbbe0bec
fix(headscale-ui): update appVersion 2024-08-22 21:27:11 +02:00
f4f5a52ffa
fix(grampsweb): add networkpolicy support 2024-08-22 20:58:56 +02:00
fbcc720a42
fix(ntfy): add networkpolicy support 2024-08-22 20:51:58 +02:00
c66c4f77be
fix(speedtest-exporter): add networkpolicy support 2024-08-22 20:23:21 +02:00
49bcbf4130
fix(miniserve): add networkpolicy support 2024-08-22 20:10:25 +02:00
9dac131ffd
fix(jellyfin): add networkpolicy support 2024-08-22 20:05:05 +02:00
2022282bd6
fix(alertmanager-matrix): update appVersion 2024-08-19 10:51:39 +02:00
ee252d8925
fix(gotosocial): add configuration options for instance 2024-08-17 17:43:27 +02:00
1832176782
fix(mautrix-signal): drop of metrics (see https://github.com/mautrix/signal/issues/532 2024-08-17 13:24:45 +02:00
47589dca29
fix(mautrix-signal): config format of new version 2024-08-17 12:58:50 +02:00
fb1ae2cac3
fix(mautrix-signal): config format of new version 2024-08-17 12:05:11 +02:00
7f84327519
fix(matrix-synapse): update dependencies 2024-08-17 10:52:55 +02:00
5af651081b
fix(forgejo-runner): update helper images 2024-08-17 10:48:17 +02:00
e70e63fdde
fix(ntfy): update kubectl 2024-08-17 10:47:27 +02:00
ec3560c527
fix(conduit): update well-known nginx 2024-08-17 10:46:33 +02:00
89480023e5
fix(home-assistant): update AppVersion v2024.8.2 2024-08-17 10:45:15 +02:00
1043a09187
fix(element-call): update AppVersion v0.6.0 2024-08-17 10:43:46 +02:00
0491cc9ea1
fix(mautrix-signal): update AppVersion v0.7.0 2024-08-17 03:56:11 +02:00
3ee4a6ac92
fix(stalwart-mail): update AppVersion v0.9.1 (and scrape metrics) 2024-08-12 15:02:16 +02:00
3cf062a20e
fix(postgresql): update appVersion 2024-08-09 10:23:44 +02:00
1970272209
fix(home-assistant): update appVersion 2024-08-09 10:23:40 +02:00
9ad82a6ee1
fix(jellyfin): update AppVersion v10.9.9 2024-08-07 16:16:41 +02:00
46cd9fc3f5
fix(matrix-synapse): update alpine v3.20.2 2024-08-04 15:14:21 +02:00
4e92238ebd
fix(forgejo-runner): update dependencies (docker-in-docker v27.1.1) 2024-08-04 15:13:13 +02:00
0f4fb68e2e
fix(home-assistant): update AppVersion v2024.7.1 and zigbee2mqtt 2024-08-04 15:08:58 +02:00
811b96fdd6
fix(grampsweb): update AppVersion v24.7.1 2024-08-04 15:07:08 +02:00
pat-s
98d56f9a32
fix(ntfy): updateStrategy move to correct place 2024-08-04 15:02:10 +02:00
540393064d
feat(ntfy): add web push support 2024-07-26 02:33:42 +02:00
pat-s
1f45a8d4d7
feat(ntfy): add support to set env and envFrom 2024-07-26 01:19:13 +02:00
00f54c07ed
feat(matrix-sliding-sync): add opentelemetry suppor 2024-07-23 16:47:05 +02:00
514f95ee35
fix(element-call): update appVersion 2024-07-23 15:44:31 +02:00
8a869bd08d
fix(element-call): draft with lk-jwt 2024-07-23 15:19:07 +02:00
f6823e2b46
fix(stalwart-mail): typo in probes 2024-07-22 12:07:10 +02:00
9fa8402d45
fix(ntfy): typo in indent 2024-07-22 12:05:20 +02:00
3462a1a93b
fix(stalwart-mail): update AppVersion v0.8.5 + support probes 2024-07-21 23:03:36 +02:00
54b216eca3
fix(jellyfin): update AppVersion v10.9.8 2024-07-21 22:48:52 +02:00
pat-s
0a6069e2ec
fix(ntfy): add updateStrategy with default 'recreate' 2024-07-21 22:33:13 +02:00
69166898cd
fix(mautrix-signal): update AppVersion v0.6.3 2024-07-20 17:01:15 +02:00
7285edf31c
fix(forgejo-runner): update kubectl to 1.30.3 2024-07-20 17:00:27 +02:00
3fac9855f1
fix(home-assistant): update AppVersion v2024.7.3 (and nats) 2024-07-20 16:59:36 +02:00
29ceef56f0
fix(gotosocial): add tracing support 2024-07-19 18:22:42 +02:00
5706e787d6
fix(grampsweb): improve configuration (add MEDIA_PREFIX_TREE) 2024-07-16 13:33:46 +02:00
dac942fc6f
fix(grampsweb): update AppVersion v24.7.0 2024-07-16 13:14:44 +02:00
c75447b031
fix(home-assistant): update AppVersion v2024.7.2 2024-07-16 13:13:56 +02:00
eab82cac05
fix(home-assistant): update AppVersion v2024.7.1 2024-07-06 21:41:48 +02:00
492a92e615
fix(authentik-application): add tls and annotations for outpost ingress 2024-07-06 20:55:27 +02:00
348a90e0ff
fix(grampsweb): update AppVersion v24.6.0 2024-07-05 12:53:22 +02:00
3aad4adb1e
fix(speedtest-exporter): improve config parameter 2024-07-05 12:40:07 +02:00
b7910666e9
fix(speedtest-exporter): improve dashboard 2024-07-05 12:21:00 +02:00
581addb559
feat(speedtest-exporter): implement 2024-07-05 11:36:30 +02:00
8b84fa2384
fix(matrix-sliding-sync): update appVersion 2024-07-05 09:47:57 +02:00
d5fbf2c54f
fix(jellyfin): update appVersion 2024-07-05 09:47:55 +02:00
f2cbe7649b
fix(forgejo-runner): update appVersion 2024-07-05 09:47:53 +02:00
c1d8d02da8
fix(home-assistant): update AppVersion v2024.7.0 and nats,zigbee2mqtt 2024-07-05 09:43:07 +02:00
d03a21ee11
fix(jellyfin): add monitoring 2024-06-29 15:58:01 +02:00
2efaee8c2c
fix(jellyfin): update AppVersion v10.9.7 2024-06-25 08:10:15 +02:00
c0b864be6f
fix(matrix-synapse): update alpine v3.20.1 2024-06-24 10:02:42 +02:00
2fffc961e8
fix(home-assistant): update AppVersion v2024.6.4 2024-06-24 10:01:06 +02:00
06a52ef3af
fix(headscale): bootstrap with config 2024-06-24 10:00:21 +02:00
e6d707b553
fix(mautrix-signal): update AppVersion v0.6.2 2024-06-18 15:48:23 +02:00
6aff3bea94
fix(gotosocial): update AppVersion v0.16.0 2024-06-18 15:47:51 +02:00
1193c85888
fix(home-assistant): update AppVersion v2024.6.3 2024-06-18 15:46:03 +02:00
cf979a2de2
fix(forgejo-runner): update kubectl v1.30.2 2024-06-15 09:05:18 +02:00
febc503b39
fix(home-assistant): update AppVersion v2024.6.2 2024-06-15 09:04:22 +02:00
878c265a27
fix(conduit): update AppVersion v0.8.0 2024-06-15 09:03:22 +02:00
b499dc1f18
fix(stalwart-mail): add chart-testing values for traefik 2024-06-11 16:26:46 +02:00
7e3786c91b
fix(stalwart-mail): validate traefik port 2024-06-11 15:35:53 +02:00
451d130f6b
fix(stalwart-mail): ports cleanup 2024-06-11 14:38:25 +02:00
f57d6d587a
fix(stalwart-mail): improve traefik ports 2024-06-11 14:24:00 +02:00
d44afc59a8
fix(stalwart-mail): add pop3 2024-06-11 14:09:01 +02:00
e4ecf55fc1
fix(jellyfin): update AppVersion to v10.9.6 2024-06-10 22:57:39 +02:00
0f16270e77
fix(forgejo-runner): update AppVersion to v3.5.0 2024-06-10 01:02:34 +02:00
c165d1413e
fix(home-assistant): update AppVersion to v2024.6.1 2024-06-10 01:01:41 +02:00
836988f41c
fix(matrix-synapse): update nginx to v1.27.0 2024-06-06 08:32:35 +02:00
09ed04bb3c
fix(conduit): update nginx to v1.27.0 2024-06-06 08:32:32 +02:00
7a2be21b71
fix(home-assistant): update appVersion 2024-06-06 08:30:39 +02:00
a64bdac6f8
fix(forgejo-runner): update dind to v26.1.4 2024-06-06 08:28:12 +02:00
b9378468f3
fix(matrix-authentication-service): port mapping 2024-06-05 17:40:38 +02:00
5cb8591591
fix(headscale-ui): improve networking 2024-05-30 16:38:26 +02:00
Renovate Bot
3d1999fd7a
fix(stalwart-mail): update AppVersion to v0.8.1 2024-05-27 21:33:38 +02:00
9b48a048d4
fix(forgejo-runner): use configfile with values from helm-chart
Co-authored-by: Lukas <info@devls.de>
2024-05-26 19:54:30 +02:00
c4ab2ae7e1
fix(forgejo-runner): wait for docker 2024-05-26 18:27:32 +02:00
cdb7de2b20
fix(home-assistant): update appVersion 2024-05-26 18:04:24 +02:00
5e88a26d3b
fix(matrix-sliding-sync): update appVersion to v0.99.18 2024-05-26 18:03:41 +02:00
5bd575f878
fix(matrix-synapse): update alpine to v3.20.0 2024-05-26 18:02:24 +02:00
6ba3d0a3b3
fix(home-assistant): update appVersion 2024-05-17 22:31:05 +02:00
ca7a2185ad
fix(forgejo-runner): update kubectl to v1.30.1 2024-05-17 14:41:39 +02:00
5824e79b1b
fix(forgejo-runner): update dind to v26.1.3 2024-05-17 14:40:47 +02:00
98aa09a4f9
fix(conduit): update nginx for well-known to v1.26 2024-05-17 14:39:24 +02:00
12dee15e79
fix(mautrix-signal): update to v0.6.1 2024-05-17 14:38:10 +02:00
bbe1f27caa
fix(postgresql): update appVersion 2024-05-14 13:22:36 +02:00
27c2a8fe81
fix(ntfy): update appVersion 2024-05-14 13:22:11 +02:00
dcec22c5a3
fix(matrix-synapse): update appVersion 2024-05-14 13:22:07 +02:00
6712dd0ca4
fix(matrix-sliding-sync): update appVersion 2024-05-14 13:22:02 +02:00
9ef411a665
fix(conduit): update appVersion 2024-05-14 13:18:49 +02:00
e7e97a1657
fix(forgejo-runner): update appVersion 2024-05-14 13:15:03 +02:00
bd15e54b9b
fix(home-assistant): update appVersion 2024-05-14 13:13:16 +02:00
399a0debf5
fix(forgejo-runner): update appVersion 2024-05-14 13:12:19 +02:00
fdbb960825
fix(grampsweb): update appVersion 2024-05-14 13:10:57 +02:00
056f1b3963
fix(headscale): increase time to info alert 2024-04-18 23:12:46 +02:00
cedb0de87d
fix(forgejo-runner): update dependencies (kubectl v1.29.4) 2024-04-18 20:19:48 +02:00
2d76b00268
fix(matrix-synapse): update dependencies (nginx v1.25.5) 2024-04-18 20:18:48 +02:00
8de45a5fa0
fix(mautrix-signal): update appVersion 2024-04-17 00:38:13 +02:00
f937f62405
fix(forgejo-runner): update dependencies (docker-in-docker v26.0.1) 2024-04-16 10:58:40 +02:00
3c31323a65
fix(home-assistant): update dependencies 2024-04-16 10:57:56 +02:00
feb14ef48e
fix(home-assistant): update appVersion 2024-04-16 10:57:18 +02:00
528b12f19a
fix(headscale): prometheus rule 2024-04-16 10:42:35 +02:00
18c48bc8c7
fix(headscale): update appVersion 2024-04-12 10:22:12 +02:00
45d72e3810
fix(headscale): correct image registry 2024-04-12 10:16:36 +02:00
4d9f46ae9e
fix(headscale): update appVersion 2024-04-12 09:28:31 +02:00
e566e64fe7
feat(headscale): add default prometheus rules 2024-04-12 09:28:19 +02:00
4911a0ae95
fix(gotosocial): update appVersion 2024-04-11 11:54:13 +02:00
eb4871ff58
fix(home-assistant): update appVersion 2024-04-11 09:15:36 +02:00
738cda0985
fix(home-assistant): update appVersion 2024-04-06 11:14:18 +02:00
e64c2a9aaf
fix(home-assistant): update appVersion 2024-04-03 22:46:39 +02:00
e4eed9122d
chore(docs): support sections 2024-04-03 15:48:03 +02:00
167acdfd97
fix(matrix-authentication-service): update appVersion 2024-04-03 13:51:21 +02:00
cd70085fa4
fix(home-assistant): update appVersion 2024-04-03 13:50:53 +02:00
c74925e69a
fix(grampsweb): update appVersion 2024-04-03 13:50:04 +02:00
339ed7a218
feat(monitoring): manage proto support on prober 2024-04-03 13:48:32 +02:00
3a6f0ac0f7
fix(home-assistant): update appVersion 2024-03-30 11:54:17 +01:00
a520fcae73
fix(home-assistant): allow zigbee2mqtt on different ingress hosts 2024-03-30 11:53:38 +01:00
5e2dbf6b21
fix(home-assistant): update appVersion 2024-03-26 17:46:04 +01:00
27d7acec96
fix(ntfy): update appVersion 2024-03-26 17:44:29 +01:00
49f5f6db59
fix(forgejo-runner): update appVersion 2024-03-26 17:43:58 +01:00
151ef8b4da
fix(home-assistant): init 2024-03-26 17:42:48 +01:00
9d7786a448
fix(stalwart-mail): correct default values 2024-03-21 15:33:12 +01:00
acd6f96fae
fix(stalwart-mail): correct default values 2024-03-21 15:33:01 +01:00
566d70c60e
fix(forgejo-runner): update appVersion 2024-03-21 15:04:15 +01:00
965dc4a18e
fix(matrix-synapse): update appVersion 2024-03-21 15:02:42 +01:00
2a6556d35a
fix(forgejo-runner): update appVersion 2024-03-16 18:40:02 +01:00
dbc747794d
fix(grampsweb): update appVersion 2024-03-16 18:39:24 +01:00
b2843b2f5d
fix(miniserve): update appVersion 2024-03-16 18:38:59 +01:00
6101dc82fa
fix(mautrix-signal): update appVersion 2024-03-16 18:38:37 +01:00
df8c615e79
fix(grampsweb): update appVersion 2024-03-13 23:38:14 +01:00
b93af06dc2
fix(ci): sorting based on version 2024-03-13 21:39:05 +01:00
181b377cfa
fix(gotosocial): update appVersion 2024-03-13 21:31:58 +01:00
1e4f49c896
fix(matrix-authentication-service): first usable release 2024-03-13 21:30:04 +01:00
f96cd62c47
fix(matrix-synapse): update dependencies charts 2024-03-11 22:45:52 +01:00
684e55d4cc
fix(forgejo-runner): update appVersion 2024-03-11 22:42:55 +01:00
eae2dac2b1
fix(stalwart-mail): update appVersion 2024-03-11 22:42:15 +01:00
a9debdcd64
fix(ntfy): update appVersion 2024-03-11 22:40:13 +01:00
63379cf9c1
fix(gotosocial): update appVersion 2024-03-11 22:37:42 +01:00
343 changed files with 16549 additions and 10183 deletions

View file

@ -1,72 +0,0 @@
{{ define "chart.header" }}= {{ .Name }}
{{ end }}
{{ define "chart.versionBadge" }}
image::https://img.shields.io/badge/Version-{{ .Version | replace "-" "--" }}-informational?style=flat-square[Version: {{ .Version }}]{{end}}
{{ define "chart.typeBadge" }}
image::https://img.shields.io/badge/Version-{{ .Type }}-informational?style=flat-square[Type: {{ .Type }}]{{end}}
{{ define "chart.appVersionBadge" }}{{- if (ne .AppVersion "") }}
image::https://img.shields.io/badge/AppVersion-{{ .AppVersion }}-informational?style=flat-square[AppVersion: {{ .AppVersion }}]{{ end }}{{end}}
{{ define "chart.maintainersHeader" }}== Maintainers{{ end }}
{{ define "chart.maintainersTable" }}.Maintainers
|===
| Name | Email | Url
{{- range .Maintainers }}
| {{ .Name }}
| {{ if .Email }}<{{ .Email }}>{{ end }}
| {{ if .Url }}<{{ .Url }}>{{ end }}
{{- end }}
|===
{{ end }}
{{ define "chart.valuesHeader" }}== Values{{ end }}
{{ define "chart.valuesTable" }}.Values
|===
| Key | Type | Default | Description
{{- range .Values }}
| {{ .Key }}
| {{ .Type }}
| {{ if .Default }}{{ .Default }}{{ else }}{{ .AutoDefault }}{{ end }}
| {{ if .Description }}{{ .Description }}{{ else }}{{ .AutoDescription }}{{ end }}
{{- end }}
|===
{{ end }}
{{- define "chart.prerequirements" -}}{{- end -}}
{{ template "chart.header" . }}
{{ template "chart.deprecationWarning" . }}
{{ template "chart.badgesSection" . }}
{{ template "chart.maintainersSection" . }}
{{ template "chart.prerequirements" . }}
== Usage
Helm must be installed and setup to your kubernetes cluster to use the charts.
Refer to Helm's https://helm.sh/docs[documentation] to get started.
Once Helm has been set up correctly, fetch the charts as follows:
[source,bash]
----
helm pull oci://codeberg.org/wrenix/helm-charts/{{ template "chart.name" . }}
----
You can install a chart release using the following command:
[source,bash]
----
helm install {{ template "chart.name" . }}-release oci://codeberg.org/wrenix/helm-charts/{{ template "chart.name" . }} --values values.yaml
----
To uninstall a chart release use `helm`'s delete command:
[source,bash]
----
helm uninstall {{ template "chart.name" . }}-release
----
{{ template "chart.valuesSection" . }}
Autogenerated from chart metadata using https://github.com/norwoodj/helm-docs[helm-docs]

View file

@ -1,26 +1,29 @@
= helm-charts
---
title: "Helm-Charts"
weight: 1
cascade:
- url: /:sections/:title/
url: /:sections
---
== Usage
## Usage
Helm must be installed and setup to your kubernetes cluster to use the charts.
Refer to Helm's https://helm.sh/docs[documentation] to get started.
Refer to Helm's [documentation](https://helm.sh/docs) to get started.
Once Helm has been set up correctly, fetch the charts as follows:
[source,bash]
----
```bash
helm pull oci://codeberg.org/wrenix/helm-charts/<chart.name>
----
```
You can install a chart release using the following command:
[source,bash]
----
```bash
helm install <release> oci://codeberg.org/wrenix/helm-charts/<chart.name> --values values.yaml
----
```
To uninstall a chart release use `helm`'s delete command:
[source,bash]
----
```bash
helm uninstall <release>
----
```

54
README.md.gotmpl Normal file
View file

@ -0,0 +1,54 @@
---
title: {{ .Name | quote }}
{{ if .Description }}
description: {{.Description | quote }}
{{ end }}
---
{{- define "chart.prerequirements" }}
{{- end }}
{{ template "chart.header" . }}
{{ template "chart.deprecationWarning" . }}
{{ template "chart.badgesSection" . }}
{{ template "chart.description" . }}
{{ template "chart.homepageLine" . }}
{{ template "chart.maintainersSection" . }}
{{ template "chart.sourcesSection" . }}
{{ template "chart.prerequirements" . }}
## Usage
Helm must be installed and setup to your kubernetes cluster to use the charts.
Refer to Helm's [documentation](https://helm.sh/docs) to get started.
Once Helm has been set up correctly, fetch the charts as follows:
```bash
helm pull oci://codeberg.org/wrenix/helm-charts/{{ .Name }}
```
You can install a chart release using the following command:
```bash
helm install {{ .Name }}-release oci://codeberg.org/wrenix/helm-charts/{{ .Name }} --values values.yaml
```
To uninstall a chart release use `helm`'s delete command:
```bash
helm uninstall {{ .Name }}-release
```
{{ template "chart.requirementsSection" . }}
{{ template "chart.valuesSection" . }}
Autogenerated from chart metadata using [helm-docs](https://github.com/norwoodj/helm-docs)

View file

@ -2,9 +2,9 @@ apiVersion: v2
name: alertmanager-matrix
description: Service for managing and receiving Alertmanager alerts on Matrix
type: application
version: 0.1.8
version: "0.1.12"
# renovate: image=docker.io/silkeh/alertmanager_matrix
appVersion: "0.4.3"
appVersion: "0.5.0"
maintainers:
- name: WrenIX
url: https://wrenix.eu

View file

@ -1,366 +0,0 @@
= alertmanager-matrix
image::https://img.shields.io/badge/Version-0.1.8-informational?style=flat-square[Version: 0.1.8]
image::https://img.shields.io/badge/Version-application-informational?style=flat-square[Type: application]
image::https://img.shields.io/badge/AppVersion-0.4.3-informational?style=flat-square[AppVersion: 0.4.3]
== Maintainers
.Maintainers
|===
| Name | Email | Url
| WrenIX
|
| <https://wrenix.eu>
|===
== Usage
Helm must be installed and setup to your kubernetes cluster to use the charts.
Refer to Helm's https://helm.sh/docs[documentation] to get started.
Once Helm has been set up correctly, fetch the charts as follows:
[source,bash]
----
helm pull oci://codeberg.org/wrenix/helm-charts/alertmanager-matrix
----
You can install a chart release using the following command:
[source,bash]
----
helm install alertmanager-matrix-release oci://codeberg.org/wrenix/helm-charts/alertmanager-matrix --values values.yaml
----
To uninstall a chart release use `helm`'s delete command:
[source,bash]
----
helm uninstall alertmanager-matrix-release
----
== Values
.Values
|===
| Key | Type | Default | Description
| affinity
| object
| `{}`
|
| autoscaling.enabled
| bool
| `false`
|
| autoscaling.maxReplicas
| int
| `100`
|
| autoscaling.minReplicas
| int
| `1`
|
| autoscaling.targetCPUUtilizationPercentage
| int
| `80`
|
| bot.alertmanager
| string
| `"http://localhost:9093"`
|
| bot.colors.alert
| string
| `"black"`
|
| bot.colors.critical
| string
| `"red"`
|
| bot.colors.error
| string
| `"red"`
|
| bot.colors.info
| string
| `"blue"`
|
| bot.colors.information
| string
| `"blue"`
|
| bot.colors.resolved
| string
| `"green"`
|
| bot.colors.silenced
| string
| `"gray"`
|
| bot.colors.warning
| string
| `"orange"`
|
| bot.icons.alert
| string
| `"🔔️"`
|
| bot.icons.critical
| string
| `"🚨"`
|
| bot.icons.error
| string
| `"🚨"`
|
| bot.icons.info
| string
| `""`
|
| bot.icons.information
| string
| `""`
|
| bot.icons.resolved
| string
| `"✅"`
|
| bot.icons.silenced
| string
| `"🔕"`
|
| bot.icons.warning
| string
| `"⚠️"`
|
| bot.matrix.homeserver
| string
| `"http://localhost:8008"`
|
| bot.matrix.rooms[0]
| string
| `"!not_existing:matrix.org"`
|
| bot.matrix.rooms[1]
| string
| `"!also_not_existing:matrix.org"`
|
| bot.matrix.token
| string
| `"SECRET_TOKEN"`
|
| bot.matrix.userID
| string
| `"bot"`
|
| bot.messageType
| string
| `"m.notice"`
|
| bot.showLabels
| bool
| `false`
|
| bot.template.html
| string
| `"{{ range .Alerts }}\n <font color=\"{{.StatusString|color}}\">\n {{.StatusString|icon}}\n <b>{{.StatusString|upper}}</b>\n {{.AlertName}}:\n </font>\n {{.Summary}}\n {{if ne .Fingerprint \"\"}}\n ({{.Fingerprint}})\n {{end}}\n {{if $.ShowLabels}}\n <br/>\n <b>Labels:</b>\n <code>{{.LabelString}}</code>\n {{end}}\n <br/>\n{{- end -}}\n"`
|
| bot.template.text
| string
| `"{{ range .Alerts }}\n {{- .StatusString|icon}} {{ .StatusString|upper }}{{ .AlertName }}: {{ .Summary }} {{ if ne .Fingerprint \"\" -}}\n ({{.Fingerprint}})\n {{- end}}\n {{- if $.ShowLabels -}}\n , labels:\n {{- .LabelString}}\n {{- end }}\n{{ end -}}\n"`
|
| fullnameOverride
| string
| `""`
|
| image.pullPolicy
| string
| `"IfNotPresent"`
|
| image.registry
| string
| `"docker.io"`
|
| image.repository
| string
| `"silkeh/alertmanager_matrix"`
|
| image.tag
| string
| `""`
|
| imagePullSecrets
| list
| `[]`
|
| ingress.annotations
| object
| `{}`
|
| ingress.className
| string
| `""`
|
| ingress.enabled
| bool
| `false`
|
| ingress.hosts[0].host
| string
| `"chart-example.local"`
|
| ingress.hosts[0].paths[0].path
| string
| `"/"`
|
| ingress.hosts[0].paths[0].pathType
| string
| `"ImplementationSpecific"`
|
| ingress.tls
| list
| `[]`
|
| logging.additionalFilters
| list
| `[]`
| Add other filters to Flow
| logging.dedot
| string
| `nil`
| if an filter (here or global) for dedot is active - for disable set `null`
| logging.enabled
| bool
| `false`
| Deploy Flow for logging-operator
| logging.globalOutputRefs
| list
| `["default"]`
| Flows globalOutputRefs for use of ClusterOutputs
| logging.localOutputRefs
| list
| `[]`
| Flows localOutputRefs for use of Outputs
| nameOverride
| string
| `""`
|
| nodeSelector
| object
| `{}`
|
| podAnnotations
| object
| `{}`
|
| podLabels
| object
| `{}`
|
| podSecurityContext
| object
| `{}`
|
| replicaCount
| int
| `1`
|
| resources
| object
| `{}`
|
| securityContext
| object
| `{}`
|
| service.port
| int
| `4051`
|
| service.type
| string
| `"ClusterIP"`
|
| serviceAccount.annotations
| object
| `{}`
|
| serviceAccount.create
| bool
| `true`
|
| serviceAccount.name
| string
| `""`
|
| tolerations
| list
| `[]`
|
|===
Autogenerated from chart metadata using https://github.com/norwoodj/helm-docs[helm-docs]

View file

@ -0,0 +1,112 @@
---
title: "alertmanager-matrix"
description: "Service for managing and receiving Alertmanager alerts on Matrix"
---
# alertmanager-matrix
![Version: 0.1.12](https://img.shields.io/badge/Version-0.1.12-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.5.0](https://img.shields.io/badge/AppVersion-0.5.0-informational?style=flat-square)
Service for managing and receiving Alertmanager alerts on Matrix
## Maintainers
| Name | Email | Url |
| ---- | ------ | --- |
| WrenIX | | <https://wrenix.eu> |
## Usage
Helm must be installed and setup to your kubernetes cluster to use the charts.
Refer to Helm's [documentation](https://helm.sh/docs) to get started.
Once Helm has been set up correctly, fetch the charts as follows:
```bash
helm pull oci://codeberg.org/wrenix/helm-charts/alertmanager-matrix
```
You can install a chart release using the following command:
```bash
helm install alertmanager-matrix-release oci://codeberg.org/wrenix/helm-charts/alertmanager-matrix --values values.yaml
```
To uninstall a chart release use `helm`'s delete command:
```bash
helm uninstall alertmanager-matrix-release
```
## Values
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| affinity | object | `{}` | |
| autoscaling.enabled | bool | `false` | |
| autoscaling.maxReplicas | int | `100` | |
| autoscaling.minReplicas | int | `1` | |
| autoscaling.targetCPUUtilizationPercentage | int | `80` | |
| bot.alertmanager | string | `"http://localhost:9093"` | |
| bot.colors.alert | string | `"black"` | |
| bot.colors.critical | string | `"red"` | |
| bot.colors.error | string | `"red"` | |
| bot.colors.info | string | `"blue"` | |
| bot.colors.information | string | `"blue"` | |
| bot.colors.resolved | string | `"green"` | |
| bot.colors.silenced | string | `"gray"` | |
| bot.colors.warning | string | `"orange"` | |
| bot.icons.alert | string | `"🔔️"` | |
| bot.icons.critical | string | `"🚨"` | |
| bot.icons.error | string | `"🚨"` | |
| bot.icons.info | string | `""` | |
| bot.icons.information | string | `""` | |
| bot.icons.resolved | string | `"✅"` | |
| bot.icons.silenced | string | `"🔕"` | |
| bot.icons.warning | string | `"⚠️"` | |
| bot.matrix.homeserver | string | `"http://localhost:8008"` | |
| bot.matrix.rooms[0] | string | `"!not_existing:matrix.org"` | |
| bot.matrix.rooms[1] | string | `"!also_not_existing:matrix.org"` | |
| bot.matrix.token | string | `"SECRET_TOKEN"` | |
| bot.matrix.userID | string | `"bot"` | |
| bot.messageType | string | `"m.notice"` | |
| bot.showLabels | bool | `false` | |
| bot.template.html | string | `"{{ range .Alerts }}\n <font color=\"{{.StatusString|color}}\">\n {{.StatusString|icon}}\n <b>{{.StatusString|upper}}</b>\n {{.AlertName}}:\n </font>\n {{.Summary}}\n {{if ne .Fingerprint \"\"}}\n ({{.Fingerprint}})\n {{end}}\n {{if $.ShowLabels}}\n <br/>\n <b>Labels:</b>\n <code>{{.LabelString}}</code>\n {{end}}\n <br/>\n{{- end -}}\n"` | |
| bot.template.text | string | `"{{ range .Alerts }}\n {{- .StatusString|icon}} {{ .StatusString|upper }}{{ .AlertName }}: {{ .Summary }} {{ if ne .Fingerprint \"\" -}}\n ({{.Fingerprint}})\n {{- end}}\n {{- if $.ShowLabels -}}\n , labels:\n {{- .LabelString}}\n {{- end }}\n{{ end -}}\n"` | |
| fullnameOverride | string | `""` | |
| global.image.pullPolicy | string | `nil` | if set it will overwrite all pullPolicy |
| global.image.registry | string | `nil` | if set it will overwrite all registry entries |
| image.pullPolicy | string | `"IfNotPresent"` | This sets the pull policy for images. (could be overwritten by global.image.pullPolicy) |
| image.registry | string | `"registry.gitlab.com"` | image registry (could be overwritten by global.image.registry) |
| image.repository | string | `"wrenix/alertmanager_matrix"` | image repository |
| image.tag | string | `""` | image tag - Overrides the image tag whose default is the chart appVersion. latest with current: - amd64 @sha256:2afd6d70f39fdfa98f11758090506f7845aee33cc8d900f9fe39a2574c272063 - 386 /x86 @sha256:beca95e9595de7169ab34406936b585d6676ce03a7fe51815b3a6a4944f9dd6d - arm v6 @sha256:ce40ea204497bfc9b2e796cf984eba53ba7c59164d39dcd4c11f0ca561e57eca - arm v7 @sha256:59ce3dfc73be5f70b873fe095e1eee4e0fe1f256b39f8f051ad0a2ffe9d1177e - arm v8 @sha256:fdbf50e944f8118dd1a44dde21b9cc098fb13837031e2f2492c148848c3d3cc8 - ppc64le @sha256:4ce02adbf4efe3ad04422e35bd4e87442a7c899fea13988adaeb985c720e0c63 - s390x @sha256:a202252cc00664a17caa5760f749b35a7b71253d1b1474b861f233e83ada1c76 |
| imagePullSecrets | list | `[]` | |
| ingress.annotations | object | `{}` | |
| ingress.className | string | `""` | |
| ingress.enabled | bool | `false` | |
| ingress.hosts[0].host | string | `"chart-example.local"` | |
| ingress.hosts[0].paths[0].path | string | `"/"` | |
| ingress.hosts[0].paths[0].pathType | string | `"ImplementationSpecific"` | |
| ingress.tls | list | `[]` | |
| logging.additionalFilters | list | `[]` | Add other filters to Flow |
| logging.dedot | string | `nil` | if an filter (here or global) for dedot is active - for disable set `null` |
| logging.enabled | bool | `false` | Deploy Flow for logging-operator |
| logging.globalOutputRefs | list | `["default"]` | Flows globalOutputRefs for use of ClusterOutputs |
| logging.localOutputRefs | list | `[]` | Flows localOutputRefs for use of Outputs |
| nameOverride | string | `""` | |
| nodeSelector | object | `{}` | |
| podAnnotations | object | `{}` | |
| podLabels | object | `{}` | |
| podSecurityContext | object | `{}` | |
| replicaCount | int | `1` | replicas |
| resources | object | `{}` | |
| securityContext | object | `{}` | |
| service.port | int | `4051` | |
| service.type | string | `"ClusterIP"` | |
| serviceAccount.annotations | object | `{}` | |
| serviceAccount.create | bool | `true` | |
| serviceAccount.name | string | `""` | |
| tolerations | list | `[]` | |
Autogenerated from chart metadata using [helm-docs](https://github.com/norwoodj/helm-docs)

View file

@ -37,8 +37,10 @@ spec:
- name: {{ .Chart.Name }}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
image: "{{ .Values.image.registry }}/{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
{{- with .Values.image }}
image: "{{ coalesce $.Values.global.image.registry .registry }}/{{ .repository }}:{{ .tag | default $.Chart.AppVersion }}"
imagePullPolicy: {{ coalesce $.Values.global.image.pullPolicy .pullPolicy }}
{{- end }}
command:
- "/usr/local/bin/alertmanager_matrix"
{{- if .Values.bot.showLabels }}

View file

@ -1,14 +1,22 @@
# Default values for alertmanager-matrix.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
global:
image:
# -- if set it will overwrite all registry entries
registry:
# -- if set it will overwrite all pullPolicy
pullPolicy:
# -- replicas
replicaCount: 1
image:
registry: docker.io
repository: silkeh/alertmanager_matrix
# -- image registry (could be overwritten by global.image.registry)
registry: registry.gitlab.com
# -- image repository
repository: wrenix/alertmanager_matrix
# -- This sets the pull policy for images. (could be overwritten by global.image.pullPolicy)
pullPolicy: IfNotPresent
# Overrides the image tag whose default is the chart appVersion.
# -- image tag - Overrides the image tag whose default is the chart appVersion.
# latest with current:
# - amd64 @sha256:2afd6d70f39fdfa98f11758090506f7845aee33cc8d900f9fe39a2574c272063
# - 386 /x86 @sha256:beca95e9595de7169ab34406936b585d6676ce03a7fe51815b3a6a4944f9dd6d
@ -79,8 +87,8 @@ bot:
<br/>
<b>Labels:</b>
<code>{{.LabelString}}</code>
{{end}}
<br/>
{{end}}
<br/>
{{- end -}}
serviceAccount:

View file

@ -2,9 +2,9 @@ apiVersion: v2
name: alertmanager-ntfy
description: Receiver for alertmanager to forward to ntfy.sh
type: application
version: 0.1.4
# renovate: image=docker.io/xenrox/ntfy-alertmanager
appVersion: "0.3.0"
version: "0.1.6"
# renovate: image=codeberg.org/xenrox/ntfy-alertmanager
appVersion: "0.4.0"
maintainers:
- name: WrenIX
url: https://wrenix.eu

View file

@ -1,301 +0,0 @@
= alertmanager-ntfy
image::https://img.shields.io/badge/Version-0.1.4-informational?style=flat-square[Version: 0.1.4]
image::https://img.shields.io/badge/Version-application-informational?style=flat-square[Type: application]
image::https://img.shields.io/badge/AppVersion-0.3.0-informational?style=flat-square[AppVersion: 0.3.0]
== Maintainers
.Maintainers
|===
| Name | Email | Url
| WrenIX
|
| <https://wrenix.eu>
|===
== Usage
Helm must be installed and setup to your kubernetes cluster to use the charts.
Refer to Helm's https://helm.sh/docs[documentation] to get started.
Once Helm has been set up correctly, fetch the charts as follows:
[source,bash]
----
helm pull oci://codeberg.org/wrenix/helm-charts/alertmanager-ntfy
----
You can install a chart release using the following command:
[source,bash]
----
helm install alertmanager-ntfy-release oci://codeberg.org/wrenix/helm-charts/alertmanager-ntfy --values values.yaml
----
To uninstall a chart release use `helm`'s delete command:
[source,bash]
----
helm uninstall alertmanager-ntfy-release
----
== Values
.Values
|===
| Key | Type | Default | Description
| affinity
| object
| `{}`
|
| autoscaling.enabled
| bool
| `false`
|
| autoscaling.maxReplicas
| int
| `100`
|
| autoscaling.minReplicas
| int
| `1`
|
| autoscaling.targetCPUUtilizationPercentage
| int
| `80`
|
| fullnameOverride
| string
| `""`
|
| image.pullPolicy
| string
| `"IfNotPresent"`
|
| image.registry
| string
| `"docker.io"`
|
| image.repository
| string
| `"xenrox/ntfy-alertmanager"`
|
| image.tag
| string
| `""`
|
| imagePullSecrets
| list
| `[]`
|
| ingress.annotations
| object
| `{}`
|
| ingress.className
| string
| `""`
|
| ingress.enabled
| bool
| `false`
|
| ingress.hosts[0].host
| string
| `"chart-example.local"`
|
| ingress.hosts[0].paths[0].path
| string
| `"/"`
|
| ingress.hosts[0].paths[0].pathType
| string
| `"ImplementationSpecific"`
|
| ingress.tls
| list
| `[]`
|
| nameOverride
| string
| `""`
|
| nodeSelector
| object
| `{}`
|
| ntfyAlertmanager.labels.entries[0].label
| string
| `"severity"`
|
| ntfyAlertmanager.labels.entries[0].priority
| int
| `5`
|
| ntfyAlertmanager.labels.entries[0].tags[0]
| string
| `"rotating_light"`
|
| ntfyAlertmanager.labels.entries[0].value
| string
| `"critical"`
|
| ntfyAlertmanager.labels.entries[1].label
| string
| `"severity"`
|
| ntfyAlertmanager.labels.entries[1].priority
| int
| `1`
|
| ntfyAlertmanager.labels.entries[1].value
| string
| `"info"`
|
| ntfyAlertmanager.labels.entries[2].label
| string
| `"instance"`
|
| ntfyAlertmanager.labels.entries[2].tags[0]
| string
| `"computer"`
|
| ntfyAlertmanager.labels.entries[2].tags[1]
| string
| `"example"`
|
| ntfyAlertmanager.labels.entries[2].value
| string
| `"example.com"`
|
| ntfyAlertmanager.labels.order[0]
| string
| `"severity"`
|
| ntfyAlertmanager.labels.order[1]
| string
| `"instance"`
|
| ntfyAlertmanager.logLevel
| string
| `"info"`
|
| ntfyAlertmanager.ntfy.topic
| string
| `"https://ntfy.sh/alertmanager-alerts"`
|
| ntfyAlertmanager.port
| int
| `80`
|
| ntfyAlertmanager.resolved.tags[0]
| string
| `"resolved"`
|
| ntfyAlertmanager.resolved.tags[1]
| string
| `"partying_face"`
|
| podAnnotations
| object
| `{}`
|
| podLabels
| object
| `{}`
|
| podSecurityContext
| object
| `{}`
|
| replicaCount
| int
| `1`
|
| resources
| object
| `{}`
|
| securityContext
| object
| `{}`
|
| service.port
| int
| `80`
|
| service.type
| string
| `"ClusterIP"`
|
| serviceAccount.annotations
| object
| `{}`
|
| serviceAccount.create
| bool
| `true`
|
| serviceAccount.name
| string
| `""`
|
| tolerations
| list
| `[]`
|
|===
Autogenerated from chart metadata using https://github.com/norwoodj/helm-docs[helm-docs]

View file

@ -0,0 +1,99 @@
---
title: "alertmanager-ntfy"
description: "Receiver for alertmanager to forward to ntfy.sh"
---
# alertmanager-ntfy
![Version: 0.1.6](https://img.shields.io/badge/Version-0.1.6-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.4.0](https://img.shields.io/badge/AppVersion-0.4.0-informational?style=flat-square)
Receiver for alertmanager to forward to ntfy.sh
## Maintainers
| Name | Email | Url |
| ---- | ------ | --- |
| WrenIX | | <https://wrenix.eu> |
## Usage
Helm must be installed and setup to your kubernetes cluster to use the charts.
Refer to Helm's [documentation](https://helm.sh/docs) to get started.
Once Helm has been set up correctly, fetch the charts as follows:
```bash
helm pull oci://codeberg.org/wrenix/helm-charts/alertmanager-ntfy
```
You can install a chart release using the following command:
```bash
helm install alertmanager-ntfy-release oci://codeberg.org/wrenix/helm-charts/alertmanager-ntfy --values values.yaml
```
To uninstall a chart release use `helm`'s delete command:
```bash
helm uninstall alertmanager-ntfy-release
```
## Values
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| affinity | object | `{}` | |
| autoscaling.enabled | bool | `false` | |
| autoscaling.maxReplicas | int | `100` | |
| autoscaling.minReplicas | int | `1` | |
| autoscaling.targetCPUUtilizationPercentage | int | `80` | |
| fullnameOverride | string | `""` | |
| global.image.pullPolicy | string | `nil` | if set it will overwrite all pullPolicy |
| global.image.registry | string | `nil` | if set it will overwrite all registry entries |
| image.pullPolicy | string | `"IfNotPresent"` | This sets the pull policy for images. (could be overwritten by global.image.pullPolicy) |
| image.registry | string | `"codeberg.org"` | image registry (could be overwritten by global.image.registry) |
| image.repository | string | `"xenrox/ntfy-alertmanager"` | image repository |
| image.tag | string | `""` | image tag - Overrides the image tag whose default is the chart appVersion. |
| imagePullSecrets | list | `[]` | |
| ingress.annotations | object | `{}` | |
| ingress.className | string | `""` | |
| ingress.enabled | bool | `false` | |
| ingress.hosts[0].host | string | `"chart-example.local"` | |
| ingress.hosts[0].paths[0].path | string | `"/"` | |
| ingress.hosts[0].paths[0].pathType | string | `"ImplementationSpecific"` | |
| ingress.tls | list | `[]` | |
| nameOverride | string | `""` | |
| nodeSelector | object | `{}` | |
| ntfyAlertmanager.labels.entries[0].label | string | `"severity"` | |
| ntfyAlertmanager.labels.entries[0].priority | int | `5` | |
| ntfyAlertmanager.labels.entries[0].tags[0] | string | `"rotating_light"` | |
| ntfyAlertmanager.labels.entries[0].value | string | `"critical"` | |
| ntfyAlertmanager.labels.entries[1].label | string | `"severity"` | |
| ntfyAlertmanager.labels.entries[1].priority | int | `1` | |
| ntfyAlertmanager.labels.entries[1].value | string | `"info"` | |
| ntfyAlertmanager.labels.entries[2].label | string | `"instance"` | |
| ntfyAlertmanager.labels.entries[2].tags[0] | string | `"computer"` | |
| ntfyAlertmanager.labels.entries[2].tags[1] | string | `"example"` | |
| ntfyAlertmanager.labels.entries[2].value | string | `"example.com"` | |
| ntfyAlertmanager.labels.order[0] | string | `"severity"` | |
| ntfyAlertmanager.labels.order[1] | string | `"instance"` | |
| ntfyAlertmanager.logLevel | string | `"info"` | |
| ntfyAlertmanager.ntfy.topic | string | `"https://ntfy.sh/alertmanager-alerts"` | |
| ntfyAlertmanager.port | int | `80` | |
| ntfyAlertmanager.resolved.tags[0] | string | `"resolved"` | |
| ntfyAlertmanager.resolved.tags[1] | string | `"partying_face"` | |
| podAnnotations | object | `{}` | |
| podLabels | object | `{}` | |
| podSecurityContext | object | `{}` | |
| replicaCount | int | `1` | replicas |
| resources | object | `{}` | |
| securityContext | object | `{}` | |
| service.port | int | `80` | |
| service.type | string | `"ClusterIP"` | |
| serviceAccount.annotations | object | `{}` | |
| serviceAccount.create | bool | `true` | |
| serviceAccount.name | string | `""` | |
| tolerations | list | `[]` | |
Autogenerated from chart metadata using [helm-docs](https://github.com/norwoodj/helm-docs)

View file

@ -35,8 +35,10 @@ spec:
- name: {{ .Chart.Name }}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
image: "{{ .Values.image.registry }}/{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
{{- with .Values.image }}
image: "{{ coalesce $.Values.global.image.registry .registry }}/{{ .repository }}:{{ .tag | default $.Chart.AppVersion }}"
imagePullPolicy: {{ coalesce $.Values.global.image.pullPolicy .pullPolicy }}
{{- end }}
ports:
- name: http
containerPort: {{ .Values.ntfyAlertmanager.port }}

View file

@ -1,14 +1,22 @@
# Default values for ntfy-alertmanager.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
global:
image:
# -- if set it will overwrite all registry entries
registry:
# -- if set it will overwrite all pullPolicy
pullPolicy:
# -- replicas
replicaCount: 1
image:
registry: docker.io
# -- image registry (could be overwritten by global.image.registry)
registry: codeberg.org
# -- image repository
repository: xenrox/ntfy-alertmanager
# -- This sets the pull policy for images. (could be overwritten by global.image.pullPolicy)
pullPolicy: IfNotPresent
# Overrides the image tag whose default is the chart appVersion.
# -- image tag - Overrides the image tag whose default is the chart appVersion.
tag: ""
ntfyAlertmanager:

View file

@ -2,7 +2,7 @@ apiVersion: v2
name: authentik-application
description: "A Chart to deploy a secret for the authentik blueprint-sidecar."
type: application
version: 0.4.1
version: "0.4.6"
maintainers:
- name: WrenIX
url: https://wrenix.eu

View file

@ -1,274 +0,0 @@
= authentik-application
image::https://img.shields.io/badge/Version-0.4.1-informational?style=flat-square[Version: 0.4.1]
image::https://img.shields.io/badge/Version-application-informational?style=flat-square[Type: application]
== Maintainers
.Maintainers
|===
| Name | Email | Url
| WrenIX
|
| <https://wrenix.eu>
|===
## Pre-Requirement
Usage of https://github.com/goauthentik/helm/pull/146
## or manual:
Install authentik with this `values.yaml`:
```yaml
serviceAccount:
create: true
additionalContainers:
- name: sidecar-blueprints
image: "ghcr.io/kiwigrid/k8s-sidecar:1.25.1"
env:
- name: "FOLDER"
value: "/blueprints/sidecar"
- name: "LABEL"
value: "goauthentik_blueprint"
- name: "LABEL_VALUE"
value: "1"
# - name: "NAMESPACE"
# value: "ALL"
- name: "RESOURCE"
value: "both"
- name: "UNIQUE_FILENAMES"
value: "true"
volumeMounts:
- name: sidecar-blueprints
mountPath: /blueprints/sidecar
volumeMounts:
- name: sidecar-blueprints
mountPath: /blueprints/sidecar
volumes:
- name: sidecar-blueprints
emptyDir: {}
```
And create an Role and bind them on to the ServiceAccount to read secrets:
```yaml
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: authentik-blueprint-sidecar
rules:
- apiGroups: [""]
resources: ["configmaps", "secrets"]
verbs: ["get", "watch", "list"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: authentik-blueprint-sidecar
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: authentik-blueprint-sidecar
subjects:
- kind: ServiceAccount
name: authentik
```
== Usage
Helm must be installed and setup to your kubernetes cluster to use the charts.
Refer to Helm's https://helm.sh/docs[documentation] to get started.
Once Helm has been set up correctly, fetch the charts as follows:
[source,bash]
----
helm pull oci://codeberg.org/wrenix/helm-charts/authentik-application
----
You can install a chart release using the following command:
[source,bash]
----
helm install authentik-application-release oci://codeberg.org/wrenix/helm-charts/authentik-application --values values.yaml
----
To uninstall a chart release use `helm`'s delete command:
[source,bash]
----
helm uninstall authentik-application-release
----
== Values
.Values
|===
| Key | Type | Default | Description
| blueprint.application.bindPolicyID
| string
| `nil`
| uuid for bindPolicyID for group - if not set generated on secret for be stable (or groups: [] filled)
| blueprint.application.description
| string
| `""`
| description of application
| blueprint.application.group
| string
| `""`
| put this application in authentik in group
| blueprint.application.icon
| string
| `""`
| icon of application (url)
| blueprint.application.launchURL
| string
| `""`
|
| blueprint.application.name
| string
| `""`
| application name in menu
| blueprint.application.openInNewTab
| bool
| `false`
| open application in new tab
| blueprint.application.policyEngineMode
| string
| `"any"`
|
| blueprint.application.publisher
| string
| `""`
| publisher of application
| blueprint.application.slug
| string
| `"app-name"`
| application slug
| blueprint.authentik.domain
| string
| `"https://auth.wrenix.eu"`
| domain to authentik, used in generated url (like issuer)
| blueprint.groups
| string
| `nil`
| authentik groups created / give access to this application disable any groups by set groups: [] (to a slice) example: - slug: "app: grafana-admin" parent: "app: infra" bindID: uuid
| blueprint.labels
| object
| `{"goauthentik_blueprint":"1"}`
| label of generated secret with blueprint
| blueprint.provider.authorizationFlow
| string
| `"default-provider-authorization-implicit-consent"`
|
| blueprint.provider.enabled
| bool
| `true`
| creat an provider for authentification (otherwise just a like in menu is created)
| blueprint.provider.name
| string
| `""`
|
| blueprint.provider.oidc.clientID
| string
| `nil`
| client id - generated if secret enabled
| blueprint.provider.oidc.clientSecret
| string
| `nil`
| client secret - generated if secret enabled
| blueprint.provider.oidc.clientType
| string
| `"confidential"`
|
| blueprint.provider.oidc.redirectURL
| string
| `""`
|
| blueprint.provider.oidc.scopes
| string
| `nil`
| Scope
| blueprint.provider.oidc.signingKey
| string
| `""`
| Need for non-curve / RSA
| blueprint.provider.proxy.cookieDomain
| string
| `""`
|
| blueprint.provider.proxy.externalHost
| string
| `nil`
|
| blueprint.provider.proxy.ingress.backend
| string
| `"authentik"`
| service backend to authentik
| blueprint.provider.proxy.ingress.domain
| string
| `nil`
| domain of application (where outpost should be deployed)
| blueprint.provider.proxy.ingress.enabled
| bool
| `false`
| deploy ingress on application domain for e.g. logout (WIP)
| blueprint.provider.proxy.skipPathRegex
| string
| `""`
|
| blueprint.provider.saml
| string
| `nil`
|
| blueprint.provider.type
| string
| `"oidc"`
| type of application connection, current support: oidc, saml and proxy
| secret.labels
| object
| `{}`
| label of secret to store generated secret
| secret.name
| string
| `""`
| name of secret to store generated secret (like clientI)
|===
Autogenerated from chart metadata using https://github.com/norwoodj/helm-docs[helm-docs]

View file

@ -0,0 +1,146 @@
---
title: "authentik-application"
description: "A Chart to deploy a secret for the authentik blueprint-sidecar."
---
# authentik-application
![Version: 0.4.6](https://img.shields.io/badge/Version-0.4.6-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square)
A Chart to deploy a secret for the authentik blueprint-sidecar.
## Maintainers
| Name | Email | Url |
| ---- | ------ | --- |
| WrenIX | | <https://wrenix.eu> |
## Pre-Requirement
Usage of https://github.com/goauthentik/helm/pull/146
## or manual:
Install authentik with this `values.yaml`:
```yaml
serviceAccount:
create: true
additionalContainers:
- name: sidecar-blueprints
image: "ghcr.io/kiwigrid/k8s-sidecar:1.25.1"
env:
- name: "FOLDER"
value: "/blueprints/sidecar"
- name: "LABEL"
value: "goauthentik_blueprint"
- name: "LABEL_VALUE"
value: "1"
# - name: "NAMESPACE"
# value: "ALL"
- name: "RESOURCE"
value: "both"
- name: "UNIQUE_FILENAMES"
value: "true"
volumeMounts:
- name: sidecar-blueprints
mountPath: /blueprints/sidecar
volumeMounts:
- name: sidecar-blueprints
mountPath: /blueprints/sidecar
volumes:
- name: sidecar-blueprints
emptyDir: {}
```
And create an Role and bind them on to the ServiceAccount to read secrets:
```yaml
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: authentik-blueprint-sidecar
rules:
- apiGroups: [""]
resources: ["configmaps", "secrets"]
verbs: ["get", "watch", "list"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: authentik-blueprint-sidecar
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: authentik-blueprint-sidecar
subjects:
- kind: ServiceAccount
name: authentik
```
## Usage
Helm must be installed and setup to your kubernetes cluster to use the charts.
Refer to Helm's [documentation](https://helm.sh/docs) to get started.
Once Helm has been set up correctly, fetch the charts as follows:
```bash
helm pull oci://codeberg.org/wrenix/helm-charts/authentik-application
```
You can install a chart release using the following command:
```bash
helm install authentik-application-release oci://codeberg.org/wrenix/helm-charts/authentik-application --values values.yaml
```
To uninstall a chart release use `helm`'s delete command:
```bash
helm uninstall authentik-application-release
```
## Values
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| blueprint.application.bindPolicyID | string | `nil` | uuid for bindPolicyID for group - if not set generated on secret for be stable (or groups: [] filled) |
| blueprint.application.description | string | `""` | description of application |
| blueprint.application.group | string | `""` | put this application in authentik in group |
| blueprint.application.icon | string | `""` | icon of application (url) |
| blueprint.application.launchURL | string | `""` | |
| blueprint.application.name | string | `""` | application name in menu |
| blueprint.application.openInNewTab | bool | `false` | open application in new tab |
| blueprint.application.policyEngineMode | string | `"any"` | |
| blueprint.application.publisher | string | `""` | publisher of application |
| blueprint.application.slug | string | `"app-name"` | application slug |
| blueprint.authentik.domain | string | `"https://auth.wrenix.eu"` | domain to authentik, used in generated url (like issuer) |
| blueprint.groups | string | `nil` | authentik groups created / give access to this application disable any groups by set groups: [] (to a slice) example: - slug: "app: grafana-admin" parent: "app: infra" bindID: uuid |
| blueprint.labels | object | `{"goauthentik_blueprint":"1"}` | label of generated secret with blueprint |
| blueprint.provider.authorizationFlow | string | `"default-provider-authorization-implicit-consent"` | |
| blueprint.provider.enabled | bool | `true` | creat an provider for authentification (otherwise just a like in menu is created) |
| blueprint.provider.invalidationFlow | string | `"default-provider-invalidation-flow"` | |
| blueprint.provider.name | string | `""` | |
| blueprint.provider.oidc.clientID | string | `nil` | client id - generated if secret enabled |
| blueprint.provider.oidc.clientSecret | string | `nil` | client secret - generated if secret enabled |
| blueprint.provider.oidc.clientType | string | `"confidential"` | |
| blueprint.provider.oidc.redirectURL | string | `""` | |
| blueprint.provider.oidc.scopes | string | `nil` | Scope |
| blueprint.provider.oidc.signingKey | string | `""` | Need for non-curve / RSA |
| blueprint.provider.proxy.cookieDomain | string | `""` | |
| blueprint.provider.proxy.externalHost | string | `nil` | |
| blueprint.provider.proxy.ingress.annotations | list | `[]` | annotations to ingress for outpost |
| blueprint.provider.proxy.ingress.backend | string | `"authentik"` | service backend to authentik |
| blueprint.provider.proxy.ingress.domain | string | `nil` | domain of application (where outpost should be deployed) |
| blueprint.provider.proxy.ingress.enabled | bool | `false` | deploy ingress on application domain for e.g. logout (WIP) |
| blueprint.provider.proxy.ingress.tls | list | `[]` | tls to ingress for outpost |
| blueprint.provider.proxy.skipPathRegex | string | `""` | |
| blueprint.provider.saml | string | `nil` | |
| blueprint.provider.type | string | `"oidc"` | type of application connection, current support: oidc, saml and proxy |
| secret.labels | object | `{}` | label of secret to store generated secret |
| secret.name | string | `""` | name of secret to store generated secret (like clientI) |
Autogenerated from chart metadata using [helm-docs](https://github.com/norwoodj/helm-docs)

View file

@ -22,11 +22,14 @@
state: present
attrs:
authorization_flow: !Find [authentik_flows.flow, [slug, {{ .Values.blueprint.provider.authorizationFlow }}]]
invalidation_flow: !Find [authentik_flows.flow, [slug, {{ .Values.blueprint.provider.invalidationFlow }}]]
{{- with .Values.blueprint.provider.oidc }}
client_type: {{ .clientType | quote }}
client_id: {{ $clientID | quote }}
client_secret: {{ $clientSecret | quote }}
redirect_uris: {{ .redirectURL }}
redirect_uris:
- matching_mode: "strict"
url: {{ .redirectURL | quote }}
{{- with .tokenDuration }}
access_token_validity: {{ . | quote }}
{{- end }}

View file

@ -6,6 +6,7 @@
state: present
attrs:
authorization_flow: !Find [authentik_flows.flow, [slug, {{ .Values.blueprint.provider.authorizationFlow }}]]
invalidation_flow: !Find [authentik_flows.flow, [slug, {{ .Values.blueprint.provider.invalidationFlow }}]]
mode: "forward_single"
{{- with .Values.blueprint.provider.proxy }}
external_host: {{ .externalHost | quote }}

View file

@ -6,6 +6,10 @@ metadata:
name: {{ include "authentik-application.fullname" . }}
labels:
{{- include "authentik-application.labels" . | nindent 4 }}
{{- with .Values.blueprint.provider.proxy.ingress.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
rules:
- host: {{ .Values.blueprint.provider.proxy.ingress.domain | quote }}
@ -18,4 +22,8 @@ spec:
name: {{ .Values.blueprint.provider.proxy.ingress.backend | quote }}
port:
name: http
{{- with .Values.blueprint.provider.proxy.ingress.tls }}
tls:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- end }}

View file

@ -16,6 +16,7 @@ blueprint:
enabled: true
name: ""
authorizationFlow: "default-provider-authorization-implicit-consent"
invalidationFlow: "default-provider-invalidation-flow"
# -- type of application connection, current support: oidc, saml and proxy
type: "oidc"
oidc:
@ -44,6 +45,10 @@ blueprint:
domain:
# -- service backend to authentik
backend: authentik
# -- annotations to ingress for outpost
annotations: []
# -- tls to ingress for outpost
tls: []
application:
# -- application name in menu
name: ""

2
autopush/.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
charts/*.tgz
values_test.yaml

22
autopush/.helmignore Normal file
View file

@ -0,0 +1,22 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/

6
autopush/Chart.lock Normal file
View file

@ -0,0 +1,6 @@
dependencies:
- name: redis
repository: oci://docker.io/bitnamicharts
version: 20.8.0
digest: sha256:030743b5498fc7245f4ed04df18386496aa8a33e1cefd992caf3fe839476f2b1
generated: "2025-02-21T08:29:11.593498546+01:00"

17
autopush/Chart.yaml Normal file
View file

@ -0,0 +1,17 @@
apiVersion: v2
name: autopush
description: A Helm chart for Kubernetes
icon:
type: application
version: "0.0.13"
# renovate: image=docker.io/mozilla-services/autopush-rs
appVersion: "1.72.2"
maintainers:
- name: WrenIX
url: https://wrenix.eu
dependencies:
- name: redis
version: "20.8.0"
repository: "oci://docker.io/bitnamicharts"
condition: redis.internal

199
autopush/README.md Normal file
View file

@ -0,0 +1,199 @@
---
title: "autopush"
description: "A Helm chart for Kubernetes"
---
# autopush
![Version: 0.0.13](https://img.shields.io/badge/Version-0.0.13-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.72.2](https://img.shields.io/badge/AppVersion-1.72.2-informational?style=flat-square)
A Helm chart for Kubernetes
## Maintainers
| Name | Email | Url |
| ---- | ------ | --- |
| WrenIX | | <https://wrenix.eu> |
= Beta
WARNING
====
We let it run in production, but it is not stable / complete.
TODOs:
- [ ] official container with redis backend, see: https://github.com/mozilla-services/autopush-rs/pull/813
- [ ] automatical create CRYPT_KEY (instatt of key)
- [ ] better ingress / host name support
- [ ] Improve monitoring with alerts and grafana dashboard
====
## Usage
Helm must be installed and setup to your kubernetes cluster to use the charts.
Refer to Helm's [documentation](https://helm.sh/docs) to get started.
Once Helm has been set up correctly, fetch the charts as follows:
```bash
helm pull oci://codeberg.org/wrenix/helm-charts/autopush
```
You can install a chart release using the following command:
```bash
helm install autopush-release oci://codeberg.org/wrenix/helm-charts/autopush --values values.yaml
```
To uninstall a chart release use `helm`'s delete command:
```bash
helm uninstall autopush-release
```
## Requirements
| Repository | Name | Version |
|------------|------|---------|
| oci://docker.io/bitnamicharts | redis | 20.8.0 |
## Values
### Autoconnect
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| autoconnect.image.pullPolicy | string | `"IfNotPresent"` | This sets the pull policy for images. (could be overwritten by global.image.pullPolicy) |
| autoconnect.image.registry | string | `"codeberg.org"` | image registry (could be overwritten by global.image.registry) |
| autoconnect.image.repository | string | `"wrenix/autopush/autoconnect"` | image repository |
| autoconnect.image.tag | string | `"latest"` | image tag - Overrides the image tag whose default is the chart appVersion. |
| autoconnect.livenessProbe | object | `{"httpGet":{"path":"/health","port":"http"}}` | This is to setup the liveness probes more information can be found here: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ |
| autoconnect.podAnnotations | object | `{}` | This is for setting Kubernetes Annotations to a Pod. For more information checkout: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ |
| autoconnect.podLabels | object | `{}` | This is for setting Kubernetes Labels to a Pod. For more information checkout: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ |
| autoconnect.readinessProbe | object | `{"httpGet":{"path":"/health","port":"http"}}` | This is to setup the readiness probes more information can be found here: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ |
| autoconnect.replicaCount | int | `1` | This will set the replicaset count more information can be found here: https://kubernetes.io/docs/concepts/workloads/controllers/replicaset/ |
| autoconnect.resources | object | `{}` | We usually recommend not to specify default resources and to leave this as a conscious choice for the user. This also increases chances charts run on environments with little resources, such as Minikube. If you do want to specify resources, uncomment the following lines, adjust them as necessary, and remove the curly braces after 'resources:'. limits: cpu: 100m memory: 128Mi requests: cpu: 100m memory: 128Mi |
| autoconnect.securityContext | object | `{}` | securityContext capabilities: drop: - ALL readOnlyRootFilesystem: true runAsNonRoot: true runAsUser: 1000 |
| autoconnect.service.ports.http | int | `80` | port of http service |
| autoconnect.service.ports.router | int | `8081` | port of internal router service |
| autoconnect.service.type | string | `"ClusterIP"` | This sets the service type more information can be found here: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types |
| autoconnect.volumeMounts | list | `[]` | Additional volumeMounts on the output Deployment definition. - name: foo mountPath: "/etc/foo" readOnly: true |
### Autoendpoint
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| autoendpoint.image.pullPolicy | string | `"IfNotPresent"` | This sets the pull policy for images. (could be overwritten by global.image.pullPolicy) |
| autoendpoint.image.registry | string | `"codeberg.org"` | image registry (could be overwritten by global.image.registry) |
| autoendpoint.image.repository | string | `"wrenix/autopush/autoendpoint"` | image repository |
| autoendpoint.image.tag | string | `"latest"` | image tag - Overrides the image tag whose default is the chart appVersion. |
| autoendpoint.livenessProbe | object | `{"httpGet":{"path":"/health","port":"http"}}` | This is to setup the liveness probes more information can be found here: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ |
| autoendpoint.podAnnotations | object | `{}` | This is for setting Kubernetes Annotations to a Pod. For more information checkout: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ |
| autoendpoint.podLabels | object | `{}` | This is for setting Kubernetes Labels to a Pod. For more information checkout: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ |
| autoendpoint.readinessProbe | object | `{"httpGet":{"path":"/health","port":"http"}}` | This is to setup the readiness probes more information can be found here: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ |
| autoendpoint.replicaCount | int | `1` | This will set the replicaset count more information can be found here: https://kubernetes.io/docs/concepts/workloads/controllers/replicaset/ |
| autoendpoint.resources | object | `{}` | We usually recommend not to specify default resources and to leave this as a conscious choice for the user. This also increases chances charts run on environments with little resources, such as Minikube. If you do want to specify resources, uncomment the following lines, adjust them as necessary, and remove the curly braces after 'resources:'. limits: cpu: 100m memory: 128Mi requests: cpu: 100m memory: 128Mi |
| autoendpoint.service.port | int | `80` | This sets the ports more information can be found here: https://kubernetes.io/docs/concepts/services-networking/service/#field-spec-ports |
| autoendpoint.service.type | string | `"ClusterIP"` | This sets the service type more information can be found here: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types |
| autoendpoint.volumeMounts | list | `[]` | Additional volumeMounts on the output Deployment definition. - name: foo mountPath: "/etc/foo" readOnly: true |
### UnifiedPush
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| serviceAccount.annotations | object | `{}` | Annotations to add to the service account |
| serviceAccount.automount | bool | `true` | Automatically mount a ServiceAccount's API credentials? |
| serviceAccount.create | bool | `true` | Specifies whether a service account should be created |
| serviceAccount.name | string | `""` | The name of the service account to use. If not set and create is true, a name is generated using the fullname template |
| unifiedPush.enabled | bool | `false` | enable/deploy common-proxy for unifiedpush |
| unifiedPush.image.pullPolicy | string | `"IfNotPresent"` | This sets the pull policy for images. (could be overwritten by global.image.pullPolicy) |
| unifiedPush.image.registry | string | `"docker.io"` | image registry (could be overwritten by global.image.registry) |
| unifiedPush.image.repository | string | `"unifiedpush/common-proxies"` | image repository |
| unifiedPush.image.tag | string | `"v2.2.0"` | image tag |
| unifiedPush.livenessProbe | object | `{"httpGet":{"path":"/health","port":"http"}}` | This is to setup the liveness more information can be found here: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ |
| unifiedPush.podAnnotations | object | `{}` | This is for setting Kubernetes Annotations to a Pod. For more information checkout: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ |
| unifiedPush.podLabels | object | `{}` | This is for setting Kubernetes Labels to a Pod. For more information checkout: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ |
| unifiedPush.readinessProbe | object | `{"httpGet":{"path":"/health","port":"http"}}` | This is to setup the readiness probes more information can be found here: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ |
| unifiedPush.replicaCount | int | `1` | This will set the replicaset count more information can be found here: https://kubernetes.io/docs/concepts/workloads/controllers/replicaset/ |
| unifiedPush.resources | object | `{}` | We usually recommend not to specify default resources and to leave this as a conscious choice for the user. This also increases chances charts run on environments with little resources, such as Minikube. If you do want to specify resources, uncomment the following lines, adjust them as necessary, and remove the curly braces after 'resources:'. limits: cpu: 100m memory: 128Mi requests: cpu: 100m memory: 128Mi |
| unifiedPush.service.port | int | `80` | This sets the ports more information can be found here: https://kubernetes.io/docs/concepts/services-networking/service/#field-spec-ports |
| unifiedPush.service.type | string | `"ClusterIP"` | This sets the service type more information can be found here: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types |
| unifiedPush.volumeMounts | list | `[]` | Additional volumeMounts on the output Deployment definition. - name: foo mountPath: "/etc/foo" readOnly: true |
### Other Values
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| autoconnect.affinity | object | `{}` | |
| autoconnect.nodeSelector | object | `{}` | |
| autoconnect.podSecurityContext | object | `{}` | |
| autoconnect.tolerations | list | `[]` | |
| autoendpoint.affinity | object | `{}` | |
| autoendpoint.nodeSelector | object | `{}` | |
| autoendpoint.podSecurityContext | object | `{}` | |
| autoendpoint.securityContext | object | `{}` | |
| autoendpoint.tolerations | list | `[]` | |
| config.cryptoKey | string | `""` | run https://github.com/mozilla-services/autopush-rs/blob/master/scripts/fernet_key.py |
| config.logs.backtrace | bool | `false` | enable backtrace of autopush |
| config.logs.level | string | `"warn"` | set log level of autopush |
| fullnameOverride | string | `""` | |
| global.image.pullPolicy | string | `nil` | if set it will overwrite all pullPolicy |
| global.image.registry | string | `nil` | if set it will overwrite all registry entries |
| grafana.dashboards.annotations | object | `{}` | |
| grafana.dashboards.enabled | bool | `false` | |
| grafana.dashboards.labels.grafana_dashboard | string | `"1"` | |
| imagePullSecrets | list | `[]` | This is for the secretes for pulling an image from a private repository more information can be found here: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ |
| ingress.annotations | object | `{}` | |
| ingress.className | string | `""` | |
| ingress.enabled | bool | `false` | |
| ingress.host | string | `"chart-example.local"` | |
| ingress.tls | list | `[]` | |
| nameOverride | string | `""` | This is to override the chart name. |
| prometheus.enabled | bool | `true` | start statsd sidecar and configure |
| prometheus.image.pullPolicy | string | `"IfNotPresent"` | |
| prometheus.image.registry | string | `"docker.io"` | |
| prometheus.image.repository | string | `"prom/statsd-exporter"` | |
| prometheus.image.tag | string | `"v0.28.0"` | |
| prometheus.livenessProbe | object | `{"httpGet":{"path":"/","port":"metrics"}}` | This is to setup the liveness and readiness probes more information can be found here: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ |
| prometheus.readinessProbe.httpGet.path | string | `"/"` | |
| prometheus.readinessProbe.httpGet.port | string | `"metrics"` | |
| prometheus.resources | object | `{}` | We usually recommend not to specify default resources and to leave this as a conscious choice for the user. This also increases chances charts run on environments with little resources, such as Minikube. If you do want to specify resources, uncomment the following lines, adjust them as necessary, and remove the curly braces after 'resources:'. limits: cpu: 100m memory: 128Mi requests: cpu: 100m memory: 128Mi |
| prometheus.rules.additionalRules | list | `[]` | |
| prometheus.rules.default.alertLabels | object | `{}` | |
| prometheus.rules.default.enabled | bool | `true` | |
| prometheus.rules.enabled | bool | `false` | |
| prometheus.rules.labels | object | `{}` | |
| prometheus.securityContext | object | `{}` | securityContext capabilities: drop: - ALL readOnlyRootFilesystem: true runAsNonRoot: true runAsUser: 1000 |
| prometheus.servicemonitor.enabled | bool | `false` | |
| prometheus.servicemonitor.labels | object | `{}` | |
| prometheus.volumeMounts | list | `[]` | Additional volumeMounts on the output Deployment definition. - name: foo mountPath: "/etc/foo" readOnly: true |
| redis.architecture | string | `"standalone"` | |
| redis.auth.enabled | bool | `true` | |
| redis.auth.existingSecret | string | `""` | name of an existing secret with Redis credentials (instead of auth.password), must be created ahead of time |
| redis.auth.existingSecretPasswordKey | string | `""` | Password key to be retrieved from existing secret |
| redis.auth.password | string | `"autopush"` | XXX Change me! |
| redis.dbid | int | `0` | Database ID for non-default database |
| redis.external.existingSecretPasswordKey | string | `"redis-password"` | Password key to be retrieved from existing secret |
| redis.external.host | string | `"redis"` | |
| redis.external.port | int | `6379` | |
| redis.global.storageClass | string | `""` | |
| redis.internal | bool | `true` | |
| redis.master.persistence.enabled | bool | `true` | |
| redis.master.service.port | int | `6379` | |
| redis.replica.persistence.enabled | bool | `true` | |
| unifiedPush.affinity | object | `{}` | |
| unifiedPush.config.gateway.allowedHosts | list | `[]` | |
| unifiedPush.config.gateway.generic.enable | bool | `true` | |
| unifiedPush.config.gateway.matrix.enable | bool | `true` | |
| unifiedPush.config.uaid | string | `""` | |
| unifiedPush.config.verbose | bool | `false` | |
| unifiedPush.nodeSelector | object | `{}` | |
| unifiedPush.podSecurityContext | object | `{}` | |
| unifiedPush.securityContext | object | `{}` | |
| unifiedPush.tolerations | list | `[]` | |
| volumes | list | `[]` | Additional volumes on the output Deployment definition. - name: foo secret: secretName: mysecret optional: false |
Autogenerated from chart metadata using [helm-docs](https://github.com/norwoodj/helm-docs)

15
autopush/_docs.gotmpl Normal file
View file

@ -0,0 +1,15 @@
{{ define "chart.prerequirements" -}}
= Beta
WARNING
====
We let it run in production, but it is not stable / complete.
TODOs:
- [ ] official container with redis backend, see: https://github.com/mozilla-services/autopush-rs/pull/813
- [ ] automatical create CRYPT_KEY (instatt of key)
- [ ] better ingress / host name support
- [ ] Improve monitoring with alerts and grafana dashboard
====
{{ end }}

View file

View file

@ -0,0 +1,6 @@
prometheus:
enabled: true
servicemonitor:
enabled: true
labels:
prometheus: default

View file

@ -0,0 +1,15 @@
FROM python:3.13-slim
# Set the working directory
WORKDIR /app
# Copy the requirements file
COPY requirements.txt .
# Install any needed packages
RUN pip install -r requirements.txt
# Copy the application code into the container
COPY setup.py setup.py
CMD ["python", "setup.py"]

View file

@ -0,0 +1 @@
cryptography

View file

@ -0,0 +1,5 @@
#!/bin/env python3
from cryptography.fernet import Fernet
if __name__ == '__main__':
print(Fernet.generate_key().decode("UTF-8"))

View file

@ -0,0 +1,355 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 0
},
"id": 4,
"panels": [],
"title": "Push",
"type": "row"
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
}
},
"mappings": []
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 9,
"x": 0,
"y": 1
},
"id": 1,
"options": {
"legend": {
"displayMode": "list",
"placement": "bottom",
"showLegend": true,
"values": [
"percent"
]
},
"pieType": "pie",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "11.4.0",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"editorMode": "code",
"expr": "sum(increase(autopush_notification_message_retrieved{namespace=~\"$namespace\"}[$__range])) without (container,endpoint,instance,pod,job,service)",
"legendFormat": "Retrieved: {{namespace}}",
"range": true,
"refId": "A"
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"editorMode": "code",
"expr": "sum(increase(autopush_notification_message_deleted{namespace=~\"$namespace\"}[$__range])) without (container,endpoint,instance,pod,job,service)",
"hide": false,
"instant": false,
"legendFormat": "Deleted: {{namespace}}",
"range": true,
"refId": "B"
}
],
"title": "Notification Message",
"transparent": true,
"type": "piechart"
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
}
},
"mappings": []
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 8,
"x": 10,
"y": 1
},
"id": 2,
"options": {
"legend": {
"displayMode": "list",
"placement": "right",
"showLegend": true,
"values": [
"percent"
]
},
"pieType": "pie",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "11.4.0",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"editorMode": "code",
"expr": "sum(increase(autopush_ua_notification_sent{namespace=~\"$namespace\"}[$__range])) without (container,endpoint,instance,pod,job,service)",
"hide": false,
"instant": false,
"legendFormat": "OS: {{namespace}}/{{os}}",
"range": true,
"refId": "A"
}
],
"title": "UA Notify Send",
"transparent": true,
"type": "piechart"
},
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 9
},
"id": 5,
"panels": [],
"title": "Endpoint",
"type": "row"
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisBorderShow": false,
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"barWidthFactor": 0.6,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 10
},
"id": 3,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "11.4.0",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"editorMode": "code",
"expr": "sum(increase(autoendpoint_api_error_no_subscription{namespace=~\"$namespace\"}[$__range])) without(container,endpoint,instance,pod,service,job)",
"legendFormat": "__auto",
"range": true,
"refId": "A"
}
],
"title": "No Subscription API Error",
"transparent": true,
"type": "timeseries"
}
],
"preload": false,
"refresh": "",
"schemaVersion": 40,
"tags": [],
"templating": {
"list": [
{
"current": {
"text": "Prometheus",
"value": "prometheus"
},
"label": "datasource",
"name": "DS_PROMETHEUS",
"options": [],
"query": "prometheus",
"refresh": 1,
"regex": "",
"type": "datasource"
},
{
"current": {
"text": [
"chaos-autopush"
],
"value": [
"chaos-autopush"
]
},
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"definition": "label_values(statsd_exporter_build_info,namespace)",
"includeAll": true,
"multi": true,
"name": "namespace",
"options": [],
"query": {
"qryType": 1,
"query": "label_values(statsd_exporter_build_info,namespace)",
"refId": "PrometheusVariableQueryEditor-VariableQuery"
},
"refresh": 1,
"regex": "",
"type": "query"
}
]
},
"time": {
"from": "now-24h",
"to": "now"
},
"timepicker": {},
"timezone": "browser",
"title": "Autopush: Overview",
"version": 0,
"weekStart": ""
}

View file

@ -0,0 +1,93 @@
{{/*
Expand the name of the chart.
*/}}
{{- define "autopush.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
{{- end }}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "autopush.fullname" -}}
{{- if .Values.fullnameOverride }}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- $name := default .Chart.Name .Values.nameOverride }}
{{- if contains $name .Release.Name }}
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
{{- end }}
{{- end }}
{{- end }}
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "autopush.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
{{- end }}
{{/*
Common labels
*/}}
{{- define "autopush.labels" -}}
helm.sh/chart: {{ include "autopush.chart" . }}
{{ include "autopush.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end }}
{{/*
Selector labels
*/}}
{{- define "autopush.selectorLabels" -}}
app.kubernetes.io/name: {{ include "autopush.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}
{{/*
Create the name of the service account to use
*/}}
{{- define "autopush.serviceAccountName" -}}
{{- if .Values.serviceAccount.create }}
{{- default (include "autopush.fullname" .) .Values.serviceAccount.name }}
{{- else }}
{{- default "default" .Values.serviceAccount.name }}
{{- end }}
{{- end }}
{{/*
Prometheus-sidecar
*/}}
{{- define "autopush.containerPrometheus" -}}
{{- with .Values.prometheus }}
{{- if .enabled }}
- name: statsd-exporter
securityContext:
{{- toYaml .securityContext | nindent 4 }}
{{- with .image }}
image: "{{ coalesce $.Values.global.image.registry .registry }}/{{ .repository }}:{{ .tag }}"
imagePullPolicy: {{ coalesce $.Values.global.image.pullPolicy .pullPolicy }}
{{- end }}
ports:
- name: metrics
containerPort: 9102
protocol: TCP
livenessProbe:
{{- toYaml .livenessProbe | nindent 4 }}
readinessProbe:
{{- toYaml .readinessProbe | nindent 4 }}
resources:
{{- toYaml .resources | nindent 4 }}
{{- with .volumeMounts }}
volumeMounts:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}

View file

@ -0,0 +1,91 @@
{{- with .Values.autoconnect }}
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "autopush.fullname" $ }}-autoconnect
labels:
{{- include "autopush.labels" $ | nindent 4 }}
spec:
replicas: {{ .replicaCount }}
selector:
matchLabels:
{{- include "autopush.selectorLabels" $ | nindent 6 }}
app.kubernetes.io/component: autoconnect
template:
metadata:
{{- with .podAnnotations }}
annotations:
{{- toYaml . | nindent 8 }}
{{- end }}
labels:
{{- include "autopush.labels" $ | nindent 8 }}
app.kubernetes.io/component: autoconnect
{{- with .podLabels }}
{{- toYaml . | nindent 8 }}
{{- end }}
spec:
{{- with .imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
serviceAccountName: {{ include "autopush.serviceAccountName" $ }}
securityContext:
{{- toYaml .podSecurityContext | nindent 8 }}
containers:
- name: autoconnect
securityContext:
{{- toYaml .securityContext | nindent 12 }}
{{- with .image }}
image: "{{ coalesce $.Values.global.image.registry .registry }}/{{ .repository }}:{{ .tag | default (printf "v%s" $.Chart.AppVersion) }}"
imagePullPolicy: {{ coalesce $.Values.global.image.pullPolicy .pullPolicy }}
{{- end }}
envFrom:
- secretRef:
name: {{ include "autopush.fullname" $ }}-env
env:
- name: "AUTOCONNECT__DB_DSN"
{{- if $.Values.redis.auth.enabled }}
value: "redis://:$(REDIS_HOST_PASSWORD)@$(REDIS_HOST)"
{{- else }}
value: "redis://$(REDIS_HOST)"
{{- end }}
- name: "AUTOCONNECT__CRYPTO_KEY"
valueFrom:
secretKeyRef:
name: {{ include "autopush.fullname" $ }}-env
key: "CRYPTO_KEY"
ports:
- name: http
containerPort: 8080
protocol: TCP
- name: router
containerPort: {{ .service.ports.router }}
protocol: TCP
livenessProbe:
{{- toYaml .livenessProbe | nindent 12 }}
readinessProbe:
{{- toYaml .readinessProbe | nindent 12 }}
resources:
{{- toYaml .resources | nindent 12 }}
{{- with .volumeMounts }}
volumeMounts:
{{- toYaml . | nindent 12 }}
{{- end }}
{{- include "autopush.containerPrometheus" $ | nindent 8 }}
{{- with .volumes }}
volumes:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .affinity }}
affinity:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .tolerations }}
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- end }}

View file

@ -0,0 +1,27 @@
apiVersion: v1
kind: Service
metadata:
name: {{ include "autopush.fullname" . }}-autoconnect
labels:
{{- include "autopush.labels" . | nindent 4 }}
app.kubernetes.io/metrics: "true"
spec:
type: {{ .Values.autoconnect.service.type }}
selector:
{{- include "autopush.selectorLabels" . | nindent 4 }}
app.kubernetes.io/component: autoconnect
ports:
- port: {{ .Values.autoconnect.service.ports.http }}
targetPort: http
protocol: TCP
name: http
- port: {{ .Values.autoconnect.service.ports.router }}
targetPort: router
protocol: TCP
name: router
{{- if .Values.prometheus.enabled }}
- port: 9100
targetPort: metrics
protocol: TCP
name: metrics
{{- end }}

View file

@ -0,0 +1,88 @@
{{- with .Values.autoendpoint }}
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "autopush.fullname" $ }}-autoendpoint
labels:
{{- include "autopush.labels" $ | nindent 4 }}
spec:
replicas: {{ .replicaCount }}
selector:
matchLabels:
{{- include "autopush.selectorLabels" $ | nindent 6 }}
app.kubernetes.io/component: autoendpoint
template:
metadata:
{{- with .podAnnotations }}
annotations:
{{- toYaml . | nindent 8 }}
{{- end }}
labels:
{{- include "autopush.labels" $ | nindent 8 }}
app.kubernetes.io/component: autoendpoint
{{- with .podLabels }}
{{- toYaml . | nindent 8 }}
{{- end }}
spec:
{{- with .imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
serviceAccountName: {{ include "autopush.serviceAccountName" $ }}
securityContext:
{{- toYaml .podSecurityContext | nindent 8 }}
containers:
- name: autoendpoint
securityContext:
{{- toYaml .securityContext | nindent 12 }}
{{- with .image }}
image: "{{ coalesce $.Values.global.image.registry .registry }}/{{ .repository }}:{{ .tag | default (printf "v%s" $.Chart.AppVersion) }}"
imagePullPolicy: {{ coalesce $.Values.global.image.pullPolicy .pullPolicy }}
{{- end }}
envFrom:
- secretRef:
name: {{ include "autopush.fullname" $ }}-env
env:
- name: "AUTOEND__DB_DSN"
{{- if $.Values.redis.auth.enabled }}
value: "redis://:$(REDIS_HOST_PASSWORD)@$(REDIS_HOST)"
{{- else }}
value: "redis://$(REDIS_HOST)"
{{- end }}
- name: "AUTOEND__CRYPTO_KEYS"
valueFrom:
secretKeyRef:
name: {{ include "autopush.fullname" $ }}-env
key: "CRYPTO_KEY"
ports:
- name: http
containerPort: 8000
protocol: TCP
livenessProbe:
{{- toYaml .livenessProbe | nindent 12 }}
readinessProbe:
{{- toYaml .readinessProbe | nindent 12 }}
resources:
{{- toYaml .resources | nindent 12 }}
{{- with .volumeMounts }}
volumeMounts:
{{- toYaml . | nindent 12 }}
{{- end }}
{{- include "autopush.containerPrometheus" $ | nindent 8 }}
{{- with .volumes }}
volumes:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .affinity }}
affinity:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .tolerations }}
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- end }}

View file

@ -0,0 +1,23 @@
apiVersion: v1
kind: Service
metadata:
name: {{ include "autopush.fullname" . }}-autoendpoint
labels:
{{- include "autopush.labels" . | nindent 4 }}
app.kubernetes.io/metrics: "true"
spec:
type: {{ .Values.autoendpoint.service.type }}
selector:
{{- include "autopush.selectorLabels" . | nindent 4 }}
app.kubernetes.io/component: autoendpoint
ports:
- port: {{ .Values.autoendpoint.service.port }}
targetPort: http
protocol: TCP
name: http
{{- if .Values.prometheus.enabled }}
- port: 9100
targetPort: metrics
protocol: TCP
name: metrics
{{- end }}

View file

@ -0,0 +1,14 @@
{{- if .Values.grafana.dashboards.enabled }}
---
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ include "autopush.fullname" . }}-grafana-dashboards
labels:
{{- include "autopush.labels" . | nindent 4 }}
{{- toYaml .Values.grafana.dashboards.labels | nindent 4 }}
annotations:
{{- toYaml .Values.grafana.dashboards.annotations | nindent 4 }}
data:
{{- (.Files.Glob "grafana_dashboards/*.json" ).AsConfig | nindent 2 }}
{{- end }}

View file

@ -0,0 +1,63 @@
{{- if .Values.ingress.enabled -}}
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: {{ include "autopush.fullname" . }}
labels:
{{- include "autopush.labels" . | nindent 4 }}
{{- with .Values.ingress.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
{{- with .Values.ingress.className }}
ingressClassName: {{ . }}
{{- end }}
{{- with .Values.ingress.tls }}
tls:
{{- toYaml . | nindent 4 }}
{{- end }}
rules:
- host: {{ .Values.ingress.host | quote }}
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: {{ include "autopush.fullname" $ }}-autoconnect
port:
name: http
- host: {{ printf "updates.%s" .Values.ingress.host | quote }}
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: {{ include "autopush.fullname" $ }}-autoendpoint
port:
name: http
{{- with .Values.unifiedPush }}
{{- if .enabled }}
{{- if .config.gateway.generic.enable }}
- path: /generic/
pathType: Prefix
backend:
service:
name: {{ include "autopush.fullname" $ }}-unifiedpush
port:
name: http
{{- end }}
{{- if .config.gateway.matrix.enable }}
- path: /_matrix/push/v1/notify
pathType: Prefix
backend:
service:
name: {{ include "autopush.fullname" $ }}-unifiedpush
port:
name: http
{{- end }}
{{- end }}
{{- end }}
{{- end }}

View file

@ -0,0 +1,38 @@
{{- if and .Values.prometheus.rules.enabled }}
apiVersion: monitoring.coreos.com/v1
kind: PrometheusRule
metadata:
name: {{ include "autopush.fullname" . }}
labels:
{{- include "autopush.labels" . | nindent 4 }}
{{- with .Values.prometheus.rules.labels }}
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
groups:
{{- if .Values.prometheus.rules.default.enabled }}
- name: {{ template "autopush.fullname" . }}-Endpoint
rules:
- alert: "autopush: No Subscription API Error"
expr: 'sum(increase(autoendpoint_api_error_no_subscription{}[1h])) without (container,endpoint,pod,instance) > 0'
for: 5m
labels:
severity: critical
{{- with .Values.prometheus.rules.default.alertLabels }}
{{- toYaml . | nindent 12 }}
{{- end }}
annotations:
{{`
summary: "autoendpoint: No Subscription API Error in {{ $labels.namespace }}/{{ $labels.job }} increate in the last hour"
`}}
{{/*
- name: {{ template "autopush.fullname" . }}-Push
rules:
*/}}
{{- end }}
{{- with .Values.prometheus.rules.additionalRules }}
- name: {{ template "autopush.fullname" $ }}-Additional
rules:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- end }}

View file

@ -0,0 +1,51 @@
---
apiVersion: v1
kind: Secret
metadata:
name: {{ include "autopush.fullname" . }}-env
annotations:
"helm.sh/hook": "pre-install,pre-upgrade"
type: Opaque
data:
{{/* GLOBAL */}}
RUST_BACKTRACE: {{ ternary "1" "0" .Values.config.logs.backtrace | b64enc }}
RUST_LOG: {{ .Values.config.logs.level | b64enc }}
{{- with .Values.redis }}
{{- if .auth.enabled }}
{{- with .auth.password }}
REDIS_HOST_PASSWORD: {{ . | b64enc }}
{{- end }}
{{- end }}
{{- if .internal }}
REDIS_HOST: {{ printf "%s-redis-master:%.0f/%.0f" (include "autopush.fullname" $) .master.service.port .dbid | b64enc }}
{{- else }}
REDIS_HOST: {{ printf "%s:%s/$.0f" .external.host .external.port .dbid | b64enc }}
{{- end }}
{{- end }}
CRYPTO_KEY: {{ printf "[%s]" .Values.config.cryptoKey | b64enc }}
{{/* autoconnect */}}
{{- if .Values.ingress.tls }}
AUTOCONNECT__ENDPOINT_SCHEME: {{ "https" | b64enc }}
AUTOCONNECT__ENDPOINT_PORT: {{ "443" | b64enc }}
{{- else }}
AUTOCONNECT__ENDPOINT_SCHEME: {{ "http" | b64enc }}
AUTOCONNECT__ENDPOINT_PORT: {{ "80" | b64enc }}
{{- end }}
AUTOCONNECT__ENDPOINT_HOSTNAME: {{ printf "updates.%s" .Values.ingress.host | b64enc }}
AUTOCONNECT__ROUTER_HOSTNAME: {{ printf "%s-autoconnect" (include "autopush.fullname" .) | b64enc }}
AUTOCONNECT__ROUTER_PORT: {{ toYaml .Values.autoconnect.service.ports.router | b64enc }}
{{- if .Values.prometheus.enabled }}
AUTOCONNECT__STATSD_HOST: {{ "127.0.0.1" | b64enc}}
AUTOCONNECT__STATSD_PORT: {{ "9125" | b64enc }}
{{- end }}
{{/* autoendpoint */}}
AUTOEND__HOST: {{ "::" | b64enc }}
{{- if .Values.ingress.tls }}
AUTOEND__ENDPOINT_URL: {{ printf "https://updates.%s" .Values.ingress.host | b64enc }}
{{- else }}
AUTOEND__ENDPOINT_URL: {{ printf "http://updates.%s" .Values.ingress.host | b64enc }}
{{- end }}
{{- if .Values.prometheus.enabled }}
AUTOEND__STATSD_HOST: {{ "127.0.0.1" | b64enc }}
AUTOEND__STATSD_PORT: {{ "9125" | b64enc }}
{{- end }}

View file

@ -2,9 +2,9 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ include "mautrix-signal.serviceAccountName" . }}
name: {{ include "autopush.serviceAccountName" . }}
labels:
{{- include "mautrix-signal.labels" . | nindent 4 }}
{{- include "autopush.labels" . | nindent 4 }}
{{- with .Values.serviceAccount.annotations }}
annotations:
{{- toYaml . | nindent 4 }}

View file

@ -0,0 +1,18 @@
{{- if and .Values.prometheus.enabled .Values.prometheus.servicemonitor.enabled }}
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: {{ include "autopush.fullname" . }}
labels:
{{- include "autopush.labels" . | nindent 4 }}
{{- with .Values.prometheus.servicemonitor.labels }}
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
selector:
matchLabels:
{{- include "autopush.selectorLabels" . | nindent 6 }}
app.kubernetes.io/metrics: "true"
endpoints:
- port: metrics
{{- end }}

View file

@ -0,0 +1,97 @@
{{- with .Values.unifiedPush }}
{{- if .enabled }}
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "autopush.fullname" $ }}-unifiedpush
labels:
{{- include "autopush.labels" $ | nindent 4 }}
spec:
replicas: {{ .replicaCount }}
selector:
matchLabels:
{{- include "autopush.selectorLabels" $ | nindent 6 }}
app.kubernetes.io/component: unifiedpush
template:
metadata:
{{- with .podAnnotations }}
annotations:
{{- toYaml . | nindent 8 }}
{{- end }}
labels:
{{- include "autopush.labels" $ | nindent 8 }}
app.kubernetes.io/component: unifiedpush
{{- with .podLabels }}
{{- toYaml . | nindent 8 }}
{{- end }}
spec:
{{- with .imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
serviceAccountName: {{ include "autopush.serviceAccountName" $ }}
securityContext:
{{- toYaml .podSecurityContext | nindent 8 }}
containers:
- name: common-proxies
securityContext:
{{- toYaml .securityContext | nindent 12 }}
{{- with .image }}
image: "{{ coalesce $.Values.global.image.registry .registry }}/{{ .repository }}:{{ .tag }}"
imagePullPolicy: {{ coalesce $.Values.global.image.pullPolicy .pullPolicy }}
{{- end }}
env:
- name: "UP_LISTEN"
value: ":8080"
{{- if .config.verbose }}
- name: "UP_VERBOSE"
value: "true"
{{- end }}
{{- with .config.uaid }}
- name: "UP_UAID"
value: {{ . | quote }}
{{- end }}
{{- if .config.gateway.generic.enable }}
- name: "UP_GATEWAY_GENERIC_ENABLE"
value: "true"
{{- end }}
{{- if .config.gateway.matrix.enable }}
- name: "UP_GATEWAY_MATRIX_ENABLE"
value: "true"
{{- end }}
{{- with .config.gateway.allowedHosts }}
- name: "UP_GATEWAY_ALLOWEDHOSTS"
value: {{ join "," . | quote }}
{{- end }}
ports:
- name: http
containerPort: 8080
protocol: TCP
livenessProbe:
{{- toYaml .livenessProbe | nindent 12 }}
readinessProbe:
{{- toYaml .readinessProbe | nindent 12 }}
resources:
{{- toYaml .resources | nindent 12 }}
{{- with .volumeMounts }}
volumeMounts:
{{- toYaml . | nindent 12 }}
{{- end }}
{{- with .volumes }}
volumes:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .affinity }}
affinity:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .tolerations }}
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- end }}
{{- end }}

View file

@ -0,0 +1,19 @@
{{- if .Values.unifiedPush.enabled }}
apiVersion: v1
kind: Service
metadata:
name: {{ include "autopush.fullname" . }}-unifiedpush
labels:
app.kubernetes.io/metrics: "true"
{{- include "autopush.labels" . | nindent 4 }}
spec:
type: {{ .Values.unifiedPush.service.type }}
selector:
{{- include "autopush.selectorLabels" . | nindent 4 }}
app.kubernetes.io/component: unifiedpush
ports:
- port: {{ .Values.unifiedPush.service.port }}
targetPort: http
protocol: TCP
name: http
{{- end }}

440
autopush/values.yaml Normal file
View file

@ -0,0 +1,440 @@
global:
image:
# -- if set it will overwrite all registry entries
registry:
# -- if set it will overwrite all pullPolicy
pullPolicy:
# -- This is for the secretes for pulling an image from a private repository more information can be found here: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
imagePullSecrets: []
# -- This is to override the chart name.
nameOverride: ""
fullnameOverride: ""
config:
logs:
# -- set log level of autopush
level: warn
# -- enable backtrace of autopush
backtrace: false
# -- run https://github.com/mozilla-services/autopush-rs/blob/master/scripts/fernet_key.py
cryptoKey: ""
prometheus:
# -- start statsd sidecar and configure
enabled: true
servicemonitor:
enabled: false
labels: {}
rules:
enabled: false
labels: {}
default:
enabled: true
alertLabels: {}
additionalRules: []
image:
registry: docker.io
repository: prom/statsd-exporter
pullPolicy: IfNotPresent
tag: v0.28.0
# -- securityContext
# capabilities:
# drop:
# - ALL
# readOnlyRootFilesystem: true
# runAsNonRoot: true
# runAsUser: 1000
securityContext: {}
# -- We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
resources: {}
# -- This is to setup the liveness and readiness probes more information can be found here: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
livenessProbe:
httpGet:
path: /
port: metrics
readinessProbe:
httpGet:
path: /
port: metrics
# -- Additional volumeMounts on the output Deployment definition.
# - name: foo
# mountPath: "/etc/foo"
# readOnly: true
volumeMounts: []
grafana:
dashboards:
enabled: false
labels:
grafana_dashboard: "1"
annotations: {}
## This configuration is for the internal Redis that's deployed for use with
## workers/sharding, for an external Redis server you want to set enabled to
## false and configure the externalRedis block.
##
redis:
internal: true
# -- Database ID for non-default database
dbid: 0
auth:
enabled: true
# -- XXX Change me!
password: autopush
# -- name of an existing secret with Redis credentials (instead of auth.password), must be created ahead of time
existingSecret: ""
# -- Password key to be retrieved from existing secret
existingSecretPasswordKey: ""
external:
host: redis
port: 6379
# -- Password key to be retrieved from existing secret
existingSecretPasswordKey: redis-password
architecture: standalone
global:
storageClass: ""
master:
persistence:
enabled: true
service:
port: 6379
replica:
persistence:
enabled: true
autoconnect:
# -- This will set the replicaset count more information can be found here: https://kubernetes.io/docs/concepts/workloads/controllers/replicaset/
# @section -- Autoconnect
replicaCount: 1
image:
# -- image registry (could be overwritten by global.image.registry)
# @section -- Autoconnect
registry: codeberg.org
# -- image repository
# @section -- Autoconnect
repository: wrenix/autopush/autoconnect
# -- This sets the pull policy for images. (could be overwritten by global.image.pullPolicy)
# @section -- Autoconnect
pullPolicy: IfNotPresent
# -- image tag - Overrides the image tag whose default is the chart appVersion.
# @section -- Autoconnect
tag: latest
# -- This is for setting Kubernetes Annotations to a Pod.
# For more information checkout: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
# @section -- Autoconnect
podAnnotations: {}
# -- This is for setting Kubernetes Labels to a Pod.
# For more information checkout: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
# @section -- Autoconnect
podLabels: {}
nodeSelector: {}
tolerations: []
affinity: {}
podSecurityContext: {}
# fsGroup: 2000
# -- securityContext
# capabilities:
# drop:
# - ALL
# readOnlyRootFilesystem: true
# runAsNonRoot: true
# runAsUser: 1000
# @section -- Autoconnect
securityContext: {}
# This is for setting up a service more information can be found here: https://kubernetes.io/docs/concepts/services-networking/service/
service:
# -- This sets the service type more information can be found here: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
# @section -- Autoconnect
type: ClusterIP
# This sets the ports more information can be found here: https://kubernetes.io/docs/concepts/services-networking/service/#field-spec-ports
ports:
# -- port of http service
# @section -- Autoconnect
http: 80
# -- port of internal router service
# @section -- Autoconnect
router: 8081
# -- We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
# @section -- Autoconnect
resources: {}
# -- This is to setup the liveness probes more information can be found here: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
# @section -- Autoconnect
livenessProbe:
httpGet:
path: /health
port: http
# -- This is to setup the readiness probes more information can be found here: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
# @section -- Autoconnect
readinessProbe:
httpGet:
path: /health
port: http
# -- Additional volumeMounts on the output Deployment definition.
# - name: foo
# mountPath: "/etc/foo"
# readOnly: true
# @section -- Autoconnect
volumeMounts: []
autoendpoint:
# -- This will set the replicaset count more information can be found here: https://kubernetes.io/docs/concepts/workloads/controllers/replicaset/
# @section -- Autoendpoint
replicaCount: 1
image:
# -- image registry (could be overwritten by global.image.registry)
# @section -- Autoendpoint
registry: codeberg.org
# -- image repository
# @section -- Autoendpoint
repository: wrenix/autopush/autoendpoint
# -- This sets the pull policy for images. (could be overwritten by global.image.pullPolicy)
# @section -- Autoendpoint
pullPolicy: IfNotPresent
# -- image tag - Overrides the image tag whose default is the chart appVersion.
# @section -- Autoendpoint
tag: latest
# -- This is for setting Kubernetes Annotations to a Pod.
# For more information checkout: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
# @section -- Autoendpoint
podAnnotations: {}
# -- This is for setting Kubernetes Labels to a Pod.
# For more information checkout: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
# @section -- Autoendpoint
podLabels: {}
nodeSelector: {}
tolerations: []
affinity: {}
podSecurityContext: {}
# fsGroup: 2000
securityContext: {}
# capabilities:
# drop:
# - ALL
# readOnlyRootFilesystem: true
# runAsNonRoot: true
# runAsUser: 1000
# This is for setting up a service more information can be found here: https://kubernetes.io/docs/concepts/services-networking/service/
service:
# -- This sets the service type more information can be found here: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
# @section -- Autoendpoint
type: ClusterIP
# -- This sets the ports more information can be found here: https://kubernetes.io/docs/concepts/services-networking/service/#field-spec-ports
# @section -- Autoendpoint
port: 80
# -- We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
# @section -- Autoendpoint
resources: {}
# -- This is to setup the liveness probes more information can be found here: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
# @section -- Autoendpoint
livenessProbe:
httpGet:
path: /health
port: http
# -- This is to setup the readiness probes more information can be found here: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
# @section -- Autoendpoint
readinessProbe:
httpGet:
path: /health
port: http
# -- Additional volumeMounts on the output Deployment definition.
# - name: foo
# mountPath: "/etc/foo"
# readOnly: true
# @section -- Autoendpoint
volumeMounts: []
unifiedPush:
# -- enable/deploy common-proxy for unifiedpush
# @section -- UnifiedPush
enabled: false
# -- This will set the replicaset count more information can be found here: https://kubernetes.io/docs/concepts/workloads/controllers/replicaset/
# @section -- UnifiedPush
replicaCount: 1
image:
# -- image registry (could be overwritten by global.image.registry)
# @section -- UnifiedPush
registry: docker.io
# -- image repository
# @section -- UnifiedPush
repository: unifiedpush/common-proxies
# -- This sets the pull policy for images. (could be overwritten by global.image.pullPolicy)
# @section -- UnifiedPush
pullPolicy: IfNotPresent
# -- image tag
# @section -- UnifiedPush
tag: "v2.2.0"
config:
verbose: false
uaid: ""
gateway:
generic:
enable: true
matrix:
enable: true
allowedHosts: []
# -- This is for setting Kubernetes Annotations to a Pod.
# For more information checkout: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
# @section -- UnifiedPush
podAnnotations: {}
# -- This is for setting Kubernetes Labels to a Pod.
# For more information checkout: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
# @section -- UnifiedPush
podLabels: {}
nodeSelector: {}
tolerations: []
affinity: {}
podSecurityContext: {}
# fsGroup: 2000
securityContext: {}
# capabilities:
# drop:
# - ALL
# readOnlyRootFilesystem: true
# runAsNonRoot: true
# runAsUser: 1000
# This is for setting up a service more information can be found here: https://kubernetes.io/docs/concepts/services-networking/service/
service:
# -- This sets the service type more information can be found here: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
# @section -- UnifiedPush
type: ClusterIP
# -- This sets the ports more information can be found here: https://kubernetes.io/docs/concepts/services-networking/service/#field-spec-ports
# @section -- UnifiedPush
port: 80
# -- We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
# @section -- UnifiedPush
resources: {}
# -- This is to setup the liveness more information can be found here: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
# @section -- UnifiedPush
livenessProbe:
httpGet:
path: /health
port: http
# -- This is to setup the readiness probes more information can be found here: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
# @section -- UnifiedPush
readinessProbe:
httpGet:
path: /health
port: http
# -- Additional volumeMounts on the output Deployment definition.
# - name: foo
# mountPath: "/etc/foo"
# readOnly: true
# @section -- UnifiedPush
volumeMounts: []
# This section builds out the service account more information can be found here: https://kubernetes.io/docs/concepts/security/service-accounts/
serviceAccount:
# -- Specifies whether a service account should be created
# @section -- UnifiedPush
create: true
# -- Automatically mount a ServiceAccount's API credentials?
# @section -- UnifiedPush
automount: true
# -- Annotations to add to the service account
# @section -- UnifiedPush
annotations: {}
# -- The name of the service account to use.
# If not set and create is true, a name is generated using the fullname template
# @section -- UnifiedPush
name: ""
# This block is for setting up the ingress for more information can be found here: https://kubernetes.io/docs/concepts/services-networking/ingress/
ingress:
enabled: false
className: ""
annotations: {}
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
host: chart-example.local
tls: []
# - secretName: chart-example-tls
# hosts:
# - chart-example.local
# -- Additional volumes on the output Deployment definition.
# - name: foo
# secret:
# secretName: mysecret
# optional: false
volumes: []

View file

@ -3,9 +3,9 @@ name: conduit
description: Conduit is a simple, fast and reliable chat server powered by Matrix.
icon: https://conduit.rs/conduit.svg
type: application
version: 0.2.5
# renovate: image=registry.gitlab.com/famedly/conduit/matrix-conduit
appVersion: "0.6.0"
version: "1.0.4"
# renovate: image=docker.io/matrixconduit/matrix-conduit
appVersion: "0.9.0"
maintainers:
- name: WrenIX
url: https://wrenix.eu

View file

@ -1,406 +0,0 @@
= conduit
image::https://img.shields.io/badge/Version-0.2.5-informational?style=flat-square[Version: 0.2.5]
image::https://img.shields.io/badge/Version-application-informational?style=flat-square[Type: application]
image::https://img.shields.io/badge/AppVersion-0.6.0-informational?style=flat-square[AppVersion: 0.6.0]
== Maintainers
.Maintainers
|===
| Name | Email | Url
| WrenIX
|
| <https://wrenix.eu>
|===
== Usage
Helm must be installed and setup to your kubernetes cluster to use the charts.
Refer to Helm's https://helm.sh/docs[documentation] to get started.
Once Helm has been set up correctly, fetch the charts as follows:
[source,bash]
----
helm pull oci://codeberg.org/wrenix/helm-charts/conduit
----
You can install a chart release using the following command:
[source,bash]
----
helm install conduit-release oci://codeberg.org/wrenix/helm-charts/conduit --values values.yaml
----
To uninstall a chart release use `helm`'s delete command:
[source,bash]
----
helm uninstall conduit-release
----
== Values
.Values
|===
| Key | Type | Default | Description
| affinity
| object
| `{}`
|
| autoscaling.enabled
| bool
| `false`
|
| autoscaling.maxReplicas
| int
| `100`
|
| autoscaling.minReplicas
| int
| `1`
|
| autoscaling.targetCPUUtilizationPercentage
| int
| `80`
|
| conduit.allowEncryption
| bool
| `true`
|
| conduit.allowFederation
| bool
| `true`
|
| conduit.allowRegistration
| bool
| `false`
|
| conduit.allowRoomCreation
| bool
| `true`
|
| conduit.allowUnstableRoomVersions
| bool
| `true`
|
| conduit.log
| string
| `nil`
|
| conduit.maxConcurrentRequests
| string
| `nil`
|
| conduit.maxRequestSize
| string
| `"20000000"`
| in bytes default 20 MB
| conduit.registrationToken
| string
| `nil`
|
| conduit.server_name
| string
| `"your.server.name"`
|
| conduit.trustedServers[0]
| string
| `"matrix.org"`
|
| conduit.wellKnownClient
| string
| `"your.server.name"`
|
| fullnameOverride
| string
| `""`
|
| image.pullPolicy
| string
| `"IfNotPresent"`
|
| image.repository
| string
| `"registry.gitlab.com/famedly/conduit/matrix-conduit"`
|
| image.tag
| string
| `""`
|
| imagePullSecrets
| list
| `[]`
|
| ingress.annotations
| object
| `{}`
|
| ingress.className
| string
| `""`
|
| ingress.enabled
| bool
| `false`
|
| ingress.hosts[0].host
| string
| `"chart-example.local"`
|
| ingress.hosts[0].paths[0].path
| string
| `"/"`
|
| ingress.hosts[0].paths[0].pathType
| string
| `"ImplementationSpecific"`
|
| ingress.tls
| list
| `[]`
|
| nameOverride
| string
| `""`
|
| nodeSelector
| object
| `{}`
|
| persistence.accessMode
| string
| `"ReadWriteOnce"`
|
| persistence.annotations
| object
| `{}`
|
| persistence.enabled
| bool
| `true`
|
| persistence.existingClaim
| string
| `nil`
| A manually managed Persistent Volume and Claim Requires persistence.enabled: true If defined, PVC must be created manually before volume will be bound
| persistence.hostPath
| string
| `nil`
| Do not create an PVC, direct use hostPath in Pod
| persistence.size
| string
| `"1Gi"`
|
| persistence.storageClass
| string
| `nil`
| Persistent Volume Storage Class If defined, storageClassName: <storageClass> If set to "-", storageClassName: "", which disables dynamic provisioning If undefined (the default) or set to null, no storageClassName spec is set, choosing the default provisioner. (gp2 on AWS, standard on GKE, AWS & OpenStack)
| podAnnotations
| object
| `{}`
|
| podLabels
| object
| `{}`
|
| podSecurityContext
| object
| `{}`
|
| replicaCount
| int
| `1`
|
| resources
| object
| `{}`
|
| securityContext
| object
| `{}`
|
| service.port
| int
| `6167`
|
| service.type
| string
| `"ClusterIP"`
|
| serviceAccount.annotations
| object
| `{}`
|
| serviceAccount.create
| bool
| `true`
|
| serviceAccount.name
| string
| `""`
|
| tolerations
| list
| `[]`
|
| wellknown.affinity
| object
| `{}`
|
| wellknown.client."m.homeserver".base_url
| string
| `"https://your.server.name/"`
|
| wellknown.client."org.matrix.msc3575.proxy".url
| string
| `"https://your.server.name/"`
|
| wellknown.containerPort
| int
| `80`
|
| wellknown.enabled
| bool
| `true`
|
| wellknown.env
| list
| `[]`
|
| wellknown.image.pullPolicy
| string
| `"IfNotPresent"`
|
| wellknown.image.repository
| string
| `"nginx"`
|
| wellknown.image.tag
| string
| `"1.25"`
|
| wellknown.nodeSelector
| object
| `{}`
|
| wellknown.podAnnotations
| list
| `[]`
|
| wellknown.podLabels
| object
| `{}`
|
| wellknown.podSecurityContext
| object
| `{}`
|
| wellknown.replicaCount
| int
| `1`
|
| wellknown.resources
| object
| `{}`
|
| wellknown.securityContext
| object
| `{}`
|
| wellknown.server."m.server"
| string
| `"your.server.name:443"`
|
| wellknown.service.annotations
| object
| `{}`
|
| wellknown.service.port
| int
| `8080`
|
| wellknown.service.type
| string
| `"ClusterIP"`
|
| wellknown.tolerations
| list
| `[]`
|
|===
Autogenerated from chart metadata using https://github.com/norwoodj/helm-docs[helm-docs]

131
conduit/README.md Normal file
View file

@ -0,0 +1,131 @@
---
title: "conduit"
description: "Conduit is a simple, fast and reliable chat server powered by Matrix."
---
# conduit
![Version: 1.0.4](https://img.shields.io/badge/Version-1.0.4-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.9.0](https://img.shields.io/badge/AppVersion-0.9.0-informational?style=flat-square)
Conduit is a simple, fast and reliable chat server powered by Matrix.
## Maintainers
| Name | Email | Url |
| ---- | ------ | --- |
| WrenIX | | <https://wrenix.eu> |
## Usage
Helm must be installed and setup to your kubernetes cluster to use the charts.
Refer to Helm's [documentation](https://helm.sh/docs) to get started.
Once Helm has been set up correctly, fetch the charts as follows:
```bash
helm pull oci://codeberg.org/wrenix/helm-charts/conduit
```
You can install a chart release using the following command:
```bash
helm install conduit-release oci://codeberg.org/wrenix/helm-charts/conduit --values values.yaml
```
To uninstall a chart release use `helm`'s delete command:
```bash
helm uninstall conduit-release
```
## Values
### well known
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| wellknown.affinity | object | `{}` | pod affinity |
| wellknown.client | object | `{"m.homeserver":{"base_url":"https://your.server.name/"},"org.matrix.msc3575.proxy":{"url":"https://your.server.name/"}}` | client entry in well-known |
| wellknown.containerPort | int | `80` | port webservice |
| wellknown.enabled | bool | `false` | enable/deploy add extra webservice for well-known urls |
| wellknown.env | list | `[]` | pod env |
| wellknown.image.pullPolicy | string | `"IfNotPresent"` | This sets the pull policy for images. (could be overwritten by global.image.pullPolicy) |
| wellknown.image.registry | string | `"docker.io"` | image registry (could be overwritten by global.image.registry) |
| wellknown.image.repository | string | `"library/nginx"` | image repository |
| wellknown.image.tag | string | `"1.27.4"` | image tag |
| wellknown.nginxServerConf | string | `"server {\n listen {{ .containerPort }};\n server_name localhost;\n\n location /.well-known/matrix/server {\n return 200 {{ toJson .server | quote }};\n types { } default_type \"application/json; charset=utf-8\";\n }\n\n location /.well-known/matrix/client {\n return 200 {{ toJson .client | quote }};\n types { } default_type \"application/json; charset=utf-8\";\n add_header \"Access-Control-Allow-Origin\" *;\n }\n\n location / {\n # return 200 'Welcome to the your.server.name conduit server!';\n # types { } default_type \"text/plain; charset=utf-8\";\n return 404;\n }\n\n location /nginx_health {\n return 200 'OK';\n types { } default_type \"text/plain; charset=utf-8\";\n }\n}"` | nginx config |
| wellknown.nodeSelector | object | `{}` | pod node selector |
| wellknown.podAnnotations | list | `[]` | pod annotations |
| wellknown.podLabels | object | `{}` | pod labels |
| wellknown.podSecurityContext | object | `{}` | securityContext of Pod |
| wellknown.replicaCount | int | `1` | replicas |
| wellknown.resources | object | `{}` | pod resources |
| wellknown.rewriteRoot | bool | `false` | if ingress is enabled: specifies whether ingress should redirect the `/`-Location to the wellknown server |
| wellknown.securityContext | object | `{}` | securityContext of container |
| wellknown.server | object | `{"m.server":"your.server.name:443"}` | server entry in well-known |
| wellknown.service.annotations | object | `{}` | annotations of service |
| wellknown.service.port | int | `8080` | port of service |
| wellknown.service.type | string | `"ClusterIP"` | service type |
| wellknown.tolerations | list | `[]` | pod tolerations |
### Other Values
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| affinity | object | `{}` | |
| autoscaling.enabled | bool | `false` | |
| autoscaling.maxReplicas | int | `100` | |
| autoscaling.minReplicas | int | `1` | |
| autoscaling.targetCPUUtilizationPercentage | int | `80` | |
| conduit.allowEncryption | bool | `true` | |
| conduit.allowFederation | bool | `true` | |
| conduit.allowRegistration | bool | `false` | |
| conduit.allowRoomCreation | bool | `true` | |
| conduit.allowUnstableRoomVersions | bool | `true` | |
| conduit.log | string | `nil` | |
| conduit.maxConcurrentRequests | string | `nil` | |
| conduit.maxRequestSize | string | `"20000000"` | in bytes default 20 MB |
| conduit.registrationToken | string | `nil` | |
| conduit.server_name | string | `"your.server.name"` | |
| conduit.trustedServers[0] | string | `"matrix.org"` | |
| conduit.wellKnown.client | string | `""` | client well-known configuration in conduit |
| conduit.wellKnown.server | string | `"https://your.server.name"` | server well-known configuration in conduit |
| fullnameOverride | string | `""` | |
| global.image.pullPolicy | string | `nil` | if set it will overwrite all pullPolicy |
| global.image.registry | string | `nil` | if set it will overwrite all registry entries |
| image.pullPolicy | string | `"IfNotPresent"` | This sets the pull policy for images. (could be overwritten by global.image.pullPolicy) |
| image.registry | string | `"docker.io"` | image registry (could be overwritten by global.image.registry) |
| image.repository | string | `"matrixconduit/matrix-conduit"` | image repository |
| image.tag | string | `""` | image tag - Overrides the image tag whose default is the chart appVersion. |
| imagePullSecrets | list | `[]` | |
| ingress.annotations | object | `{}` | |
| ingress.className | string | `""` | |
| ingress.enabled | bool | `false` | |
| ingress.hosts[0].host | string | `"chart-example.local"` | |
| ingress.hosts[0].paths[0].path | string | `"/"` | |
| ingress.hosts[0].paths[0].pathType | string | `"ImplementationSpecific"` | |
| ingress.tls | list | `[]` | |
| nameOverride | string | `""` | |
| nodeSelector | object | `{}` | |
| persistence.accessMode | string | `"ReadWriteOnce"` | |
| persistence.annotations | object | `{}` | |
| persistence.enabled | bool | `true` | |
| persistence.existingClaim | string | `nil` | A manually managed Persistent Volume and Claim Requires persistence.enabled: true If defined, PVC must be created manually before volume will be bound |
| persistence.hostPath | string | `nil` | Do not create an PVC, direct use hostPath in Pod |
| persistence.size | string | `"1Gi"` | |
| persistence.storageClass | string | `nil` | Persistent Volume Storage Class If defined, storageClassName: <storageClass> If set to "-", storageClassName: "", which disables dynamic provisioning If undefined (the default) or set to null, no storageClassName spec is set, choosing the default provisioner. (gp2 on AWS, standard on GKE, AWS & OpenStack) |
| podAnnotations | object | `{}` | |
| podLabels | object | `{}` | |
| podSecurityContext | object | `{}` | |
| replicaCount | int | `1` | replicas |
| resources | object | `{}` | |
| securityContext | object | `{}` | |
| service.port | int | `6167` | |
| service.type | string | `"ClusterIP"` | |
| serviceAccount.annotations | object | `{}` | |
| serviceAccount.create | bool | `true` | |
| serviceAccount.name | string | `""` | |
| tolerations | list | `[]` | |
Autogenerated from chart metadata using [helm-docs](https://github.com/norwoodj/helm-docs)

View file

View file

@ -0,0 +1,22 @@
conduit:
server_name: test.wrenix.eu
wellKnown:
server: "overwritten-test:443"
client: "https://overwritten-test"
wellknown:
enabled: true
ingress:
enabled: true
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
hosts:
- host: test.wrenix.eu
paths:
- path: /
pathType: Prefix
tls:
- secretName: test
hosts:
- test.wrenix.eu

View file

@ -38,8 +38,10 @@ spec:
- name: {{ .Chart.Name }}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default (printf "v%s" .Chart.AppVersion) }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
{{- with .Values.image }}
image: "{{ coalesce $.Values.global.image.registry .registry }}/{{ .repository }}:{{ .tag | default $.Chart.AppVersion }}"
imagePullPolicy: {{ coalesce $.Values.global.image.pullPolicy .pullPolicy }}
{{- end }}
ports:
- name: http
containerPort: {{ .Values.service.port }}
@ -95,10 +97,14 @@ spec:
- name: "CONDUIT_REGISTRATION_TOKEN"
value: {{ . | quote }}
{{- end }}
{{- with .Values.conduit.wellKnownClient }}
{{- with .Values.conduit.wellKnown.client }}
- name: "CONDUIT_WELL_KNOWN_CLIENT"
value: {{ . | quote }}
{{- end }}
{{- with .Values.conduit.wellKnown.server }}
- name: "CONDUIT_WELL_KNOWN_SERVER"
value: {{ . | quote }}
{{- end }}
volumeMounts:
- name: "data"
mountPath: "/var/lib/matrix-conduit"

View file

@ -76,5 +76,14 @@ spec:
name: {{ include "conduit.fullname" . }}-wellknown
port:
name: http
{{- if .Values.wellknown.rewriteRoot }}
- path: /
pathType: Exact
backend:
service:
name: {{ include "conduit.fullname" . }}-wellknown
port:
name: http
{{- end }}
{{- end }}
{{- end }}

View file

@ -2,10 +2,11 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ include "conduit.fullname" . }}-wellknown
name: {{ include "conduit.fullname" . }}-nginx-wellknown
labels:
{{- include "conduit.labels" . | nindent 4 }}
data:
server: {{ toJson .Values.wellknown.server | quote }}
client: {{ toJson .Values.wellknown.client | quote }}
{{- with .Values.wellknown}}
default.conf: {{ tpl .nginxServerConf . | toYaml | nindent 4 }}
{{- end }}
{{- end }}

View file

@ -24,6 +24,7 @@ spec:
{{- with .Values.wellknown.podLabels }}
{{- toYaml . | nindent 8 }}
{{- end }}
type: wellknown
spec:
{{- with .Values.imagePullSecrets }}
imagePullSecrets:
@ -36,25 +37,29 @@ spec:
- name: wellknown
securityContext:
{{- toYaml .Values.wellknown.securityContext | nindent 12 }}
image: "{{ .Values.wellknown.image.repository }}:{{ .Values.wellknown.image.tag }}"
imagePullPolicy: {{ .Values.wellknown.image.pullPolicy }}
{{- with .Values.wellknown.image }}
image: "{{ coalesce $.Values.global.image.registry .registry }}/{{ .repository }}:{{ .tag | default $.Chart.AppVersion }}"
imagePullPolicy: {{ coalesce $.Values.global.image.pullPolicy .pullPolicy }}
{{- end }}
ports:
- name: http
containerPort: {{ .Values.wellknown.containerPort }}
protocol: TCP
livenessProbe:
httpGet:
path: /
path: /nginx_health
port: http
readinessProbe:
httpGet:
path: /
path: /nginx_health
port: http
resources:
{{- toYaml .Values.wellknown.resources | nindent 12 }}
volumeMounts:
- name: "data"
mountPath: "/usr/share/nginx/html/.well-known/matrix/"
- name: "wellknown-nginx-conf"
mountPath: "/etc/nginx/conf.d/default.conf"
subPath: default.conf
readOnly: true
{{- with .Values.wellknown.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
@ -68,7 +73,7 @@ spec:
{{- toYaml . | nindent 8 }}
{{- end }}
volumes:
- name: "data"
- name: "wellknown-nginx-conf"
configMap:
name: {{ include "conduit.fullname" . }}-wellknown
name: {{ include "conduit.fullname" . }}-nginx-wellknown
{{- end }}

View file

@ -1,13 +1,22 @@
# Default values for conduit.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
global:
image:
# -- if set it will overwrite all registry entries
registry:
# -- if set it will overwrite all pullPolicy
pullPolicy:
# -- replicas
replicaCount: 1
image:
repository: registry.gitlab.com/famedly/conduit/matrix-conduit
# -- image registry (could be overwritten by global.image.registry)
registry: docker.io
# -- image repository
repository: matrixconduit/matrix-conduit
# -- This sets the pull policy for images. (could be overwritten by global.image.pullPolicy)
pullPolicy: IfNotPresent
# Overrides the image tag whose default is the chart appVersion.
# -- image tag - Overrides the image tag whose default is the chart appVersion.
tag: ""
imagePullSecrets: []
@ -39,41 +48,121 @@ conduit:
# log: "warn,rocket=off,_=off,sled=off"
log:
registrationToken:
wellKnownClient: "your.server.name"
wellKnown:
# -- client well-known configuration in conduit
client: ""
# -- server well-known configuration in conduit
server: "https://your.server.name"
wellknown:
enabled: true
# -- enable/deploy add extra webservice for well-known urls
# @section -- well known
enabled: false
image:
repository: nginx
# -- image registry (could be overwritten by global.image.registry)
# @section -- well known
registry: docker.io
# -- image repository
# @section -- well known
repository: library/nginx
# -- This sets the pull policy for images. (could be overwritten by global.image.pullPolicy)
# @section -- well known
pullPolicy: IfNotPresent
tag: "1.25"
# -- image tag
# @section -- well known
tag: "1.27.4"
# -- replicas
# @section -- well known
replicaCount: 1
# -- pod labels
# @section -- well known
podLabels: {}
# -- pod annotations
# @section -- well known
podAnnotations: []
# -- securityContext of Pod
# @section -- well known
podSecurityContext: {}
# -- securityContext of container
# @section -- well known
securityContext: {}
# -- port webservice
# @section -- well known
containerPort: 80
# -- pod env
# @section -- well known
env: []
# -- pod resources
# @section -- well known
resources: {}
# -- pod node selector
# @section -- well known
nodeSelector: {}
# -- pod tolerations
# @section -- well known
tolerations: []
# -- pod affinity
# @section -- well known
affinity: {}
service:
# -- service type
# @section -- well known
type: ClusterIP
# -- port of service
# @section -- well known
port: 8080
# -- annotations of service
# @section -- well known
annotations: {}
# TO EDIT:
# -- if ingress is enabled: specifies whether ingress should redirect the `/`-Location to the wellknown server
# @section -- well known
rewriteRoot: false
# -- server entry in well-known
# @section -- well known
server:
"m.server": "your.server.name:443"
# -- client entry in well-known
# @section -- well known
client:
"m.homeserver":
"base_url": "https://your.server.name/"
"org.matrix.msc3575.proxy":
"url": "https://your.server.name/"
# -- nginx config
# @section -- well known
nginxServerConf: |-
server {
listen {{ .containerPort }};
server_name localhost;
location /.well-known/matrix/server {
return 200 {{ toJson .server | quote }};
types { } default_type "application/json; charset=utf-8";
}
location /.well-known/matrix/client {
return 200 {{ toJson .client | quote }};
types { } default_type "application/json; charset=utf-8";
add_header "Access-Control-Allow-Origin" *;
}
location / {
# return 200 'Welcome to the your.server.name conduit server!';
# types { } default_type "text/plain; charset=utf-8";
return 404;
}
location /nginx_health {
return 200 'OK';
types { } default_type "text/plain; charset=utf-8";
}
}
podLabels: {}
podAnnotations: {}

View file

@ -1,8 +0,0 @@
name: wrenix-helm
title: "WrenIX's Helm charts"
version:
main: latest
nav:
- modules/ROOT/nav.adoc
- modules/charts/nav.adoc

View file

@ -1 +0,0 @@
* xref:index.adoc[Home]

View file

@ -1 +0,0 @@
../../../../README.adoc

View file

@ -1,16 +0,0 @@
#!/bin/sh
ROOT_DIR="./docs/modules/charts/"
rm "${ROOT_DIR}/pages/"*".adoc"
echo "* charts" > "${ROOT_DIR}/nav.adoc"
for name in * ; do
if \
[ ! -d $name ] || \
[ ! -f $name/Chart.yaml ] \
; then
continue;
fi
ln -sf "../../../../${name}/README.adoc" "${ROOT_DIR}/pages/${name}.adoc";
echo "** xref:${name}.adoc[${name}]" >> "${ROOT_DIR}/nav.adoc"
done

View file

@ -1,21 +0,0 @@
* charts
** xref:alertmanager-matrix.adoc[alertmanager-matrix]
** xref:alertmanager-ntfy.adoc[alertmanager-ntfy]
** xref:authentik-application.adoc[authentik-application]
** xref:conduit.adoc[conduit]
** xref:forgejo-runner.adoc[forgejo-runner]
** xref:gotosocial.adoc[gotosocial]
** xref:grampsweb.adoc[grampsweb]
** xref:headscale.adoc[headscale]
** xref:headscale-ui.adoc[headscale-ui]
** xref:hydrogen-web.adoc[hydrogen-web]
** xref:jellyfin.adoc[jellyfin]
** xref:matrix-authentication-service.adoc[matrix-authentication-service]
** xref:matrix-sliding-sync.adoc[matrix-sliding-sync]
** xref:matrix-synapse.adoc[matrix-synapse]
** xref:mautrix-signal.adoc[mautrix-signal]
** xref:miniserve.adoc[miniserve]
** xref:monitoring.adoc[monitoring]
** xref:ntfy.adoc[ntfy]
** xref:postgresql.adoc[postgresql]
** xref:stalwart-mail.adoc[stalwart-mail]

View file

@ -1 +0,0 @@
../../../../alertmanager-matrix/README.adoc

View file

@ -1 +0,0 @@
../../../../alertmanager-ntfy/README.adoc

View file

@ -1 +0,0 @@
../../../../authentik-application/README.adoc

View file

@ -1 +0,0 @@
../../../../conduit/README.adoc

View file

@ -1 +0,0 @@
../../../../forgejo-runner/README.adoc

View file

@ -1 +0,0 @@
../../../../gotosocial/README.adoc

View file

@ -1 +0,0 @@
../../../../grampsweb/README.adoc

View file

@ -1 +0,0 @@
../../../../headscale-ui/README.adoc

View file

@ -1 +0,0 @@
../../../../headscale/README.adoc

View file

@ -1 +0,0 @@
../../../../hydrogen-web/README.adoc

View file

@ -1 +0,0 @@
../../../../jellyfin/README.adoc

View file

@ -1 +0,0 @@
../../../../matrix-authentication-service/README.adoc

View file

@ -1 +0,0 @@
../../../../matrix-sliding-sync/README.adoc

View file

@ -1 +0,0 @@
../../../../matrix-synapse/README.adoc

View file

@ -1 +0,0 @@
../../../../mautrix-signal/README.adoc

View file

@ -1 +0,0 @@
../../../../miniserve/README.adoc

View file

@ -1 +0,0 @@
../../../../monitoring/README.adoc

View file

@ -1 +0,0 @@
../../../../ntfy/README.adoc

View file

@ -1 +0,0 @@
../../../../postgresql/README.adoc

View file

@ -1 +0,0 @@
../../../../stalwart-mail/README.adoc

10
element-call/Chart.yaml Normal file
View file

@ -0,0 +1,10 @@
apiVersion: v2
name: element-call
description: Run Element-Call and his dependencies
type: application
version: "0.1.8"
# renovate: image=ghcr.io/element-hq/element-call
appVersion: "0.7.1"
maintainers:
- name: WrenIX
url: https://wrenix.eu

125
element-call/README.md Normal file
View file

@ -0,0 +1,125 @@
---
title: "element-call"
description: "Run Element-Call and his dependencies"
---
# element-call
![Version: 0.1.8](https://img.shields.io/badge/Version-0.1.8-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.7.1](https://img.shields.io/badge/AppVersion-0.7.1-informational?style=flat-square)
Run Element-Call and his dependencies
## Maintainers
| Name | Email | Url |
| ---- | ------ | --- |
| WrenIX | | <https://wrenix.eu> |
## Usage
Helm must be installed and setup to your kubernetes cluster to use the charts.
Refer to Helm's [documentation](https://helm.sh/docs) to get started.
Once Helm has been set up correctly, fetch the charts as follows:
```bash
helm pull oci://codeberg.org/wrenix/helm-charts/element-call
```
You can install a chart release using the following command:
```bash
helm install element-call-release oci://codeberg.org/wrenix/helm-charts/element-call --values values.yaml
```
To uninstall a chart release use `helm`'s delete command:
```bash
helm uninstall element-call-release
```
## Values
### livekit JWT
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| service.lkJWT.config.key | string | `"devkey"` | key to livekit |
| service.lkJWT.config.secret | string | `"secret"` | secret to livekit |
| service.lkJWT.config.url | string | `""` | url to livekit |
| service.lkJWT.enabled | bool | `true` | enable to deploy livekit jwt service for element-call |
| service.lkJWT.image.pullPolicy | string | `"IfNotPresent"` | This sets the pull policy for images. (could be overwritten by global.image.pullPolicy) |
| service.lkJWT.image.registry | string | `"ghcr.io"` | image registry (could be overwritten by global.image.registry) |
| service.lkJWT.image.repository | string | `"element-hq/lk-jwt-service"` | image repository |
| service.lkJWT.image.tag | string | `"sha-4a29504"` | image tag |
| service.lkJWT.networkPolicy.egress.enabled | bool | `false` | activate egress no networkpolicy |
| service.lkJWT.networkPolicy.egress.extra | list | `[]` | egress rules |
| service.lkJWT.networkPolicy.ingress.http | list | `[]` | ingress for http port (e.g. ingress-controller) |
| service.lkJWT.replicaCount | int | `1` | replicas |
| service.lkJWT.serviceAccount.annotations | object | `{}` | Annotations to add to the service account |
| service.lkJWT.serviceAccount.automount | bool | `true` | Automatically mount a ServiceAccount's API credentials? |
| service.lkJWT.serviceAccount.create | bool | `true` | Specifies whether a service account should be created |
| service.lkJWT.serviceAccount.name | string | `""` | The name of the service account to use. If not set and create is true, a name is generated using the fullname template |
### Other Values
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| autoscaling.enabled | bool | `false` | |
| autoscaling.maxReplicas | int | `100` | |
| autoscaling.minReplicas | int | `1` | |
| autoscaling.targetCPUUtilizationPercentage | int | `80` | |
| fullnameOverride | string | `""` | |
| global.image.pullPolicy | string | `nil` | if set it will overwrite all pullPolicy |
| global.image.registry | string | `nil` | if set it will overwrite all registry entries |
| imagePullSecrets | list | `[]` | |
| ingress.annotations | object | `{}` | |
| ingress.className | string | `""` | |
| ingress.enabled | bool | `false` | |
| ingress.tls | list | `[]` | |
| nameOverride | string | `""` | |
| service.call.affinity | object | `{}` | |
| service.call.config | object | `{}` | |
| service.call.image.pullPolicy | string | `"IfNotPresent"` | This sets the pull policy for images. (could be overwritten by global.image.pullPolicy) |
| service.call.image.registry | string | `"ghcr.io"` | image registry (could be overwritten by global.image.registry) |
| service.call.image.repository | string | `"element-hq/element-call"` | image repository |
| service.call.image.tag | string | `nil` | image tag - Overrides the image tag whose default is the chart appVersion |
| service.call.ingress.host | string | `nil` | |
| service.call.livenessProbe.httpGet.path | string | `"/"` | |
| service.call.livenessProbe.httpGet.port | string | `"http"` | |
| service.call.networkPolicy.egress.enabled | bool | `true` | activate egress no networkpolicy |
| service.call.networkPolicy.egress.extra | list | `[]` | egress rules |
| service.call.networkPolicy.enabled | bool | `false` | |
| service.call.networkPolicy.ingress.http | list | `[]` | ingress for http port (e.g. ingress-controller) |
| service.call.nodeSelector | object | `{}` | |
| service.call.podAnnotations | object | `{}` | |
| service.call.podLabels | object | `{}` | |
| service.call.podSecurityContext | object | `{}` | |
| service.call.readinessProbe.httpGet.path | string | `"/"` | |
| service.call.readinessProbe.httpGet.port | string | `"http"` | |
| service.call.replicaCount | int | `1` | replicas |
| service.call.resources | object | `{}` | |
| service.call.securityContext | object | `{}` | |
| service.call.serviceAccount.annotations | object | `{}` | |
| service.call.serviceAccount.automount | bool | `true` | |
| service.call.serviceAccount.create | bool | `true` | |
| service.call.serviceAccount.name | string | `""` | |
| service.call.tolerations | list | `[]` | |
| service.lkJWT.affinity | object | `{}` | |
| service.lkJWT.ingress.host | string | `nil` | |
| service.lkJWT.livenessProbe.httpGet.path | string | `"/healthz"` | |
| service.lkJWT.livenessProbe.httpGet.port | string | `"http"` | |
| service.lkJWT.networkPolicy.enabled | bool | `false` | |
| service.lkJWT.nodeSelector | object | `{}` | |
| service.lkJWT.podAnnotations | object | `{}` | |
| service.lkJWT.podLabels | object | `{}` | |
| service.lkJWT.podSecurityContext | object | `{}` | |
| service.lkJWT.readinessProbe.httpGet.path | string | `"/healthz"` | |
| service.lkJWT.readinessProbe.httpGet.port | string | `"http"` | |
| service.lkJWT.resources | object | `{}` | |
| service.lkJWT.securityContext | object | `{}` | |
| service.lkJWT.tolerations | list | `[]` | |
Autogenerated from chart metadata using [helm-docs](https://github.com/norwoodj/helm-docs)

View file

@ -0,0 +1 @@

View file

@ -0,0 +1,70 @@
{{/*
Expand the name of the chart.
*/}}
{{- define "element-call.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
{{- end }}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "element-call.fullname" -}}
{{- if .Values.fullnameOverride }}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- $name := default .Chart.Name .Values.nameOverride }}
{{- if contains $name .Release.Name }}
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
{{- end }}
{{- end }}
{{- end }}
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "element-call.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
{{- end }}
{{/*
Common labels
*/}}
{{- define "element-call.labels" -}}
helm.sh/chart: {{ include "element-call.chart" . }}
{{ include "element-call.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end }}
{{/*
Selector labels
*/}}
{{- define "element-call.selectorLabels" -}}
app.kubernetes.io/name: {{ include "element-call.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}
{{/*
Create the name of the service account to use
*/}}
{{- define "element-call.serviceAccountName" -}}
{{- $ := get . "root" }}
{{- $suffix := get . "suffix" }}
{{- with get . "ctx" }}
{{- if .serviceAccount.create }}
{{- if $suffix }}
{{- default (printf "%s-%s" (include "element-call.fullname" $) $suffix) .serviceAccount.name }}
{{- else }}
{{- default (include "element-call.fullname" $) .serviceAccount.name }}
{{- end }}
{{- else }}
{{- default "default" .serviceAccount.name }}
{{- end }}
{{- end }}
{{- end }}

View file

@ -0,0 +1,10 @@
---
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ include "element-call.fullname" . }}
labels:
{{- include "element-call.labels" . | nindent 4 }}
data:
"config.json": |
{{- toJson .Values.service.call.config | nindent 4 }}

View file

@ -0,0 +1,76 @@
{{- $fullName := include "element-call.fullname" . -}}
{{- with .Values.service.call }}
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ $fullName }}
labels:
{{- include "element-call.labels" $ | nindent 4 }}
app.kubernetes.io/component: call
spec:
{{- if not $.Values.autoscaling.enabled }}
replicas: {{ .replicaCount }}
{{- end }}
selector:
matchLabels:
{{- include "element-call.selectorLabels" $ | nindent 6 }}
app.kubernetes.io/component: call
template:
metadata:
{{- with .podAnnotations }}
annotations:
{{- toYaml . | nindent 8 }}
{{- end }}
labels:
{{- include "element-call.labels" $ | nindent 8 }}
app.kubernetes.io/component: call
{{- with .podLabels }}
{{- toYaml . | nindent 8 }}
{{- end }}
spec:
{{- with $.Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
serviceAccountName: {{ include "element-call.serviceAccountName" (dict "root" $ "ctx" .) }}
securityContext:
{{- toYaml .podSecurityContext | nindent 8 }}
containers:
- name: call
securityContext:
{{- toYaml .securityContext | nindent 12 }}
{{- with .image }}
image: "{{ coalesce $.Values.global.image.registry .registry }}/{{ .repository }}:{{ .tag | default (printf "v%s" $.Chart.AppVersion) }}"
imagePullPolicy: {{ coalesce $.Values.global.image.pullPolicy .pullPolicy }}
{{- end }}
ports:
- name: http
containerPort: 8080
protocol: TCP
livenessProbe:
{{- toYaml .livenessProbe | nindent 12 }}
readinessProbe:
{{- toYaml .readinessProbe | nindent 12 }}
resources:
{{- toYaml .resources | nindent 12 }}
volumeMounts:
- mountPath: /app/config.json
name: config
subPath: config.json
volumes:
- name: config
configMap:
name: {{ $fullName }}
{{- with .nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .affinity }}
affinity:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .tolerations }}
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- end }}{{/* end-with .service.call */}}

View file

@ -2,14 +2,14 @@
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: {{ include "mautrix-signal.fullname" . }}
name: {{ include "element-call.fullname" . }}
labels:
{{- include "mautrix-signal.labels" . | nindent 4 }}
{{- include "element-call.labels" . | nindent 4 }}
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: {{ include "mautrix-signal.fullname" . }}
name: {{ include "element-call.fullname" . }}
minReplicas: {{ .Values.autoscaling.minReplicas }}
maxReplicas: {{ .Values.autoscaling.maxReplicas }}
metrics:

View file

@ -0,0 +1,46 @@
{{- if .Values.ingress.enabled -}}
{{- $fullName := include "element-call.fullname" . -}}
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: {{ $fullName }}
labels:
{{- include "element-call.labels" . | nindent 4 }}
{{- with .Values.ingress.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
{{- with .Values.ingress.className }}
ingressClassName: {{ . }}
{{- end }}
{{- with .Values.ingress.tls }}
tls:
{{- toYaml . | nindent 4 }}
{{- end }}
rules:
- host: {{ .Values.service.call.ingress.host | quote }}
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: {{ $fullName }}
port:
name: http
{{- if .Values.service.lkJWT.enabled }}
{{- if (eq .Values.service.lkJWT.ingress.host .Values.service.call.ingress.host)}}
- host: {{ .Values.service.lkJWT.ingress.host | quote }}
http:
paths:
{{- end }}
- path: /sfu/get
pathType: Exact
backend:
service:
name: {{ $fullName }}-lk-jwt
port:
name: http
{{- end }}
{{- end }}

View file

@ -0,0 +1,79 @@
{{- $fullName := include "element-call.fullname" . -}}
{{- with .Values.service.lkJWT }}
{{- if .enabled }}
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ $fullName }}-lk-jwt
labels:
{{- include "element-call.labels" $ | nindent 4 }}
app.kubernetes.io/component: lk-jwt
spec:
{{- if not $.Values.autoscaling.enabled }}
replicas: {{ .replicaCount }}
{{- end }}
selector:
matchLabels:
{{- include "element-call.selectorLabels" $ | nindent 6 }}
app.kubernetes.io/component: lk-jwt
template:
metadata:
annotations:
secret-env-hash: {{ include (print $.Template.BasePath "/lk-jwt/secret.yaml") $ | sha256sum }}
{{- with .podAnnotations }}
{{- toYaml . | nindent 8 }}
{{- end }}
labels:
{{- include "element-call.labels" $ | nindent 8 }}
app.kubernetes.io/component: lk-jwt
{{- with .podLabels }}
{{- toYaml . | nindent 8 }}
{{- end }}
spec:
{{- with $.Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
serviceAccountName: {{ include "element-call.serviceAccountName" (dict "root" $ "ctx" . "suffix" "lk-jwt") }}
securityContext:
{{- toYaml .podSecurityContext | nindent 8 }}
containers:
- name: lk-jwt
securityContext:
{{- toYaml .securityContext | nindent 12 }}
{{- with .image }}
image: "{{ coalesce $.Values.global.image.registry .registry }}/{{ .repository }}:{{ .tag }}"
imagePullPolicy: {{ coalesce $.Values.global.image.pullPolicy .pullPolicy }}
{{- end }}
env:
- name: "LK_JWT_PORT"
value: "8080"
- name: "LIVEKIT_URL"
value: {{ .config.url }}
envFrom:
- secretRef:
name: {{ $fullName }}-lk-jwt
ports:
- name: http
containerPort: 8080
protocol: TCP
livenessProbe:
{{- toYaml .livenessProbe | nindent 12 }}
readinessProbe:
{{- toYaml .readinessProbe | nindent 12 }}
resources:
{{- toYaml .resources | nindent 12 }}
{{- with .nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .affinity }}
affinity:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .tolerations }}
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- end }}{{/* end-if .enabled */}}
{{- end }}{{/* end-with .Values.service.lkJWT */}}

View file

@ -0,0 +1,31 @@
{{- with .Values.service.lkJWT.networkPolicy }}
{{- if and $.Values.service.lkJWT.enabled .enabled }}
---
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: {{ include "element-call.fullname" $ }}-lk-jwt
labels:
{{- include "element-call.labels" $ | nindent 4 }}
spec:
podSelector:
matchLabels:
{{- include "element-call.selectorLabels" $ | nindent 6 }}
app.kubernetes.io/component: lk-jwt
policyTypes:
- Ingress
{{- if .egress.enabled }}
- Egress
{{- end }}
ingress:
- ports:
- port: 8080
protocol: TCP
from:
{{- toYaml .ingress.http | nindent 8 }}
{{- with .egress }}
egress:
{{- toYaml .extra | nindent 4 }}
{{- end }}
{{- end }}
{{- end }}

View file

@ -0,0 +1,14 @@
{{- if .Values.service.lkJWT.enabled }}
---
apiVersion: v1
kind: Secret
metadata:
name: {{ include "element-call.fullname" . }}-lk-jwt
labels:
{{- include "element-call.labels" . | nindent 4 }}
data:
{{- with .Values.service.lkJWT.config }}
LIVEKIT_KEY: {{ .key | b64enc }}
LIVEKIT_SECRET: {{ .secret | b64enc }}
{{- end }}
{{- end }}

View file

@ -0,0 +1,19 @@
{{- if .Values.service.lkJWT.enabled }}
---
apiVersion: v1
kind: Service
metadata:
name: {{ include "element-call.fullname" . }}-lk-jwt
labels:
{{- include "element-call.labels" . | nindent 4 }}
spec:
type: ClusterIP
ports:
- port: 80
targetPort: http
protocol: TCP
name: http
selector:
{{- include "element-call.selectorLabels" . | nindent 4 }}
app.kubernetes.io/component: lk-jwt
{{- end }}

View file

@ -0,0 +1,15 @@
{{- with .Values.service.lkJWT }}
{{- if and .enabled .serviceAccount.create -}}
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ include "element-call.serviceAccountName" (dict "root" $ "ctx" . "suffix" "lk-jwt") }}
labels:
{{- include "element-call.labels" $ | nindent 4 }}
{{- with .serviceAccount.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
automountServiceAccountToken: {{ .serviceAccount.automount }}
{{- end }}
{{- end }}

View file

@ -0,0 +1,31 @@
{{- with .Values.service.call.networkPolicy }}
{{- if .enabled }}
---
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: {{ include "element-call.fullname" $ }}
labels:
{{- include "element-call.labels" $ | nindent 4 }}
spec:
podSelector:
matchLabels:
{{- include "element-call.selectorLabels" $ | nindent 6 }}
app.kubernetes.io/component: call
policyTypes:
- Ingress
{{- if .egress.enabled }}
- Egress
{{- end }}
ingress:
- ports:
- port: 8080
protocol: TCP
from:
{{- toYaml .ingress.http | nindent 8 }}
{{- with .egress }}
egress:
{{- toYaml .extra | nindent 4 }}
{{- end }}
{{- end }}
{{- end }}

View file

@ -0,0 +1,16 @@
apiVersion: v1
kind: Service
metadata:
name: {{ include "element-call.fullname" . }}
labels:
{{- include "element-call.labels" . | nindent 4 }}
spec:
type: ClusterIP
ports:
- port: 80
targetPort: http
protocol: TCP
name: http
selector:
{{- include "element-call.selectorLabels" . | nindent 4 }}
app.kubernetes.io/component: call

View file

@ -0,0 +1,15 @@
{{- with .Values.service.call }}
{{- if .serviceAccount.create -}}
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ include "element-call.serviceAccountName" (dict "root" $ "ctx" . "suffix" "") }}
labels:
{{- include "element-call.labels" $ | nindent 4 }}
{{- with .serviceAccount.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
automountServiceAccountToken: {{ .serviceAccount.automount }}
{{- end }}
{{- end }}

175
element-call/values.yaml Normal file
View file

@ -0,0 +1,175 @@
global:
image:
# -- if set it will overwrite all registry entries
registry:
# -- if set it will overwrite all pullPolicy
pullPolicy:
imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
ingress:
enabled: false
className: ""
annotations: {}
tls: []
# - secretName: chart-example-tls
# hosts:
# - chart-example.local
autoscaling:
enabled: false
minReplicas: 1
maxReplicas: 100
targetCPUUtilizationPercentage: 80
# targetMemoryUtilizationPercentage: 80
service:
call:
# -- replicas
replicaCount: 1
image:
# -- image registry (could be overwritten by global.image.registry)
registry: ghcr.io
# -- image repository
repository: element-hq/element-call
# -- This sets the pull policy for images. (could be overwritten by global.image.pullPolicy)
pullPolicy: IfNotPresent
# -- image tag - Overrides the image tag whose default is the chart appVersion
tag:
config: {}
ingress:
host:
networkPolicy:
enabled: false
ingress:
# -- ingress for http port (e.g. ingress-controller)
http: []
egress:
# -- activate egress no networkpolicy
enabled: true
# -- egress rules
extra: []
livenessProbe:
httpGet:
path: /
port: http
readinessProbe:
httpGet:
path: /
port: http
resources: {}
serviceAccount:
# Specifies whether a service account should be created
create: true
# Automatically mount a ServiceAccount's API credentials?
automount: true
# Annotations to add to the service account
annotations: {}
# The name of the service account to use.
# If not set and create is true, a name is generated using the fullname template
name: ""
podAnnotations: {}
podLabels: {}
podSecurityContext: {}
# fsGroup: 2000
securityContext: {}
# capabilities:
# drop:
# - ALL
# readOnlyRootFilesystem: true
# runAsNonRoot: true
# runAsUser: 1000
nodeSelector: {}
tolerations: []
affinity: {}
lkJWT:
# -- enable to deploy livekit jwt service for element-call
# @section -- livekit JWT
enabled: true
# -- replicas
# @section -- livekit JWT
replicaCount: 1
image:
# -- image registry (could be overwritten by global.image.registry)
# @section -- livekit JWT
registry: ghcr.io
# -- image repository
# @section -- livekit JWT
repository: element-hq/lk-jwt-service
# -- This sets the pull policy for images. (could be overwritten by global.image.pullPolicy)
# @section -- livekit JWT
pullPolicy: IfNotPresent
# -- image tag
# @section -- livekit JWT
tag: sha-4a29504
config:
# -- url to livekit
# @section -- livekit JWT
url: ""
# -- key to livekit
# @section -- livekit JWT
key: "devkey"
# -- secret to livekit
# @section -- livekit JWT
secret: "secret"
ingress:
host:
networkPolicy:
enabled: false
ingress:
# -- ingress for http port (e.g. ingress-controller)
# @section -- livekit JWT
http: []
egress:
# -- activate egress no networkpolicy
# @section -- livekit JWT
enabled: false
# -- egress rules
# @section -- livekit JWT
extra: []
livenessProbe:
httpGet:
path: /healthz
port: http
readinessProbe:
httpGet:
path: /healthz
port: http
resources: {}
serviceAccount:
# -- Specifies whether a service account should be created
# @section -- livekit JWT
create: true
# -- Automatically mount a ServiceAccount's API credentials?
# @section -- livekit JWT
automount: true
# -- Annotations to add to the service account
# @section -- livekit JWT
annotations: {}
# -- The name of the service account to use.
# If not set and create is true, a name is generated using the fullname template
# @section -- livekit JWT
name: ""
podAnnotations: {}
podLabels: {}
podSecurityContext: {}
# fsGroup: 2000
securityContext: {}
# capabilities:
# drop:
# - ALL
# readOnlyRootFilesystem: true
# runAsNonRoot: true
# runAsUser: 1000
nodeSelector: {}
tolerations: []
affinity: {}

View file

@ -2,9 +2,9 @@ apiVersion: v2
name: forgejo-runner
description: Deploy runner for an forgejo instance (default codeberg.org)
type: application
version: 0.1.9
version: "0.4.18"
# renovate: image=code.forgejo.org/forgejo/runner
appVersion: "3.3.0"
appVersion: "6.2.2"
maintainers:
- name: WrenIX
url: https://wrenix.eu

Some files were not shown because too many files have changed in this diff Show more