dutctl

module
v0.10.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 20, 2025 License: BSD-2-Clause

README

DUT Control

Device-under-Test (DUT) Control is an abstraction layer for remote hardware access.

For details on the system architecture see docs.

Supported Client OS Supported DUT Agent Hardware
Linux RaspberryPi 4
Modules Status
GPIO Button
GPIO Switch
IPMI Power Control
Power Distribution Unit, Intellinet
Power Distribution Unit, Delock
SPI Flasher, flashrom
SPI Flasher, flashprog
Serial Console
Shell Execution
Secure Shell (SSH)

Roadmap

This project is in it's kickoff phase. Beta-Versions will be released onece the initial system architecture is set up and and the first module is implemented. More modules will then follow in further beta versions until a set of features is supported to control a DUT for a basic development cycle. See the project's milstones for more details.

Contributing

Until MVP is finished, external contributions most likely won't be handled.


This project is supported by

image

Directories

Path Synopsis
cmds
dutagent command
dutagent is the server of the DUT Control system.
dutagent is the server of the DUT Control system.
dutctl command
dutctl is the client application of the DUT Control system.
dutctl is the client application of the DUT Control system.
exp/dutserver command
dutserver is EXPERIMENTAL! It serves as a relay for dutctl requests to multiple registered DUT agents.
dutserver is EXPERIMENTAL! It serves as a relay for dutctl requests to multiple registered DUT agents.
internal
buildinfo
Package buildinfo provides a way to read the build information embedded in a Go binary.
Package buildinfo provides a way to read the build information embedded in a Go binary.
chanio
Package chanio provides a way to use channels as io.Reader and io.Writer.
Package chanio provides a way to use channels as io.Reader and io.Writer.
dutagent
Package broker provides utilities for a dutagent service to handel the RPC requests.
Package broker provides utilities for a dutagent service to handel the RPC requests.
fsm
Package fsm provides a simple but powerful finite state machine implementation.
Package fsm provides a simple but powerful finite state machine implementation.
test/mock
The mock package provides implementations of dutctl entities that can be used for unit-testing modules.
The mock package provides implementations of dutctl entities that can be used for unit-testing modules.
pkg
dut
Package dut provides representation of the device-under-test (DUT).
Package dut provides representation of the device-under-test (DUT).
module
Package module provides a plugin system for the DUT package.
Package module provides a plugin system for the DUT package.
module/flash
Package flash provides a dutagent module that reads or writes the SPI flash on the DUT.
Package flash provides a dutagent module that reads or writes the SPI flash on the DUT.
module/gpio
The gpio package provides two modules that simulate buttons and switches respectively, using the GPIO pins of the Raspberry Pi.
The gpio package provides two modules that simulate buttons and switches respectively, using the GPIO pins of the Raspberry Pi.
module/ipmi
Package IPMI provides a dutagent module that allows IPMI commands to be sent to a DUT's BMC.
Package IPMI provides a dutagent module that allows IPMI commands to be sent to a DUT's BMC.
module/pdu
Package pdu provides a dutagent module that allows power control of a PDU via HTTP requests.
Package pdu provides a dutagent module that allows power control of a PDU via HTTP requests.
module/serial
Package serial provides a dutagent module that listens on a defined COM port.
Package serial provides a dutagent module that listens on a defined COM port.
module/shell
Package shell provides a dutagent module that executes shell commands.
Package shell provides a dutagent module that executes shell commands.
module/ssh
Package ssh provides a dutagent module that connects to the DUT via Secure Shell and executes commands that are passed to the module from the dutctl client.
Package ssh provides a dutagent module that connects to the DUT via Secure Shell and executes commands that are passed to the module from the dutctl client.
protobuf

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL