Skip to content

Define reserved taint prefix conventions for avoiding core conflicts #3

Description

@ajaysundark

Context

As this project matures, there's potential for some patterns to be adopted into Kubernetes core. We should establish reserved taint prefix conventions now to avoid breaking changes later.

Currently users can use ANY taint key prefix - there's no enforcement of naming conventions.

Proposed Change

  • Restrict users to use only taint key prefix under readiness.k8s.io/*

  • Reserve certain taint key prefixes for "core" to avoid potential conflicts in the future:

Forbid below reserved prefixes for readiness taints:

  • readiness.k8s.io/system/*
  • readiness.k8s.io/core/*
  • readiness.k8s.io/node/*
  • readiness.k8s.io/device/*
  • readiness.k8s.io/network/*
  • readiness.k8s.io/storage/*

User-space prefix (allowed):

  • readiness.k8s.io/* (excluding reserved subpaths above)

Changes required

  1. Add a CRD validation for enforcing pattern for TaintSpec.key
  2. Document reserved prefixes in project README and API documentation
  3. Update examples to follow the conventions

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No fields configured for Task.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions