[Feature request] client-level constraints
- 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