# Default values for kubeturbo. # This is a YAML-formatted file. # Declare variables to be passed into your templates. replicaCount: 1 # Replace the image with desired version image: repository: icr.io/cpopen/turbonomic/kubeturbo tag: 8.18.3 pullPolicy: IfNotPresent # busyboxRepository: busybox # imagePullSecret: "" # cpufreqgetterRepository: icr.io/cpopen/turbonomic/cpufreqgetter # # cpufreqgetterTag is only valid for Kubeturbo version 8.18.3+, and valid options are the Turbo released version after 8.18.3 or latest otherwise. # cpufreqgetterTag: latest annotations: kubeturbo.io/controllable: "false" # nameOverride: "" # fullnameOverride: "" # Specify one or more kubeturbo pod scheduling constraints in the cluster # See https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/ for examples on # nodeSelector, affinity, tolerations kubeturboPodScheduling: nodeSelector: affinity: tolerations: # Specify 'turbo-cluster-reader' or 'turbo-cluster-admin' as role name instead of the default using # the 'cluster-admin' role. A cluster role with this name will be created during deployment # If using a role name other than the pre-defined role names, cluster role will not be created. This role should be # existing in the cluster and should have the necessary permissions required for kubeturbo to work accurately. roleName: "cluster-admin" # Specify the name of clusterrolebinding roleBinding: "turbo-all-binding" # Specify the name of the serviceaccount serviceAccountName: "turbo-user" # Turbo server address serverMeta: turboServer: https:// # proxy: http://username:password@proxyserver:proxyport or http://proxyserver:proxyport # Turbo server api user and password stored in a secret or optionally specified as username and password # The opsManagerUserName requires Turbo administrator role restAPIConfig: turbonomicCredentialsSecretName: "turbonomic-credentials" # opsManagerUserName: # opsManagerPassword: # Turbo server registration process configuration sdkProtocolConfig: registrationTimeoutSec: 300 restartOnRegistrationTimeout: true # For targetConfig, targetName provides better group naming to identify k8s clusters in UI # - If no targetConfig is specified, a default targetName will be created from the apiserver URL in # the kubeconfig. # - Specify a targetName only will register a probe with type Kubernetes-, as well as # adding your cluster as a target with the name Kubernetes-. # - Specify a targetType only will register a probe without adding your cluster as a target. # The probe will appear as a Cloud Native probe in the UI with a type Kubernetes-. # targetConfig: targetName: # targetType: Target_Type # In kubeturbo 6.4.3+, you can define what nodes should stay high-available based on the node role # Master nodes are by default populated by --set HANodeConfig.nodeRoles="\"foo\"\,\"bar\"" HANodeConfig: nodeRoles: '"master"' # In kubeturbo 6.3+, you can define how daemon pods are identified. Use either or both # Note if you do not enable daemonPodDetectors, the default is to identify all pods running as kind = daemonSet # Any entry for daemonPodDetectors would overwrite default. Recommend you do not use this parameter. daemonPodDetectors: namespacePatterns: [] podNamePatterns: [] # The annotationWhitelist allows users to define regular expressions to allow kubeturbo to collect # matching annotations for the specified entity type. By default, no annotations are collected. # These regular expressions accept the RE2 syntax (except for \C) as defined here: https://github.com/google/re2/wiki/Syntax # annotationWhitelist: # containerSpec: "" # namespace: "" # workloadController: "" # The featureGates property defines a map of string-to-boolean values that provides users with a mechanism # to enable/disable features. For a list of supported feature gates, see # https://github.com/turbonomic/kubeturbo/blob/master/pkg/features/features.go # featureGates: # PersistentVolumes: true (default: true) # ThrottlingMetrics: false (default: true) # HonorAzLabelPvAffinity: true (default: false) # GitopsApps: false (default: true) # GoMemLimit: true (default: false) # Dynamic configuration Changing this value does not require restart of Kubeturbo but takes about 1 minute to take effect # logging level logging: level: 2 # Define the default values for your cluster configuration # `nodePoolSize.min`: This parameter defines the minimum number of nodes allowed in the node pool. # It ensures that the node pool remains resilient and can continue its normal operations even if some nodes become # unavailable due to hardware failures or other issues. The minimum number of nodes should be set based on the desired # level of resiliency and the specific requirements of the applications running in the node pool. # `nodePoolSize.max`: This parameter defines the maximum number of nodes allowed in the node pool. It prevents the cluster from growing # uncontrollably and helps manage the available resources efficiently. The maximum number of nodes should be set based # on the available resources in the environment, such as IP addresses, CPU, memory, storage capacity, and networking bandwidth. # It should also consider the application requirements and performance characteristics of the workloads running on the node pool. nodePoolSize: min: 1 max: 1000 # Cluster Role rules for ORM owners. # It's required when using ORM with ClusterRole 'turbo-cluster-admin'. # It's recommended to use ORM with ClusterRole 'cluster-admin'. ormOwners: apiGroup: # - redis.redis.opstreelabs.in # - charts.helm.k8s.io resources: # - redis # - xls # Flag system workloads such as those defined in kube-system, openshift-system, etc. # Kubeturbo will not generate actions for workloads that match the supplied patterns. systemWorkloadDetectors: # A list of regular expressions that match the namespace names for system workloads. namespacePatterns: - kube-.* - openshift-.* - cattle.* # List operator-controlled workloads by name or namespace (using regular expressions) # that should be excluded from the operator-controlled WorkloadController resize policy. # By default, matching workloads will generate actions that are not in Recommend mode. # exclusionDetectors: # # A list of regular expressions representing operator-controlled Workload Controllers. # operatorControlledWorkloadsPatterns: # - example-.* # - .*-example # # A list of regular expressions representing namespaces containing operator-controlled Workload Controllers. # operatorControlledNamespacePatterns: # - .*-example.* args: # logging level logginglevel: 2 # If running on k8s 1.10.x or older, set https to false and change port 10255 for kubelet kubelethttps: true kubeletport: 10250 # set to false if using IP for stitching stitchuuid: true # if Kubernetes version is older than 1.6, then add another arg for move/resize action pre16k8sVersion: false # cleanup the resources for scc impersonation by deault cleanupSccImpersonationResources: true # Kubeturbo creates the resources for scc impersonation by deault skipCreatingSccImpersonationResources: false # required for OCP cluster # sccsupport: "*" resources: {} wiremock: enabled: false url: wiremock:8080 # OOM event handler framework configurations oomEventHandler: # When true, Kubeturbo writes all captured OOM and memory-pressure events # to a local file in the container for visualization. enableEventWrites: false # When true, Kubeturbo generates synthetic recovery actions for OOM events. enableRecoveryActions: false # Discovery-related configurations # discovery: # # time delay (in milliseconds) between transmissions of chunked discovery data # chunkSendDelayMillis: 0 # # desired size (in number of DTOs) of discovery data chunks # numObjectsPerChunk: 5000 # policy override for sidecars to disable action generation policySettings: containers: sidecars: disableActionGeneration: false