saltstack-formulas / consul-formula Goto Github PK
View Code? Open in Web Editor NEWFormula to install and configure Hashicorp Consul
Home Page: http://docs.saltstack.com/en/latest/topics/development/conventions/formulas.html
License: Other
Formula to install and configure Hashicorp Consul
Home Page: http://docs.saltstack.com/en/latest/topics/development/conventions/formulas.html
License: Other
I've got the following error when running consul-template with a pillar similar to the example:
Data failed to compile:
----------
Rendering SLS 'base:consul-template.config' failed: Jinja variable 'dict object' has no attribute 'template_engine'
Adding template_engine: null
to the tmpl
section results in errors about the resulting None value.
template_engine: jinja
causes jinja syntax errors when trying to read the go template used by consul-template.
I was able to bypass the issue by removing line 15 in consul-template/config.sls
: - template: {{ tmpl.template_engine }}
Hi,
setting bind_addr
to 0.0.0.0
fails on hosts with multiple IPs.
If you change consul/defaults.yaml
:
bind_addr: 0.0.0.0
to
`bind_addr: "{{ grains['ip4_interfaces']['eth0'][0] }}"``
then it will always work.
Not a bug, and not foolproof either. After posting this, I realised just how hard it is to get the 'right' IP from the grains!
Geoff
Hi,
Is it an option to add configuration features :
Thanks,
Just noticed this when we changed from Centos 7 to Centos 8.
With selinux enforcing, the consul binary moved from /tmp retains the context tmp_t. selinux denies execution of the consul binary so startup fails.
In pillar, set:
consul:
service: True
Install and try to run consul on a Centos 8 minion.
salt-call state.apply consul
state will fail.
Check the audit log:
grep consul /var/log/audit/audit.log
service should start
We use the following in install.sls after file.rename fixes the context;
{% if grains['os_family'] == 'RedHat' %}
consul_bin_restorecon:
module.run:
- file.restorecon:
- /usr/local/bin/consul-{{consul.version}}
- watch:
- file: consul_install
{% endif %}
Use the module function file.restorecon
to change the context of the consul binary to match destination location of the file - which then permits execution by systemd.
Hey, it would be great if you added support for winows agents.
Thanks :)
Hi,
There is a cloud auto-join feature in conusul (https://www.consul.io/docs/agent/options.html#cloud-auto-joining). What do you think about adding support for this feature ?
I can probably do the Pull Request :)
Bye !
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.