GithubHelp home page GithubHelp logo

open-amt-cloud-toolkit / sample-web-ui Goto Github PK

View Code? Open in Web Editor NEW
7.0 7.0 7.0 17.19 MB

The Sample WebUI provides an example of how the UI Toolkit can be implemented to leverage the OpenAMT Cloud Toolkit

Home Page: https://open-amt-cloud-toolkit.github.io/docs/

License: Apache License 2.0

HTML 12.93% JavaScript 0.25% SCSS 1.44% Dockerfile 0.13% TypeScript 85.09% Shell 0.03% Makefile 0.14%
angular sample-ui

sample-web-ui's Introduction

Open AMT Cloud Toolkit

Discord

Disclaimer: Production viable releases are tagged and listed under 'Releases'. All other check-ins should be considered 'in-development' and should not be used in production

Open Active Management Technology Cloud Toolkit (Open AMT Cloud Toolkit) offers open-source microservices and libraries to streamline Intel AMT integration, simplifying out-of-band management solutions for Intel vPro Platforms.


For detailed documentation about the Open AMT Cloud Toolkit, see the docs.


Clone

Important! Make sure you clone this repo with the --recursive flag since it uses git submodules.

To clone live, in-development code (main branch):

git clone --recursive https://github.com/open-amt-cloud-toolkit/open-amt-cloud-toolkit.git

Alternatively, for steps to clone and Get Started with one of the tagged releases, see our documentation.


Get Started

There are multiple options to quickly deploy the Open AMT Cloud Toolkit:


Local using Docker

The quickest and easiest option is to set up a local stack using Docker*, view our Documentation Site and click the Getting Started tab for How-To steps and examples.


Cloud using Azure

For more experienced users, deploy the stack on Azure using the 'Deploy to Azure' button below. Note: This requires MPS, RPS, and Sample Web UI images to be built and accessible in a Container Image Registry such as Azure Container Registry (ACR), Docker Hub, or other options.

Deploy to Azure

Optionally, deploy from AzureCLI using the following commands:

az group create --name openamt --location eastus
az deployment group create --resource-group openamt --template-file azureDeploy.json

Additional deployments, such as Kubernetes via Azure (AKS) or AWS (EKS), can be found in our Documentation Site.


Additional Resources

  • For detailed documentation and Getting Started, visit the docs site.

  • Find a bug? Or have ideas for new features? Open a new Issue.

  • Need additional support or want to get the latest news and events about Open AMT? Connect with the team directly through Discord.

    Discord Banner 1

sample-web-ui's People

Contributors

asimmohx avatar bill-mahoney avatar brianosburn-intel avatar bwendlandt-intel avatar chethanbellechalu-intel avatar craig-spencer-12 avatar dependabot[bot] avatar graikhel-intel avatar intelkrishi avatar madhavilosetty-intel avatar mahendra-intel avatar matt-primrose avatar motifmike avatar orinem avatar rjbrache avatar rsdmike avatar semantic-release-bot avatar snyk-bot avatar step-security-bot avatar tim-shockley avatar vinayg-intel avatar walt-intel avatar zaidusmani26 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

sample-web-ui's Issues

Add Configuration Mode and SKU Type of each machine in the "Devices" menu of the OpenAMT UI

Describe the bug ๐Ÿชฒ
In the Device menu of the OpenAMT UI, add SKU Type and Configuration mode of the machine.

Expected behavior
When admin logs into the OpenAMT UI, and goes to the "Devices" menu, the list of systems should display the SKU type and Configuration mode.

Screenshots ๐Ÿ–ผ๏ธ

image

Additional context
Add any other context about the problem here.

Going to login page while logged in does not redirect to the dashboard

when visiting http://localhost:4200/login (or wherever the web-ui is hosted) while already logged in, the ui presents the login page with a functional navigation bar to the side. I'm guessing that this is unintended as the user should either have access or be presented with the login page but not both.

A simple redirect from the login page to the dashboard when the user is logged in should fix this issue.

I found this because I saved a bookmark for the login page and went there while already logged in

login-bug

Add a Network Settings section in OpenAMT UI

Describe feature enhancement ๐Ÿชฒ

When connecting to an AMT device in the OpenAMT UI, add a Network summary section.

Network Setting Information

Name & Domain - Example lenovo-moble1.vprodemo.com

Wired Interface
Link state - Link is up/Link is down
MAC Address - 8c-16-45-a5-9e-0f
802.1x - Enabled/Disabled
IPV4 state - DHCP/Static
IPV4 address - 10.0.0.52
IPV6 state - Enabled/Disabled
IPV6 address -

