Skip to content

Commit 66bc827

Browse files
authored
Merge pull request #27 from mkilchhofer/feature/fixed_version_and_values_documentation
feat: Install pinned version rather than latest tag
2 parents 2dc3078 + b1c8be8 commit 66bc827

File tree

5 files changed

+125
-76
lines changed

5 files changed

+125
-76
lines changed

charts/opencost/Chart.yaml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,15 @@
11
apiVersion: v2
2-
appVersion: 1.9.8
2+
appVersion: 1.101.2
33
name: opencost
44
description: OpenCost and OpenCost UI
5-
version: 1.3.1
5+
type: application
6+
keywords:
7+
- cost-optimization
8+
- finops
9+
- kubecost
10+
- opencost
11+
- monitoring
12+
version: 1.4.0
613
maintainers:
714
- name: mattray
815
url: https://mattray.dev

charts/opencost/README.md

Lines changed: 49 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
# opencost
22

3-
Opencost and Opencost UI
3+
OpenCost and OpenCost UI
44

5-
![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: 1.9.8](https://img.shields.io/badge/AppVersion-1.9.8-informational?style=flat-square)
5+
![Version: 1.4.0](https://img.shields.io/badge/Version-1.4.0-informational?style=flat-square)
6+
![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square)
7+
![AppVersion: 1.100.2](https://img.shields.io/badge/AppVersion-1.100.2-informational?style=flat-square)
68

79
## Maintainers
810

@@ -12,7 +14,7 @@ Opencost and Opencost UI
1214

1315
## Installing the Chart
1416

15-
To install the chart with the release name `my-release`:
17+
To install the chart with the release name `opencost`:
1618

1719
```console
1820
$ helm install opencost opencost/opencost
@@ -22,45 +24,50 @@ $ helm install opencost opencost/opencost
2224

2325
| Key | Type | Default | Description |
2426
|-----|------|---------|-------------|
25-
| annotations | object | `{}` | |
26-
| opencost.exporter.defaultClusterId | string | `"default-cluster"` | |
27-
| opencost.exporter.extraEnv | object | `{}` | |
28-
| opencost.exporter.image.registry | string | `"quay.io"` | |
29-
| opencost.exporter.image.repository | string | `"kubecost1/kubecost-cost-model"` | |
30-
| opencost.exporter.image.tag | string | `"latest"` | |
31-
| opencost.exporter.resources.limits.cpu | string | `"999m"` | |
32-
| opencost.exporter.resources.limits.memory | string | `"1G"` | |
33-
| opencost.exporter.resources.requests.cpu | string | `"10m"` | |
34-
| opencost.exporter.resources.requests.memory | string | `"55M"` | |
35-
| opencost.metrics.serviceMonitor.additionalLabels | object | `{}` | |
36-
| opencost.metrics.serviceMonitor.enabled | bool | `false` | |
37-
| opencost.metrics.serviceMonitor.metricRelabelings | list | `[]` | |
38-
| opencost.metrics.serviceMonitor.namespace | string | `""` | |
39-
| opencost.metrics.serviceMonitor.namespaceSelector | object | `{}` | |
40-
| opencost.metrics.serviceMonitor.relabelings | list | `[]` | |
41-
| opencost.metrics.serviceMonitor.scrapeInterval | string | `"30s"` | |
42-
| opencost.metrics.serviceMonitor.targetLabels | list | `[]` | |
43-
| opencost.prometheus.external.enabled | bool | `false` | |
44-
| opencost.prometheus.external.url | string | `"https://mimir-dev-push.infra.alto.com/prometheus"` | |
45-
| opencost.prometheus.internal.enabled | bool | `true` | |
46-
| opencost.prometheus.internal.namespaceName | string | `"opencost"` | |
47-
| opencost.prometheus.internal.port | int | `9090` | |
48-
| opencost.prometheus.internal.serviceName | string | `"my-prometheus"` | |
49-
| opencost.tolerations | list | `[]` | |
50-
| opencost.ui.enabled | bool | `true` | |
51-
| opencost.ui.image.registry | string | `"quay.io"` | |
52-
| opencost.ui.image.repository | string | `"kubecost1/opencost-ui"` | |
53-
| opencost.ui.image.tag | string | `"latest"` | |
54-
| opencost.ui.resources.limits.cpu | string | `"999m"` | |
55-
| opencost.ui.resources.limits.memory | string | `"1G"` | |
56-
| opencost.ui.resources.requests.cpu | string | `"10m"` | |
57-
| opencost.ui.resources.requests.memory | string | `"55M"` | |
58-
| service.annotations | object | `{}` | |
59-
| service.labels | object | `{}` | |
60-
| service.type | string | `"ClusterIP"` | |
61-
| serviceAccount.annotations | object | `{}` | |
62-
| serviceAccount.automountServiceAccountToken | bool | `true` | |
63-
| serviceAccount.create | bool | `true` | |
27+
| annotations | object | `{}` | Annotations to add to the Deployment |
28+
| extraVolumes | list | `[]` | A list of volumes to be added to the pod |
29+
| opencost.affinity | object | `{}` | Affinity settings for pod assignment |
30+
| opencost.exporter.cloudProviderApiKey | string | `""` | The GCP Pricing API requires a key. This is supplied just for evaluation. |
31+
| opencost.exporter.defaultClusterId | string | `"default-cluster"` | Default cluster ID to use if cluster_id is not set in Prometheus metrics. |
32+
| opencost.exporter.extraEnv | object | `{}` | Any extra environment variables you would like to pass on to the pod |
33+
| opencost.exporter.extraVolumeMounts | list | `[]` | A list of volume mounts to be added to the pod |
34+
| opencost.exporter.image.registry | string | `"quay.io"` | Exporter container image registry |
35+
| opencost.exporter.image.repository | string | `"kubecost1/kubecost-cost-model"` | Exporter container image name |
36+
| opencost.exporter.image.tag | string | `""` (use appVersion in Chart.yaml) | Exporter container image tag |
37+
| opencost.exporter.resources.limits | object | `{"cpu":"999m","memory":"1Gi"}` | CPU/Memory resource limits |
38+
| opencost.exporter.resources.requests | object | `{"cpu":"10m","memory":"55Mi"}` | CPU/Memory resource requests |
39+
| opencost.metrics.serviceMonitor.additionalLabels | object | `{}` | Additional labels to add to the ServiceMonitor |
40+
| opencost.metrics.serviceMonitor.enabled | bool | `false` | Create ServiceMonitor resource for scraping metrics using PrometheusOperator |
41+
| opencost.metrics.serviceMonitor.honorLabels | bool | `false` | HonorLabels chooses the metric's labels on collisions with target labels |
42+
| opencost.metrics.serviceMonitor.metricRelabelings | list | `[]` | MetricRelabelConfigs to apply to samples before ingestion |
43+
| opencost.metrics.serviceMonitor.namespace | string | `""` | Specify if the ServiceMonitor will be deployed into a different namespace (blank deploys into same namespace as chart) |
44+
| opencost.metrics.serviceMonitor.relabelings | list | `[]` | RelabelConfigs to apply to samples before scraping. Prometheus Operator automatically adds relabelings for a few standard Kubernetes fields |
45+
| opencost.metrics.serviceMonitor.scrapeInterval | string | `"30s"` | Interval at which metrics should be scraped |
46+
| opencost.nodeSelector | object | `{}` | Node labels for pod assignment |
47+
| opencost.prometheus.bearer_token | string | `""` | Prometheus Bearer token |
48+
| opencost.prometheus.external.enabled | bool | `false` | Use external Prometheus (eg. Grafana Cloud) |
49+
| opencost.prometheus.external.url | string | `"https://mimir-dev-push.infra.alto.com/prometheus"` | External Prometheus url |
50+
| opencost.prometheus.internal.enabled | bool | `true` | Use in-cluster Prometheus |
51+
| opencost.prometheus.internal.namespaceName | string | `"opencost"` | Namespace of in-cluster Prometheus |
52+
| opencost.prometheus.internal.port | int | `9090` | Service port of in-cluster Prometheus |
53+
| opencost.prometheus.internal.serviceName | string | `"my-prometheus"` | Service name of in-cluster Prometheus |
54+
| opencost.prometheus.password | string | `""` | Prometheus Basic auth password |
55+
| opencost.prometheus.username | string | `""` | Prometheus Basic auth username |
56+
| opencost.tolerations | list | `[]` | Toleration labels for pod assignment |
57+
| opencost.topologySpreadConstraints | list | `[]` | Assign custom TopologySpreadConstraints rules |
58+
| opencost.ui.enabled | bool | `true` | Enable OpenCost UI |
59+
| opencost.ui.image.registry | string | `"quay.io"` | UI container image registry |
60+
| opencost.ui.image.repository | string | `"kubecost1/opencost-ui"` | UI container image name |
61+
| opencost.ui.image.tag | string | `""` (use appVersion in Chart.yaml) | UI container image tag |
62+
| opencost.ui.resources.limits | object | `{"cpu":"999m","memory":"1Gi"}` | CPU/Memory resource limits |
63+
| opencost.ui.resources.requests | object | `{"cpu":"10m","memory":"55Mi"}` | CPU/Memory resource requests |
64+
| podAnnotations | object | `{}` | Annotations to add to the OpenCost Pod |
65+
| service.annotations | object | `{}` | Annotations to add to the service |
66+
| service.labels | object | `{}` | Labels to add to the service account |
67+
| service.type | string | `"ClusterIP"` | Kubernetes Service type |
68+
| serviceAccount.annotations | object | `{}` | Annotations to add to the service account |
69+
| serviceAccount.automountServiceAccountToken | bool | `true` | Whether pods running as this service account should have an API token automatically mounted |
70+
| serviceAccount.create | bool | `true` | Specifies whether a service account should be created |
6471

6572
----------------------------------------------
6673
Autogenerated from chart metadata using [helm-docs v1.11.0](https://github.com/norwoodj/helm-docs/releases/v1.11.0)

charts/opencost/README.md.gotmpl

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,15 @@
22

33
{{ template "chart.description" . }}
44

5-
{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }}
5+
{{ template "chart.versionBadge" . }}
6+
{{ template "chart.typeBadge" . }}
7+
{{ template "chart.appVersionBadge" . }}
68

79
{{ template "chart.maintainersSection" . }}
810

911
## Installing the Chart
1012

11-
To install the chart with the release name `my-release`:
13+
To install the chart with the release name `opencost`:
1214

1315
```console
1416
$ helm install opencost opencost/{{ template "chart.name" . }}

charts/opencost/templates/deployment.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ spec:
4747
{{- toYaml . | nindent 8 }}
4848
{{- end }}
4949
containers:
50-
- image: "{{ .Values.opencost.exporter.image.registry }}/{{ .Values.opencost.exporter.image.repository }}:{{ .Values.opencost.exporter.image.tag }}"
50+
- image: "{{ .Values.opencost.exporter.image.registry }}/{{ .Values.opencost.exporter.image.repository }}:{{ .Values.opencost.exporter.image.tag | default (printf "prod-%s" .Chart.AppVersion) }}"
5151
name: {{ include "opencost.fullname" . }}
5252
resources:
5353
{{- toYaml .Values.opencost.exporter.resources | nindent 12 }}
@@ -98,7 +98,7 @@ spec:
9898
{{- end }}
9999
imagePullPolicy: Always
100100
{{- if .Values.opencost.ui.enabled }}
101-
- image: "{{ .Values.opencost.ui.image.registry }}/{{ .Values.opencost.ui.image.repository }}:{{ .Values.opencost.ui.image.tag }}"
101+
- image: "{{ .Values.opencost.ui.image.registry }}/{{ .Values.opencost.ui.image.repository }}:{{ .Values.opencost.ui.image.tag | default (printf "prod-%s" .Chart.AppVersion) }}"
102102
name: opencost-ui
103103
resources:
104104
{{- toYaml .Values.opencost.ui.resources | nindent 12 }}

charts/opencost/values.yaml

Lines changed: 61 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,90 +1,123 @@
11
serviceAccount:
2+
# -- Specifies whether a service account should be created
23
create: true
4+
# -- Annotations to add to the service account
35
annotations: {}
46
# eks.amazonaws.com/role-arn: arn:aws:iam::123456789012:role/eksctl-opencost
7+
8+
# -- Whether pods running as this service account should have an API token automatically mounted
59
automountServiceAccountToken: true
610

11+
# -- Annotations to add to the Deployment
712
annotations: {}
8-
13+
# -- Annotations to add to the OpenCost Pod
914
podAnnotations: {}
1015

1116
service:
17+
# -- Annotations to add to the service
1218
annotations: {}
19+
# -- Labels to add to the service account
1320
labels: {}
21+
# -- Kubernetes Service type
1422
type: ClusterIP
1523

1624
opencost:
1725
exporter:
18-
# The GCP Pricing API requires a key. This is supplied just for evaluation.
19-
# cloudProviderApiKey: 'asdfasdfasdf'
20-
# Default cluster ID to use if cluster_id is not set in Prometheus metrics.
26+
# -- The GCP Pricing API requires a key. This is supplied just for evaluation.
27+
cloudProviderApiKey: ""
28+
# -- Default cluster ID to use if cluster_id is not set in Prometheus metrics.
2129
defaultClusterId: 'default-cluster'
2230
image:
31+
# -- Exporter container image registry
2332
registry: quay.io
33+
# -- Exporter container image name
2434
repository: kubecost1/kubecost-cost-model
25-
tag: latest
35+
# -- Exporter container image tag
36+
# @default -- `""` (use appVersion in Chart.yaml)
37+
tag: ""
2638
resources:
39+
# -- CPU/Memory resource requests
2740
requests:
2841
cpu: '10m'
29-
memory: '55M'
42+
memory: '55Mi'
43+
# -- CPU/Memory resource limits
3044
limits:
3145
cpu: '999m'
32-
memory: '1G'
33-
## @param extraVolumeMounts A list of volume mounts to be added to the pod
46+
memory: '1Gi'
47+
# -- A list of volume mounts to be added to the pod
3448
extraVolumeMounts: []
35-
extraEnv:
36-
{}
49+
# -- Any extra environment variables you would like to pass on to the pod
50+
extraEnv: {}
3751
# FOO: BAR
3852

3953
metrics:
4054
serviceMonitor:
55+
# -- Create ServiceMonitor resource for scraping metrics using PrometheusOperator
4156
enabled: false
57+
# -- Additional labels to add to the ServiceMonitor
4258
additionalLabels: {}
43-
## The label to use to retrieve the job name from.
44-
## jobLabel: "app.kubernetes.io/name"
45-
namespace: ''
46-
namespaceSelector: {}
47-
## Default: scrape .Release.Namespace only
48-
## To scrape all, use the following:
49-
## namespaceSelector:
50-
## any: true
59+
# -- Specify if the ServiceMonitor will be deployed into a different namespace (blank deploys into same namespace as chart)
60+
namespace: ""
61+
# -- Interval at which metrics should be scraped
5162
scrapeInterval: 30s
52-
# honorLabels: true
53-
targetLabels: []
63+
# -- HonorLabels chooses the metric's labels on collisions with target labels
64+
honorLabels: false
65+
# -- RelabelConfigs to apply to samples before scraping. Prometheus Operator automatically adds relabelings for a few standard Kubernetes fields
5466
relabelings: []
67+
# -- MetricRelabelConfigs to apply to samples before ingestion
5568
metricRelabelings: []
5669

5770
prometheus:
58-
# username:
59-
# password:
60-
# bearer_token:
71+
# -- Prometheus Basic auth username
72+
username: ""
73+
# -- Prometheus Basic auth password
74+
password: ""
75+
# -- Prometheus Bearer token
76+
bearer_token: ""
6177
external:
78+
# -- Use external Prometheus (eg. Grafana Cloud)
6279
enabled: false
80+
# -- External Prometheus url
6381
url: 'https://mimir-dev-push.infra.alto.com/prometheus'
6482
internal:
83+
# -- Use in-cluster Prometheus
6584
enabled: true
85+
# -- Service name of in-cluster Prometheus
6686
serviceName: my-prometheus
87+
# -- Namespace of in-cluster Prometheus
6788
namespaceName: opencost
89+
# -- Service port of in-cluster Prometheus
6890
port: 9090
6991

7092
ui:
93+
# -- Enable OpenCost UI
7194
enabled: true
7295
image:
96+
# -- UI container image registry
7397
registry: quay.io
98+
# -- UI container image name
7499
repository: kubecost1/opencost-ui
75-
tag: latest
100+
# -- UI container image tag
101+
# @default -- `""` (use appVersion in Chart.yaml)
102+
tag: ""
76103
resources:
104+
# -- CPU/Memory resource requests
77105
requests:
78106
cpu: '10m'
79-
memory: '55M'
107+
memory: '55Mi'
108+
# -- CPU/Memory resource limits
80109
limits:
81110
cpu: '999m'
82-
memory: '1G'
111+
memory: '1Gi'
83112

113+
# -- Toleration labels for pod assignment
84114
tolerations: []
115+
# -- Node labels for pod assignment
85116
nodeSelector: {}
117+
# -- Affinity settings for pod assignment
86118
affinity: {}
119+
# -- Assign custom TopologySpreadConstraints rules
87120
topologySpreadConstraints: []
88-
## @param extraVolumes A list of volumes to be added to the pod
89-
##
121+
122+
# -- A list of volumes to be added to the pod
90123
extraVolumes: []

0 commit comments

Comments
 (0)