Skip to content

Add arm64 support for ZFS collector Docker image #90

@Starosdev

Description

@Starosdev

Summary

The ZFS collector Docker image currently only supports amd64. Add arm64 support for users running ZFS on ARM64 servers (AWS Graviton, Ampere Altra, Raspberry Pi 4/5 with 8GB RAM, etc.).

Background

In PR #89, we added the ZFS collector Docker image but limited it to amd64 due to build time issues. The arm64 build under QEMU emulation takes 45+ minutes (vs ~5 minutes for amd64) because installing zfsutils-linux and its dependencies under emulation is extremely slow.

Possible Solutions

  1. Accept the long build time - Just add arm64 back and let it run for 45+ minutes. Simple but slow.

  2. Cross-compilation approach - Build the Go binary natively with GOOS=linux GOARCH=arm64, then only use QEMU for the final runtime image assembly (which just copies the binary and installs packages).

  3. Separate workflow - Run arm64 builds less frequently (e.g., only on releases, not on every develop push).

  4. Native ARM runner - Use a native arm64 GitHub runner if available.

Technical Notes

  • zfsutils-linux is available for arm64 in Debian Bookworm contrib
  • The Go binary cross-compiles cleanly for arm64
  • The slow part is apt-get installing zfsutils-linux under QEMU

Related

Metadata

Metadata

Assignees

Labels

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions