Update to 2022-08-09 13:00

This commit is contained in:
Daniel Berteaud 2022-08-09 13:00:15 +02:00
parent 62cd35b3cc
commit e0ae369ed1
9 changed files with 127 additions and 26 deletions

View File

@ -1,12 +1,62 @@
--- ---
- name: Deploy consul configuration - name: Deploy consul configuration
template: block:
src: consul.hcl.j2 - name: Deploy consul configuration
dest: "{{ consul_root_dir }}/etc/consul.hcl" template:
owner: root src: consul.hcl.j2
group: "{{ consul_user }}" dest: "{{ consul_root_dir }}/etc/consul.hcl"
mode: 0640 owner: root
validate: consul validate -config-format=hcl %s group: "{{ consul_user }}"
notify: restart consul mode: 0640
backup: True
register: consul_main_conf
notify: restart consul
- name: Deploy consul reloadable configuration
template:
src: reload.hcl.j2
dest: "{{ consul_root_dir }}/etc/reload.hcl"
owner: root
group: "{{ consul_user }}"
mode: 0640
backup: True
register: consul_reload_conf
notify: reload consul
- name: Validate configuration
command: consul validate {{ consul_root_dir }}/etc
changed_when: False
become_user: "{{ consul_user }}"
register: consul_conf_validation
rescue:
- block:
- name: Restore main configuration
copy:
src: "{{ consul_main_conf.backup_file }}"
dest: "{{ consul_root_dir }}/etc/consul.hcl"
remote_src: True
owner: root
group: "{{ consul_user }}"
mode: 0640
when: consul_main_conf.backup_file is defined
- name: Restore reloadable configuration
copy:
src: "{{ consul_reload_conf.backup_file }}"
dest: "{{ consul_root_dir }}/etc/reload.hcl"
remote_src: True
owner: root
group: "{{ consul_user }}"
mode: 0640
when: consul_reload_conf.backup_file is defined
tags: consul tags: consul
- name: Fail if configuration validation failed
fail:
msg: "Failed to validate configuration: {{ consul_conf_validation.stdout }}"
when: consul_conf_validation.rc != 0
tags: consul

View File

