remove moved Apps
This commit is contained in:
parent
6071fa4bf5
commit
b75d4d5b35
|
@ -1,77 +0,0 @@
|
|||
# Changelog<br>
|
||||
|
||||
|
||||
<a name="prometheus-0.0.10"></a>
|
||||
### [prometheus-0.0.10](https://github.com/truecharts/apps/compare/prometheus-0.0.9...prometheus-0.0.10) (2021-11-23)
|
||||
|
||||
#### Fix
|
||||
|
||||
* correct port reference for alertmanager
|
||||
|
||||
|
||||
|
||||
<a name="prometheus-0.0.9"></a>
|
||||
### [prometheus-0.0.9](https://github.com/truecharts/apps/compare/prometheus-0.0.8...prometheus-0.0.9) (2021-11-23)
|
||||
|
||||
#### Chore
|
||||
|
||||
* update non-major deps helm releases ([#1386](https://github.com/truecharts/apps/issues/1386))
|
||||
|
||||
|
||||
|
||||
<a name="prometheus-0.0.8"></a>
|
||||
### [prometheus-0.0.8](https://github.com/truecharts/apps/compare/prometheus-0.0.5...prometheus-0.0.8) (2021-11-22)
|
||||
|
||||
#### Chore
|
||||
|
||||
* update non-major deps helm releases ([#1383](https://github.com/truecharts/apps/issues/1383))
|
||||
* don't allow config of promop service and remove reminants
|
||||
|
||||
#### Fix
|
||||
|
||||
* use correct port for alertmanager probe
|
||||
|
||||
|
||||
|
||||
<a name="prometheus-0.0.5"></a>
|
||||
### [prometheus-0.0.5](https://github.com/truecharts/apps/compare/prometheus-0.0.4...prometheus-0.0.5) (2021-11-22)
|
||||
|
||||
#### Fix
|
||||
|
||||
* migrate away services
|
||||
|
||||
|
||||
|
||||
<a name="prometheus-0.0.4"></a>
|
||||
### [prometheus-0.0.4](https://github.com/truecharts/apps/compare/prometheus-0.0.3...prometheus-0.0.4) (2021-11-22)
|
||||
|
||||
#### Fix
|
||||
|
||||
* correct prometheus GUI mistakes
|
||||
|
||||
|
||||
|
||||
<a name="prometheus-0.0.3"></a>
|
||||
### [prometheus-0.0.3](https://github.com/truecharts/apps/compare/prometheus-0.0.2...prometheus-0.0.3) (2021-11-22)
|
||||
|
||||
#### Chore
|
||||
|
||||
* some cleanup
|
||||
|
||||
|
||||
|
||||
<a name="prometheus-0.0.2"></a>
|
||||
### [prometheus-0.0.2](https://github.com/truecharts/apps/compare/prometheus-0.0.1...prometheus-0.0.2) (2021-11-22)
|
||||
|
||||
#### Fix
|
||||
|
||||
* more thoroughly show services on SCALE
|
||||
|
||||
|
||||
|
||||
<a name="prometheus-0.0.1"></a>
|
||||
### prometheus-0.0.1 (2021-11-22)
|
||||
|
||||
#### Add
|
||||
|
||||
* add prometheus prototype ([#1379](https://github.com/truecharts/apps/issues/1379))
|
|
@ -1,8 +0,0 @@
|
|||
# Configuration Options
|
||||
|
||||
##### Connecting to other apps
|
||||
If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Internally" quick-start guide:
|
||||
https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/
|
||||
|
||||
##### Available config options
|
||||
In the future this page is going to contain an automated list of options available in the installation/edit UI.
|
|
@ -1,6 +0,0 @@
|
|||
dependencies:
|
||||
- name: common
|
||||
repository: https://truecharts.org
|
||||
version: 8.9.3
|
||||
digest: sha256:8e3b075bc94570b49db18d1ea9431f95ed06504fb372ee04f43c667c784d7b14
|
||||
generated: "2021-11-23T15:28:12.101560849Z"
|
|
@ -1,28 +0,0 @@
|
|||
apiVersion: v2
|
||||
appVersion: "0.52.1"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://truecharts.org
|
||||
version: 8.9.3
|
||||
deprecated: false
|
||||
description: kube-prometheus-stack collects Kubernetes manifests, Grafana dashboards, and Prometheus rules combined with documentation and scripts to provide easy to operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus Operator.
|
||||
icon: https://raw.githubusercontent.com/prometheus/prometheus.github.io/master/assets/prometheus_logo-cb55bb5c346.png
|
||||
home: https://github.com/truecharts/apps/tree/master/charts/stable/prometheus
|
||||
keywords:
|
||||
- metrics
|
||||
kubeVersion: '>=1.16.0-0'
|
||||
maintainers:
|
||||
- email: info@truecharts.org
|
||||
name: TrueCharts
|
||||
url: https://truecharts.org
|
||||
name: prometheus
|
||||
sources:
|
||||
- https://github.com/prometheus-community/helm-charts
|
||||
- https://github.com/prometheus-operator/kube-prometheus
|
||||
type: application
|
||||
version: 0.0.10
|
||||
annotations:
|
||||
truecharts.org/catagories: |
|
||||
- metrics
|
||||
truecharts.org/SCALE-support: "true"
|
||||
truecharts.org/grade: U
|
|
@ -1,38 +0,0 @@
|
|||
# Introduction
|
||||
|
||||
kube-prometheus-stack collects Kubernetes manifests, Grafana dashboards, and Prometheus rules combined with documentation and scripts to provide easy to operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus Operator.
|
||||
|
||||
TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation.
|
||||
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)**
|
||||
|
||||
## Source Code
|
||||
|
||||
* <https://github.com/prometheus-community/helm-charts>
|
||||
* <https://github.com/prometheus-operator/kube-prometheus>
|
||||
|
||||
## Requirements
|
||||
|
||||
Kubernetes: `>=1.16.0-0`
|
||||
|
||||
## Dependencies
|
||||
|
||||
| Repository | Name | Version |
|
||||
|------------|------|---------|
|
||||
| https://truecharts.org | common | 8.9.3 |
|
||||
|
||||
## Installing the Chart
|
||||
|
||||
To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/).
|
||||
|
||||
## Uninstalling the Chart
|
||||
|
||||
To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/).
|
||||
|
||||
## Support
|
||||
|
||||
- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first.
|
||||
- See the [Wiki](https://truecharts.org)
|
||||
- Check our [Discord](https://discord.gg/tVsPTHWTtr)
|
||||
- Open a [issue](https://github.com/truecharts/apps/issues/new/choose)
|
||||
---
|
||||
All Rights Reserved - The TrueCharts Project
|
|
@ -1,3 +0,0 @@
|
|||
kube-prometheus-stack collects Kubernetes manifests, Grafana dashboards, and Prometheus rules combined with documentation and scripts to provide easy to operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus Operator.
|
||||
|
||||
This App is supplied by TrueCharts, for more information please visit https://truecharts.org
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,583 +0,0 @@
|
|||
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.52.0/example/prometheus-operator-crd/monitoring.coreos.com_podmonitors.yaml
|
||||
|
||||
---
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.6.2
|
||||
creationTimestamp: null
|
||||
name: podmonitors.monitoring.coreos.com
|
||||
spec:
|
||||
group: monitoring.coreos.com
|
||||
names:
|
||||
categories:
|
||||
- prometheus-operator
|
||||
kind: PodMonitor
|
||||
listKind: PodMonitorList
|
||||
plural: podmonitors
|
||||
singular: podmonitor
|
||||
scope: Namespaced
|
||||
versions:
|
||||
- name: v1
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
description: PodMonitor defines monitoring for a set of pods.
|
||||
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: Specification of desired Pod selection for target discovery
|
||||
by Prometheus.
|
||||
properties:
|
||||
jobLabel:
|
||||
description: The label to use to retrieve the job name from.
|
||||
type: string
|
||||
labelLimit:
|
||||
description: Per-scrape limit on number of labels that will be accepted
|
||||
for a sample. Only valid in Prometheus versions 2.27.0 and newer.
|
||||
format: int64
|
||||
type: integer
|
||||
labelNameLengthLimit:
|
||||
description: 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.
|
||||
format: int64
|
||||
type: integer
|
||||
labelValueLengthLimit:
|
||||
description: 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.
|
||||
format: int64
|
||||
type: integer
|
||||
namespaceSelector:
|
||||
description: Selector to select which namespaces the Endpoints objects
|
||||
are discovered from.
|
||||
properties:
|
||||
any:
|
||||
description: Boolean describing whether all namespaces are selected
|
||||
in contrast to a list restricting them.
|
||||
type: boolean
|
||||
matchNames:
|
||||
description: List of namespace names.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
type: object
|
||||
podMetricsEndpoints:
|
||||
description: A list of endpoints allowed as part of this PodMonitor.
|
||||
items:
|
||||
description: PodMetricsEndpoint defines a scrapeable endpoint of
|
||||
a Kubernetes Pod serving Prometheus metrics.
|
||||
properties:
|
||||
authorization:
|
||||
description: Authorization section for this 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
|
||||
type:
|
||||
description: Set the authentication type. Defaults to Bearer,
|
||||
Basic will cause an error
|
||||
type: string
|
||||
type: object
|
||||
basicAuth:
|
||||
description: 'BasicAuth allow an endpoint to authenticate over
|
||||
basic authentication. More info: https://prometheus.io/docs/operating/configuration/#endpoint'
|
||||
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
|
||||
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
|
||||
type: object
|
||||
bearerTokenSecret:
|
||||
description: 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.
|
||||
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
|
||||
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
|
||||
interval:
|
||||
description: Interval at which metrics should be scraped
|
||||
type: string
|
||||
metricRelabelings:
|
||||
description: MetricRelabelConfigs to apply to samples before
|
||||
ingestion.
|
||||
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:
|
||||
description: Action to perform based on regex matching.
|
||||
Default is 'replace'
|
||||
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:
|
||||
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
|
||||
oauth2:
|
||||
description: OAuth2 for the URL. Only valid in Prometheus versions
|
||||
2.27.0 and newer.
|
||||
properties:
|
||||
clientId:
|
||||
description: The secret or configmap containing the OAuth2
|
||||
client id
|
||||
properties:
|
||||
configMap:
|
||||
description: ConfigMap containing data to use for the
|
||||
targets.
|
||||
properties:
|
||||
key:
|
||||
description: The key to select.
|
||||
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 ConfigMap or its
|
||||
key must be defined
|
||||
type: boolean
|
||||
required:
|
||||
- key
|
||||
type: object
|
||||
secret:
|
||||
description: Secret containing data to use for the targets.
|
||||
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
|
||||
type: object
|
||||
clientSecret:
|
||||
description: The secret containing the OAuth2 client secret
|
||||
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
|
||||
endpointParams:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: Parameters to append to the token URL
|
||||
type: object
|
||||
scopes:
|
||||
description: OAuth2 scopes used for the token request
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
tokenUrl:
|
||||
description: The URL to fetch the token from
|
||||
minLength: 1
|
||||
type: string
|
||||
required:
|
||||
- clientId
|
||||
- clientSecret
|
||||
- tokenUrl
|
||||
type: object
|
||||
params:
|
||||
additionalProperties:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
description: Optional HTTP URL parameters
|
||||
type: object
|
||||
path:
|
||||
description: HTTP path to scrape for metrics.
|
||||
type: string
|
||||
port:
|
||||
description: Name of the pod port this endpoint refers to. Mutually
|
||||
exclusive with targetPort.
|
||||
type: string
|
||||
proxyUrl:
|
||||
description: ProxyURL eg http://proxyserver:2195 Directs scrapes
|
||||
to proxy through this endpoint.
|
||||
type: string
|
||||
relabelings:
|
||||
description: 'RelabelConfigs to apply to samples before scraping.
|
||||
Prometheus Operator automatically adds relabelings for a few
|
||||
standard Kubernetes fields and replaces original scrape job
|
||||
name with __tmp_prometheus_job_name. 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:
|
||||
description: Action to perform based on regex matching.
|
||||
Default is 'replace'
|
||||
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:
|
||||
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
|
||||
scheme:
|
||||
description: HTTP scheme to use for scraping.
|
||||
type: string
|
||||
scrapeTimeout:
|
||||
description: Timeout after which the scrape is ended
|
||||
type: string
|
||||
targetPort:
|
||||
anyOf:
|
||||
- type: integer
|
||||
- type: string
|
||||
description: 'Deprecated: Use ''port'' instead.'
|
||||
x-kubernetes-int-or-string: true
|
||||
tlsConfig:
|
||||
description: TLS configuration to use when scraping the endpoint.
|
||||
properties:
|
||||
ca:
|
||||
description: Struct containing the CA cert to use for the
|
||||
targets.
|
||||
properties:
|
||||
configMap:
|
||||
description: ConfigMap containing data to use for the
|
||||
targets.
|
||||
properties:
|
||||
key:
|
||||
description: The key to select.
|
||||
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 ConfigMap or its
|
||||
key must be defined
|
||||
type: boolean
|
||||
required:
|
||||
- key
|
||||
type: object
|
||||
secret:
|
||||
description: Secret containing data to use for the targets.
|
||||
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
|
||||
type: object
|
||||
cert:
|
||||
description: Struct containing the client cert file for
|
||||
the targets.
|
||||
properties:
|
||||
configMap:
|
||||
description: ConfigMap containing data to use for the
|
||||
targets.
|
||||
properties:
|
||||
key:
|
||||
description: The key to select.
|
||||
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 ConfigMap or its
|
||||
key must be defined
|
||||
type: boolean
|
||||
required:
|
||||
- key
|
||||
type: object
|
||||
secret:
|
||||
description: Secret containing data to use for the targets.
|
||||
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
|
||||
type: object
|
||||
insecureSkipVerify:
|
||||
description: Disable target certificate validation.
|
||||
type: boolean
|
||||
keySecret:
|
||||
description: Secret containing the client key file for the
|
||||
targets.
|
||||
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
|
||||
serverName:
|
||||
description: Used to verify the hostname for the targets.
|
||||
type: string
|
||||
type: object
|
||||
type: object
|
||||
type: array
|
||||
podTargetLabels:
|
||||
description: PodTargetLabels transfers labels on the Kubernetes Pod
|
||||
onto the target.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
sampleLimit:
|
||||
description: SampleLimit defines per-scrape limit on number of scraped
|
||||
samples that will be accepted.
|
||||
format: int64
|
||||
type: integer
|
||||
selector:
|
||||
description: Selector to select Pod objects.
|
||||
properties:
|
||||
matchExpressions:
|
||||
description: matchExpressions is a list of label selector requirements.
|
||||
The requirements are ANDed.
|
||||
items:
|
||||
description: A label selector requirement is a selector that
|
||||
contains values, a key, and an operator that relates the key
|
||||
and values.
|
||||
properties:
|
||||
key:
|
||||
description: key is the label key that the selector applies
|
||||
to.
|
||||
type: string
|
||||
operator:
|
||||
description: operator represents a key's relationship to
|
||||
a set of values. Valid operators are In, NotIn, Exists
|
||||
and DoesNotExist.
|
||||
type: string
|
||||
values:
|
||||
description: values is an array of string values. If the
|
||||
operator is In or NotIn, the values array must be non-empty.
|
||||
If the operator is Exists or DoesNotExist, the values
|
||||
array must be empty. This array is replaced during a strategic
|
||||
merge patch.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
required:
|
||||
- key
|
||||
- operator
|
||||
type: object
|
||||
type: array
|
||||
matchLabels:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: matchLabels is a map of {key,value} pairs. A single
|
||||
{key,value} in the matchLabels map is equivalent to an element
|
||||
of matchExpressions, whose key field is "key", the operator
|
||||
is "In", and the values array contains only "value". The requirements
|
||||
are ANDed.
|
||||
type: object
|
||||
type: object
|
||||
targetLimit:
|
||||
description: TargetLimit defines a limit on the number of scraped
|
||||
targets that will be accepted.
|
||||
format: int64
|
||||
type: integer
|
||||
required:
|
||||
- podMetricsEndpoints
|
||||
- selector
|
||||
type: object
|
||||
required:
|
||||
- spec
|
||||
type: object
|
||||
served: true
|
||||
storage: true
|
||||
status:
|
||||
acceptedNames:
|
||||
kind: ""
|
||||
plural: ""
|
||||
conditions: []
|
||||
storedVersions: []
|
|
@ -1,613 +0,0 @@
|
|||
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.52.0/example/prometheus-operator-crd/monitoring.coreos.com_probes.yaml
|
||||
|
||||
---
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.6.2
|
||||
creationTimestamp: null
|
||||
name: probes.monitoring.coreos.com
|
||||
spec:
|
||||
group: monitoring.coreos.com
|
||||
names:
|
||||
categories:
|
||||
- prometheus-operator
|
||||
kind: Probe
|
||||
listKind: ProbeList
|
||||
plural: probes
|
||||
singular: probe
|
||||
scope: Namespaced
|
||||
versions:
|
||||
- name: v1
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
description: Probe defines monitoring for a set of static targets or ingresses.
|
||||
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: Specification of desired Ingress selection for target discovery
|
||||
by Prometheus.
|
||||
properties:
|
||||
authorization:
|
||||
description: Authorization section for this 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
|
||||
type:
|
||||
description: Set the authentication type. Defaults to Bearer,
|
||||
Basic will cause an error
|
||||
type: string
|
||||
type: object
|
||||
basicAuth:
|
||||
description: 'BasicAuth allow an endpoint to authenticate over basic
|
||||
authentication. More info: https://prometheus.io/docs/operating/configuration/#endpoint'
|
||||
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
|
||||
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
|
||||
type: object
|
||||
bearerTokenSecret:
|
||||
description: Secret to mount to read bearer token for scraping targets.
|
||||
The secret needs to be in the same namespace as the probe and accessible
|
||||
by the Prometheus Operator.
|
||||
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
|
||||
interval:
|
||||
description: Interval at which targets are probed using the configured
|
||||
prober. If not specified Prometheus' global scrape interval is used.
|
||||
type: string
|
||||
jobName:
|
||||
description: The job name assigned to scraped metrics by default.
|
||||
type: string
|
||||
labelLimit:
|
||||
description: Per-scrape limit on number of labels that will be accepted
|
||||
for a sample. Only valid in Prometheus versions 2.27.0 and newer.
|
||||
format: int64
|
||||
type: integer
|
||||
labelNameLengthLimit:
|
||||
description: 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.
|
||||
format: int64
|
||||
type: integer
|
||||
labelValueLengthLimit:
|
||||
description: 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.
|
||||
format: int64
|
||||
type: integer
|
||||
metricRelabelings:
|
||||
description: MetricRelabelConfigs to apply to samples before ingestion.
|
||||
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:
|
||||
description: Action to perform based on regex matching. Default
|
||||
is 'replace'
|
||||
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:
|
||||
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
|
||||
module:
|
||||
description: 'The module to use for probing specifying how to probe
|
||||
the target. Example module configuring in the blackbox exporter:
|
||||
https://github.com/prometheus/blackbox_exporter/blob/master/example.yml'
|
||||
type: string
|
||||
oauth2:
|
||||
description: OAuth2 for the URL. Only valid in Prometheus versions
|
||||
2.27.0 and newer.
|
||||
properties:
|
||||
clientId:
|
||||
description: The secret or configmap containing the OAuth2 client
|
||||
id
|
||||
properties:
|
||||
configMap:
|
||||
description: ConfigMap containing data to use for the targets.
|
||||
properties:
|
||||
key:
|
||||
description: The key to select.
|
||||
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 ConfigMap or its key
|
||||
must be defined
|
||||
type: boolean
|
||||
required:
|
||||
- key
|
||||
type: object
|
||||
secret:
|
||||
description: Secret containing data to use for the targets.
|
||||
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
|
||||
type: object
|
||||
clientSecret:
|
||||
description: The secret containing the OAuth2 client secret
|
||||
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
|
||||
endpointParams:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: Parameters to append to the token URL
|
||||
type: object
|
||||
scopes:
|
||||
description: OAuth2 scopes used for the token request
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
tokenUrl:
|
||||
description: The URL to fetch the token from
|
||||
minLength: 1
|
||||
type: string
|
||||
required:
|
||||
- clientId
|
||||
- clientSecret
|
||||
- tokenUrl
|
||||
type: object
|
||||
prober:
|
||||
description: Specification for the prober to use for probing targets.
|
||||
The prober.URL parameter is required. Targets cannot be probed if
|
||||
left empty.
|
||||
properties:
|
||||
path:
|
||||
description: Path to collect metrics from. Defaults to `/probe`.
|
||||
type: string
|
||||
proxyUrl:
|
||||
description: Optional ProxyURL.
|
||||
type: string
|
||||
scheme:
|
||||
description: HTTP scheme to use for scraping. Defaults to `http`.
|
||||
type: string
|
||||
url:
|
||||
description: Mandatory URL of the prober.
|
||||
type: string
|
||||
required:
|
||||
- url
|
||||
type: object
|
||||
sampleLimit:
|
||||
description: SampleLimit defines per-scrape limit on number of scraped
|
||||
samples that will be accepted.
|
||||
format: int64
|
||||
type: integer
|
||||
scrapeTimeout:
|
||||
description: Timeout for scraping metrics from the Prometheus exporter.
|
||||
type: string
|
||||
targetLimit:
|
||||
description: TargetLimit defines a limit on the number of scraped
|
||||
targets that will be accepted.
|
||||
format: int64
|
||||
type: integer
|
||||
targets:
|
||||
description: Targets defines a set of static and/or dynamically discovered
|
||||
targets to be probed using the prober.
|
||||
properties:
|
||||
ingress:
|
||||
description: Ingress defines the set of dynamically discovered
|
||||
ingress objects which hosts are considered for probing.
|
||||
properties:
|
||||
namespaceSelector:
|
||||
description: Select Ingress objects by namespace.
|
||||
properties:
|
||||
any:
|
||||
description: Boolean describing whether all namespaces
|
||||
are selected in contrast to a list restricting them.
|
||||
type: boolean
|
||||
matchNames:
|
||||
description: List of namespace names.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
type: object
|
||||
relabelingConfigs:
|
||||
description: 'RelabelConfigs to apply to samples before ingestion.
|
||||
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:
|
||||
description: Action to perform based on regex matching.
|
||||
Default is 'replace'
|
||||
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:
|
||||
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
|
||||
selector:
|
||||
description: Select Ingress objects by labels.
|
||||
properties:
|
||||
matchExpressions:
|
||||
description: matchExpressions is a list of label selector
|
||||
requirements. The requirements are ANDed.
|
||||
items:
|
||||
description: A label selector requirement is a selector
|
||||
that contains values, a key, and an operator that
|
||||
relates the key and values.
|
||||
properties:
|
||||
key:
|
||||
description: key is the label key that the selector
|
||||
applies to.
|
||||
type: string
|
||||
operator:
|
||||
description: operator represents a key's relationship
|
||||
to a set of values. Valid operators are In, NotIn,
|
||||
Exists and DoesNotExist.
|
||||
type: string
|
||||
values:
|
||||
description: values is an array of string values.
|
||||
If the operator is In or NotIn, the values array
|
||||
must be non-empty. If the operator is Exists or
|
||||
DoesNotExist, the values array must be empty.
|
||||
This array is replaced during a strategic merge
|
||||
patch.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
required:
|
||||
- key
|
||||
- operator
|
||||
type: object
|
||||
type: array
|
||||
matchLabels:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: matchLabels is a map of {key,value} pairs.
|
||||
A single {key,value} in the matchLabels map is equivalent
|
||||
to an element of matchExpressions, whose key field is
|
||||
"key", the operator is "In", and the values array contains
|
||||
only "value". The requirements are ANDed.
|
||||
type: object
|
||||
type: object
|
||||
type: object
|
||||
staticConfig:
|
||||
description: 'StaticConfig defines static targets which are considers
|
||||
for probing. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#static_config.'
|
||||
properties:
|
||||
labels:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: Labels assigned to all metrics scraped from the
|
||||
targets.
|
||||
type: object
|
||||
relabelingConfigs:
|
||||
description: 'RelabelConfigs to apply to samples before ingestion.
|
||||
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:
|
||||
description: Action to perform based on regex matching.
|
||||
Default is 'replace'
|
||||
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:
|
||||
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
|
||||
static:
|
||||
description: Targets is a list of URLs to probe using the
|
||||
configured prober.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
type: object
|
||||
type: object
|
||||
tlsConfig:
|
||||
description: TLS configuration to use when scraping the endpoint.
|
||||
properties:
|
||||
ca:
|
||||
description: Struct containing the CA cert to use for the targets.
|
||||
properties:
|
||||
configMap:
|
||||
description: ConfigMap containing data to use for the targets.
|
||||
properties:
|
||||
key:
|
||||
description: The key to select.
|
||||
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 ConfigMap or its key
|
||||
must be defined
|
||||
type: boolean
|
||||
required:
|
||||
- key
|
||||
type: object
|
||||
secret:
|
||||
description: Secret containing data to use for the targets.
|
||||
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
|
||||
type: object
|
||||
cert:
|
||||
description: Struct containing the client cert file for the targets.
|
||||
properties:
|
||||
configMap:
|
||||
description: ConfigMap containing data to use for the targets.
|
||||
properties:
|
||||
key:
|
||||
description: The key to select.
|
||||
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 ConfigMap or its key
|
||||
must be defined
|
||||
type: boolean
|
||||
required:
|
||||
- key
|
||||
type: object
|
||||
secret:
|
||||
description: Secret containing data to use for the targets.
|
||||
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
|
||||
type: object
|
||||
insecureSkipVerify:
|
||||
description: Disable target certificate validation.
|
||||
type: boolean
|
||||
keySecret:
|
||||
description: Secret containing the client key file for the targets.
|
||||
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
|
||||
serverName:
|
||||
description: Used to verify the hostname for the targets.
|
||||
type: string
|
||||
type: object
|
||||
type: object
|
||||
required:
|
||||
- spec
|
||||
type: object
|
||||
served: true
|
||||
storage: true
|
||||
status:
|
||||
acceptedNames:
|
||||
kind: ""
|
||||
plural: ""
|
||||
conditions: []
|
||||
storedVersions: []
|
File diff suppressed because it is too large
Load Diff
|
@ -1,103 +0,0 @@
|
|||
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.52.0/example/prometheus-operator-crd/monitoring.coreos.com_prometheusrules.yaml
|
||||
|
||||
---
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.6.2
|
||||
creationTimestamp: null
|
||||
name: prometheusrules.monitoring.coreos.com
|
||||
spec:
|
||||
group: monitoring.coreos.com
|
||||
names:
|
||||
categories:
|
||||
- prometheus-operator
|
||||
kind: PrometheusRule
|
||||
listKind: PrometheusRuleList
|
||||
plural: prometheusrules
|
||||
singular: prometheusrule
|
||||
scope: Namespaced
|
||||
versions:
|
||||
- name: v1
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
description: PrometheusRule defines recording and alerting rules for a Prometheus
|
||||
instance
|
||||
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: Specification of desired alerting rule definitions for Prometheus.
|
||||
properties:
|
||||
groups:
|
||||
description: Content of Prometheus rule file
|
||||
items:
|
||||
description: 'RuleGroup is a list of sequentially evaluated recording
|
||||
and alerting rules. Note: PartialResponseStrategy is only used
|
||||
by ThanosRuler and will be ignored by Prometheus instances. Valid
|
||||
values for this field are ''warn'' or ''abort''. More info: https://github.com/thanos-io/thanos/blob/master/docs/components/rule.md#partial-response'
|
||||
properties:
|
||||
interval:
|
||||
type: string
|
||||
name:
|
||||
type: string
|
||||
partial_response_strategy:
|
||||
type: string
|
||||
rules:
|
||||
items:
|
||||
description: 'Rule describes an alerting or recording rule
|
||||
See Prometheus documentation: [alerting](https://www.prometheus.io/docs/prometheus/latest/configuration/alerting_rules/)
|
||||
or [recording](https://www.prometheus.io/docs/prometheus/latest/configuration/recording_rules/#recording-rules)
|
||||
rule'
|
||||
properties:
|
||||
alert:
|
||||
type: string
|
||||
annotations:
|
||||
additionalProperties:
|
||||
type: string
|
||||
type: object
|
||||
expr:
|
||||
anyOf:
|
||||
- type: integer
|
||||
- type: string
|
||||
x-kubernetes-int-or-string: true
|
||||
for:
|
||||
type: string
|
||||
labels:
|
||||
additionalProperties:
|
||||
type: string
|
||||
type: object
|
||||
record:
|
||||
type: string
|
||||
required:
|
||||
- expr
|
||||
type: object
|
||||
type: array
|
||||
required:
|
||||
- name
|
||||
- rules
|
||||
type: object
|
||||
type: array
|
||||
type: object
|
||||
required:
|
||||
- spec
|
||||
type: object
|
||||
served: true
|
||||
storage: true
|
||||
status:
|
||||
acceptedNames:
|
||||
kind: ""
|
||||
plural: ""
|
||||
conditions: []
|
||||
storedVersions: []
|
|
@ -1,610 +0,0 @@
|
|||
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.52.0/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml
|
||||
|
||||
---
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.6.2
|
||||
creationTimestamp: null
|
||||
name: servicemonitors.monitoring.coreos.com
|
||||
spec:
|
||||
group: monitoring.coreos.com
|
||||
names:
|
||||
categories:
|
||||
- prometheus-operator
|
||||
kind: ServiceMonitor
|
||||
listKind: ServiceMonitorList
|
||||
plural: servicemonitors
|
||||
singular: servicemonitor
|
||||
scope: Namespaced
|
||||
versions:
|
||||
- name: v1
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
description: ServiceMonitor defines monitoring for a set of services.
|
||||
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: Specification of desired Service selection for target discovery
|
||||
by Prometheus.
|
||||
properties:
|
||||
endpoints:
|
||||
description: A list of endpoints allowed as part of this ServiceMonitor.
|
||||
items:
|
||||
description: Endpoint defines a scrapeable endpoint serving Prometheus
|
||||
metrics.
|
||||
properties:
|
||||
authorization:
|
||||
description: Authorization section for this 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
|
||||
type:
|
||||
description: Set the authentication type. Defaults to Bearer,
|
||||
Basic will cause an error
|
||||
type: string
|
||||
type: object
|
||||
basicAuth:
|
||||
description: 'BasicAuth allow an endpoint to authenticate over
|
||||
basic authentication 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
|
||||
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
|
||||
type: object
|
||||
bearerTokenFile:
|
||||
description: File to read bearer token for scraping targets.
|
||||
type: string
|
||||
bearerTokenSecret:
|
||||
description: Secret to mount to read bearer token for scraping
|
||||
targets. The secret needs to be in the same namespace as the
|
||||
service monitor and accessible by the Prometheus Operator.
|
||||
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
|
||||
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
|
||||
interval:
|
||||
description: Interval at which metrics should be scraped
|
||||
type: string
|
||||
metricRelabelings:
|
||||
description: MetricRelabelConfigs to apply to samples before
|
||||
ingestion.
|
||||
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:
|
||||
description: Action to perform based on regex matching.
|
||||
Default is 'replace'
|
||||
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:
|
||||
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
|
||||
oauth2:
|
||||
description: OAuth2 for the URL. Only valid in Prometheus versions
|
||||
2.27.0 and newer.
|
||||
properties:
|
||||
clientId:
|
||||
description: The secret or configmap containing the OAuth2
|
||||
client id
|
||||
properties:
|
||||
configMap:
|
||||
description: ConfigMap containing data to use for the
|
||||
targets.
|
||||
properties:
|
||||
key:
|
||||
description: The key to select.
|
||||
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 ConfigMap or its
|
||||
key must be defined
|
||||
type: boolean
|
||||
required:
|
||||
- key
|
||||
type: object
|
||||
secret:
|
||||
description: Secret containing data to use for the targets.
|
||||
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
|
||||
type: object
|
||||
clientSecret:
|
||||
description: The secret containing the OAuth2 client secret
|
||||
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
|
||||
endpointParams:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: Parameters to append to the token URL
|
||||
type: object
|
||||
scopes:
|
||||
description: OAuth2 scopes used for the token request
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
tokenUrl:
|
||||
description: The URL to fetch the token from
|
||||
minLength: 1
|
||||
type: string
|
||||
required:
|
||||
- clientId
|
||||
- clientSecret
|
||||
- tokenUrl
|
||||
type: object
|
||||
params:
|
||||
additionalProperties:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
description: Optional HTTP URL parameters
|
||||
type: object
|
||||
path:
|
||||
description: HTTP path to scrape for metrics.
|
||||
type: string
|
||||
port:
|
||||
description: Name of the service port this endpoint refers to.
|
||||
Mutually exclusive with targetPort.
|
||||
type: string
|
||||
proxyUrl:
|
||||
description: ProxyURL eg http://proxyserver:2195 Directs scrapes
|
||||
to proxy through this endpoint.
|
||||
type: string
|
||||
relabelings:
|
||||
description: 'RelabelConfigs to apply to samples before scraping.
|
||||
Prometheus Operator automatically adds relabelings for a few
|
||||
standard Kubernetes fields and replaces original scrape job
|
||||
name with __tmp_prometheus_job_name. 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:
|
||||
description: Action to perform based on regex matching.
|
||||
Default is 'replace'
|
||||
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:
|
||||
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
|
||||
scheme:
|
||||
description: HTTP scheme to use for scraping.
|
||||
type: string
|
||||
scrapeTimeout:
|
||||
description: Timeout after which the scrape is ended
|
||||
type: string
|
||||
targetPort:
|
||||
anyOf:
|
||||
- type: integer
|
||||
- type: string
|
||||
description: Name or number of the target port of the Pod behind
|
||||
the Service, the port must be specified with container port
|
||||
property. Mutually exclusive with port.
|
||||
x-kubernetes-int-or-string: true
|
||||
tlsConfig:
|
||||
description: TLS configuration to use when scraping the endpoint
|
||||
properties:
|
||||
ca:
|
||||
description: Struct containing the CA cert to use for the
|
||||
targets.
|
||||
properties:
|
||||
configMap:
|
||||
description: ConfigMap containing data to use for the
|
||||
targets.
|
||||
properties:
|
||||
key:
|
||||
description: The key to select.
|
||||
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 ConfigMap or its
|
||||
key must be defined
|
||||
type: boolean
|
||||
required:
|
||||
- key
|
||||
type: object
|
||||
secret:
|
||||
description: Secret containing data to use for the targets.
|
||||
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
|
||||
type: object
|
||||
caFile:
|
||||
description: Path to the CA cert in the Prometheus container
|
||||
to use for the targets.
|
||||
type: string
|
||||
cert:
|
||||
description: Struct containing the client cert file for
|
||||
the targets.
|
||||
properties:
|
||||
configMap:
|
||||
description: ConfigMap containing data to use for the
|
||||
targets.
|
||||
properties:
|
||||
key:
|
||||
description: The key to select.
|
||||
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 ConfigMap or its
|
||||
key must be defined
|
||||
type: boolean
|
||||
required:
|
||||
- key
|
||||
type: object
|
||||
secret:
|
||||
description: Secret containing data to use for the targets.
|
||||
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
|
||||
type: object
|
||||
certFile:
|
||||
description: Path to the client cert file in the Prometheus
|
||||
container for the targets.
|
||||
type: string
|
||||
insecureSkipVerify:
|
||||
description: Disable target certificate validation.
|
||||
type: boolean
|
||||
keyFile:
|
||||
description: Path to the client key file in the Prometheus
|
||||
container for the targets.
|
||||
type: string
|
||||
keySecret:
|
||||
description: Secret containing the client key file for the
|
||||
targets.
|
||||
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
|
||||
serverName:
|
||||
description: Used to verify the hostname for the targets.
|
||||
type: string
|
||||
type: object
|
||||
type: object
|
||||
type: array
|
||||
jobLabel:
|
||||
description: "Chooses the label of the Kubernetes `Endpoints`. Its
|
||||
value will be used for the `job`-label's value of the created metrics.
|
||||
\n Default & fallback value: the name of the respective Kubernetes
|
||||
`Endpoint`."
|
||||
type: string
|
||||
labelLimit:
|
||||
description: Per-scrape limit on number of labels that will be accepted
|
||||
for a sample. Only valid in Prometheus versions 2.27.0 and newer.
|
||||
format: int64
|
||||
type: integer
|
||||
labelNameLengthLimit:
|
||||
description: 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.
|
||||
format: int64
|
||||
type: integer
|
||||
labelValueLengthLimit:
|
||||
description: 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.
|
||||
format: int64
|
||||
type: integer
|
||||
namespaceSelector:
|
||||
description: Selector to select which namespaces the Kubernetes Endpoints
|
||||
objects are discovered from.
|
||||
properties:
|
||||
any:
|
||||
description: Boolean describing whether all namespaces are selected
|
||||
in contrast to a list restricting them.
|
||||
type: boolean
|
||||
matchNames:
|
||||
description: List of namespace names.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
type: object
|
||||
podTargetLabels:
|
||||
description: PodTargetLabels transfers labels on the Kubernetes `Pod`
|
||||
onto the created metrics.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
sampleLimit:
|
||||
description: SampleLimit defines per-scrape limit on number of scraped
|
||||
samples that will be accepted.
|
||||
format: int64
|
||||
type: integer
|
||||
selector:
|
||||
description: Selector to select Endpoints objects.
|
||||
properties:
|
||||
matchExpressions:
|
||||
description: matchExpressions is a list of label selector requirements.
|
||||
The requirements are ANDed.
|
||||
items:
|
||||
description: A label selector requirement is a selector that
|
||||
contains values, a key, and an operator that relates the key
|
||||
and values.
|
||||
properties:
|
||||
key:
|
||||
description: key is the label key that the selector applies
|
||||
to.
|
||||
type: string
|
||||
operator:
|
||||
description: operator represents a key's relationship to
|
||||
a set of values. Valid operators are In, NotIn, Exists
|
||||
and DoesNotExist.
|
||||
type: string
|
||||
values:
|
||||
description: values is an array of string values. If the
|
||||
operator is In or NotIn, the values array must be non-empty.
|
||||
If the operator is Exists or DoesNotExist, the values
|
||||
array must be empty. This array is replaced during a strategic
|
||||
merge patch.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
required:
|
||||
- key
|
||||
- operator
|
||||
type: object
|
||||
type: array
|
||||
matchLabels:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: matchLabels is a map of {key,value} pairs. A single
|
||||
{key,value} in the matchLabels map is equivalent to an element
|
||||
of matchExpressions, whose key field is "key", the operator
|
||||
is "In", and the values array contains only "value". The requirements
|
||||
are ANDed.
|
||||
type: object
|
||||
type: object
|
||||
targetLabels:
|
||||
description: TargetLabels transfers labels from the Kubernetes `Service`
|
||||
onto the created metrics. All labels set in `selector.matchLabels`
|
||||
are automatically transferred.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
targetLimit:
|
||||
description: TargetLimit defines a limit on the number of scraped
|
||||
targets that will be accepted.
|
||||
format: int64
|
||||
type: integer
|
||||
required:
|
||||
- endpoints
|
||||
- selector
|
||||
type: object
|
||||
required:
|
||||
- spec
|
||||
type: object
|
||||
served: true
|
||||
storage: true
|
||||
status:
|
||||
acceptedNames:
|
||||
kind: ""
|
||||
plural: ""
|
||||
conditions: []
|
||||
storedVersions: []
|
File diff suppressed because it is too large
Load Diff
|
@ -1,351 +0,0 @@
|
|||
# Default Helm-Values
|
||||
|
||||
TrueCharts is primarily build to supply TrueNAS SCALE Apps.
|
||||
However, we also supply all Apps as standard Helm-Charts. In this document we aim to document the default values in our values.yaml file.
|
||||
|
||||
Most of our Apps also consume our "common" Helm Chart.
|
||||
If this is the case, this means that all values.yaml values are set to the common chart values.yaml by default. This values.yaml file will only contain values that deviate from the common chart.
|
||||
You will, however, be able to use all values referenced in the common chart here, besides the values listed in this document.
|
||||
|
||||
## Values
|
||||
|
||||
| Key | Type | Default | Description |
|
||||
|-----|------|---------|-------------|
|
||||
| alertmanager.additionalPeers | list | `[]` | |
|
||||
| alertmanager.affinity | object | `{}` | |
|
||||
| alertmanager.config.global.resolve_timeout | string | `"5m"` | |
|
||||
| alertmanager.config.receivers[0].name | string | `"null"` | |
|
||||
| alertmanager.config.route.group_by[0] | string | `"job"` | |
|
||||
| alertmanager.config.route.group_interval | string | `"5m"` | |
|
||||
| alertmanager.config.route.group_wait | string | `"30s"` | |
|
||||
| alertmanager.config.route.receiver | string | `"null"` | |
|
||||
| alertmanager.config.route.repeat_interval | string | `"12h"` | |
|
||||
| alertmanager.config.route.routes[0].match.alertname | string | `"Watchdog"` | |
|
||||
| alertmanager.config.route.routes[0].receiver | string | `"null"` | |
|
||||
| alertmanager.configMaps | list | `[]` | |
|
||||
| alertmanager.configNamespaceSelector | object | `{}` | |
|
||||
| alertmanager.configSelector | object | `{}` | |
|
||||
| alertmanager.containerSecurityContext.allowPrivilegeEscalation | bool | `false` | |
|
||||
| alertmanager.containerSecurityContext.capabilities.drop[0] | string | `"ALL"` | |
|
||||
| alertmanager.containerSecurityContext.enabled | bool | `true` | |
|
||||
| alertmanager.containerSecurityContext.readOnlyRootFilesystem | bool | `false` | |
|
||||
| alertmanager.containerSecurityContext.runAsNonRoot | bool | `true` | |
|
||||
| alertmanager.containers | list | `[]` | |
|
||||
| alertmanager.enabled | bool | `true` | |
|
||||
| alertmanager.externalConfig | bool | `false` | |
|
||||
| alertmanager.externalUrl | string | `""` | |
|
||||
| alertmanager.listenLocal | bool | `false` | |
|
||||
| alertmanager.livenessProbe.enabled | bool | `true` | |
|
||||
| alertmanager.livenessProbe.failureThreshold | int | `120` | |
|
||||
| alertmanager.livenessProbe.initialDelaySeconds | int | `0` | |
|
||||
| alertmanager.livenessProbe.path | string | `"/-/healthy"` | |
|
||||
| alertmanager.livenessProbe.periodSeconds | int | `5` | |
|
||||
| alertmanager.livenessProbe.successThreshold | int | `1` | |
|
||||
| alertmanager.livenessProbe.timeoutSeconds | int | `3` | |
|
||||
| alertmanager.logFormat | string | `"logfmt"` | |
|
||||
| alertmanager.logLevel | string | `"info"` | |
|
||||
| alertmanager.nodeAffinityPreset.key | string | `""` | |
|
||||
| alertmanager.nodeAffinityPreset.type | string | `""` | |
|
||||
| alertmanager.nodeAffinityPreset.values | list | `[]` | |
|
||||
| alertmanager.nodeSelector | object | `{}` | |
|
||||
| alertmanager.paused | bool | `false` | |
|
||||
| alertmanager.persistence.accessModes[0] | string | `"ReadWriteOnce"` | |
|
||||
| alertmanager.persistence.enabled | bool | `true` | |
|
||||
| alertmanager.persistence.size | string | `"999Gi"` | |
|
||||
| alertmanager.persistence.storageClass | string | `""` | |
|
||||
| alertmanager.podAffinityPreset | string | `""` | |
|
||||
| alertmanager.podAntiAffinityPreset | string | `"soft"` | |
|
||||
| alertmanager.podDisruptionBudget.enabled | bool | `false` | |
|
||||
| alertmanager.podDisruptionBudget.maxUnavailable | string | `""` | |
|
||||
| alertmanager.podDisruptionBudget.minAvailable | int | `1` | |
|
||||
| alertmanager.podMetadata.annotations | object | `{}` | |
|
||||
| alertmanager.podMetadata.labels | object | `{}` | |
|
||||
| alertmanager.podSecurityContext.enabled | bool | `true` | |
|
||||
| alertmanager.podSecurityContext.fsGroup | int | `1001` | |
|
||||
| alertmanager.podSecurityContext.runAsUser | int | `1001` | |
|
||||
| alertmanager.portName | string | `"alertmanager"` | |
|
||||
| alertmanager.priorityClassName | string | `""` | |
|
||||
| alertmanager.readinessProbe.enabled | bool | `true` | |
|
||||
| alertmanager.readinessProbe.failureThreshold | int | `120` | |
|
||||
| alertmanager.readinessProbe.initialDelaySeconds | int | `0` | |
|
||||
| alertmanager.readinessProbe.path | string | `"/-/ready"` | |
|
||||
| alertmanager.readinessProbe.periodSeconds | int | `5` | |
|
||||
| alertmanager.readinessProbe.successThreshold | int | `1` | |
|
||||
| alertmanager.readinessProbe.timeoutSeconds | int | `3` | |
|
||||
| alertmanager.replicaCount | int | `1` | |
|
||||
| alertmanager.resources | object | `{}` | |
|
||||
| alertmanager.retention | string | `"120h"` | |
|
||||
| alertmanager.routePrefix | string | `"/"` | |
|
||||
| alertmanager.secrets | list | `[]` | |
|
||||
| alertmanager.serviceAccount.create | bool | `true` | |
|
||||
| alertmanager.serviceAccount.name | string | `""` | |
|
||||
| alertmanager.serviceMonitor.enabled | bool | `true` | |
|
||||
| alertmanager.serviceMonitor.interval | string | `""` | |
|
||||
| alertmanager.serviceMonitor.metricRelabelings | list | `[]` | |
|
||||
| alertmanager.serviceMonitor.relabelings | list | `[]` | |
|
||||
| alertmanager.storageSpec | object | `{}` | |
|
||||
| alertmanager.tolerations | list | `[]` | |
|
||||
| alertmanager.volumeMounts | list | `[]` | |
|
||||
| alertmanager.volumes | list | `[]` | |
|
||||
| alertmanagerImage.repository | string | `"bitnami/alertmanager"` | |
|
||||
| alertmanagerImage.tag | string | `"0.23.0"` | |
|
||||
| coreDns.enabled | bool | `true` | |
|
||||
| coreDns.namespace | string | `"kube-system"` | |
|
||||
| coreDns.service.enabled | bool | `true` | |
|
||||
| coreDns.service.port | int | `9153` | |
|
||||
| coreDns.service.selector | object | `{}` | |
|
||||
| coreDns.service.targetPort | int | `9153` | |
|
||||
| coreDns.serviceMonitor.interval | string | `""` | |
|
||||
| coreDns.serviceMonitor.metricRelabelings | list | `[]` | |
|
||||
| coreDns.serviceMonitor.relabelings | list | `[]` | |
|
||||
| envValueFrom.PROMETHEUS_CONFIG_RELOADER.configMapKeyRef.key | string | `"prometheus-config-reloader"` | |
|
||||
| envValueFrom.PROMETHEUS_CONFIG_RELOADER.configMapKeyRef.name | string | `"prometheus-operator-config"` | |
|
||||
| exporters.kube-state-metrics.enabled | bool | `true` | |
|
||||
| exporters.node-exporter.enabled | bool | `true` | |
|
||||
| global.labels | object | `{}` | |
|
||||
| image.repository | string | `"bitnami/prometheus-operator"` | |
|
||||
| image.tag | string | `"0.52.1"` | |
|
||||
| ingress.alertmanager.enabled | bool | `false` | |
|
||||
| ingress.main.enabled | bool | `false` | |
|
||||
| ingress.thanos.enabled | bool | `false` | |
|
||||
| kube-state-metrics.serviceMonitor.enabled | bool | `true` | |
|
||||
| kube-state-metrics.serviceMonitor.honorLabels | bool | `true` | |
|
||||
| kubeApiServer.enabled | bool | `true` | |
|
||||
| kubeApiServer.serviceMonitor.interval | string | `""` | |
|
||||
| kubeApiServer.serviceMonitor.metricRelabelings | list | `[]` | |
|
||||
| kubeApiServer.serviceMonitor.relabelings | list | `[]` | |
|
||||
| kubeControllerManager.enabled | bool | `false` | |
|
||||
| kubeControllerManager.endpoints | list | `[]` | |
|
||||
| kubeControllerManager.namespace | string | `"kube-system"` | |
|
||||
| kubeControllerManager.service.enabled | bool | `true` | |
|
||||
| kubeControllerManager.service.port | int | `10252` | |
|
||||
| kubeControllerManager.service.selector | object | `{}` | |
|
||||
| kubeControllerManager.service.targetPort | int | `10252` | |
|
||||
| kubeControllerManager.serviceMonitor.https | bool | `false` | |
|
||||
| kubeControllerManager.serviceMonitor.insecureSkipVerify | string | `""` | |
|
||||
| kubeControllerManager.serviceMonitor.interval | string | `""` | |
|
||||
| kubeControllerManager.serviceMonitor.metricRelabelings | list | `[]` | |
|
||||
| kubeControllerManager.serviceMonitor.relabelings | list | `[]` | |
|
||||
| kubeControllerManager.serviceMonitor.serverName | string | `""` | |
|
||||
| kubeProxy.enabled | bool | `false` | |
|
||||
| kubeScheduler.enabled | bool | `false` | |
|
||||
| kubeScheduler.endpoints | list | `[]` | |
|
||||
| kubeScheduler.namespace | string | `"kube-system"` | |
|
||||
| kubeScheduler.service.enabled | bool | `true` | |
|
||||
| kubeScheduler.service.port | int | `10251` | |
|
||||
| kubeScheduler.service.selector | object | `{}` | |
|
||||
| kubeScheduler.service.targetPort | int | `10251` | |
|
||||
| kubeScheduler.serviceMonitor.https | bool | `false` | |
|
||||
| kubeScheduler.serviceMonitor.insecureSkipVerify | string | `""` | |
|
||||
| kubeScheduler.serviceMonitor.interval | string | `""` | |
|
||||
| kubeScheduler.serviceMonitor.metricRelabelings | list | `[]` | |
|
||||
| kubeScheduler.serviceMonitor.relabelings | list | `[]` | |
|
||||
| kubeScheduler.serviceMonitor.serverName | string | `""` | |
|
||||
| kubelet.enabled | bool | `true` | |
|
||||
| kubelet.namespace | string | `"kube-system"` | |
|
||||
| kubelet.serviceMonitor.cAdvisorMetricRelabelings | list | `[]` | |
|
||||
| kubelet.serviceMonitor.cAdvisorRelabelings | list | `[]` | |
|
||||
| kubelet.serviceMonitor.https | bool | `true` | |
|
||||
| kubelet.serviceMonitor.interval | string | `""` | |
|
||||
| kubelet.serviceMonitor.metricRelabelings | list | `[]` | |
|
||||
| kubelet.serviceMonitor.relabelings | list | `[]` | |
|
||||
| node-exporter.extraArgs."collector.filesystem.ignored-fs-types" | string | `"^(autofs|binfmt_misc|cgroup|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|mqueue|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|sysfs|tracefs)$"` | |
|
||||
| node-exporter.extraArgs."collector.filesystem.ignored-mount-points" | string | `"^/(dev|proc|sys|var/lib/docker/.+)($|/)"` | |
|
||||
| node-exporter.service.labels.jobLabel | string | `"node-exporter"` | |
|
||||
| node-exporter.serviceMonitor.enabled | bool | `true` | |
|
||||
| node-exporter.serviceMonitor.jobLabel | string | `"jobLabel"` | |
|
||||
| operator.configReloaderResources | object | `{}` | |
|
||||
| operator.enabled | bool | `true` | |
|
||||
| operator.kubeletService.enabled | bool | `true` | |
|
||||
| operator.kubeletService.namespace | string | `"kube-system"` | |
|
||||
| operator.logFormat | string | `"logfmt"` | |
|
||||
| operator.logLevel | string | `"info"` | |
|
||||
| operator.prometheusConfigReloader.containerSecurityContext.allowPrivilegeEscalation | bool | `false` | |
|
||||
| operator.prometheusConfigReloader.containerSecurityContext.capabilities.drop[0] | string | `"ALL"` | |
|
||||
| operator.prometheusConfigReloader.containerSecurityContext.enabled | bool | `true` | |
|
||||
| operator.prometheusConfigReloader.containerSecurityContext.readOnlyRootFilesystem | bool | `false` | |
|
||||
| operator.prometheusConfigReloader.containerSecurityContext.runAsNonRoot | bool | `true` | |
|
||||
| operator.prometheusConfigReloader.livenessProbe.enabled | bool | `true` | |
|
||||
| operator.prometheusConfigReloader.livenessProbe.failureThreshold | int | `6` | |
|
||||
| operator.prometheusConfigReloader.livenessProbe.initialDelaySeconds | int | `10` | |
|
||||
| operator.prometheusConfigReloader.livenessProbe.periodSeconds | int | `10` | |
|
||||
| operator.prometheusConfigReloader.livenessProbe.successThreshold | int | `1` | |
|
||||
| operator.prometheusConfigReloader.livenessProbe.timeoutSeconds | int | `5` | |
|
||||
| operator.prometheusConfigReloader.readinessProbe.enabled | bool | `true` | |
|
||||
| operator.prometheusConfigReloader.readinessProbe.failureThreshold | int | `6` | |
|
||||
| operator.prometheusConfigReloader.readinessProbe.initialDelaySeconds | int | `15` | |
|
||||
| operator.prometheusConfigReloader.readinessProbe.periodSeconds | int | `20` | |
|
||||
| operator.prometheusConfigReloader.readinessProbe.successThreshold | int | `1` | |
|
||||
| operator.prometheusConfigReloader.readinessProbe.timeoutSeconds | int | `5` | |
|
||||
| operator.serviceMonitor.enabled | bool | `true` | |
|
||||
| operator.serviceMonitor.interval | string | `""` | |
|
||||
| operator.serviceMonitor.metricRelabelings | list | `[]` | |
|
||||
| operator.serviceMonitor.relabelings | list | `[]` | |
|
||||
| probes.liveness | object | See below | Liveness probe configuration |
|
||||
| probes.readiness | object | See below | Redainess probe configuration |
|
||||
| probes.startup | object | See below | Startup probe configuration |
|
||||
| prometheus.additionalAlertRelabelConfigsExternal.enabled | bool | `false` | |
|
||||
| prometheus.additionalAlertRelabelConfigsExternal.key | string | `""` | |
|
||||
| prometheus.additionalAlertRelabelConfigsExternal.name | string | `""` | |
|
||||
| prometheus.additionalPrometheusRules | list | `[]` | |
|
||||
| prometheus.additionalScrapeConfigs.enabled | bool | `false` | |
|
||||
| prometheus.additionalScrapeConfigs.external.key | string | `""` | |
|
||||
| prometheus.additionalScrapeConfigs.external.name | string | `""` | |
|
||||
| prometheus.additionalScrapeConfigs.internal.jobList | list | `[]` | |
|
||||
| prometheus.additionalScrapeConfigs.type | string | `"external"` | |
|
||||
| prometheus.additionalScrapeConfigsExternal.enabled | bool | `false` | |
|
||||
| prometheus.additionalScrapeConfigsExternal.key | string | `""` | |
|
||||
| prometheus.additionalScrapeConfigsExternal.name | string | `""` | |
|
||||
| prometheus.affinity | object | `{}` | |
|
||||
| prometheus.alertingEndpoints | list | `[]` | |
|
||||
| prometheus.configMaps | list | `[]` | |
|
||||
| prometheus.containerSecurityContext.allowPrivilegeEscalation | bool | `false` | |
|
||||
| prometheus.containerSecurityContext.capabilities.drop[0] | string | `"ALL"` | |
|
||||
| prometheus.containerSecurityContext.enabled | bool | `true` | |
|
||||
| prometheus.containerSecurityContext.readOnlyRootFilesystem | bool | `false` | |
|
||||
| prometheus.containerSecurityContext.runAsNonRoot | bool | `true` | |
|
||||
| prometheus.containers | list | `[]` | |
|
||||
| prometheus.disableCompaction | bool | `false` | |
|
||||
| prometheus.enableAdminAPI | bool | `false` | |
|
||||
| prometheus.enableFeatures | list | `[]` | |
|
||||
| prometheus.enabled | bool | `true` | |
|
||||
| prometheus.evaluationInterval | string | `""` | |
|
||||
| prometheus.externalLabels | object | `{}` | |
|
||||
| prometheus.externalUrl | string | `""` | |
|
||||
| prometheus.listenLocal | bool | `false` | |
|
||||
| prometheus.livenessProbe.enabled | bool | `true` | |
|
||||
| prometheus.livenessProbe.failureThreshold | int | `10` | |
|
||||
| prometheus.livenessProbe.initialDelaySeconds | int | `0` | |
|
||||
| prometheus.livenessProbe.path | string | `"/-/healthy"` | |
|
||||
| prometheus.livenessProbe.periodSeconds | int | `10` | |
|
||||
| prometheus.livenessProbe.successThreshold | int | `1` | |
|
||||
| prometheus.livenessProbe.timeoutSeconds | int | `3` | |
|
||||
| prometheus.logFormat | string | `"logfmt"` | |
|
||||
| prometheus.logLevel | string | `"info"` | |
|
||||
| prometheus.matchLabels | object | `{}` | |
|
||||
| prometheus.nodeAffinityPreset.key | string | `""` | |
|
||||
| prometheus.nodeAffinityPreset.type | string | `""` | |
|
||||
| prometheus.nodeAffinityPreset.values | list | `[]` | |
|
||||
| prometheus.nodeSelector | object | `{}` | |
|
||||
| prometheus.paused | bool | `false` | |
|
||||
| prometheus.persistence.accessModes[0] | string | `"ReadWriteOnce"` | |
|
||||
| prometheus.persistence.enabled | bool | `true` | |
|
||||
| prometheus.persistence.size | string | `"999Gi"` | |
|
||||
| prometheus.persistence.storageClass | string | `""` | |
|
||||
| prometheus.podAffinityPreset | string | `""` | |
|
||||
| prometheus.podAntiAffinityPreset | string | `"soft"` | |
|
||||
| prometheus.podMetadata.annotations | object | `{}` | |
|
||||
| prometheus.podMetadata.labels | object | `{}` | |
|
||||
| prometheus.podMonitorNamespaceSelector | object | `{}` | |
|
||||
| prometheus.podMonitorSelector | object | `{}` | |
|
||||
| prometheus.podSecurityContext.enabled | bool | `true` | |
|
||||
| prometheus.podSecurityContext.fsGroup | int | `1001` | |
|
||||
| prometheus.podSecurityContext.runAsUser | int | `1001` | |
|
||||
| prometheus.portName | string | `"main"` | |
|
||||
| prometheus.priorityClassName | string | `""` | |
|
||||
| prometheus.probeNamespaceSelector | object | `{}` | |
|
||||
| prometheus.probeSelector | object | `{}` | |
|
||||
| prometheus.prometheusExternalLabelName | string | `""` | |
|
||||
| prometheus.prometheusExternalLabelNameClear | bool | `false` | |
|
||||
| prometheus.querySpec | object | `{}` | |
|
||||
| prometheus.readinessProbe.enabled | bool | `true` | |
|
||||
| prometheus.readinessProbe.failureThreshold | int | `10` | |
|
||||
| prometheus.readinessProbe.initialDelaySeconds | int | `0` | |
|
||||
| prometheus.readinessProbe.path | string | `"/-/ready"` | |
|
||||
| prometheus.readinessProbe.periodSeconds | int | `10` | |
|
||||
| prometheus.readinessProbe.successThreshold | int | `1` | |
|
||||
| prometheus.readinessProbe.timeoutSeconds | int | `3` | |
|
||||
| prometheus.remoteRead | list | `[]` | |
|
||||
| prometheus.remoteWrite | list | `[]` | |
|
||||
| prometheus.replicaCount | int | `1` | |
|
||||
| prometheus.replicaExternalLabelName | string | `""` | |
|
||||
| prometheus.replicaExternalLabelNameClear | bool | `false` | |
|
||||
| prometheus.resources | object | `{}` | |
|
||||
| prometheus.retention | string | `"10d"` | |
|
||||
| prometheus.retentionSize | string | `""` | |
|
||||
| prometheus.routePrefix | string | `"/"` | |
|
||||
| prometheus.ruleNamespaceSelector | object | `{}` | |
|
||||
| prometheus.ruleSelector | object | `{}` | |
|
||||
| prometheus.scrapeInterval | string | `""` | |
|
||||
| prometheus.secrets | list | `[]` | |
|
||||
| prometheus.serviceAccount.annotations | object | `{}` | |
|
||||
| prometheus.serviceAccount.create | bool | `true` | |
|
||||
| prometheus.serviceAccount.name | string | `""` | |
|
||||
| prometheus.serviceMonitor.enabled | bool | `true` | |
|
||||
| prometheus.serviceMonitor.interval | string | `""` | |
|
||||
| prometheus.serviceMonitor.metricRelabelings | list | `[]` | |
|
||||
| prometheus.serviceMonitor.relabelings | list | `[]` | |
|
||||
| prometheus.serviceMonitorNamespaceSelector | object | `{}` | |
|
||||
| prometheus.serviceMonitorSelector | object | `{}` | |
|
||||
| prometheus.storageSpec | object | `{}` | |
|
||||
| prometheus.thanos.containerSecurityContext.allowPrivilegeEscalation | bool | `false` | |
|
||||
| prometheus.thanos.containerSecurityContext.capabilities.drop[0] | string | `"ALL"` | |
|
||||
| prometheus.thanos.containerSecurityContext.enabled | bool | `true` | |
|
||||
| prometheus.thanos.containerSecurityContext.readOnlyRootFilesystem | bool | `false` | |
|
||||
| prometheus.thanos.containerSecurityContext.runAsNonRoot | bool | `true` | |
|
||||
| prometheus.thanos.create | bool | `false` | |
|
||||
| prometheus.thanos.extraArgs | list | `[]` | |
|
||||
| prometheus.thanos.extraVolumeMounts | list | `[]` | |
|
||||
| prometheus.thanos.livenessProbe.enabled | bool | `true` | |
|
||||
| prometheus.thanos.livenessProbe.failureThreshold | int | `120` | |
|
||||
| prometheus.thanos.livenessProbe.initialDelaySeconds | int | `0` | |
|
||||
| prometheus.thanos.livenessProbe.path | string | `"/-/healthy"` | |
|
||||
| prometheus.thanos.livenessProbe.periodSeconds | int | `5` | |
|
||||
| prometheus.thanos.livenessProbe.successThreshold | int | `1` | |
|
||||
| prometheus.thanos.livenessProbe.timeoutSeconds | int | `3` | |
|
||||
| prometheus.thanos.objectStorageConfig | object | `{}` | |
|
||||
| prometheus.thanos.prometheusUrl | string | `""` | |
|
||||
| prometheus.thanos.readinessProbe.enabled | bool | `true` | |
|
||||
| prometheus.thanos.readinessProbe.failureThreshold | int | `120` | |
|
||||
| prometheus.thanos.readinessProbe.initialDelaySeconds | int | `0` | |
|
||||
| prometheus.thanos.readinessProbe.path | string | `"/-/ready"` | |
|
||||
| prometheus.thanos.readinessProbe.periodSeconds | int | `5` | |
|
||||
| prometheus.thanos.readinessProbe.successThreshold | int | `1` | |
|
||||
| prometheus.thanos.readinessProbe.timeoutSeconds | int | `3` | |
|
||||
| prometheus.thanos.resources.limits | object | `{}` | |
|
||||
| prometheus.thanos.resources.requests | object | `{}` | |
|
||||
| prometheus.thanos.service.annotations | object | `{}` | |
|
||||
| prometheus.thanos.service.clusterIP | string | `"None"` | |
|
||||
| prometheus.thanos.service.extraPorts | list | `[]` | |
|
||||
| prometheus.thanos.service.loadBalancerIP | string | `""` | |
|
||||
| prometheus.thanos.service.loadBalancerSourceRanges | list | `[]` | |
|
||||
| prometheus.thanos.service.nodePort | string | `""` | |
|
||||
| prometheus.thanos.service.port | int | `10901` | |
|
||||
| prometheus.thanos.service.type | string | `"ClusterIP"` | |
|
||||
| prometheus.tolerations | list | `[]` | |
|
||||
| prometheus.volumeMounts | list | `[]` | |
|
||||
| prometheus.volumes | list | `[]` | |
|
||||
| prometheus.walCompression | bool | `false` | |
|
||||
| prometheusImage.repository | string | `"bitnami/prometheus"` | |
|
||||
| prometheusImage.tag | string | `"2.31.1"` | |
|
||||
| rbac | object | `{"enabled":true,"rules":[{"apiGroups":["apiextensions.k8s.io"],"resources":["customresourcedefinitions"],"verbs":["create"]},{"apiGroups":["apiextensions.k8s.io"],"resourceNames":["alertmanagers.monitoring.coreos.com","podmonitors.monitoring.coreos.com","prometheuses.monitoring.coreos.com","prometheusrules.monitoring.coreos.com","servicemonitors.monitoring.coreos.com","thanosrulers.monitoring.coreos.com","probes.monitoring.coreos.com"],"resources":["customresourcedefinitions"],"verbs":["get","update"]},{"apiGroups":["monitoring.coreos.com"],"resources":["alertmanagers","alertmanagers/finalizers","alertmanagerconfigs","prometheuses","prometheuses/finalizers","thanosrulers","thanosrulers/finalizers","servicemonitors","podmonitors","probes","prometheusrules"],"verbs":["*"]},{"apiGroups":["apps"],"resources":["statefulsets"],"verbs":["*"]},{"apiGroups":[""],"resources":["configmaps","secrets"],"verbs":["*"]},{"apiGroups":[""],"resources":["pods"],"verbs":["list","delete"]},{"apiGroups":[""],"resources":["services","services/finalizers","endpoints"],"verbs":["get","create","update","delete"]},{"apiGroups":[""],"resources":["nodes"],"verbs":["list","watch"]},{"apiGroups":[""],"resources":["namespaces"],"verbs":["get","list","watch"]},{"apiGroups":["networking.k8s.io"],"resources":["ingresses"],"verbs":["get","list","watch"]}]}` | Whether Role Based Access Control objects like roles and rolebindings should be created |
|
||||
| securityContext.readOnlyRootFilesystem | bool | `false` | |
|
||||
| service.alertmanager.enabled | bool | `true` | |
|
||||
| service.alertmanager.ports.alertmanager.enabled | bool | `true` | |
|
||||
| service.alertmanager.ports.alertmanager.port | int | `10087` | |
|
||||
| service.alertmanager.ports.alertmanager.protocol | string | `"HTTP"` | |
|
||||
| service.alertmanager.ports.alertmanager.targetPort | int | `9093` | |
|
||||
| service.alertmanager.selector."app.kubernetes.io/name" | string | `"alertmanager"` | |
|
||||
| service.alertmanager.selector.alertmanager | string | `"{{ template \"kube-prometheus.alertmanager.fullname\" . }}"` | |
|
||||
| service.main.ports.main.port | int | `10086` | |
|
||||
| service.main.ports.main.protocol | string | `"HTTP"` | |
|
||||
| service.main.ports.main.targetPort | int | `9090` | |
|
||||
| service.main.selector."app.kubernetes.io/name" | string | `"prometheus"` | |
|
||||
| service.main.selector.prometheus | string | `"{{ template \"kube-prometheus.prometheus.fullname\" . }}"` | |
|
||||
| service.promop.enabled | bool | `true` | |
|
||||
| service.promop.ports.promop.enabled | bool | `true` | |
|
||||
| service.promop.ports.promop.port | int | `10089` | |
|
||||
| service.promop.ports.promop.protocol | string | `"HTTP"` | |
|
||||
| service.promop.ports.promop.targetPort | int | `8080` | |
|
||||
| service.thanos.enabled | bool | `true` | |
|
||||
| service.thanos.ports.thanos.enabled | bool | `true` | |
|
||||
| service.thanos.ports.thanos.port | int | `10901` | |
|
||||
| service.thanos.ports.thanos.protocol | string | `"HTTP"` | |
|
||||
| service.thanos.ports.thanos.targetPort | int | `10901` | |
|
||||
| service.thanos.selector."app.kubernetes.io/name" | string | `"prometheus"` | |
|
||||
| service.thanos.selector.prometheus | string | `"{{ template \"kube-prometheus.prometheus.fullname\" . }}"` | |
|
||||
| serviceAccount | object | `{"create":true}` | The service account the pods will use to interact with the Kubernetes API |
|
||||
| thanosImage.repository | string | `"bitnami/thanos"` | |
|
||||
| thanosImage.tag | string | `"0.23.1"` | |
|
||||
|
||||
All Rights Reserved - The TrueCharts Project
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,198 +0,0 @@
|
|||
{{/* Name suffixed with operator */}}
|
||||
{{- define "kube-prometheus.fullname" -}}
|
||||
{{- printf "%s" (include "common.names.fullname" . ) -}}
|
||||
{{- end }}
|
||||
|
||||
{{/* Name suffixed with operator */}}
|
||||
{{- define "kube-prometheus.name" -}}
|
||||
{{- printf "%s" (include "common.names.fullname" . ) -}}
|
||||
{{- end }}
|
||||
|
||||
{{/* Name suffixed with operator */}}
|
||||
{{- define "kube-prometheus.operator.name" -}}
|
||||
{{- printf "%s-operator" (include "common.names.fullname" . ) -}}
|
||||
{{- end }}
|
||||
|
||||
{{/* Name suffixed with prometheus */}}
|
||||
{{- define "kube-prometheus.prometheus.name" -}}
|
||||
{{- printf "%s-prometheus" (include "common.names.fullname" . ) -}}
|
||||
{{- end }}
|
||||
|
||||
{{/* Name suffixed with alertmanager */}}
|
||||
{{- define "kube-prometheus.alertmanager.name" -}}
|
||||
{{- printf "%s-alertmanager" (include "common.names.fullname" . ) -}}
|
||||
{{- end }}
|
||||
|
||||
{{/* Name suffixed with thanos */}}
|
||||
{{- define "kube-prometheus.thanos.name" -}}
|
||||
{{- printf "%s-thanos" (include "common.names.fullname" . ) -}}
|
||||
{{- end }}
|
||||
|
||||
{{/* Fullname suffixed with operator */}}
|
||||
{{- define "kube-prometheus.operator.fullname" -}}
|
||||
{{- printf "%s-operator" (include "common.names.fullname" . ) -}}
|
||||
{{- end }}
|
||||
|
||||
{{/* Fullname suffixed with prometheus */}}
|
||||
{{- define "kube-prometheus.prometheus.fullname" -}}
|
||||
{{- printf "%s-prometheus" (include "common.names.fullname" . ) -}}
|
||||
{{- end }}
|
||||
|
||||
{{/* Fullname suffixed with alertmanager */}}
|
||||
{{- define "kube-prometheus.alertmanager.fullname" -}}
|
||||
{{- printf "%s-alertmanager" (include "common.names.fullname" . ) -}}
|
||||
{{- end }}
|
||||
|
||||
{{/* Fullname suffixed with thanos */}}
|
||||
{{- define "kube-prometheus.thanos.fullname" -}}
|
||||
{{- printf "%s-thanos" (include "kube-prometheus.prometheus.fullname" .) -}}
|
||||
{{- end }}
|
||||
|
||||
{{- define "kube-prometheus.chart" -}}
|
||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Common Labels
|
||||
*/}}
|
||||
{{- define "kube-prometheus.labels" -}}
|
||||
{{ include "common.labels" . }}
|
||||
{{- if .Values.global.labels }}
|
||||
{{ toYaml .Values.global.labels }}
|
||||
{{- end }}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Labels for operator
|
||||
*/}}
|
||||
{{- define "kube-prometheus.operator.labels" -}}
|
||||
{{ include "common.labels" . }}
|
||||
app.kubernetes.io/component: operator
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Labels for prometheus
|
||||
*/}}
|
||||
{{- define "kube-prometheus.prometheus.labels" -}}
|
||||
{{ include "common.labels" . }}
|
||||
app.kubernetes.io/component: prometheus
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Labels for alertmanager
|
||||
*/}}
|
||||
{{- define "kube-prometheus.alertmanager.labels" -}}
|
||||
{{ include "common.labels" . }}
|
||||
app.kubernetes.io/component: alertmanager
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
matchLabels for operator
|
||||
*/}}
|
||||
{{- define "kube-prometheus.operator.matchLabels" -}}
|
||||
{{ include "common.labels.selectorLabels" . }}
|
||||
app.kubernetes.io/component: operator
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
matchLabels for prometheus
|
||||
*/}}
|
||||
{{- define "kube-prometheus.prometheus.matchLabels" -}}
|
||||
{{ include "common.labels.selectorLabels" . }}
|
||||
app.kubernetes.io/component: prometheus
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
matchLabels for alertmanager
|
||||
*/}}
|
||||
{{- define "kube-prometheus.alertmanager.matchLabels" -}}
|
||||
{{ include "common.labels.selectorLabels" . }}
|
||||
app.kubernetes.io/component: alertmanager
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Return the proper Prometheus Operator image name
|
||||
*/}}
|
||||
{{- define "kube-prometheus.image" -}}
|
||||
{{ printf "%s:%s" .Values.image.repository (default .Chart.AppVersion .Values.image.tag) | quote }}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Return the proper Prometheus Operator Reloader image name
|
||||
*/}}
|
||||
{{- define "kube-prometheus.prometheusConfigReloader.image" -}}
|
||||
{{- include "kube-prometheus.image" . -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Return the proper Prometheus Image name
|
||||
*/}}
|
||||
{{- define "kube-prometheus.prometheus.image" -}}
|
||||
{{ printf "%s:%s" .Values.prometheusImage.repository (default .Chart.AppVersion .Values.prometheusImage.tag) | quote }}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Return the proper Thanos Image name
|
||||
*/}}
|
||||
{{- define "kube-prometheus.prometheus.thanosImage" -}}
|
||||
{{ printf "%s:%s" .Values.thanosImage.repository (default .Chart.AppVersion .Values.thanosImage.tag) | quote }}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Return the proper Alertmanager Image name
|
||||
*/}}
|
||||
{{- define "kube-prometheus.alertmanager.image" -}}
|
||||
{{ printf "%s:%s" .Values.alertmanagerImage.repository (default .Chart.AppVersion .Values.alertmanagerImage.tag) | quote }}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Return the proper Docker Image Registry Secret Names
|
||||
*/}}
|
||||
{{- define "kube-prometheus.imagePullSecrets" -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create the name of the operator service account to use
|
||||
*/}}
|
||||
{{- define "kube-prometheus.operator.serviceAccountName" -}}
|
||||
{{- if .Values.operator.serviceAccount.create -}}
|
||||
{{ default (include "kube-prometheus.operator.fullname" .) .Values.operator.serviceAccount.name }}
|
||||
{{- else -}}
|
||||
{{ default "default" .Values.operator.serviceAccount.name }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create the name of the prometheus service account to use
|
||||
*/}}
|
||||
{{- define "kube-prometheus.prometheus.serviceAccountName" -}}
|
||||
{{- if .Values.prometheus.serviceAccount.create -}}
|
||||
{{ default (include "kube-prometheus.prometheus.fullname" .) .Values.prometheus.serviceAccount.name }}
|
||||
{{- else -}}
|
||||
{{ default "default" .Values.prometheus.serviceAccount.name }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create the name of the alertmanager service account to use
|
||||
*/}}
|
||||
{{- define "kube-prometheus.alertmanager.serviceAccountName" -}}
|
||||
{{- if .Values.alertmanager.serviceAccount.create -}}
|
||||
{{ default (include "kube-prometheus.alertmanager.fullname" .) .Values.alertmanager.serviceAccount.name }}
|
||||
{{- else -}}
|
||||
{{ default "default" .Values.alertmanager.serviceAccount.name }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Compile all warnings into a single message, and call fail.
|
||||
*/}}
|
||||
{{- define "kube-prometheus.validateValues" -}}
|
||||
{{- $messages := list -}}
|
||||
{{- $messages := without $messages "" -}}
|
||||
{{- $message := join "\n" $messages -}}
|
||||
|
||||
{{- if $message -}}
|
||||
{{- printf "\nVALUES VALIDATION:\n%s" $message | fail -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
|
@ -1,183 +0,0 @@
|
|||
{{- define "prometheus.alertmanager.alertmanager" -}}
|
||||
{{- if .Values.alertmanager.enabled }}
|
||||
---
|
||||
apiVersion: monitoring.coreos.com/v1
|
||||
kind: Alertmanager
|
||||
metadata:
|
||||
name: {{ template "kube-prometheus.alertmanager.fullname" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels: {{- include "kube-prometheus.alertmanager.labels" . | nindent 4 }}
|
||||
spec:
|
||||
replicas: {{ .Values.alertmanager.replicaCount }}
|
||||
serviceAccountName: {{ template "kube-prometheus.alertmanager.serviceAccountName" . }}
|
||||
{{- if .Values.alertmanager.image }}
|
||||
image: {{ template "kube-prometheus.alertmanager.image" . }}
|
||||
{{- end }}
|
||||
listenLocal: {{ .Values.alertmanager.listenLocal }}
|
||||
{{- if index .Values.alertmanager "externalUrl" }}
|
||||
externalUrl: "{{ .Values.alertmanager.externalUrl }}"
|
||||
{{- else if and .Values.ingress.alertmanager.enabled .Values.ingress.alertmanager.hosts }}
|
||||
externalUrl: {{ if .Values.ingress.alertmanager.tls }}https{{else}}http{{ end }}://{{ (index .Values.ingress.alertmanager.hosts 0).name }}{{ .Values.alertmanager.routePrefix }}
|
||||
{{- else }}
|
||||
externalUrl: http://{{ template "kube-prometheus.alertmanager.fullname" . }}.{{ .Release.Namespace }}:{{ .Values.service.alertmanager.ports.alertmanager.port }}{{ .Values.alertmanager.routePrefix }}
|
||||
{{- end }}
|
||||
portName: "{{ .Values.alertmanager.portName }}"
|
||||
paused: {{ .Values.alertmanager.paused }}
|
||||
logFormat: {{ .Values.alertmanager.logFormat }}
|
||||
logLevel: {{ .Values.alertmanager.logLevel }}
|
||||
retention: {{ .Values.alertmanager.retention }}
|
||||
{{- if .Values.alertmanager.secrets }}
|
||||
secrets: {{- include "common.tplvalues.render" (dict "value" .Values.alertmanager.secrets "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.alertmanager.configMaps }}
|
||||
configMaps: {{- include "common.tplvalues.render" (dict "value" .Values.alertmanager.configMaps "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
resources: {{- toYaml .Values.alertmanager.resources | nindent 4 }}
|
||||
routePrefix: "{{ .Values.alertmanager.routePrefix }}"
|
||||
{{- if .Values.alertmanager.podSecurityContext.enabled }}
|
||||
securityContext: {{- omit .Values.alertmanager.podSecurityContext "enabled" | toYaml | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.alertmanager.storageSpec }}
|
||||
storage: {{- include "common.tplvalues.render" (dict "value" .Values.alertmanager.storageSpec "context" $) | nindent 4 }}
|
||||
{{- else }}
|
||||
{{- if .Values.alertmanager.persistence.enabled }}
|
||||
storage:
|
||||
volumeClaimTemplate:
|
||||
spec:
|
||||
accessModes:
|
||||
{{- range .Values.alertmanager.persistence.accessModes }}
|
||||
- {{ . | quote }}
|
||||
{{- end }}
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.alertmanager.persistence.size | quote }}
|
||||
{{- include "common.storage.class" (dict "persistence" .Values.alertmanager.persistence "global" $ ) | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if or .Values.alertmanager.podMetadata.labels .Values.alertmanager.podMetadata.annotations (eq .Values.alertmanager.podAntiAffinityPreset "soft") (eq .Values.alertmanager.podAntiAffinityPreset "hard") }}
|
||||
podMetadata:
|
||||
labels:
|
||||
{{- if .Values.alertmanager.podMetadata.labels }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.alertmanager.podMetadata.labels "context" $) | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- if or (eq .Values.alertmanager.podAntiAffinityPreset "soft") (eq .Values.alertmanager.podAntiAffinityPreset "hard") }}
|
||||
{{- include "kube-prometheus.alertmanager.matchLabels" . | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- if .Values.alertmanager.podMetadata.annotations }}
|
||||
annotations:
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.alertmanager.podMetadata.annotations "context" $) | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if .Values.alertmanager.affinity }}
|
||||
affinity: {{- include "common.tplvalues.render" (dict "value" .Values.alertmanager.affinity "context" $) | nindent 4 }}
|
||||
{{- else }}
|
||||
affinity:
|
||||
{{- if not (empty .Values.alertmanager.podAffinityPreset) }}
|
||||
podAffinity: {{- include "common.affinities.pods" (dict "type" .Values.alertmanager.podAffinityPreset "component" "alertmanager" "context" $) | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- if not (empty .Values.alertmanager.podAntiAffinityPreset) }}
|
||||
podAntiAffinity: {{- include "common.affinities.pods" (dict "type" .Values.alertmanager.podAntiAffinityPreset "component" "alertmanager" "context" $) | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- if not (empty .Values.alertmanager.nodeAffinityPreset.values) }}
|
||||
nodeAffinity: {{- include "common.affinities.nodes" (dict "type" .Values.alertmanager.nodeAffinityPreset.type "key" .Values.alertmanager.nodeAffinityPreset.key "values" .Values.alertmanager.nodeAffinityPreset.values) | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if .Values.alertmanager.nodeSelector }}
|
||||
nodeSelector: {{- include "common.tplvalues.render" (dict "value" .Values.alertmanager.nodeSelector "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.alertmanager.tolerations }}
|
||||
tolerations: {{- include "common.tplvalues.render" (dict "value" .Values.alertmanager.tolerations "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.alertmanager.volumes }}
|
||||
volumes: {{- include "common.tplvalues.render" (dict "value" .Values.alertmanager.volumes "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.alertmanager.volumeMounts }}
|
||||
volumeMounts: {{- include "common.tplvalues.render" (dict "value" .Values.alertmanager.volumeMounts "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- include "kube-prometheus.imagePullSecrets" . | indent 2 }}
|
||||
{{- if or .Values.alertmanager.containers .Values.alertmanager.containerSecurityContext.enabled .Values.operator.prometheusConfigReloader.containerSecurityContext.enabled }}
|
||||
containers:
|
||||
{{- if or .Values.alertmanager.containerSecurityContext.enabled .Values.alertmanager.livenessProbe.enabled .Values.alertmanager.readinessProbe.enabled }}
|
||||
## This monkey patching is needed until the securityContexts are
|
||||
## directly patchable via the CRD.
|
||||
## ref: https://github.com/prometheus-operator/prometheus-operator/issues/3947
|
||||
## currently implemented with strategic merge
|
||||
## ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/user-guides/strategic-merge-patch.md
|
||||
- name: alertmanager
|
||||
{{- if .Values.alertmanager.containerSecurityContext.enabled }}
|
||||
securityContext: {{- omit .Values.alertmanager.containerSecurityContext "enabled" | toYaml | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.alertmanager.livenessProbe.enabled }}
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: {{ .Values.alertmanager.livenessProbe.path }}
|
||||
port: alertmanager
|
||||
scheme: HTTP
|
||||
initialDelaySeconds: {{ .Values.alertmanager.livenessProbe.initialDelaySeconds }}
|
||||
periodSeconds: {{ .Values.alertmanager.livenessProbe.periodSeconds }}
|
||||
timeoutSeconds: {{ .Values.alertmanager.livenessProbe.timeoutSeconds }}
|
||||
failureThreshold: {{ .Values.alertmanager.livenessProbe.failureThreshold }}
|
||||
successThreshold: {{ .Values.alertmanager.livenessProbe.successThreshold }}
|
||||
{{- end }}
|
||||
{{- if .Values.alertmanager.readinessProbe.enabled }}
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: {{ .Values.alertmanager.readinessProbe.path }}
|
||||
port: alertmanager
|
||||
scheme: HTTP
|
||||
initialDelaySeconds: {{ .Values.alertmanager.readinessProbe.initialDelaySeconds }}
|
||||
periodSeconds: {{ .Values.alertmanager.readinessProbe.periodSeconds }}
|
||||
timeoutSeconds: {{ .Values.alertmanager.readinessProbe.timeoutSeconds }}
|
||||
failureThreshold: {{ .Values.alertmanager.readinessProbe.failureThreshold }}
|
||||
successThreshold: {{ .Values.alertmanager.readinessProbe.successThreshold }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if or .Values.operator.prometheusConfigReloader.containerSecurityContext.enabled .Values.operator.prometheusConfigReloader.livenessProbe.enabled .Values.operator.prometheusConfigReloader.readinessProbe.enabled }}
|
||||
## This monkey patching is needed until the securityContexts are
|
||||
## directly patchable via the CRD.
|
||||
## ref: https://github.com/prometheus-operator/prometheus-operator/issues/3947
|
||||
## currently implemented with strategic merge
|
||||
## ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/user-guides/strategic-merge-patch.md
|
||||
- name: config-reloader
|
||||
{{- if .Values.operator.prometheusConfigReloader.containerSecurityContext.enabled }}
|
||||
securityContext: {{- omit .Values.operator.prometheusConfigReloader.containerSecurityContext "enabled" | toYaml | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.operator.prometheusConfigReloader.livenessProbe.enabled }}
|
||||
livenessProbe:
|
||||
tcpSocket:
|
||||
port: reloader-web
|
||||
initialDelaySeconds: {{ .Values.operator.prometheusConfigReloader.livenessProbe.initialDelaySeconds }}
|
||||
periodSeconds: {{ .Values.operator.prometheusConfigReloader.livenessProbe.periodSeconds }}
|
||||
timeoutSeconds: {{ .Values.operator.prometheusConfigReloader.livenessProbe.timeoutSeconds }}
|
||||
failureThreshold: {{ .Values.operator.prometheusConfigReloader.livenessProbe.failureThreshold }}
|
||||
successThreshold: {{ .Values.operator.prometheusConfigReloader.livenessProbe.successThreshold }}
|
||||
{{- end }}
|
||||
{{- if .Values.operator.prometheusConfigReloader.readinessProbe.enabled }}
|
||||
readinessProbe:
|
||||
tcpSocket:
|
||||
port: reloader-web
|
||||
initialDelaySeconds: {{ .Values.operator.prometheusConfigReloader.readinessProbe.initialDelaySeconds }}
|
||||
periodSeconds: {{ .Values.operator.prometheusConfigReloader.readinessProbe.periodSeconds }}
|
||||
timeoutSeconds: {{ .Values.operator.prometheusConfigReloader.readinessProbe.timeoutSeconds }}
|
||||
failureThreshold: {{ .Values.operator.prometheusConfigReloader.readinessProbe.failureThreshold }}
|
||||
successThreshold: {{ .Values.operator.prometheusConfigReloader.readinessProbe.successThreshold }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if .Values.alertmanager.containers }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.alertmanager.containers "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if .Values.alertmanager.priorityClassName }}
|
||||
priorityClassName: {{ .Values.alertmanager.priorityClassName }}
|
||||
{{- end }}
|
||||
{{- if .Values.alertmanager.additionalPeers }}
|
||||
additionalPeers: {{ .Values.alertmanager.additionalPeers }}
|
||||
{{- end }}
|
||||
{{- if .Values.alertmanager.configNamespaceSelector }}
|
||||
alertmanagerConfigNamespaceSelector: {{- include "common.tplvalues.render" (dict "value" .Values.alertmanager.configNamespaceSelector "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.alertmanager.configSelector }}
|
||||
alertmanagerConfigSelector: {{- include "common.tplvalues.render" (dict "value" .Values.alertmanager.configSelector "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
|
@ -1,13 +0,0 @@
|
|||
{{- if (and .Values.alertmanager.enabled (not .Values.alertmanager.externalConfig) ) }}
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: alertmanager-{{ template "kube-prometheus.alertmanager.fullname" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels: {{- include "kube-prometheus.alertmanager.labels" . | nindent 4 }}
|
||||
data:
|
||||
alertmanager.yaml: {{ toYaml .Values.alertmanager.config | b64enc | quote }}
|
||||
{{- range $key, $val := .Values.alertmanager.templateFiles }}
|
||||
{{ $key }}: {{ $val | b64enc | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
|
@ -1,12 +0,0 @@
|
|||
{{- if and .Values.alertmanager.enabled .Values.alertmanager.serviceAccount.create }}
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: {{ template "kube-prometheus.alertmanager.serviceAccountName" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels: {{- include "kube-prometheus.alertmanager.labels" . | nindent 4 }}
|
||||
{{- if index .Values.alertmanager.serviceAccount "annotations" }}
|
||||
annotations: {{- include "common.tplvalues.render" (dict "value" .Values.alertmanager.serviceAccount.annotations "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- include "kube-prometheus.imagePullSecrets" . }}
|
||||
{{- end }}
|
|
@ -1,26 +0,0 @@
|
|||
{{- if and .Values.alertmanager.enabled .Values.alertmanager.serviceMonitor.enabled }}
|
||||
apiVersion: monitoring.coreos.com/v1
|
||||
kind: ServiceMonitor
|
||||
metadata:
|
||||
name: {{ template "kube-prometheus.alertmanager.fullname" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels: {{- include "kube-prometheus.alertmanager.labels" . | nindent 4 }}
|
||||
spec:
|
||||
selector:
|
||||
matchLabels: {{- include "kube-prometheus.alertmanager.matchLabels" . | nindent 6 }}
|
||||
namespaceSelector:
|
||||
matchNames:
|
||||
- {{ .Release.Namespace }}
|
||||
endpoints:
|
||||
- port: http
|
||||
{{- if .Values.alertmanager.serviceMonitor.interval }}
|
||||
interval: {{ .Values.alertmanager.serviceMonitor.interval }}
|
||||
{{- end }}
|
||||
path: {{ trimSuffix "/" .Values.alertmanager.routePrefix }}/metrics
|
||||
{{- if .Values.alertmanager.serviceMonitor.metricRelabelings }}
|
||||
metricRelabelings: {{- include "common.tplvalues.render" ( dict "value" .Values.alertmanager.serviceMonitor.metricRelabelings "context" $) | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.alertmanager.serviceMonitor.relabelings }}
|
||||
relabelings: {{- toYaml .Values.alertmanager.serviceMonitor.relabelings | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
|
@ -1,18 +0,0 @@
|
|||
{{/* Make sure all variables are set properly */}}
|
||||
{{- include "common.setup" . }}
|
||||
|
||||
{{- $newArgs := (include "prometheus.operator.args" . | fromYaml) }}
|
||||
{{- $_ := set .Values "newArgs" $newArgs -}}
|
||||
{{- $mergedargs := concat .Values.args .Values.newArgs.args }}
|
||||
{{- $_ := set .Values "args" $mergedargs -}}
|
||||
|
||||
{{- include "prometheus.prometheus.prometheus" . }}
|
||||
{{- include "prometheus.prometheus.additionalprometheusrules" . }}
|
||||
{{- include "prometheus.prometheus.additionalscrapejobs" . }}
|
||||
{{- include "prometheus.prometheus.servicemonitor" . }}
|
||||
|
||||
{{- include "prometheus.alertmanager.alertmanager" . }}
|
||||
|
||||
|
||||
{{/* Render the templates */}}
|
||||
{{ include "common.postSetup" . }}
|
|
@ -1,22 +0,0 @@
|
|||
{{- if and .Values.coreDns.enabled .Values.coreDns.service.enabled }}
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ template "kube-prometheus.fullname" . }}-coredns
|
||||
namespace: {{ .Values.coreDns.namespace }}
|
||||
labels: {{- include "kube-prometheus.labels" . | nindent 4 }}
|
||||
app.kubernetes.io/component: {{ template "kube-prometheus.fullname" . }}-coredns
|
||||
spec:
|
||||
clusterIP: None
|
||||
ports:
|
||||
- name: http-metrics
|
||||
port: {{ .Values.coreDns.service.port }}
|
||||
protocol: TCP
|
||||
targetPort: {{ .Values.coreDns.service.targetPort }}
|
||||
selector:
|
||||
{{- if .Values.coreDns.service.selector }}
|
||||
{{ toYaml .Values.coreDns.service.selector | indent 4 }}
|
||||
{{- else}}
|
||||
k8s-app: kube-dns
|
||||
{{- end}}
|
||||
{{- end }}
|
|
@ -1,29 +0,0 @@
|
|||
{{- if .Values.coreDns.enabled }}
|
||||
apiVersion: monitoring.coreos.com/v1
|
||||
kind: ServiceMonitor
|
||||
metadata:
|
||||
name: {{ template "kube-prometheus.fullname" . }}-coredns
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels: {{- include "kube-prometheus.labels" . | nindent 4 }}
|
||||
app.kubernetes.io/component: {{ template "kube-prometheus.fullname" . }}-coredns
|
||||
spec:
|
||||
jobLabel: k8s-app
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/component: {{ template "kube-prometheus.fullname" . }}-coredns
|
||||
namespaceSelector:
|
||||
matchNames:
|
||||
- {{ .Values.coreDns.namespace }}
|
||||
endpoints:
|
||||
- port: http-metrics
|
||||
{{- if .Values.coreDns.serviceMonitor.interval}}
|
||||
interval: {{ .Values.coreDns.serviceMonitor.interval }}
|
||||
{{- end }}
|
||||
bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
|
||||
{{- if .Values.coreDns.serviceMonitor.metricRelabelings }}
|
||||
metricRelabelings: {{- include "common.tplvalues.render" (dict "value" .Values.coreDns.serviceMonitor.metricRelabelings "context" $) | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- if .Values.coreDns.serviceMonitor.relabelings }}
|
||||
relabelings: {{- include "common.tplvalues.render" (dict "value" .Values.coreDns.serviceMonitor.relabelings "context" $) | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
|
@ -1,35 +0,0 @@
|
|||
{{- if .Values.kubeApiServer.enabled }}
|
||||
apiVersion: monitoring.coreos.com/v1
|
||||
kind: ServiceMonitor
|
||||
metadata:
|
||||
name: {{ template "kube-prometheus.fullname" . }}-apiserver
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels: {{- include "kube-prometheus.labels" . | nindent 4 }}
|
||||
app.kubernetes.io/component: apiserver
|
||||
spec:
|
||||
jobLabel: component
|
||||
selector:
|
||||
matchLabels:
|
||||
component: apiserver
|
||||
provider: kubernetes
|
||||
namespaceSelector:
|
||||
matchNames:
|
||||
- default
|
||||
endpoints:
|
||||
- port: https
|
||||
scheme: https
|
||||
tlsConfig:
|
||||
caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
|
||||
serverName: kubernetes
|
||||
insecureSkipVerify: true
|
||||
bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
|
||||
{{- if .Values.kubeApiServer.serviceMonitor.interval }}
|
||||
interval: {{ .Values.kubeApiServer.serviceMonitor.interval }}
|
||||
{{- end }}
|
||||
{{- if .Values.kubeApiServer.serviceMonitor.metricRelabelings }}
|
||||
metricRelabelings: {{- include "common.tplvalues.render" ( dict "value" .Values.kubeApiServer.serviceMonitor.metricRelabelings "context" $) | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.kubeApiServer.serviceMonitor.relabelings }}
|
||||
relabelings: {{- toYaml .Values.kubeApiServer.serviceMonitor.relabelings | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
|
@ -1,18 +0,0 @@
|
|||
{{- if and .Values.kubeControllerManager.enabled .Values.kubeControllerManager.endpoints }}
|
||||
apiVersion: v1
|
||||
kind: Endpoints
|
||||
metadata:
|
||||
name: {{ template "kube-prometheus.fullname" . }}-kube-controller-manager
|
||||
namespace: {{ .Values.kubeControllerManager.namespace }}
|
||||
labels: {{- include "kube-prometheus.labels" . | nindent 4 }}
|
||||
app.kubernetes.io/component: kube-controller-manager
|
||||
subsets:
|
||||
- addresses:
|
||||
{{- range .Values.kubeControllerManager.endpoints }}
|
||||
- ip: {{ . }}
|
||||
{{- end }}
|
||||
ports:
|
||||
- name: http-metrics
|
||||
port: {{ .Values.kubeControllerManager.service.port }}
|
||||
protocol: TCP
|
||||
{{- end }}
|
|
@ -1,25 +0,0 @@
|
|||
{{- if and .Values.kubeControllerManager.enabled .Values.kubeControllerManager.service.enabled }}
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ template "kube-prometheus.fullname" . }}-kube-controller-manager
|
||||
namespace: {{ .Values.kubeControllerManager.namespace }}
|
||||
labels: {{- include "kube-prometheus.labels" . | nindent 4 }}
|
||||
app.kubernetes.io/component: {{ template "kube-prometheus.fullname" . }}-kube-controller-manager
|
||||
spec:
|
||||
clusterIP: None
|
||||
ports:
|
||||
- name: http-metrics
|
||||
port: {{ .Values.kubeControllerManager.service.port }}
|
||||
protocol: TCP
|
||||
targetPort: {{ .Values.kubeControllerManager.service.targetPort }}
|
||||
{{- if .Values.kubeControllerManager.endpoints }}{{- else }}
|
||||
selector:
|
||||
{{- if .Values.kubeControllerManager.service.selector }}
|
||||
{{ toYaml .Values.kubeControllerManager.service.selector | indent 4 }}
|
||||
{{- else}}
|
||||
component: kube-controller-manager
|
||||
{{- end}}
|
||||
{{- end }}
|
||||
type: ClusterIP
|
||||
{{- end }}
|
|
@ -1,40 +0,0 @@
|
|||
{{- if .Values.kubeControllerManager.enabled }}
|
||||
apiVersion: monitoring.coreos.com/v1
|
||||
kind: ServiceMonitor
|
||||
metadata:
|
||||
name: {{ template "kube-prometheus.fullname" . }}-kube-controller-manager
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels: {{- include "kube-prometheus.labels" . | nindent 4 }}
|
||||
app.kubernetes.io/component: {{ template "kube-prometheus.fullname" . }}-kube-controller-manager
|
||||
spec:
|
||||
jobLabel: component
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/component: {{ template "kube-prometheus.fullname" . }}-kube-controller-manager
|
||||
namespaceSelector:
|
||||
matchNames:
|
||||
- {{ .Values.kubeControllerManager.namespace }}
|
||||
endpoints:
|
||||
- port: http-metrics
|
||||
{{- if .Values.kubeControllerManager.serviceMonitor.interval }}
|
||||
interval: {{ .Values.kubeControllerManager.serviceMonitor.interval }}
|
||||
{{- end }}
|
||||
bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
|
||||
{{- if .Values.kubeControllerManager.serviceMonitor.https }}
|
||||
scheme: https
|
||||
tlsConfig:
|
||||
caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
|
||||
{{- if .Values.kubeControllerManager.serviceMonitor.insecureSkipVerify }}
|
||||
insecureSkipVerify: {{ .Values.kubeControllerManager.serviceMonitor.insecureSkipVerify }}
|
||||
{{- end }}
|
||||
{{- if .Values.kubeControllerManager.serviceMonitor.serverName }}
|
||||
serverName: {{ .Values.kubeControllerManager.serviceMonitor.serverName }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if .Values.kubeControllerManager.serviceMonitor.metricRelabelings }}
|
||||
metricRelabelings: {{- include "common.tplvalues.render" (dict "value" .Values.kubeControllerManager.serviceMonitor.metricRelabelings "context" $) | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- if .Values.kubeControllerManager.serviceMonitor.relabelings }}
|
||||
relabelings: {{- include "common.tplvalues.render" (dict "value" .Values.kubeControllerManager.serviceMonitor.relabelings "context" $) | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
|
@ -1,18 +0,0 @@
|
|||
{{- if and .Values.kubeScheduler.enabled .Values.kubeScheduler.endpoints }}
|
||||
apiVersion: v1
|
||||
kind: Endpoints
|
||||
metadata:
|
||||
name: {{ template "kube-prometheus.fullname" . }}-kube-scheduler
|
||||
namespace: {{ .Values.kubeScheduler.namespace }}
|
||||
labels: {{- include "kube-prometheus.labels" . | nindent 4 }}
|
||||
app.kubernetes.io/component: kube-scheduler
|
||||
subsets:
|
||||
- addresses:
|
||||
{{- range .Values.kubeScheduler.endpoints }}
|
||||
- ip: {{ . }}
|
||||
{{- end }}
|
||||
ports:
|
||||
- name: http-metrics
|
||||
port: {{ .Values.kubeScheduler.service.port }}
|
||||
protocol: TCP
|
||||
{{- end }}
|
|
@ -1,25 +0,0 @@
|
|||
{{- if and .Values.kubeScheduler.enabled .Values.kubeScheduler.service.enabled }}
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ template "kube-prometheus.fullname" . }}-kube-scheduler
|
||||
namespace: {{ .Values.kubeScheduler.namespace }}
|
||||
labels: {{- include "kube-prometheus.labels" . | nindent 4 }}
|
||||
app.kubernetes.io/component: {{ template "kube-prometheus.fullname" . }}-kube-scheduler
|
||||
spec:
|
||||
clusterIP: None
|
||||
ports:
|
||||
- name: http-metrics
|
||||
port: {{ .Values.kubeScheduler.service.port}}
|
||||
protocol: TCP
|
||||
targetPort: {{ .Values.kubeScheduler.service.targetPort}}
|
||||
{{- if .Values.kubeScheduler.endpoints }}{{- else }}
|
||||
selector:
|
||||
{{- if .Values.kubeScheduler.service.selector }}
|
||||
{{ toYaml .Values.kubeScheduler.service.selector | indent 4 }}
|
||||
{{- else}}
|
||||
component: kube-scheduler
|
||||
{{- end}}
|
||||
{{- end }}
|
||||
type: ClusterIP
|
||||
{{- end -}}
|
|
@ -1,40 +0,0 @@
|
|||
{{- if .Values.kubeScheduler.enabled }}
|
||||
apiVersion: monitoring.coreos.com/v1
|
||||
kind: ServiceMonitor
|
||||
metadata:
|
||||
name: {{ template "kube-prometheus.fullname" . }}-kube-scheduler
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels: {{- include "kube-prometheus.labels" . | nindent 4 }}
|
||||
app.kubernetes.io/component: {{ template "kube-prometheus.fullname" . }}-kube-scheduler
|
||||
spec:
|
||||
jobLabel: component
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/component: {{ template "kube-prometheus.fullname" . }}-kube-scheduler
|
||||
namespaceSelector:
|
||||
matchNames:
|
||||
- {{ .Values.kubeScheduler.namespace }}
|
||||
endpoints:
|
||||
- port: http-metrics
|
||||
{{- if .Values.kubeScheduler.serviceMonitor.interval }}
|
||||
interval: {{ .Values.kubeScheduler.serviceMonitor.interval }}
|
||||
{{- end }}
|
||||
bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
|
||||
{{- if .Values.kubeScheduler.serviceMonitor.https }}
|
||||
scheme: https
|
||||
tlsConfig:
|
||||
caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
|
||||
{{- if .Values.kubeScheduler.serviceMonitor.insecureSkipVerify }}
|
||||
insecureSkipVerify: {{ .Values.kubeScheduler.serviceMonitor.insecureSkipVerify }}
|
||||
{{- end}}
|
||||
{{- if .Values.kubeScheduler.serviceMonitor.serverName }}
|
||||
serverName: {{ .Values.kubeScheduler.serviceMonitor.serverName }}
|
||||
{{- end}}
|
||||
{{- end}}
|
||||
{{- if .Values.kubeScheduler.serviceMonitor.metricRelabelings }}
|
||||
metricRelabelings: {{- include "common.tplvalues.render" (dict "value" .Values.kubeScheduler.serviceMonitor.metricRelabelings "context" $) | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- if .Values.kubeScheduler.serviceMonitor.relabelings }}
|
||||
metricRelabelings: {{- include "common.tplvalues.render" (dict "value" .Values.kubeScheduler.serviceMonitor.relabelings "context" $) | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
|
@ -1,85 +0,0 @@
|
|||
{{- if .Values.kubelet.enabled }}
|
||||
apiVersion: monitoring.coreos.com/v1
|
||||
kind: ServiceMonitor
|
||||
metadata:
|
||||
name: {{ template "kube-prometheus.fullname" . }}-kubelet
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels: {{- include "kube-prometheus.labels" . | nindent 4 }}
|
||||
app.kubernetes.io/component: kubelet
|
||||
spec:
|
||||
jobLabel: k8s-app
|
||||
selector:
|
||||
matchLabels:
|
||||
k8s-app: kubelet
|
||||
namespaceSelector:
|
||||
matchNames:
|
||||
- {{ .Values.kubelet.namespace }}
|
||||
endpoints:
|
||||
{{- if .Values.kubelet.serviceMonitor.https }}
|
||||
- port: https-metrics
|
||||
scheme: https
|
||||
tlsConfig:
|
||||
caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
|
||||
serverName: kubernetes
|
||||
insecureSkipVerify: true
|
||||
bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
|
||||
honorLabels: true
|
||||
{{- if .Values.kubelet.serviceMonitor.interval }}
|
||||
interval: {{ .Values.kubelet.serviceMonitor.interval }}
|
||||
{{- end }}
|
||||
{{- if .Values.kubelet.serviceMonitor.metricRelabelings }}
|
||||
metricRelabelings: {{- include "common.tplvalues.render" ( dict "value" .Values.kubelet.serviceMonitor.metricRelabelings "context" $) | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.kubelet.serviceMonitor.relabelings }}
|
||||
relabelings: {{- toYaml .Values.kubelet.serviceMonitor.relabelings | nindent 8 }}
|
||||
{{- end }}
|
||||
- port: https-metrics
|
||||
path: /metrics/cadvisor
|
||||
scheme: https
|
||||
tlsConfig:
|
||||
caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
|
||||
serverName: kubernetes
|
||||
insecureSkipVerify: true
|
||||
bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
|
||||
honorLabels: true
|
||||
{{- if .Values.kubelet.serviceMonitor.interval }}
|
||||
interval: {{ .Values.kubelet.serviceMonitor.interval }}
|
||||
{{- end }}
|
||||
{{- if .Values.kubelet.serviceMonitor.cAdvisorMetricRelabelings }}
|
||||
metricRelabelings: {{- include "common.tplvalues.render" ( dict "value" .Values.kubelet.serviceMonitor.cAdvisorMetricRelabelings "context" $) | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.kubelet.serviceMonitor.cAdvisorRelabelings }}
|
||||
relabelings: {{- toYaml .Values.kubelet.serviceMonitor.cAdvisorRelabelings | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- else }}
|
||||
- port: http-metrics
|
||||
scheme: http
|
||||
tlsConfig:
|
||||
insecureSkipVerify: false
|
||||
honorLabels: true
|
||||
{{- if .Values.kubelet.serviceMonitor.interval }}
|
||||
interval: {{ .Values.kubelet.serviceMonitor.interval }}
|
||||
{{- end }}
|
||||
{{- if .Values.kubelet.serviceMonitor.metricRelabelings }}
|
||||
metricRelabelings: {{- include "common.tplvalues.render" ( dict "value" .Values.kubelet.serviceMonitor.metricRelabelings "context" $) | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.kubelet.serviceMonitor.relabelings }}
|
||||
relabelings: {{- toYaml .Values.kubelet.serviceMonitor.relabelings | nindent 8 }}
|
||||
{{- end }}
|
||||
- port: http-metrics
|
||||
path: /metrics/cadvisor
|
||||
scheme: http
|
||||
tlsConfig:
|
||||
insecureSkipVerify: false
|
||||
honorLabels: true
|
||||
{{- if .Values.kubelet.serviceMonitor.interval }}
|
||||
interval: {{ .Values.kubelet.serviceMonitor.interval }}
|
||||
{{- end }}
|
||||
{{- if .Values.kubelet.serviceMonitor.cAdvisorMetricRelabelings }}
|
||||
metricRelabelings: {{- include "common.tplvalues.render" ( dict "value" .Values.kubelet.serviceMonitor.cAdvisorMetricRelabelings "context" $) | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.kubelet.serviceMonitor.cAdvisorRelabelings }}
|
||||
relabelings: {{- toYaml .Values.kubelet.serviceMonitor.cAdvisorRelabelings | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
|
@ -1,31 +0,0 @@
|
|||
{{/* Define the args */}}
|
||||
{{- define "prometheus.operator.args" -}}
|
||||
args:
|
||||
{{- if .Values.operator.kubeletService.enabled }}
|
||||
- --kubelet-service={{ .Values.operator.kubeletService.namespace }}/{{ template "kube-prometheus.fullname" . }}-kubelet
|
||||
{{- end }}
|
||||
{{- if .Values.operator.logFormat }}
|
||||
- --log-format={{ .Values.operator.logFormat }}
|
||||
{{- end }}
|
||||
{{- if .Values.operator.logLevel }}
|
||||
- --log-level={{ .Values.operator.logLevel }}
|
||||
{{- end }}
|
||||
- --localhost=127.0.0.1
|
||||
- --prometheus-config-reloader=$(PROMETHEUS_CONFIG_RELOADER)
|
||||
{{- if .Values.operator.configReloaderResources.requests }}
|
||||
{{- if .Values.operator.configReloaderResources.requests.cpu }}
|
||||
- --config-reloader-cpu-request={{ .Values.operator.configReloaderResources.requests.cpu }}
|
||||
{{- end }}
|
||||
{{- if .Values.operator.configReloaderResources.requests.memory }}
|
||||
- --config-reloader-memory-request={{ .Values.operator.configReloaderResources.requests.memory }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if .Values.operator.configReloaderResources.limits }}
|
||||
{{- if .Values.operator.configReloaderResources.limits.cpu }}
|
||||
- --config-reloader-cpu-limit={{ .Values.operator.configReloaderResources.limits.cpu }}
|
||||
{{- end }}
|
||||
{{- if .Values.operator.configReloaderResources.limits.memory }}
|
||||
- --config-reloader-memory-limit={{ .Values.operator.configReloaderResources.limits.memory }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end -}}
|
|
@ -1,9 +0,0 @@
|
|||
{{- if .Values.operator.enabled }}
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: prometheus-operator-config
|
||||
labels: {{- include "kube-prometheus.operator.labels" . | nindent 4 }}
|
||||
data:
|
||||
prometheus-config-reloader: {{ template "kube-prometheus.prometheusConfigReloader.image" . }}
|
||||
{{- end }}
|
|
@ -1,25 +0,0 @@
|
|||
{{- if and .Values.operator.enabled .Values.operator.serviceMonitor.enabled }}
|
||||
apiVersion: monitoring.coreos.com/v1
|
||||
kind: ServiceMonitor
|
||||
metadata:
|
||||
name: {{ template "kube-prometheus.operator.fullname" . }}
|
||||
labels: {{- include "kube-prometheus.operator.labels" . | nindent 4 }}
|
||||
spec:
|
||||
endpoints:
|
||||
- port: http
|
||||
honorLabels: true
|
||||
{{- if .Values.operator.serviceMonitor.interval }}
|
||||
interval: {{ .Values.operator.serviceMonitor.interval }}
|
||||
{{- end }}
|
||||
{{- if .Values.operator.serviceMonitor.metricRelabelings }}
|
||||
metricRelabelings: {{- include "common.tplvalues.render" ( dict "value" .Values.operator.serviceMonitor.metricRelabelings "context" $) | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.operator.serviceMonitor.relabelings }}
|
||||
relabelings: {{- toYaml .Values.operator.serviceMonitor.relabelings | nindent 8 }}
|
||||
{{- end }}
|
||||
selector:
|
||||
matchLabels: {{- include "kube-prometheus.operator.matchLabels" . | nindent 6 }}
|
||||
namespaceSelector:
|
||||
matchNames:
|
||||
- {{ .Release.Namespace }}
|
||||
{{- end }}
|
|
@ -1,15 +0,0 @@
|
|||
{{- define "prometheus.prometheus.additionalprometheusrules" -}}
|
||||
{{- if and .Values.prometheus.enabled .Values.prometheus.additionalPrometheusRules}}
|
||||
{{- range .Values.prometheus.additionalPrometheusRules }}
|
||||
---
|
||||
apiVersion: monitoring.coreos.com/v1
|
||||
kind: PrometheusRule
|
||||
metadata:
|
||||
name: {{ template "kube-prometheus.name" $ }}-{{ .name }}
|
||||
namespace: {{ $.Release.Namespace }}
|
||||
labels: {{ include "kube-prometheus.prometheus.labels" $ | nindent 4 }}
|
||||
spec:
|
||||
groups: {{- toYaml .groups | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
|
@ -1,13 +0,0 @@
|
|||
{{- define "prometheus.prometheus.additionalscrapejobs" -}}
|
||||
{{- if (and .Values.prometheus.additionalScrapeConfigs.enabled (eq .Values.prometheus.additionalScrapeConfigs.type "internal") ) }}
|
||||
--
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: additional-scrape-jobs-{{ template "kube-prometheus.prometheus.fullname" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels: {{- include "kube-prometheus.prometheus.labels" . | nindent 4 }}
|
||||
data:
|
||||
scrape-jobs.yaml: {{ include "common.tplvalues.render" ( dict "value" .Values.prometheus.additionalScrapeConfigs.internal.jobList "context" $ ) | b64enc | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
|
@ -1,361 +0,0 @@
|
|||
{{- define "prometheus.prometheus.prometheus" -}}
|
||||
{{- if .Values.prometheus.enabled }}
|
||||
---
|
||||
apiVersion: monitoring.coreos.com/v1
|
||||
kind: Prometheus
|
||||
metadata:
|
||||
name: {{ template "kube-prometheus.prometheus.fullname" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels: {{- include "kube-prometheus.prometheus.labels" . | nindent 4 }}
|
||||
spec:
|
||||
replicas: {{ .Values.prometheus.replicaCount }}
|
||||
serviceAccountName: {{ template "kube-prometheus.prometheus.serviceAccountName" . }}
|
||||
{{- if .Values.prometheus.serviceMonitorSelector }}
|
||||
serviceMonitorSelector: {{- include "common.tplvalues.render" (dict "value" .Values.prometheus.serviceMonitorSelector "context" $) | nindent 4 }}
|
||||
{{- else }}
|
||||
serviceMonitorSelector: {}
|
||||
{{- end }}
|
||||
{{- if .Values.prometheus.podMonitorSelector }}
|
||||
podMonitorSelector: {{- include "common.tplvalues.render" (dict "value" .Values.prometheus.podMonitorSelector "context" $) | nindent 4 }}
|
||||
{{- else }}
|
||||
podMonitorSelector: {}
|
||||
{{- end }}
|
||||
{{- if .Values.prometheus.probeSelector }}
|
||||
probeSelector: {{- include "common.tplvalues.render" (dict "value" .Values.prometheus.probeSelector "context" $) | nindent 4 }}
|
||||
{{- else }}
|
||||
probeSelector: {}
|
||||
{{- end }}
|
||||
alerting:
|
||||
alertmanagers:
|
||||
{{- if .Values.prometheus.alertingEndpoints }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.prometheus.alertingEndpoints "context" $) | nindent 6 }}
|
||||
{{- else if .Values.alertmanager.enabled }}
|
||||
- namespace: {{ .Release.Namespace }}
|
||||
name: {{ template "kube-prometheus.alertmanager.fullname" . }}
|
||||
port: http
|
||||
pathPrefix: "{{ .Values.alertmanager.routePrefix }}"
|
||||
{{- else }}
|
||||
[]
|
||||
{{- end }}
|
||||
{{- if .Values.prometheus.image }}
|
||||
image: {{ template "kube-prometheus.prometheus.image" . }}
|
||||
{{- end }}
|
||||
{{- if .Values.prometheus.externalLabels }}
|
||||
externalLabels: {{- include "common.tplvalues.render" (dict "value" .Values.prometheus.externalLabels "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.prometheus.prometheusExternalLabelNameClear }}
|
||||
prometheusExternalLabelName: ""
|
||||
{{- else if .Values.prometheus.prometheusExternalLabelName }}
|
||||
prometheusExternalLabelName: "{{ .Values.prometheus.prometheusExternalLabelName }}"
|
||||
{{- end }}
|
||||
{{- if .Values.prometheus.replicaExternalLabelNameClear }}
|
||||
replicaExternalLabelName: ""
|
||||
{{- else if .Values.prometheus.replicaExternalLabelName }}
|
||||
replicaExternalLabelName: "{{ .Values.prometheus.replicaExternalLabelName }}"
|
||||
{{- end }}
|
||||
{{- if index .Values.prometheus "externalUrl" }}
|
||||
externalUrl: "{{ .Values.prometheus.externalUrl }}"
|
||||
{{- else if and .Values.ingress.main.enabled .Values.ingress.main.hosts }}
|
||||
externalUrl: {{ if .Values.ingress.main.tls }}https{{else}}http{{ end }}://{{ (index .Values.ingress.main.hosts 0).name }}{{ .Values.prometheus.routePrefix }}
|
||||
{{- else }}
|
||||
externalUrl: http://{{ template "kube-prometheus.prometheus.fullname" . }}.{{ .Release.Namespace }}:9090{{ .Values.prometheus.routePrefix }}
|
||||
{{- end }}
|
||||
paused: {{ .Values.prometheus.paused }}
|
||||
logLevel: {{ .Values.prometheus.logLevel }}
|
||||
logFormat: {{ .Values.prometheus.logFormat }}
|
||||
listenLocal: {{ .Values.prometheus.listenLocal }}
|
||||
enableAdminAPI: {{ .Values.prometheus.enableAdminAPI }}
|
||||
{{- if .Values.prometheus.enableFeatures }}
|
||||
enableFeatures:
|
||||
{{- range .Values.prometheus.enableFeatures }}
|
||||
- {{ . | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if .Values.prometheus.scrapeInterval }}
|
||||
scrapeInterval: {{ .Values.prometheus.scrapeInterval }}
|
||||
{{- end }}
|
||||
{{- if .Values.prometheus.evaluationInterval }}
|
||||
evaluationInterval: {{ .Values.prometheus.evaluationInterval }}
|
||||
{{- end }}
|
||||
{{- if .Values.prometheus.resources }}
|
||||
resources: {{- toYaml .Values.prometheus.resources | nindent 4 }}
|
||||
{{- end }}
|
||||
retention: {{ .Values.prometheus.retention }}
|
||||
{{- if .Values.prometheus.retentionSize }}
|
||||
retentionSize: {{ .Values.prometheus.retentionSize }}
|
||||
{{- end }}
|
||||
{{- if .Values.prometheus.disableCompaction }}
|
||||
disableCompaction: {{ .Values.prometheus.disableCompaction }}
|
||||
{{- end }}
|
||||
{{- if .Values.prometheus.walCompression }}
|
||||
walCompression: {{ .Values.prometheus.walCompression }}
|
||||
{{- end }}
|
||||
portName: "{{ .Values.prometheus.portName }}"
|
||||
routePrefix: "{{ .Values.prometheus.routePrefix }}"
|
||||
{{- if .Values.prometheus.secrets }}
|
||||
secrets: {{- include "common.tplvalues.render" (dict "value" .Values.prometheus.secrets "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.prometheus.configMaps }}
|
||||
configMaps: {{- include "common.tplvalues.render" (dict "value" .Values.prometheus.configMaps "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.prometheus.serviceMonitorNamespaceSelector }}
|
||||
serviceMonitorNamespaceSelector: {{- include "common.tplvalues.render" (dict "value" .Values.prometheus.serviceMonitorNamespaceSelector "context" $) | nindent 4 }}
|
||||
{{- else }}
|
||||
serviceMonitorNamespaceSelector: {}
|
||||
{{- end }}
|
||||
{{- if .Values.prometheus.podMonitorNamespaceSelector }}
|
||||
podMonitorNamespaceSelector: {{- include "common.tplvalues.render" (dict "value" .Values.prometheus.podMonitorNamespaceSelector "context" $) | nindent 4 }}
|
||||
{{- else }}
|
||||
podMonitorNamespaceSelector: {}
|
||||
{{- end }}
|
||||
{{- if .Values.prometheus.probeNamespaceSelector }}
|
||||
probeNamespaceSelector: {{- include "common.tplvalues.render" (dict "value" .Values.prometheus.probeNamespaceSelector "context" $) | nindent 4 }}
|
||||
{{- else }}
|
||||
probeNamespaceSelector: {}
|
||||
{{- end }}
|
||||
{{- if .Values.prometheus.remoteRead }}
|
||||
remoteRead: {{- include "common.tplvalues.render" (dict "value" .Values.prometheus.remoteRead "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.prometheus.remoteWrite }}
|
||||
remoteWrite: {{- include "common.tplvalues.render" (dict "value" .Values.prometheus.remoteWrite "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.prometheus.podSecurityContext.enabled }}
|
||||
securityContext: {{- omit .Values.prometheus.podSecurityContext "enabled" | toYaml | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.prometheus.ruleNamespaceSelector }}
|
||||
ruleNamespaceSelector: {{- include "common.tplvalues.render" (dict "value" .Values.prometheus.ruleNamespaceSelector "context" $) | nindent 4 }}
|
||||
{{- else }}
|
||||
ruleNamespaceSelector: {}
|
||||
{{- end }}
|
||||
{{- if .Values.prometheus.ruleSelector }}
|
||||
ruleSelector: {{- include "common.tplvalues.render" (dict "value" .Values.prometheus.ruleSelector "context" $) | nindent 4 }}
|
||||
{{- else }}
|
||||
ruleSelector: {}
|
||||
{{- end }}
|
||||
{{- if .Values.prometheus.storageSpec }}
|
||||
storage: {{- include "common.tplvalues.render" (dict "value" .Values.prometheus.storageSpec "context" $) | nindent 4 }}
|
||||
{{- else if .Values.prometheus.persistence.enabled }}
|
||||
storage:
|
||||
volumeClaimTemplate:
|
||||
spec:
|
||||
accessModes:
|
||||
{{- range .Values.prometheus.persistence.accessModes }}
|
||||
- {{ . | quote }}
|
||||
{{- end }}
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.prometheus.persistence.size | quote }}
|
||||
{{- include "common.storage.class" (dict "persistence" .Values.prometheus.persistence "global" $ ) | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if or .Values.prometheus.podMetadata.labels .Values.prometheus.podMetadata.annotations (eq .Values.prometheus.podAntiAffinityPreset "soft") (eq .Values.prometheus.podAntiAffinityPreset "hard") }}
|
||||
podMetadata:
|
||||
labels:
|
||||
{{- if .Values.prometheus.podMetadata.labels }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.prometheus.podMetadata.labels "context" $) | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- if or (eq .Values.prometheus.podAntiAffinityPreset "soft") (eq .Values.prometheus.podAntiAffinityPreset "hard") }}
|
||||
{{- include "kube-prometheus.prometheus.matchLabels" . | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- if .Values.prometheus.podMetadata.annotations }}
|
||||
annotations:
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.prometheus.podMetadata.annotations "context" $) | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if .Values.prometheus.querySpec }}
|
||||
query: {{- include "common.tplvalues.render" (dict "value" .Values.prometheus.querySpec "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.prometheus.affinity }}
|
||||
affinity: {{- include "common.tplvalues.render" (dict "value" .Values.prometheus.affinity "context" $) | nindent 4 }}
|
||||
{{- else }}
|
||||
affinity:
|
||||
{{- if not (empty .Values.prometheus.podAffinityPreset) }}
|
||||
podAffinity: {{- include "common.affinities.pods" (dict "type" .Values.prometheus.podAffinityPreset "component" "prometheus" "context" $) | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- if not (empty .Values.prometheus.podAntiAffinityPreset) }}
|
||||
podAntiAffinity: {{- include "common.affinities.pods" (dict "type" .Values.prometheus.podAntiAffinityPreset "component" "prometheus" "context" $) | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- if not (empty .Values.prometheus.nodeAffinityPreset.values) }}
|
||||
nodeAffinity: {{- include "common.affinities.nodes" (dict "type" .Values.prometheus.nodeAffinityPreset.type "key" .Values.prometheus.nodeAffinityPreset.key "values" .Values.prometheus.nodeAffinityPreset.values) | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if .Values.prometheus.nodeSelector }}
|
||||
nodeSelector: {{- include "common.tplvalues.render" (dict "value" .Values.prometheus.nodeSelector "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.prometheus.tolerations }}
|
||||
tolerations: {{- include "common.tplvalues.render" (dict "value" .Values.prometheus.tolerations "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.prometheus.volumes }}
|
||||
volumes: {{- include "common.tplvalues.render" (dict "value" .Values.prometheus.volumes "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.prometheus.volumeMounts }}
|
||||
volumeMounts: {{- include "common.tplvalues.render" (dict "value" .Values.prometheus.volumeMounts "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if or .Values.prometheus.additionalScrapeConfigs.enabled .Values.prometheus.additionalScrapeConfigsExternal.enabled }}
|
||||
additionalScrapeConfigs:
|
||||
{{- if and .Values.prometheus.additionalScrapeConfigs.enabled (eq .Values.prometheus.additionalScrapeConfigs.type "external") }}
|
||||
name: {{ .Values.prometheus.additionalScrapeConfigs.external.name }}
|
||||
key: {{ .Values.prometheus.additionalScrapeConfigs.external.key }}
|
||||
{{- else if and .Values.prometheus.additionalScrapeConfigs.enabled (eq .Values.prometheus.additionalScrapeConfigs.type "internal") }}
|
||||
name: additional-scrape-jobs-{{ template "kube-prometheus.prometheus.fullname" . }}
|
||||
key: scrape-jobs.yaml
|
||||
{{- else if and (not .Values.prometheus.additionalScrapeConfigs.enabled) .Values.prometheus.additionalScrapeConfigsExternal.enabled }}
|
||||
name: {{ .Values.prometheus.additionalScrapeConfigsExternal.name }}
|
||||
key: {{ .Values.prometheus.additionalScrapeConfigsExternal.key }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if .Values.prometheus.additionalAlertRelabelConfigsExternal.enabled }}
|
||||
additionalAlertRelabelConfigs:
|
||||
name: {{ .Values.prometheus.additionalAlertRelabelConfigsExternal.name }}
|
||||
key: {{ .Values.prometheus.additionalAlertRelabelConfigsExternal.key }}
|
||||
{{- end }}
|
||||
{{- include "kube-prometheus.imagePullSecrets" . | indent 2 }}
|
||||
{{- if or .Values.prometheus.containers .Values.prometheus.thanos.create .Values.prometheus.containerSecurityContext.enabled .Values.prometheus.containerSecurityContext.enabled .Values.operator.prometheusConfigReloader.containerSecurityContext.enabled }}
|
||||
containers:
|
||||
{{- if .Values.prometheus.thanos.create }}
|
||||
- name: thanos-sidecar
|
||||
image: {{ template "kube-prometheus.prometheus.thanosImage" . }}
|
||||
imagePullPolicy: {{ .Values.prometheus.thanos.image.pullPolicy }}
|
||||
args:
|
||||
- sidecar
|
||||
- --prometheus.url={{ default "http://localhost:9090" .Values.prometheus.thanos.prometheusUrl }}
|
||||
- --grpc-address=0.0.0.0:10901
|
||||
- --http-address=0.0.0.0:10902
|
||||
- --tsdb.path=/prometheus/
|
||||
{{- if .Values.prometheus.thanos.objectStorageConfig }}
|
||||
- --objstore.config=$(OBJSTORE_CONFIG)
|
||||
{{- end }}
|
||||
{{- if .Values.prometheus.thanos.extraArgs }}
|
||||
{{ toYaml .Values.prometheus.thanos.extraArgs | indent 8 | trim }}
|
||||
{{- end }}
|
||||
{{- if .Values.prometheus.thanos.objectStorageConfig }}
|
||||
env:
|
||||
- name: OBJSTORE_CONFIG
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: {{ .Values.prometheus.thanos.objectStorageConfig.secretName }}
|
||||
key: {{ .Values.prometheus.thanos.objectStorageConfig.secretKey | default "thanos.yaml" }}
|
||||
{{- end }}
|
||||
{{- if .Values.prometheus.thanos.resources }}
|
||||
resources: {{- toYaml .Values.prometheus.thanos.resources | nindent 8 }}
|
||||
{{- end }}
|
||||
ports:
|
||||
- name: thanos
|
||||
containerPort: 10901
|
||||
protocol: TCP
|
||||
- name: http
|
||||
containerPort: 10902
|
||||
protocol: TCP
|
||||
volumeMounts:
|
||||
- mountPath: /prometheus
|
||||
name: prometheus-{{ template "kube-prometheus.prometheus.fullname" . }}-db
|
||||
{{- if not (.Values.prometheus.storageSpec.disableMountSubPath | default (not .Values.prometheus.persistence.enabled)) }}
|
||||
subPath: prometheus-db
|
||||
{{- end }}
|
||||
{{- if .Values.prometheus.thanos.extraVolumeMounts }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.prometheus.thanos.extraVolumeMounts "context" $) | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.prometheus.thanos.containerSecurityContext.enabled }}
|
||||
# yamllint disable rule:indentation
|
||||
securityContext: {{- omit .Values.prometheus.thanos.containerSecurityContext "enabled" | toYaml | nindent 8 }}
|
||||
# yamllint enable rule:indentation
|
||||
{{- end }}
|
||||
{{- if .Values.prometheus.thanos.livenessProbe.enabled }}
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: {{ .Values.prometheus.thanos.livenessProbe.path }}
|
||||
port: http
|
||||
scheme: HTTP
|
||||
initialDelaySeconds: {{ .Values.prometheus.thanos.livenessProbe.initialDelaySeconds }}
|
||||
periodSeconds: {{ .Values.prometheus.thanos.livenessProbe.periodSeconds }}
|
||||
timeoutSeconds: {{ .Values.prometheus.thanos.livenessProbe.timeoutSeconds }}
|
||||
failureThreshold: {{ .Values.prometheus.thanos.livenessProbe.failureThreshold }}
|
||||
successThreshold: {{ .Values.prometheus.thanos.livenessProbe.successThreshold }}
|
||||
{{- end }}
|
||||
{{- if .Values.prometheus.thanos.readinessProbe.enabled }}
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: {{ .Values.prometheus.thanos.readinessProbe.path }}
|
||||
port: http
|
||||
scheme: HTTP
|
||||
initialDelaySeconds: {{ .Values.prometheus.thanos.readinessProbe.initialDelaySeconds }}
|
||||
periodSeconds: {{ .Values.prometheus.thanos.readinessProbe.periodSeconds }}
|
||||
timeoutSeconds: {{ .Values.prometheus.thanos.readinessProbe.timeoutSeconds }}
|
||||
failureThreshold: {{ .Values.prometheus.thanos.readinessProbe.failureThreshold }}
|
||||
successThreshold: {{ .Values.prometheus.thanos.readinessProbe.successThreshold }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if or .Values.prometheus.containerSecurityContext.enabled .Values.prometheus.livenessProbe.enabled .Values.prometheus.readinessProbe.enabled }}
|
||||
## This monkey patching is needed until the securityContexts are
|
||||
## directly patchable via the CRD.
|
||||
## ref: https://github.com/prometheus-operator/prometheus-operator/issues/3947
|
||||
## currently implemented with strategic merge
|
||||
## ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/user-guides/strategic-merge-patch.md
|
||||
- name: prometheus
|
||||
{{- if .Values.prometheus.containerSecurityContext.enabled }}
|
||||
securityContext: {{- omit .Values.prometheus.containerSecurityContext "enabled" | toYaml | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.prometheus.livenessProbe.enabled }}
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: {{ .Values.prometheus.livenessProbe.path }}
|
||||
port: main
|
||||
scheme: HTTP
|
||||
initialDelaySeconds: {{ .Values.prometheus.livenessProbe.initialDelaySeconds }}
|
||||
periodSeconds: {{ .Values.prometheus.livenessProbe.periodSeconds }}
|
||||
timeoutSeconds: {{ .Values.prometheus.livenessProbe.timeoutSeconds }}
|
||||
failureThreshold: {{ .Values.prometheus.livenessProbe.failureThreshold }}
|
||||
successThreshold: {{ .Values.prometheus.livenessProbe.successThreshold }}
|
||||
{{- end }}
|
||||
{{- if .Values.prometheus.readinessProbe.enabled }}
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: {{ .Values.prometheus.readinessProbe.path }}
|
||||
port: main
|
||||
scheme: HTTP
|
||||
initialDelaySeconds: {{ .Values.prometheus.readinessProbe.initialDelaySeconds }}
|
||||
periodSeconds: {{ .Values.prometheus.readinessProbe.periodSeconds }}
|
||||
timeoutSeconds: {{ .Values.prometheus.readinessProbe.timeoutSeconds }}
|
||||
failureThreshold: {{ .Values.prometheus.readinessProbe.failureThreshold }}
|
||||
successThreshold: {{ .Values.prometheus.readinessProbe.successThreshold }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if or .Values.operator.prometheusConfigReloader.containerSecurityContext.enabled .Values.operator.prometheusConfigReloader.livenessProbe.enabled .Values.operator.prometheusConfigReloader.readinessProbe.enabled }}
|
||||
## This monkey patching is needed until the securityContexts are
|
||||
## directly patchable via the CRD.
|
||||
## ref: https://github.com/prometheus-operator/prometheus-operator/issues/3947
|
||||
## currently implemented with strategic merge
|
||||
## ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/user-guides/strategic-merge-patch.md
|
||||
- name: config-reloader
|
||||
{{- if .Values.operator.prometheusConfigReloader.containerSecurityContext.enabled }}
|
||||
securityContext: {{- omit .Values.operator.prometheusConfigReloader.containerSecurityContext "enabled" | toYaml | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.operator.prometheusConfigReloader.livenessProbe.enabled }}
|
||||
livenessProbe:
|
||||
tcpSocket:
|
||||
port: reloader-web
|
||||
initialDelaySeconds: {{ .Values.operator.prometheusConfigReloader.livenessProbe.initialDelaySeconds }}
|
||||
periodSeconds: {{ .Values.operator.prometheusConfigReloader.livenessProbe.periodSeconds }}
|
||||
timeoutSeconds: {{ .Values.operator.prometheusConfigReloader.livenessProbe.timeoutSeconds }}
|
||||
failureThreshold: {{ .Values.operator.prometheusConfigReloader.livenessProbe.failureThreshold }}
|
||||
successThreshold: {{ .Values.operator.prometheusConfigReloader.livenessProbe.successThreshold }}
|
||||
{{- end }}
|
||||
{{- if .Values.operator.prometheusConfigReloader.readinessProbe.enabled }}
|
||||
readinessProbe:
|
||||
tcpSocket:
|
||||
port: reloader-web
|
||||
initialDelaySeconds: {{ .Values.operator.prometheusConfigReloader.readinessProbe.initialDelaySeconds }}
|
||||
periodSeconds: {{ .Values.operator.prometheusConfigReloader.readinessProbe.periodSeconds }}
|
||||
timeoutSeconds: {{ .Values.operator.prometheusConfigReloader.readinessProbe.timeoutSeconds }}
|
||||
failureThreshold: {{ .Values.operator.prometheusConfigReloader.readinessProbe.failureThreshold }}
|
||||
successThreshold: {{ .Values.operator.prometheusConfigReloader.readinessProbe.successThreshold }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if .Values.prometheus.containers }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.prometheus.containers "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if .Values.prometheus.priorityClassName }}
|
||||
priorityClassName: {{ .Values.prometheus.priorityClassName }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
|
@ -1,29 +0,0 @@
|
|||
{{- define "prometheus.prometheus.servicemonitor" -}}
|
||||
{{- if and .Values.prometheus.enabled .Values.prometheus.serviceMonitor.enabled }}
|
||||
---
|
||||
apiVersion: monitoring.coreos.com/v1
|
||||
kind: ServiceMonitor
|
||||
metadata:
|
||||
name: {{ template "kube-prometheus.prometheus.fullname" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels: {{- include "kube-prometheus.prometheus.labels" . | nindent 4 }}
|
||||
spec:
|
||||
selector:
|
||||
matchLabels: {{- include "kube-prometheus.prometheus.matchLabels" . | nindent 6 }}
|
||||
namespaceSelector:
|
||||
matchNames:
|
||||
- {{ .Release.Namespace }}
|
||||
endpoints:
|
||||
- port: http
|
||||
{{- if .Values.prometheus.serviceMonitor.interval }}
|
||||
interval: {{ .Values.prometheus.serviceMonitor.interval }}
|
||||
{{- end }}
|
||||
path: {{ trimSuffix "/" .Values.prometheus.routePrefix }}/metrics
|
||||
{{- if .Values.prometheus.serviceMonitor.metricRelabelings }}
|
||||
metricRelabelings: {{- include "common.tplvalues.render" ( dict "value" .Values.prometheus.serviceMonitor.metricRelabelings "context" $) | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.prometheus.serviceMonitor.relabelings }}
|
||||
relabelings: {{- toYaml .Values.prometheus.serviceMonitor.relabelings | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
|
@ -1,41 +0,0 @@
|
|||
{{- if and .Values.prometheus.enabled -}}
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: {{ template "kube-prometheus.prometheus.fullname" . }}
|
||||
labels: {{- include "kube-prometheus.prometheus.labels" . | nindent 4 }}
|
||||
rules:
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- nodes/metrics
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- nodes
|
||||
- nodes/proxy
|
||||
- services
|
||||
- endpoints
|
||||
- pods
|
||||
verbs:
|
||||
- "get"
|
||||
- "list"
|
||||
- "watch"
|
||||
- apiGroups:
|
||||
- extensions
|
||||
- "networking.k8s.io"
|
||||
resources:
|
||||
- ingresses
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- nonResourceURLs:
|
||||
- "/metrics"
|
||||
verbs:
|
||||
- "get"
|
||||
{{- end }}
|
|
@ -1,15 +0,0 @@
|
|||
{{- if and .Values.prometheus.enabled }}
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: {{ template "kube-prometheus.prometheus.fullname" . }}
|
||||
labels: {{- include "kube-prometheus.prometheus.labels" . | nindent 4 }}
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: {{ template "kube-prometheus.prometheus.fullname" . }}
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: {{ template "kube-prometheus.prometheus.serviceAccountName" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
{{- end }}
|
|
@ -1,12 +0,0 @@
|
|||
{{- if and .Values.prometheus.enabled .Values.prometheus.serviceAccount.create }}
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: {{ template "kube-prometheus.prometheus.serviceAccountName" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels: {{- include "kube-prometheus.prometheus.labels" . | nindent 4 }}
|
||||
{{- if index .Values.prometheus.serviceAccount "annotations" }}
|
||||
annotations: {{- include "common.tplvalues.render" (dict "value" .Values.prometheus.serviceAccount.annotations "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- include "kube-prometheus.imagePullSecrets" . }}
|
||||
{{- end }}
|
|
@ -1,4 +0,0 @@
|
|||
icon_url: https://raw.githubusercontent.com/prometheus/prometheus.github.io/master/assets/prometheus_logo-cb55bb5c346.png
|
||||
categories:
|
||||
- metrics
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
# Changelog<br>
|
||||
|
||||
|
||||
<a name="promtail-0.0.4"></a>
|
||||
### [promtail-0.0.4](https://github.com/truecharts/apps/compare/promtail-0.0.3...promtail-0.0.4) (2021-11-24)
|
||||
|
||||
#### Fix
|
||||
|
||||
* fix storage issues with promtail
|
||||
|
||||
|
||||
|
||||
<a name="promtail-0.0.3"></a>
|
||||
### [promtail-0.0.3](https://github.com/truecharts/apps/compare/promtail-0.0.2...promtail-0.0.3) (2021-11-24)
|
||||
|
||||
#### Fix
|
||||
|
||||
* correct mistake in namespace generator
|
||||
|
||||
|
||||
|
||||
<a name="promtail-0.0.2"></a>
|
||||
### [promtail-0.0.2](https://github.com/truecharts/apps/compare/promtail-0.0.1...promtail-0.0.2) (2021-11-24)
|
||||
|
||||
#### Fix
|
||||
|
||||
* use actual namespace on promtail
|
||||
|
||||
|
||||
|
||||
<a name="promtail-0.0.1"></a>
|
||||
### promtail-0.0.1 (2021-11-24)
|
||||
|
||||
#### Add
|
||||
|
||||
* add our own promtail dependency App ([#1394](https://github.com/truecharts/apps/issues/1394))
|
|
@ -1,8 +0,0 @@
|
|||
# Configuration Options
|
||||
|
||||
##### Connecting to other apps
|
||||
If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Internally" quick-start guide:
|
||||
https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/
|
||||
|
||||
##### Available config options
|
||||
In the future this page is going to contain an automated list of options available in the installation/edit UI.
|
|
@ -1,6 +0,0 @@
|
|||
dependencies:
|
||||
- name: common
|
||||
repository: https://truecharts.org
|
||||
version: 8.9.3
|
||||
digest: sha256:8e3b075bc94570b49db18d1ea9431f95ed06504fb372ee04f43c667c784d7b14
|
||||
generated: "2021-11-24T19:08:34.715097484Z"
|
|
@ -1,31 +0,0 @@
|
|||
apiVersion: v2
|
||||
appVersion: "2.3.0"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://truecharts.org
|
||||
version: 8.9.3
|
||||
deprecated: false
|
||||
description: Promtail is an agent which ships the contents of local logs to a Loki instance
|
||||
icon: https://raw.githubusercontent.com/grafana/loki/master/docs/sources/logo.png
|
||||
home: https://github.com/truecharts/apps/tree/master/charts/stable/prometheus
|
||||
keywords:
|
||||
- metrics
|
||||
- logs
|
||||
kubeVersion: '>=1.16.0-0'
|
||||
maintainers:
|
||||
- email: info@truecharts.org
|
||||
name: TrueCharts
|
||||
url: https://truecharts.org
|
||||
name: promtail
|
||||
sources:
|
||||
- https://github.com/grafana/loki
|
||||
- https://grafana.com/oss/loki/
|
||||
- https://grafana.com/docs/loki/latest/
|
||||
type: application
|
||||
version: 0.0.4
|
||||
annotations:
|
||||
truecharts.org/catagories: |
|
||||
- metrics
|
||||
- logs
|
||||
truecharts.org/SCALE-support: "true"
|
||||
truecharts.org/grade: U
|
|
@ -1,39 +0,0 @@
|
|||
# Introduction
|
||||
|
||||
Promtail is an agent which ships the contents of local logs to a Loki instance
|
||||
|
||||
TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation.
|
||||
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)**
|
||||
|
||||
## Source Code
|
||||
|
||||
* <https://github.com/grafana/loki>
|
||||
* <https://grafana.com/oss/loki/>
|
||||
* <https://grafana.com/docs/loki/latest/>
|
||||
|
||||
## Requirements
|
||||
|
||||
Kubernetes: `>=1.16.0-0`
|
||||
|
||||
## Dependencies
|
||||
|
||||
| Repository | Name | Version |
|
||||
|------------|------|---------|
|
||||
| https://truecharts.org | common | 8.9.3 |
|
||||
|
||||
## Installing the Chart
|
||||
|
||||
To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/).
|
||||
|
||||
## Uninstalling the Chart
|
||||
|
||||
To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/).
|
||||
|
||||
## Support
|
||||
|
||||
- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first.
|
||||
- See the [Wiki](https://truecharts.org)
|
||||
- Check our [Discord](https://discord.gg/tVsPTHWTtr)
|
||||
- Open a [issue](https://github.com/truecharts/apps/issues/new/choose)
|
||||
---
|
||||
All Rights Reserved - The TrueCharts Project
|
|
@ -1,3 +0,0 @@
|
|||
Promtail is an agent which ships the contents of local logs to a Loki instance
|
||||
|
||||
This App is supplied by TrueCharts, for more information please visit https://truecharts.org
|
Binary file not shown.
|
@ -1,63 +0,0 @@
|
|||
# Default Helm-Values
|
||||
|
||||
TrueCharts is primarily build to supply TrueNAS SCALE Apps.
|
||||
However, we also supply all Apps as standard Helm-Charts. In this document we aim to document the default values in our values.yaml file.
|
||||
|
||||
Most of our Apps also consume our "common" Helm Chart.
|
||||
If this is the case, this means that all values.yaml values are set to the common chart values.yaml by default. This values.yaml file will only contain values that deviate from the common chart.
|
||||
You will, however, be able to use all values referenced in the common chart here, besides the values listed in this document.
|
||||
|
||||
## Values
|
||||
|
||||
| Key | Type | Default | Description |
|
||||
|-----|------|---------|-------------|
|
||||
| args[0] | string | `"-config.file=/etc/promtail/promtail.yaml"` | |
|
||||
| config | object | See `values.yaml` | Section for crafting Promtails config file. The only directly relevant value is `config.file` which is a templated string that references the other values and snippets below this key. |
|
||||
| config.file | string | See `values.yaml` | Config file contents for Promtail. Must be configured as string. It is templated so it can be assembled from reusable snippets in order to avoid redundancy. |
|
||||
| config.logLevel | string | `"info"` | The log level of the Promtail server Must be reference in `config.file` to configure `server.log_level` See default config in `values.yaml` |
|
||||
| config.lokiAddress | string | `""` | The Loki address to post logs to. Must be reference in `config.file` to configure `client.url`. See default config in `values.yaml` |
|
||||
| config.serverPort | int | `3101` | The port of the Promtail server Must be reference in `config.file` to configure `server.http_listen_port` See default config in `values.yaml` |
|
||||
| config.snippets | object | See `values.yaml` | A section of reusable snippets that can be reference in `config.file`. Custom snippets may be added in order to reduce redundancy. This is especially helpful when multiple `kubernetes_sd_configs` are use which usually have large parts in common. |
|
||||
| config.snippets.extraClientConfigs | string | empty | You can put here any keys that will be directly added to the config file's 'client' block. |
|
||||
| config.snippets.extraRelabelConfigs | list | `[]` | You can put here any additional relabel_configs to "kubernetes-pods" job |
|
||||
| config.snippets.extraScrapeConfigs | string | empty | You can put here any additional scrape configs you want to add to the config file. |
|
||||
| envValueFrom.HOSTNAME.fieldRef.fieldPath | string | `"spec.nodeName"` | |
|
||||
| image.repository | string | `"grafana/promtail"` | |
|
||||
| image.tag | string | `"v2.3.0@sha256:1e8554cdac6681f877d10a2a383d8fcc2f475188914282ccf86722c2e23c501c"` | |
|
||||
| persistence.config.enabled | bool | `true` | |
|
||||
| persistence.config.mountPath | string | `"/etc/promtail"` | |
|
||||
| persistence.config.objectName | string | `"promtail-config"` | |
|
||||
| persistence.config.type | string | `"secret"` | |
|
||||
| persistence.containers.enabled | bool | `true` | |
|
||||
| persistence.containers.hostPath | string | `"/mnt"` | |
|
||||
| persistence.containers.mountPath | string | `"/mnt"` | |
|
||||
| persistence.containers.readOnly | bool | `true` | |
|
||||
| persistence.containers.type | string | `"hostPath"` | |
|
||||
| persistence.pods.enabled | bool | `true` | |
|
||||
| persistence.pods.hostPath | string | `"/var/log/pods"` | |
|
||||
| persistence.pods.mountPath | string | `"/var/log/pods"` | |
|
||||
| persistence.pods.readOnly | bool | `true` | |
|
||||
| persistence.pods.type | string | `"hostPath"` | |
|
||||
| persistence.run.enabled | bool | `true` | |
|
||||
| persistence.run.hostPath | string | `"/run/promtai"` | |
|
||||
| persistence.run.mountPath | string | `"/run/promtail"` | |
|
||||
| persistence.run.type | string | `"hostPath"` | |
|
||||
| podSecurityContext | object | `{"runAsGroup":0,"runAsUser":0}` | The security context for pods |
|
||||
| probes.liveness.path | string | `"/ready"` | |
|
||||
| probes.readiness.path | string | `"/ready"` | |
|
||||
| probes.startup.path | string | `"/ready"` | |
|
||||
| rbac | object | `{"enabled":true,"rules":[{"apiGroups":[""],"resources":["nodes","nodes/proxy","services","endpoints","pods"],"verbs":["get","watch","list"]}]}` | Whether Role Based Access Control objects like roles and rolebindings should be created |
|
||||
| securityContext | object | `{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"readOnlyRootFilesystem":true,"runAsNonRoot":false}` | The security context for containers |
|
||||
| service.main.ports.main.port | int | `3101` | |
|
||||
| service.main.ports.main.targetPort | int | `3101` | |
|
||||
| serviceAccount.create | bool | `true` | Specifies whether a ServiceAccount should be created |
|
||||
| serviceMonitor.annotations | object | `{}` | ServiceMonitor annotations |
|
||||
| serviceMonitor.enabled | bool | `false` | If enabled, ServiceMonitor resources for Prometheus Operator are created |
|
||||
| serviceMonitor.interval | string | `nil` | ServiceMonitor scrape interval |
|
||||
| serviceMonitor.labels | object | `{}` | Additional ServiceMonitor labels |
|
||||
| serviceMonitor.namespace | string | `nil` | Alternative namespace for ServiceMonitor resources |
|
||||
| serviceMonitor.namespaceSelector | object | `{}` | Namespace selector for ServiceMonitor resources |
|
||||
| serviceMonitor.scrapeTimeout | string | `nil` | ServiceMonitor scrape timeout in Go duration format (e.g. 15s) |
|
||||
| tolerations | list | `[{"effect":"NoSchedule","key":"node-role.kubernetes.io/master","operator":"Exists"},{"effect":"NoSchedule","key":"node-role.kubernetes.io/control-plane","operator":"Exists"}]` | Tolerations for pods. By default, pods will be scheduled on master/control-plane nodes. |
|
||||
|
||||
All Rights Reserved - The TrueCharts Project
|
|
@ -1,253 +0,0 @@
|
|||
image:
|
||||
repository: grafana/promtail
|
||||
tag: v2.3.0@sha256:1e8554cdac6681f877d10a2a383d8fcc2f475188914282ccf86722c2e23c501c
|
||||
|
||||
# controller:
|
||||
# # -- Set the controller type.
|
||||
# # Valid options are deployment, daemonset or statefulset
|
||||
# type: daemonset
|
||||
|
||||
args:
|
||||
- "-config.file=/etc/promtail/promtail.yaml"
|
||||
|
||||
envValueFrom:
|
||||
HOSTNAME:
|
||||
fieldRef:
|
||||
fieldPath: spec.nodeName
|
||||
|
||||
service:
|
||||
main:
|
||||
ports:
|
||||
main:
|
||||
targetPort: 3101
|
||||
port: 3101
|
||||
probes:
|
||||
liveness:
|
||||
path: "/ready"
|
||||
|
||||
readiness:
|
||||
path: "/ready"
|
||||
|
||||
startup:
|
||||
path: "/ready"
|
||||
|
||||
# -- The security context for pods
|
||||
podSecurityContext:
|
||||
runAsUser: 0
|
||||
runAsGroup: 0
|
||||
|
||||
# -- The security context for containers
|
||||
securityContext:
|
||||
readOnlyRootFilesystem: true
|
||||
capabilities:
|
||||
drop:
|
||||
- ALL
|
||||
allowPrivilegeEscalation: false
|
||||
runAsNonRoot: false
|
||||
|
||||
persistence:
|
||||
containers:
|
||||
enabled: true
|
||||
type: hostPath
|
||||
mountPath: /mnt
|
||||
hostPath: /mnt
|
||||
readOnly: true
|
||||
pods:
|
||||
enabled: true
|
||||
type: hostPath
|
||||
mountPath: /var/log/pods
|
||||
hostPath: /var/log/pods
|
||||
readOnly: true
|
||||
run:
|
||||
enabled: true
|
||||
type: hostPath
|
||||
mountPath: /run/promtail
|
||||
hostPath: /run/promtai
|
||||
config:
|
||||
enabled: true
|
||||
type: secret
|
||||
objectName: "promtail-config"
|
||||
mountPath: /etc/promtail
|
||||
|
||||
|
||||
# -- Whether Role Based Access Control objects like roles and rolebindings should be created
|
||||
rbac:
|
||||
enabled: true
|
||||
rules:
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- nodes
|
||||
- nodes/proxy
|
||||
- services
|
||||
- endpoints
|
||||
- pods
|
||||
verbs:
|
||||
- get
|
||||
- watch
|
||||
- list
|
||||
|
||||
serviceAccount:
|
||||
# -- Specifies whether a ServiceAccount should be created
|
||||
create: true
|
||||
|
||||
# -- Tolerations for pods. By default, pods will be scheduled on master/control-plane nodes.
|
||||
tolerations:
|
||||
- key: node-role.kubernetes.io/master
|
||||
operator: Exists
|
||||
effect: NoSchedule
|
||||
- key: node-role.kubernetes.io/control-plane
|
||||
operator: Exists
|
||||
effect: NoSchedule
|
||||
|
||||
# ServiceMonitor configuration
|
||||
serviceMonitor:
|
||||
# -- If enabled, ServiceMonitor resources for Prometheus Operator are created
|
||||
enabled: false
|
||||
# -- Alternative namespace for ServiceMonitor resources
|
||||
namespace: null
|
||||
# -- Namespace selector for ServiceMonitor resources
|
||||
namespaceSelector: {}
|
||||
# -- ServiceMonitor annotations
|
||||
annotations: {}
|
||||
# -- Additional ServiceMonitor labels
|
||||
labels: {}
|
||||
# -- ServiceMonitor scrape interval
|
||||
interval: null
|
||||
# -- ServiceMonitor scrape timeout in Go duration format (e.g. 15s)
|
||||
scrapeTimeout: null
|
||||
|
||||
# -- Section for crafting Promtails config file. The only directly relevant value is `config.file`
|
||||
# which is a templated string that references the other values and snippets below this key.
|
||||
# @default -- See `values.yaml`
|
||||
config:
|
||||
# -- The log level of the Promtail server
|
||||
# Must be reference in `config.file` to configure `server.log_level`
|
||||
# See default config in `values.yaml`
|
||||
logLevel: info
|
||||
# -- The port of the Promtail server
|
||||
# Must be reference in `config.file` to configure `server.http_listen_port`
|
||||
# See default config in `values.yaml`
|
||||
serverPort: 3101
|
||||
# -- The Loki address to post logs to.
|
||||
# Must be reference in `config.file` to configure `client.url`.
|
||||
# See default config in `values.yaml`
|
||||
lokiAddress: ""
|
||||
# -- A section of reusable snippets that can be reference in `config.file`.
|
||||
# Custom snippets may be added in order to reduce redundancy.
|
||||
# This is especially helpful when multiple `kubernetes_sd_configs` are use which usually have large parts in common.
|
||||
# @default -- See `values.yaml`
|
||||
snippets:
|
||||
pipelineStages:
|
||||
- cri: {}
|
||||
common:
|
||||
- action: replace
|
||||
source_labels:
|
||||
- __meta_kubernetes_pod_node_name
|
||||
target_label: node_name
|
||||
- action: replace
|
||||
source_labels:
|
||||
- __meta_kubernetes_namespace
|
||||
target_label: namespace
|
||||
- action: replace
|
||||
replacement: $1
|
||||
separator: /
|
||||
source_labels:
|
||||
- namespace
|
||||
- app
|
||||
target_label: job
|
||||
- action: replace
|
||||
source_labels:
|
||||
- __meta_kubernetes_pod_name
|
||||
target_label: pod
|
||||
- action: replace
|
||||
source_labels:
|
||||
- __meta_kubernetes_pod_container_name
|
||||
target_label: container
|
||||
- action: replace
|
||||
replacement: /var/log/pods/*$1/*.log
|
||||
separator: /
|
||||
source_labels:
|
||||
- __meta_kubernetes_pod_uid
|
||||
- __meta_kubernetes_pod_container_name
|
||||
target_label: __path__
|
||||
- action: replace
|
||||
replacement: /var/log/pods/*$1/*.log
|
||||
regex: true/(.*)
|
||||
separator: /
|
||||
source_labels:
|
||||
- __meta_kubernetes_pod_annotationpresent_kubernetes_io_config_hash
|
||||
- __meta_kubernetes_pod_annotation_kubernetes_io_config_hash
|
||||
- __meta_kubernetes_pod_container_name
|
||||
target_label: __path__
|
||||
|
||||
# If set to true, adds an additional label for the scrape job.
|
||||
# This helps debug the Promtail config.
|
||||
addScrapeJobLabel: false
|
||||
|
||||
# -- You can put here any keys that will be directly added to the config file's 'client' block.
|
||||
# @default -- empty
|
||||
extraClientConfigs: ""
|
||||
|
||||
# -- You can put here any additional scrape configs you want to add to the config file.
|
||||
# @default -- empty
|
||||
extraScrapeConfigs: ""
|
||||
|
||||
# -- You can put here any additional relabel_configs to "kubernetes-pods" job
|
||||
extraRelabelConfigs: []
|
||||
|
||||
scrapeConfigs: |
|
||||
# See also https://github.com/grafana/loki/blob/master/production/ksonnet/promtail/scrape_config.libsonnet for reference
|
||||
- job_name: kubernetes-pods
|
||||
pipeline_stages:
|
||||
{{- toYaml .Values.config.snippets.pipelineStages | nindent 4 }}
|
||||
kubernetes_sd_configs:
|
||||
- role: pod
|
||||
relabel_configs:
|
||||
- source_labels:
|
||||
- __meta_kubernetes_pod_controller_name
|
||||
regex: ([0-9a-z-.]+?)(-[0-9a-f]{8,10})?
|
||||
action: replace
|
||||
target_label: __tmp_controller_name
|
||||
- source_labels:
|
||||
- __meta_kubernetes_pod_label_app_kubernetes_io_name
|
||||
- __meta_kubernetes_pod_label_app
|
||||
- __tmp_controller_name
|
||||
- __meta_kubernetes_pod_name
|
||||
regex: ^;*([^;]+)(;.*)?$
|
||||
action: replace
|
||||
target_label: app
|
||||
- source_labels:
|
||||
- __meta_kubernetes_pod_label_app_kubernetes_io_component
|
||||
- __meta_kubernetes_pod_label_component
|
||||
regex: ^;*([^;]+)(;.*)?$
|
||||
action: replace
|
||||
target_label: component
|
||||
{{- if .Values.config.snippets.addScrapeJobLabel }}
|
||||
- replacement: kubernetes-pods
|
||||
target_label: scrape_job
|
||||
{{- end }}
|
||||
{{- toYaml .Values.config.snippets.common | nindent 4 }}
|
||||
{{- with .Values.config.snippets.extraRelabelConfigs }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
|
||||
# -- Config file contents for Promtail.
|
||||
# Must be configured as string.
|
||||
# It is templated so it can be assembled from reusable snippets in order to avoid redundancy.
|
||||
# @default -- See `values.yaml`
|
||||
file: |
|
||||
server:
|
||||
log_level: {{ .Values.config.logLevel }}
|
||||
http_listen_port: {{ .Values.config.serverPort }}
|
||||
|
||||
client:
|
||||
url: {{ .Values.config.lokiAddress | default ( printf "http://%v.%v.svc.cluster.local:3100/loki/api/v1/push" .Release.Name .Release.Namespace ) }}
|
||||
{{- tpl .Values.config.snippets.extraClientConfigs . | nindent 2 }}
|
||||
|
||||
positions:
|
||||
filename: /run/promtail/positions.yaml
|
||||
|
||||
scrape_configs:
|
||||
{{- tpl .Values.config.snippets.scrapeConfigs . | nindent 2 }}
|
||||
{{- tpl .Values.config.snippets.extraScrapeConfigs . | nindent 2 }}
|
|
@ -1,890 +0,0 @@
|
|||
groups:
|
||||
- name: "Container Image"
|
||||
description: "Image to be used for container"
|
||||
- name: "Controller"
|
||||
description: "Configure workload deployment"
|
||||
- name: "Container Configuration"
|
||||
description: "additional container configuration"
|
||||
- name: "App Configuration"
|
||||
description: "App specific config options"
|
||||
- name: "Networking and Services"
|
||||
description: "Configure Network and Services for container"
|
||||
- name: "Storage and Persistence"
|
||||
description: "Persist and share data that is separate from the container"
|
||||
- name: "Ingress"
|
||||
description: "Ingress Configuration"
|
||||
- name: "Security and Permissions"
|
||||
description: "Configure security context and permissions"
|
||||
- name: "Resources and Devices"
|
||||
description: "Specify resources/devices to be allocated to workload"
|
||||
- name: "Middlewares"
|
||||
description: "Traefik Middlewares"
|
||||
- name: "Metrics"
|
||||
description: "Metrics"
|
||||
- name: "Addons"
|
||||
description: "Addon Configuration"
|
||||
- name: "Advanced"
|
||||
description: "Advanced Configuration"
|
||||
portals: {}
|
||||
questions:
|
||||
|
||||
- variable: service
|
||||
group: "Networking and Services"
|
||||
label: "Configure Service(s)"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: main
|
||||
label: "Main Service"
|
||||
description: "The serving the Prometheus WebUI"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable the service"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: true
|
||||
- variable: type
|
||||
label: "Service Type"
|
||||
description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer"
|
||||
schema:
|
||||
type: string
|
||||
default: "Simple"
|
||||
enum:
|
||||
- value: "Simple"
|
||||
description: "Simple"
|
||||
- value: "ClusterIP"
|
||||
description: "ClusterIP"
|
||||
- value: "NodePort"
|
||||
description: "NodePort (Advanced)"
|
||||
- value: "LoadBalancer"
|
||||
description: "LoadBalancer (Advanced)"
|
||||
- variable: loadBalancerIP
|
||||
label: "LoadBalancer IP"
|
||||
description: "LoadBalancerIP"
|
||||
schema:
|
||||
show_if: [["type", "=", "LoadBalancer"]]
|
||||
type: string
|
||||
default: ""
|
||||
- variable: externalIPs
|
||||
label: "External IP's"
|
||||
description: "External IP's"
|
||||
schema:
|
||||
show_if: [["type", "=", "LoadBalancer"]]
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: externalIP
|
||||
label: "External IP"
|
||||
schema:
|
||||
type: string
|
||||
- variable: ports
|
||||
label: "Service's Port(s) Configuration"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: main
|
||||
label: "Main Service Port Configuration"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: port
|
||||
label: "Port"
|
||||
description: "This port exposes the container port on the service"
|
||||
schema:
|
||||
type: int
|
||||
default: 3101
|
||||
required: true
|
||||
- variable: advanced
|
||||
label: "Show Advanced settings"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: enabled
|
||||
label: "Enable the port"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: protocol
|
||||
label: "Port Type"
|
||||
schema:
|
||||
type: string
|
||||
default: "HTTP"
|
||||
enum:
|
||||
- value: HTTP
|
||||
description: "HTTP"
|
||||
- value: "HTTPS"
|
||||
description: "HTTPS"
|
||||
- value: TCP
|
||||
description: "TCP"
|
||||
- value: "UDP"
|
||||
description: "UDP"
|
||||
- variable: nodePort
|
||||
label: "Node Port (Optional)"
|
||||
description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer"
|
||||
schema:
|
||||
type: int
|
||||
min: 9000
|
||||
max: 65535
|
||||
- variable: targetPort
|
||||
label: "Target Port"
|
||||
description: "The internal(!) port on the container the Application runs on"
|
||||
schema:
|
||||
type: int
|
||||
default: 3101
|
||||
|
||||
- variable: serviceexpert
|
||||
group: "Networking and Services"
|
||||
label: "Show Expert Config"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: hostNetwork
|
||||
group: "Networking and Services"
|
||||
label: "Host-Networking (Complicated)"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: dnsPolicy
|
||||
group: "Networking and Services"
|
||||
label: "dnsPolicy"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
enum:
|
||||
- value: ""
|
||||
description: "Default"
|
||||
- value: "ClusterFirst"
|
||||
description: "ClusterFirst"
|
||||
- value: "ClusterFirstWithHostNet"
|
||||
description: "ClusterFirstWithHostNet"
|
||||
- value: "None"
|
||||
description: "None"
|
||||
|
||||
- variable: dnsConfig
|
||||
label: "DNS Configuration"
|
||||
group: "Networking and Services"
|
||||
description: "Specify custom DNS configuration which will be applied to the pod"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: nameservers
|
||||
label: "Nameservers"
|
||||
schema:
|
||||
default: []
|
||||
type: list
|
||||
items:
|
||||
- variable: nameserver
|
||||
label: "Nameserver"
|
||||
schema:
|
||||
type: string
|
||||
- variable: options
|
||||
label: "options"
|
||||
schema:
|
||||
default: []
|
||||
type: list
|
||||
items:
|
||||
- variable: option
|
||||
label: "Option Entry"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
- variable: value
|
||||
label: "Value"
|
||||
schema:
|
||||
type: string
|
||||
- variable: searches
|
||||
label: "Searches"
|
||||
schema:
|
||||
default: []
|
||||
type: list
|
||||
items:
|
||||
- variable: search
|
||||
label: "Search Entry"
|
||||
schema:
|
||||
type: string
|
||||
|
||||
- variable: serviceList
|
||||
label: "Add Manual Custom Services"
|
||||
group: "Networking and Services"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: serviceListEntry
|
||||
label: "Custom Service"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable the service"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: true
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
- variable: type
|
||||
label: "Service Type"
|
||||
description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer"
|
||||
schema:
|
||||
type: string
|
||||
default: "Simple"
|
||||
enum:
|
||||
- value: "Simple"
|
||||
description: "Simple"
|
||||
- value: "NodePort"
|
||||
description: "NodePort"
|
||||
- value: "ClusterIP"
|
||||
description: "ClusterIP"
|
||||
- value: "LoadBalancer"
|
||||
description: "LoadBalancer"
|
||||
- variable: loadBalancerIP
|
||||
label: "LoadBalancer IP"
|
||||
description: "LoadBalancerIP"
|
||||
schema:
|
||||
show_if: [["type", "=", "LoadBalancer"]]
|
||||
type: string
|
||||
default: ""
|
||||
- variable: externalIPs
|
||||
label: "External IP's"
|
||||
description: "External IP's"
|
||||
schema:
|
||||
show_if: [["type", "=", "LoadBalancer"]]
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: externalIP
|
||||
label: "External IP"
|
||||
schema:
|
||||
type: string
|
||||
- variable: portsList
|
||||
label: "Additional Service Ports"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: portsListEntry
|
||||
label: "Custom ports"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable the port"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: true
|
||||
- variable: name
|
||||
label: "Port Name"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
- variable: protocol
|
||||
label: "Port Type"
|
||||
schema:
|
||||
type: string
|
||||
default: "TCP"
|
||||
enum:
|
||||
- value: HTTP
|
||||
description: "HTTP"
|
||||
- value: "HTTPS"
|
||||
description: "HTTPS"
|
||||
- value: TCP
|
||||
description: "TCP"
|
||||
- value: "UDP"
|
||||
description: "UDP"
|
||||
- variable: targetPort
|
||||
label: "Target Port"
|
||||
description: "This port exposes the container port on the service"
|
||||
schema:
|
||||
type: int
|
||||
required: true
|
||||
- variable: port
|
||||
label: "Container Port"
|
||||
schema:
|
||||
type: int
|
||||
required: true
|
||||
- variable: nodePort
|
||||
label: "Node Port (Optional)"
|
||||
description: "This port gets exposed to the node. Only considered when service type is NodePort"
|
||||
schema:
|
||||
type: int
|
||||
min: 9000
|
||||
max: 65535
|
||||
|
||||
- variable: persistenceList
|
||||
label: "Additional app storage"
|
||||
group: "Storage and Persistence"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: persistenceListEntry
|
||||
label: "Custom Storage"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable the storage"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: true
|
||||
- variable: name
|
||||
label: "Name (optional)"
|
||||
description: "Not required, please set to config when mounting /config or temp when mounting /tmp"
|
||||
schema:
|
||||
type: string
|
||||
- variable: type
|
||||
label: "Type of Storage"
|
||||
description: "Sets the persistence type, Anything other than PVC could break rollback!"
|
||||
schema:
|
||||
type: string
|
||||
default: "simpleHP"
|
||||
enum:
|
||||
- value: "simplePVC"
|
||||
description: "PVC (simple)"
|
||||
- value: "simpleHP"
|
||||
description: "HostPath (simple)"
|
||||
- value: "emptyDir"
|
||||
description: "emptyDir"
|
||||
- value: "pvc"
|
||||
description: "pvc"
|
||||
- value: "hostPath"
|
||||
description: "hostPath"
|
||||
- variable: setPermissionsSimple
|
||||
label: "Automatic Permissions"
|
||||
description: "Automatically set permissions on install"
|
||||
schema:
|
||||
show_if: [["type", "=", "simpleHP"]]
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: setPermissions
|
||||
label: "Automatic Permissions"
|
||||
description: "Automatically set permissions on install"
|
||||
schema:
|
||||
show_if: [["type", "=", "hostPath"]]
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: readOnly
|
||||
label: "readOnly"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: hostPathSimple
|
||||
label: "hostPath"
|
||||
description: "Path inside the container the storage is mounted"
|
||||
schema:
|
||||
show_if: [["type", "=", "simpleHP"]]
|
||||
type: hostpath
|
||||
- variable: hostPath
|
||||
label: "hostPath"
|
||||
description: "Path inside the container the storage is mounted"
|
||||
schema:
|
||||
show_if: [["type", "=", "hostPath"]]
|
||||
type: hostpath
|
||||
- variable: mountPath
|
||||
label: "mountPath"
|
||||
description: "Path inside the container the storage is mounted"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
valid_chars: '^\/([a-zA-Z0-9._-]+(\s?[a-zA-Z0-9._-]+|\/?))+$'
|
||||
- variable: medium
|
||||
label: "EmptyDir Medium"
|
||||
schema:
|
||||
show_if: [["type", "=", "emptyDir"]]
|
||||
type: string
|
||||
default: ""
|
||||
enum:
|
||||
- value: ""
|
||||
description: "Default"
|
||||
- value: "Memory"
|
||||
description: "Memory"
|
||||
- variable: size
|
||||
label: "Size quotum of storage"
|
||||
schema:
|
||||
show_if: [["type", "=", "pvc"]]
|
||||
type: string
|
||||
default: "999Gi"
|
||||
- variable: hostPathType
|
||||
label: "(Advanced) hostPath Type"
|
||||
schema:
|
||||
show_if: [["type", "=", "hostPath"]]
|
||||
type: string
|
||||
default: ""
|
||||
enum:
|
||||
- value: ""
|
||||
description: "Default"
|
||||
- value: "DirectoryOrCreate"
|
||||
description: "DirectoryOrCreate"
|
||||
- value: "Directory"
|
||||
description: "Directory"
|
||||
- value: "FileOrCreate"
|
||||
description: "FileOrCreate"
|
||||
- value: "File"
|
||||
description: "File"
|
||||
- value: "Socket"
|
||||
description: "Socket"
|
||||
- value: "CharDevice"
|
||||
description: "CharDevice"
|
||||
- value: "BlockDevice"
|
||||
description: "BlockDevice"
|
||||
- variable: storageClass
|
||||
label: "(Advanced) storageClass"
|
||||
description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!"
|
||||
schema:
|
||||
show_if: [["type", "=", "pvc"]]
|
||||
type: string
|
||||
default: "SCALE-ZFS"
|
||||
- variable: accessMode
|
||||
label: "(Advanced) Access Mode"
|
||||
description: "Allow or disallow multiple PVC's writhing to the same PV"
|
||||
schema:
|
||||
show_if: [["type", "=", "pvc"]]
|
||||
type: string
|
||||
default: "ReadWriteOnce"
|
||||
enum:
|
||||
- value: "ReadWriteOnce"
|
||||
description: "ReadWriteOnce"
|
||||
- value: "ReadOnlyMany"
|
||||
description: "ReadOnlyMany"
|
||||
- value: "ReadWriteMany"
|
||||
description: "ReadWriteMany"
|
||||
- variable: advanced
|
||||
label: "Show Advanced Options"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: labelsList
|
||||
label: "Labels"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: labelItem
|
||||
label: "Label"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
- variable: value
|
||||
label: "Value"
|
||||
schema:
|
||||
type: string
|
||||
- variable: annotationsList
|
||||
label: "Annotations"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: annotationItem
|
||||
label: "Label"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
- variable: value
|
||||
label: "Value"
|
||||
schema:
|
||||
type: string
|
||||
|
||||
- variable: ingress
|
||||
label: ""
|
||||
group: "Ingress"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: main
|
||||
label: "Main Ingress"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable Ingress"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: hosts
|
||||
label: "Hosts"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: hostEntry
|
||||
label: "Host"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: host
|
||||
label: "HostName"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
- variable: paths
|
||||
label: "Paths"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: pathEntry
|
||||
label: "Host"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: path
|
||||
label: "path"
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
default: "/"
|
||||
- variable: pathType
|
||||
label: "pathType"
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
default: "Prefix"
|
||||
|
||||
- variable: tls
|
||||
label: "TLS-Settings"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: tlsEntry
|
||||
label: "Host"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: hosts
|
||||
label: "Certificate Hosts"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: host
|
||||
label: "Host"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
- variable: scaleCert
|
||||
label: "Select TrueNAS SCALE Certificate"
|
||||
schema:
|
||||
type: int
|
||||
$ref:
|
||||
- "definitions/certificate"
|
||||
|
||||
- variable: entrypoint
|
||||
label: "(Advanced) Traefik Entrypoint"
|
||||
description: "Entrypoint used by Traefik when using Traefik as Ingress Provider"
|
||||
schema:
|
||||
type: string
|
||||
default: "websecure"
|
||||
required: true
|
||||
- variable: middlewares
|
||||
label: "Traefik Middlewares"
|
||||
description: "Add previously created Traefik Middlewares to this Ingress"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
|
||||
- variable: expert
|
||||
label: "Show Expert Configuration Options"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: enableFixedMiddlewares
|
||||
description: "These middlewares enforce a number of best practices."
|
||||
label: "Enable Default Middlewares"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: ingressClassName
|
||||
label: "IngressClass Name"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
- variable: labelsList
|
||||
label: "Labels"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: labelItem
|
||||
label: "Label"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
- variable: value
|
||||
label: "Value"
|
||||
schema:
|
||||
type: string
|
||||
- variable: annotationsList
|
||||
label: "Annotations"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: annotationItem
|
||||
label: "Label"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
- variable: value
|
||||
label: "Value"
|
||||
schema:
|
||||
type: string
|
||||
|
||||
- variable: ingressList
|
||||
label: "Add Manual Custom Ingresses"
|
||||
group: "Ingress"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: ingressListEntry
|
||||
label: "Custom Ingress"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable Ingress"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: true
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
- variable: ingressClassName
|
||||
label: "IngressClass Name"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
- variable: labelsList
|
||||
label: "Labels"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: labelItem
|
||||
label: "Label"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
- variable: value
|
||||
label: "Value"
|
||||
schema:
|
||||
type: string
|
||||
- variable: annotationsList
|
||||
label: "Annotations"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: annotationItem
|
||||
label: "Label"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
- variable: value
|
||||
label: "Value"
|
||||
schema:
|
||||
type: string
|
||||
- variable: hosts
|
||||
label: "Hosts"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: hostEntry
|
||||
label: "Host"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: host
|
||||
label: "HostName"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
- variable: paths
|
||||
label: "Paths"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: pathEntry
|
||||
label: "Host"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: path
|
||||
label: "path"
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
default: "/"
|
||||
- variable: pathType
|
||||
label: "pathType"
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
default: "Prefix"
|
||||
- variable: service
|
||||
label: "Linked Service"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: "Service Name"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
- variable: port
|
||||
label: "Service Port"
|
||||
schema:
|
||||
type: int
|
||||
- variable: tls
|
||||
label: "TLS-Settings"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: tlsEntry
|
||||
label: "Host"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: hosts
|
||||
label: "Certificate Hosts"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: host
|
||||
label: "Host"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
- variable: scaleCert
|
||||
label: "Select TrueNAS SCALE Certificate"
|
||||
schema:
|
||||
type: int
|
||||
$ref:
|
||||
- "definitions/certificate"
|
||||
- variable: entrypoint
|
||||
label: "Traefik Entrypoint"
|
||||
description: "Entrypoint used by Traefik when using Traefik as Ingress Provider"
|
||||
schema:
|
||||
type: string
|
||||
default: "websecure"
|
||||
required: true
|
||||
- variable: middlewares
|
||||
label: "Traefik Middlewares"
|
||||
description: "Add previously created Traefik Middlewares to this Ingress"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
|
||||
- variable: autoscaling
|
||||
group: "Advanced"
|
||||
label: "(Advanced) Horizontal Pod Autoscaler"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "enabled"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: target
|
||||
label: "Target"
|
||||
description: "deployment name, defaults to main deployment"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
- variable: minReplicas
|
||||
label: "Minimum Replicas"
|
||||
schema:
|
||||
type: int
|
||||
default: 1
|
||||
- variable: maxReplicas
|
||||
label: "Maximum Replicas"
|
||||
schema:
|
||||
type: int
|
||||
default: 5
|
||||
- variable: targetCPUUtilizationPercentage
|
||||
label: "Target CPU Utilization Percentage"
|
||||
schema:
|
||||
type: int
|
||||
default: 80
|
||||
- variable: targetMemoryUtilizationPercentage
|
||||
label: "Target Memory Utilization Percentage"
|
||||
schema:
|
||||
type: int
|
||||
default: 80
|
|
@ -1,2 +0,0 @@
|
|||
{{/* Render the templates */}}
|
||||
{{ include "common.all" . }}
|
|
@ -1,9 +0,0 @@
|
|||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: promtail-config
|
||||
labels:
|
||||
{{- include "common.labels" . | nindent 4 }}
|
||||
stringData:
|
||||
promtail.yaml: |
|
||||
{{- tpl .Values.config.file . | nindent 4 }}
|
|
@ -1,31 +0,0 @@
|
|||
{{- if .Values.serviceMonitor.enabled }}
|
||||
apiVersion: monitoring.coreos.com/v1
|
||||
kind: ServiceMonitor
|
||||
metadata:
|
||||
name: {{ include "common.names.fullname" . -}}
|
||||
{{- with .Values.serviceMonitor.annotations }}
|
||||
annotations:
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
labels:
|
||||
{{- include "common.labels" . | nindent 4 }}
|
||||
{{- with .Values.serviceMonitor.labels }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- with .Values.serviceMonitor.namespaceSelector }}
|
||||
namespaceSelector:
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
selector:
|
||||
matchLabels:
|
||||
{{- include "common.labels.selectorLabels" . | nindent 6 }}
|
||||
endpoints:
|
||||
- port: http-metrics
|
||||
{{- with .Values.serviceMonitor.interval }}
|
||||
interval: {{ . }}
|
||||
{{- end }}
|
||||
{{- with .Values.serviceMonitor.scrapeTimeout }}
|
||||
scrapeTimeout: {{ . }}
|
||||
{{- end }}
|
||||
{{- end }}
|
|
@ -1,5 +0,0 @@
|
|||
icon_url: https://raw.githubusercontent.com/grafana/loki/master/docs/sources/logo.png
|
||||
categories:
|
||||
- metrics
|
||||
- logs
|
||||
|
Loading…
Reference in New Issue