LogoLogo
WebsiteTechnical Discussions
Developer documentation
Developer documentation
  • Public Technical Documentation
    • device-management-service
      • main
        • actor
        • api
        • cmd
          • actor
          • cap
        • db
          • repositories
            • clover
        • dms
          • behaviors
          • jobs
          • node
          • onboarding
          • resources
        • docs
          • deployments
          • onboarding
          • private_network
        • executor
          • docker
          • firecracker
          • background_tasks
          • config
          • hardware
        • maint-scripts
        • network
          • libp2p
        • observability
        • specs
          • basic_controller
          • s3
          • volume
          • integration
        • tokenomics
        • types
        • utils
          • validate
      • release
        • actor
        • api
        • cmd
          • actor
          • cap
        • db
          • repositories
            • clover
        • dms
          • behaviors
          • hardware
          • jobs
          • node
          • onboarding
          • resources
        • docs
          • deployments
          • onboarding
          • private_network
        • executor
          • docker
          • firecracker
        • internal
          • background_tasks
          • config
        • maint-scripts
        • network
          • libp2p
        • observability
        • plugins
        • specs
        • storage
          • basic_controller
          • s3
          • volume
        • test
        • tokenomics
        • types
        • utils
          • validate
    • solutions
      • asi-node
        • main
          • demos
            • ocap_auth
              • ansible
              • videos
          • did-auth-use-scenarios
            • create-a-hosting-deployment
            • make-a-payment
            • manage-dids-and-ocaps
            • register-an-ai-agent
            • submit-a-compute-job
          • pilots
            • asi-create-authentication-poc
        • release
      • nunet-appliance
        • main
        • release
    • test-suite
      • main
        • cicd
          • tests
            • feature_environment
          • cli
          • dms-on-lxd
            • local
        • environments
          • development
          • feature
          • production
          • staging
        • infrastructure
          • cloud-init
          • dms-on-lxd
          • nginx
        • lib
        • stages
          • dependency_scanning
          • functional_tests
          • integration_tests
          • load_tests
          • regression_tests
          • security_tests_1
          • security_tests_2
          • security_tests_live
          • unit_tests
          • user_acceptance_tests
      • release
        • cicd
          • tests
            • feature_environment
          • cli
          • dms-on-lxd
            • local
        • environments
          • development
          • feature
          • production
          • staging
        • infrastructure
          • cloud-init
          • dms-on-lxd
          • nginx
        • lib
        • stages
          • dependency_scanning
          • functional_tests
          • integration_tests
          • load_tests
          • regression_tests
          • security_tests_1
          • security_tests_2
          • security_tests_live
          • unit_tests
          • user_acceptance_tests
    • team-processes-and-guidelines
      • main
        • best_practices
        • ci_cd_pipeline
        • community_feedback_process
        • contributing_guidelines
        • git_workflows
        • nunet_test_process_and_environments
        • secure_coding_guidelines
        • specification_and_documentation
        • team_process
          • a_project_management
          • b_ceremonies_artifacts
          • c_drum_buffer_rope
          • d_development_process
          • e_culture_rules
          • f_mr_review
        • vulnerability_management
          • devsecops_maturity_models
          • nunet_security_pipeline
          • secret_management
          • sop_security_mr_review
Powered by GitBook
On this page
  • onboarding
  • Table of Contents
  • Specification
Export as PDF
  1. Public Technical Documentation
  2. device-management-service
  3. release
  4. dms

onboarding

PreviousnodeNextresources

Last updated 11 hours ago

Last updated: 2025-05-15 01:08:31.144069 File source:

onboarding

Table of Contents

Specification

Description

This file explains the onboarding functionality of Device Management Service (DMS). This functionality is catered towards compute providers who wish provide their hardware resources to Nunet for running computational tasks as well as developers who are contributing to platform development.

Structure and Organisation

Here is quick overview of the contents of this directory:

Class Diagram

The class diagram for the onboarding package is shown below.

Source file

Rendered from source file

!$rootUrlGitlab = "https://gitlab.com/nunet/device-management-service/-/raw/main"
!$packageRelativePath = "/dms/onboarding"
!$packageUrlGitlab = $rootUrlGitlab + $packageRelativePath
 
!include $packageUrlGitlab/specs/class_diagram.puml

Functionality

Onboard

  • signature: Onboard(ctx context.Context, config types.OnboardingConfig) error

  • input #1: Context object

  • input #2: types.OnboardingConfig

  • output (error): Error message

Onboard function executes the onboarding process for a compute provider based on the configuration provided.

Offboard

  • signature: Offboard(ctx context.Context) error

  • input #1: Context object

  • output: None

  • output (error): Error message

Offboard removes the resources onboarded to Nunet.

IsOnboarded

  • signature: IsOnboarded(ctx context.Context) (bool, error)

  • input #1: Context object

  • output #1: bool

  • output #2: error

IsOnboarded checks if the compute provider is onboarded.

Info

  • signature: Info(ctx context.Context) (types.OnboardingConfig, error)

  • input #1: Context object

  • output #1: types.OnboardingConfig

  • output #2: error

Info returns the configuration of the onboarding process.

Data Types

  • types.OnboardingConfig: Holds the configuration for onboarding a compute provider.

Testing

Proposed Functionality / Requirements

List of issues

All issues that are related to the implementation of dms package can be found below. These include any proposals for modifications to the package or new functionality needed to cover the requirements of other packages.

References

: Current file which is aimed towards developers who wish to modify the onboarding functionality and build on top of it.

: This is main file where the code for onboarding functionality exists.

: This file houses functions to generate Cardano wallet addresses along with its private key.

: This file houses functions to test the address generation functions defined in .

: This file houses functions to get the total capacity of the machine being onboarded.

: This files initializes the loggers associated with onboarding package.

All the tests for the onboarding package can be found in the file.

README
handler
addresses
addresses_test
addresses
available_resources
init
onboarding Class Diagram
onboarding_test.go
dms package implementation
link on GitLab
Project README
Release/Build Status
Changelog
License
Contribution Guidelines
Code of Conduct
Secure Coding Guidelines
Description
Structure and Organisation
Class Diagram
Functionality
Data Types
Testing
Proposed Functionality/Requirements
References