Skip to content
This repository was archived by the owner on Jan 28, 2025. It is now read-only.
/setupPublic archive

Setup script to on-board our platform as supply

Notifications You must be signed in to change notification settings

helio/setup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Repository files navigation

Idling host setup script

TL;DR

curl -fsSL un.idling.host -o start-computing.sh if shasum -a 1 -s -c <(echo '35e6d88ed099d5c7fb1e91288e95dd8842e81af8 start-computing.sh');then sh start-computing.sh fi

start-computing.sh options:

  • -h shows this help
  • -v enable verbose mode
  • -a enable auto setup (no questions asked)
  • -t set Helio panel token as argument
  • -m set your users email as argument

Example for auto-joining:

Requires an existing account and a token.

curl -fsSL un.idling.host -o start-computing.sh if shasum -a 1 -s -c <(echo '35e6d88ed099d5c7fb1e91288e95dd8842e81af8 start-computing.sh');then sh start-computing.sh -m [email protected] -t 6b4123cb:f33b1a4b1c22d7ac9dab0ab759a38584d0d2506b -a fi

Introduction

This /bin/sh automates the process of joining the idling.host platform. It prepares your system and makes the computing power available on our market. You can watch the metrics and stop / start the computing always on panel.idling.host

Outlook: In the future, you can also track e.g. how much money you've earned and the CO2 emissions you've saved.

Setup steps

You need to create an account for our platform. It's possible to create an account during script execution or on our website panel.idling.host. Pro mode: Use -m [email protected] during script execution and confirm the welcome mail in your mailbox

Every server needs to be verified and assigned to your account by a token. You can create a token by adding your servername within the suppliers area. Pro mode: Use -t token during script execution

Supported OS

OSVersion
DebianJessie, Stretch
Ubuntu>= 16.04 LTS
RHEL6x, 7x
CentOS6x, 7x

Installed / used components

official OS packages

PackageusageOS
ca-certificatesvalidate TLS connectionsall
curldownload script, communicate with APIall
dnsutilsto dig the prometheus.idling.host ipDebian & Ubuntu
epel-releaserepositoryRHEL, CentOS
jqlightweight parser for jsonall
lsb-releaseresolve OS, versionDebian & Ubuntu
redhat-lsb-coreresolve OS, versioRHEL, CentOS

3rd party modules

PackageusageOS
choriapush commands from our schedulerall
docker-cejoin our swarm, get computation tasksall
puppet-agentcreate certificate, sign it from our CA, secure connections, system provisioning layerall
prometheus-node-exportercollect system metrics and expose them on port 9100all

Puppet Agent

This script is installing and configuring the puppet-agent from Puppetlabs. The agent is used to create your clients certificate and let it sign from our certificate authority. Your node is assigned to your account, secured by an additional certificate signing request (CSR) based on an unique JWT.

important: if your node is already puppet for another reason, please contact our support first.

Choria

The choria go binary connects your node to our broker, to receive tasks and orchestrate the workloads. The communication is fully secured by TLS, including user authentication. We provision your node and make the following tasks available for our broker / backend:

  • facts (get system information)
  • docker swarm: join, leave

The choria server is only pulling the information from our broker and pushes the answer / output of the task. You can always stop / remove the service and disable our access to the mention functions:

service choria stop

apt-get remove choria

Docker CE worker

Ilding host is using Docker to bring our customers workloads to your node. This script will install and configure Docker, to work with our Docker Swarm. Your node will act as Docker worker and will get computing jobs, managed by our Swarm manager nodes. It will also create an encrypted network, to communicate with other Swarm nodes.

Kubernetes worker

Additional Kubernetes support will follow soon. Stay tuned.

Prometheus

Our system is collecting metrics from your system and store them on our Prometheus cluster. We need those metrics, to bring computing tasks to your system, if it's safe. The metrics are also needed to calculate your contribution to our platform. You'll be able to monitor those metrics in our panel.idling.host. Yay, free monitoring.

Firewall

For a functional setup, the following protocols and connections should be allowed to your node(s).

Incoming

Host / Portusage
prometheus.idling.host:9100allow Prometheus to collect metrics from your server

Outgoing

This includes incoming packets / answers for established connections.

Host / Portprotocolusage
broker.idling.host:4222TCPget tasks from our broker
wildcard:7964TCP and UDPcommunication between our swarm nodes
wildcard:4789UDPoverlay network
wildcard:50custom (ESP)encrypt overlay traffic

About

Setup script to on-board our platform as supply

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages