Add playbooks to run tmkms service

This commit is contained in:
Shreerang Kale 2025-06-11 11:48:37 +05:30
parent f0a2cf9082
commit 65153f090e
5 changed files with 82 additions and 1 deletions

View 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

View 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 }}

View File

@ -0,0 +1,5 @@
priv_validator_key_file_path: ""
node_ip: ""
node_port: "26659"
cerc_key_prefix: "laconic"
cerc_chain_id: "laconic-mainnet"

View File

@ -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:

View File

@ -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