Giter Club home page Giter Club logo

helm-charts's Introduction

helm-charts

This guide will show you how to install all essential components of webtor backend api to local k8s cluster.

Minimum system requirements

vCPU: 4 RAM: 4GB

Short way at Ubuntu

curl https://raw.githubusercontent.com/webtor-io/helm-charts/master/scripts/get-webtor.sh | sh

This will install single-node microk8s cluster and setup webtor on it (api + web-ui).

This was tested on Ubuntu 20.04.

Ports

  • 30080 - Web UI
  • 30180 - API
  • 30151 - GRPC

Swagger

http://{YOUR_SERVER_IP}:30180/rest/swagger/index.html

Update

To update webtor components to the latest stable versions just use the following script:

curl https://raw.githubusercontent.com/webtor-io/helm-charts/master/scripts/update-webtor.sh | sh

Long way [DEPRECATED]

Let's start:

  1. Install Minikube and check it:

    % kubectl get no
    NAME       STATUS   ROLES    AGE   VERSION
    minikube   Ready    master   23h   v1.17.0
    

    (Tested with VirtualBox (Windows/Linux) and HyperKit (Mac) drivers)

  2. Install Helm and init it and check it:

    % helm version
    Client: &version.Version{SemVer:"v2.15.1", GitCommit:"cf1de4f8ba70eded310918a8af3a96bfe8e7683b", GitTreeState:"clean"}
    Server: &version.Version{SemVer:"v2.15.1", GitCommit:"cf1de4f8ba70eded310918a8af3a96bfe8e7683b", GitTreeState:"clean"}
    
  3. Install Helmfile and check it:

    % helmfile -v
    helmfile version v0.90.2
    
  4. Install helm-diff

  5. Add Webtor charts repository with:

    helm repo add webtor https://charts.webtor.io
    
    
  6. Clone this repository:

    git clone https://github.com/webtor-io/helm-charts.git
    
  7. Run Helmfile there:

    helmfile apply
    
    
  8. Check installation, all pods should be started at webtor namespace

    % kubectl get po -n webtor
    NAME                             READY   STATUS    RESTARTS   AGE
    content-prober-ddcfcf847-cmbt9   1/1     Running   0          37s
    magnet2torrent-5df84c855-2c8t6   1/1     Running   0          34s
    redis-master-0                   1/1     Running   0          35s
    torrent-http-proxy-mwktl         1/1     Running   0          37s
    torrent-store-65c6bd4659-jjfqf   1/1     Running   0          34s
    ...
    
  9. Get api url at last!

    % minikube service torrent-http-proxy --url -n webtor
    http://192.168.64.3:30749
    

    and check it:

    % curl -I http://192.168.64.3:30749
    HTTP/1.1 200 OK
    Date: Thu, 19 Dec 2019 19:44:43 GMT
    

    it will return "Internal Server Error" for direct calls.

That's all!

For update do next three things:

git pull
helm repo update
helmfile apply

Adjusting components

Every component can be configured separately by providing your own configuration file. For example if you wish to reconfigure web-ui you have to do the following:

  1. Add web-ui.yaml file to the same folder where your helmfile.yaml located
  2. Adjust configuration in web-ui.yaml
  3. helmfile apply

Secure your API

Just put additional file called clients.yaml in the same directory where your helmfile.yaml located with the following content:

clients:
  - name: client1
    apiKey: client1-api-key
    secret: client1-secret

Don't forget to change values of name, apiKey and secret.

Also make sure that you have the latest version of helmfile.yaml.

And do helmfile apply to apply changes.

After this, all requests to the API will require auth-token. It is simple JWT-token. Also it is possible to pass additional params in token payload such as:

  1. rate - this will do rate limitting (could be '1M', '10M' and so on, bits per second)
  2. agent - User-Agent
  3. remoteAddress - remote IP-address
  4. sessionID - some generated session ID, it should be provided for more precise rate-limitting

If agent and remoteAddress are defined there will be additional check to prevent user from url-sharing.

helm-charts's People

Contributors

deorder avatar vintikzzz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

helm-charts's Issues

Error 500 in wrong situation

I'm getting the error 500 in the wrong place

Problem

