Skip to content

Commit 9f23ce8

Browse files
authored
Merge pull request #3384 from pareenaverma/content_review
Topo template tech review
2 parents c341586 + 1882a8f commit 9f23ce8

6 files changed

Lines changed: 40 additions & 14 deletions

File tree

content/learning-paths/cross-platform/create-your-own-topo-templates/_index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@ learning_objectives:
1616
- Clone and deploy an existing Topo Template and modify it by adding new clone-time arguments
1717
- Create a new Topo Template from a Docker Compose project
1818
- Add x-topo metadata for configurable arguments, deployment guidance, and hardware requirements
19-
- Understand where to find Agent Skills, for use when creating or modifying Topo Templates
19+
- Locate and install Agent Skills to assist with creating and reviewing Topo Templates
2020

2121
prerequisites:
22-
- This learning path builds on [Deploy containerized workloads to Arm-based Linux targets with Topo](/learning-paths/cross-platform/deploy-containerized-workloads-with-topo/).
22+
- This Learning Path builds on [Deploy containerized workloads to Arm-based Linux targets with Topo](/learning-paths/cross-platform/deploy-containerized-workloads-with-topo/).
2323
- A host machine (x86 or Arm) with Linux, macOS, or Windows
2424
- An Arm-based Linux target accessible over SSH, for example an Arm-based Linux VM, Raspberry Pi, DGX Spark, or NXP i.MX 93
2525
- Docker installed on the host and target. For installation steps, see [Install Docker](/install-guides/docker/).

content/learning-paths/cross-platform/create-your-own-topo-templates/agent-skills.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ These skills are optional authoring aids. The Template you created in this Learn
1414

