Skip to content

Quickstart

What you'll have at the end

Three Kubernetes pods exchanging messages through a live WoSP-secured network, with end-to-end delivery confirmed automatically by the auto-trigger.

This guide uses the Armored Convoy blueprint (3-pod HTTP serial pipeline) on Path 0 — local k3d. Estimated time: under 30 minutes.

Step 1 — Request the blueprint

Go to hopr.co/lane7-blueprints, select Armored Convoy, and complete the download flow. Your credentials are injected into the ZIP at delivery time.

Step 2 — Extract the ZIP

unzip armored-convoy-*.zip
cd armored-convoy/

You will see this structure:

armored-convoy/
├── gateway/
│   ├── 01-namespace.yaml
│   ├── 02-secrets.yaml     ← credentials pre-filled
│   ├── 03-deployment.yaml
│   └── app/
│       ├── app.py          ← Section 1 is yours to customize
│       └── Dockerfile
├── middleware/
│   ├── 01-namespace.yaml
│   ├── 02-secrets.yaml
│   ├── 03-deployment.yaml
│   └── app/
│       ├── app.py
│       └── Dockerfile
├── backend/
│   ├── 01-namespace.yaml
│   ├── 02-secrets.yaml
│   ├── 03-deployment.yaml
│   └── app/
│       ├── app.py
│       └── Dockerfile
├── deploy.sh
├── teardown.sh
├── pinhole-setup.sh
├── blueprint.yaml
└── README.md

Step 3 — Verify credentials

Open any pod's 02-secrets.yaml and confirm all four Hopr fields are filled:

- name: HOPR_LICENSE
  value: "hlc-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
- name: HOPR_KEY
  value: "hk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
- name: CHIPS_ALGORITHM
  value: "xtra7"
- name: HOPR_API_TOKEN
  value: "hat-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Warning

All four Hopr fields must be present and non-empty. Empty values cause CrashLoopBackOff on the xtra-wasm container.

Step 4 — Build and import the app images (Path 0)

Build the image for each pod and import it into k3d:

cd gateway/app/
docker build -t serial-app-wosp-node:latest .
k3d image import serial-app-wosp-node:latest

cd ../../middleware/app/
docker build -t serial-app-wosp-node:latest .
k3d image import serial-app-wosp-node:latest

cd ../../backend/app/
docker build -t serial-app-wosp-node:latest .
k3d image import serial-app-wosp-node:latest

cd ../..

Step 5 — Deploy

bash deploy.sh

deploy.sh handles manifest ordering, namespace creation, and readiness checks. Wait for it to complete before proceeding.

Step 6 — Verify the auto-trigger

The auto-trigger is your deployment health check. It fires automatically at pod startup and sends 5 messages through the full network.

kubectl logs -n armored-convoy-gateway-ns \
  deployment/gateway -c web-app -f

Expected output:

🔁 Auto-trigger starting — sending 5 messages
🔁 Auto-trigger complete — 5/5 messages sent.

If you see this, all three pods are connected and WoSP-secured end-to-end.

Step 7 — Confirm delivery at the sink

kubectl port-forward -n armored-convoy-backend-ns \
  deployment/backend 8000:8000

In a separate terminal:

curl http://localhost:8000/output

Expected response:

{"count": 5, "results": [...]}

Each result's "trail" field lists all three pod names in order, confirming every hop in the pipeline is connected.

Step 8 — Teardown

bash teardown.sh

What next?