Sign inSign up

kandolanetwork/data3-storage-node

By kandolanetwork

Updated over 2 years ago

Data3 Network's Storage Node that is deployed once per customer deployment. #decentralized #dbaas

Image
0

581

kandolanetwork/data3-storage-node repository overview

kandolanetwork/data3-storage-node

What is the data3-storage-node?

The "data3-storage-node" docker image is meant for node providers within the Data3 Network ecosystem, a decentralized Database-as-a-Service (DBaaS) platform engineered by Kandola Network.

One data3-storage-node is deployed per customer deployment by the data3 node provider who won the bid for a customer request. The data3-storage-node allows secure access to the underlying database instances for customers and also provides an agent for pushing observability metrics to the observability server hosted by the node provider.

Key functionalities of the "data3-storage-node":

  • Decentralized Communication: Ensures secure communication between the storage node and the node provider.
  • Database Access: Allows secure and native access (through DB Proxy) to the underlying database instances, especially for customers.
  • Observability Agents: Offers comprehensive monitoring agents that provide real-time insights into the operational status and performance of the decentralized databases.

TL;DR

docker run --name storage-node-1 kandolanetwork/data3-storage-node:latest

Prerequisites & Dependencies

  • Operating System: Linux (AMD)
  • HTTP(S) access to the node provider service

Getting Started

Get this image

The recommended way to get the data3-storage-node Docker Image is to pull the prebuilt image from the Docker Hub Registry.

docker pull kandolanetwork/data3-storage-node:latest

To use a specific version, you can pull a versioned tag. You can view the list of available versions in the Docker Hub Registry.

docker pull kandolanetwork/data3-storage-node:[TAG]

Launch data3-storage-node

Step 1: Create a network
docker network create data3-storage-node-network --driver bridge
Step 2: Create data volumes
docker volume create data3-storage-node-volume
Step 3: Launch the Data3 Storage Node instance
docker run -d --name node-provider-1 \
    --network data3-storage-node-network \
    --volume data3-storage-node-volume
    kandolanetwork/data3-storage-node:latest

See below for environment variables that you can pass using -e docker run flag.

Using a Docker Compose file

When not specified, Docker Compose automatically sets up a new network and attaches all deployed services to that network. However, we will explicitly define a new bridge network named data3-storage-node-network.

version: '2.24.5'
services:
  data3-storage-node:
    container_name: data3-storage-node-1
    image: kandolanetwork/data3-storage-node:latest
    environment:
      GRAILS_ENV: development
      OBSERVABILITY_SERVER_HOSTNAME: 192.168.5.168
      OBSERVABILITY_SERVER_PORT: 8443
      OBSERVABILITY_SERVER_USERNAME: admin
      OBSERVABILITY_SERVER_PASSWORD: admin
      DBPROXY_ADMIN_USERNAME: admin
      DBPROXY_ADMIN_PASSWORD: admin

      NODE_PROVIDER_BASE_URL: http://192.168.5.168:8080/
      SELF_STORAGE_NODE_HOSTNAME: 192.168.5.168
    volumes:
      - data3-storage-node-volume:/app/data_home
      - ./proxysql.cnf:/etc/proxysql.cnf
    expose:
      - 8080
      - 6033
      - 42000
      - 42001
    ports:
      - "16033:6033"
      - "38080:8080"
      - "42000:42000"
      - "42001:42001"
    networks:
      - data3-storage-node-network
    extra_hosts:
      - "host.docker.internal:host-gateway"
volumes:
  data3-storage-node-volume:
networks:
  data3-storage-node-network:
    driver: bridge

Configuration

Environment variables

NameDescriptionSample Value
GRAILS_ENVEnvironment type for application development , test, production, etc.development
OBSERVABILITY_SERVER_HOSTNAMEHostname / IP of the observability server.192.168.5.168
OBSERVABILITY_SERVER_PORTPort number of the observability server.8443
OBSERVABILITY_SERVER_USERNAMEUsername for the observability agent to login to the observability server.admin
OBSERVABILITY_SERVER_PASSWORDPassword for the observability agent to login to the observability server.observabilityAdminPass123
DBPROXY_ADMIN_USERNAMEUsername for the managing the DB proxy.admin
DBPROXY_ADMIN_PASSWORDPassword for the managing the DB proxy.adminPass123
NODE_PROVIDER_BASE_URLAPI Base URL of the Data3 Data3 Node Provider Service.http://192.168.5.168:8080/
SELF_STORAGE_NODE_HOSTNAMEIP Address of this node (data3-storage-node).192.168.5.169

More Information

Tag summary

Content type

Image

Digest

sha256:f3c96be7a

Size

419.6 MB

Last updated

over 2 years ago

docker pull kandolanetwork/data3-storage-node