Container Engine Module
Lightweight container lifecycle management for WSL and LXD instances, including creation, start/stop/restart/delete, distribution management, and real-time monitoring.
Overview
The Container Engine module provides unified management of lightweight containers across WSL (Windows) and LXD (Linux) platforms. Detect host capabilities, provision new instances with automatic agent installation, manage their complete lifecycle, and administer WSL distributions.
Open Source vs Professional+
The open-source Community Edition of SysManage includes read-only listing of child hosts (containers and VMs) that are detected by the agent. The Professional+ Container Engine module adds full lifecycle management capabilities:
- Community Edition: Read-only child host listing and status display
- Professional+: Create, start, stop, restart, and delete containers
- Professional+: WSL distribution management (create, update, delete)
- Professional+: Advanced container monitoring and statistics
Supported Container Types
The Container Engine supports lightweight container technologies on Windows and Linux:
WSL
Windows Subsystem for Linux - run Linux environments directly on Windows without traditional virtual machine overhead. Includes distribution management for installing, updating, and removing WSL distributions.
LXD/LXC
Lightweight Linux containers providing near-native performance with OS-level virtualization and system container capabilities. Supports creation from public image servers with automatic agent installation.
Lifecycle Actions
Comprehensive lifecycle management operations for containers:
Create
Provision new containers with automatic configuration:
- Operating system image selection and deployment
- User account creation with SSH key authentication
- Automatic SysManage agent installation and registration
- Resource allocation (CPU, memory, disk)
- Network configuration and connectivity
Start
Boot stopped containers, initializing all configured services and making them available for management and monitoring.
Stop
Gracefully shutdown running containers, ensuring all processes terminate cleanly and data is properly saved.
Restart
Perform a controlled stop followed by start operation, useful for applying configuration changes or recovering from issues.
Delete
Permanently remove containers and their associated storage, unregistering them from SysManage and freeing resources.
Distribution Management
For WSL hosts, the Container Engine provides distribution management to control which Linux distributions are available for creating new instances:
- Create distributions: Register new WSL distributions with name, version, and type
- Update distributions: Modify distribution name, version, or configuration
- Delete distributions: Remove distributions that are no longer needed
- Duplicate detection: Prevents creating distributions with the same name, version, and type
Container Monitoring
Real-time monitoring and statistics for managed containers:
Container Statistics
- Count of running containers by type
- Count of stopped containers by type
- Total instance count across all container types
- Per-host breakdown of container distribution
Resource Usage
- Memory allocation and consumption per container
- CPU usage and allocation tracking
- Disk space usage and storage limits
- Network traffic and connectivity status
Status Tracking
- Real-time state monitoring (running, stopped, error)
- Uptime tracking since last start
- Agent connectivity and health status
- Event history for lifecycle operations
API Access
The Container Engine is fully accessible via the REST API:
# Child Host Listing (Open Source - read-only)
GET /api/host/{id}/children # List child hosts
GET /api/host/{id}/children/{child_id} # Get child host details
# Container Lifecycle Management (Professional+)
POST /api/host/{id}/virtualization/create-child # Create new container
POST /api/host/{id}/children/{child_id}/start # Start container
POST /api/host/{id}/children/{child_id}/stop # Stop container
POST /api/host/{id}/children/{child_id}/restart # Restart container
DELETE /api/host/{id}/children/{child_id} # Delete container
# Distribution Management (Professional+ - WSL)
GET /api/host/{id}/distributions # List distributions
POST /api/host/{id}/distributions # Create distribution
PUT /api/host/{id}/distributions/{dist_id} # Update distribution
DELETE /api/host/{id}/distributions/{dist_id} # Delete distribution
Using the Container Engine
To create and manage containers:
- Verify the host has WSL 2 (Windows) or LXD (Linux) installed
- Navigate to the host detail page in SysManage
- Click the "Child Hosts" tab
- Click "Create" to provision a new instance
- Select the container type and configure:
- Instance name and description
- Operating system image or distribution
- Resource allocations (CPU, memory, disk)
- User credentials for SSH access
- Click "Provision" to create the instance
- Monitor the creation progress and agent installation
- Use lifecycle actions (start/stop/restart/delete) as needed
# Example: Create LXD Container via API
{
"name": "web-server-01",
"type": "lxd",
"image": "ubuntu:22.04",
"resources": {
"cpu": 2,
"memory": "4GB",
"disk": "20GB"
},
"user": {
"username": "admin",
"ssh_key": "ssh-rsa AAAAB3NzaC1..."
},
"install_agent": true
}
Requirements
- Professional or Enterprise license with container_engine module enabled
- WSL 2 (Windows) or LXD (Linux) installed on the host system
- Sufficient permissions to create and manage containers
- Network connectivity for license validation and agent communication
- Adequate host resources (CPU, memory, disk) for containers
- Access to OS images or distributions for the selected platform
Platform-Specific Notes
WSL (Windows)
Requires Windows 10 version 2004+ or Windows 11, with WSL 2 enabled. Distributions can be installed from the Microsoft Store or imported as custom images. Distribution management allows registering available distributions for new instance creation.
LXD/LXC (Linux)
Requires LXD installed via snap or native packages. Supports both system containers (full OS) and application containers. Images available from the public image server.
Future: Hardware Virtualization
Support for full hardware virtualization technologies (KVM/QEMU, Hyper-V, bhyve, VMM) is planned for a future Enterprise-tier module. This will provide management of complete virtual machines with hardware-assisted isolation.