Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[mainnet-manager] Manager Node backend additions. #226

Open
6 of 12 tasks
evanlinjin opened this issue Mar 18, 2019 · 3 comments
Open
6 of 12 tasks

[mainnet-manager] Manager Node backend additions. #226

evanlinjin opened this issue Mar 18, 2019 · 3 comments

Comments

@evanlinjin
Copy link

evanlinjin commented Mar 18, 2019

Description

This is a parent issue of multiple sub-issues/sub-PRs. This is provided here for a clear overview of tasks.

From @jdknives on Discord:

Below the functionality needed for the manager backend (given how the frontend works, and most of those functions make sense imo): 👇
Backend:

  • health endpoint (or directly in nodes resource) to report status of the node
  • uptime
  • ip of the node (for labeling and easier debugging instead of reading long keys)
  • version (of the node software)
  • loops endpoint
  • login (password protection to serve the manager on the web) + logout endpoint
  • change password endpoint (dont let the user use other endpoints if he hasnt changed the default pw first)
  • log/output from apps
  • native apps dont have endpoints yet (for controlling ssh...), once they do, there could also be a history for last used startup parameters (like whitelist for ssh server, nodes for proxy)
  • old manager had a "connect to node" (proxy app) with list of all discovered nodes and their location (country)
  • terminal (security: Make visor listen for stcp transports automatically skywire#71)
  • check for updates and update
  • reboot node
  • some help texts? ex. what is exit node toggle for...

Tasks

  • Move RPC implementation back to /pkg/node module.
  • Implement login/logout endpoints (authboss?).
  • Node uptime endpoint.
  • Health endpoint.
  • Uptime tracking service, manager and app node communication.
  • IP endpoints.
  • Versioning endpoints.
  • Loops endpoints.
  • Manager access to logging from apps and node.
  • Manager access to updater + reboot.
  • Manager endpoint: Call discovery server with "connect to node...".
  • Manager access to terminal.
@jdknives
Copy link
Member

@evanlinjin note that uptime only requires the time elapsed since the last connection to the discovery (ap4y suggested implementing uptime tracking in transport discvory). The total uptime is calculated by the monitor, although we could improve on that.

Could you elaborate on why you want to move the RPC implementation back to /pkg/node?

@evanlinjin evanlinjin changed the title Manager Node backend additions. [mainnet-manager] Manager Node backend additions. Mar 18, 2019
@evanlinjin
Copy link
Author

@evanlinjin note that uptime only requires the time elapsed since the last connection to the discovery (ap4y suggested implementing uptime tracking in transport discvory). The total uptime is calculated by the monitor, although we could improve on that.

Could you elaborate on why you want to move the RPC implementation back to /pkg/node?

For the first point, it's the transport discovery right? I think we need to call it network-uptime otherwise it will be confused with how long the node software has been running.

For the second point, it makes more sense to have it there and leads to more confusion.

@ap4y
Copy link

ap4y commented Mar 18, 2019

small correction, I actually backtracked suggestion for using transport discovery for uptime, see issue 110 in the original repo. My idea was to use transports to track uptime, since they have statuses but as I mentioned in that issue it's not going to work. Having separate service makes the most for me but I think it was rejected as an idea.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Development

No branches or pull requests

4 participants