When I try to go to my instance of the server at http://192.168.68.204:32477, I seem to be getting the HTTP 200 status where in the manual it explains that I should get HTTP 500, and strangely enough when the webtor player goes to http://<baseUrl>/show?<some_metadata_about_torrent>, I seem to apparently be getting HTTP 500 there, how could I fix this?

Edit: Just to be clear, I have checked the default https://webtor.io URL, and it appears to be working.

Screenshots

image
image
image
image
image
image

Redis download restricted with access denied on google storage.

Hello, @vintikzzz !
Just made update helm-charts of webtor and now can't deploy.


in ./helmfile.yaml: failed processing release redis: helm exited with status 1:
  Error: Failed to fetch https://kubernetes-charts.storage.googleapis.com/redis-9.5.0.tgz : 403 Forbidden
  Error: plugin "diff" exited with error

другой поддомон для API

Здравствуйте, подскажите как изменить поддомен на другой?

Снимок экрана 2023-04-13 220345

На скрине строчка подсвечена серым

Something gone bad

I don't know, why and when this happens - but now i am have:

torrent-http-proxy-khf85 0/1 CrashLoopBackOff 9 35m
Any solution?

Error in helmfile.yaml

Affter update:

helm version
version.BuildInfo{Version:"v3.1.2", GitCommit:"d878d4d45863e42fd5cff6743294a11d28a9abce", GitTreeState:"clean", GoVersion:"go1.13.8"}
./helmfile_linux_amd64 -v helmfile version v0.102.0
in ./helmfile.yaml: 9 errors:
err 0: failed processing release torrent-archiver: helm exited with status 1:
  Error: create: failed to create: namespaces "webtor" not found
err 1: failed processing release video-info: helm exited with status 1:
  Error: create: failed to create: namespaces "webtor" not found
err 2: failed processing release external-proxy: helm exited with status 1:
  Error: create: failed to create: namespaces "webtor" not found
err 3: failed processing release torrent-store: helm exited with status 1:
  Error: create: failed to create: namespaces "webtor" not found
err 4: failed processing release content-prober: helm exited with status 1:
  Error: create: failed to create: namespaces "webtor" not found
err 5: failed processing release magnet2torrent: helm exited with status 1:
  Error: create: failed to create: namespaces "webtor" not found
err 6: failed processing release torrent-http-proxy: helm exited with status 1:
  Error: create: failed to create: namespaces "webtor" not found
err 7: failed processing release srt2vtt: helm exited with status 1:
  Error: create: failed to create: namespaces "webtor" not found
err 8: failed processing release redis: helm exited with status 1:
  Error: create: failed to create: namespaces "webtor" not found

Dockerize

great job! it is possible to dockerize this backend? it would be much easy to get it run. TY! Great work

failed to download "stable/redis" - >> helmfile apply

$ sudo helmfile apply
Comparing release=redis, chart=stable/redis
Comparing release=torrent-store, chart=webtor/torrent-store
Comparing release=content-prober, chart=webtor/content-prober
Comparing release=external-proxy, chart=webtor/external-proxy
Comparing release=video-info, chart=webtor/video-info
Comparing release=torrent-archiver, chart=webtor/torrent-archiver
Comparing release=srt2vtt, chart=webtor/srt2vtt
Comparing release=torrent-http-proxy, chart=webtor/torrent-http-proxy
Comparing release=magnet2torrent, chart=webtor/magnet2torrent


    Release was not present in Helm.  Diff will show entire contents as new.

webtor, torrent-store, Deployment (apps) has been added:

  • Source: torrent-store/templates/deployment.yaml

  • apiVersion: apps/v1
  • kind: Deployment
  • metadata:
  • name: torrent-store
  • labels:
  • app.kubernetes.io/name: torrent-store
    
  • helm.sh/chart: torrent-store-0.1.0
    
  • app.kubernetes.io/instance: torrent-store
    
  • app.kubernetes.io/managed-by: Helm
    
  • spec:
  • replicas: 1
  • selector:
  • matchLabels:
    
  •   app.kubernetes.io/name: torrent-store
    
  •   app.kubernetes.io/instance: torrent-store
    
  • template:
  • metadata:
    
  •   labels:
    
  •     app.kubernetes.io/name: torrent-store
    
  •     app.kubernetes.io/instance: torrent-store
    
  • spec:
    
  •   containers:
    
  •     - name: torrent-store
    
  •       image: "webtor/torrent-store:latest"
    
  •       imagePullPolicy: IfNotPresent
    
  •       ports:
    
  •         - name: grpc
    
  •           containerPort: 50051
    
  •           protocol: TCP
    
  •       livenessProbe:
    
  •         tcpSocket:
    
  •           port: grpc
    
  •       readinessProbe:
    
  •         tcpSocket:
    
  •           port: grpc
    
  •       resources:
    
  •         {}
    

