Data3.Network Documentation
  • Introduction to Data3
  • Data3 Concepts
    • Accounts
    • Address
    • Nodes
    • Types of Nodes
    • Node Providers
    • Database Deployment
    • Console
    • Use Case
  • Getting Started
    • Data3 Console
      • Signup on Data3 Console
      • Wallets
    • For Customers
      • Quick Start Guide
      • Signup on Data3 Console
      • Request Databases
      • Manage Your Databases
      • Use Your Databases
    • For Node Providers
      • Quick Start Guide
      • Signup at Data3 Console
      • Bid For Customer Requests
    • For Developers
      • Signup
      • Open Source
      • Contribute
  • For Customers
    • Access
    • Application Configuration
    • Database Configuration
    • Data Migration
    • Security
      • Users
      • Keys
    • Observability
  • For Node Providers
    • Node Provider Service
      • What is the Node Provider Service?
      • Node Provider Service Architecture
      • Node Provider Onetime Setup
        • Prerequisites
        • Docker data3-node-provider
        • Configure
        • Deploy data3-node-provider
        • Validate
        • Troubleshoot
    • Data3 Storage Node
      • What is the Data3 Storage Node?
      • Storage Node Architecture
      • Storage Node Setup
        • Prerequisites
        • Docker data3-storage-node
        • Configure
        • Deploy data3-storage-node
        • Validate
        • Troubleshoot
    • External Pricing Engine
    • External Deployment Engine
    • Node Tokenomics
      • Staking
      • Customer Payments
      • Incentivization
      • Pricing
    • Nodes
      • Validator Node
      • Audit Node
      • Storage Node
    • Console
  • Product
    • Roadmap
    • Releases
    • Updates
  • Data3 Solutions
    • DApps
    • Web3 Social
    • Web3 Gaming
    • Web3 Exchanges
    • Artificial Intelligence
    • SaaS Applications
    • IoT
    • Dev Database
  • Tokenomics
    • Best Practices
    • Bid for Database Requests
  • Governance & Policies
    • Governance Framework
    • Node Provider Policies
    • Data Handling Policies
    • Security Policies
    • Privacy Policies
    • For Developers
      • Architecture
      • API
      • SDKs and Libraries
      • Protocols & Algorithms
  • Community
  • FAQs
  • Legal
Powered by GitBook
On this page
  • Context
  • Architecture
  • Specification
  • Input JSON Format (HTTP POST)
  • Sample Pricing App
  • Resources
  1. For Node Providers

External Deployment Engine

PreviousExternal Pricing EngineNextNode Tokenomics

Last updated 1 year ago

Context

This document provides detailed instructions for Node Providers to integrate the external deployment endpoint into their system. The external deployment endpoint is designed to automate the deployment of database instances per customer request, allowing Node Providers to streamline their deployment process.

The purpose of integrating the external deployment endpoint is to automate the deployment of database instances in response to customer accepting your bid.

Architecture

The external deployment endpoint operates as a REST API/service that accepts deployment requests in JSON format. Upon receiving a deployment request, it automates the deployment of database instances according to the specified customer requirements.

Specification

Node Providers can implement the external pricing engine in any platform or stack they have expertise in. However, a sample NodeJS application is provided as a reference implementation (below).

Input JSON Format (HTTP POST)

{
    name: 'My Dev Deployment',
    address: '581037272ca2533df3cf215dceac56c3fe8a1d6cc7317ec28e5e257e556ed056',
    region: 'WESTERN_EUROPE-United Kingdom-London',
    dbEngine: 'MySQL',
    dbEngineVersion: '8.2.0',
    specification: 'DB AI MODEL K12 - 256 GB RAM - 64 vCPU(s)',
    memory: 256,
    storage: 4100,
    cpu: 64,
    isRedundancyRequired: true,
    redundancy: 1,
    isBackupRequired: true,
    backupFrequencyDays: 2,
    backupRetentionDays: 1,
    deploymentType: 'SHARED',
    isSharedInstance: true,
    iops: 1000,
    paymentFrequency: 'MONTHLY',
    isActive: true,
    status: 'NEW',
    dateCreated: 1709156623175,
    dbOwner: '0xa1d2339b6d633e129f3aeb2a59a8445dbb8b4117'
}

Use the address field in the above JSON and set the environment variable DEPLOYMENT_ADDRESS in the data3-storage-node to associate the storage node with the customer request.

Sample Pricing App

To achieve this automated pricing easily, we have provided an additional /deploy endpoint in the same sample NodeJS application for pricing.

  • Program your pricing logic in the deploy function within the deploy.js file of the sample application. This function should accept customer request information.

  • Once the sample application is running, test the integration by configuring the Node Provider Service's environment variable EXTERNAL_DEPLOYMENT_API_ENDPOINT to point to this sample deployment endpoint at http://localhost:3080/deploy and ensuring that customer acceptances of your bids are sent to this external deployment engine.

Resources

Review the provided sample NodeJS application hosted on GitHub: . This application serves as a starting point for implementing the external deployment engine.

The sample pricing app as described in the section when started will also host the /deploy endpoint at http://localhost:3080/deploy

For more details, please refer to the file of the sample application.

Sample NodeJS Application:

README.md:

data3-sample-pricing-app
External Pricing Engine
README.md
data3-sample-pricing-app
README.md