1515
Visit [Topo Skills](https://github.com/arm/topo-template-format#authoring-skills) for the most up-to-date list of the available Topo Template skills and instructions on how to install them.
1616

17-
At the time of writing, the [Topo Template Format Specification](https://github.com/arm/topo-template-format) provides the following skills:
17+
The [Topo Template Format Specification](https://github.com/arm/topo-template-format) currently provides the following skills:
1818

1919
1. `topo-template-context`: provides Topo and Topo Template reference context for questions about x-topo metadata, schema, docs, and CLI Template behavior.
2020
2. `topo-template-bootstrap`: converts a repository into a Topo Template by adding or improving `compose.yaml` and `x-topo` metadata.
@@ -24,6 +24,10 @@ At the time of writing, the [Topo Template Format Specification](https://github.
2424

2525
Install the Topo Template skills with [npx skills](https://github.com/vercel-labs/skills):
2626

27+
{{% notice Note %}}
28+
`npx` requires Node.js. If Node.js is not installed on your machine, install it before running the command below.
29+
{{% /notice %}}
30+
2731
```bash
2832
npx skills add arm/topo-template-format --all --yes
2933
```
@@ -37,3 +41,9 @@ You can then prompt your agent to use the skill to create a Topo Template from a
3741
```text
3842
Use the topo-template-bootstrap skill to convert this repository into a Topo Template.
3943
```
44+
45+
## What you've accomplished and what's next
46+
47+
You have now completed this Learning Path. You can create, modify, and deploy Topo Templates to Arm-based Linux targets, and use Agent Skills to assist with the authoring process.
48+
49+
Explore the [Topo Catalog](https://github.com/arm/topo/blob/main/internal/catalog/data/catalog.json) to find more Templates to clone and modify, or share your own Template with the community.

content/learning-paths/cross-platform/create-your-own-topo-templates/creating-a-new-template.md

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,13 @@ topo-message-card/
4040

4141
### Create the web page
4242

43-
Create the application HTML file:
43+
Create the `src/` subdirectory and `src/index.html`:
44+
45+
```bash
46+
mkdir -p src
47+
```
48+
49+
Open `src/index.html` in a text editor and add the following content:
4450

4551
```html
4652
<!doctype html>
@@ -93,7 +99,7 @@ The values wrapped in double underscores are placeholders. The `Dockerfile` repl
9399

94100
### Create the Dockerfile
95101

96-
Create a `Dockerfile`:
102+
Create a file named `Dockerfile` in the `topo-message-card` directory with the following content:
97103

98104
```Dockerfile
99105
FROM nginx:alpine
@@ -115,7 +121,7 @@ Topo passes configuration values to Templates through Docker build arguments. Th
115121

116122
### Create the compose file
117123

118-
Create `compose.yaml`:
124+
Create `compose.yaml` in the `topo-message-card` directory with the following content:
119125

120126
```yaml
121127
# yaml-language-server: $schema=https://raw.githubusercontent.com/arm/topo-template-format/refs/heads/main/schema/topo-template-format.json
@@ -193,7 +199,7 @@ After cloning, inspect the generated project:
193199

194200
```bash
195201
cd ~/message-card-demo
196-
sed -n '1,80p' compose.yaml
202+
cat compose.yaml
197203
```
198204

199205
The `build.args` should contain the values you provided:

content/learning-paths/cross-platform/create-your-own-topo-templates/hello-world-template.md

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ weight: 3
66
layout: learningpathall
77
---
88

9-
This section quickly runs through the deployment of the `Hello World` Template, similar to the `CPU LLM Chat` Template in the [Deploy containerized workloads to Arm-based Linux targets with Topo](/learning-paths/cross-platform/deploy-containerized-workloads-with-topo/) Learning Path.
9+
Deploy the `Hello World` Template to confirm your setup before modifying it in the next section. This Template follows the same deployment pattern as the `CPU LLM Chat` Template covered in [Deploy containerized workloads to Arm-based Linux targets with Topo](/learning-paths/cross-platform/deploy-containerized-workloads-with-topo/).
1010

1111
## Clone the 'Hello World' Topo Template
1212

@@ -34,7 +34,7 @@ Default: World
3434
GREETING_NAME (required)>
3535
```
3636

37-
Provide a name for the `GREETING_NAME` argument, e.g., 'Tomas'.
37+
Provide a name for the `GREETING_NAME` argument, for example, 'Tomas'.
3838

3939
Press Enter to submit your entry. You will then see a similar output to below:
4040

@@ -131,5 +131,10 @@ Then open `http://localhost:8000/` in your browser.
131131

132132
The Hello World application appears as follows:
133133

134-
135134
![Screenshot of the Hello World web interface. This confirms successful deployment and provides a visual reference for the expected result.#center](hello_tomas.png "Hello World web interface")
135+
136+
## What you've accomplished and what's next
137+
138+
You deployed the Hello World Template to an Arm-based Linux target and confirmed the application is accessible in your browser.
139+
140+
Next, you will modify the Template to add a new configurable clone-time argument.

content/learning-paths/cross-platform/create-your-own-topo-templates/modifying-hello-world.md

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -144,10 +144,10 @@ Example: Markus
144144
Default: World
145145
GREETING_NAME (required)>
146146
147-
Provide: The emoji to use in the greeting message
147+
Provide: The emoji to show next to the greeting
148148
Example: 🚀
149149
Default: 🐳
150-
GREETING_EMOJI (required)> 🚀
150+
GREETING_EMOJI (optional)> 🚀
151151
```
152152

153153
### Deploy the modified Template
@@ -169,5 +169,10 @@ Then open `http://localhost:8000/` in your browser.
169169

170170
The Hello World application appears as follows:
171171

172-
173172
![Screenshot of the modified Hello World web interface. This confirms successful modification and deployment and provides a visual reference for the expected result.#center](modified_template.png "Hello World web interface - with new emoji argument")
173+
174+
## What you've accomplished and what's next
175+
176+
You modified the Hello World Template to add a new optional clone-time argument, updated the Dockerfile to consume it, and deployed the result to your Arm-based Linux target.
177+
178+
Next, you will create a new Topo Template from scratch.

content/learning-paths/cross-platform/create-your-own-topo-templates/overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ layout: learningpathall
1212

1313
Before getting started, you should complete the Learning Path [Deploy containerized workloads to Arm-based Linux targets with Topo](/learning-paths/cross-platform/deploy-containerized-workloads-with-topo/) to learn about Topo, why to use it, how to install it and how to use it for target inspection, listing Templates and deployment.
1414

15-
We now assume that you have Topo installed on your host machine and that you have an Arm-based Linux target available over SSH. Use the same target pattern from the previous Learning Path, for example a Raspberry Pi, an AWS Arm instance, or another Arm-based Linux system:
15+
At this point, you should have Topo installed on your host machine and an Arm-based Linux target available over SSH. Use the same target pattern from the previous Learning Path, for example a Raspberry Pi, an AWS Arm instance, or another Arm-based Linux system:
1616

1717
```bash
1818
--target user@my-target

0 commit comments

Comments
 (0)