Git Product home page Git Product logo

runonflux / flux Goto Github PK

View Code? Open in Web Editor NEW
227.0 25.0 299.0 79.81 MB

Flux, Your Gateway to a Decentralized World. https://home.runonflux.io https://api.runonflux.io https://docs.runonflux.io https://source.runonflux.io https://wiki.runonflux.io

Home Page: https://home.runonflux.io

License: GNU Affero General Public License v3.0

JavaScript 57.37% HTML 0.07% Vue 30.75% CSS 0.26% Shell 0.28% SCSS 11.26%
flux server decentralized web3 cloud computing

flux's Introduction

Flux

Flux.png

DeepScan gradeCodeFactorTotal alertsLanguage grade: JavaScriptcodecov

Flux is available on domains, load balancing the entire Flux network. You can access both UI and API on following main domain

Flux

API

API Documentation

API documentation

Source code Documentation

Source Code documentation

The gateway to the Flux Network

Flux is the frontend UI to the entire Flux Network, it enables Flux operators to manage their Flux Node easily via a simple web interface. Flux enables an operator to perform all tasks such as updating and maintenance from a simple web interface, instead of having to remotely login to their Flux to manage it.

Flux Requires a reasonably new version of Node.js (npm), MongoDB and Docker. It is a MongoDB, Express.js, Vue.js, Node.js (MEVN) application

This application communicates locally with the Flux Daemon (fluxd), Benchmark Daemon (fluxbenchd) and other Flux instances.

Support for Ubuntu 18.04, 20.04, 22.04

Support NodeJS 16, 18, 20

Support for MongoDB 4.2, 4.4, 5.0, 6.0

Application Overview

Backend Solution - Flux

  • Provide communication with daemon, benchmark
  • Providing private API, and public API, Flux team API (limited!)
  • Listen and handle frontend requests
  • Requests signing and authenticity verifying
  • Handle communication with other Fluxes
  • Manage Flux applications - smart spawning, distributing workload, termination depending of application subscription.
  • Provide Explorer solution
  • and more!

Frontend Solution - Home

  • Display Flux status information
  • Display Flux Network information
  • Display Flux network information
  • Display Specific application information
  • Provide API access
  • Login into private API part (frontend part)
  • Login into Flux team API part (frontend part)
  • Private: Management of Flux
  • Private: Management of Flux Damone and Benchmark
  • Private: Update, status information
  • and more!

This application is open source and distributed under the GNU AGPLv3 licence

Start Flux

Flux needs Daemon to be running, use apt.runonflux.io to install flux daemon

build-essential is a recommended dependency

sudo apt-get install build-essential

Setup Mongodb on Ubuntu 18.04 (LTS):

wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list

sudo apt-get update

sudo apt-get install -y mongodb-org

sudo service mongod start

Setup Mongodb on Ubuntu 20.04 (LTS):

wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list

sudo apt-get update

sudo apt-get install -y mongodb-org

sudo service mongod start

Setup Mongodb on Red Hat or CentOS:

sudo yum install nano

sudo nano /etc/yum.repos.d/mongodb-org-5.0.repo

# Paste below into the mongodb-org-5.0.repo file

