diff options
Diffstat (limited to 'src/helm-charts')
25 files changed, 646 insertions, 0 deletions
diff --git a/src/helm-charts/clearwater/Chart.yaml b/src/helm-charts/clearwater/Chart.yaml index e69de29..1482dd5 100644 --- a/src/helm-charts/clearwater/Chart.yaml +++ b/src/helm-charts/clearwater/Chart.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +description: Helm chart for Clearwater +name: clearwater-project +version: 0.1.0 +source: + - https://github.com/Metaswitch/clearwater-docker/ +maintainers: + - name: Laura Sofia Enriquez + email: lsofia.enriquez@gmail.com + - name: Yujun Zhang + email: zhang.yujunz@zte.com.cn diff --git a/src/helm-charts/clearwater/README.md b/src/helm-charts/clearwater/README.md deleted file mode 100644 index e69de29..0000000 --- a/src/helm-charts/clearwater/README.md +++ /dev/null diff --git a/src/helm-charts/clearwater/templates/NOTES.txt b/src/helm-charts/clearwater/templates/NOTES.txt index e69de29..058b997 100644 --- a/src/helm-charts/clearwater/templates/NOTES.txt +++ b/src/helm-charts/clearwater/templates/NOTES.txt @@ -0,0 +1,19 @@ +Thank you for installing {{ .Chart.Name }}. + +Your release is named {{ .Release.Name }}. + +To learn more about the release, try: + + $ helm status {{ .Release.Name }} + $ helm get {{ .Release.Name }} + +The deployment exposes: + + - the Ellis web UI on {{ .Value.config.ip }}30080 for self-provisioning. + - STUN/TURN on port 3478 for media relay. + - SIP on port 5060 for service. + - SIP/WebSocket on port 5062 for service. + +SIP devices can register with bono.:5060 and the Ellis provisioning interface can be accessed at port 30080. + +Make a call: http://clearwater.readthedocs.io/en/stable/Making_your_first_call.html diff --git a/src/helm-charts/clearwater/templates/astaire-depl.yaml b/src/helm-charts/clearwater/templates/astaire-depl.yaml new file mode 100644 index 0000000..14296b4 --- /dev/null +++ b/src/helm-charts/clearwater/templates/astaire-depl.yaml @@ -0,0 +1,53 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: astaire +spec: + replicas: 1 + template: + metadata: + labels: + service: astaire + spec: + terminationGracePeriodSeconds: 120 + containers: + - image: "{{ .Values.image.path }}/astaire:{{ .Values.image.tag }}" + imagePullPolicy: Always + name: astaire + ports: + - containerPort: 22 + - containerPort: 11211 + - containerPort: 11311 + envFrom: + - configMapRef: + name: {{ .Values.config.configmaps }} + env: + - name: MY_POD_IP + valueFrom: + fieldRef: + fieldPath: status.podIP + livenessProbe: + tcpSocket: + port: 11311 + periodSeconds: 10 + failureThreshold: 9 + readinessProbe: + tcpSocket: + port: 11311 + volumeMounts: + - name: astairelogs + mountPath: /var/log/astaire + lifecycle: + preStop: + exec: + command: ["/bin/bash", "-c", "/usr/bin/pre-stop"] + - image: busybox + name: tailer + command: [ "tail", "-F", "/var/log/astaire/astaire_current.txt" ] + volumeMounts: + - name: astairelogs + mountPath: /var/log/astaire + volumes: + - name: astairelogs + emptyDir: {} + restartPolicy: Always diff --git a/src/helm-charts/clearwater/templates/astaire-svc.yaml b/src/helm-charts/clearwater/templates/astaire-svc.yaml new file mode 100644 index 0000000..3c453b5 --- /dev/null +++ b/src/helm-charts/clearwater/templates/astaire-svc.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: Service +metadata: + name: astaire +spec: + ports: + - name: "snmp-astaire" + port: 11311 + selector: + service: astaire + clusterIP: None diff --git a/src/helm-charts/clearwater/templates/bono-depl.yaml b/src/helm-charts/clearwater/templates/bono-depl.yaml new file mode 100644 index 0000000..02dbe76 --- /dev/null +++ b/src/helm-charts/clearwater/templates/bono-depl.yaml @@ -0,0 +1,65 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: bono +spec: + replicas: 1 + selector: + matchLabels: + service: bono + template: + metadata: + labels: + service: bono + snmp: enabled + spec: + containers: + - image: "{{ .Values.image.path }}/bono:{{ .Values.image.tag }}" + imagePullPolicy: Always + name: bono + ports: + - containerPort: 22 + - containerPort: 3478 + - containerPort: 5060 + - containerPort: 5062 + - containerPort: 5060 + protocol: "UDP" + - containerPort: 5062 + protocol: "UDP" + envFrom: + - configMapRef: + name: {{ .Values.config.configmaps }} + env: + - name: PUBLIC_IP + value: {{ .Values.config.ip }} + - name: MY_POD_IP + valueFrom: + fieldRef: + fieldPath: status.podIP + livenessProbe: + exec: + command: ["nc", "-z", "-w", "5", "127.0.0.1", "5060"] + initialDelaySeconds: 30 + readinessProbe: + tcpSocket: + port: 5060 + livenessProbe: + exec: + command: ["/bin/bash", "/usr/share/kubernetes/liveness.sh", "3478 5060 5062"] + initialDelaySeconds: 30 + readinessProbe: + exec: + command: ["/bin/bash", "/usr/share/kubernetes/liveness.sh", "3478 5060 5062"] + volumeMounts: + - name: bonologs + mountPath: /var/log/bono + - image: busybox + name: tailer + command: [ "tail", "-F", "/var/log/bono/bono_current.txt" ] + volumeMounts: + - name: bonologs + mountPath: /var/log/bono + volumes: + - name: bonologs + emptyDir: {} + restartPolicy: Always diff --git a/src/helm-charts/clearwater/templates/bono-svc.yaml b/src/helm-charts/clearwater/templates/bono-svc.yaml new file mode 100644 index 0000000..a63479d --- /dev/null +++ b/src/helm-charts/clearwater/templates/bono-svc.yaml @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: Service +metadata: + name: bono +spec: + loadBalancerIP: {{ .Values.config.ip }} + type: LoadBalancer + ports: + - name: "3478" + port: 3478 + - name: "5060" + port: 5060 + - name: "5062" + port: 5062 + selector: + service: bono diff --git a/src/helm-charts/clearwater/templates/cassandra-depl.yaml b/src/helm-charts/clearwater/templates/cassandra-depl.yaml new file mode 100644 index 0000000..03f2a2f --- /dev/null +++ b/src/helm-charts/clearwater/templates/cassandra-depl.yaml @@ -0,0 +1,37 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: cassandra +spec: + replicas: 3 + template: + metadata: + labels: + service: cassandra + spec: + containers: + - image: "{{ .Values.image.path }}/cassandra:{{ .Values.image.tag }}" + imagePullPolicy: Always + name: cassandra + ports: + - containerPort: 22 + - containerPort: 7001 + - containerPort: 9042 + - containerPort: 9160 + envFrom: + - configMapRef: + name: {{ .Values.config.configmaps }} + env: + - name: MY_POD_IP + valueFrom: + fieldRef: + fieldPath: status.podIP + livenessProbe: + exec: + command: ["/bin/bash", "/usr/share/kubernetes/liveness.sh", "7000 9042 9160"] + # Cassandra can take a very, very long time to start up + initialDelaySeconds: 600 + readinessProbe: + exec: + command: ["/bin/bash", "/usr/share/kubernetes/liveness.sh", "7000 9042 9160"] + restartPolicy: Always diff --git a/src/helm-charts/clearwater/templates/cassandra-svc.yaml b/src/helm-charts/clearwater/templates/cassandra-svc.yaml new file mode 100644 index 0000000..dbaa3c0 --- /dev/null +++ b/src/helm-charts/clearwater/templates/cassandra-svc.yaml @@ -0,0 +1,17 @@ +apiVersion: v1 +kind: Service +metadata: + name: cassandra +spec: + ports: + - name: "7001" + port: 7001 + - name: "7000" + port: 7000 + - name: "9042" + port: 9042 + - name: "9160" + port: 9160 + selector: + service: cassandra + clusterIP: None diff --git a/src/helm-charts/clearwater/templates/chronos-depl.yaml b/src/helm-charts/clearwater/templates/chronos-depl.yaml new file mode 100644 index 0000000..8ed8735 --- /dev/null +++ b/src/helm-charts/clearwater/templates/chronos-depl.yaml @@ -0,0 +1,54 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + labels: + service: chronos + name: chronos +spec: + replicas: 1 + template: + metadata: + labels: + service: chronos + spec: + terminationGracePeriodSeconds: 120 + containers: + - image: "{{ .Values.image.path }}/chronos:{{ .Values.image.tag }}" + imagePullPolicy: Always + name: chronos + ports: + - containerPort: 22 + - containerPort: 7253 + envFrom: + - configMapRef: + name: {{ .Values.config.configmaps }} + env: + - name: MY_POD_IP + valueFrom: + fieldRef: + fieldPath: status.podIP + livenessProbe: + tcpSocket: + port: 7253 + periodSeconds: 10 + failureThreshold: 9 + readinessProbe: + tcpSocket: + port: 7253 + volumeMounts: + - name: chronoslogs + mountPath: /var/log/chronos + lifecycle: + preStop: + exec: + command: ["/bin/bash", "-c", "/usr/bin/pre-stop"] + - image: busybox + name: tailer + command: [ "tail", "-F", "/var/log/chronos/chronos_current.txt" ] + volumeMounts: + - name: chronoslogs + mountPath: /var/log/chronos + volumes: + - name: chronoslogs + emptyDir: {} + restartPolicy: Always diff --git a/src/helm-charts/clearwater/templates/chronos-svc.yaml b/src/helm-charts/clearwater/templates/chronos-svc.yaml new file mode 100644 index 0000000..0c42126 --- /dev/null +++ b/src/helm-charts/clearwater/templates/chronos-svc.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: Service +metadata: + name: chronos +spec: + ports: + - name: "7253" + port: 7253 + selector: + service: chronos + clusterIP: None diff --git a/src/helm-charts/clearwater/templates/ellis-depl.yaml b/src/helm-charts/clearwater/templates/ellis-depl.yaml new file mode 100644 index 0000000..8186829 --- /dev/null +++ b/src/helm-charts/clearwater/templates/ellis-depl.yaml @@ -0,0 +1,34 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: ellis +spec: + replicas: 1 + template: + metadata: + labels: + service: ellis + spec: + containers: + - image: "{{ .Values.image.path }}/ellis:{{ .Values.image.tag }}" + imagePullPolicy: Always + name: ellis + ports: + - containerPort: 22 + - containerPort: 80 + envFrom: + - configMapRef: + name: {{ .Values.config.configmaps }} + env: + - name: MY_POD_IP + valueFrom: + fieldRef: + fieldPath: status.podIP + livenessProbe: + tcpSocket: + port: 80 + initialDelaySeconds: 30 + readinessProbe: + tcpSocket: + port: 80 + restartPolicy: Always diff --git a/src/helm-charts/clearwater/templates/ellis-svc.yaml b/src/helm-charts/clearwater/templates/ellis-svc.yaml new file mode 100644 index 0000000..68d2da0 --- /dev/null +++ b/src/helm-charts/clearwater/templates/ellis-svc.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: Service +metadata: + name: ellis +spec: + type: NodePort + ports: + - name: "http" + port: 80 + nodePort: 30080 + selector: + service: ellis diff --git a/src/helm-charts/clearwater/templates/env-vars-cm.yaml b/src/helm-charts/clearwater/templates/env-vars-cm.yaml new file mode 100644 index 0000000..3f25432 --- /dev/null +++ b/src/helm-charts/clearwater/templates/env-vars-cm.yaml @@ -0,0 +1,6 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ .Values.config.configmaps }} +data: + ZONE: {{ .Values.config.zone }} diff --git a/src/helm-charts/clearwater/templates/etcd-depl.yaml b/src/helm-charts/clearwater/templates/etcd-depl.yaml new file mode 100644 index 0000000..3f1be7a --- /dev/null +++ b/src/helm-charts/clearwater/templates/etcd-depl.yaml @@ -0,0 +1,58 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: etcd +spec: + replicas: 1 + template: + metadata: + creationTimestamp: null + labels: + instance-type: etcd-pod + spec: + containers: + - args: + - --name + - $(MY_POD_NAME) + - --advertise-client-urls + - http://$(MY_POD_IP):2379,http://$(MY_POD_IP):4001 + - --listen-client-urls + - http://0.0.0.0:2379,http://0.0.0.0:4001 + - --initial-advertise-peer-urls + - http://$(MY_POD_IP):2380 + - --listen-peer-urls + - http://0.0.0.0:2380 + # By default use a single pod cluster + - --initial-cluster + - $(MY_POD_NAME)=http://$(MY_POD_IP):2380 + # Alternatively multi-pod clusters can be supported Using central discvovery. Run e.g. + # curl https://discovery.etcd.io/new?size=3 | sed s/https/http/ + # to get a discovery URL for a 3 pod cluster, substitute the returned value below, and + # set replicas: 3 above. + #- --discovery + #- <URL returned by command above> + - --initial-cluster-state + - new + env: + - name: MY_POD_IP + valueFrom: + fieldRef: + fieldPath: status.podIP + - name: MY_POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + image: quay.io/coreos/etcd:v2.2.5 + name: etcd + ports: + - containerPort: 2379 + - containerPort: 2380 + - containerPort: 4001 + livenessProbe: + tcpSocket: + port: 4001 + initialDelaySeconds: 300 + readinessProbe: + tcpSocket: + port: 4001 + restartPolicy: Always diff --git a/src/helm-charts/clearwater/templates/etcd-svc.yaml b/src/helm-charts/clearwater/templates/etcd-svc.yaml new file mode 100644 index 0000000..2df5b16 --- /dev/null +++ b/src/helm-charts/clearwater/templates/etcd-svc.yaml @@ -0,0 +1,17 @@ +apiVersion: v1 +kind: Service +metadata: + name: etcd + labels: + instance-type: etcd-pod +spec: + ports: + - name: "etcd-client" + port: 2379 + - name: "etcd-server" + port: 2380 + - name: "4001" + port: 4001 + selector: + instance-type: etcd-pod + clusterIP: None diff --git a/src/helm-charts/clearwater/templates/homer-depl.yaml b/src/helm-charts/clearwater/templates/homer-depl.yaml new file mode 100644 index 0000000..c5f5310 --- /dev/null +++ b/src/helm-charts/clearwater/templates/homer-depl.yaml @@ -0,0 +1,34 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: homer +spec: + replicas: 1 + template: + metadata: + labels: + service: homer + spec: + containers: + - image: "{{ .Values.image.path }}/homer:{{ .Values.image.tag }}" + imagePullPolicy: Always + name: homer + ports: + - containerPort: 22 + - containerPort: 7888 + envFrom: + - configMapRef: + name: {{ .Values.config.configmaps }} + env: + - name: MY_POD_IP + valueFrom: + fieldRef: + fieldPath: status.podIP + livenessProbe: + tcpSocket: + port: 7888 + initialDelaySeconds: 30 + readinessProbe: + tcpSocket: + port: 7888 + restartPolicy: Always diff --git a/src/helm-charts/clearwater/templates/homestead-prov-depl.yaml b/src/helm-charts/clearwater/templates/homestead-prov-depl.yaml new file mode 100644 index 0000000..5532b12 --- /dev/null +++ b/src/helm-charts/clearwater/templates/homestead-prov-depl.yaml @@ -0,0 +1,38 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: homestead-prov +spec: + replicas: 1 + selector: + matchLabels: + service: homestead-prov + template: + metadata: + labels: + service: homestead-prov + snmp: enabled + spec: + containers: + - image: "{{ .Values.image.path }}/homestead-prov:{{ .Values.image.tag }}" + imagePullPolicy: Always + name: homestead-prov + ports: + - containerPort: 22 + - containerPort: 8889 + envFrom: + - configMapRef: + name: {{ .Values.config.configmaps }} + env: + - name: MY_POD_IP + valueFrom: + fieldRef: + fieldPath: status.podIP + livenessProbe: + exec: + command: ["/bin/bash", "/usr/share/clearwater/bin/poll_homestead-prov.sh"] + initialDelaySeconds: 60 + readinessProbe: + exec: + command: ["/bin/bash", "/usr/share/clearwater/bin/poll_homestead-prov.sh"] + restartPolicy: Always diff --git a/src/helm-charts/clearwater/templates/homestead-prov-svc.yaml b/src/helm-charts/clearwater/templates/homestead-prov-svc.yaml new file mode 100644 index 0000000..8310302 --- /dev/null +++ b/src/helm-charts/clearwater/templates/homestead-prov-svc.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: Service +metadata: + name: homestead-prov +spec: + ports: + - name: "8889" + port: 8889 + selector: + service: homestead-prov + clusterIP: None diff --git a/src/helm-charts/clearwater/templates/homestead-svc.yaml b/src/helm-charts/clearwater/templates/homestead-svc.yaml new file mode 100644 index 0000000..4015e81 --- /dev/null +++ b/src/helm-charts/clearwater/templates/homestead-svc.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: Service +metadata: + name: homestead +spec: + ports: + - name: "8888" + port: 8888 + selector: + service: homestead + clusterIP: None diff --git a/src/helm-charts/clearwater/templates/ralf-depl.yaml b/src/helm-charts/clearwater/templates/ralf-depl.yaml new file mode 100644 index 0000000..9227771 --- /dev/null +++ b/src/helm-charts/clearwater/templates/ralf-depl.yaml @@ -0,0 +1,50 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: ralf +spec: + replicas: 1 + selector: + matchLabels: + service: ralf + template: + metadata: + labels: + service: ralf + snmp: enabled + spec: + containers: + - image: "{{ .Values.image.path }}/ralf:{{ .Values.image.tag }}" + imagePullPolicy: Always + name: ralf + ports: + - containerPort: 22 + - containerPort: 10888 + envFrom: + - configMapRef: + name: {{ .Values.config.configmaps }} + env: + - name: MY_POD_IP + valueFrom: + fieldRef: + fieldPath: status.podIP + livenessProbe: + tcpSocket: + port: 10888 + initialDelaySeconds: 30 + readinessProbe: + tcpSocket: + port: 10888 + volumeMounts: + - name: ralflogs + mountPath: /var/log/ralf + - image: busybox + name: tailer + command: [ "tail", "-F", "/var/log/ralf/ralf_current.txt" ] + volumeMounts: + - name: ralflogs + mountPath: /var/log/ralf + volumes: + - name: ralflogs + emptyDir: {} + restartPolicy: Always diff --git a/src/helm-charts/clearwater/templates/ralf-svc.yaml b/src/helm-charts/clearwater/templates/ralf-svc.yaml new file mode 100644 index 0000000..07ad51e --- /dev/null +++ b/src/helm-charts/clearwater/templates/ralf-svc.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: Service +metadata: + name: ralf +spec: + ports: + - name: "10888" + port: 10888 + selector: + service: ralf + clusterIP: None diff --git a/src/helm-charts/clearwater/templates/sprout-depl.yaml b/src/helm-charts/clearwater/templates/sprout-depl.yaml new file mode 100644 index 0000000..80f788e --- /dev/null +++ b/src/helm-charts/clearwater/templates/sprout-depl.yaml @@ -0,0 +1,50 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: sprout +spec: + replicas: 1 + selector: + matchLabels: + service: sprout + template: + metadata: + labels: + service: sprout + snmp: enabled + spec: + containers: + - image: "{{ .Values.image.path }}/sprout:{{ .Values.image.tag }}" + imagePullPolicy: Always + name: sprout + ports: + - containerPort: 22 + envFrom: + - configMapRef: + name: {{ .Values.config.configmaps }} + env: + - name: MY_POD_IP + valueFrom: + fieldRef: + fieldPath: status.podIP + livenessProbe: + exec: + command: ["/bin/bash", "/usr/share/kubernetes/liveness.sh", "5052 5054"] + initialDelaySeconds: 30 + periodSeconds: 3 + readinessProbe: + exec: + command: ["/bin/bash", "/usr/share/kubernetes/liveness.sh", "5052 5054"] + volumeMounts: + - name: sproutlogs + mountPath: /var/log/sprout + - image: busybox + name: tailer + command: [ "tail", "-F", "/var/log/sprout/sprout_current.txt" ] + volumeMounts: + - name: sproutlogs + mountPath: /var/log/sprout + volumes: + - name: sproutlogs + emptyDir: {} + restartPolicy: Always diff --git a/src/helm-charts/clearwater/templates/sprout-svc.yaml b/src/helm-charts/clearwater/templates/sprout-svc.yaml new file mode 100644 index 0000000..cf23a33 --- /dev/null +++ b/src/helm-charts/clearwater/templates/sprout-svc.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: Service +metadata: + name: sprout +spec: + ports: + - name: "5052" + port: 5052 + - name: "5054" + port: 5054 + selector: + service: sprout + clusterIP: None diff --git a/src/helm-charts/clearwater/values.yaml b/src/helm-charts/clearwater/values.yaml index e69de29..ce789ee 100644 --- a/src/helm-charts/clearwater/values.yaml +++ b/src/helm-charts/clearwater/values.yaml @@ -0,0 +1,7 @@ +image: + path: enriquetaso + tag: latest +config: + configmaps: env-vars + zone: default.svc.cluster.local + ip: None |