webtor, torrent-store, Service (v1) has been added:

  • Source: torrent-store/templates/service.yaml

  • apiVersion: v1
  • kind: Service
  • metadata:
  • name: torrent-store
  • labels:
  • app.kubernetes.io/name: torrent-store
    
  • helm.sh/chart: torrent-store-0.1.0
    
  • app.kubernetes.io/instance: torrent-store
    
  • app.kubernetes.io/managed-by: Helm
    
  • spec:
  • type: ClusterIP
  • ports:
  • - port: 50051
    
  •   targetPort: grpc
    
  •   protocol: TCP
    
  •   name: grpc
    
  • selector:
  • app.kubernetes.io/name: torrent-store
    
  • app.kubernetes.io/instance: torrent-store
    

    Release was not present in Helm.  Diff will show entire contents as new.

webtor, torrent-archiver, Deployment (apps) has been added:

  • Source: torrent-archiver/templates/deployment.yaml

  • apiVersion: apps/v1
  • kind: Deployment
  • metadata:
  • name: torrent-archiver
  • labels:
  • app.kubernetes.io/name: torrent-archiver
    
  • helm.sh/chart: torrent-archiver-0.1.0
    
  • app.kubernetes.io/instance: torrent-archiver
    
  • app.kubernetes.io/managed-by: Helm
    
  • spec:
  • replicas: 1
  • selector:
  • matchLabels:
    
  •   app.kubernetes.io/name: torrent-archiver
    
  •   app.kubernetes.io/instance: torrent-archiver
    
  • template:
  • metadata:
    
  •   labels:
    
  •     app.kubernetes.io/name: torrent-archiver
    
  •     app.kubernetes.io/instance: torrent-archiver
    
  • spec:
    
  •   containers:
    
  •     - name: torrent-archiver
    
  •       image: "webtor/torrent-archiver:latest"
    
  •       imagePullPolicy: IfNotPresent
    
  •       ports:
    
  •         - name: http
    
  •           containerPort: 8080
    
  •           protocol: TCP
    
  •         - name: httpprobe
    
  •           containerPort: 8081
    
  •           protocol: TCP
    
  •       livenessProbe:
    
  •         httpGet:
    
  •           path: /liveness
    
  •           port: httpprobe
    
  •       readinessProbe:
    
  •         httpGet:
    
  •           path: /readiness
    
  •           port: httpprobe
    
  •       resources:
    
  •         {}
    

webtor, torrent-archiver, Service (v1) has been added:

  • Source: torrent-archiver/templates/service.yaml

  • apiVersion: v1
  • kind: Service
  • metadata:
  • name: torrent-archiver
  • labels:
  • app.kubernetes.io/name: torrent-archiver
    
  • helm.sh/chart: torrent-archiver-0.1.0
    
  • app.kubernetes.io/instance: torrent-archiver
    
  • app.kubernetes.io/managed-by: Helm
    
  • spec:
  • type: ClusterIP
  • ports:
  • - port: 80
    
  •   targetPort: http
    
  •   protocol: TCP
    
  •   name: http
    
  • selector:
  • app.kubernetes.io/name: torrent-archiver
    
  • app.kubernetes.io/instance: torrent-archiver
    

    Release was not present in Helm.  Diff will show entire contents as new.

