π¨Adding Services
π§ Work in Progress π§
New Services
What is a service?
The Deeep Network uses the word "service" to generically talk about services that are ran on the network for Service Owners. These can consist of any of the following and more:
Web3 Nodes
Validators
IPFS servers
Game servers
Web2 assets
What kind of services are accepted?
NerdNode only accepts services that comply with the following:
Abide by the local laws, ordinances, and restrictions of where the service is being run
NerdNode Services Terms of Service
NerdNode Privacy Policy
Violations of these rules can result in permanent bans from the Network for that service and even service authors.
How are new services added?
Creators of services or the community are welcome to add new services to the network. The primary requirement is that they must have software that can be ran on Linux without a Graphical User Interface (GUI).
Building a Service Support Package (coming soon)
Fork the
Deeep Network Service Support Package
repositoryCopy the
template
folder and rename for your service, we recommend following thecompany-service_name
formatIn the
ansible
folder modify it to support the following methodsinstall
authorize
pre-start
start
stop
restart
deauthorize
post-stop
remove
upgrade
Ensure or add metrics via Prometheus
An example in python is provided to parse CLI outputs or log files if you cannot modify the service to support this natively
Make sure you are reporting at a minimum these required metrics
status: healthy, failed, starting, stopping, off
auth: authorized, authorizing, failed, missing, expiring, expired
uptime:
version: version information of the current running software
logs are planned to be pushed to IPFS and encrypted using the public key included in the manifest file
Modify the local monitor script to trigger the right
start, stop, reset, install, authorize, etc
commands based on the Prometheus reporting.Fill out the yaml template with minimum requirements document that asks about RAM, IOPS, CPU usage, bandwidth, shared or dedicated VM, IPFS usage, secrets handling, geo-region restrictions, IPv4/6 support, logging levels, backup levels & file locations, authorization methods, public key for log and metrics encryption, etc. (not all of these will be supported right away, but we want to capture them)
Using an official wallet from the organization sign the code of conduct, IP rights, and indemnification for operation in the geo-regions listed in the yaml file
Test your service and fix any bugs
Open a pull request in the git repo to have your service package accepted by the community.
Using a 3rd Party
Anyone, or group, can post a bounty for the community or NerdNode to create a Service Support Package.
Alternatively NerdNode can take these projects on directly. Contact support@nerdnode.io for more details about adding a service to the network.
Last updated