mirror of
https://github.com/tendermint/tendermint.git
synced 2026-09-05 15:47:07 +00:00
[ansible-tendermint] systemd template
This commit is contained in:
@@ -29,6 +29,10 @@ tendermint_group: tendermint
|
||||
tendermint_upstart_start_on: start on runlevel [345]
|
||||
tendermint_upstart_stop_on: stop on runlevel [!345]
|
||||
tendermint_manage_service: true
|
||||
tendermint_use_upstart: true
|
||||
tendermint_use_systemd: false
|
||||
tendermint_upstart_template: "tendermint.conf.j2"
|
||||
tendermint_systemd_template: "tendermint.systemd.j2"
|
||||
|
||||
tendermint_home: /opt/tendermint
|
||||
tendermint_rpc_port: 46657
|
||||
@@ -38,6 +42,7 @@ tendermint_log_file: /var/log/tendermint.log
|
||||
|
||||
tendermint_chain_id: mychain
|
||||
tendermint_genesis_time: "{{ansible_date_time.iso8601_micro}}"
|
||||
tendermint_seeds: ""
|
||||
```
|
||||
|
||||
You can also change `templates/config.toml.j2` to suit your needs.
|
||||
|
||||
@@ -11,6 +11,10 @@ tendermint_group: tendermint
|
||||
tendermint_upstart_start_on: start on runlevel [345]
|
||||
tendermint_upstart_stop_on: stop on runlevel [!345]
|
||||
tendermint_manage_service: true
|
||||
tendermint_use_upstart: true
|
||||
tendermint_use_systemd: false
|
||||
tendermint_upstart_template: "tendermint.conf.j2"
|
||||
tendermint_systemd_template: "tendermint.systemd.j2"
|
||||
|
||||
tendermint_home: /opt/tendermint
|
||||
tendermint_rpc_port: 46657
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
---
|
||||
|
||||
- name: reload systemd
|
||||
become: true
|
||||
command: systemctl daemon-reload
|
||||
|
||||
- name: restart tendermint
|
||||
action: service name=tendermint state=restarted enabled=yes
|
||||
when: tendermint_manage_service
|
||||
|
||||
@@ -103,9 +103,21 @@
|
||||
|
||||
- name: copy upstart script
|
||||
template: >
|
||||
src=tendermint.conf.j2
|
||||
src={{tendermint_upstart_template}}
|
||||
dest=/etc/init/tendermint.conf
|
||||
owner=root
|
||||
group=root
|
||||
mode=0644
|
||||
when: tendermint_use_upstart
|
||||
# notify: restart tendermint
|
||||
|
||||
- name: copy systemd script
|
||||
template: >
|
||||
src={{tendermint_systemd_template}}
|
||||
dest=/etc/systemd/system/tendermint.service
|
||||
owner=root
|
||||
group=root
|
||||
mode=0644
|
||||
when: tendermint_use_systemd
|
||||
notify:
|
||||
- reload systemd
|
||||
|
||||
@@ -5,9 +5,4 @@
|
||||
- "{{ ansible_os_family }}-{{ ansible_distribution_major_version}}.yml"
|
||||
- "{{ ansible_os_family }}.yml"
|
||||
- include: install.yml
|
||||
- service: >
|
||||
name=tendermint
|
||||
state=stopped
|
||||
enabled=yes
|
||||
when: tendermint_manage_service
|
||||
- include: start.yml
|
||||
|
||||
@@ -18,3 +18,9 @@
|
||||
shell: echo "restarting ..."
|
||||
when: genesis_file_copied|changed and num_validators.stdout|int > 0
|
||||
notify: restart tendermint
|
||||
|
||||
- service: >
|
||||
name=tendermint
|
||||
state=started
|
||||
enabled=yes
|
||||
when: tendermint_manage_service
|
||||
|
||||
@@ -6,7 +6,7 @@ stop on {{ tendermint_upstart_stop_on }}
|
||||
|
||||
script
|
||||
# Use su to become tendermint user non-interactively on old Upstart versions (see http://superuser.com/a/234541/76168)
|
||||
exec su -s /bin/sh -c 'TMROOT={{tendermint_home}} exec "$0" "$@" > {{ tendermint_log_file }} &2>1' tendermint -- /usr/local/bin/tendermint node \
|
||||
exec su -s /bin/sh -c 'TMROOT={{tendermint_home}} exec "$0" "$@" >> {{ tendermint_log_file }} 2>&1' tendermint -- /usr/local/bin/tendermint node \
|
||||
--moniker={{inventory_hostname}}
|
||||
end script
|
||||
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
[Unit]
|
||||
Description=Tendermint
|
||||
Requires=network-online.target
|
||||
After=network-online.target
|
||||
|
||||
[Service]
|
||||
Environment="TMROOT={{tendermint_home}}"
|
||||
Restart=on-failure
|
||||
User={{ tendermint_user }}
|
||||
Group={{ tendermint_group }}
|
||||
PermissionsStartOnly=true
|
||||
ExecStart=/usr/local/bin/tendermint node --moniker={{inventory_hostname}}
|
||||
ExecReload=/bin/kill -HUP $MAINPID
|
||||
KillSignal=SIGINT
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
Reference in New Issue
Block a user