Skip to content

Console is an application that provides a 1:1, direct connection for AMT devices for use in an enterprise environment. Users can add activated AMT devices to access device information and device management functionality such as power control, remote keyboard-video-mouse (KVM) control, and more.

License

Notifications You must be signed in to change notification settings

device-management-toolkit/console

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Codecov OSSF-Scorecard Score Discord

Console

Disclaimer: Production viable releases are tagged and listed under 'Releases'. Console is under development. The current available tags for download are Alpha version code and should not be used in production. For these Alpha tags, certain features may not function yet, visual look and feel may change, or bugs/errors may occur. Follow along our Feature Backlog for future releases and feature updates.

Overview

Console is an application that provides a 1:1, direct connection for AMT devices for use in an enterprise environment. Users can add activated AMT devices to access device information and device management functionality such as power control, remote keyboard-video-mouse (KVM) control, and more.

Quick Start for Users

1. Download Console

  1. Visit the latest release page
  2. Download the appropriate binary for your operating system and architecture from the Assets section

2. Run Console

Linux/macOS

# Navigate to your download directory
cd <path-to-your-download>

# Extract the archive (example for Linux x64)
tar -xzf console_linux_x64.tar.gz

# Make the binary executable
chmod +x console_linux_x64

# Run Console
./console_linux_x64

Windows

# Simply double-click the downloaded executable to run
console_windows_x64.exe

Or run from Command Prompt:

console_windows_x64.exe

3. First Run Setup

On first startup, you'll see:

Warning: Key Not Found, Generate new key? Y/N

Simply type Y and press Enter - this generates the necessary encryption keys for secure operation.

Linux Users: If you encounter "Object does not exist at path '/'" after answering 'Y', this indicates your system lacks a keychain service. Install a keychain manager (like seahorse) and restart Console binary.


For Developers

Development Environment

You’ll run two components during development:

  • Console – the backend service (Go Service)
  • Web UI – the frontend (for the Angular Web UI)

Local development can be done on Linux, macOS, and Windows. On Windows, WSL is recommended if you plan to use make, but it’s not required for running Console directly.

Prerequisites

Before you begin, ensure you have:

1. Clone and Configure Console

# Clone Console
git clone https://github.com/device-management-toolkit/console.git
cd console

# Copy env template
cp .env.example .env

Edit .env as needed. For local dev, set:

DISABLE_SWAGGER_HTTP_HANDLER=true
GIN_MODE=debug
# DB_URL=postgres://postgresadmin:admin123@localhost:5432/rpsdb  # uncomment for Postgres

2. Running the Backend

Option A: SQLite (default, easiest)

# Install dependencies
go mod tidy && go mod download

# Run Console
go run ./cmd/app/main.go

First run: When prompted with Warning: Key Not Found, Generate new key? Y/N, type Y and press Enter.

Custom Config: You can specify a custom configuration file:

go run ./cmd/app/main.go --config "/absolute/path/to/config.yml"

Database Location: SQLite database is automatically created at:

  • Linux/macOS: ~/.config/device-management-toolkit/console.db
  • Windows: %APPDATA%\device-management-toolkit\console.db

Option B: PostgreSQL

# Start Postgres via Docker
make compose-up

# Run Console with database migrations
make run

This will use the DB_URL you configured in .env.

4. Running the Frontend

# Clone Sample Web UI
git clone https://github.com/device-management-toolkit/sample-web-ui
cd sample-web-ui

# Install dependencies
npm install

# Build and run
npm run enterprise

Check the output of npm run enterprise to verify the port (default is 4200), then open the UI in your browser at:

http://localhost:4200

Architecture and Documentation

Before contributing code changes, familiarize yourself with:

Dev tips for passing CI Checks

  • Install gofumpt go install mvdan.cc/gofumpt@latest (replaces gofmt)
  • Install gci go install github.com/daixiang0/gci@latest (organizes imports)
  • Ensure code is formatted correctly with gofumpt -l -w -extra ./
  • Ensure all unit tests pass with go test ./...
  • Ensure code has been linted with:
    • Windows: docker run --rm -v ${pwd}:/app -w /app golangci/golangci-lint:latest golangci-lint run -v
    • Unix: docker run --rm -v .:/app -w /app golangci/golangci-lint:latest golangci-lint run -v

Additional Resources

  • 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 Device Management Toolkit? Connect with the team directly through Discord.

    Discord Banner 1

About

Console is an application that provides a 1:1, direct connection for AMT devices for use in an enterprise environment. Users can add activated AMT devices to access device information and device management functionality such as power control, remote keyboard-video-mouse (KVM) control, and more.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 13

Languages