Giter Site home page Giter Site logo

Comments (6)

pierresouchay avatar pierresouchay commented on June 9, 2024

Hello @jeromegn,

Yes, this endpoint is nice, but has a few drawbacks:

  • it does not allow to list services (see this discussion for instance in hashicorp/consul#7384 )
  • its output might be huge and change every ms in large clusters (in our case, it would be changing all the time)

What is exactly you use-case?

It really depends on what you want to do, I suspect some might use it in an interesting way, but I had no use for it now. If you want to do a PR to support it, I would be glad to help you implement it, however (see https://github.com/criteo/consul-templaterb/blob/master/lib/consul/async/consul_template.rb#L142 for example, implementation is straightforward)

from consul-templaterb.

jeromegn avatar jeromegn commented on June 9, 2024

I can work around it! Getting checks per node works for me.

Our use case is our global load balancer. We're currently manually querying Consul at runtime, but I'm now exploring generating the config outside of it. We're sometimes pulling 1 Gbps between our consul servers and clients...

We need to know about every service across all datacenters (our setup currently has a single "global" datacenter) and their health status. I'm fetching all services for each node, then all checks for the node. For each service I then select all checks that match its ID and manually instantiate a Consul::Async::ServiceInstance to use the status method and figure out if the service is healthy.

Do you have a public chat room, forum or some other place to discuss? I don't have any issues right now, but I found this project when reading consul issues and noticed you had issues similar to ours. Would be interesting to chat!

from consul-templaterb.

pierresouchay avatar pierresouchay commented on June 9, 2024

No, it is far easier than that, have a look in samples, you can for instance check the HaProxy configuration examples, you can just use templates, it will work nicely, no real code to do.

from consul-templaterb.

pierresouchay avatar pierresouchay commented on June 9, 2024

I'll be glad to exchange, drop me a msg on Twitter (@vizionr), I'll send you my address

from consul-templaterb.

pierresouchay avatar pierresouchay commented on June 9, 2024

@jeromegn I would start how much bandwith uses this template on your cluster: https://github.com/criteo/consul-templaterb/blob/master/samples/all_services.txt.erb

from consul-templaterb.

pierresouchay avatar pierresouchay commented on June 9, 2024

Fixed by d867412 and released in version 1.27.0

from consul-templaterb.

Related Issues (20)

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.