hashicorp / hashicorp/nomad

Detect supported architectures for docker containers

Open
#18,082 2 comments 0 reactions 0 assignees View on GitHub
stage/needs-discussion stage/needs-investigation theme/core type/enhancement
Dominant language
Go
Stars
17k
Forks
2.1k
Avg merge
1d 9h
Merged PRs (30d)
105

Description

### Proposal

I run a Nomad cluster with `amd64`, `arm64`, and `riscv64` nodes. If I try to use a docker image that only supports `amd64`, nomad will sometimes schedule it on one of the non-`amd64` nodes, which causes an `exec format error`. This can be fixed by manually adding a constraint for the CPU architecture. If possible, I'd like nomad to be able to automatically detect which platforms are supported by reading the manifest, and dynamically add constraints to the job based on that. The docker command allows you to inspect manifests using `docker manifest inspect --verbose `.

### Use-cases

This feature would simplify the process of running docker images on multi-architecture clusters

Contributor guide

No contributing guide indexed for this repository

Research direction

No repository file or test is named in the issue. Start with the Docker manifest inspection command, `docker manifest inspect --verbose `, and trace how Docker image platforms reach Nomad scheduling; done means supported architectures are detected and jobs avoid nodes that would produce an exec format error.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, go
Domain
devops, infrastructure
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.