webtor, video-info, DaemonSet (apps) has been added:

  • Source: video-info/templates/daemonset.yaml

  • apiVersion: apps/v1
  • kind: DaemonSet
  • metadata:
  • name: video-info
  • labels:
  • app.kubernetes.io/name: video-info
    
  • helm.sh/chart: video-info-0.1.0
    
  • app.kubernetes.io/instance: video-info
    
  • app.kubernetes.io/managed-by: Helm
    
  • spec:
  • selector:
  • matchLabels:
    
  •   app.kubernetes.io/name: video-info
    
  •   app.kubernetes.io/instance: video-info
    
  • template:
  • metadata:
    
  •   labels:
    
  •     app.kubernetes.io/name: video-info
    
  •     app.kubernetes.io/instance: video-info
    
  • spec:
    
  •   containers:
    
  •     - name: video-info
    
  •       image: "webtor/video-info:latest"
    
  •       imagePullPolicy: IfNotPresent
    
  •       ports:
    
  •         - name: http
    
  •           containerPort: 8080
    
  •           protocol: TCP
    
  •         - name: httpprobe
    
  •           containerPort: 8081
    
  •           protocol: TCP
    
  •       livenessProbe:
    
  •         httpGet:
    
  •           path: /liveness
    
  •           port: httpprobe
    
  •       readinessProbe:
    
  •         httpGet:
    
  •           path: /readiness
    
  •           port: httpprobe
    
  •       resources:
    
  •         {}
    

webtor, video-info, Service (v1) has been added:

  • Source: video-info/templates/service.yaml

  • apiVersion: v1
  • kind: Service
  • metadata:
  • name: video-info
  • labels:
  • app.kubernetes.io/name: video-info
    
  • helm.sh/chart: video-info-0.1.0
    
  • app.kubernetes.io/instance: video-info
    
  • app.kubernetes.io/managed-by: Helm
    
  • spec:
  • type: ClusterIP
  • ports:
  • - port: 80
    
  •   targetPort: http
    
  •   protocol: TCP
    
  •   name: http
    
  • selector:
  • app.kubernetes.io/name: video-info
    
  • app.kubernetes.io/instance: video-info
    

    Release was not present in Helm.  Diff will show entire contents as new.

webtor, content-prober, Deployment (apps) has been added:

  • Source: content-prober/templates/deployment.yaml

  • apiVersion: apps/v1
  • kind: Deployment
  • metadata:
  • name: content-prober
  • labels:
  • app.kubernetes.io/name: content-prober
    
  • helm.sh/chart: content-prober-0.1.0
    
  • app.kubernetes.io/instance: content-prober
    
  • app.kubernetes.io/managed-by: Helm
    
  • spec:
  • replicas: 1
  • selector:
  • matchLabels:
    
  •   app.kubernetes.io/name: content-prober
    
  •   app.kubernetes.io/instance: content-prober
    
  • template:
  • metadata:
    
  •   labels:
    
  •     app.kubernetes.io/name: content-prober
    
  •     app.kubernetes.io/instance: content-prober
    
  • spec:
    
  •   containers:
    
  •     - name: content-prober
    
  •       image: "webtor/content-prober:latest"
    
  •       imagePullPolicy: IfNotPresent
    
  •       ports:
    
  •         - name: grpc
    
  •           containerPort: 50051
    
  •           protocol: TCP
    
  •       livenessProbe:
    
  •         tcpSocket:
    
  •           port: grpc
    
  •       readinessProbe:
    
  •         tcpSocket:
    
  •           port: grpc
    
  •       resources:
    
  •         {}
    

webtor, content-prober, Service (v1) has been added:

  • Source: content-prober/templates/service.yaml

  • apiVersion: v1
  • kind: Service
  • metadata:
  • name: content-prober
  • labels:
  • app.kubernetes.io/name: content-prober
    
  • helm.sh/chart: content-prober-0.1.0
    
  • app.kubernetes.io/instance: content-prober
    
  • app.kubernetes.io/managed-by: Helm
    
  • spec:
  • type: ClusterIP
  • ports:
  • - port: 50051
    
  •   targetPort: grpc
    
  •   protocol: TCP
    
  •   name: grpc
    
  • selector:
  • app.kubernetes.io/name: content-prober
    
  • app.kubernetes.io/instance: content-prober
    

    Release was not present in Helm.  Diff will show entire contents as new.

