Split state files
This commit is contained in:
parent
d2442635a1
commit
157f20c8e1
5 changed files with 222 additions and 208 deletions
40
consul/config.sls
Normal file
40
consul/config.sls
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
{% from "consul/map.jinja" import consul with context %}
|
||||||
|
|
||||||
|
consul-config:
|
||||||
|
file.managed:
|
||||||
|
- source: salt://consul/files/config.json
|
||||||
|
- template: jinja
|
||||||
|
- name: /etc/consul.d/config.json
|
||||||
|
{% if consul.service != False %}
|
||||||
|
- watch_in:
|
||||||
|
- service: consul
|
||||||
|
{% endif %}
|
||||||
|
- user: consul
|
||||||
|
- group: consul
|
||||||
|
- require:
|
||||||
|
- user: consul
|
||||||
|
|
||||||
|
{% for script in consul.scripts %}
|
||||||
|
consul-script-install-{{ loop.index }}:
|
||||||
|
file.managed:
|
||||||
|
- source: {{ script.source }}
|
||||||
|
- name: {{ script.name }}
|
||||||
|
- template: jinja
|
||||||
|
- user: consul
|
||||||
|
- group: consul
|
||||||
|
- mode: 0755
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
|
consul-script-config:
|
||||||
|
file.managed:
|
||||||
|
- source: salt://consul/files/services.json
|
||||||
|
- name: /etc/consul.d/services.json
|
||||||
|
- template: jinja
|
||||||
|
{% if consul.service != False %}
|
||||||
|
- watch_in:
|
||||||
|
- service: consul
|
||||||
|
{% endif %}
|
||||||
|
- user: consul
|
||||||
|
- group: consul
|
||||||
|
- require:
|
||||||
|
- user: consul
|
212
consul/init.sls
212
consul/init.sls
|
@ -1,210 +1,6 @@
|
||||||
{% from "consul/map.jinja" import consul with context %}
|
{% from "consul/map.jinja" import consul with context %}
|
||||||
|
|
||||||
unzip:
|
include:
|
||||||
pkg.installed
|
- consul.install
|
||||||
|
- consul.config
|
||||||
/usr/local/bin:
|
- consul.service
|
||||||
file.directory:
|
|
||||||
- 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/local/share/consul
|
|
||||||
- user: consul
|
|
||||||
- group: consul
|
|
||||||
- makedirs: True
|
|
||||||
|
|
||||||
# Consul agent
|
|
||||||
consul_download:
|
|
||||||
file.managed:
|
|
||||||
- name: /tmp/{{ consul.version }}_linux_amd64.zip
|
|
||||||
- source: https://dl.bintray.com/mitchellh/consul/{{ consul.version }}_linux_amd64.zip
|
|
||||||
- source_hash: sha1={{ consul.hash }}
|
|
||||||
- unless: test -f /usr/local/bin/consul-{{ consul.version }}
|
|
||||||
|
|
||||||
consul_extract:
|
|
||||||
cmd.wait:
|
|
||||||
- name: unzip /tmp/{{ 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.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
|
|
||||||
|
|
||||||
# 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:
|
|
||||||
- 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.template_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 -d /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.ui_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.ui_version }}
|
|
||||||
- name: /usr/local/share/consul/ui
|
|
||||||
- watch:
|
|
||||||
- file: consul_ui_install
|
|
||||||
|
|
||||||
consul_init_script:
|
|
||||||
file.managed:
|
|
||||||
{% if salt['test.provider']('service') == 'upstart' %}
|
|
||||||
- source: salt://consul/files/consul.upstart
|
|
||||||
- name: /etc/init/consul.conf
|
|
||||||
- mode: 0644
|
|
||||||
{% else %}
|
|
||||||
- source: salt://consul/files/consul.sysvinit
|
|
||||||
- name: /etc/init.d/consul
|
|
||||||
- mode: 0755
|
|
||||||
{% endif %}
|
|
||||||
{% if consul.service != False %}
|
|
||||||
- watch_in:
|
|
||||||
- service: consul
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
|
|
||||||
consul_config:
|
|
||||||
file.managed:
|
|
||||||
- source: salt://consul/files/config.json
|
|
||||||
- template: jinja
|
|
||||||
- name: /etc/consul.d/config.json
|
|
||||||
{% if consul.service != False %}
|
|
||||||
- watch_in:
|
|
||||||
- service: consul
|
|
||||||
{% endif %}
|
|
||||||
- user: consul
|
|
||||||
- group: consul
|
|
||||||
- require:
|
|
||||||
- user: consul
|
|
||||||
|
|
||||||
{% for script in consul.scripts %}
|
|
||||||
consul_service_register_{{ loop.index }}:
|
|
||||||
file.managed:
|
|
||||||
- source: {{ script.source }}
|
|
||||||
- name: {{ script.name }}
|
|
||||||
- template: jinja
|
|
||||||
- user: consul
|
|
||||||
- group: consul
|
|
||||||
- mode: 0755
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
consul_service_register_config:
|
|
||||||
file.managed:
|
|
||||||
- source: salt://consul/files/services.json
|
|
||||||
- name: /etc/consul.d/services.json
|
|
||||||
- template: jinja
|
|
||||||
{% if consul.service != False %}
|
|
||||||
- watch_in:
|
|
||||||
- service: consul
|
|
||||||
{% endif %}
|
|
||||||
- user: consul
|
|
||||||
- group: consul
|
|
||||||
- require:
|
|
||||||
- user: consul
|
|
||||||
|
|
||||||
{% if consul.service != False %}
|
|
||||||
consul_service:
|
|
||||||
service.running:
|
|
||||||
- name: consul
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
|
|
149
consul/install.sls
Normal file
149
consul/install.sls
Normal file
|
@ -0,0 +1,149 @@
|
||||||
|
{% from "consul/map.jinja" import consul with context %}
|
||||||
|
|
||||||
|
unzip:
|
||||||
|
pkg.installed
|
||||||
|
|
||||||
|
/usr/local/bin:
|
||||||
|
file.directory:
|
||||||
|
- 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.version }}_linux_amd64.zip
|
||||||
|
- source: https://dl.bintray.com/mitchellh/consul/{{ consul.version }}_linux_amd64.zip
|
||||||
|
- source_hash: sha1={{ consul.hash }}
|
||||||
|
- unless: test -f /usr/local/bin/consul-{{ consul.version }}
|
||||||
|
|
||||||
|
consul-extract:
|
||||||
|
cmd.wait:
|
||||||
|
- name: unzip /tmp/{{ 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.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
|
||||||
|
|
||||||
|
# Install 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 -d /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.ui_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.ui_version }}
|
||||||
|
- name: /usr/local/share/consul/ui
|
||||||
|
- watch:
|
||||||
|
- file: consul-ui-install
|
||||||
|
|
||||||
|
# Install template renderer
|
||||||
|
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:
|
||||||
|
- 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.template_version }}
|
||||||
|
- name: /usr/local/bin/consul-template
|
||||||
|
- watch:
|
||||||
|
- file: consul-template-install
|
23
consul/service.sls
Normal file
23
consul/service.sls
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
{% from "consul/map.jinja" import consul with context %}
|
||||||
|
|
||||||
|
consul-init-script:
|
||||||
|
file.managed:
|
||||||
|
{% if salt['test.provider']('service') == 'upstart' %}
|
||||||
|
- source: salt://consul/files/consul.upstart
|
||||||
|
- name: /etc/init/consul.conf
|
||||||
|
- mode: 0644
|
||||||
|
{% else %}
|
||||||
|
- source: salt://consul/files/consul.sysvinit
|
||||||
|
- name: /etc/init.d/consul
|
||||||
|
- mode: 0755
|
||||||
|
{% endif %}
|
||||||
|
{% if consul.service != False %}
|
||||||
|
- watch_in:
|
||||||
|
- service: consul
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if consul.service != False %}
|
||||||
|
consul-service:
|
||||||
|
service.running:
|
||||||
|
- name: consul
|
||||||
|
{% endif %}
|
|
@ -1,16 +1,22 @@
|
||||||
consul:
|
consul:
|
||||||
service: true
|
service: true
|
||||||
|
|
||||||
config:
|
config:
|
||||||
server: true
|
server: true
|
||||||
bind_addr: 0.0.0.0
|
bind_addr: 0.0.0.0
|
||||||
|
|
||||||
enable_debug: true
|
enable_debug: true
|
||||||
|
|
||||||
datacenter: eu
|
datacenter: eu
|
||||||
|
|
||||||
encrypt: "RIxqpNlOXqtr/j4BgvIMEw=="
|
encrypt: "RIxqpNlOXqtr/j4BgvIMEw=="
|
||||||
|
|
||||||
bootstrap_expect: 3
|
bootstrap_expect: 3
|
||||||
retry_interval: 15s
|
retry_interval: 15s
|
||||||
retry_join:
|
retry_join:
|
||||||
- 1.1.1.1
|
- 1.1.1.1
|
||||||
- 2.2.2.2
|
- 2.2.2.2
|
||||||
|
|
||||||
register:
|
register:
|
||||||
- name: Redis
|
- name: Redis
|
||||||
checks:
|
checks:
|
||||||
|
|
Loading…
Reference in a new issue