@ -1,5 +1,4 @@
data_dir = "{{ consul_root_dir }}/data" data_dir = "{{ consul_root_dir }}/data"
log_level = "{{ consul_conf.log_level }}"
bind_addr = "0.0.0.0" bind_addr = "0.0.0.0"
client_addr = "0.0.0.0" client_addr = "0.0.0.0"
@ -13,12 +12,6 @@ datacenter = "{{ consul_conf.datacenter }}"
node_name = {{ consul_conf.node_name }} node_name = {{ consul_conf.node_name }}
{% endif %} {% endif %}
node_meta {
{% for meta in consul_conf.node_meta.keys() | list %}
{{ meta }} = "{{ consul_conf.node_meta[meta] }}"
{% endfor %}
}
ports { ports {
{% for service in consul_services.keys() | list %} {% for service in consul_services.keys() | list %}
{% if service not in ['sidecar', 'expose'] and consul_services[service].port is defined %} {% if service not in ['sidecar', 'expose'] and consul_services[service].port is defined %}

View File

@ -10,7 +10,7 @@ Type=notify
EnvironmentFile=-{{ consul_root_dir }}/etc/consul.env EnvironmentFile=-{{ consul_root_dir }}/etc/consul.env
User={{ consul_user }} User={{ consul_user }}
Group={{ consul_user }} Group={{ consul_user }}
ExecStart={{ consul_root_dir }}/bin/consul agent -config-file={{ consul_root_dir }}/etc/consul.hcl ExecStart={{ consul_root_dir }}/bin/consul agent -config-dir={{ consul_root_dir }}/etc/
ExecReload=/bin/kill --signal HUP $MAINPID ExecReload=/bin/kill --signal HUP $MAINPID
SuccessExitStatus=1 SuccessExitStatus=1
Restart=on-failure Restart=on-failure

View File

@ -0,0 +1,8 @@
log_level = "{{ consul_conf.log_level }}"
node_meta {
{% for meta in consul_conf.node_meta.keys() | list %}
{{ meta }} = "{{ consul_conf.node_meta[meta] }}"
{% endfor %}
}

Binary file not shown.

View File

@ -1,12 +1,62 @@
--- ---
- name: Deploy nomad configuration - name: Deploy nomad configuration
template: block:
src: nomad.hcl.j2 - name: Deploy nomad configuration
dest: "{{ nomad_root_dir }}/etc/nomad.hcl" template:
owner: root src: nomad.hcl.j2
group: "{{ nomad_user }}" dest: "{{ nomad_root_dir }}/etc/nomad.hcl"
mode: 0640 owner: root
validate: nomad config validate %s group: "{{ nomad_user }}"
notify: restart nomad mode: 0640
backup: True
register: nomad_main_conf
notify: restart nomad
- name: Deploy nomad reloadable configuration
template:
src: reload.hcl.j2
dest: "{{ nomad_root_dir }}/etc/reload.hcl"
owner: root
group: "{{ nomad_user }}"
mode: 0640
backup: True
register: nomad_reload_conf
notify: reload nomad
- name: Validate configuration
command: nomad config validate {{ nomad_root_dir }}/etc/nomad.hcl {{ nomad_root_dir }}/etc/reload.hcl
changed_when: False
become_user: "{{ nomad_user }}"
register: nomad_conf_validation
rescue:
- block:
- name: Restore main configuration
copy:
src: "{{ nomad_main_conf.backup_file }}"
dest: "{{ nomad_root_dir }}/etc/nomad.hcl"
remote_src: True
owner: root
group: "{{ nomad_user }}"
mode: 0640
when: nomad_main_conf.backup_file is defined
- name: Restore reloadable configuration
copy:
src: "{{ nomad_reload_conf.backup_file }}"
dest: "{{ nomad_root_dir }}/etc/reload.hcl"
remote_src: True
owner: root
group: "{{ nomad_user }}"
mode: 0640
when: nomad_reload_conf.backup_file is defined
tags: nomad tags: nomad
- name: Fail if configuration validation failed
fail:
msg: "Failed to validate configuration: {{ nomad_conf_validation.stdout }}"
when: nomad_conf_validation.rc != 0
tags: nomad

View File

@ -1,6 +1,5 @@
data_dir = "{{ nomad_root_dir }}/data" data_dir = "{{ nomad_root_dir }}/data"
plugin_dir = "{{ nomad_root_dir }}/plugins" plugin_dir = "{{ nomad_root_dir }}/plugins"
log_level = "{{ nomad_conf.log_level }}"
bind_addr = "0.0.0.0" bind_addr = "0.0.0.0"
{% if nomad_conf.datacenter is defined %} {% if nomad_conf.datacenter is defined %}

View File

@ -9,7 +9,7 @@ ConditionFileNotEmpty={{ nomad_root_dir }}/etc/nomad.hcl
EnvironmentFile=-{{ nomad_root_dir }}/etc/nomad.env EnvironmentFile=-{{ nomad_root_dir }}/etc/nomad.env
User={{ nomad_user }} User={{ nomad_user }}
Group={{ nomad_user }} Group={{ nomad_user }}
ExecStart={{ nomad_root_dir }}/bin/nomad agent -config={{ nomad_root_dir }}/etc/nomad.hcl ExecStart={{ nomad_root_dir }}/bin/nomad agent -config={{ nomad_root_dir }}/etc/
ExecReload=/bin/kill --signal HUP $MAINPID ExecReload=/bin/kill --signal HUP $MAINPID
SuccessExitStatus=1 SuccessExitStatus=1
Restart=on-failure Restart=on-failure

View File

@ -0,0 +1 @@
log_level = "{{ nomad_conf.log_level }}"