TopoThe Topo extension makes it easy for application developers to deploy containers to Arm-based edge devices running Linux, including systems with additional remote processors such as Cortex-M or Cortex-R. Features include:
Who is this for?You just got a board and want to see what it can do. Topo scans your target and finds Topo Templates that showcase its capabilities, from running an LLM to comparing SIMD performance. Each one deploys in minutes and is a real Compose project you can learn from or build on. You want a faster edit-build-deploy loop. Build on your laptop and deploy to a Pi or Jetson over SSH. Rebuilds are incremental, so after the first deploy you're often iterating in seconds. You have a heterogeneous device and want to use all of it. Your board has remote processors like a Cortex-M that normally need separate toolchains and manual firmware loading. Topo and Remoteproc Runtime let you orchestrate the whole device as one Docker Compose project. Not sure what these terms mean? The glossary defines Topo's core concepts. RequirementsHost machine (where this extension will run):
Target machine (the remote Arm system):
The host and target can be the same system. Getting Started
Target ManagementThe Target view appears in the Topo activity bar container and shows the currently selected target where deployments run. Select a TargetClick Select a target in the Target view title bar or status bar to open the target picker. The picker shows saved targets and hosts from your SSH config. Select an existing target, choose an SSH config host, or type an SSH destination (for example Remove a TargetSaved targets that do not come from SSH config can be removed from the picker with the inline trash button. Target TreeThe selected target in the tree shows:
Target ActionsUse the inline buttons on the selected target row to access these actions:
Dependency ActionsUse the inline Fix button on a fixable dependency item to run the executable fix command reported by the Topo health check. Container ActionsUse the inline buttons on a service in the Target tree to manage individual containers:
Deploy and StopDeploy or stop a project on the selected target. A deploy operation builds container images, transfers them to the target, and starts services. You can trigger either operation from:
Project ManagementInitialize a ProjectUse the Topo: Initialize Project command from the Command Palette to create a new Topo project in the current workspace. Clone a ProjectThree clone commands are available from the Command Palette:
After cloning, the extension offers to open the project in the current window, a new window, or add it to the workspace. Protocol HandlerThe extension supports a URI scheme for cloning projects from external links:
Host Health CheckThe Host view appears in the Topo activity bar container and shows host dependency health for tools such as Docker and SSH. Missing or unhealthy dependencies are shown in the tree. Use the refresh button in the Host view title bar to reload host dependency health. CommandsCommands available from the Command Palette:
Additional commands are available through inline buttons in the Target and Host tree views. Settings
DevelopmentSee the Development Guide for instructions on building, testing, and packaging the extension from source. Submit Feedback or Report IssuesTo submit feedback or report issues, please use GitHub Issues in the extension repository. License |