Code Monkey home page Code Monkey logo

tpi's People

Contributors

donaldguy avatar ruslashev avatar svenrademakers 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

Watchers

 avatar  avatar  avatar  avatar

tpi's Issues

Implement Authentication

This task can be picked up after authentication is implemented in the bmcd.

Acceptance Criteria

  • 'Basic Authentication' or 'token authentication` is used
  • CLI is extended with a 'username' and 'pasword' option,
  • When the user did not pass a 'username' and 'password', a 'enter credential dialog' is presented in which the user enters his credentials
  • The authentication token is stored on disk for as long as its valid. This minimizes the occurrence a user has to re-authenticate

Publish to a brew repo

It'd be nice if you could publish to a brew repo so we could easily install the utility via brew on MacOS or Linux.

add `username` and `password` arguments

as a user i want to be able to pass my password and username when executing a command so i can use the tpi tool without requiring user input.
e.g.

tpi power on --node 1 --username root --password 1234

make v1.0.0 release

This issue is blocked by #4.

Acceptance Criteria

  • Version is updated to v1.0.0 in .toml
  • tag v1.0.0
  • AUR repository is updated
  • Release is created and contains a zip with binaries for windows and mac, a deb package for Linux
  • documentation describing how to install and run the tpi tool

Option to navigate grub with tpi uart set

Hi,

There seems no way to either use CTRL combination or arrowkeys with the -c parameter.
This makes it impossible to choose another boot option in grub, which would be really helpful to recover something.

Please implement a way to sent keys which cannot be parameters.

Winows and MacOs binaries not available via https://firmware.turingpi.com/tpi

Repository readme references prebuilt binaries are available for windows, Linux and macOS. But when navigating to URL: https://firmware.turingpi.com/tpi, per readme only Debian Linux images are available.
From a user experience perspective please either reference https://github.com/turing-machines/tpi/releases (I stumbled across this URL) or upload/link binaries to https://firmware.turingpi.com/tpi.. fyi. fantastic utility, lets make it easy for all tpi2 users to use

Poor performance multipart upload

The flash and firmware commands of the tpi tool use an HTTP multipart upload. We have similar functionality in the GUI but the javascript variant can reach 30-50 mbit, while the tpi tool seems very stable transferring at 1.3 mbit.

Acceptance Criteria

  • the tpi tool matches the UI implementation on transfer performance

tpi - verifying checksum notification enhancement.

Is it possible to add a notification during the verifying checksum phase, eg. after an image has been written. example: in the attached screenshot it took over 4 minutes for checksum verification phase to complete, during this time users
may think tpi has hung as there is no notification or visual indication on what's happening.

image

Advanced subcommand

as a user i want to be able to boot a given raspberry pi as a Mass Storage device so i can alter OS settings.

We want to add an additional command that contains the following commands:

+#[derive(ValueEnum, Clone, PartialEq)]
+pub enum ModeCmd {
+    /// Clear any advanced mode
+    Normal,
+    /// reboots supported compute modules and expose its eMMC storage as a mass
+    /// storage device
+    MSD,
+    /// Setting the recovery pin high will cause the module to halt after its
+    /// respective bootROM code. A manual restart is required.
+    Recovery,
+}

Acceptance Criteria

  • boot pin setting is moved from the usb subcommand to the advanced subcommand and renamed to Recovery
  • legacy API calls are used to implement this feature.

Add support for flashing without starting the node afterwards

Hello everyone,

it would be great if there would be an option to flash the nodes without powering it on afterwards so you can provide configuration files to the boot partition without having to uncleanly shutting the node down beforehand.

Sincerely,
ThePapanoob

Implement token based authentication

Acceptance Criteria

  • Authentication based on "sessions" is implemented according to the Redfish spec
  • session token is stored as long as it's valid
  • When the token expires, show the user a 'enter credential dialog'

add progress bar for local file transfers

acceptance criteria

  • the tpi tool polls on a regular interval /bmc/api?type=flash&op=get and writes the bytes_written attribute to a progress bar.
  • after the bmcd is finished in transfer state, the tpi tool polls the same end-point and waits until it sees a "Done" or an "error" state
  • if the transfer resulted in an error, the error gets printed to the user

Add Redfish sspd service discovery support

Acceptance Criteria

  • a service discovery scan can be executed, which returns a list of devices that implement redfish
  • a fallback mechanism is implemented if the TP is not found via its default hostname. This fallback mechanism presents the user with redfish-supported devices and lets the user decide which one to pick.

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.