first pass at helm chart based on PR from jmereaux

pull/97/head
Aaron van Meerten 6 years ago
parent af6a081b1a
commit fab51ee506
  1. 22
      k8s/.helmignore
  2. 11
      k8s/Chart.yaml
  3. 40
      k8s/templates/jicofo-deployment.yaml
  4. 54
      k8s/templates/jvb-deployment.yaml
  5. 21
      k8s/templates/jvb-service-lb.yaml
  6. 48
      k8s/templates/prosody-deployment.yaml
  7. 21
      k8s/templates/prosody-service.yaml
  8. 36
      k8s/templates/web-deployment.yaml
  9. 28
      k8s/templates/web-ingress.yaml
  10. 16
      k8s/templates/web-service.yaml
  11. 45
      k8s/values.yaml

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

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

@ -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: {}

@ -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: {}

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

@ -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: {}

@ -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: {}

@ -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: {}

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

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

@ -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
Loading…
Cancel
Save