Add playbooks to run tmkms service
This commit is contained in:
parent
f0a2cf9082
commit
65153f090e
41
playbooks/tmkms/run-tmkms.yml
Normal file
41
playbooks/tmkms/run-tmkms.yml
Normal file
@ -0,0 +1,41 @@
|
||||
---
|
||||
- name: Run TMKMS stack
|
||||
hosts: localhost
|
||||
vars_files:
|
||||
- tmkms-vars.yml
|
||||
vars:
|
||||
data_directory: "{{ lookup('env', 'DATA_DIRECTORY') }}"
|
||||
tmkms_deployment_dir: "{{ lookup('env', 'TMKMS_DEPLOYMENT_DIR') | default('tmkms-deployment', true) }}"
|
||||
tasks:
|
||||
- name: Fail if DATA_DIRECTORY env var is not set
|
||||
fail:
|
||||
msg: >-
|
||||
Required environment variable DATA_DIRECTORY is not set.
|
||||
Please export DATA_DIRECTORY before running the playbook.
|
||||
when: lookup('env', 'DATA_DIRECTORY') == ''
|
||||
|
||||
- name: Ensure tmp directory exists inside tmkms-data volume
|
||||
file:
|
||||
path: "{{data_directory}}/{{ tmkms_deployment_dir }}/data/tmkms-data/tmp"
|
||||
state: directory
|
||||
mode: '0755'
|
||||
|
||||
- name: Copy private validator key to tmkms deployment tmp directory
|
||||
copy:
|
||||
src: "{{ priv_validator_key_file_path }}"
|
||||
dest: "{{data_directory}}/{{ tmkms_deployment_dir }}/data/tmkms-data/tmp/priv_validator_key.json"
|
||||
mode: '0644'
|
||||
|
||||
- name: Create config.env for tmkms deployment
|
||||
copy:
|
||||
dest: "{{data_directory}}/{{ tmkms_deployment_dir }}/config.env"
|
||||
content: |
|
||||
CERC_CHAIN_ID: "{{ cerc_chain_id }}"
|
||||
NODE_IP: "{{ node_ip }}"
|
||||
NODE_PORT: "{{ node_port }}"
|
||||
CERC_KEY_PREFIX: "{{ cerc_key_prefix }}"
|
||||
mode: '0777'
|
||||
|
||||
- name: Start tmkms deployment
|
||||
shell: |
|
||||
laconic-so deployment --dir {{data_directory}}/{{ tmkms_deployment_dir }} start
|
||||
34
playbooks/tmkms/setup-tmkms.yml
Normal file
34
playbooks/tmkms/setup-tmkms.yml
Normal file
@ -0,0 +1,34 @@
|
||||
---
|
||||
- name: Setup TMKMS stack
|
||||
hosts: localhost
|
||||
vars_files:
|
||||
- tmkms-vars.yml
|
||||
vars:
|
||||
data_directory: "{{ lookup('env', 'DATA_DIRECTORY') }}"
|
||||
tmkms_deployment_dir: "{{ lookup('env', 'TMKMS_DEPLOYMENT_DIR') | default('tmkms-deployment', true) }}"
|
||||
tmkms_spec_file: "{{data_directory}}/tmkms-spec.yml"
|
||||
build_args: "{{ '--force-rebuild' if (lookup('env', 'FORCE_REBUILD') | default(omit, true)) not in [ 'false', 'False', '0' ] else '' }}"
|
||||
tasks:
|
||||
- name: Fail if DATA_DIRECTORY env var is not set
|
||||
fail:
|
||||
msg: >-
|
||||
Required environment variable DATA_DIRECTORY is not set.
|
||||
Please export DATA_DIRECTORY before running the playbook.
|
||||
when: lookup('env', 'DATA_DIRECTORY') == ''
|
||||
|
||||
- name: Setup required repositories for tmkms stack
|
||||
shell: >
|
||||
laconic-so --stack ~/cerc/laconicd-stack/stack-orchestrator/stacks/tmkms
|
||||
setup-repositories --git-ssh --pull
|
||||
|
||||
- name: Build tmkms container images
|
||||
shell: |
|
||||
laconic-so --stack ~/cerc/laconicd-stack/stack-orchestrator/stacks/tmkms build-containers {{ build_args }}
|
||||
|
||||
- name: Create tmkms deployment spec file
|
||||
shell: |
|
||||
laconic-so --stack ~/cerc/laconicd-stack/stack-orchestrator/stacks/tmkms deploy init --output {{ tmkms_spec_file }}
|
||||
|
||||
- name: Create tmkms deployment from spec file
|
||||
shell: |
|
||||
laconic-so --stack ~/cerc/laconicd-stack/stack-orchestrator/stacks/tmkms deploy create --spec-file {{ tmkms_spec_file }} --deployment-dir {{data_directory}}/{{ tmkms_deployment_dir }}
|
||||
5
playbooks/tmkms/tmkms-vars.example.yml
Normal file
5
playbooks/tmkms/tmkms-vars.example.yml
Normal file
@ -0,0 +1,5 @@
|
||||
priv_validator_key_file_path: ""
|
||||
node_ip: ""
|
||||
node_port: "26659"
|
||||
cerc_key_prefix: "laconic"
|
||||
cerc_chain_id: "laconic-mainnet"
|
||||
@ -5,7 +5,7 @@ services:
|
||||
command: ["bash", "-c", "/opt/run.sh"]
|
||||
environment:
|
||||
CERC_CHAIN_ID: ${CERC_CHAIN_ID:-laconic-mainnet}
|
||||
NODE_IP: ${NODE_IP:-localhost}
|
||||
NODE_IP: ${NODE_IP}
|
||||
NODE_PORT: ${NODE_PORT:-26659}
|
||||
CERC_KEY_PREFIX: ${CERC_KEY_PREFIX:-laconic}
|
||||
volumes:
|
||||
|
||||
@ -6,4 +6,5 @@ source ${CERC_CONTAINER_BASE_DIR}/build-base.sh
|
||||
# See: https://stackoverflow.com/a/246128/1701505
|
||||
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
||||
|
||||
# TODO: Use BACKEND=yubihsm build command arg
|
||||
docker build -t cerc/tmkms:local ${build_command_args} -f ${SCRIPT_DIR}/Dockerfile ${CERC_REPO_BASE_DIR}/tmkms
|
||||
|
||||
Loading…
Reference in New Issue
Block a user