Wireless Interface
Link state - Link is up /Link is down
IPV4 address
IPV6 address
Wireless Profile - Profile name, SSID, Authentication, Encryption

To Reproduce ๐Ÿชœ
Steps to reproduce the behavior:

  1. Go to OpenAMT UI
  2. Click on Devices tab
  3. Scroll down, to the Summary details of BIOS, Memory, Hardware
  4. Network Settings Summary should be added under Memory Summary

Show About notice on Sample Web UI when a user logs in

As the product owner of the Open AMT Cloud Toolkit, I want the About message that is in the Sample Web UI to be shown every time a user logs into the page. This would ensure that users are notified that this is a sample ui, it's purpose, and that it should not be used in production. We'd also have a "Do not show this again" check box so that users could turn off the notice.

Acceptance Criteria:

  • By default, when a user logs into the Sample UI, the About box is shown
  • A "Do not show this again" check box is added to the About box. If this check box is checked, the Sample UI will not show the About message to the user when they log in

Add a UI mini-tutorial to Sample Web UI to show users what is new in the most recent update

As a user of Open AMT Cloud Toolkit, I would like the Sample Web UI to show me a brief tutorial of the new features that were added in the most recent version that I am running. This would be a one-time tutorial that would highlight the changes in the current version of Sample Web UI

Acceptance Criteria:

  • Sample Web UI will provide a small tutorial in the UI showcasing the features added in the current version.
    - This would be small UI elements that provide a brief description of the change and are located near the changed item in the UI
    - The element would have a close option to end the tutorial
    - If there are multiple changes in the tutorial, the element will have a next button that will take them to the next tutorial step
  • The Sample Web UI will only show the tutorial once, on first use.

Sample UI should abide by the user consent settings that are currently set in AMT

Currently, if AMT is set in Admin Control Mode and user consent is enabled, Sample UI automatically turns off user consent on AMT when a KVM session is started. Sample UI should not disable use consent.

  • Add a prompt to KVM if it is disabled asking whether they need to enable or not
  • Add a prompt to SOL if it is disabled asking whether they need to enable or not
  • unit tests
  • demo
  • docs

Feature request - Edit machine tags

Discussed in open-amt-cloud-toolkit/open-amt-cloud-toolkit#218