webtor, external-proxy, Deployment (apps) has been added:

  • Source: external-proxy/templates/deployment.yaml

  • apiVersion: apps/v1
  • kind: Deployment
  • metadata:
  • name: external-proxy
  • labels:
  • app.kubernetes.io/name: external-proxy
    
  • helm.sh/chart: external-proxy-0.1.0
    
  • app.kubernetes.io/instance: external-proxy
    
  • app.kubernetes.io/managed-by: Helm
    
  • spec:
  • replicas: 1
  • selector:
  • matchLabels:
    
  •   app.kubernetes.io/name: external-proxy
    
  •   app.kubernetes.io/instance: external-proxy
    
  • template:
  • metadata:
    
  •   labels:
    
  •     app.kubernetes.io/name: external-proxy
    
  •     app.kubernetes.io/instance: external-proxy
    
  • spec:
    
  •   containers:
    
  •     - name: external-proxy
    
  •       image: "webtor/external-proxy:latest"
    
  •       imagePullPolicy: IfNotPresent
    
  •       ports:
    
  •         - name: http
    
  •           containerPort: 8080
    
  •           protocol: TCP
    
  •         - name: httpprobe
    
  •           containerPort: 8081
    
  •           protocol: TCP
    
  •       livenessProbe:
    
  •         httpGet:
    
  •           path: /liveness
    
  •           port: httpprobe
    
  •       readinessProbe:
    
  •         httpGet:
    
  •           path: /readiness
    
  •           port: httpprobe
    
  •       resources:
    
  •         {}
    

webtor, external-proxy, Service (v1) has been added:

  • Source: external-proxy/templates/service.yaml

  • apiVersion: v1
  • kind: Service
  • metadata:
  • name: external-proxy
  • labels:
  • app.kubernetes.io/name: external-proxy
    
  • helm.sh/chart: external-proxy-0.1.0
    
  • app.kubernetes.io/instance: external-proxy
    
  • app.kubernetes.io/managed-by: Helm
    
  • spec:
  • type: ClusterIP
  • ports:
  • - port: 80
    
  •   targetPort: http
    
  •   protocol: TCP
    
  •   name: http
    
  • selector:
  • app.kubernetes.io/name: external-proxy
    
  • app.kubernetes.io/instance: external-proxy
    

    Release was not present in Helm.  Diff will show entire contents as new.

webtor, torrent-http-proxy, ClusterRole (rbac.authorization.k8s.io) has been added:

  • Source: torrent-http-proxy/templates/rbac.yaml

  • kind: ClusterRole
  • apiVersion: rbac.authorization.k8s.io/v1
  • metadata:
  • labels:
  • app: torrent-http-proxy
    
  • chart: torrent-http-proxy-0.1.0
    
  • heritage: Helm
    
  • release: torrent-http-proxy
    
  • name: torrent-http-proxy
  • rules:
    • apiGroups: [""]
  • resources: ["pods"]
  • verbs: ["list", "watch", "delete"]
    • apiGroups: [""]
  • resources: ["nodes"]
  • verbs: ["list"]
    • apiGroups: ["batch", "extensions"]
  • resources: ["jobs"]
  • verbs: ["list", "create", "watch", "delete"]
    webtor, torrent-http-proxy, ClusterRoleBinding (rbac.authorization.k8s.io) has been added:
  • Source: torrent-http-proxy/templates/rbac.yaml

  • apiVersion: rbac.authorization.k8s.io/v1beta1
  • kind: ClusterRoleBinding
  • metadata:
  • labels:
  • app: torrent-http-proxy
    
  • chart: torrent-http-proxy-0.1.0
    
  • heritage: Helm
    
  • release: torrent-http-proxy
    
  • name: torrent-http-proxy
  • roleRef:
  • apiGroup: rbac.authorization.k8s.io
  • kind: ClusterRole
  • name: torrent-http-proxy
  • subjects:
    • kind: ServiceAccount
  • name: default
    
  • namespace: webtor
    

