soketi / charts Goto Github PK
View Code? Open in Web Editor NEWThe source repository for Soketi Helm charts.
License: Apache License 2.0
The source repository for Soketi Helm charts.
License: Apache License 2.0
What is this package usage ?
Can i show metrics of websocket transactions in my website ? (ex: Transfered messages per hour, connections per hour, etc)
Also is there any documentation to better understanding this package ?
Hello,
Thank you for the effort of putting together a Helm chart, I was wondering if there's any example to expose the soketi service using Ingress controller?
What I've tried so far:
# https://kubernetes.io/docs/concepts/services-networking/ingress/#the-ingress-resource
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingress-nginx-ws
namespace: {{ .Values.application.namespace }}
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /$1
nginx.ingress.kubernetes.io/backend-protocol: "FCGI"
nginx.ingress.kubernetes.io/fastcgi-index: "index.php"
nginx.ingress.kubernetes.io/fastcgi-params-configmap: "ingress-conf"
nginx.ingress.kubernetes.io/websocket-services: php-soketi
nginx.org/websocket-services: php-soketi
nginx.ingress.kubernetes.io/proxy-read-timeout: "3600"
nginx.ingress.kubernetes.io/proxy-send-timeout: "3600"
spec:
ingressClassName: "nginx"
rules:
- http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: {{ .Values.service.name }}
port:
name: {{ .Values.service.port.name }}
- path: /ws
pathType: Prefix
backend:
service:
name: php-soketi
port:
number: 6001
but I recieve the following error using Laravel Echo:
(index):29 WebSocket connection to 'ws://192.168.58.2/ws:80/app/cuG014DSf9tjcjyvvuOHNfhBSZqqOBsp?protocol=7&client=js&version=8.4.0-rc2&flash=false' failed: WebSocket is closed before the connection is established.
Sorry for probably missing something really obvious - but how do you do the setup the values?
I can see the avilable variables here: https://docs.soketi.app/app-management/array-driver
But when installing with helm, how do I pass SOKETI_DEFAULT_APP_ID, SOKETI_DEFAULT_APP_KEY, SOKETI_DEFAULT_APP_SECRET? Thanks
TIA
Hello all,
I'm experiencing a strange behavior with this helm chart. For the truth this is the first time that something goes wrong with it, because in the past i've already used it without problems.
node:internal/validators:217 │ │ throw new ERR_SOCKET_BAD_PORT(name, port, allowZero); │ │ ^ │ │ │ │ RangeError [ERR_SOCKET_BAD_PORT]: Port should be > 0 and < 65536. Received udp://10.43.244.58:11002. │ │ at new NodeError (node:internal/errors:371:5) │ │ at validatePort (node:internal/validators:217:11) │ │ at Socket.send (node:dgram:637:12) │ │ at /app/node_modules/node-discover/lib/network.js:188:25 │ │ at Array.forEach (<anonymous>) │ │ at /app/node_modules/node-discover/lib/network.js:187:26 │ │ at Network.encode (/app/node_modules/node-discover/lib/network.js:221:12) │ │ at Network.send (/app/node_modules/node-discover/lib/network.js:180:10) │ │ at Discover.hello (/app/node_modules/node-discover/lib/discover.js:361:17) │ │ at /app/node_modules/node-discover/lib/discover.js:286:10 { │ │ code: 'ERR_SOCKET_BAD_PORT'
It seems that even with a values.yaml ( and without ) something get wrong with PORT.
Is this a bug? Or am I missing something?
Note : I'm using this in develop env through a k3d env, traefik based
thanks!
Hey
This is to add topologySpreadConstraints support for helm chart
https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/
Getting an error when deploying this chart to gke:
2022-02-15 14:21:35.906 CSTnode:internal/validators:216
Error
2022-02-15 14:21:35.906 CST throw new ERR_SOCKET_BAD_PORT(name, port, allowZero);
Error
2022-02-15 14:21:35.906 CST ^
Error
2022-02-15 14:21:35.906 CST{}
Error
2022-02-15 14:21:35.906 CSTRangeError [ERR_SOCKET_BAD_PORT]: Port should be > 0 and < 65536. Received udp://10.124.4.184:11002.
Error
2022-02-15 14:21:35.907 CST at new NodeError (node:internal/errors:371:5)
Error
2022-02-15 14:21:35.907 CST at validatePort (node:internal/validators:216:11)
Error
2022-02-15 14:21:35.907 CST at Socket.send (node:dgram:637:12)
Error
2022-02-15 14:21:35.907 CST at /app/node_modules/node-discover/lib/network.js:188:25
Error
2022-02-15 14:21:35.907 CST at Array.forEach (<anonymous>)
Error
2022-02-15 14:21:35.907 CST at /app/node_modules/node-discover/lib/network.js:187:26
Error
2022-02-15 14:21:35.907 CST at Network.encode (/app/node_modules/node-discover/lib/network.js:221:12)
Error
2022-02-15 14:21:35.907 CST at Network.send (/app/node_modules/node-discover/lib/network.js:180:10)
Error
2022-02-15 14:21:35.907 CST at Discover.hello (/app/node_modules/node-discover/lib/discover.js:361:17)
Error
2022-02-15 14:21:35.907 CST at /app/node_modules/node-discover/lib/discover.js:286:10 {
Error
2022-02-15 14:21:35.907 CST code: 'ERR_SOCKET_BAD_PORT'
thank you!
EKS Cluster Version: 1.22
EKS Node Version: v1.22.17-eks-49d8fe8
Helm Version: version.BuildInfo{Version:"v3.11.2", GitCommit:"912ebc1cd10d38d340f048efaf0abda047c3468e", GitTreeState:"dirty", GoVersion:"go1.20.2"}
Steps to reproduce:
But currently I have broken POD with the message below
node:internal/validators:226
throw new ERR_SOCKET_BAD_PORT(name, port, allowZero);
^
RangeError [ERR_SOCKET_BAD_PORT]: Port should be > 0 and < 65536. Received udp://172.20.63.90:11002.
at new NodeError (node:internal/errors:387:5)
at validatePort (node:internal/validators:226:11)
at Socket.send (node:dgram:620:12)
at /app/node_modules/node-discover/lib/network.js:188:25
at Array.forEach (<anonymous>)
at /app/node_modules/node-discover/lib/network.js:187:26
at Network.encode (/app/node_modules/node-discover/lib/network.js:221:12)
at Network.send (/app/node_modules/node-discover/lib/network.js:180:10)
at Discover.hello (/app/node_modules/node-discover/lib/discover.js:361:17)
at /app/node_modules/node-discover/lib/discover.js:286:10 {
code: 'ERR_SOCKET_BAD_PORT'
}
Current POD status is
Restarting failing container
Hello,
When we launch the Socketi with Network watcher enabled, we get the below error:
Starting the watcher...
Namespace: dev
Pod name: soketi-soketii-5f845d945b-zj5mn
Server port: 6001
Memory threshold: 85%
Monitoring interval: 1s
In ChecksCurrentPod.php line 97:
App\Commands\WatchNetworkCommand::getUsage(): Return value must be of type
array, null returned
After investigation, the following file / Line https://github.com/soketi/charts/blob/master/charts/soketi/templates/deployment.yaml#L76 is wrong and should not read the SERVER_PORT from .Values.service.port
but instead should be the metrics server port 9601.
My suggestion is to add in values the following .Values.metrics.port
and use it across the board where needed and in SERVER_PORT env of the network watcher.
I hope this helps everyone else as well!
Checked the https://helm.soketi.app/index.yaml to look for the 0.3.0 version and is not there.
Can you push it up?
Have the server running pretty good on local trying to have it running on my k8s :)
Thanks,
Francisco
The helm chart do not seems to handle horizontal scaling.
Following the https://docs.soketi.app/advanced-usage/horizontal-scaling/clustering documentation, I used the following env vars.
env:
- name: PORT
value: "6001"
- name: MODE
value: full
- name: CLUSTER_PORT
value: "11002"
- name: SOKETI_DEBUG
value: "1"
- name: ADAPTER_DRIVER
value: cluster
I ended with 3 nodes that were elected master with the following logs:
soketi-66bfb59674-wmnxg soketi [Fri Mar 04 2022 22:44:16 GMT+0000 (Coordinated Universal Time)] Promoted from node to master.
soketi-66bfb59674-wmnxg soketi {
soketi-66bfb59674-wmnxg soketi isMaster: true,
soketi-66bfb59674-wmnxg soketi isMasterEligible: true,
soketi-66bfb59674-wmnxg soketi weight: -0.1646433855526,
soketi-66bfb59674-wmnxg soketi address: '127.0.0.1',
soketi-66bfb59674-wmnxg soketi advertisement: undefined
soketi-66bfb59674-wmnxg soketi }
Is it normal or a configuration issue on my side or a known issue? Message are not always broadcaster to client, depending on which node is connected the client.
See here: https://docs.bitnami.com/kubernetes/apps/aspnet-core/administration/deploy-extra-resources/
I want to add a custom config file, but with the existing helm chart it's not possible to pass a custom config map.. Could you add a extraDeploy key?
Thank you! ❤️
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.