- Installs Consul and Consul UI to each node
- Installs example configuration for bootstrap, server, and client
- Installs example upstart script
- Updated README
- Removed the need for cluster_nodes variable
- Fix client template task
- Fix invalid JSON in the config.json outputs
- Updated documentation
- Prefix /usr/local/bin in PATH for cases where the consul binary is not found
- Changed UI path
- Add generic SysV init script
- Add Debian init script
- Use systemd for distribution major versions >= 7
- Remove Upstart script
- Updated configuration files
- Renamed consul_nodes label for better compatibility with my other roles
- Updated defaults and Consul version (thanks @bscott)
- Made cluster bootable and switch to become_user + other Ansibel best practices (thanks @Rodjers)
- Updated minimum Ansible version required in meta
- Updated to Consul 0.6.4
- Make bind_address configurable for #1
- Cleaned up deprecaed bare variables
- Updated supporting software versions
- Updated documentation
- Update supported versions
- Update documentation
- Update documentation
- Change datacenter value
- Remove extra datacenter definition
- Renamed bootstrap template
- FIX: No such file or directory /etc/init.d/functions (thanks @oliverprater)
- FIX: Using bare variables is deprecated (thanks @oliverprater)
- Added CONTRIBUTORS.md
- Updated documentation
- Add initial dnsmasq front end bits
- Reconfigure bootstrap node for normal operation (remove bootstrap-expect) after initial cluster formation and restart bootstrap node
- Initial test
- Initial Travis CI setup
- Meta update
- Bare role now installs and bootstraps cluster; included site.yml will also reconfigure bootstrap node as server and optionally enable dnsmasq forwarding for all cluster agents
- Remove bad client_addr bind in favor of default (localhost) Some weirdness was occurring whereby the client APIs were listening on TCP6/UDP6 sockets but not TCP4/UDP4 when client_addr set to 0.0.0.0
- Adjust timeouts for cluster UI check
- Default configurable domain to "consul" so that examples from docs work, etc.
- Combine all OS vars into main (addresses undefined var warnings)
- Removed separate OS var files
- Updated known working software versions
- Any errors are fatal for the site.yml example playbook
- Explicit pid-file to use in wait_for
- Remove cruft from init script
- Update documentation
- Consul version 0.7.0
- UI is built in now, so no longer downloaded / installed separately
- Usability improvements (thanks @Rodjers)
- Tests work locally but not in Travis; trying an env var instead of cfg
- Updated README
- Still with the tests
- Updated README
- Undo 125bd4bb369bb85f58a09b5dc81839e2779bd29f as dots in node_name breaks DNS API (without recursor option) and also breaks dnsmasq option
- Add LICENSE.txt for Apache 2.0 license
- Update documentation
- Add
consul_node_name
variable - Add
consul_dns_bind_address
variable - Add
consul_http_bind_address
variable - Add
consul_https_bind_address
variable - Add initial ACL variables
- Secondary nodes now join only the bootstrap node
- Added consul_bootstrap_interface variable
- Add PIDFile to systemd unit
- Updated documentation
- Stop creating UI directory
- Set correct RAM in Vagrantfile
- Download once, copy many for Consul binary
- Rename package variables
- Added consul_rpc_bind_address
- Updated documentation
- Update supported versions
- Fix up unarchive task quoting
- Update documentation
- Doc meta
- Documentation updates
- Fail on older versions
- Move distro vars to defaults
- Remove vars
- Clean up variables (thanks @jessedefer)
- Update documentation (thanks @jessedefer)
- Update CONTRIBUTORS
- Initial ACL support
- Initial Atlas support
- Streamline main tasks
- Update documentation
- Update variables
- Correct variable names
- Add token display variables
- Update documentation
- Remove deprecated variables
- Correct CONSUL_DNSMASQ_ENABLE var name
- Update/validate CentOS 7 box
- Update documentation
- Updated failure cases for CentOS
- Update documentation
- Compatibility with Ubuntu 16.04 (thanks @crumohr)
- iptables support (thanks @crumohr)
- Booleans instead of strings for variables (thanks @crumohr)
- Runnable if DNS is broken (thanks @crumohr)
- Remove unused variables
- Update block conditional for ACLs
- Update documentation
- Move Dnsmasq restart to inside of tasks
- Add client dependencies for further configuration (thanks @crumohr)
- Fix error using predefined encryption key (thanks @crumohr)
- Removal of redundant includes (thanks @crumohr)
- Add initial TLS support
- Update documentation
- Fail when ethernet interface specified by consul_iface not found on the system (addresses #13)
- Consul version 0.7.1
- Consistent template names
- Update documentation
- Update start_join for client configuration template
- Recursors as env var
- Initial attempts at idempotency in main tasks (for #14, #15)
- Correct Atlas variable names
- Remove unnecessary code (thanks @kostyrevaa)
- Determine binary's SHA 256 from releases.hashicorp.com (for #16)
- Update documentation
- Update task logic around initscripts (for #19)
- Fix issues in initscripts
- Rename Debian init script template
- Update documentation
- Fixing bug with deleting file. Better regex. Formatting. (Thanks @violuke)
- Remember ACL master/replication tokens between runs. Actually set replication token. (Thanks @violuke)
- Typo fix (Thanks @violuke)
- Allowing re-running to add new nodes. More HA too. (Thanks @violuke)
- Drop Trusty support from meta for now (for #19)
- Stop reconfiguring bootstrap node as it's not really necessary and spurious races cause failure to re-establish cluster quorum when doing so
- CONSUL_VERSION environment variable
- Deprecated default variables cleanup
- Ensure that all local_action tasks have become: no (thanks @itewk)
- Consul version 0.7.2
- Fix non-working cleanup task
- Update README
- Version updates
- Task edits
- add CONTRIBUTING.md
- Consul 0.7.3
- Update documentation
- Consul 0.7.5
- BREAKING CHANGE: Deprecate read/write of ACL tokens from file system
functionality and prefer setting tokens from existing cluster nodes with
CONSUL_ACL_MASTER_TOKEN
andCONSUL_ACL_REPLICATION_TOKEN
environment variables instead - Update documentation
- Consul 0.7.5
- Update documentation
- Contributors correction
- Update Consul bin path in keygen task
- Local TLS keys (thanks @dggreenbaum)
- Remove Atlas support
- Update documentation
- Split gossip encryption out into separate task file
- Keep gossip encryption in main tasks until we sort cross play var
- Compact YAML style for all tasks
- Fix task items, shorten timeouts
- Update documentation
- Fix local_action tasks
- Issue with ACL tasks
- Initial SmartOS support (thanks @sperreault)
- Updated CONTRIBUTORS
- Update license
- Update preinstall script
- Fix consul_bind_address (thanks @arledesma)
- Better config.json ingress with slurp (thanks @arledesma)
- Initial ARM support (thanks @lanefu)
- Update CONTRIBUTORS
- Initial FreeBSD support
- Vagrantfile updated for FreeBSD
- Added checks for interface addresses for differences (obj vs. literal list) in ipv4 addresses as returned by Linux vs. BSD/SmartOS
- New
consul_os
var gets operating system name as lowercase string - Add AMD64 pass-through/kludge to consul_architecture_map configuration
- Update Vagrantfile
- Decrease RAM to 1024MB
- Add FreeBSD specific checks in inline script
- Add FreeBSD hard requirements (explicit MAC address, disable share, shell)
- Update documentation
- Fixup client hosts in template (thanks @violuke)
- Optimize systemd unit file
- Update main task to create a mo better consul user (addresses #31)
- Allow specification of ports object (thanks @arledesma)
- Strict TLS material file permissions (thanks @arledesma)
- Update permissions modes to add leading zero
- Random task cleanup
- Update documentation
- Corrections to config_debianint.j2 for #34
- Update main task to prefer open Consul HTTP API port over PID file
- Update package cache before installing OS packages (watch for and refuse reversion of this as it's occurred once now)
- Additional fixes to debian init
- Add consul_config_custom for role users to specify new or overwrite existing configuration (thanks @arledesma)
- File permission updates (thanks @arledesma)
- Explicit consul_user/consul_group ownership of configurations (thanks @arledesma)
- Use consul_bin_path throughout (thanks @arledesma)
- Updated known good versions
- Format file names
- Look for existing config on all hosts (thanks @misho-kr)
- Update CONTRIBUTORS
- Fix documentation formatting issues
- Add support for Ubuntu 15.04
- Update for config generation on only one host (thanks @misho-kr)
- Update meta
- Consul version 0.8.0
- Update documentation
- Fix defaults, shake fist at YAML
- Cleanup of variables
- Fix statement preventing key transfer to new servers (thanks @groggemans)
- Change custom configuration naming convention
- Update documentation
- Finish documentation updates
- Fix bootstrapping (thanks @groggemans)
- Add option to download binaries directly to remotes (thanks @jonhatalla)
- Add environment variable overrides for the following default variables:
consul_bind_address
consul_datacenter
consul_domain
consul_group_name
consul_log_level
consul_syslog_enable
consul_acl_default_policy
consul_acl_down_policy
- Rename
consul_src_files
variable - Rename
consul_copy_keys
variable - Rename
consul_ca_crt
variable - Rename
consul_server_crt
variable - Rename
consul_server_key
variable - Rename
consul_verify_outgoing
variable - Rename
consul_verify_server_hostname
variable - Move
consul_iface
default to value ofhostvars.consul_iface
- Override with elsewhere or with
CONSUL_IFACE
environment variable - Closes #40
- Override with elsewhere or with
- Update documentation
- Cleanup templates and default vars (thanks @groggemans)
- Add default consul_node_role (client) (thanks @groggemans)
- Update 'gather server facts' task/option (thanks @groggemans)
- Make user management optional + move to own file (thanks @groggemans)
- Properly name-space all vars (thanks @groggemans)
- Move directory settings to own file (thanks @groggemans)
- Replace unsupported Jinja do with if/else (thanks @groggemans)
- Fix missing endif in server configuration template (thanks @groggemans)
- Re-expose consul_bind_address as fact (thanks @groggemans)
- Template output improvements and style changes (thanks @groggemans)
- Add spaces at front end back of JSON arrays (thanks @groggemans)
- Update Vagrantfile
- Update documentation
- Revert node_role addition to default vars so clusters will still properly come up since we basically lost access the bootstrap role
- Standing corrected - put node_role back into defaults as it will still be overridden by host vars (sorry @groggemans)
- Update documentation
- Consul 0.8.1
- Update documentation
- Updated configuration directory structure (thanks @groggemans)
- Updated
consul_config_path
to point to/etc/consul
- Added
consul_configd_path
defaulting to/etc/consul.d
- Updated
- Added
consul_debug
variable - defaults to no (thanks @groggemans) - Moved all config related tasks to
tasks/config.yml
(thanks @groggemans) - Added ACL and TLS parameters to the main
config.json
(thanks @groggemans) - Now using
/etc/consul/config.json
for all consul roles (thanks @groggemans) - Fix small bug preventing RPC gossip key to be read (thanks @groggemans)
- Exposed
consul_node_role
as a fact (thanks @groggemans) - Update documentation
- Fix template filename (addresses #58)
- Switch to local_action for local tasks
- Wrap IPv6 addresses (thanks @tbartelmess)
- Revert local_action tasks
- Ansible generally spazzes out with "no action detected in task" for any variation of local_task I tried
- Clean up task names and make more detailed; use consistent verb intros
- Switch to local_action on all local install tasks
- Already using grep, so let's just awk for the SHA and then register it
- Add new vars
consul_run_path
for the PID file
- Add bootstrap-expect toggle option (thanks @groggemans)
- Use directory variables in dirs tasks
- Do not attempt to install Consul binary if already found on consul_bin_path
- Fixes #60
- Rename intermediate
boostrap_marker
var - Formatting on CONTRIBUTING
- Update CONTRIBUTORS
- Updated tested versions
- Update documentation
- Update stat task
- Remove check from install_remote
- Generate correct JSON with TLS and ACL enabled (thanks @tbartelmess)
- Switch local tasks to
delegate_to
which should cover most concerns
- Correct links in README (thanks @MurphyMarkW)
- Lower minimum Debian version from 8.5. to 8 (addresses #63)
- Set
| bool
where needed to stop warnings about template delimiters - Add consul group when managing the consul user
- Consul version 0.8.2
- Enable consul_manage_group var and conditional in user_group tasks
- Initial multi datacenter awareness bits (thanks @groggemans)
- Consul version 0.8.3
- Recurse perms through config, data, and log directories (thanks @misho-kr)
- Update documentation
- Initial Windows support (thanks @judy)
- Update documentation
- Update CONTRIBUTORS
- Update main tasks to move Windows specific tasks into blocks
- Correct meta for Windows platform
- Update supported versions
- Update documentation
Update ACL tasks Rename configd_50custom.json.j2 template tp user_custom.json.j2 Rename configd_50acl_policy.hcl template to user_acl_policy.hcl.j2 Do not enable a default set of ACL policies
Actually add new template files 🤦
- Revert changes from v1.21.2 and v1.21.1
- Combines all (client/server/bootstrap) config templates (thanks @groggemans)
- Template for dnsmasq settings (thanks @groggemans)
- Add files directory
- Consul 0.8.4
- Remove
user_acl_policy.hcl.j2
anduser_custom.json.j2
- Update configuration template with new ACL variables
- Remove consul_iface from vagrant_hosts
- Simplify ACL configuration
- Remove checks for
consul_acl_replication_token_display
- Update Vagrantfile
- Update README
- Add
ansible.cfg
for examples and install netaddr (thanks @arehmandev) - Improve HTTP API check (thanks @dmke)
- Update CONTRIBUTORS
- Use consul_run_path variable (thanks @vincent-legoll)
- Replace remaining hardcoded paths (thanks @vincent-legoll)
- Factorize LOCK_FILE (thanks @vincent-legoll)
- CHANGELOG++
- Update CONTRIBUTORS
- Update README
- Consul v0.8.5
- Fix "Check Consul HTTP API" via unix socket (thanks @vincent-legoll)
- Avoid warning about already existing directory (thanks @vincent-legoll)
- Fix typos in messages (thanks @vincent-legoll)
- Fix documentation about
consul_node_role
(thanks @vincent-legoll) - Update documentation
- Consul version 0.9.0
- Add
consul_tls_verify_server_hostname
to TLS configuration template - Begin to add relevant Consul docs links to variable descriptions in README
- Fix formatting in README_VAGRANT (thanks @jstoja)
- Update CONTRIBUTORS
- Support rolling upgrades on systemd based Linux (thanks oliverprater)
- Fix breaking change in paths and runtime warnings (thanks oliverprater)
- Set CONSUL_TLS_DIR default to
/etc/consul/ssl
for #95
- Rename
cluster_nodes
label toconsul_instances
- Consul v0.9.2
- Add enable_script_checks parameter (thanks @groggemans)
- Update documentation
- Add raft_protocol parameter, fix version compares (thanks @groggemans)
- Add missing address and port config (thanks @groggemans)
- Add missing ACL config options (thanks @groggemans)
- Prefer retry_join and retry_join_wan instead of start_join / start_join_wan
- DNSMasq updates (thanks @groggemans)
- Add node_meta config (thanks @groggemans)
- Add additional retry-join parameters (thanks @groggemans)
- Add DNSMasq for Red Hat (thanks @giannidallatorre)
- Fix typo (thanks @vincent-legoll)
- Allow post setup bootstrapping of ACLs (thanks @groggemans)
- Add disable_update_check to config options (thanks @groggemans)
- Fix list example data type (thanks @vincent-legoll)
- Remove tasks for installation of python-consul (thanks @vincent-legoll)
- Fix deprecation notice on include
- Change example server hostnames
- Consul v0.9.3
- Update server joining (thanks @groggemans)
- Fix types that should be lists (thanks @vincent-legoll)
- Consul 1.0!
- Fix python3 compatibility for meta data (thanks @groggemans)
- Remove deprecated advertise_addrs to resolve #123 so that role works again
- Consul v1.0.1
- Fix idempotency (thanks @issmirnov)
- Make gossip encryption optional (thanks @hwmrocker)
- Install netaddr with
--user
- Update documentation
- Update CONTRIBUTORS
- Consul v1.0.2
- Update documentation
- Add performance tuning configuration (thanks @t0k4rt)
- Set raft multiplier to 1
- Conditionally install Python dependency baed on virtualenv or --user Addresses ansible-collections#129 (comment)
- Update includes to import_tasks and include_tasks
- Remove invalid consul_version key from configuration
- Update Vagrantfile
- Set client address to 0.0.0.0 so Vagrant based deploy checks now pass
- Update documentation
- Correct retry_join block (@thanks hwmrocker)
- Consul v1.0.3
- It's 2018!
- Update configuration
- Update documentation
- Consul v1.0.6
- Add support for setting syslog facility and syslog file (thanks @ykhemani)
- Update configuration
- Update tests
- Update documentation (thanks also to @ChrisMcKee)