diff --git a/chart/values.schema.json b/chart/values.schema.json index 9ffead047a..04f95511e2 100755 --- a/chart/values.schema.json +++ b/chart/values.schema.json @@ -1464,6 +1464,10 @@ "weight": { "type": "integer", "description": "Weight is the weight of this node pool." + }, + "profile": { + "type": "string", + "description": "Profile references a NodeProfile applied to nodes created by this pool." } }, "additionalProperties": false, @@ -3956,6 +3960,10 @@ "daemon": { "$ref": "#/$defs/PrivateNodesDaemon", "description": "Daemon holds configuration for the private nodes daemon that is deployed on the nodes." + }, + "defaultProfile": { + "type": "string", + "description": "DefaultProfile is the name of a NodeProfile applied to nodes joining this vCluster that do not select one explicitly. Overridden by per-pool or per-node selection. Requires a platform connection to resolve." } }, "additionalProperties": false, @@ -4006,6 +4014,10 @@ "controlPlaneLoadBalancer": { "$ref": "#/$defs/ControlPlaneLoadBalancer", "description": "ControlPlaneLoadBalancer holds configuration for the control plane load balancer. This is used to load balance the control plane traffic on the node to the control plane nodes.\nThis is useful to achieve true high availability for the control plane without having to deploy a separate load balancer." + }, + "nodeName": { + "type": "string", + "description": "NodeName is the Kubernetes node name of the node this daemon runs on. Set automatically at join time; used by the daemon to read its own Node object." } }, "additionalProperties": false, @@ -4859,6 +4871,10 @@ "quantity": { "type": "integer", "description": "Quantity is the number of desired nodes in this pool." + }, + "profile": { + "type": "string", + "description": "Profile references a NodeProfile applied to nodes created by this pool." } }, "additionalProperties": false, diff --git a/config/config.go b/config/config.go index 6bff731302..f2650d4f6c 100644 --- a/config/config.go +++ b/config/config.go @@ -132,6 +132,9 @@ type PrivateNodes struct { // Daemon holds configuration for the private nodes daemon that is deployed on the nodes. Daemon PrivateNodesDaemon `json:"daemon,omitempty"` + + // DefaultProfile is the name of a NodeProfile applied to nodes joining this vCluster that do not select one explicitly. Overridden by per-pool or per-node selection. Requires a platform connection to resolve. + DefaultProfile string `json:"defaultProfile,omitempty"` } type PrivateNodesDaemon struct { @@ -141,6 +144,9 @@ type PrivateNodesDaemon struct { // ControlPlaneLoadBalancer holds configuration for the control plane load balancer. This is used to load balance the control plane traffic on the node to the control plane nodes. // This is useful to achieve true high availability for the control plane without having to deploy a separate load balancer. ControlPlaneLoadBalancer ControlPlaneLoadBalancer `json:"controlPlaneLoadBalancer,omitempty"` + + // NodeName is the Kubernetes node name of the node this daemon runs on. Set automatically at join time; used by the daemon to read its own Node object. + NodeName string `json:"nodeName,omitempty"` } type ControlPlaneLoadBalancer struct { @@ -232,6 +238,9 @@ type DynamicNodePool struct { // Weight is the weight of this node pool. Weight int `json:"weight,omitempty"` + + // Profile references a NodeProfile applied to nodes created by this pool. + Profile string `json:"profile,omitempty"` } type DynamicNodePoolDisruption struct { @@ -300,6 +309,9 @@ type StaticNodePool struct { // Quantity is the number of desired nodes in this pool. Quantity int `json:"quantity" jsonschema:"required"` + + // Profile references a NodeProfile applied to nodes created by this pool. + Profile string `json:"profile,omitempty"` } // KarpenterRequirement defines a scheduling requirement for a dynamic node pool.