Improve ops instructions for snowball backend deployment (#40)
Part of [Service provider auctions for web deployments](https://www.notion.so/Service-provider-auctions-for-web-deployments-104a6b22d47280dbad51d28aa3a91d75) Reviewed-on: #40 Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com> Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
This commit is contained in:
parent
dca0d1b38a
commit
b4c272254f
@ -1032,18 +1032,12 @@ Follow [sp-deployment-from-scratch.md](./sp-deployment-from-scratch.md)
|
|||||||
# This should create the Docker images: "cerc/snowballtools-base-backend" and "cerc/snowballtools-base-backend-base"
|
# This should create the Docker images: "cerc/snowballtools-base-backend" and "cerc/snowballtools-base-backend-base"
|
||||||
```
|
```
|
||||||
|
|
||||||
* Push the images to the container registry. The container registry will be set up while setting up a service provider
|
|
||||||
|
|
||||||
```bash
|
|
||||||
laconic-so deployment --dir backend-deployment push-images
|
|
||||||
```
|
|
||||||
|
|
||||||
### Deployment
|
### Deployment
|
||||||
|
|
||||||
* Create a spec file for the deployment:
|
* Create a spec file for the deployment:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd /srv/backend-deployment
|
cd /srv/deploy-backend
|
||||||
|
|
||||||
laconic-so --stack ~/cerc/snowballtools-base-api-stack/stack-orchestrator/stacks/snowballtools-base-backend deploy init --output backend-deployment-spec.yml --config SNOWBALL_BACKEND_CONFIG_FILE_PATH=/config/prod.toml
|
laconic-so --stack ~/cerc/snowballtools-base-api-stack/stack-orchestrator/stacks/snowballtools-base-backend deploy init --output backend-deployment-spec.yml --config SNOWBALL_BACKEND_CONFIG_FILE_PATH=/config/prod.toml
|
||||||
```
|
```
|
||||||
@ -1080,7 +1074,15 @@ Follow [sp-deployment-from-scratch.md](./sp-deployment-from-scratch.md)
|
|||||||
# This should create the deployment directory at `/srv/deploy-backend/backend-deployment`
|
# This should create the deployment directory at `/srv/deploy-backend/backend-deployment`
|
||||||
```
|
```
|
||||||
|
|
||||||
* Modify file `backend-deployment/kubeconfig.yml` if required:
|
* Push the images to the container registry. The container registry is set up as part of service provider:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker login <container-registry-url> --username <username> --password <password>
|
||||||
|
|
||||||
|
laconic-so deployment --dir backend-deployment push-images
|
||||||
|
```
|
||||||
|
|
||||||
|
* Modify file `backend-deployment/kubeconfig.yml`:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
@ -1099,98 +1101,115 @@ Follow [sp-deployment-from-scratch.md](./sp-deployment-from-scratch.md)
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Place in snowball deployment directory
|
# Place in snowball deployment directory
|
||||||
wget -O /srv/deploy-backend/backend-deployment/configmaps/config/prod.toml https://git.vdb.to/cerc-io/testnet-laconicd-stack/raw/branch/main/ops/configs/backend-deployment.toml
|
wget -O /srv/deploy-backend/backend-deployment/configmaps/config/prod.toml https://git.vdb.to/cerc-io/testnet-laconicd-stack/raw/branch/main/ops/configs/backend-config.toml
|
||||||
```
|
```
|
||||||
|
|
||||||
* Setup private key and bond. If not already setup, execute the following commands in the directory containing `stage2-deployment`
|
* Setup private key and bond; run following steps if not already created:
|
||||||
|
|
||||||
* Create a new account and fetch the private key
|
* Create a new account and get the private key:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
# Switch to laconicd deployments directory
|
||||||
|
cd /srv/laconicd
|
||||||
|
|
||||||
laconic-so deployment --dir stage2-deployment exec laconicd "laconicd keys add deploy"
|
laconic-so deployment --dir stage2-deployment exec laconicd "laconicd keys add deploy"
|
||||||
# - address: laconic1yr758d5vkg28text073vlzdjdgd7ud6w729tww
|
# - address: laconic1yr758d5vkg28text073vlzdjdgd7ud6w729tww
|
||||||
...
|
...
|
||||||
export deployKey=$(laconic-so deployment --dir stage2-deployment exec laconicd "echo y | laconicd keys export deploy --keyring-backend test --unarmored-hex --unsafe")
|
|
||||||
# ...
|
deployAddress=<address>
|
||||||
# txhash: 262D380259AC06024F87C909EB0BF7814CEC26CDF527B003C4C10631E1DB5893
|
|
||||||
|
deployKey=$(laconic-so deployment --dir stage2-deployment exec laconicd "echo y | laconicd keys export deploy --keyring-backend test --unarmored-hex --unsafe")
|
||||||
```
|
```
|
||||||
|
|
||||||
* Send tokens to this account
|
* Send tokens to the new account:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
laconic-so deployment --dir stage2-deployment exec laconicd "laconicd tx bank send alice laconic1yr758d5vkg28text073vlzdjdgd7ud6w729tww 1000000000000000000alnt --from alice --fees 200000alnt -y"
|
laconic-so deployment --dir stage2-deployment exec laconicd "laconicd tx bank send alice $deployAddress 1000000000000000000alnt --from alice --fees 200000alnt -y"
|
||||||
```
|
```
|
||||||
|
|
||||||
* Create a bond using this account
|
* Create a bond using this account:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
laconic-so deployment --dir laconic-console-testnet2-deployment exec cli "laconic registry bond create --type alnt --quantity 1000000000000 --user-key $deployKey" | jq -r '.bondId'
|
laconic-so deployment --dir laconic-console-testnet2-deployment exec cli "laconic registry bond create --type alnt --quantity 1000000000000 --user-key $deployKey" | jq -r '.bondId'
|
||||||
# 15e5bc37c40f67adc9ab498fa3fa50b090770f9bb56b27d71714a99138df9a22
|
# 15e5bc37c40f67adc9ab498fa3fa50b090770f9bb56b27d71714a99138df9a22
|
||||||
```
|
```
|
||||||
|
|
||||||
* Set bond id
|
* Set bond id:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
export bondId=15e5bc37c40f67adc9ab498fa3fa50b090770f9bb56b27d71714a99138df9a22
|
bondId=<bond-id>
|
||||||
```
|
```
|
||||||
|
|
||||||
* Register authority. Execute the following commands in the directory containing `laconic-console-testnet2-deployment`
|
* Register authority:
|
||||||
|
|
||||||
* Reserve an authority
|
* Reserve an authority:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
laconic-so deployment --dir laconic-console-testnet2-deployment exec cli "laconic registry authority reserve deploy-vaasl --txKey $deployKey"
|
# Switch to console deployments directory
|
||||||
|
cd /srv/console
|
||||||
|
|
||||||
|
authority=vaasl
|
||||||
|
|
||||||
|
laconic-so deployment --dir laconic-console-testnet2-deployment exec cli "laconic registry authority reserve $authority --txKey $deployKey"
|
||||||
```
|
```
|
||||||
|
|
||||||
* Obtain the auction ID
|
* Obtain the authority auction ID:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
laconic-so deployment --dir laconic-console-testnet2-deployment exec cli "laconic registry authority whois deploy-vaasl --txKey $deployKey"
|
laconic-so deployment --dir laconic-console-testnet2-deployment exec cli "laconic registry authority whois $authority"
|
||||||
# "auction": {
|
# "auction": {
|
||||||
# "id": "73e0b082a198c396009ce748804a9060c674a10045365d262c1584f99d2771c1"
|
# "id": "73e0b082a198c396009ce748804a9060c674a10045365d262c1584f99d2771c1"
|
||||||
|
|
||||||
|
# Set auction id in a variable
|
||||||
|
auction=<auction-id>
|
||||||
```
|
```
|
||||||
|
|
||||||
* Commit a bid using the auction ID. A reveal file will be generated
|
* Commit a bid using the auction ID, a reveal file will be generated:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
laconic-so deployment --dir laconic-console-testnet2-deployment exec cli "laconic registry auction bid commit 73e0b082a198c396009ce748804a9060c674a10045365d262c1584f99d2771c1 5000000 alnt --chain-id laconic-testnet-2 --txKey $deployKey"
|
laconic-so deployment --dir laconic-console-testnet2-deployment exec cli "laconic registry auction bid commit $auction 5000000 alnt --chain-id laconic-testnet-2 --txKey $deployKey"
|
||||||
|
|
||||||
# {"reveal_file":"/app/out/bafyreiewi4osqyvrnljwwcb36fn6sr5iidfpuznqkz52gxc5ztt3jt4zmy.json"}
|
# {"reveal_file":"/app/out/bafyreiewi4osqyvrnljwwcb36fn6sr5iidfpuznqkz52gxc5ztt3jt4zmy.json"}
|
||||||
|
|
||||||
|
# Set reveal file path in a variable
|
||||||
|
revealFile=/app/out/bafyreiewi4osqyvrnljwwcb36fn6sr5iidfpuznqkz52gxc5ztt3jt4zmy.json
|
||||||
```
|
```
|
||||||
|
|
||||||
* Reveal a bid using the auction ID and the reveal file generated from the bid commit
|
* Reveal a bid using the auction ID and the reveal file generated from the bid commit:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
laconic-so deployment --dir laconic-console-testnet2-deployment exec cli "laconic registry auction bid reveal 73e0b082a198c396009ce748804a9060c674a10045365d262c1584f99d2771c1 /app/out/bafyreiewi4osqyvrnljwwcb36fn6sr5iidfpuznqkz52gxc5ztt3jt4zmy.json --chain-id laconic-testnet-2 --txKey $deployKey"
|
laconic-so deployment --dir laconic-console-testnet2-deployment exec cli "laconic registry auction bid reveal $auction $revealFile --chain-id laconic-testnet-2 --txKey $deployKey"
|
||||||
# {"success": true}
|
# {"success": true}
|
||||||
```
|
```
|
||||||
|
|
||||||
* Verify status after the auction ends. It should list a completed status and a winner
|
* Verify status after the auction ends. It should list a completed status and a winner:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
laconic-so deployment --dir laconic-console-testnet2-deployment exec cli "laconic registry auction get 73e0b082a198c396009ce748804a9060c674a10045365d262c1584f99d2771c1 -txKey $deployKey"
|
laconic-so deployment --dir laconic-console-testnet2-deployment exec cli "laconic registry auction get $auction"
|
||||||
```
|
```
|
||||||
|
|
||||||
* Set the authority using a bond ID.
|
* Set the authority using a bond ID:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
laconic-so deployment --dir laconic-console-testnet2-deployment exec cli "laconic registry authority bond set deploy-vaasl $bondId --txKey $deployKey"
|
laconic-so deployment --dir laconic-console-testnet2-deployment exec cli "laconic registry authority bond set $authority $bondId --txKey $deployKey"
|
||||||
# {"success": true}
|
# {"success": true}
|
||||||
```
|
```
|
||||||
|
|
||||||
* Verify the authority has been registered.
|
* Verify the authority has been registered:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
laconic-so deployment --dir laconic-console-testnet2-deployment exec cli "laconic registry authority whois deploy-vaasl --txKey $deployKey"
|
laconic-so deployment --dir laconic-console-testnet2-deployment exec cli "laconic registry authority whois $authority"
|
||||||
```
|
```
|
||||||
|
|
||||||
* Update `/srv/snowball/snowball-deployment/data/config/prod.toml`. Replace `<redacted>` with your credentials. Use the `userKey`, `bondId` and `authority` that you set up
|
* Update `/srv/deploy-backend/backend-deployment/data/config/prod.toml`. Replace `<redacted>` with your credentials; use the `userKey`, `bondId` and `authority` that you set up
|
||||||
|
|
||||||
### Start
|
### Start
|
||||||
|
|
||||||
* Start the deployment:
|
* Start the deployment:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
cd /srv/deploy-backend
|
||||||
|
|
||||||
laconic-so deployment --dir backend-deployment start
|
laconic-so deployment --dir backend-deployment start
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -1271,7 +1290,7 @@ Follow [sp-deployment-from-scratch.md](./sp-deployment-from-scratch.md)
|
|||||||
* Run frontend deployment script:
|
* Run frontend deployment script:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./deploy-frontend.sh
|
./deploy-frontend.vaasl.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
Follow deployment logs on the deployer UI
|
Follow deployment logs on the deployer UI
|
||||||
|
Loading…
Reference in New Issue
Block a user