Compare commits

...

8 Commits

Author SHA1 Message Date
bab4c95580 update image version to latest 2024-04-01 09:28:19 -06:00
536b133850 add widgets 2024-03-30 16:47:42 -06:00
ead44d21f7 fix service account name 2024-03-30 14:48:51 -06:00
ff7fb92c19 create tempalte name for passFile 2024-03-30 14:43:13 -06:00
46effc5599 fix secret field schema 2024-03-30 14:32:22 -06:00
0f7a0d658f fix naming 2024-03-30 14:27:29 -06:00
08b0782645 add service monitor 2024-03-30 14:22:55 -06:00
9f7f83a40a change webhook path 2024-03-30 14:17:21 -06:00
9 changed files with 110 additions and 22 deletions

View File

@@ -1,6 +1,6 @@
apiVersion: v2 apiVersion: v2
name: matrix-hookshot name: matrix-hookshot
version: 0.0.2 version: 0.1.0
description: Chart for Matrix Hookshot description: Chart for Matrix Hookshot
keywords: keywords:
- matrix - matrix

View File

@@ -30,3 +30,14 @@ Helper for passkey secret name
{{- printf "matrix-hookshot-passkey-secret" }} {{- printf "matrix-hookshot-passkey-secret" }}
{{- end }} {{- end }}
{{- end }} {{- end }}
{{/*
Helper for passkey file name
*/}}
{{- define "hookshot.passFile" -}}
{{- if .Values.hookshot.config.passFile }}
{{- printf "%s" .Values.hookshot.config.passFile -}}
{{- else }}
{{- printf "passkey.pem" }}
{{- end }}
{{- end }}

View File

@@ -4,7 +4,7 @@ metadata:
name: matrix-hookshot name: matrix-hookshot
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: {{ .Release.Name }} app.kubernetes.io/name: matrix-hookshot
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web app.kubernetes.io/component: web
@@ -24,10 +24,10 @@ spec:
app.kubernetes.io/name: matrix-hookshot app.kubernetes.io/name: matrix-hookshot
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
spec: spec:
serviceAccountName: {{ .Release.Name }} serviceAccountName: matrix-hookshot
automountServiceAccountToken: true automountServiceAccountToken: true
containers: containers:
- name: {{ .Release.Name }} - name: matrix-hookshot
image: "{{ .Values.deployment.image.repository }}:{{ .Values.deployment.image.tag }}" image: "{{ .Values.deployment.image.repository }}:{{ .Values.deployment.image.tag }}"
imagePullPolicy: {{ .Values.deployment.image.imagePullPolicy }} imagePullPolicy: {{ .Values.deployment.image.imagePullPolicy }}
ports: ports:
@@ -40,6 +40,9 @@ spec:
- name: appservice - name: appservice
containerPort: {{ .Values.service.appservice.port }} containerPort: {{ .Values.service.appservice.port }}
protocol: TCP protocol: TCP
- name: widgets
containerPort: {{ .Values.service.widgets.port }}
protocol: TCP
env: env:
{{- range $k,$v := .Values.deployment.env }} {{- range $k,$v := .Values.deployment.env }}
- name: {{ $k }} - name: {{ $k }}
@@ -61,13 +64,13 @@ spec:
subPath: registration.yml subPath: registration.yml
readOnly: true readOnly: true
- name: passkey - name: passkey
mountPath: "/data/{{ .Values.hookshot.config.passFile }}" mountPath: "/data/{{ template "hookshot.passFile" . }}"
subPath: "{{ .Values.hookshot.config.passFile }}" subPath: {{ template "hookshot.passFile" . }}
readOnly: true readOnly: true
volumes: volumes:
- name: config - name: config
secret: secret:
name: {{ template "hookshot.secretName" . }} secretName: {{ template "hookshot.secretName" . }}
- name: registration - name: registration
secret: secret:
secretName: {{ template "hookshot.registrationSecretName" . }} secretName: {{ template "hookshot.registrationSecretName" . }}

View File

