Skip to content

feat: support metadata and resource config for version probe jobs#143

Open
ashishch432 wants to merge 1 commit intoClickHouse:mainfrom
ashishch432:feat/version-probe
Open

feat: support metadata and resource config for version probe jobs#143
ashishch432 wants to merge 1 commit intoClickHouse:mainfrom
ashishch432:feat/version-probe

Conversation

@ashishch432
Copy link
Contributor

@ashishch432 ashishch432 commented Mar 22, 2026

Why

To support priortyclass, additional metadata support and a small resource footprint for jobs.

What

  • VersionProbeSpec – new top-level field in both ClickHouseClusterSpec and KeeperClusterSpec.
    • Custom labels & annotations (via []MetadataItem for clean CRD compatibility).
    • Resource overrides (cpuRequest, cpuLimit, memoryRequest, memoryLimit) with defaults of 100m CPU / 128Mi memory.
  • PodTemplateSpec now supports priorityClassName and runtimeClassName (applied to both main pods and the probe Job).
  • Probe inheritance – the version probe Job now pulls NodeSelector, Tolerations, Affinity, TopologySpreadConstraints, ServiceAccountName, PriorityClassName, RuntimeClassName, and ImagePullSecrets from the cluster’s PodTemplateSpec.
  • Identity isolation – probe Jobs now use the dedicated label app.kubernetes.io/instance: <cluster-name>-version-probe. This prevents E2E tests, Services, or health checks from accidentally counting the probe as a real cluster member.
  • Unified metadata – custom labels/annotations are applied at both Job and Pod level for consistent troubleshooting.

Fixes #128. I did see #134 for job resources, but inheriting the full cluster resources may be much for a job.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Additional configuration for version probe jobs

1 participant