webtor, torrent-http-proxy, ConfigMap (v1) has been added:

  • Source: torrent-http-proxy/templates/configmap.yaml

  • apiVersion: v1
  • kind: ConfigMap
  • metadata:
  • name: torrent-http-proxy
  • labels:
  • app.kubernetes.io/name: torrent-http-proxy
    
  • helm.sh/chart: torrent-http-proxy-0.1.0
    
  • app.kubernetes.io/instance: torrent-http-proxy
    
  • app.kubernetes.io/managed-by: Helm
    
  • data:
    webtor, torrent-http-proxy, DaemonSet (apps) has been added:
  • Source: torrent-http-proxy/templates/daemonset.yaml

  • apiVersion: apps/v1
  • kind: DaemonSet
  • metadata:
  • name: torrent-http-proxy
  • labels:
  • app.kubernetes.io/name: torrent-http-proxy
    
  • helm.sh/chart: torrent-http-proxy-0.1.0
    
  • app.kubernetes.io/instance: torrent-http-proxy
    
  • app.kubernetes.io/managed-by: Helm
    
  • spec:
  • selector:
  • matchLabels:
    
  •   app.kubernetes.io/name: torrent-http-proxy
    
  •   app.kubernetes.io/instance: torrent-http-proxy
    
  • template:
  • metadata:
    
  •   annotations:
    
  •     checksum/config: bf6f461c2e81cc0b09a1871aa046d19581ce5687772e0d3299259d8dd1653ad8
    
  •   labels:
    
  •     app.kubernetes.io/name: torrent-http-proxy
    
  •     app.kubernetes.io/instance: torrent-http-proxy
    
  • spec:
    
  •   volumes:
    
  •     - name: config-volume
    
  •       configMap:
    
  •         name: torrent-http-proxy
    
  •   containers:
    
  •     - name: torrent-http-proxy
    
  •       image: "webtor/torrent-http-proxy:latest"
    
  •       imagePullPolicy: IfNotPresent
    
  •       volumeMounts:
    
  •         - name: config-volume
    
  •           mountPath: /etc/config
    
  •       env:
    
  •         - name: JOB_NODE_AFFINITY_KEY
    
  •           value: ""
    
  •         - name: JOB_NODE_AFFINITY_VALUE
    
  •           value: ""
    
  •         - name: SEEDER_IMAGE
    
  •           value: "webtor/torrent-web-seeder:latest"
    
  •         - name: SEEDER_CPU_REQUESTS
    
  •           value: ""
    
  •         - name: SEEDER_CPU_LIMITS
    
  •           value: ""
    
  •         - name: TRANSCODER_IMAGE
    
  •           value: "webtor/content-transcoder:latest"
    
  •         - name: TRANSCODER_CPU_REQUESTS
    
  •           value: ""
    
  •         - name: TRANSCODER_CPU_LIMITS
    
  •           value: ""
    
  •         - name: WEB_ORIGIN_HOST_REDIRECT_FLAG
    
  •           value: ""
    
  •         - name: WEB_ORIGIN_HOST_REDIRECT_PREFIX_FLAG
    
  •           value: "abra--"
    
  •       ports:
    
  •         - name: http
    
  •           containerPort: 8080
    
  •           protocol: TCP
    
  •         - name: httpprobe
    
  •           containerPort: 8081
    
  •           protocol: TCP
    
  •         - name: grpc
    
  •           containerPort: 50051
    
  •           protocol: TCP
    
  •       livenessProbe:
    
  •         httpGet:
    
  •           path: /liveness
    
  •           port: httpprobe
    
  •       readinessProbe:
    
  •         httpGet:
    
  •           path: /readiness
    
  •           port: httpprobe
    
  •       resources:
    
  •         {}
    

webtor, torrent-http-proxy, Service (v1) has been added:

  • Source: torrent-http-proxy/templates/service.yaml

  • apiVersion: v1
  • kind: Service
  • metadata:
  • name: torrent-http-proxy
  • labels:
  • app.kubernetes.io/name: torrent-http-proxy
    
  • helm.sh/chart: torrent-http-proxy-0.1.0
    
  • app.kubernetes.io/instance: torrent-http-proxy
    
  • app.kubernetes.io/managed-by: Helm
    
  • spec:
  • type: NodePort
  • ports:
  • - port: 80
    
  •   targetPort: http
    
  •   protocol: TCP
    
  •   name: http
    
  • - port: 50051
    
  •   targetPort: grpc
    
  •   protocol: TCP
    
  •   name: grpc
    
  • selector:
  • app.kubernetes.io/name: torrent-http-proxy
    
  • app.kubernetes.io/instance: torrent-http-proxy
    

    Release was not present in Helm.  Diff will show entire contents as new.

