forked from cerc-io/testnet-ops
Prathamesh Musale
2e0fbd82f1
Part of [Service Provider setup](https://www.notion.so/Service-provider-setup-a09e2207e1f34f3a847f7ce9713b7ac5) and [Service provider auctions for web deployments](https://www.notion.so/Service-provider-auctions-for-web-deployments-104a6b22d47280dbad51d28aa3a91d75) - Configure laconicd chain id - Configure whether deployer should handle auctions and amount to bid - Update playbook to issue wildcard cert on deploying k8s Co-authored-by: Adw8 <adwaitgharpure@gmail.com> Co-authored-by: Shreerang Kale <shreerangkale@gmail.com> Reviewed-on: cerc-io/testnet-ops#12 Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com> Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
92 lines
3.6 KiB
YAML
92 lines
3.6 KiB
YAML
- name: Setup and run laconic console
|
|
hosts: "{{target_host}}"
|
|
|
|
environment:
|
|
PATH: "{{ ansible_env.PATH }}:/home/{{ansible_user}}/bin"
|
|
|
|
vars_files:
|
|
- vars/webapp-vars.yml
|
|
- vars/dns-vars.yml
|
|
- vars/k8s-vars.yml
|
|
- vars/laconicd-vars.yml
|
|
|
|
tasks:
|
|
- name: Clone the stack repo
|
|
command: laconic-so fetch-stack git.vdb.to/cerc-io/testnet-laconicd-stack --pull
|
|
ignore_errors: yes
|
|
|
|
- name: Clone required repositories for laconic-console
|
|
command: laconic-so --stack ~/cerc/testnet-laconicd-stack/stack-orchestrator/stacks/laconic-console setup-repositories --pull
|
|
|
|
- name: Build container images
|
|
command: laconic-so --stack ~/cerc/testnet-laconicd-stack/stack-orchestrator/stacks/laconic-console build-containers --force-rebuild
|
|
|
|
- name: Generate spec file for laconic console deployment
|
|
template:
|
|
src: "./templates/specs/laconic-console-spec.yml.j2"
|
|
dest: "laconic-console-spec.yml"
|
|
|
|
- name: Check if the deployment directory exists
|
|
stat:
|
|
path: laconic-console-deployment
|
|
register: deployment_dir
|
|
|
|
- name: Create a deployment from the spec file
|
|
command: laconic-so --stack ~/cerc/testnet-laconicd-stack/stack-orchestrator/stacks/laconic-console deploy create --spec-file laconic-console-spec.yml --deployment-dir laconic-console-deployment
|
|
when: not deployment_dir.stat.exists
|
|
|
|
- name: Place deployment in the same namespace as fixturenet-laconicd
|
|
copy:
|
|
src: "fixturenet-laconicd-deployment/deployment.yml"
|
|
dest: "laconic-console-deployment/deployment.yml"
|
|
remote_src: yes
|
|
|
|
- name: Fetch user key from laconicd
|
|
command: laconic-so deployment --dir fixturenet-laconicd-deployment exec laconicd "echo y | laconicd keys export alice --unarmored-hex --unsafe"
|
|
register: alice_pk
|
|
|
|
- name: Set Private key for console deployment
|
|
set_fact:
|
|
ALICE_PK: "{{ alice_pk.stdout }}"
|
|
|
|
- name: Check if DNS resolves for daemon
|
|
command: getent ahosts {{ org_id }}-daemon.{{ full_domain }}
|
|
register: dns_check
|
|
retries: 5
|
|
delay: 5
|
|
until: dns_check.rc == 0
|
|
ignore_errors: yes
|
|
|
|
- name: Fail if DNS does not resolve after retries
|
|
fail:
|
|
msg: "DNS resolution failed for example.com after 5 retries"
|
|
when: dns_check.rc != 0
|
|
|
|
- name: Start the laconic console deployment
|
|
command: laconic-so deployment --dir laconic-console-deployment start
|
|
|
|
- name: Create a bond using cli
|
|
shell: laconic-so deployment --dir laconic-console-deployment exec cli "laconic registry bond create --type alnt --quantity 1000000000000 --user-key {{ALICE_PK}}" | jq -r '.bondId'
|
|
register: bond_id
|
|
|
|
- name: Set Bond ID for console deployment
|
|
set_fact:
|
|
BOND_ID: "{{ bond_id.stdout }}"
|
|
|
|
- name: Stop the console deployment
|
|
command: laconic-so deployment --dir laconic-console-deployment stop
|
|
|
|
- name: Modify the console config with alice_pk and bond_id
|
|
template:
|
|
src: "./templates/configs/console-config.env.j2"
|
|
dest: "laconic-console-deployment/config.env"
|
|
|
|
- name: Start the laconic console deployment with updated config
|
|
command: laconic-so deployment --dir laconic-console-deployment start
|
|
|
|
- name: Reserve an authority
|
|
command: laconic-so deployment --dir laconic-console-deployment exec cli "laconic registry authority reserve {{authority_name}}"
|
|
|
|
- name: Set authority using bond id
|
|
command: laconic-so deployment --dir laconic-console-deployment exec cli "laconic registry authority bond set {{authority_name}} {{BOND_ID}}"
|