[mongodb-org-5.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/5.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-5.0.asc


# exit nano

sudo yum install -y mongodb-org

# Start Mongodb on startup for CentOS 7
sudo systemctl enable mongod.service

# Start Mongodb on startup for CentOS 5/6
sudo chkconfig mongod on

# Start Mongodb on CentOS 7
sudo systemctl start mongod.service

# Start Mongodb on CentOS 5/6
sudo service mongod start

Install Node Version Manager (NVM) and NodeJS 16/18/20 on Ubuntu 18.04/20.04/22.04:

sudo apt-get install curl

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash

source ~/.profile

nvm install 20

nvm use 20

Install Node Version Manager (NVM) and NodeJS 20 on Redhat/CentOS:

sudo yum install curl

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.0/install.sh | bash

source ~/.bashrc

nvm install 20

nvm use 20

Install Docker using on Ubuntu 20.04

sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
sudo apt-get update
sudo apt install docker-ce

Install Docker using on Ubuntu 18.04

sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
sudo apt-get update
sudo apt install docker-ce

Install Syncthing

sudo curl -o /usr/share/keyrings/syncthing-archive-keyring.gpg https://syncthing.net/release-key.gpg
echo 'deb [signed-by=/usr/share/keyrings/syncthing-archive-keyring.gpg] https://apt.syncthing.net/ syncthing stable' | sudo tee /etc/apt/sources.list.d/syncthing.list
sudo apt install ca-certificates -y > /dev/null 2>&1
sudo apt-get update -y
sudo apt-get install syncthing -y

Install Netcat

sudo apt install netcat -y

Clone Flux repo (Ubuntu):

sudo apt-get install git

git clone https://github.com/runonflux/flux

Clone Flux repo (Redhat/CentOS):

sudo yum install git

git clone https://github.com/runonflux/flux

Allow Inbound Connections on UFW firewall - default ports (if ufw enabled):

sudo ufw allow 16126
sudo ufw allow 16127
sudo ufw allow 16128
sudo ufw allow 16129

Install Flux dependancies (Ubuntu/CentOS/Redhat):

cd flux

npm install

To run this as Production:

npm start

To run this as Development: Start both solutions with

npm run fluxdev
npm run homedev

THE SETUP ENDS HERE... The following information below provided for brief usage guidelines and/or examples only.

Flux Home Information

Frontend interface to interact with the Flux network Uses port 16126 by default

Build Setup

# serve with hot reload at localhost:16126
npm run homedev

# build for production with minification
npm run homebuild

# build for production and view the bundle analyzer report
npm run homebuild --report

Flux Information

Backend interface to interact with the Flux Network Uses port 16127 by default

Continued Build Setup

# serve with hot reload at localhost:16126
npm run fluxdev

Made with โค๏ธ by the Flux Team

flux's People

Contributors

alihm avatar cabecinha84 avatar champ8644 avatar cmdntd avatar daz-williams avatar dependabot-preview[bot] avatar dk808 avatar fallengravity avatar fegauthier avatar flikites avatar gorgarp avatar honsontran avatar ilbertt avatar jacekadamczyk avatar jktuning avatar johnhanlon86 avatar kadefi avatar kyuubi-2709 avatar kyuubi2709 avatar max1ne avatar morninglightmountain713 avatar piraces avatar sikbik avatar sygem avatar techdufus avatar theraw avatar thetrunk avatar veralidity avatar vmvelev avatar xk4milx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

flux's Issues

[BUG] Failed: Error on FluxOs response - Running application Kadena4 on ports [31350,31351,31352] is not reachable from outside!

Describe the bug
The issue is with the FluxOS adding a public IP as /32 to eth0, causing the communication to dApp ports to fail and resulting in the bench failing. The problem occurs when there is already a dedicated /24 IP configured for eth0. Another error is caused by the upnp logic attempting to add upnp rules via 192.168.201.1 using eth1, even when upnp is not configured or disabled. This two facts is causing the Fluxnode to go down repeatedly.

To Reproduce
Steps to reproduce the behavior:

  1. Configure a Public IP with /24 or /22 subnet and gateway for eth0.
  2. Configure a internal IP for eth1.
  3. FluxOS adds the same public IP already configured as a second instance with /32 subnet to eth0.
  4. The upnp logic attempts and tries to add upnp rules via internal IP using eth1.
  5. Due the configured duplicate /32 Public IP, the dApp is not reachable by it's ports: 31350,31351,31352 anymore.

Expected behavior
The communication to dApp ports should not fail and the bench should not fail. The nodes should not go down repeatedly.
It should not execute Upnp logic at all if we have a dedicated Public IP and have not enabled upnp multiport setup!

Actual Result:
The communication to dApp ports fails and the bench fails. The nodes go down repeatedly.
If i remove the wrongly added /32 Public IP from interface eth0, the dApp Ports are reachable again till FluxOS readds it to eth0.

Screenshots

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether aa:xx:f8:25:fd:xx brd ff:ff:ff:ff:ff:ff
    altname enp0s18
    inet 103.214.4.1x brd 103.214.7.255 scope global eth0 <----- my public IP
       valid_lft forever preferred_lft forever
    inet 103.214.4.1x/32 scope global eth0                <----- same Public IP but with /32 subnet, this is wrong and breaks it
       valid_lft forever preferred_lft forever
    inet6 fe80::a88b:f8ff:fe25:fd96/64 scope link 
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether xx:ab:bb:2d:63:xx brd ff:ff:ff:ff:ff:ff
    altname enp0s19
    inet 192.168.201.x/24 brd 192.168.201.255 scope global eth1 <--- seing upnp register attempts but upnp is not configured/enabled
       valid_lft forever preferred_lft forever
    inet6 fe80::68ab:bbff:fe2d:63f7/64 scope link 
       valid_lft forever preferred_lft forever

If i allow it to add upnp rules, it's trying to do so (but hey: upnp is disabled!):

 9 TCP 31350->192.168.201.xxx:31350 'Flux_App_Kadena4123xyz' '' 0
13 UDP 31350->192.168.201.xxx:31350 'Flux_App_Kadena4123xyz' '' 0

Environment(please complete the following information):

  • OS: Debian 11
  • Browser any
  • Version any
  • Daemon any
  • Benchmark latest

Additional context
The error seems to be related to the upnp setup and the multiport setup acting as if it were behind a upnp2 gateway regardless if it has an dedicated public IP.

Impact:
The issue is causing the nodes to go down repeatedly, which is affecting the functionality of the system.

[BUG] Flux_Test_App out of port range for Multi-node Configuration

Describe the bug
Flux_Test_App out of allowed port range 16124-16129 and 30000-39999

To Reproduce
Install Multi-node Configuration

allow 16124-16129 10.8.10.0/24 16124-16129
allow 30000-39999 10.8.10.0/24 30000-39999

Expected behavior
Flux_Test_App its used only allowed ports

Screenshots
If applicable, add screenshots to help explain your problem.

Environment(please complete the following information):

  • OS: Ubuntu 20.04 LTS
  • Browser chrome
  • Version FluxOS v4.12.0
  • Daemon 6020050
  • Benchmark 3.9.0

Additional context

Error

UPnP permission rule 1 matched : port mapping rejected

Out of allowed port range 16124-16129 and 30000-39999

 AddPortMapping: ext port 569 to 10.8.10.2:569 protocol TCP for: Flux_Test_App leaseduration=604800 rhost=
 AddPortMapping: ext port 23723 to 10.8.10.5:23723 protocol TCP for: Flux_Test_App leaseduration=604800 rhost=
 AddPortMapping: ext port 23723 to 10.8.10.5:23723 protocol UDP for: Flux_Test_App leaseduration=604800 rhost=
 AddPortMapping: ext port 4161 to 10.8.10.3:4161 protocol TCP for: Flux_Test_App leaseduration=604800 rhost=
 AddPortMapping: ext port 569 to 10.8.10.2:569 protocol TCP for: Flux_Test_App leaseduration=604800 rhost=
 AddPortMapping: ext port 4161 to 10.8.10.3:4161 protocol TCP for: Flux_Test_App leaseduration=604800 rhost=
 AddPortMapping: ext port 569 to 10.8.10.2:569 protocol TCP for: Flux_Test_App leaseduration=604800 rhost=
 AddPortMapping: ext port 4161 to 10.8.10.3:4161 protocol TCP for: Flux_Test_App leaseduration=604800 rhost=
 AddPortMapping: ext port 569 to 10.8.10.2:569 protocol TCP for: Flux_Test_App leaseduration=604800 rhost=
 AddPortMapping: ext port 4161 to 10.8.10.3:4161 protocol TCP for: Flux_Test_App leaseduration=604800 rhost=
 AddPortMapping: ext port 569 to 10.8.10.2:569 protocol TCP for: Flux_Test_App leaseduration=604800 rhost=
 AddPortMapping: ext port 4161 to 10.8.10.3:4161 protocol TCP for: Flux_Test_App leaseduration=604800 rhost=
 AddPortMapping: ext port 569 to 10.8.10.2:569 protocol TCP for: Flux_Test_App leaseduration=604800 rhost=
 AddPortMapping: ext port 4161 to 10.8.10.3:4161 protocol TCP for: Flux_Test_App leaseduration=604800 rhost=
 AddPortMapping: ext port 29788 to 10.8.10.6:29788 protocol TCP for: Flux_Test_App leaseduration=604800 rhost=
 AddPortMapping: ext port 29788 to 10.8.10.6:29788 protocol UDP for: Flux_Test_App leaseduration=604800 rhost=
 AddPortMapping: ext port 569 to 10.8.10.2:569 protocol TCP for: Flux_Test_App leaseduration=604800 rhost=
 AddPortMapping: ext port 4161 to 10.8.10.3:4161 protocol TCP for: Flux_Test_App leaseduration=604800 rhost=
 AddPortMapping: ext port 569 to 10.8.10.2:569 protocol TCP for: Flux_Test_App leaseduration=604800 rhost=
 AddPortMapping: ext port 26476 to 10.8.10.8:26476 protocol TCP for: Flux_Test_App leaseduration=604800 rhost=
 AddPortMapping: ext port 26476 to 10.8.10.8:26476 protocol UDP for: Flux_Test_App leaseduration=604800 rhost=
 AddPortMapping: ext port 4161 to 10.8.10.3:4161 protocol TCP for: Flux_Test_App leaseduration=604800 rhost=

Automation of repository whitelist

Is your feature request related to a problem? Please describe.
Manual checking of images takes time, we need to create a both, github action that would automate the process

Describe the solution you'd like

  • check whitelisted image pr only alters repositories.json
  • check that repository is added at the end of an array
  • check that no other repository is removed
  • check that ONLY ONE repository is added - for more repositories more PRs!
  • check indentation, spacing, linting (double quotations, one space etc.)
  • check that image is a valid image present on public docker hub and satisfies flux constrains (image size limit)
  • Run the image inside VM, create POC for flux devs to determine if image is safe (aka no prohibited content etc.)

[FEAT] Open Flux Daemon port 16125

fluxd uses 16125 for inbound connections but we are not opening this port for upnp nodes
we may also want to open 16124 the rpcport

These will be 161x4 and 161x5 of course, these are set in the ~/.flux/flux.conf file
Not sure where to open an issue for multitoolbox to set flux.conf

[BUG] can't boot flux node in NAT network?

Describe the bug
I am install flux node in my home. My home network is in NAT, I get a NAT IP address from my ISP. I got below error after install:
location:/zelflux/debug.log

Flux is not available for outside communication

It seems like other peers cannot connect me because the IP fluxbench getted was not my real IP, techinically, other peers can not connect me cause am in a NAT network.

So I was wondering is any solutions to solve this problem?

BTW, I can get public IPv6 address from ISP, But it seems that currently flux nodes doesn't support connect each other with IPv6.

[FEAT]

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

[BUG]

Describe the bug
after upgrading to fluxos 4.4.0 the node cannot connect to fluxOS

To Reproduce
Steps to reproduce the behavior:
upgrade node from fluxos 4.3 to 4.4

Expected behavior
node works

Environment(please complete the following information):

  • OS: [Ubuntu 20.04 LTS

fluxbenchmark debug.log

2023-07-18 16:10:50 Flux Benchmark version v3.8.0-01695bc (2023-03-09 08:21:34 +0100)
2023-07-18 16:10:50 Using OpenSSL version OpenSSL 1.1.1a 20 Nov 2018
2023-07-18 16:10:50 HTTP: creating work queue of depth 16
2023-07-18 16:10:50 HTTP: starting 4 worker threads
2023-07-18 16:10:50 Bound to [::]:16225
2023-07-18 16:10:50 Bound to 0.0.0.0:16225
2023-07-18 16:10:50 init message: Done loading
2023-07-18 16:10:50 Starting Fluxnode Benchmarking Thread
2023-07-18 16:10:50 ---Starting new bench verification
2023-07-18 16:10:50 ---Node tier not set waiting 3m. Possible reboot give time for flux start.
2023-07-18 16:13:50 ---Failed: Could not connect to FluxOS to get Node Tier. Check your networking configuration or FluxOs error log.
2023-07-18 16:14:25 ---Restarting benchmarks
2023-07-18 16:14:25 ---Starting new bench verification
2023-07-18 16:14:25 ---Node tier not set waiting 3m. Possible reboot give time for flux start.

========================
flux debug.log
2023-07-18 16:11:26 socket recv error Connection reset by peer (104)
2023-07-18 16:11:27 ProcessMessages: advertizing address 80.178.83.102:16125
2023-07-18 16:11:27 receive version message: /MagicBean:6.2.0/: version 170018, blocks=1427820, us=85.130.201.244:51324, peer=14
2023-07-18 16:11:27 Added time data, samples 11, offset +0 (+0 minutes)
2023-07-18 16:11:27 nTimeOffset = +0 (+0 minutes)
2023-07-18 16:11:28 ProcessMessages: advertizing address 80.178.83.102:16125
2023-07-18 16:11:28 receive version message: /MagicBean:6.2.0/: version 170018, blocks=1427820, us=85.130.201.244:60078, peer=15
2023-07-18 16:11:28 Added time data, samples 12, offset +0 (+0 minutes)
2023-07-18 16:11:29 ProcessMessages: advertizing address 80.178.83.102:16125
2023-07-18 16:11:29 receive version message: /MagicBean:6.2.0/: version 170018, blocks=1427820, us=85.130.201.244:50696, peer=16
2023-07-18 16:11:29 Added time data, samples 13, offset +0 (+0 minutes)
2023-07-18 16:11:29 nTimeOffset = +0 (+0 minutes)
2023-07-18 16:11:35 ProcessMessages: advertizing address 80.178.83.102:16125
2023-07-18 16:11:35 receive version message: /MagicBean:6.2.0/: version 170018, blocks=1427820, us=85.130.201.244:56902, peer=17
2023-07-18 16:11:35 Added time data, samples 14, offset +0 (+0 minutes)
2023-07-18 16:11:41 ProcessMessages: advertizing address 80.178.83.102:16125
2023-07-18 16:11:41 receive version message: /MagicBean:6.2.0/: version 170018, blocks=1427820, us=85.130.201.244:37372, peer=18
2023-07-18 16:11:41 Added time data, samples 15, offset +0 (+0 minutes)
2023-07-18 16:11:41 nTimeOffset = +0 (+0 minutes)
2023-07-18 16:11:41 connect() to 185.187.169.253:16125 failed after select(): Connection refused (111)
2023-07-18 16:11:42 ProcessMessages: advertizing address 80.178.83.102:16125
2023-07-18 16:11:42 receive version message: /MagicBean:6.2.0/: version 170018, blocks=1427820, us=85.130.201.244:41540, peer=19
2023-07-18 16:11:42 Added time data, samples 16, offset +0 (+0 minutes)
2023-07-18 16:11:59 connect() to 154.12.242.89:16125 failed after select(): Connection refused (111)
2023-07-18 16:12:00 socket recv error Connection reset by peer (104)
2023-07-18 16:12:00 ProcessMessages: advertizing address 80.178.83.102:16125
2023-07-18 16:12:00 receive version message: /MagicBean:6.2.0/: version 170018, blocks=1427820, us=85.130.201.244:36870, peer=21
2023-07-18 16:12:00 Added time data, samples 17, offset +0 (+0 minutes)
2023-07-18 16:12:00 nTimeOffset = +0 (+0 minutes)

[BUG] Missing coma from Flux 4.0 Documentation

Describe the bug
There is a small but significant error in the notes for Flux 4.0

The notes say;
"blockedPorts: [55, 70, 80]"

But without the coma at the end of the line FLUX takes a fit. It needs to be
"blockedPorts: [55, 70, 80],"

one more thing .. maybe when a new line is available to be put into the config file (userconfig.js) a placeholder is put in, so people like me don't miss the coma and just fill in the blanks i.e.

"blockedPorts: [],"

[BUG] FluxBench reported the same Ip that was already in use

Describe the bug

Hello since this night at 02:59 CET my Flux cumulus node is not working anymore and the status of my Flux node is now on "expired". I did not change anything on my network neither on my node, there was not even an internet interruption, so I really don't understand what has happened and think this might be a bug which must have been introduced.

The file ~/.pm2/logs/flux-out.log shows this:

2023-01-21T02:59:48: My Flux unavailability detected from 31.208.250.72
2023-01-21T02:59:48: Getting publicIp from FluxBench
2023-01-21T02:59:48: FluxBench reported the same Ip that was already in use

and else I also see quite often this error:

2023-01-21T19:00:31: TypeError: component.ports is not a function
2023-01-21T19:00:31:     at /var/home/fluxnode/zelflux/ZelBack/src/services/appsService.js:8909:21
2023-01-21T19:00:31:     at Array.forEach (<anonymous>)
2023-01-21T19:00:31:     at checkMyAppsAvailability (/var/home/fluxnode/zelflux/ZelBack/src/services/appsService.js:8908:21)
2023-01-21T19:00:31:     at processTicksAndRejections (node:internal/process/task_queues:96:5)

The node still seems to be syncing the blocks as I can see the following log entry:

2023-01-21T19:01:31: Daemon Sync status: 1300803/1300803

but then somehow my node is not confirmed anymore as I see this log line repeating:

2023-01-21T19:01:39: Node not confirmed. Flux discovery is awaiting.

I already tried to restart my node but that did not help, I still get all the same error messages.

To Reproduce
Steps to reproduce the behavior:
I can't reproduce this as it happened on it's own during this night without me doing anything to the server.

Expected behavior
My node should be back online and working

Screenshots
n/a

Environment(please complete the following information):

  • OS: [Ubuntu 20.04.5 LTS]
  • Browser [Firefox]
  • Version [v3.31.2]
  • Daemon [6000050]
  • Benchmark [v3.7.2]

Additional context
Do not hesitate to ask me if you need further infos or logs. Thank you.

Run docker containers with the --cpu limits

Hi,
I have been checking in my node and I noticed the applications aren't being limited to their specifications regarding CPUs available or CPU time.

Can you please update the starting of the containers with the application's CPU specifications?

[BUG] fluxdesonode ram memory consumption

Describe the bug

The container consumes memory gradually and crashes. I restarted the server and the problem is the same. My VPS is up2date.

CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
712384511b35 fluxdesonode_DesoNode1666808148448 10.67% 15.54GiB / 23.44GiB 66.31% 34.3MB / 584kB 5.21MB / 68.4MB 18
34ac4b91ad7b flux_watchtower 0.00% 7.859MiB / 35.25GiB 0.02% 2.39kB / 0B 14.7MB / 0B 13

CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
712384511b35 fluxdesonode_DesoNode1666808148448 106.60% 17.23GiB / 23.44GiB 73.53% 476MB / 4.13MB 5.21MB / 68.4MB 20
34ac4b91ad7b flux_watchtower 0.00% 7.859MiB / 35.25GiB 0.02% 2.39kB / 0B 14.7MB / 0B 13

CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
712384511b35 fluxdesonode_DesoNode1666808148448 7.57% 19.24GiB / 23.44GiB 82.10% 975MB / 8.61MB 5.51MB / 68.5MB 20

CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
712384511b35 fluxdesonode_DesoNode1666808148448 8.94% 22.55GiB / 23.44GiB 96.23% 2.33GB / 16.8MB 26.9MB / 68.6MB 20

[ven. nov. 4 20:28:48 2022] oom-kill:constraint=CONSTRAINT_MEMCG,nodemask=(null),cpuset=712384511b35e0cfbb4a1c9e930155c45452d341e6091acdf8cce94e1e788956,mems_allowed=0,oom_memcg=/docker/712384511b35e0cfbb4a1c9e930155c45452d341e6091acdf8cce94e1e788956,task_memcg=/docker/712384511b35e0cfbb4a1c9e930155c45452d341e6091acdf8cce94e1e788956,task=backend,pid=13547,uid=0
[ven. nov. 4 20:28:48 2022] Memory cgroup out of memory: Killed process 13547 (backend) total-vm:56188600kB, anon-rss:24314420kB, file-rss:0kB, shmem-rss:0kB, UID:0 pgtables:55672kB oom_score_adj

Expected behavior
Please expect to quickly fix this bug my node has gone offline.

Environment(please complete the following information):

  • OS: Ubuntu 20.04.5 LTS
  • docker-ce : 5:20.10.213-0ubuntu-focal amd64
  • fluxd --version: Zelcash Daemon version v6.0.0-a933ab4
  • Benchmark Version3.5.0
  • FluxOS v3.26.2

Get Benchmarks
Status
CUMULUS
Architecture
amd64
Time
04/11/2022, 20:13:37
IP Address
89.58.41.111
CPU Cores
14
CPU Threads
14
RAM
35 GB
SSD
1536 GB
Best Write Speed
453.95 MB/s
CPU Speed
438.68 eps
Download Speed
1054.20 Mb/s
Upload Speed
597.25 Mb/s
Ping
6.61 ms

MEMORY

[FEAT] GEOTARGETING EXCLUSIONS AT CONTINENT LEVEL

Currently their is no way to exclude "ALL" regions/countries for a specific continent.

You can see the behavior when trying to do so via the screenshots below:

On JetPack
On FluxOS

I am requesting that an option to exclude "ALL" countries and regions within a selected continent, be added.

This specific configuration in the screenshot attempts to disable the 5 big surveillance countries, which was not possible.

Project status

Some questions for the developer:

What is status of this project?
Where is development happening?
Why are some existing source code files hundreds of lines long?
Where can one find the specifications this software is being built from?

[BUG] Logs Don't Populate

Describe the bug
From time to time (for multiple people/users) the logs do not populate

Right now for the app named dane their is only 1 node that can show logs out of 4 nodes.

Node Showing Logs: 76.154.1.138

Nodes Not Showing Logs:
73.153.181.163
73.78.222.180
24.8.167.214

To Reproduce
Intermittent, happens randomly on some nodes, and others not.

See screenshot for specific node/version

Other members of the community are also experiencing the same behavior.

Expected behavior
The logs should ALWAYS generate for an app, every time the "logs" tab is clicked, I should not have to restart the container or do something to get them to work.

Screenshots
https://prnt.sc/iLZNE_UOGTDN - FluxOS v3.35.0
https://prnt.sc/oR09C6Esjaih - FluxOS v3.36.3
https://prnt.sc/yGrL0MPvPJxf - FluxOS v3.36.3

Environment(please complete the following information):

  • OS: [e.g. Linux Mint 21.1]
  • Browser [ Brave v1.48.171 (Feb 23, 2023) ]
  • Version [ FluxOS v3.35.0 & FluxOS v3.36.3 ]

Additional context
Happens often, super annoying.

[BUG] Can't create new dapp

Describe the bug
I cant create/launch a new instance, its say 'imageTags.forEach is not a function' when i click 'validate & get cost' button

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'launch'
  2. Fill all the form
  3. Verify login then click on 'validate & get cost'
  4. See error 'imageTags.forEach is not a function'

Expected behavior
Show the cost and i can pay

Screenshots
If applicable, add screenshots to help explain your problem.
image

Environment(please complete the following information):

  • OS: [Arch linux]
  • Browser [chrome, firefox]
  • Version [latest]

Additional context
I encountered this bug on the wordpress launch as well, already tried another image too
Edit: this bug doesnt appear before, its appear just now.

[FEAT] Use Fio instead of dd for disk write speed

Is your feature request related to a problem? Please describe.
By default, dd uses a very low I/O queue depth, so it is difficult to ensure that the benchmark is generating a sufficient number of I/Os and bytes to accurately test disk performance.

Additionally, special devices used with dd are often very slow and do not accurately reflect disk performance. In general, it's recommended to avoid using special devices such as /dev/urandom, /dev/random, and /dev/zero in disk performance benchmarks.

Describe the solution you'd like
To benchmark disk performance, use FIO instead of dd

Additional context
Espacially true when running in a virtualized environment where dd behave extremely bad compared to fio
image

Restarting PC while Node is running.

Hello. Im gonna run a Cumulus Node on my Mining PC with win10 on it. When my PC auto-restarts do i have to manually turn on the Node again or is it self restarting?

[BUG] Massive load on Docker Hub

Describe the bug

This repository makes multiple calls to Docker Hub every time it runs. Given the distributed nature of the network, this is causing serious load on Docker Hub and degrading the experience for other users.

This is the code that calls Hub:

const resDocker = await serviceHelper.axiosGet(`https://hub.docker.com/v2/repositories/${repoToFetch}/tags/${splittedRepo[1]}`).catch(() => {

Here is where it is referenced:
https://github.com/RunOnFlux/flux/search?q=verifyRepository
https://github.com/RunOnFlux/flux/search?q=checkDockerAccessibility

To Reproduce

Run Flux

Expected behavior

Flux should be a good citizen and limit calls to outside resources.

Screenshots

Repos API request volume on Docker Hub since this project launched:
image

Environment(please complete the following information):

Any

Additional context

I don't know exactly what the code is attempting to do, but we'd like to work with you to do it better without harming Docker Hub's other users. I'm sure some of these calls are unnecessary - you could probably just run the image and see if it works or not (the image pull will fail if it doesn't exist), rather than making multiple calls to the API first.

[BUG] Flux node won't start if it can't contact at least 1 node on the testnet.

Github issue

Opening per Request of Valter

This is on TestNet

Describe the bug
Flux node will not connect sufficiently to start benchmarks cause it can't connect
to the one node on the net.

To Reproduce
This is difficult if not impossible to reproduce simply cause this is not the way it's
supposed to work.

Scenario. Testnet

  1. No nodes online on the testnet.

  2. Brought up my local hosted node on 16147.

  3. TestNode1 is the only one on the network.

    	{
    	  "total": 1,
    	  "stable": 1,
    	  "basic-enabled": 1,
    	  "super-enabled": 0,
    	  "bamf-enabled": 0,
    	  "cumulus-enabled": 1,
    	  "nimbus-enabled": 0,
    	  "stratus-enabled": 0,
    	  "ipv4": 0,
    	  "ipv6": 0,
    	  "onion": 0
    	}```
    
  4. Started up TestNode2. Updated reinstalled validated all UPNP networking port 16157 is
    open etc. Flux install looks 100%.

  5. Benchmark fails however
    2022-08-01 15:10:32 ---Failed: FluxOS is not working properly. Check your networking configuration or FluxOs error log.

    	`{
    	  "ipaddress": "<MY PUBLICIP>:16157",
    	  "architecture": "",
    	  "armboard": "",
    	  "status": "failed",
    	  "time": 1659370243,
    	  "real_cores": 0,
    	  "cores": 0,
    	  "ram": 0,
    	  "ssd": 0,
    	  "hdd": 0,
    	  "ddwrite": 0,
    	  "totalstorage": 0,
    	  "disksinfo": [
    	  ],
    	  "eps": 0,
    	  "ping": 0,
    	  "download_speed": 0,
    	  "upload_speed": 0,
    	  "bench_version": "0.0.0",
    	  "speed_version": "0.0.0",
    	  "error": "Failed: FluxOS is not working properly. Check your networking configuration or FluxOs error log."
    	}```
    
  6. Checking FLux log shows

       2022-08-01T16:18:37.132Z          connect ECONNREFUSED <MY PUBLIC IP>:16147
       2022-08-01T16:18:37.132Z          Flux communication is limited
       Error: connect ECONNREFUSED <MY PUBLIC IP>:16147
    	 at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1159:16)
    	```
    
  7. Assumption is .. The TestNode2 is trying to validate against the existing node on the network. But it can't
    so this won't allow benchmarks to continue.

  8. Since this is a self hosted environment. And my firewall will not allow Hairpin NAT with UPNP. The 2 nodes
    can not talk to another. Since the 2nd node does see the frist node on the chain/network it refuses to come up
    until it can talk to at least one node. Strangely the first node did come up without any other nodes on the network
    But I assume that is cause there wasn't one to try to validate against.

  9. All start messages are coming into the fluxd but of course it won't confirm until benchmark passes. Benchmark
    won't pass until Flux acknowledges valid network connection. Flux can't validate network connection cause the 1 node
    on the testnet is not accesible.

Expected behavior
The node to come up and confirm :-)

Environment(please complete the following information):

  • OS: Ubuntu 18.04 in VMWare 6.7
  • Router Unifi UDM-PRO Unifi OS 1.12.22
  • Version: 3.23.1
  • Daemon: 5020150
  • Benchmark: 3.4.1

Additional context

This IS Testnet.. and this is a very unusual situation. And only submitting this to bring it to your attention

[BUG]

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Environment(please complete the following information):

  • OS: [e.g. Ubuntu 18.04 LTS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. v0.65.0]
  • Daemon [e.g. v4.1.0]
  • Benchmark [ e.g. v1.4.1]

Additional context
Add any other context about the problem here.

[BUG -- Not clear how to whitelist a new Dapp]

After following the steps at the flux home page to launch a new DApp:
https://runonflux.io/ -> https://runonflux.io/dapp-guide.html

One will eventually reach the section to

Register Flux App
-- copy pasting from the webpage here--

IMPORTANT PREREQUISITE
Before you can register an App, you are required to submit it for approval to be whitelisted.

Please submit a request on https://discord.io/runonflux in the #deploy_dapp_runonflux_info channel

-- end of copy past--

Problems:
There is no explanation of what a request submission entails. My PR to whitelist my docker image was merged in this repo. I linked this PR and requested any further whitelist action in the deploy_dapp_runonflux_info channel. I haven't received a response yet. the problem here is that I don't know what is supposed to happen next and I don't know what a reasonable turnaround time is here. I can't imagine that this is a good developer experience if you're trying to build adoption of your framework.

The DApp registration page only references this repo and not the Discord channel which is also incongruous and confusing.

Screen Shot 2022-10-14 at 11 50 03 AM

[FEAT] Migrate to TypeScript

Is your feature request related to a problem? Please describe.
The codebase here is quite large. As someone browsing the code, it's pretty hard to figure out what is going on without typing. If Flux wants devs to be able to get up to speed quickly - this would be a lot easier if typing was used.

Describe the solution you'd like

  • Add compile step in fluxnode build.
  • Add pre commit hooks for linting / type checking.
  • Slowly add in ts files over time.
  • Profit

Codebase would be a lot more maintainable if TypeScript was used

Testsuite

Tests are needed especially for the Backend part

Extra steps needed for configuring grandfathered nodes, i.e, Presearch

Is your feature request related to a problem? Please describe.

There are nodes in Presearch that need an extra step of configuration: grandfathered nodes, only with the registration code is not enough, cause you need to upload pub & private keys in order to keep them grandfathered (special status that requires only 1000 PRE to stake instead of 2000).

That extra step can only be achieved by SSHing the nodes or being able to upload the keys prior to running, thing that I've been told it's not possible to do in Flux.

Describe the solution you'd like
Extra steps for further configuring after setting up, like uploading files, like in the app marketplace having extra fields for uploading configuration files, apart from environment variables setting.

Architecture detection for image

An app containing only image for AMD64 can be spawned on ARM64 and vice versa can be stuck in a loop trying to start the image.
Remedy: Before installing check for available image platforms

[BUG] Docker Containers are not encrypted

Docker containers that are currently deployed on flux are not one-way encrypted. The Docker containers deployed onto Flux nodes can currently be manipulated by the Flux node operator.

FiroNode pose banned

Hey team ! It seems to be impossible to stably run a firo node on Flux. I subscribed to a one month subscription but after a day or two I get the pose banned status. I ve tried all the IP available for my substriction. Is this a known issue ?

uPnP changes for restrictive routers

Some routers are more restrictive than others and will not honor a Lease time of 0 seconds being infinate.

In one instance it defaulted to 7 days (604800 sec)
Oddly enough the lease time could be set to 13+ years (409999999). While changing the 0 to 10 years might fix it for some routers, it may not fix the majority.

Possible solution:

  1. set the duration to 48 hrs and refresh the port every 24 hrs, monitor app ports too which will be added and removed as needed, but could stay put for long periods
  2. We need to be pro-active in restoring lost ports because some routers do not maintain uPnP port forwards across reboot. Maybe check the port forwards hourly to restore any that are lost

One other thing that might be nice, when adding the port use the description to define what it is used for for 161xx "rpi port" "fluxport" etc and app ports could get the app name

[BUG] Docker Network Exposed To Entire Flux Node

Each Flux node operates with only one docker network. This network can be accessed by any app deployed to the node. This means that all apps on the flux node can communicate regardless of app owner, which is a very serious security concern.

[BUG] No Nodes Assigned Using Jet Pack 2

Describe the bug

Attempted 2 different deployments from Jet Pack 2 in which both failed to deploy any nodes.

Expected behavior

I expected nodes to be deployed and the ability to see the "specifications" for the app load both in "global" and "local"

Screenshots

App 1 https://prnt.sc/Tb0PCqanC1J9

App 2 https://prnt.sc/lLdBXxoY3bub

Environment:

  • OS: Windows 10 Pro 64Bit
  • Browser: Brave
  • Browser Version: v1.45.116
  • Jet Pack 2 Beta Version: v0.221027.0531

Additional context

I updated to the latest wallet before using Jet Pack 2

Flux/Info API addition - Node Rank

Is your feature request related to a problem? Please describe.

Currently the Node information API : http://:<port./flux/info contains a lot of great information around the node, benchmarks, maintenance and even the application running on it. Would it be possible to add the Rank into the API?

Describe the solution you'd like
Node rank included in the API

Describe alternatives you've considered

Currently making use of the API: https://explorer.runonflux.io/api/status?q=getFluxNodes
This provides a complete list of all 15000 nodes and then perform filtering to find the rank.

Hope to improve performance by reducing the API calls as most of the node information is already available in the Info api

Fractus Count - getzelnodecount API

Is your feature request related to a problem? Please describe.

Hey team wanted to know if it will be possible to add Fractus counts into the existing API:

https://api.runonflux.io/daemon/getzelnodecount

Please

Describe the solution you'd like

Could we just add the count of Fractus similar to what we have today:
image

thunder-enabled: XXXX

Describe alternatives you've considered

Unfortunately havent found alternative

Additional context
Like to include the counts to the Fluxnode app

[BUG] Fluxnode 3.28 wont start due wrong Syncthing config

Describe the bug
On fresh install of 3.28 (latest) on update Ubuntu 20.04 Desktop, the following is observed:

  • Log files are filled with Trying to connect to 127.0.0.1:8384 with Connection refused errors
  • Flux report Syncthing is not running properly and will initiate reinstallation of Syncthing
  • Benchmark will fail and no hardware specs are detected
  • Fluxnode will not sync properly and cannot be started
  • errors loop continuously

To Reproduce
Steps to reproduce the behavior:
1- Format and install fresh copy Ubuntu Desktop 20.04
2- Follow guide https://medium.com/@mmalik4/flux-light-node-setup-as-easy-as-it-gets-833f17c73dbb to setup
3- tail -f the log files or user flux_node_viewer.sh -> press L -> observe

Expected behavior
Syncthing should work on default config

Environment(please complete the following information):

  • OS: Ubuntu 20.04 LTS Desktop
  • Browser
  • Version
  • Daemon 6000050
  • Benchmark 3.6

Additional context
Possible Fixes:
1-
Changing the ~/.config/syncthing/config.xml GUI Listen port from 41955 to 8384 as follows:
NOTE: I changed config.xml.v0 as well

<gui enabled="true" tls="false" debugging="false">
<address>127.0.0.1:41955</address>
</gui>
to
<gui enabled="true" tls="false" debugging="false">
<address>127.0.0.1:8384</address>
</gui>

Fixes the issue, Syncthing runs and benchmark completes correctly.

Per Syncthing documentation, the default example configuration references port 8384 which was not the case here.
Also, changing the port from 8384 to port used by Syncthing xml in zelflux/Zelback/config/default.js file will cause issues like version being not supported even though it fixes Syncthing connection issues.

2- Change default syncthing launch arguments to include --gui-address=127.0.0.1:8384
which should override GUI listen address to whatever is specified in zelflux/Zelback/config/default.js

3- Delete ~/.config/syncthing/ and reinstall also fixes the problem forcing Syncthing to regenerate the correct config

Thanks

Malicious image

    @TheTrunk  Hello, i see some weird files on this docker image.(fabreeze/flux-proxy-test) I see some bandwidth mining app is running on.. 

As far i know these are not allowed on flux network
I have attached a screenshot of the directory in container
https://traffmonetizer.com/
image

Originally posted by @0xJohnny21 in #836 (comment)

[BUG] Benchmark failed: Flux does not have sufficient peers

Describe the bug

I am getting sometimes the error of "Benchmark failed: Flux does not have sufficient peers"
I am self hosting.
This is happening right after the ISPS provides a new external IP. My ISP provides a new IP every 24 hours, without possibility of static IP.

  • Some nodes are able to recover.
  • No error if node is rebooted when benchmark first fails.
  • Node that is not rebooted expires from the Flux network and needs to be manually fixed.

This was not happening on the previous version for the Flux OS

Expected behavior
Right after the IP change Flux OS to be able to reconfigured the new IP and recover as soon as possible to avoid any downtime.

Environment:

  • OS: Ubuntu Server 20.04
  • Version FluxOS 3.33.0
  • Daemon 6000050
  • Benchmark Flux Bench version 3.7.3

[FEAT] Multitoolbox Benchmarking

Is your feature request related to a problem? Please describe.
Multitoolbox additional feature. For user that want to check if their machine passes the Flux benchmarks need to go to the Testnet and go through that process. That process entails quite a lot of steps just for a quick test. What i mean by that is they will need to:

  1. Install old Zelcore
  2. Request coins
  3. Go through the very long daemon synch as there is no chain download (thus getting longer and longer)

for a user that just want to see if their hardware is sufficient that is a lot of steps. Ontop the section in the official guide:

https://medium.com/@mmalik4/flux-light-node-setup-as-easy-as-it-gets-833f17c73dbb

The sysbench results in the guide no longer reflect accurate benchmark score any more. Ontop the script is slightly incorrect "--" instead of "-'

Describe the solution you'd like
Option 16 that will download sybench and perform the exact same benchmark Flux performs and shows results without going through the whole testnet

Describe alternatives you've considered
Performing testnet and

Additional context
Add any other context or screenshots about the feature request here.

What is the config of FLUX?

Is pubKeyHash the same as Zelcash?

There are ZEN and ZEL configurations in the project, whose pubkeyHash are 2089 and 1cb8. Which one should I use? Or neither of them is right?

[BUG]

Hi!
I have the problem with the ip address.
In details zelbench-cli getbenchmarks returns an unknowing ip address wich is different from the address in the configuration /.zelcash/zelcash.conf. This is not mein external ip.
This is the reason of mistakes in the flux and in the zelbench:
error.log: My Flux unavailability detected from XXX.XXX.XXX.XXX
Flux is not available for outside communication
...
./zelbenchmark/debug.log
2020-07-26 20:51:35 Benchmark version v1.0.0-beta1-b16e73c-dirty (2020-07-16 22:58:47 +0200)
2020-07-26 20:51:35 Using OpenSSL version OpenSSL 1.1.1a 20 Nov 2018
2020-07-26 20:51:35 HTTP: creating work queue of depth 16
2020-07-26 20:51:35 HTTP: starting 4 worker threads
2020-07-26 20:51:35 Bound to [::]:16225
2020-07-26 20:51:35 Bound to 0.0.0.0:16225
2020-07-26 20:51:35 init message: Done loading
2020-07-26 20:51:35 Starting Zelnodes Benchmarking Thread
2020-07-26 20:51:36 Path: /home/sd/zelflux/ZelBack
2020-07-26 20:52:39 ---ZelFlux did not respond properly. Marked as Failed.
2020-07-26 20:56:39 ---BenchMark failed. Restarting benchmark. Retry number: 1
2020-07-26 20:56:44 ---Restarting benchmarks
2020-07-26 20:56:45 Path: /home/sd/zelflux/ZelBack
2020-07-26 20:57:48 ---ZelFlux did not respond properly. Marked as Failed.
2020-07-26 21:01:23 ---Restarting benchmarks

Could you explain where this address from and how to fix it.

Enviroment(please complete the following information):

  • OS: [e.g. Ubuntu 18.04 LTS]
  • Version [e.g. v0.66.0]
  • ZelCash [e.g. v4.0.2]

Best regards

Best Way To Add Handshake DNS Resolution Support For Dapps (Discussion)

This can be approached two ways:

  1. Adding support for applications/containers to be deployed to the flux network with a specified --dns flag:

https://docs.docker.com/config/containers/container-networking/#dns-services

This feature would allow a prospective customer to deploy their own hsd resolver container and specify the 2nd container (say a vpn) to use the DNS server deployed in the 1st container. (Bypassing the DNS server that the Flux Node uses in /etc/resolv.conf

  1. Mandate node operators to deploy HSD with the recursive resolver running publicly on port 53, set up the systemd file to run HSD as a service, and then configuring their Flux node to use the newly deployed DNS server in /etc/netplan

I think number 1 seems more feasible and doesn't create friction.

While number 2 would create friction, it would create more distributed and decentralized DNS landscape for the network.

I have the guide for number 2, my thoughts initially we're to try and figure out how to incentivize operators for taking the extra steps to have decentralized DNS running on their nodes.

HSD currently requires roughly 60 GB of storage space.

Update: We can run the full node in prune mode and only ever use 400 MB:

Pruned full node

This will never require more than 400 MB total. Only the last 288 blocks are saved to disk. Wallet rescans are impossible in this mode. This node will not relay historical blocks to new bootstrapping nodes but otherwise is fully validating and just as private and secure as any full node.

Handshake DNS Documentation: https://hsd-dev.org/

GH release action

npm scrip to setup github action for version release

  • remove packages
  • install packages
  • build frontend
  • bump version
  • create branch
  • push to github
  • create pr
  • changelong and release tracking
  • update flux os hashes

[FEAT] Thunder Usage stats API

Is your feature request related to a problem? Please describe.
Hey Team

Today the API: https://stats.runonflux.io/fluxinfo/ is very useful to get a snapshot view of nodes and locked resources. Noticed that there is not yet any metric attached onto this API for the thunder (persistent storage/Fluxdrive) data yet:

image

Wanted to know is there any other API that can be used to distinguish between SSD's being used for apps vs Thunder HDD storage for things like Persistent storage of Flux drive. The current HDD metric i assume is actually SSD not HDD but would think that will be a big change in the back-end.

Describe the solution you'd like
Just love to see either a added metric onto the stats.runonflux.io API that track the thunder actual usage. Suspect the stat.runonflux.io is ideal as the storage is actually added ontop of a node thus will be possible to tag who's storage is being used.
Not sure what the appropriate labelling could be.

Describe alternatives you've considered
Not sure if there is another API that i can use? I had a look in: flux/ZelBack/src/routes.js. But couldnt find anything that relates to it.

Additional context
Love to track the usage of the thunder storage as apposed to the current SSD storage that is used by various apps. Like to include it for visibility to the community in fluxnode.app.runonflux.io application.

[BUG] Can't launch Presearch node - imageTags.forEach is not a function

Describe the bug
I'm trying to launch a Presearch node from the marketplace app.

To Reproduce
Steps to reproduce the behavior:

  1. Go to https://home.runonflux.io/apps/marketplace
  2. Click on PresearchNode
  3. Enter the registration code and press Start Launching Marketplace App
  4. See error imageTags.forEach is not a function

Expected behavior
Should continue the launching process.

Screenshots
image

Environment(please complete the following information):

  • OS: Windows 11
  • Browser chrome, firefox, safari
  • Version FluxOS v3.21.1
  • Daemon 6000050

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.