From a8564abf752590516de40a9065357e91008aedff Mon Sep 17 00:00:00 2001 From: Luong Minh Date: Fri, 12 Jan 2024 16:34:15 +0700 Subject: [PATCH] first init --- .helmignore | 23 ++++++++ Chart.yaml | 24 +++++++++ README.md | 30 +++++++++++ atm0s-media-stack-0.1.0.tgz | Bin 0 -> 4085 bytes index.yaml | 14 +++++ package.sh | 7 +++ templates/NOTES.txt | 14 +++++ templates/_helpers.tpl | 62 +++++++++++++++++++++ templates/atm0s-k8s-connector.yaml | 45 ++++++++++++++++ templates/atm0s-k8s-gateway.yaml | 55 +++++++++++++++++++ templates/atm0s-k8s-ingress-gateway.yml | 17 ++++++ templates/atm0s-k8s-nats.yaml | 42 +++++++++++++++ templates/atm0s-k8s-rtmp.yaml | 45 ++++++++++++++++ templates/atm0s-k8s-sip.yaml | 38 +++++++++++++ templates/atm0s-k8s-webrtc.yaml | 44 +++++++++++++++ values-test.yaml | 69 ++++++++++++++++++++++++ values.yaml | 69 ++++++++++++++++++++++++ 17 files changed, 598 insertions(+) create mode 100644 .helmignore create mode 100644 Chart.yaml create mode 100644 README.md create mode 100644 atm0s-media-stack-0.1.0.tgz create mode 100644 index.yaml create mode 100755 package.sh create mode 100644 templates/NOTES.txt create mode 100644 templates/_helpers.tpl create mode 100644 templates/atm0s-k8s-connector.yaml create mode 100644 templates/atm0s-k8s-gateway.yaml create mode 100644 templates/atm0s-k8s-ingress-gateway.yml create mode 100644 templates/atm0s-k8s-nats.yaml create mode 100644 templates/atm0s-k8s-rtmp.yaml create mode 100644 templates/atm0s-k8s-sip.yaml create mode 100644 templates/atm0s-k8s-webrtc.yaml create mode 100644 values-test.yaml create mode 100644 values.yaml diff --git a/.helmignore b/.helmignore new file mode 100644 index 0000000..0e8a0eb --- /dev/null +++ b/.helmignore @@ -0,0 +1,23 @@ +# 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 +*.orig +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ diff --git a/Chart.yaml b/Chart.yaml new file mode 100644 index 0000000..a8d24ab --- /dev/null +++ b/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +name: atm0s-media-stack +description: Atm0s Media Stack Helm chart for Kubernetes + +# A chart can be either an 'application' or a 'library' chart. +# +# Application charts are a collection of templates that can be packaged into versioned archives +# to be deployed. +# +# Library charts provide useful utilities or functions for the chart developer. They're included as +# a dependency of application charts to inject those utilities and functions into the rendering +# pipeline. Library charts do not define any templates and therefore cannot be deployed. +type: application + +# This is the chart version. This version number should be incremented each time you make changes +# to the chart and its templates, including the app version. +# Versions are expected to follow Semantic Versioning (https://semver.org/) +version: 0.1.0 + +# This is the version number of the application being deployed. This version number should be +# incremented each time you make changes to the application. Versions are not expected to +# follow Semantic Versioning. They should reflect the version the application is using. +# It is recommended to use it with quotes. +appVersion: 0.1.0 diff --git a/README.md b/README.md new file mode 100644 index 0000000..439987a --- /dev/null +++ b/README.md @@ -0,0 +1,30 @@ +# Atm0s Media Server Stack + +Atm0s Media Stack Helm chart for Kubernetes + +## Introduction +Atm0s Media Stack installs the following +- Atm0s pods: Gateway, Connector, Webrtc, RTMP, SIP +- Nats pod + +## Prerequisites +- **Kubernetes >= 1.23** (You must have a Kubernetes cluster installed and be able to access it with kubectl.) +- **Helm v3** (https://helm.sh/docs/intro/install/) + +## Installing the Chart +Add the 8xFF repository to Helm: +```shell script +helm repo add atm0s https://8xff.github.io/helm +helm repo update +helm install atm0s-media-stack 8xff/atm0s-media-stack --set gateway.host={host}.{example.com} --namespace atm0s-media --create-namespace +``` + +## Uninstalling the Chart +```sh +helm delete atm0s-media-stack -n atm0s-media +``` + +## Example Usage +``` +helm install atm0s-media-stack 8xff/atm0s-media-stack --set gateway.host=gateway.example.com --namespace atm0s-media --create-namespace +``` \ No newline at end of file diff --git a/atm0s-media-stack-0.1.0.tgz b/atm0s-media-stack-0.1.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..93ef787b126ad859a1c9002362643e31a024d31d GIT binary patch literal 4085 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:/node-info/ + +This will resulted in a JSON response, which will contain the seed address in the property "address". +Or you can check the log produced by the gateway to get the address. +The address will look something like this: 0@/ip4/192.168.65.3/udp/3001/ip4/192.168.65.3/tcp/3001 + +This seed address are necessary to initialize the Atm0s stack/cluster. + +Now you can update the default values.yaml, enable your favorite server to get up an running. diff --git a/templates/_helpers.tpl b/templates/_helpers.tpl new file mode 100644 index 0000000..ffa5745 --- /dev/null +++ b/templates/_helpers.tpl @@ -0,0 +1,62 @@ +{{/* +Expand the name of the chart. +*/}} +{{- define "atm0s-media-stack.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 "atm0s-media-stack.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 "atm0s-media-stack.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Common labels +*/}} +{{- define "atm0s-media-stack.labels" -}} +helm.sh/chart: {{ include "atm0s-media-stack.chart" . }} +{{ include "atm0s-media-stack.selectorLabels" . }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end }} + +{{/* +Selector labels +*/}} +{{- define "atm0s-media-stack.selectorLabels" -}} +app.kubernetes.io/name: {{ include "atm0s-media-stack.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- end }} + +{{/* +Create the name of the service account to use +*/}} +{{- define "atm0s-media-stack.serviceAccountName" -}} +{{- if .Values.serviceAccount.create }} +{{- default (include "atm0s-media-stack.fullname" .) .Values.serviceAccount.name }} +{{- else }} +{{- default "default" .Values.serviceAccount.name }} +{{- end }} +{{- end }} diff --git a/templates/atm0s-k8s-connector.yaml b/templates/atm0s-k8s-connector.yaml new file mode 100644 index 0000000..f534977 --- /dev/null +++ b/templates/atm0s-k8s-connector.yaml @@ -0,0 +1,45 @@ +{{- if .Values.seedAddr }} +{{- if .Values.connector.enabled }} +apiVersion: apps/v1 +kind: Deployment +metadata: + name: atm0s-media-connector +spec: + replicas: 1 + selector: + matchLabels: + app: atm0s-media-connector + template: + metadata: + labels: + app: atm0s-media-connector + spec: + hostNetwork: true + containers: + - name: atm0s-media-connector + image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + args: ["--http-port={{ .Values.connector.service.httpPort }}", "--sdn-port={{ .Values.connector.service.sdnPort }}", "--node-id={{ .Values.connector.nodeId }}", "--seeds={{ .Values.seedAddr }}", "connector", "--mq-uri={{ .Values.connector.mqUri }}"] + env: + - name: RUST_LOG + value: {{ .Values.connector.logLevel }} + + ports: + - name: http + containerPort: {{ .Values.connector.service.httpPort }} + protocol: TCP + - name: sdn + containerPort: {{ .Values.connector.service.sdnPort }} + protocol: TCP + # livenessProbe: + # httpGet: + # path: /node-info/ + # port: http + # initialDelaySeconds: 10 + # periodSeconds: 5 + resources: + requests: + cpu: {{ .Values.connector.cpuRequest }} + memory: {{ .Values.connector.memoryRequest }} +{{- end }} +{{- end }} \ No newline at end of file diff --git a/templates/atm0s-k8s-gateway.yaml b/templates/atm0s-k8s-gateway.yaml new file mode 100644 index 0000000..d103399 --- /dev/null +++ b/templates/atm0s-k8s-gateway.yaml @@ -0,0 +1,55 @@ + +kind: Service +apiVersion: v1 +metadata: + name: gateway +spec: + selector: + app: atm0s-media-gateway + ports: + - protocol: TCP + port: 3000 + targetPort: http + name: http +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: atm0s-media-gateway +spec: + replicas: 1 + selector: + matchLabels: + app: atm0s-media-gateway + template: + metadata: + labels: + app: atm0s-media-gateway + spec: + hostNetwork: true + containers: + - name: atm0s-media-gateway + image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + args: ["--http-port={{ .Values.gateway.service.httpPort }}", "--sdn-port={{ .Values.gateway.service.sdnPort }}", "--node-id={{ .Values.gateway.nodeId }}", "gateway"] + env: + - name: RUST_LOG + value: {{ .Values.gateway.logLevel }} + ports: + - name: http + containerPort: {{ .Values.gateway.service.httpPort }} + protocol: TCP + - name: sdn + containerPort: {{ .Values.gateway.service.sdnPort }} + protocol: TCP + # livenessProbe: + # httpGet: + # path: /node-info/ + # port: http + # initialDelaySeconds: 10 + # periodSeconds: 5 + resources: + requests: + cpu: {{ .Values.gateway.cpuRequest }} + memory: {{ .Values.gateway.memoryRequest }} + diff --git a/templates/atm0s-k8s-ingress-gateway.yml b/templates/atm0s-k8s-ingress-gateway.yml new file mode 100644 index 0000000..ca36231 --- /dev/null +++ b/templates/atm0s-k8s-ingress-gateway.yml @@ -0,0 +1,17 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: gateway +spec: + ingressClassName: nginx + rules: + - host: {{ .Values.gateway.host }} + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: gateway + port: + name: http \ No newline at end of file diff --git a/templates/atm0s-k8s-nats.yaml b/templates/atm0s-k8s-nats.yaml new file mode 100644 index 0000000..df0c961 --- /dev/null +++ b/templates/atm0s-k8s-nats.yaml @@ -0,0 +1,42 @@ +{{- if .Values.connector.innerNats.enabled}} +kind: Service +apiVersion: v1 +metadata: + name: nats +spec: + selector: + app: nats + ports: + - protocol: TCP + port: 4222 + targetPort: 4222 +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: nats +spec: + replicas: 1 + selector: + matchLabels: + app: nats + template: + metadata: + labels: + app: nats + spec: + containers: + - name: nats + image: nats:2.10 + ports: + - name: tcp + containerPort: 4222 + protocol: TCP + resources: + limits: + cpu: 100m + memory: 128Mi + requests: + cpu: 100m + memory: 128Mi +{{- end}} \ No newline at end of file diff --git a/templates/atm0s-k8s-rtmp.yaml b/templates/atm0s-k8s-rtmp.yaml new file mode 100644 index 0000000..446fb38 --- /dev/null +++ b/templates/atm0s-k8s-rtmp.yaml @@ -0,0 +1,45 @@ +{{- if .Values.seedAddr }} +{{- if .Values.rtmp.enabled }} +apiVersion: apps/v1 +kind: Deployment +metadata: + name: atm0s-media-rtmp +spec: + replicas: 1 + selector: + matchLabels: + app: atm0s-media-rtmp + template: + metadata: + labels: + app: atm0s-media-rtmp + spec: + hostNetwork: true + containers: + - name: atm0s-media-rtmp + image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + args: ["--http-port={{ .Values.rtmp.service.httpPort }}", "--sdn-port={{ .Values.rtmp.service.sdnPort }}", "--node-id={{ .Values.rtmp.nodeId }}", "--seeds={{ .Values.seedAddr }}", "rtmp"] + env: + - name: RUST_LOG + value: {{ .Values.rtmp.logLevel }} + + ports: + - name: http + containerPort: {{ .Values.rtmp.service.httpPort }} + protocol: TCP + - name: sdn + containerPort: {{ .Values.rtmp.service.sdnPort }} + protocol: TCP + # livenessProbe: + # httpGet: + # path: /node-info/ + # port: http + # initialDelaySeconds: 10 + # periodSeconds: 5 + resources: + requests: + cpu: {{ .Values.rtmp.cpuRequest }} + memory: {{ .Values.rtmp.memoryRequest }} +{{- end}} +{{- end}} \ No newline at end of file diff --git a/templates/atm0s-k8s-sip.yaml b/templates/atm0s-k8s-sip.yaml new file mode 100644 index 0000000..5b38317 --- /dev/null +++ b/templates/atm0s-k8s-sip.yaml @@ -0,0 +1,38 @@ +{{- if .Values.seedAddr }} +{{- if .Values.sip.enabled }} +apiVersion: apps/v1 +kind: Deployment +metadata: + name: atm0s-media-sip +spec: + replicas: 1 + selector: + matchLabels: + app: atm0s-media-sip + template: + metadata: + labels: + app: atm0s-media-sip + spec: + hostNetwork: true + containers: + - name: atm0s-media-sip + image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + args: ["--http-port={{ .Values.sip.service.httpPort }}", "--sdn-port={{ .Values.sip.service.sdnPort }}", "--node-id={{ .Values.sip.nodeId }}", "--seeds={{ .Values.seedAddr }}", "sip"] + env: + - name: RUST_LOG + value: {{ .Values.sip.logLevel }} + ports: + - name: http + containerPort: {{ .Values.sip.service.httpPort }} + protocol: TCP + - name: sdn + containerPort: {{ .Values.sip.service.sdnPort }} + protocol: TCP + resources: + requests: + cpu: {{ .Values.sip.cpuRequest }} + memory: {{ .Values.sip.memoryRequest }} +{{- end}} +{{- end}} diff --git a/templates/atm0s-k8s-webrtc.yaml b/templates/atm0s-k8s-webrtc.yaml new file mode 100644 index 0000000..23e9c55 --- /dev/null +++ b/templates/atm0s-k8s-webrtc.yaml @@ -0,0 +1,44 @@ +{{- if .Values.seedAddr }} +{{- if .Values.webrtc.enabled }} +apiVersion: apps/v1 +kind: Deployment +metadata: + name: atm0s-media-webrtc +spec: + replicas: 1 + selector: + matchLabels: + app: atm0s-media-webrtc + template: + metadata: + labels: + app: atm0s-media-webrtc + spec: + hostNetwork: true + containers: + - name: atm0s-media-webrtc + image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + args: ["--http-port={{ .Values.webrtc.service.httpPort }}", "--sdn-port={{ .Values.webrtc.service.sdnPort }}", "--node-id={{ .Values.webrtc.nodeId }}", "--seeds={{ .Values.seedAddr }}", "webrtc"] + env: + - name: RUST_LOG + value: {{ .Values.webrtc.logLevel }} + ports: + - name: http + containerPort: {{ .Values.webrtc.service.httpPort }} + protocol: TCP + - name: sdn + containerPort: {{ .Values.webrtc.service.sdnPort }} + protocol: TCP + # livenessProbe: + # httpGet: + # path: /node-info/ + # port: http + # initialDelaySeconds: 10 + # periodSeconds: 5 + resources: + requests: + cpu: {{ .Values.webrtc.cpuRequest }} + memory: {{ .Values.webrtc.memoryRequest }} +{{- end}} +{{- end}} \ No newline at end of file diff --git a/values-test.yaml b/values-test.yaml new file mode 100644 index 0000000..c137324 --- /dev/null +++ b/values-test.yaml @@ -0,0 +1,69 @@ +# Default values for atm0s-media-stack. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + +image: + repository: "ghcr.io/8xff/atm0s-media-server" + tag: "master" + pullPolicy: "Always" + +# You must provide a valid seed node address +seedAddr: "0@/ip4/192.168.65.3/udp/3001/ip4/192.168.65.3/tcp/3001" + +gateway: + nodeId: 0 + cpuRequest: 50m + memoryRequest: 100Mi + logLevel: "info" + host: gateway.local + + service: + httpPort: 3000 + sdnPort: 3001 + +connector: + enabled: true + nodeId: 1 + cpuRequest: 50m + memoryRequest: 100Mi + mqUri: "nats://nats" + innerNats: + enabled: true + + logLevel: "info" + service: + httpPort: 3010 + sdnPort: 3011 + +rtmp: + enabled: false + nodeId: 2 + cpuRequest: 200m + memoryRequest: 500Mi + logLevel: "info" + + service: + httpPort: 3020 + sdnPort: 3021 + +webrtc: + enabled: false + nodeId: 3 + cpuRequest: 200m + memoryRequest: 500Mi + logLevel: "info" + + service: + httpPort: 3030 + sdnPort: 3031 + +sip: + enabled: false + nodeId: 4 + cpuRequest: 100m + memoryRequest: 200Mi + logLevel: "info" + + service: + httpPort: 3040 + sdnPort: 3041 diff --git a/values.yaml b/values.yaml new file mode 100644 index 0000000..2973426 --- /dev/null +++ b/values.yaml @@ -0,0 +1,69 @@ +# Default values for atm0s-media-stack. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + +image: + repository: "ghcr.io/8xff/atm0s-media-server" + tag: "master" + pullPolicy: "Always" + +# You must provide a valid seed node address before enabling any other node +# seedAddr: "0@/ip4/192.168.65.3/udp/3001/ip4/192.168.65.3/tcp/3001" + + +gateway: + nodeId: 0 + cpuRequest: 50m + memoryRequest: 100Mi + logLevel: "info" + host: gateway.local + service: + httpPort: 3000 + sdnPort: 3001 + +connector: + enabled: false + nodeId: 1 + cpuRequest: 50m + memoryRequest: 100Mi + mqUri: "nats://nats" + innerNats: + enabled: true + + logLevel: "info" + service: + httpPort: 3010 + sdnPort: 3011 + +rtmp: + enabled: false + nodeId: 2 + cpuRequest: 200m + memoryRequest: 500Mi + logLevel: "info" + + service: + httpPort: 3020 + sdnPort: 3021 + +webrtc: + enabled: false + nodeId: 3 + cpuRequest: 200m + memoryRequest: 500Mi + logLevel: "info" + + service: + httpPort: 3030 + sdnPort: 3031 + +sip: + enabled: false + nodeId: 4 + cpuRequest: 100m + memoryRequest: 200Mi + logLevel: "info" + + service: + httpPort: 3040 + sdnPort: 3041 \ No newline at end of file