Skip to content
/ amtgo Public
forked from schnoddelbotz/amtgo

Intel AMT / vPro mass management tool

License

Notifications You must be signed in to change notification settings

dawidj/amtgo

 
 

Repository files navigation

amtgo Build Status codecov GoDoc

A golang implementation of amtc and its amtc-web GUI. Like amtc -- for mass remote power management and monitoring Intel AMT hosts.

Features over amtc / amtc-web:

  • includes amtc-web application webserver in a single binary
  • instant, parallel execution of GUI-submitted tasks
  • includes cron functionality for monitoring and scheduled tasks
  • it finally has a command/context-sensitive -h(elp) command line switch

amtgo still supports MySQL as database back-ends.

binary installation

Move the binary to a location of your choice, e.g. /usr/local/bin. That's all needed to run amtgo from CLI like amtc. You should be able to run amtgo -h for help.

amtgo server should be started up via systemd or the like. Find first run instructions below.

... when using MySQL

  • Install MySQL, start it and create a database and a user for amtgo purposes.
  • Starting amtgo server using MySQL requires MySQL connection details. They should be passed as environment variables, but can also be passed as command line arguments for testing. Output excerpt from amtgo server -h:
OPTIONS:
   --dbdriver value, -d value    Database driver: sqlite3 or mysql (default: "sqlite3") [$DB_DRIVER]
   --dbfile value, -F value      SQLite database file (default: "amtgo.db") [$DB_FILE]
   --dbName value, -D value      MySQL database name (default: "amtgo") [$DB_NAME]
   --dbHost value, -H value      MySQL database host (default: "localhost") [$DB_HOST]
   --dbUser value, -U value      MySQL database user name (default: "amtgo") [$DB_USER]
   --dbPassword value, -P value  MySQL database password [$DB_PASSWORD]
   --dbPort value, -p value      MySQL database port (default: "3306") [$DB_PORT]

For example, to run amtgo server using mysql database foo on localhost as user joe using password 1234, run: amtgo server -d mysql -D foo -U joe -P 1234.

For testing purposes, you may want to run a ephemeral MySQL instance using Docker:

docker run --rm --name amtgo-mysql \
  -e MYSQL_RANDOM_ROOT_PASSWORD=yes \
  -e MYSQL_DATABASE=amtgo \
  -e MYSQL_USER=amtgo \
  -e MYSQL_PASSWORD=1234 \
  -p 3306:3306 \
  -d mysql/mysql-server

building amtgo from source

# build amtgo
go build -o

status & open issues

amtgo is a fun project for me to get into golang -- I never was too happy with amtc-web's requirement for Apache, PHP and cron... Like amtc, amtgo works for me (tm), but I lack long-term usage experience. Note that amtgo, in contrast to amtc, does not support EOI protocol but only WS-MAN. For AMT versions <6, you might want to stay with amtc.

Please report any issues you encounter. I'm also thankful for any hints for improvement.

license

amtgo is published under MIT license.

Besides golang's standard library, amtgo relies on:

Assets (i.e. amtc-web static content and AMT commands) are included

Please check amtc-web 3rd party components, too.

About

Intel AMT / vPro mass management tool

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 63.3%
  • HTML 36.6%
  • PowerShell 0.1%