From 047e3d7e5c2bc6c373971f5afa01fe77e6aa764c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bahad=C4=B1r=20Kandemir?= Date: Thu, 22 Oct 2015 20:53:33 +0300 Subject: [PATCH] Better folder structure --- consul/defaults.yaml | 9 ++- consul/init.sls | 131 ++++++++++++++++++++++++++++++++++--------- pillar.example | 4 +- 3 files changed, 113 insertions(+), 31 deletions(-) diff --git a/consul/defaults.yaml b/consul/defaults.yaml index 113b031..d3d8a3c 100644 --- a/consul/defaults.yaml +++ b/consul/defaults.yaml @@ -1,12 +1,19 @@ consul: version: 0.5.2 hash: b3ae610c670fc3b81737d44724ebde969da66ebf + + ui_version: 0.5.2 + ui_hash: 67a2665e3c6aa6ca95c24d6176641010a1002cd6 + + template_version: 0.11.0 + template_hash: 3894617dfa7d9ccdd4b754023e528b46a13423a6 + service: false config: server: false bind_addr: 0.0.0.0 data_dir: /var/consul - ui_dir: /opt/consul/dist + ui_dir: /usr/local/share/consul/ui enable_debug: false log_level: info encrypt: "" diff --git a/consul/init.sls b/consul/init.sls index 308b09b..3687a5f 100644 --- a/consul/init.sls +++ b/consul/init.sls @@ -5,8 +5,40 @@ unzip: /usr/local/bin: file.directory: - - recuse: True + - makedirs: True +consul_user: + group.present: + - name: consul + user.present: + - name: consul + - createhome: false + - system: true + - groups: + - consul + - require: + - group: consul + +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/share/local/consul + - user: consul + - group: consul + - makedirs: True + +# Consul agent consul_download: file.managed: - name: /tmp/{{ consul.version }}_linux_amd64.zip @@ -42,17 +74,77 @@ consul_link: - watch: - file: consul_install -consul_user: - group.present: - - name: consul - user.present: - - name: consul - - createhome: false - - system: true - - groups: - - consul +# Consul template engine +consul_template_download: + file.managed: + - name: /tmp/consul_template_{{ consul.template_version }}_linux_amd64.zip + - source: https://github.com/hashicorp/consul-template/releases/download/v{{ consul.template_version }}/consul_template_{{ consul.template_version }}_linux_amd64.zip + - source_hash: sha1={{ consul.template_hash }} + - unless: test -f /usr/local/bin/consul-template-{{ consul.template_version }} + +consul_template_extract: + cmd.wait: + - name: unzip /tmp/consul_template_{{ consul.template_version }}_linux_amd64.zip -d /tmp + - watch: + - file: consul_template_download + +consul_template_install: + file.rename: + - name: /usr/local/bin/consul-template-{{ consul.template_version }} + - source: /tmp/consul-template - require: - - group: consul + - file: /usr/local/bin + - watch: + - cmd: consul_template_extract + +consul_template_clean: + file.absent: + - name: /tmp/consul_template_{{ consul.template_version }}_linux_amd64.zip + - watch: + - file: consul_template_install + +consul_template_link: + file.symlink: + - target: consul-template-{{ consul.version }} + - name: /usr/local/bin/consul-template + - watch: + - file: consul_template_install + +# Consul UI +consul_ui_download: + file.managed: + - name: /tmp/{{ consul.ui_version }}_web_ui.zip + - source: https://dl.bintray.com/mitchellh/consul/{{ consul.ui_version }}_web_ui.zip + - source_hash: sha1={{ consul.ui_hash }} + - unless: test -f /usr/local/share/consul/ui-{{ consul.ui_version }} + +consul_ui_extract: + cmd.wait: + - name: unzip /tmp/{{ consul.ui_version }}_web_ui.zip -d /tmp/ + - watch: + - file: consul_ui_download + +consul_ui_install: + file.rename: + - name: /usr/local/share/consul/ui-{{ consul.template_version }} + - source: /tmp/dist + - require: + - file: /usr/local/share/consul + - watch: + - cmd: consul_ui_extract + +consul_ui_clean: + file.absent: + - name: /tmp/{{ consul.ui_version }}_web_ui.zip + - watch: + - file: consul_ui_install + +consul_ui_link: + file.symlink: + - target: ui-{{ consul.version }} + - name: /usr/local/share/consul/ui + - watch: + - file: consul_ui_install consul_init_script: file.managed: @@ -70,23 +162,6 @@ consul_init_script: - service: consul {% endif %} -consul_config_dir: - file.directory: - - name: /etc/consul.d - - user: consul - - group: consul - -consul_data_dir: - file.directory: - - name: /var/consul - - user: consul - - group: consul - -consul_script_dir: - file.directory: - - name: /opt/consul/scripts - - user: consul - - group: consul consul_config: file.managed: diff --git a/pillar.example b/pillar.example index 4be3447..07bef31 100644 --- a/pillar.example +++ b/pillar.example @@ -14,8 +14,8 @@ consul: register: - name: Redis checks: - - script: /opt/consul/check_redis.py + - script: /usr/share/local/consul/check_redis.py interval: 10s scripts: - source: salt://files/consul/check_redis.py - name: /opt/consul/check_redis.py + name: /usr/share/local/consul/check_redis.py