Skip to content

Add ARM64 Support for Docker Images #63

@suin

Description

@suin

Current State

Currently, the Docker images for both webhook-init and webhook-server are built only for the AMD64 architecture. This limits the usage of the project on ARM-based systems, which are becoming increasingly popular (e.g., Apple Silicon Macs, AWS Graviton instances).

Proposal

I propose adding ARM64 (aarch64) support to the Docker image build process. This can be achieved with minimal changes to the existing codebase.

Implementation Details

The implementation is straightforward and requires only modifying the GitHub Actions workflow:

  1. Update the build platforms in .github/workflows/release.yaml to include ARM64
  2. No changes to the Dockerfile or Go code are required, as Go and the base images already support cross-compilation

Example change:

platforms: linux/amd64
#
platforms: linux/amd64,linux/arm64

Benefits

  1. Wider Platform Support: Users can run the project natively on ARM64 systems
  2. Cloud Cost Optimization: Organizations can leverage ARM-based cloud instances (e.g., AWS Graviton) which often provide better price-performance ratio
  3. Developer Experience: Better support for developers using ARM-based machines like M1/M2 Macs

Testing

I have tested this change on my fork and confirmed that:

  • Both AMD64 and ARM64 images build successfully
  • The ARM64 images work correctly on ARM-based systems

Would you be interested in this enhancement? I can submit a PR if this proposal aligns with the project's goals.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions