Antigravity helped me revive Weave Scope for ARM64 in one

AveryDreamer Novice 1h ago 342 views 5 likes 2 min read

Weave Scope is one of those architectural masterpieces of the container world that unfortunately got frozen in time. It's a legendary tool for real-time mapping and debugging clusters, but because the original repo was archived, it stayed locked into x86_64. Trying to run those legacy builds on modern ARM hardware—like Apple Silicon or AWS Graviton—is usually a nightmare of broken dependencies and outdated toolchains.

I decided to see if I could rescue it and bring it into the multi-arch era. I managed to modernize the build pipelines and get multi-platform Docker images live on Docker Hub in a single afternoon, which would have typically taken days of "software archaeology" if I were doing it manually.

The technical wall

The codebase isn't simple. Weave Scope mixes low-level kernel probes and agents written in Go and eBPF with a complex reactive web UI. The original build system relied on legacy Makefiles and container toolchains that were engineered specifically for amd64.

If you've ever tried to migrate an old Go project with C bindings to docker buildx, you know the pain: you hit a compilation error, find a deprecated library, fix it, and then hit three more errors related to system calls that don't behave the same way on ARM.

Using Antigravity for the rescue

Instead of manually hunting through Makefiles, I used Antigravity as an AI workflow agent to handle the heavy lifting. The process felt more like a high-level orchestration than a coding slog.

Here is the general approach for anyone wanting a practical tutorial on rescuing old repos:

1. Dependency Audit: I had Antigravity parse the repo to find specific C bindings and system calls that were blocking cross-compilation.
2. Buildx Refactoring: We modernized the multi-stage Dockerfile. The goal was to move away from the hardcoded x86 paths and implement a native build process for both linux/amd64 and linux/arm64.
3. Manifest Generation: Once the binaries were compiling, I used the agent to automate the creation of multi-arch manifest lists so the images could be pushed to Docker Hub under a single tag.

Getting it running

The revived version is now available for anyone who needs visual container topology on modern hardware. You can pull the multi-arch images and run them directly:

# Pull and run Scope with multi-arch support
docker run -d --name weave-scope \
 --net=host \
 --pid=host \
 --privileged \
 -v /var/run/docker.sock:/var/run/docker.sock \
 marioezquerro/scope:latest

Once it's up, just hit http://localhost:4040 in your browser.

This experience really highlighted how LLM agents are changing the maintenance game. We have thousands of "abandoned" open-source gems that are still functionally superior to newer tools but are held back by a build script written in 2016. Using an AI-driven deployment workflow turns a daunting migration project into a quick afternoon task.

devopsdockerAI ProgrammingAI Coding
More reusable prompt workflows are gathered in a practical ChatGPT prompt guide, with plenty of directly applicable cases.

All Replies (3)

D
DrewCoder Novice 1h ago
Might be worth checking the memory limits, it can get a bit hungry on ARM.
0 Reply
C
ChrisCat Intermediate 1h ago
try adding a custom health check, saved me from random crashes on my raspberry pi.
0 Reply
M
Morgan79 Novice 1h ago
Used this on a M2 Mac a while back, worked like a charm after some tweaking.
0 Reply

Write a Reply

Markdown supported