formula-consul/consul/install.sls
Charles McLaughlin 7f71883d09 Download URL configurable via pillar
I ran into this problem where the formula can't download and install
Consul:

https://github.com/saltstack/salt/issues/38730

As a work around, I'm making the download URL configurable. Not sure if
many other people will find this useful, so if you don't want to merge
it that's fine. For me it's only a temporary fix until I can upgrade
Salt.
2017-02-28 09:30:25 -08:00

80 lines
1.7 KiB
Plaintext

{% from "consul/map.jinja" import consul with context %}
consul-dep-unzip:
pkg.installed:
- name: unzip
consul-bin-dir:
file.directory:
- name: /usr/local/bin
- makedirs: True
# Create consul user
consul-user:
group.present:
- name: consul
user.present:
- name: consul
- createhome: false
- system: true
- groups:
- consul
- require:
- group: consul
# Create directories
consul-config-dir:
file.directory:
- name: /etc/consul.d
- user: consul
- group: consul
consul-runtime-dir:
file.directory:
- name: /var/consul
- user: consul
- group: consul
consul-data-dir:
file.directory:
- name: /usr/local/share/consul
- user: consul
- group: consul
- makedirs:
# Install agent
consul-download:
file.managed:
- name: /tmp/consul_{{ consul.version }}_linux_amd64.zip
- source: https://{{ consul.download_host }}/consul/{{ consul.version }}/consul_{{ consul.version }}_linux_amd64.zip
- source_hash: sha256={{ consul.hash }}
- unless: test -f /usr/local/bin/consul-{{ consul.version }}
consul-extract:
cmd.wait:
- name: unzip /tmp/consul_{{ consul.version }}_linux_amd64.zip -d /tmp
- watch:
- file: consul-download
consul-install:
file.rename:
- name: /usr/local/bin/consul-{{ consul.version }}
- source: /tmp/consul
- require:
- file: /usr/local/bin
- watch:
- cmd: consul-extract
consul-clean:
file.absent:
- name: /tmp/consul_{{ consul.version }}_linux_amd64.zip
- watch:
- file: consul-install
consul-link:
file.symlink:
- target: consul-{{ consul.version }}
- name: /usr/local/bin/consul
- watch:
- file: consul-install