kubernetes-sigs / kubernetes-sigs/cluster-api

Provide explicit definition of variables scope in ClusterClass

Open
#6,706 9 comments 0 reactions 0 assignees View on GitHub
area/clusterclass help wanted kind/api-change kind/feature priority/important-longterm triage/accepted
Dominant language
Go
Stars
4.3k
Forks
1.6k
Avg merge
1d 3h
Merged PRs (30d)
113

Description

**User Story**

As a user, I would like to understand what variables are meant to be used as overrides at CP/MD levels

**Detailed Description**

As of today, ClusterClass allows to define variables and all those variables can be used in a Cluster's `topology.variables` as well as for providing override at CP and MD level.

However, in practice, it really makes sense to use variables as override only a subset of variables, the ones that are used by patches impacting CP/MD of a given class.

This is currently hard to detect, especially for users which are not the ClusterClass authors, so it will be great if we can extend the current API by providing explicit information about the scope where a variable can be used.

**Anything else you would like to add:**

Might be it is possible to Inferr variables scope from patches, but it doesn't seem the right way to go because it will be complex and brittle.

/kind feature

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the ClusterClass variables, topology.variables, control plane and machine deployment overrides, and patches described in the issue. Define the desired API scope information and confirm how it distinguishes topology variables from variables usable for each control plane or machine deployment class; done when users no longer need to infer valid override locations from patches.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
api, backend-api-design
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.