Workaround for large CRDs with ArgoCD
This commit is contained in:
parent
b799837894
commit
0337591810
@ -7,20 +7,28 @@ annotations:
|
|||||||
url: https://github.com/prometheus-operator/kube-prometheus
|
url: https://github.com/prometheus-operator/kube-prometheus
|
||||||
artifacthub.io/operator: "true"
|
artifacthub.io/operator: "true"
|
||||||
apiVersion: v2
|
apiVersion: v2
|
||||||
appVersion: v0.65.1
|
appVersion: v0.66.0
|
||||||
dependencies:
|
dependencies:
|
||||||
|
- condition: crds.enabled
|
||||||
|
name: crds
|
||||||
|
repository: ""
|
||||||
|
version: 0.0.0
|
||||||
- condition: kubeStateMetrics.enabled
|
- condition: kubeStateMetrics.enabled
|
||||||
name: kube-state-metrics
|
name: kube-state-metrics
|
||||||
repository: https://prometheus-community.github.io/helm-charts
|
repository: https://prometheus-community.github.io/helm-charts
|
||||||
version: 5.5.*
|
version: 5.10.*
|
||||||
- condition: nodeExporter.enabled
|
- condition: nodeExporter.enabled
|
||||||
name: prometheus-node-exporter
|
name: prometheus-node-exporter
|
||||||
repository: https://prometheus-community.github.io/helm-charts
|
repository: https://prometheus-community.github.io/helm-charts
|
||||||
version: 4.16.*
|
version: 4.21.*
|
||||||
- condition: grafana.enabled
|
- condition: grafana.enabled
|
||||||
name: grafana
|
name: grafana
|
||||||
repository: https://grafana.github.io/helm-charts
|
repository: https://grafana.github.io/helm-charts
|
||||||
version: 6.56.*
|
version: 6.58.*
|
||||||
|
- condition: windowsMonitoring.enabled
|
||||||
|
name: prometheus-windows-exporter
|
||||||
|
repository: https://prometheus-community.github.io/helm-charts
|
||||||
|
version: 0.1.*
|
||||||
description: kube-prometheus-stack collects Kubernetes manifests, Grafana dashboards,
|
description: kube-prometheus-stack collects Kubernetes manifests, Grafana dashboards,
|
||||||
and Prometheus rules combined with documentation and scripts to provide easy to
|
and Prometheus rules combined with documentation and scripts to provide easy to
|
||||||
operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus
|
operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus
|
||||||
@ -52,4 +60,4 @@ sources:
|
|||||||
- https://github.com/prometheus-community/helm-charts
|
- https://github.com/prometheus-community/helm-charts
|
||||||
- https://github.com/prometheus-operator/kube-prometheus
|
- https://github.com/prometheus-operator/kube-prometheus
|
||||||
type: application
|
type: application
|
||||||
version: 45.27.2
|
version: 48.3.3
|
||||||
|
@ -59,8 +59,10 @@ kubectl delete crd alertmanagerconfigs.monitoring.coreos.com
|
|||||||
kubectl delete crd alertmanagers.monitoring.coreos.com
|
kubectl delete crd alertmanagers.monitoring.coreos.com
|
||||||
kubectl delete crd podmonitors.monitoring.coreos.com
|
kubectl delete crd podmonitors.monitoring.coreos.com
|
||||||
kubectl delete crd probes.monitoring.coreos.com
|
kubectl delete crd probes.monitoring.coreos.com
|
||||||
|
kubectl delete crd prometheusagents.monitoring.coreos.com
|
||||||
kubectl delete crd prometheuses.monitoring.coreos.com
|
kubectl delete crd prometheuses.monitoring.coreos.com
|
||||||
kubectl delete crd prometheusrules.monitoring.coreos.com
|
kubectl delete crd prometheusrules.monitoring.coreos.com
|
||||||
|
kubectl delete crd scrapeconfigs.monitoring.coreos.com
|
||||||
kubectl delete crd servicemonitors.monitoring.coreos.com
|
kubectl delete crd servicemonitors.monitoring.coreos.com
|
||||||
kubectl delete crd thanosrulers.monitoring.coreos.com
|
kubectl delete crd thanosrulers.monitoring.coreos.com
|
||||||
```
|
```
|
||||||
@ -80,9 +82,54 @@ _See [helm upgrade](https://helm.sh/docs/helm/helm_upgrade/) for command documen
|
|||||||
|
|
||||||
A major chart version change (like v1.2.3 -> v2.0.0) indicates that there is an incompatible breaking change needing manual actions.
|
A major chart version change (like v1.2.3 -> v2.0.0) indicates that there is an incompatible breaking change needing manual actions.
|
||||||
|
|
||||||
|
### From 47.x to 48.x
|
||||||
|
|
||||||
|
This version moved all CRDs into a dedicated sub-chart. No new CRDs are introduced in this version.
|
||||||
|
See [#3548](https://github.com/prometheus-community/helm-charts/issues/3548) for more context.
|
||||||
|
|
||||||
|
We do not expect any breaking changes in this version.
|
||||||
|
|
||||||
|
### From 46.x to 47.x
|
||||||
|
|
||||||
|
This version upgrades Prometheus-Operator to v0.66.0 with new CRDs (PrometheusAgent and ScrapeConfig).
|
||||||
|
|
||||||
|
Run these commands to update the CRDs before applying the upgrade.
|
||||||
|
|
||||||
|
```console
|
||||||
|
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.66.0/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagerconfigs.yaml
|
||||||
|
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.66.0/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagers.yaml
|
||||||
|
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.66.0/example/prometheus-operator-crd/monitoring.coreos.com_podmonitors.yaml
|
||||||
|
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.66.0/example/prometheus-operator-crd/monitoring.coreos.com_probes.yaml
|
||||||
|
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.66.0/example/prometheus-operator-crd/monitoring.coreos.com_prometheusagents.yaml
|
||||||
|
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.66.0/example/prometheus-operator-crd/monitoring.coreos.com_prometheuses.yaml
|
||||||
|
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.66.0/example/prometheus-operator-crd/monitoring.coreos.com_prometheusrules.yaml
|
||||||
|
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.66.0/example/prometheus-operator-crd/monitoring.coreos.com_scrapeconfigs.yaml
|
||||||
|
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.66.0/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml
|
||||||
|
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.66.0/example/prometheus-operator-crd/monitoring.coreos.com_thanosrulers.yaml
|
||||||
|
```
|
||||||
|
|
||||||
|
### From 45.x to 46.x
|
||||||
|
|
||||||
|
This version upgrades Prometheus-Operator to v0.65.1 with new CRDs (PrometheusAgent and ScrapeConfig), Prometheus to v2.44.0 and Thanos to v0.31.0.
|
||||||
|
|
||||||
|
Run these commands to update the CRDs before applying the upgrade.
|
||||||
|
|
||||||
|
```console
|
||||||
|
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.65.1/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagerconfigs.yaml
|
||||||
|
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.65.1/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagers.yaml
|
||||||
|
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.65.1/example/prometheus-operator-crd/monitoring.coreos.com_podmonitors.yaml
|
||||||
|
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.65.1/example/prometheus-operator-crd/monitoring.coreos.com_probes.yaml
|
||||||
|
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.65.1/example/prometheus-operator-crd/monitoring.coreos.com_prometheusagents.yaml
|
||||||
|
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.65.1/example/prometheus-operator-crd/monitoring.coreos.com_prometheuses.yaml
|
||||||
|
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.65.1/example/prometheus-operator-crd/monitoring.coreos.com_prometheusrules.yaml
|
||||||
|
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.65.1/example/prometheus-operator-crd/monitoring.coreos.com_scrapeconfigs.yaml
|
||||||
|
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.65.1/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml
|
||||||
|
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.65.1/example/prometheus-operator-crd/monitoring.coreos.com_thanosrulers.yaml
|
||||||
|
```
|
||||||
|
|
||||||
### From 44.x to 45.x
|
### From 44.x to 45.x
|
||||||
|
|
||||||
This version upgrades Prometheus-Operator to v0.63.0, Prometheus to v2.43.0 and Thanos to v0.30.2.
|
This version upgrades Prometheus-Operator to v0.63.0, Prometheus to v2.42.0 and Thanos to v0.30.2.
|
||||||
|
|
||||||
Run these commands to update the CRDs before applying the upgrade.
|
Run these commands to update the CRDs before applying the upgrade.
|
||||||
|
|
||||||
|
@ -0,0 +1,3 @@
|
|||||||
|
apiVersion: v2
|
||||||
|
name: crds
|
||||||
|
version: 0.0.0
|
@ -0,0 +1,3 @@
|
|||||||
|
# crds subchart
|
||||||
|
|
||||||
|
See: [https://github.com/prometheus-community/helm-charts/issues/3548](https://github.com/prometheus-community/helm-charts/issues/3548)
|
@ -1,10 +1,11 @@
|
|||||||
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.63.0/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagerconfigs.yaml
|
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.66.0/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagerconfigs.yaml
|
||||||
---
|
---
|
||||||
apiVersion: apiextensions.k8s.io/v1
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
kind: CustomResourceDefinition
|
kind: CustomResourceDefinition
|
||||||
metadata:
|
metadata:
|
||||||
annotations:
|
annotations:
|
||||||
controller-gen.kubebuilder.io/version: v0.11.1
|
controller-gen.kubebuilder.io/version: v0.11.1
|
||||||
|
argocd.argoproj.io/sync-options: ServerSideApply=true
|
||||||
creationTimestamp: null
|
creationTimestamp: null
|
||||||
name: alertmanagerconfigs.monitoring.coreos.com
|
name: alertmanagerconfigs.monitoring.coreos.com
|
||||||
spec:
|
spec:
|
||||||
@ -2696,9 +2697,9 @@ spec:
|
|||||||
signing process to sign requests.
|
signing process to sign requests.
|
||||||
properties:
|
properties:
|
||||||
accessKey:
|
accessKey:
|
||||||
description: AccessKey is the AWS API key. If blank,
|
description: AccessKey is the AWS API key. If not
|
||||||
the environment variable `AWS_ACCESS_KEY_ID` is
|
specified, the environment variable `AWS_ACCESS_KEY_ID`
|
||||||
used.
|
is used.
|
||||||
properties:
|
properties:
|
||||||
key:
|
key:
|
||||||
description: The key of the secret to select from. Must
|
description: The key of the secret to select from. Must
|
||||||
@ -2731,8 +2732,8 @@ spec:
|
|||||||
to authenticate.
|
to authenticate.
|
||||||
type: string
|
type: string
|
||||||
secretKey:
|
secretKey:
|
||||||
description: SecretKey is the AWS API secret. If blank,
|
description: SecretKey is the AWS API secret. If not
|
||||||
the environment variable `AWS_SECRET_ACCESS_KEY`
|
specified, the environment variable `AWS_SECRET_ACCESS_KEY`
|
||||||
is used.
|
is used.
|
||||||
properties:
|
properties:
|
||||||
key:
|
key:
|
@ -1,10 +1,11 @@
|
|||||||
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.63.0/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagers.yaml
|
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.66.0/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagers.yaml
|
||||||
---
|
---
|
||||||
apiVersion: apiextensions.k8s.io/v1
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
kind: CustomResourceDefinition
|
kind: CustomResourceDefinition
|
||||||
metadata:
|
metadata:
|
||||||
annotations:
|
annotations:
|
||||||
controller-gen.kubebuilder.io/version: v0.11.1
|
controller-gen.kubebuilder.io/version: v0.11.1
|
||||||
|
argocd.argoproj.io/sync-options: ServerSideApply=true
|
||||||
creationTimestamp: null
|
creationTimestamp: null
|
||||||
name: alertmanagers.monitoring.coreos.com
|
name: alertmanagers.monitoring.coreos.com
|
||||||
spec:
|
spec:
|
||||||
@ -1356,6 +1357,47 @@ spec:
|
|||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
|
opsGenieApiKey:
|
||||||
|
description: The default OpsGenie API Key.
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
description: The key of the secret to select from. Must
|
||||||
|
be a valid secret key.
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind, uid?'
|
||||||
|
type: string
|
||||||
|
optional:
|
||||||
|
description: Specify whether the Secret or its key must
|
||||||
|
be defined
|
||||||
|
type: boolean
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
type: object
|
||||||
|
x-kubernetes-map-type: atomic
|
||||||
|
opsGenieApiUrl:
|
||||||
|
description: The default OpsGenie API URL.
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
description: The key of the secret to select from. Must
|
||||||
|
be a valid secret key.
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind, uid?'
|
||||||
|
type: string
|
||||||
|
optional:
|
||||||
|
description: Specify whether the Secret or its key must
|
||||||
|
be defined
|
||||||
|
type: boolean
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
type: object
|
||||||
|
x-kubernetes-map-type: atomic
|
||||||
|
pagerdutyUrl:
|
||||||
|
description: The default Pagerduty URL.
|
||||||
|
type: string
|
||||||
resolveTimeout:
|
resolveTimeout:
|
||||||
description: ResolveTimeout is the default value used by alertmanager
|
description: ResolveTimeout is the default value used by alertmanager
|
||||||
if the alert does not include EndsAt, after this time passes
|
if the alert does not include EndsAt, after this time passes
|
||||||
@ -1364,6 +1406,25 @@ spec:
|
|||||||
they always include EndsAt.
|
they always include EndsAt.
|
||||||
pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
|
pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
|
||||||
type: string
|
type: string
|
||||||
|
slackApiUrl:
|
||||||
|
description: The default Slack API URL.
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
description: The key of the secret to select from. Must
|
||||||
|
be a valid secret key.
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind, uid?'
|
||||||
|
type: string
|
||||||
|
optional:
|
||||||
|
description: Specify whether the Secret or its key must
|
||||||
|
be defined
|
||||||
|
type: boolean
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
type: object
|
||||||
|
x-kubernetes-map-type: atomic
|
||||||
type: object
|
type: object
|
||||||
name:
|
name:
|
||||||
description: The name of the AlertmanagerConfig resource which
|
description: The name of the AlertmanagerConfig resource which
|
||||||
@ -1419,6 +1480,12 @@ spec:
|
|||||||
type: object
|
type: object
|
||||||
type: array
|
type: array
|
||||||
type: object
|
type: object
|
||||||
|
automountServiceAccountToken:
|
||||||
|
description: 'AutomountServiceAccountToken indicates whether a service
|
||||||
|
account token should be automatically mounted in the pod. If the
|
||||||
|
service account has `automountServiceAccountToken: true`, set the
|
||||||
|
field to `false` to opt out of automounting API credentials.'
|
||||||
|
type: boolean
|
||||||
baseImage:
|
baseImage:
|
||||||
description: 'Base image that is used to deploy pods, without tag.
|
description: 'Base image that is used to deploy pods, without tag.
|
||||||
Deprecated: use ''image'' instead'
|
Deprecated: use ''image'' instead'
|
||||||
@ -1721,7 +1788,9 @@ spec:
|
|||||||
to be used in HTTP probes
|
to be used in HTTP probes
|
||||||
properties:
|
properties:
|
||||||
name:
|
name:
|
||||||
description: The header field name
|
description: The header field name. This will
|
||||||
|
be canonicalized upon output, so case-variant
|
||||||
|
names will be understood as the same header.
|
||||||
type: string
|
type: string
|
||||||
value:
|
value:
|
||||||
description: The header field value
|
description: The header field value
|
||||||
@ -1817,7 +1886,9 @@ spec:
|
|||||||
to be used in HTTP probes
|
to be used in HTTP probes
|
||||||
properties:
|
properties:
|
||||||
name:
|
name:
|
||||||
description: The header field name
|
description: The header field name. This will
|
||||||
|
be canonicalized upon output, so case-variant
|
||||||
|
names will be understood as the same header.
|
||||||
type: string
|
type: string
|
||||||
value:
|
value:
|
||||||
description: The header field value
|
description: The header field value
|
||||||
@ -1897,8 +1968,6 @@ spec:
|
|||||||
type: integer
|
type: integer
|
||||||
grpc:
|
grpc:
|
||||||
description: GRPC specifies an action involving a GRPC port.
|
description: GRPC specifies an action involving a GRPC port.
|
||||||
This is a beta field and requires enabling GRPCContainerProbe
|
|
||||||
feature gate.
|
|
||||||
properties:
|
properties:
|
||||||
port:
|
port:
|
||||||
description: Port number of the gRPC service. Number
|
description: Port number of the gRPC service. Number
|
||||||
@ -1930,7 +1999,9 @@ spec:
|
|||||||
to be used in HTTP probes
|
to be used in HTTP probes
|
||||||
properties:
|
properties:
|
||||||
name:
|
name:
|
||||||
description: The header field name
|
description: The header field name. This will
|
||||||
|
be canonicalized upon output, so case-variant
|
||||||
|
names will be understood as the same header.
|
||||||
type: string
|
type: string
|
||||||
value:
|
value:
|
||||||
description: The header field value
|
description: The header field value
|
||||||
@ -2099,8 +2170,6 @@ spec:
|
|||||||
type: integer
|
type: integer
|
||||||
grpc:
|
grpc:
|
||||||
description: GRPC specifies an action involving a GRPC port.
|
description: GRPC specifies an action involving a GRPC port.
|
||||||
This is a beta field and requires enabling GRPCContainerProbe
|
|
||||||
feature gate.
|
|
||||||
properties:
|
properties:
|
||||||
port:
|
port:
|
||||||
description: Port number of the gRPC service. Number
|
description: Port number of the gRPC service. Number
|
||||||
@ -2132,7 +2201,9 @@ spec:
|
|||||||
to be used in HTTP probes
|
to be used in HTTP probes
|
||||||
properties:
|
properties:
|
||||||
name:
|
name:
|
||||||
description: The header field name
|
description: The header field name. This will
|
||||||
|
be canonicalized upon output, so case-variant
|
||||||
|
names will be understood as the same header.
|
||||||
type: string
|
type: string
|
||||||
value:
|
value:
|
||||||
description: The header field value
|
description: The header field value
|
||||||
@ -2221,6 +2292,26 @@ spec:
|
|||||||
format: int32
|
format: int32
|
||||||
type: integer
|
type: integer
|
||||||
type: object
|
type: object
|
||||||
|
resizePolicy:
|
||||||
|
description: Resources resize policy for the container.
|
||||||
|
items:
|
||||||
|
description: ContainerResizePolicy represents resource resize
|
||||||
|
policy for the container.
|
||||||
|
properties:
|
||||||
|
resourceName:
|
||||||
|
description: 'Name of the resource to which this resource
|
||||||
|
resize policy applies. Supported values: cpu, memory.'
|
||||||
|
type: string
|
||||||
|
restartPolicy:
|
||||||
|
description: Restart policy to apply when specified resource
|
||||||
|
is resized. If not specified, it defaults to NotRequired.
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- resourceName
|
||||||
|
- restartPolicy
|
||||||
|
type: object
|
||||||
|
type: array
|
||||||
|
x-kubernetes-list-type: atomic
|
||||||
resources:
|
resources:
|
||||||
description: 'Compute Resources required by this container.
|
description: 'Compute Resources required by this container.
|
||||||
Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
||||||
@ -2229,7 +2320,8 @@ spec:
|
|||||||
description: "Claims lists the names of resources, defined
|
description: "Claims lists the names of resources, defined
|
||||||
in spec.resourceClaims, that are used by this container.
|
in spec.resourceClaims, that are used by this container.
|
||||||
\n This is an alpha field and requires enabling the DynamicResourceAllocation
|
\n This is an alpha field and requires enabling the DynamicResourceAllocation
|
||||||
feature gate. \n This field is immutable."
|
feature gate. \n This field is immutable. It can only
|
||||||
|
be set for containers."
|
||||||
items:
|
items:
|
||||||
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
|
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
|
||||||
properties:
|
properties:
|
||||||
@ -2266,8 +2358,8 @@ spec:
|
|||||||
description: 'Requests describes the minimum amount of compute
|
description: 'Requests describes the minimum amount of compute
|
||||||
resources required. If Requests is omitted for a container,
|
resources required. If Requests is omitted for a container,
|
||||||
it defaults to Limits if that is explicitly specified,
|
it defaults to Limits if that is explicitly specified,
|
||||||
otherwise to an implementation-defined value. More info:
|
otherwise to an implementation-defined value. Requests
|
||||||
https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
securityContext:
|
securityContext:
|
||||||
@ -2480,8 +2572,6 @@ spec:
|
|||||||
type: integer
|
type: integer
|
||||||
grpc:
|
grpc:
|
||||||
description: GRPC specifies an action involving a GRPC port.
|
description: GRPC specifies an action involving a GRPC port.
|
||||||
This is a beta field and requires enabling GRPCContainerProbe
|
|
||||||
feature gate.
|
|
||||||
properties:
|
properties:
|
||||||
port:
|
port:
|
||||||
description: Port number of the gRPC service. Number
|
description: Port number of the gRPC service. Number
|
||||||
@ -2513,7 +2603,9 @@ spec:
|
|||||||
to be used in HTTP probes
|
to be used in HTTP probes
|
||||||
properties:
|
properties:
|
||||||
name:
|
name:
|
||||||
description: The header field name
|
description: The header field name. This will
|
||||||
|
be canonicalized upon output, so case-variant
|
||||||
|
names will be understood as the same header.
|
||||||
type: string
|
type: string
|
||||||
value:
|
value:
|
||||||
description: The header field value
|
description: The header field value
|
||||||
@ -2783,10 +2875,12 @@ spec:
|
|||||||
into the Alertmanager configuration from external sources. Any errors
|
into the Alertmanager configuration from external sources. Any errors
|
||||||
during the execution of an initContainer will lead to a restart
|
during the execution of an initContainer will lead to a restart
|
||||||
of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
|
of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
|
||||||
Using initContainers for any use case other then secret fetching
|
InitContainers described here modify an operator generated init
|
||||||
is entirely outside the scope of what the maintainers will support
|
containers if they share the same name and modifications are done
|
||||||
and by doing so, you accept that this behaviour may break at any
|
via a strategic merge patch. The current init container name is:
|
||||||
time without notice.'
|
`init-config-reloader`. Overriding init containers is entirely outside
|
||||||
|
the scope of what the maintainers will support and by doing so,
|
||||||
|
you accept that this behaviour may break at any time without notice.'
|
||||||
items:
|
items:
|
||||||
description: A single application container that you want to run
|
description: A single application container that you want to run
|
||||||
within a pod.
|
within a pod.
|
||||||
@ -3037,7 +3131,9 @@ spec:
|
|||||||
to be used in HTTP probes
|
to be used in HTTP probes
|
||||||
properties:
|
properties:
|
||||||
name:
|
name:
|
||||||
description: The header field name
|
description: The header field name. This will
|
||||||
|
be canonicalized upon output, so case-variant
|
||||||
|
names will be understood as the same header.
|
||||||
type: string
|
type: string
|
||||||
value:
|
value:
|
||||||
description: The header field value
|
description: The header field value
|
||||||
@ -3133,7 +3229,9 @@ spec:
|
|||||||
to be used in HTTP probes
|
to be used in HTTP probes
|
||||||
properties:
|
properties:
|
||||||
name:
|
name:
|
||||||
description: The header field name
|
description: The header field name. This will
|
||||||
|
be canonicalized upon output, so case-variant
|
||||||
|
names will be understood as the same header.
|
||||||
type: string
|
type: string
|
||||||
value:
|
value:
|
||||||
description: The header field value
|
description: The header field value
|
||||||
@ -3213,8 +3311,6 @@ spec:
|
|||||||
type: integer
|
type: integer
|
||||||
grpc:
|
grpc:
|
||||||
description: GRPC specifies an action involving a GRPC port.
|
description: GRPC specifies an action involving a GRPC port.
|
||||||
This is a beta field and requires enabling GRPCContainerProbe
|
|
||||||
feature gate.
|
|
||||||
properties:
|
properties:
|
||||||
port:
|
port:
|
||||||
description: Port number of the gRPC service. Number
|
description: Port number of the gRPC service. Number
|
||||||
@ -3246,7 +3342,9 @@ spec:
|
|||||||
to be used in HTTP probes
|
to be used in HTTP probes
|
||||||
properties:
|
properties:
|
||||||
name:
|
name:
|
||||||
description: The header field name
|
description: The header field name. This will
|
||||||
|
be canonicalized upon output, so case-variant
|
||||||
|
names will be understood as the same header.
|
||||||
type: string
|
type: string
|
||||||
value:
|
value:
|
||||||
description: The header field value
|
description: The header field value
|
||||||
@ -3415,8 +3513,6 @@ spec:
|
|||||||
type: integer
|
type: integer
|
||||||
grpc:
|
grpc:
|
||||||
description: GRPC specifies an action involving a GRPC port.
|
description: GRPC specifies an action involving a GRPC port.
|
||||||
This is a beta field and requires enabling GRPCContainerProbe
|
|
||||||
feature gate.
|
|
||||||
properties:
|
properties:
|
||||||
port:
|
port:
|
||||||
description: Port number of the gRPC service. Number
|
description: Port number of the gRPC service. Number
|
||||||
@ -3448,7 +3544,9 @@ spec:
|
|||||||
to be used in HTTP probes
|
to be used in HTTP probes
|
||||||
properties:
|
properties:
|
||||||
name:
|
name:
|
||||||
description: The header field name
|
description: The header field name. This will
|
||||||
|
be canonicalized upon output, so case-variant
|
||||||
|
names will be understood as the same header.
|
||||||
type: string
|
type: string
|
||||||
value:
|
value:
|
||||||
description: The header field value
|
description: The header field value
|
||||||
@ -3537,6 +3635,26 @@ spec:
|
|||||||
format: int32
|
format: int32
|
||||||
type: integer
|
type: integer
|
||||||
type: object
|
type: object
|
||||||
|
resizePolicy:
|
||||||
|
description: Resources resize policy for the container.
|
||||||
|
items:
|
||||||
|
description: ContainerResizePolicy represents resource resize
|
||||||
|
policy for the container.
|
||||||
|
properties:
|
||||||
|
resourceName:
|
||||||
|
description: 'Name of the resource to which this resource
|
||||||
|
resize policy applies. Supported values: cpu, memory.'
|
||||||
|
type: string
|
||||||
|
restartPolicy:
|
||||||
|
description: Restart policy to apply when specified resource
|
||||||
|
is resized. If not specified, it defaults to NotRequired.
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- resourceName
|
||||||
|
- restartPolicy
|
||||||
|
type: object
|
||||||
|
type: array
|
||||||
|
x-kubernetes-list-type: atomic
|
||||||
resources:
|
resources:
|
||||||
description: 'Compute Resources required by this container.
|
description: 'Compute Resources required by this container.
|
||||||
Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
||||||
@ -3545,7 +3663,8 @@ spec:
|
|||||||
description: "Claims lists the names of resources, defined
|
description: "Claims lists the names of resources, defined
|
||||||
in spec.resourceClaims, that are used by this container.
|
in spec.resourceClaims, that are used by this container.
|
||||||
\n This is an alpha field and requires enabling the DynamicResourceAllocation
|
\n This is an alpha field and requires enabling the DynamicResourceAllocation
|
||||||
feature gate. \n This field is immutable."
|
feature gate. \n This field is immutable. It can only
|
||||||
|
be set for containers."
|
||||||
items:
|
items:
|
||||||
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
|
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
|
||||||
properties:
|
properties:
|
||||||
@ -3582,8 +3701,8 @@ spec:
|
|||||||
description: 'Requests describes the minimum amount of compute
|
description: 'Requests describes the minimum amount of compute
|
||||||
resources required. If Requests is omitted for a container,
|
resources required. If Requests is omitted for a container,
|
||||||
it defaults to Limits if that is explicitly specified,
|
it defaults to Limits if that is explicitly specified,
|
||||||
otherwise to an implementation-defined value. More info:
|
otherwise to an implementation-defined value. Requests
|
||||||
https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
securityContext:
|
securityContext:
|
||||||
@ -3796,8 +3915,6 @@ spec:
|
|||||||
type: integer
|
type: integer
|
||||||
grpc:
|
grpc:
|
||||||
description: GRPC specifies an action involving a GRPC port.
|
description: GRPC specifies an action involving a GRPC port.
|
||||||
This is a beta field and requires enabling GRPCContainerProbe
|
|
||||||
feature gate.
|
|
||||||
properties:
|
properties:
|
||||||
port:
|
port:
|
||||||
description: Port number of the gRPC service. Number
|
description: Port number of the gRPC service. Number
|
||||||
@ -3829,7 +3946,9 @@ spec:
|
|||||||
to be used in HTTP probes
|
to be used in HTTP probes
|
||||||
properties:
|
properties:
|
||||||
name:
|
name:
|
||||||
description: The header field name
|
description: The header field name. This will
|
||||||
|
be canonicalized upon output, so case-variant
|
||||||
|
names will be understood as the same header.
|
||||||
type: string
|
type: string
|
||||||
value:
|
value:
|
||||||
description: The header field value
|
description: The header field value
|
||||||
@ -4097,8 +4216,9 @@ spec:
|
|||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
portName:
|
portName:
|
||||||
description: Port name used for the pods and governing service. This
|
default: web
|
||||||
defaults to web
|
description: Port name used for the pods and governing service. Defaults
|
||||||
|
to `web`.
|
||||||
type: string
|
type: string
|
||||||
priorityClassName:
|
priorityClassName:
|
||||||
description: Priority class assigned to the Pods
|
description: Priority class assigned to the Pods
|
||||||
@ -4116,7 +4236,8 @@ spec:
|
|||||||
description: "Claims lists the names of resources, defined in
|
description: "Claims lists the names of resources, defined in
|
||||||
spec.resourceClaims, that are used by this container. \n This
|
spec.resourceClaims, that are used by this container. \n This
|
||||||
is an alpha field and requires enabling the DynamicResourceAllocation
|
is an alpha field and requires enabling the DynamicResourceAllocation
|
||||||
feature gate. \n This field is immutable."
|
feature gate. \n This field is immutable. It can only be set
|
||||||
|
for containers."
|
||||||
items:
|
items:
|
||||||
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
|
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
|
||||||
properties:
|
properties:
|
||||||
@ -4152,7 +4273,8 @@ spec:
|
|||||||
description: 'Requests describes the minimum amount of compute
|
description: 'Requests describes the minimum amount of compute
|
||||||
resources required. If Requests is omitted for a container,
|
resources required. If Requests is omitted for a container,
|
||||||
it defaults to Limits if that is explicitly specified, otherwise
|
it defaults to Limits if that is explicitly specified, otherwise
|
||||||
to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
to an implementation-defined value. Requests cannot exceed Limits.
|
||||||
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
retention:
|
retention:
|
||||||
@ -4363,14 +4485,13 @@ spec:
|
|||||||
by the Alertmanager instances.
|
by the Alertmanager instances.
|
||||||
properties:
|
properties:
|
||||||
disableMountSubPath:
|
disableMountSubPath:
|
||||||
description: 'Deprecated: subPath usage will be disabled by default
|
description: '*Deprecated: subPath usage will be removed in a
|
||||||
in a future release, this option will become unnecessary. DisableMountSubPath
|
future release.*'
|
||||||
allows to remove any subPath usage in volume mounts.'
|
|
||||||
type: boolean
|
type: boolean
|
||||||
emptyDir:
|
emptyDir:
|
||||||
description: 'EmptyDirVolumeSource to be used by the StatefulSet.
|
description: 'EmptyDirVolumeSource to be used by the StatefulSet.
|
||||||
If specified, used in place of any volumeClaimTemplate. More
|
If specified, it takes precedence over `ephemeral` and `volumeClaimTemplate`.
|
||||||
info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir'
|
More info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir'
|
||||||
properties:
|
properties:
|
||||||
medium:
|
medium:
|
||||||
description: 'medium represents what type of storage medium
|
description: 'medium represents what type of storage medium
|
||||||
@ -4388,14 +4509,14 @@ spec:
|
|||||||
medium EmptyDir would be the minimum value between the SizeLimit
|
medium EmptyDir would be the minimum value between the SizeLimit
|
||||||
specified here and the sum of memory limits of all containers
|
specified here and the sum of memory limits of all containers
|
||||||
in a pod. The default is nil which means that the limit
|
in a pod. The default is nil which means that the limit
|
||||||
is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir'
|
is undefined. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
|
||||||
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
||||||
x-kubernetes-int-or-string: true
|
x-kubernetes-int-or-string: true
|
||||||
type: object
|
type: object
|
||||||
ephemeral:
|
ephemeral:
|
||||||
description: 'EphemeralVolumeSource to be used by the StatefulSet.
|
description: 'EphemeralVolumeSource to be used by the StatefulSet.
|
||||||
This is a beta field in k8s 1.21, for lower versions, starting
|
This is a beta field in k8s 1.21 and GA in 1.15. For lower versions,
|
||||||
with k8s 1.19, it requires enabling the GenericEphemeralVolume
|
starting with k8s 1.19, it requires enabling the GenericEphemeralVolume
|
||||||
feature gate. More info: https://kubernetes.io/docs/concepts/storage/ephemeral-volumes/#generic-ephemeral-volumes'
|
feature gate. More info: https://kubernetes.io/docs/concepts/storage/ephemeral-volumes/#generic-ephemeral-volumes'
|
||||||
properties:
|
properties:
|
||||||
volumeClaimTemplate:
|
volumeClaimTemplate:
|
||||||
@ -4543,7 +4664,8 @@ spec:
|
|||||||
defined in spec.resourceClaims, that are used
|
defined in spec.resourceClaims, that are used
|
||||||
by this container. \n This is an alpha field
|
by this container. \n This is an alpha field
|
||||||
and requires enabling the DynamicResourceAllocation
|
and requires enabling the DynamicResourceAllocation
|
||||||
feature gate. \n This field is immutable."
|
feature gate. \n This field is immutable. It
|
||||||
|
can only be set for containers."
|
||||||
items:
|
items:
|
||||||
description: ResourceClaim references one entry
|
description: ResourceClaim references one entry
|
||||||
in PodSpec.ResourceClaims.
|
in PodSpec.ResourceClaims.
|
||||||
@ -4582,8 +4704,8 @@ spec:
|
|||||||
of compute resources required. If Requests is
|
of compute resources required. If Requests is
|
||||||
omitted for a container, it defaults to Limits
|
omitted for a container, it defaults to Limits
|
||||||
if that is explicitly specified, otherwise to
|
if that is explicitly specified, otherwise to
|
||||||
an implementation-defined value. More info:
|
an implementation-defined value. Requests cannot
|
||||||
https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
selector:
|
selector:
|
||||||
@ -4654,10 +4776,10 @@ spec:
|
|||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
volumeClaimTemplate:
|
volumeClaimTemplate:
|
||||||
description: A PVC spec to be used by the StatefulSet. The easiest
|
description: Defines the PVC spec to be used by the Prometheus
|
||||||
way to use a volume that cannot be automatically provisioned
|
StatefulSets. The easiest way to use a volume that cannot be
|
||||||
(for whatever reason) is to use a label selector alongside manually
|
automatically provisioned is to use a label selector alongside
|
||||||
created PersistentVolumes.
|
manually created PersistentVolumes.
|
||||||
properties:
|
properties:
|
||||||
apiVersion:
|
apiVersion:
|
||||||
description: 'APIVersion defines the versioned schema of this
|
description: 'APIVersion defines the versioned schema of this
|
||||||
@ -4702,8 +4824,8 @@ spec:
|
|||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
spec:
|
spec:
|
||||||
description: 'Spec defines the desired characteristics of
|
description: 'Defines the desired characteristics of a volume
|
||||||
a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
|
requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
|
||||||
properties:
|
properties:
|
||||||
accessModes:
|
accessModes:
|
||||||
description: 'accessModes contains the desired access
|
description: 'accessModes contains the desired access
|
||||||
@ -4810,7 +4932,8 @@ spec:
|
|||||||
defined in spec.resourceClaims, that are used by
|
defined in spec.resourceClaims, that are used by
|
||||||
this container. \n This is an alpha field and requires
|
this container. \n This is an alpha field and requires
|
||||||
enabling the DynamicResourceAllocation feature gate.
|
enabling the DynamicResourceAllocation feature gate.
|
||||||
\n This field is immutable."
|
\n This field is immutable. It can only be set for
|
||||||
|
containers."
|
||||||
items:
|
items:
|
||||||
description: ResourceClaim references one entry
|
description: ResourceClaim references one entry
|
||||||
in PodSpec.ResourceClaims.
|
in PodSpec.ResourceClaims.
|
||||||
@ -4849,7 +4972,8 @@ spec:
|
|||||||
of compute resources required. If Requests is omitted
|
of compute resources required. If Requests is omitted
|
||||||
for a container, it defaults to Limits if that is
|
for a container, it defaults to Limits if that is
|
||||||
explicitly specified, otherwise to an implementation-defined
|
explicitly specified, otherwise to an implementation-defined
|
||||||
value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
value. Requests cannot exceed Limits. More info:
|
||||||
|
https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
selector:
|
selector:
|
||||||
@ -4914,8 +5038,7 @@ spec:
|
|||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
status:
|
status:
|
||||||
description: 'Status represents the current information/status
|
description: '*Deprecated: this field is never set.*'
|
||||||
of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
|
|
||||||
properties:
|
properties:
|
||||||
accessModes:
|
accessModes:
|
||||||
description: 'accessModes contains the actual access modes
|
description: 'accessModes contains the actual access modes
|
||||||
@ -4959,7 +5082,7 @@ spec:
|
|||||||
volume claim. If underlying persistent volume is being
|
volume claim. If underlying persistent volume is being
|
||||||
resized then the Condition will be set to 'ResizeStarted'.
|
resized then the Condition will be set to 'ResizeStarted'.
|
||||||
items:
|
items:
|
||||||
description: PersistentVolumeClaimCondition contails
|
description: PersistentVolumeClaimCondition contains
|
||||||
details about state of pvc
|
details about state of pvc
|
||||||
properties:
|
properties:
|
||||||
lastProbeTime:
|
lastProbeTime:
|
||||||
@ -5107,14 +5230,18 @@ spec:
|
|||||||
type: object
|
type: object
|
||||||
x-kubernetes-map-type: atomic
|
x-kubernetes-map-type: atomic
|
||||||
matchLabelKeys:
|
matchLabelKeys:
|
||||||
description: MatchLabelKeys is a set of pod label keys to select
|
description: "MatchLabelKeys is a set of pod label keys to select
|
||||||
the pods over which spreading will be calculated. The keys
|
the pods over which spreading will be calculated. The keys
|
||||||
are used to lookup values from the incoming pod labels, those
|
are used to lookup values from the incoming pod labels, those
|
||||||
key-value labels are ANDed with labelSelector to select the
|
key-value labels are ANDed with labelSelector to select the
|
||||||
group of existing pods over which spreading will be calculated
|
group of existing pods over which spreading will be calculated
|
||||||
for the incoming pod. Keys that don't exist in the incoming
|
for the incoming pod. The same key is forbidden to exist in
|
||||||
pod labels will be ignored. A null or empty list means only
|
both MatchLabelKeys and LabelSelector. MatchLabelKeys cannot
|
||||||
match against labelSelector.
|
be set when LabelSelector isn't set. Keys that don't exist
|
||||||
|
in the incoming pod labels will be ignored. A null or empty
|
||||||
|
list means only match against labelSelector. \n This is a
|
||||||
|
beta field and requires the MatchLabelKeysInPodTopologySpread
|
||||||
|
feature gate to be enabled (enabled by default)."
|
||||||
items:
|
items:
|
||||||
type: string
|
type: string
|
||||||
type: array
|
type: array
|
||||||
@ -5655,7 +5782,7 @@ spec:
|
|||||||
medium EmptyDir would be the minimum value between the
|
medium EmptyDir would be the minimum value between the
|
||||||
SizeLimit specified here and the sum of memory limits
|
SizeLimit specified here and the sum of memory limits
|
||||||
of all containers in a pod. The default is nil which means
|
of all containers in a pod. The default is nil which means
|
||||||
that the limit is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir'
|
that the limit is undefined. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
|
||||||
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
||||||
x-kubernetes-int-or-string: true
|
x-kubernetes-int-or-string: true
|
||||||
type: object
|
type: object
|
||||||
@ -5827,7 +5954,8 @@ spec:
|
|||||||
defined in spec.resourceClaims, that are used
|
defined in spec.resourceClaims, that are used
|
||||||
by this container. \n This is an alpha field
|
by this container. \n This is an alpha field
|
||||||
and requires enabling the DynamicResourceAllocation
|
and requires enabling the DynamicResourceAllocation
|
||||||
feature gate. \n This field is immutable."
|
feature gate. \n This field is immutable.
|
||||||
|
It can only be set for containers."
|
||||||
items:
|
items:
|
||||||
description: ResourceClaim references one
|
description: ResourceClaim references one
|
||||||
entry in PodSpec.ResourceClaims.
|
entry in PodSpec.ResourceClaims.
|
||||||
@ -5867,8 +5995,8 @@ spec:
|
|||||||
amount of compute resources required. If Requests
|
amount of compute resources required. If Requests
|
||||||
is omitted for a container, it defaults to
|
is omitted for a container, it defaults to
|
||||||
Limits if that is explicitly specified, otherwise
|
Limits if that is explicitly specified, otherwise
|
||||||
to an implementation-defined value. More info:
|
to an implementation-defined value. Requests
|
||||||
https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
selector:
|
selector:
|
||||||
@ -6829,6 +6957,12 @@ spec:
|
|||||||
web:
|
web:
|
||||||
description: Defines the web command line flags when starting Alertmanager.
|
description: Defines the web command line flags when starting Alertmanager.
|
||||||
properties:
|
properties:
|
||||||
|
getConcurrency:
|
||||||
|
description: Maximum number of GET requests processed concurrently.
|
||||||
|
This corresponds to the Alertmanager's `--web.get-concurrency`
|
||||||
|
flag.
|
||||||
|
format: int32
|
||||||
|
type: integer
|
||||||
httpConfig:
|
httpConfig:
|
||||||
description: Defines HTTP parameters for web server.
|
description: Defines HTTP parameters for web server.
|
||||||
properties:
|
properties:
|
||||||
@ -6876,6 +7010,11 @@ spec:
|
|||||||
a rolling update will be triggered.
|
a rolling update will be triggered.
|
||||||
type: boolean
|
type: boolean
|
||||||
type: object
|
type: object
|
||||||
|
timeout:
|
||||||
|
description: Timeout for HTTP requests. This corresponds to the
|
||||||
|
Alertmanager's `--web.timeout` flag.
|
||||||
|
format: int32
|
||||||
|
type: integer
|
||||||
tlsConfig:
|
tlsConfig:
|
||||||
description: Defines the TLS parameters for HTTPS.
|
description: Defines the TLS parameters for HTTPS.
|
||||||
properties:
|
properties:
|
||||||
@ -7040,7 +7179,7 @@ spec:
|
|||||||
description: The current state of the Alertmanager object.
|
description: The current state of the Alertmanager object.
|
||||||
items:
|
items:
|
||||||
description: Condition represents the state of the resources associated
|
description: Condition represents the state of the resources associated
|
||||||
with the Prometheus or Alertmanager resource.
|
with the Prometheus, Alertmanager or ThanosRuler resource.
|
||||||
properties:
|
properties:
|
||||||
lastTransitionTime:
|
lastTransitionTime:
|
||||||
description: lastTransitionTime is the time of the last update
|
description: lastTransitionTime is the time of the last update
|
@ -1,10 +1,11 @@
|
|||||||
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.63.0/example/prometheus-operator-crd/monitoring.coreos.com_podmonitors.yaml
|
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.66.0/example/prometheus-operator-crd/monitoring.coreos.com_podmonitors.yaml
|
||||||
---
|
---
|
||||||
apiVersion: apiextensions.k8s.io/v1
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
kind: CustomResourceDefinition
|
kind: CustomResourceDefinition
|
||||||
metadata:
|
metadata:
|
||||||
annotations:
|
annotations:
|
||||||
controller-gen.kubebuilder.io/version: v0.11.1
|
controller-gen.kubebuilder.io/version: v0.11.1
|
||||||
|
argocd.argoproj.io/sync-options: ServerSideApply=true
|
||||||
creationTimestamp: null
|
creationTimestamp: null
|
||||||
name: podmonitors.monitoring.coreos.com
|
name: podmonitors.monitoring.coreos.com
|
||||||
spec:
|
spec:
|
||||||
@ -241,6 +242,10 @@ spec:
|
|||||||
- Lowercase
|
- Lowercase
|
||||||
- uppercase
|
- uppercase
|
||||||
- Uppercase
|
- Uppercase
|
||||||
|
- keepequal
|
||||||
|
- KeepEqual
|
||||||
|
- dropequal
|
||||||
|
- DropEqual
|
||||||
type: string
|
type: string
|
||||||
modulus:
|
modulus:
|
||||||
description: Modulus to take of the hash of the source
|
description: Modulus to take of the hash of the source
|
||||||
@ -421,6 +426,10 @@ spec:
|
|||||||
- Lowercase
|
- Lowercase
|
||||||
- uppercase
|
- uppercase
|
||||||
- Uppercase
|
- Uppercase
|
||||||
|
- keepequal
|
||||||
|
- KeepEqual
|
||||||
|
- dropequal
|
||||||
|
- DropEqual
|
||||||
type: string
|
type: string
|
||||||
modulus:
|
modulus:
|
||||||
description: Modulus to take of the hash of the source
|
description: Modulus to take of the hash of the source
|
||||||
@ -460,7 +469,13 @@ spec:
|
|||||||
type: object
|
type: object
|
||||||
type: array
|
type: array
|
||||||
scheme:
|
scheme:
|
||||||
description: HTTP scheme to use for scraping.
|
description: HTTP scheme to use for scraping. `http` and `https`
|
||||||
|
are the expected values unless you rewrite the `__scheme__`
|
||||||
|
label via relabeling. If empty, Prometheus uses the default
|
||||||
|
value `http`.
|
||||||
|
enum:
|
||||||
|
- http
|
||||||
|
- https
|
||||||
type: string
|
type: string
|
||||||
scrapeTimeout:
|
scrapeTimeout:
|
||||||
description: Timeout after which the scrape is ended If not
|
description: Timeout after which the scrape is ended If not
|
@ -1,10 +1,11 @@
|
|||||||
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.63.0/example/prometheus-operator-crd/monitoring.coreos.com_probes.yaml
|
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.66.0/example/prometheus-operator-crd/monitoring.coreos.com_probes.yaml
|
||||||
---
|
---
|
||||||
apiVersion: apiextensions.k8s.io/v1
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
kind: CustomResourceDefinition
|
kind: CustomResourceDefinition
|
||||||
metadata:
|
metadata:
|
||||||
annotations:
|
annotations:
|
||||||
controller-gen.kubebuilder.io/version: v0.11.1
|
controller-gen.kubebuilder.io/version: v0.11.1
|
||||||
|
argocd.argoproj.io/sync-options: ServerSideApply=true
|
||||||
creationTimestamp: null
|
creationTimestamp: null
|
||||||
name: probes.monitoring.coreos.com
|
name: probes.monitoring.coreos.com
|
||||||
spec:
|
spec:
|
||||||
@ -190,6 +191,10 @@ spec:
|
|||||||
- Lowercase
|
- Lowercase
|
||||||
- uppercase
|
- uppercase
|
||||||
- Uppercase
|
- Uppercase
|
||||||
|
- keepequal
|
||||||
|
- KeepEqual
|
||||||
|
- dropequal
|
||||||
|
- DropEqual
|
||||||
type: string
|
type: string
|
||||||
modulus:
|
modulus:
|
||||||
description: Modulus to take of the hash of the source label
|
description: Modulus to take of the hash of the source label
|
||||||
@ -329,7 +334,13 @@ spec:
|
|||||||
description: Optional ProxyURL.
|
description: Optional ProxyURL.
|
||||||
type: string
|
type: string
|
||||||
scheme:
|
scheme:
|
||||||
description: HTTP scheme to use for scraping. Defaults to `http`.
|
description: HTTP scheme to use for scraping. `http` and `https`
|
||||||
|
are the expected values unless you rewrite the `__scheme__`
|
||||||
|
label via relabeling. If empty, Prometheus uses the default
|
||||||
|
value `http`.
|
||||||
|
enum:
|
||||||
|
- http
|
||||||
|
- https
|
||||||
type: string
|
type: string
|
||||||
url:
|
url:
|
||||||
description: Mandatory URL of the prober.
|
description: Mandatory URL of the prober.
|
||||||
@ -344,7 +355,7 @@ spec:
|
|||||||
type: integer
|
type: integer
|
||||||
scrapeTimeout:
|
scrapeTimeout:
|
||||||
description: Timeout for scraping metrics from the Prometheus exporter.
|
description: Timeout for scraping metrics from the Prometheus exporter.
|
||||||
If not specified, the Prometheus global scrape interval is used.
|
If not specified, the Prometheus global scrape timeout is used.
|
||||||
pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
|
pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
|
||||||
type: string
|
type: string
|
||||||
targetLimit:
|
targetLimit:
|
||||||
@ -411,6 +422,10 @@ spec:
|
|||||||
- Lowercase
|
- Lowercase
|
||||||
- uppercase
|
- uppercase
|
||||||
- Uppercase
|
- Uppercase
|
||||||
|
- keepequal
|
||||||
|
- KeepEqual
|
||||||
|
- dropequal
|
||||||
|
- DropEqual
|
||||||
type: string
|
type: string
|
||||||
modulus:
|
modulus:
|
||||||
description: Modulus to take of the hash of the source
|
description: Modulus to take of the hash of the source
|
||||||
@ -540,6 +555,10 @@ spec:
|
|||||||
- Lowercase
|
- Lowercase
|
||||||
- uppercase
|
- uppercase
|
||||||
- Uppercase
|
- Uppercase
|
||||||
|
- keepequal
|
||||||
|
- KeepEqual
|
||||||
|
- dropequal
|
||||||
|
- DropEqual
|
||||||
type: string
|
type: string
|
||||||
modulus:
|
modulus:
|
||||||
description: Modulus to take of the hash of the source
|
description: Modulus to take of the hash of the source
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,10 +1,11 @@
|
|||||||
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.63.0/example/prometheus-operator-crd/monitoring.coreos.com_prometheusrules.yaml
|
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.66.0/example/prometheus-operator-crd/monitoring.coreos.com_prometheusrules.yaml
|
||||||
---
|
---
|
||||||
apiVersion: apiextensions.k8s.io/v1
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
kind: CustomResourceDefinition
|
kind: CustomResourceDefinition
|
||||||
metadata:
|
metadata:
|
||||||
annotations:
|
annotations:
|
||||||
controller-gen.kubebuilder.io/version: v0.11.1
|
controller-gen.kubebuilder.io/version: v0.11.1
|
||||||
|
argocd.argoproj.io/sync-options: ServerSideApply=true
|
||||||
creationTimestamp: null
|
creationTimestamp: null
|
||||||
name: prometheusrules.monitoring.coreos.com
|
name: prometheusrules.monitoring.coreos.com
|
||||||
spec:
|
spec:
|
||||||
@ -52,6 +53,11 @@ spec:
|
|||||||
are evaluated.
|
are evaluated.
|
||||||
pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
|
pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
|
||||||
type: string
|
type: string
|
||||||
|
limit:
|
||||||
|
description: Limit the number of alerts an alerting rule and
|
||||||
|
series a recording rule can produce. Limit is supported starting
|
||||||
|
with Prometheus >= 2.31 and Thanos Ruler >= 0.24.
|
||||||
|
type: integer
|
||||||
name:
|
name:
|
||||||
description: Name of the rule group.
|
description: Name of the rule group.
|
||||||
minLength: 1
|
minLength: 1
|
||||||
@ -90,6 +96,13 @@ spec:
|
|||||||
been returned for this long.
|
been returned for this long.
|
||||||
pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
|
pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
|
||||||
type: string
|
type: string
|
||||||
|
keep_firing_for:
|
||||||
|
description: KeepFiringFor defines how long an alert will
|
||||||
|
continue firing after the condition that triggered it
|
||||||
|
has cleared.
|
||||||
|
minLength: 1
|
||||||
|
pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
|
||||||
|
type: string
|
||||||
labels:
|
labels:
|
||||||
additionalProperties:
|
additionalProperties:
|
||||||
type: string
|
type: string
|
||||||
@ -106,7 +119,6 @@ spec:
|
|||||||
type: array
|
type: array
|
||||||
required:
|
required:
|
||||||
- name
|
- name
|
||||||
- rules
|
|
||||||
type: object
|
type: object
|
||||||
type: array
|
type: array
|
||||||
x-kubernetes-list-map-keys:
|
x-kubernetes-list-map-keys:
|
@ -0,0 +1,358 @@
|
|||||||
|
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.66.0/example/prometheus-operator-crd/monitoring.coreos.com_scrapeconfigs.yaml
|
||||||
|
---
|
||||||
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
|
kind: CustomResourceDefinition
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
controller-gen.kubebuilder.io/version: v0.11.1
|
||||||
|
argocd.argoproj.io/sync-options: ServerSideApply=true
|
||||||
|
creationTimestamp: null
|
||||||
|
name: scrapeconfigs.monitoring.coreos.com
|
||||||
|
spec:
|
||||||
|
group: monitoring.coreos.com
|
||||||
|
names:
|
||||||
|
categories:
|
||||||
|
- prometheus-operator
|
||||||
|
kind: ScrapeConfig
|
||||||
|
listKind: ScrapeConfigList
|
||||||
|
plural: scrapeconfigs
|
||||||
|
shortNames:
|
||||||
|
- scfg
|
||||||
|
singular: scrapeconfig
|
||||||
|
scope: Namespaced
|
||||||
|
versions:
|
||||||
|
- name: v1alpha1
|
||||||
|
schema:
|
||||||
|
openAPIV3Schema:
|
||||||
|
description: ScrapeConfig defines a namespaced Prometheus scrape_config to
|
||||||
|
be aggregated across multiple namespaces into the Prometheus configuration.
|
||||||
|
properties:
|
||||||
|
apiVersion:
|
||||||
|
description: 'APIVersion defines the versioned schema of this representation
|
||||||
|
of an object. Servers should convert recognized schemas to the latest
|
||||||
|
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
||||||
|
type: string
|
||||||
|
kind:
|
||||||
|
description: 'Kind is a string value representing the REST resource this
|
||||||
|
object represents. Servers may infer this from the endpoint the client
|
||||||
|
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
||||||
|
type: string
|
||||||
|
metadata:
|
||||||
|
type: object
|
||||||
|
spec:
|
||||||
|
description: ScrapeConfigSpec is a specification of the desired configuration
|
||||||
|
for a scrape configuration.
|
||||||
|
properties:
|
||||||
|
authorization:
|
||||||
|
description: Authorization header to use on every scrape request.
|
||||||
|
properties:
|
||||||
|
credentials:
|
||||||
|
description: The secret's key that contains the credentials of
|
||||||
|
the request
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
description: The key of the secret to select from. Must be
|
||||||
|
a valid secret key.
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind, uid?'
|
||||||
|
type: string
|
||||||
|
optional:
|
||||||
|
description: Specify whether the Secret or its key must be
|
||||||
|
defined
|
||||||
|
type: boolean
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
type: object
|
||||||
|
x-kubernetes-map-type: atomic
|
||||||
|
type:
|
||||||
|
description: Set the authentication type. Defaults to Bearer,
|
||||||
|
Basic will cause an error
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
basicAuth:
|
||||||
|
description: BasicAuth information to use on every scrape request.
|
||||||
|
properties:
|
||||||
|
password:
|
||||||
|
description: The secret in the service monitor namespace that
|
||||||
|
contains the password for authentication.
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
description: The key of the secret to select from. Must be
|
||||||
|
a valid secret key.
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind, uid?'
|
||||||
|
type: string
|
||||||
|
optional:
|
||||||
|
description: Specify whether the Secret or its key must be
|
||||||
|
defined
|
||||||
|
type: boolean
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
type: object
|
||||||
|
x-kubernetes-map-type: atomic
|
||||||
|
username:
|
||||||
|
description: The secret in the service monitor namespace that
|
||||||
|
contains the username for authentication.
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
description: The key of the secret to select from. Must be
|
||||||
|
a valid secret key.
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind, uid?'
|
||||||
|
type: string
|
||||||
|
optional:
|
||||||
|
description: Specify whether the Secret or its key must be
|
||||||
|
defined
|
||||||
|
type: boolean
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
type: object
|
||||||
|
x-kubernetes-map-type: atomic
|
||||||
|
type: object
|
||||||
|
fileSDConfigs:
|
||||||
|
description: FileSDConfigs defines a list of file service discovery
|
||||||
|
configurations.
|
||||||
|
items:
|
||||||
|
description: FileSDConfig defines a Prometheus file service discovery
|
||||||
|
configuration See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#file_sd_config
|
||||||
|
properties:
|
||||||
|
files:
|
||||||
|
description: 'List of files to be used for file discovery. Recommendation:
|
||||||
|
use absolute paths. While relative paths work, the prometheus-operator
|
||||||
|
project makes no guarantees about the working directory where
|
||||||
|
the configuration file is stored. Files must be mounted using
|
||||||
|
Prometheus.ConfigMaps or Prometheus.Secrets.'
|
||||||
|
items:
|
||||||
|
description: SDFile represents a file used for service discovery
|
||||||
|
pattern: ^[^*]*(\*[^/]*)?\.(json|yml|yaml|JSON|YML|YAML)$
|
||||||
|
type: string
|
||||||
|
minItems: 1
|
||||||
|
type: array
|
||||||
|
refreshInterval:
|
||||||
|
description: RefreshInterval configures the refresh interval
|
||||||
|
at which Prometheus will reload the content of the files.
|
||||||
|
pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- files
|
||||||
|
type: object
|
||||||
|
type: array
|
||||||
|
honorLabels:
|
||||||
|
description: HonorLabels chooses the metric's labels on collisions
|
||||||
|
with target labels.
|
||||||
|
type: boolean
|
||||||
|
honorTimestamps:
|
||||||
|
description: HonorTimestamps controls whether Prometheus respects
|
||||||
|
the timestamps present in scraped data.
|
||||||
|
type: boolean
|
||||||
|
httpSDConfigs:
|
||||||
|
description: HTTPSDConfigs defines a list of HTTP service discovery
|
||||||
|
configurations.
|
||||||
|
items:
|
||||||
|
description: HTTPSDConfig defines a prometheus HTTP service discovery
|
||||||
|
configuration See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#http_sd_config
|
||||||
|
properties:
|
||||||
|
authorization:
|
||||||
|
description: Authorization header configuration to authenticate
|
||||||
|
against the target HTTP endpoint.
|
||||||
|
properties:
|
||||||
|
credentials:
|
||||||
|
description: The secret's key that contains the credentials
|
||||||
|
of the request
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
description: The key of the secret to select from. Must
|
||||||
|
be a valid secret key.
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind, uid?'
|
||||||
|
type: string
|
||||||
|
optional:
|
||||||
|
description: Specify whether the Secret or its key must
|
||||||
|
be defined
|
||||||
|
type: boolean
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
type: object
|
||||||
|
x-kubernetes-map-type: atomic
|
||||||
|
type:
|
||||||
|
description: Set the authentication type. Defaults to Bearer,
|
||||||
|
Basic will cause an error
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
basicAuth:
|
||||||
|
description: 'BasicAuth information to authenticate against
|
||||||
|
the target HTTP endpoint. More info: https://prometheus.io/docs/operating/configuration/#endpoints'
|
||||||
|
properties:
|
||||||
|
password:
|
||||||
|
description: The secret in the service monitor namespace
|
||||||
|
that contains the password for authentication.
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
description: The key of the secret to select from. Must
|
||||||
|
be a valid secret key.
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind, uid?'
|
||||||
|
type: string
|
||||||
|
optional:
|
||||||
|
description: Specify whether the Secret or its key must
|
||||||
|
be defined
|
||||||
|
type: boolean
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
type: object
|
||||||
|
x-kubernetes-map-type: atomic
|
||||||
|
username:
|
||||||
|
description: The secret in the service monitor namespace
|
||||||
|
that contains the username for authentication.
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
description: The key of the secret to select from. Must
|
||||||
|
be a valid secret key.
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind, uid?'
|
||||||
|
type: string
|
||||||
|
optional:
|
||||||
|
description: Specify whether the Secret or its key must
|
||||||
|
be defined
|
||||||
|
type: boolean
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
type: object
|
||||||
|
x-kubernetes-map-type: atomic
|
||||||
|
type: object
|
||||||
|
refreshInterval:
|
||||||
|
description: RefreshInterval configures the refresh interval
|
||||||
|
at which Prometheus will re-query the endpoint to update the
|
||||||
|
target list.
|
||||||
|
pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
|
||||||
|
type: string
|
||||||
|
url:
|
||||||
|
description: URL from which the targets are fetched.
|
||||||
|
minLength: 1
|
||||||
|
pattern: ^http(s)?://.+$
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- url
|
||||||
|
type: object
|
||||||
|
type: array
|
||||||
|
metricsPath:
|
||||||
|
description: MetricsPath HTTP path to scrape for metrics. If empty,
|
||||||
|
Prometheus uses the default value (e.g. /metrics).
|
||||||
|
type: string
|
||||||
|
relabelings:
|
||||||
|
description: 'RelabelConfigs defines how to rewrite the target''s
|
||||||
|
labels before scraping. Prometheus Operator automatically adds relabelings
|
||||||
|
for a few standard Kubernetes fields. The original scrape job''s
|
||||||
|
name is available via the `__tmp_prometheus_job_name` label. More
|
||||||
|
info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config'
|
||||||
|
items:
|
||||||
|
description: 'RelabelConfig allows dynamic rewriting of the label
|
||||||
|
set, being applied to samples before ingestion. It defines `<metric_relabel_configs>`-section
|
||||||
|
of Prometheus configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs'
|
||||||
|
properties:
|
||||||
|
action:
|
||||||
|
default: replace
|
||||||
|
description: Action to perform based on regex matching. Default
|
||||||
|
is 'replace'. uppercase and lowercase actions require Prometheus
|
||||||
|
>= 2.36.
|
||||||
|
enum:
|
||||||
|
- replace
|
||||||
|
- Replace
|
||||||
|
- keep
|
||||||
|
- Keep
|
||||||
|
- drop
|
||||||
|
- Drop
|
||||||
|
- hashmod
|
||||||
|
- HashMod
|
||||||
|
- labelmap
|
||||||
|
- LabelMap
|
||||||
|
- labeldrop
|
||||||
|
- LabelDrop
|
||||||
|
- labelkeep
|
||||||
|
- LabelKeep
|
||||||
|
- lowercase
|
||||||
|
- Lowercase
|
||||||
|
- uppercase
|
||||||
|
- Uppercase
|
||||||
|
- keepequal
|
||||||
|
- KeepEqual
|
||||||
|
- dropequal
|
||||||
|
- DropEqual
|
||||||
|
type: string
|
||||||
|
modulus:
|
||||||
|
description: Modulus to take of the hash of the source label
|
||||||
|
values.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
|
regex:
|
||||||
|
description: Regular expression against which the extracted
|
||||||
|
value is matched. Default is '(.*)'
|
||||||
|
type: string
|
||||||
|
replacement:
|
||||||
|
description: Replacement value against which a regex replace
|
||||||
|
is performed if the regular expression matches. Regex capture
|
||||||
|
groups are available. Default is '$1'
|
||||||
|
type: string
|
||||||
|
separator:
|
||||||
|
description: Separator placed between concatenated source label
|
||||||
|
values. default is ';'.
|
||||||
|
type: string
|
||||||
|
sourceLabels:
|
||||||
|
description: The source labels select values from existing labels.
|
||||||
|
Their content is concatenated using the configured separator
|
||||||
|
and matched against the configured regular expression for
|
||||||
|
the replace, keep, and drop actions.
|
||||||
|
items:
|
||||||
|
description: LabelName is a valid Prometheus label name which
|
||||||
|
may only contain ASCII letters, numbers, as well as underscores.
|
||||||
|
pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$
|
||||||
|
type: string
|
||||||
|
type: array
|
||||||
|
targetLabel:
|
||||||
|
description: Label to which the resulting value is written in
|
||||||
|
a replace action. It is mandatory for replace actions. Regex
|
||||||
|
capture groups are available.
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
type: array
|
||||||
|
staticConfigs:
|
||||||
|
description: StaticConfigs defines a list of static targets with a
|
||||||
|
common label set.
|
||||||
|
items:
|
||||||
|
description: StaticConfig defines a Prometheus static configuration.
|
||||||
|
See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config
|
||||||
|
properties:
|
||||||
|
labels:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
description: Labels assigned to all metrics scraped from the
|
||||||
|
targets.
|
||||||
|
type: object
|
||||||
|
x-kubernetes-map-type: atomic
|
||||||
|
targets:
|
||||||
|
description: List of targets for this static configuration.
|
||||||
|
items:
|
||||||
|
description: Target represents a target for Prometheus to
|
||||||
|
scrape
|
||||||
|
type: string
|
||||||
|
type: array
|
||||||
|
type: object
|
||||||
|
type: array
|
||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- spec
|
||||||
|
type: object
|
||||||
|
served: true
|
||||||
|
storage: true
|
@ -1,10 +1,11 @@
|
|||||||
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.63.0/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml
|
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.66.0/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml
|
||||||
---
|
---
|
||||||
apiVersion: apiextensions.k8s.io/v1
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
kind: CustomResourceDefinition
|
kind: CustomResourceDefinition
|
||||||
metadata:
|
metadata:
|
||||||
annotations:
|
annotations:
|
||||||
controller-gen.kubebuilder.io/version: v0.11.1
|
controller-gen.kubebuilder.io/version: v0.11.1
|
||||||
|
argocd.argoproj.io/sync-options: ServerSideApply=true
|
||||||
creationTimestamp: null
|
creationTimestamp: null
|
||||||
name: servicemonitors.monitoring.coreos.com
|
name: servicemonitors.monitoring.coreos.com
|
||||||
spec:
|
spec:
|
||||||
@ -210,6 +211,10 @@ spec:
|
|||||||
- Lowercase
|
- Lowercase
|
||||||
- uppercase
|
- uppercase
|
||||||
- Uppercase
|
- Uppercase
|
||||||
|
- keepequal
|
||||||
|
- KeepEqual
|
||||||
|
- dropequal
|
||||||
|
- DropEqual
|
||||||
type: string
|
type: string
|
||||||
modulus:
|
modulus:
|
||||||
description: Modulus to take of the hash of the source
|
description: Modulus to take of the hash of the source
|
||||||
@ -390,6 +395,10 @@ spec:
|
|||||||
- Lowercase
|
- Lowercase
|
||||||
- uppercase
|
- uppercase
|
||||||
- Uppercase
|
- Uppercase
|
||||||
|
- keepequal
|
||||||
|
- KeepEqual
|
||||||
|
- dropequal
|
||||||
|
- DropEqual
|
||||||
type: string
|
type: string
|
||||||
modulus:
|
modulus:
|
||||||
description: Modulus to take of the hash of the source
|
description: Modulus to take of the hash of the source
|
||||||
@ -429,7 +438,13 @@ spec:
|
|||||||
type: object
|
type: object
|
||||||
type: array
|
type: array
|
||||||
scheme:
|
scheme:
|
||||||
description: HTTP scheme to use for scraping.
|
description: HTTP scheme to use for scraping. `http` and `https`
|
||||||
|
are the expected values unless you rewrite the `__scheme__`
|
||||||
|
label via relabeling. If empty, Prometheus uses the default
|
||||||
|
value `http`.
|
||||||
|
enum:
|
||||||
|
- http
|
||||||
|
- https
|
||||||
type: string
|
type: string
|
||||||
scrapeTimeout:
|
scrapeTimeout:
|
||||||
description: Timeout after which the scrape is ended If not
|
description: Timeout after which the scrape is ended If not
|
@ -1,10 +1,11 @@
|
|||||||
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.63.0/example/prometheus-operator-crd/monitoring.coreos.com_thanosrulers.yaml
|
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.66.0/example/prometheus-operator-crd/monitoring.coreos.com_thanosrulers.yaml
|
||||||
---
|
---
|
||||||
apiVersion: apiextensions.k8s.io/v1
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
kind: CustomResourceDefinition
|
kind: CustomResourceDefinition
|
||||||
metadata:
|
metadata:
|
||||||
annotations:
|
annotations:
|
||||||
controller-gen.kubebuilder.io/version: v0.11.1
|
controller-gen.kubebuilder.io/version: v0.11.1
|
||||||
|
argocd.argoproj.io/sync-options: ServerSideApply=true
|
||||||
creationTimestamp: null
|
creationTimestamp: null
|
||||||
name: thanosrulers.monitoring.coreos.com
|
name: thanosrulers.monitoring.coreos.com
|
||||||
spec:
|
spec:
|
||||||
@ -21,10 +22,24 @@ spec:
|
|||||||
scope: Namespaced
|
scope: Namespaced
|
||||||
versions:
|
versions:
|
||||||
- additionalPrinterColumns:
|
- additionalPrinterColumns:
|
||||||
|
- description: The version of Thanos Ruler
|
||||||
|
jsonPath: .spec.version
|
||||||
|
name: Version
|
||||||
|
type: string
|
||||||
- description: The number of desired replicas
|
- description: The number of desired replicas
|
||||||
jsonPath: .spec.replicas
|
jsonPath: .spec.replicas
|
||||||
name: Replicas
|
name: Replicas
|
||||||
type: integer
|
type: integer
|
||||||
|
- description: The number of ready replicas
|
||||||
|
jsonPath: .status.availableReplicas
|
||||||
|
name: Ready
|
||||||
|
type: integer
|
||||||
|
- jsonPath: .status.conditions[?(@.type == 'Reconciled')].status
|
||||||
|
name: Reconciled
|
||||||
|
type: string
|
||||||
|
- jsonPath: .status.conditions[?(@.type == 'Available')].status
|
||||||
|
name: Available
|
||||||
|
type: string
|
||||||
- jsonPath: .metadata.creationTimestamp
|
- jsonPath: .metadata.creationTimestamp
|
||||||
name: Age
|
name: Age
|
||||||
type: date
|
type: date
|
||||||
@ -1234,7 +1249,9 @@ spec:
|
|||||||
to be used in HTTP probes
|
to be used in HTTP probes
|
||||||
properties:
|
properties:
|
||||||
name:
|
name:
|
||||||
description: The header field name
|
description: The header field name. This will
|
||||||
|
be canonicalized upon output, so case-variant
|
||||||
|
names will be understood as the same header.
|
||||||
type: string
|
type: string
|
||||||
value:
|
value:
|
||||||
description: The header field value
|
description: The header field value
|
||||||
@ -1330,7 +1347,9 @@ spec:
|
|||||||
to be used in HTTP probes
|
to be used in HTTP probes
|
||||||
properties:
|
properties:
|
||||||
name:
|
name:
|
||||||
description: The header field name
|
description: The header field name. This will
|
||||||
|
be canonicalized upon output, so case-variant
|
||||||
|
names will be understood as the same header.
|
||||||
type: string
|
type: string
|
||||||
value:
|
value:
|
||||||
description: The header field value
|
description: The header field value
|
||||||
@ -1410,8 +1429,6 @@ spec:
|
|||||||
type: integer
|
type: integer
|
||||||
grpc:
|
grpc:
|
||||||
description: GRPC specifies an action involving a GRPC port.
|
description: GRPC specifies an action involving a GRPC port.
|
||||||
This is a beta field and requires enabling GRPCContainerProbe
|
|
||||||
feature gate.
|
|
||||||
properties:
|
properties:
|
||||||
port:
|
port:
|
||||||
description: Port number of the gRPC service. Number
|
description: Port number of the gRPC service. Number
|
||||||
@ -1443,7 +1460,9 @@ spec:
|
|||||||
to be used in HTTP probes
|
to be used in HTTP probes
|
||||||
properties:
|
properties:
|
||||||
name:
|
name:
|
||||||
description: The header field name
|
description: The header field name. This will
|
||||||
|
be canonicalized upon output, so case-variant
|
||||||
|
names will be understood as the same header.
|
||||||
type: string
|
type: string
|
||||||
value:
|
value:
|
||||||
description: The header field value
|
description: The header field value
|
||||||
@ -1612,8 +1631,6 @@ spec:
|
|||||||
type: integer
|
type: integer
|
||||||
grpc:
|
grpc:
|
||||||
description: GRPC specifies an action involving a GRPC port.
|
description: GRPC specifies an action involving a GRPC port.
|
||||||
This is a beta field and requires enabling GRPCContainerProbe
|
|
||||||
feature gate.
|
|
||||||
properties:
|
properties:
|
||||||
port:
|
port:
|
||||||
description: Port number of the gRPC service. Number
|
description: Port number of the gRPC service. Number
|
||||||
@ -1645,7 +1662,9 @@ spec:
|
|||||||
to be used in HTTP probes
|
to be used in HTTP probes
|
||||||
properties:
|
properties:
|
||||||
name:
|
name:
|
||||||
description: The header field name
|
description: The header field name. This will
|
||||||
|
be canonicalized upon output, so case-variant
|
||||||
|
names will be understood as the same header.
|
||||||
type: string
|
type: string
|
||||||
value:
|
value:
|
||||||
description: The header field value
|
description: The header field value
|
||||||
@ -1734,6 +1753,26 @@ spec:
|
|||||||
format: int32
|
format: int32
|
||||||
type: integer
|
type: integer
|
||||||
type: object
|
type: object
|
||||||
|
resizePolicy:
|
||||||
|
description: Resources resize policy for the container.
|
||||||
|
items:
|
||||||
|
description: ContainerResizePolicy represents resource resize
|
||||||
|
policy for the container.
|
||||||
|
properties:
|
||||||
|
resourceName:
|
||||||
|
description: 'Name of the resource to which this resource
|
||||||
|
resize policy applies. Supported values: cpu, memory.'
|
||||||
|
type: string
|
||||||
|
restartPolicy:
|
||||||
|
description: Restart policy to apply when specified resource
|
||||||
|
is resized. If not specified, it defaults to NotRequired.
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- resourceName
|
||||||
|
- restartPolicy
|
||||||
|
type: object
|
||||||
|
type: array
|
||||||
|
x-kubernetes-list-type: atomic
|
||||||
resources:
|
resources:
|
||||||
description: 'Compute Resources required by this container.
|
description: 'Compute Resources required by this container.
|
||||||
Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
||||||
@ -1742,7 +1781,8 @@ spec:
|
|||||||
description: "Claims lists the names of resources, defined
|
description: "Claims lists the names of resources, defined
|
||||||
in spec.resourceClaims, that are used by this container.
|
in spec.resourceClaims, that are used by this container.
|
||||||
\n This is an alpha field and requires enabling the DynamicResourceAllocation
|
\n This is an alpha field and requires enabling the DynamicResourceAllocation
|
||||||
feature gate. \n This field is immutable."
|
feature gate. \n This field is immutable. It can only
|
||||||
|
be set for containers."
|
||||||
items:
|
items:
|
||||||
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
|
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
|
||||||
properties:
|
properties:
|
||||||
@ -1779,8 +1819,8 @@ spec:
|
|||||||
description: 'Requests describes the minimum amount of compute
|
description: 'Requests describes the minimum amount of compute
|
||||||
resources required. If Requests is omitted for a container,
|
resources required. If Requests is omitted for a container,
|
||||||
it defaults to Limits if that is explicitly specified,
|
it defaults to Limits if that is explicitly specified,
|
||||||
otherwise to an implementation-defined value. More info:
|
otherwise to an implementation-defined value. Requests
|
||||||
https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
securityContext:
|
securityContext:
|
||||||
@ -1993,8 +2033,6 @@ spec:
|
|||||||
type: integer
|
type: integer
|
||||||
grpc:
|
grpc:
|
||||||
description: GRPC specifies an action involving a GRPC port.
|
description: GRPC specifies an action involving a GRPC port.
|
||||||
This is a beta field and requires enabling GRPCContainerProbe
|
|
||||||
feature gate.
|
|
||||||
properties:
|
properties:
|
||||||
port:
|
port:
|
||||||
description: Port number of the gRPC service. Number
|
description: Port number of the gRPC service. Number
|
||||||
@ -2026,7 +2064,9 @@ spec:
|
|||||||
to be used in HTTP probes
|
to be used in HTTP probes
|
||||||
properties:
|
properties:
|
||||||
name:
|
name:
|
||||||
description: The header field name
|
description: The header field name. This will
|
||||||
|
be canonicalized upon output, so case-variant
|
||||||
|
names will be understood as the same header.
|
||||||
type: string
|
type: string
|
||||||
value:
|
value:
|
||||||
description: The header field value
|
description: The header field value
|
||||||
@ -2253,7 +2293,7 @@ spec:
|
|||||||
type: string
|
type: string
|
||||||
name:
|
name:
|
||||||
description: Name of the referent. When not set, all resources
|
description: Name of the referent. When not set, all resources
|
||||||
are matched.
|
in the namespace are matched.
|
||||||
type: string
|
type: string
|
||||||
namespace:
|
namespace:
|
||||||
description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
|
description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
|
||||||
@ -2713,7 +2753,9 @@ spec:
|
|||||||
to be used in HTTP probes
|
to be used in HTTP probes
|
||||||
properties:
|
properties:
|
||||||
name:
|
name:
|
||||||
description: The header field name
|
description: The header field name. This will
|
||||||
|
be canonicalized upon output, so case-variant
|
||||||
|
names will be understood as the same header.
|
||||||
type: string
|
type: string
|
||||||
value:
|
value:
|
||||||
description: The header field value
|
description: The header field value
|
||||||
@ -2809,7 +2851,9 @@ spec:
|
|||||||
to be used in HTTP probes
|
to be used in HTTP probes
|
||||||
properties:
|
properties:
|
||||||
name:
|
name:
|
||||||
description: The header field name
|
description: The header field name. This will
|
||||||
|
be canonicalized upon output, so case-variant
|
||||||
|
names will be understood as the same header.
|
||||||
type: string
|
type: string
|
||||||
value:
|
value:
|
||||||
description: The header field value
|
description: The header field value
|
||||||
@ -2889,8 +2933,6 @@ spec:
|
|||||||
type: integer
|
type: integer
|
||||||
grpc:
|
grpc:
|
||||||
description: GRPC specifies an action involving a GRPC port.
|
description: GRPC specifies an action involving a GRPC port.
|
||||||
This is a beta field and requires enabling GRPCContainerProbe
|
|
||||||
feature gate.
|
|
||||||
properties:
|
properties:
|
||||||
port:
|
port:
|
||||||
description: Port number of the gRPC service. Number
|
description: Port number of the gRPC service. Number
|
||||||
@ -2922,7 +2964,9 @@ spec:
|
|||||||
to be used in HTTP probes
|
to be used in HTTP probes
|
||||||
properties:
|
properties:
|
||||||
name:
|
name:
|
||||||
description: The header field name
|
description: The header field name. This will
|
||||||
|
be canonicalized upon output, so case-variant
|
||||||
|
names will be understood as the same header.
|
||||||
type: string
|
type: string
|
||||||
value:
|
value:
|
||||||
description: The header field value
|
description: The header field value
|
||||||
@ -3091,8 +3135,6 @@ spec:
|
|||||||
type: integer
|
type: integer
|
||||||
grpc:
|
grpc:
|
||||||
description: GRPC specifies an action involving a GRPC port.
|
description: GRPC specifies an action involving a GRPC port.
|
||||||
This is a beta field and requires enabling GRPCContainerProbe
|
|
||||||
feature gate.
|
|
||||||
properties:
|
properties:
|
||||||
port:
|
port:
|
||||||
description: Port number of the gRPC service. Number
|
description: Port number of the gRPC service. Number
|
||||||
@ -3124,7 +3166,9 @@ spec:
|
|||||||
to be used in HTTP probes
|
to be used in HTTP probes
|
||||||
properties:
|
properties:
|
||||||
name:
|
name:
|
||||||
description: The header field name
|
description: The header field name. This will
|
||||||
|
be canonicalized upon output, so case-variant
|
||||||
|
names will be understood as the same header.
|
||||||
type: string
|
type: string
|
||||||
value:
|
value:
|
||||||
description: The header field value
|
description: The header field value
|
||||||
@ -3213,6 +3257,26 @@ spec:
|
|||||||
format: int32
|
format: int32
|
||||||
type: integer
|
type: integer
|
||||||
type: object
|
type: object
|
||||||
|
resizePolicy:
|
||||||
|
description: Resources resize policy for the container.
|
||||||
|
items:
|
||||||
|
description: ContainerResizePolicy represents resource resize
|
||||||
|
policy for the container.
|
||||||
|
properties:
|
||||||
|
resourceName:
|
||||||
|
description: 'Name of the resource to which this resource
|
||||||
|
resize policy applies. Supported values: cpu, memory.'
|
||||||
|
type: string
|
||||||
|
restartPolicy:
|
||||||
|
description: Restart policy to apply when specified resource
|
||||||
|
is resized. If not specified, it defaults to NotRequired.
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- resourceName
|
||||||
|
- restartPolicy
|
||||||
|
type: object
|
||||||
|
type: array
|
||||||
|
x-kubernetes-list-type: atomic
|
||||||
resources:
|
resources:
|
||||||
description: 'Compute Resources required by this container.
|
description: 'Compute Resources required by this container.
|
||||||
Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
||||||
@ -3221,7 +3285,8 @@ spec:
|
|||||||
description: "Claims lists the names of resources, defined
|
description: "Claims lists the names of resources, defined
|
||||||
in spec.resourceClaims, that are used by this container.
|
in spec.resourceClaims, that are used by this container.
|
||||||
\n This is an alpha field and requires enabling the DynamicResourceAllocation
|
\n This is an alpha field and requires enabling the DynamicResourceAllocation
|
||||||
feature gate. \n This field is immutable."
|
feature gate. \n This field is immutable. It can only
|
||||||
|
be set for containers."
|
||||||
items:
|
items:
|
||||||
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
|
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
|
||||||
properties:
|
properties:
|
||||||
@ -3258,8 +3323,8 @@ spec:
|
|||||||
description: 'Requests describes the minimum amount of compute
|
description: 'Requests describes the minimum amount of compute
|
||||||
resources required. If Requests is omitted for a container,
|
resources required. If Requests is omitted for a container,
|
||||||
it defaults to Limits if that is explicitly specified,
|
it defaults to Limits if that is explicitly specified,
|
||||||
otherwise to an implementation-defined value. More info:
|
otherwise to an implementation-defined value. Requests
|
||||||
https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
securityContext:
|
securityContext:
|
||||||
@ -3472,8 +3537,6 @@ spec:
|
|||||||
type: integer
|
type: integer
|
||||||
grpc:
|
grpc:
|
||||||
description: GRPC specifies an action involving a GRPC port.
|
description: GRPC specifies an action involving a GRPC port.
|
||||||
This is a beta field and requires enabling GRPCContainerProbe
|
|
||||||
feature gate.
|
|
||||||
properties:
|
properties:
|
||||||
port:
|
port:
|
||||||
description: Port number of the gRPC service. Number
|
description: Port number of the gRPC service. Number
|
||||||
@ -3505,7 +3568,9 @@ spec:
|
|||||||
to be used in HTTP probes
|
to be used in HTTP probes
|
||||||
properties:
|
properties:
|
||||||
name:
|
name:
|
||||||
description: The header field name
|
description: The header field name. This will
|
||||||
|
be canonicalized upon output, so case-variant
|
||||||
|
names will be understood as the same header.
|
||||||
type: string
|
type: string
|
||||||
value:
|
value:
|
||||||
description: The header field value
|
description: The header field value
|
||||||
@ -3804,8 +3869,9 @@ spec:
|
|||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
portName:
|
portName:
|
||||||
description: Port name used for the pods and governing service. This
|
default: web
|
||||||
defaults to web
|
description: Port name used for the pods and governing service. Defaults
|
||||||
|
to `web`.
|
||||||
type: string
|
type: string
|
||||||
priorityClassName:
|
priorityClassName:
|
||||||
description: Priority class assigned to the Pods
|
description: Priority class assigned to the Pods
|
||||||
@ -3822,10 +3888,10 @@ spec:
|
|||||||
while enforcing namespace label for alerts and metrics.
|
while enforcing namespace label for alerts and metrics.
|
||||||
properties:
|
properties:
|
||||||
ruleName:
|
ruleName:
|
||||||
description: RuleNamespace - name of excluded rule
|
description: Name of the excluded PrometheusRule object.
|
||||||
type: string
|
type: string
|
||||||
ruleNamespace:
|
ruleNamespace:
|
||||||
description: RuleNamespace - namespace of excluded rule
|
description: Namespace of the excluded PrometheusRule object.
|
||||||
type: string
|
type: string
|
||||||
required:
|
required:
|
||||||
- ruleName
|
- ruleName
|
||||||
@ -3871,7 +3937,8 @@ spec:
|
|||||||
description: "Claims lists the names of resources, defined in
|
description: "Claims lists the names of resources, defined in
|
||||||
spec.resourceClaims, that are used by this container. \n This
|
spec.resourceClaims, that are used by this container. \n This
|
||||||
is an alpha field and requires enabling the DynamicResourceAllocation
|
is an alpha field and requires enabling the DynamicResourceAllocation
|
||||||
feature gate. \n This field is immutable."
|
feature gate. \n This field is immutable. It can only be set
|
||||||
|
for containers."
|
||||||
items:
|
items:
|
||||||
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
|
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
|
||||||
properties:
|
properties:
|
||||||
@ -3907,7 +3974,8 @@ spec:
|
|||||||
description: 'Requests describes the minimum amount of compute
|
description: 'Requests describes the minimum amount of compute
|
||||||
resources required. If Requests is omitted for a container,
|
resources required. If Requests is omitted for a container,
|
||||||
it defaults to Limits if that is explicitly specified, otherwise
|
it defaults to Limits if that is explicitly specified, otherwise
|
||||||
to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
to an implementation-defined value. Requests cannot exceed Limits.
|
||||||
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
retention:
|
retention:
|
||||||
@ -4190,14 +4258,13 @@ spec:
|
|||||||
description: Storage spec to specify how storage shall be used.
|
description: Storage spec to specify how storage shall be used.
|
||||||
properties:
|
properties:
|
||||||
disableMountSubPath:
|
disableMountSubPath:
|
||||||
description: 'Deprecated: subPath usage will be disabled by default
|
description: '*Deprecated: subPath usage will be removed in a
|
||||||
in a future release, this option will become unnecessary. DisableMountSubPath
|
future release.*'
|
||||||
allows to remove any subPath usage in volume mounts.'
|
|
||||||
type: boolean
|
type: boolean
|
||||||
emptyDir:
|
emptyDir:
|
||||||
description: 'EmptyDirVolumeSource to be used by the StatefulSet.
|
description: 'EmptyDirVolumeSource to be used by the StatefulSet.
|
||||||
If specified, used in place of any volumeClaimTemplate. More
|
If specified, it takes precedence over `ephemeral` and `volumeClaimTemplate`.
|
||||||
info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir'
|
More info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir'
|
||||||
properties:
|
properties:
|
||||||
medium:
|
medium:
|
||||||
description: 'medium represents what type of storage medium
|
description: 'medium represents what type of storage medium
|
||||||
@ -4215,14 +4282,14 @@ spec:
|
|||||||
medium EmptyDir would be the minimum value between the SizeLimit
|
medium EmptyDir would be the minimum value between the SizeLimit
|
||||||
specified here and the sum of memory limits of all containers
|
specified here and the sum of memory limits of all containers
|
||||||
in a pod. The default is nil which means that the limit
|
in a pod. The default is nil which means that the limit
|
||||||
is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir'
|
is undefined. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
|
||||||
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
||||||
x-kubernetes-int-or-string: true
|
x-kubernetes-int-or-string: true
|
||||||
type: object
|
type: object
|
||||||
ephemeral:
|
ephemeral:
|
||||||
description: 'EphemeralVolumeSource to be used by the StatefulSet.
|
description: 'EphemeralVolumeSource to be used by the StatefulSet.
|
||||||
This is a beta field in k8s 1.21, for lower versions, starting
|
This is a beta field in k8s 1.21 and GA in 1.15. For lower versions,
|
||||||
with k8s 1.19, it requires enabling the GenericEphemeralVolume
|
starting with k8s 1.19, it requires enabling the GenericEphemeralVolume
|
||||||
feature gate. More info: https://kubernetes.io/docs/concepts/storage/ephemeral-volumes/#generic-ephemeral-volumes'
|
feature gate. More info: https://kubernetes.io/docs/concepts/storage/ephemeral-volumes/#generic-ephemeral-volumes'
|
||||||
properties:
|
properties:
|
||||||
volumeClaimTemplate:
|
volumeClaimTemplate:
|
||||||
@ -4370,7 +4437,8 @@ spec:
|
|||||||
defined in spec.resourceClaims, that are used
|
defined in spec.resourceClaims, that are used
|
||||||
by this container. \n This is an alpha field
|
by this container. \n This is an alpha field
|
||||||
and requires enabling the DynamicResourceAllocation
|
and requires enabling the DynamicResourceAllocation
|
||||||
feature gate. \n This field is immutable."
|
feature gate. \n This field is immutable. It
|
||||||
|
can only be set for containers."
|
||||||
items:
|
items:
|
||||||
description: ResourceClaim references one entry
|
description: ResourceClaim references one entry
|
||||||
in PodSpec.ResourceClaims.
|
in PodSpec.ResourceClaims.
|
||||||
@ -4409,8 +4477,8 @@ spec:
|
|||||||
of compute resources required. If Requests is
|
of compute resources required. If Requests is
|
||||||
omitted for a container, it defaults to Limits
|
omitted for a container, it defaults to Limits
|
||||||
if that is explicitly specified, otherwise to
|
if that is explicitly specified, otherwise to
|
||||||
an implementation-defined value. More info:
|
an implementation-defined value. Requests cannot
|
||||||
https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
selector:
|
selector:
|
||||||
@ -4481,10 +4549,10 @@ spec:
|
|||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
volumeClaimTemplate:
|
volumeClaimTemplate:
|
||||||
description: A PVC spec to be used by the StatefulSet. The easiest
|
description: Defines the PVC spec to be used by the Prometheus
|
||||||
way to use a volume that cannot be automatically provisioned
|
StatefulSets. The easiest way to use a volume that cannot be
|
||||||
(for whatever reason) is to use a label selector alongside manually
|
automatically provisioned is to use a label selector alongside
|
||||||
created PersistentVolumes.
|
manually created PersistentVolumes.
|
||||||
properties:
|
properties:
|
||||||
apiVersion:
|
apiVersion:
|
||||||
description: 'APIVersion defines the versioned schema of this
|
description: 'APIVersion defines the versioned schema of this
|
||||||
@ -4529,8 +4597,8 @@ spec:
|
|||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
spec:
|
spec:
|
||||||
description: 'Spec defines the desired characteristics of
|
description: 'Defines the desired characteristics of a volume
|
||||||
a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
|
requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
|
||||||
properties:
|
properties:
|
||||||
accessModes:
|
accessModes:
|
||||||
description: 'accessModes contains the desired access
|
description: 'accessModes contains the desired access
|
||||||
@ -4637,7 +4705,8 @@ spec:
|
|||||||
defined in spec.resourceClaims, that are used by
|
defined in spec.resourceClaims, that are used by
|
||||||
this container. \n This is an alpha field and requires
|
this container. \n This is an alpha field and requires
|
||||||
enabling the DynamicResourceAllocation feature gate.
|
enabling the DynamicResourceAllocation feature gate.
|
||||||
\n This field is immutable."
|
\n This field is immutable. It can only be set for
|
||||||
|
containers."
|
||||||
items:
|
items:
|
||||||
description: ResourceClaim references one entry
|
description: ResourceClaim references one entry
|
||||||
in PodSpec.ResourceClaims.
|
in PodSpec.ResourceClaims.
|
||||||
@ -4676,7 +4745,8 @@ spec:
|
|||||||
of compute resources required. If Requests is omitted
|
of compute resources required. If Requests is omitted
|
||||||
for a container, it defaults to Limits if that is
|
for a container, it defaults to Limits if that is
|
||||||
explicitly specified, otherwise to an implementation-defined
|
explicitly specified, otherwise to an implementation-defined
|
||||||
value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
value. Requests cannot exceed Limits. More info:
|
||||||
|
https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
selector:
|
selector:
|
||||||
@ -4741,8 +4811,7 @@ spec:
|
|||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
status:
|
status:
|
||||||
description: 'Status represents the current information/status
|
description: '*Deprecated: this field is never set.*'
|
||||||
of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
|
|
||||||
properties:
|
properties:
|
||||||
accessModes:
|
accessModes:
|
||||||
description: 'accessModes contains the actual access modes
|
description: 'accessModes contains the actual access modes
|
||||||
@ -4786,7 +4855,7 @@ spec:
|
|||||||
volume claim. If underlying persistent volume is being
|
volume claim. If underlying persistent volume is being
|
||||||
resized then the Condition will be set to 'ResizeStarted'.
|
resized then the Condition will be set to 'ResizeStarted'.
|
||||||
items:
|
items:
|
||||||
description: PersistentVolumeClaimCondition contails
|
description: PersistentVolumeClaimCondition contains
|
||||||
details about state of pvc
|
details about state of pvc
|
||||||
properties:
|
properties:
|
||||||
lastProbeTime:
|
lastProbeTime:
|
||||||
@ -4928,14 +4997,18 @@ spec:
|
|||||||
type: object
|
type: object
|
||||||
x-kubernetes-map-type: atomic
|
x-kubernetes-map-type: atomic
|
||||||
matchLabelKeys:
|
matchLabelKeys:
|
||||||
description: MatchLabelKeys is a set of pod label keys to select
|
description: "MatchLabelKeys is a set of pod label keys to select
|
||||||
the pods over which spreading will be calculated. The keys
|
the pods over which spreading will be calculated. The keys
|
||||||
are used to lookup values from the incoming pod labels, those
|
are used to lookup values from the incoming pod labels, those
|
||||||
key-value labels are ANDed with labelSelector to select the
|
key-value labels are ANDed with labelSelector to select the
|
||||||
group of existing pods over which spreading will be calculated
|
group of existing pods over which spreading will be calculated
|
||||||
for the incoming pod. Keys that don't exist in the incoming
|
for the incoming pod. The same key is forbidden to exist in
|
||||||
pod labels will be ignored. A null or empty list means only
|
both MatchLabelKeys and LabelSelector. MatchLabelKeys cannot
|
||||||
match against labelSelector.
|
be set when LabelSelector isn't set. Keys that don't exist
|
||||||
|
in the incoming pod labels will be ignored. A null or empty
|
||||||
|
list means only match against labelSelector. \n This is a
|
||||||
|
beta field and requires the MatchLabelKeysInPodTopologySpread
|
||||||
|
feature gate to be enabled (enabled by default)."
|
||||||
items:
|
items:
|
||||||
type: string
|
type: string
|
||||||
type: array
|
type: array
|
||||||
@ -5070,6 +5143,48 @@ spec:
|
|||||||
version:
|
version:
|
||||||
description: Version of Thanos to be deployed.
|
description: Version of Thanos to be deployed.
|
||||||
type: string
|
type: string
|
||||||
|
volumeMounts:
|
||||||
|
description: VolumeMounts allows configuration of additional VolumeMounts
|
||||||
|
on the output StatefulSet definition. VolumeMounts specified will
|
||||||
|
be appended to other VolumeMounts in the ruler container, that are
|
||||||
|
generated as a result of StorageSpec objects.
|
||||||
|
items:
|
||||||
|
description: VolumeMount describes a mounting of a Volume within
|
||||||
|
a container.
|
||||||
|
properties:
|
||||||
|
mountPath:
|
||||||
|
description: Path within the container at which the volume should
|
||||||
|
be mounted. Must not contain ':'.
|
||||||
|
type: string
|
||||||
|
mountPropagation:
|
||||||
|
description: mountPropagation determines how mounts are propagated
|
||||||
|
from the host to container and the other way around. When
|
||||||
|
not set, MountPropagationNone is used. This field is beta
|
||||||
|
in 1.10.
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
description: This must match the Name of a Volume.
|
||||||
|
type: string
|
||||||
|
readOnly:
|
||||||
|
description: Mounted read-only if true, read-write otherwise
|
||||||
|
(false or unspecified). Defaults to false.
|
||||||
|
type: boolean
|
||||||
|
subPath:
|
||||||
|
description: Path within the volume from which the container's
|
||||||
|
volume should be mounted. Defaults to "" (volume's root).
|
||||||
|
type: string
|
||||||
|
subPathExpr:
|
||||||
|
description: Expanded path within the volume from which the
|
||||||
|
container's volume should be mounted. Behaves similarly to
|
||||||
|
SubPath but environment variable references $(VAR_NAME) are
|
||||||
|
expanded using the container's environment. Defaults to ""
|
||||||
|
(volume's root). SubPathExpr and SubPath are mutually exclusive.
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- mountPath
|
||||||
|
- name
|
||||||
|
type: object
|
||||||
|
type: array
|
||||||
volumes:
|
volumes:
|
||||||
description: Volumes allows configuration of additional volumes on
|
description: Volumes allows configuration of additional volumes on
|
||||||
the output StatefulSet definition. Volumes specified will be appended
|
the output StatefulSet definition. Volumes specified will be appended
|
||||||
@ -5459,7 +5574,7 @@ spec:
|
|||||||
medium EmptyDir would be the minimum value between the
|
medium EmptyDir would be the minimum value between the
|
||||||
SizeLimit specified here and the sum of memory limits
|
SizeLimit specified here and the sum of memory limits
|
||||||
of all containers in a pod. The default is nil which means
|
of all containers in a pod. The default is nil which means
|
||||||
that the limit is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir'
|
that the limit is undefined. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
|
||||||
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
||||||
x-kubernetes-int-or-string: true
|
x-kubernetes-int-or-string: true
|
||||||
type: object
|
type: object
|
||||||
@ -5631,7 +5746,8 @@ spec:
|
|||||||
defined in spec.resourceClaims, that are used
|
defined in spec.resourceClaims, that are used
|
||||||
by this container. \n This is an alpha field
|
by this container. \n This is an alpha field
|
||||||
and requires enabling the DynamicResourceAllocation
|
and requires enabling the DynamicResourceAllocation
|
||||||
feature gate. \n This field is immutable."
|
feature gate. \n This field is immutable.
|
||||||
|
It can only be set for containers."
|
||||||
items:
|
items:
|
||||||
description: ResourceClaim references one
|
description: ResourceClaim references one
|
||||||
entry in PodSpec.ResourceClaims.
|
entry in PodSpec.ResourceClaims.
|
||||||
@ -5671,8 +5787,8 @@ spec:
|
|||||||
amount of compute resources required. If Requests
|
amount of compute resources required. If Requests
|
||||||
is omitted for a container, it defaults to
|
is omitted for a container, it defaults to
|
||||||
Limits if that is explicitly specified, otherwise
|
Limits if that is explicitly specified, otherwise
|
||||||
to an implementation-defined value. More info:
|
to an implementation-defined value. Requests
|
||||||
https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
selector:
|
selector:
|
||||||
@ -6633,14 +6749,54 @@ spec:
|
|||||||
type: object
|
type: object
|
||||||
status:
|
status:
|
||||||
description: 'Most recent observed status of the ThanosRuler cluster.
|
description: 'Most recent observed status of the ThanosRuler cluster.
|
||||||
Read-only. Not included when requesting from the apiserver, only from
|
Read-only. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status'
|
||||||
the ThanosRuler Operator API itself. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status'
|
|
||||||
properties:
|
properties:
|
||||||
availableReplicas:
|
availableReplicas:
|
||||||
description: Total number of available pods (ready for at least minReadySeconds)
|
description: Total number of available pods (ready for at least minReadySeconds)
|
||||||
targeted by this ThanosRuler deployment.
|
targeted by this ThanosRuler deployment.
|
||||||
format: int32
|
format: int32
|
||||||
type: integer
|
type: integer
|
||||||
|
conditions:
|
||||||
|
description: The current state of the Alertmanager object.
|
||||||
|
items:
|
||||||
|
description: Condition represents the state of the resources associated
|
||||||
|
with the Prometheus, Alertmanager or ThanosRuler resource.
|
||||||
|
properties:
|
||||||
|
lastTransitionTime:
|
||||||
|
description: lastTransitionTime is the time of the last update
|
||||||
|
to the current status property.
|
||||||
|
format: date-time
|
||||||
|
type: string
|
||||||
|
message:
|
||||||
|
description: Human-readable message indicating details for the
|
||||||
|
condition's last transition.
|
||||||
|
type: string
|
||||||
|
observedGeneration:
|
||||||
|
description: ObservedGeneration represents the .metadata.generation
|
||||||
|
that the condition was set based upon. For instance, if `.metadata.generation`
|
||||||
|
is currently 12, but the `.status.conditions[].observedGeneration`
|
||||||
|
is 9, the condition is out of date with respect to the current
|
||||||
|
state of the instance.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
|
reason:
|
||||||
|
description: Reason for the condition's last transition.
|
||||||
|
type: string
|
||||||
|
status:
|
||||||
|
description: Status of the condition.
|
||||||
|
type: string
|
||||||
|
type:
|
||||||
|
description: Type of the condition being reported.
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- lastTransitionTime
|
||||||
|
- status
|
||||||
|
- type
|
||||||
|
type: object
|
||||||
|
type: array
|
||||||
|
x-kubernetes-list-map-keys:
|
||||||
|
- type
|
||||||
|
x-kubernetes-list-type: map
|
||||||
paused:
|
paused:
|
||||||
description: Represents whether any actions on the underlying managed
|
description: Represents whether any actions on the underlying managed
|
||||||
objects are being performed. Only delete actions will be performed.
|
objects are being performed. Only delete actions will be performed.
|
||||||
@ -6672,4 +6828,5 @@ spec:
|
|||||||
type: object
|
type: object
|
||||||
served: true
|
served: true
|
||||||
storage: true
|
storage: true
|
||||||
subresources: {}
|
subresources:
|
||||||
|
status: {}
|
@ -1,8 +1,18 @@
|
|||||||
|
annotations:
|
||||||
|
artifacthub.io/license: AGPL-3.0-only
|
||||||
|
artifacthub.io/links: |
|
||||||
|
- name: Chart Source
|
||||||
|
url: https://github.com/grafana/helm-charts
|
||||||
|
- name: Upstream Project
|
||||||
|
url: https://github.com/grafana/grafana
|
||||||
apiVersion: v2
|
apiVersion: v2
|
||||||
appVersion: 9.5.1
|
appVersion: 10.0.3
|
||||||
description: The leading tool for querying and visualizing time series and metrics.
|
description: The leading tool for querying and visualizing time series and metrics.
|
||||||
home: https://grafana.net
|
home: https://grafana.net
|
||||||
icon: https://raw.githubusercontent.com/grafana/grafana/master/public/img/logo_transparent_400x.png
|
icon: https://raw.githubusercontent.com/grafana/grafana/master/public/img/logo_transparent_400x.png
|
||||||
|
keywords:
|
||||||
|
- monitoring
|
||||||
|
- metric
|
||||||
kubeVersion: ^1.8.0-0
|
kubeVersion: ^1.8.0-0
|
||||||
maintainers:
|
maintainers:
|
||||||
- email: zanhsieh@gmail.com
|
- email: zanhsieh@gmail.com
|
||||||
@ -18,5 +28,6 @@ maintainers:
|
|||||||
name: grafana
|
name: grafana
|
||||||
sources:
|
sources:
|
||||||
- https://github.com/grafana/grafana
|
- https://github.com/grafana/grafana
|
||||||
|
- https://github.com/grafana/helm-charts
|
||||||
type: application
|
type: application
|
||||||
version: 6.56.2
|
version: 6.58.9
|
||||||
|
@ -121,7 +121,7 @@ This version requires Helm >= 3.1.0.
|
|||||||
| `envFromSecret` | Name of a Kubernetes secret (must be manually created in the same namespace) containing values to be added to the environment. Can be templated | `""` |
|
| `envFromSecret` | Name of a Kubernetes secret (must be manually created in the same namespace) containing values to be added to the environment. Can be templated | `""` |
|
||||||
| `envFromSecrets` | List of Kubernetes secrets (must be manually created in the same namespace) containing values to be added to the environment. Can be templated | `[]` |
|
| `envFromSecrets` | List of Kubernetes secrets (must be manually created in the same namespace) containing values to be added to the environment. Can be templated | `[]` |
|
||||||
| `envFromConfigMaps` | List of Kubernetes ConfigMaps (must be manually created in the same namespace) containing values to be added to the environment. Can be templated | `[]` |
|
| `envFromConfigMaps` | List of Kubernetes ConfigMaps (must be manually created in the same namespace) containing values to be added to the environment. Can be templated | `[]` |
|
||||||
| `envRenderSecret` | Sensible environment variables passed to pods and stored as secret | `{}` |
|
| `envRenderSecret` | Sensible environment variables passed to pods and stored as secret. (passed through [tpl](https://helm.sh/docs/howto/charts_tips_and_tricks/#using-the-tpl-function)) | `{}` |
|
||||||
| `enableServiceLinks` | Inject Kubernetes services as environment variables. | `true` |
|
| `enableServiceLinks` | Inject Kubernetes services as environment variables. | `true` |
|
||||||
| `extraSecretMounts` | Additional grafana server secret mounts | `[]` |
|
| `extraSecretMounts` | Additional grafana server secret mounts | `[]` |
|
||||||
| `extraVolumeMounts` | Additional grafana server volume mounts | `[]` |
|
| `extraVolumeMounts` | Additional grafana server volume mounts | `[]` |
|
||||||
@ -147,7 +147,7 @@ This version requires Helm >= 3.1.0.
|
|||||||
| `podPortName` | Name of the grafana port on the pod | `grafana` |
|
| `podPortName` | Name of the grafana port on the pod | `grafana` |
|
||||||
| `lifecycleHooks` | Lifecycle hooks for podStart and preStop [Example](https://kubernetes.io/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/#define-poststart-and-prestop-handlers) | `{}` |
|
| `lifecycleHooks` | Lifecycle hooks for podStart and preStop [Example](https://kubernetes.io/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/#define-poststart-and-prestop-handlers) | `{}` |
|
||||||
| `sidecar.image.repository` | Sidecar image repository | `quay.io/kiwigrid/k8s-sidecar` |
|
| `sidecar.image.repository` | Sidecar image repository | `quay.io/kiwigrid/k8s-sidecar` |
|
||||||
| `sidecar.image.tag` | Sidecar image tag | `1.22.0` |
|
| `sidecar.image.tag` | Sidecar image tag | `1.24.6` |
|
||||||
| `sidecar.image.sha` | Sidecar image sha (optional) | `""` |
|
| `sidecar.image.sha` | Sidecar image sha (optional) | `""` |
|
||||||
| `sidecar.imagePullPolicy` | Sidecar image pull policy | `IfNotPresent` |
|
| `sidecar.imagePullPolicy` | Sidecar image pull policy | `IfNotPresent` |
|
||||||
| `sidecar.resources` | Sidecar resources | `{}` |
|
| `sidecar.resources` | Sidecar resources | `{}` |
|
||||||
@ -162,6 +162,7 @@ This version requires Helm >= 3.1.0.
|
|||||||
| `sidecar.alerts.reloadURL` | Full url of datasource configuration reload API endpoint, to invoke after a config-map change | `"http://localhost:3000/api/admin/provisioning/alerting/reload"` |
|
| `sidecar.alerts.reloadURL` | Full url of datasource configuration reload API endpoint, to invoke after a config-map change | `"http://localhost:3000/api/admin/provisioning/alerting/reload"` |
|
||||||
| `sidecar.alerts.skipReload` | Enabling this omits defining the REQ_URL and REQ_METHOD environment variables | `false` |
|
| `sidecar.alerts.skipReload` | Enabling this omits defining the REQ_URL and REQ_METHOD environment variables | `false` |
|
||||||
| `sidecar.alerts.initDatasources` | Set to true to deploy the datasource sidecar as an initContainer in addition to a container. This is needed if skipReload is true, to load any alerts defined at startup time. | `false` |
|
| `sidecar.alerts.initDatasources` | Set to true to deploy the datasource sidecar as an initContainer in addition to a container. This is needed if skipReload is true, to load any alerts defined at startup time. | `false` |
|
||||||
|
| `sidecar.alerts.extraMounts` | Additional alerts sidecar volume mounts. | `[]` |
|
||||||
| `sidecar.dashboards.enabled` | Enables the cluster wide search for dashboards and adds/updates/deletes them in grafana | `false` |
|
| `sidecar.dashboards.enabled` | Enables the cluster wide search for dashboards and adds/updates/deletes them in grafana | `false` |
|
||||||
| `sidecar.dashboards.SCProvider` | Enables creation of sidecar provider | `true` |
|
| `sidecar.dashboards.SCProvider` | Enables creation of sidecar provider | `true` |
|
||||||
| `sidecar.dashboards.provider.name` | Unique name of the grafana provider | `sidecarProvider` |
|
| `sidecar.dashboards.provider.name` | Unique name of the grafana provider | `sidecarProvider` |
|
||||||
@ -181,7 +182,7 @@ This version requires Helm >= 3.1.0.
|
|||||||
| `sidecar.dashboards.searchNamespace` | Namespaces list. If specified, the sidecar will search for dashboards config-maps inside these namespaces. Otherwise the namespace in which the sidecar is running will be used. It's also possible to specify ALL to search in all namespaces. | `nil` |
|
| `sidecar.dashboards.searchNamespace` | Namespaces list. If specified, the sidecar will search for dashboards config-maps inside these namespaces. Otherwise the namespace in which the sidecar is running will be used. It's also possible to specify ALL to search in all namespaces. | `nil` |
|
||||||
| `sidecar.dashboards.script` | Absolute path to shell script to execute after a configmap got reloaded. | `nil` |
|
| `sidecar.dashboards.script` | Absolute path to shell script to execute after a configmap got reloaded. | `nil` |
|
||||||
| `sidecar.dashboards.reloadURL` | Full url of dashboards configuration reload API endpoint, to invoke after a config-map change | `"http://localhost:3000/api/admin/provisioning/dashboards/reload"` |
|
| `sidecar.dashboards.reloadURL` | Full url of dashboards configuration reload API endpoint, to invoke after a config-map change | `"http://localhost:3000/api/admin/provisioning/dashboards/reload"` |
|
||||||
| `sidecar.dashboards.skipReload` | Enabling this omits defining the REQ_URL and REQ_METHOD environment variables | `false` |
|
| `sidecar.dashboards.skipReload` | Enabling this omits defining the REQ_USERNAME, REQ_PASSWORD, REQ_URL and REQ_METHOD environment variables | `false` |
|
||||||
| `sidecar.dashboards.resource` | Should the sidecar looks into secrets, configmaps or both. | `both` |
|
| `sidecar.dashboards.resource` | Should the sidecar looks into secrets, configmaps or both. | `both` |
|
||||||
| `sidecar.dashboards.extraMounts` | Additional dashboard sidecar volume mounts. | `[]` |
|
| `sidecar.dashboards.extraMounts` | Additional dashboard sidecar volume mounts. | `[]` |
|
||||||
| `sidecar.datasources.enabled` | Enables the cluster wide search for datasources and adds/updates/deletes them in grafana |`false` |
|
| `sidecar.datasources.enabled` | Enables the cluster wide search for datasources and adds/updates/deletes them in grafana |`false` |
|
||||||
@ -244,7 +245,8 @@ This version requires Helm >= 3.1.0.
|
|||||||
| `serviceMonitor.tlsConfig` | TLS configuration block for the endpoint | `{}` |
|
| `serviceMonitor.tlsConfig` | TLS configuration block for the endpoint | `{}` |
|
||||||
| `serviceMonitor.labels` | Labels for the servicemonitor passed to Prometheus Operator | `{}` |
|
| `serviceMonitor.labels` | Labels for the servicemonitor passed to Prometheus Operator | `{}` |
|
||||||
| `serviceMonitor.scrapeTimeout` | Timeout after which the scrape is ended | `30s` |
|
| `serviceMonitor.scrapeTimeout` | Timeout after which the scrape is ended | `30s` |
|
||||||
| `serviceMonitor.relabelings` | MetricRelabelConfigs to apply to samples before ingestion. | `[]` |
|
| `serviceMonitor.relabelings` | RelabelConfigs to apply to samples before scraping. | `[]` |
|
||||||
|
| `serviceMonitor.metricRelabelings` | MetricRelabelConfigs to apply to samples before ingestion. | `[]` |
|
||||||
| `revisionHistoryLimit` | Number of old ReplicaSets to retain | `10` |
|
| `revisionHistoryLimit` | Number of old ReplicaSets to retain | `10` |
|
||||||
| `imageRenderer.enabled` | Enable the image-renderer deployment & service | `false` |
|
| `imageRenderer.enabled` | Enable the image-renderer deployment & service | `false` |
|
||||||
| `imageRenderer.image.repository` | image-renderer Image repository | `grafana/grafana-image-renderer` |
|
| `imageRenderer.image.repository` | image-renderer Image repository | `grafana/grafana-image-renderer` |
|
||||||
@ -267,7 +269,7 @@ This version requires Helm >= 3.1.0.
|
|||||||
| `imageRenderer.revisionHistoryLimit` | number of image-renderer replica sets to keep | `10` |
|
| `imageRenderer.revisionHistoryLimit` | number of image-renderer replica sets to keep | `10` |
|
||||||
| `imageRenderer.networkPolicy.limitIngress` | Enable a NetworkPolicy to limit inbound traffic from only the created grafana pods | `true` |
|
| `imageRenderer.networkPolicy.limitIngress` | Enable a NetworkPolicy to limit inbound traffic from only the created grafana pods | `true` |
|
||||||
| `imageRenderer.networkPolicy.limitEgress` | Enable a NetworkPolicy to limit outbound traffic to only the created grafana pods | `false` |
|
| `imageRenderer.networkPolicy.limitEgress` | Enable a NetworkPolicy to limit outbound traffic to only the created grafana pods | `false` |
|
||||||
| `imageRenderer.resources` | Set resource limits for image-renderer pdos | `{}` |
|
| `imageRenderer.resources` | Set resource limits for image-renderer pods | `{}` |
|
||||||
| `imageRenderer.nodeSelector` | Node labels for pod assignment | `{}` |
|
| `imageRenderer.nodeSelector` | Node labels for pod assignment | `{}` |
|
||||||
| `imageRenderer.tolerations` | Toleration labels for pod assignment | `[]` |
|
| `imageRenderer.tolerations` | Toleration labels for pod assignment | `[]` |
|
||||||
| `imageRenderer.affinity` | Affinity settings for pod assignment | `{}` |
|
| `imageRenderer.affinity` | Affinity settings for pod assignment | `{}` |
|
||||||
|
@ -331,6 +331,9 @@ containers:
|
|||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: sc-alerts-volume
|
- name: sc-alerts-volume
|
||||||
mountPath: "/etc/grafana/provisioning/alerting"
|
mountPath: "/etc/grafana/provisioning/alerting"
|
||||||
|
{{- with .Values.sidecar.alerts.extraMounts }}
|
||||||
|
{{- toYaml . | trim | nindent 6 }}
|
||||||
|
{{- end }}
|
||||||
{{- end}}
|
{{- end}}
|
||||||
{{- if .Values.sidecar.dashboards.enabled }}
|
{{- if .Values.sidecar.dashboards.enabled }}
|
||||||
- name: {{ include "grafana.name" . }}-sc-dashboard
|
- name: {{ include "grafana.name" . }}-sc-dashboard
|
||||||
@ -385,6 +388,7 @@ containers:
|
|||||||
- name: SCRIPT
|
- name: SCRIPT
|
||||||
value: "{{ . }}"
|
value: "{{ . }}"
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- if not .Values.sidecar.dashboards.skipReload }}
|
||||||
{{- if and (not .Values.env.GF_SECURITY_ADMIN_USER) (not .Values.env.GF_SECURITY_DISABLE_INITIAL_ADMIN_CREATION) }}
|
{{- if and (not .Values.env.GF_SECURITY_ADMIN_USER) (not .Values.env.GF_SECURITY_DISABLE_INITIAL_ADMIN_CREATION) }}
|
||||||
- name: REQ_USERNAME
|
- name: REQ_USERNAME
|
||||||
valueFrom:
|
valueFrom:
|
||||||
@ -399,7 +403,6 @@ containers:
|
|||||||
name: {{ (tpl .Values.admin.existingSecret .) | default (include "grafana.fullname" .) }}
|
name: {{ (tpl .Values.admin.existingSecret .) | default (include "grafana.fullname" .) }}
|
||||||
key: {{ .Values.admin.passwordKey | default "admin-password" }}
|
key: {{ .Values.admin.passwordKey | default "admin-password" }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if not .Values.sidecar.dashboards.skipReload }}
|
|
||||||
- name: REQ_URL
|
- name: REQ_URL
|
||||||
value: {{ .Values.sidecar.dashboards.reloadURL }}
|
value: {{ .Values.sidecar.dashboards.reloadURL }}
|
||||||
- name: REQ_METHOD
|
- name: REQ_METHOD
|
||||||
|
@ -9,6 +9,6 @@ metadata:
|
|||||||
type: Opaque
|
type: Opaque
|
||||||
data:
|
data:
|
||||||
{{- range $key, $val := .Values.envRenderSecret }}
|
{{- range $key, $val := .Values.envRenderSecret }}
|
||||||
{{ $key }}: {{ $val | b64enc | quote }}
|
{{ $key }}: {{ tpl ($val | toString) $ | b64enc | quote }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
@ -34,6 +34,10 @@ spec:
|
|||||||
relabelings:
|
relabelings:
|
||||||
{{- toYaml . | nindent 6 }}
|
{{- toYaml . | nindent 6 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- with .Values.serviceMonitor.metricRelabelings }}
|
||||||
|
metricRelabelings:
|
||||||
|
{{- toYaml . | nindent 6 }}
|
||||||
|
{{- end }}
|
||||||
jobLabel: "{{ .Release.Name }}"
|
jobLabel: "{{ .Release.Name }}"
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
|
@ -112,6 +112,7 @@ securityContext:
|
|||||||
fsGroup: 472
|
fsGroup: 472
|
||||||
|
|
||||||
containerSecurityContext:
|
containerSecurityContext:
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
capabilities:
|
capabilities:
|
||||||
drop:
|
drop:
|
||||||
- ALL
|
- ALL
|
||||||
@ -206,6 +207,7 @@ serviceMonitor:
|
|||||||
tlsConfig: {}
|
tlsConfig: {}
|
||||||
scrapeTimeout: 30s
|
scrapeTimeout: 30s
|
||||||
relabelings: []
|
relabelings: []
|
||||||
|
metricRelabelings: []
|
||||||
targetLabels: []
|
targetLabels: []
|
||||||
|
|
||||||
extraExposePorts: []
|
extraExposePorts: []
|
||||||
@ -451,7 +453,9 @@ envValueFrom: {}
|
|||||||
envFromSecret: ""
|
envFromSecret: ""
|
||||||
|
|
||||||
## Sensible environment variables that will be rendered as new secret object
|
## Sensible environment variables that will be rendered as new secret object
|
||||||
## This can be useful for auth tokens, etc
|
## This can be useful for auth tokens, etc.
|
||||||
|
## If the secret values contains "{{", they'll need to be properly escaped so that they are not interpreted by Helm
|
||||||
|
## ref: https://helm.sh/docs/howto/charts_tips_and_tricks/#using-the-tpl-function
|
||||||
envRenderSecret: {}
|
envRenderSecret: {}
|
||||||
|
|
||||||
## The names of secrets in the same kubernetes namespace which contain values to be added to the environment
|
## The names of secrets in the same kubernetes namespace which contain values to be added to the environment
|
||||||
@ -518,6 +522,7 @@ extraVolumeMounts: []
|
|||||||
# readOnly: true
|
# readOnly: true
|
||||||
# hostPath: /usr/shared/
|
# hostPath: /usr/shared/
|
||||||
# - name: grafana-secrets
|
# - name: grafana-secrets
|
||||||
|
# mountPath: /mnt/volume2
|
||||||
# csi: true
|
# csi: true
|
||||||
# data:
|
# data:
|
||||||
# driver: secrets-store.csi.k8s.io
|
# driver: secrets-store.csi.k8s.io
|
||||||
@ -560,6 +565,8 @@ datasources: {}
|
|||||||
# jsonData:
|
# jsonData:
|
||||||
# authType: default
|
# authType: default
|
||||||
# defaultRegion: us-east-1
|
# defaultRegion: us-east-1
|
||||||
|
# deleteDatasources: []
|
||||||
|
# - name: Prometheus
|
||||||
|
|
||||||
## Configure grafana alerting (can be templated)
|
## Configure grafana alerting (can be templated)
|
||||||
## ref: http://docs.grafana.org/administration/provisioning/#alerting
|
## ref: http://docs.grafana.org/administration/provisioning/#alerting
|
||||||
@ -787,7 +794,7 @@ smtp:
|
|||||||
sidecar:
|
sidecar:
|
||||||
image:
|
image:
|
||||||
repository: quay.io/kiwigrid/k8s-sidecar
|
repository: quay.io/kiwigrid/k8s-sidecar
|
||||||
tag: 1.22.0
|
tag: 1.24.6
|
||||||
sha: ""
|
sha: ""
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
resources: {}
|
resources: {}
|
||||||
@ -847,6 +854,8 @@ sidecar:
|
|||||||
script: null
|
script: null
|
||||||
skipReload: false
|
skipReload: false
|
||||||
# Deploy the alert sidecar as an initContainer in addition to a container.
|
# Deploy the alert sidecar as an initContainer in addition to a container.
|
||||||
|
# Additional alert sidecar volume mounts
|
||||||
|
extraMounts: []
|
||||||
# Sets the size limit of the alert sidecar emptyDir volume
|
# Sets the size limit of the alert sidecar emptyDir volume
|
||||||
sizeLimit: {}
|
sizeLimit: {}
|
||||||
dashboards:
|
dashboards:
|
||||||
|
@ -1,5 +1,10 @@
|
|||||||
|
annotations:
|
||||||
|
artifacthub.io/license: Apache-2.0
|
||||||
|
artifacthub.io/links: |
|
||||||
|
- name: Chart Source
|
||||||
|
url: https://github.com/prometheus-community/helm-charts
|
||||||
apiVersion: v2
|
apiVersion: v2
|
||||||
appVersion: 2.8.2
|
appVersion: 2.9.2
|
||||||
description: Install kube-state-metrics to generate and expose cluster-level metrics
|
description: Install kube-state-metrics to generate and expose cluster-level metrics
|
||||||
home: https://github.com/kubernetes/kube-state-metrics/
|
home: https://github.com/kubernetes/kube-state-metrics/
|
||||||
keywords:
|
keywords:
|
||||||
@ -18,4 +23,4 @@ name: kube-state-metrics
|
|||||||
sources:
|
sources:
|
||||||
- https://github.com/kubernetes/kube-state-metrics/
|
- https://github.com/kubernetes/kube-state-metrics/
|
||||||
type: application
|
type: application
|
||||||
version: 5.5.0
|
version: 5.10.1
|
||||||
|
@ -0,0 +1,33 @@
|
|||||||
|
{{- if and .Values.networkPolicy.enabled (eq .Values.networkPolicy.flavor "cilium") }}
|
||||||
|
apiVersion: cilium.io/v2
|
||||||
|
kind: CiliumNetworkPolicy
|
||||||
|
metadata:
|
||||||
|
{{- if .Values.annotations }}
|
||||||
|
annotations:
|
||||||
|
{{ toYaml .Values.annotations | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
labels:
|
||||||
|
{{- include "kube-state-metrics.labels" . | indent 4 }}
|
||||||
|
name: {{ template "kube-state-metrics.fullname" . }}
|
||||||
|
namespace: {{ template "kube-state-metrics.namespace" . }}
|
||||||
|
spec:
|
||||||
|
endpointSelector:
|
||||||
|
matchLabels:
|
||||||
|
{{- include "kube-state-metrics.selectorLabels" . | indent 6 }}
|
||||||
|
egress:
|
||||||
|
{{- if and .Values.networkPolicy.cilium .Values.networkPolicy.cilium.kubeApiServerSelector }}
|
||||||
|
{{ toYaml .Values.networkPolicy.cilium.kubeApiServerSelector | nindent 6 }}
|
||||||
|
{{- else }}
|
||||||
|
- toEntities:
|
||||||
|
- kube-apiserver
|
||||||
|
{{- end }}
|
||||||
|
ingress:
|
||||||
|
- toPorts:
|
||||||
|
- ports:
|
||||||
|
- port: {{ .Values.service.port | quote }}
|
||||||
|
protocol: TCP
|
||||||
|
{{- if .Values.selfMonitor.enabled }}
|
||||||
|
- port: {{ .Values.selfMonitor.telemetryPort | default 8081 | quote }}
|
||||||
|
protocol: TCP
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
@ -0,0 +1,9 @@
|
|||||||
|
{{- if .Values.customResourceState.enabled}}
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: {{ template "kube-state-metrics.fullname" . }}-customresourcestate-config
|
||||||
|
data:
|
||||||
|
config.yaml: |
|
||||||
|
{{- toYaml .Values.customResourceState.config | nindent 4 }}
|
||||||
|
{{- end }}
|
@ -106,14 +106,22 @@ spec:
|
|||||||
{{- if .Values.selfMonitor.telemetryPort }}
|
{{- if .Values.selfMonitor.telemetryPort }}
|
||||||
- --telemetry-port={{ $telemetryPort }}
|
- --telemetry-port={{ $telemetryPort }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- if .Values.customResourceState.enabled }}
|
||||||
|
- --custom-resource-state-config-file=/etc/customresourcestate/config.yaml
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if or (.Values.kubeconfig.enabled) (.Values.volumeMounts) }}
|
{{- end }}
|
||||||
|
{{- if or (.Values.kubeconfig.enabled) (.Values.customResourceState.enabled) (.Values.volumeMounts) }}
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
{{- if .Values.kubeconfig.enabled }}
|
{{- if .Values.kubeconfig.enabled }}
|
||||||
- name: kubeconfig
|
- name: kubeconfig
|
||||||
mountPath: /opt/k8s/.kube/
|
mountPath: /opt/k8s/.kube/
|
||||||
readOnly: true
|
readOnly: true
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- if .Values.customResourceState.enabled }}
|
||||||
|
- name: customresourcestate-config
|
||||||
|
mountPath: /etc/customresourcestate
|
||||||
|
readOnly: true
|
||||||
|
{{- end }}
|
||||||
{{- if .Values.volumeMounts }}
|
{{- if .Values.volumeMounts }}
|
||||||
{{ toYaml .Values.volumeMounts | indent 8 }}
|
{{ toYaml .Values.volumeMounts | indent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
@ -247,7 +255,7 @@ spec:
|
|||||||
topologySpreadConstraints:
|
topologySpreadConstraints:
|
||||||
{{ toYaml .Values.topologySpreadConstraints | indent 8 }}
|
{{ toYaml .Values.topologySpreadConstraints | indent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if or (.Values.kubeconfig.enabled) (.Values.volumes) (.Values.kubeRBACProxy.enabled) }}
|
{{- if or (.Values.kubeconfig.enabled) (.Values.customResourceState.enabled) (.Values.volumes) (.Values.kubeRBACProxy.enabled) }}
|
||||||
volumes:
|
volumes:
|
||||||
{{- if .Values.kubeconfig.enabled}}
|
{{- if .Values.kubeconfig.enabled}}
|
||||||
- name: kubeconfig
|
- name: kubeconfig
|
||||||
@ -259,6 +267,11 @@ spec:
|
|||||||
configMap:
|
configMap:
|
||||||
name: {{ template "kube-state-metrics.fullname" . }}-rbac-config
|
name: {{ template "kube-state-metrics.fullname" . }}-rbac-config
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- if .Values.customResourceState.enabled}}
|
||||||
|
- name: customresourcestate-config
|
||||||
|
configMap:
|
||||||
|
name: {{ template "kube-state-metrics.fullname" . }}-customresourcestate-config
|
||||||
|
{{- end }}
|
||||||
{{- if .Values.volumes }}
|
{{- if .Values.volumes }}
|
||||||
{{ toYaml .Values.volumes | indent 8 }}
|
{{ toYaml .Values.volumes | indent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
@ -0,0 +1,4 @@
|
|||||||
|
{{ range .Values.extraManifests }}
|
||||||
|
---
|
||||||
|
{{ tpl (toYaml .) $ }}
|
||||||
|
{{ end }}
|
@ -1,15 +1,15 @@
|
|||||||
{{- if .Values.networkPolicy.enabled }}
|
{{- if and .Values.networkPolicy.enabled (eq .Values.networkPolicy.flavor "kubernetes") }}
|
||||||
kind: NetworkPolicy
|
kind: NetworkPolicy
|
||||||
apiVersion: networking.k8s.io/v1
|
apiVersion: networking.k8s.io/v1
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
|
||||||
{{- include "kube-state-metrics.labels" . | indent 4 }}
|
|
||||||
name: {{ template "kube-state-metrics.fullname" . }}
|
|
||||||
namespace: {{ template "kube-state-metrics.namespace" . }}
|
|
||||||
{{- if .Values.annotations }}
|
{{- if .Values.annotations }}
|
||||||
annotations:
|
annotations:
|
||||||
{{ toYaml .Values.annotations | nindent 4 }}
|
{{ toYaml .Values.annotations | nindent 4 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
labels:
|
||||||
|
{{- include "kube-state-metrics.labels" . | indent 4 }}
|
||||||
|
name: {{ template "kube-state-metrics.fullname" . }}
|
||||||
|
namespace: {{ template "kube-state-metrics.namespace" . }}
|
||||||
spec:
|
spec:
|
||||||
{{- if .Values.networkPolicy.egress }}
|
{{- if .Values.networkPolicy.egress }}
|
||||||
## Deny all egress by default
|
## Deny all egress by default
|
||||||
|
@ -3,6 +3,7 @@ apiVersion: v1
|
|||||||
kind: ConfigMap
|
kind: ConfigMap
|
||||||
metadata:
|
metadata:
|
||||||
name: {{ template "kube-state-metrics.fullname" . }}-rbac-config
|
name: {{ template "kube-state-metrics.fullname" . }}-rbac-config
|
||||||
|
namespace: {{ template "kube-state-metrics.namespace" . }}
|
||||||
data:
|
data:
|
||||||
config-file.yaml: |+
|
config-file.yaml: |+
|
||||||
authorization:
|
authorization:
|
||||||
|
@ -51,6 +51,12 @@ rules:
|
|||||||
- endpoints
|
- endpoints
|
||||||
verbs: ["list", "watch"]
|
verbs: ["list", "watch"]
|
||||||
{{ end -}}
|
{{ end -}}
|
||||||
|
{{ if has "endpointslices" $.Values.collectors }}
|
||||||
|
- apiGroups: ["discovery.k8s.io"]
|
||||||
|
resources:
|
||||||
|
- endpointslices
|
||||||
|
verbs: ["list", "watch"]
|
||||||
|
{{ end -}}
|
||||||
{{ if has "horizontalpodautoscalers" $.Values.collectors }}
|
{{ if has "horizontalpodautoscalers" $.Values.collectors }}
|
||||||
- apiGroups: ["autoscaling"]
|
- apiGroups: ["autoscaling"]
|
||||||
resources:
|
resources:
|
||||||
@ -183,12 +189,6 @@ rules:
|
|||||||
- volumeattachments
|
- volumeattachments
|
||||||
verbs: ["list", "watch"]
|
verbs: ["list", "watch"]
|
||||||
{{ end -}}
|
{{ end -}}
|
||||||
{{ if has "verticalpodautoscalers" $.Values.collectors }}
|
|
||||||
- apiGroups: ["autoscaling.k8s.io"]
|
|
||||||
resources:
|
|
||||||
- verticalpodautoscalers
|
|
||||||
verbs: ["list", "watch"]
|
|
||||||
{{ end -}}
|
|
||||||
{{- if $.Values.kubeRBACProxy.enabled }}
|
{{- if $.Values.kubeRBACProxy.enabled }}
|
||||||
- apiGroups: ["authentication.k8s.io"]
|
- apiGroups: ["authentication.k8s.io"]
|
||||||
resources:
|
resources:
|
||||||
@ -199,6 +199,12 @@ rules:
|
|||||||
- subjectaccessreviews
|
- subjectaccessreviews
|
||||||
verbs: ["create"]
|
verbs: ["create"]
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- if $.Values.customResourceState.enabled }}
|
||||||
|
- apiGroups: ["apiextensions.k8s.io"]
|
||||||
|
resources:
|
||||||
|
- customresourcedefinitions
|
||||||
|
verbs: ["list", "watch"]
|
||||||
|
{{- end }}
|
||||||
{{ if $.Values.rbac.extraRules }}
|
{{ if $.Values.rbac.extraRules }}
|
||||||
{{ toYaml $.Values.rbac.extraRules }}
|
{{ toYaml $.Values.rbac.extraRules }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
@ -96,5 +96,12 @@ spec:
|
|||||||
tlsConfig:
|
tlsConfig:
|
||||||
{{- toYaml .Values.prometheus.monitor.tlsConfig | nindent 8 }}
|
{{- toYaml .Values.prometheus.monitor.tlsConfig | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.monitor.bearerTokenFile }}
|
||||||
|
bearerTokenFile: {{ .Values.prometheus.monitor.bearerTokenFile }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.prometheus.monitor.bearerTokenSecret }}
|
||||||
|
bearerTokenSecret:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
@ -7,11 +7,19 @@ metadata:
|
|||||||
labels:
|
labels:
|
||||||
{{- include "kube-state-metrics.labels" . | indent 4 }}
|
{{- include "kube-state-metrics.labels" . | indent 4 }}
|
||||||
spec:
|
spec:
|
||||||
|
{{- with .Values.verticalPodAutoscaler.recommenders }}
|
||||||
|
recommenders:
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
resourcePolicy:
|
resourcePolicy:
|
||||||
containerPolicies:
|
containerPolicies:
|
||||||
- containerName: {{ template "kube-state-metrics.name" . }}
|
- containerName: {{ template "kube-state-metrics.name" . }}
|
||||||
{{- if .Values.verticalPodAutoscaler.controlledResources }}
|
{{- with .Values.verticalPodAutoscaler.controlledResources }}
|
||||||
controlledResources: {{ .Values.verticalPodAutoscaler.controlledResources }}
|
controlledResources:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.verticalPodAutoscaler.controlledValues }}
|
||||||
|
controlledValues: {{ .Values.verticalPodAutoscaler.controlledValues }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.verticalPodAutoscaler.maxAllowed }}
|
{{- if .Values.verticalPodAutoscaler.maxAllowed }}
|
||||||
maxAllowed:
|
maxAllowed:
|
||||||
@ -23,12 +31,14 @@ spec:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
targetRef:
|
targetRef:
|
||||||
apiVersion: apps/v1
|
apiVersion: apps/v1
|
||||||
|
{{- if .Values.autosharding.enabled }}
|
||||||
|
kind: StatefulSet
|
||||||
|
{{- else }}
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
name: {{ template "kube-state-metrics.fullname" . }}
|
|
||||||
{{- if .Values.verticalPodAutoscaler.updatePolicy }}
|
|
||||||
updatePolicy:
|
|
||||||
{{- if .Values.verticalPodAutoscaler.updatePolicy.updateMode }}
|
|
||||||
updateMode: {{ .Values.verticalPodAutoscaler.updatePolicy.updateMode }}
|
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
name: {{ template "kube-state-metrics.fullname" . }}
|
||||||
|
{{- with .Values.verticalPodAutoscaler.updatePolicy }}
|
||||||
|
updatePolicy:
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
@ -202,6 +202,18 @@ podSecurityPolicy:
|
|||||||
## Configure network policy for kube-state-metrics
|
## Configure network policy for kube-state-metrics
|
||||||
networkPolicy:
|
networkPolicy:
|
||||||
enabled: false
|
enabled: false
|
||||||
|
# networkPolicy.flavor -- Flavor of the network policy to use.
|
||||||
|
# Can be:
|
||||||
|
# * kubernetes for networking.k8s.io/v1/NetworkPolicy
|
||||||
|
# * cilium for cilium.io/v2/CiliumNetworkPolicy
|
||||||
|
flavor: kubernetes
|
||||||
|
|
||||||
|
## Configure the cilium network policy kube-apiserver selector
|
||||||
|
# cilium:
|
||||||
|
# kubeApiServerSelector:
|
||||||
|
# - toEntities:
|
||||||
|
# - kube-apiserver
|
||||||
|
|
||||||
# egress:
|
# egress:
|
||||||
# - {}
|
# - {}
|
||||||
# ingress:
|
# ingress:
|
||||||
@ -315,7 +327,6 @@ collectors:
|
|||||||
- storageclasses
|
- storageclasses
|
||||||
- validatingwebhookconfigurations
|
- validatingwebhookconfigurations
|
||||||
- volumeattachments
|
- volumeattachments
|
||||||
# - verticalpodautoscalers # not a default resource, see also: https://github.com/kubernetes/kube-state-metrics#enabling-verticalpodautoscalers
|
|
||||||
|
|
||||||
# Enabling kubeconfig will pass the --kubeconfig argument to the container
|
# Enabling kubeconfig will pass the --kubeconfig argument to the container
|
||||||
kubeconfig:
|
kubeconfig:
|
||||||
@ -323,6 +334,12 @@ kubeconfig:
|
|||||||
# base64 encoded kube-config file
|
# base64 encoded kube-config file
|
||||||
secret:
|
secret:
|
||||||
|
|
||||||
|
# Enabling support for customResourceState, will create a configMap including your config that will be read from kube-state-metrics
|
||||||
|
customResourceState:
|
||||||
|
enabled: false
|
||||||
|
# Add (Cluster)Role permissions to list/watch the customResources defined in the config to rbac.extraRules
|
||||||
|
config: {}
|
||||||
|
|
||||||
# Enable only the release namespace for collecting resources. By default all namespaces are collected.
|
# Enable only the release namespace for collecting resources. By default all namespaces are collected.
|
||||||
# If releaseNamespace and namespaces are both set a merged list will be collected.
|
# If releaseNamespace and namespaces are both set a merged list will be collected.
|
||||||
releaseNamespace: false
|
releaseNamespace: false
|
||||||
@ -367,8 +384,17 @@ selfMonitor:
|
|||||||
# Enable vertical pod autoscaler support for kube-state-metrics
|
# Enable vertical pod autoscaler support for kube-state-metrics
|
||||||
verticalPodAutoscaler:
|
verticalPodAutoscaler:
|
||||||
enabled: false
|
enabled: false
|
||||||
|
|
||||||
|
# Recommender responsible for generating recommendation for the object.
|
||||||
|
# List should be empty (then the default recommender will generate the recommendation)
|
||||||
|
# or contain exactly one recommender.
|
||||||
|
# recommenders: []
|
||||||
|
# - name: custom-recommender-performance
|
||||||
|
|
||||||
# List of resources that the vertical pod autoscaler can control. Defaults to cpu and memory
|
# List of resources that the vertical pod autoscaler can control. Defaults to cpu and memory
|
||||||
controlledResources: []
|
controlledResources: []
|
||||||
|
# Specifies which resource values should be controlled: RequestsOnly or RequestsAndLimits.
|
||||||
|
# controlledValues: RequestsAndLimits
|
||||||
|
|
||||||
# Define the max allowed resources for the pod
|
# Define the max allowed resources for the pod
|
||||||
maxAllowed: {}
|
maxAllowed: {}
|
||||||
@ -380,6 +406,8 @@ verticalPodAutoscaler:
|
|||||||
# memory: 100Mi
|
# memory: 100Mi
|
||||||
|
|
||||||
# updatePolicy:
|
# updatePolicy:
|
||||||
|
# Specifies minimal number of replicas which need to be alive for VPA Updater to attempt pod eviction
|
||||||
|
# minReplicas: 1
|
||||||
# Specifies whether recommended updates are applied when a Pod is started and whether recommended updates
|
# Specifies whether recommended updates are applied when a Pod is started and whether recommended updates
|
||||||
# are applied during the life of a Pod. Possible values are "Off", "Initial", "Recreate", and "Auto".
|
# are applied during the life of a Pod. Possible values are "Off", "Initial", "Recreate", and "Auto".
|
||||||
# updateMode: Auto
|
# updateMode: Auto
|
||||||
@ -396,3 +424,13 @@ volumes: []
|
|||||||
# - configMap:
|
# - configMap:
|
||||||
# name: cm-for-volume
|
# name: cm-for-volume
|
||||||
# name: config-volume
|
# name: config-volume
|
||||||
|
|
||||||
|
# Extra manifests to deploy as an array
|
||||||
|
extraManifests: []
|
||||||
|
# - apiVersion: v1
|
||||||
|
# kind: ConfigMap
|
||||||
|
# metadata:
|
||||||
|
# labels:
|
||||||
|
# name: prometheus-extra
|
||||||
|
# data:
|
||||||
|
# extra-data: "value"
|
||||||
|
@ -1,5 +1,10 @@
|
|||||||
|
annotations:
|
||||||
|
artifacthub.io/license: Apache-2.0
|
||||||
|
artifacthub.io/links: |
|
||||||
|
- name: Chart Source
|
||||||
|
url: https://github.com/prometheus-community/helm-charts
|
||||||
apiVersion: v2
|
apiVersion: v2
|
||||||
appVersion: 1.5.0
|
appVersion: 1.6.0
|
||||||
description: A Helm chart for prometheus node-exporter
|
description: A Helm chart for prometheus node-exporter
|
||||||
home: https://github.com/prometheus/node_exporter/
|
home: https://github.com/prometheus/node_exporter/
|
||||||
keywords:
|
keywords:
|
||||||
@ -11,8 +16,10 @@ maintainers:
|
|||||||
name: gianrubio
|
name: gianrubio
|
||||||
- email: zanhsieh@gmail.com
|
- email: zanhsieh@gmail.com
|
||||||
name: zanhsieh
|
name: zanhsieh
|
||||||
|
- email: rootsandtrees@posteo.de
|
||||||
|
name: zeritti
|
||||||
name: prometheus-node-exporter
|
name: prometheus-node-exporter
|
||||||
sources:
|
sources:
|
||||||
- https://github.com/prometheus/node_exporter/
|
- https://github.com/prometheus/node_exporter/
|
||||||
type: application
|
type: application
|
||||||
version: 4.16.0
|
version: 4.21.0
|
||||||
|
@ -41,6 +41,10 @@ helm upgrade [RELEASE_NAME] [CHART] --install
|
|||||||
|
|
||||||
_See [helm upgrade](https://helm.sh/docs/helm/helm_upgrade/) for command documentation._
|
_See [helm upgrade](https://helm.sh/docs/helm/helm_upgrade/) for command documentation._
|
||||||
|
|
||||||
|
### 4.16 to 4.17+
|
||||||
|
|
||||||
|
`containerSecurityContext.readOnlyRootFilesystem` is set to `true` by default.
|
||||||
|
|
||||||
### 3.x to 4.x
|
### 3.x to 4.x
|
||||||
|
|
||||||
Starting from version 4.0.0, the `node exporter` chart is using the [Kubernetes recommended labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/common-labels/). Therefore you have to delete the daemonset before you upgrade.
|
Starting from version 4.0.0, the `node exporter` chart is using the [Kubernetes recommended labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/common-labels/). Therefore you have to delete the daemonset before you upgrade.
|
||||||
|
@ -63,7 +63,9 @@ spec:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
env:
|
env:
|
||||||
- name: HOST_IP
|
- name: HOST_IP
|
||||||
{{- if .Values.service.listenOnAllInterfaces }}
|
{{- if .Values.kubeRBACProxy.enabled }}
|
||||||
|
value: 127.0.0.1
|
||||||
|
{{- else if .Values.service.listenOnAllInterfaces }}
|
||||||
value: 0.0.0.0
|
value: 0.0.0.0
|
||||||
{{- else }}
|
{{- else }}
|
||||||
valueFrom:
|
valueFrom:
|
||||||
@ -84,6 +86,9 @@ spec:
|
|||||||
livenessProbe:
|
livenessProbe:
|
||||||
failureThreshold: {{ .Values.livenessProbe.failureThreshold }}
|
failureThreshold: {{ .Values.livenessProbe.failureThreshold }}
|
||||||
httpGet:
|
httpGet:
|
||||||
|
{{- if .Values.kubeRBACProxy.enabled }}
|
||||||
|
host: 127.0.0.1
|
||||||
|
{{- end }}
|
||||||
httpHeaders:
|
httpHeaders:
|
||||||
{{- range $_, $header := .Values.livenessProbe.httpGet.httpHeaders }}
|
{{- range $_, $header := .Values.livenessProbe.httpGet.httpHeaders }}
|
||||||
- name: {{ $header.name }}
|
- name: {{ $header.name }}
|
||||||
@ -99,6 +104,9 @@ spec:
|
|||||||
readinessProbe:
|
readinessProbe:
|
||||||
failureThreshold: {{ .Values.readinessProbe.failureThreshold }}
|
failureThreshold: {{ .Values.readinessProbe.failureThreshold }}
|
||||||
httpGet:
|
httpGet:
|
||||||
|
{{- if .Values.kubeRBACProxy.enabled }}
|
||||||
|
host: 127.0.0.1
|
||||||
|
{{- end }}
|
||||||
httpHeaders:
|
httpHeaders:
|
||||||
{{- range $_, $header := .Values.readinessProbe.httpGet.httpHeaders }}
|
{{- range $_, $header := .Values.readinessProbe.httpGet.httpHeaders }}
|
||||||
- name: {{ $header.name }}
|
- name: {{ $header.name }}
|
||||||
|
@ -0,0 +1,4 @@
|
|||||||
|
{{ range .Values.extraManifests }}
|
||||||
|
---
|
||||||
|
{{ tpl (toYaml .) $ }}
|
||||||
|
{{ end }}
|
@ -3,6 +3,7 @@ apiVersion: v1
|
|||||||
kind: ConfigMap
|
kind: ConfigMap
|
||||||
metadata:
|
metadata:
|
||||||
name: {{ template "prometheus-node-exporter.fullname" . }}-rbac-config
|
name: {{ template "prometheus-node-exporter.fullname" . }}-rbac-config
|
||||||
|
namespace: {{ include "prometheus-node-exporter.namespace" . }}
|
||||||
data:
|
data:
|
||||||
config-file.yaml: |+
|
config-file.yaml: |+
|
||||||
authorization:
|
authorization:
|
||||||
|
@ -10,6 +10,10 @@ metadata:
|
|||||||
{{- toYaml . | nindent 4 }}
|
{{- toYaml . | nindent 4 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
spec:
|
spec:
|
||||||
|
{{- if .Values.service.ipDualStack.enabled }}
|
||||||
|
ipFamilies: {{ toYaml .Values.service.ipDualStack.ipFamilies | nindent 4 }}
|
||||||
|
ipFamilyPolicy: {{ .Values.service.ipDualStack.ipFamilyPolicy }}
|
||||||
|
{{- end }}
|
||||||
type: {{ .Values.service.type }}
|
type: {{ .Values.service.type }}
|
||||||
ports:
|
ports:
|
||||||
- port: {{ .Values.service.port }}
|
- port: {{ .Values.service.port }}
|
||||||
|
@ -7,11 +7,19 @@ metadata:
|
|||||||
labels:
|
labels:
|
||||||
{{- include "prometheus-node-exporter.labels" . | nindent 4 }}
|
{{- include "prometheus-node-exporter.labels" . | nindent 4 }}
|
||||||
spec:
|
spec:
|
||||||
|
{{- with .Values.verticalPodAutoscaler.recommenders }}
|
||||||
|
recommenders:
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
resourcePolicy:
|
resourcePolicy:
|
||||||
containerPolicies:
|
containerPolicies:
|
||||||
- containerName: node-exporter
|
- containerName: node-exporter
|
||||||
{{- with .Values.verticalPodAutoscaler.controlledResources }}
|
{{- with .Values.verticalPodAutoscaler.controlledResources }}
|
||||||
controlledResources: {{ . }}
|
controlledResources:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.verticalPodAutoscaler.controlledValues }}
|
||||||
|
controlledValues: {{ . }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- with .Values.verticalPodAutoscaler.maxAllowed }}
|
{{- with .Values.verticalPodAutoscaler.maxAllowed }}
|
||||||
maxAllowed:
|
maxAllowed:
|
||||||
@ -25,10 +33,8 @@ spec:
|
|||||||
apiVersion: apps/v1
|
apiVersion: apps/v1
|
||||||
kind: DaemonSet
|
kind: DaemonSet
|
||||||
name: {{ include "prometheus-node-exporter.fullname" . }}
|
name: {{ include "prometheus-node-exporter.fullname" . }}
|
||||||
{{- if .Values.verticalPodAutoscaler.updatePolicy }}
|
{{- with .Values.verticalPodAutoscaler.updatePolicy }}
|
||||||
updatePolicy:
|
updatePolicy:
|
||||||
{{- with .Values.verticalPodAutoscaler.updatePolicy.updateMode }}
|
{{- toYaml . | nindent 4 }}
|
||||||
updateMode: {{ . }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
@ -11,6 +11,8 @@ image:
|
|||||||
|
|
||||||
imagePullSecrets: []
|
imagePullSecrets: []
|
||||||
# - name: "image-pull-secret"
|
# - name: "image-pull-secret"
|
||||||
|
nameOverride: ""
|
||||||
|
fullnameOverride: ""
|
||||||
|
|
||||||
global:
|
global:
|
||||||
# To help compatibility with other charts which use global.imagePullSecrets.
|
# To help compatibility with other charts which use global.imagePullSecrets.
|
||||||
@ -71,6 +73,10 @@ service:
|
|||||||
listenOnAllInterfaces: true
|
listenOnAllInterfaces: true
|
||||||
annotations:
|
annotations:
|
||||||
prometheus.io/scrape: "true"
|
prometheus.io/scrape: "true"
|
||||||
|
ipDualStack:
|
||||||
|
enabled: false
|
||||||
|
ipFamilies: ["IPv6", "IPv4"]
|
||||||
|
ipFamilyPolicy: "PreferDualStack"
|
||||||
|
|
||||||
# Set a NetworkPolicy with:
|
# Set a NetworkPolicy with:
|
||||||
# ingress only on service.port
|
# ingress only on service.port
|
||||||
@ -264,7 +270,8 @@ securityContext:
|
|||||||
runAsNonRoot: true
|
runAsNonRoot: true
|
||||||
runAsUser: 65534
|
runAsUser: 65534
|
||||||
|
|
||||||
containerSecurityContext: {}
|
containerSecurityContext:
|
||||||
|
readOnlyRootFilesystem: true
|
||||||
# capabilities:
|
# capabilities:
|
||||||
# add:
|
# add:
|
||||||
# - SYS_TIME
|
# - SYS_TIME
|
||||||
@ -338,9 +345,9 @@ dnsConfig: {}
|
|||||||
|
|
||||||
## Assign a nodeSelector if operating a hybrid cluster
|
## Assign a nodeSelector if operating a hybrid cluster
|
||||||
##
|
##
|
||||||
nodeSelector: {}
|
nodeSelector:
|
||||||
# beta.kubernetes.io/arch: amd64
|
kubernetes.io/os: linux
|
||||||
# beta.kubernetes.io/os: linux
|
# kubernetes.io/arch: amd64
|
||||||
|
|
||||||
tolerations:
|
tolerations:
|
||||||
- effect: NoSchedule
|
- effect: NoSchedule
|
||||||
@ -429,8 +436,17 @@ readinessProbe:
|
|||||||
# Enable vertical pod autoscaler support for prometheus-node-exporter
|
# Enable vertical pod autoscaler support for prometheus-node-exporter
|
||||||
verticalPodAutoscaler:
|
verticalPodAutoscaler:
|
||||||
enabled: false
|
enabled: false
|
||||||
|
|
||||||
|
# Recommender responsible for generating recommendation for the object.
|
||||||
|
# List should be empty (then the default recommender will generate the recommendation)
|
||||||
|
# or contain exactly one recommender.
|
||||||
|
# recommenders:
|
||||||
|
# - name: custom-recommender-performance
|
||||||
|
|
||||||
# List of resources that the vertical pod autoscaler can control. Defaults to cpu and memory
|
# List of resources that the vertical pod autoscaler can control. Defaults to cpu and memory
|
||||||
controlledResources: []
|
controlledResources: []
|
||||||
|
# Specifies which resource values should be controlled: RequestsOnly or RequestsAndLimits.
|
||||||
|
# controlledValues: RequestsAndLimits
|
||||||
|
|
||||||
# Define the max allowed resources for the pod
|
# Define the max allowed resources for the pod
|
||||||
maxAllowed: {}
|
maxAllowed: {}
|
||||||
@ -442,6 +458,17 @@ verticalPodAutoscaler:
|
|||||||
# memory: 100Mi
|
# memory: 100Mi
|
||||||
|
|
||||||
# updatePolicy:
|
# updatePolicy:
|
||||||
|
# Specifies minimal number of replicas which need to be alive for VPA Updater to attempt pod eviction
|
||||||
|
# minReplicas: 1
|
||||||
# Specifies whether recommended updates are applied when a Pod is started and whether recommended updates
|
# Specifies whether recommended updates are applied when a Pod is started and whether recommended updates
|
||||||
# are applied during the life of a Pod. Possible values are "Off", "Initial", "Recreate", and "Auto".
|
# are applied during the life of a Pod. Possible values are "Off", "Initial", "Recreate", and "Auto".
|
||||||
# updateMode: Auto
|
# updateMode: Auto
|
||||||
|
|
||||||
|
# Extra manifests to deploy as an array
|
||||||
|
extraManifests: []
|
||||||
|
# - apiVersion: v1
|
||||||
|
# kind: ConfigMap
|
||||||
|
# metadata:
|
||||||
|
# name: prometheus-extra
|
||||||
|
# data:
|
||||||
|
# extra-data: "value"
|
||||||
|
@ -0,0 +1,21 @@
|
|||||||
|
# Patterns to ignore when building packages.
|
||||||
|
# This supports shell glob matching, relative path matching, and
|
||||||
|
# negation (prefixed with !). Only one pattern per line.
|
||||||
|
.DS_Store
|
||||||
|
# Common VCS dirs
|
||||||
|
.git/
|
||||||
|
.gitignore
|
||||||
|
.bzr/
|
||||||
|
.bzrignore
|
||||||
|
.hg/
|
||||||
|
.hgignore
|
||||||
|
.svn/
|
||||||
|
# Common backup files
|
||||||
|
*.swp
|
||||||
|
*.bak
|
||||||
|
*.tmp
|
||||||
|
*~
|
||||||
|
# Various IDEs
|
||||||
|
.project
|
||||||
|
.idea/
|
||||||
|
*.tmproj
|
@ -0,0 +1,17 @@
|
|||||||
|
apiVersion: v2
|
||||||
|
appVersion: 0.22.0
|
||||||
|
description: A Helm chart for prometheus windows-exporter
|
||||||
|
home: https://github.com/prometheus-community/windows_exporter/
|
||||||
|
keywords:
|
||||||
|
- windows-exporter
|
||||||
|
- windows
|
||||||
|
- prometheus
|
||||||
|
- exporter
|
||||||
|
maintainers:
|
||||||
|
- email: github@jkroepke.de
|
||||||
|
name: jkroepke
|
||||||
|
name: prometheus-windows-exporter
|
||||||
|
sources:
|
||||||
|
- https://github.com/prometheus-community/windows_exporter/
|
||||||
|
type: application
|
||||||
|
version: 0.1.1
|
@ -0,0 +1,42 @@
|
|||||||
|
# Prometheus `Windows Exporter`
|
||||||
|
|
||||||
|
Prometheus exporter for hardware and OS metrics exposed by Windows kernels, written in Go with pluggable metric collectors.
|
||||||
|
|
||||||
|
This chart bootstraps a prometheus [`Windows Exporter`](http://github.com/prometheus-community/windows_exporter) daemonset on a [Kubernetes](http://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.
|
||||||
|
|
||||||
|
## Get Repository Info
|
||||||
|
|
||||||
|
```console
|
||||||
|
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
|
||||||
|
helm repo update
|
||||||
|
```
|
||||||
|
|
||||||
|
_See [`helm repo`](https://helm.sh/docs/helm/helm_repo/) for command documentation._
|
||||||
|
|
||||||
|
## Install Chart
|
||||||
|
|
||||||
|
```console
|
||||||
|
helm install [RELEASE_NAME] prometheus-community/prometheus-windows-exporter
|
||||||
|
```
|
||||||
|
|
||||||
|
_See [configuration](#configuring) below._
|
||||||
|
|
||||||
|
_See [helm install](https://helm.sh/docs/helm/helm_install/) for command documentation._
|
||||||
|
|
||||||
|
## Uninstall Chart
|
||||||
|
|
||||||
|
```console
|
||||||
|
helm uninstall [RELEASE_NAME]
|
||||||
|
```
|
||||||
|
|
||||||
|
This removes all the Kubernetes components associated with the chart and deletes the release.
|
||||||
|
|
||||||
|
_See [helm uninstall](https://helm.sh/docs/helm/helm_uninstall/) for command documentation._
|
||||||
|
|
||||||
|
## Configuring
|
||||||
|
|
||||||
|
See [Customizing the Chart Before Installing](https://helm.sh/docs/intro/using_helm/#customizing-the-chart-before-installing). To see all configurable options with detailed comments, visit the chart's [values.yaml](./values.yaml), or run these configuration commands:
|
||||||
|
|
||||||
|
```console
|
||||||
|
helm show values prometheus-community/prometheus-windows-exporter
|
||||||
|
```
|
@ -0,0 +1,185 @@
|
|||||||
|
{{/* vim: set filetype=mustache: */}}
|
||||||
|
{{/*
|
||||||
|
Expand the name of the chart.
|
||||||
|
*/}}
|
||||||
|
{{- define "prometheus-windows-exporter.name" -}}
|
||||||
|
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Create a default fully qualified app name.
|
||||||
|
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||||
|
If release name contains chart name it will be used as a full name.
|
||||||
|
*/}}
|
||||||
|
{{- define "prometheus-windows-exporter.fullname" -}}
|
||||||
|
{{- if .Values.fullnameOverride }}
|
||||||
|
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
|
||||||
|
{{- else }}
|
||||||
|
{{- $name := default .Chart.Name .Values.nameOverride }}
|
||||||
|
{{- if contains $name .Release.Name }}
|
||||||
|
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
|
||||||
|
{{- else }}
|
||||||
|
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Create chart name and version as used by the chart label.
|
||||||
|
*/}}
|
||||||
|
{{- define "prometheus-windows-exporter.chart" -}}
|
||||||
|
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Common labels
|
||||||
|
*/}}
|
||||||
|
{{- define "prometheus-windows-exporter.labels" -}}
|
||||||
|
helm.sh/chart: {{ include "prometheus-windows-exporter.chart" . }}
|
||||||
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
|
app.kubernetes.io/component: metrics
|
||||||
|
app.kubernetes.io/part-of: {{ include "prometheus-windows-exporter.name" . }}
|
||||||
|
{{ include "prometheus-windows-exporter.selectorLabels" . }}
|
||||||
|
{{- with .Chart.AppVersion }}
|
||||||
|
app.kubernetes.io/version: {{ . | quote }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.podLabels }}
|
||||||
|
{{ toYaml . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.releaseLabel }}
|
||||||
|
release: {{ .Release.Name }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Selector labels
|
||||||
|
*/}}
|
||||||
|
{{- define "prometheus-windows-exporter.selectorLabels" -}}
|
||||||
|
app.kubernetes.io/name: {{ include "prometheus-windows-exporter.name" . }}
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Create the name of the service account to use
|
||||||
|
*/}}
|
||||||
|
{{- define "prometheus-windows-exporter.serviceAccountName" -}}
|
||||||
|
{{- if .Values.serviceAccount.create }}
|
||||||
|
{{- default (include "prometheus-windows-exporter.fullname" .) .Values.serviceAccount.name }}
|
||||||
|
{{- else }}
|
||||||
|
{{- default "default" .Values.serviceAccount.name }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
The image to use
|
||||||
|
*/}}
|
||||||
|
{{- define "prometheus-windows-exporter.image" -}}
|
||||||
|
{{- if .Values.image.sha }}
|
||||||
|
{{- fail "image.sha forbidden. Use image.digest instead" }}
|
||||||
|
{{- else if .Values.image.digest }}
|
||||||
|
{{- if .Values.global.imageRegistry }}
|
||||||
|
{{- printf "%s/%s:%s@%s" .Values.global.imageRegistry .Values.image.repository (default .Chart.AppVersion .Values.image.tag) .Values.image.digest }}
|
||||||
|
{{- else }}
|
||||||
|
{{- printf "%s/%s:%s@%s" .Values.image.registry .Values.image.repository (default .Chart.AppVersion .Values.image.tag) .Values.image.digest }}
|
||||||
|
{{- end }}
|
||||||
|
{{- else }}
|
||||||
|
{{- if .Values.global.imageRegistry }}
|
||||||
|
{{- printf "%s/%s:%s" .Values.global.imageRegistry .Values.image.repository (default .Chart.AppVersion .Values.image.tag) }}
|
||||||
|
{{- else }}
|
||||||
|
{{- printf "%s/%s:%s" .Values.image.registry .Values.image.repository (default .Chart.AppVersion .Values.image.tag) }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Allow the release namespace to be overridden for multi-namespace deployments in combined charts
|
||||||
|
*/}}
|
||||||
|
{{- define "prometheus-windows-exporter.namespace" -}}
|
||||||
|
{{- if .Values.namespaceOverride }}
|
||||||
|
{{- .Values.namespaceOverride }}
|
||||||
|
{{- else }}
|
||||||
|
{{- .Release.Namespace }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Create the namespace name of the service monitor
|
||||||
|
*/}}
|
||||||
|
{{- define "prometheus-windows-exporter.monitor-namespace" -}}
|
||||||
|
{{- if .Values.namespaceOverride }}
|
||||||
|
{{- .Values.namespaceOverride }}
|
||||||
|
{{- else }}
|
||||||
|
{{- if .Values.prometheus.monitor.namespace }}
|
||||||
|
{{- .Values.prometheus.monitor.namespace }}
|
||||||
|
{{- else }}
|
||||||
|
{{- .Release.Namespace }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/* Sets default scrape limits for servicemonitor */}}
|
||||||
|
{{- define "servicemonitor.scrapeLimits" -}}
|
||||||
|
{{- with .sampleLimit }}
|
||||||
|
sampleLimit: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .targetLimit }}
|
||||||
|
targetLimit: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .labelLimit }}
|
||||||
|
labelLimit: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .labelNameLengthLimit }}
|
||||||
|
labelNameLengthLimit: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .labelValueLengthLimit }}
|
||||||
|
labelValueLengthLimit: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Formats imagePullSecrets. Input is (dict "Values" .Values "imagePullSecrets" .{specific imagePullSecrets})
|
||||||
|
*/}}
|
||||||
|
{{- define "prometheus-windows-exporter.imagePullSecrets" -}}
|
||||||
|
{{- range (concat .Values.global.imagePullSecrets .imagePullSecrets) }}
|
||||||
|
{{- if eq (typeOf .) "map[string]interface {}" }}
|
||||||
|
- {{ toYaml . | trim }}
|
||||||
|
{{- else }}
|
||||||
|
- name: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Create the namespace name of the pod monitor
|
||||||
|
*/}}
|
||||||
|
{{- define "prometheus-windows-exporter.podmonitor-namespace" -}}
|
||||||
|
{{- if .Values.namespaceOverride }}
|
||||||
|
{{- .Values.namespaceOverride }}
|
||||||
|
{{- else }}
|
||||||
|
{{- if .Values.prometheus.podMonitor.namespace }}
|
||||||
|
{{- .Values.prometheus.podMonitor.namespace }}
|
||||||
|
{{- else }}
|
||||||
|
{{- .Release.Namespace }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/* Sets default scrape limits for podmonitor */}}
|
||||||
|
{{- define "podmonitor.scrapeLimits" -}}
|
||||||
|
{{- with .sampleLimit }}
|
||||||
|
sampleLimit: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .targetLimit }}
|
||||||
|
targetLimit: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .labelLimit }}
|
||||||
|
labelLimit: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .labelNameLengthLimit }}
|
||||||
|
labelNameLengthLimit: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .labelValueLengthLimit }}
|
||||||
|
labelValueLengthLimit: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
@ -0,0 +1,14 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: {{ include "prometheus-windows-exporter.fullname" . }}
|
||||||
|
namespace: {{ include "prometheus-windows-exporter.namespace" . }}
|
||||||
|
labels:
|
||||||
|
{{- include "prometheus-windows-exporter.labels" $ | nindent 4 }}
|
||||||
|
{{- with .Values.service.annotations }}
|
||||||
|
annotations:
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
data:
|
||||||
|
config.yml: |
|
||||||
|
{{- .Values.config | nindent 4 }}
|
@ -0,0 +1,192 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: DaemonSet
|
||||||
|
metadata:
|
||||||
|
name: {{ include "prometheus-windows-exporter.fullname" . }}
|
||||||
|
namespace: {{ include "prometheus-windows-exporter.namespace" . }}
|
||||||
|
labels:
|
||||||
|
{{- include "prometheus-windows-exporter.labels" . | nindent 4 }}
|
||||||
|
{{- with .Values.daemonsetAnnotations }}
|
||||||
|
annotations:
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
{{- include "prometheus-windows-exporter.selectorLabels" . | nindent 6 }}
|
||||||
|
{{- with .Values.updateStrategy }}
|
||||||
|
updateStrategy:
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
{{- with .Values.podAnnotations }}
|
||||||
|
annotations:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
labels:
|
||||||
|
{{- include "prometheus-windows-exporter.labels" . | nindent 8 }}
|
||||||
|
spec:
|
||||||
|
automountServiceAccountToken: {{ .Values.serviceAccount.automountServiceAccountToken }}
|
||||||
|
{{- with .Values.securityContext }}
|
||||||
|
securityContext:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.priorityClassName }}
|
||||||
|
priorityClassName: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
initContainers:
|
||||||
|
- name: configure-firewall
|
||||||
|
image: {{ include "prometheus-windows-exporter.image" . }}
|
||||||
|
command: [ "powershell" ]
|
||||||
|
args: [ "New-NetFirewallRule", "-DisplayName", "'windows-exporter'", "-Direction", "inbound", "-Profile", "Any", "-Action", "Allow", "-LocalPort", "{{ .Values.service.port }}", "-Protocol", "TCP" ]
|
||||||
|
{{- with .Values.extraInitContainers }}
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
serviceAccountName: {{ include "prometheus-windows-exporter.serviceAccountName" . }}
|
||||||
|
containers:
|
||||||
|
- name: windows-exporter
|
||||||
|
image: {{ include "prometheus-windows-exporter.image" . }}
|
||||||
|
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||||
|
args:
|
||||||
|
- --config.file=%CONTAINER_SANDBOX_MOUNT_POINT%/config.yml
|
||||||
|
- --collector.textfile.directory=%CONTAINER_SANDBOX_MOUNT_POINT%
|
||||||
|
- --web.listen-address=:{{ .Values.service.port }}
|
||||||
|
{{- with .Values.extraArgs }}
|
||||||
|
{{- toYaml . | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.containerSecurityContext }}
|
||||||
|
securityContext:
|
||||||
|
{{- toYaml . | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
|
env:
|
||||||
|
{{- range $key, $value := .Values.env }}
|
||||||
|
- name: {{ $key }}
|
||||||
|
value: {{ $value | quote }}
|
||||||
|
{{- end }}
|
||||||
|
ports:
|
||||||
|
- name: {{ .Values.service.portName }}
|
||||||
|
containerPort: {{ .Values.service.port }}
|
||||||
|
protocol: TCP
|
||||||
|
livenessProbe:
|
||||||
|
failureThreshold: {{ .Values.livenessProbe.failureThreshold }}
|
||||||
|
httpGet:
|
||||||
|
httpHeaders:
|
||||||
|
{{- range $_, $header := .Values.livenessProbe.httpGet.httpHeaders }}
|
||||||
|
- name: {{ $header.name }}
|
||||||
|
value: {{ $header.value }}
|
||||||
|
{{- end }}
|
||||||
|
path: /
|
||||||
|
port: {{ .Values.service.port }}
|
||||||
|
scheme: {{ upper .Values.livenessProbe.httpGet.scheme }}
|
||||||
|
initialDelaySeconds: {{ .Values.livenessProbe.initialDelaySeconds }}
|
||||||
|
periodSeconds: {{ .Values.livenessProbe.periodSeconds }}
|
||||||
|
successThreshold: {{ .Values.livenessProbe.successThreshold }}
|
||||||
|
timeoutSeconds: {{ .Values.livenessProbe.timeoutSeconds }}
|
||||||
|
readinessProbe:
|
||||||
|
failureThreshold: {{ .Values.readinessProbe.failureThreshold }}
|
||||||
|
httpGet:
|
||||||
|
httpHeaders:
|
||||||
|
{{- range $_, $header := .Values.readinessProbe.httpGet.httpHeaders }}
|
||||||
|
- name: {{ $header.name }}
|
||||||
|
value: {{ $header.value }}
|
||||||
|
{{- end }}
|
||||||
|
path: /
|
||||||
|
port: {{ .Values.service.port }}
|
||||||
|
scheme: {{ upper .Values.readinessProbe.httpGet.scheme }}
|
||||||
|
initialDelaySeconds: {{ .Values.readinessProbe.initialDelaySeconds }}
|
||||||
|
periodSeconds: {{ .Values.readinessProbe.periodSeconds }}
|
||||||
|
successThreshold: {{ .Values.readinessProbe.successThreshold }}
|
||||||
|
timeoutSeconds: {{ .Values.readinessProbe.timeoutSeconds }}
|
||||||
|
{{- with .Values.resources }}
|
||||||
|
resources:
|
||||||
|
{{- toYaml . | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
|
volumeMounts:
|
||||||
|
- name: config
|
||||||
|
mountPath: /config.yml
|
||||||
|
subPath: config.yml
|
||||||
|
{{- range $_, $mount := .Values.extraHostVolumeMounts }}
|
||||||
|
- name: {{ $mount.name }}
|
||||||
|
mountPath: {{ $mount.mountPath }}
|
||||||
|
readOnly: {{ $mount.readOnly }}
|
||||||
|
{{- end }}
|
||||||
|
{{- range $_, $mount := .Values.sidecarVolumeMount }}
|
||||||
|
- name: {{ $mount.name }}
|
||||||
|
mountPath: {{ $mount.mountPath }}
|
||||||
|
readOnly: true
|
||||||
|
{{- end }}
|
||||||
|
{{- range $_, $mount := .Values.configmaps }}
|
||||||
|
- name: {{ $mount.name }}
|
||||||
|
mountPath: {{ $mount.mountPath }}
|
||||||
|
{{- end }}
|
||||||
|
{{- range $_, $mount := .Values.secrets }}
|
||||||
|
- name: {{ .name }}
|
||||||
|
mountPath: {{ .mountPath }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.sidecars }}
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- if or .Values.sidecarVolumeMount .Values.sidecarHostVolumeMounts }}
|
||||||
|
volumeMounts:
|
||||||
|
{{- range $_, $mount := .Values.sidecarVolumeMount }}
|
||||||
|
- name: {{ $mount.name }}
|
||||||
|
mountPath: {{ $mount.mountPath }}
|
||||||
|
readOnly: {{ $mount.readOnly }}
|
||||||
|
{{- end }}
|
||||||
|
{{- range $_, $mount := .Values.sidecarHostVolumeMounts }}
|
||||||
|
- name: {{ $mount.name }}
|
||||||
|
mountPath: {{ $mount.mountPath }}
|
||||||
|
readOnly: {{ $mount.readOnly }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if or .Values.imagePullSecrets .Values.global.imagePullSecrets }}
|
||||||
|
imagePullSecrets:
|
||||||
|
{{- include "prometheus-windows-exporter.imagePullSecrets" (dict "Values" .Values "imagePullSecrets" .Values.imagePullSecrets) | indent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
hostNetwork: {{ .Values.hostNetwork }}
|
||||||
|
hostPID: {{ .Values.hostPID }}
|
||||||
|
{{- with .Values.affinity }}
|
||||||
|
affinity:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.dnsConfig }}
|
||||||
|
dnsConfig:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.nodeSelector }}
|
||||||
|
nodeSelector:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.tolerations }}
|
||||||
|
tolerations:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
volumes:
|
||||||
|
- name: config
|
||||||
|
configMap:
|
||||||
|
name: {{ include "prometheus-windows-exporter.fullname" . }}
|
||||||
|
{{- range $_, $mount := .Values.extraHostVolumeMounts }}
|
||||||
|
- name: {{ $mount.name }}
|
||||||
|
hostPath:
|
||||||
|
path: {{ $mount.hostPath }}
|
||||||
|
{{- end }}
|
||||||
|
{{- range $_, $mount := .Values.sidecarVolumeMount }}
|
||||||
|
- name: {{ $mount.name }}
|
||||||
|
emptyDir:
|
||||||
|
medium: Memory
|
||||||
|
{{- end }}
|
||||||
|
{{- range $_, $mount := .Values.sidecarHostVolumeMounts }}
|
||||||
|
- name: {{ $mount.name }}
|
||||||
|
hostPath:
|
||||||
|
path: {{ $mount.hostPath }}
|
||||||
|
{{- end }}
|
||||||
|
{{- range $_, $mount := .Values.configmaps }}
|
||||||
|
- name: {{ $mount.name }}
|
||||||
|
configMap:
|
||||||
|
name: {{ $mount.name }}
|
||||||
|
{{- end }}
|
||||||
|
{{- range $_, $mount := .Values.secrets }}
|
||||||
|
- name: {{ $mount.name }}
|
||||||
|
secret:
|
||||||
|
secretName: {{ $mount.name }}
|
||||||
|
{{- end }}
|
@ -0,0 +1,91 @@
|
|||||||
|
{{- if .Values.prometheus.podMonitor.enabled }}
|
||||||
|
apiVersion: {{ .Values.prometheus.podMonitor.apiVersion | default "monitoring.coreos.com/v1" }}
|
||||||
|
kind: PodMonitor
|
||||||
|
metadata:
|
||||||
|
name: {{ include "prometheus-windows-exporter.fullname" . }}
|
||||||
|
namespace: {{ include "prometheus-windows-exporter.podmonitor-namespace" . }}
|
||||||
|
labels:
|
||||||
|
{{- include "prometheus-windows-exporter.labels" . | nindent 4 }}
|
||||||
|
{{- with .Values.prometheus.podMonitor.additionalLabels }}
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
jobLabel: {{ default "app.kubernetes.io/name" .Values.prometheus.podMonitor.jobLabel }}
|
||||||
|
{{- include "podmonitor.scrapeLimits" .Values.prometheus.podMonitor | nindent 2 }}
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
{{- with .Values.prometheus.podMonitor.selectorOverride }}
|
||||||
|
{{- toYaml . | nindent 6 }}
|
||||||
|
{{- else }}
|
||||||
|
{{- include "prometheus-windows-exporter.selectorLabels" . | nindent 6 }}
|
||||||
|
{{- end }}
|
||||||
|
namespaceSelector:
|
||||||
|
matchNames:
|
||||||
|
- {{ include "prometheus-windows-exporter.namespace" . }}
|
||||||
|
{{- with .Values.prometheus.podMonitor.attachMetadata }}
|
||||||
|
attachMetadata:
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.prometheus.podMonitor.podTargetLabels }}
|
||||||
|
podTargetLabels:
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
podMetricsEndpoints:
|
||||||
|
- port: {{ .Values.service.portName }}
|
||||||
|
{{- with .Values.prometheus.podMonitor.scheme }}
|
||||||
|
scheme: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.prometheus.podMonitor.path }}
|
||||||
|
path: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.prometheus.podMonitor.basicAuth }}
|
||||||
|
basicAuth:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.prometheus.podMonitor.bearerTokenSecret }}
|
||||||
|
bearerTokenSecret:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.prometheus.podMonitor.tlsConfig }}
|
||||||
|
tlsConfig:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.prometheus.podMonitor.authorization }}
|
||||||
|
authorization:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.prometheus.podMonitor.oauth2 }}
|
||||||
|
oauth2:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.prometheus.podMonitor.proxyUrl }}
|
||||||
|
proxyUrl: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.prometheus.podMonitor.interval }}
|
||||||
|
interval: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.prometheus.podMonitor.honorTimestamps }}
|
||||||
|
honorTimestamps: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.prometheus.podMonitor.honorLabels }}
|
||||||
|
honorLabels: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.prometheus.podMonitor.scrapeTimeout }}
|
||||||
|
scrapeTimeout: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.prometheus.podMonitor.relabelings }}
|
||||||
|
relabelings:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.prometheus.podMonitor.metricRelabelings }}
|
||||||
|
metricRelabelings:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
enableHttp2: {{ default false .Values.prometheus.podMonitor.enableHttp2 }}
|
||||||
|
filterRunning: {{ default true .Values.prometheus.podMonitor.filterRunning }}
|
||||||
|
followRedirects: {{ default false .Values.prometheus.podMonitor.followRedirects }}
|
||||||
|
{{- with .Values.prometheus.podMonitor.params }}
|
||||||
|
params:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
@ -0,0 +1,32 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: {{ include "prometheus-windows-exporter.fullname" . }}
|
||||||
|
namespace: {{ include "prometheus-windows-exporter.namespace" . }}
|
||||||
|
labels:
|
||||||
|
{{- include "prometheus-windows-exporter.labels" $ | nindent 4 }}
|
||||||
|
{{- if or .Values.prometheus.monitor.enabled .Values.prometheus.podMonitor.enabled }}
|
||||||
|
{{- with .Values.service.annotations }}
|
||||||
|
annotations:
|
||||||
|
{{- unset . "prometheus.io/scrape" | toYaml | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- else }}
|
||||||
|
annotations:
|
||||||
|
prometheus.io/scrape: "true"
|
||||||
|
{{- with .Values.service.annotations }}
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
type: {{ .Values.service.type }}
|
||||||
|
ports:
|
||||||
|
- port: {{ .Values.service.port }}
|
||||||
|
{{- if ( and (eq .Values.service.type "NodePort" ) (not (empty .Values.service.nodePort)) ) }}
|
||||||
|
nodePort: {{ .Values.service.nodePort }}
|
||||||
|
{{- end }}
|
||||||
|
targetPort: {{ .Values.service.portName }}
|
||||||
|
protocol: TCP
|
||||||
|
appProtocol: http
|
||||||
|
name: {{ .Values.service.portName }}
|
||||||
|
selector:
|
||||||
|
{{- include "prometheus-windows-exporter.selectorLabels" . | nindent 4 }}
|
@ -0,0 +1,17 @@
|
|||||||
|
{{- if and .Values.rbac.create .Values.serviceAccount.create -}}
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: {{ include "prometheus-windows-exporter.serviceAccountName" . }}
|
||||||
|
namespace: {{ include "prometheus-windows-exporter.namespace" . }}
|
||||||
|
labels:
|
||||||
|
{{- include "prometheus-windows-exporter.labels" . | nindent 4 }}
|
||||||
|
{{- with .Values.serviceAccount.annotations }}
|
||||||
|
annotations:
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if or .Values.serviceAccount.imagePullSecrets .Values.global.imagePullSecrets }}
|
||||||
|
imagePullSecrets:
|
||||||
|
{{- include "prometheus-windows-exporter.imagePullSecrets" (dict "Values" .Values "imagePullSecrets" .Values.serviceAccount.imagePullSecrets) | indent 2 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end -}}
|
@ -0,0 +1,61 @@
|
|||||||
|
{{- if .Values.prometheus.monitor.enabled }}
|
||||||
|
apiVersion: {{ .Values.prometheus.monitor.apiVersion | default "monitoring.coreos.com/v1" }}
|
||||||
|
kind: ServiceMonitor
|
||||||
|
metadata:
|
||||||
|
name: {{ include "prometheus-windows-exporter.fullname" . }}
|
||||||
|
namespace: {{ include "prometheus-windows-exporter.monitor-namespace" . }}
|
||||||
|
labels:
|
||||||
|
{{- include "prometheus-windows-exporter.labels" . | nindent 4 }}
|
||||||
|
{{- with .Values.prometheus.monitor.additionalLabels }}
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
jobLabel: {{ default "app.kubernetes.io/name" .Values.prometheus.monitor.jobLabel }}
|
||||||
|
{{- include "servicemonitor.scrapeLimits" .Values.prometheus.monitor | nindent 2 }}
|
||||||
|
{{- with .Values.prometheus.monitor.podTargetLabels }}
|
||||||
|
podTargetLabels:
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
{{- with .Values.prometheus.monitor.selectorOverride }}
|
||||||
|
{{- toYaml . | nindent 6 }}
|
||||||
|
{{- else }}
|
||||||
|
{{- include "prometheus-windows-exporter.selectorLabels" . | nindent 6 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.prometheus.monitor.attachMetadata }}
|
||||||
|
attachMetadata:
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
endpoints:
|
||||||
|
- port: {{ .Values.service.portName }}
|
||||||
|
scheme: {{ .Values.prometheus.monitor.scheme }}
|
||||||
|
{{- with .Values.prometheus.monitor.basicAuth }}
|
||||||
|
basicAuth:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.prometheus.monitor.bearerTokenFile }}
|
||||||
|
bearerTokenFile: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.prometheus.monitor.tlsConfig }}
|
||||||
|
tlsConfig:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.prometheus.monitor.proxyUrl }}
|
||||||
|
proxyUrl: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.prometheus.monitor.interval }}
|
||||||
|
interval: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.prometheus.monitor.scrapeTimeout }}
|
||||||
|
scrapeTimeout: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.prometheus.monitor.relabelings }}
|
||||||
|
relabelings:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.prometheus.monitor.metricRelabelings }}
|
||||||
|
metricRelabelings:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
@ -0,0 +1,369 @@
|
|||||||
|
# Default values for prometheus-windows-exporter.
|
||||||
|
# This is a YAML-formatted file.
|
||||||
|
# Declare variables to be passed into your templates.
|
||||||
|
|
||||||
|
image:
|
||||||
|
registry: ghcr.io
|
||||||
|
repository: prometheus-community/windows-exporter
|
||||||
|
# Overrides the image tag whose default is {{ printf "v%s" .Chart.AppVersion }}
|
||||||
|
tag: ""
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
digest: ""
|
||||||
|
|
||||||
|
config: |-
|
||||||
|
collectors:
|
||||||
|
enabled: '[defaults],container'
|
||||||
|
|
||||||
|
imagePullSecrets: []
|
||||||
|
# - name: "image-pull-secret"
|
||||||
|
nameOverride: ""
|
||||||
|
fullnameOverride: ""
|
||||||
|
|
||||||
|
global:
|
||||||
|
# To help compatibility with other charts which use global.imagePullSecrets.
|
||||||
|
# Allow either an array of {name: pullSecret} maps (k8s-style), or an array of strings (more common helm-style).
|
||||||
|
# global:
|
||||||
|
# imagePullSecrets:
|
||||||
|
# - name: pullSecret1
|
||||||
|
# - name: pullSecret2
|
||||||
|
# or
|
||||||
|
# global:
|
||||||
|
# imagePullSecrets:
|
||||||
|
# - pullSecret1
|
||||||
|
# - pullSecret2
|
||||||
|
imagePullSecrets: []
|
||||||
|
#
|
||||||
|
# Allow parent charts to override registry hostname
|
||||||
|
imageRegistry: ""
|
||||||
|
|
||||||
|
service:
|
||||||
|
type: ClusterIP
|
||||||
|
port: 9182
|
||||||
|
nodePort:
|
||||||
|
portName: metrics
|
||||||
|
annotations: {}
|
||||||
|
|
||||||
|
# Additional environment variables that will be passed to the daemonset
|
||||||
|
env: {}
|
||||||
|
## env:
|
||||||
|
## VARIABLE: value
|
||||||
|
|
||||||
|
prometheus:
|
||||||
|
monitor:
|
||||||
|
enabled: false
|
||||||
|
additionalLabels: {}
|
||||||
|
namespace: ""
|
||||||
|
|
||||||
|
jobLabel: ""
|
||||||
|
|
||||||
|
# List of pod labels to add to windows exporter metrics
|
||||||
|
# https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#servicemonitor
|
||||||
|
podTargetLabels: []
|
||||||
|
|
||||||
|
scheme: http
|
||||||
|
basicAuth: {}
|
||||||
|
bearerTokenFile:
|
||||||
|
tlsConfig: {}
|
||||||
|
|
||||||
|
## proxyUrl: URL of a proxy that should be used for scraping.
|
||||||
|
##
|
||||||
|
proxyUrl: ""
|
||||||
|
|
||||||
|
## Override serviceMonitor selector
|
||||||
|
##
|
||||||
|
selectorOverride: {}
|
||||||
|
|
||||||
|
## Attach node metadata to discovered targets. Requires Prometheus v2.35.0 and above.
|
||||||
|
##
|
||||||
|
attachMetadata:
|
||||||
|
node: false
|
||||||
|
|
||||||
|
relabelings: []
|
||||||
|
metricRelabelings: []
|
||||||
|
interval: ""
|
||||||
|
scrapeTimeout: 10s
|
||||||
|
## prometheus.monitor.apiVersion ApiVersion for the serviceMonitor Resource(defaults to "monitoring.coreos.com/v1")
|
||||||
|
apiVersion: ""
|
||||||
|
|
||||||
|
## SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
|
||||||
|
##
|
||||||
|
sampleLimit: 0
|
||||||
|
|
||||||
|
## TargetLimit defines a limit on the number of scraped targets that will be accepted.
|
||||||
|
##
|
||||||
|
targetLimit: 0
|
||||||
|
|
||||||
|
## Per-scrape limit on number of labels that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
|
||||||
|
##
|
||||||
|
labelLimit: 0
|
||||||
|
|
||||||
|
## Per-scrape limit on length of labels name that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
|
||||||
|
##
|
||||||
|
labelNameLengthLimit: 0
|
||||||
|
|
||||||
|
## Per-scrape limit on length of labels value that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
|
||||||
|
##
|
||||||
|
labelValueLengthLimit: 0
|
||||||
|
|
||||||
|
# PodMonitor defines monitoring for a set of pods.
|
||||||
|
# ref. https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#monitoring.coreos.com/v1.PodMonitor
|
||||||
|
# Using a PodMonitor may be preferred in some environments where there is very large number
|
||||||
|
# of Windows Exporter endpoints (1000+) behind a single service.
|
||||||
|
# The PodMonitor is disabled by default. When switching from ServiceMonitor to PodMonitor,
|
||||||
|
# the time series resulting from the configuration through PodMonitor may have different labels.
|
||||||
|
# For instance, there will not be the service label any longer which might
|
||||||
|
# affect PromQL queries selecting that label.
|
||||||
|
podMonitor:
|
||||||
|
enabled: false
|
||||||
|
# Namespace in which to deploy the pod monitor. Defaults to the release namespace.
|
||||||
|
namespace: ""
|
||||||
|
# Additional labels, e.g. setting a label for pod monitor selector as set in prometheus
|
||||||
|
additionalLabels: {}
|
||||||
|
# release: kube-prometheus-stack
|
||||||
|
# PodTargetLabels transfers labels of the Kubernetes Pod onto the target.
|
||||||
|
podTargetLabels: []
|
||||||
|
# apiVersion defaults to monitoring.coreos.com/v1.
|
||||||
|
apiVersion: ""
|
||||||
|
# Override pod selector to select pod objects.
|
||||||
|
selectorOverride: {}
|
||||||
|
# Attach node metadata to discovered targets. Requires Prometheus v2.35.0 and above.
|
||||||
|
attachMetadata:
|
||||||
|
node: false
|
||||||
|
# The label to use to retrieve the job name from. Defaults to label app.kubernetes.io/name.
|
||||||
|
jobLabel: ""
|
||||||
|
|
||||||
|
# Scheme/protocol to use for scraping.
|
||||||
|
scheme: "http"
|
||||||
|
# Path to scrape metrics at.
|
||||||
|
path: "/metrics"
|
||||||
|
|
||||||
|
# BasicAuth allow an endpoint to authenticate over basic authentication.
|
||||||
|
# More info: https://prometheus.io/docs/operating/configuration/#endpoint
|
||||||
|
basicAuth: {}
|
||||||
|
# Secret to mount to read bearer token for scraping targets.
|
||||||
|
# The secret needs to be in the same namespace as the pod monitor and accessible by the Prometheus Operator.
|
||||||
|
# https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/#secretkeyselector-v1-core
|
||||||
|
bearerTokenSecret: {}
|
||||||
|
# TLS configuration to use when scraping the endpoint.
|
||||||
|
tlsConfig: {}
|
||||||
|
# Authorization section for this endpoint.
|
||||||
|
# https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#monitoring.coreos.com/v1.SafeAuthorization
|
||||||
|
authorization: {}
|
||||||
|
# OAuth2 for the URL. Only valid in Prometheus versions 2.27.0 and newer.
|
||||||
|
# https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#monitoring.coreos.com/v1.OAuth2
|
||||||
|
oauth2: {}
|
||||||
|
|
||||||
|
# ProxyURL eg http://proxyserver:2195. Directs scrapes through proxy to this endpoint.
|
||||||
|
proxyUrl: ""
|
||||||
|
# Interval at which endpoints should be scraped. If not specified Prometheus’ global scrape interval is used.
|
||||||
|
interval: ""
|
||||||
|
# Timeout after which the scrape is ended. If not specified, the Prometheus global scrape interval is used.
|
||||||
|
scrapeTimeout: ""
|
||||||
|
# HonorTimestamps controls whether Prometheus respects the timestamps present in scraped data.
|
||||||
|
honorTimestamps: true
|
||||||
|
# HonorLabels chooses the metric’s labels on collisions with target labels.
|
||||||
|
honorLabels: true
|
||||||
|
# Whether to enable HTTP2. Default false.
|
||||||
|
enableHttp2: ""
|
||||||
|
# Drop pods that are not running. (Failed, Succeeded).
|
||||||
|
# Enabled by default. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase
|
||||||
|
filterRunning: ""
|
||||||
|
# FollowRedirects configures whether scrape requests follow HTTP 3xx redirects. Default false.
|
||||||
|
followRedirects: ""
|
||||||
|
# Optional HTTP URL parameters
|
||||||
|
params: {}
|
||||||
|
|
||||||
|
# RelabelConfigs to apply to samples before scraping. Prometheus Operator automatically adds
|
||||||
|
# relabelings for a few standard Kubernetes fields. The original scrape job’s name
|
||||||
|
# is available via the __tmp_prometheus_job_name label.
|
||||||
|
# More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
|
||||||
|
relabelings: []
|
||||||
|
# MetricRelabelConfigs to apply to samples before ingestion.
|
||||||
|
metricRelabelings: []
|
||||||
|
|
||||||
|
# SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
|
||||||
|
sampleLimit: 0
|
||||||
|
# TargetLimit defines a limit on the number of scraped targets that will be accepted.
|
||||||
|
targetLimit: 0
|
||||||
|
# Per-scrape limit on number of labels that will be accepted for a sample.
|
||||||
|
# Only valid in Prometheus versions 2.27.0 and newer.
|
||||||
|
labelLimit: 0
|
||||||
|
# Per-scrape limit on length of labels name that will be accepted for a sample.
|
||||||
|
# Only valid in Prometheus versions 2.27.0 and newer.
|
||||||
|
labelNameLengthLimit: 0
|
||||||
|
# Per-scrape limit on length of labels value that will be accepted for a sample.
|
||||||
|
# Only valid in Prometheus versions 2.27.0 and newer.
|
||||||
|
labelValueLengthLimit: 0
|
||||||
|
|
||||||
|
## Customize the updateStrategy if set
|
||||||
|
updateStrategy:
|
||||||
|
type: RollingUpdate
|
||||||
|
rollingUpdate:
|
||||||
|
maxUnavailable: 1
|
||||||
|
|
||||||
|
resources: {}
|
||||||
|
# We usually recommend not to specify default resources and to leave this as a conscious
|
||||||
|
# choice for the user. This also increases chances charts run on environments with little
|
||||||
|
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
||||||
|
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
||||||
|
# limits:
|
||||||
|
# cpu: 200m
|
||||||
|
# memory: 50Mi
|
||||||
|
# requests:
|
||||||
|
# cpu: 100m
|
||||||
|
# memory: 30Mi
|
||||||
|
|
||||||
|
serviceAccount:
|
||||||
|
# Specifies whether a ServiceAccount should be created
|
||||||
|
create: true
|
||||||
|
# The name of the ServiceAccount to use.
|
||||||
|
# If not set and create is true, a name is generated using the fullname template
|
||||||
|
name:
|
||||||
|
annotations: {}
|
||||||
|
imagePullSecrets: []
|
||||||
|
automountServiceAccountToken: false
|
||||||
|
|
||||||
|
securityContext:
|
||||||
|
windowsOptions:
|
||||||
|
hostProcess: true
|
||||||
|
runAsUserName: "NT AUTHORITY\\system"
|
||||||
|
|
||||||
|
containerSecurityContext: {}
|
||||||
|
|
||||||
|
rbac:
|
||||||
|
## If true, create & use RBAC resources
|
||||||
|
##
|
||||||
|
create: true
|
||||||
|
|
||||||
|
# Expose the service to the host network
|
||||||
|
hostNetwork: true
|
||||||
|
|
||||||
|
# Share the host process ID namespace
|
||||||
|
hostPID: true
|
||||||
|
|
||||||
|
## Assign a group of affinity scheduling rules
|
||||||
|
##
|
||||||
|
affinity: {}
|
||||||
|
# nodeAffinity:
|
||||||
|
# requiredDuringSchedulingIgnoredDuringExecution:
|
||||||
|
# nodeSelectorTerms:
|
||||||
|
# - matchFields:
|
||||||
|
# - key: metadata.name
|
||||||
|
# operator: In
|
||||||
|
# values:
|
||||||
|
# - target-host-name
|
||||||
|
|
||||||
|
# Annotations to be added to windows exporter pods
|
||||||
|
podAnnotations:
|
||||||
|
# Fix for very slow GKE cluster upgrades
|
||||||
|
cluster-autoscaler.kubernetes.io/safe-to-evict: "true"
|
||||||
|
|
||||||
|
# Extra labels to be added to windows exporter pods
|
||||||
|
podLabels: {}
|
||||||
|
|
||||||
|
# Annotations to be added to windows exporter daemonset
|
||||||
|
daemonsetAnnotations: {}
|
||||||
|
|
||||||
|
## set to true to add the release label so scraping of the servicemonitor with kube-prometheus-stack works out of the box
|
||||||
|
releaseLabel: false
|
||||||
|
|
||||||
|
# Custom DNS configuration to be added to prometheus-windows-exporter pods
|
||||||
|
dnsConfig: {}
|
||||||
|
# nameservers:
|
||||||
|
# - 1.2.3.4
|
||||||
|
# searches:
|
||||||
|
# - ns1.svc.cluster-domain.example
|
||||||
|
# - my.dns.search.suffix
|
||||||
|
# options:
|
||||||
|
# - name: ndots
|
||||||
|
# value: "2"
|
||||||
|
# - name: edns0
|
||||||
|
|
||||||
|
## Assign a nodeSelector if operating a hybrid cluster
|
||||||
|
##
|
||||||
|
nodeSelector:
|
||||||
|
kubernetes.io/os: windows
|
||||||
|
# kubernetes.io/arch: amd64
|
||||||
|
|
||||||
|
tolerations:
|
||||||
|
- effect: NoSchedule
|
||||||
|
operator: Exists
|
||||||
|
|
||||||
|
## Assign a PriorityClassName to pods if set
|
||||||
|
# priorityClassName: ""
|
||||||
|
|
||||||
|
## Additional container arguments
|
||||||
|
##
|
||||||
|
extraArgs: []
|
||||||
|
# - --collector.service.services-where
|
||||||
|
# - "Name LIKE 'sql%'"
|
||||||
|
|
||||||
|
## Additional mounts from the host to windows-exporter container
|
||||||
|
##
|
||||||
|
extraHostVolumeMounts: []
|
||||||
|
# - name: <mountName>
|
||||||
|
# hostPath: <hostPath>
|
||||||
|
# mountPath: <mountPath>
|
||||||
|
# readOnly: true|false
|
||||||
|
|
||||||
|
## Additional configmaps to be mounted.
|
||||||
|
##
|
||||||
|
configmaps: []
|
||||||
|
# - name: <configMapName>
|
||||||
|
# mountPath: <mountPath>
|
||||||
|
secrets: []
|
||||||
|
# - name: <secretName>
|
||||||
|
# mountPath: <mountPatch>
|
||||||
|
## Override the deployment namespace
|
||||||
|
##
|
||||||
|
namespaceOverride: ""
|
||||||
|
|
||||||
|
## Additional containers for export metrics to text file
|
||||||
|
##
|
||||||
|
sidecars: []
|
||||||
|
## - name: nvidia-dcgm-exporter
|
||||||
|
## image: nvidia/dcgm-exporter:1.4.3
|
||||||
|
|
||||||
|
## Volume for sidecar containers
|
||||||
|
##
|
||||||
|
sidecarVolumeMount: []
|
||||||
|
## - name: collector-textfiles
|
||||||
|
## mountPath: /run/prometheus
|
||||||
|
## readOnly: false
|
||||||
|
|
||||||
|
## Additional mounts from the host to sidecar containers
|
||||||
|
##
|
||||||
|
sidecarHostVolumeMounts: []
|
||||||
|
# - name: <mountName>
|
||||||
|
# hostPath: <hostPath>
|
||||||
|
# mountPath: <mountPath>
|
||||||
|
# readOnly: true|false
|
||||||
|
# mountPropagation: None|HostToContainer|Bidirectional
|
||||||
|
|
||||||
|
## Additional InitContainers to initialize the pod
|
||||||
|
##
|
||||||
|
extraInitContainers: []
|
||||||
|
|
||||||
|
## Liveness probe
|
||||||
|
##
|
||||||
|
livenessProbe:
|
||||||
|
failureThreshold: 3
|
||||||
|
httpGet:
|
||||||
|
httpHeaders: []
|
||||||
|
scheme: http
|
||||||
|
initialDelaySeconds: 0
|
||||||
|
periodSeconds: 10
|
||||||
|
successThreshold: 1
|
||||||
|
timeoutSeconds: 1
|
||||||
|
|
||||||
|
## Readiness probe
|
||||||
|
##
|
||||||
|
readinessProbe:
|
||||||
|
failureThreshold: 3
|
||||||
|
httpGet:
|
||||||
|
httpHeaders: []
|
||||||
|
scheme: http
|
||||||
|
initialDelaySeconds: 0
|
||||||
|
periodSeconds: 10
|
||||||
|
successThreshold: 1
|
||||||
|
timeoutSeconds: 1
|
@ -59,13 +59,13 @@ spec:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.alertmanager.alertmanagerSpec.alertmanagerConfigSelector }}
|
{{- if .Values.alertmanager.alertmanagerSpec.alertmanagerConfigSelector }}
|
||||||
alertmanagerConfigSelector:
|
alertmanagerConfigSelector:
|
||||||
{{ toYaml .Values.alertmanager.alertmanagerSpec.alertmanagerConfigSelector | indent 4}}
|
{{ tpl (toYaml .Values.alertmanager.alertmanagerSpec.alertmanagerConfigSelector | indent 4) . }}
|
||||||
{{ else }}
|
{{ else }}
|
||||||
alertmanagerConfigSelector: {}
|
alertmanagerConfigSelector: {}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.alertmanager.alertmanagerSpec.alertmanagerConfigNamespaceSelector }}
|
{{- if .Values.alertmanager.alertmanagerSpec.alertmanagerConfigNamespaceSelector }}
|
||||||
alertmanagerConfigNamespaceSelector:
|
alertmanagerConfigNamespaceSelector:
|
||||||
{{ toYaml .Values.alertmanager.alertmanagerSpec.alertmanagerConfigNamespaceSelector | indent 4}}
|
{{ tpl (toYaml .Values.alertmanager.alertmanagerSpec.alertmanagerConfigNamespaceSelector | indent 4) . }}
|
||||||
{{ else }}
|
{{ else }}
|
||||||
alertmanagerConfigNamespaceSelector: {}
|
alertmanagerConfigNamespaceSelector: {}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
@ -164,6 +164,15 @@ spec:
|
|||||||
{{- if .Values.alertmanager.alertmanagerSpec.clusterAdvertiseAddress }}
|
{{- if .Values.alertmanager.alertmanagerSpec.clusterAdvertiseAddress }}
|
||||||
clusterAdvertiseAddress: {{ .Values.alertmanager.alertmanagerSpec.clusterAdvertiseAddress }}
|
clusterAdvertiseAddress: {{ .Values.alertmanager.alertmanagerSpec.clusterAdvertiseAddress }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- if .Values.alertmanager.alertmanagerSpec.clusterGossipInterval }}
|
||||||
|
clusterGossipInterval: {{ .Values.alertmanager.alertmanagerSpec.clusterGossipInterval }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.alertmanager.alertmanagerSpec.clusterPeerTimeout }}
|
||||||
|
clusterPeerTimeout: {{ .Values.alertmanager.alertmanagerSpec.clusterPeerTimeout }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.alertmanager.alertmanagerSpec.clusterPushpullInterval }}
|
||||||
|
clusterPushpullInterval: {{ .Values.alertmanager.alertmanagerSpec.clusterPushpullInterval }}
|
||||||
|
{{- end }}
|
||||||
{{- if .Values.alertmanager.alertmanagerSpec.forceEnableClusterMode }}
|
{{- if .Values.alertmanager.alertmanagerSpec.forceEnableClusterMode }}
|
||||||
forceEnableClusterMode: {{ .Values.alertmanager.alertmanagerSpec.forceEnableClusterMode }}
|
forceEnableClusterMode: {{ .Values.alertmanager.alertmanagerSpec.forceEnableClusterMode }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
{{- if and .Values.alertmanager.enabled .Values.alertmanager.ingress.enabled }}
|
{{- if and .Values.alertmanager.enabled .Values.alertmanager.ingress.enabled }}
|
||||||
{{- $pathType := .Values.alertmanager.ingress.pathType | default "ImplementationSpecific" }}
|
{{- $pathType := .Values.alertmanager.ingress.pathType | default "ImplementationSpecific" }}
|
||||||
{{- $serviceName := printf "%s-%s" (include "kube-prometheus-stack.fullname" .) "alertmanager" }}
|
{{- $serviceName := printf "%s-%s" (include "kube-prometheus-stack.fullname" .) "alertmanager" }}
|
||||||
|
{{- $backendServiceName := .Values.alertmanager.ingress.serviceName | default (printf "%s-%s" (include "kube-prometheus-stack.fullname" .) "alertmanager") }}
|
||||||
{{- $servicePort := .Values.alertmanager.ingress.servicePort | default .Values.alertmanager.service.port -}}
|
{{- $servicePort := .Values.alertmanager.ingress.servicePort | default .Values.alertmanager.service.port -}}
|
||||||
{{- $routePrefix := list .Values.alertmanager.alertmanagerSpec.routePrefix }}
|
{{- $routePrefix := list .Values.alertmanager.alertmanagerSpec.routePrefix }}
|
||||||
{{- $paths := .Values.alertmanager.ingress.paths | default $routePrefix -}}
|
{{- $paths := .Values.alertmanager.ingress.paths | default $routePrefix -}}
|
||||||
@ -41,11 +42,11 @@ spec:
|
|||||||
backend:
|
backend:
|
||||||
{{- if $apiIsStable }}
|
{{- if $apiIsStable }}
|
||||||
service:
|
service:
|
||||||
name: {{ $serviceName }}
|
name: {{ $backendServiceName }}
|
||||||
port:
|
port:
|
||||||
number: {{ $servicePort }}
|
number: {{ $servicePort }}
|
||||||
{{- else }}
|
{{- else }}
|
||||||
serviceName: {{ $serviceName }}
|
serviceName: {{ $backendServiceName }}
|
||||||
servicePort: {{ $servicePort }}
|
servicePort: {{ $servicePort }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
@ -61,11 +62,11 @@ spec:
|
|||||||
backend:
|
backend:
|
||||||
{{- if $apiIsStable }}
|
{{- if $apiIsStable }}
|
||||||
service:
|
service:
|
||||||
name: {{ $serviceName }}
|
name: {{ $backendServiceName }}
|
||||||
port:
|
port:
|
||||||
number: {{ $servicePort }}
|
number: {{ $servicePort }}
|
||||||
{{- else }}
|
{{- else }}
|
||||||
serviceName: {{ $serviceName }}
|
serviceName: {{ $backendServiceName }}
|
||||||
servicePort: {{ $servicePort }}
|
servicePort: {{ $servicePort }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
@ -43,11 +43,17 @@ spec:
|
|||||||
port: {{ .Values.alertmanager.service.port }}
|
port: {{ .Values.alertmanager.service.port }}
|
||||||
targetPort: {{ .Values.alertmanager.service.targetPort }}
|
targetPort: {{ .Values.alertmanager.service.targetPort }}
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
|
- name: reloader-web
|
||||||
|
port: 8080
|
||||||
|
targetPort: reloader-web
|
||||||
{{- if .Values.alertmanager.service.additionalPorts }}
|
{{- if .Values.alertmanager.service.additionalPorts }}
|
||||||
{{ toYaml .Values.alertmanager.service.additionalPorts | indent 2 }}
|
{{ toYaml .Values.alertmanager.service.additionalPorts | indent 2 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
selector:
|
selector:
|
||||||
app.kubernetes.io/name: alertmanager
|
app.kubernetes.io/name: alertmanager
|
||||||
alertmanager: {{ template "kube-prometheus-stack.alertmanager.crname" . }}
|
alertmanager: {{ template "kube-prometheus-stack.alertmanager.crname" . }}
|
||||||
|
{{- if .Values.alertmanager.service.sessionAffinity }}
|
||||||
|
sessionAffinity: {{ .Values.alertmanager.service.sessionAffinity }}
|
||||||
|
{{- end }}
|
||||||
type: "{{ .Values.alertmanager.service.type }}"
|
type: "{{ .Values.alertmanager.service.type }}"
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
@ -46,5 +46,30 @@ spec:
|
|||||||
{{- if .Values.alertmanager.serviceMonitor.relabelings }}
|
{{- if .Values.alertmanager.serviceMonitor.relabelings }}
|
||||||
relabelings:
|
relabelings:
|
||||||
{{ toYaml .Values.alertmanager.serviceMonitor.relabelings | indent 6 }}
|
{{ toYaml .Values.alertmanager.serviceMonitor.relabelings | indent 6 }}
|
||||||
|
{{- end }}
|
||||||
|
- port: reloader-web
|
||||||
|
{{- if .Values.alertmanager.serviceMonitor.interval }}
|
||||||
|
interval: {{ .Values.alertmanager.serviceMonitor.interval }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.alertmanager.serviceMonitor.proxyUrl }}
|
||||||
|
proxyUrl: {{ .Values.alertmanager.serviceMonitor.proxyUrl}}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.alertmanager.serviceMonitor.scheme }}
|
||||||
|
scheme: {{ .Values.alertmanager.serviceMonitor.scheme }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.alertmanager.serviceMonitor.bearerTokenFile }}
|
||||||
|
bearerTokenFile: {{ .Values.alertmanager.serviceMonitor.bearerTokenFile }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.alertmanager.serviceMonitor.tlsConfig }}
|
||||||
|
tlsConfig: {{ toYaml .Values.alertmanager.serviceMonitor.tlsConfig | nindent 6 }}
|
||||||
|
{{- end }}
|
||||||
|
path: "/metrics"
|
||||||
|
{{- if .Values.alertmanager.serviceMonitor.metricRelabelings }}
|
||||||
|
metricRelabelings:
|
||||||
|
{{ tpl (toYaml .Values.alertmanager.serviceMonitor.metricRelabelings | indent 6) . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.alertmanager.serviceMonitor.relabelings }}
|
||||||
|
relabelings:
|
||||||
|
{{ toYaml .Values.alertmanager.serviceMonitor.relabelings | indent 6 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
@ -0,0 +1,4 @@
|
|||||||
|
{{ range .Values.extraManifests }}
|
||||||
|
---
|
||||||
|
{{ tpl (toYaml .) $ }}
|
||||||
|
{{ end }}
|
@ -60,6 +60,20 @@ data:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- if .Values.grafana.sidecar.datasources.alertmanager.enabled }}
|
||||||
|
- name: Alertmanager
|
||||||
|
type: alertmanager
|
||||||
|
uid: {{ .Values.grafana.sidecar.datasources.alertmanager.uid }}
|
||||||
|
{{- if .Values.grafana.sidecar.datasources.alertmanager.url }}
|
||||||
|
url: {{ .Values.grafana.sidecar.datasources.alertmanager.url }}
|
||||||
|
{{- else }}
|
||||||
|
url: http://{{ template "kube-prometheus-stack.fullname" . }}-alertmanager.{{ template "kube-prometheus-stack.namespace" . }}:{{ .Values.alertmanager.service.port }}/{{ trimPrefix "/" .Values.alertmanager.alertmanagerSpec.routePrefix }}
|
||||||
|
{{- end }}
|
||||||
|
access: proxy
|
||||||
|
jsonData:
|
||||||
|
handleGrafanaManagedAlerts: {{ .Values.grafana.sidecar.datasources.alertmanager.handleGrafanaManagedAlerts }}
|
||||||
|
implementation: {{ .Values.grafana.sidecar.datasources.alertmanager.implementation }}
|
||||||
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.grafana.additionalDataSources }}
|
{{- if .Values.grafana.additionalDataSources }}
|
||||||
{{ tpl (toYaml .Values.grafana.additionalDataSources | indent 4) . }}
|
{{ tpl (toYaml .Values.grafana.additionalDataSources | indent 4) . }}
|
||||||
|
@ -20,7 +20,11 @@ spec:
|
|||||||
endpointSelector:
|
endpointSelector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
app: {{ template "kube-prometheus-stack.name" $ }}-admission-create
|
app: {{ template "kube-prometheus-stack.name" $ }}-admission-create
|
||||||
|
{{- if .Values.prometheusOperator.networkPolicy.matchLabels }}
|
||||||
|
{{ toYaml .Values.prometheusOperator.networkPolicy.matchLabels | nindent 6 }}
|
||||||
|
{{- else }}
|
||||||
{{- include "kube-prometheus-stack.labels" $ | nindent 6 }}
|
{{- include "kube-prometheus-stack.labels" $ | nindent 6 }}
|
||||||
|
{{- end }}
|
||||||
egress:
|
egress:
|
||||||
{{- if and .Values.prometheusOperator.networkPolicy.cilium .Values.prometheusOperator.networkPolicy.cilium.egress }}
|
{{- if and .Values.prometheusOperator.networkPolicy.cilium .Values.prometheusOperator.networkPolicy.cilium.egress }}
|
||||||
{{ toYaml .Values.prometheusOperator.networkPolicy.cilium.egress | nindent 6 }}
|
{{ toYaml .Values.prometheusOperator.networkPolicy.cilium.egress | nindent 6 }}
|
||||||
|
@ -20,7 +20,11 @@ spec:
|
|||||||
endpointSelector:
|
endpointSelector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
app: {{ template "kube-prometheus-stack.name" $ }}-admission-patch
|
app: {{ template "kube-prometheus-stack.name" $ }}-admission-patch
|
||||||
|
{{- if .Values.prometheusOperator.networkPolicy.matchLabels }}
|
||||||
|
{{ toYaml .Values.prometheusOperator.networkPolicy.matchLabels | nindent 6 }}
|
||||||
|
{{- else }}
|
||||||
{{- include "kube-prometheus-stack.labels" $ | nindent 6 }}
|
{{- include "kube-prometheus-stack.labels" $ | nindent 6 }}
|
||||||
|
{{- end }}
|
||||||
egress:
|
egress:
|
||||||
{{- if and .Values.prometheusOperator.networkPolicy.cilium .Values.prometheusOperator.networkPolicy.cilium.egress }}
|
{{- if and .Values.prometheusOperator.networkPolicy.cilium .Values.prometheusOperator.networkPolicy.cilium.egress }}
|
||||||
{{ toYaml .Values.prometheusOperator.networkPolicy.cilium.egress | nindent 6 }}
|
{{ toYaml .Values.prometheusOperator.networkPolicy.cilium.egress | nindent 6 }}
|
||||||
|
@ -10,17 +10,21 @@ metadata:
|
|||||||
"helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded
|
"helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded
|
||||||
## Ensure this is run before the job
|
## Ensure this is run before the job
|
||||||
"helm.sh/hook-weight": "-5"
|
"helm.sh/hook-weight": "-5"
|
||||||
{{- with .Values.prometheusOperator.admissionWebhooks.annotations }}
|
{{- with .Values.prometheusOperator.admissionWebhooks.annotations }}
|
||||||
{{ toYaml . | indent 4 }}
|
{{ toYaml . | nindent 4 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
labels:
|
labels:
|
||||||
app: {{ template "kube-prometheus-stack.name" $ }}-admission-create
|
app: {{ template "kube-prometheus-stack.name" $ }}-admission-create
|
||||||
{{- include "kube-prometheus-stack.labels" $ | indent 4 }}
|
{{- include "kube-prometheus-stack.labels" $ | nindent 4 }}
|
||||||
spec:
|
spec:
|
||||||
podSelector:
|
podSelector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
app: {{ template "kube-prometheus-stack.name" $ }}-admission-create
|
app: {{ template "kube-prometheus-stack.name" $ }}-admission-create
|
||||||
{{- include "kube-prometheus-stack.labels" $ | indent 6 }}
|
{{- if .Values.prometheusOperator.networkPolicy.matchLabels }}
|
||||||
|
{{ toYaml .Values.prometheusOperator.networkPolicy.matchLabels | nindent 6 }}
|
||||||
|
{{- else }}
|
||||||
|
{{- include "kube-prometheus-stack.labels" $ | nindent 6 }}
|
||||||
|
{{- end }}
|
||||||
egress:
|
egress:
|
||||||
- {}
|
- {}
|
||||||
policyTypes:
|
policyTypes:
|
||||||
|
@ -10,17 +10,21 @@ metadata:
|
|||||||
"helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded
|
"helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded
|
||||||
## Ensure this is run before the job
|
## Ensure this is run before the job
|
||||||
"helm.sh/hook-weight": "-5"
|
"helm.sh/hook-weight": "-5"
|
||||||
{{- with .Values.prometheusOperator.admissionWebhooks.patch.annotations }}
|
{{- with .Values.prometheusOperator.admissionWebhooks.patch.annotations }}
|
||||||
{{ toYaml . | indent 4 }}
|
{{ toYaml . | nindent 4 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
labels:
|
labels:
|
||||||
app: {{ template "kube-prometheus-stack.name" $ }}-admission-patch
|
app: {{ template "kube-prometheus-stack.name" $ }}-admission-patch
|
||||||
{{- include "kube-prometheus-stack.labels" $ | indent 4 }}
|
{{- include "kube-prometheus-stack.labels" $ | nindent 4 }}
|
||||||
spec:
|
spec:
|
||||||
podSelector:
|
podSelector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
app: {{ template "kube-prometheus-stack.name" $ }}-admission-patch
|
app: {{ template "kube-prometheus-stack.name" $ }}-admission-patch
|
||||||
{{- include "kube-prometheus-stack.labels" $ | indent 6 }}
|
{{- if .Values.prometheusOperator.networkPolicy.matchLabels }}
|
||||||
|
{{ toYaml .Values.prometheusOperator.networkPolicy.matchLabels | nindent 6 }}
|
||||||
|
{{- else }}
|
||||||
|
{{- include "kube-prometheus-stack.labels" $ | nindent 6 }}
|
||||||
|
{{- end }}
|
||||||
egress:
|
egress:
|
||||||
- {}
|
- {}
|
||||||
policyTypes:
|
policyTypes:
|
||||||
|
@ -13,7 +13,9 @@ metadata:
|
|||||||
{{- include "kube-prometheus-stack.labels" $ | indent 4 }}
|
{{- include "kube-prometheus-stack.labels" $ | indent 4 }}
|
||||||
webhooks:
|
webhooks:
|
||||||
- name: prometheusrulemutate.monitoring.coreos.com
|
- name: prometheusrulemutate.monitoring.coreos.com
|
||||||
{{- if .Values.prometheusOperator.admissionWebhooks.failurePolicy }}
|
{{- if eq .Values.prometheusOperator.admissionWebhooks.failurePolicy "IgnoreOnInstallOnly" }}
|
||||||
|
failurePolicy: {{ .Release.IsInstall | ternary "Ignore" "Fail" }}
|
||||||
|
{{- else if .Values.prometheusOperator.admissionWebhooks.failurePolicy }}
|
||||||
failurePolicy: {{ .Values.prometheusOperator.admissionWebhooks.failurePolicy }}
|
failurePolicy: {{ .Values.prometheusOperator.admissionWebhooks.failurePolicy }}
|
||||||
{{- else if .Values.prometheusOperator.admissionWebhooks.patch.enabled }}
|
{{- else if .Values.prometheusOperator.admissionWebhooks.patch.enabled }}
|
||||||
failurePolicy: Ignore
|
failurePolicy: Ignore
|
||||||
|
@ -13,7 +13,9 @@ metadata:
|
|||||||
{{- include "kube-prometheus-stack.labels" $ | indent 4 }}
|
{{- include "kube-prometheus-stack.labels" $ | indent 4 }}
|
||||||
webhooks:
|
webhooks:
|
||||||
- name: prometheusrulemutate.monitoring.coreos.com
|
- name: prometheusrulemutate.monitoring.coreos.com
|
||||||
{{- if .Values.prometheusOperator.admissionWebhooks.failurePolicy }}
|
{{- if eq .Values.prometheusOperator.admissionWebhooks.failurePolicy "IgnoreOnInstallOnly" }}
|
||||||
|
failurePolicy: {{ .Release.IsInstall | ternary "Ignore" "Fail" }}
|
||||||
|
{{- else if .Values.prometheusOperator.admissionWebhooks.failurePolicy }}
|
||||||
failurePolicy: {{ .Values.prometheusOperator.admissionWebhooks.failurePolicy }}
|
failurePolicy: {{ .Values.prometheusOperator.admissionWebhooks.failurePolicy }}
|
||||||
{{- else if .Values.prometheusOperator.admissionWebhooks.patch.enabled }}
|
{{- else if .Values.prometheusOperator.admissionWebhooks.patch.enabled }}
|
||||||
failurePolicy: Ignore
|
failurePolicy: Ignore
|
||||||
|
@ -12,7 +12,7 @@ metadata:
|
|||||||
{{- include "kube-prometheus-stack.labels" . | nindent 4 }}
|
{{- include "kube-prometheus-stack.labels" . | nindent 4 }}
|
||||||
rules:
|
rules:
|
||||||
- apiGroups: ["monitoring.coreos.com"]
|
- apiGroups: ["monitoring.coreos.com"]
|
||||||
resources: ["alertmanagers", "alertmanagerconfigs", "prometheuses", "prometheusrules", "servicemonitors", "podmonitors", "probes"]
|
resources: ["alertmanagers", "alertmanagerconfigs", "podmonitors", "probes", "prometheuses", "prometheusagents", "prometheusrules", "scrapeconfigs", "servicemonitors"]
|
||||||
verbs: ["get", "list", "watch"]
|
verbs: ["get", "list", "watch"]
|
||||||
---
|
---
|
||||||
kind: ClusterRole
|
kind: ClusterRole
|
||||||
@ -26,6 +26,6 @@ metadata:
|
|||||||
{{- include "kube-prometheus-stack.labels" . | nindent 4 }}
|
{{- include "kube-prometheus-stack.labels" . | nindent 4 }}
|
||||||
rules:
|
rules:
|
||||||
- apiGroups: ["monitoring.coreos.com"]
|
- apiGroups: ["monitoring.coreos.com"]
|
||||||
resources: ["alertmanagers", "alertmanagerconfigs", "prometheuses", "prometheusrules", "servicemonitors", "podmonitors", "probes"]
|
resources: ["alertmanagers", "alertmanagerconfigs", "podmonitors", "probes", "prometheuses", "prometheusagents", "prometheusrules", "scrapeconfigs", "servicemonitors"]
|
||||||
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
|
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
@ -11,11 +11,15 @@ spec:
|
|||||||
endpointSelector:
|
endpointSelector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
app: {{ template "kube-prometheus-stack.name" . }}-operator
|
app: {{ template "kube-prometheus-stack.name" . }}-operator
|
||||||
|
{{- if .Values.prometheusOperator.networkPolicy.matchLabels }}
|
||||||
|
{{ toYaml .Values.prometheusOperator.networkPolicy.matchLabels | nindent 6 }}
|
||||||
|
{{- else }}
|
||||||
{{- include "kube-prometheus-stack.labels" $ | nindent 6 }}
|
{{- include "kube-prometheus-stack.labels" $ | nindent 6 }}
|
||||||
|
{{- end }}
|
||||||
egress:
|
egress:
|
||||||
{{- if and .Values.prometheusOperator.networkPolicy.cilium .Values.prometheusOperator.networkPolicy.cilium.egress }}
|
{{- if and .Values.prometheusOperator.networkPolicy.cilium .Values.prometheusOperator.networkPolicy.cilium.egress }}
|
||||||
{{ toYaml .Values.prometheusOperator.networkPolicy.cilium.egress | nindent 6 }}
|
{{ toYaml .Values.prometheusOperator.networkPolicy.cilium.egress | nindent 6 }}
|
||||||
{{- else }}
|
{{- else }}
|
||||||
- toEntities:
|
- toEntities:
|
||||||
- kube-apiserver
|
- kube-apiserver
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
@ -11,14 +11,19 @@ rules:
|
|||||||
- monitoring.coreos.com
|
- monitoring.coreos.com
|
||||||
resources:
|
resources:
|
||||||
- alertmanagers
|
- alertmanagers
|
||||||
- alertmanagers/status
|
|
||||||
- alertmanagers/finalizers
|
- alertmanagers/finalizers
|
||||||
|
- alertmanagers/status
|
||||||
- alertmanagerconfigs
|
- alertmanagerconfigs
|
||||||
- prometheuses
|
- prometheuses
|
||||||
- prometheuses/status
|
|
||||||
- prometheuses/finalizers
|
- prometheuses/finalizers
|
||||||
|
- prometheuses/status
|
||||||
|
- prometheusagents
|
||||||
|
- prometheusagents/finalizers
|
||||||
|
- prometheusagents/status
|
||||||
- thanosrulers
|
- thanosrulers
|
||||||
- thanosrulers/finalizers
|
- thanosrulers/finalizers
|
||||||
|
- thanosrulers/status
|
||||||
|
- scrapeconfigs
|
||||||
- servicemonitors
|
- servicemonitors
|
||||||
- podmonitors
|
- podmonitors
|
||||||
- probes
|
- probes
|
||||||
|
@ -18,6 +18,7 @@ metadata:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
spec:
|
spec:
|
||||||
replicas: 1
|
replicas: 1
|
||||||
|
revisionHistoryLimit: {{ .Values.prometheusOperator.revisionHistoryLimit }}
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
app: {{ template "kube-prometheus-stack.name" . }}-operator
|
app: {{ template "kube-prometheus-stack.name" . }}-operator
|
||||||
@ -37,6 +38,10 @@ spec:
|
|||||||
spec:
|
spec:
|
||||||
{{- if .Values.prometheusOperator.priorityClassName }}
|
{{- if .Values.prometheusOperator.priorityClassName }}
|
||||||
priorityClassName: {{ .Values.prometheusOperator.priorityClassName }}
|
priorityClassName: {{ .Values.prometheusOperator.priorityClassName }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.global.imagePullSecrets }}
|
||||||
|
imagePullSecrets:
|
||||||
|
{{- include "kube-prometheus-stack.imagePullSecrets" . | indent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
containers:
|
containers:
|
||||||
- name: {{ template "kube-prometheus-stack.name" . }}
|
- name: {{ template "kube-prometheus-stack.name" . }}
|
||||||
|
@ -24,4 +24,7 @@ spec:
|
|||||||
matchLabels:
|
matchLabels:
|
||||||
app: {{ template "kube-prometheus-stack.name" . }}-operator
|
app: {{ template "kube-prometheus-stack.name" . }}-operator
|
||||||
release: {{ $.Release.Name | quote }}
|
release: {{ $.Release.Name | quote }}
|
||||||
|
{{- if .Values.prometheusOperator.networkPolicy.matchLabels }}
|
||||||
|
{{ toYaml .Values.prometheusOperator.networkPolicy.matchLabels | nindent 6 }}
|
||||||
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
@ -8,11 +8,19 @@ metadata:
|
|||||||
app: {{ template "kube-prometheus-stack.name" . }}-operator
|
app: {{ template "kube-prometheus-stack.name" . }}-operator
|
||||||
{{ include "kube-prometheus-stack.labels" . | indent 4 }}
|
{{ include "kube-prometheus-stack.labels" . | indent 4 }}
|
||||||
spec:
|
spec:
|
||||||
|
{{- with .Values.prometheusOperator.verticalPodAutoscaler.recommenders }}
|
||||||
|
recommenders:
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
resourcePolicy:
|
resourcePolicy:
|
||||||
containerPolicies:
|
containerPolicies:
|
||||||
- containerName: {{ template "kube-prometheus-stack.name" . }}
|
- containerName: {{ template "kube-prometheus-stack.name" . }}
|
||||||
{{- if .Values.prometheusOperator.verticalPodAutoscaler.controlledResources }}
|
{{- with .Values.prometheusOperator.verticalPodAutoscaler.controlledResources }}
|
||||||
controlledResources: {{ .Values.prometheusOperator.verticalPodAutoscaler.controlledResources }}
|
controlledResources:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheusOperator.verticalPodAutoscaler.controlledValues }}
|
||||||
|
controlledValues: {{ .Values.prometheusOperator.verticalPodAutoscaler.controlledValues }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.prometheusOperator.verticalPodAutoscaler.maxAllowed }}
|
{{- if .Values.prometheusOperator.verticalPodAutoscaler.maxAllowed }}
|
||||||
maxAllowed:
|
maxAllowed:
|
||||||
@ -26,10 +34,8 @@ spec:
|
|||||||
apiVersion: apps/v1
|
apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
name: {{ template "kube-prometheus-stack.fullname" . }}-operator
|
name: {{ template "kube-prometheus-stack.fullname" . }}-operator
|
||||||
{{- if .Values.prometheusOperator.verticalPodAutoscaler.updatePolicy }}
|
{{- with .Values.prometheusOperator.verticalPodAutoscaler.updatePolicy }}
|
||||||
updatePolicy:
|
updatePolicy:
|
||||||
{{- if .Values.prometheusOperator.verticalPodAutoscaler.updatePolicy.updateMode }}
|
{{- toYaml . | nindent 4 }}
|
||||||
updateMode: {{ .Values.prometheusOperator.verticalPodAutoscaler.updatePolicy.updateMode }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
@ -23,8 +23,12 @@ spec:
|
|||||||
{{- if .Values.prometheus.networkPolicy.podSelector }}
|
{{- if .Values.prometheus.networkPolicy.podSelector }}
|
||||||
{{- toYaml .Values.prometheus.networkPolicy.podSelector | nindent 4 }}
|
{{- toYaml .Values.prometheus.networkPolicy.podSelector | nindent 4 }}
|
||||||
{{- else }}
|
{{- else }}
|
||||||
matchExpressions:
|
matchLabels:
|
||||||
- {key: app.kubernetes.io/name, operator: In, values: [prometheus]}
|
{{- if .Values.prometheus.agentMode }}
|
||||||
- {key: prometheus, operator: In, values: [{{ template "kube-prometheus-stack.prometheus.crname" . }}]}
|
app.kubernetes.io/name: prometheus-agent
|
||||||
|
{{- else }}
|
||||||
|
app.kubernetes.io/name: prometheus
|
||||||
|
{{- end }}
|
||||||
|
operator.prometheus.io/name: {{ template "kube-prometheus-stack.prometheus.crname" . }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
@ -16,6 +16,10 @@ spec:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
|
{{- if .Values.prometheus.agentMode }}
|
||||||
|
app.kubernetes.io/name: prometheus-agent
|
||||||
|
{{- else }}
|
||||||
app.kubernetes.io/name: prometheus
|
app.kubernetes.io/name: prometheus
|
||||||
prometheus: {{ template "kube-prometheus-stack.prometheus.crname" . }}
|
{{- end }}
|
||||||
|
operator.prometheus.io/name: {{ template "kube-prometheus-stack.prometheus.crname" . }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
@ -1,6 +1,11 @@
|
|||||||
{{- if .Values.prometheus.enabled }}
|
{{- if .Values.prometheus.enabled }}
|
||||||
|
{{- if .Values.prometheus.agentMode }}
|
||||||
|
apiVersion: monitoring.coreos.com/v1alpha1
|
||||||
|
kind: PrometheusAgent
|
||||||
|
{{- else }}
|
||||||
apiVersion: monitoring.coreos.com/v1
|
apiVersion: monitoring.coreos.com/v1
|
||||||
kind: Prometheus
|
kind: Prometheus
|
||||||
|
{{- end }}
|
||||||
metadata:
|
metadata:
|
||||||
name: {{ template "kube-prometheus-stack.prometheus.crname" . }}
|
name: {{ template "kube-prometheus-stack.prometheus.crname" . }}
|
||||||
namespace: {{ template "kube-prometheus-stack.namespace" . }}
|
namespace: {{ template "kube-prometheus-stack.namespace" . }}
|
||||||
@ -12,7 +17,7 @@ metadata:
|
|||||||
{{ toYaml .Values.prometheus.annotations | indent 4 }}
|
{{ toYaml .Values.prometheus.annotations | indent 4 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
spec:
|
spec:
|
||||||
{{- if or .Values.prometheus.prometheusSpec.alertingEndpoints .Values.alertmanager.enabled }}
|
{{- if and (not .Values.prometheus.agentMode) (or .Values.prometheus.prometheusSpec.alertingEndpoints .Values.alertmanager.enabled) }}
|
||||||
alerting:
|
alerting:
|
||||||
alertmanagers:
|
alertmanagers:
|
||||||
{{- if .Values.prometheus.prometheusSpec.alertingEndpoints }}
|
{{- if .Values.prometheus.prometheusSpec.alertingEndpoints }}
|
||||||
@ -23,6 +28,13 @@ spec:
|
|||||||
port: {{ .Values.alertmanager.alertmanagerSpec.portName }}
|
port: {{ .Values.alertmanager.alertmanagerSpec.portName }}
|
||||||
{{- if .Values.alertmanager.alertmanagerSpec.routePrefix }}
|
{{- if .Values.alertmanager.alertmanagerSpec.routePrefix }}
|
||||||
pathPrefix: "{{ .Values.alertmanager.alertmanagerSpec.routePrefix }}"
|
pathPrefix: "{{ .Values.alertmanager.alertmanagerSpec.routePrefix }}"
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.alertmanager.alertmanagerSpec.scheme }}
|
||||||
|
scheme: {{ .Values.alertmanager.alertmanagerSpec.scheme }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.alertmanager.alertmanagerSpec.tlsConfig }}
|
||||||
|
tlsConfig:
|
||||||
|
{{ toYaml .Values.alertmanager.alertmanagerSpec.tlsConfig | indent 10 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
apiVersion: {{ .Values.alertmanager.apiVersion }}
|
apiVersion: {{ .Values.alertmanager.apiVersion }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
@ -82,12 +94,14 @@ spec:
|
|||||||
logLevel: {{ .Values.prometheus.prometheusSpec.logLevel }}
|
logLevel: {{ .Values.prometheus.prometheusSpec.logLevel }}
|
||||||
logFormat: {{ .Values.prometheus.prometheusSpec.logFormat }}
|
logFormat: {{ .Values.prometheus.prometheusSpec.logFormat }}
|
||||||
listenLocal: {{ .Values.prometheus.prometheusSpec.listenLocal }}
|
listenLocal: {{ .Values.prometheus.prometheusSpec.listenLocal }}
|
||||||
|
{{- if not .Values.prometheus.agentMode }}
|
||||||
enableAdminAPI: {{ .Values.prometheus.prometheusSpec.enableAdminAPI }}
|
enableAdminAPI: {{ .Values.prometheus.prometheusSpec.enableAdminAPI }}
|
||||||
|
{{- end }}
|
||||||
{{- if .Values.prometheus.prometheusSpec.web }}
|
{{- if .Values.prometheus.prometheusSpec.web }}
|
||||||
web:
|
web:
|
||||||
{{ toYaml .Values.prometheus.prometheusSpec.web | indent 4 }}
|
{{ toYaml .Values.prometheus.prometheusSpec.web | indent 4 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.prometheus.prometheusSpec.exemplars }}
|
{{- if and (not .Values.prometheus.agentMode) .Values.prometheus.prometheusSpec.exemplars }}
|
||||||
exemplars:
|
exemplars:
|
||||||
{{ toYaml .Values.prometheus.prometheusSpec.exemplars | indent 4 }}
|
{{ toYaml .Values.prometheus.prometheusSpec.exemplars | indent 4 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
@ -103,13 +117,14 @@ spec:
|
|||||||
{{- if .Values.prometheus.prometheusSpec.scrapeTimeout }}
|
{{- if .Values.prometheus.prometheusSpec.scrapeTimeout }}
|
||||||
scrapeTimeout: {{ .Values.prometheus.prometheusSpec.scrapeTimeout }}
|
scrapeTimeout: {{ .Values.prometheus.prometheusSpec.scrapeTimeout }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.prometheus.prometheusSpec.evaluationInterval }}
|
{{- if and (not .Values.prometheus.agentMode) .Values.prometheus.prometheusSpec.evaluationInterval }}
|
||||||
evaluationInterval: {{ .Values.prometheus.prometheusSpec.evaluationInterval }}
|
evaluationInterval: {{ .Values.prometheus.prometheusSpec.evaluationInterval }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.prometheus.prometheusSpec.resources }}
|
{{- if .Values.prometheus.prometheusSpec.resources }}
|
||||||
resources:
|
resources:
|
||||||
{{ toYaml .Values.prometheus.prometheusSpec.resources | indent 4 }}
|
{{ toYaml .Values.prometheus.prometheusSpec.resources | indent 4 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- if not .Values.prometheus.agentMode }}
|
||||||
retention: {{ .Values.prometheus.prometheusSpec.retention | quote }}
|
retention: {{ .Values.prometheus.prometheusSpec.retention | quote }}
|
||||||
{{- if .Values.prometheus.prometheusSpec.retentionSize }}
|
{{- if .Values.prometheus.prometheusSpec.retentionSize }}
|
||||||
retentionSize: {{ .Values.prometheus.prometheusSpec.retentionSize | quote }}
|
retentionSize: {{ .Values.prometheus.prometheusSpec.retentionSize | quote }}
|
||||||
@ -120,6 +135,7 @@ spec:
|
|||||||
outOfOrderTimeWindow: {{ .Values.prometheus.prometheusSpec.tsdb.outOfOrderTimeWindow }}
|
outOfOrderTimeWindow: {{ .Values.prometheus.prometheusSpec.tsdb.outOfOrderTimeWindow }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
{{- if eq .Values.prometheus.prometheusSpec.walCompression false }}
|
{{- if eq .Values.prometheus.prometheusSpec.walCompression false }}
|
||||||
walCompression: false
|
walCompression: false
|
||||||
{{ else }}
|
{{ else }}
|
||||||
@ -139,7 +155,7 @@ spec:
|
|||||||
serviceAccountName: {{ template "kube-prometheus-stack.prometheus.serviceAccountName" . }}
|
serviceAccountName: {{ template "kube-prometheus-stack.prometheus.serviceAccountName" . }}
|
||||||
{{- if .Values.prometheus.prometheusSpec.serviceMonitorSelector }}
|
{{- if .Values.prometheus.prometheusSpec.serviceMonitorSelector }}
|
||||||
serviceMonitorSelector:
|
serviceMonitorSelector:
|
||||||
{{ toYaml .Values.prometheus.prometheusSpec.serviceMonitorSelector | indent 4 }}
|
{{ tpl (toYaml .Values.prometheus.prometheusSpec.serviceMonitorSelector | indent 4) . }}
|
||||||
{{ else if .Values.prometheus.prometheusSpec.serviceMonitorSelectorNilUsesHelmValues }}
|
{{ else if .Values.prometheus.prometheusSpec.serviceMonitorSelectorNilUsesHelmValues }}
|
||||||
serviceMonitorSelector:
|
serviceMonitorSelector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
@ -149,13 +165,13 @@ spec:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.prometheus.prometheusSpec.serviceMonitorNamespaceSelector }}
|
{{- if .Values.prometheus.prometheusSpec.serviceMonitorNamespaceSelector }}
|
||||||
serviceMonitorNamespaceSelector:
|
serviceMonitorNamespaceSelector:
|
||||||
{{ toYaml .Values.prometheus.prometheusSpec.serviceMonitorNamespaceSelector | indent 4 }}
|
{{ tpl (toYaml .Values.prometheus.prometheusSpec.serviceMonitorNamespaceSelector | indent 4) . }}
|
||||||
{{ else }}
|
{{ else }}
|
||||||
serviceMonitorNamespaceSelector: {}
|
serviceMonitorNamespaceSelector: {}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.prometheus.prometheusSpec.podMonitorSelector }}
|
{{- if .Values.prometheus.prometheusSpec.podMonitorSelector }}
|
||||||
podMonitorSelector:
|
podMonitorSelector:
|
||||||
{{ toYaml .Values.prometheus.prometheusSpec.podMonitorSelector | indent 4 }}
|
{{ tpl (toYaml .Values.prometheus.prometheusSpec.podMonitorSelector | indent 4) . }}
|
||||||
{{ else if .Values.prometheus.prometheusSpec.podMonitorSelectorNilUsesHelmValues }}
|
{{ else if .Values.prometheus.prometheusSpec.podMonitorSelectorNilUsesHelmValues }}
|
||||||
podMonitorSelector:
|
podMonitorSelector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
@ -165,13 +181,13 @@ spec:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.prometheus.prometheusSpec.podMonitorNamespaceSelector }}
|
{{- if .Values.prometheus.prometheusSpec.podMonitorNamespaceSelector }}
|
||||||
podMonitorNamespaceSelector:
|
podMonitorNamespaceSelector:
|
||||||
{{ toYaml .Values.prometheus.prometheusSpec.podMonitorNamespaceSelector | indent 4 }}
|
{{ tpl (toYaml .Values.prometheus.prometheusSpec.podMonitorNamespaceSelector | indent 4) . }}
|
||||||
{{ else }}
|
{{ else }}
|
||||||
podMonitorNamespaceSelector: {}
|
podMonitorNamespaceSelector: {}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.prometheus.prometheusSpec.probeSelector }}
|
{{- if .Values.prometheus.prometheusSpec.probeSelector }}
|
||||||
probeSelector:
|
probeSelector:
|
||||||
{{ toYaml .Values.prometheus.prometheusSpec.probeSelector | indent 4 }}
|
{{ tpl (toYaml .Values.prometheus.prometheusSpec.probeSelector | indent 4) . }}
|
||||||
{{ else if .Values.prometheus.prometheusSpec.probeSelectorNilUsesHelmValues }}
|
{{ else if .Values.prometheus.prometheusSpec.probeSelectorNilUsesHelmValues }}
|
||||||
probeSelector:
|
probeSelector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
@ -181,11 +197,11 @@ spec:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.prometheus.prometheusSpec.probeNamespaceSelector }}
|
{{- if .Values.prometheus.prometheusSpec.probeNamespaceSelector }}
|
||||||
probeNamespaceSelector:
|
probeNamespaceSelector:
|
||||||
{{ toYaml .Values.prometheus.prometheusSpec.probeNamespaceSelector | indent 4 }}
|
{{ tpl (toYaml .Values.prometheus.prometheusSpec.probeNamespaceSelector | indent 4) . }}
|
||||||
{{ else }}
|
{{ else }}
|
||||||
probeNamespaceSelector: {}
|
probeNamespaceSelector: {}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if (or .Values.prometheus.prometheusSpec.remoteRead .Values.prometheus.prometheusSpec.additionalRemoteRead) }}
|
{{- if and (not .Values.prometheus.agentMode) (or .Values.prometheus.prometheusSpec.remoteRead .Values.prometheus.prometheusSpec.additionalRemoteRead) }}
|
||||||
remoteRead:
|
remoteRead:
|
||||||
{{- if .Values.prometheus.prometheusSpec.remoteRead }}
|
{{- if .Values.prometheus.prometheusSpec.remoteRead }}
|
||||||
{{ tpl (toYaml .Values.prometheus.prometheusSpec.remoteRead | indent 4) . }}
|
{{ tpl (toYaml .Values.prometheus.prometheusSpec.remoteRead | indent 4) . }}
|
||||||
@ -207,16 +223,16 @@ spec:
|
|||||||
securityContext:
|
securityContext:
|
||||||
{{ toYaml .Values.prometheus.prometheusSpec.securityContext | indent 4 }}
|
{{ toYaml .Values.prometheus.prometheusSpec.securityContext | indent 4 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- if not .Values.prometheus.agentMode }}
|
||||||
{{- if .Values.prometheus.prometheusSpec.ruleNamespaceSelector }}
|
{{- if .Values.prometheus.prometheusSpec.ruleNamespaceSelector }}
|
||||||
ruleNamespaceSelector:
|
ruleNamespaceSelector:
|
||||||
{{ toYaml .Values.prometheus.prometheusSpec.ruleNamespaceSelector | indent 4 }}
|
{{ tpl (toYaml .Values.prometheus.prometheusSpec.ruleNamespaceSelector | indent 4) . }}
|
||||||
{{ else }}
|
{{ else }}
|
||||||
ruleNamespaceSelector: {}
|
ruleNamespaceSelector: {}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if not (has "agent" .Values.prometheus.prometheusSpec.enableFeatures) }}
|
|
||||||
{{- if .Values.prometheus.prometheusSpec.ruleSelector }}
|
{{- if .Values.prometheus.prometheusSpec.ruleSelector }}
|
||||||
ruleSelector:
|
ruleSelector:
|
||||||
{{ toYaml .Values.prometheus.prometheusSpec.ruleSelector | indent 4}}
|
{{ tpl (toYaml .Values.prometheus.prometheusSpec.ruleSelector | indent 4) . }}
|
||||||
{{- else if .Values.prometheus.prometheusSpec.ruleSelectorNilUsesHelmValues }}
|
{{- else if .Values.prometheus.prometheusSpec.ruleSelectorNilUsesHelmValues }}
|
||||||
ruleSelector:
|
ruleSelector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
@ -225,6 +241,22 @@ spec:
|
|||||||
ruleSelector: {}
|
ruleSelector: {}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.prometheusSpec.scrapeConfigSelector }}
|
||||||
|
scrapeConfigSelector:
|
||||||
|
{{ tpl (toYaml .Values.prometheus.prometheusSpec.scrapeConfigSelector | indent 4) . }}
|
||||||
|
{{ else if .Values.prometheus.prometheusSpec.scrapeConfigSelectorNilUsesHelmValues }}
|
||||||
|
scrapeConfigSelector:
|
||||||
|
matchLabels:
|
||||||
|
release: {{ $.Release.Name | quote }}
|
||||||
|
{{ else }}
|
||||||
|
scrapeConfigSelector: {}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.prometheusSpec.scrapeConfigNamespaceSelector }}
|
||||||
|
scrapeConfigNamespaceSelector:
|
||||||
|
{{ tpl (toYaml .Values.prometheus.prometheusSpec.scrapeConfigNamespaceSelector | indent 4) . }}
|
||||||
|
{{ else }}
|
||||||
|
scrapeConfigNamespaceSelector: {}
|
||||||
|
{{- end }}
|
||||||
{{- if .Values.prometheus.prometheusSpec.storageSpec }}
|
{{- if .Values.prometheus.prometheusSpec.storageSpec }}
|
||||||
storage:
|
storage:
|
||||||
{{ tpl (toYaml .Values.prometheus.prometheusSpec.storageSpec | indent 4) . }}
|
{{ tpl (toYaml .Values.prometheus.prometheusSpec.storageSpec | indent 4) . }}
|
||||||
@ -233,7 +265,7 @@ spec:
|
|||||||
podMetadata:
|
podMetadata:
|
||||||
{{ tpl (toYaml .Values.prometheus.prometheusSpec.podMetadata | indent 4) . }}
|
{{ tpl (toYaml .Values.prometheus.prometheusSpec.podMetadata | indent 4) . }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.prometheus.prometheusSpec.query }}
|
{{- if and (not .Values.prometheus.agentMode) .Values.prometheus.prometheusSpec.query }}
|
||||||
query:
|
query:
|
||||||
{{ toYaml .Values.prometheus.prometheusSpec.query | indent 4}}
|
{{ toYaml .Values.prometheus.prometheusSpec.query | indent 4}}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
@ -284,6 +316,7 @@ spec:
|
|||||||
name: {{ .Values.prometheus.prometheusSpec.additionalScrapeConfigsSecret.name }}
|
name: {{ .Values.prometheus.prometheusSpec.additionalScrapeConfigsSecret.name }}
|
||||||
key: {{ .Values.prometheus.prometheusSpec.additionalScrapeConfigsSecret.key }}
|
key: {{ .Values.prometheus.prometheusSpec.additionalScrapeConfigsSecret.key }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- if not .Values.prometheus.agentMode }}
|
||||||
{{- if or .Values.prometheus.prometheusSpec.additionalAlertManagerConfigs .Values.prometheus.prometheusSpec.additionalAlertManagerConfigsSecret }}
|
{{- if or .Values.prometheus.prometheusSpec.additionalAlertManagerConfigs .Values.prometheus.prometheusSpec.additionalAlertManagerConfigsSecret }}
|
||||||
additionalAlertManagerConfigs:
|
additionalAlertManagerConfigs:
|
||||||
{{- if .Values.prometheus.prometheusSpec.additionalAlertManagerConfigs }}
|
{{- if .Values.prometheus.prometheusSpec.additionalAlertManagerConfigs }}
|
||||||
@ -308,6 +341,7 @@ spec:
|
|||||||
name: {{ .Values.prometheus.prometheusSpec.additionalAlertRelabelConfigsSecret.name }}
|
name: {{ .Values.prometheus.prometheusSpec.additionalAlertRelabelConfigsSecret.name }}
|
||||||
key: {{ .Values.prometheus.prometheusSpec.additionalAlertRelabelConfigsSecret.key }}
|
key: {{ .Values.prometheus.prometheusSpec.additionalAlertRelabelConfigsSecret.key }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
{{- if .Values.prometheus.prometheusSpec.containers }}
|
{{- if .Values.prometheus.prometheusSpec.containers }}
|
||||||
containers:
|
containers:
|
||||||
{{ toYaml .Values.prometheus.prometheusSpec.containers | indent 4 }}
|
{{ toYaml .Values.prometheus.prometheusSpec.containers | indent 4 }}
|
||||||
@ -319,12 +353,14 @@ spec:
|
|||||||
{{- if .Values.prometheus.prometheusSpec.priorityClassName }}
|
{{- if .Values.prometheus.prometheusSpec.priorityClassName }}
|
||||||
priorityClassName: {{ .Values.prometheus.prometheusSpec.priorityClassName }}
|
priorityClassName: {{ .Values.prometheus.prometheusSpec.priorityClassName }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- if not .Values.prometheus.agentMode }}
|
||||||
{{- if .Values.prometheus.prometheusSpec.thanos }}
|
{{- if .Values.prometheus.prometheusSpec.thanos }}
|
||||||
thanos:
|
thanos:
|
||||||
{{ toYaml .Values.prometheus.prometheusSpec.thanos | indent 4 }}
|
{{ toYaml .Values.prometheus.prometheusSpec.thanos | indent 4 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.prometheus.prometheusSpec.disableCompaction }}
|
{{- if .Values.prometheus.prometheusSpec.disableCompaction }}
|
||||||
disableCompaction: {{ .Values.prometheus.prometheusSpec.disableCompaction }}
|
disableCompaction: {{ .Values.prometheus.prometheusSpec.disableCompaction }}
|
||||||
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
portName: {{ .Values.prometheus.prometheusSpec.portName }}
|
portName: {{ .Values.prometheus.prometheusSpec.portName }}
|
||||||
{{- if .Values.prometheus.prometheusSpec.volumes }}
|
{{- if .Values.prometheus.prometheusSpec.volumes }}
|
||||||
@ -351,6 +387,7 @@ spec:
|
|||||||
{{- if .Values.prometheus.prometheusSpec.enforcedNamespaceLabel }}
|
{{- if .Values.prometheus.prometheusSpec.enforcedNamespaceLabel }}
|
||||||
enforcedNamespaceLabel: {{ .Values.prometheus.prometheusSpec.enforcedNamespaceLabel }}
|
enforcedNamespaceLabel: {{ .Values.prometheus.prometheusSpec.enforcedNamespaceLabel }}
|
||||||
{{- $prometheusDefaultRulesExcludedFromEnforce := (include "rules.names" .) | fromYaml }}
|
{{- $prometheusDefaultRulesExcludedFromEnforce := (include "rules.names" .) | fromYaml }}
|
||||||
|
{{- if not .Values.prometheus.agentMode }}
|
||||||
prometheusRulesExcludedFromEnforce:
|
prometheusRulesExcludedFromEnforce:
|
||||||
{{- range $prometheusDefaultRulesExcludedFromEnforce.rules }}
|
{{- range $prometheusDefaultRulesExcludedFromEnforce.rules }}
|
||||||
- ruleNamespace: "{{ template "kube-prometheus-stack.namespace" $ }}"
|
- ruleNamespace: "{{ template "kube-prometheus-stack.namespace" $ }}"
|
||||||
@ -358,6 +395,7 @@ spec:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.prometheus.prometheusSpec.prometheusRulesExcludedFromEnforce }}
|
{{- if .Values.prometheus.prometheusSpec.prometheusRulesExcludedFromEnforce }}
|
||||||
{{ toYaml .Values.prometheus.prometheusSpec.prometheusRulesExcludedFromEnforce | indent 4 }}
|
{{ toYaml .Values.prometheus.prometheusSpec.prometheusRulesExcludedFromEnforce | indent 4 }}
|
||||||
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
excludedFromEnforcement:
|
excludedFromEnforcement:
|
||||||
{{- range $prometheusDefaultRulesExcludedFromEnforce.rules }}
|
{{- range $prometheusDefaultRulesExcludedFromEnforce.rules }}
|
||||||
@ -370,7 +408,7 @@ spec:
|
|||||||
{{ tpl (toYaml .Values.prometheus.prometheusSpec.excludedFromEnforcement | indent 4) . }}
|
{{ tpl (toYaml .Values.prometheus.prometheusSpec.excludedFromEnforcement | indent 4) . }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.prometheus.prometheusSpec.queryLogFile }}
|
{{- if and (not .Values.prometheus.agentMode) .Values.prometheus.prometheusSpec.queryLogFile }}
|
||||||
queryLogFile: {{ .Values.prometheus.prometheusSpec.queryLogFile }}
|
queryLogFile: {{ .Values.prometheus.prometheusSpec.queryLogFile }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.prometheus.prometheusSpec.enforcedSampleLimit }}
|
{{- if .Values.prometheus.prometheusSpec.enforcedSampleLimit }}
|
||||||
@ -388,7 +426,7 @@ spec:
|
|||||||
{{- if .Values.prometheus.prometheusSpec.enforcedLabelValueLengthLimit}}
|
{{- if .Values.prometheus.prometheusSpec.enforcedLabelValueLengthLimit}}
|
||||||
enforcedLabelValueLengthLimit: {{ .Values.prometheus.prometheusSpec.enforcedLabelValueLengthLimit }}
|
enforcedLabelValueLengthLimit: {{ .Values.prometheus.prometheusSpec.enforcedLabelValueLengthLimit }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.prometheus.prometheusSpec.allowOverlappingBlocks }}
|
{{- if and (not .Values.prometheus.agentMode) .Values.prometheus.prometheusSpec.allowOverlappingBlocks }}
|
||||||
allowOverlappingBlocks: {{ .Values.prometheus.prometheusSpec.allowOverlappingBlocks }}
|
allowOverlappingBlocks: {{ .Values.prometheus.prometheusSpec.allowOverlappingBlocks }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.prometheus.prometheusSpec.minReadySeconds }}
|
{{- if .Values.prometheus.prometheusSpec.minReadySeconds }}
|
||||||
@ -399,4 +437,8 @@ spec:
|
|||||||
hostAliases:
|
hostAliases:
|
||||||
{{ toYaml .Values.prometheus.prometheusSpec.hostAliases | indent 4 }}
|
{{ toYaml .Values.prometheus.prometheusSpec.hostAliases | indent 4 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.prometheusSpec.tracingConfig }}
|
||||||
|
tracingConfig:
|
||||||
|
{{ toYaml .Values.prometheus.prometheusSpec.tracingConfig | indent 4 }}
|
||||||
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
@ -42,6 +42,9 @@ spec:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
port: {{ .Values.prometheus.service.port }}
|
port: {{ .Values.prometheus.service.port }}
|
||||||
targetPort: {{ .Values.prometheus.service.targetPort }}
|
targetPort: {{ .Values.prometheus.service.targetPort }}
|
||||||
|
- name: reloader-web
|
||||||
|
port: 8080
|
||||||
|
targetPort: reloader-web
|
||||||
{{- if .Values.prometheus.thanosIngress.enabled }}
|
{{- if .Values.prometheus.thanosIngress.enabled }}
|
||||||
- name: grpc
|
- name: grpc
|
||||||
{{- if eq .Values.prometheus.service.type "NodePort" }}
|
{{- if eq .Values.prometheus.service.type "NodePort" }}
|
||||||
@ -55,8 +58,12 @@ spec:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
publishNotReadyAddresses: {{ .Values.prometheus.service.publishNotReadyAddresses }}
|
publishNotReadyAddresses: {{ .Values.prometheus.service.publishNotReadyAddresses }}
|
||||||
selector:
|
selector:
|
||||||
|
{{- if .Values.prometheus.agentMode }}
|
||||||
|
app.kubernetes.io/name: prometheus-agent
|
||||||
|
{{- else }}
|
||||||
app.kubernetes.io/name: prometheus
|
app.kubernetes.io/name: prometheus
|
||||||
prometheus: {{ template "kube-prometheus-stack.prometheus.crname" . }}
|
{{- end }}
|
||||||
|
operator.prometheus.io/name: {{ template "kube-prometheus-stack.prometheus.crname" . }}
|
||||||
{{- if .Values.prometheus.service.sessionAffinity }}
|
{{- if .Values.prometheus.service.sessionAffinity }}
|
||||||
sessionAffinity: {{ .Values.prometheus.service.sessionAffinity }}
|
sessionAffinity: {{ .Values.prometheus.service.sessionAffinity }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
@ -35,5 +35,5 @@ spec:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
selector:
|
selector:
|
||||||
app.kubernetes.io/name: prometheus
|
app.kubernetes.io/name: prometheus
|
||||||
prometheus: {{ template "kube-prometheus-stack.prometheus.crname" . }}
|
operator.prometheus.io/name: {{ template "kube-prometheus-stack.prometheus.crname" . }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
@ -42,5 +42,5 @@ spec:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
selector:
|
selector:
|
||||||
app.kubernetes.io/name: prometheus
|
app.kubernetes.io/name: prometheus
|
||||||
prometheus: {{ template "kube-prometheus-stack.prometheus.crname" . }}
|
operator.prometheus.io/name: {{ template "kube-prometheus-stack.prometheus.crname" . }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
@ -42,5 +42,27 @@ spec:
|
|||||||
{{- if .Values.prometheus.serviceMonitor.relabelings }}
|
{{- if .Values.prometheus.serviceMonitor.relabelings }}
|
||||||
relabelings:
|
relabelings:
|
||||||
{{ toYaml .Values.prometheus.serviceMonitor.relabelings | indent 6 }}
|
{{ toYaml .Values.prometheus.serviceMonitor.relabelings | indent 6 }}
|
||||||
|
{{- end }}
|
||||||
|
- port: reloader-web
|
||||||
|
{{- if .Values.prometheus.serviceMonitor.interval }}
|
||||||
|
interval: {{ .Values.prometheus.serviceMonitor.interval }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.serviceMonitor.scheme }}
|
||||||
|
scheme: {{ .Values.prometheus.serviceMonitor.scheme }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.serviceMonitor.tlsConfig }}
|
||||||
|
tlsConfig: {{ toYaml .Values.prometheus.serviceMonitor.tlsConfig | nindent 6 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.serviceMonitor.bearerTokenFile }}
|
||||||
|
bearerTokenFile: {{ .Values.prometheus.serviceMonitor.bearerTokenFile }}
|
||||||
|
{{- end }}
|
||||||
|
path: "/metrics"
|
||||||
|
{{- if .Values.prometheus.serviceMonitor.metricRelabelings }}
|
||||||
|
metricRelabelings:
|
||||||
|
{{ tpl (toYaml .Values.prometheus.serviceMonitor.metricRelabelings | indent 6) . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.serviceMonitor.relabelings }}
|
||||||
|
relabelings:
|
||||||
|
{{ toYaml .Values.prometheus.serviceMonitor.relabelings | indent 6 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
@ -41,9 +41,14 @@ items:
|
|||||||
port: {{ $serviceValues.port }}
|
port: {{ $serviceValues.port }}
|
||||||
targetPort: {{ $serviceValues.targetPort }}
|
targetPort: {{ $serviceValues.targetPort }}
|
||||||
selector:
|
selector:
|
||||||
|
{{- if $.Values.prometheus.agentMode }}
|
||||||
|
app.kubernetes.io/name: prometheus-agent
|
||||||
|
statefulset.kubernetes.io/pod-name: prom-agent-{{ include "kube-prometheus-stack.prometheus.crname" $ }}-{{ $i }}
|
||||||
|
{{- else }}
|
||||||
app.kubernetes.io/name: prometheus
|
app.kubernetes.io/name: prometheus
|
||||||
prometheus: {{ include "kube-prometheus-stack.prometheus.crname" $ }}
|
|
||||||
statefulset.kubernetes.io/pod-name: prometheus-{{ include "kube-prometheus-stack.prometheus.crname" $ }}-{{ $i }}
|
statefulset.kubernetes.io/pod-name: prometheus-{{ include "kube-prometheus-stack.prometheus.crname" $ }}-{{ $i }}
|
||||||
|
{{- end }}
|
||||||
|
operator.prometheus.io/name: {{ template "kube-prometheus-stack.prometheus.crname" $ }}
|
||||||
type: "{{ $serviceValues.type }}"
|
type: "{{ $serviceValues.type }}"
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
@ -50,13 +50,13 @@ spec:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.thanosRuler.thanosRulerSpec.ruleNamespaceSelector }}
|
{{- if .Values.thanosRuler.thanosRulerSpec.ruleNamespaceSelector }}
|
||||||
ruleNamespaceSelector:
|
ruleNamespaceSelector:
|
||||||
{{ toYaml .Values.thanosRuler.thanosRulerSpec.ruleNamespaceSelector | indent 4 }}
|
{{ tpl (toYaml .Values.thanosRuler.thanosRulerSpec.ruleNamespaceSelector | indent 4) . }}
|
||||||
{{ else }}
|
{{ else }}
|
||||||
ruleNamespaceSelector: {}
|
ruleNamespaceSelector: {}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.thanosRuler.thanosRulerSpec.ruleSelector }}
|
{{- if .Values.thanosRuler.thanosRulerSpec.ruleSelector }}
|
||||||
ruleSelector:
|
ruleSelector:
|
||||||
{{ toYaml .Values.thanosRuler.thanosRulerSpec.ruleSelector | indent 4}}
|
{{ tpl (toYaml .Values.thanosRuler.thanosRulerSpec.ruleSelector | indent 4) .}}
|
||||||
{{- else if .Values.thanosRuler.thanosRulerSpec.ruleSelectorNilUsesHelmValues }}
|
{{- else if .Values.thanosRuler.thanosRulerSpec.ruleSelectorNilUsesHelmValues }}
|
||||||
ruleSelector:
|
ruleSelector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
|
@ -28,6 +28,11 @@ commonLabels: {}
|
|||||||
# scmhash: abc123
|
# scmhash: abc123
|
||||||
# myLabel: aakkmd
|
# myLabel: aakkmd
|
||||||
|
|
||||||
|
## Install Prometheus Operator CRDs
|
||||||
|
##
|
||||||
|
crds:
|
||||||
|
enabled: true
|
||||||
|
|
||||||
## Create default rules for monitoring the cluster
|
## Create default rules for monitoring the cluster
|
||||||
##
|
##
|
||||||
defaultRules:
|
defaultRules:
|
||||||
@ -60,6 +65,7 @@ defaultRules:
|
|||||||
nodeExporterRecording: true
|
nodeExporterRecording: true
|
||||||
prometheus: true
|
prometheus: true
|
||||||
prometheusOperator: true
|
prometheusOperator: true
|
||||||
|
windows: true
|
||||||
|
|
||||||
## Reduce app namespace alert scope
|
## Reduce app namespace alert scope
|
||||||
appNamespacesTarget: ".*"
|
appNamespacesTarget: ".*"
|
||||||
@ -75,6 +81,66 @@ defaultRules:
|
|||||||
## Additional annotations for PrometheusRule alerts
|
## Additional annotations for PrometheusRule alerts
|
||||||
additionalRuleAnnotations: {}
|
additionalRuleAnnotations: {}
|
||||||
|
|
||||||
|
## Additional labels for specific PrometheusRule alert groups
|
||||||
|
additionalRuleGroupLabels:
|
||||||
|
alertmanager: {}
|
||||||
|
etcd: {}
|
||||||
|
configReloaders: {}
|
||||||
|
general: {}
|
||||||
|
k8s: {}
|
||||||
|
kubeApiserverAvailability: {}
|
||||||
|
kubeApiserverBurnrate: {}
|
||||||
|
kubeApiserverHistogram: {}
|
||||||
|
kubeApiserverSlos: {}
|
||||||
|
kubeControllerManager: {}
|
||||||
|
kubelet: {}
|
||||||
|
kubeProxy: {}
|
||||||
|
kubePrometheusGeneral: {}
|
||||||
|
kubePrometheusNodeRecording: {}
|
||||||
|
kubernetesApps: {}
|
||||||
|
kubernetesResources: {}
|
||||||
|
kubernetesStorage: {}
|
||||||
|
kubernetesSystem: {}
|
||||||
|
kubeSchedulerAlerting: {}
|
||||||
|
kubeSchedulerRecording: {}
|
||||||
|
kubeStateMetrics: {}
|
||||||
|
network: {}
|
||||||
|
node: {}
|
||||||
|
nodeExporterAlerting: {}
|
||||||
|
nodeExporterRecording: {}
|
||||||
|
prometheus: {}
|
||||||
|
prometheusOperator: {}
|
||||||
|
|
||||||
|
## Additional annotations for specific PrometheusRule alerts groups
|
||||||
|
additionalRuleGroupAnnotations:
|
||||||
|
alertmanager: {}
|
||||||
|
etcd: {}
|
||||||
|
configReloaders: {}
|
||||||
|
general: {}
|
||||||
|
k8s: {}
|
||||||
|
kubeApiserverAvailability: {}
|
||||||
|
kubeApiserverBurnrate: {}
|
||||||
|
kubeApiserverHistogram: {}
|
||||||
|
kubeApiserverSlos: {}
|
||||||
|
kubeControllerManager: {}
|
||||||
|
kubelet: {}
|
||||||
|
kubeProxy: {}
|
||||||
|
kubePrometheusGeneral: {}
|
||||||
|
kubePrometheusNodeRecording: {}
|
||||||
|
kubernetesApps: {}
|
||||||
|
kubernetesResources: {}
|
||||||
|
kubernetesStorage: {}
|
||||||
|
kubernetesSystem: {}
|
||||||
|
kubeSchedulerAlerting: {}
|
||||||
|
kubeSchedulerRecording: {}
|
||||||
|
kubeStateMetrics: {}
|
||||||
|
network: {}
|
||||||
|
node: {}
|
||||||
|
nodeExporterAlerting: {}
|
||||||
|
nodeExporterRecording: {}
|
||||||
|
prometheus: {}
|
||||||
|
prometheusOperator: {}
|
||||||
|
|
||||||
## Prefix for runbook URLs. Use this to override the first part of the runbookURLs that is common to all rules.
|
## Prefix for runbook URLs. Use this to override the first part of the runbookURLs that is common to all rules.
|
||||||
runbookUrl: "https://runbooks.prometheus-operator.dev/runbooks"
|
runbookUrl: "https://runbooks.prometheus-operator.dev/runbooks"
|
||||||
|
|
||||||
@ -134,6 +200,12 @@ global:
|
|||||||
# or
|
# or
|
||||||
# - "image-pull-secret"
|
# - "image-pull-secret"
|
||||||
|
|
||||||
|
windowsMonitoring:
|
||||||
|
## Deploys the windows-exporter and Windows-specific dashboards and rules
|
||||||
|
enabled: false
|
||||||
|
## Job must match jobLabel in the PodMonitor/ServiceMonitor and is used for the rules
|
||||||
|
job: prometheus-windows-exporter
|
||||||
|
|
||||||
## Configuration for alertmanager
|
## Configuration for alertmanager
|
||||||
## ref: https://prometheus.io/docs/alerting/alertmanager/
|
## ref: https://prometheus.io/docs/alerting/alertmanager/
|
||||||
##
|
##
|
||||||
@ -269,8 +341,11 @@ alertmanager:
|
|||||||
|
|
||||||
labels: {}
|
labels: {}
|
||||||
|
|
||||||
## Redirect ingress to an additional defined port on the service
|
## Override ingress to a different defined port on the service
|
||||||
# servicePort: 8081
|
# servicePort: 8081
|
||||||
|
## Override ingress to a different service then the default, this is useful if you need to
|
||||||
|
## point to a specific instance of the alertmanager (eg kube-prometheus-stack-alertmanager-0)
|
||||||
|
# serviceName: kube-prometheus-stack-alertmanager-0
|
||||||
|
|
||||||
## Hosts must be provided if Ingress is enabled.
|
## Hosts must be provided if Ingress is enabled.
|
||||||
##
|
##
|
||||||
@ -379,6 +454,11 @@ alertmanager:
|
|||||||
##
|
##
|
||||||
externalTrafficPolicy: Cluster
|
externalTrafficPolicy: Cluster
|
||||||
|
|
||||||
|
## If you want to make sure that connections from a particular client are passed to the same Pod each time
|
||||||
|
## Accepts 'ClientIP' or ''
|
||||||
|
##
|
||||||
|
sessionAffinity: ""
|
||||||
|
|
||||||
## Service type
|
## Service type
|
||||||
##
|
##
|
||||||
type: ClusterIP
|
type: ClusterIP
|
||||||
@ -612,6 +692,13 @@ alertmanager:
|
|||||||
##
|
##
|
||||||
routePrefix: /
|
routePrefix: /
|
||||||
|
|
||||||
|
## scheme: HTTP scheme to use. Can be used with `tlsConfig` for example if using istio mTLS.
|
||||||
|
scheme: ""
|
||||||
|
|
||||||
|
## tlsConfig: TLS configuration to use when connect to the endpoint. For example if using istio mTLS.
|
||||||
|
## Of type: https://github.com/coreos/prometheus-operator/blob/main/Documentation/api.md#tlsconfig
|
||||||
|
tlsConfig: {}
|
||||||
|
|
||||||
## If set to true all actions on the underlying managed objects are not going to be performed, except for delete actions.
|
## If set to true all actions on the underlying managed objects are not going to be performed, except for delete actions.
|
||||||
##
|
##
|
||||||
paused: false
|
paused: false
|
||||||
@ -683,6 +770,8 @@ alertmanager:
|
|||||||
runAsNonRoot: true
|
runAsNonRoot: true
|
||||||
runAsUser: 1000
|
runAsUser: 1000
|
||||||
fsGroup: 2000
|
fsGroup: 2000
|
||||||
|
seccompProfile:
|
||||||
|
type: RuntimeDefault
|
||||||
|
|
||||||
## ListenLocal makes the Alertmanager server listen on loopback, so that it does not bind against the Pod IP.
|
## ListenLocal makes the Alertmanager server listen on loopback, so that it does not bind against the Pod IP.
|
||||||
## Note this is only for the Alertmanager UI, not the gossip communication.
|
## Note this is only for the Alertmanager UI, not the gossip communication.
|
||||||
@ -731,6 +820,18 @@ alertmanager:
|
|||||||
##
|
##
|
||||||
clusterAdvertiseAddress: false
|
clusterAdvertiseAddress: false
|
||||||
|
|
||||||
|
## clusterGossipInterval determines interval between gossip attempts.
|
||||||
|
## Needs to be specified as GoDuration, a time duration that can be parsed by Go’s time.ParseDuration() (e.g. 45ms, 30s, 1m, 1h20m15s)
|
||||||
|
clusterGossipInterval: ""
|
||||||
|
|
||||||
|
## clusterPeerTimeout determines timeout for cluster peering.
|
||||||
|
## Needs to be specified as GoDuration, a time duration that can be parsed by Go’s time.ParseDuration() (e.g. 45ms, 30s, 1m, 1h20m15s)
|
||||||
|
clusterPeerTimeout: ""
|
||||||
|
|
||||||
|
## clusterPushpullInterval determines interval between pushpull attempts.
|
||||||
|
## Needs to be specified as GoDuration, a time duration that can be parsed by Go’s time.ParseDuration() (e.g. 45ms, 30s, 1m, 1h20m15s)
|
||||||
|
clusterPushpullInterval: ""
|
||||||
|
|
||||||
## ForceEnableClusterMode ensures Alertmanager does not deactivate the cluster mode when running with a single replica.
|
## ForceEnableClusterMode ensures Alertmanager does not deactivate the cluster mode when running with a single replica.
|
||||||
## Use case is e.g. spanning an Alertmanager cluster across Kubernetes clusters with a single replica in each.
|
## Use case is e.g. spanning an Alertmanager cluster across Kubernetes clusters with a single replica in each.
|
||||||
forceEnableClusterMode: false
|
forceEnableClusterMode: false
|
||||||
@ -873,6 +974,11 @@ grafana:
|
|||||||
exemplarTraceIdDestinations: {}
|
exemplarTraceIdDestinations: {}
|
||||||
# datasourceUid: Jaeger
|
# datasourceUid: Jaeger
|
||||||
# traceIdLabelName: trace_id
|
# traceIdLabelName: trace_id
|
||||||
|
alertmanager:
|
||||||
|
enabled: true
|
||||||
|
uid: alertmanager
|
||||||
|
handleGrafanaManagedAlerts: false
|
||||||
|
implementation: prometheus
|
||||||
|
|
||||||
extraConfigmapMounts: []
|
extraConfigmapMounts: []
|
||||||
# - name: certs-configmap
|
# - name: certs-configmap
|
||||||
@ -1858,6 +1964,10 @@ prometheus-node-exporter:
|
|||||||
prometheusOperator:
|
prometheusOperator:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
|
||||||
|
## Number of old replicasets to retain ##
|
||||||
|
## The default value is 10, 0 will garbage-collect old replicasets ##
|
||||||
|
revisionHistoryLimit: 10
|
||||||
|
|
||||||
## Prometheus-Operator v0.39.0 and later support TLS natively.
|
## Prometheus-Operator v0.39.0 and later support TLS natively.
|
||||||
##
|
##
|
||||||
tls:
|
tls:
|
||||||
@ -1870,7 +1980,9 @@ prometheusOperator:
|
|||||||
## Admission webhook support for PrometheusRules resources added in Prometheus Operator 0.30 can be enabled to prevent incorrectly formatted
|
## Admission webhook support for PrometheusRules resources added in Prometheus Operator 0.30 can be enabled to prevent incorrectly formatted
|
||||||
## rules from making their way into prometheus and potentially preventing the container from starting
|
## rules from making their way into prometheus and potentially preventing the container from starting
|
||||||
admissionWebhooks:
|
admissionWebhooks:
|
||||||
failurePolicy:
|
## Valid values: Fail, Ignore, IgnoreOnInstallOnly
|
||||||
|
## IgnoreOnInstallOnly - If Release.IsInstall returns "true", set "Ignore" otherwise "Fail"
|
||||||
|
failurePolicy: ""
|
||||||
## The default timeoutSeconds is 10 and the maximum value is 30.
|
## The default timeoutSeconds is 10 and the maximum value is 30.
|
||||||
timeoutSeconds: 10
|
timeoutSeconds: 10
|
||||||
enabled: true
|
enabled: true
|
||||||
@ -1912,14 +2024,26 @@ prometheusOperator:
|
|||||||
runAsGroup: 2000
|
runAsGroup: 2000
|
||||||
runAsNonRoot: true
|
runAsNonRoot: true
|
||||||
runAsUser: 2000
|
runAsUser: 2000
|
||||||
|
seccompProfile:
|
||||||
|
type: RuntimeDefault
|
||||||
|
|
||||||
# Security context for create job container
|
# Security context for create job container
|
||||||
createSecretJob:
|
createSecretJob:
|
||||||
securityContext: {}
|
securityContext:
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
|
readOnlyRootFilesystem: true
|
||||||
|
capabilities:
|
||||||
|
drop:
|
||||||
|
- ALL
|
||||||
|
|
||||||
# Security context for patch job container
|
# Security context for patch job container
|
||||||
patchWebhookJob:
|
patchWebhookJob:
|
||||||
securityContext: {}
|
securityContext:
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
|
readOnlyRootFilesystem: true
|
||||||
|
capabilities:
|
||||||
|
drop:
|
||||||
|
- ALL
|
||||||
|
|
||||||
# Use certmanager to generate webhook certs
|
# Use certmanager to generate webhook certs
|
||||||
certManager:
|
certManager:
|
||||||
@ -1972,6 +2096,9 @@ prometheusOperator:
|
|||||||
# cilium:
|
# cilium:
|
||||||
# egress:
|
# egress:
|
||||||
|
|
||||||
|
## match labels used in selector
|
||||||
|
# matchLabels: {}
|
||||||
|
|
||||||
## Service account for Alertmanager to use.
|
## Service account for Alertmanager to use.
|
||||||
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
|
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
|
||||||
##
|
##
|
||||||
@ -2161,6 +2288,8 @@ prometheusOperator:
|
|||||||
runAsGroup: 65534
|
runAsGroup: 65534
|
||||||
runAsNonRoot: true
|
runAsNonRoot: true
|
||||||
runAsUser: 65534
|
runAsUser: 65534
|
||||||
|
seccompProfile:
|
||||||
|
type: RuntimeDefault
|
||||||
|
|
||||||
## Container-specific security context configuration
|
## Container-specific security context configuration
|
||||||
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
|
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
|
||||||
@ -2168,12 +2297,24 @@ prometheusOperator:
|
|||||||
containerSecurityContext:
|
containerSecurityContext:
|
||||||
allowPrivilegeEscalation: false
|
allowPrivilegeEscalation: false
|
||||||
readOnlyRootFilesystem: true
|
readOnlyRootFilesystem: true
|
||||||
|
capabilities:
|
||||||
|
drop:
|
||||||
|
- ALL
|
||||||
|
|
||||||
# Enable vertical pod autoscaler support for prometheus-operator
|
# Enable vertical pod autoscaler support for prometheus-operator
|
||||||
verticalPodAutoscaler:
|
verticalPodAutoscaler:
|
||||||
enabled: false
|
enabled: false
|
||||||
|
|
||||||
|
# Recommender responsible for generating recommendation for the object.
|
||||||
|
# List should be empty (then the default recommender will generate the recommendation)
|
||||||
|
# or contain exactly one recommender.
|
||||||
|
# recommenders:
|
||||||
|
# - name: custom-recommender-performance
|
||||||
|
|
||||||
# List of resources that the vertical pod autoscaler can control. Defaults to cpu and memory
|
# List of resources that the vertical pod autoscaler can control. Defaults to cpu and memory
|
||||||
controlledResources: []
|
controlledResources: []
|
||||||
|
# Specifies which resource values should be controlled: RequestsOnly or RequestsAndLimits.
|
||||||
|
# controlledValues: RequestsAndLimits
|
||||||
|
|
||||||
# Define the max allowed resources for the pod
|
# Define the max allowed resources for the pod
|
||||||
maxAllowed: {}
|
maxAllowed: {}
|
||||||
@ -2185,6 +2326,8 @@ prometheusOperator:
|
|||||||
# memory: 100Mi
|
# memory: 100Mi
|
||||||
|
|
||||||
updatePolicy:
|
updatePolicy:
|
||||||
|
# Specifies minimal number of replicas which need to be alive for VPA Updater to attempt pod eviction
|
||||||
|
# minReplicas: 1
|
||||||
# Specifies whether recommended updates are applied when a Pod is started and whether recommended updates
|
# Specifies whether recommended updates are applied when a Pod is started and whether recommended updates
|
||||||
# are applied during the life of a Pod. Possible values are "Off", "Initial", "Recreate", and "Auto".
|
# are applied during the life of a Pod. Possible values are "Off", "Initial", "Recreate", and "Auto".
|
||||||
updateMode: Auto
|
updateMode: Auto
|
||||||
@ -2242,7 +2385,7 @@ prometheusOperator:
|
|||||||
thanosImage:
|
thanosImage:
|
||||||
registry: quay.io
|
registry: quay.io
|
||||||
repository: thanos/thanos
|
repository: thanos/thanos
|
||||||
tag: v0.30.2
|
tag: v0.31.0
|
||||||
sha: ""
|
sha: ""
|
||||||
|
|
||||||
## Set a Label Selector to filter watched prometheus and prometheusAgent
|
## Set a Label Selector to filter watched prometheus and prometheusAgent
|
||||||
@ -2258,13 +2401,19 @@ prometheusOperator:
|
|||||||
|
|
||||||
## Set a Field Selector to filter watched secrets
|
## Set a Field Selector to filter watched secrets
|
||||||
##
|
##
|
||||||
secretFieldSelector: ""
|
secretFieldSelector: "type!=kubernetes.io/dockercfg,type!=kubernetes.io/service-account-token,type!=helm.sh/release.v1"
|
||||||
|
|
||||||
## Deploy a Prometheus instance
|
## Deploy a Prometheus instance
|
||||||
##
|
##
|
||||||
prometheus:
|
prometheus:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
|
||||||
|
## Toggle prometheus into agent mode
|
||||||
|
## Note many of features described below (e.g. rules, query, alerting, remote read, thanos) will not work in agent mode.
|
||||||
|
## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/designs/prometheus-agent.md
|
||||||
|
##
|
||||||
|
agentMode: false
|
||||||
|
|
||||||
## Annotations for Prometheus
|
## Annotations for Prometheus
|
||||||
##
|
##
|
||||||
annotations: {}
|
annotations: {}
|
||||||
@ -2745,7 +2894,7 @@ prometheus:
|
|||||||
image:
|
image:
|
||||||
registry: quay.io
|
registry: quay.io
|
||||||
repository: prometheus/prometheus
|
repository: prometheus/prometheus
|
||||||
tag: v2.42.0
|
tag: v2.45.0
|
||||||
sha: ""
|
sha: ""
|
||||||
|
|
||||||
## Tolerations for use with node taints
|
## Tolerations for use with node taints
|
||||||
@ -2932,6 +3081,28 @@ prometheus:
|
|||||||
# matchLabels:
|
# matchLabels:
|
||||||
# prometheus: somelabel
|
# prometheus: somelabel
|
||||||
|
|
||||||
|
## If true, a nil or {} value for prometheus.prometheusSpec.scrapeConfigSelector will cause the
|
||||||
|
## prometheus resource to be created with selectors based on values in the helm deployment,
|
||||||
|
## which will also match the scrapeConfigs created
|
||||||
|
##
|
||||||
|
scrapeConfigSelectorNilUsesHelmValues: true
|
||||||
|
|
||||||
|
## scrapeConfigs to be selected for target discovery.
|
||||||
|
## If {}, select all scrapeConfigs
|
||||||
|
##
|
||||||
|
scrapeConfigSelector: {}
|
||||||
|
## Example which selects scrapeConfigs with label "prometheus" set to "somelabel"
|
||||||
|
# scrapeConfig:
|
||||||
|
# matchLabels:
|
||||||
|
# prometheus: somelabel
|
||||||
|
|
||||||
|
## If nil, select own namespace. Namespaces to be selected for scrapeConfig discovery.
|
||||||
|
scrapeConfigNamespaceSelector: {}
|
||||||
|
## Example which selects scrapeConfig in namespaces with label "prometheus" set to "somelabel"
|
||||||
|
# scrapeConfigNamespaceSelector:
|
||||||
|
# matchLabels:
|
||||||
|
# prometheus: somelabel
|
||||||
|
|
||||||
## How long to retain metrics
|
## How long to retain metrics
|
||||||
##
|
##
|
||||||
retention: 10d
|
retention: 10d
|
||||||
@ -3184,6 +3355,8 @@ prometheus:
|
|||||||
runAsNonRoot: true
|
runAsNonRoot: true
|
||||||
runAsUser: 1000
|
runAsUser: 1000
|
||||||
fsGroup: 2000
|
fsGroup: 2000
|
||||||
|
seccompProfile:
|
||||||
|
type: RuntimeDefault
|
||||||
|
|
||||||
## Priority class assigned to the Pods
|
## Priority class assigned to the Pods
|
||||||
##
|
##
|
||||||
@ -3313,6 +3486,10 @@ prometheus:
|
|||||||
# - a1.app.local
|
# - a1.app.local
|
||||||
# - b1.app.local
|
# - b1.app.local
|
||||||
|
|
||||||
|
## TracingConfig configures tracing in Prometheus.
|
||||||
|
## See https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#prometheustracingconfig
|
||||||
|
tracingConfig: {}
|
||||||
|
|
||||||
additionalRulesForClusterRole: []
|
additionalRulesForClusterRole: []
|
||||||
# - apiGroups: [ "" ]
|
# - apiGroups: [ "" ]
|
||||||
# resources:
|
# resources:
|
||||||
@ -3629,7 +3806,7 @@ thanosRuler:
|
|||||||
image:
|
image:
|
||||||
registry: quay.io
|
registry: quay.io
|
||||||
repository: thanos/thanos
|
repository: thanos/thanos
|
||||||
tag: v0.30.2
|
tag: v0.31.0
|
||||||
sha: ""
|
sha: ""
|
||||||
|
|
||||||
## Namespaces to be selected for PrometheusRules discovery.
|
## Namespaces to be selected for PrometheusRules discovery.
|
||||||
@ -3815,6 +3992,8 @@ thanosRuler:
|
|||||||
runAsNonRoot: true
|
runAsNonRoot: true
|
||||||
runAsUser: 1000
|
runAsUser: 1000
|
||||||
fsGroup: 2000
|
fsGroup: 2000
|
||||||
|
seccompProfile:
|
||||||
|
type: RuntimeDefault
|
||||||
|
|
||||||
## ListenLocal makes the ThanosRuler server listen on loopback, so that it does not bind against the Pod IP.
|
## ListenLocal makes the ThanosRuler server listen on loopback, so that it does not bind against the Pod IP.
|
||||||
## Note this is only for the ThanosRuler UI, not the gossip communication.
|
## Note this is only for the ThanosRuler UI, not the gossip communication.
|
||||||
@ -3857,3 +4036,13 @@ thanosRuler:
|
|||||||
## Setting to true produces cleaner resource names, but requires a data migration because the name of the persistent volume changes. Therefore this should only be set once on initial installation.
|
## Setting to true produces cleaner resource names, but requires a data migration because the name of the persistent volume changes. Therefore this should only be set once on initial installation.
|
||||||
##
|
##
|
||||||
cleanPrometheusOperatorObjectNames: false
|
cleanPrometheusOperatorObjectNames: false
|
||||||
|
|
||||||
|
## Extra manifests to deploy as an array
|
||||||
|
extraManifests: []
|
||||||
|
# - apiVersion: v1
|
||||||
|
# kind: ConfigMap
|
||||||
|
# metadata:
|
||||||
|
# labels:
|
||||||
|
# name: prometheus-extra
|
||||||
|
# data:
|
||||||
|
# extra-data: "value"
|
||||||
|
@ -78,7 +78,7 @@
|
|||||||
"subdir": "jsonnet/kube-state-metrics"
|
"subdir": "jsonnet/kube-state-metrics"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"version": "60d4c4e082bc8345c91fbf000eae9af2f67ed8de",
|
"version": "e8272ced472cb99ef1e2e2dc0e9ff481ae381fdb",
|
||||||
"sum": "+dOzAK+fwsFf97uZpjcjTcEJEC1H8hh/j8f5uIQK/5g="
|
"sum": "+dOzAK+fwsFf97uZpjcjTcEJEC1H8hh/j8f5uIQK/5g="
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -88,7 +88,7 @@
|
|||||||
"subdir": "jsonnet/kube-state-metrics-mixin"
|
"subdir": "jsonnet/kube-state-metrics-mixin"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"version": "60d4c4e082bc8345c91fbf000eae9af2f67ed8de",
|
"version": "e8272ced472cb99ef1e2e2dc0e9ff481ae381fdb",
|
||||||
"sum": "qclI7LwucTjBef3PkGBkKxF0mfZPbHnn4rlNWKGtR4c="
|
"sum": "qclI7LwucTjBef3PkGBkKxF0mfZPbHnn4rlNWKGtR4c="
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -1,11 +1,120 @@
|
|||||||
diff -tuNr charts/kube-prometheus-stack.orig/crds/crd-prometheuses.yaml charts/kube-prometheus-stack/crds/crd-prometheuses.yaml
|
diff --git charts/kube-prometheus-stack/charts/crds/crds/crd-alertmanagerconfigs.yaml charts/kube-prometheus-stack/charts/crds/crds/crd-alertmanagerconfigs.yaml
|
||||||
--- charts/kube-prometheus-stack.orig/crds/crd-prometheuses.yaml 2021-12-09 14:58:13.123561137 +0100
|
index 78c65ad..1adb2cf 100644
|
||||||
+++ charts/kube-prometheus-stack/crds/crd-prometheuses.yaml 2021-12-09 14:58:50.570226461 +0100
|
--- charts/kube-prometheus-stack/charts/crds/crds/crd-alertmanagerconfigs.yaml
|
||||||
@@ -6,6 +6,7 @@
|
+++ charts/kube-prometheus-stack/charts/crds/crds/crd-alertmanagerconfigs.yaml
|
||||||
|
@@ -5,6 +5,7 @@ kind: CustomResourceDefinition
|
||||||
metadata:
|
metadata:
|
||||||
annotations:
|
annotations:
|
||||||
controller-gen.kubebuilder.io/version: v0.11.1
|
controller-gen.kubebuilder.io/version: v0.11.1
|
||||||
+ argocd.argoproj.io/sync-options: Replace=true
|
+ argocd.argoproj.io/sync-options: ServerSideApply=true
|
||||||
|
creationTimestamp: null
|
||||||
|
name: alertmanagerconfigs.monitoring.coreos.com
|
||||||
|
spec:
|
||||||
|
diff --git charts/kube-prometheus-stack/charts/crds/crds/crd-alertmanagers.yaml charts/kube-prometheus-stack/charts/crds/crds/crd-alertmanagers.yaml
|
||||||
|
index 8456cc4..b2d2e60 100644
|
||||||
|
--- charts/kube-prometheus-stack/charts/crds/crds/crd-alertmanagers.yaml
|
||||||
|
+++ charts/kube-prometheus-stack/charts/crds/crds/crd-alertmanagers.yaml
|
||||||
|
@@ -5,6 +5,7 @@ kind: CustomResourceDefinition
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
controller-gen.kubebuilder.io/version: v0.11.1
|
||||||
|
+ argocd.argoproj.io/sync-options: ServerSideApply=true
|
||||||
|
creationTimestamp: null
|
||||||
|
name: alertmanagers.monitoring.coreos.com
|
||||||
|
spec:
|
||||||
|
diff --git charts/kube-prometheus-stack/charts/crds/crds/crd-podmonitors.yaml charts/kube-prometheus-stack/charts/crds/crds/crd-podmonitors.yaml
|
||||||
|
index 84816da..bcc33c8 100644
|
||||||
|
--- charts/kube-prometheus-stack/charts/crds/crds/crd-podmonitors.yaml
|
||||||
|
+++ charts/kube-prometheus-stack/charts/crds/crds/crd-podmonitors.yaml
|
||||||
|
@@ -5,6 +5,7 @@ kind: CustomResourceDefinition
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
controller-gen.kubebuilder.io/version: v0.11.1
|
||||||
|
+ argocd.argoproj.io/sync-options: ServerSideApply=true
|
||||||
|
creationTimestamp: null
|
||||||
|
name: podmonitors.monitoring.coreos.com
|
||||||
|
spec:
|
||||||
|
diff --git charts/kube-prometheus-stack/charts/crds/crds/crd-probes.yaml charts/kube-prometheus-stack/charts/crds/crds/crd-probes.yaml
|
||||||
|
index ee137b3..fda3c21 100644
|
||||||
|
--- charts/kube-prometheus-stack/charts/crds/crds/crd-probes.yaml
|
||||||
|
+++ charts/kube-prometheus-stack/charts/crds/crds/crd-probes.yaml
|
||||||
|
@@ -5,6 +5,7 @@ kind: CustomResourceDefinition
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
controller-gen.kubebuilder.io/version: v0.11.1
|
||||||
|
+ argocd.argoproj.io/sync-options: ServerSideApply=true
|
||||||
|
creationTimestamp: null
|
||||||
|
name: probes.monitoring.coreos.com
|
||||||
|
spec:
|
||||||
|
diff --git charts/kube-prometheus-stack/charts/crds/crds/crd-prometheusagents.yaml charts/kube-prometheus-stack/charts/crds/crds/crd-prometheusagents.yaml
|
||||||
|
index 6a63596..39c2d3f 100644
|
||||||
|
--- charts/kube-prometheus-stack/charts/crds/crds/crd-prometheusagents.yaml
|
||||||
|
+++ charts/kube-prometheus-stack/charts/crds/crds/crd-prometheusagents.yaml
|
||||||
|
@@ -5,6 +5,7 @@ kind: CustomResourceDefinition
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
controller-gen.kubebuilder.io/version: v0.11.1
|
||||||
|
+ argocd.argoproj.io/sync-options: ServerSideApply=true
|
||||||
|
creationTimestamp: null
|
||||||
|
name: prometheusagents.monitoring.coreos.com
|
||||||
|
spec:
|
||||||
|
diff --git charts/kube-prometheus-stack/charts/crds/crds/crd-prometheuses.yaml charts/kube-prometheus-stack/charts/crds/crds/crd-prometheuses.yaml
|
||||||
|
index 72f900d..093143b 100644
|
||||||
|
--- charts/kube-prometheus-stack/charts/crds/crds/crd-prometheuses.yaml
|
||||||
|
+++ charts/kube-prometheus-stack/charts/crds/crds/crd-prometheuses.yaml
|
||||||
|
@@ -5,6 +5,7 @@ kind: CustomResourceDefinition
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
controller-gen.kubebuilder.io/version: v0.11.1
|
||||||
|
+ argocd.argoproj.io/sync-options: ServerSideApply=true
|
||||||
creationTimestamp: null
|
creationTimestamp: null
|
||||||
name: prometheuses.monitoring.coreos.com
|
name: prometheuses.monitoring.coreos.com
|
||||||
spec:
|
spec:
|
||||||
|
diff --git charts/kube-prometheus-stack/charts/crds/crds/crd-prometheusrules.yaml charts/kube-prometheus-stack/charts/crds/crds/crd-prometheusrules.yaml
|
||||||
|
index 9d9f85d..20da04f 100644
|
||||||
|
--- charts/kube-prometheus-stack/charts/crds/crds/crd-prometheusrules.yaml
|
||||||
|
+++ charts/kube-prometheus-stack/charts/crds/crds/crd-prometheusrules.yaml
|
||||||
|
@@ -5,6 +5,7 @@ kind: CustomResourceDefinition
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
controller-gen.kubebuilder.io/version: v0.11.1
|
||||||
|
+ argocd.argoproj.io/sync-options: ServerSideApply=true
|
||||||
|
creationTimestamp: null
|
||||||
|
name: prometheusrules.monitoring.coreos.com
|
||||||
|
spec:
|
||||||
|
diff --git charts/kube-prometheus-stack/charts/crds/crds/crd-scrapeconfigs.yaml charts/kube-prometheus-stack/charts/crds/crds/crd-scrapeconfigs.yaml
|
||||||
|
index 95f0711..e0804f6 100644
|
||||||
|
--- charts/kube-prometheus-stack/charts/crds/crds/crd-scrapeconfigs.yaml
|
||||||
|
+++ charts/kube-prometheus-stack/charts/crds/crds/crd-scrapeconfigs.yaml
|
||||||
|
@@ -5,6 +5,7 @@ kind: CustomResourceDefinition
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
controller-gen.kubebuilder.io/version: v0.11.1
|
||||||
|
+ argocd.argoproj.io/sync-options: ServerSideApply=true
|
||||||
|
creationTimestamp: null
|
||||||
|
name: scrapeconfigs.monitoring.coreos.com
|
||||||
|
spec:
|
||||||
|
diff --git charts/kube-prometheus-stack/charts/crds/crds/crd-servicemonitors.yaml charts/kube-prometheus-stack/charts/crds/crds/crd-servicemonitors.yaml
|
||||||
|
index 5f52dc6..daa1a62 100644
|
||||||
|
--- charts/kube-prometheus-stack/charts/crds/crds/crd-servicemonitors.yaml
|
||||||
|
+++ charts/kube-prometheus-stack/charts/crds/crds/crd-servicemonitors.yaml
|
||||||
|
@@ -5,6 +5,7 @@ kind: CustomResourceDefinition
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
controller-gen.kubebuilder.io/version: v0.11.1
|
||||||
|
+ argocd.argoproj.io/sync-options: ServerSideApply=true
|
||||||
|
creationTimestamp: null
|
||||||
|
name: servicemonitors.monitoring.coreos.com
|
||||||
|
spec:
|
||||||
|
diff --git charts/kube-prometheus-stack/charts/crds/crds/crd-thanosrulers.yaml charts/kube-prometheus-stack/charts/crds/crds/crd-thanosrulers.yaml
|
||||||
|
index 949bba7..d48a63c 100644
|
||||||
|
--- charts/kube-prometheus-stack/charts/crds/crds/crd-thanosrulers.yaml
|
||||||
|
+++ charts/kube-prometheus-stack/charts/crds/crds/crd-thanosrulers.yaml
|
||||||
|
@@ -5,6 +5,7 @@ kind: CustomResourceDefinition
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
controller-gen.kubebuilder.io/version: v0.11.1
|
||||||
|
+ argocd.argoproj.io/sync-options: ServerSideApply=true
|
||||||
|
creationTimestamp: null
|
||||||
|
name: thanosrulers.monitoring.coreos.com
|
||||||
|
spec:
|
||||||
|
Loading…
Reference in New Issue
Block a user