From a182a1b93c203cb02ba5c54944b031212fc00e38 Mon Sep 17 00:00:00 2001 From: LecygneNoir Date: Sat, 16 Nov 2019 11:15:42 +0100 Subject: [PATCH] Add originals files, forked from https://github.com/MikaXII/helm-charts with some fixes --- Chart.yaml | 5 ++ README.md | 38 ++++++++++++- charts/redis-3.3.5.tgz | Bin 0 -> 12709 bytes requirements.lock | 6 ++ requirements.yaml | 5 ++ templates/NOTES.txt | 19 +++++++ templates/_helpers.tpl | 32 +++++++++++ templates/deployment.yaml | 112 ++++++++++++++++++++++++++++++++++++++ templates/ingress.yaml | 38 +++++++++++++ templates/service.yaml | 19 +++++++ 10 files changed, 272 insertions(+), 2 deletions(-) create mode 100644 Chart.yaml create mode 100644 charts/redis-3.3.5.tgz create mode 100644 requirements.lock create mode 100644 requirements.yaml create mode 100644 templates/NOTES.txt create mode 100644 templates/_helpers.tpl create mode 100644 templates/deployment.yaml create mode 100644 templates/ingress.yaml create mode 100644 templates/service.yaml diff --git a/Chart.yaml b/Chart.yaml new file mode 100644 index 0000000..62c3323 --- /dev/null +++ b/Chart.yaml @@ -0,0 +1,5 @@ +apiVersion: v1 +appVersion: "1.0.x" +description: A Helm chart for Kubernetes +name: peertube +version: 0.1.0 diff --git a/README.md b/README.md index 65e2285..129bca1 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,37 @@ -# peertube-helm +# [Peertube](https://github.com/Chocobozzz/PeerTube) on kubernetes -Helm chart for deploying Peertube on kubernetes \ No newline at end of file +Federated (ActivityPub) video streaming platform using P2P (BitTorrent) directly in the web browser with WebTorrent. + +--- + +## Before deploy + +Currently if you want use persistent volume you need to create persistent volume and persistent volume claim + +## Installing the chart + +`$ helm install --name my-release peertube` + +Specify each parameter using the --set key=value[,key=value] argument to helm install. For example, + +``` +$ helm install --name my-release \ + --set environment.hostname=new.domain.tld,\ + postgresql.postgresPassword=secretpassword \ + peertube +``` + +Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example, + +`$ helm install --name my-release -f values.yaml peertube` + +## Status : WIP + +- [x] Run +- [x] Persist perrtube data (redis and postgresql to) +- [ ] Improve readme for deployment + +## Source + +Originated from https://github.com/MikaXII/helm-charts +Thanks! \ No newline at end of file diff --git a/charts/redis-3.3.5.tgz b/charts/redis-3.3.5.tgz new file mode 100644 index 0000000000000000000000000000000000000000..86b70937a5eff67e11ed1ef795c3153d07e2a353 GIT binary patch literal 12709 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 f6FvVg00960-C->h04f0hvKS(7 literal 0 HcmV?d00001 diff --git a/requirements.lock b/requirements.lock new file mode 100644 index 0000000..58a94e4 --- /dev/null +++ b/requirements.lock @@ -0,0 +1,6 @@ +dependencies: +- name: redis + repository: https://kubernetes-charts.storage.googleapis.com + version: 3.3.5 +digest: sha256:bc60370cbce6d02249e972f74489dc20248f8bd3d61d7e031d6e186ff07c42ad +generated: 2018-06-08T16:58:13.072321307+02:00 diff --git a/requirements.yaml b/requirements.yaml new file mode 100644 index 0000000..0af465b --- /dev/null +++ b/requirements.yaml @@ -0,0 +1,5 @@ +# requirements.yaml +dependencies: +- name: redis + version: "3.3.5" + repository: "@stable" diff --git a/templates/NOTES.txt b/templates/NOTES.txt new file mode 100644 index 0000000..a732624 --- /dev/null +++ b/templates/NOTES.txt @@ -0,0 +1,19 @@ +1. Get the application URL by running these commands: +{{- if .Values.ingress.enabled }} +{{- range .Values.ingress.hosts }} + http{{ if $.Values.ingress.tls }}s{{ end }}://{{ . }}{{ $.Values.ingress.path }} +{{- end }} +{{- else if contains "NodePort" .Values.service.type }} + export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "peertube.fullname" . }}) + export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") + echo http://$NODE_IP:$NODE_PORT +{{- else if contains "LoadBalancer" .Values.service.type }} + NOTE: It may take a few minutes for the LoadBalancer IP to be available. + You can watch the status of by running 'kubectl get svc -w {{ template "peertube.fullname" . }}' + export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "peertube.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') + echo http://$SERVICE_IP:{{ .Values.service.port }} +{{- else if contains "ClusterIP" .Values.service.type }} + export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "peertube.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + echo "Visit http://127.0.0.1:8080 to use your application" + kubectl port-forward $POD_NAME 8080:80 +{{- end }} diff --git a/templates/_helpers.tpl b/templates/_helpers.tpl new file mode 100644 index 0000000..e925e2a --- /dev/null +++ b/templates/_helpers.tpl @@ -0,0 +1,32 @@ +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "peertube.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "peertube.fullname" -}} +{{- if .Values.fullnameOverride -}} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- $name := default .Chart.Name .Values.nameOverride -}} +{{- if contains $name .Release.Name -}} +{{- .Release.Name | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} +{{- end -}} +{{- end -}} +{{- end -}} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "peertube.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} +{{- end -}} diff --git a/templates/deployment.yaml b/templates/deployment.yaml new file mode 100644 index 0000000..57da871 --- /dev/null +++ b/templates/deployment.yaml @@ -0,0 +1,112 @@ +apiVersion: apps/v1beta2 +kind: Deployment +metadata: + name: {{ template "peertube.fullname" . }} + labels: + app: {{ template "peertube.name" . }} + chart: {{ template "peertube.chart" . }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + replicas: {{ .Values.replicaCount }} + selector: + matchLabels: + app: {{ template "peertube.name" . }} + release: {{ .Release.Name }} + template: + metadata: + labels: + app: {{ template "peertube.name" . }} + release: {{ .Release.Name }} + spec: + containers: + - name: {{ .Chart.Name }} + image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + ports: + - name: http + containerPort: 9000 + protocol: TCP + livenessProbe: + httpGet: + path: / + port: http + initialDelaySeconds: 300 + readinessProbe: + httpGet: + path: / + port: http + initialDelaySeconds: 300 + env: + - name: PEERTUBE_WEBSERVER_HOSTNAME + value: {{ .Values.environment.hostname }} + - name: PEERTUBE_WEBSERVER_PORT + value: {{ .Values.environment.http | quote }} + - name: PEERTUBE_WEBSERVER_HTTPS + value: {{ .Values.environment.httpsEnabled | quote }} + - name: PEERTUBE_DB_HOSTNAME + value: {{ .Values.environment.dbHostname }} + - name: PEERTUBE_DB_SUFFIX + value: _prod + - name: PEERTUBE_DB_USERNAME + value: {{ .Values.environment.dbUser }} + - name: PEERTUBE_DB_PASSWORD + value: {{ .Values.environment.dbPassword }} + - name: PEERTUBE_REDIS_HOSTNAME + value: {{ .Release.Name }}-{{ .Values.environment.redisHostname }}-master + - name: PEERTUBE_SMTP_USERNAME + value: {{ .Values.environment.smtpUser | quote }} + - name: PEERTUBE_SMTP_PASSWORD + value: {{ .Values.environment.smtpPassword }} + - name: PEERTUBE_SMTP_HOSTNAME + value: {{ .Values.environment.smtpHostname }} + - name: PEERTUBE_SMTP_PORT + value: {{ .Values.environment.smtpPort | quote }} + - name: PEERTUBE_SMTP_FROM + value: {{ .Values.environment.smtpFrom | quote }} + - name: PEERTUBE_SMTP_TLS + value: {{ .Values.environment.smtpTls | quote }} + - name: PEERTUBE_ADMIN_EMAIL + value: {{ .Values.environment.admin | quote }} + - name: PEERTUBE_SIGNUP_ENABLED + value: {{ .Values.environment.signup | quote }} + - name: PEERTUBE_TRANSCODING_ENABLED + value: {{ .Values.environment.transcoding | quote }} + - name: PEERTUBE_TRUST_PROXY + value: {{ .Values.environment.trustProxy | quote }} + volumeMounts: + - name: data + mountPath: /data + - name: config + mountPath: /config + resources: +{{ toYaml .Values.resources | indent 12 }} + {{- with .Values.nodeSelector }} + nodeSelector: +{{ toYaml . | indent 8 }} + {{- end }} + {{- with .Values.affinity }} + affinity: +{{ toYaml . | indent 8 }} + {{- end }} + {{- with .Values.tolerations }} + tolerations: +{{ toYaml . | indent 8 }} + {{- end }} + volumes: +{{- if .Values.persistence.data.enabled }} + - name: data + persistentVolumeClaim: + claimName: {{ .Values.persistence.data.existingClaim }} +{{- else }} + - name: data + emptyDir: {} +{{- end }} +{{- if .Values.persistence.config.enabled }} + - name: config + persistentVolumeClaim: + claimName: {{ .Values.persistence.config.existingClaim }} +{{- else }} + - name: config + emptyDir: {} +{{- end }} \ No newline at end of file diff --git a/templates/ingress.yaml b/templates/ingress.yaml new file mode 100644 index 0000000..39acf42 --- /dev/null +++ b/templates/ingress.yaml @@ -0,0 +1,38 @@ +{{- if .Values.ingress.enabled -}} +{{- $fullName := include "peertube.fullname" . -}} +{{- $ingressPath := .Values.ingress.path -}} +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: {{ $fullName }} + labels: + app: {{ template "peertube.name" . }} + chart: {{ template "peertube.chart" . }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +{{- with .Values.ingress.annotations }} + annotations: +{{ toYaml . | indent 4 }} +{{- end }} +spec: +{{- if .Values.ingress.tls }} + tls: + {{- range .Values.ingress.tls }} + - hosts: + {{- range .hosts }} + - {{ . }} + {{- end }} + secretName: {{ .secretName }} + {{- end }} +{{- end }} + rules: + {{- range .Values.ingress.hosts }} + - host: {{ . }} + http: + paths: + - path: {{ $ingressPath }} + backend: + serviceName: {{ $fullName }} + servicePort: http + {{- end }} +{{- end }} diff --git a/templates/service.yaml b/templates/service.yaml new file mode 100644 index 0000000..a5d3237 --- /dev/null +++ b/templates/service.yaml @@ -0,0 +1,19 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ template "peertube.fullname" . }} + labels: + app: {{ template "peertube.name" . }} + chart: {{ template "peertube.chart" . }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + type: {{ .Values.service.type }} + ports: + - port: {{ .Values.service.port }} + targetPort: http + protocol: TCP + name: http + selector: + app: {{ template "peertube.name" . }} + release: {{ .Release.Name }}