webtor, magnet2torrent, Deployment (apps) has been added:

  • Source: magnet2torrent/templates/deployment.yaml

  • apiVersion: apps/v1
  • kind: Deployment
  • metadata:
  • name: magnet2torrent
  • labels:
  • app.kubernetes.io/name: magnet2torrent
    
  • helm.sh/chart: magnet2torrent-0.1.0
    
  • app.kubernetes.io/instance: magnet2torrent
    
  • app.kubernetes.io/managed-by: Helm
    
  • spec:
  • replicas: 1
  • selector:
  • matchLabels:
    
  •   app.kubernetes.io/name: magnet2torrent
    
  •   app.kubernetes.io/instance: magnet2torrent
    
  • template:
  • metadata:
    
  •   labels:
    
  •     app.kubernetes.io/name: magnet2torrent
    
  •     app.kubernetes.io/instance: magnet2torrent
    
  • spec:
    
  •   containers:
    
  •     - name: magnet2torrent
    
  •       image: "webtor/magnet2torrent:latest"
    
  •       imagePullPolicy: IfNotPresent
    
  •       ports:
    
  •         - name: grpc
    
  •           containerPort: 50051
    
  •           protocol: TCP
    
  •       livenessProbe:
    
  •         tcpSocket:
    
  •           port: grpc
    
  •       readinessProbe:
    
  •         tcpSocket:
    
  •           port: grpc
    
  •       resources:
    
  •         {}
    

webtor, magnet2torrent, Service (v1) has been added:

  • Source: magnet2torrent/templates/service.yaml

  • apiVersion: v1
  • kind: Service
  • metadata:
  • name: magnet2torrent
  • labels:
  • app.kubernetes.io/name: magnet2torrent
    
  • helm.sh/chart: magnet2torrent-0.1.0
    
  • app.kubernetes.io/instance: magnet2torrent
    
  • app.kubernetes.io/managed-by: Helm
    
  • spec:
  • type: ClusterIP
  • ports:
  • - port: 50051
    
  •   targetPort: grpc
    
  •   protocol: TCP
    
  •   name: grpc
    
  • selector:
  • app.kubernetes.io/name: magnet2torrent
    
  • app.kubernetes.io/instance: magnet2torrent
    

    Release was not present in Helm.  Diff will show entire contents as new.

webtor, srt2vtt, Deployment (apps) has been added:

  • Source: srt2vtt/templates/deployment.yaml

  • apiVersion: apps/v1
  • kind: Deployment
  • metadata:
  • name: srt2vtt
  • labels:
  • app.kubernetes.io/name: srt2vtt
    
  • helm.sh/chart: srt2vtt-0.1.0
    
  • app.kubernetes.io/instance: srt2vtt
    
  • app.kubernetes.io/version: "1.0"
    
  • app.kubernetes.io/managed-by: Helm
    
  • spec:
  • replicas: 1
  • selector:
  • matchLabels:
    
  •   app.kubernetes.io/name: srt2vtt
    
  •   app.kubernetes.io/instance: srt2vtt
    
  • template:
  • metadata:
    
  •   labels:
    
  •     app.kubernetes.io/name: srt2vtt
    
  •     app.kubernetes.io/instance: srt2vtt
    
  • spec:
    
  •   containers:
    
  •     - name: srt2vtt
    
  •       securityContext:
    
  •         null
    
  •       image: "webtor/srt2vtt:latest"
    
  •       imagePullPolicy: IfNotPresent
    
  •       ports:
    
  •         - name: http
    
  •           containerPort: 8080
    
  •           protocol: TCP
    
  •         - name: httpprobe
    
  •           containerPort: 8081
    
  •           protocol: TCP
    
  •       livenessProbe:
    
  •         httpGet:
    
  •           path: /liveness
    
  •           port: httpprobe
    
  •       readinessProbe:
    
  •         httpGet:
    
  •           path: /readiness
    
  •           port: httpprobe
    
  •       resources:
    
  •         {}
    

webtor, srt2vtt, Service (v1) has been added:

  • Source: srt2vtt/templates/service.yaml

  • apiVersion: v1
  • kind: Service
  • metadata:
  • name: srt2vtt
  • labels:
  • app.kubernetes.io/name: srt2vtt
    
  • helm.sh/chart: srt2vtt-0.1.0
    
  • app.kubernetes.io/instance: srt2vtt
    
  • app.kubernetes.io/version: "1.0"
    
  • app.kubernetes.io/managed-by: Helm
    
  • spec:
  • type: ClusterIP
  • ports:
  • - port: 80
    
  •   targetPort: http
    
  •   protocol: TCP
    
  •   name: http
    
  • selector:
  • app.kubernetes.io/name: srt2vtt
    
  • app.kubernetes.io/instance: srt2vtt
    

