Skip to content

Commit f636ec5

Browse files
committed
jitsi
1 parent 41bac0c commit f636ec5

File tree

10 files changed

+404
-0
lines changed

10 files changed

+404
-0
lines changed

.github/workflows/release.yml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: Release Charts
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
8+
jobs:
9+
release:
10+
# depending on default permission settings for your org (contents being read-only or read-write for workloads), you will have to add permissions
11+
# see: https://docs.github.com/en/actions/security-guides/automatic-token-authentication#modifying-the-permissions-for-the-github_token
12+
permissions:
13+
contents: write
14+
runs-on: ubuntu-latest
15+
steps:
16+
- name: Checkout
17+
uses: actions/checkout@v3
18+
with:
19+
fetch-depth: 0
20+
21+
- name: Configure Git
22+
run: |
23+
git config user.name "$GITHUB_ACTOR"
24+
git config user.email "[email protected]"
25+
26+
- name: Install Helm
27+
uses: azure/setup-helm@v4
28+
env:
29+
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
30+
31+
- name: Run chart-releaser
32+
uses: helm/[email protected]
33+
env:
34+
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"

charts/jitsi/Chart.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
---
2+
name: jitsi
3+
version: 0.0.1
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
---
2+
apiVersion: networking.k8s.io/v1
3+
kind: Ingress
4+
metadata:
5+
name: jitsi-web
6+
annotations:
7+
nginx.ingress.kubernetes.io/proxy-body-size: 50m
8+
nginx.ingress.kubernetes.io/use-regex: "true"
9+
spec:
10+
ingressClassName: nginx
11+
rules:
12+
- host: {{ .Values.jitsi.serverName }}
13+
http:
14+
paths:
15+
- pathType: ImplementationSpecific
16+
backend:
17+
service:
18+
name: jitsi-web
19+
port:
20+
number: 80
21+
path: /
22+
- pathType: ImplementationSpecific
23+
backend:
24+
service:
25+
name: prosody
26+
port:
27+
number: 5280
28+
path: /xmpp-websocket
29+
- pathType: ImplementationSpecific
30+
backend:
31+
service:
32+
name: jitsi-jvb
33+
port:
34+
number: 9090
35+
path: /colibri-ws
36+
tls:
37+
- hosts:
38+
- {{ .Values.jitsi.serverName }}
39+
secretName: tls
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
---
2+
apiVersion: apps/v1
3+
kind: Deployment
4+
metadata:
5+
labels:
6+
k8s-app: jitsi-jicofo
7+
name: jitsi-jicofo
8+
spec:
9+
replicas: 1
10+
strategy:
11+
type: Recreate
12+
selector:
13+
matchLabels:
14+
k8s-app: jitsi-jicofo
15+
template:
16+
metadata:
17+
labels:
18+
k8s-app: jitsi-jicofo
19+
spec:
20+
containers:
21+
- name: jicofo
22+
image: {{ .Values.jitsi.jicofo.image.repository }}:{{ .Values.jitsi.jicofo.image.tag }}
23+
imagePullPolicy: {{ .Values.jitsi.jicofo.image.pullPolicy }}
24+
resources:
25+
{{ toYaml .Values.jitsi.jicofo.resources | nindent 12 }}
26+
env:
27+
- name: XMPP_SERVER
28+
value: prosody
29+
- name: XMPP_DOMAIN
30+
value: meet.jitsi
31+
- name: XMPP_AUTH_DOMAIN
32+
value: auth.meet.jitsi
33+
- name: XMPP_MUC_DOMAIN
34+
value: muc.meet.jitsi
35+
- name: XMPP_INTERNAL_MUC_DOMAIN
36+
value: internal-muc.meet.jitsi
37+
- name: JICOFO_COMPONENT_SECRET
38+
value: {{ .Values.jitsi.jicofo.componentSecret | quote }}
39+
- name: JICOFO_AUTH_USER
40+
value: {{ .Values.jitsi.jicofo.authUser | quote }}
41+
- name: JICOFO_AUTH_PASSWORD
42+
value: {{ .Values.jitsi.jicofo.authPassword | quote }}
43+
- name: TZ
44+
value: {{ .Values.jitsi.timeZone }}
45+
- name: JVB_BREWERY_MUC
46+
value: jvbbrewery
47+
{{- if .Values.jitsi.jicofo.extraEnvs }}
48+
{{- toYaml .Values.jitsi.jicofo.extraEnvs | nindent 12 }}
49+
{{- end }}
50+
{{- if .Values.jitsi.jicofo.nodeSelector }}
51+
nodeSelector:
52+
{{ toYaml .Values.jitsi.jicofo.nodeSelector | nindent 8 }}
53+
{{- end }}
54+
{{- if .Values.jitsi.jicofo.tolerations }}
55+
tolerations:
56+
{{ toYaml .Values.jitsi.jicofo.tolerations | nindent 8 }}
57+
{{- end }}
58+
{{- if .Values.jitsi.jicofo.affinity }}
59+
affinity:
60+
{{ toYaml .Values.jitsi.jicofo.affinity | nindent 8 }}
61+
{{- end }}
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
---
2+
apiVersion: apps/v1
3+
kind: Deployment
4+
metadata:
5+
labels:
6+
k8s-app: jitsi-jvb
7+
name: jitsi-jvb
8+
spec:
9+
replicas: 1
10+
strategy:
11+
type: Recreate
12+
selector:
13+
matchLabels:
14+
k8s-app: jitsi-jvb
15+
template:
16+
metadata:
17+
labels:
18+
k8s-app: jitsi-jvb
19+
spec:
20+
#hostNetwork: true
21+
#dnsPolicy: ClusterFirstWithHostNet
22+
containers:
23+
- name: jvb
24+
image: {{ .Values.jitsi.jvb.image.repository }}:{{ .Values.jitsi.jvb.image.tag }}
25+
imagePullPolicy: {{ .Values.jitsi.jvb.image.pullPolicy }}
26+
resources:
27+
{{ toYaml .Values.jitsi.jvb.resources | nindent 12 }}
28+
env:
29+
- name: XMPP_SERVER
30+
value: prosody
31+
- name: XMPP_DOMAIN
32+
value: meet.jitsi
33+
- name: XMPP_AUTH_DOMAIN
34+
value: auth.meet.jitsi
35+
- name: XMPP_INTERNAL_MUC_DOMAIN
36+
value: internal-muc.meet.jitsi
37+
- name: JVB_STUN_SERVERS
38+
value: {{ join "," .Values.jitsi.jvb.stunServers | quote }}
39+
- name: JICOFO_AUTH_USER
40+
value: {{ .Values.jitsi.jicofo.authUser | quote }}
41+
- name: JVB_TCP_HARVESTER_DISABLED
42+
value: "false"
43+
- name: JVB_AUTH_USER
44+
value: {{ .Values.jitsi.jvb.authUser | quote }}
45+
- name: JVB_PORT
46+
value: "30300"
47+
- name: JVB_TCP_PORT
48+
value: "30301"
49+
- name: JVB_AUTH_PASSWORD
50+
value: {{ .Values.jitsi.jvb.authPassword | quote }}
51+
- name: JICOFO_AUTH_PASSWORD
52+
value: {{ .Values.jitsi.jicofo.authPassword | quote }}
53+
- name: JVB_BREWERY_MUC
54+
value: jvbbrewery
55+
- name: TZ
56+
value: {{ .Values.jitsi.timeZone }}
57+
- name: PUBLIC_URL
58+
value: https://{{ .Values.jitsi.serverName }}
59+
{{- if .Values.jitsi.jvb.extraEnvs }}
60+
{{- toYaml .Values.jitsi.jvb.extraEnvs | nindent 12 }}
61+
{{- end }}
62+
{{- if .Values.jitsi.jvb.nodeSelector }}
63+
nodeSelector:
64+
{{ toYaml .Values.jitsi.jvb.nodeSelector | nindent 8 }}
65+
{{- end }}
66+
{{- if .Values.jitsi.jvb.tolerations }}
67+
tolerations:
68+
{{ toYaml .Values.jitsi.jvb.tolerations | nindent 8 }}
69+
{{- end }}
70+
{{- if .Values.jitsi.jvb.affinity }}
71+
affinity:
72+
{{ toYaml .Values.jitsi.jvb.affinity | nindent 8 }}
73+
{{- end }}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
apiVersion: v1
2+
kind: Service
3+
metadata:
4+
labels:
5+
service: jitsi-jvb
6+
name: jitsi-jvb
7+
spec:
8+
type: NodePort
9+
externalTrafficPolicy: Cluster
10+
ports:
11+
- name: udp
12+
port: 30300
13+
protocol: UDP
14+
nodePort: 30300
15+
- name: tcp
16+
port: 30301
17+
protocol: TCP
18+
nodePort: 30301
19+
- name: http
20+
port: 9090
21+
protocol: TCP
22+
nodePort: 30390
23+
selector:
24+
k8s-app: jitsi-jvb
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
---
2+
apiVersion: apps/v1
3+
kind: Deployment
4+
metadata:
5+
labels:
6+
k8s-app: jitsi-prosody
7+
name: jitsi-prosody
8+
spec:
9+
replicas: 1
10+
strategy:
11+
type: Recreate
12+
selector:
13+
matchLabels:
14+
k8s-app: jitsi-prosody
15+
template:
16+
metadata:
17+
labels:
18+
k8s-app: jitsi-prosody
19+
spec:
20+
containers:
21+
- name: prosody
22+
image: {{ .Values.jitsi.prosody.image.repository }}:{{ .Values.jitsi.prosody.image.tag }}
23+
imagePullPolicy: {{ .Values.jitsi.prosody.image.pullPolicy }}
24+
resources:
25+
{{ toYaml .Values.jitsi.prosody.resources | nindent 12 }}
26+
env:
27+
- name: XMPP_DOMAIN
28+
value: meet.jitsi
29+
- name: XMPP_AUTH_DOMAIN
30+
value: auth.meet.jitsi
31+
- name: XMPP_MUC_DOMAIN
32+
value: muc.meet.jitsi
33+
- name: XMPP_INTERNAL_MUC_DOMAIN
34+
value: internal-muc.meet.jitsi
35+
- name: XMPP_CROSS_DOMAIN
36+
value: "true"
37+
- name: JICOFO_COMPONENT_SECRET
38+
value: {{ .Values.jitsi.jicofo.componentSecret | quote }}
39+
- name: JVB_AUTH_USER
40+
value: {{ .Values.jitsi.jvb.authUser | quote }}
41+
- name: JVB_AUTH_PASSWORD
42+
value: {{ .Values.jitsi.jvb.authPassword | quote }}
43+
- name: JICOFO_AUTH_USER
44+
value: {{ .Values.jitsi.jicofo.authUser | quote }}
45+
- name: JICOFO_AUTH_PASSWORD
46+
value: {{ .Values.jitsi.jicofo.authPassword | quote }}
47+
- name: TZ
48+
value: {{ .Values.jitsi.timeZone }}
49+
- name: JVB_TCP_HARVESTER_DISABLED
50+
value: "false"
51+
{{- if .Values.jitsi.prosody.extraEnvs }}
52+
{{- toYaml .Values.jitsi.prosody.extraEnvs | nindent 12 }}
53+
{{- end }}
54+
{{- if .Values.jitsi.prosody.nodeSelector }}
55+
nodeSelector:
56+
{{ toYaml .Values.jitsi.prosody.nodeSelector | nindent 8 }}
57+
{{- end }}
58+
{{- if .Values.jitsi.prosody.tolerations }}
59+
tolerations:
60+
{{ toYaml .Values.jitsi.prosody.tolerations | nindent 8 }}
61+
{{- end }}
62+
{{- if .Values.jitsi.prosody.affinity }}
63+
affinity:
64+
{{ toYaml .Values.jitsi.prosody.affinity | nindent 8 }}
65+
{{- end }}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
apiVersion: v1
2+
kind: Service
3+
metadata:
4+
labels:
5+
service: prosody
6+
name: prosody
7+
spec:
8+
ports:
9+
- name: "http"
10+
port: 5280
11+
targetPort: 5280
12+
- name: "client"
13+
port: 5222
14+
targetPort: 5222
15+
selector:
16+
k8s-app: jitsi-prosody
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
---
2+
apiVersion: apps/v1
3+
kind: Deployment
4+
metadata:
5+
labels:
6+
k8s-app: jitsi-web
7+
name: jitsi-web
8+
spec:
9+
replicas: 1
10+
strategy:
11+
type: Recreate
12+
selector:
13+
matchLabels:
14+
k8s-app: jitsi-web
15+
template:
16+
metadata:
17+
labels:
18+
k8s-app: jitsi-web
19+
spec:
20+
containers:
21+
- name: web
22+
image: {{ .Values.jitsi.web.image.repository }}:{{ .Values.jitsi.web.image.tag }}
23+
imagePullPolicy: {{ .Values.jitsi.web.image.pullPolicy }}
24+
resources:
25+
{{ toYaml .Values.jitsi.web.resources | nindent 12 }}
26+
env:
27+
- name: XMPP_SERVER
28+
value: prosody
29+
- name: JICOFO_AUTH_USER
30+
value: {{ .Values.jitsi.jicofo.authUser | quote }}
31+
- name: XMPP_DOMAIN
32+
value: meet.jitsi
33+
- name: XMPP_AUTH_DOMAIN
34+
value: auth.meet.jitsi
35+
- name: XMPP_INTERNAL_MUC_DOMAIN
36+
value: internal-muc.meet.jitsi
37+
- name: XMPP_BOSH_URL_BASE
38+
value: http://prosody:5280
39+
- name: XMPP_MUC_DOMAIN
40+
value: muc.meet.jitsi
41+
- name: TZ
42+
value: {{ .Values.jitsi.timeZone }}
43+
- name: JVB_TCP_HARVESTER_DISABLED
44+
value: "false"
45+
- name: PUBLIC_URL
46+
value: https://{{ .Values.jitsi.serverName }}
47+
- name: ENABLE_LOBBY
48+
value: "0"
49+
- name: ENABLE_WELCOME_PAGE
50+
value: "0"
51+
- name: ENABLE_PREJOIN_PAGE
52+
value: "0"
53+
- name: VIDEOQUALITY_ENFORCE_PREFERRED_CODEC
54+
value: "1"
55+
- name: P2P_PREFERRED_CODEC
56+
value: "VP9"
57+
- name: VIDEOQUALITY_PREFERRED_CODEC
58+
value: "VP9"
59+
{{- if .Values.jitsi.web.extraEnvs }}
60+
{{- toYaml .Values.jitsi.web.extraEnvs | nindent 12 }}
61+
{{- end }}
62+
{{- if .Values.jitsi.web.nodeSelector }}
63+
nodeSelector:
64+
{{ toYaml .Values.jitsi.web.nodeSelector | nindent 8 }}
65+
{{- end }}
66+
{{- if .Values.jitsi.web.tolerations }}
67+
tolerations:
68+
{{ toYaml .Values.jitsi.web.tolerations | nindent 8 }}
69+
{{- end }}
70+
{{- if .Values.jitsi.web.affinity }}
71+
affinity:
72+
{{ toYaml .Values.jitsi.web.affinity | nindent 8 }}
73+
{{- end }}

0 commit comments

Comments
 (0)