Add ansible playbook to automate service provider setup #10
66
service-provider-setup/run-laconic-console.yml
Normal file
66
service-provider-setup/run-laconic-console.yml
Normal file
@ -0,0 +1,66 @@
|
||||
- name: Setup and run laconic console
|
||||
hosts: "{{target_host}}"
|
||||
|
||||
environment:
|
||||
PATH: "{{ ansible_env.PATH }}:/home/{{ansible_user}}/bin"
|
||||
|
||||
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: 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
|
33
service-provider-setup/run-laconicd.yml
Normal file
33
service-provider-setup/run-laconicd.yml
Normal file
@ -0,0 +1,33 @@
|
||||
- name: Setup and run fixturnet-laconicd-stack
|
||||
hosts: "{{ target_host }}"
|
||||
|
||||
environment:
|
||||
PATH: "{{ ansible_env.PATH }}:/home/{{ansible_user}}/bin"
|
||||
|
||||
tasks:
|
||||
- name: Clone the stack repo
|
||||
command: laconic-so fetch-stack git.vdb.to/cerc-io/fixturenet-laconicd-stack --pull
|
||||
ignore_errors: yes
|
||||
|
||||
- name: Clone the fixturenet-laconicd repo
|
||||
command: laconic-so --stack ~/cerc/fixturenet-laconicd-stack/stack-orchestrator/stacks/fixturenet-laconicd setup-repositories
|
||||
|
||||
- name: Build container images
|
||||
command: laconic-so --stack ~/cerc/fixturenet-laconicd-stack/stack-orchestrator/stacks/fixturenet-laconicd build-containers --force-rebuild
|
||||
|
||||
- name: Generate over spec file for laconicd deployment
|
||||
template:
|
||||
src: "./templates/specs/fixturenet-laconicd-spec.yml.j2"
|
||||
dest: "fixturenet-laconicd-spec.yml"
|
||||
|
||||
- name: Check if the deployment directory exists
|
||||
stat:
|
||||
path: "fixturenet-laconicd-deployment"
|
||||
register: deployment_dir
|
||||
|
||||
- name: Create the deployment from the spec file
|
||||
command: laconic-so --stack ~/cerc/fixturenet-laconicd-stack/stack-orchestrator/stacks/fixturenet-laconicd deploy create --spec-file fixturenet-laconicd-spec.yml --deployment-dir fixturenet-laconicd-deployment
|
||||
when: not deployment_dir.stat.exists
|
||||
|
||||
- name: Start the deployment
|
||||
command: laconic-so deployment --dir fixturenet-laconicd-deployment start
|
@ -11,7 +11,7 @@
|
||||
tasks:
|
||||
- name: Generate the spec file for the container-registry stack
|
||||
template:
|
||||
src: "./templates/container-registry.spec.j2"
|
||||
src: "./templates/specs/container-registry.spec.j2"
|
||||
dest: "{{ansible_env.HOME}}/container-registry.spec"
|
||||
|
||||
- name: Create a deployment for the container-registry stack
|
||||
|
@ -0,0 +1,2 @@
|
||||
CERC_LACONICD_USER_KEY={{ALICE_PK}}
|
||||
CERC_LACONICD_BOND_ID={{BOND_ID}}
|
@ -0,0 +1,15 @@
|
||||
stack:
|
||||
/home/{{ansible_user}}/cerc/fixturenet-laconicd-stack/stack-orchestrator/stacks/fixturenet-laconicd
|
||||
deploy-to: compose
|
||||
network:
|
||||
ports:
|
||||
laconicd:
|
||||
- '6060:6060'
|
||||
- '26657:26657'
|
||||
- '26656:26656'
|
||||
- '9473:9473'
|
||||
- '9090:9090'
|
||||
- '1317:1317'
|
||||
volumes:
|
||||
laconicd-data: ./data/laconicd-data
|
||||
genesis-config: ./data/genesis-config
|
@ -0,0 +1,9 @@
|
||||
stack:
|
||||
/home/{{ansible_user}}/cerc/testnet-laconicd-stack/stack-orchestrator/stacks/laconic-console
|
||||
deploy-to: compose
|
||||
network:
|
||||
ports:
|
||||
console:
|
||||
- '8080:80'
|
||||
volumes:
|
||||
laconic-registry-data: ./data/laconic-registry-data
|
Loading…
Reference in New Issue
Block a user