Skip to content

Commit 1607af6

Browse files
authored
Merge pull request #3403 from matt-cossins/topo_2
[LP UPDATE] Add Topo VS Code Extension
2 parents a1e0aa1 + e78a783 commit 1607af6

8 files changed

Lines changed: 73 additions & 3 deletions

File tree

content/learning-paths/cross-platform/deploy-containerized-workloads-with-topo/_index.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: Deploy containerized workloads to Arm-based Linux targets with Topo
33

4-
description: Use Topo to detect Arm processor capabilities on a target device, select a compatible container template, and deploy containerized workloads to Arm-based Linux targets over SSH.
4+
description: Use Topo to detect Arm processor capabilities on a target device, select a compatible container template, and deploy containerized workloads to Arm-based Linux targets over SSH using the CLI or VS Code extension.
55

66
minutes_to_complete: 30
77

@@ -11,13 +11,15 @@ learning_objectives:
1111
- Install Topo and verify that the host and target environments are ready for deployment
1212
- Run health checks and generate a target description to identify compatible Arm processor features and templates
1313
- Clone a Topo template and deploy a containerized workload to an Arm-based Linux target
14+
- (Optional) Use the Topo VS Code extension to run the same target, template, and deployment workflow from Visual Studio Code
1415
- (Optional) Deploy firmware and applications to heterogeneous Cortex-A + Cortex-M devices using remoteproc-runtime
1516

1617
prerequisites:
1718
- A host machine (x86 or Arm) with Linux, macOS, or Windows
1819
- An Arm-based Linux target accessible over SSH, for example an Arm-based Linux VM, Raspberry Pi, DGX Spark, or NXP i.MX 93
1920
- Docker installed on the host and target. For installation steps, see [Install Docker](/install-guides/docker/).
2021
- lscpu installed on the target (pre-installed on most Linux distributions)
22+
- (Optional) Visual Studio Code installed if you want to use the Topo VS Code extension.
2123
- Basic familiarity with containers and CLI tools
2224

2325
author: Matt Cossins
@@ -33,6 +35,7 @@ tools_software_languages:
3335
- Topo
3436
- Docker
3537
- SSH
38+
- Visual Studio Code
3639
operatingsystems:
3740
- Linux
3841
- macOS
@@ -62,6 +65,10 @@ further_reading:
6265
title: remoteproc-runtime
6366
link: https://github.com/arm/remoteproc-runtime
6467
type: documentation
68+
- resource:
69+
title: Topo VS Code extension
70+
link: https://marketplace.visualstudio.com/items?itemName=Arm.topo
71+
type: website
6572

6673

6774

content/learning-paths/cross-platform/deploy-containerized-workloads-with-topo/deploy-workload.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -178,8 +178,8 @@ Use Topo to deploy a containerized workload to my Arm target at user@my-target.
178178

179179
The agent reads the Topo `README.md`, runs health checks, selects a template, and deploys it end-to-end with minimal manual input.
180180

181-
## What you've accomplished
181+
## What you've accomplished and what's next
182182

183183
You have now deployed a containerized workload to your Arm-based Linux target using Topo. You validated the deployment by accessing the application in a web browser. You also learned how to stop the deployment and forward ports if needed.
184184

185-
Next you should explore modification and creation of Topo Templates in the follow-up Learning Path: [Create and deploy a custom Topo Template](/learning-paths/cross-platform/create-your-own-topo-templates/)
185+
Next, you can try the same workflow in Visual Studio Code using the Topo extension, or explore modification and creation of Topo Templates in the follow-up Learning Path: [Create and deploy a custom Topo Template](/learning-paths/cross-platform/create-your-own-topo-templates/).
21.5 KB
Loading
163 KB
Loading
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
---
2+
title: (Optional) Use the Topo VS Code extension
3+
weight: 5
4+
5+
### FIXED, DO NOT MODIFY
6+
layout: learningpathall
7+
---
8+
9+
## Use Topo from VS Code
10+
11+
You have used the Topo CLI to check your target, list compatible templates, clone a template, deploy the workload, and inspect the running application.
12+
13+
You can also perform the same workflow from Visual Studio Code using the [Topo extension](https://marketplace.visualstudio.com/items?itemName=Arm.topo). The extension provides a graphical interface for Topo deployment.
14+
15+
## Install the extension
16+
17+
Install the Topo extension from the Visual Studio Marketplace using the link above.
18+
19+
![Screenshot of the Topo extension install page in Visual Studio Code.#center](topo_vscode.png "Topo extension install page for Visual Studio Code")
20+
21+
A guide is provided on the extension page, but some brief steps are also shown here. If you are familiar with Topo CLI, you should have little trouble using the extension. After installation, open the Topo view from the VS Code activity bar.
22+
23+
## Add and inspect a target
24+
25+
The Topo sidebar shows your host by default. Use the sidebar to also add your Arm-based Linux target. The target is the same SSH destination you used with the CLI, for example `user@my-target`.
26+
27+
The extension shows the host and target state, available Topo actions, and deployed applications, providing similar insights to `topo health` and `topo ps`.
28+
29+
![Screenshot of the Topo sidebar in Visual Studio Code showing target and deployment actions.#center](topo_sidebar.png "Topo sidebar in Visual Studio Code")
30+
31+
## Run Topo commands
32+
33+
The command palette exposes the usual Topo commands such as listing compatible templates, cloning templates, and deploying projects.
34+
35+
![Screenshot of Topo commands in Visual Studio Code.#center](topo_commands.png "Topo commands in Visual Studio Code")
36+
37+
These commands correspond to the CLI commands you used earlier, such as:
38+
39+
```bash
40+
topo templates --target user@my-target
41+
topo clone <template-url>
42+
topo deploy --target user@my-target
43+
```
44+
45+
## Deploy from VS Code
46+
47+
After cloning or selecting a Topo Template, you can deploy it. Open or clone the LLM Chatbot example, then deploy it using the VS Code extension.
48+
49+
![Screenshot of deploying a Topo workload from Visual Studio Code.#center](deploy_vscode.png "Deploy a Topo workload from Visual Studio Code")
50+
51+
When deployment completes, you will see the processes running on the target in the Topo sidebar:
52+
53+
![Screenshot of a deployed LLM chatbot processes shown in the Topo VS Code extension.#center](deployed_llm.png "Deployed LLM chatbot processes in the Topo VS Code extension")
54+
55+
Open the application in your browser just as you did with the CLI workflow:
56+
57+
```output
58+
http://<target-ip>:3000
59+
```
60+
61+
## What you've accomplished
62+
63+
You have now seen two ways to deploy Topo workloads: directly from the command line and from Visual Studio Code. Both approaches use the same target checks, template metadata, and deployment flow, so you can choose the interface that best fits your workflow.
56.6 KB
Loading
66.7 KB
Loading
35.2 KB
Loading

0 commit comments

Comments
 (0)