in ./helmfile.yaml: command "/usr/local/bin/helm" exited with non-zero status:

PATH:
/usr/local/bin/helm

ARGS:
0: helm (4 bytes)
1: diff (4 bytes)
2: upgrade (7 bytes)
3: --reset-values (14 bytes)
4: --allow-unreleased (18 bytes)
5: redis (5 bytes)
6: stable/redis (12 bytes)
7: --version (9 bytes)
8: 9.5.0 (5 bytes)
9: --namespace (11 bytes)
10: webtor (6 bytes)
11: --values (8 bytes)
12: /tmp/values127266497 (20 bytes)
13: --values (8 bytes)
14: /tmp/values276883756 (20 bytes)
15: --values (8 bytes)
16: /tmp/values266262171 (20 bytes)
17: --detailed-exitcode (19 bytes)

ERROR:
exit status 1

EXIT STATUS
1

STDERR:
Error: Failed to render chart: exit status 1: Error: failed to download "stable/redis" (hint: running helm repo update may help)
Error: plugin "diff" exited with error

COMBINED OUTPUT:


    Release was not present in Helm.  Diff will show entire contents as new.

Error: Failed to render chart: exit status 1: Error: failed to download "stable/redis" (hint: running helm repo update may help)
Error: plugin "diff" exited with error

[Question] Are there any alternative ways for setup (without docker/kubernetics and whatsoever)

First, thank you for the project and hard work spent on it, I'm still learning it and I really appreciate it!

My question in general is that if I have a couple of bare-metal servers for example and I'd like to setup them as a single-node without docker, kubernetes and other virtualization-based stuff, how should we proceed?

This is only for testing (non-production) purposes, so firewalls/security-related issues are out of the question.
/my setup is purely lan-based and I got them in my garrage/

CrashLoopBackOff in Pods

I did install Ubuntu 20.04 on Oracle Cloud Free Tier (Ampere A1 Compute instances (Arm processor) VM, had to change helmfile_linux_amd64 to helmfile_linux_arm64 in scripts/get-webtor.sh).

Now I'm getting CrashLoopBackOff for almost all pods. What could be the issue and How can I solve this?

image

image

image

image

port number

Where can I change the port number?
30080 - Web UI
30180 - API
30151-GRPC

Can't install chart torrent-http-proxy.

Hello. I'm installing helm charts, step by step from this tutorial, but it always fails at chart 'torrent-http-proxy'.

Error:
Error: plugin "diff" exited with error err 1: failed processing release torrent-http-proxy: helm exited with status 1: Error: Failed to render chart: exit status 1: Error: template: torrent-http-proxy/templates/ingress_grpc.yaml:1:14: executing "torrent-http-proxy/templates/ingress_grpc.yaml" at <.Values.ingressGRPC.enabled>: nil pointer evaluating interface {}.enabled

I've looked for help on Google, tried on 2 servers, even tried to use the same helm and helmfile version as in the tutorial, always get the same error..
I also tried to add 'ingressGRPC' properties in 'helm-charts/charts/torrent-http-proxy/values.yaml' file, but it seems like after i call "helmfile update" it always ignores these files and gets them remotely or from an another location.

helmfile -v
helmfile version v0.102.0
helm version
version.BuildInfo{Version:"v3.1.2", GitCommit:"d878d4d45863e42fd5cff6743294a11d28a9abce", GitTreeState:"clean", GoVersion:"go1.13.8"}
kubectl version
Client Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.4", GitCommit:"8d8aa39598534325ad77120c120a22b3a990b5ea", GitTreeState:"clean", BuildDate:"2020-03-12T21:03:42Z", GoVersion:"go1.13.8", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.3", GitCommit:"06ad960bfd03b39c8310aaf92d1e7c12ce618213", GitTreeState:"clean", BuildDate:"2020-02-11T18:07:13Z", GoVersion:"go1.13.6", Compiler:"gc", Platform:"linux/amd64"}

gif

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.