A Helm chart that sets up Kubecost, Prometheus, and Grafana to monitor cloud costs.
- Kubernetes Cluster deployed
- Kubernetes config installed in
~/.kube/config
- Helm installed
Install Helm
https://helm.sh/docs/intro/install/
- Clone down the repository
- cd into directory
helm install cost-analyzer chart/
Key | Type | Default | Description |
---|---|---|---|
affinity | object | {} |
|
awsstore.annotations | object | {} |
|
awsstore.createServiceAccount | bool | false |
|
awsstore.imageNameAndVersion | string | "" |
|
awsstore.nodeSelector | object | {} |
|
awsstore.priorityClassName | string | "" |
|
awsstore.useAwsStore | bool | false |
|
clusterController.actionConfigs.clusterRightsize | string | nil |
|
clusterController.actionConfigs.clusterTurndown | list | [] |
|
clusterController.actionConfigs.containerRightsize | string | nil |
|
clusterController.actionConfigs.namespaceTurndown | string | nil |
|
clusterController.enabled | bool | false |
|
clusterController.image.repository | string | "" |
|
clusterController.image.tag | string | "" |
|
clusterController.imagePullPolicy | string | "IfNotPresent" |
|
clusterController.kubescaler.defaultResizeAll | bool | false |
|
clusterController.namespaceTurndown.rbac.enabled | bool | true |
|
clusterController.priorityClassName | string | "" |
|
clusterController.resources | object | {} |
|
clusterController.tolerations | list | [] |
|
costEventsAudit.enabled | bool | false |
|
diagnostics.collectHelmValues | bool | false |
|
diagnostics.deployment.affinity | object | {} |
|
diagnostics.deployment.containerSecurityContext | object | {} |
|
diagnostics.deployment.enabled | bool | false |
|
diagnostics.deployment.env | object | {} |
|
diagnostics.deployment.labels | object | {} |
|
diagnostics.deployment.nodeSelector | object | {} |
|
diagnostics.deployment.resources.requests.cpu | string | "10m" |
|
diagnostics.deployment.resources.requests.memory | string | "20Mi" |
|
diagnostics.deployment.securityContext | object | {} |
|
diagnostics.deployment.tolerations | list | [] |
|
diagnostics.enabled | bool | true |
|
diagnostics.keepDiagnosticHistory | bool | false |
|
diagnostics.pollingInterval | string | "300s" |
|
diagnostics.primary.enabled | bool | false |
|
diagnostics.primary.readonly | bool | false |
|
diagnostics.primary.retention | string | "7d" |
|
etlUtils.affinity | object | {} |
|
etlUtils.enabled | bool | false |
|
etlUtils.env | object | {} |
|
etlUtils.fullImageName | string | nil |
|
etlUtils.nodeSelector | object | {} |
|
etlUtils.resources | object | {} |
|
etlUtils.tolerations | list | [] |
|
extraObjects | list | [] |
Array of extra K8s manifests to deploy # Note: Supports use of custom Helm templates |
extraVolumeMounts | list | [] |
|
extraVolumes | list | [] |
|
federatedETL.agentOnly | bool | false |
|
federatedETL.federatedCluster | bool | false |
|
federatedETL.readOnlyPrimary | bool | false |
|
federatedETL.redirectS3Backup | bool | false |
|
federatedETL.useMultiClusterDB | bool | false |
|
forecasting.affinity | object | {} |
|
forecasting.enabled | bool | true |
|
forecasting.env.GUNICORN_CMD_ARGS | string | "--log-level info -t 1200" |
|
forecasting.fullImageName | string | "registry1.dso.mil/ironbank/kubecost/kubecost-modeling:v0.1.17" |
|
forecasting.imagePullPolicy | string | "IfNotPresent" |
|
forecasting.livenessProbe.enabled | bool | true |
|
forecasting.livenessProbe.failureThreshold | int | 200 |
|
forecasting.livenessProbe.initialDelaySeconds | int | 10 |
|
forecasting.livenessProbe.periodSeconds | int | 10 |
|
forecasting.nodeSelector | object | {} |
|
forecasting.priority.enabled | bool | false |
|
forecasting.priority.name | string | "" |
|
forecasting.readinessProbe.enabled | bool | true |
|
forecasting.readinessProbe.failureThreshold | int | 200 |
|
forecasting.readinessProbe.initialDelaySeconds | int | 10 |
|
forecasting.readinessProbe.periodSeconds | int | 10 |
|
forecasting.resources.limits.cpu | string | "1500m" |
|
forecasting.resources.limits.memory | string | "1Gi" |
|
forecasting.resources.requests.cpu | string | "200m" |
|
forecasting.resources.requests.memory | string | "300Mi" |
|
forecasting.tolerations | list | [] |
|
global.additionalLabels | object | {} |
|
global.ammsp.aadAuthProxy.aadClientId | string | "$<AZURE_MANAGED_IDENTITY_CLIENT_ID>" |
|
global.ammsp.aadAuthProxy.aadTenantId | string | "$<AZURE_MANAGED_IDENTITY_TENANT_ID>" |
|
global.ammsp.aadAuthProxy.audience | string | "" |
|
global.ammsp.aadAuthProxy.enabled | bool | false |
|
global.ammsp.aadAuthProxy.identityType | string | "userAssigned" |
|
global.ammsp.aadAuthProxy.image | string | "$<IMAGE>" |
|
global.ammsp.aadAuthProxy.imagePullPolicy | string | "IfNotPresent" |
|
global.ammsp.aadAuthProxy.name | string | "aad-auth-proxy" |
|
global.ammsp.aadAuthProxy.port | int | 8081 |
|
global.ammsp.enabled | bool | false |
|
global.ammsp.prometheusServerEndpoint | string | "http://localhost:8081/" |
|
global.ammsp.queryEndpoint | string | "$<AMMSP_QUERY_ENDPOINT>" |
|
global.ammsp.remoteWriteService | string | "$<AMMSP_METRICS_INGESTION_ENDPOINT>" |
|
global.amp.enabled | bool | false |
|
global.amp.prometheusServerEndpoint | string | "http://localhost:8005/workspaces/<workspaceId>/" |
|
global.amp.remoteWriteService | string | "https://aps-workspaces.us-west-2.amazonaws.com/workspaces/<workspaceId>/api/v1/remote_write" |
|
global.amp.sigv4.region | string | "us-west-2" |
|
global.assetReports.enabled | bool | false |
|
global.assetReports.reports[0].accumulate | bool | false |
|
global.assetReports.reports[0].aggregateBy | string | "type" |
|
global.assetReports.reports[0].filters[0].property | string | "cluster" |
|
global.assetReports.reports[0].filters[0].value | string | "cluster-one" |
|
global.assetReports.reports[0].title | string | "Example Asset Report 0" |
|
global.assetReports.reports[0].window | string | "today" |
|
global.cloudCostReports.enabled | bool | false |
|
global.cloudCostReports.reports[0].accumulate | bool | false |
|
global.cloudCostReports.reports[0].aggregateBy | string | "service" |
|
global.cloudCostReports.reports[0].title | string | "Cloud Cost Report 0" |
|
global.cloudCostReports.reports[0].window | string | "today" |
|
global.containerSecurityContext.allowPrivilegeEscalation | bool | false |
|
global.containerSecurityContext.capabilities.drop[0] | string | "ALL" |
|
global.containerSecurityContext.privileged | bool | false |
|
global.containerSecurityContext.readOnlyRootFilesystem | bool | true |
|
global.gcpstore.enabled | bool | false |
|
global.gmp.enabled | bool | false |
set prometheus.server.image.tag="v2.35.0-gmp.2-gke.0" |
global.gmp.gmpProxy.enabled | bool | false |
|
global.gmp.gmpProxy.image | string | "" |
|
global.gmp.gmpProxy.imagePullPolicy | string | "IfNotPresent" |
|
global.gmp.gmpProxy.name | string | "gmp-proxy" |
|
global.gmp.gmpProxy.port | int | 8085 |
|
global.gmp.gmpProxy.projectId | string | "YOUR_PROJECT_ID" |
|
global.gmp.prometheusServerEndpoint | string | "http://localhost:8085/" |
|
global.grafana.domainName | string | "cost-analyzer-grafana.default.svc" |
|
global.grafana.enabled | bool | true |
|
global.grafana.proxy | bool | true |
|
global.grafana.scheme | string | "http" |
|
global.integrations.postgres.databaseHost | string | "" |
|
global.integrations.postgres.databaseName | string | "" |
|
global.integrations.postgres.databasePassword | string | "" |
|
global.integrations.postgres.databasePort | string | "" |
|
global.integrations.postgres.databaseSecretName | string | "" |
|
global.integrations.postgres.databaseUser | string | "" |
|
global.integrations.postgres.enabled | bool | false |
|
global.integrations.postgres.queryConfigs.allocations | list | [] |
|
global.integrations.postgres.queryConfigs.assets | list | [] |
|
global.integrations.postgres.queryConfigs.cloudCosts | list | [] |
|
global.integrations.postgres.runInterval | string | "12h" |
|
global.mimirProxy.enabled | bool | false |
|
global.mimirProxy.image | string | "" |
|
global.mimirProxy.mimirEndpoint | string | "$mimir_endpoint" |
|
global.mimirProxy.name | string | "mimir-proxy" |
|
global.mimirProxy.orgIdentifier | string | "$your_tenant_ID" |
|
global.mimirProxy.port | int | 8085 |
|
global.notifications.alertmanager.enabled | bool | false |
|
global.notifications.alertmanager.fqdn | string | "http://cost-analyzer-prometheus-server.default.svc" |
|
global.platforms.cicd.enabled | bool | false |
|
global.platforms.cicd.skipSanityChecks | bool | false |
|
global.platforms.openshift.enabled | bool | false |
|
global.platforms.openshift.route.annotations | object | {} |
|
global.platforms.openshift.route.enabled | bool | false |
|
global.platforms.openshift.scc.networkCosts | bool | false |
|
global.platforms.openshift.scc.nodeExporter | bool | false |
|
global.platforms.openshift.securityContext.runAsNonRoot | bool | true |
|
global.platforms.openshift.securityContext.seccompProfile.type | string | "RuntimeDefault" |
|
global.podAnnotations | object | {} |
|
global.prometheus.enabled | bool | true |
|
global.prometheus.fqdn | string | "http://cost-analyzer-prometheus-server.default.svc" |
|
global.savedReports.enabled | bool | false |
|
global.savedReports.reports[0].accumulate | bool | false |
|
global.savedReports.reports[0].aggregateBy | string | "namespace" |
|
global.savedReports.reports[0].chartDisplay | string | "category" |
|
global.savedReports.reports[0].filters[0].key | string | "cluster" |
|
global.savedReports.reports[0].filters[0].operator | string | ":" |
|
global.savedReports.reports[0].filters[0].value | string | "dev" |
|
global.savedReports.reports[0].idle | string | "separate" |
|
global.savedReports.reports[0].rate | string | "cumulative" |
|
global.savedReports.reports[0].title | string | "Example Saved Report 0" |
|
global.savedReports.reports[0].window | string | "today" |
|
global.savedReports.reports[1].accumulate | bool | false |
|
global.savedReports.reports[1].aggregateBy | string | "controllerKind" |
|
global.savedReports.reports[1].chartDisplay | string | "category" |
|
global.savedReports.reports[1].filters[0].key | string | "namespace" |
|
global.savedReports.reports[1].filters[0].operator | string | "!:" |
|
global.savedReports.reports[1].filters[0].value | string | "kubecost" |
|
global.savedReports.reports[1].idle | string | "share" |
|
global.savedReports.reports[1].rate | string | "monthly" |
|
global.savedReports.reports[1].title | string | "Example Saved Report 1" |
|
global.savedReports.reports[1].window | string | "month" |
|
global.savedReports.reports[2].accumulate | bool | true |
|
global.savedReports.reports[2].aggregateBy | string | "service" |
|
global.savedReports.reports[2].chartDisplay | string | "category" |
|
global.savedReports.reports[2].filters | list | [] |
|
global.savedReports.reports[2].idle | string | "hide" |
|
global.savedReports.reports[2].rate | string | "daily" |
|
global.savedReports.reports[2].title | string | "Example Saved Report 2" |
|
global.savedReports.reports[2].window | string | "2020-11-11T00:00:00Z,2020-12-09T23:59:59Z" |
|
global.securityContext.fsGroup | int | 1001 |
|
global.securityContext.fsGroupChangePolicy | string | "OnRootMismatch" |
|
global.securityContext.runAsGroup | int | 1001 |
|
global.securityContext.runAsNonRoot | bool | true |
|
global.securityContext.runAsUser | int | 1001 |
|
global.securityContext.seccompProfile.type | string | "RuntimeDefault" |
|
grafana."grafana.ini"."auth.anonymous".enabled | bool | true |
|
grafana."grafana.ini"."auth.anonymous".org_name | string | "Main Org." |
|
grafana."grafana.ini"."auth.anonymous".org_role | string | "Editor" |
|
grafana."grafana.ini".analytics.check_for_updates | bool | true |
|
grafana."grafana.ini".grafana_net.url | string | "https://grafana.net" |
|
grafana."grafana.ini".log.mode | string | "console" |
|
grafana."grafana.ini".paths.data | string | "/var/lib/grafana/data" |
|
grafana."grafana.ini".paths.logs | string | "/var/log/grafana" |
|
grafana."grafana.ini".paths.plugins | string | "/var/lib/grafana/plugins" |
|
grafana."grafana.ini".paths.provisioning | string | "/etc/grafana/provisioning" |
|
grafana."grafana.ini".server.root_url | string | "%(protocol)s://%(domain)s:%(http_port)s/grafana" |
|
grafana."grafana.ini".server.serve_from_sub_path | bool | false |
|
grafana.adminPassword | string | "strongpassword" |
|
grafana.adminUser | string | "admin" |
|
grafana.affinity | object | {} |
|
grafana.annotations | object | {} |
|
grafana.dashboardProviders | object | {} |
|
grafana.dashboards | object | {} |
|
grafana.dashboardsConfigMaps | object | {} |
|
grafana.deploymentStrategy | string | "RollingUpdate" |
|
grafana.downloadDashboardsImage.pullPolicy | string | "IfNotPresent" |
|
grafana.downloadDashboardsImage.repository | string | "registry1.dso.mil/ironbank/big-bang/base" |
|
grafana.downloadDashboardsImage.tag | string | "2.1.0" |
|
grafana.env | object | {} |
|
grafana.envFromSecret | string | "" |
|
grafana.extraSecretMounts | list | [] |
|
grafana.image.pullPolicy | string | "IfNotPresent" |
|
grafana.image.repository | string | "registry1.dso.mil/ironbank/opensource/grafana/grafana" |
|
grafana.image.tag | string | "latest" |
|
grafana.ingress.annotations | object | {} |
|
grafana.ingress.enabled | bool | false |
|
grafana.ingress.hosts[0] | string | "chart-example.local" |
|
grafana.ingress.labels | object | {} |
|
grafana.ingress.path | string | "/" |
|
grafana.ingress.pathType | string | "Prefix" |
|
grafana.ingress.tls | list | [] |
|
grafana.ldap.config | string | "" |
|
grafana.ldap.existingSecret | string | "" |
|
grafana.livenessProbe.failureThreshold | int | 10 |
|
grafana.livenessProbe.httpGet.path | string | "/api/health" |
|
grafana.livenessProbe.httpGet.port | int | 3000 |
|
grafana.livenessProbe.initialDelaySeconds | int | 60 |
|
grafana.livenessProbe.timeoutSeconds | int | 30 |
|
grafana.nodeSelector | object | {} |
|
grafana.persistence.enabled | bool | false |
|
grafana.plugins | list | [] |
|
grafana.podAnnotations | object | {} |
|
grafana.priorityClassName | string | "" |
|
grafana.rbac.create | bool | true |
|
grafana.readinessProbe.httpGet.path | string | "/api/health" |
|
grafana.readinessProbe.httpGet.port | int | 3000 |
|
grafana.replicas | int | 1 |
|
grafana.resources | object | {} |
|
grafana.securityContext | object | {} |
|
grafana.service.annotations | object | {} |
|
grafana.service.labels | object | {} |
|
grafana.service.port | int | 80 |
|
grafana.service.type | string | "ClusterIP" |
|
grafana.serviceAccount.create | bool | true |
|
grafana.serviceAccount.name | string | "" |
|
grafana.sidecar.dashboards.annotations | object | {} |
|
grafana.sidecar.dashboards.enabled | bool | true |
|
grafana.sidecar.dashboards.error_throttle_sleep | int | 0 |
|
grafana.sidecar.dashboards.folder | string | "/tmp/dashboards" |
|
grafana.sidecar.dashboards.label | string | "grafana_dashboard" |
|
grafana.sidecar.dashboards.labelValue | string | "1" |
|
grafana.sidecar.datasources.enabled | bool | false |
|
grafana.sidecar.datasources.error_throttle_sleep | int | 0 |
|
grafana.sidecar.datasources.label | string | "grafana_datasource" |
|
grafana.sidecar.image.pullPolicy | string | "IfNotPresent" |
|
grafana.sidecar.image.repository | string | "registry1.dso.mil/ironbank/kiwigrid/k8s-sidecar" |
|
grafana.sidecar.image.tag | string | "latest" |
|
grafana.sidecar.resources | object | {} |
|
grafana.smtp.existingSecret | string | "" |
|
grafana.tolerations | list | [] |
|
ingress.annotations | string | nil |
|
ingress.enabled | bool | false |
|
ingress.hosts[0] | string | "cost-analyzer.local" |
|
ingress.labels | string | nil |
|
ingress.pathType | string | "ImplementationSpecific" |
|
ingress.paths[0] | string | "/" |
|
ingress.tls | list | [] |
|
initChownData.resources | object | {} |
|
initChownDataImage | string | "registry1.dso.mil/ironbank/opensource/alpinelinux/alpine:3.20.0" |
|
istio.enabled | bool | false |
|
kubecostAdmissionController.caBundle | string | "${CA_BUNDLE}" |
|
kubecostAdmissionController.enabled | bool | false |
|
kubecostAdmissionController.secretName | string | "webhook-server-tls" |
|
kubecostAggregator.aggregatorDbStorage.storageClass | string | "" |
|
kubecostAggregator.aggregatorDbStorage.storageRequest | string | "128Gi" |
|
kubecostAggregator.cloudCost.readinessProbe.enabled | bool | true |
|
kubecostAggregator.cloudCost.readinessProbe.failureThreshold | int | 200 |
|
kubecostAggregator.cloudCost.readinessProbe.initialDelaySeconds | int | 10 |
|
kubecostAggregator.cloudCost.readinessProbe.periodSeconds | int | 10 |
|
kubecostAggregator.cloudCost.resources | object | {} |
|
kubecostAggregator.containerResourceUsageRetentionDays | int | 1 |
|
kubecostAggregator.dbConcurrentIngestionCount | int | 1 |
|
kubecostAggregator.dbMemoryLimit | string | "0GB" |
|
kubecostAggregator.dbReadThreads | int | 1 |
|
kubecostAggregator.dbTrimMemoryOnClose | bool | true |
|
kubecostAggregator.dbWriteMemoryLimit | string | "0GB" |
|
kubecostAggregator.dbWriteThreads | int | 1 |
|
kubecostAggregator.deployMethod | string | "singlepod" |
|
kubecostAggregator.enabled | bool | false |
|
kubecostAggregator.etlDailyStoreDurationDays | int | 91 |
|
kubecostAggregator.etlHourlyStoreDurationHours | int | 49 |
|
kubecostAggregator.imagePullPolicy | string | "IfNotPresent" |
|
kubecostAggregator.jaeger.enabled | bool | false |
|
kubecostAggregator.jaeger.image | string | "registry1.dso.mil/ironbank/opensource/jaegertracing/all-in-one" |
|
kubecostAggregator.jaeger.imageVersion | string | "latest" |
|
kubecostAggregator.logLevel | string | "info" |
|
kubecostAggregator.numDBCopyPartitions | int | 25 |
|
kubecostAggregator.persistentConfigsStorage.storageClass | string | "" |
|
kubecostAggregator.persistentConfigsStorage.storageRequest | string | "1Gi" |
|
kubecostAggregator.readinessProbe.enabled | bool | true |
|
kubecostAggregator.readinessProbe.failureThreshold | int | 200 |
|
kubecostAggregator.readinessProbe.initialDelaySeconds | int | 10 |
|
kubecostAggregator.readinessProbe.periodSeconds | int | 10 |
|
kubecostAggregator.replicas | int | 1 |
|
kubecostAggregator.resources | object | {} |
|
kubecostAggregator.service.labels | object | {} |
|
kubecostAggregator.stagingEmptyDirSizeLimit | string | "2Gi" |
|
kubecostDeployment.annotations | object | {} |
|
kubecostDeployment.labels | object | {} |
|
kubecostDeployment.replicas | int | 1 |
|
kubecostFrontend.deployMethod | string | "singlepod" |
|
kubecostFrontend.deploymentStrategy | object | {} |
|
kubecostFrontend.enabled | bool | true |
|
kubecostFrontend.fullImageName | string | "registry1.dso.mil/ironbank/kubecost/frontend:prod-2.4.2" |
|
kubecostFrontend.haReplicas | int | 2 |
|
kubecostFrontend.image | string | "registry1.dso.mil/ironbank/kubecost/frontend" |
|
kubecostFrontend.imagePullPolicy | string | "IfNotPresent" |
|
kubecostFrontend.ipv6.enabled | bool | true |
|
kubecostFrontend.livenessProbe.enabled | bool | true |
|
kubecostFrontend.livenessProbe.failureThreshold | int | 6 |
|
kubecostFrontend.livenessProbe.initialDelaySeconds | int | 1 |
|
kubecostFrontend.livenessProbe.periodSeconds | int | 5 |
|
kubecostFrontend.readinessProbe.enabled | bool | true |
|
kubecostFrontend.readinessProbe.failureThreshold | int | 6 |
|
kubecostFrontend.readinessProbe.initialDelaySeconds | int | 1 |
|
kubecostFrontend.readinessProbe.periodSeconds | int | 5 |
|
kubecostFrontend.resources.requests.cpu | string | "10m" |
|
kubecostFrontend.resources.requests.memory | string | "55Mi" |
|
kubecostFrontend.useDefaultFqdn | bool | false |
|
kubecostMetrics.exporter.additionalLabels | object | {} |
|
kubecostMetrics.exporter.affinity | object | {} |
|
kubecostMetrics.exporter.enabled | bool | false |
|
kubecostMetrics.exporter.extraArgs | list | [] |
|
kubecostMetrics.exporter.nodeSelector | object | {} |
|
kubecostMetrics.exporter.port | int | 9005 |
|
kubecostMetrics.exporter.priorityClassName | string | "" |
|
kubecostMetrics.exporter.prometheusScrape | bool | true |
|
kubecostMetrics.exporter.resources | object | {} |
|
kubecostMetrics.exporter.service.annotations | object | {} |
|
kubecostMetrics.exporter.serviceMonitor.additionalLabels | object | {} |
|
kubecostMetrics.exporter.serviceMonitor.enabled | bool | false |
|
kubecostMetrics.exporter.serviceMonitor.metricRelabelings | list | [] |
|
kubecostMetrics.exporter.serviceMonitor.relabelings | list | [] |
|
kubecostMetrics.exporter.tolerations | list | [] |
|
kubecostModel.allocation | string | nil |
|
kubecostModel.containerStatsEnabled | bool | true |
|
kubecostModel.etl | bool | true |
|
kubecostModel.etlDailyStoreDurationDays | int | 91 |
|
kubecostModel.etlFileStoreEnabled | bool | true |
|
kubecostModel.etlHourlyStoreDurationHours | int | 49 |
|
kubecostModel.etlReadOnlyMode | bool | false |
|
kubecostModel.extraArgs | list | [] |
|
kubecostModel.extraPorts | list | [] |
|
kubecostModel.fullImageName | string | "registry1.dso.mil/ironbank/kubecost/cost-model:prod-2.4.2" |
|
kubecostModel.image | string | "gcr.io/kubecost1/cost-model" |
|
kubecostModel.imagePullPolicy | string | "IfNotPresent" |
|
kubecostModel.ingress.annotations | string | nil |
|
kubecostModel.ingress.enabled | bool | false |
|
kubecostModel.ingress.hosts[0] | string | "cost-analyzer-model.local" |
|
kubecostModel.ingress.labels | string | nil |
|
kubecostModel.ingress.pathType | string | "ImplementationSpecific" |
|
kubecostModel.ingress.paths[0] | string | "/" |
|
kubecostModel.ingress.tls | list | [] |
|
kubecostModel.livenessProbe.enabled | bool | true |
|
kubecostModel.livenessProbe.failureThreshold | int | 200 |
|
kubecostModel.livenessProbe.initialDelaySeconds | int | 10 |
|
kubecostModel.livenessProbe.periodSeconds | int | 10 |
|
kubecostModel.maxQueryConcurrency | int | 5 |
|
kubecostModel.plugins.enabled | bool | false |
|
kubecostModel.plugins.enabledPlugins | list | [] |
|
kubecostModel.plugins.existingCustomSecret.enabled | bool | false |
|
kubecostModel.plugins.existingCustomSecret.name | string | "" |
|
kubecostModel.plugins.folder | string | "/opt/opencost/plugin" |
|
kubecostModel.plugins.install.enabled | bool | false |
|
kubecostModel.plugins.install.fullImageName | string | "registry1.dso.mil/ironbank/big-bang/base:2.1.0" |
|
kubecostModel.plugins.install.securityContext.allowPrivilegeEscalation | bool | false |
|
kubecostModel.plugins.install.securityContext.capabilities.drop[0] | string | "ALL" |
|
kubecostModel.plugins.install.securityContext.readOnlyRootFilesystem | bool | true |
|
kubecostModel.plugins.install.securityContext.runAsNonRoot | bool | true |
|
kubecostModel.plugins.install.securityContext.runAsUser | int | 1001 |
|
kubecostModel.plugins.install.securityContext.seccompProfile.type | string | "RuntimeDefault" |
|
kubecostModel.plugins.secretName | string | "kubecost-plugin-secret" |
|
kubecostModel.readinessProbe.enabled | bool | true |
|
kubecostModel.readinessProbe.failureThreshold | int | 200 |
|
kubecostModel.readinessProbe.initialDelaySeconds | int | 10 |
|
kubecostModel.readinessProbe.periodSeconds | int | 10 |
|
kubecostModel.resources.requests.cpu | string | "200m" |
|
kubecostModel.resources.requests.memory | string | "55Mi" |
|
kubecostModel.utcOffset | string | "+00:00" |
|
kubecostModel.warmCache | bool | false |
|
kubecostToken | string | nil |
|
networkCosts.additionalLabels | object | {} |
|
networkCosts.additionalSecurityContext | object | {} |
|
networkCosts.affinity | object | {} |
|
networkCosts.annotations | object | {} |
|
networkCosts.config.destinations.cross-region | list | [] |
|
networkCosts.config.destinations.direct-classification | list | [] |
|
networkCosts.config.destinations.in-region | list | [] |
|
networkCosts.config.destinations.in-zone[0] | string | "127.0.0.0/8" |
|
networkCosts.config.destinations.in-zone[1] | string | "169.254.0.0/16" |
|
networkCosts.config.destinations.in-zone[2] | string | "10.0.0.0/8" |
|
networkCosts.config.destinations.in-zone[3] | string | "172.16.0.0/12" |
|
networkCosts.config.destinations.in-zone[4] | string | "192.168.0.0/16" |
|
networkCosts.config.destinations.internet | list | [] |
|
networkCosts.config.services.amazon-web-services | bool | true |
|
networkCosts.config.services.azure-cloud-services | bool | true |
|
networkCosts.config.services.google-cloud-services | bool | true |
|
networkCosts.enabled | bool | false |
|
networkCosts.extraArgs | list | [] |
|
networkCosts.healthCheckProbes | object | {} |
|
networkCosts.image.repository | string | "registry1.dso.mil/ironbank/kubecost/kubecost-network-costs" |
|
networkCosts.image.tag | string | "v0.17.6" |
|
networkCosts.imagePullPolicy | string | "IfNotPresent" |
|
networkCosts.logLevel | string | "info" |
|
networkCosts.nodeSelector | object | {} |
|
networkCosts.podMonitor.additionalLabels | object | {} |
|
networkCosts.podMonitor.enabled | bool | false |
|
networkCosts.port | int | 3001 |
|
networkCosts.priorityClassName | string | "" |
|
networkCosts.prometheusScrape | bool | false |
|
networkCosts.resources.limits.cpu | string | "500m" |
|
networkCosts.resources.requests.cpu | string | "50m" |
|
networkCosts.resources.requests.memory | string | "20Mi" |
|
networkCosts.service.annotations | object | {} |
|
networkCosts.service.labels | object | {} |
|
networkCosts.tolerations | list | [] |
|
networkCosts.trafficLogging | bool | true |
|
networkCosts.updateStrategy.type | string | "RollingUpdate" |
|
networkPolicy.costAnalyzer.additionalLabels | object | {} |
|
networkPolicy.costAnalyzer.annotations | object | {} |
|
networkPolicy.costAnalyzer.enabled | bool | false |
|
networkPolicy.denyEgress | bool | true |
|
networkPolicy.enabled | bool | false |
|
networkPolicy.sameNamespace | bool | true |
|
nodeSelector | object | {} |
|
oidc.clientID | string | "" |
|
oidc.clientSecret | string | "" |
|
oidc.enabled | bool | false |
|
oidc.existingCustomSecret.enabled | bool | false |
|
oidc.existingCustomSecret.name | string | "" |
|
oidc.rbac.enabled | bool | false |
|
oidc.skipOnlineTokenValidation | bool | false |
|
oidc.useClientSecretPost | bool | false |
|
persistentVolume.annotations | object | {} |
|
persistentVolume.dbPVEnabled | bool | false |
|
persistentVolume.dbSize | string | "32.0Gi" |
|
persistentVolume.enabled | bool | true |
|
persistentVolume.labels | object | {} |
|
persistentVolume.size | string | "32Gi" |
|
pricingCsv.enabled | bool | false |
|
pricingCsv.location.URI | string | "s3://kc-csv-test/pricing_schema.csv" |
|
pricingCsv.location.csvAccessCredentials | string | "pricing-schema-access-secret" |
|
pricingCsv.location.provider | string | "AWS" |
|
pricingCsv.location.region | string | "us-east-1" |
|
priority.enabled | bool | false |
|
priority.name | string | "" |
|
prometheus.alertRelabelConfigs | string | nil |
|
prometheus.alertmanager.affinity | object | {} |
|
prometheus.alertmanager.baseURL | string | "http://localhost:9093" |
|
prometheus.alertmanager.configFileName | string | "alertmanager.yml" |
|
prometheus.alertmanager.configFromSecret | string | "" |
|
prometheus.alertmanager.configMapOverrideName | string | "" |
|
prometheus.alertmanager.enabled | bool | false |
|
prometheus.alertmanager.extraArgs | object | {} |
|
prometheus.alertmanager.extraEnv | object | {} |
|
prometheus.alertmanager.extraSecretMounts | list | [] |
|
prometheus.alertmanager.image.pullPolicy | string | "IfNotPresent" |
|
prometheus.alertmanager.image.repository | string | "registry1.dso.mil/ironbank/opensource/prometheus/alertmanager" |
|
prometheus.alertmanager.image.tag | string | "latest" |
|
prometheus.alertmanager.ingress.annotations | object | {} |
|
prometheus.alertmanager.ingress.enabled | bool | false |
|
prometheus.alertmanager.ingress.extraLabels | object | {} |
|
prometheus.alertmanager.ingress.extraPaths | list | [] |
|
prometheus.alertmanager.ingress.hosts | list | [] |
|
prometheus.alertmanager.ingress.tls | list | [] |
|
prometheus.alertmanager.name | string | "alertmanager" |
|
prometheus.alertmanager.nodeSelector | object | {} |
|
prometheus.alertmanager.persistentVolume.accessModes[0] | string | "ReadWriteOnce" |
|
prometheus.alertmanager.persistentVolume.annotations | object | {} |
|
prometheus.alertmanager.persistentVolume.enabled | bool | true |
|
prometheus.alertmanager.persistentVolume.existingClaim | string | "" |
|
prometheus.alertmanager.persistentVolume.mountPath | string | "/data" |
|
prometheus.alertmanager.persistentVolume.size | string | "2Gi" |
|
prometheus.alertmanager.persistentVolume.subPath | string | "" |
|
prometheus.alertmanager.podAnnotations | object | {} |
|
prometheus.alertmanager.podDisruptionBudget.enabled | bool | false |
|
prometheus.alertmanager.podDisruptionBudget.maxUnavailable | int | 1 |
|
prometheus.alertmanager.podLabels | object | {} |
|
prometheus.alertmanager.prefixURL | string | "" |
|
prometheus.alertmanager.priorityClassName | string | "" |
|
prometheus.alertmanager.replicaCount | int | 1 |
|
prometheus.alertmanager.resources | object | {} |
|
prometheus.alertmanager.securityContext.fsGroup | int | 1001 |
|
prometheus.alertmanager.securityContext.runAsGroup | int | 1001 |
|
prometheus.alertmanager.securityContext.runAsNonRoot | bool | true |
|
prometheus.alertmanager.securityContext.runAsUser | int | 1001 |
|
prometheus.alertmanager.service.annotations | object | {} |
|
prometheus.alertmanager.service.clusterIP | string | "" |
|
prometheus.alertmanager.service.externalIPs | list | [] |
|
prometheus.alertmanager.service.labels | object | {} |
|
prometheus.alertmanager.service.loadBalancerIP | string | "" |
|
prometheus.alertmanager.service.loadBalancerSourceRanges | list | [] |
|
prometheus.alertmanager.service.servicePort | int | 80 |
|
prometheus.alertmanager.service.sessionAffinity | string | "None" |
|
prometheus.alertmanager.service.type | string | "ClusterIP" |
|
prometheus.alertmanager.statefulSet.enabled | bool | false |
|
prometheus.alertmanager.statefulSet.headless.annotations | object | {} |
|
prometheus.alertmanager.statefulSet.headless.labels | object | {} |
|
prometheus.alertmanager.statefulSet.headless.servicePort | int | 80 |
|
prometheus.alertmanager.statefulSet.podManagementPolicy | string | "OrderedReady" |
|
prometheus.alertmanager.strategy.rollingUpdate | string | nil |
|
prometheus.alertmanager.strategy.type | string | "Recreate" |
|
prometheus.alertmanager.tolerations | list | [] |
|
prometheus.alertmanagerFiles."alertmanager.yml".global | object | {} |
|
prometheus.alertmanagerFiles."alertmanager.yml".receivers[0].name | string | "default-receiver" |
|
prometheus.alertmanagerFiles."alertmanager.yml".route.group_interval | string | "5m" |
|
prometheus.alertmanagerFiles."alertmanager.yml".route.group_wait | string | "10s" |
|
prometheus.alertmanagerFiles."alertmanager.yml".route.receiver | string | "default-receiver" |
|
prometheus.alertmanagerFiles."alertmanager.yml".route.repeat_interval | string | "3h" |
|
prometheus.configmapReload.alertmanager.enabled | bool | false |
|
prometheus.configmapReload.alertmanager.extraArgs | object | {} |
|
prometheus.configmapReload.alertmanager.extraConfigmapMounts | list | [] |
|
prometheus.configmapReload.alertmanager.extraVolumeDirs | list | [] |
|
prometheus.configmapReload.alertmanager.image.pullPolicy | string | "IfNotPresent" |
|
prometheus.configmapReload.alertmanager.image.repository | string | "registry1.dso.mil/ironbank/opensource/prometheus-operator/prometheus-config-reloader" |
|
prometheus.configmapReload.alertmanager.image.tag | string | "latest" |
|
prometheus.configmapReload.alertmanager.name | string | "configmap-reload" |
|
prometheus.configmapReload.alertmanager.resources | object | {} |
|
prometheus.configmapReload.prometheus.containerSecurityContext | object | {} |
|
prometheus.configmapReload.prometheus.enabled | bool | false |
|
prometheus.configmapReload.prometheus.extraArgs | object | {} |
|
prometheus.configmapReload.prometheus.extraConfigmapMounts | list | [] |
|
prometheus.configmapReload.prometheus.extraVolumeDirs | list | [] |
|
prometheus.configmapReload.prometheus.image.pullPolicy | string | "IfNotPresent" |
|
prometheus.configmapReload.prometheus.image.repository | string | "registry1.dso.mil/ironbank/opensource/prometheus-operator/prometheus-config-reloader" |
|
prometheus.configmapReload.prometheus.image.tag | string | "latest" |
|
prometheus.configmapReload.prometheus.name | string | "configmap-reload" |
|
prometheus.configmapReload.prometheus.resources | object | {} |
|
prometheus.extraScrapeConfigs | string | `"- job_name: kubecost\n honor_labels: true\n scrape_interval: 1m\n scrape_timeout: 60s\n metrics_path: /metrics\n scheme: http\n dns_sd_configs:\n - names:\n - {{ template "cost-analyzer.serviceName" . }}\n type: 'A'\n port: 9003\n- job_name: kubecost-networking\n kubernetes_sd_configs:\n - role: pod\n relabel_configs:\n # Scrape only the the targets matching the following metadata\n - source_labels: [__meta_kubernetes_pod_label_app_kubernetes_io_instance]\n action: keep\n regex: kubecost\n - source_labels: [__meta_kubernetes_pod_label_app_kubernetes_io_name]\n action: keep\n regex: network-costs\n- job_name: kubecost-aggregator\n scrape_interval: 1m\n scrape_timeout: 60s\n metrics_path: /metrics\n scheme: http\n dns_sd_configs:\n - names:\n - {{ template "aggregator.serviceName" . }}\n type: 'A'\n {{- if or .Values.saml.enabled .Values.oidc.enabled }}\n port: 9008\n {{- else }}\n port: 9004\n {{- end }}\n## Enables scraping of NVIDIA GPU metrics via dcgm-exporter. Scrapes all\n## endpoints which contain "dcgm-exporter" in labels "app",\n## "app.kubernetes.io/component", or "app.kubernetes.io/name" with a case\n## insensitive match.\n## Refs:\n## https://github.com/NVIDIA/gpu-operator/blob/d4316a415bbd684ce8416a88042305fc1a093aa4/assets/state-dcgm-exporter/0600_service.yaml#L7\n## https://github.com/NVIDIA/dcgm-exporter/blob/54fd1ca137c66511a87a720390613680b9bdabdd/deployment/templates/service.yaml#L23\n- job_name: kubecost-dcgm-exporter\n kubernetes_sd_configs:\n - role: endpoints\n relabel_configs:\n - source_labels: [__meta_kubernetes_pod_label_app, __meta_kubernetes_pod_label_app_kubernetes_io_component, __meta_kubernetes_pod_label_app_kubernetes_io_name]\n action: keep\n regex: (?i)(.dcgm-exporter. | .dcgm-exporter. |
prometheus.imagePullSecrets | string | nil |
|
prometheus.networkPolicy.enabled | bool | false |
|
prometheus.nodeExporter.deploymentAnnotations | object | {} |
|
prometheus.nodeExporter.dnsPolicy | string | "ClusterFirstWithHostNet" |
|
prometheus.nodeExporter.enabled | bool | false |
|
prometheus.nodeExporter.extraArgs | object | {} |
|
prometheus.nodeExporter.extraConfigmapMounts | list | [] |
|
prometheus.nodeExporter.extraHostPathMounts | list | [] |
|
prometheus.nodeExporter.hostNetwork | bool | true |
|
prometheus.nodeExporter.hostPID | bool | true |
|
prometheus.nodeExporter.image.pullPolicy | string | "IfNotPresent" |
|
prometheus.nodeExporter.image.repository | string | "registry1.dso.mil/ironbank/opensource/prometheus/node-exporter" |
|
prometheus.nodeExporter.image.tag | string | "v1.8.2" |
|
prometheus.nodeExporter.name | string | "node-exporter" |
|
prometheus.nodeExporter.nodeSelector | object | {} |
|
prometheus.nodeExporter.pod.labels | object | {} |
|
prometheus.nodeExporter.podAnnotations | object | {} |
|
prometheus.nodeExporter.podDisruptionBudget.enabled | bool | false |
|
prometheus.nodeExporter.podDisruptionBudget.maxUnavailable | int | 1 |
|
prometheus.nodeExporter.priorityClassName | string | "" |
|
prometheus.nodeExporter.resources | object | {} |
|
prometheus.nodeExporter.securityContext | object | {} |
|
prometheus.nodeExporter.service.annotations."prometheus.io/scrape" | string | "true" |
|
prometheus.nodeExporter.service.clusterIP | string | "None" |
|
prometheus.nodeExporter.service.externalIPs | list | [] |
|
prometheus.nodeExporter.service.hostPort | int | 9100 |
|
prometheus.nodeExporter.service.labels | object | {} |
|
prometheus.nodeExporter.service.loadBalancerIP | string | "" |
|
prometheus.nodeExporter.service.loadBalancerSourceRanges | list | [] |
|
prometheus.nodeExporter.service.servicePort | int | 9100 |
|
prometheus.nodeExporter.service.type | string | "ClusterIP" |
|
prometheus.nodeExporter.tolerations | list | [] |
|
prometheus.nodeExporter.updateStrategy.type | string | "RollingUpdate" |
|
prometheus.pushgateway.enabled | bool | false |
|
prometheus.pushgateway.extraArgs | object | {} |
|
prometheus.pushgateway.image.pullPolicy | string | "IfNotPresent" |
|
prometheus.pushgateway.image.repository | string | "registry1.dso.mil/ironbank/opensource/prometheus/pushgateway" |
|
prometheus.pushgateway.image.tag | string | "v1.6.2" |
|
prometheus.pushgateway.ingress.annotations | object | {} |
|
prometheus.pushgateway.ingress.enabled | bool | false |
|
prometheus.pushgateway.ingress.extraPaths | list | [] |
|
prometheus.pushgateway.ingress.hosts | list | [] |
|
prometheus.pushgateway.ingress.tls | list | [] |
|
prometheus.pushgateway.name | string | "pushgateway" |
|
prometheus.pushgateway.nodeSelector | object | {} |
|
prometheus.pushgateway.persistentVolume.accessModes[0] | string | "ReadWriteOnce" |
|
prometheus.pushgateway.persistentVolume.annotations | object | {} |
|
prometheus.pushgateway.persistentVolume.enabled | bool | true |
|
prometheus.pushgateway.persistentVolume.existingClaim | string | "" |
|
prometheus.pushgateway.persistentVolume.mountPath | string | "/data" |
|
prometheus.pushgateway.persistentVolume.size | string | "2Gi" |
|
prometheus.pushgateway.persistentVolume.subPath | string | "" |
|
prometheus.pushgateway.podAnnotations | object | {} |
|
prometheus.pushgateway.podDisruptionBudget.enabled | bool | false |
|
prometheus.pushgateway.podDisruptionBudget.maxUnavailable | int | 1 |
|
prometheus.pushgateway.priorityClassName | string | "" |
|
prometheus.pushgateway.replicaCount | int | 1 |
|
prometheus.pushgateway.resources | object | {} |
|
prometheus.pushgateway.securityContext.runAsNonRoot | bool | true |
|
prometheus.pushgateway.securityContext.runAsUser | int | 1001 |
|
prometheus.pushgateway.service.annotations."prometheus.io/probe" | string | "pushgateway" |
|
prometheus.pushgateway.service.clusterIP | string | "" |
|
prometheus.pushgateway.service.externalIPs | list | [] |
|
prometheus.pushgateway.service.labels | object | {} |
|
prometheus.pushgateway.service.loadBalancerIP | string | "" |
|
prometheus.pushgateway.service.loadBalancerSourceRanges | list | [] |
|
prometheus.pushgateway.service.servicePort | int | 9091 |
|
prometheus.pushgateway.service.type | string | "ClusterIP" |
|
prometheus.pushgateway.strategy.rollingUpdate | string | nil |
|
prometheus.pushgateway.strategy.type | string | "Recreate" |
|
prometheus.pushgateway.tolerations | list | [] |
|
prometheus.rbac.create | bool | true |
|
prometheus.server.affinity | object | {} |
|
prometheus.server.alertmanagers | list | [] |
|
prometheus.server.baseURL | string | "" |
|
prometheus.server.configMapOverrideName | string | "" |
|
prometheus.server.configPath | string | "/etc/config/prometheus.yml" |
|
prometheus.server.containerSecurityContext | object | {} |
|
prometheus.server.deploymentAnnotations | object | {} |
|
prometheus.server.emptyDir.sizeLimit | string | "" |
|
prometheus.server.enabled | bool | true |
|
prometheus.server.env | list | [] |
|
prometheus.server.extraArgs."query.max-concurrency" | int | 1 |
|
prometheus.server.extraArgs."query.max-samples" | int | 100000000 |
|
prometheus.server.extraConfigmapMounts | list | [] |
|
prometheus.server.extraFlags[0] | string | "web.enable-lifecycle" |
|
prometheus.server.extraHostPathMounts | list | [] |
|
prometheus.server.extraInitContainers | list | [] |
|
prometheus.server.extraSecretMounts | list | [] |
|
prometheus.server.extraVolumeMounts | list | [] |
|
prometheus.server.extraVolumes | list | [] |
|
prometheus.server.global.evaluation_interval | string | "1m" |
|
prometheus.server.global.external_labels.cluster_id | string | "cluster-one" |
|
prometheus.server.global.scrape_interval | string | "1m" |
|
prometheus.server.global.scrape_timeout | string | "60s" |
|
prometheus.server.image.pullPolicy | string | "IfNotPresent" |
|
prometheus.server.image.repository | string | "registry1.dso.mil/ironbank/opensource/prometheus/prometheus" |
|
prometheus.server.image.tag | string | "latest" |
|
prometheus.server.ingress.annotations | object | {} |
|
prometheus.server.ingress.enabled | bool | false |
|
prometheus.server.ingress.extraLabels | object | {} |
|
prometheus.server.ingress.extraPaths | list | [] |
|
prometheus.server.ingress.hosts | list | [] |
|
prometheus.server.ingress.pathType | string | "Prefix" |
|
prometheus.server.ingress.tls | list | [] |
|
prometheus.server.livenessProbeFailureThreshold | int | 3 |
|
prometheus.server.livenessProbeInitialDelay | int | 5 |
|
prometheus.server.livenessProbeSuccessThreshold | int | 1 |
|
prometheus.server.livenessProbeTimeout | int | 3 |
|
prometheus.server.name | string | "server" |
|
prometheus.server.nodeSelector | object | {} |
|
prometheus.server.persistentVolume.accessModes[0] | string | "ReadWriteOnce" |
|
prometheus.server.persistentVolume.annotations | object | {} |
|
prometheus.server.persistentVolume.enabled | bool | true |
|
prometheus.server.persistentVolume.existingClaim | string | "" |
|
prometheus.server.persistentVolume.mountPath | string | "/data" |
|
prometheus.server.persistentVolume.size | string | "32Gi" |
|
prometheus.server.persistentVolume.subPath | string | "" |
|
prometheus.server.podAnnotations | object | {} |
|
prometheus.server.podDisruptionBudget.enabled | bool | false |
|
prometheus.server.podDisruptionBudget.maxUnavailable | int | 1 |
|
prometheus.server.podLabels | object | {} |
|
prometheus.server.prefixURL | string | "" |
|
prometheus.server.priorityClassName | string | "" |
|
prometheus.server.readinessProbeFailureThreshold | int | 3 |
|
prometheus.server.readinessProbeInitialDelay | int | 5 |
|
prometheus.server.readinessProbeSuccessThreshold | int | 1 |
|
prometheus.server.readinessProbeTimeout | int | 3 |
|
prometheus.server.remoteRead | object | {} |
|
prometheus.server.remoteWrite | object | {} |
|
prometheus.server.replicaCount | int | 1 |
|
prometheus.server.resources | object | {} |
|
prometheus.server.retention | string | "97h" |
|
prometheus.server.securityContext | object | {} |
|
prometheus.server.service.annotations | object | {} |
|
prometheus.server.service.clusterIP | string | "" |
|
prometheus.server.service.externalIPs | list | [] |
|
prometheus.server.service.gRPC.enabled | bool | false |
|
prometheus.server.service.gRPC.servicePort | int | 10901 |
|
prometheus.server.service.labels | object | {} |
|
prometheus.server.service.loadBalancerIP | string | "" |
|
prometheus.server.service.loadBalancerSourceRanges | list | [] |
|
prometheus.server.service.servicePort | int | 80 |
|
prometheus.server.service.sessionAffinity | string | "None" |
|
prometheus.server.service.statefulsetReplica.enabled | bool | false |
|
prometheus.server.service.statefulsetReplica.replica | int | 0 |
|
prometheus.server.service.type | string | "ClusterIP" |
|
prometheus.server.sidecarContainers | string | nil |
|
prometheus.server.statefulSet.annotations | object | {} |
|
prometheus.server.statefulSet.enabled | bool | false |
|
prometheus.server.statefulSet.headless.annotations | object | {} |
|
prometheus.server.statefulSet.headless.labels | object | {} |
|
prometheus.server.statefulSet.headless.servicePort | int | 80 |
|
prometheus.server.statefulSet.labels | object | {} |
|
prometheus.server.statefulSet.podManagementPolicy | string | "OrderedReady" |
|
prometheus.server.strategy.rollingUpdate | string | nil |
|
prometheus.server.strategy.type | string | "Recreate" |
|
prometheus.server.terminationGracePeriodSeconds | int | 300 |
|
prometheus.server.tolerations | list | [] |
|
prometheus.server.verticalAutoscaler.enabled | bool | false |
|
prometheus.serverFiles."alerting_rules.yml" | object | {} |
|
prometheus.serverFiles."prometheus.yml".rule_files[0] | string | "/etc/config/recording_rules.yml" |
|
prometheus.serverFiles."prometheus.yml".rule_files[1] | string | "/etc/config/alerting_rules.yml" |
|
prometheus.serverFiles."prometheus.yml".rule_files[2] | string | "/etc/config/rules" |
|
prometheus.serverFiles."prometheus.yml".rule_files[3] | string | "/etc/config/alerts" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[0].job_name | string | "prometheus" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[0].static_configs[0].targets[0] | string | "localhost:9090" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[1].bearer_token_file | string | "/var/run/secrets/kubernetes.io/serviceaccount/token" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[1].job_name | string | "kubernetes-nodes-cadvisor" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[1].kubernetes_sd_configs[0].role | string | "node" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[1].metric_relabel_configs[0].action | string | "keep" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[1].metric_relabel_configs[0].regex | string | `"(container_cpu_usage_seconds_total | container_memory_working_set_bytes |
prometheus.serverFiles."prometheus.yml".scrape_configs[1].metric_relabel_configs[0].source_labels[0] | string | "__name__" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[1].metric_relabel_configs[1].action | string | "replace" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[1].metric_relabel_configs[1].regex | string | "(.+)" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[1].metric_relabel_configs[1].source_labels[0] | string | "container" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[1].metric_relabel_configs[1].target_label | string | "container_name" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[1].metric_relabel_configs[2].action | string | "replace" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[1].metric_relabel_configs[2].regex | string | "(.+)" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[1].metric_relabel_configs[2].source_labels[0] | string | "pod" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[1].metric_relabel_configs[2].target_label | string | "pod_name" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[1].relabel_configs[0].action | string | "labelmap" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[1].relabel_configs[0].regex | string | "__meta_kubernetes_node_label_(.+)" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[1].relabel_configs[1].replacement | string | "kubernetes.default.svc:443" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[1].relabel_configs[1].target_label | string | "__address__" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[1].relabel_configs[2].regex | string | "(.+)" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[1].relabel_configs[2].replacement | string | "/api/v1/nodes/$1/proxy/metrics/cadvisor" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[1].relabel_configs[2].source_labels[0] | string | "__meta_kubernetes_node_name" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[1].relabel_configs[2].target_label | string | "__metrics_path__" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[1].scheme | string | "https" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[1].tls_config.ca_file | string | "/var/run/secrets/kubernetes.io/serviceaccount/ca.crt" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[1].tls_config.insecure_skip_verify | bool | true |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[2].bearer_token_file | string | "/var/run/secrets/kubernetes.io/serviceaccount/token" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[2].job_name | string | "kubernetes-nodes" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[2].kubernetes_sd_configs[0].role | string | "node" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[2].metric_relabel_configs[0].action | string | "keep" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[2].metric_relabel_configs[0].regex | string | "(kubelet_volume_stats_used_bytes)" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[2].metric_relabel_configs[0].source_labels[0] | string | "__name__" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[2].relabel_configs[0].action | string | "labelmap" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[2].relabel_configs[0].regex | string | "__meta_kubernetes_node_label_(.+)" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[2].relabel_configs[1].replacement | string | "kubernetes.default.svc:443" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[2].relabel_configs[1].target_label | string | "__address__" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[2].relabel_configs[2].regex | string | "(.+)" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[2].relabel_configs[2].replacement | string | "/api/v1/nodes/$1/proxy/metrics" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[2].relabel_configs[2].source_labels[0] | string | "__meta_kubernetes_node_name" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[2].relabel_configs[2].target_label | string | "__metrics_path__" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[2].scheme | string | "https" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[2].tls_config.ca_file | string | "/var/run/secrets/kubernetes.io/serviceaccount/ca.crt" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[2].tls_config.insecure_skip_verify | bool | true |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[3].job_name | string | "kubernetes-service-endpoints" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[3].kubernetes_sd_configs[0].role | string | "endpoints" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[3].metric_relabel_configs[0].action | string | "keep" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[3].metric_relabel_configs[0].regex | string | `"(container_cpu_allocation | container_cpu_usage_seconds_total |
prometheus.serverFiles."prometheus.yml".scrape_configs[3].metric_relabel_configs[0].source_labels[0] | string | "__name__" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[3].relabel_configs[0].action | string | "keep" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[3].relabel_configs[0].regex | bool | true |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[3].relabel_configs[0].source_labels[0] | string | "__meta_kubernetes_service_annotation_prometheus_io_scrape" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[3].relabel_configs[1].action | string | "keep" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[3].relabel_configs[1].regex | string | `"(.*node-exporter | kubecost-network-costs)"` |
prometheus.serverFiles."prometheus.yml".scrape_configs[3].relabel_configs[1].source_labels[0] | string | "__meta_kubernetes_endpoints_name" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[3].relabel_configs[2].action | string | "replace" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[3].relabel_configs[2].regex | string | "(https?)" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[3].relabel_configs[2].source_labels[0] | string | "__meta_kubernetes_service_annotation_prometheus_io_scheme" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[3].relabel_configs[2].target_label | string | "__scheme__" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[3].relabel_configs[3].action | string | "replace" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[3].relabel_configs[3].regex | string | "(.+)" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[3].relabel_configs[3].source_labels[0] | string | "__meta_kubernetes_service_annotation_prometheus_io_path" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[3].relabel_configs[3].target_label | string | "__metrics_path__" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[3].relabel_configs[4].action | string | "replace" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[3].relabel_configs[4].regex | string | "([^:]+)(?::\\d+)?;(\\d+)" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[3].relabel_configs[4].replacement | string | "$1:$2" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[3].relabel_configs[4].source_labels[0] | string | "__address__" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[3].relabel_configs[4].source_labels[1] | string | "__meta_kubernetes_service_annotation_prometheus_io_port" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[3].relabel_configs[4].target_label | string | "__address__" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[3].relabel_configs[5].action | string | "labelmap" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[3].relabel_configs[5].regex | string | "__meta_kubernetes_service_label_(.+)" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[3].relabel_configs[6].action | string | "replace" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[3].relabel_configs[6].source_labels[0] | string | "__meta_kubernetes_namespace" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[3].relabel_configs[6].target_label | string | "kubernetes_namespace" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[3].relabel_configs[7].action | string | "replace" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[3].relabel_configs[7].source_labels[0] | string | "__meta_kubernetes_service_name" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[3].relabel_configs[7].target_label | string | "kubernetes_name" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[3].relabel_configs[8].action | string | "replace" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[3].relabel_configs[8].source_labels[0] | string | "__meta_kubernetes_pod_node_name" |
|
prometheus.serverFiles."prometheus.yml".scrape_configs[3].relabel_configs[8].target_label | string | "kubernetes_node" |
|
prometheus.serverFiles."recording_rules.yml" | object | {} |
|
prometheus.serverFiles.alerts | object | {} |
|
prometheus.serverFiles.rules.groups[0].name | string | "CPU" |
|
prometheus.serverFiles.rules.groups[0].rules[0].expr | string | "sum(rate(container_cpu_usage_seconds_total{container!=\"\"}[5m]))" |
|
prometheus.serverFiles.rules.groups[0].rules[0].record | string | "cluster:cpu_usage:rate5m" |
|
prometheus.serverFiles.rules.groups[0].rules[1].expr | string | "rate(container_cpu_usage_seconds_total{container!=\"\"}[5m])" |
|
prometheus.serverFiles.rules.groups[0].rules[1].record | string | "cluster:cpu_usage_nosum:rate5m" |
|
prometheus.serverFiles.rules.groups[0].rules[2].expr | string | "avg(irate(container_cpu_usage_seconds_total{container!=\"POD\", container!=\"\"}[5m])) by (container,pod,namespace)" |
|
prometheus.serverFiles.rules.groups[0].rules[2].record | string | "kubecost_container_cpu_usage_irate" |
|
prometheus.serverFiles.rules.groups[0].rules[3].expr | string | "sum(container_memory_working_set_bytes{container!=\"POD\",container!=\"\"}) by (container,pod,namespace)" |
|
prometheus.serverFiles.rules.groups[0].rules[3].record | string | "kubecost_container_memory_working_set_bytes" |
|
prometheus.serverFiles.rules.groups[0].rules[4].expr | string | "sum(container_memory_working_set_bytes{container!=\"POD\",container!=\"\"})" |
|
prometheus.serverFiles.rules.groups[0].rules[4].record | string | "kubecost_cluster_memory_working_set_bytes" |
|
prometheus.serverFiles.rules.groups[1].name | string | "Savings" |
|
prometheus.serverFiles.rules.groups[1].rules[0].expr | string | "sum(avg(kube_pod_owner{owner_kind!=\"DaemonSet\"}) by (pod) * sum(container_cpu_allocation) by (pod))" |
|
prometheus.serverFiles.rules.groups[1].rules[0].labels.daemonset | string | "false" |
|
prometheus.serverFiles.rules.groups[1].rules[0].record | string | "kubecost_savings_cpu_allocation" |
|
prometheus.serverFiles.rules.groups[1].rules[1].expr | string | "sum(avg(kube_pod_owner{owner_kind=\"DaemonSet\"}) by (pod) * sum(container_cpu_allocation) by (pod)) / sum(kube_node_info)" |
|
prometheus.serverFiles.rules.groups[1].rules[1].labels.daemonset | string | "true" |
|
prometheus.serverFiles.rules.groups[1].rules[1].record | string | "kubecost_savings_cpu_allocation" |
|
prometheus.serverFiles.rules.groups[1].rules[2].expr | string | "sum(avg(kube_pod_owner{owner_kind!=\"DaemonSet\"}) by (pod) * sum(container_memory_allocation_bytes) by (pod))" |
|
prometheus.serverFiles.rules.groups[1].rules[2].labels.daemonset | string | "false" |
|
prometheus.serverFiles.rules.groups[1].rules[2].record | string | "kubecost_savings_memory_allocation_bytes" |
|
prometheus.serverFiles.rules.groups[1].rules[3].expr | string | "sum(avg(kube_pod_owner{owner_kind=\"DaemonSet\"}) by (pod) * sum(container_memory_allocation_bytes) by (pod)) / sum(kube_node_info)" |
|
prometheus.serverFiles.rules.groups[1].rules[3].labels.daemonset | string | "true" |
|
prometheus.serverFiles.rules.groups[1].rules[3].record | string | "kubecost_savings_memory_allocation_bytes" |
|
prometheus.serviceAccounts.alertmanager.create | bool | true |
|
prometheus.serviceAccounts.alertmanager.name | string | nil |
|
prometheus.serviceAccounts.nodeExporter.create | bool | true |
|
prometheus.serviceAccounts.nodeExporter.name | string | nil |
|
prometheus.serviceAccounts.pushgateway.create | bool | true |
|
prometheus.serviceAccounts.pushgateway.name | string | nil |
|
prometheus.serviceAccounts.server.annotations | object | {} |
|
prometheus.serviceAccounts.server.create | bool | true |
|
prometheus.serviceAccounts.server.name | string | nil |
|
prometheusRule.additionalLabels | object | {} |
|
prometheusRule.enabled | bool | false |
|
reporting.errorReporting | bool | true |
|
reporting.logCollection | bool | true |
|
reporting.productAnalytics | bool | true |
|
reporting.valuesReporting | bool | true |
|
saml.enabled | bool | false |
|
saml.rbac.enabled | bool | false |
|
service.annotations | object | {} |
|
service.labels | object | {} |
|
service.nodePort | object | {} |
|
service.port | int | 9090 |
|
service.sessionAffinity.enabled | bool | false |
|
service.sessionAffinity.timeoutSeconds | int | 10800 |
|
service.targetPort | int | 9090 |
|
service.type | string | "ClusterIP" |
|
serviceAccount.annotations | object | {} |
|
serviceAccount.create | bool | true |
|
serviceMonitor.additionalLabels | object | {} |
|
serviceMonitor.aggregatorMetrics.additionalLabels | object | {} |
|
serviceMonitor.aggregatorMetrics.enabled | bool | false |
|
serviceMonitor.aggregatorMetrics.interval | string | "1m" |
|
serviceMonitor.aggregatorMetrics.metricRelabelings | list | [] |
|
serviceMonitor.aggregatorMetrics.relabelings[0].action | string | "replace" |
|
serviceMonitor.aggregatorMetrics.relabelings[0].sourceLabels[0] | string | "__meta_kubernetes_namespace" |
|
serviceMonitor.aggregatorMetrics.relabelings[0].targetLabel | string | "namespace" |
|
serviceMonitor.aggregatorMetrics.scrapeTimeout | string | "10s" |
|
serviceMonitor.enabled | bool | false |
|
serviceMonitor.interval | string | "1m" |
|
serviceMonitor.metricRelabelings | list | [] |
|
serviceMonitor.networkCosts.additionalLabels | object | {} |
|
serviceMonitor.networkCosts.enabled | bool | false |
|
serviceMonitor.networkCosts.interval | string | "1m" |
|
serviceMonitor.networkCosts.metricRelabelings | list | [] |
|
serviceMonitor.networkCosts.relabelings | list | [] |
|
serviceMonitor.networkCosts.scrapeTimeout | string | "10s" |
|
serviceMonitor.relabelings | list | [] |
|
serviceMonitor.scrapeTimeout | string | "10s" |
|
sigV4Proxy.extraEnv | string | nil |
|
sigV4Proxy.host | string | "aps-workspaces.us-west-2.amazonaws.com" |
|
sigV4Proxy.image | string | "" |
|
sigV4Proxy.imagePullPolicy | string | "IfNotPresent" |
|
sigV4Proxy.name | string | "aps" |
|
sigV4Proxy.port | int | 8005 |
|
sigV4Proxy.region | string | "us-west-2" |
|
sigV4Proxy.resources | object | {} |
|
supportNFS | bool | false |
|
systemProxy.enabled | bool | false |
|
systemProxy.httpProxyUrl | string | "" |
|
systemProxy.httpsProxyUrl | string | "" |
|
systemProxy.noProxy | string | "" |
|
tolerations | list | [] |
|
topologySpreadConstraints | list | [] |
|
upgrade.toV2 | bool | false |
Please see the contributing guide if you are interested in contributing.