## @section Global parameters ## Global Docker image parameters ## Please, note that this will override the image parameters, including dependencies, configured to use the global value ## Current available global Docker image parameters: imageRegistry, imagePullSecrets and storageClass ## ## @param global.imageRegistry Global Docker image registry ## @param global.imagePullSecrets Global Docker registry secret names as an array ## @param global.storageClass Global StorageClass for Persistent Volume(s) ## global: imageRegistry: "" ## E.g. ## imagePullSecrets: ## - myRegistryKeySecretName ## imagePullSecrets: [] storageClass: "" ## @section Common parameters ## ## @param kubeVersion Force target Kubernetes version (using Helm capabilities if not set) ## kubeVersion: "" ## @param nameOverride String to partially override %%COMPONENT_NAME%%.fullname template with a string (will prepend the release name) ## nameOverride: "" ## @param fullnameOverride String to fully override %%COMPONENT_NAME%%.fullname template with a string ## fullnameOverride: "" ## @param commonLabels Add labels to all the deployed resources ## commonLabels: {} ## @param commonAnnotations Add annotations to all the deployed resources ## commonAnnotations: {} ## @param extraDeploy Extra objects to deploy (value evaluated as a template) ## extraDeploy: [] ## Enable diagnostic mode in the deployment(s)/statefulset(s) ## diagnosticMode: ## @param diagnosticMode.enabled Enable diagnostic mode (all probes will be disabled and the command will be overridden) ## enabled: false ## @param diagnosticMode.command Command to override all containers in the the deployment(s)/statefulset(s) ## command: - sleep ## @param diagnosticMode.args Args to override all containers in the the deployment(s)/statefulset(s) ## args: - infinity ## @section Wavefront Common parameters ## ## @param clusterName This is a unique name for the cluster (required) ## All metrics will receive a `cluster` tag with this value ## clusterName: KUBERNETES_CLUSTER_NAME ## @param wavefront.url Wavefront URL for your cluster (required) ## @param wavefront.token Wavefront API Token (required) ## @param wavefront.existingSecret Name of an existing secret containing the token ## wavefront: url: https://YOUR_CLUSTER.wavefront.com token: YOUR_API_TOKEN existingSecret: "" ## @param podSecurityPolicy.create Whether to create a PodSecurityPolicy. WARNING: PodSecurityPolicy is deprecated in Kubernetes v1.21 or later, unavailable in v1.25 or later ## podSecurityPolicy: create: false ## RBAC configuration ## rbac: ## @param rbac.create Specifies whether RBAC resources should be created ## create: true ## @param rbac.rules Custom RBAC rules to set ## e.g: ## rules: ## - apiGroups: ## - "" ## resources: ## - pods ## verbs: ## - get ## - list ## rules: [] ## Pods Service Account ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ ## @param serviceAccount.create Specifies whether a ServiceAccount should be created ## @param serviceAccount.name Name of the service account to use. If not set and create is true, a name is generated using the fullname template. ## @param serviceAccount.automountServiceAccountToken Automount service account token for the server service account ## @param serviceAccount.annotations Annotations for service account. Evaluated as a template. Only used if `create` is `true`. serviceAccount: create: true name: "" automountServiceAccountToken: true annotations: {} ## @param projectPacific.enabled Enable and create role binding for Tanzu Kubernetes cluster ## If enabled, a role binding to handle pod security policy will be installed within the Kubernetes cluster ## projectPacific: enabled: false ## @param tkgi.enabled Properties for TKGI environments. If enabled, a role binding to handle pod security policy will be installed within the TKGI cluster ## tkgi: enabled: false ## @section Collector parameters ## ## Wavefront Collector is responsible to get all Kubernetes metrics from your cluster. ## It will capture Kubernetes resources metrics available from the kubelets, ## as well as auto-discovery capabilities. ## collector: ## @param collector.enabled Setup and enable the Wavefront collector to gather metrics ## enabled: true ## @param collector.image.registry Wavefront collector image registry ## @param collector.image.repository Wavefront collector image repository ## @param collector.image.tag Wavefront collector image tag (immutable tags are recommended) ## @param collector.image.digest Wavefront collector image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag ## @param collector.image.pullPolicy image pull policy ## @param collector.image.pullSecrets Specify docker-registry secret names as an array ## image: registry: docker.io repository: bitnami/wavefront-kubernetes-collector tag: 1.13.0-scratch-r16 digest: "" ## Specify a imagePullPolicy ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' ## ref: https://kubernetes.io/docs/user-guide/images/#pre-pulling-images ## pullPolicy: IfNotPresent ## Optionally specify an array of imagePullSecrets. ## Secrets must be manually created in the namespace. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ ## Example: ## pullSecrets: ## - myRegistryKeySecretName ## pullSecrets: [] ## @param collector.hostAliases Deployment pod host aliases ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/ ## hostAliases: [] ## @param collector.useDaemonset Use Wavefront collector in Daemonset mode ## If set to false, Deployment will be used for the collector. ## Setting this to true is strongly recommended ## useDaemonset: true ## @param collector.usePKSPrefix If installing into a TKGi/PKS environment, set this to true. Prefixes metrics with 'pks.kubernetes.' ## usePKSPrefix: false ## @param collector.maxProcs Maximum number of CPUs that can be used simultaneously ## e.g: ## maxProcs: 0 ## maxProcs: "" ## @param collector.logLevel Log level. Allowed values: `info`, `debug` or `trace` ## logLevel: "" ## @param collector.interval Default metrics collection interval ## e.g: ## interval: 60s ## interval: "" ## @param collector.flushInterval How often to force a metrics flush ## e.g: ## flushInterval: 10s ## flushInterval: "" ## @param collector.sinkDelay Timeout for exporting data ## e.g: ## sinkDelay: 20s ## sinkDelay: "" ## @param collector.useReadOnlyPort Use un-authenticated port for kubelet ## If set to true, will use the unauthenticated real only port for the kubelet ## If set to false, will use the encrypted full access port for the kubelet (default false) ## useReadOnlyPort: false ## @param collector.useProxy Use a Wavefront Proxy to send metrics through ## When true you must either specify a value for `collector.proxyAddress` or set `proxy.enabled` to true ## If set to false, metrics will be sent to Wavefront via the Direct Ingestion API ## useProxy: true ## @param collector.proxyAddress Can be used to specify a specific address for the Wavefront Proxy ## The proxy can be anywhere network reachable including outside of the cluster ## Required if `collector.useProxy` is true and `proxy.enabled` is false ## e.g: ## proxyAddress: wavefront-proxy:2878 ## proxyAddress: "" ## @param collector.kubernetesState Collect metrics about Kubernetes resource states ## These metrics are more efficient than kube-state-metrics ## kubernetesState: true ## @param collector.apiServerMetrics Collect metrics about Kubernetes API server ## apiServerMetrics: false ## @param collector.tags Map of tags to apply to all metrics collected by the collector ## Sample tags to include (env, region) ## tags: ## env: production ## region: us-west-2 ## tags: {} ## @param collector.hostOSMetrics If set to true, host OS metrics will be collected ## hostOSMetrics: false ## Filters to apply towards all metrics collected by the collector ## @param collector.filters.metricDenyList [array] Optimized metrics collection to omit peripheral metrics. ## @param collector.filters.tagExclude [array] Filter out generated labels ## e.g: ## filters: ## tagWhilelistSets: ## - kind: ## - "Deployment" ## - reason: ## - "ScalingReplicaSet" ## - "ReplicaSetCreateError" ## - kind: ## - "HorizontalPodAutoscaler" ## reason: ## - "Failed*" ## filters: metricDenyList: - 'kubernetes.sys_container.*' - 'kubernetes.collector.runtime.*' - 'kubernetes.*.network.rx_rate' - 'kubernetes.*.network.rx_errors_rate' - 'kubernetes.*.network.tx_rate' - 'kubernetes.*.network.tx_errors_rate' - 'kubernetes.*.memory.page_faults' - 'kubernetes.*.memory.page_faults_rate' - 'kubernetes.*.memory.major_page_faults' - 'kubernetes.*.memory.major_page_faults_rate' - 'kubernetes.*.filesystem.inodes' - 'kubernetes.*.filesystem.inodes_free' - 'kubernetes.*.ephemeral_storage.request' - 'kubernetes.*.ephemeral_storage.limit' tagExclude: - 'label?controller?revision*' - 'label?pod?template*' - 'annotation_kubectl_kubernetes_io_last_applied_configuration' ## Events can also be collected and sent to Wavefront. ## Requires Wavefront Proxy 6.0 or greater. ## Events should be filtered before being enabled, see event filtering documentation for details ## Ref: https://github.com/wavefrontHQ/wavefront-collector-for-kubernetes/blob/master/docs/filtering.md ## events: ## @param collector.events.enabled Events can also be collected and sent to Wavefront ## enabled: false ## @param collector.events.filters Optional filtering of events collected ## filters: {} ## Rules based discovery configuration ## Ref: https://github.com/wavefrontHQ/wavefront-kubernetes-collector/blob/master/docs/discovery.md ## discovery: ## @param collector.discovery.enabled Rules based and Prometheus endpoints auto-discovery ## enabled: true ## @param collector.discovery.annotationPrefix When specified, this replaces `prometheus.io` as the prefix for annotations used to auto-discover Prometheus endpoints ## e.g: ## annotationPrefix: "wavefront.com" ## annotationPrefix: "" ## @param collector.discovery.enableRuntimeConfigs Whether to enable runtime discovery configurations ## Ref: https://github.com/wavefrontHQ/wavefront-collector-for-kubernetes/blob/master/docs/discovery.md#runtime-configurations ## enableRuntimeConfigs: true ## @param collector.discovery.config Configuration for rules based auto-discovery ## e.g: ## config: ## # auto-discover a sample prometheus application ## - name: prom-example ## type: prometheus ## selectors: ## labels: ## k8s-app: ## - prom-example ## port: 8080 ## path: /metrics ## prefix: kube.prom-example. ## tags: ## alt_name: sample-app ## # auto-discover mongodb pods (replace USER:PASSWORD) ## - name: mongodb ## type: telegraf/mongodb ## selectors: ## images: ## - '*mongo:*' ## port: 27017 ## conf: | ## servers = ["mongodb://USER:PASSWORD@${host}:${port}"] ## gather_perdb_stats = true ## filters: ## metricBlacklist: ## - 'mongodb.member.status' ## - 'mongodb.state' ## - 'mongodb.db.stats.type' ## # auto-discover rabbitmq pods (replace USER and PASSWORD) ## - name: rabbitmq ## type: telegraf/rabbitmq ## selectors: ## images: ## - '*rabbitmq:*' ## port: 15672 ## conf: | ## url = "http://${host}:${port}" ## username = "USER" ## password = "PASSWORD" ## config: [] ## @param collector.controlplane.enabled Enable metrics for control plane dashboard ## @param collector.controlplane.collection.interval The collection interval for the control plane ## controlplane: enabled: true collection: interval: 120s ## @param collector.existingConfigmap Name of existing ConfigMap with collector configuration ## existingConfigmap: "" ## @param collector.command Override default container command (useful when using custom images) ## command: [] ## @param collector.args Override default container args (useful when using custom images) ## args: [] ## Wavefront Collector resource requests and limits ## ref: https://kubernetes.io/docs/user-guide/compute-resources/ ## We usually recommend not to specify default resources and to leave this as a conscious ## choice for the user. This also increases chances charts run on environments with little ## resources, such as Minikube. If you do want to specify resources, uncomment the following ## lines, adjust them as necessary, and remove the curly braces after 'resources:'. ## @param collector.resources.limits The resources limits for the collector container ## @param collector.resources.requests The requested resources for the collector container ## resources: ## Example: ## limits: ## cpu: 200m ## memory: 256Mi ## limits: {} ## Examples: ## requests: ## cpu: 200m ## memory: 10Mi ## requests: {} ## Container Security Context configuration ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ ## @param collector.containerSecurityContext.enabled Enable Container Security Context configuration ## @param collector.containerSecurityContext.runAsUser Set Container's Security Context runAsUser ## @param collector.containerSecurityContext.runAsNonRoot Set Container's Security Context runAsNonRoot ## @param collector.containerSecurityContext.readOnlyRootFilesystem Mount / (root) as a readonly filesystem on container ## containerSecurityContext: enabled: true runAsUser: 1001 runAsNonRoot: true readOnlyRootFilesystem: true ## Pod Security Context configuration ## @param collector.podSecurityContext.enabled Enable Pod Security Context configuration ## @param collector.podSecurityContext.fsGroup Group ID for the volumes of the pod ## podSecurityContext: enabled: true fsGroup: 1001 ## @param collector.podAffinityPreset Wavefront collector pod affinity preset. Ignored if `collector.affinity` is set. Allowed values: `soft` or `hard` ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity ## podAffinityPreset: "" ## @param collector.podAntiAffinityPreset Wavefront collector pod anti-affinity preset. Ignored if `collector.affinity` is set. Allowed values: `soft` or `hard` ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity ## podAntiAffinityPreset: soft ## Wavefront Collector Node affinity preset ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity ## nodeAffinityPreset: ## @param collector.nodeAffinityPreset.type Wavefront collector node affinity preset type. Ignored if `collector.affinity` is set. Allowed values: `soft` or `hard` ## type: "" ## @param collector.nodeAffinityPreset.key Wavefront collector node label key to match Ignored if `collector.affinity` is set. ## E.g. ## key: "kubernetes.io/e2e-az-name" ## key: "" ## @param collector.nodeAffinityPreset.values Wavefront collector node label values to match. Ignored if `collector.affinity` is set. ## E.g. ## values: ## - e2e-az1 ## - e2e-az2 ## values: [] ## @param collector.affinity Wavefront collector affinity for pod assignment ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity ## Note: collector.podAffinityPreset, collector.podAntiAffinityPreset, and collector.nodeAffinityPreset will be ignored when it's set ## affinity: {} ## @param collector.nodeSelector Wavefront collector node labels for pod assignment ## ref: https://kubernetes.io/docs/user-guide/node-selection/ ## nodeSelector: {} ## @param collector.tolerations Wavefront collector tolerations for pod assignment ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ ## tolerations: [] ## @param collector.schedulerName Name of the k8s scheduler (other than default) ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/ ## schedulerName: "" ## @param collector.terminationGracePeriodSeconds In seconds, time the given to the %%MAIN_CONTAINER_NAME%% pod needs to terminate gracefully ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods ## terminationGracePeriodSeconds: "" ## @param collector.topologySpreadConstraints Topology Spread Constraints for pod assignment ## https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ ## The value is evaluated as a template ## topologySpreadConstraints: [] ## @param collector.podLabels Wavefront collector pod extra labels ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ ## podLabels: {} ## @param collector.podAnnotations Annotations for Wavefront collector pods ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ ## podAnnotations: {} ## @param collector.priorityClassName Wavefront Collector pods' priority ## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/ ## priorityClassName: "" ## @param collector.lifecycleHooks Lifecycle hooks for the Wavefront Collector container to automate configuration before or after startup ## lifecycleHooks: {} ## @param collector.customLivenessProbe Override default liveness probe ## customLivenessProbe: {} ## @param collector.customReadinessProbe Override default readiness probe ## customReadinessProbe: {} ## @param collector.customStartupProbe Override default startup probe ## customStartupProbe: {} ## @param collector.updateStrategy.type Update strategy - only really applicable for deployments with RWO PVs attached ## If replicas = 1, an update can get "stuck", as the previous pod remains attached to the ## PV, and the "incoming" pod can never start. Changing the strategy to "Recreate" will ## terminate the single previous pod, so that the new, incoming pod can attach to the PV ## updateStrategy: type: RollingUpdate ## @param collector.extraEnvVars Extra environment variables to be set on collector container ## For example: ## - name: BEARER_AUTH ## value: true ## extraEnvVars: [] ## @param collector.extraEnvVarsCM Name of existing ConfigMap containing extra environment variables ## extraEnvVarsCM: "" ## @param collector.extraEnvVarsSecret Name of existing Secret containing extra environment variables ## extraEnvVarsSecret: "" ## @param collector.extraVolumes Optionally specify extra list of additional volumes for collector container ## extraVolumes: [] ## @param collector.extraVolumeMounts Optionally specify extra list of additional volumeMounts for collector container ## extraVolumeMounts: [] ## @param collector.initContainers Add init containers to the Wavefront proxy pods ## Example: ## initContainers: ## - name: your-image-name ## image: your-image ## imagePullPolicy: Always ## ports: ## - name: portname ## containerPort: 1234 ## initContainers: [] ## @param collector.sidecars Add sidecars to the Wavefront proxy pods ## Example: ## sidecars: ## - name: your-image-name ## image: your-image ## imagePullPolicy: Always ## ports: ## - name: portname ## containerPort: 1234 ## sidecars: [] ## @section Proxy parameters ## ## Wavefront Proxy is a metrics forwarder that is used to relay metrics to the Wavefront SaaS service. ## It can receive metrics from the Wavefront Collector as well as other metrics collection services ## within your cluster. The proxy also supports preprocessor rules to allow you to further filter ## and enhance your metric names, and tags. Should network connectivity fall between the proxy and ## Wavefront SaaS service, the proxy will buffer metrics, which will be flushed when connectivity resumes. ## Ref: https://docs.wavefront.com/proxies.html ## proxy: ## @param proxy.enabled Setup and enable Wavefront proxy to send metrics through ## enabled: true ## @param proxy.image.registry Wavefront proxy image registry ## @param proxy.image.repository Wavefront proxy image repository ## @param proxy.image.tag Wavefront proxy image tag (immutable tags are recommended) ## @param proxy.image.digest Wavefront proxy image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag ## @param proxy.image.pullPolicy Wavefront proxy image pull policy ## @param proxy.image.pullSecrets Specify docker-registry secret names as an array ## image: registry: docker.io repository: bitnami/wavefront-proxy tag: 12.4.0-debian-11-r5 digest: "" ## Specify a imagePullPolicy ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' ## ref: https://kubernetes.io/docs/user-guide/images/#pre-pulling-images ## pullPolicy: IfNotPresent ## Optionally specify an array of imagePullSecrets. ## Secrets must be manually created in the namespace. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ ## Example: ## pullSecrets: ## - myRegistryKeySecretName ## pullSecrets: [] ## @param proxy.hostAliases Deployment pod host aliases ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/ ## hostAliases: [] ## Wavefront Proxy resource requests and limits ## ref: https://kubernetes.io/docs/user-guide/compute-resources/ ## We usually recommend not to specify default resources and to leave this as a conscious ## choice for the user. This also increases chances charts run on environments with little ## resources, such as Minikube. If you do want to specify resources, uncomment the following ## lines, adjust them as necessary, and remove the curly braces after 'resources:'. ## @param proxy.resources.limits The resources limits for the proxy container ## @param proxy.resources.requests The requested resources for the proxy container ## resources: ## Example: ## limits: ## cpu: 100m ## memory: 4Gi ## limits: {} ## Examples: ## requests: ## cpu: 100m ## memory: 1Gi ## requests: {} ## Container Security Context configuration ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ ## @param proxy.containerSecurityContext.enabled Enable Container Security Context configuration ## @param proxy.containerSecurityContext.runAsUser Set Container's Security Context runAsUser ## @param proxy.containerSecurityContext.runAsNonRoot Set Container's Security Context runAsNonRoot ## @param proxy.containerSecurityContext.readOnlyRootFilesystem Mount / (root) as a readonly filesystem on Proxy container ## containerSecurityContext: enabled: true runAsUser: 1001 runAsNonRoot: true readOnlyRootFilesystem: true ## Pod Security Context configuration ## @param proxy.podSecurityContext.enabled Enable Pod Security Context configuration ## @param proxy.podSecurityContext.fsGroup Group ID for the volumes of the pod ## podSecurityContext: enabled: true fsGroup: 1001 ## @param proxy.podAffinityPreset Wavefront proxy pod affinity preset. Ignored if `proxy.affinity` is set. Allowed values: `soft` or `hard` ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity ## podAffinityPreset: "" ## @param proxy.podAntiAffinityPreset Wavefront proxy pod anti-affinity preset. Ignored if `proxy.affinity` is set. Allowed values: `soft` or `hard` ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity ## podAntiAffinityPreset: soft ## Wavefront Proxy Node affinity preset ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity ## nodeAffinityPreset: ## @param proxy.nodeAffinityPreset.type Wavefront proxy node affinity preset type. Ignored if `proxy.affinity` is set. Allowed values: `soft` or `hard` ## type: "" ## @param proxy.nodeAffinityPreset.key Wavefront proxy node label key to match Ignored if `proxy.affinity` is set. ## E.g. ## key: "kubernetes.io/e2e-az-name" ## key: "" ## @param proxy.nodeAffinityPreset.values Wavefront proxy node label values to match. Ignored if `proxy.affinity` is set. ## E.g. ## values: ## - e2e-az1 ## - e2e-az2 ## values: [] ## @param proxy.affinity Wavefront proxy affinity for pod assignment ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity ## Note: proxy.podAffinityPreset, proxy.podAntiAffinityPreset, and proxy.nodeAffinityPreset will be ignored when it's set ## affinity: {} ## @param proxy.nodeSelector Wavefront proxy node labels for pod assignment ## ref: https://kubernetes.io/docs/user-guide/node-selection/ ## nodeSelector: {} ## @param proxy.tolerations Wavefront proxy tolerations for pod assignment ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ ## tolerations: [] ## @param proxy.schedulerName Name of the k8s scheduler (other than default) ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/ ## schedulerName: "" ## @param proxy.terminationGracePeriodSeconds In seconds, time the given to the %%MAIN_CONTAINER_NAME%% pod needs to terminate gracefully ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods ## terminationGracePeriodSeconds: "" ## @param proxy.topologySpreadConstraints Topology Spread Constraints for pod assignment ## https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ ## The value is evaluated as a template ## topologySpreadConstraints: [] ## @param proxy.podLabels Wavefront proxy pod extra labels ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ ## podLabels: {} ## @param proxy.podAnnotations Annotations for Wavefront proxy pods ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ ## podAnnotations: {} ## @param proxy.priorityClassName Wavefront proxy pods' priority class name ## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/ ## priorityClassName: "" ## @param proxy.lifecycleHooks Lifecycle hooks for the Wavefront proxy container to automate configuration before or after startup ## lifecycleHooks: {} ## Wavefront Proxy liveness probe. Evaluated as a template. ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes ## @param proxy.livenessProbe.enabled Enable livenessProbe ## @param proxy.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe ## @param proxy.livenessProbe.periodSeconds Period seconds for livenessProbe ## @param proxy.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe ## @param proxy.livenessProbe.failureThreshold Failure threshold for livenessProbe ## @param proxy.livenessProbe.successThreshold Success threshold for livenessProbe ## livenessProbe: enabled: true initialDelaySeconds: 10 timeoutSeconds: 1 periodSeconds: 20 failureThreshold: 6 successThreshold: 1 ## Wavefront Proxy readiness probe. Evaluated as a template. ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes ## @param proxy.readinessProbe.enabled Enable readinessProbe ## @param proxy.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe ## @param proxy.readinessProbe.periodSeconds Period seconds for readinessProbe ## @param proxy.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe ## @param proxy.readinessProbe.failureThreshold Failure threshold for readinessProbe ## @param proxy.readinessProbe.successThreshold Success threshold for readinessProbe ## readinessProbe: enabled: true initialDelaySeconds: 10 timeoutSeconds: 1 periodSeconds: 20 failureThreshold: 6 successThreshold: 1 ## Wavefront Proxy startup probe. Evaluated as a template. ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes ## @param proxy.startupProbe.enabled Enable startupProbe ## @param proxy.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe ## @param proxy.startupProbe.periodSeconds Period seconds for startupProbe ## @param proxy.startupProbe.timeoutSeconds Timeout seconds for startupProbe ## @param proxy.startupProbe.failureThreshold Failure threshold for startupProbe ## @param proxy.startupProbe.successThreshold Success threshold for startupProbe ## startupProbe: enabled: false initialDelaySeconds: 10 timeoutSeconds: 1 periodSeconds: 20 failureThreshold: 6 successThreshold: 1 ## @param proxy.customLivenessProbe Override default liveness probe ## customLivenessProbe: {} ## @param proxy.customReadinessProbe Override default readiness probe ## customReadinessProbe: {} ## @param proxy.customStartupProbe Override default startup probe ## customStartupProbe: {} ## @param proxy.updateStrategy.type Update strategy - only really applicable for deployments with RWO PVs attached ## If replicas = 1, an update can get "stuck", as the previous pod remains attached to the ## PV, and the "incoming" pod can never start. Changing the strategy to "Recreate" will ## terminate the single previous pod, so that the new, incoming pod can attach to the PV ## updateStrategy: type: RollingUpdate ## @param proxy.extraEnvVars Extra environment variables to be set on proxy container ## For example: ## - name: BEARER_AUTH ## value: true ## extraEnvVars: [] ## @param proxy.extraEnvVarsCM Name of existing ConfigMap containing extra environment variables ## extraEnvVarsCM: "" ## @param proxy.extraEnvVarsSecret Name of existing Secret containing extra environment variables ## extraEnvVarsSecret: "" ## @param proxy.extraVolumes Optionally specify extra list of additional volumes for proxy container ## extraVolumes: [] ## @param proxy.extraVolumeMounts Optionally specify extra list of additional volumeMounts for proxy container ## extraVolumeMounts: [] ## @param proxy.initContainers Add init containers to the Wavefront proxy pods ## Example: ## initContainers: ## - name: your-image-name ## image: your-image ## imagePullPolicy: Always ## ports: ## - name: portname ## containerPort: 1234 ## initContainers: [] ## @param proxy.sidecars Add sidecars to the Wavefront proxy pods ## Example: ## sidecars: ## - name: your-image-name ## image: your-image ## imagePullPolicy: Always ## ports: ## - name: portname ## containerPort: 1234 ## sidecars: [] ## @param proxy.replicaCount ReplicaCount to deploy for Wavefront proxy (usually 1) ## DEPRECATED: proxy.replicas has been deprecated, and will be removed in the next major release. ## replicaCount: 1 ## @param proxy.port The port number the proxy will listen on for metrics in Wavefront data format ## port: 2878 ## @param proxy.tracePort The port number the proxy will listen on for tracing spans in Wavefront trace data format (usually 30000) ## e.g: ## tracePort: 30000 ## tracePort: "" ## @param proxy.jaegerPort The port number the proxy will listen on for tracing spans in Jaeger data format (usually 30001) ## e.g: ## jaegerPort: 30001 ## jaegerPort: "" ## @param proxy.traceJaegerHttpListenerPort TCP ports to receive Jaeger Thrift formatted data via HTTP. The data is then sent to Wavefront in Wavefront span format (usually 30080) ## e.g: ## traceJaegerHttpListenerPort: 30080 ## traceJaegerHttpListenerPort: "" ## @param proxy.traceJaegerGrpcListenerPort TCP ports to receive Jaeger GRPC formatted data via HTTP (usually 14250) ## e.g: ## traceJaegerGrpcListenerPort: 14250 ## traceJaegerGrpcListenerPort: "" ## @param proxy.zipkinPort The port number the proxy will listen on for tracing spans in Zipkin data format (usually 9411) ## e.g: ## zipkinPort: 9411 ## zipkinPort: "" ## @param proxy.traceSamplingRate Sampling rate to apply to tracing spans sent to the proxy ## This rate is applied to all data formats the proxy is listening on. ## Value should be between 0.0 and 1.0 ## e.g: ## traceSamplingRate: 0.25 ## traceSamplingRate: "" ## @param proxy.traceSamplingDuration When set to greater than 0, spans that exceed this duration will force trace to be sampled (ms) ## spans that are greater than or equal to this value will be sampled. ## e.g: ## traceSamplingDuration: 500 ## traceSamplingDuration: "" ## @param proxy.traceJaegerApplicationName Custom application name for traces received on Jaeger's traceJaegerListenerPorts or traceJaegerHttpListenerPorts. ## e.g: ## traceJaegerApplicationName: MyJaegerDemo ## traceJaegerApplicationName: "" ## @param proxy.traceZipkinApplicationName Custom application name for traces received on Zipkin's traceZipkinListenerPorts. ## e.g: ## traceZipkinApplicationName: MyZipkinDemo ## traceZipkinApplicationName: "" ## @param proxy.histogramPort Port for histogram distribution format data (usually 40000) ## e.g: ## histogramPort: 40000 ## histogramPort: "" ## @param proxy.histogramMinutePort Port to accumulate 1-minute based histograms on Wavefront data format (usually 40001) ## e.g: ## histogramMinutePort: 40001 ## histogramMinutePort: "" ## @param proxy.histogramHourPort Port to accumulate 1-hour based histograms on Wavefront data format (usually 40002) ## e.g: ## histogramHourPort: 40002 ## histogramHourPort: "" ## @param proxy.histogramDayPort Port to accumulate 1-day based histograms on Wavefront data format (usually 40003) ## e.g: ## histogramDayPort: 40003 ## histogramDayPort: "" ## @param proxy.deltaCounterPort Port to accumulate 1-minute delta counters on Wavefront data format (usually 50000) ## e.g: ## deltaCounterPort: 50000 ## deltaCounterPort: "" ## @param proxy.command Override default container command (useful when using custom images) ## command: [] ## @param proxy.args Any configuration property can be passed to the proxy via command line args in the format: `-- ` ## Multiple properties can be specified separated by whitespace ## Ref: https://docs.wavefront.com/proxies_configuring.html ## args: "" ## @param proxy.heap Wavefront proxy Java heap maximum usage (java -Xmx command line option) ## By default Java will consume up to 4G of heap memory ## e.g: ## heap: 1024m ## heap: "" ## @param proxy.existingConfigmap Name of existing ConfigMap with Proxy preprocessor configuration ## existingConfigmap: "" ## @param proxy.preprocessor Preprocessor rules is a powerful way to apply filtering or to enhance metrics as they flow ## through the proxy. You can configure the rules here. By default a rule to drop Kubernetes ## generated labels is applied to remove unnecessary and often noisy tags. ## Ref: https://docs.wavefront.com/proxies_preprocessor_rules.html ## e.g: ## preprocessor: ## rules.yaml: | ## '2878': ## # fix %2F to be a / instead. May be required on EKS. ## - rule : fix-forward-slash ## action : replaceRegex ## scope : pointLine ## search : "%2F" ## replace : "/" ## # replace bad characters ("&", "$", "!", "@") with underscores in the entire point line string ## - rule : replace-badchars ## action : replaceRegex ## scope : pointLine ## search : "[&\\$!@]" ## replace : "_" ## preprocessor: {} ## @section Kube State Metrics parameters ## ## kube-state-metrics are used to get metrics about the state of the Kubernetes scheduler ## @param kube-state-metrics.enabled If enabled the kube-state-metrics chart will be installed as a subchart and the collector will be configured to capture metrics. ## kube-state-metrics: enabled: false