| .. | ||
| records | ||
| .registry.env.example | ||
| config.yml | ||
| deploy.sh | ||
| Dockerfile | ||
| laconic-cli.sh | ||
| publish-pricing.md | ||
| README.md | ||
| remove-deployment.sh | ||
Deploy
Setup
gor-deploy
-
Clone the repo:
git clone git@git.vdb.to:LaconicNetwork/gor-deploy.git cd gor-deploy/deploy -
Build registry CLI image:
docker build -t cerc/laconic-registry-cli . # Builds image cerc/laconic-registry-cli:latest -
Configure
userKeyandbondIdin the registry CLI config:- User key should be of the account that owns the
laconic-deployauthority (owner account address:laconic1kwx2jm6vscz38qlyujvq6msujmk8l3zangqahs) - The bond should also be owned by same user (owned bond's ID:
5d82586d156fb6671a9170d92f930a72a49a29afb45e30e16fff2100e30776e2) - If the authority is not available, follow these steps to reserve a new authority
nano config.yml - User key should be of the account that owns the
-
This project requires pricing records for cost of deployment and cost of alnt to be published
-
Check if these records are available by running following commands:
# Check if `lrn://laconic/pricing/webapp-deployment` is available ./laconic-cli.sh name resolve lrn://laconic/pricing/webapp-deployment # Check if `lrn://laconic/pricing/alnt` is available ./laconic-cli.sh name resolve lrn://laconic/pricing/alnt -
If these records are not available, follow these steps to publish them
-
-
Add configuration for registry operations:
cp .registry.env.example .registry.env # Update values if required nano .registry.env -
Add configuration for the app:
curl -s https://git.vdb.to/LaconicNetwork/gor-deploy/raw/branch/mtm-deploy/.env.example -o .app.env # Fill in the required values nano .app.env-
Required environment variables:
Client-side (must be prefixed with NEXT_PUBLIC_):
NEXT_PUBLIC_SOLANA_RPC_URL- The RPC URL for the Solana blockchain (SPL token transactions)NEXT_PUBLIC_GORBAGANA_RPC_URL- The RPC URL for the Gorbagana blockchain (native GOR transactions)NEXT_PUBLIC_ENABLE_NATIVE_GOR_TRANSFER- Enable native GOR token transfers (true/false)NEXT_PUBLIC_SOLANA_TOKEN_RECIPIENT_ADDRESS- The Solana address that will receive token paymentsNEXT_PUBLIC_ALNT_COST_LRN- LRN for ALNT token pricingNEXT_PUBLIC_DEPLOYMENT_COST_LRN- LRN for deployment cost pricingNEXT_PUBLIC_DOMAIN_SUFFIX- Suffix to append to DNS names in the UI (e.g. ".example.com")
Server-side:
REGISTRY_BOND_ID- The bond ID to use for Laconic Registry recordsREGISTRY_AUTHORITY- The authority for Laconic Registry LRNsREGISTRY_USER_KEY- The private key of account which will publish records- The account should own the
laconic-deployauthority which is set inREGISTRY_AUTHORITY
- The account should own the
DEPLOYER_LRN- The LRN of the deployer
-
Run
-
Deploy
gor-deployApp:# In gor-deploy/deploy dir docker run -it \ -v ./:/app/deploy -w /app/deploy \ -e DEPLOYMENT_DNS=mtm-deploy.laconic.com \ cerc/laconic-registry-cli:latest \ ./deploy.sh -
Check deployment logs on deployer UI: https://webapp-deployer-ui.apps.vaasl.io/
-
Visit deployed app: https://gor-deploy.apps.vaasl.io
Remove deployment
-
Remove deployment:
# In gor-deploy/deploy dir docker run -it \ -v ./:/app/deploy -w /app/deploy \ -e DEPLOYMENT_RECORD_ID=<deploment-record-id-to-be-removed> \ cerc/laconic-registry-cli:latest \ ./remove-deployment.sh