Add instructions to update SP setup for custom domains (#43)

Part of https://www.notion.so/Support-custom-domains-in-deploy-laconic-com-18aa6b22d4728067a44ae27090c02ce5 and cerc-io/snowballtools-base#47

Reviewed-on: #43
Reviewed-by: ashwin <ashwin@noreply.git.vdb.to>
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
This commit is contained in:
Prathamesh Musale 2025-02-04 13:34:54 +00:00 committed by nabarun
parent e42e3d13cc
commit 06e8fe66ea
3 changed files with 126 additions and 10 deletions

View File

@ -26,6 +26,10 @@ Follow steps in [Upgrade to SAPO testnet](./testnet-onboarding-validator.md#upgr
Follow steps in [service-provider.md](./service-provider.md) to setup / update your service provider Follow steps in [service-provider.md](./service-provider.md) to setup / update your service provider
### Support Custom Domains
Follow steps to [Update service provider for custom domains](./service-provider.md#update-service-provider-for-custom-domains)
## Run testnet Nitro Node ## Run testnet Nitro Node
Follow steps in [testnet-nitro-node.md](./testnet-nitro-node.md) to run your Nitro node for the testnet Follow steps in [testnet-nitro-node.md](./testnet-nitro-node.md) to run your Nitro node for the testnet

View File

@ -351,17 +351,18 @@ Instructions to reset / update the deployments
laconic-so deployment --dir webapp-deployer start laconic-so deployment --dir webapp-deployer start
``` ```
- Load context for k8s * Load context for k8s
```bash ```bash
kubie ctx vs-narwhal kubie ctx vs-narwhal
``` ```
- Copy the GPG key file to the webapp-deployer container * Copy the GPG key file to the webapp-deployer container
```bash ```bash
# Get the webapp-deployer pod id # Get the webapp-deployer pod id
laconic-so deployment --dir webapp-deployer ps laconic-so deployment --dir webapp-deployer ps
# Expected output # Expected output
# Running containers: # Running containers:
# id: default/laconic-096fed46af974a47-deployment-644db859c7-snbq6, name: laconic-096fed46af974a47-deployment-644db859c7-snbq6, ports: 10.42.2.11:9555->9555 # id: default/laconic-096fed46af974a47-deployment-644db859c7-snbq6, name: laconic-096fed46af974a47-deployment-644db859c7-snbq6, ports: 10.42.2.11:9555->9555
@ -394,7 +395,7 @@ Instructions to reset / update the deployments
laconic-so build-webapp --source-repo ~/cerc/webapp-deployment-status-ui laconic-so build-webapp --source-repo ~/cerc/webapp-deployment-status-ui
``` ```
- Modify `/srv/service-provider/webapp-ui/config.env` like [this Pull Request](https://git.vdb.to/cerc-io/webapp-deployment-status-ui/pulls/6) but with your host details. * Modify `/srv/service-provider/webapp-ui/config.env` like [this Pull Request](https://git.vdb.to/cerc-io/webapp-deployment-status-ui/pulls/6) but with your host details.
* Restart the deployment: * Restart the deployment:
@ -406,7 +407,7 @@ Instructions to reset / update the deployments
## Deploy Backend ## Deploy Backend
* Deployment dir: `/srv/deploy-backend/backend-deployment` * Deployment dir: `/srv/deploy-backend/laconic-backend-deployment`
* If code has changed, fetch and build with updated source code: * If code has changed, fetch and build with updated source code:
@ -430,22 +431,23 @@ Instructions to reset / update the deployments
docker login $CONTAINER_REGISTRY_URL --username $CONTAINER_REGISTRY_USERNAME --password $CONTAINER_REGISTRY_PASSWORD docker login $CONTAINER_REGISTRY_URL --username $CONTAINER_REGISTRY_USERNAME --password $CONTAINER_REGISTRY_PASSWORD
# Push backend images # Push backend images
laconic-so deployment --dir backend-deployment push-images laconic-so deployment --dir laconic-backend-deployment push-images
``` ```
* Update the configuration if required in `backend-deployment/configmaps/config/prod.toml` * Update the configuration if required in `laconic-backend-deployment/configmaps/config/prod.toml`
* Restart the deployment: * Restart the deployment:
```bash ```bash
laconic-so deployment --dir backend-deployment stop laconic-so deployment --dir laconic-backend-deployment stop
laconic-so deployment --dir backend-deployment start laconic-so deployment --dir laconic-backend-deployment start
``` ```
## Deply Frontend ## Deply Frontend
* Follow steps from [deployments-from-scratch.md](./deployments-from-scratch.md#deploy-frontend) to deploy the snowball frontend * Follow steps similar to [deployments-from-scratch.md](./deployments-from-scratch.md#deploy-frontend) to deploy the snowball frontend
* Use auhority `laconic-deploy` and the script `deploy-frontend.sh` instead
## Fixturenet Eth ## Fixturenet Eth

View File

@ -398,3 +398,113 @@ Follow the steps below to point your deployer to the SAPO testnet
```bash ```bash
laconic-so deployment --dir webapp-ui logs webapp laconic-so deployment --dir webapp-ui logs webapp
``` ```
## Update service provider for custom domains
### Stop webapp deployer
```bash
# In directory where webapp-deployer deployment was created
laconic-so deployment --dir webapp-deployer stop
```
### Update webapp deployer setup
* Fetch latest stack repos:
```bash
# In directory where webapp-deployer deployment was created
laconic-so --stack webapp-deployer-backend setup-repositories --pull
# Confirm latest commit hash in the ~/cerc/webapp-deployment-status-api repo
```
* Rebuild container images:
```bash
laconic-so --stack webapp-deployer-backend build-containers --force-rebuild
```
* Push stack images to the container registry:
* Login to the container registry:
```bash
# Set required variables
# eg: container-registry.pwa.laconic.com
CONTAINER_REGISTRY_URL=
CONTAINER_REGISTRY_USERNAME=
CONTAINER_REGISTRY_PASSWORD=
# login to container registry
docker login $CONTAINER_REGISTRY_URL --username $CONTAINER_REGISTRY_USERNAME --password $CONTAINER_REGISTRY_PASSWORD
# WARNING! Using --password via the CLI is insecure. Use --password-stdin.
# WARNING! Your password will be stored unencrypted in /home/dev2/.docker/config.json.
# Configure a credential helper to remove this warning. See
# https://docs.docker.com/engine/reference/commandline/login/#credential-stores
# Login Succeeded
```
* Push images:
```bash
laconic-so deployment --dir webapp-deployer push-images
```
* Update deployer config (`webapp-deployer/config.env`):
```bash
# Update FQDN policy to "allow" for allowing custom domains
FQDN_POLICY="allow"
# Set IP of your k8s cluster (IP set in DNS records for users)
DEPLOYMENT_IP="a.b.c.d"
```
### Start webapp deployer
* Start the webapp deployer:
```bash
laconic-so deployment --dir webapp-deployer start
```
* Get the webapp-deployer pod id:
```bash
laconic-so deployment --dir webapp-deployer ps
# Expected output
# Running containers:
# id: default/laconic-096fed46af974a47-deployment-644db859c7-snbq6, name: laconic-096fed46af974a47-deployment-644db859c7-snbq6, ports: 10.42.2.11:9555->9555
# Set pod id
export POD_ID=
# Example:
# export POD_ID=laconic-096fed46af974a47-deployment-644db859c7-snbq6
```
* Copy over GPG keys files to the webapp-deployer container:
```bash
kubie ctx default
# Copy the GPG key files to the pod
kubectl cp <path-to-your-gpg-private-key> $POD_ID:/app
kubectl cp <path-to-your-gpg-public-key> $POD_ID:/app
# Required every time you stop and start the deployer
```
* Check logs:
```bash
# Deployer
kubectl logs -f $POD_ID
# Deployer auction handler
kubectl logs -f $POD_ID -c cerc-webapp-auction-handler
```