Originally posted by aggietallboy July 28, 2023
Howdy all!
I'm really liking the system as I've been using it more.
I'd like to be able to edit machine tags without having to create a whole different profile to do so.
Being able to add/remove tags from the device list would be very helpful (as we've already got filtering based on them!)

vPro "Pre-check" - Device specific page (See attachment) - Used for Support as well.

Feature Enhancement per customer request:
PreCheck_SS

As discussed in the Monday morning "Matt's" meeting... this is request from a variety of customers to have a "pre-check" list of services and features listed to know that everything is running correctly or to be able to quickly identify what to resolve to remediate.

image

To Reproduce ๐Ÿชœ
NA

Expected behavior
NA

Screenshots ๐Ÿ–ผ๏ธ
Attached....

Timing Issue with Enabling KVM

The first time visit to KVM component sends an initial request to enable KVM, and subsequently then requests to connect KVM. This is happening too fast and needs to be timed to wait for KVM to be enabled before connecting.

Pages with multiple REST calls won't populate any information if a single call fails

When clicking on a connected device, multiple rest calls are executed to load the data on the device page (HW information, KVM information, Audit Log, Device Information). If one of those calls fails, none of the information from the other successfully executed calls is shown on the UI. For example, if the Audit Log call fails, the UI won't show HW or KVM information.

The UI should be updated to present information on the page as it is received. This way if any single call fails, the user still sees some of the information.

Logging out of UI if user performs power actions on a device with invalid amt password

Using sample UI, it logs out when user performs power actions or click on device with invalid amt password.
Repro steps:

  1. Activate in acm and configure cira to connect a device to open amt stack
  2. In vault, change device amt password (create new version of secret with different password)
  3. From sample-ui, either perform any device power action (or) click on a device, it gives an error and then logs out from UI.

Giving authentication error is expected but logging out of UI is not expected behavior.

Show relevant items in UI only when applicable - Grey out all features that are not able to be used at that time

Describe the feature enhancement request ๐Ÿชฒ
When using the OAMTCT UI, only show relevant fields (selectable items that will perform actions) that can be executed or performed at that time. Grey out all non-usable fields and/or selectable items when they are not usable.

To Reproduce ๐Ÿชœ
Example: When connected to a vPro device that is powered OFF, Sleep or Hibernate, you should only show the relevant button for POWER ON... Or POWER to BIOS, or POWER to PXE... all other fields, should be greyed out since they will not work.

Expected behavior
Only show features that are "Usable" at that moment... Basically giving our software a "Smart" aware like feature

Screenshots ๐Ÿ–ผ๏ธ
image

Example are CIRCLED BLUE would be active button and the others greyed out.

AMT Device (please complete the following information): ๐Ÿ–ฅ๏ธ
N/A

Service Deployment (please complete the following information): โ›ˆ๏ธ
N/A

Additional context
Add any other context about the problem here.

Websocket Connection Failures should be propagated to UI

Describe the bug ๐Ÿชฒ
Token was invalid, MPS rejecting connection, but wasn't indicated on UI

To Reproduce ๐Ÿชœ
Steps to reproduce the behavior:

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

Expected behavior
I expect a notification if auth failed

Screenshots ๐Ÿ–ผ๏ธ
If applicable, add screenshots to help explain your problem.

Browser Information (please complete the following information): ๐Ÿ–ฅ๏ธ

  • OS: [e.g. Windows 10 build 21H1, Ubuntu 20.04 LTS] Win 11
  • Browser and Version: [e.g. IE Edge 95.0.1020.40 ] Brave

Server Side Deployment (please complete the following information): โ›ˆ๏ธ

  • Deployment Type: [e.g. Azure, Docker, K8s] Docker
  • Node Version: [e.g. LTS 14] LTS 16
  • Component & Version: [e.g. RPS 2.0.0] 2.2.0

Additional context
Add any other context about the problem here.

KVM does not abide by user consent settings, and resets upon use

Latest version (06-23)
Built profile with user consent required for KVM
device showed up with new profile, but user consent set to none.
Connected to KVM without consent prompt.

Went back out, set kvm consent in gui on the device
Initially, after refresh, consent was none, but after a short period of time it did reflect "KVM"

Connected to KVM, without consent being asked/required - device setting was reverted back to none.

Issue while logging into RPS through Open AMT Cloud Toolkit Sample UI

Hi,

I deployed Intel AMT cloud toolkit microservices on Azure container instances by following this. The container instance got created and I can see all 6 containers running. However, when I use the FQDN to open the Web-UI and give the default username and password found here i am hitting an error : "ERROR LOGGING IN" .

I followed instructions given here to build MPS and RPS images and used docker build -t <tag> . command to build the sample Web-UI image.

Could you please help us?

cant login

My device can login to Intel AMT website(port 16992), but I cannot login to this sample web ui.
It always shows ERROR LOGGING IN
How can I login?

Display SKU type of each system in the OpenAMT UI Dashboard

Describe the Feature Request ๐Ÿชฒ

On the OpenAMT Dashboard, create a bucket for vPro Enterprise, vPro Essentials and ISM devices. Under each bucket, list the number of systems there are.

Expected behavior
When admin logs into OpenAMT dashboard, all of the devices that are managed by OpenAMT, should be listed in each SKU type bucket.

Screenshots ๐Ÿ–ผ๏ธ

image

Additional context
ISV's are asking for this feature.

Integrate angular IDER and REST API

As a developer using the Sample Web UI as a reference for how to use the features of Open AMT Cloud Toolkit, I would like to have a sample implementation of IDER in the Sample Web UI so that I can use that as a template for how to integrate the IDER feature into my console.

Acceptance Criteria

  • Dialogue on Sample Web UI to accept CD-ROM, Floppy Image File, & Mode of start mode (immediate, reboot) (see reference in mesh commander)
  • Add instructional comments to UI toolkit integration

Tests fail if RPS server isn't localhost

To Reproduce ๐Ÿชœ
Steps to reproduce the behavior:

Change the environment to use a remote RPS server, for example:

diff --git a/src/environments/environment.ts b/src/environments/environment.ts
index 63d436c..7904a38 100644
--- a/src/environments/environment.ts
+++ b/src/environments/environment.ts
@@ -9,9 +9,9 @@
 
 export const environment = {
   production: false,
-  mpsServer: 'http://localhost:3000',
-  rpsServer: 'http://localhost:8081',
-  vault: 'http://localhost/vault'
+  mpsServer: 'https://10.0.0.219/mps',
+  rpsServer: 'https://10.0.0.219/rps',
+  vault: 'https://10.0.0.219/vault'
 }
 
 /*

The tests will fail as they have 'localhost' hardcoded in some strings.

Expected behavior

Tests should succeed.

Additional context

This will fix the problem. Using 'URL' to extract the hostname should be different enough to component.formServerUrl() for the test to be worthwhile.

diff --git a/src/app/shared/deactivate-device/deactivate-device.component.spec.ts b/src/app/shared/deactivate-device/deactivate-device.component.spec.ts
index babe200..cbd8909 100644
--- a/src/app/shared/deactivate-device/deactivate-device.component.spec.ts
+++ b/src/app/shared/deactivate-device/deactivate-device.component.spec.ts
@@ -51,7 +51,7 @@ describe('DeactivateDeviceComponent', () => {
     expect(component.rpcLinux).toBe('sudo ./rpc ')
     expect(component.rpcDocker).toBe('sudo docker run --device=/dev/mei0 rpc:latest ')
     expect(component.rpcWindows).toBe('rpc.exe ')
-    expect(component.deactivationUrl).toBe('sudo ./rpc -u wss://localhost/activate ')
+    expect(component.deactivationUrl).toBe('sudo ./rpc -u wss://' + new URL(environment.rpsServer).hostname + '/activate ')
     expect(component.serverUrl).toBe(`-u wss://${component.formServerUrl()}/activate `)
     expect(component.deactivationCommand).toBe('')
     expect(component.isCopied).toBe(false)
@@ -75,17 +75,17 @@ describe('DeactivateDeviceComponent', () => {
   it('should set linux deactivation url', () => {
     component.selectedPlatform = 'Linux'
     component.formDeactivationUrl()
-    expect(component.deactivationUrl).toBe('sudo ./rpc -u wss://localhost/activate ')
+    expect(component.deactivationUrl).toBe('sudo ./rpc -u wss://' + new URL(environment.rpsServer).hostname + '/activate ')
   })
   it('should set windows deactivation url', () => {
     component.selectedPlatform = 'wiNDows'
     component.formDeactivationUrl()
-    expect(component.deactivationUrl).toBe('rpc.exe -u wss://localhost/activate ')
+    expect(component.deactivationUrl).toBe('rpc.exe -u wss://' + new URL(environment.rpsServer).hostname + '/activate ')
   })
   it('should set docker deactivation url', () => {
     component.selectedPlatform = 'docker'
     component.formDeactivationUrl()
-    expect(component.deactivationUrl).toBe('sudo docker run --device=/dev/mei0 rpc:latest -u wss://localhost/activate ')
+    expect(component.deactivationUrl).toBe('sudo docker run --device=/dev/mei0 rpc:latest -u wss://' + new URL(environment.rpsServer).hostname + '/activate ')
   })
 
   it('should set the isCopied flag to true on click of copy icon ', fakeAsync(() => {

Need "Verification" on UI of Enterprise Activation Method (TLS Enterprise) with OAMTCT console

Describe the feature enhancement request
When using RPS/RPC to activate TLS Enterprise mode, need to be able to "Verify" or validate that the device being activated was indeed activated. Otherwise, activating in the dark and not knowing if it was successful.

To Reproduce ๐Ÿชœ
Activate a platform with TLS Enterprise mode (NON CIRA)...

Expected behavior
RPC to send back "Activation Status" or Activated or Failed... etc...

Screenshots ๐Ÿ–ผ๏ธ

AMT Device (please complete the following information): ๐Ÿ–ฅ๏ธ
N/A

Service Deployment (please complete the following information): โ›ˆ๏ธ
N/A

Additional context
Add any other context about the problem here.

Add WSMAN Browser section in OpenAMT UI

Describe the feature enhancement ๐Ÿชฒ
A clear and concise description of what the bug is.

When connecting to an AMT device in OpenAMT UI, add a section called "WSMAN Browser".

Add capabilities of the AMT platform. Refer to Mesh Commander.

To Reproduce ๐Ÿชœ
Steps to reproduce the behavior:

  1. Go to OpenAMT UI
  2. Click on the AMT configured device
  3. Scroll down and add a section called "WSMAN Browser"
  4. Add the capabilities to view what the platform supports. Refer to the Mesh Commander for these capabilities.

Additional context
Add any other context about the problem here.

We refer to these very often, to view the capabilities of the platform. Some recent examples, we recently needed to view if the plaform support OCR, 8021x profile, AMT Boot capabilities.

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.