Comments (6)
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.
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.
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.
I'll be glad to exchange, drop me a msg on Twitter (@vizionr), I'll send you my address
from consul-templaterb.
@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.
Fixed by d867412 and released in version 1.27.0
from consul-templaterb.
Related Issues (20)
- Throttle EM requests to max/sec or max parallel? HOT 3
- Cannot see nodes/services/any in the UI HOT 4
- Improve Docker image builld HOT 2
- Getting timestamp in templates HOT 5
- Executing command on each change HOT 2
- Trying to auth to vault with certs HOT 3
- Signal Handling from Orchestrator HOT 9
- Expose list of templates objects being generated HOT 3
- undefined method `[]' for #<Consul::Async::ConsulTemplateNodes:0x000055744a631640> HOT 10
- inactivity_timeout for the vault endpoint isn't configurable/too short HOT 2
- [FEATURE] Prometheus Endpoint for Template Rendering Times HOT 2
- `ready?` method for remote_resource.as_json is always true HOT 2
- Eventmachine Seg Fault When Using Vault HOT 5
- [Q] AIX 7.1 Support HOT 1
- Potential Memory Leak HOT 13
- consul_templaterb uses deprecated methods HOT 3
- Correct usage of --wait-signal option HOT 2
- Question: How can we dynamically generate different templates from a consul K/V JSON object ? HOT 3
- Createing multiple files from one template
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from consul-templaterb.