Adding Services
π§ Work in Progress π§
Last updated
Was this helpful?
π§ Work in Progress π§
Last updated
Was this helpful?
The Deeep Network uses the word "service" to generically talk about services that are ran on the network for . These can consist of any of the following and more:
Web3 Nodes
Validators
IPFS servers
Game servers
Web2 assets
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.
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).
Fork the Deeep Network Service Support Package
repository
Copy the template
folder and rename for your service, we recommend following the company-service_name
format
In the ansible
folder modify it to support the following methods
install
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.
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.
ββ