forked from kubecost/cost-analyzer-helm-chart
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
89 additions
and
93 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -20,73 +20,73 @@ global: | |
domainName: cost-analyzer-grafana.default.svc #example grafana domain Ignored if enabled: true | ||
scheme: "http" # http or https, for the domain name above. | ||
proxy: true # If true, the kubecost frontend will route to your grafana through its service endpoint | ||
# fqdn: cost-analyzer-grafana.default.svc | ||
# fqdn: cost-analyzer-grafana.default.svc | ||
|
||
notifications: | ||
# Kubecost alerting configuration | ||
# Ref: http://docs.kubecost.com/alerts | ||
# alertConfigs: | ||
# frontendUrl: http://localhost:9090 # optional, used for linkbacks | ||
# globalSlackWebhookUrl: https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX # optional, used for Slack alerts | ||
# globalAlertEmails: | ||
# - [email protected] | ||
# - [email protected] | ||
# Alerts generated by kubecost, about cluster data | ||
# alerts: | ||
# Daily namespace budget alert on namespace `kubecost` | ||
# - type: budget # supported: budget, recurringUpdate | ||
# threshold: 50 # optional, required for budget alerts | ||
# window: daily # or 1d | ||
# aggregation: namespace | ||
# filter: kubecost | ||
# ownerContact: # optional, overrides globalAlertEmails default | ||
# - [email protected] | ||
# - [email protected] | ||
# # optional, used for alert-specific Slack alerts | ||
# slackWebhookUrl: https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX | ||
|
||
# Daily cluster budget alert on cluster `cluster-one` | ||
# - type: budget | ||
# threshold: 200.8 # optional, required for budget alerts | ||
# window: daily # or 1d | ||
# aggregation: cluster | ||
# filter: cluster-one # does not accept csv | ||
|
||
# Recurring weekly update (weeklyUpdate alert) | ||
# - type: recurringUpdate | ||
# window: weekly # or 7d | ||
# aggregation: namespace | ||
# filter: '*' | ||
|
||
# Recurring weekly namespace update on kubecost namespace | ||
# - type: recurringUpdate | ||
# window: weekly # or 7d | ||
# aggregation: namespace | ||
# filter: kubecost | ||
|
||
# Spend Change Alert | ||
# - type: spendChange # change relative to moving avg | ||
# relativeThreshold: 0.20 # Proportional change relative to baseline. Must be greater than -1 (can be negative) | ||
# window: 1d # accepts ‘d’, ‘h’ | ||
# baselineWindow: 30d # previous window, offset by window | ||
# aggregation: namespace | ||
# filter: kubecost, default # accepts csv | ||
|
||
# Health Score Alert | ||
# - type: health # Alerts when health score changes by a threshold | ||
# window: 10m | ||
# threshold: 5 # Send Alert if health scores changes by 5 or more | ||
|
||
# Kubecost Health Diagnostic | ||
# - type: diagnostic # Alerts when kubecost is is unable to compute costs - ie: Prometheus unreachable | ||
# window: 10m | ||
# frontendUrl: http://localhost:9090 # optional, used for linkbacks | ||
# globalSlackWebhookUrl: https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX # optional, used for Slack alerts | ||
# globalAlertEmails: | ||
# - [email protected] | ||
# - [email protected] | ||
# Alerts generated by kubecost, about cluster data | ||
# alerts: | ||
# Daily namespace budget alert on namespace `kubecost` | ||
# - type: budget # supported: budget, recurringUpdate | ||
# threshold: 50 # optional, required for budget alerts | ||
# window: daily # or 1d | ||
# aggregation: namespace | ||
# filter: kubecost | ||
# ownerContact: # optional, overrides globalAlertEmails default | ||
# - [email protected] | ||
# - [email protected] | ||
# # optional, used for alert-specific Slack alerts | ||
# slackWebhookUrl: https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX | ||
|
||
# Daily cluster budget alert on cluster `cluster-one` | ||
# - type: budget | ||
# threshold: 200.8 # optional, required for budget alerts | ||
# window: daily # or 1d | ||
# aggregation: cluster | ||
# filter: cluster-one # does not accept csv | ||
|
||
# Recurring weekly update (weeklyUpdate alert) | ||
# - type: recurringUpdate | ||
# window: weekly # or 7d | ||
# aggregation: namespace | ||
# filter: '*' | ||
|
||
# Recurring weekly namespace update on kubecost namespace | ||
# - type: recurringUpdate | ||
# window: weekly # or 7d | ||
# aggregation: namespace | ||
# filter: kubecost | ||
|
||
# Spend Change Alert | ||
# - type: spendChange # change relative to moving avg | ||
# relativeThreshold: 0.20 # Proportional change relative to baseline. Must be greater than -1 (can be negative) | ||
# window: 1d # accepts ‘d’, ‘h’ | ||
# baselineWindow: 30d # previous window, offset by window | ||
# aggregation: namespace | ||
# filter: kubecost, default # accepts csv | ||
|
||
# Health Score Alert | ||
# - type: health # Alerts when health score changes by a threshold | ||
# window: 10m | ||
# threshold: 5 # Send Alert if health scores changes by 5 or more | ||
|
||
# Kubecost Health Diagnostic | ||
# - type: diagnostic # Alerts when kubecost is is unable to compute costs - ie: Prometheus unreachable | ||
# window: 10m | ||
|
||
alertmanager: # Supply an alertmanager FQDN to receive notifications from the app. | ||
enabled: false # If true, allow kubecost to write to your alertmanager | ||
fqdn: http://cost-analyzer-prometheus-server.default.svc #example fqdn. Ignored if prometheus.enabled: true | ||
|
||
# Set saved report(s) accessible from reports.html | ||
# Ref: http://docs.kubecost.com/saved-reports | ||
# Set saved report(s) accessible from reports.html | ||
# Ref: http://docs.kubecost.com/saved-reports | ||
savedReports: | ||
enabled: false # If true, overwrites report parameters set through UI | ||
reports: | ||
|
@@ -122,16 +122,15 @@ global: | |
assetReports: | ||
enabled: false # If true, overwrites report parameters set through UI | ||
reports: | ||
- title: "Example Asset Report 0" | ||
window: "today" | ||
aggregateBy: "type" | ||
accumulate: false # daily resolution | ||
filters: | ||
- property: "cluster" | ||
value: "cluster-one" | ||
|
||
podAnnotations: | ||
{} | ||
- title: "Example Asset Report 0" | ||
window: "today" | ||
aggregateBy: "type" | ||
accumulate: false # daily resolution | ||
filters: | ||
- property: "cluster" | ||
value: "cluster-one" | ||
|
||
podAnnotations: {} | ||
# iam.amazonaws.com/role: role-arn | ||
additionalLabels: {} | ||
|
||
|
@@ -171,7 +170,7 @@ saml: | |
- "superusers" | ||
- name: readonly | ||
enabled: false # if readonly is disabled, all users authorized on SAML will default to readonly | ||
assertionName: "http://schemas.auth0.com/userType" | ||
assertionName: "http://schemas.auth0.com/userType" | ||
assertionvalues: | ||
- "readonly" | ||
- name: editor | ||
|
@@ -185,7 +184,7 @@ oidc: | |
clientID: "" # application/client client_id paramter obtained from provider, used to make requests to server | ||
clientSecret: "" # application/client client_secret paramter obtained from provider, used to make requests to server | ||
secretName: "kubecost-oidc-secret" # k8s secret where clientsecret will be stored | ||
authURL: "https://my.auth.server/authorize" # endpoint for login to auth server | ||
authURL: "https://my.auth.server/authorize" # endpoint for login to auth server | ||
loginRedirectURL: "http://my.kubecost.url/model/oidc/authorize" # Kubecost url configured in provider for redirect after authentication | ||
discoveryURL: "https://my.auth.server/.well-known/openid-configuration" # url for OIDC endpoint discovery | ||
|
||
|
@@ -238,8 +237,7 @@ kubecostMetrics: | |
# Adds the default Prometheus scrape annotations to the metrics exporter service. | ||
# Set to false and use service.annotations (below) to set custom scrape annotations. | ||
prometheusScrape: true | ||
resources: | ||
{} | ||
resources: {} | ||
# requests: | ||
# cpu: "200m" | ||
# memory: "55Mi" | ||
|
@@ -284,7 +282,7 @@ kubecostModel: | |
# Run allocation ETL pipelines | ||
etl: true | ||
# Enable the ETL filestore backing storage | ||
etlFileStoreEnabled: true | ||
etlFileStoreEnabled: true | ||
# The total number of days the ETL pipelines will build | ||
# Set to 0 to disable daily ETL (not recommended) | ||
etlDailyStoreDurationDays: 91 | ||
|
@@ -341,7 +339,7 @@ networkPolicy: | |
enabled: false | ||
denyEgress: true # create a network policy that denies egress from kubecost | ||
sameNamespace: true # Set to true if cost analyser and prometheus are on the same namespace | ||
# namespace: kubecost # Namespace where prometheus is installed | ||
# namespace: kubecost # Namespace where prometheus is installed | ||
|
||
# Cost-analyzer specific vars using the new template | ||
costAnalyzer: | ||
|
@@ -470,17 +468,17 @@ prometheus: | |
persistentVolume: | ||
enabled: true | ||
serverFiles: | ||
# prometheus.yml: # Sample block -- enable if using an in cluster durable store. | ||
# remote_write: | ||
# - url: "http://pgprometheus-adapter:9201/write" | ||
# write_relabel_configs: | ||
# - source_labels: [__name__] | ||
# regex: 'container_.*_allocation|container_.*_allocation_bytes|.*_hourly_cost|kube_pod_container_resource_requests{resource="memory", unit="byte"}|container_memory_working_set_bytes|kube_pod_container_resource_requests{resource="cpu", unit="core"}|kube_pod_container_resource_requests|pod_pvc_allocation|kube_namespace_labels|kube_pod_labels' | ||
# action: keep | ||
# queue_config: | ||
# max_samples_per_send: 1000 | ||
#remote_read: | ||
# - url: "http://pgprometheus-adapter:9201/read" | ||
# prometheus.yml: # Sample block -- enable if using an in cluster durable store. | ||
# remote_write: | ||
# - url: "http://pgprometheus-adapter:9201/write" | ||
# write_relabel_configs: | ||
# - source_labels: [__name__] | ||
# regex: 'container_.*_allocation|container_.*_allocation_bytes|.*_hourly_cost|kube_pod_container_resource_requests{resource="memory", unit="byte"}|container_memory_working_set_bytes|kube_pod_container_resource_requests{resource="cpu", unit="core"}|kube_pod_container_resource_requests|pod_pvc_allocation|kube_namespace_labels|kube_pod_labels' | ||
# action: keep | ||
# queue_config: | ||
# max_samples_per_send: 1000 | ||
#remote_read: | ||
# - url: "http://pgprometheus-adapter:9201/read" | ||
rules: | ||
groups: | ||
- name: CPU | ||
|
@@ -535,8 +533,7 @@ networkCosts: | |
# Port will set both the containerPort and hostPort to this value. | ||
# These must be identical due to network-costs being run on hostNetwork | ||
port: 3001 | ||
resources: | ||
{} | ||
resources: {} | ||
#requests: | ||
# cpu: "50m" | ||
# memory: "20Mi" | ||
|
@@ -627,8 +624,6 @@ networkCosts: | |
# Used for HA mode in Business & Enterprise tier | ||
kubecostDeployment: | ||
replicas: 1 | ||
leaderFollower: | ||
enabled: false | ||
|
||
# Kubecost Cluster Controller for Right Sizing and Cluster Turndown | ||
clusterController: | ||
|
@@ -663,12 +658,12 @@ supportNFS: false | |
# initChownDataImage ensures all Kubecost filepath permissions on PV or local storage are set up correctly. | ||
initChownDataImage: "busybox" # Supports a fully qualified Docker image, e.g. registry.hub.docker.com/library/busybox:latest | ||
initChownData: | ||
resources: | ||
{} | ||
resources: {} | ||
#requests: | ||
# cpu: "50m" | ||
# memory: "20Mi" | ||
|
||
|
||
grafana: | ||
# namespace_datasources: kubecost # override the default namespace here | ||
# namespace_dashboards: kubecost # override the default namespace here | ||
|
@@ -696,8 +691,8 @@ grafana: | |
# dataSourceFilename: foo.yml # If you need to change the name of the datasource file | ||
enabled: false | ||
error_throttle_sleep: 0 | ||
# For grafana to be accessible, add the path to root_url. For example, if you run kubecost at www.foo.com:9090/kubecost | ||
# set root_url to "%(protocol)s://%(domain)s:%(http_port)s/kubecost/grafana". No change is necessary here if kubecost runs at a root URL | ||
# For grafana to be accessible, add the path to root_url. For example, if you run kubecost at www.foo.com:9090/kubecost | ||
# set root_url to "%(protocol)s://%(domain)s:%(http_port)s/kubecost/grafana". No change is necessary here if kubecost runs at a root URL | ||
grafana.ini: | ||
server: | ||
root_url: "%(protocol)s://%(domain)s:%(http_port)s/grafana" | ||
|
@@ -708,6 +703,7 @@ serviceAccount: | |
awsstore: | ||
useAwsStore: false | ||
createServiceAccount: false | ||
|
||
# readonly: false # disable updates to kubecost from the frontend UI and via POST request | ||
|
||
# These configs can also be set from the Settings page in the Kubecost product UI | ||
|
@@ -813,4 +809,4 @@ awsstore: | |
# secretname: productkeysecret # create a secret out of a file named productkey.json of format { "key": "kc-b1325234" } | ||
# mountPath: "/some/custom/path/productkey.json" # (use instead of secretname) declare the path at which the product key file is mounted (eg. by a secrets provisioner). The file must be of format { "key": "kc-b1325234" } | ||
# cloudIntegrationSecret: "cloud-integration" | ||
# ingestPodUID: false # Enables using UIDs to uniquely ID pods. This requires either Kubecost's replicated KSM metrics, or KSM v2.1.0+. This may impact performance, and changes the default cost-model allocation behavior. | ||
# ingestPodUID: false # Enables using UIDs to uniquely ID pods. This requires either Kubecost's replicated KSM metrics, or KSM v2.1.0+. This may impact performance, and changes the default cost-model allocation behavior. |