From 10c3ab8c52d4e9010c7d3e8406bca33b234ee238 Mon Sep 17 00:00:00 2001 From: glmcz Date: Thu, 4 Jul 2024 22:43:32 +0200 Subject: [PATCH] clean up #2 --- auto/pub.sh | 53 --- auto/srs-server.sh | 93 ----- conf/conf.d/default.conf | 49 --- conf/nginx.conf | 31 -- jekyll/Gemfile | 33 -- jekyll/Gemfile.lock | 264 -------------- jekyll/_config.yml | 8 - oryx/.helmignore | 23 -- oryx/Chart.yaml | 28 -- oryx/charts/.gitkeep | 0 oryx/templates/NOTES.txt | 22 -- oryx/templates/_helpers.tpl | 62 ---- oryx/templates/deployment.yaml | 125 ------- oryx/templates/hpa.yaml | 28 -- oryx/templates/ingress.yaml | 61 ---- oryx/templates/pvc.yaml | 31 -- oryx/templates/service.yaml | 31 -- oryx/templates/serviceaccount.yaml | 12 - oryx/templates/tests/test-connection.yaml | 15 - oryx/values.schema.json | 26 -- oryx/values.yaml | 121 ------- stable/README.md | 3 - stable/index.yaml | 417 ---------------------- stable/oryx-1.0.6.tgz | Bin 5674 -> 0 bytes stable/oryx-1.0.7.tgz | Bin 5675 -> 0 bytes stable/srs-server-1.0.0.tgz | Bin 4256 -> 0 bytes stable/srs-server-1.0.1.tgz | Bin 4332 -> 0 bytes stable/srs-server-1.0.2.tgz | Bin 4653 -> 0 bytes stable/srs-server-1.0.3.tgz | Bin 4702 -> 0 bytes stable/srs-server-1.0.4.tgz | Bin 5036 -> 0 bytes stable/srs-server-1.0.5.tgz | Bin 5088 -> 0 bytes stable/srs-stack-1.0.1.tgz | Bin 5133 -> 0 bytes stable/srs-stack-1.0.2.tgz | Bin 5189 -> 0 bytes stable/srs-stack-1.0.3.tgz | Bin 5608 -> 0 bytes stable/srs-stack-1.0.4.tgz | Bin 5607 -> 0 bytes stable/srs-stack-1.0.5.tgz | Bin 5608 -> 0 bytes 36 files changed, 1536 deletions(-) delete mode 100755 auto/pub.sh delete mode 100755 auto/srs-server.sh delete mode 100644 conf/conf.d/default.conf delete mode 100644 conf/nginx.conf delete mode 100644 jekyll/Gemfile delete mode 100644 jekyll/Gemfile.lock delete mode 100644 jekyll/_config.yml delete mode 100644 oryx/.helmignore delete mode 100644 oryx/Chart.yaml delete mode 100644 oryx/charts/.gitkeep delete mode 100644 oryx/templates/NOTES.txt delete mode 100644 oryx/templates/_helpers.tpl delete mode 100644 oryx/templates/deployment.yaml delete mode 100644 oryx/templates/hpa.yaml delete mode 100644 oryx/templates/ingress.yaml delete mode 100644 oryx/templates/pvc.yaml delete mode 100644 oryx/templates/service.yaml delete mode 100644 oryx/templates/serviceaccount.yaml delete mode 100644 oryx/templates/tests/test-connection.yaml delete mode 100644 oryx/values.schema.json delete mode 100644 oryx/values.yaml delete mode 100644 stable/README.md delete mode 100644 stable/index.yaml delete mode 100644 stable/oryx-1.0.6.tgz delete mode 100644 stable/oryx-1.0.7.tgz delete mode 100644 stable/srs-server-1.0.0.tgz delete mode 100644 stable/srs-server-1.0.1.tgz delete mode 100644 stable/srs-server-1.0.2.tgz delete mode 100644 stable/srs-server-1.0.3.tgz delete mode 100644 stable/srs-server-1.0.4.tgz delete mode 100644 stable/srs-server-1.0.5.tgz delete mode 100644 stable/srs-stack-1.0.1.tgz delete mode 100644 stable/srs-stack-1.0.2.tgz delete mode 100644 stable/srs-stack-1.0.3.tgz delete mode 100644 stable/srs-stack-1.0.4.tgz delete mode 100644 stable/srs-stack-1.0.5.tgz diff --git a/auto/pub.sh b/auto/pub.sh deleted file mode 100755 index 68f1b7c..0000000 --- a/auto/pub.sh +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/bash - -# Execute by: bash xxx.sh or bash zzz/yyy/xxx.sh or ./xxx.sh or ./zzz/yyy/xxx.sh source xxx.sh -REALPATH=$(realpath ${BASH_SOURCE[0]}) -SCRIPT_DIR=$(cd $(dirname ${REALPATH}) && pwd) -WORK_DIR=$(cd $(dirname ${REALPATH})/.. && pwd) -echo "BASH_SOURCE=${BASH_SOURCE}, REALPATH=${REALPATH}, SCRIPT_DIR=${SCRIPT_DIR}, WORK_DIR=${WORK_DIR}" -cd ${WORK_DIR} - -help=false -refresh=false - -while [[ "$#" -gt 0 ]]; do - case $1 in - -h|--help) help=true; shift ;; - -refresh|--refresh) refresh=true; shift ;; - *) echo "Unknown parameter passed: $1"; exit 1 ;; - esac -done - -if [ "$help" = true ]; then - echo "Usage: $0 [OPTIONS]" - echo "Options:" - echo " -h, --help Show this help message and exit" - echo " -refresh, --refresh Refresh current tag. Default: false" - exit 0 -fi - -# The tags used for release: -# repo tag: v1.0.123, automatically increase by each release. -# chart srs-server tag: srs-server-v1.0.2, should match Chart.yaml, and updated manually. -REPO_RELEASE=$(git describe --tags --abbrev=0 --match v* 2>/dev/null || echo "v1.0.-1") -REPO_REVISION=$(echo $REPO_RELEASE|awk -F . '{print $3}') -let REPO_NEXT=$REPO_REVISION+1 -if [[ $refresh == true && $REPO_REVISION != "-1" ]]; then - let REPO_NEXT=$REPO_REVISION -fi -REPO_TAG="v1.0.$REPO_NEXT" -REPO_VERSION="1.0.$REPO_NEXT" -echo "repo: Last is $REPO_RELEASE $REPO_REVISION, release as NEXT:$REPO_NEXT TAG:$REPO_TAG VERION:$REPO_VERSION" - -git status |grep -q 'nothing to commit' -if [[ $? -ne 0 ]]; then - echo "Failed: Please commit before release"; - exit 1 -fi - -git tag -d $REPO_TAG 2>/dev/null; git push origin :$REPO_TAG 2>/dev/null -echo "Delete tag OK: $REPO_TAG" - -git tag $REPO_TAG && git push origin $REPO_TAG -echo "Publish OK: $REPO_TAG" -echo " https://github.com/ossrs/srs-helm/actions" diff --git a/auto/srs-server.sh b/auto/srs-server.sh deleted file mode 100755 index 221f6e0..0000000 --- a/auto/srs-server.sh +++ /dev/null @@ -1,93 +0,0 @@ -#!/bin/bash - -# Execute by: bash xxx.sh or bash zzz/yyy/xxx.sh or ./xxx.sh or ./zzz/yyy/xxx.sh source xxx.sh -REALPATH=$(realpath ${BASH_SOURCE[0]}) -SCRIPT_DIR=$(cd $(dirname ${REALPATH}) && pwd) -WORK_DIR=$(cd $(dirname ${REALPATH})/.. && pwd) -echo "BASH_SOURCE=${BASH_SOURCE}, REALPATH=${REALPATH}, SCRIPT_DIR=${SCRIPT_DIR}, WORK_DIR=${WORK_DIR}" -cd ${WORK_DIR} - -help=false -refresh=false -target= - -while [[ "$#" -gt 0 ]]; do - case $1 in - -h|--help) help=true; shift ;; - -refresh|--refresh) refresh=true; shift ;; - -target|--target) target="$2"; shift 2;; - *) echo "Unknown parameter passed: $1"; exit 1 ;; - esac -done - -if [ "$help" = true ]; then - echo "Usage: $0 [OPTIONS]" - echo "Options:" - echo " -h, --help Show this help message and exit" - echo " -refresh, --refresh Refresh current tag. Default: false" - echo " -target, --target The target version to release, for example, v5.7.28" - exit 0 -fi - -if [[ ! -z $target ]]; then - RELEASE=$target - refresh=yes -else - RELEASE=$(git describe --tags --abbrev=0 --match srs-server-v* |sed 's/srs-server-//g') -fi -if [[ $? -ne 0 ]]; then echo "Release failed"; exit 1; fi - -REVISION=$(echo $RELEASE |awk -F . '{print $3}') -if [[ $? -ne 0 ]]; then echo "Release failed"; exit 1; fi - -let NEXT=$REVISION+1 -if [[ $refresh == yes ]]; then - let NEXT=$REVISION -fi -VERSION=$(echo $RELEASE |sed 's/v//g') -TAG=$RELEASE -echo "For srs-server, RELEASE=$RELEASE, VERSION=$VERSION, TAG=$TAG, REVISION=$REVISION, NEXT=$NEXT" - -if [[ $(grep -q "version: $VERSION" srs-server/Chart.yaml || echo no) == no ]]; then - VERSION0="sed -i '' 's/^version:.*/version: $VERSION/g' srs-server/Chart.yaml" - VERSION1="sed -i '' 's|v1.*/srs-server|$TAG/srs-server|g' srs-server/Chart.yaml" -fi -if [[ ! -z $VERSION0 || ! -z $VERSION1 ]]; then - echo "Please update version to $VERSION" - if [[ ! -z $VERSION0 ]]; then echo " $VERSION0 &&"; fi - if [[ ! -z $VERSION1 ]]; then echo " $VERSION1 &&"; fi - echo " echo ok" - exit 1 -fi - -if [[ ! -f stable/srs-server-$VERSION.tgz ]]; then - echo "Failed: No package at stable/srs-server-$VERSION.tgz" - echo "Please run:" - echo " helm package srs-server -d stable && \\" - echo " helm repo index stable" - exit 1 -fi - -git st |grep -q 'nothing to commit' -if [[ $? -ne 0 ]]; then - echo "Failed: Please commit before release"; - exit 1 -fi - -git fetch origin -if [[ $(git status |grep -q 'Your branch is up to date' || echo 'no') == no ]]; then - git status - echo "Failed: Please sync before release"; - exit 1 -fi -echo "Sync OK" - -git tag -d srs-server-$TAG 2>/dev/null; git push origin :srs-server-$TAG 2>/dev/null -echo "Delete tag OK: srs-server-$TAG" - -git tag srs-server-$TAG && git push origin srs-server-$TAG -echo "Publish OK: srs-server-$TAG" - -echo -e "\n\n" -echo "Chart srs-server $VERSION ok, please release to official website by:" -echo " ./auto/pub.sh" diff --git a/conf/conf.d/default.conf b/conf/conf.d/default.conf deleted file mode 100644 index c00b6a0..0000000 --- a/conf/conf.d/default.conf +++ /dev/null @@ -1,49 +0,0 @@ -server { - listen 80; - server_name localhost; - - #access_log /var/log/nginx/host.access.log main; - - location / { - root /usr/share/nginx/html; - index index.html index.htm; - } - - include /etc/nginx/mime.types; - types { - text/yaml yml yaml; - text/plain md; - } - - #error_page 404 /404.html; - - # redirect server error pages to the static page /50x.html - # - error_page 500 502 503 504 /50x.html; - location = /50x.html { - root /usr/share/nginx/html; - } - - # proxy the PHP scripts to Apache listening on 127.0.0.1:80 - # - #location ~ \.php$ { - # proxy_pass http://127.0.0.1; - #} - - # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 - # - #location ~ \.php$ { - # root html; - # fastcgi_pass 127.0.0.1:9000; - # fastcgi_index index.php; - # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; - # include fastcgi_params; - #} - - # deny access to .htaccess files, if Apache's document root - # concurs with nginx's one - # - #location ~ /\.ht { - # deny all; - #} -} diff --git a/conf/nginx.conf b/conf/nginx.conf deleted file mode 100644 index 3fe6737..0000000 --- a/conf/nginx.conf +++ /dev/null @@ -1,31 +0,0 @@ - -user nginx; -worker_processes auto; - -error_log /var/log/nginx/error.log notice; -pid /var/run/nginx.pid; - -events { - worker_connections 1024; -} - -http { - include /etc/nginx/mime.types; - default_type application/octet-stream; - - log_format main '$remote_addr - $remote_user [$time_local] "$request" ' - '$status $body_bytes_sent "$http_referer" ' - '"$http_user_agent" "$http_x_forwarded_for"'; - - access_log /var/log/nginx/access.log main; - - sendfile on; - #tcp_nopush on; - - keepalive_timeout 65; - - #gzip on; - - # The HTTP servers. - include /etc/nginx/conf.d/*.conf; -} diff --git a/jekyll/Gemfile b/jekyll/Gemfile deleted file mode 100644 index d785148..0000000 --- a/jekyll/Gemfile +++ /dev/null @@ -1,33 +0,0 @@ -source "https://rubygems.org" -# Hello! This is where you manage which Jekyll version is used to run. -# When you want to use a different version, change it below, save the -# file and run `bundle install`. Run Jekyll with `bundle exec`, like so: -# -# bundle exec jekyll serve -# -# This will help ensure the proper Jekyll version is running. -# Happy Jekylling! -#gem "jekyll", "~> 4.3.2" -# This is the default theme for new Jekyll sites. You may change this to anything you like. -gem "minima", "~> 2.5" -# If you want to use GitHub Pages, remove the "gem "jekyll"" above and -# uncomment the line below. To upgrade, run `bundle update github-pages`. -gem "github-pages", group: :jekyll_plugins -# If you have any plugins, put them here! -group :jekyll_plugins do - gem "jekyll-feed", "~> 0.12" -end - -# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem -# and associated library. -platforms :mingw, :x64_mingw, :mswin, :jruby do - gem "tzinfo", ">= 1", "< 3" - gem "tzinfo-data" -end - -# Performance-booster for watching directories on Windows -gem "wdm", "~> 0.1.1", :platforms => [:mingw, :x64_mingw, :mswin] - -# Lock `http_parser.rb` gem to `v0.6.x` on JRuby builds since newer versions of the gem -# do not have a Java counterpart. -gem "http_parser.rb", "~> 0.6.0", :platforms => [:jruby] diff --git a/jekyll/Gemfile.lock b/jekyll/Gemfile.lock deleted file mode 100644 index b1eb288..0000000 --- a/jekyll/Gemfile.lock +++ /dev/null @@ -1,264 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - activesupport (7.0.6) - concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 1.6, < 2) - minitest (>= 5.1) - tzinfo (~> 2.0) - addressable (2.8.4) - public_suffix (>= 2.0.2, < 6.0) - coffee-script (2.4.1) - coffee-script-source - execjs - coffee-script-source (1.11.1) - colorator (1.1.0) - commonmarker (0.23.9) - concurrent-ruby (1.2.2) - dnsruby (1.70.0) - simpleidn (~> 0.2.1) - em-websocket (0.5.3) - eventmachine (>= 0.12.9) - http_parser.rb (~> 0) - ethon (0.16.0) - ffi (>= 1.15.0) - eventmachine (1.2.7) - execjs (2.8.1) - faraday (2.7.10) - faraday-net_http (>= 2.0, < 3.1) - ruby2_keywords (>= 0.0.4) - faraday-net_http (3.0.2) - ffi (1.15.5) - forwardable-extended (2.6.0) - gemoji (3.0.1) - github-pages (228) - github-pages-health-check (= 1.17.9) - jekyll (= 3.9.3) - jekyll-avatar (= 0.7.0) - jekyll-coffeescript (= 1.1.1) - jekyll-commonmark-ghpages (= 0.4.0) - jekyll-default-layout (= 0.1.4) - jekyll-feed (= 0.15.1) - jekyll-gist (= 1.5.0) - jekyll-github-metadata (= 2.13.0) - jekyll-include-cache (= 0.2.1) - jekyll-mentions (= 1.6.0) - jekyll-optional-front-matter (= 0.3.2) - jekyll-paginate (= 1.1.0) - jekyll-readme-index (= 0.3.0) - jekyll-redirect-from (= 0.16.0) - jekyll-relative-links (= 0.6.1) - jekyll-remote-theme (= 0.4.3) - jekyll-sass-converter (= 1.5.2) - jekyll-seo-tag (= 2.8.0) - jekyll-sitemap (= 1.4.0) - jekyll-swiss (= 1.0.0) - jekyll-theme-architect (= 0.2.0) - jekyll-theme-cayman (= 0.2.0) - jekyll-theme-dinky (= 0.2.0) - jekyll-theme-hacker (= 0.2.0) - jekyll-theme-leap-day (= 0.2.0) - jekyll-theme-merlot (= 0.2.0) - jekyll-theme-midnight (= 0.2.0) - jekyll-theme-minimal (= 0.2.0) - jekyll-theme-modernist (= 0.2.0) - jekyll-theme-primer (= 0.6.0) - jekyll-theme-slate (= 0.2.0) - jekyll-theme-tactile (= 0.2.0) - jekyll-theme-time-machine (= 0.2.0) - jekyll-titles-from-headings (= 0.5.3) - jemoji (= 0.12.0) - kramdown (= 2.3.2) - kramdown-parser-gfm (= 1.1.0) - liquid (= 4.0.4) - mercenary (~> 0.3) - minima (= 2.5.1) - nokogiri (>= 1.13.6, < 2.0) - rouge (= 3.26.0) - terminal-table (~> 1.4) - github-pages-health-check (1.17.9) - addressable (~> 2.3) - dnsruby (~> 1.60) - octokit (~> 4.0) - public_suffix (>= 3.0, < 5.0) - typhoeus (~> 1.3) - html-pipeline (2.14.3) - activesupport (>= 2) - nokogiri (>= 1.4) - http_parser.rb (0.8.0) - i18n (1.14.1) - concurrent-ruby (~> 1.0) - jekyll (3.9.3) - addressable (~> 2.4) - colorator (~> 1.0) - em-websocket (~> 0.5) - i18n (>= 0.7, < 2) - jekyll-sass-converter (~> 1.0) - jekyll-watch (~> 2.0) - kramdown (>= 1.17, < 3) - liquid (~> 4.0) - mercenary (~> 0.3.3) - pathutil (~> 0.9) - rouge (>= 1.7, < 4) - safe_yaml (~> 1.0) - jekyll-avatar (0.7.0) - jekyll (>= 3.0, < 5.0) - jekyll-coffeescript (1.1.1) - coffee-script (~> 2.2) - coffee-script-source (~> 1.11.1) - jekyll-commonmark (1.4.0) - commonmarker (~> 0.22) - jekyll-commonmark-ghpages (0.4.0) - commonmarker (~> 0.23.7) - jekyll (~> 3.9.0) - jekyll-commonmark (~> 1.4.0) - rouge (>= 2.0, < 5.0) - jekyll-default-layout (0.1.4) - jekyll (~> 3.0) - jekyll-feed (0.15.1) - jekyll (>= 3.7, < 5.0) - jekyll-gist (1.5.0) - octokit (~> 4.2) - jekyll-github-metadata (2.13.0) - jekyll (>= 3.4, < 5.0) - octokit (~> 4.0, != 4.4.0) - jekyll-include-cache (0.2.1) - jekyll (>= 3.7, < 5.0) - jekyll-mentions (1.6.0) - html-pipeline (~> 2.3) - jekyll (>= 3.7, < 5.0) - jekyll-optional-front-matter (0.3.2) - jekyll (>= 3.0, < 5.0) - jekyll-paginate (1.1.0) - jekyll-readme-index (0.3.0) - jekyll (>= 3.0, < 5.0) - jekyll-redirect-from (0.16.0) - jekyll (>= 3.3, < 5.0) - jekyll-relative-links (0.6.1) - jekyll (>= 3.3, < 5.0) - jekyll-remote-theme (0.4.3) - addressable (~> 2.0) - jekyll (>= 3.5, < 5.0) - jekyll-sass-converter (>= 1.0, <= 3.0.0, != 2.0.0) - rubyzip (>= 1.3.0, < 3.0) - jekyll-sass-converter (1.5.2) - sass (~> 3.4) - jekyll-seo-tag (2.8.0) - jekyll (>= 3.8, < 5.0) - jekyll-sitemap (1.4.0) - jekyll (>= 3.7, < 5.0) - jekyll-swiss (1.0.0) - jekyll-theme-architect (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-cayman (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-dinky (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-hacker (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-leap-day (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-merlot (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-midnight (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-minimal (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-modernist (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-primer (0.6.0) - jekyll (> 3.5, < 5.0) - jekyll-github-metadata (~> 2.9) - jekyll-seo-tag (~> 2.0) - jekyll-theme-slate (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-tactile (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-time-machine (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-titles-from-headings (0.5.3) - jekyll (>= 3.3, < 5.0) - jekyll-watch (2.2.1) - listen (~> 3.0) - jemoji (0.12.0) - gemoji (~> 3.0) - html-pipeline (~> 2.2) - jekyll (>= 3.0, < 5.0) - kramdown (2.3.2) - rexml - kramdown-parser-gfm (1.1.0) - kramdown (~> 2.0) - liquid (4.0.4) - listen (3.8.0) - rb-fsevent (~> 0.10, >= 0.10.3) - rb-inotify (~> 0.9, >= 0.9.10) - mercenary (0.3.6) - minima (2.5.1) - jekyll (>= 3.5, < 5.0) - jekyll-feed (~> 0.9) - jekyll-seo-tag (~> 2.1) - minitest (5.18.1) - nokogiri (1.15.3-x86_64-linux) - racc (~> 1.4) - octokit (4.25.1) - faraday (>= 1, < 3) - sawyer (~> 0.9) - pathutil (0.16.2) - forwardable-extended (~> 2.6) - public_suffix (4.0.7) - racc (1.7.1) - rb-fsevent (0.11.2) - rb-inotify (0.10.1) - ffi (~> 1.0) - rexml (3.2.5) - rouge (3.26.0) - ruby2_keywords (0.0.5) - rubyzip (2.3.2) - safe_yaml (1.0.5) - sass (3.7.4) - sass-listen (~> 4.0.0) - sass-listen (4.0.0) - rb-fsevent (~> 0.9, >= 0.9.4) - rb-inotify (~> 0.9, >= 0.9.7) - sawyer (0.9.2) - addressable (>= 2.3.5) - faraday (>= 0.17.3, < 3) - simpleidn (0.2.1) - unf (~> 0.1.4) - terminal-table (1.8.0) - unicode-display_width (~> 1.1, >= 1.1.1) - typhoeus (1.4.0) - ethon (>= 0.9.0) - tzinfo (2.0.6) - concurrent-ruby (~> 1.0) - unf (0.1.4) - unf_ext - unf_ext (0.0.8.2) - unicode-display_width (1.8.0) - -PLATFORMS - x86_64-linux - -DEPENDENCIES - github-pages - http_parser.rb (~> 0.6.0) - jekyll-feed (~> 0.12) - minima (~> 2.5) - tzinfo (>= 1, < 3) - tzinfo-data - wdm (~> 0.1.1) - -BUNDLED WITH - 2.4.10 diff --git a/jekyll/_config.yml b/jekyll/_config.yml deleted file mode 100644 index 062794a..0000000 --- a/jekyll/_config.yml +++ /dev/null @@ -1,8 +0,0 @@ - -title: SRS HELM -description: Helm Charts for SRS media server. -github_username: ossrs/srs - -theme: minima -plugins: - - jekyll-feed diff --git a/oryx/.helmignore b/oryx/.helmignore deleted file mode 100644 index 0e8a0eb..0000000 --- a/oryx/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# 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/oryx/Chart.yaml b/oryx/Chart.yaml deleted file mode 100644 index 07fb078..0000000 --- a/oryx/Chart.yaml +++ /dev/null @@ -1,28 +0,0 @@ -apiVersion: v2 -name: oryx -appVersion: "5.14.19" -version: 1.0.7 -description: Oryx(SRS Stack) is an all-in-one, one-click, and open-source video solution for creating online - services on cloud or self-hosting. Built with SRS, FFmpeg, and WebRTC, it supports various protocols - and offers features like authentication, multi-platform streaming, recording, transcoding, virtual - live events, automatic HTTPS, and HTTP Open API. -home: https://helm.ossrs.io/stable -icon: https://ossrs.io/lts/en-us/img/srs-220x234.png -keywords: - - srs - - media - - video - - rtmp - - hls - - webrtc - - srt -sources: - - https://github.com/ossrs/srs-helm/tree/v1.0.7/oryx -maintainers: - - name: Winlin - email: winlinvip@gmail.com - url: https://github.com/ossrs/srs-helm -type: application -annotations: - category: Infrastructure - licenses: MIT diff --git a/oryx/charts/.gitkeep b/oryx/charts/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/oryx/templates/NOTES.txt b/oryx/templates/NOTES.txt deleted file mode 100644 index c33ee83..0000000 --- a/oryx/templates/NOTES.txt +++ /dev/null @@ -1,22 +0,0 @@ -1. Get the application URL by running these commands: -{{- if .Values.ingress.enabled }} -{{- range $host := .Values.ingress.hosts }} - {{- range .paths }} - http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ .path }} - {{- end }} -{{- end }} -{{- else if contains "NodePort" .Values.service.type }} - export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "srs.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 --namespace {{ .Release.Namespace }} svc -w {{ include "srs.fullname" . }}' - export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "srs.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}") - echo http://$SERVICE_IP:{{ .Values.service.http }} -{{- else if contains "ClusterIP" .Values.service.type }} - export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "srs.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") - export CONTAINER_PORT=$(kubectl get pod --namespace {{ .Release.Namespace }} $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}") - echo "Visit http://127.0.0.1:8080 to use your application" - kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:$CONTAINER_PORT -{{- end }} diff --git a/oryx/templates/_helpers.tpl b/oryx/templates/_helpers.tpl deleted file mode 100644 index 3bfd015..0000000 --- a/oryx/templates/_helpers.tpl +++ /dev/null @@ -1,62 +0,0 @@ -{{/* -Expand the name of the chart. -*/}} -{{- define "srs.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 "srs.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 "srs.chart" -}} -{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} -{{- end }} - -{{/* -Common labels -*/}} -{{- define "srs.labels" -}} -helm.sh/chart: {{ include "srs.chart" . }} -{{ include "srs.selectorLabels" . }} -{{- if .Chart.AppVersion }} -app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} -{{- end }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end }} - -{{/* -Selector labels -*/}} -{{- define "srs.selectorLabels" -}} -app.kubernetes.io/name: {{ include "srs.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -{{- end }} - -{{/* -Create the name of the service account to use -*/}} -{{- define "srs.serviceAccountName" -}} -{{- if .Values.serviceAccount.create }} -{{- default (include "srs.fullname" .) .Values.serviceAccount.name }} -{{- else }} -{{- default "default" .Values.serviceAccount.name }} -{{- end }} -{{- end }} diff --git a/oryx/templates/deployment.yaml b/oryx/templates/deployment.yaml deleted file mode 100644 index fc9c305..0000000 --- a/oryx/templates/deployment.yaml +++ /dev/null @@ -1,125 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "srs.fullname" . }} - labels: - {{- include "srs.labels" . | nindent 4 }} -spec: - {{- if not .Values.autoscaling.enabled }} - replicas: {{ .Values.replicaCount }} - {{- end }} - selector: - matchLabels: - {{- include "srs.selectorLabels" . | nindent 6 }} - template: - metadata: - {{- with .Values.podAnnotations }} - annotations: - {{- toYaml . | nindent 8 }} - {{- end }} - labels: - {{- include "srs.selectorLabels" . | nindent 8 }} - spec: - volumes: - - name: srs-pv-storage - persistentVolumeClaim: - claimName: srs-pv-claim - {{- with .Values.imagePullSecrets }} - imagePullSecrets: - {{- toYaml . | nindent 8 }} - {{- end }} - serviceAccountName: {{ include "srs.serviceAccountName" . }} - securityContext: - {{- toYaml .Values.podSecurityContext | nindent 8 }} - containers: - - name: {{ .Chart.Name }} - volumeMounts: - - mountPath: "/data" - name: srs-pv-storage - {{- if .Values.persistence.subPath }} - subPath: {{ .Values.persistence.subPath | quote }} - {{- end }} - securityContext: - {{- toYaml .Values.securityContext | nindent 12 }} - image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - command: ["./bootstrap"] - ports: - - name: rtmp - containerPort: 1935 - protocol: TCP - - name: http - containerPort: 2022 - protocol: TCP - - name: https - containerPort: 2443 - protocol: TCP - - name: srt - containerPort: 10080 - protocol: UDP - - name: rtc - containerPort: 8000 - protocol: UDP - env: - # The general default config. - - name: SRS_PLATFORM - value: "helm" - # Overwrite the config by conf. - {{- range $key, $value := .Values.conf }} - - name: {{ $key }} - value: {{ $value | quote }} - {{- end }} - # Overwrite the config by env. - {{- range .Values.env }} - - name: {{ .name }} - value: {{ .value | quote }} - {{- end }} - # Overwrite by special item. - {{- if .Values.candidate }} - - name: SRS_RTC_SERVER_CANDIDATE - value: {{ .Values.candidate | quote }} - {{- end }} - # For multiple instances expose different ports. - - name: RTMP_PORT - value: {{ .Values.service.rtmp | quote }} - - name: SRT_PORT - value: {{ .Values.service.srt | quote }} - - name: RTC_PORT - value: {{ .Values.service.rtc | quote }} - # Enable self-sign certificate by default. - - name: AUTO_SELF_SIGNED_CERTIFICATE - value: "on" - # Enable dns name lookup. - - name: NAME_LOOKUP - value: "on" - # For Oryx, we resolve the ip in platform. - - name: SRS_RTC_SERVER_API_AS_CANDIDATES - value: "off" - # For Oryx, never detect network ip, because it runs in docker, and the ip is private. - - name: SRS_RTC_SERVER_USE_AUTO_DETECT_NETWORK_IP - value: "off" - # For Oryx, should always enable daemon. - - name: SRS_DAEMON - value: "on" - livenessProbe: - httpGet: - path: / - port: http - readinessProbe: - httpGet: - path: / - port: http - resources: - {{- toYaml .Values.resources | nindent 12 }} - {{- with .Values.nodeSelector }} - nodeSelector: - {{- toYaml . | nindent 8 }} - {{- end }} - {{- with .Values.affinity }} - affinity: - {{- toYaml . | nindent 8 }} - {{- end }} - {{- with .Values.tolerations }} - tolerations: - {{- toYaml . | nindent 8 }} - {{- end }} diff --git a/oryx/templates/hpa.yaml b/oryx/templates/hpa.yaml deleted file mode 100644 index 7e1ebc6..0000000 --- a/oryx/templates/hpa.yaml +++ /dev/null @@ -1,28 +0,0 @@ -{{- if .Values.autoscaling.enabled }} -apiVersion: autoscaling/v2beta1 -kind: HorizontalPodAutoscaler -metadata: - name: {{ include "srs.fullname" . }} - labels: - {{- include "srs.labels" . | nindent 4 }} -spec: - scaleTargetRef: - apiVersion: apps/v1 - kind: Deployment - name: {{ include "srs.fullname" . }} - minReplicas: {{ .Values.autoscaling.minReplicas }} - maxReplicas: {{ .Values.autoscaling.maxReplicas }} - metrics: - {{- if .Values.autoscaling.targetCPUUtilizationPercentage }} - - type: Resource - resource: - name: cpu - targetAverageUtilization: {{ .Values.autoscaling.targetCPUUtilizationPercentage }} - {{- end }} - {{- if .Values.autoscaling.targetMemoryUtilizationPercentage }} - - type: Resource - resource: - name: memory - targetAverageUtilization: {{ .Values.autoscaling.targetMemoryUtilizationPercentage }} - {{- end }} -{{- end }} diff --git a/oryx/templates/ingress.yaml b/oryx/templates/ingress.yaml deleted file mode 100644 index ae65628..0000000 --- a/oryx/templates/ingress.yaml +++ /dev/null @@ -1,61 +0,0 @@ -{{- if .Values.ingress.enabled -}} -{{- $fullName := include "srs.fullname" . -}} -{{- $svcPort := .Values.service.port -}} -{{- if and .Values.ingress.className (not (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion)) }} - {{- if not (hasKey .Values.ingress.annotations "kubernetes.io/ingress.class") }} - {{- $_ := set .Values.ingress.annotations "kubernetes.io/ingress.class" .Values.ingress.className}} - {{- end }} -{{- end }} -{{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion -}} -apiVersion: networking.k8s.io/v1 -{{- else if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}} -apiVersion: networking.k8s.io/v1beta1 -{{- else -}} -apiVersion: extensions/v1beta1 -{{- end }} -kind: Ingress -metadata: - name: {{ $fullName }} - labels: - {{- include "srs.labels" . | nindent 4 }} - {{- with .Values.ingress.annotations }} - annotations: - {{- toYaml . | nindent 4 }} - {{- end }} -spec: - {{- if and .Values.ingress.className (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion) }} - ingressClassName: {{ .Values.ingress.className }} - {{- end }} - {{- if .Values.ingress.tls }} - tls: - {{- range .Values.ingress.tls }} - - hosts: - {{- range .hosts }} - - {{ . | quote }} - {{- end }} - secretName: {{ .secretName }} - {{- end }} - {{- end }} - rules: - {{- range .Values.ingress.hosts }} - - host: {{ .host | quote }} - http: - paths: - {{- range .paths }} - - path: {{ .path }} - {{- if and .pathType (semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion) }} - pathType: {{ .pathType }} - {{- end }} - backend: - {{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }} - service: - name: {{ $fullName }} - port: - number: {{ $svcPort }} - {{- else }} - serviceName: {{ $fullName }} - servicePort: {{ $svcPort }} - {{- end }} - {{- end }} - {{- end }} -{{- end }} diff --git a/oryx/templates/pvc.yaml b/oryx/templates/pvc.yaml deleted file mode 100644 index 3e55b90..0000000 --- a/oryx/templates/pvc.yaml +++ /dev/null @@ -1,31 +0,0 @@ -{{- if (.Values.persistence.enabled) }} -apiVersion: v1 -kind: PersistentVolume -metadata: - name: srs-pv-volume - labels: - type: local -spec: - storageClassName: srs-disk-storage - capacity: - storage: {{ .Values.persistence.storage }} - accessModes: - - ReadWriteOnce - hostPath: - path: {{ .Values.persistence.path }} - type: DirectoryOrCreate - ---- - -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: srs-pv-claim -spec: - storageClassName: srs-disk-storage - accessModes: - - ReadWriteOnce - resources: - requests: - storage: {{ .Values.persistence.storage }} -{{- end }} diff --git a/oryx/templates/service.yaml b/oryx/templates/service.yaml deleted file mode 100644 index cf45905..0000000 --- a/oryx/templates/service.yaml +++ /dev/null @@ -1,31 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "srs.fullname" . }} - labels: - {{- include "srs.labels" . | nindent 4 }} -spec: - type: {{ .Values.service.type }} - ports: - - name: rtmp - port: {{ .Values.service.rtmp }} - targetPort: 1935 - protocol: TCP - - name: http - port: {{ .Values.service.http }} - targetPort: 2022 - protocol: TCP - - name: https - port: {{ .Values.service.https }} - targetPort: 2443 - protocol: TCP - - name: srt - port: {{ .Values.service.srt }} - targetPort: 10080 - protocol: UDP - - name: rtc - port: {{ .Values.service.rtc }} - targetPort: 8000 - protocol: UDP - selector: - {{- include "srs.selectorLabels" . | nindent 4 }} diff --git a/oryx/templates/serviceaccount.yaml b/oryx/templates/serviceaccount.yaml deleted file mode 100644 index 0fad2bb..0000000 --- a/oryx/templates/serviceaccount.yaml +++ /dev/null @@ -1,12 +0,0 @@ -{{- if .Values.serviceAccount.create -}} -apiVersion: v1 -kind: ServiceAccount -metadata: - name: {{ include "srs.serviceAccountName" . }} - labels: - {{- include "srs.labels" . | nindent 4 }} - {{- with .Values.serviceAccount.annotations }} - annotations: - {{- toYaml . | nindent 4 }} - {{- end }} -{{- end }} diff --git a/oryx/templates/tests/test-connection.yaml b/oryx/templates/tests/test-connection.yaml deleted file mode 100644 index a800eac..0000000 --- a/oryx/templates/tests/test-connection.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: "{{ include "srs.fullname" . }}-test-connection" - labels: - {{- include "srs.labels" . | nindent 4 }} - annotations: - "helm.sh/hook": test -spec: - containers: - - name: wget - image: busybox - command: ['wget'] - args: ['-O', '-', '{{ include "srs.fullname" . }}:{{ .Values.service.http }}/api/v1/versions'] - restartPolicy: Never diff --git a/oryx/values.schema.json b/oryx/values.schema.json deleted file mode 100644 index b83143b..0000000 --- a/oryx/values.schema.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "$schema": "http://json-schema.org/schema#", - "type": "object", - "properties": { - "image": { - "type": "object", - "properties": { - "repository": { - "type": "string" - }, - "tag": { - "type": "string", - "description": "Overrides the image tag whose default is the chart appVersion." - }, - "pullPolicy": { - "type": "string" - } - } - }, - "replicaCount": { - "type": "integer", - "const": 1, - "description": "Warning: Only support 1 replica right now." - } - } -} \ No newline at end of file diff --git a/oryx/values.yaml b/oryx/values.yaml deleted file mode 100644 index de332e3..0000000 --- a/oryx/values.yaml +++ /dev/null @@ -1,121 +0,0 @@ -# Copyright ossrs, Inc. -# SPDX-License-Identifier: MIT - -## @section Global parameters -## Global Docker image parameters -## Please, note that this will override the image parameters, including dependencies, configured to use the global value -## - -## @section Common parameters -## - -image: - repository: ossrs/oryx - tag: "" - pullPolicy: IfNotPresent - -replicaCount: 1 - -# The configuration for SRS can be overridden by environment variables. -# See https://github.com/ossrs/srs/blob/develop/trunk/conf/full.conf -conf: - SRS_LOG_TANK: "console" - -# The environment variables to set in the container. -# See https://github.com/ossrs/srs/blob/develop/trunk/conf/full.conf -env: [] - #- name: SRS_LOG_TANK - # value: "file" - -# The WebRTC candidate, which is your server's public IP address, can be accessed by the client. -# See https://ossrs.io/lts/en-us/docs/v5/doc/webrtc#config-candidate for details. -# Note that if this value is not empty, it will override the SRS_RTC_SERVER_CANDIDATE value in -# both the {{.Values.conf}} and {{.Values.env}}. -candidate: "" - -imagePullSecrets: [] -nameOverride: "" -fullnameOverride: "" - -serviceAccount: - # Specifies whether a service account should be created - create: false - # Annotations to add to the service account - annotations: {} - # The name of the service account to use. - # If not set and create is true, a name is generated using the fullname template - name: "" - -podAnnotations: {} - -podSecurityContext: {} - # fsGroup: 2000 - -securityContext: {} - # capabilities: - # drop: - # - ALL - # readOnlyRootFilesystem: true - # runAsNonRoot: true - # runAsUser: 1000 - -## Persistence parameters -## ref: https://kubernetes.io/docs/concepts/storage/persistent-volumes/ -persistence: - ## @param persistence.enabled Enable persistence. - enabled: true - ## @param persistence.path The path of the hostPath. - path: /data - ## @param persistence.storage The size of the volume to allocate. - storage: 3000Gi - ## @param persistence.subPath The subdirectory of the volume to mount. - subPath: "0" - -service: - type: LoadBalancer - rtmp: 1935 - http: 80 - https: 443 - srt: 10080 - rtc: 8000 - -ingress: - enabled: false - className: "" - annotations: {} - # kubernetes.io/ingress.class: nginx - # kubernetes.io/tls-acme: "true" - hosts: - - host: chart-example.local - paths: - - path: / - pathType: ImplementationSpecific - 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 - -autoscaling: - enabled: false - minReplicas: 1 - maxReplicas: 100 - targetCPUUtilizationPercentage: 80 - # targetMemoryUtilizationPercentage: 80 - -nodeSelector: {} - -tolerations: [] - -affinity: {} diff --git a/stable/README.md b/stable/README.md deleted file mode 100644 index bd5ce37..0000000 --- a/stable/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# stable - -These are the stable charts for SRS. For additional details, please refer to the [Usage](../#usage) section. diff --git a/stable/index.yaml b/stable/index.yaml deleted file mode 100644 index 55e9617..0000000 --- a/stable/index.yaml +++ /dev/null @@ -1,417 +0,0 @@ -apiVersion: v1 -entries: - oryx: - - annotations: - category: Infrastructure - licenses: MIT - apiVersion: v2 - appVersion: 5.14.19 - created: "2024-05-21T19:53:17.939919+08:00" - description: Oryx(SRS Stack) is an all-in-one, one-click, and open-source video - solution for creating online services on cloud or self-hosting. Built with SRS, - FFmpeg, and WebRTC, it supports various protocols and offers features like authentication, - multi-platform streaming, recording, transcoding, virtual live events, automatic - HTTPS, and HTTP Open API. - digest: 649c9c355649590343d9ad46722325a6c1dba04ca4785ab0476b1880b0859532 - home: https://helm.ossrs.io/stable - icon: https://ossrs.io/lts/en-us/img/srs-220x234.png - keywords: - - srs - - media - - video - - rtmp - - hls - - webrtc - - srt - maintainers: - - email: winlinvip@gmail.com - name: Winlin - url: https://github.com/ossrs/srs-helm - name: oryx - sources: - - https://github.com/ossrs/srs-helm/tree/v1.0.7/oryx - type: application - urls: - - oryx-1.0.7.tgz - version: 1.0.7 - - annotations: - category: Infrastructure - licenses: MIT - apiVersion: v2 - appVersion: 5.11.14 - created: "2024-05-21T19:53:17.939575+08:00" - description: Oryx(SRS Stack) is an all-in-one, one-click, and open-source video - solution for creating online services on cloud or self-hosting. Built with SRS, - FFmpeg, and WebRTC, it supports various protocols and offers features like authentication, - multi-platform streaming, recording, transcoding, virtual live events, automatic - HTTPS, and HTTP Open API. - digest: 56cf9255cd214c7c2360179b5dc39780cfc164a65ff2dcccb420fab7004c6a68 - home: https://helm.ossrs.io/stable - icon: https://ossrs.io/lts/en-us/img/srs-220x234.png - keywords: - - srs - - media - - video - - rtmp - - hls - - webrtc - - srt - maintainers: - - email: winlinvip@gmail.com - name: Winlin - url: https://github.com/ossrs/srs-helm - name: oryx - sources: - - https://github.com/ossrs/srs-helm/tree/v1.0.6/oryx - type: application - urls: - - oryx-1.0.6.tgz - version: 1.0.6 - srs-server: - - annotations: - category: Infrastructure - licenses: MIT - apiVersion: v2 - appVersion: 5.0.166 - created: "2024-05-21T19:53:17.942101+08:00" - description: SRS is a simple, high-efficiency, real-time video server supporting - RTMP, WebRTC, HLS, HTTP-FLV, SRT, MPEG-DASH, and GB28181. - digest: 07dbb278f814a39b3362e2e626fc0a2204ea1458867fd9480fa6050e1b8d1fa6 - home: https://helm.ossrs.io/stable - icon: https://ossrs.io/lts/en-us/img/srs-220x234.png - keywords: - - srs - - media - - video - - rtmp - - hls - - webrtc - - srt - maintainers: - - email: winlinvip@gmail.com - name: Winlin - url: https://github.com/ossrs/srs-helm - name: srs-server - sources: - - https://github.com/ossrs/srs-helm/tree/v1.0.0/srs-server - type: application - urls: - - srs-server-1.0.5.tgz - version: 1.0.5 - - annotations: - category: Infrastructure - licenses: MIT - apiVersion: v2 - appVersion: 5.0.166 - created: "2024-05-21T19:53:17.941777+08:00" - description: SRS is a simple, high-efficiency, real-time video server supporting - RTMP, WebRTC, HLS, HTTP-FLV, SRT, MPEG-DASH, and GB28181. - digest: 2ac770b72abee9cf5b21e62e84574cb6c9a88151117849a8256c7836564a2201 - home: https://helm.ossrs.io/stable - icon: https://ossrs.io/lts/en-us/img/srs-220x234.png - keywords: - - srs - - media - - video - - rtmp - - hls - - webrtc - - srt - maintainers: - - email: winlinvip@gmail.com - name: Winlin - url: https://github.com/ossrs/srs-helm - name: srs-server - sources: - - https://github.com/ossrs/srs-helm/tree/v1.0.0/srs-server - type: application - urls: - - srs-server-1.0.4.tgz - version: 1.0.4 - - annotations: - category: Infrastructure - licenses: MIT - apiVersion: v2 - appVersion: 5.0.166 - created: "2024-05-21T19:53:17.941457+08:00" - description: SRS is a simple, high-efficiency, real-time video server supporting - RTMP, WebRTC, HLS, HTTP-FLV, SRT, MPEG-DASH, and GB28181. - digest: 7038959be27113ad9735d44a005894803d5a0b7c8dde107b09748e82811b57a8 - home: https://helm.ossrs.io/stable - icon: https://ossrs.io/lts/en-us/img/srs-220x234.png - keywords: - - srs - - media - - video - - rtmp - - hls - - webrtc - - srt - maintainers: - - email: winlinvip@gmail.com - name: Winlin - url: https://github.com/ossrs/srs-helm - name: srs-server - sources: - - https://github.com/ossrs/srs-helm/tree/v1.0.0/srs-server - type: application - urls: - - srs-server-1.0.3.tgz - version: 1.0.3 - - annotations: - category: Infrastructure - licenses: MIT - apiVersion: v2 - appVersion: 5.0.166 - created: "2024-05-21T19:53:17.941145+08:00" - description: SRS is a simple, high-efficiency, real-time video server supporting - RTMP, WebRTC, HLS, HTTP-FLV, SRT, MPEG-DASH, and GB28181. - digest: abb3f581543235edd805262b010f3d8d2759b844848dab0f8206082d6c4f161c - home: https://helm.ossrs.io/stable - icon: https://ossrs.io/lts/en-us/img/srs-220x234.png - keywords: - - srs - - media - - video - - rtmp - - hls - - webrtc - - srt - maintainers: - - email: winlinvip@gmail.com - name: Winlin - url: https://github.com/ossrs/srs-helm - name: srs-server - sources: - - https://github.com/ossrs/srs-helm/tree/v1.0.0/srs-server - type: application - urls: - - srs-server-1.0.2.tgz - version: 1.0.2 - - annotations: - category: Infrastructure - licenses: MIT - apiVersion: v2 - appVersion: 5.0.157 - created: "2024-05-21T19:53:17.940739+08:00" - description: SRS is a simple, high-efficiency, real-time video server supporting - RTMP, WebRTC, HLS, HTTP-FLV, SRT, MPEG-DASH, and GB28181. - digest: b944d81f7b850934282bcf7f7696b90d78ea40e0d0dabfcb7ccc0e698e8ab6e8 - home: https://helm.ossrs.io/stable - icon: https://ossrs.io/lts/en-us/img/srs-220x234.png - keywords: - - srs - - media - - video - - rtmp - - hls - - webrtc - - srt - maintainers: - - email: winlinvip@gmail.com - name: Winlin - url: https://github.com/ossrs/srs-helm - name: srs-server - sources: - - https://github.com/ossrs/srs-helm/tree/v1.0.0/srs-server - type: application - urls: - - srs-server-1.0.1.tgz - version: 1.0.1 - - annotations: - category: Infrastructure - licenses: MIT - apiVersion: v2 - appVersion: 5.0.157 - created: "2024-05-21T19:53:17.940378+08:00" - description: SRS is a simple, high-efficiency, real-time video server supporting - RTMP, WebRTC, HLS, HTTP-FLV, SRT, MPEG-DASH, and GB28181. - digest: 11be4afbdab3f1ab8fa0f96cacca6a39a2db1087b0e4b68abdf0fb1a08ccb615 - home: https://helm.ossrs.io/stable - icon: https://ossrs.io/lts/en-us/img/srs-220x234.png - keywords: - - srs - - media - - video - - rtmp - - hls - - webrtc - - srt - maintainers: - - email: winlinvip@gmail.com - name: Winlin - url: https://github.com/ossrs/srs-helm - name: srs-server - sources: - - https://github.com/ossrs/srs-helm/tree/v1.0.0/srs-server - type: application - urls: - - srs-server-1.0.0.tgz - version: 1.0.0 - srs-stack: - - annotations: - category: Infrastructure - licenses: MIT - apiVersion: v2 - appVersion: 5.11.14 - created: "2024-05-21T19:53:17.944092+08:00" - description: SRS Stack is an all-in-one, one-click, and open-source video solution - for creating online services on cloud or self-hosting. Built with SRS, FFmpeg, - and WebRTC, it supports various protocols and offers features like authentication, - multi-platform streaming, recording, transcoding, virtual live events, automatic - HTTPS, and HTTP Open API. - digest: ab8eec0fa1742f249d4be6f5b60d0ee9c61c3c4f8f0fec01f0f8588b95f90749 - home: https://helm.ossrs.io/stable - icon: https://ossrs.io/lts/en-us/img/srs-220x234.png - keywords: - - srs - - media - - video - - rtmp - - hls - - webrtc - - srt - maintainers: - - email: winlinvip@gmail.com - name: Winlin - url: https://github.com/ossrs/srs-helm - name: srs-stack - sources: - - https://github.com/ossrs/srs-helm/tree/v1.0.2/srs-stack - type: application - urls: - - srs-stack-1.0.5.tgz - version: 1.0.5 - - annotations: - category: Infrastructure - licenses: MIT - apiVersion: v2 - appVersion: 5.11.13 - created: "2024-05-21T19:53:17.943599+08:00" - description: SRS Stack is an all-in-one, one-click, and open-source video solution - for creating online services on cloud or self-hosting. Built with SRS, FFmpeg, - and WebRTC, it supports various protocols and offers features like authentication, - multi-platform streaming, recording, transcoding, virtual live events, automatic - HTTPS, and HTTP Open API. - digest: d6848e96e9895560a913d64ecb28a7a2b202d98134a18239b43c843cb3f23bb8 - home: https://helm.ossrs.io/stable - icon: https://ossrs.io/lts/en-us/img/srs-220x234.png - keywords: - - srs - - media - - video - - rtmp - - hls - - webrtc - - srt - maintainers: - - email: winlinvip@gmail.com - name: Winlin - url: https://github.com/ossrs/srs-helm - name: srs-stack - sources: - - https://github.com/ossrs/srs-helm/tree/v1.0.2/srs-stack - type: application - urls: - - srs-stack-1.0.4.tgz - version: 1.0.4 - - annotations: - category: Infrastructure - licenses: MIT - apiVersion: v2 - appVersion: 5.11.10 - created: "2024-05-21T19:53:17.943046+08:00" - description: SRS Stack is an all-in-one, one-click, and open-source video solution - for creating online services on cloud or self-hosting. Built with SRS, FFmpeg, - and WebRTC, it supports various protocols and offers features like authentication, - multi-platform streaming, recording, transcoding, virtual live events, automatic - HTTPS, and HTTP Open API. - digest: 08ff3b99c2acda94d5f628f473afab549cd130257e4b9e3acd7a99f7f8e51e6a - home: https://helm.ossrs.io/stable - icon: https://ossrs.io/lts/en-us/img/srs-220x234.png - keywords: - - srs - - media - - video - - rtmp - - hls - - webrtc - - srt - maintainers: - - email: winlinvip@gmail.com - name: Winlin - url: https://github.com/ossrs/srs-helm - name: srs-stack - sources: - - https://github.com/ossrs/srs-helm/tree/v1.0.2/srs-stack - type: application - urls: - - srs-stack-1.0.3.tgz - version: 1.0.3 - - annotations: - category: Infrastructure - licenses: MIT - apiVersion: v2 - appVersion: 5.11.10 - created: "2024-05-21T19:53:17.942727+08:00" - description: SRS Stack is a one-click, open-source video solution for creating - online services on cloud or self-hosting. Built with SRS, FFmpeg, and WebRTC, - it supports various protocols and offers features like authentication, multi-platform - streaming, recording, transcoding, virtual live events, automatic HTTPS, and - HTTP Open API. - digest: c1d6d8d7fb6ba5d2d6ae6ca3cd01710ad3949c45cdfc6766267f415229e1bbe2 - home: https://helm.ossrs.io/stable - icon: https://ossrs.io/lts/en-us/img/srs-220x234.png - keywords: - - srs - - media - - video - - rtmp - - hls - - webrtc - - srt - maintainers: - - email: winlinvip@gmail.com - name: Winlin - url: https://github.com/ossrs/srs-helm - name: srs-stack - sources: - - https://github.com/ossrs/srs-helm/tree/v1.0.2/srs-stack - type: application - urls: - - srs-stack-1.0.2.tgz - version: 1.0.2 - - annotations: - category: Infrastructure - licenses: MIT - apiVersion: v2 - appVersion: 5.11.5 - created: "2024-05-21T19:53:17.94241+08:00" - description: SRS Stack is a one-click, open-source video solution for creating - online services on cloud or self-hosting. Built with SRS, FFmpeg, and WebRTC, - it supports various protocols and offers features like authentication, multi-platform - streaming, recording, transcoding, virtual live events, automatic HTTPS, and - HTTP Open API. - digest: c218a70fd4f23c83b7e9df05fe67610ef454c6b19968af86e9b5197d964d9811 - home: https://helm.ossrs.io/stable - icon: https://ossrs.io/lts/en-us/img/srs-220x234.png - keywords: - - srs - - media - - video - - rtmp - - hls - - webrtc - - srt - maintainers: - - email: winlinvip@gmail.com - name: Winlin - url: https://github.com/ossrs/srs-helm - name: srs-stack - sources: - - https://github.com/ossrs/srs-helm/tree/v1.0.1/srs-stack - type: application - urls: - - srs-stack-1.0.1.tgz - version: 1.0.1 -generated: "2024-05-21T19:53:17.938284+08:00" diff --git a/stable/oryx-1.0.6.tgz b/stable/oryx-1.0.6.tgz deleted file mode 100644 index 53bf49424726635828ee2fd45e223f09c5521e56..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5674 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 R{{a91|Nny7!({++001n(IRXFx diff --git a/stable/srs-server-1.0.0.tgz b/stable/srs-server-1.0.0.tgz deleted file mode 100644 index 891a0a3b7d3539afbcc082d254d17cf4344f8730..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4256 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 diff --git a/stable/srs-server-1.0.3.tgz b/stable/srs-server-1.0.3.tgz deleted file mode 100644 index 80353df60936b1dbd5ed6a91e13e1477f530c597..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4702 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 diff --git a/stable/srs-server-1.0.4.tgz b/stable/srs-server-1.0.4.tgz deleted file mode 100644 index b49500ec1be1634edb09b33a0f48124db958aebc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5036 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 CGWSaW diff --git a/stable/srs-server-1.0.5.tgz b/stable/srs-server-1.0.5.tgz deleted file mode 100644 index 87c32d1eb982f567f2b8479b588b0cd5c70abb4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5088 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 vFBlll=OMC=Yp&!koIHH+&wi diff --git a/stable/srs-stack-1.0.2.tgz b/stable/srs-stack-1.0.2.tgz deleted file mode 100644 index 5d6309d5b58ce1efd2fdb00cbc3d3e4854e51efc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5189 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 diff --git a/stable/srs-stack-1.0.3.tgz b/stable/srs-stack-1.0.3.tgz deleted file mode 100644 index dce30dd9a8a8b7466b3c95e7d96e02b228a7caad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5608 zcmVDc zVQyr3R8em|NM&qo0PKBzQyV$*@cuoYqMw1QygYbp^OEFTm8XsalA|^O7beMbwY5db zGi_UoMw*i}1~1F+v;Rucym@AfNy3raEA$5p8mYV0Ep@kAtwBlEQJRF8-GdpCI#`gH z{q(@4*X#9O?e5y&yGyVjg5E;MfTn4KKHV@CZbL zyrV=aLxeevP=FFFHDEk|iI5OVB%1Om2+k-+P$=g#LY1Tr3*Nnp6P#Ln9>5nIpPe6U0o9<=BoR_8m=j4wsvwaA-Xq!w>DwrTK zTv5R2B?3wH47sME<>MB_Dbuu*Frp_y#vXvu5=l(?bPFVgLPqvcOTtws+#ho)bxIg8 zI!C}ca;>%uU=b5dL-@z}`EcaeV;((#(*!x}503+HCSn}GOzT7qy4@MFI1oxn6;RPt znv5BGG&C~En-p)ER$b(sRCQ@Q?HX0Ez1_Rs-q{TjKJ_kfaV2D=23`l0R9**Sj41Is zPAXmpq>dA>12bk`Ug22k(6-fHOeoica+J0^#)Pr~Tu~#iIZggHH5EZ940kv&^nbDM zJb+ZPlGG{Hvvh14I;t&^W{95aRj4n|O&E)9ZRf6*h~0TV=mp!|5`Wcc6(3y|1ru29EfBg>2#*SE|M)c z=3(G%z-V~*|2rR?((fEcM!`)eN~iw4jScvl!qBV|c+bR`Fi40bF=~{`yv-^PMR7`Y zou(2a&;nBB`cEAxc7l5w8_UEWh&UE}nKaL{D2+jsm`YipK_N>^4yh<7Tx?wE;jH^MnGk#x08`DNGO?M_l=v@f4{=7$;Q=xlWH;q?8* z`Tohz1Mow^m0;-S)V7jfc&tzZ<(AE%$W;CVk%oLefM0&~05&?Ak*HE>>cI(h0RDtl zsCD+-Ff*bN(YOUyGaAl}>#-22v^BtXItmBPsI-wuvZ z1mkA6$%%&ORTVT^#J693CI;pC9EAxVHggp=Y-7%}wyxDS1QD?X7hu%1Y$(+uOh^ z$h0%tt%PC9*a$<3T3L}8X`E(s*k(p*jY=lE^N4Gte4551{Ji!p*JiZ)S?28N{Tm zSEfM%+xB>3MPX*UVVWbx2uRBmw}3c6RKXNEN<%WF%IGHpIA;!MjEz@_h0|l0l!$1* zMxCh}VVFv)7YBlCyw(NP6ZKw-G#S8luh%myZf_Qngp4Vpnxb-y2Z*Fd^5+ihfB0aZ zC6efrv&ESZ`WE zj!|;dXxENiF`?igCR%ls7LrV{o8+K$XD(P8qw0D|3Eqxl1O8^QK;=b%+$g6Aj_mKH zR~|t2wj4(*jD+Z!ogelgn;&K~F(i6sz?k|0bR(k4N+8)tEF49DFXovWj-9fM3A5u0 z>>k0k9>7ko*LzP_LrurSoH~_`BPua8=BWuiHnZ4*c3lSG_sT_S80Z|{4}wI0CyekA zrLlNAP6p8b>&~7BR$>Eq)5{*!0CsnG3`nW1*zFssL(|600m`RFjSi}u&R1;6h*Br{ zyl-2RW?C)JjSOC3`woClDZg%QsF~`J(84y7HSmqREG1^Pn?D8+&WO|yut)Iw*Jn#oQUtFqLcpV@WJ;CK@F?D_Q+4$biPQlu?+ZcJ9a7-!aD4J?wA4`AD-N z{wqaw-yWXX=Btn}%BQUhC#L+&Ig!dZkN`2cu2l4T))SRe)Ca>)pEPCkcRMkMC_^(z zjaIP>bt7x`(c)j-(&Hk+5i+Y;oJG=tq0ATSFTZ*onM^3BdSPGx=v~ZH`PS0d|Eq9@ zF$sQCf-zqG_f_xp)BgW4%8du$Z#tp-1MscE?{G1P++r#uZ9%b z_)EFQDaw+;#=4u9{i3Ee+Alq1&#ia+qi63^`QB3M z|9o?*x+kaSN25Sr>j%QIM*r{Z^mdy1|0(|aD5W33dvuO;<=_K8oqd4u!uaz%i()7Q z<8>1rseyNM(*ZhxJaUxp((jgM&yP`0*P@2u9?qMI9o zXtUl|Gt)-h+<@8i+};kl-J2VS%EE=)+nXB)ti<4&di6)9(BR0zmkRt75#dls?H43x zd*;9>SO*WUt%f`~Jv_P?o}Qh*-F$9#Frj8JMGc(}Co!sogb0R^Gql0(;H0R%y@ied zV`mMKZ~dFV>~sQq`1nij*MMh4-1_DDreTJSd?WZusvr+6`4GVE?TZ>&$HN*?2Bi8X z(x}GRQl&J}sS2`aDcZX1k6Ygo5Y7Z-PQ+$L#$dBx(+ZAPLlAdy9RQ4S8o;rJm@Gh( zO9TQFyfT}lRHG{PtW}V3JTzO$F#?$r%FHAUD%KbNDN-Bvy&^hvp;9+a5R>XEc=pv2 zR`U=#S8L?(dRxb2IJ9yp#i&U{G_kNVHoAcwoSvNTAD@J`hz#UH@*C*%^s~(jEM0R zbIR{Uv7w?f5%P-2s6xKMG1y#YN>z#fXcPLUE^Yqb#SB@3QUyABkW_%R{$Ibo|KHnv zz4zq*Jw~~?>Av)it`i#;t{sTkU2WjK>}KjZ!U^R|3b9kZvD@LmB@tTPm+SB9u^{{b zTBbaNS3CBR#-nsHq1WJd{F-a#S;`LFK^rMB7<;yWf2D-c3B}0h8%uNGeL)A?w$}!O zp%uZ{^HhLbpAiE(xqqdc)rLoQ#TXC}MN31!&R=&RvuZ;oDo;NMsgSYn= zW=Uhg0SBaR1Rb4Am0w9*A}QAs@c*JZe^Gu7mP2~~sn!0tG~p_eG%F*^12a-gt4RU2 z6(eJ0Do{n5MR(24x}t8+Tv#=fYEH(< zDs8jeEXWcbYU=*^s;$P0Rd9H9WR>-uL-ezUhWp{%eSh7B5~>NFoOq~HgyRV zR<%@Hv%*mP0i5y(xrSZS&p23vELulh%2lohDu?9NI3wgo6w0a4tabH-q!9oF$o09S zFD5#ieW(!JLUPl_m88FNK=TEZ0j=;XhiFqFauS#GzKZx3)NW*yy|wr!iP;k7H)Xe_ z@tMMw2K1FfDgfsaF(u2xs%FWQS@_Aklcg|KQ)Y@JuFtmb0V6aXR6}nNnyQm37+bT7 zYxQ)*a=eX1#qVKW(@Hkye48Z=svwp#^IFL%=Rz&tubs{^YSR=#={e=@L&;<(xsQfU zwaosGOB2iT!)!vEztjNM$+(zXrSs61ueL;w`W~h`dZ+b~-bFU;Lmu z7D6j6N#g%nU5-LFKGv}2>GWnd=-1GgegBoD+5W>JFgs!M6g1XZcKCORi!Io6+31xsK+~tbqAQBb zbZaj7j5zb&0bHRPS{1`xBS1c1HGoQT{2lZb+mclT2j5HZc;PZ32?MGzZjxJ3zvV@P z6%?qoWV+E=I@iPmT^R z4vx;wkKY|1tfbj@#}6$OL_7=qF(EF~q#fbO{>P(>52vR;e;VE!{=4i7kGJd# z%9SB8vKO{oo@`FIf<)4JmZ-j#?oXqm3oEh1qw}MK^NW+C^Dn1oKVKZLz$Wf`G6k}Xgug288$C@JnE$QKq8Q6x=lSm@^ zZ-idle66-^adpZZ@OCGs;cHj3fXik}xxwG#V>j^SDaDn&P@ZJ`pm-{|%w?-;g7ddw z`_WtZZz^r^pIJg4^cwKG{NGpoUNiseDgN^)rRF-Uh_Wn2iOMG3`Sut!$sQBsEZ%c_)!_^$4oX{~%hWf5T>$r{a_M45#Z9VmvC<~%RK2{hs#Dn} z>x5d;u*#5jncaO2Bv)IV?B>^5W)Zw)Q&Q?b$A>UUiyDVue~yw&v4UjfQ0_-jO=+(k z;T<Hj>*@}X?N8vVc9+kRco|JdvIpY;D@lr@>W`N`m> z(S0Xbg1}0pShQC2a46(b)^DE1XEWR?2aaZ+QO91~6ouzpXn3wLo})YvaY7`5|Nq|h zgZ`UN&xhcka?LsTIUQqu0pmT@+2e~Bde(c!T?st?k`8ynqwu6ZlsoR!~^PCl%irvOJRqZrv%}V*cMdFZWU=PZh z+STxL184JKZG}2<>H66P>4FK%5w=F#{MvSHKbG~X+#YbHV`*&*OtqZul=retr}FPs ze`M(onKE2Eh9%B)mi()q^1GG~B%?Z8>);zkje?R;h^PVuLV^S^%ELW0bCc zZvNVjtg^J1R;o_!K||KmogA!3SLb(&tNowjjy{z~E^YpQG7ld${?l*x|GTfYpYp#S zrDRI>dD{tmwh4Gqj{p@ZLc>~mM~lamr46_QgqpwQ_UG>VCPnDRu5Cb8i>avo0 z5R!z1MOe7_a?Ywmg6umy&KtAe_4+6xEIti$h9vqTsm4=oqXhYPe%$-yt{jD`y>+8G z%)iHTDqXUs=XE+A?|%HV=`pLB=n`YTic|L(ZtVb}`t6dhy=M$0)6ODa)6C{J^~~wh${Xe^zpsT5^|?+$pXDFl{P_eKuIz$ZKjQ z2({!ftwfREY;B^bLREJXON^@IJ~gwGnz>GQ$RcdV zP)UQTBUsMZ{iUfgs1XUp2~k^`QHEl0RR6D>My4NZ~y>Q CJrTnI diff --git a/stable/srs-stack-1.0.4.tgz b/stable/srs-stack-1.0.4.tgz deleted file mode 100644 index ed5ad2574efc832101d0141062f3caa65b2f10b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5607 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 C=lTEu