@@ -2,10 +2,10 @@
apiVersion: networking.k8s.io/v1 apiVersion: networking.k8s.io/v1
kind: Ingress kind: Ingress
metadata: metadata:
name: "{{ .Release.Name }}-webhook" name: matrix-hookshot-webhook
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: "{{ .Release.Name }}-webhook" app.kubernetes.io/name: matrix-hookshot-webhook
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web app.kubernetes.io/component: web
@@ -22,7 +22,7 @@ spec:
- host: {{ .Values.ingress.webhook.host }} - host: {{ .Values.ingress.webhook.host }}
http: http:
paths: paths:
- path: / - path: /webhook/
pathType: Prefix pathType: Prefix
backend: backend:
service: service:
@@ -36,10 +36,10 @@ spec:
apiVersion: networking.k8s.io/v1 apiVersion: networking.k8s.io/v1
kind: Ingress kind: Ingress
metadata: metadata:
name: "{{ .Release.Name }}-appservice" name: matrix-hookshot-appservice
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: "{{ .Release.Name }}-appservice" app.kubernetes.io/name: matrix-hookshot-appservice
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web app.kubernetes.io/component: web
@@ -64,3 +64,37 @@ spec:
port: port:
name: appservice name: appservice
{{- end }} {{- end }}
---
{{- if .Values.ingress.widgets.enabled }}
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: matrix-hookshot-widgets
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: matrix-hookshot-widgets
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web
app.kubernetes.io/part-of: {{ .Release.Name }}
annotations:
{{- toYaml .Values.ingress.widgets.annotations | nindent 4 }}
spec:
ingressClassName: {{ .Values.ingress.widgets.className }}
tls:
- hosts:
- {{ .Values.ingress.widgets.host }}
secretName: {{ .Release.Name }}-widgets-secret-tls
rules:
- host: {{ .Values.ingress.widgets.host }}
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: {{ .Release.Name }}
port:
name: widgets
{{- end }}

View File

@@ -1,9 +1,9 @@
apiVersion: v1 apiVersion: v1
kind: Pod kind: Pod
metadata: metadata:
name: "{{ .Release.Name }}-test-connection" name: matrix-hookshot-test-connection
labels: labels:
app.kubernetes.io/name: {{ .Release.Name }} app.kubernetes.io/name: matrix-hookshot-test-connection
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web app.kubernetes.io/component: web
@@ -16,7 +16,7 @@ spec:
- name: wget - name: wget
image: busybox image: busybox
command: ['wget'] command: ['wget']
args: ['{{ .Release.Name }}:{{ .Values.service.webhook.port }}'] args: ['matrix-hookshot:{{ .Values.service.webhook.port }}']
resources: resources:
limits: limits:
cpu: 500m cpu: 500m

View File

@@ -1,10 +1,10 @@
apiVersion: v1 apiVersion: v1
kind: ServiceAccount kind: ServiceAccount
metadata: metadata:
name: {{ .Release.Name }} name: matrix-hookshot
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: {{ .Release.Name }} app.kubernetes.io/name: matrix-hookshot
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web app.kubernetes.io/component: web

View File

@@ -0,0 +1,23 @@
{{- if and .Values.metrics.enabled .Values.metrics.serviceMonitor.enabled }}
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: matrix-hookshot
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: matrix-hookshot
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
endpoints:
- port: metrics
interval: {{ .Values.metrics.serviceMonitor.interval }}
scrapeTimeout: {{ .Values.metrics.serviceMonitor.scrapeTimeout }}
path: /metrics
selector:
matchLabels:
app.kubernetes.io/name: matrix-hookshot
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}

View File

@@ -1,10 +1,10 @@
apiVersion: v1 apiVersion: v1
kind: Service kind: Service
metadata: metadata:
name: {{ .Release.Name }} name: matrix-hookshot
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: {{ .Release.Name }} app.kubernetes.io/name: matrix-hookshot
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web app.kubernetes.io/component: web
@@ -24,6 +24,10 @@ spec:
targetPort: appservice targetPort: appservice
protocol: TCP protocol: TCP
name: appservice name: appservice
- port: {{ .Values.service.widgets.port }}
targetPort: widgets
protocol: TCP
name: widgets
selector: selector:
app.kubernetes.io/name: {{ .Release.Name }} app.kubernetes.io/name: matrix-hookshot
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}

View File

@@ -3,7 +3,7 @@ deployment:
strategy: Recreate strategy: Recreate
image: image:
repository: halfshot/matrix-hookshot repository: halfshot/matrix-hookshot
tag: "4.5.1" tag: "5.2.1"
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
env: {} env: {}
envFrom: [] envFrom: []
@@ -22,6 +22,8 @@ service:
port: 9001 port: 9001
appservice: appservice:
port: 9002 port: 9002
widgets:
port: 9003
ingress: ingress:
webhook: webhook:
enabled: false enabled: false
@@ -33,6 +35,17 @@ ingress:
className: "" className: ""
annotations: {} annotations: {}
host: "" host: ""
widgets:
enabled: false
className: ""
annotations: {}
host: ""
metrics:
enabled: false
serviceMonitor:
enabled: false
interval: 15s
scrapeTimeout: 5s
# Reference the following for examples # Reference the following for examples
# https://matrix-org.github.io/matrix-hookshot/latest/setup/sample-configuration.html # https://matrix-org.github.io/matrix-hookshot/latest/setup/sample-configuration.html
@@ -63,7 +76,7 @@ hookshot:
resources: resources:
- metrics - metrics
- provisioning - provisioning
- port: 9002 - port: 9003
bindAddress: 0.0.0.0 bindAddress: 0.0.0.0
resources: resources:
- widgets - widgets