2
0
Эх сурвалжийг харах

first pass at helm chart based on PR from jmereaux

Aaron van Meerten 6 жил өмнө
parent
commit
ca5e3d6274

+ 22 - 0
k8s/.helmignore

@@ -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/

+ 11 - 0
k8s/Chart.yaml

@@ -0,0 +1,11 @@
+apiVersion: v1
+name: jitsi-meet
+version: 1.0.0
+appVersion: 0.0.1
+description: jitsi deployment
+sources:
+  - https://github.com/jitsi/docker-jitsi-meet
+maintainers: 
+  - name: Aaron van Meerten
+    email: aaron@jitsi.org
+

+ 40 - 0
k8s/templates/jicofo-deployment.yaml

@@ -0,0 +1,40 @@
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  labels:
+    service: jicofo
+  name: jicofo
+spec:
+  replicas: 1
+  strategy:
+    type: Recreate
+  template:
+    metadata:
+      labels:
+        service: jicofo
+    spec:
+      containers:
+      - env:
+        - name: XMPP_SERVER
+          value: prosody.default.svc.cluster.local
+        - name: XMPP_DOMAIN
+          value: meet.jitsi
+        - name: XMPP_AUTH_DOMAIN
+          value: auth.meet.jitsi
+        - name: JICOFO_COMPONENT_SECRET
+          value: s3cr37
+        - name: JICOFO_AUTH_USER
+          value: focus
+        - name: JICOFO_AUTH_PASSWORD
+          value: passw0rd
+        - name: JVB_BREWERY_MUC
+          value: jvbbrewery
+        - name: XMPP_INTERNAL_MUC_DOMAIN
+          value: internal-muc.meet.jitsi
+        - name: TZ
+          value: Europe/Paris
+        image: jitsi/jicofo
+        name: jicofo
+        resources: {}
+      restartPolicy: Always
+status: {}

+ 54 - 0
k8s/templates/jvb-deployment.yaml

@@ -0,0 +1,54 @@
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  labels:
+    service: jvb
+  name: jvb
+spec:
+  replicas: 1
+  strategy:
+    type: Recreate
+  template:
+    metadata:
+      labels:
+        service: jvb
+    spec:
+      containers:
+      - env:
+        - name: XMPP_SERVER
+          value: prosody.default.svc.cluster.local
+        - name: DOCKER_HOST_ADDRESS
+          valueFrom:
+            fieldRef:
+              fieldPath: status.hostIP
+        - name: XMPP_DOMAIN
+          value: meet.jitsi
+        - name: XMPP_AUTH_DOMAIN
+          value: auth.meet.jitsi
+        - name: JVB_PORT
+          value: "30000"
+        - name: JVB_TCP_PORT
+          value: "30001"
+        - name: JVB_AUTH_USER
+          value: jvb
+        - name: JVB_AUTH_PASSWORD
+          value: passw0rd
+        - name: JVB_BREWERY_MUC
+          value: jvbbrewery
+        - name: XMPP_INTERNAL_MUC_DOMAIN
+          value: internal-muc.meet.jitsi
+        - name: JVB_STUN_SERVERS
+          value: stun.l.google.com:19302,stun1.l.google.com:19302,stun2.l.google.com:19302
+        - name: JICOFO_AUTH_USER
+          value: focus
+        - name: TZ
+          value: Europe/Paris
+        image: jitsi/jvb
+        name: jvb
+        ports:
+        - containerPort: 30000
+          protocol: UDP
+        - containerPort: 30001
+        resources: {}
+      restartPolicy: Always
+status: {}

+ 21 - 0
k8s/templates/jvb-service-lb.yaml

@@ -0,0 +1,21 @@
+apiVersion: v1
+kind: Service
+metadata:
+  labels:
+    app: jitsi
+  name: jvb
+spec:
+  type: NodePort
+  ports:
+  - name: udp
+    port: 30000
+    nodePort: 30000
+    protocol: UDP
+    targetPort: 30000
+  - name: tcp
+    port: 30001
+    nodePort: 30001
+    protocol: TCP
+    targetPort: 30001
+  selector:
+    service: jvb

+ 48 - 0
k8s/templates/prosody-deployment.yaml

