image: repository: ghcr.io/jmcgrath207/k8s-ephemeral-storage-metrics tag: 1.18.2 imagePullPolicy: IfNotPresent imagePullSecrets: [] # -- Configure the Service Monitor serviceMonitor: enable: false # -- Add labels to the ServiceMonitor.Spec additionalLabels: {} # -- Set relabelings as per https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#monitoring.coreos.com/v1.RelabelConfig relabelings: [] # -- Set metricRelabelings as per https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#monitoring.coreos.com/v1.RelabelConfig metricRelabelings: [] # -- Set targetLabels as per https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#monitoring.coreos.com/v1.ServiceMonitorSpec targetLabels: [] # -- Set podTargetLabels as per https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#monitoring.coreos.com/v1.ServiceMonitorSpec podTargetLabels: [] # -- Scrape metrics through kubelet instead of kube api kubelet: scrape: false readOnlyPort: 0 insecure: false # -- Set metrics you want to enable metrics: # -- Adjust the metric port as needed (default 9100) port: 9100 # -- Percentage of ephemeral storage used by a container in a pod ephemeral_storage_container_limit_percentage: true # -- Current ephemeral storage used by a container's volume in a pod ephemeral_storage_container_volume_usage: true # -- Percentage of ephemeral storage used by a container's volume in a pod ephemeral_storage_container_volume_limit_percentage: true # -- Current ephemeral byte usage of pod ephemeral_storage_pod_usage: true # -- Current ephemeral inode usage of pod ephemeral_storage_inodes: true # -- Available ephemeral storage for a node ephemeral_storage_node_available: true # -- Capacity of ephemeral storage for a node ephemeral_storage_node_capacity: true # -- Percentage of ephemeral storage used on a node ephemeral_storage_node_percentage: true # -- Create the ephemeral_storage_adjusted_polling_rate metrics to report Adjusted Poll Rate in milliseconds. Typically used for testing. adjusted_polling_rate: false log_level: info # -- Set as Deployment for single controller to query all nodes or Daemonset deploy_type: Deployment # -- Set additional labels for the Deployment/Daemonset deploy_labels: {} # -- Set additional labels for the Pods pod_labels: {} # Note in testing, Kube API does not refresh faster than 10 seconds # -- Polling node rate for exporter interval: 15 # Seconds # -- Max number of concurrent query requests to the kubernetes API. max_node_concurrency: 10 # -- QPS indicates the maximum QPS to the master from this client. client_go_qps: 5 # -- Maximum burst for throttle. client_go_burst: 10 prometheus: enable: false release: kube-prometheus-stack # -- Add labels to the PrometheusRule.Spec additionalLabels: {} rules: # -- Create PrometheusRules firing alerts when out of ephemeral storage enable: false # -- How many hours in the future to predict filling up of a volume predictFilledHours: 12 # -- What percentage of limit must be used right now to predict filling up of a volume predictMinCurrentUsage: 33.3 # -- What additional labels to set on alerts labels: severity: warning # -- Enable Pprof pprof: false # -- For local development or testing that will deploy grow and shrink pods and debug service dev: enabled: false shrink: image: ghcr.io/jmcgrath207/k8s-ephemeral-storage-shrink-test:latest imagePullPolicy: IfNotPresent grow: image: ghcr.io/jmcgrath207/k8s-ephemeral-storage-grow-test:latest imagePullPolicy: IfNotPresent # -- Resource requests and limits for the container resources: {} podAnnotations: {} nodeSelector: {} affinity: {} tolerations: [] priorityClassName: # -- Revision history limit for the Deployment revisionHistoryLimit: 10 # -- Service Account configuration serviceAccount: create: true # If not set and create is true, a name is generated using the name template name: null # -- RBAC configuration rbac: create: true # Pod Security Context # ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ podSecurityContext: runAsNonRoot: true seccompProfile: type: RuntimeDefault # Container Security Context to be set on the controller component container # ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ containerSecurityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL privileged: false readOnlyRootFilesystem: false runAsNonRoot: true