You've already forked reposilite-charts
fix(prometheus): add init containers to download plugins
Some checks failed
Generate README / generate-parameters (push) Failing after 15s
Helm / helm-lint (push) Successful in 15s
Helm / helm-unittest (push) Successful in 7s
Markdown linter / markdown-lint (push) Successful in 8s
Release / publish-chart (push) Successful in 8s
Markdown linter / markdown-link-checker (push) Successful in 43s
Some checks failed
Generate README / generate-parameters (push) Failing after 15s
Helm / helm-lint (push) Successful in 15s
Helm / helm-unittest (push) Successful in 7s
Markdown linter / markdown-lint (push) Successful in 8s
Release / publish-chart (push) Successful in 8s
Markdown linter / markdown-link-checker (push) Successful in 43s
The following patch extends the helm chart of additional init containers for each plugin.
This commit is contained in:
4
.gitignore
vendored
4
.gitignore
vendored
@@ -1,6 +1,6 @@
|
|||||||
charts
|
charts
|
||||||
node_modules
|
node_modules
|
||||||
target
|
target
|
||||||
values2.yml
|
values[0-9].yml
|
||||||
values2.yaml
|
values[0-9].yaml
|
||||||
*.tgz
|
*.tgz
|
||||||
|
79
README.md
79
README.md
@@ -122,14 +122,15 @@ deployment:
|
|||||||
secret.reloader.stakater.com/reload: "reposilite-tls"
|
secret.reloader.stakater.com/reload: "reposilite-tls"
|
||||||
```
|
```
|
||||||
|
|
||||||
### Network policies
|
#### Network policies
|
||||||
|
|
||||||
Network policies can only take effect, when the used CNI plugin support network policies. The chart supports no custom
|
Network policies can only take effect, when the used CNI plugin support network policies. The chart supports no custom
|
||||||
network policy implementation of CNI plugins. It's support only the official API resource of `networking.k8s.io/v1`.
|
network policy implementation of CNI plugins. It's support only the official API resource of `networking.k8s.io/v1`.
|
||||||
|
|
||||||
The example below is an excerpt of the `values.yaml` file. The network policy contains ingress rules to allow incoming
|
The example below is an excerpt of the `values.yaml` file. The network policy contains ingress rules to allow incoming
|
||||||
traffic from an ingress controller. Additionally one egress rule is defined, to allow the application outgoing access
|
traffic from an ingress controller. Additionally two egress rules are defined. The first one to allow the application
|
||||||
to the internal running DNS server `core-dns`.
|
outgoing access to the internal running DNS server `core-dns`. The second rule to be able to access the Apache Maven
|
||||||
|
Central repository via HTTPS.
|
||||||
|
|
||||||
> [!IMPORTANT]
|
> [!IMPORTANT]
|
||||||
> Please keep in mind, that the namespace and pod selector labels can be different from environment to environment. For
|
> Please keep in mind, that the namespace and pod selector labels can be different from environment to environment. For
|
||||||
@@ -156,6 +157,10 @@ networkPolicies:
|
|||||||
protocol: TCP
|
protocol: TCP
|
||||||
- port: 53
|
- port: 53
|
||||||
protocol: UDP
|
protocol: UDP
|
||||||
|
- ports:
|
||||||
|
- port: 443
|
||||||
|
protocol: TCP
|
||||||
|
|
||||||
ingress:
|
ingress:
|
||||||
- from:
|
- from:
|
||||||
- namespaceSelector:
|
- namespaceSelector:
|
||||||
@@ -169,6 +174,26 @@ networkPolicies:
|
|||||||
protocol: TCP
|
protocol: TCP
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Prometheus
|
||||||
|
|
||||||
|
Reposilite is not able to expose metrics by default. Reposilite requires an additional plugin to expose the metrics via
|
||||||
|
`/metrics`. The plugin will be downloaded from Apache Maven Central, when the plugin is enabled directly or the
|
||||||
|
Prometheus feature has been enabled. The plugin is a simple JAR file, which will be stored in `/app/data/plugins`.
|
||||||
|
|
||||||
|
Furthermore, Reposilite will not expose the metrics without protection. For this reason must be defined basic auth
|
||||||
|
credentials. By default generate the helm chart a random username and password for basic auth. For debugging propose can
|
||||||
|
be set the credentials manually.
|
||||||
|
|
||||||
|
The following example enable Prometheus metrics with custom basic auth credentials:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
CHART_VERSION=0.1.3
|
||||||
|
helm install --version "${CHART_VERSION}" reposilite volker.raschek/reposilite \
|
||||||
|
--set 'prometheus.metrics.enabled=true' \
|
||||||
|
--set 'prometheus.metrics.basicAuthUsername=my-username' \
|
||||||
|
--set 'prometheus.metrics.basicAuthUsername=my-password'
|
||||||
|
```
|
||||||
|
|
||||||
## Parameters
|
## Parameters
|
||||||
|
|
||||||
### Global
|
### Global
|
||||||
@@ -178,10 +203,17 @@ networkPolicies:
|
|||||||
| `nameOverride` | Individual release name suffix. | `""` |
|
| `nameOverride` | Individual release name suffix. | `""` |
|
||||||
| `fullnameOverride` | Override the complete release name logic. | `""` |
|
| `fullnameOverride` | Override the complete release name logic. | `""` |
|
||||||
|
|
||||||
|
### Config
|
||||||
|
|
||||||
|
| Name | Description | Value |
|
||||||
|
| ----------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
|
||||||
|
| `config.plugins.prometheus.enabled` | Download the Prometheus plugin via an additional init container. The Prometheus plugin will automatically enabled, when Prometheus is enabled. | `false` |
|
||||||
|
| `config.plugins.prometheus.url` | URL to download the plugin. | `https://maven.reposilite.com/releases/com/reposilite/plugin/prometheus-plugin/3.5.25/prometheus-plugin-3.5.25-all.jar` |
|
||||||
|
|
||||||
### Deployment
|
### Deployment
|
||||||
|
|
||||||
| Name | Description | Value |
|
| Name | Description | Value |
|
||||||
| -------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | --------------------- |
|
| -------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ------------------------------------------- |
|
||||||
| `deployment.annotations` | Additional deployment annotations. | `{}` |
|
| `deployment.annotations` | Additional deployment annotations. | `{}` |
|
||||||
| `deployment.labels` | Additional deployment labels. | `{}` |
|
| `deployment.labels` | Additional deployment labels. | `{}` |
|
||||||
| `deployment.additionalContainers` | List of additional containers. | `[]` |
|
| `deployment.additionalContainers` | List of additional containers. | `[]` |
|
||||||
@@ -205,6 +237,11 @@ networkPolicies:
|
|||||||
| `deployment.reposilite.securityContext` | Security context of the container of the deployment. | `{}` |
|
| `deployment.reposilite.securityContext` | Security context of the container of the deployment. | `{}` |
|
||||||
| `deployment.reposilite.volumeMounts` | Additional volume mounts. | `[]` |
|
| `deployment.reposilite.volumeMounts` | Additional volume mounts. | `[]` |
|
||||||
| `deployment.nodeSelector` | NodeSelector of the Reposilite deployment. | `{}` |
|
| `deployment.nodeSelector` | NodeSelector of the Reposilite deployment. | `{}` |
|
||||||
|
| `deployment.pluginContainer.args` | Arguments passed to the plugin container. | `["--location","--fail","--max-time","60"]` |
|
||||||
|
| `deployment.pluginContainer.image.registry` | Image registry, eg. `docker.io`. | `docker.io` |
|
||||||
|
| `deployment.pluginContainer.image.repository` | Image repository, eg. `curlimages/curl`. | `curlimages/curl` |
|
||||||
|
| `deployment.pluginContainer.image.tag` | Custom image tag, eg. `0.1.0`. | `8.15.0` |
|
||||||
|
| `deployment.pluginContainer.image.pullPolicy` | Image pull policy. | `IfNotPresent` |
|
||||||
| `deployment.priorityClassName` | PriorityClassName of the Reposilite deployment. | `""` |
|
| `deployment.priorityClassName` | PriorityClassName of the Reposilite deployment. | `""` |
|
||||||
| `deployment.replicas` | Number of replicas for the Reposilite deployment. | `1` |
|
| `deployment.replicas` | Number of replicas for the Reposilite deployment. | `1` |
|
||||||
| `deployment.restartPolicy` | Restart policy of the Reposilite deployment. | `""` |
|
| `deployment.restartPolicy` | Restart policy of the Reposilite deployment. | `""` |
|
||||||
@@ -265,6 +302,39 @@ networkPolicies:
|
|||||||
| `persistentVolumeClaim.new.size` | Size of the persistent volume claim. | `10Gi` |
|
| `persistentVolumeClaim.new.size` | Size of the persistent volume claim. | `10Gi` |
|
||||||
| `persistentVolumeClaim.new.storageClass` | Custom storage class. Left it empty to use the clusters default storage class. | `""` |
|
| `persistentVolumeClaim.new.storageClass` | Custom storage class. Left it empty to use the clusters default storage class. | `""` |
|
||||||
|
|
||||||
|
### Prometheus
|
||||||
|
|
||||||
|
| Name | Description | Value |
|
||||||
|
| --------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | ---------- |
|
||||||
|
| `prometheus.metrics.enabled` | Enable of scraping metrics by Prometheus. | `false` |
|
||||||
|
| `prometheus.metrics.basicAuthUsername` | Username for basic auth. The username and password is required by reposilite to expose metrics. Default: random alpha numeric string. | `""` |
|
||||||
|
| `prometheus.metrics.basicAuthPassword` | Password for basic auth. The username and password is required by reposilite to expose metrics. Default random alpha numeric string. | `""` |
|
||||||
|
| `prometheus.metrics.podMonitor.enabled` | Enable creation of a podMonitor. Excludes the existence of a serviceMonitor resource. | `false` |
|
||||||
|
| `prometheus.metrics.podMonitor.annotations` | Additional podMonitor annotations. | `{}` |
|
||||||
|
| `prometheus.metrics.podMonitor.enableHttp2` | Enable HTTP2. | `false` |
|
||||||
|
| `prometheus.metrics.podMonitor.followRedirects` | FollowRedirects configures whether scrape requests follow HTTP 3xx redirects. | `false` |
|
||||||
|
| `prometheus.metrics.podMonitor.honorLabels` | Honor labels. | `false` |
|
||||||
|
| `prometheus.metrics.podMonitor.labels` | Additional podMonitor labels. | `{}` |
|
||||||
|
| `prometheus.metrics.podMonitor.interval` | Interval at which metrics should be scraped. If not specified Prometheus' global scrape interval is used. | `60s` |
|
||||||
|
| `prometheus.metrics.podMonitor.path` | HTTP path of the Reposilite pod for scraping Prometheus metrics. | `/metrics` |
|
||||||
|
| `prometheus.metrics.podMonitor.port` | HTTP port of the Reposilite pod for scraping Prometheus metrics. | `http` |
|
||||||
|
| `prometheus.metrics.podMonitor.relabelings` | RelabelConfigs to apply to samples before scraping. Prometheus Operator automatically adds relabelings for a few standard Kubernetes fields. | `[]` |
|
||||||
|
| `prometheus.metrics.podMonitor.scrapeTimeout` | Timeout after which the scrape is ended. If not specified, global Prometheus scrape timeout is used. | `30s` |
|
||||||
|
| `prometheus.metrics.podMonitor.scheme` | HTTP scheme to use for scraping. For example `http` or `https`. | `http` |
|
||||||
|
| `prometheus.metrics.podMonitor.tlsConfig` | TLS configuration to use when scraping the metric endpoint by Prometheus. | `{}` |
|
||||||
|
| `prometheus.metrics.serviceMonitor.enabled` | Enable creation of a serviceMonitor. Excludes the existence of a podMonitor resource. | `false` |
|
||||||
|
| `prometheus.metrics.serviceMonitor.annotations` | Additional serviceMonitor annotations. | `{}` |
|
||||||
|
| `prometheus.metrics.serviceMonitor.labels` | Additional serviceMonitor labels. | `{}` |
|
||||||
|
| `prometheus.metrics.serviceMonitor.enableHttp2` | Enable HTTP2. | `false` |
|
||||||
|
| `prometheus.metrics.serviceMonitor.followRedirects` | FollowRedirects configures whether scrape requests follow HTTP 3xx redirects. | `false` |
|
||||||
|
| `prometheus.metrics.serviceMonitor.honorLabels` | Honor labels. | `false` |
|
||||||
|
| `prometheus.metrics.serviceMonitor.interval` | Interval at which metrics should be scraped. If not specified Prometheus' global scrape interval is used. | `60s` |
|
||||||
|
| `prometheus.metrics.serviceMonitor.path` | HTTP path for scraping Prometheus metrics. | `/metrics` |
|
||||||
|
| `prometheus.metrics.serviceMonitor.relabelings` | RelabelConfigs to apply to samples before scraping. Prometheus Operator automatically adds relabelings for a few standard Kubernetes fields. | `[]` |
|
||||||
|
| `prometheus.metrics.serviceMonitor.scrapeTimeout` | Timeout after which the scrape is ended. If not specified, global Prometheus scrape timeout is used. | `30s` |
|
||||||
|
| `prometheus.metrics.serviceMonitor.scheme` | HTTP scheme to use for scraping. For example `http` or `https`. | `http` |
|
||||||
|
| `prometheus.metrics.serviceMonitor.tlsConfig` | TLS configuration to use when scraping the metric endpoint by Prometheus. | `{}` |
|
||||||
|
|
||||||
### Service
|
### Service
|
||||||
|
|
||||||
| Name | Description | Value |
|
| Name | Description | Value |
|
||||||
@@ -280,6 +350,7 @@ networkPolicies:
|
|||||||
| `service.loadBalancerIP` | LoadBalancer will get created with the IP specified in this field. Requires service from type `LoadBalancer`. | `""` |
|
| `service.loadBalancerIP` | LoadBalancer will get created with the IP specified in this field. Requires service from type `LoadBalancer`. | `""` |
|
||||||
| `service.loadBalancerSourceRanges` | Source range filter for LoadBalancer. Requires service from type `LoadBalancer`. | `[]` |
|
| `service.loadBalancerSourceRanges` | Source range filter for LoadBalancer. Requires service from type `LoadBalancer`. | `[]` |
|
||||||
| `service.port` | Port to forward the traffic to. | `8080` |
|
| `service.port` | Port to forward the traffic to. | `8080` |
|
||||||
|
| `service.scheme` | Name of the service port. This name is also used as scheme / port name of the service monitor resource. | `http` |
|
||||||
| `service.sessionAffinity` | Supports `ClientIP` and `None`. Enable client IP based session affinity via `ClientIP`. | `None` |
|
| `service.sessionAffinity` | Supports `ClientIP` and `None`. Enable client IP based session affinity via `ClientIP`. | `None` |
|
||||||
| `service.sessionAffinityConfig` | Contains the configuration of the session affinity. | `{}` |
|
| `service.sessionAffinityConfig` | Contains the configuration of the session affinity. | `{}` |
|
||||||
| `service.type` | Kubernetes service type for the traffic. | `ClusterIP` |
|
| `service.type` | Kubernetes service type for the traffic. | `ClusterIP` |
|
||||||
|
@@ -36,6 +36,13 @@
|
|||||||
|
|
||||||
{{/* image */}}
|
{{/* image */}}
|
||||||
|
|
||||||
|
{{- define "reposilite.deployment.images.plugin.fqin" -}}
|
||||||
|
{{- $registry := .Values.deployment.pluginContainer.image.registry -}}
|
||||||
|
{{- $repository := .Values.deployment.pluginContainer.image.repository -}}
|
||||||
|
{{- $tag := default .Chart.AppVersion .Values.deployment.pluginContainer.image.tag -}}
|
||||||
|
{{- printf "%s/%s:%s" $registry $repository $tag -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
{{- define "reposilite.deployment.images.reposilite.fqin" -}}
|
{{- define "reposilite.deployment.images.reposilite.fqin" -}}
|
||||||
{{- $registry := .Values.deployment.reposilite.image.registry -}}
|
{{- $registry := .Values.deployment.reposilite.image.registry -}}
|
||||||
{{- $repository := .Values.deployment.reposilite.image.repository -}}
|
{{- $repository := .Values.deployment.reposilite.image.repository -}}
|
||||||
@@ -52,6 +59,34 @@
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
|
{{/* initContainers */}}
|
||||||
|
|
||||||
|
{{- define "reposilite.deployment.initContainers" -}}
|
||||||
|
{{- $initContainers := .Values.deployment.initContainers | default list -}}
|
||||||
|
{{- $pluginContainerImage := (include "reposilite.deployment.images.plugin.fqin" . ) }}
|
||||||
|
{{- $pluginContainerArgs := .Values.deployment.pluginContainer.args | default list }}
|
||||||
|
{{- $pluginContainerArgs := concat $pluginContainerArgs (list "--output-dir" "/app/data/plugins" ) }}
|
||||||
|
{{- $pluginContainerVolumeMounts := list (dict "name" "plugins" "mountPath" "/app/data/plugins") }}
|
||||||
|
|
||||||
|
{{- if eq (include "reposilite.plugins.prometheus.enabled" $) "true" }}
|
||||||
|
{{- $fileName := splitList "/" (tpl .Values.config.plugins.prometheus.url $) | last }}
|
||||||
|
{{- $individualArgs := concat $pluginContainerArgs (list "--output" $fileName (tpl .Values.config.plugins.prometheus.url $)) }}
|
||||||
|
{{- $initContainers = concat $initContainers (list (dict "args" $individualArgs "name" "download-prometheus-plugin" "image" $pluginContainerImage "volumeMounts" $pluginContainerVolumeMounts)) }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{ toYaml (dict "initContainers" $initContainers) }}
|
||||||
|
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/* plugins */}}
|
||||||
|
{{- define "reposilite.plugins.prometheus.enabled" -}}
|
||||||
|
{{- if or .Values.config.plugins.prometheus.enabled .Values.prometheus.metrics.enabled -}}
|
||||||
|
true
|
||||||
|
{{- else -}}
|
||||||
|
false
|
||||||
|
{{- end -}}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
{{/* serviceAccount */}}
|
{{/* serviceAccount */}}
|
||||||
|
|
||||||
{{- define "reposilite.deployment.serviceAccount" -}}
|
{{- define "reposilite.deployment.serviceAccount" -}}
|
||||||
@@ -69,6 +104,11 @@
|
|||||||
{{- if .Values.persistentVolumeClaim.enabled }}
|
{{- if .Values.persistentVolumeClaim.enabled }}
|
||||||
{{- $volumeMounts = concat $volumeMounts (list (dict "name" "data" "mountPath" .Values.persistentVolumeClaim.path )) }}
|
{{- $volumeMounts = concat $volumeMounts (list (dict "name" "data" "mountPath" .Values.persistentVolumeClaim.path )) }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
|
{{- if eq (include "reposilite.plugins.prometheus.enabled" $) "true" }}
|
||||||
|
{{- $volumeMounts = concat $volumeMounts (list (dict "name" "plugins" "mountPath" "/app/data/plugins")) }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
{{ toYaml (dict "volumeMounts" $volumeMounts) }}
|
{{ toYaml (dict "volumeMounts" $volumeMounts) }}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
@@ -85,6 +125,10 @@
|
|||||||
{{- $volumes = concat $volumes (list (dict "name" "data" "persistentVolumeClaim" (dict "claimName" $persistentVolumeClaimName))) }}
|
{{- $volumes = concat $volumes (list (dict "name" "data" "persistentVolumeClaim" (dict "claimName" $persistentVolumeClaimName))) }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
|
{{- if eq (include "reposilite.plugins.prometheus.enabled" $) "true" }}
|
||||||
|
{{- $volumes = concat $volumes (list (dict "name" "plugins" "emptyDir" dict)) }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
{{ toYaml (dict "volumes" $volumes) }}
|
{{ toYaml (dict "volumes" $volumes) }}
|
||||||
|
|
||||||
{{- end -}}
|
{{- end -}}
|
@@ -31,5 +31,5 @@ false
|
|||||||
{{- define "reposilite.serviceMonitor.selectorLabels" -}}
|
{{- define "reposilite.serviceMonitor.selectorLabels" -}}
|
||||||
{{ include "reposilite.selectorLabels" . }}
|
{{ include "reposilite.selectorLabels" . }}
|
||||||
{{/* Add label to select the correct service via `selector.matchLabels` of the serviceMonitor resource. */}}
|
{{/* Add label to select the correct service via `selector.matchLabels` of the serviceMonitor resource. */}}
|
||||||
app.kubernetes.io/service-name: http
|
app.kubernetes.io/service-name: {{ required "The scheme of the serviceMonitor is not defined!" .Values.service.scheme }}
|
||||||
{{- end }}
|
{{- end }}
|
@@ -7,8 +7,6 @@
|
|||||||
{{- if .Values.service.annotations }}
|
{{- if .Values.service.annotations }}
|
||||||
{{ toYaml .Values.service.annotations }}
|
{{ toYaml .Values.service.annotations }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{/* Add label to select the correct service via `selector.matchLabels` of the serviceMonitor resource. */}}
|
|
||||||
app.kubernetes.io/service-name: http
|
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
{{/* labels */}}
|
{{/* labels */}}
|
||||||
@@ -18,6 +16,8 @@ app.kubernetes.io/service-name: http
|
|||||||
{{- if .Values.service.labels }}
|
{{- if .Values.service.labels }}
|
||||||
{{ toYaml .Values.service.labels }}
|
{{ toYaml .Values.service.labels }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{/* Add label to select the correct service via `selector.matchLabels` of the serviceMonitor resource. */}}
|
||||||
|
app.kubernetes.io/service-name: {{ required "The scheme of the serviceMonitor is not defined!" .Values.service.scheme }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
{{/* names */}}
|
{{/* names */}}
|
||||||
|
@@ -109,6 +109,11 @@ spec:
|
|||||||
imagePullSecrets:
|
imagePullSecrets:
|
||||||
{{- toYaml . | nindent 8 }}
|
{{- toYaml . | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- $initContainers := (include "reposilite.deployment.initContainers" . | fromYaml) }}
|
||||||
|
{{- if and (hasKey $initContainers "initContainers") (gt (len $initContainers.initContainers) 0) }}
|
||||||
|
initContainers:
|
||||||
|
{{- toYaml $initContainers.initContainers | nindent 6 }}
|
||||||
|
{{- end }}
|
||||||
{{- with .Values.deployment.nodeSelector }}
|
{{- with .Values.deployment.nodeSelector }}
|
||||||
nodeSelector:
|
nodeSelector:
|
||||||
{{- toYaml . | nindent 8 }}
|
{{- toYaml . | nindent 8 }}
|
||||||
|
@@ -27,13 +27,17 @@ spec:
|
|||||||
honorLabels: {{ required "The honorLabels option of the podMonitor is not defined!" .Values.prometheus.metrics.podMonitor.honorLabels }}
|
honorLabels: {{ required "The honorLabels option of the podMonitor is not defined!" .Values.prometheus.metrics.podMonitor.honorLabels }}
|
||||||
interval: {{ required "The scrape interval of the podMonitor is not defined!" .Values.prometheus.metrics.podMonitor.interval }}
|
interval: {{ required "The scrape interval of the podMonitor is not defined!" .Values.prometheus.metrics.podMonitor.interval }}
|
||||||
path: {{ required "The metric path of the podMonitor is not defined!" .Values.prometheus.metrics.podMonitor.path }}
|
path: {{ required "The metric path of the podMonitor is not defined!" .Values.prometheus.metrics.podMonitor.path }}
|
||||||
port: "8080"
|
port: {{ required "The metric port of the podMonitor is not defined!" .Values.prometheus.metrics.podMonitor.port | quote }}
|
||||||
{{- with .Values.prometheus.metrics.podMonitor.relabelings }}
|
{{- with .Values.prometheus.metrics.podMonitor.relabelings }}
|
||||||
relabelings:
|
relabelings:
|
||||||
{{- toYaml . | nindent 6 }}
|
{{- toYaml . | nindent 6 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
scrapeTimeout: {{ required "The scrape timeout of the podMonitor is not defined!" .Values.prometheus.metrics.podMonitor.scrapeTimeout }}
|
scrapeTimeout: {{ required "The scrape timeout of the podMonitor is not defined!" .Values.prometheus.metrics.podMonitor.scrapeTimeout }}
|
||||||
scheme: http
|
scheme: {{ required "The scheme of the podMonitor is not defined!" .Values.prometheus.metrics.podMonitor.scheme }}
|
||||||
|
{{- with .Values.prometheus.metrics.podMonitor.tlsConfig }}
|
||||||
|
tlsConfig:
|
||||||
|
{{- toYaml . | nindent 6 }}
|
||||||
|
{{- end }}
|
||||||
namespaceSelector:
|
namespaceSelector:
|
||||||
matchNames:
|
matchNames:
|
||||||
- {{ .Release.Namespace }}
|
- {{ .Release.Namespace }}
|
||||||
|
@@ -27,13 +27,17 @@ spec:
|
|||||||
honorLabels: {{ required "The honorLabels option of the serviceMonitor is not defined!" .Values.prometheus.metrics.serviceMonitor.honorLabels }}
|
honorLabels: {{ required "The honorLabels option of the serviceMonitor is not defined!" .Values.prometheus.metrics.serviceMonitor.honorLabels }}
|
||||||
interval: {{ required "The scrape interval of the serviceMonitor is not defined!" .Values.prometheus.metrics.serviceMonitor.interval }}
|
interval: {{ required "The scrape interval of the serviceMonitor is not defined!" .Values.prometheus.metrics.serviceMonitor.interval }}
|
||||||
path: {{ required "The metric path of the serviceMonitor is not defined!" .Values.prometheus.metrics.serviceMonitor.path }}
|
path: {{ required "The metric path of the serviceMonitor is not defined!" .Values.prometheus.metrics.serviceMonitor.path }}
|
||||||
|
port: {{ required "The port of the serviceMonitor is not defined!" .Values.service.scheme }}
|
||||||
{{- with .Values.prometheus.metrics.serviceMonitor.relabelings }}
|
{{- with .Values.prometheus.metrics.serviceMonitor.relabelings }}
|
||||||
relabelings:
|
relabelings:
|
||||||
{{- toYaml . | nindent 6 }}
|
{{- toYaml . | nindent 6 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
scrapeTimeout: {{ required "The scrape timeout of the serviceMonitor is not defined!" .Values.prometheus.metrics.serviceMonitor.scrapeTimeout }}
|
scrapeTimeout: {{ required "The scrape timeout of the serviceMonitor is not defined!" .Values.prometheus.metrics.serviceMonitor.scrapeTimeout }}
|
||||||
scheme: http
|
scheme: {{ required "The scheme of the serviceMonitor is not defined!" .Values.prometheus.metrics.serviceMonitor.scheme }}
|
||||||
targetPort: 8080
|
{{- with .Values.prometheus.metrics.serviceMonitor.tlsConfig }}
|
||||||
|
tlsConfig:
|
||||||
|
{{- toYaml . | nindent 6 }}
|
||||||
|
{{- end }}
|
||||||
namespaceSelector:
|
namespaceSelector:
|
||||||
matchNames:
|
matchNames:
|
||||||
- {{ .Release.Namespace }}
|
- {{ .Release.Namespace }}
|
||||||
|
42
unittests/deployment/configPlugins.yaml
Normal file
42
unittests/deployment/configPlugins.yaml
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
chart:
|
||||||
|
appVersion: 0.1.0
|
||||||
|
version: 0.1.0
|
||||||
|
suite: Test reposilite plugins
|
||||||
|
release:
|
||||||
|
name: reposilite-unittest
|
||||||
|
namespace: testing
|
||||||
|
templates:
|
||||||
|
- templates/deployment.yaml
|
||||||
|
- templates/secretPrometheusBasicAuth.yaml
|
||||||
|
tests:
|
||||||
|
- it: Test init containers for prometheus
|
||||||
|
set:
|
||||||
|
config.plugins.prometheus.enabled: true
|
||||||
|
config.plugins.prometheus.url: "https://reposilite.com/plugins/prometheus.jar"
|
||||||
|
deployment.pluginContainer.image.tag: 0.1.0
|
||||||
|
asserts:
|
||||||
|
- contains:
|
||||||
|
path: spec.template.spec.initContainers
|
||||||
|
content:
|
||||||
|
args:
|
||||||
|
- --location
|
||||||
|
- --fail
|
||||||
|
- --max-time
|
||||||
|
- "60"
|
||||||
|
- --output-dir
|
||||||
|
- /app/data/plugins
|
||||||
|
- --output
|
||||||
|
- prometheus.jar
|
||||||
|
- https://reposilite.com/plugins/prometheus.jar
|
||||||
|
name: download-prometheus-plugin
|
||||||
|
image: docker.io/curlimages/curl:0.1.0
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /app/data/plugins
|
||||||
|
name: plugins
|
||||||
|
template: templates/deployment.yaml
|
||||||
|
- contains:
|
||||||
|
path: spec.template.spec.volumes
|
||||||
|
content:
|
||||||
|
name: plugins
|
||||||
|
emptyDir: {}
|
||||||
|
template: templates/deployment.yaml
|
@@ -390,6 +390,19 @@ tests:
|
|||||||
- name: my-special-secret
|
- name: my-special-secret
|
||||||
template: templates/deployment.yaml
|
template: templates/deployment.yaml
|
||||||
|
|
||||||
|
- it: Test initContainers
|
||||||
|
set:
|
||||||
|
deployment.initContainers:
|
||||||
|
- name: busybox
|
||||||
|
image: docker.io/library/busybox:latest
|
||||||
|
asserts:
|
||||||
|
- contains:
|
||||||
|
path: spec.template.spec.initContainers
|
||||||
|
content:
|
||||||
|
name: busybox
|
||||||
|
image: docker.io/library/busybox:latest
|
||||||
|
template: templates/deployment.yaml
|
||||||
|
|
||||||
- it: Test nodeSelector
|
- it: Test nodeSelector
|
||||||
set:
|
set:
|
||||||
deployment.nodeSelector:
|
deployment.nodeSelector:
|
||||||
|
@@ -67,7 +67,7 @@ tests:
|
|||||||
name: reposilite-unittest-basic-auth-credentials
|
name: reposilite-unittest-basic-auth-credentials
|
||||||
- equal:
|
- equal:
|
||||||
path: spec.podMetricsEndpoints[0].enableHttp2
|
path: spec.podMetricsEndpoints[0].enableHttp2
|
||||||
value: true
|
value: false
|
||||||
- equal:
|
- equal:
|
||||||
path: spec.podMetricsEndpoints[0].followRedirects
|
path: spec.podMetricsEndpoints[0].followRedirects
|
||||||
value: false
|
value: false
|
||||||
@@ -82,7 +82,7 @@ tests:
|
|||||||
value: /metrics
|
value: /metrics
|
||||||
- equal:
|
- equal:
|
||||||
path: spec.podMetricsEndpoints[0].port
|
path: spec.podMetricsEndpoints[0].port
|
||||||
value: "8080"
|
value: http
|
||||||
- notExists:
|
- notExists:
|
||||||
path: spec.podMetricsEndpoints[0].relabelings
|
path: spec.podMetricsEndpoints[0].relabelings
|
||||||
- equal:
|
- equal:
|
||||||
@@ -133,12 +133,14 @@ tests:
|
|||||||
prometheus.metrics.podMonitor.honorLabels: true
|
prometheus.metrics.podMonitor.honorLabels: true
|
||||||
prometheus.metrics.podMonitor.interval: "180s"
|
prometheus.metrics.podMonitor.interval: "180s"
|
||||||
prometheus.metrics.podMonitor.path: "/my-metrics"
|
prometheus.metrics.podMonitor.path: "/my-metrics"
|
||||||
|
prometheus.metrics.podMonitor.port: "8443"
|
||||||
prometheus.metrics.podMonitor.relabelings:
|
prometheus.metrics.podMonitor.relabelings:
|
||||||
- sourceLabels: [ container ]
|
- sourceLabels: [ container ]
|
||||||
separator: ";"
|
separator: ";"
|
||||||
regex: "app"
|
regex: "app"
|
||||||
replacement: "$1"
|
replacement: "$1"
|
||||||
action: "drop"
|
action: "drop"
|
||||||
|
prometheus.metrics.podMonitor.scheme: https
|
||||||
prometheus.metrics.podMonitor.scrapeTimeout: "5s"
|
prometheus.metrics.podMonitor.scrapeTimeout: "5s"
|
||||||
asserts:
|
asserts:
|
||||||
- hasDocuments:
|
- hasDocuments:
|
||||||
@@ -160,7 +162,7 @@ tests:
|
|||||||
value: /my-metrics
|
value: /my-metrics
|
||||||
- equal:
|
- equal:
|
||||||
path: spec.podMetricsEndpoints[0].port
|
path: spec.podMetricsEndpoints[0].port
|
||||||
value: "8080"
|
value: "8443"
|
||||||
- contains:
|
- contains:
|
||||||
path: spec.podMetricsEndpoints[0].relabelings
|
path: spec.podMetricsEndpoints[0].relabelings
|
||||||
content:
|
content:
|
||||||
@@ -174,4 +176,4 @@ tests:
|
|||||||
value: 5s
|
value: 5s
|
||||||
- equal:
|
- equal:
|
||||||
path: spec.podMetricsEndpoints[0].scheme
|
path: spec.podMetricsEndpoints[0].scheme
|
||||||
value: http
|
value: https
|
@@ -68,7 +68,7 @@ tests:
|
|||||||
name: reposilite-unittest-basic-auth-credentials
|
name: reposilite-unittest-basic-auth-credentials
|
||||||
- equal:
|
- equal:
|
||||||
path: spec.endpoints[0].enableHttp2
|
path: spec.endpoints[0].enableHttp2
|
||||||
value: true
|
value: false
|
||||||
- equal:
|
- equal:
|
||||||
path: spec.endpoints[0].followRedirects
|
path: spec.endpoints[0].followRedirects
|
||||||
value: false
|
value: false
|
||||||
@@ -90,8 +90,8 @@ tests:
|
|||||||
path: spec.endpoints[0].scheme
|
path: spec.endpoints[0].scheme
|
||||||
value: http
|
value: http
|
||||||
- equal:
|
- equal:
|
||||||
path: spec.endpoints[0].targetPort
|
path: spec.endpoints[0].port
|
||||||
value: 8080
|
value: http
|
||||||
- contains:
|
- contains:
|
||||||
path: spec.namespaceSelector.matchNames
|
path: spec.namespaceSelector.matchNames
|
||||||
content:
|
content:
|
||||||
@@ -142,7 +142,8 @@ tests:
|
|||||||
replacement: "$1"
|
replacement: "$1"
|
||||||
action: "drop"
|
action: "drop"
|
||||||
prometheus.metrics.serviceMonitor.scrapeTimeout: "5s"
|
prometheus.metrics.serviceMonitor.scrapeTimeout: "5s"
|
||||||
prometheus.metrics.serviceMonitor.scheme: "http"
|
prometheus.metrics.serviceMonitor.scheme: "https"
|
||||||
|
service.scheme: https
|
||||||
asserts:
|
asserts:
|
||||||
- hasDocuments:
|
- hasDocuments:
|
||||||
count: 1
|
count: 1
|
||||||
@@ -161,6 +162,9 @@ tests:
|
|||||||
- equal:
|
- equal:
|
||||||
path: spec.endpoints[0].path
|
path: spec.endpoints[0].path
|
||||||
value: /my-metrics
|
value: /my-metrics
|
||||||
|
- equal:
|
||||||
|
path: spec.endpoints[0].port
|
||||||
|
value: https
|
||||||
- contains:
|
- contains:
|
||||||
path: spec.endpoints[0].relabelings
|
path: spec.endpoints[0].relabelings
|
||||||
content:
|
content:
|
||||||
@@ -174,4 +178,4 @@ tests:
|
|||||||
value: 5s
|
value: 5s
|
||||||
- equal:
|
- equal:
|
||||||
path: spec.endpoints[0].scheme
|
path: spec.endpoints[0].scheme
|
||||||
value: http
|
value: https
|
@@ -24,16 +24,15 @@ tests:
|
|||||||
kind: Service
|
kind: Service
|
||||||
name: reposilite-unittest
|
name: reposilite-unittest
|
||||||
namespace: testing
|
namespace: testing
|
||||||
- equal:
|
- notExists:
|
||||||
path: metadata.annotations
|
path: metadata.annotations
|
||||||
value:
|
|
||||||
app.kubernetes.io/service-name: http
|
|
||||||
- equal:
|
- equal:
|
||||||
path: metadata.labels
|
path: metadata.labels
|
||||||
value:
|
value:
|
||||||
app.kubernetes.io/instance: reposilite-unittest
|
app.kubernetes.io/instance: reposilite-unittest
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/name: reposilite
|
app.kubernetes.io/name: reposilite
|
||||||
|
app.kubernetes.io/service-name: http
|
||||||
app.kubernetes.io/version: 0.1.0
|
app.kubernetes.io/version: 0.1.0
|
||||||
helm.sh/chart: reposilite-0.1.0
|
helm.sh/chart: reposilite-0.1.0
|
||||||
- notExists:
|
- notExists:
|
||||||
@@ -88,6 +87,13 @@ tests:
|
|||||||
- failedTemplate:
|
- failedTemplate:
|
||||||
errorMessage: No service port defined!
|
errorMessage: No service port defined!
|
||||||
|
|
||||||
|
- it: Require scheme.
|
||||||
|
set:
|
||||||
|
service.scheme: ""
|
||||||
|
asserts:
|
||||||
|
- failedTemplate:
|
||||||
|
errorMessage: No service scheme defined!
|
||||||
|
|
||||||
- it: Require sessionAffinity.
|
- it: Require sessionAffinity.
|
||||||
set:
|
set:
|
||||||
service.sessionAffinity: ""
|
service.sessionAffinity: ""
|
||||||
@@ -108,11 +114,11 @@ tests:
|
|||||||
foo: bar
|
foo: bar
|
||||||
service.labels:
|
service.labels:
|
||||||
bar: foo
|
bar: foo
|
||||||
|
service.scheme: https
|
||||||
asserts:
|
asserts:
|
||||||
- equal:
|
- equal:
|
||||||
path: metadata.annotations
|
path: metadata.annotations
|
||||||
value:
|
value:
|
||||||
app.kubernetes.io/service-name: http
|
|
||||||
foo: bar
|
foo: bar
|
||||||
- equal:
|
- equal:
|
||||||
path: metadata.labels
|
path: metadata.labels
|
||||||
@@ -120,6 +126,7 @@ tests:
|
|||||||
app.kubernetes.io/instance: reposilite-unittest
|
app.kubernetes.io/instance: reposilite-unittest
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/name: reposilite
|
app.kubernetes.io/name: reposilite
|
||||||
|
app.kubernetes.io/service-name: https
|
||||||
app.kubernetes.io/version: 0.1.0
|
app.kubernetes.io/version: 0.1.0
|
||||||
helm.sh/chart: reposilite-0.1.0
|
helm.sh/chart: reposilite-0.1.0
|
||||||
bar: foo
|
bar: foo
|
||||||
@@ -137,6 +144,7 @@ tests:
|
|||||||
service.loadBalancerSourceRanges:
|
service.loadBalancerSourceRanges:
|
||||||
- "11.12.0.0/17"
|
- "11.12.0.0/17"
|
||||||
service.port: 10443
|
service.port: 10443
|
||||||
|
service.scheme: https
|
||||||
service.sessionAffinity: ClientIP
|
service.sessionAffinity: ClientIP
|
||||||
service.type: LoadBalancer
|
service.type: LoadBalancer
|
||||||
asserts:
|
asserts:
|
||||||
@@ -164,6 +172,9 @@ tests:
|
|||||||
path: spec.loadBalancerSourceRanges
|
path: spec.loadBalancerSourceRanges
|
||||||
value:
|
value:
|
||||||
- "11.12.0.0/17"
|
- "11.12.0.0/17"
|
||||||
|
- equal:
|
||||||
|
path: spec.ports[0].name
|
||||||
|
value: https
|
||||||
- equal:
|
- equal:
|
||||||
path: spec.ports[0].port
|
path: spec.ports[0].port
|
||||||
value: 10443
|
value: 10443
|
||||||
|
61
values.yaml
61
values.yaml
@@ -6,6 +6,17 @@
|
|||||||
nameOverride: ""
|
nameOverride: ""
|
||||||
fullnameOverride: ""
|
fullnameOverride: ""
|
||||||
|
|
||||||
|
|
||||||
|
## @section Config
|
||||||
|
config:
|
||||||
|
plugins:
|
||||||
|
## @param config.plugins.prometheus.enabled Download the Prometheus plugin via an additional init container. The Prometheus plugin will automatically enabled, when Prometheus is enabled.
|
||||||
|
## @param config.plugins.prometheus.url URL to download the plugin.
|
||||||
|
prometheus:
|
||||||
|
enabled: false
|
||||||
|
url: https://maven.reposilite.com/releases/com/reposilite/plugin/prometheus-plugin/{{ .Chart.AppVersion }}/prometheus-plugin-{{ .Chart.AppVersion }}-all.jar
|
||||||
|
|
||||||
|
|
||||||
## @section Deployment
|
## @section Deployment
|
||||||
deployment:
|
deployment:
|
||||||
## @param deployment.annotations Additional deployment annotations.
|
## @param deployment.annotations Additional deployment annotations.
|
||||||
@@ -149,6 +160,24 @@ deployment:
|
|||||||
## @param deployment.nodeSelector NodeSelector of the Reposilite deployment.
|
## @param deployment.nodeSelector NodeSelector of the Reposilite deployment.
|
||||||
nodeSelector: {}
|
nodeSelector: {}
|
||||||
|
|
||||||
|
pluginContainer:
|
||||||
|
## @param deployment.pluginContainer.args Arguments passed to the plugin container.
|
||||||
|
args:
|
||||||
|
- "--location"
|
||||||
|
- "--fail"
|
||||||
|
- "--max-time"
|
||||||
|
- "60"
|
||||||
|
|
||||||
|
## @param deployment.pluginContainer.image.registry Image registry, eg. `docker.io`.
|
||||||
|
## @param deployment.pluginContainer.image.repository Image repository, eg. `curlimages/curl`.
|
||||||
|
## @param deployment.pluginContainer.image.tag Custom image tag, eg. `0.1.0`.
|
||||||
|
## @param deployment.pluginContainer.image.pullPolicy Image pull policy.
|
||||||
|
image:
|
||||||
|
registry: docker.io
|
||||||
|
repository: curlimages/curl
|
||||||
|
tag: "8.15.0"
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
|
||||||
## @param deployment.priorityClassName PriorityClassName of the Reposilite deployment.
|
## @param deployment.priorityClassName PriorityClassName of the Reposilite deployment.
|
||||||
priorityClassName: ""
|
priorityClassName: ""
|
||||||
|
|
||||||
@@ -302,6 +331,11 @@ networkPolicy:
|
|||||||
# - port: 53
|
# - port: 53
|
||||||
# protocol: UDP
|
# protocol: UDP
|
||||||
|
|
||||||
|
## Allow outgoing HTTP traffic. For example to download maven artifacts from Apache Maven Central or Reposlite plugins from upstream.
|
||||||
|
# - ports:
|
||||||
|
# - port: 443
|
||||||
|
# protocol: TCP
|
||||||
|
|
||||||
ingress: []
|
ingress: []
|
||||||
# Allow incoming HTTP traffic from prometheus.
|
# Allow incoming HTTP traffic from prometheus.
|
||||||
#
|
#
|
||||||
@@ -315,6 +349,8 @@ networkPolicy:
|
|||||||
# ports:
|
# ports:
|
||||||
# - port: http
|
# - port: http
|
||||||
# protocol: TCP
|
# protocol: TCP
|
||||||
|
# - port: https
|
||||||
|
# protocol: TCP
|
||||||
|
|
||||||
# Allow incoming HTTP traffic from ingress-nginx.
|
# Allow incoming HTTP traffic from ingress-nginx.
|
||||||
#
|
#
|
||||||
@@ -328,6 +364,8 @@ networkPolicy:
|
|||||||
# ports:
|
# ports:
|
||||||
# - port: http
|
# - port: http
|
||||||
# protocol: TCP
|
# protocol: TCP
|
||||||
|
# - port: https
|
||||||
|
# protocol: TCP
|
||||||
|
|
||||||
|
|
||||||
## @section Persistent Volume Claim
|
## @section Persistent Volume Claim
|
||||||
@@ -360,11 +398,11 @@ persistentVolumeClaim:
|
|||||||
prometheus:
|
prometheus:
|
||||||
## @param prometheus.metrics.enabled Enable of scraping metrics by Prometheus.
|
## @param prometheus.metrics.enabled Enable of scraping metrics by Prometheus.
|
||||||
## @param prometheus.metrics.basicAuthUsername Username for basic auth. The username and password is required by reposilite to expose metrics. Default: random alpha numeric string.
|
## @param prometheus.metrics.basicAuthUsername Username for basic auth. The username and password is required by reposilite to expose metrics. Default: random alpha numeric string.
|
||||||
## @param prometheus.metrics.enabled Enable of Password for basic auth. The username and password is required by reposilite to expose metrics. Default random alpha numeric string.
|
## @param prometheus.metrics.basicAuthPassword Password for basic auth. The username and password is required by reposilite to expose metrics. Default random alpha numeric string.
|
||||||
metrics:
|
metrics:
|
||||||
enabled: false
|
enabled: false
|
||||||
basicAuthUsername: "my-username"
|
basicAuthUsername: ""
|
||||||
basicAuthPassword: "my-password"
|
basicAuthPassword: ""
|
||||||
|
|
||||||
## @param prometheus.metrics.podMonitor.enabled Enable creation of a podMonitor. Excludes the existence of a serviceMonitor resource.
|
## @param prometheus.metrics.podMonitor.enabled Enable creation of a podMonitor. Excludes the existence of a serviceMonitor resource.
|
||||||
## @param prometheus.metrics.podMonitor.annotations Additional podMonitor annotations.
|
## @param prometheus.metrics.podMonitor.annotations Additional podMonitor annotations.
|
||||||
@@ -373,20 +411,27 @@ prometheus:
|
|||||||
## @param prometheus.metrics.podMonitor.honorLabels Honor labels.
|
## @param prometheus.metrics.podMonitor.honorLabels Honor labels.
|
||||||
## @param prometheus.metrics.podMonitor.labels Additional podMonitor labels.
|
## @param prometheus.metrics.podMonitor.labels Additional podMonitor labels.
|
||||||
## @param prometheus.metrics.podMonitor.interval Interval at which metrics should be scraped. If not specified Prometheus' global scrape interval is used.
|
## @param prometheus.metrics.podMonitor.interval Interval at which metrics should be scraped. If not specified Prometheus' global scrape interval is used.
|
||||||
## @param prometheus.metrics.podMonitor.path HTTP path for scraping Prometheus metrics.
|
## @param prometheus.metrics.podMonitor.path HTTP path of the Reposilite pod for scraping Prometheus metrics.
|
||||||
|
## @param prometheus.metrics.podMonitor.port HTTP port of the Reposilite pod for scraping Prometheus metrics.
|
||||||
## @param prometheus.metrics.podMonitor.relabelings RelabelConfigs to apply to samples before scraping. Prometheus Operator automatically adds relabelings for a few standard Kubernetes fields.
|
## @param prometheus.metrics.podMonitor.relabelings RelabelConfigs to apply to samples before scraping. Prometheus Operator automatically adds relabelings for a few standard Kubernetes fields.
|
||||||
## @param prometheus.metrics.podMonitor.scrapeTimeout Timeout after which the scrape is ended. If not specified, global Prometheus scrape timeout is used.
|
## @param prometheus.metrics.podMonitor.scrapeTimeout Timeout after which the scrape is ended. If not specified, global Prometheus scrape timeout is used.
|
||||||
|
## @param prometheus.metrics.podMonitor.scheme HTTP scheme to use for scraping. For example `http` or `https`.
|
||||||
|
## @param prometheus.metrics.podMonitor.tlsConfig TLS configuration to use when scraping the metric endpoint by Prometheus.
|
||||||
|
## @skip prometheus.metrics.podMonitor.tlsConfig Skip individual TLS configuration.
|
||||||
podMonitor:
|
podMonitor:
|
||||||
enabled: false
|
enabled: false
|
||||||
annotations: {}
|
annotations: {}
|
||||||
enableHttp2: true
|
enableHttp2: false
|
||||||
followRedirects: false
|
followRedirects: false
|
||||||
honorLabels: false
|
honorLabels: false
|
||||||
labels: {}
|
labels: {}
|
||||||
interval: "60s"
|
interval: "60s"
|
||||||
path: "/metrics"
|
path: "/metrics"
|
||||||
|
port: "http"
|
||||||
relabelings: []
|
relabelings: []
|
||||||
scrapeTimeout: "30s"
|
scrapeTimeout: "30s"
|
||||||
|
scheme: "http"
|
||||||
|
tlsConfig: {}
|
||||||
|
|
||||||
## @param prometheus.metrics.serviceMonitor.enabled Enable creation of a serviceMonitor. Excludes the existence of a podMonitor resource.
|
## @param prometheus.metrics.serviceMonitor.enabled Enable creation of a serviceMonitor. Excludes the existence of a podMonitor resource.
|
||||||
## @param prometheus.metrics.serviceMonitor.annotations Additional serviceMonitor annotations.
|
## @param prometheus.metrics.serviceMonitor.annotations Additional serviceMonitor annotations.
|
||||||
@@ -405,14 +450,15 @@ prometheus:
|
|||||||
enabled: false
|
enabled: false
|
||||||
annotations: {}
|
annotations: {}
|
||||||
labels: {}
|
labels: {}
|
||||||
enableHttp2: true
|
enableHttp2: false
|
||||||
followRedirects: false
|
followRedirects: false
|
||||||
honorLabels: false
|
honorLabels: false
|
||||||
interval: "60s"
|
interval: "60s"
|
||||||
path: "/metrics"
|
path: "/metrics"
|
||||||
relabelings: []
|
relabelings: []
|
||||||
scrapeTimeout: "30s"
|
scrapeTimeout: "30s"
|
||||||
|
scheme: "http"
|
||||||
|
tlsConfig: {}
|
||||||
|
|
||||||
## @section Service
|
## @section Service
|
||||||
## @param service.enabled Enable the service.
|
## @param service.enabled Enable the service.
|
||||||
@@ -426,6 +472,7 @@ prometheus:
|
|||||||
## @param service.loadBalancerIP LoadBalancer will get created with the IP specified in this field. Requires service from type `LoadBalancer`.
|
## @param service.loadBalancerIP LoadBalancer will get created with the IP specified in this field. Requires service from type `LoadBalancer`.
|
||||||
## @param service.loadBalancerSourceRanges Source range filter for LoadBalancer. Requires service from type `LoadBalancer`.
|
## @param service.loadBalancerSourceRanges Source range filter for LoadBalancer. Requires service from type `LoadBalancer`.
|
||||||
## @param service.port Port to forward the traffic to.
|
## @param service.port Port to forward the traffic to.
|
||||||
|
## @param service.scheme Name of the service port. This name is also used as scheme / port name of the service monitor resource.
|
||||||
## @param service.sessionAffinity Supports `ClientIP` and `None`. Enable client IP based session affinity via `ClientIP`.
|
## @param service.sessionAffinity Supports `ClientIP` and `None`. Enable client IP based session affinity via `ClientIP`.
|
||||||
## @param service.sessionAffinityConfig Contains the configuration of the session affinity.
|
## @param service.sessionAffinityConfig Contains the configuration of the session affinity.
|
||||||
## @param service.type Kubernetes service type for the traffic.
|
## @param service.type Kubernetes service type for the traffic.
|
||||||
|
Reference in New Issue
Block a user