diff --git a/ops/deployments-from-scratch.md b/ops/deployments-from-scratch.md
index 9483c82..8134120 100644
--- a/ops/deployments-from-scratch.md
+++ b/ops/deployments-from-scratch.md
@@ -279,123 +279,6 @@
-
- Shopify
-
-## Shopify
-
-* Stack:
-
-* Source repo:
-
-* Target dir: `/srv/shopify/laconic-shopify-deployment`
-
-* Cleanup an existing deployment if required:
-
- ```bash
- cd /srv/shopify
-
- # Stop the deployment
- laconic-so deployment --dir laconic-shopify-deployment stop
-
- # Remove the deployment dir
- sudo rm -rf laconic-shopify-deployment
-
- # Remove the existing spec file
- rm laconic-shopify-spec.yml
- ```
-
-### Setup
-
-* Clone the stack repo:
-
- ```bash
- laconic-so fetch-stack git.vdb.to/cerc-io/testnet-laconicd-stack --pull
-
- # This should clone the testnet-laconicd-stack repo at `/home/dev/cerc/testnet-laconicd-stack`
- ```
-
-* Clone required repositories:
-
- ```bash
- laconic-so --stack ~/cerc/testnet-laconicd-stack/stack-orchestrator/stacks/laconic-shopify setup-repositories --pull
-
- # This should clone the laconicd repos at `/home/dev/cerc/shopify` and `/home/dev/cerc/laconic-faucet`
- ```
-
-* Build the container images:
-
- ```bash
- laconic-so --stack ~/cerc/testnet-laconicd-stack/stack-orchestrator/stacks/laconic-shopify build-containers --force-rebuild
-
- # This should create the "cerc/laconic-shopify" and "cerc/laconic-shopify-faucet" Docker images
- ```
-
-### Deployment
-
-* Create a spec file for the deployment:
-
- ```bash
- cd /srv/shopify
-
- laconic-so --stack ~/cerc/testnet-laconicd-stack/stack-orchestrator/stacks/laconic-shopify deploy init --output laconic-shopify-spec.yml
- ```
-
-* Create a deployment from the spec file:
-
- ```bash
- laconic-so --stack ~/cerc/testnet-laconicd-stack/stack-orchestrator/stacks/laconic-shopify deploy create --spec-file laconic-shopify-spec.yml --deployment-dir laconic-shopify-deployment
- ```
-
-* Inside the `laconic-shopify-deployment` deployment directory, open `config.env` file and set following env variables:
-
- ```bash
- # Shopify GraphQL URL
- CERC_SHOPIFY_GRAPHQL_URL='https://6h071x-zw.myshopify.com/admin/api/2024-10/graphql.json'
-
- # Access token for Shopify API
- CERC_SHOPIFY_ACCESS_TOKEN=
-
- # Delay for fetching orders in milliseconds
- CERC_FETCH_ORDER_DELAY=10000
-
- # Number of line items per order in Get Orders GraphQL query
- CERC_ITEMS_PER_ORDER=10
-
- # Private key of a funded faucet account
- CERC_FAUCET_KEY=
-
- # laconicd RPC endpoint
- CERC_LACONICD_RPC_ENDPOINT='https://laconicd-sapo.laconic.com'
-
- # laconicd chain id
- CERC_LACONICD_CHAIN_ID=laconic-testnet-2
-
- # laconicd address prefix
- CERC_LACONICD_PREFIX=laconic
-
- # laconicd gas price
- CERC_LACONICD_GAS_PRICE=0.001
- ```
-
-### Start
-
-* Start the deployment:
-
- ```bash
- laconic-so deployment --dir laconic-shopify-deployment start
- ```
-
-* Check status:
-
- ```bash
- # Check logs for faucet and shopify containers
- laconic-so deployment --dir laconic-shopify-deployment logs shopify -f
- laconic-so deployment --dir laconic-shopify-deployment logs faucet -f
- ```
-
-
-
testnet-onboarding-app
@@ -801,301 +684,6 @@
---
-
- deploy-backend
-
-## Deploy Backend
-
-* Stack:
-
-* Source repo:
-
-* Target dir: `/srv/deploy-backend/backend-deployment`
-
-* Cleanup an existing deployment if required:
-
- ```bash
- cd /srv/deploy-backend
-
- # Stop the deployment
- laconic-so deployment --dir backend-deployment stop --delete-volumes
-
- # Remove the deployment dir
- sudo rm -rf backend-deployment
-
- # Remove the existing spec file
- rm backend-deployment-spec.yml
- ```
-
-### Setup
-
-* Clone the stack repo:
-
- ```bash
- laconic-so fetch-stack git.vdb.to/cerc-io/snowballtools-base-api-stack --pull
-
- # This should clone the snowballtools-base-api-stack repo at `/home/dev/cerc/snowballtools-base-api-stack`
- ```
-
-* Clone required repositories:
-
- ```bash
- laconic-so --stack ~/cerc/snowballtools-base-api-stack/stack-orchestrator/stacks/snowballtools-base-backend setup-repositories --git-ssh --pull
-
- # This should clone the snowballtools-base repo at `/home/dev/cerc/snowballtools-base`
- ```
-
-* Build the container images:
-
- ```bash
- laconic-so --stack ~/cerc/snowballtools-base-api-stack/stack-orchestrator/stacks/snowballtools-base-backend build-containers --force-rebuild
-
- # 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
-
-* Create a spec file for the deployment:
-
- ```bash
- cd /srv/backend-deployment
-
- 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
- ```
-
-* Edit the spec file to deploy the stack to k8s:
-
- ```bash
- stack:
- /home/dev/cerc/snowballtools-base-api-stack/stack-orchestrator/stacks/snowballtools-base-backend
- deploy-to: k8s
- kube-config: /home/dev/.kube/config-vs-narwhal.yaml
- image-registry: container-registry.apps.vaasl.io/laconic-registry
- config:
- SNOWBALL_BACKEND_CONFIG_FILE_PATH: /config/prod.toml
- network:
- ports:
- deploy-backend:
- - '8000'
- http-proxy:
- - host-name: deploy-backend.apps.vaasl.io
- routes:
- - path: '/'
- proxy-to: deploy-backend:8000
- volumes:
- data:
- configmaps:
- config: ./configmaps/config
- ```
-
-* Create a deployment from the spec file:
-
- ```bash
- laconic-so --stack ~/cerc/snowballtools-base-api-stack/stack-orchestrator/stacks/snowballtools-base-backend deploy create --deployment-dir backend-deployment --spec-file backend-deployment-spec.yml
- # This should create the deployment directory at `/srv/deploy-backend/backend-deployment`
- ```
-
-* Modify file `backend-deployment/kubeconfig.yml` if required
- ```
- apiVersion: v1
- ...
- contexts:
- - context:
- cluster: ***
- user: ***
- name: default
- ...
- ```
- NOTE: `context.name` must be default to use with SO
-
-* Fetch the config template file for the snowball backend:
-
- ```bash
- # 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
- ```
-
-* Setup private key and bond. If not already setup, execute the following commands in the directory containing `stage2-deployment`
-
- * Create a new account and fetch the private key
-
- ```bash
- laconic-so deployment --dir stage2-deployment exec laconicd "laconicd keys add deploy"
- # - address: laconic1yr758d5vkg28text073vlzdjdgd7ud6w729tww
- ...
- export deployKey=$(laconic-so deployment --dir stage2-deployment exec laconicd "echo y | laconicd keys export deploy --keyring-backend test --unarmored-hex --unsafe")
- # ...
- # txhash: 262D380259AC06024F87C909EB0BF7814CEC26CDF527B003C4C10631E1DB5893
- ```
-
- * Send tokens to this account
-
- ```bash
- laconic-so deployment --dir stage2-deployment exec laconicd "laconicd tx bank send alice laconic1yr758d5vkg28text073vlzdjdgd7ud6w729tww 1000000000000000000alnt --from alice --fees 200000alnt -y"
- ```
-
- * Create a bond using this account
-
- ```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'
- # 15e5bc37c40f67adc9ab498fa3fa50b090770f9bb56b27d71714a99138df9a22
- ```
-
- * Set bond id
-
- ```bash
- export bondId=15e5bc37c40f67adc9ab498fa3fa50b090770f9bb56b27d71714a99138df9a22
- ```
-
-* Register authority. Execute the following commands in the directory containing `laconic-console-testnet2-deployment`
-
- * Reserve an authority
-
- ```bash
- laconic-so deployment --dir laconic-console-testnet2-deployment exec cli "laconic registry authority reserve deploy-vaasl --txKey $deployKey"
- ```
-
- * Obtain the auction ID
-
- ```bash
- laconic-so deployment --dir laconic-console-testnet2-deployment exec cli "laconic registry authority whois deploy-vaasl --txKey $deployKey"
- # "auction": {
- # "id": "73e0b082a198c396009ce748804a9060c674a10045365d262c1584f99d2771c1"
- ```
-
- * Commit a bid using the auction ID. A reveal file will be generated
-
- ```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"
-
- # {"reveal_file":"/app/out/bafyreiewi4osqyvrnljwwcb36fn6sr5iidfpuznqkz52gxc5ztt3jt4zmy.json"}
- ```
-
- * Reveal a bid using the auction ID and the reveal file generated from the bid commit
-
- ```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"
- # {"success": true}
- ```
-
- * Verify status after the auction ends. It should list a completed status and a winner
-
- ```
- laconic-so deployment --dir laconic-console-testnet2-deployment exec cli "laconic registry auction get 73e0b082a198c396009ce748804a9060c674a10045365d262c1584f99d2771c1 -txKey $deployKey"
- ```
-
- * Set the authority using a bond ID.
-
- ```bash
- laconic-so deployment --dir laconic-console-testnet2-deployment exec cli "laconic registry authority bond set deploy-vaasl $bondId --txKey $deployKey"
- # {"success": true}
- ```
-
- * Verify the authority has been registered.
-
- ```bash
- laconic-so deployment --dir laconic-console-testnet2-deployment exec cli "laconic registry authority whois deploy-vaasl --txKey $deployKey"
- ```
-
-
-* Update `/srv/snowball/snowball-deployment/data/config/prod.toml`. Replace `` with your credentials. Use the `userKey`, `bondId` and `authority` that you set up
-
-### Start
-
-* Start the deployment:
-
- ```bash
- laconic-so deployment --dir backend-deployment start
- ```
-
-* Check status:
-
- ```bash
- # Follow logs for snowball container
- laconic-so deployment --dir backend-deployment logs snowballtools-base-backend -f
- ```
-
-
-
-
- deploy-frontend
-
-## Deploy Frontend
-
-* Source repo:
-
-### Prerequisites
-
-* Node.js
-
-* Yarn
-
-### Setup
-
-* On your local machine, clone the `snowballtools-base` repo:
-
- ```bash
- git clone git@git.vdb.to:cerc-io/snowballtools-base.git
- ```
-
-* Install dependencies:
-
- ```bash
- cd snowballtools-base
- yarn install
- ```
-
-* In the deployer package, create required env:
-
- ```bash
- cd packages/deployer
- cp .env.example .env
- ```
-
- Set the required variables:
-
- ```bash
- REGISTRY_BOND_ID=
- DEPLOYER_LRN=lrn://vaasl-provider/deployers/webapp-deployer-api.apps.vaasl.io
- AUTHORITY=vaasl
- ```
- Note: The bond id should be set to the `vaasl` authority
-
-* Update required laconic config. You can use the same `userKey` and `bondId` used for deploying backend:
-
- ```bash
- # Replace and
- cat < config.yml
- services:
- registry:
- rpcEndpoint: https://laconicd-sapo.laconic.com
- gqlEndpoint: https://laconicd-sapo.laconic.com/api
- userKey:
- bondId:
- chainId: laconic-testnet-2
- gasPrice: 0.001alnt
- EOF
- ```
- Note: The `userKey` account should own the authority `vaasl`
-
-### Run
-
-* Run frontend deployment script:
-
- ```bash
- ./deploy-frontend.sh
- ```
-
- Follow deployment logs on the deployer UI
-
-
-
stage2 laconicd
@@ -1150,9 +738,9 @@
ports:
laconicd:
- '6060'
- - '127.0.0.1:36657:26657'
+ - '36657:26657'
- '36656:26656'
- - '127.0.0.1:3473:9473'
+ - '3473:9473'
- '127.0.0.1:3090:9090'
- '127.0.0.1:3317:1317'
```
@@ -1271,6 +859,421 @@
+
+ Shopify
+
+## Shopify
+
+* Stack:
+
+* Source repo:
+
+* Target dir: `/srv/shopify/laconic-shopify-deployment`
+
+* Cleanup an existing deployment if required:
+
+ ```bash
+ cd /srv/shopify
+
+ # Stop the deployment
+ laconic-so deployment --dir laconic-shopify-deployment stop
+
+ # Remove the deployment dir
+ sudo rm -rf laconic-shopify-deployment
+
+ # Remove the existing spec file
+ rm laconic-shopify-spec.yml
+ ```
+
+### Setup
+
+* Clone the stack repo:
+
+ ```bash
+ laconic-so fetch-stack git.vdb.to/cerc-io/testnet-laconicd-stack --pull
+
+ # This should clone the testnet-laconicd-stack repo at `/home/dev/cerc/testnet-laconicd-stack`
+ ```
+
+* Clone required repositories:
+
+ ```bash
+ laconic-so --stack ~/cerc/testnet-laconicd-stack/stack-orchestrator/stacks/laconic-shopify setup-repositories --pull
+
+ # This should clone the laconicd repos at `/home/dev/cerc/shopify` and `/home/dev/cerc/laconic-faucet`
+ ```
+
+* Build the container images:
+
+ ```bash
+ laconic-so --stack ~/cerc/testnet-laconicd-stack/stack-orchestrator/stacks/laconic-shopify build-containers --force-rebuild
+
+ # This should create the "cerc/laconic-shopify" and "cerc/laconic-shopify-faucet" Docker images
+ ```
+
+### Deployment
+
+* Create a spec file for the deployment:
+
+ ```bash
+ cd /srv/shopify
+
+ laconic-so --stack ~/cerc/testnet-laconicd-stack/stack-orchestrator/stacks/laconic-shopify deploy init --output laconic-shopify-spec.yml
+ ```
+
+* Create a deployment from the spec file:
+
+ ```bash
+ laconic-so --stack ~/cerc/testnet-laconicd-stack/stack-orchestrator/stacks/laconic-shopify deploy create --spec-file laconic-shopify-spec.yml --deployment-dir laconic-shopify-deployment
+ ```
+
+* Inside the `laconic-shopify-deployment` deployment directory, open `config.env` file and set following env variables:
+
+ ```bash
+ # Shopify GraphQL URL
+ CERC_SHOPIFY_GRAPHQL_URL='https://6h071x-zw.myshopify.com/admin/api/2024-10/graphql.json'
+
+ # Access token for Shopify API
+ CERC_SHOPIFY_ACCESS_TOKEN=
+
+ # Delay for fetching orders in milliseconds
+ CERC_FETCH_ORDER_DELAY=10000
+
+ # Number of line items per order in Get Orders GraphQL query
+ CERC_ITEMS_PER_ORDER=10
+
+ # Private key of a funded faucet account
+ CERC_FAUCET_KEY=
+
+ # laconicd RPC endpoint
+ CERC_LACONICD_RPC_ENDPOINT='https://laconicd-sapo.laconic.com'
+
+ # laconicd chain id
+ CERC_LACONICD_CHAIN_ID=laconic-testnet-2
+
+ # laconicd address prefix
+ CERC_LACONICD_PREFIX=laconic
+
+ # laconicd gas price
+ CERC_LACONICD_GAS_PRICE=0.001
+ ```
+
+### Start
+
+* Start the deployment:
+
+ ```bash
+ laconic-so deployment --dir laconic-shopify-deployment start
+ ```
+
+* Check status:
+
+ ```bash
+ # Check logs for faucet and shopify containers
+ laconic-so deployment --dir laconic-shopify-deployment logs shopify -f
+ laconic-so deployment --dir laconic-shopify-deployment logs faucet -f
+ ```
+
+
+
+
+ deploy-backend
+
+## Deploy Backend
+
+* Stack:
+
+* Source repo:
+
+* Target dir: `/srv/deploy-backend/backend-deployment`
+
+* Cleanup an existing deployment if required:
+
+ ```bash
+ cd /srv/deploy-backend
+
+ # Stop the deployment
+ laconic-so deployment --dir backend-deployment stop --delete-volumes
+
+ # Remove the deployment dir
+ sudo rm -rf backend-deployment
+
+ # Remove the existing spec file
+ rm backend-deployment-spec.yml
+ ```
+
+### Setup
+
+* Clone the stack repo:
+
+ ```bash
+ laconic-so fetch-stack git.vdb.to/cerc-io/snowballtools-base-api-stack --pull
+
+ # This should clone the snowballtools-base-api-stack repo at `/home/dev/cerc/snowballtools-base-api-stack`
+ ```
+
+* Clone required repositories:
+
+ ```bash
+ laconic-so --stack ~/cerc/snowballtools-base-api-stack/stack-orchestrator/stacks/snowballtools-base-backend setup-repositories --git-ssh --pull
+
+ # This should clone the snowballtools-base repo at `/home/dev/cerc/snowballtools-base`
+ ```
+
+* Build the container images:
+
+ ```bash
+ laconic-so --stack ~/cerc/snowballtools-base-api-stack/stack-orchestrator/stacks/snowballtools-base-backend build-containers --force-rebuild
+
+ # 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
+
+* Create a spec file for the deployment:
+
+ ```bash
+ cd /srv/backend-deployment
+
+ 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
+ ```
+
+* Edit the spec file to deploy the stack to k8s:
+
+ ```bash
+ stack:
+ /home/dev/cerc/snowballtools-base-api-stack/stack-orchestrator/stacks/snowballtools-base-backend
+ deploy-to: k8s
+ kube-config: /home/dev/.kube/config-vs-narwhal.yaml
+ image-registry: container-registry.apps.vaasl.io/laconic-registry
+ config:
+ SNOWBALL_BACKEND_CONFIG_FILE_PATH: /config/prod.toml
+ network:
+ ports:
+ deploy-backend:
+ - '8000'
+ http-proxy:
+ - host-name: deploy-backend.apps.vaasl.io
+ routes:
+ - path: '/'
+ proxy-to: deploy-backend:8000
+ volumes:
+ data:
+ configmaps:
+ config: ./configmaps/config
+ ```
+
+* Create a deployment from the spec file:
+
+ ```bash
+ laconic-so --stack ~/cerc/snowballtools-base-api-stack/stack-orchestrator/stacks/snowballtools-base-backend deploy create --deployment-dir backend-deployment --spec-file backend-deployment-spec.yml
+ # This should create the deployment directory at `/srv/deploy-backend/backend-deployment`
+ ```
+
+* Modify file `backend-deployment/kubeconfig.yml` if required:
+
+ ```bash
+ apiVersion: v1
+ ...
+ contexts:
+ - context:
+ cluster: ***
+ user: ***
+ name: default
+ ...
+ ```
+
+ NOTE: `context.name` must be default to use with SO
+
+* Fetch the config template file for the snowball backend:
+
+ ```bash
+ # 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
+ ```
+
+* Setup private key and bond. If not already setup, execute the following commands in the directory containing `stage2-deployment`
+
+ * Create a new account and fetch the private key
+
+ ```bash
+ laconic-so deployment --dir stage2-deployment exec laconicd "laconicd keys add deploy"
+ # - address: laconic1yr758d5vkg28text073vlzdjdgd7ud6w729tww
+ ...
+ export deployKey=$(laconic-so deployment --dir stage2-deployment exec laconicd "echo y | laconicd keys export deploy --keyring-backend test --unarmored-hex --unsafe")
+ # ...
+ # txhash: 262D380259AC06024F87C909EB0BF7814CEC26CDF527B003C4C10631E1DB5893
+ ```
+
+ * Send tokens to this account
+
+ ```bash
+ laconic-so deployment --dir stage2-deployment exec laconicd "laconicd tx bank send alice laconic1yr758d5vkg28text073vlzdjdgd7ud6w729tww 1000000000000000000alnt --from alice --fees 200000alnt -y"
+ ```
+
+ * Create a bond using this account
+
+ ```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'
+ # 15e5bc37c40f67adc9ab498fa3fa50b090770f9bb56b27d71714a99138df9a22
+ ```
+
+ * Set bond id
+
+ ```bash
+ export bondId=15e5bc37c40f67adc9ab498fa3fa50b090770f9bb56b27d71714a99138df9a22
+ ```
+
+* Register authority. Execute the following commands in the directory containing `laconic-console-testnet2-deployment`
+
+ * Reserve an authority
+
+ ```bash
+ laconic-so deployment --dir laconic-console-testnet2-deployment exec cli "laconic registry authority reserve deploy-vaasl --txKey $deployKey"
+ ```
+
+ * Obtain the auction ID
+
+ ```bash
+ laconic-so deployment --dir laconic-console-testnet2-deployment exec cli "laconic registry authority whois deploy-vaasl --txKey $deployKey"
+ # "auction": {
+ # "id": "73e0b082a198c396009ce748804a9060c674a10045365d262c1584f99d2771c1"
+ ```
+
+ * Commit a bid using the auction ID. A reveal file will be generated
+
+ ```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"
+
+ # {"reveal_file":"/app/out/bafyreiewi4osqyvrnljwwcb36fn6sr5iidfpuznqkz52gxc5ztt3jt4zmy.json"}
+ ```
+
+ * Reveal a bid using the auction ID and the reveal file generated from the bid commit
+
+ ```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"
+ # {"success": true}
+ ```
+
+ * Verify status after the auction ends. It should list a completed status and a winner
+
+ ```bash
+ laconic-so deployment --dir laconic-console-testnet2-deployment exec cli "laconic registry auction get 73e0b082a198c396009ce748804a9060c674a10045365d262c1584f99d2771c1 -txKey $deployKey"
+ ```
+
+ * Set the authority using a bond ID.
+
+ ```bash
+ laconic-so deployment --dir laconic-console-testnet2-deployment exec cli "laconic registry authority bond set deploy-vaasl $bondId --txKey $deployKey"
+ # {"success": true}
+ ```
+
+ * Verify the authority has been registered.
+
+ ```bash
+ laconic-so deployment --dir laconic-console-testnet2-deployment exec cli "laconic registry authority whois deploy-vaasl --txKey $deployKey"
+ ```
+
+* Update `/srv/snowball/snowball-deployment/data/config/prod.toml`. Replace `` with your credentials. Use the `userKey`, `bondId` and `authority` that you set up
+
+### Start
+
+* Start the deployment:
+
+ ```bash
+ laconic-so deployment --dir backend-deployment start
+ ```
+
+* Check status:
+
+ ```bash
+ # Follow logs for snowball container
+ laconic-so deployment --dir backend-deployment logs snowballtools-base-backend -f
+ ```
+
+
+
+
+ deploy-frontend
+
+## Deploy Frontend
+
+* Source repo:
+
+### Prerequisites
+
+* Node.js
+
+* Yarn
+
+### Setup
+
+* On your local machine, clone the `snowballtools-base` repo:
+
+ ```bash
+ git clone git@git.vdb.to:cerc-io/snowballtools-base.git
+ ```
+
+* Install dependencies:
+
+ ```bash
+ cd snowballtools-base
+ yarn install
+ ```
+
+* In the deployer package, create required env:
+
+ ```bash
+ cd packages/deployer
+ cp .env.example .env
+ ```
+
+ Set the required variables:
+
+ ```bash
+ REGISTRY_BOND_ID=
+ DEPLOYER_LRN=lrn://vaasl-provider/deployers/webapp-deployer-api.apps.vaasl.io
+ AUTHORITY=vaasl
+ ```
+
+ Note: The bond id should be set to the `vaasl` authority
+
+* Update required laconic config. You can use the same `userKey` and `bondId` used for deploying backend:
+
+ ```bash
+ # Replace and
+ cat < config.yml
+ services:
+ registry:
+ rpcEndpoint: https://laconicd-sapo.laconic.com
+ gqlEndpoint: https://laconicd-sapo.laconic.com/api
+ userKey:
+ bondId:
+ chainId: laconic-testnet-2
+ gasPrice: 0.001alnt
+ EOF
+ ```
+
+ Note: The `userKey` account should own the authority `vaasl`
+
+### Run
+
+* Run frontend deployment script:
+
+ ```bash
+ ./deploy-frontend.sh
+ ```
+
+ Follow deployment logs on the deployer UI
+
+
+
Fixturenet Eth
diff --git a/ops/stage1-to-stage2.md b/ops/stage1-to-stage2.md
index 3c62451..d3453a7 100644
--- a/ops/stage1-to-stage2.md
+++ b/ops/stage1-to-stage2.md
@@ -128,7 +128,7 @@
scp dev@:/srv/laconicd/stage2-deployment/genesis.json
```
-* Now users can follow the steps to [Upgrade to testnet2](../testnet-onboarding-validator.md#upgrade-to-testnet2)
+* Now users can follow the steps to [Upgrade to SAPO testnet](../testnet-onboarding-validator.md#upgrade-to-sapo-testnet)
## Bank Transfer
diff --git a/testnet-onboarding-validator.md b/testnet-onboarding-validator.md
index 4f4ebf7..9e2c9e9 100644
--- a/testnet-onboarding-validator.md
+++ b/testnet-onboarding-validator.md
@@ -295,7 +295,7 @@ laconic-so deployment --dir testnet-laconicd-deployment start
* A testnet stage1 node
- * For setting up a fresh testnet2 node, follow [Join as a validator](#join-as-a-validator-on-stage1), but use testnet2 chain id (`laconic-testnet-2`)
+ * For setting up a fresh testnet2 node, follow [Join as a validator](#join-as-a-validator-on-stage1) instead, but use testnet2 chain id (`laconic-testnet-2`)
### Setup