diff --git a/configsrc/vcluster/0.33.0/default_values.yaml b/configsrc/vcluster/0.33.0/default_values.yaml
index 4e53e2821..dff280978 100644
--- a/configsrc/vcluster/0.33.0/default_values.yaml
+++ b/configsrc/vcluster/0.33.0/default_values.yaml
@@ -538,6 +538,21 @@ controlPlane:
spec:
tls: []
+ # TLSRoute defines options for vCluster TLS route deployed by Helm.
+ tlsRoute:
+ # Enabled defines if the control plane should be exposed via a gateway api tls route. Make sure to enable tls passthrough in the gateway via tls.mode to "Passthrough"
+ enabled: false
+ # APIVersion is the version of the gateway api tls route.
+ apiVersion: gateway.networking.k8s.io/v1
+ # Host is the host where vCluster will be reachable
+ host: "my-host.com"
+ # ParentRefs are the parent references for the TLS route
+ parentRefs: []
+ # Spec allows you to configure extra tls route options.
+ spec: {}
+ labels: {}
+ annotations: {}
+
# Standalone holds configuration for standalone mode. Standalone mode is set automatically when no container is detected and
# also implies privateNodes.enabled.
standalone:
@@ -1242,6 +1257,9 @@ experimental:
manifestsTemplate: ""
# Helm are Helm charts that should get deployed into the virtual cluster
helm: []
+
+ # NodeMonitors allows you to create a service monitor for each node.
+ nodeMonitors: []
# Configuration related to telemetry gathered about vCluster usage.
telemetry:
diff --git a/configsrc/vcluster/0.33.0/vcluster.schema.json b/configsrc/vcluster/0.33.0/vcluster.schema.json
index 27b9f691f..f120e1c03 100755
--- a/configsrc/vcluster/0.33.0/vcluster.schema.json
+++ b/configsrc/vcluster/0.33.0/vcluster.schema.json
@@ -380,6 +380,10 @@
"$ref": "#/$defs/ControlPlaneIngress",
"description": "Ingress defines options for vCluster ingress deployed by Helm."
},
+ "tlsRoute": {
+ "$ref": "#/$defs/ControlPlaneTLSRoute",
+ "description": "TLSRoute defines options for vCluster TLS route deployed by Helm."
+ },
"service": {
"$ref": "#/$defs/ControlPlaneService",
"description": "Service defines options for vCluster service deployed by Helm."
@@ -849,6 +853,53 @@
},
"type": "array",
"description": "HostAliases allows you to add custom entries to the /etc/hosts file of each Pod created."
+ },
+ "runtimeClassName": {
+ "type": "string",
+ "description": "RuntimeClassName is the runtime class to set for the statefulSet pods."
+ }
+ },
+ "additionalProperties": false,
+ "type": "object"
+ },
+ "ControlPlaneTLSRoute": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Enabled defines if the control plane should be exposed via a gateway api tls route. Make sure to enable tls passthrough in the gateway via tls.mode to \"Passthrough\""
+ },
+ "apiVersion": {
+ "type": "string",
+ "description": "APIVersion is the version of the gateway api tls route."
+ },
+ "host": {
+ "type": "string",
+ "description": "Host is the host where vCluster will be reachable"
+ },
+ "parentRefs": {
+ "items": {
+ "type": "object"
+ },
+ "type": "array",
+ "description": "ParentRefs are the parent references for the TLS route"
+ },
+ "spec": {
+ "type": "object",
+ "description": "Spec allows you to configure extra tls route options."
+ },
+ "annotations": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object",
+ "description": "Annotations are extra annotations for this resource."
+ },
+ "labels": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object",
+ "description": "Labels are extra labels for this resource."
}
},
"additionalProperties": false,
@@ -1748,6 +1799,13 @@
"docker": {
"$ref": "#/$defs/ExperimentalDocker",
"description": "Docker allows you to configure Docker related settings when deploying a vCluster using Docker."
+ },
+ "nodeMonitors": {
+ "items": {
+ "$ref": "#/$defs/ExperimentalNodeMonitor"
+ },
+ "type": "array",
+ "description": "NodeMonitors allows you to create a service monitor for each node."
}
},
"additionalProperties": false,
@@ -1983,6 +2041,90 @@
"additionalProperties": false,
"type": "object"
},
+ "ExperimentalNodeMonitor": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name is the name of the monitor. It will be suffixed with the node name."
+ },
+ "nodeSelector": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object",
+ "description": "NodeSelector defines the node selector for the service monitor."
+ },
+ "endpoints": {
+ "items": {
+ "$ref": "#/$defs/ExperimentalNodeServiceMonitorEndpoint"
+ },
+ "type": "array",
+ "description": "Endpoints is a list of endpoints to add to the service monitor. By default, vCluster will relabel the node and instance label to the node name."
+ },
+ "spec": {
+ "type": "object",
+ "description": "Spec allows you to configure extra service monitor options that will be merged into the spec."
+ },
+ "annotations": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object",
+ "description": "Annotations are extra annotations for this resource."
+ },
+ "labels": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object",
+ "description": "Labels are extra labels for this resource."
+ }
+ },
+ "additionalProperties": false,
+ "type": "object"
+ },
+ "ExperimentalNodeServiceMonitorEndpoint": {
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "Path is the kubelet path of the endpoint. vCluster will prepend /api/v1/nodes/NODE_NAME to the path."
+ },
+ "params": {
+ "additionalProperties": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "type": "object",
+ "description": "Params allows you to configure extra parameters to add to the endpoint."
+ },
+ "extraRelabelings": {
+ "items": {
+ "type": "object"
+ },
+ "type": "array",
+ "description": "ExtraRelabelings allows you to configure extra relabelings to add to the endpoint. By default, vCluster will relabel the node and instance label to the node name."
+ },
+ "metricsRelabelings": {
+ "items": {
+ "type": "object"
+ },
+ "type": "array",
+ "description": "MetricsRelabelings allows you to configure extra metrics relabelings to add to the endpoint."
+ },
+ "interval": {
+ "type": "string",
+ "description": "Interval is the interval at which to scrape the endpoint."
+ },
+ "scrapeTimeout": {
+ "type": "string",
+ "description": "ScrapeTimeout is the timeout for the scrape of the endpoint."
+ }
+ },
+ "additionalProperties": false,
+ "type": "object"
+ },
"ExperimentalSyncSettings": {
"properties": {
"setOwner": {
diff --git a/vcluster_versioned_docs/version-0.33.0/_partials/config/controlPlane.mdx b/vcluster_versioned_docs/version-0.33.0/_partials/config/controlPlane.mdx
index a46adaeec..6666bb1b3 100755
--- a/vcluster_versioned_docs/version-0.33.0/_partials/config/controlPlane.mdx
+++ b/vcluster_versioned_docs/version-0.33.0/_partials/config/controlPlane.mdx
@@ -3094,6 +3094,126 @@ Labels are extra labels for this resource.
+
+
+
+### `tlsRoute` required object {#controlPlane-tlsRoute}
+
+TLSRoute defines options for vCluster TLS route deployed by Helm.
+
+
+
+
+
+
+
+
+
+#### `enabled` required boolean false {#controlPlane-tlsRoute-enabled}
+
+Enabled defines if the control plane should be exposed via a gateway api tls route. Make sure to enable tls passthrough in the gateway via tls.mode to "Passthrough"
+
+
+
+
+
+
+
+
+
+
+
+
+#### `apiVersion` required string gateway.networking.k8s.io/v1 {#controlPlane-tlsRoute-apiVersion}
+
+APIVersion is the version of the gateway api tls route.
+
+
+
+
+
+
+
+
+
+
+
+
+#### `host` required string my-host.com {#controlPlane-tlsRoute-host}
+
+Host is the host where vCluster will be reachable
+
+
+
+
+
+
+
+
+
+
+
+
+#### `parentRefs` required object[] [] {#controlPlane-tlsRoute-parentRefs}
+
+ParentRefs are the parent references for the TLS route
+
+
+
+
+
+
+
+
+
+
+
+
+#### `spec` required object {} {#controlPlane-tlsRoute-spec}
+
+Spec allows you to configure extra tls route options.
+
+
+
+
+
+
+
+
+
+
+
+
+#### `annotations` required object {} {#controlPlane-tlsRoute-annotations}
+
+Annotations are extra annotations for this resource.
+
+
+
+
+
+
+
+
+
+
+
+
+#### `labels` required object {} {#controlPlane-tlsRoute-labels}
+
+Labels are extra labels for this resource.
+
+
+
+
+
+
+
+
+
+
+
+
@@ -4429,6 +4549,21 @@ HostAliases allows you to add custom entries to the /etc/hosts file of each Pod
+
+
+
+
+
+
+
+#### `runtimeClassName` required string {#controlPlane-statefulSet-runtimeClassName}
+
+RuntimeClassName is the runtime class to set for the statefulSet pods.
+
+
+
+
+
diff --git a/vcluster_versioned_docs/version-0.33.0/_partials/config/controlPlane/statefulSet.mdx b/vcluster_versioned_docs/version-0.33.0/_partials/config/controlPlane/statefulSet.mdx
index 6cebc72a8..08b5bcf0d 100755
--- a/vcluster_versioned_docs/version-0.33.0/_partials/config/controlPlane/statefulSet.mdx
+++ b/vcluster_versioned_docs/version-0.33.0/_partials/config/controlPlane/statefulSet.mdx
@@ -1229,6 +1229,21 @@ HostAliases allows you to add custom entries to the /etc/hosts file of each Pod
+
+
+
+
+
+
+
+### `runtimeClassName` required string {#statefulSet-runtimeClassName}
+
+RuntimeClassName is the runtime class to set for the statefulSet pods.
+
+
+
+
+
diff --git a/vcluster_versioned_docs/version-0.33.0/_partials/config/experimental.mdx b/vcluster_versioned_docs/version-0.33.0/_partials/config/experimental.mdx
index e09b710f1..0962b47ad 100755
--- a/vcluster_versioned_docs/version-0.33.0/_partials/config/experimental.mdx
+++ b/vcluster_versioned_docs/version-0.33.0/_partials/config/experimental.mdx
@@ -1035,6 +1035,201 @@ via port forwarding. This will be only done if necessary for example on macos wh
+
+
+
+
+
+
+
+
+
+
+### `nodeMonitors` required object[] {#experimental-nodeMonitors}
+
+NodeMonitors allows you to create a service monitor for each node.
+
+
+
+
+
+
+
+
+
+#### `name` required string {#experimental-nodeMonitors-name}
+
+Name is the name of the monitor. It will be suffixed with the node name.
+
+
+
+
+
+
+
+
+
+
+
+
+#### `nodeSelector` required object {#experimental-nodeMonitors-nodeSelector}
+
+NodeSelector defines the node selector for the service monitor.
+
+
+
+
+
+
+
+
+
+
+
+
+#### `endpoints` required object[] {#experimental-nodeMonitors-endpoints}
+
+Endpoints is a list of endpoints to add to the service monitor. By default, vCluster will relabel the node and instance label to the node name.
+
+
+
+
+
+
+
+
+
+##### `path` required string {#experimental-nodeMonitors-endpoints-path}
+
+Path is the kubelet path of the endpoint. vCluster will prepend /api/v1/nodes/NODE_NAME to the path.
+
+
+
+
+
+
+
+
+
+
+
+
+##### `params` required object {#experimental-nodeMonitors-endpoints-params}
+
+Params allows you to configure extra parameters to add to the endpoint.
+
+
+
+
+
+
+
+
+
+
+
+
+##### `extraRelabelings` required object[] {#experimental-nodeMonitors-endpoints-extraRelabelings}
+
+ExtraRelabelings allows you to configure extra relabelings to add to the endpoint. By default, vCluster will relabel the node and instance label to the node name.
+
+
+
+
+
+
+
+
+
+
+
+
+##### `metricsRelabelings` required object[] {#experimental-nodeMonitors-endpoints-metricsRelabelings}
+
+MetricsRelabelings allows you to configure extra metrics relabelings to add to the endpoint.
+
+
+
+
+
+
+
+
+
+
+
+
+##### `interval` required string {#experimental-nodeMonitors-endpoints-interval}
+
+Interval is the interval at which to scrape the endpoint.
+
+
+
+
+
+
+
+
+
+
+
+
+##### `scrapeTimeout` required string {#experimental-nodeMonitors-endpoints-scrapeTimeout}
+
+ScrapeTimeout is the timeout for the scrape of the endpoint.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#### `spec` required object {#experimental-nodeMonitors-spec}
+
+Spec allows you to configure extra service monitor options that will be merged into the spec.
+
+
+
+
+
+
+
+
+
+
+
+
+#### `annotations` required object {#experimental-nodeMonitors-annotations}
+
+Annotations are extra annotations for this resource.
+
+
+
+
+
+
+
+
+
+
+
+
+#### `labels` required object {#experimental-nodeMonitors-labels}
+
+Labels are extra labels for this resource.
+
+
+
+
+