[stable/rabbitmq-ha] adds scrapeTimeout option on ServiceMonitor (#21093)

* [stable/rabbitmq-ha] adds scrapeTimeout option on ServiceMonitor

Signed-off-by: Felippe Mendonça <mendonca.felippe@gmail.com>

* [stable/rabbitmq-ha]: bumps chart version

Signed-off-by: Felippe Mendonça <mendonca.felippe@gmail.com>
This commit is contained in:
Felippe Mendonça
2020-02-28 13:30:39 -08:00
committed by GitHub
parent 185966c09b
commit 92947513a5
3 changed files with 127 additions and 123 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
name: rabbitmq-ha
apiVersion: v1
appVersion: 3.8.0
version: 1.40.1
version: 1.40.2
description: Highly available RabbitMQ cluster, the open source message broker
software that implements the Advanced Message Queuing Protocol (AMQP).
keywords:
+122 -121
View File
@@ -63,127 +63,128 @@ deletes the release.
The following table lists the configurable parameters of the RabbitMQ chart
and their default values.
| Parameter | Description | Default |
|------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------|
| `existingConfigMap` | Use an existing ConfigMap | `false` |
| `existingSecret` | Use an existing secret for password, managementPassword & erlang cookie | `""`                               |
| `extraPlugins` | Additional plugins to add to the default configmap | `rabbitmq_shovel, rabbitmq_shovel_management, rabbitmq_federation, rabbitmq_federation_management,` |
| `extraConfig` | Additional configuration to add to default configmap | `{}` |
| `extraContainers` | Additional containers passed through the tpl | `[]` |
| `extraInitContainers` | Additional init containers passed through the tpl | `[]` |
| `env` | Environment variables to set for Rabbitmq container | `{}` |
| `advancedConfig` | Additional configuration in classic config format | `""` |
| `definitions.globalParameters` | Pre-configured global parameters | `""` |
| `definitions.users` | Additional users | `""` |
| `definitions.vhosts` | Additional vhosts | `""` |
| `definitions.parameters` | Additional parameters | `""` |
| `definitions.permissions` | Additional permissions | `""` |
| `definitions.queues` | Pre-created queues | `""` |
| `definitions.exchanges` | Pre-created exchanges | `""` |
| `definitions.bindings` | Pre-created bindings | `""` |
| `definitions.policies` | HA policies to add to definitions.json | `""` |
| `definitionsSource` | Use this key within an existing secret to reference the definitions specification | `"definitions.json"` |
| `forceBoot` | [Force](https://www.rabbitmq.com/rabbitmqctl.8.html#force_boot) the cluster to start even if it was shutdown in an unexpected order, preferring availability over integrity | `false` |
| `lifecycle` | RabbitMQ container lifecycle hooks | `{}` |
| `image.pullPolicy` | Image pull policy | `IfNotPresent` |
| `image.repository` | RabbitMQ container image repository | `rabbitmq` |
| `image.tag` | RabbitMQ container image tag | `3.8.0-alpine` |
| `image.pullSecrets` | Specify docker-registry secret names as an array | `[]` |
| `managementPassword` | Management user password. | _random 24 character long alphanumeric string_ |
| `managementUsername` | Management user with minimal permissions used for health checks | `management` |
| `nodeSelector` | Node labels for pod assignment | `{}` |
| `persistentVolume.accessMode` | Persistent volume access modes | `[ReadWriteOnce]` |
| `persistentVolume.annotations` | Persistent volume annotations | `{}` |
| `persistentVolume.labels` | Persistent volume labels | `{}` |
| `persistentVolume.enabled` | If `true`, persistent volume claims are created | `false` |
| `persistentVolume.name` | Persistent volume name | `data` |
| `persistentVolume.size` | Persistent volume size | `8Gi` |
| `persistentVolume.storageClass` | Persistent volume storage class | `-` |
| `podAntiAffinity` | Pod anti-affinity, `hard` or `soft` | `soft` |
| `podAntiAffinityTopologyKey` | TopologyKey for anti-affinity, default is hostname | `"kubernetes.io/hostname"` |
| `affinity` | Affinity settings. If specified, this will disable `podAntiAffinity` settings. If you still need anti-affinity, you must include the configuration here. | `{}` |
| `podDisruptionBudget` | Pod Disruption Budget rules | `{}` |
| `podManagementPolicy` | Whether the pods should be restarted in parallel or one at a time. Either `OrderedReady` or `Parallel`. | `OrderedReady` |
| `prometheus.exporter.enabled` | Configures Prometheus Exporter to expose and scrape stats | `false` |
| `prometheus.exporter.env` | Environment variables to set for Exporter container | `{}` |
| `prometheus.exporter.image.repository` | Prometheus Exporter repository | `kbudde/rabbitmq-exporter` |
| `prometheus.exporter.image.tag` | Image Tag | `v0.29.0` |
| `prometheus.exporter.image.pullPolicy` | Image Pull Policy | `IfNotPresent` |
| `prometheus.exporter.port` | Port Prometheus scrapes for metrics | `9090` |
| `prometheus.exporter.capabilities` | Comma-separated list of extended scraping capabilities supported by the target RabbitMQ server. [Click here for details.](https://github.com/kbudde/rabbitmq_exporter#extended-rabbitmq-capabilities) | `bert,no_sort` |
| `prometheus.exporter.resources` | Resource Limits for Prometheus Exporter | `{}` |
| `prometheus.operator.enabled` | Are you using Prometheus Operator? [Blog Post](https://coreos.com/blog/the-prometheus-operator.html) | `true` |
| `prometheus.operator.alerts.enabled` | Create default Alerts for RabbitMQ | `true` |
| `prometheus.operator.alerts.selector` | Selector to find ConfigMaps and create Prometheus Alerts | `alert-rules` |
| `prometheus.operator.alerts.labels` | Labels to add to Alerts | `{}` |
| `prometheus.operator.serviceMonitor.interval` | How often Prometheus Scrapes metrics | `10s` |
| `prometheus.operator.serviceMonitor.namespace` | Namespace which Prometheus is installed | `monitoring` |
| `prometheus.operator.serviceMonitor.selector` | Label Selector for Prometheus to find ServiceMonitors | `{ prometheus: kube-prometheus }` |
| `rabbitmqCert.enabled` | Mount a Secret container certificates | `false` |
| `rabbitmqCert.cacertfile` | base64 encoded CA certificate (overwrites existing Secret) | `` |
| `rabbitmqCert.certfile` | base64 encoded server certificate (overwrites existing Secret) | `` |
| `rabbitmqCert.existingSecret` | Name of an existing `Secret` to mount for amqps | `""` |
| `rabbitmqCert.keyfile` | base64 encoded server private key (overwrites existing Secret) | `` |
| `rabbitmqClusterPartitionHandling` | [Automatic Partition Handling Strategy (split brain handling)](https://www.rabbitmq.com/partitions.html#automatic-handling) | `autoheal` |
| `extraVolumes` | Extra volumes to attach to the statefulset | `[]` |
| `extraVolumeMounts` | Extra volume mounts to mount to the statefulset | `[]` |
| `rabbitmqEpmdPort` | EPMD port used for cross cluster replication | `4369` |
| `rabbitmqErlangCookie` | Erlang cookie | _random 32 character long alphanumeric string_ |
| `rabbitmqHipeCompile` | Precompile parts of RabbitMQ using HiPE | `false` |
| `rabbitmqMQTTPlugin.config` | MQTT configuration | `` |
| `rabbitmqMQTTPlugin.enabled` | Enable MQTT plugin | `false` |
| `rabbitmqManagerPort` | RabbitMQ Manager port | `15672` |
| `rabbitmqMemoryHighWatermark` | Memory high watermark | `256MB` |
| `rabbitmqMemoryHighWatermarkType` | Memory high watermark type. Either absolute or relative | `absolute` |
| `rabbitmqNodePort` | Node port | `5672` |
| `rabbitmqPassword` | RabbitMQ application password | _random 24 character long alphanumeric string_ |
| `rabbitmqSTOMPPlugin.config` | STOMP configuration | `` |
| `rabbitmqSTOMPPlugin.enabled` | Enable STOMP plugin | `false` |
| `rabbitmqUsername` | RabbitMQ application username | `guest` |
| `rabbitmqVhost` | RabbitMQ application vhost | `/` |
| `rabbitmqWebMQTTPlugin.config` | MQTT over websocket configuration | `` |
| `rabbitmqWebMQTTPlugin.enabled` | Enable MQTT over websocket plugin | `false` |
| `rabbitmqWebSTOMPPlugin.config` | STOMP over websocket configuration | `` |
| `rabbitmqWebSTOMPPlugin.enabled` | Enable STOMP over websocket plugin | `false` |
| `rabbitmqPrometheusPlugin.enabled` | Enable native RabbitMQ prometheus plugin. (Available in RabbitMQ 3.8) | `false` |
| `rabbitmqPrometheusPlugin.nodePort` | Exposes the native prometheus metrics port on the given NodePort | `null` |
| `rabbitmqPrometheusPlugin.port` | The port RabbitMQ prometheus plugin will use | `15692` |
| `rabbitmqPrometheusPlugin.path` | The path RabbitMQ prometheus plugin will use | `/metrics` |
| `rabbitmqPrometheusPlugin.config` | RabbitMQ prometheus plugin aditional configuration | `` |
| `rbac.create` | If true, create & use RBAC resources | `true` |
| `replicaCount` | Number of replica | `3` |
| `resources` | CPU/Memory resource requests/limits | `{}` |
| `schedulerName` | alternate scheduler name | `nil` |
| `securityContext.fsGroup` | Group ID for the container's volumes | `101` |
| `securityContext.runAsGroup` | Group ID for the container | `101` |
| `securityContext.runAsNonRoot` | Enforce non-root user ID for the container | `true` |
| `securityContext.runAsUser` | User ID for the container | `100` |
| `serviceAccount.create` | Create service account | `true` |
| `serviceAccount.automountServiceAccountToken` | Automount API credentials for a service account | `true` |
| `serviceAccount.name` | Service account name to use | _name of the release_ |
| `service.annotations` | Annotations to add to the service | `{}` |
| `service.clusterIP` | IP address to assign to the service | None |
| `service.externalIPs` | Service external IP addresses | `[]` |
| `service.loadBalancerIP` | IP address to assign to load balancer (if supported) | `""` |
| `service.loadBalancerSourceRanges` | List of IP CIDRs allowed access to load balancer (if supported) | `[]` |
| `service.type` | Type of service to create | `ClusterIP` |
| `ingress.enabled` | Enable Ingress | `false` |
| `ingress.path` | Ingress path | `/` |
| `ingress.hostName` | Ingress hostname | |
| `ingress.tls` | Enable Ingress TLS | `false` |
| `ingress.tlsSecret` | Ingress TLS secret name | `myTlsSecret` |
| `ingress.annotations` | Ingress annotations | `{}` |
| `tolerations` | Toleration labels for pod assignment | `[]` |
| `podAnnotations` | Extra annotations to add to pod | `{}` |
| `statefulSetAnnotations` | Extra annotations to add the statefulSet | `{}` |
| `terminationGracePeriodSeconds` | Duration pod needs to terminate gracefully | `10` |
| `updateStrategy` | Statefulset update strategy | `OnDelete` |
| `priorityClassName` | Statefulsets Pod Priority | `` |
| `extraLabels` | Labels to add to the Resources | `{}` |
| `busyboxImage.repository` | Busybox initContainer image repo | `busybox` |
| `busyboxImage.tag` | Busybox initContainer image tag | `1.30.1` |
| `busyboxImage.pullPolicy` | Busybox initContainer image pullPolicy | `IfNotPresent` |
| `clusterDomain` | The internal Kubernetes cluster domain | `cluster.local` |
| Parameter | Description | Default |
|-----------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------|
| `existingConfigMap` | Use an existing ConfigMap | `false` |
| `existingSecret` | Use an existing secret for password, managementPassword & erlang cookie | `""`                               |
| `extraPlugins` | Additional plugins to add to the default configmap | `rabbitmq_shovel, rabbitmq_shovel_management, rabbitmq_federation, rabbitmq_federation_management,` |
| `extraConfig` | Additional configuration to add to default configmap | `{}` |
| `extraContainers` | Additional containers passed through the tpl | `[]` |
| `extraInitContainers` | Additional init containers passed through the tpl | `[]` |
| `env` | Environment variables to set for Rabbitmq container | `{}` |
| `advancedConfig` | Additional configuration in classic config format | `""` |
| `definitions.globalParameters` | Pre-configured global parameters | `""` |
| `definitions.users` | Additional users | `""` |
| `definitions.vhosts` | Additional vhosts | `""` |
| `definitions.parameters` | Additional parameters | `""` |
| `definitions.permissions` | Additional permissions | `""` |
| `definitions.queues` | Pre-created queues | `""` |
| `definitions.exchanges` | Pre-created exchanges | `""` |
| `definitions.bindings` | Pre-created bindings | `""` |
| `definitions.policies` | HA policies to add to definitions.json | `""` |
| `definitionsSource` | Use this key within an existing secret to reference the definitions specification | `"definitions.json"` |
| `forceBoot` | [Force](https://www.rabbitmq.com/rabbitmqctl.8.html#force_boot) the cluster to start even if it was shutdown in an unexpected order, preferring availability over integrity | `false` |
| `lifecycle` | RabbitMQ container lifecycle hooks | `{}` |
| `image.pullPolicy` | Image pull policy | `IfNotPresent` |
| `image.repository` | RabbitMQ container image repository | `rabbitmq` |
| `image.tag` | RabbitMQ container image tag | `3.8.0-alpine` |
| `image.pullSecrets` | Specify docker-registry secret names as an array | `[]` |
| `managementPassword` | Management user password. | _random 24 character long alphanumeric string_ |
| `managementUsername` | Management user with minimal permissions used for health checks | `management` |
| `nodeSelector` | Node labels for pod assignment | `{}` |
| `persistentVolume.accessMode` | Persistent volume access modes | `[ReadWriteOnce]` |
| `persistentVolume.annotations` | Persistent volume annotations | `{}` |
| `persistentVolume.labels` | Persistent volume labels | `{}` |
| `persistentVolume.enabled` | If `true`, persistent volume claims are created | `false` |
| `persistentVolume.name` | Persistent volume name | `data` |
| `persistentVolume.size` | Persistent volume size | `8Gi` |
| `persistentVolume.storageClass` | Persistent volume storage class | `-` |
| `podAntiAffinity` | Pod anti-affinity, `hard` or `soft` | `soft` |
| `podAntiAffinityTopologyKey` | TopologyKey for anti-affinity, default is hostname | `"kubernetes.io/hostname"` |
| `affinity` | Affinity settings. If specified, this will disable `podAntiAffinity` settings. If you still need anti-affinity, you must include the configuration here. | `{}` |
| `podDisruptionBudget` | Pod Disruption Budget rules | `{}` |
| `podManagementPolicy` | Whether the pods should be restarted in parallel or one at a time. Either `OrderedReady` or `Parallel`. | `OrderedReady` |
| `prometheus.exporter.enabled` | Configures Prometheus Exporter to expose and scrape stats | `false` |
| `prometheus.exporter.env` | Environment variables to set for Exporter container | `{}` |
| `prometheus.exporter.image.repository` | Prometheus Exporter repository | `kbudde/rabbitmq-exporter` |
| `prometheus.exporter.image.tag` | Image Tag | `v0.29.0` |
| `prometheus.exporter.image.pullPolicy` | Image Pull Policy | `IfNotPresent` |
| `prometheus.exporter.port` | Port Prometheus scrapes for metrics | `9090` |
| `prometheus.exporter.capabilities` | Comma-separated list of extended scraping capabilities supported by the target RabbitMQ server. [Click here for details.](https://github.com/kbudde/rabbitmq_exporter#extended-rabbitmq-capabilities) | `bert,no_sort` |
| `prometheus.exporter.resources` | Resource Limits for Prometheus Exporter | `{}` |
| `prometheus.operator.enabled` | Are you using Prometheus Operator? [Blog Post](https://coreos.com/blog/the-prometheus-operator.html) | `true` |
| `prometheus.operator.alerts.enabled` | Create default Alerts for RabbitMQ | `true` |
| `prometheus.operator.alerts.selector` | Selector to find ConfigMaps and create Prometheus Alerts | `alert-rules` |
| `prometheus.operator.alerts.labels` | Labels to add to Alerts | `{}` |
| `prometheus.operator.serviceMonitor.interval` | How often Prometheus Scrapes metrics | `10s` |
| `prometheus.operator.serviceMonitor.scrapeTimeout` | Specify the timeout after which the scrape is ended | `nil` |
| `prometheus.operator.serviceMonitor.namespace` | Namespace which Prometheus is installed | `monitoring` |
| `prometheus.operator.serviceMonitor.selector` | Label Selector for Prometheus to find ServiceMonitors | `{ prometheus: kube-prometheus }` |
| `rabbitmqCert.enabled` | Mount a Secret container certificates | `false` |
| `rabbitmqCert.cacertfile` | base64 encoded CA certificate (overwrites existing Secret) | `` |
| `rabbitmqCert.certfile` | base64 encoded server certificate (overwrites existing Secret) | `` |
| `rabbitmqCert.existingSecret` | Name of an existing `Secret` to mount for amqps | `""` |
| `rabbitmqCert.keyfile` | base64 encoded server private key (overwrites existing Secret) | `` |
| `rabbitmqClusterPartitionHandling` | [Automatic Partition Handling Strategy (split brain handling)](https://www.rabbitmq.com/partitions.html#automatic-handling) | `autoheal` |
| `extraVolumes` | Extra volumes to attach to the statefulset | `[]` |
| `extraVolumeMounts` | Extra volume mounts to mount to the statefulset | `[]` |
| `rabbitmqEpmdPort` | EPMD port used for cross cluster replication | `4369` |
| `rabbitmqErlangCookie` | Erlang cookie | _random 32 character long alphanumeric string_ |
| `rabbitmqHipeCompile` | Precompile parts of RabbitMQ using HiPE | `false` |
| `rabbitmqMQTTPlugin.config` | MQTT configuration | `` |
| `rabbitmqMQTTPlugin.enabled` | Enable MQTT plugin | `false` |
| `rabbitmqManagerPort` | RabbitMQ Manager port | `15672` |
| `rabbitmqMemoryHighWatermark` | Memory high watermark | `256MB` |
| `rabbitmqMemoryHighWatermarkType` | Memory high watermark type. Either absolute or relative | `absolute` |
| `rabbitmqNodePort` | Node port | `5672` |
| `rabbitmqPassword` | RabbitMQ application password | _random 24 character long alphanumeric string_ |
| `rabbitmqSTOMPPlugin.config` | STOMP configuration | `` |
| `rabbitmqSTOMPPlugin.enabled` | Enable STOMP plugin | `false` |
| `rabbitmqUsername` | RabbitMQ application username | `guest` |
| `rabbitmqVhost` | RabbitMQ application vhost | `/` |
| `rabbitmqWebMQTTPlugin.config` | MQTT over websocket configuration | `` |
| `rabbitmqWebMQTTPlugin.enabled` | Enable MQTT over websocket plugin | `false` |
| `rabbitmqWebSTOMPPlugin.config` | STOMP over websocket configuration | `` |
| `rabbitmqWebSTOMPPlugin.enabled` | Enable STOMP over websocket plugin | `false` |
| `rabbitmqPrometheusPlugin.enabled` | Enable native RabbitMQ prometheus plugin. (Available in RabbitMQ 3.8) | `false` |
| `rabbitmqPrometheusPlugin.nodePort` | Exposes the native prometheus metrics port on the given NodePort | `null` |
| `rabbitmqPrometheusPlugin.port` | The port RabbitMQ prometheus plugin will use | `15692` |
| `rabbitmqPrometheusPlugin.path` | The path RabbitMQ prometheus plugin will use | `/metrics` |
| `rabbitmqPrometheusPlugin.config` | RabbitMQ prometheus plugin aditional configuration | `` |
| `rbac.create` | If true, create & use RBAC resources | `true` |
| `replicaCount` | Number of replica | `3` |
| `resources` | CPU/Memory resource requests/limits | `{}` |
| `schedulerName` | alternate scheduler name | `nil` |
| `securityContext.fsGroup` | Group ID for the container's volumes | `101` |
| `securityContext.runAsGroup` | Group ID for the container | `101` |
| `securityContext.runAsNonRoot` | Enforce non-root user ID for the container | `true` |
| `securityContext.runAsUser` | User ID for the container | `100` |
| `serviceAccount.create` | Create service account | `true` |
| `serviceAccount.automountServiceAccountToken` | Automount API credentials for a service account | `true` |
| `serviceAccount.name` | Service account name to use | _name of the release_ |
| `service.annotations` | Annotations to add to the service | `{}` |
| `service.clusterIP` | IP address to assign to the service | None |
| `service.externalIPs` | Service external IP addresses | `[]` |
| `service.loadBalancerIP` | IP address to assign to load balancer (if supported) | `""` |
| `service.loadBalancerSourceRanges` | List of IP CIDRs allowed access to load balancer (if supported) | `[]` |
| `service.type` | Type of service to create | `ClusterIP` |
| `ingress.enabled` | Enable Ingress | `false` |
| `ingress.path` | Ingress path | `/` |
| `ingress.hostName` | Ingress hostname | |
| `ingress.tls` | Enable Ingress TLS | `false` |
| `ingress.tlsSecret` | Ingress TLS secret name | `myTlsSecret` |
| `ingress.annotations` | Ingress annotations | `{}` |
| `tolerations` | Toleration labels for pod assignment | `[]` |
| `podAnnotations` | Extra annotations to add to pod | `{}` |
| `statefulSetAnnotations` | Extra annotations to add the statefulSet | `{}` |
| `terminationGracePeriodSeconds` | Duration pod needs to terminate gracefully | `10` |
| `updateStrategy` | Statefulset update strategy | `OnDelete` |
| `priorityClassName` | Statefulsets Pod Priority | `` |
| `extraLabels` | Labels to add to the Resources | `{}` |
| `busyboxImage.repository` | Busybox initContainer image repo | `busybox` |
| `busyboxImage.tag` | Busybox initContainer image tag | `1.30.1` |
| `busyboxImage.pullPolicy` | Busybox initContainer image pullPolicy | `IfNotPresent` |
| `clusterDomain` | The internal Kubernetes cluster domain | `cluster.local` |
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
@@ -15,6 +15,9 @@ spec:
release: {{ .Release.Name }}
endpoints:
- interval: {{ .Values.prometheus.operator.serviceMonitor.interval }}
{{- if .Values.prometheus.operator.serviceMonitor.scrapeTimeout }}
scrapeTimeout: {{ .Values.prometheus.operator.serviceMonitor.scrapeTimeout }}
{{- end }}
{{- if .Values.rabbitmqPrometheusPlugin.enabled }}
port: metrics
path: {{ .Values.rabbitmqPrometheusPlugin.path }}
@@ -23,4 +26,4 @@ spec:
{{- end }}
namespaceSelector:
any: true
{{- end }}
{{- end }}