hashicorp / hashicorp/nomad

[Feature request] client-level constraints

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

Description

There are many scenarios where one would like to ensure that a particular node only receives either a certain job(s) or task group(s). As I see it, there is no way of restricting nodes to particular job(s) or task group(s) without introducing constraints in some way on job definitions themselves (e.g. using `meta` or `node_class`). There are workarounds, for example restricting those jobs to use different drivers that are only used for those jobs, but that's more of a hacky workaround that will only work for certain cases.

It'd be great if the `client` stanza had some mechanism to whitelist certain jobs or task groups - be it by a `constraint` stanza, requiring certain `meta` fields, or even just a whitelist of job or task group names.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing how the Nomad client stanza, job definitions, task groups, meta, node_class, and existing constraints relate. Compare the proposed constraint, metadata, and job or task-group whitelist approaches, then define which client-level behavior should be supported and how it would be validated.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.