From e52038852ad6be62ed1a38224a52e5c408b279d4 Mon Sep 17 00:00:00 2001 From: Mathieu Gauthron Date: Mon, 21 Apr 2025 17:20:15 +0100 Subject: [PATCH 1/6] added verana config in testnet --- chains/testnet/verana.json | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 chains/testnet/verana.json diff --git a/chains/testnet/verana.json b/chains/testnet/verana.json new file mode 100644 index 0000000000..92a80798cc --- /dev/null +++ b/chains/testnet/verana.json @@ -0,0 +1,25 @@ +{ + "chain_name": "verana", + "chain_id": "vna-devnet-1", + "status": "live", + "api": [ + {"provider": "primenode", "address": "http://node1.devnet.verana.network:1317"}, + {"provider": "node2", "address": "http://node2.devnet.verana.network:1317"} + ], + "rpc": [ + {"provider": "primenode", "address": "http://node1.devnet.verana.network:26657"}, + {"provider": "node2", "address": "http://node2.devnet.verana.network:26657"} + ], + "sdk_version": "0.50.13", + "coin_type": "118", + "min_tx_fee": "8000", + "assets": [{ + "base": "uvna", + "symbol": "VNA", + "exponent": "6", + "logo": "/logos/verana.svg" + }], + "addr_prefix": "verana", + "theme_color": "#161723", + "logo": "/logos/verana.svg" +} From ddb50d2dfbf1547a2513a21a106173960d0eafa2 Mon Sep 17 00:00:00 2001 From: pratikasr Date: Mon, 21 Apr 2025 22:06:58 +0530 Subject: [PATCH 2/6] fix: add verana json config to mainnet directory Signed-off-by: pratikasr --- chains/{testnet => mainnet}/verana.json | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename chains/{testnet => mainnet}/verana.json (100%) diff --git a/chains/testnet/verana.json b/chains/mainnet/verana.json similarity index 100% rename from chains/testnet/verana.json rename to chains/mainnet/verana.json From 07b90b635a7e67fcd35d563676447fe68a1fabc6 Mon Sep 17 00:00:00 2001 From: Mathieu Gauthron Date: Sun, 27 Apr 2025 13:16:47 +0100 Subject: [PATCH 3/6] feat: new deploy-explorer --- .github/workflows/deploy-explorer.yaml | 102 +++++++++++++++++++++++++ kubernetes/explorer-config.yaml | 30 ++++++++ kubernetes/explorer-deployment.yaml | 30 ++++++++ 3 files changed, 162 insertions(+) create mode 100644 .github/workflows/deploy-explorer.yaml create mode 100644 kubernetes/explorer-config.yaml create mode 100644 kubernetes/explorer-deployment.yaml diff --git a/.github/workflows/deploy-explorer.yaml b/.github/workflows/deploy-explorer.yaml new file mode 100644 index 0000000000..a89258eb87 --- /dev/null +++ b/.github/workflows/deploy-explorer.yaml @@ -0,0 +1,102 @@ +name: Deploy Explorer App + +on: + workflow_dispatch: + inputs: + RPC_ENDPOINTS: + description: 'JSON array of RPC endpoints' + required: true + default: '[{"provider":"primenode","address":"http://node1.devnet.verana.network:26657"}]' + API_ENDPOINTS: + description: 'JSON array of API endpoints' + required: true + default: '[{"provider":"primenode","address":"http://node1.devnet.verana.network:1317"}]' + CLUSTER_NODE: + description: 'Cluster node name' + required: true + default: 'cluster-utc-node-07efe5' + +env: + DH_USERNAME: ${{ secrets.DOCKER_HUB_USERNAME }} + DH_TOKEN: ${{ secrets.DOCKER_HUB_PASSWORD }} + KUBECONFIG: ${{ secrets.OVH_KUBECONFIG }} + IMAGE_NAME: 'explorer-app' + IMAGE_TAG: 'latest' + +jobs: + build-and-deploy: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Install dependencies + run: yarn install + + - name: Build project + run: yarn run vue-cli-service build + + - name: Update verana.json with Input Values + run: | + mkdir -p ./chains/mainnet + jq --argjson rpc "${{ github.event.inputs.RPC_ENDPOINTS }}" \ + --argjson api "${{ github.event.inputs.API_ENDPOINTS }}" \ + '.rpc = $rpc | .api = $api' \ + ./chains/mainnet/verana.json > ./chains/mainnet/verana-updated.json + mv ./chains/mainnet/verana-updated.json ./chains/mainnet/verana.json + + - name: Log in to DockerHub + uses: docker/login-action@v2 + with: + username: ${{ env.DH_USERNAME }} + password: ${{ env.DH_TOKEN }} + + - name: Build and push Docker image + uses: docker/build-push-action@v5 + with: + context: . + push: true + tags: ${{ env.DH_USERNAME }}/${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }} + + - name: Determine Branch Name + id: determine-branch + run: | + if [ "${{ github.ref_name }}" == "main" ]; then + echo "BRANCH_NAME=vna-devnet-main" >> $GITHUB_ENV + else + BRANCH_NAME=$(echo "vna-devnet-${{ github.ref_name }}" | sed 's/\//-/g') + echo "BRANCH_NAME=$BRANCH_NAME" >> $GITHUB_ENV + fi + + - name: Set up kubectl + uses: azure/setup-kubectl@v4 + with: + version: 'v1.29.9' + + - name: Create Namespace + run: | + echo "$KUBECONFIG" > k8s_config + export KUBECONFIG=k8s_config + kubectl create namespace ${{ env.BRANCH_NAME }} || true + + - name: Deploy ConfigMap + run: | + echo "$KUBECONFIG" > k8s_config + export KUBECONFIG=k8s_config + kubectl apply -f kubernetes/explorer-config.yaml --namespace=${{ env.BRANCH_NAME }} + + - name: Deploy Explorer App + run: | + echo "$KUBECONFIG" > k8s_config + export KUBECONFIG=k8s_config + sed -i "s|yourdockerhubusername/explorer-app:latest|${{ env.DH_USERNAME }}/${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }}|" ./kubernetes/explorer-deployment.yaml + kubectl apply -f kubernetes/explorer-deployment.yaml --namespace=${{ env.BRANCH_NAME }} + + - name: Deploy Explorer LoadBalancer Service (optional) + run: | + echo "$KUBECONFIG" > k8s_config + export KUBECONFIG=k8s_config + kubectl apply -f kubernetes/explorer-service.yaml --namespace=${{ env.BRANCH_NAME }} \ No newline at end of file diff --git a/kubernetes/explorer-config.yaml b/kubernetes/explorer-config.yaml new file mode 100644 index 0000000000..cea2eb734e --- /dev/null +++ b/kubernetes/explorer-config.yaml @@ -0,0 +1,30 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: explorer-config + namespace: default # (this will be overridden by --namespace=${{ env.BRANCH_NAME }}) +data: + verana.json: | + { + "chain_name": "verana", + "chain_id": "vna-devnet-1", + "status": "live", + "api": [ + {"provider": "primenode", "address": "http://node1.devnet.verana.network:1317"} + ], + "rpc": [ + {"provider": "primenode", "address": "http://node1.devnet.verana.network:26657"} + ], + "sdk_version": "0.50.13", + "coin_type": "118", + "min_tx_fee": "8000", + "assets": [{ + "base": "uvna", + "symbol": "VNA", + "exponent": "6", + "logo": "/logos/verana.svg" + }], + "addr_prefix": "verana", + "theme_color": "#161723", + "logo": "/logos/verana.svg" + } \ No newline at end of file diff --git a/kubernetes/explorer-deployment.yaml b/kubernetes/explorer-deployment.yaml new file mode 100644 index 0000000000..d0183ab7eb --- /dev/null +++ b/kubernetes/explorer-deployment.yaml @@ -0,0 +1,30 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: explorer-deployment + namespace: default # (will be replaced dynamically) + labels: + app: explorer +spec: + replicas: 1 + selector: + matchLabels: + app: explorer + template: + metadata: + labels: + app: explorer + spec: + containers: + - name: explorer + image: yourdockerhubusername/explorer-app:latest # will be replaced dynamically + ports: + - containerPort: 80 + volumeMounts: + - name: config-volume + mountPath: /usr/share/nginx/html/chains/mainnet + readOnly: true + volumes: + - name: config-volume + configMap: + name: explorer-config \ No newline at end of file From 0a9d6893ce554b08db43f062de52437467c526e8 Mon Sep 17 00:00:00 2001 From: Mathieu Gauthron Date: Sun, 27 Apr 2025 13:49:00 +0100 Subject: [PATCH 4/6] feat: new deploy-explorer --- .github/workflows/deploy-explorer.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/deploy-explorer.yaml b/.github/workflows/deploy-explorer.yaml index a89258eb87..cb13ce4f44 100644 --- a/.github/workflows/deploy-explorer.yaml +++ b/.github/workflows/deploy-explorer.yaml @@ -3,6 +3,14 @@ name: Deploy Explorer App on: workflow_dispatch: inputs: + CHAIN_NAME: + description: 'Chain name' + required: true + default: 'verana' + CHAIN_ID: + description: 'Chain ID' + required: true + default: 'vna-devnet-1' RPC_ENDPOINTS: description: 'JSON array of RPC endpoints' required: true From 498538a9dbe6a507ea5df07c62f82564a3a96253 Mon Sep 17 00:00:00 2001 From: Mathieu Gauthron Date: Sun, 27 Apr 2025 14:04:43 +0100 Subject: [PATCH 5/6] feat: update deploy-explorer --- .github/workflows/deploy-explorer.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy-explorer.yaml b/.github/workflows/deploy-explorer.yaml index cb13ce4f44..46383c8deb 100644 --- a/.github/workflows/deploy-explorer.yaml +++ b/.github/workflows/deploy-explorer.yaml @@ -45,7 +45,7 @@ jobs: run: yarn install - name: Build project - run: yarn run vue-cli-service build + run: yarn build - name: Update verana.json with Input Values run: | From c67febc25eddd331487abb9aaccb46a1bbd97b1a Mon Sep 17 00:00:00 2001 From: Mathieu Gauthron Date: Sun, 27 Apr 2025 14:10:35 +0100 Subject: [PATCH 6/6] feat: update deploy-explorer --- .github/workflows/deploy-explorer.yaml | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/.github/workflows/deploy-explorer.yaml b/.github/workflows/deploy-explorer.yaml index 46383c8deb..f723644b0f 100644 --- a/.github/workflows/deploy-explorer.yaml +++ b/.github/workflows/deploy-explorer.yaml @@ -50,10 +50,16 @@ jobs: - name: Update verana.json with Input Values run: | mkdir -p ./chains/mainnet - jq --argjson rpc "${{ github.event.inputs.RPC_ENDPOINTS }}" \ - --argjson api "${{ github.event.inputs.API_ENDPOINTS }}" \ - '.rpc = $rpc | .api = $api' \ - ./chains/mainnet/verana.json > ./chains/mainnet/verana-updated.json + jq --arg rpc_raw '${{ github.event.inputs.RPC_ENDPOINTS }}' \ + --arg api_raw '${{ github.event.inputs.API_ENDPOINTS }}' \ + --arg chain_name "${{ github.event.inputs.CHAIN_NAME }}" \ + --arg chain_id "${{ github.event.inputs.CHAIN_ID }}" \ + ' + .rpc = ($rpc_raw | fromjson) | + .api = ($api_raw | fromjson) | + .chain_name = $chain_name | + .chain_id = $chain_id + ' ./chains/mainnet/verana.json > ./chains/mainnet/verana-updated.json mv ./chains/mainnet/verana-updated.json ./chains/mainnet/verana.json - name: Log in to DockerHub