Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Vlad Alexandru Ionescu
    @vlad-alexandru-ionescu
    are you using cygwin?
    Kyuhun Lee
    @thinkong
    I tried it with cygwin, gitbash, normal cmd.exe, conemu
    The problem was that docker can't mount "windows style path" it is stated in the docs..
    and make provides just those i guess
    I mentioned protoc and go because.. i looked at the make file and i assumed that if i had protoc and go it wouldn't use the docker images to compile :)
    Vlad Alexandru Ionescu
    @vlad-alexandru-ionescu
    yeah, you can use make run if you want to use go and protoc
    Vlad Alexandru Ionescu
    @vlad-alexandru-ionescu
    There are 2 places where absolute path is used: one is in the Makefile, line 190 and one in runasdocker.sh line 8. You need to find a way to replace $PWD with something that works for docker on windows. I'd be very interested in a PR for that.
    Danilo Tuler
    @tuler
    Hi, I've downloaded and run lever, with success. Already read the docs. Great work so far! One think I could not understand is the use case for resources. Can you elaborate on "resources allow you to shard data across the instances of a service". Can you give examples?
    Vlad Alexandru Ionescu
    @vlad-alexandru-ionescu
    @tuler An example could be sharding by a user session ID. That way each user session will be guaranteed to be handled by the same instance each time, so you can store some session data in memory if you need to. Does that make sense?
    Danilo Tuler
    @tuler
    @vlad-alexandru-ionescu still doesn't make much sense to me. Your example is not a scalable solution for session management. Well, maybe I see its usability down the road, thanks.
    Paul Nathan
    @pnathan
    can leveros run docker containers?
    Vlad Alexandru Ionescu
    @vlad-alexandru-ionescu
    no, not yet
    The packaging right now is based on .tar.gz'ipping the directory and uploading. We're looking at potentially swapping this mechanism with docker images
    Paul Nathan
    @pnathan
    imo - docker containers are often heavyweight, but they are more general.. being able to do both mechanisms would be ideal., but it might be more code complexity that you don't want to take on right now. :-) best of luck
    Vlad Alexandru Ionescu
    @vlad-alexandru-ionescu
    True, I was thinking about both mechanisms too. Especially because some users don't know docker and might be put off if they had to learn it.
    Vlad Alexandru Ionescu
    @vlad-alexandru-ionescu
    @tuler Just saw that you started some work on Java support. Exciting! :-) Let me know if you need any help!
    Danilo Tuler
    @tuler
    @vlad-alexandru-ionescu I started it just to understand leveros more deeply, but I'm afraid I won't finish it. We're also developing a "serverless" platform, but our approach is very different.
    Vlad Alexandru Ionescu
    @vlad-alexandru-ionescu
    Oh ok. Is there a particular use case you couldn't achieve with Lever?
    Just curious to understand how people use serverless
    Danilo Tuler
    @tuler
    functionally it's very similar. our use case is pretty standard, easy deployment, effortless ops, scalability, integrated with an API gateway
    Vlad Alexandru Ionescu
    @vlad-alexandru-ionescu
    cool :)
    Zach Bjornson
    @zbjornson
    Hey Vlad, I have an architecture question around resources for you when you have time to discuss for a few mins :)
    Vlad Alexandru Ionescu
    @vlad-alexandru-ionescu
    Hi Zach, yes, I'm here
    Zach Bjornson
    @zbjornson
    Hey. From reading the source, it looks like you're attaching a sort of heartbeat/keepalive to each resource for a default of 3 minutes, and using that to handle cases when the node goes down before the TTL expires?
    Vlad Alexandru Ionescu
    @vlad-alexandru-ionescu
    yes
    actually, if the node/instance goes down there's a different mechanism
    Zach Bjornson
    @zbjornson
    Did you consider or have thoughts about sort of doing the reverse: putting two values in the consul KV, one as you already have (resource -> instance mapping), and then a new one that does the reverse (instance -> resource) with a nested key (<instance-name>/<resource identifier>), then when the instance is going down (or someone gossiping that it is no longer alive), you query the KV with <instance-name>/?recurse=true and delete all matching keys?
    Ah, then what is the keepalive for?
    Vlad Alexandru Ionescu
    @vlad-alexandru-ionescu
    So if the instance goes down, then this is called: https://github.com/leveros/leveros/blob/master/hostman/leverinstance.go#L214 which removes the resources gracefully
    if the node goes down altogether (and the logic can no longer run), then Consul detects that and removes everything associated with that node
    which includes instances and resources
    Zach Bjornson
    @zbjornson
    Ah, detects it by a failing keepalive?
    Vlad Alexandru Ionescu
    @vlad-alexandru-ionescu
    yes
    Zach Bjornson
    @zbjornson
    OK. Then I think my question above still holds -- seems like it would work and get rid of the overhead of the keepalives.
    Vlad Alexandru Ionescu
    @vlad-alexandru-ionescu
    hmm.. possibly, I'll need to check with the code that does the routing
    Zach Bjornson
    @zbjornson
    Do you know how many resources have you gotten up to in testing/use? Curious how far the keepalives scale. Maybe they're not as expensive as I'd imagine
    Vlad Alexandru Ionescu
    @vlad-alexandru-ionescu
    No, I didn't test
    I'm also looking at etcd3 potentially - it has good support for this kind of redundant keepalives
    Zach Bjornson
    @zbjornson
    OK. I'll hopefully get to playing with that today and can share what I find
    Vlad Alexandru Ionescu
    @vlad-alexandru-ionescu
    cool, let me know if you get it to break :D
    Zach Bjornson
    @zbjornson
    etcd3 would replace consul entirely or just the consul KV?
    Vlad Alexandru Ionescu
    @vlad-alexandru-ionescu
    yes, entirely
    Zach Bjornson
    @zbjornson
    interesting. I rather like consul :) but haven't done much with etcd
    Vlad Alexandru Ionescu
    @vlad-alexandru-ionescu
    yeah, me neither - I'd need to investigate pros and cons
    Heitor Silva
    @heitorsilva

    Hello guys!

    I'm evaluating LeverOS for something we need at the company I work at, and we're concerned to see that there is almost 4 months that the project has no updates on Github.

    The core guys are still active? The project will still be updated and maintained?
    Vlad Alexandru Ionescu
    @vlad-alexandru-ionescu
    @heitorsilva we've taken a break. Will send official update soon.
    Heitor Silva
    @heitorsilva
    thx @vlad-alexandru-ionescu

    Guys, I'm making a service that returns an object, like this:

    { cadunName: 'Mauricio Souza Lima', cadunId: 22641135 }

    When I put it on the callback, the Int number is being parsed as follows:

    2.2641135e+07

    Why?

    Heitor Silva
    @heitorsilva
    for what I've seen, it's because of Protobuf