rancher-partner-charts/charts/stackstate/stackstate-k8s-agent/1.0.84
Adam Pickering d5c00e2870
Migrate charts directory (vendors starting with Q-Z) (#1048)
2024-07-08 17:15:28 -06:00
..
charts/http-header-injector Migrate charts directory (vendors starting with Q-Z) (#1048) 2024-07-08 17:15:28 -06:00
templates Migrate charts directory (vendors starting with Q-Z) (#1048) 2024-07-08 17:15:28 -06:00
test Migrate charts directory (vendors starting with Q-Z) (#1048) 2024-07-08 17:15:28 -06:00
.helmignore Migrate charts directory (vendors starting with Q-Z) (#1048) 2024-07-08 17:15:28 -06:00
Chart.lock Migrate charts directory (vendors starting with Q-Z) (#1048) 2024-07-08 17:15:28 -06:00
Chart.yaml Migrate charts directory (vendors starting with Q-Z) (#1048) 2024-07-08 17:15:28 -06:00
README.md Migrate charts directory (vendors starting with Q-Z) (#1048) 2024-07-08 17:15:28 -06:00
README.md.gotmpl Migrate charts directory (vendors starting with Q-Z) (#1048) 2024-07-08 17:15:28 -06:00
Releasing.md Migrate charts directory (vendors starting with Q-Z) (#1048) 2024-07-08 17:15:28 -06:00
app-readme.md Migrate charts directory (vendors starting with Q-Z) (#1048) 2024-07-08 17:15:28 -06:00
questions.yml Migrate charts directory (vendors starting with Q-Z) (#1048) 2024-07-08 17:15:28 -06:00
values.schema.json Migrate charts directory (vendors starting with Q-Z) (#1048) 2024-07-08 17:15:28 -06:00
values.yaml Migrate charts directory (vendors starting with Q-Z) (#1048) 2024-07-08 17:15:28 -06:00

README.md

stackstate-k8s-agent

Helm chart for the StackState Agent.

Current chart version is 1.0.84

Homepage: https://github.com/StackVista/stackstate-agent

Requirements

Repository Name Version
https://helm.stackstate.io httpHeaderInjectorWebhook(http-header-injector) 0.0.10

Required Values

In order to successfully install this chart, you must provide the following variables:

  • stackstate.apiKey
  • stackstate.cluster.name
  • stackstate.url

The parameter stackstate.cluster.name is entered when installing the Cluster Agent StackPack.

Install them on the command line on Helm with the following command:

helm install \
--set-string 'stackstate.apiKey'='<your-api-key>' \
--set-string 'stackstate.cluster.name'='<your-cluster-name>' \
--set-string 'stackstate.url'='<your-stackstate-url>' \
stackstate/stackstate-k8s-agent

It is also recommended that you set a value for stackstate.cluster.authToken. If it is not provided, a value will be generated for you, but the value will change each time an upgrade is performed.

The command for also installing with a set token would be:

helm install \
--set-string 'stackstate.apiKey'='<your-api-key>' \
--set-string 'stackstate.cluster.name'='<your-cluster-name>' \
--set-string 'stackstate.cluster.authToken'='<your-cluster-token>' \
--set-string 'stackstate.url'='<your-stackstate-url>' \
stackstate/stackstate-k8s-agent

Values

Key Type Default Description
all.hardening.enabled bool false An indication of whether the containers will be evaluated for hardening at runtime
all.image.registry string "quay.io" The image registry to use.
checksAgent.affinity object {} Affinity settings for pod assignment.
checksAgent.apm.enabled bool true Enable / disable the agent APM module.
checksAgent.checksTagCardinality string "orchestrator"
checksAgent.config object {"override":[]}
checksAgent.config.override list [] A list of objects containing three keys name, path and data, specifying filenames at specific paths which need to be (potentially) overridden using a mounted configmap
checksAgent.enabled bool true Enable / disable runnning cluster checks in a separately deployed pod
checksAgent.image.pullPolicy string "IfNotPresent" Default container image pull policy.
checksAgent.image.repository string "stackstate/stackstate-k8s-agent" Base container image repository.
checksAgent.image.tag string "44638ef5" Default container image tag.
checksAgent.livenessProbe.enabled bool true Enable use of livenessProbe check.
checksAgent.livenessProbe.failureThreshold int 3 failureThreshold for the liveness probe.
checksAgent.livenessProbe.initialDelaySeconds int 15 initialDelaySeconds for the liveness probe.
checksAgent.livenessProbe.periodSeconds int 15 periodSeconds for the liveness probe.
checksAgent.livenessProbe.successThreshold int 1 successThreshold for the liveness probe.
checksAgent.livenessProbe.timeoutSeconds int 5 timeoutSeconds for the liveness probe.
checksAgent.logLevel string "INFO" Logging level for clusterchecks agent processes.
checksAgent.networkTracing.enabled bool true Enable / disable the agent network tracing module.
checksAgent.nodeSelector object {} Node labels for pod assignment.
checksAgent.priorityClassName string "" Priority class for clusterchecks agent pods.
checksAgent.processAgent.enabled bool true Enable / disable the agent process agent module.
checksAgent.readinessProbe.enabled bool true Enable use of readinessProbe check.
checksAgent.readinessProbe.failureThreshold int 3 failureThreshold for the readiness probe.
checksAgent.readinessProbe.initialDelaySeconds int 15 initialDelaySeconds for the readiness probe.
checksAgent.readinessProbe.periodSeconds int 15 periodSeconds for the readiness probe.
checksAgent.readinessProbe.successThreshold int 1 successThreshold for the readiness probe.
checksAgent.readinessProbe.timeoutSeconds int 5 timeoutSeconds for the readiness probe.
checksAgent.replicas int 1 Number of clusterchecks agent pods to schedule
checksAgent.resources.limits.cpu string "400m" Memory resource limits.
checksAgent.resources.limits.memory string "600Mi"
checksAgent.resources.requests.cpu string "20m" Memory resource requests.
checksAgent.resources.requests.memory string "512Mi"
checksAgent.scc.enabled bool false Enable / disable the installation of the SecurityContextConfiguration needed for installation on OpenShift
checksAgent.serviceaccount.annotations object {} Annotations for the service account for the cluster checks pods
checksAgent.skipSslValidation bool false Set to true if self signed certificates are used.
checksAgent.strategy object {"type":"RollingUpdate"} The strategy for the Deployment object.
checksAgent.tolerations list [] Toleration labels for pod assignment.
clusterAgent.affinity object {} Affinity settings for pod assignment.
clusterAgent.collection.kubeStateMetrics.annotationsAsTags object {} Extra annotations to collect from resources and to turn into StackState tag.
clusterAgent.collection.kubeStateMetrics.clusterCheck bool false For large clusters where the Kubernetes State Metrics Check Core needs to be distributed on dedicated workers.
clusterAgent.collection.kubeStateMetrics.enabled bool true Enable / disable the cluster agent kube-state-metrics collection.
clusterAgent.collection.kubeStateMetrics.labelsAsTags object {} Extra labels to collect from resources and to turn into StackState tag. # It has the following structure: # labelsAsTags: # : # can be pod, deployment, node, etc. # : # where is the kubernetes label and is the StackState tag # : # : # : # # Warning: the label must match the transformation done by kube-state-metrics, # for example tags.stackstate/version becomes tags_stackstate_version.
clusterAgent.collection.kubernetesEvents bool true Enable / disable the cluster agent events collection.
clusterAgent.collection.kubernetesMetrics bool true Enable / disable the cluster agent metrics collection.
clusterAgent.collection.kubernetesResources.configmaps bool true Enable / disable collection of ConfigMaps.
clusterAgent.collection.kubernetesResources.cronjobs bool true Enable / disable collection of CronJobs.
clusterAgent.collection.kubernetesResources.daemonsets bool true Enable / disable collection of DaemonSets.
clusterAgent.collection.kubernetesResources.deployments bool true Enable / disable collection of Deployments.
clusterAgent.collection.kubernetesResources.endpoints bool true Enable / disable collection of Endpoints. If endpoints are disabled then StackState won't be able to connect a Service to Pods that serving it
clusterAgent.collection.kubernetesResources.horizontalpodautoscalers bool true Enable / disable collection of HorizontalPodAutoscalers.
clusterAgent.collection.kubernetesResources.ingresses bool true Enable / disable collection of Ingresses.
clusterAgent.collection.kubernetesResources.jobs bool true Enable / disable collection of Jobs.
clusterAgent.collection.kubernetesResources.limitranges bool true Enable / disable collection of LimitRanges.
clusterAgent.collection.kubernetesResources.namespaces bool true Enable / disable collection of Namespaces.
clusterAgent.collection.kubernetesResources.persistentvolumeclaims bool true Enable / disable collection of PersistentVolumeClaims. Disabling these will not let StackState connect PersistentVolumes to pods they are attached to
clusterAgent.collection.kubernetesResources.persistentvolumes bool true Enable / disable collection of PersistentVolumes.
clusterAgent.collection.kubernetesResources.poddisruptionbudgets bool true Enable / disable collection of PodDisruptionBudgets.
clusterAgent.collection.kubernetesResources.replicasets bool true Enable / disable collection of ReplicaSets.
clusterAgent.collection.kubernetesResources.replicationcontrollers bool true Enable / disable collection of ReplicationControllers.
clusterAgent.collection.kubernetesResources.resourcequotas bool true Enable / disable collection of ResourceQuotas.
clusterAgent.collection.kubernetesResources.secrets bool true Enable / disable collection of Secrets.
clusterAgent.collection.kubernetesResources.statefulsets bool true Enable / disable collection of StatefulSets.
clusterAgent.collection.kubernetesResources.storageclasses bool true Enable / disable collection of StorageClasses.
clusterAgent.collection.kubernetesResources.volumeattachments bool true Enable / disable collection of Volume Attachments. Used to bind Nodes to Persistent Volumes.
clusterAgent.collection.kubernetesTimeout int 10 Default timeout (in seconds) when obtaining information from the Kubernetes API.
clusterAgent.collection.kubernetesTopology bool true Enable / disable the cluster agent topology collection.
clusterAgent.config object {"configMap":{"maxDataSize":null},"events":{"categories":{}},"override":[],"topology":{"collectionInterval":90}}
clusterAgent.config.configMap.maxDataSize string nil Maximum amount of characters for the data property of a ConfigMap collected by the kubernetes topology check
clusterAgent.config.events.categories object {} Custom mapping from Kubernetes event reason to StackState event category. Categories allowed: Alerts, Activities, Changes, Others
clusterAgent.config.override list [] A list of objects containing three keys name, path and data, specifying filenames at specific paths which need to be (potentially) overridden using a mounted configmap
clusterAgent.config.topology.collectionInterval int 90 Interval for running topology collection, in seconds
clusterAgent.enabled bool true Enable / disable the cluster agent.
clusterAgent.image.pullPolicy string "IfNotPresent" Default container image pull policy.
clusterAgent.image.repository string "stackstate/stackstate-k8s-cluster-agent" Base container image repository.
clusterAgent.image.tag string "44638ef5" Default container image tag.
clusterAgent.livenessProbe.enabled bool true Enable use of livenessProbe check.
clusterAgent.livenessProbe.failureThreshold int 3 failureThreshold for the liveness probe.
clusterAgent.livenessProbe.initialDelaySeconds int 15 initialDelaySeconds for the liveness probe.
clusterAgent.livenessProbe.periodSeconds int 15 periodSeconds for the liveness probe.
clusterAgent.livenessProbe.successThreshold int 1 successThreshold for the liveness probe.
clusterAgent.livenessProbe.timeoutSeconds int 5 timeoutSeconds for the liveness probe.
clusterAgent.logLevel string "INFO" Logging level for stackstate-k8s-agent processes.
clusterAgent.nodeSelector object {} Node labels for pod assignment.
clusterAgent.priorityClassName string "" Priority class for stackstate-k8s-agent pods.
clusterAgent.readinessProbe.enabled bool true Enable use of readinessProbe check.
clusterAgent.readinessProbe.failureThreshold int 3 failureThreshold for the readiness probe.
clusterAgent.readinessProbe.initialDelaySeconds int 15 initialDelaySeconds for the readiness probe.
clusterAgent.readinessProbe.periodSeconds int 15 periodSeconds for the readiness probe.
clusterAgent.readinessProbe.successThreshold int 1 successThreshold for the readiness probe.
clusterAgent.readinessProbe.timeoutSeconds int 5 timeoutSeconds for the readiness probe.
clusterAgent.replicaCount int 1 Number of replicas of the cluster agent to deploy.
clusterAgent.resources.limits.cpu string "400m" CPU resource limits.
clusterAgent.resources.limits.memory string "800Mi" Memory resource limits.
clusterAgent.resources.requests.cpu string "70m" CPU resource requests.
clusterAgent.resources.requests.memory string "512Mi" Memory resource requests.
clusterAgent.service.port int 5005 Change the Cluster Agent service port
clusterAgent.service.targetPort int 5005 Change the Cluster Agent service targetPort
clusterAgent.serviceaccount.annotations object {} Annotations for the service account for the cluster agent pods
clusterAgent.skipSslValidation bool false If true, ignores the server certificate being signed by an unknown authority.
clusterAgent.strategy object {"type":"RollingUpdate"} The strategy for the Deployment object.
clusterAgent.tolerations list [] Toleration labels for pod assignment.
fullnameOverride string "" Override the fullname of the chart.
global.extraAnnotations object {} Extra annotations added ta all resources created by the helm chart
global.extraEnv.open object {} Extra open environment variables to inject into pods.
global.extraEnv.secret object {} Extra secret environment variables to inject into pods via a Secret object.
global.extraLabels object {} Extra labels added ta all resources created by the helm chart
global.imagePullCredentials object {} Globally define credentials for pulling images.
global.imagePullSecrets list [] Secrets / credentials needed for container image registry.
global.proxy.url string "" Proxy for all traffic to stackstate
global.skipSslValidation bool false Enable tls validation from client
httpHeaderInjectorWebhook.enabled bool false Enable the webhook for injection http header injection sidecar proxy
logsAgent.affinity object {} Affinity settings for pod assignment.
logsAgent.enabled bool true Enable / disable k8s pod log collection
logsAgent.image.pullPolicy string "IfNotPresent" Default container image pull policy.
logsAgent.image.repository string "stackstate/promtail" Base container image repository.
logsAgent.image.tag string "2.9.8-5b179aee" Default container image tag.
logsAgent.nodeSelector object {} Node labels for pod assignment.
logsAgent.priorityClassName string "" Priority class for logsAgent pods.
logsAgent.resources.limits.cpu string "1300m" Memory resource limits.
logsAgent.resources.limits.memory string "192Mi"
logsAgent.resources.requests.cpu string "20m" Memory resource requests.
logsAgent.resources.requests.memory string "100Mi"
logsAgent.serviceaccount.annotations object {} Annotations for the service account for the daemonset pods
logsAgent.skipSslValidation bool false If true, ignores the server certificate being signed by an unknown authority.
logsAgent.tolerations list [] Toleration labels for pod assignment.
logsAgent.updateStrategy object {"rollingUpdate":{"maxUnavailable":100},"type":"RollingUpdate"} The update strategy for the DaemonSet object.
nameOverride string "" Override the name of the chart.
nodeAgent.affinity object {} Affinity settings for pod assignment.
nodeAgent.apm.enabled bool true Enable / disable the nodeAgent APM module.
nodeAgent.autoScalingEnabled bool false Enable / disable autoscaling for the node agent pods.
nodeAgent.checksTagCardinality string "orchestrator" low, orchestrator or high. Orchestrator level adds pod_name, high adds display_container_name
nodeAgent.config object {"override":[]}
nodeAgent.config.override list [] A list of objects containing three keys name, path and data, specifying filenames at specific paths which need to be (potentially) overridden using a mounted configmap
nodeAgent.containerRuntime.customSocketPath string "" If the container socket path does not match the default for CRI-O, Containerd or Docker, supply a custom socket path.
nodeAgent.containerRuntime.hostProc string "/proc"
nodeAgent.containers.agent.env object {} Additional environment variables for the agent container
nodeAgent.containers.agent.image.pullPolicy string "IfNotPresent" Default container image pull policy.
nodeAgent.containers.agent.image.repository string "stackstate/stackstate-k8s-agent" Base container image repository.
nodeAgent.containers.agent.image.tag string "44638ef5" Default container image tag.
nodeAgent.containers.agent.livenessProbe.enabled bool true Enable use of livenessProbe check.
nodeAgent.containers.agent.livenessProbe.failureThreshold int 3 failureThreshold for the liveness probe.
nodeAgent.containers.agent.livenessProbe.initialDelaySeconds int 15 initialDelaySeconds for the liveness probe.
nodeAgent.containers.agent.livenessProbe.periodSeconds int 15 periodSeconds for the liveness probe.
nodeAgent.containers.agent.livenessProbe.successThreshold int 1 successThreshold for the liveness probe.
nodeAgent.containers.agent.livenessProbe.timeoutSeconds int 5 timeoutSeconds for the liveness probe.
nodeAgent.containers.agent.logLevel string nil Set logging verbosity, valid log levels are: trace, debug, info, warn, error, critical, and off # If not set, fall back to the value of agent.logLevel.
nodeAgent.containers.agent.processAgent.enabled bool false Enable / disable the agent process agent module. - deprecated
nodeAgent.containers.agent.readinessProbe.enabled bool true Enable use of readinessProbe check.
nodeAgent.containers.agent.readinessProbe.failureThreshold int 3 failureThreshold for the readiness probe.
nodeAgent.containers.agent.readinessProbe.initialDelaySeconds int 15 initialDelaySeconds for the readiness probe.
nodeAgent.containers.agent.readinessProbe.periodSeconds int 15 periodSeconds for the readiness probe.
nodeAgent.containers.agent.readinessProbe.successThreshold int 1 successThreshold for the readiness probe.
nodeAgent.containers.agent.readinessProbe.timeoutSeconds int 5 timeoutSeconds for the readiness probe.
nodeAgent.containers.agent.resources.limits.cpu string "270m" Memory resource limits.
nodeAgent.containers.agent.resources.limits.memory string "420Mi"
nodeAgent.containers.agent.resources.requests.cpu string "20m" Memory resource requests.
nodeAgent.containers.agent.resources.requests.memory string "180Mi"
nodeAgent.containers.processAgent.enabled bool true Enable / disable the process agent container.
nodeAgent.containers.processAgent.env object {} Additional environment variables for the process-agent container
nodeAgent.containers.processAgent.image.pullPolicy string "IfNotPresent" Process-agent container image pull policy.
nodeAgent.containers.processAgent.image.registry string nil
nodeAgent.containers.processAgent.image.repository string "stackstate/stackstate-k8s-process-agent" Process-agent container image repository.
nodeAgent.containers.processAgent.image.tag string "ae5d42d2" Default process-agent container image tag.
nodeAgent.containers.processAgent.logLevel string nil Set logging verbosity, valid log levels are: trace, debug, info, warn, error, critical, and off # If not set, fall back to the value of agent.logLevel.
nodeAgent.containers.processAgent.procVolumeReadOnly bool true Configure whether /host/proc is read only for the process agent container
nodeAgent.containers.processAgent.resources.limits.cpu string "125m" Memory resource limits.
nodeAgent.containers.processAgent.resources.limits.memory string "400Mi"
nodeAgent.containers.processAgent.resources.requests.cpu string "25m" Memory resource requests.
nodeAgent.containers.processAgent.resources.requests.memory string "128Mi"
nodeAgent.httpTracing.enabled bool true
nodeAgent.logLevel string "INFO" Logging level for agent processes.
nodeAgent.networkTracing.enabled bool true Enable / disable the nodeAgent network tracing module.
nodeAgent.nodeSelector object {} Node labels for pod assignment.
nodeAgent.priorityClassName string "" Priority class for nodeAgent pods.
nodeAgent.protocolInspection.enabled bool true Enable / disable the nodeAgent protocol inspection.
nodeAgent.scaling.autoscalerLimits.agent.maximum.cpu string "200m" Maximum CPU resource limits for main agent.
nodeAgent.scaling.autoscalerLimits.agent.maximum.memory string "450Mi" Maximum memory resource limits for main agent.
nodeAgent.scaling.autoscalerLimits.agent.minimum.cpu string "20m" Minimum CPU resource limits for main agent.
nodeAgent.scaling.autoscalerLimits.agent.minimum.memory string "180Mi" Minimum memory resource limits for main agent.
nodeAgent.scaling.autoscalerLimits.processAgent.maximum.cpu string "200m" Maximum CPU resource limits for process agent.
nodeAgent.scaling.autoscalerLimits.processAgent.maximum.memory string "500Mi" Maximum memory resource limits for process agent.
nodeAgent.scaling.autoscalerLimits.processAgent.minimum.cpu string "25m" Minimum CPU resource limits for process agent.
nodeAgent.scaling.autoscalerLimits.processAgent.minimum.memory string "100Mi" Minimum memory resource limits for process agent.
nodeAgent.scc.enabled bool false Enable / disable the installation of the SecurityContextConfiguration needed for installation on OpenShift.
nodeAgent.service object {"annotations":{},"loadBalancerSourceRanges":["10.0.0.0/8"],"type":"ClusterIP"} The Kubernetes service for the agent
nodeAgent.service.annotations object {} Annotations for the service
nodeAgent.service.loadBalancerSourceRanges list ["10.0.0.0/8"] The IP4 CIDR allowed to reach LoadBalancer for the service. For LoadBalancer type of service only.
nodeAgent.service.type string "ClusterIP" Type of Kubernetes service: ClusterIP, LoadBalancer, NodePort
nodeAgent.serviceaccount.annotations object {} Annotations for the service account for the agent daemonset pods
nodeAgent.skipKubeletTLSVerify bool false Set to true if you want to skip kubelet tls verification.
nodeAgent.skipSslValidation bool false Set to true if self signed certificates are used.
nodeAgent.tolerations list [] Toleration labels for pod assignment.
nodeAgent.updateStrategy object {"rollingUpdate":{"maxUnavailable":100},"type":"RollingUpdate"} The update strategy for the DaemonSet object.
openShiftLogging.installSecret bool false Install a secret for logging on openshift
processAgent.checkIntervals.connections int 30 Override the default value of the connections check interval in seconds.
processAgent.checkIntervals.container int 28 Override the default value of the container check interval in seconds.
processAgent.checkIntervals.process int 32 Override the default value of the process check interval in seconds.
processAgent.softMemoryLimit.goMemLimit string "340MiB" Soft-limit for golang heap allocation, for sanity, must be around 85% of nodeAgent.containers.processAgent.resources.limits.cpu.
processAgent.softMemoryLimit.httpObservationsBufferSize int 40000 Sets a maximum for the number of http observations to keep in memory between check runs, to use 40k requires around ~400Mib of memory.
processAgent.softMemoryLimit.httpStatsBufferSize int 40000 Sets a maximum for the number of http stats to keep in memory between check runs, to use 40k requires around ~400Mib of memory.
stackstate.apiKey string nil PROVIDE YOUR API KEY HERE API key to be used by the StackState agent.
stackstate.cluster.authToken string "" Provide a token to enable secure communication between the agent and the cluster agent.
stackstate.cluster.name string nil PROVIDE KUBERNETES CLUSTER NAME HERE Name of the Kubernetes cluster where the agent will be installed.
stackstate.customApiKeySecretKey string "sts-api-key" Key in the secret containing the receiver API key.
stackstate.customClusterAuthTokenSecretKey string "sts-cluster-auth-token" Key in the secret containing the cluster auth token.
stackstate.customSecretName string "" Name of the secret containing the receiver API key.
stackstate.manageOwnSecrets bool false Set to true if you don't want this helm chart to create secrets for you.
stackstate.url string nil PROVIDE STACKSTATE URL HERE URL of the StackState installation to receive data from the agent.
targetSystem string "linux" Target OS for this deployment (possible values: linux)