@@ -0,0 +1,48 @@
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  labels:
+    service: prosody
+  name: prosody
+spec:
+  replicas: 1
+  strategy:
+    type: Recreate
+  template:
+    metadata:
+      labels:
+        service: prosody
+    spec:
+      containers:
+      - env:
+        - name: XMPP_DOMAIN
+          value: meet.jitsi
+        - name: XMPP_AUTH_DOMAIN
+          value: auth.meet.jitsi
+        - name: XMPP_MUC_DOMAIN
+          value: muc.meet.jitsi
+        - name: JICOFO_COMPONENT_SECRET
+          value: s3cr37
+        - name: JVB_COMPONENT_SECRET
+          value: s3cr3t
+        - name: JICOFO_AUTH_USER
+          value: focus
+        - name: JICOFO_AUTH_PASSWORD
+          value: passw0rd
+        - name: JVB_AUTH_USER
+          value: jvb
+        - name: JVB_AUTH_PASSWORD
+          value: passw0rd
+        - name: XMPP_INTERNAL_MUC_DOMAIN
+          value: internal-muc.meet.jitsi
+        - name: TZ
+          value: Europe/Paris
+        image: jitsi/prosody
+        name: prosody
+        ports:
+        - containerPort: 5222
+        - containerPort: 5280
+        - containerPort: 5347
+        resources: {}
+      restartPolicy: Always
+status: {}

+ 21 - 0
k8s/templates/prosody-service.yaml

@@ -0,0 +1,21 @@
+apiVersion: v1
+kind: Service
+metadata:
+  labels:
+    service: prosody
+  name: prosody
+spec:
+  ports:
+  - name: "5222"
+    port: 5222
+    targetPort: 5222
+  - name: "5280"
+    port: 5280
+    targetPort: 5280
+  - name: "5347"
+    port: 5347
+    targetPort: 5347
+  selector:
+    service: prosody
+status:
+  loadBalancer: {}

+ 36 - 0
k8s/templates/web-deployment.yaml

@@ -0,0 +1,36 @@
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  labels:
+    service: web
+  name: web
+spec:
+  replicas: 1
+  strategy:
+    type: Recreate
+  template:
+    metadata:
+      labels:
+        service: web
+    spec:
+      containers:
+      - env:
+        - name: JICOFO_AUTH_USER
+          value: focus
+        - name: XMPP_DOMAIN
+          value: meet.jitsi
+        - name: XMPP_AUTH_DOMAIN
+          value: auth.meet.jitsi
+        - name: XMPP_BOSH_URL_BASE
+          value: http://prosody:5280
+        - name: XMPP_MUC_DOMAIN
+          value: muc.meet.jitsi
+        - name: TZ
+          value: Europe/Paris
+        image: jitsi/web
+        name: web
+        ports:
+        - containerPort: 80
+        - containerPort: 443
+        resources: {}
+status: {}

+ 28 - 0
k8s/templates/web-ingress.yaml

@@ -0,0 +1,28 @@
+{{- $ingressPaths := .Values.ingress.paths -}}
+apiVersion: extensions/v1beta1
+kind: Ingress
+metadata:
+  name: webingress
+spec:
+{{- if .Values.ingress.tls }}
+  tls:
+  {{- range .Values.ingress.tls }}
+    - hosts:
+      {{- range .hosts }}
+        - {{ . | quote }}
+      {{- end }}
+      secretName: {{ .secretName }}
+  {{- end }}
+{{- end }}
+  rules:
+  {{- range .Values.ingress.hosts }}
+    - host: {{ . | quote }}
+      http:
+        paths:
+        {{- range $ingressPaths }}
+          - path: {{ . }}
+            backend:
+              serviceName: web
+              servicePort: http
+        {{- end }}
+  {{- end }}

+ 16 - 0
k8s/templates/web-service.yaml

@@ -0,0 +1,16 @@
+apiVersion: v1
+kind: Service
+metadata:
+  labels:
+    service: web
+  name: web
+spec:
+  ports:
+  - name: "http"
+    port: 80
+    targetPort: 80
+  - name: "https"
+    port: 443
+    targetPort: 443
+  selector:
+    service: web

+ 45 - 0
k8s/values.yaml

@@ -0,0 +1,45 @@
+# Default values for jitsi
+# Declare variables to be passed into your templates.
+replicaCount: 1
+
+nameOverride: ""
+fullnameOverride: ""
+
+service:
+  type: ClusterIP
+  port: 80
+  targetPort: 8080
+
+ingress:
+  enabled: true
+  annotations: {}
+    # kubernetes.io/ingress.class: nginx
+    # kubernetes.io/tls-acme: "true"
+  paths: ["/"]
+  hosts:
+    - kube.jitsi.net
+  tls: []
+  #  - secretName: chart-example-tls
+  #    hosts:
+  #      - chart-example.local
+
+resources: {}
+  # 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
+
+nodeSelector: {}
+
+tolerations: []
+
+affinity: {}
+
+logging:
+  log_group_name: jitsi-meet