feat(helm): update chart cloudnative-pg to 0.27.1#383
Open
renovate[bot] wants to merge 1 commit intomainfrom
Open
feat(helm): update chart cloudnative-pg to 0.27.1#383renovate[bot] wants to merge 1 commit intomainfrom
renovate[bot] wants to merge 1 commit intomainfrom
Conversation
--- kubernetes/apps/databases/cloudnative-pg/app Kustomization: flux-system/cloudnative-pg HelmRelease: databases/cloudnative-pg
+++ kubernetes/apps/databases/cloudnative-pg/app Kustomization: flux-system/cloudnative-pg HelmRelease: databases/cloudnative-pg
@@ -14,13 +14,13 @@
chart: cloudnative-pg
interval: 15m
sourceRef:
kind: HelmRepository
name: cloudnative-pg-charts
namespace: flux-system
- version: 0.26.1
+ version: 0.27.1
install:
createNamespace: false
remediation:
retries: 3
interval: 15m
maxHistory: 2 |
--- HelmRelease: databases/cloudnative-pg ConfigMap: databases/cnpg-grafana-dashboard
+++ HelmRelease: databases/cloudnative-pg ConfigMap: databases/cnpg-grafana-dashboard
@@ -283,31 +283,31 @@
"mode": "thresholds"
},
"mappings": [
{
"options": {
"0": {
+ "color": "green",
+ "index": 1,
+ "text": "Healthy"
+ },
+ "-1": {
"color": "red",
- "index": 2,
+ "index": 0,
"text": "None"
- },
- "1": {
- "color": "orange",
- "index": 1,
- "text": "Degraded"
}
},
"type": "value"
},
{
"options": {
"from": 2,
"result": {
- "color": "green",
- "index": 0,
- "text": "Healthy"
+ "color": "orange",
+ "index": 2,
+ "text": "Degraded"
},
"to": 999
},
"type": "range"
}
],
@@ -352,13 +352,13 @@
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"editorMode": "code",
- "expr": "max(cnpg_pg_replication_streaming_replicas{namespace=~\"$namespace\", pod=~\"$instances\"} - cnpg_pg_replication_is_wal_receiver_up{namespace=~\"$namespace\", pod=~\"$instances\"})",
+ "expr": "(max(cnpg_pg_replication_streaming_replicas{namespace=~\"$namespace\", pod=~\"$instances\"}) - sum(cnpg_pg_replication_is_wal_receiver_up{namespace=~\"$namespace\", pod=~\"$instances\"})) + (clamp_max(max(cnpg_pg_replication_streaming_replicas{namespace=~\"$namespace\", pod=~\"$instances\"}), 1) - 1)",
"legendFormat": "Replication",
"range": true,
"refId": "A"
}
],
"type": "stat"
@@ -1980,13 +1980,13 @@
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
- "description": "Base Backups are considered healthy when there has been at least one base backup in the last 24 hours.",
+ "description": "WAL is considered Healthy when the last WAL is 0min to 6min old, Delayed when it is less than 15min and Unsynced for >15min.",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [
@@ -2242,17 +2242,17 @@
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"editorMode": "code",
- "expr": "sum by (label_app_kubernetes_io_name) (kube_pod_status_ready{namespace=\"$operatorNamespace\"} * on (pod) group_left( label_app_kubernetes_io_name ) kube_pod_labels{label_app_kubernetes_io_name=~\"cloudnative-pg\"})",
+ "expr": "sum(kube_pod_status_ready{namespace=\"$operatorNamespace\", pod=~\"cloudnative-pg.+|cnpg-controller-manager.+\", condition=\"true\"})",
"hide": false,
- "instant": false,
+ "instant": true,
"legendFormat": "Operator Status",
- "range": true,
+ "range": false,
"refId": "A"
}
],
"type": "stat"
},
{
@@ -2416,13 +2416,13 @@
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"editorMode": "code",
- "expr": "clamp_max(max(controller_runtime_reconcile_total{namespace=~\"$operatorNamespace\", result=\"error\", controller=\"scheduledbackup\"}), 1)",
+ "expr": "clamp_max(max(controller_runtime_reconcile_total{namespace=~\"$operatorNamespace\", result=\"error\", controller=~\"scheduledbackup|scheduled-backup\"}), 1)",
"hide": true,
"legendFormat": "__auto",
"range": true,
"refId": "RECONCILE_ERRORS_SCHEDULED_BACKUP"
},
{
@@ -2518,13 +2518,13 @@
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
- "description": "Excluding cache",
+ "description": "Container memory working set",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
@@ -2658,13 +2658,13 @@
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"editorMode": "code",
"exemplar": false,
- "expr": "cnpg_pg_database_size_bytes{namespace=\"$namespace\"}",
+ "expr": "cnpg_pg_database_size_bytes{namespace=\"$namespace\", pod=~\"$instances\"}",
"format": "table",
"instant": false,
"legendFormat": "__auto",
"range": true,
"refId": "A"
}
@@ -5225,13 +5225,13 @@
"intervalFactor": 2,
"legendFormat": "{{pod}}",
"refId": "A",
"step": 10
}
],
- "title": "Memory Usage (w/o cache)",
+ "title": "Memory Usage (container memory working set)",
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
@@ -7760,13 +7760,13 @@
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"exemplar": true,
- "expr": "cnpg_pg_stat_bgwriter_checkpoints_req{namespace=~\"$namespace\",pod=~\"$instances\"}",
+ "expr": "{__name__=~\"cnpg_pg_stat_(bgwriter|checkpointer)_checkpoints_req\",namespace=~\"$namespace\",pod=~\"$instances\"}",
"format": "time_series",
"hide": false,
"instant": false,
"interval": "",
"intervalFactor": 1,
"legendFormat": "req/{{pod}}",
@@ -7775,13 +7775,13 @@
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"exemplar": true,
- "expr": "cnpg_pg_stat_bgwriter_checkpoints_timed{namespace=~\"$namespace\",pod=~\"$instances\"}",
+ "expr": "{__name__=~\"cnpg_pg_stat_(bgwriter|checkpointer)_checkpoints_timed\",namespace=~\"$namespace\",pod=~\"$instances\"}",
"format": "time_series",
"interval": "",
"intervalFactor": 1,
"legendFormat": "timed/{{pod}}",
"refId": "A"
}
@@ -7874,13 +7874,13 @@
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"exemplar": true,
- "expr": "cnpg_pg_stat_bgwriter_checkpoint_write_time{namespace=~\"$namespace\",pod=~\"$instances\"}",
+ "expr": "{__name__=~\"cnpg_pg_stat_(bgwriter_checkpoint|checkpointer)_write_time\",namespace=~\"$namespace\",pod=~\"$instances\"}",
"format": "time_series",
"hide": false,
"instant": false,
"interval": "",
"intervalFactor": 1,
"legendFormat": "write/{{pod}}",
@@ -7889,13 +7889,13 @@
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"exemplar": true,
- "expr": "cnpg_pg_stat_bgwriter_checkpoint_sync_time{namespace=~\"$namespace\",pod=~\"$instances\"}",
+ "expr": "{__name__=~\"cnpg_pg_stat_(bgwriter_checkpoint|checkpointer)_sync_time\",namespace=~\"$namespace\",pod=~\"$instances\"}",
"format": "time_series",
"interval": "",
"intervalFactor": 1,
"legendFormat": "sync/{{pod}}",
"refId": "A"
}
@@ -7919,12 +7919,170 @@
"collapsed": true,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 57
+ },
+ "id": 794,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
+ "description": "Show the installed extensions and their versions",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto",
+ "wrapText": false
+ },
+ "filterable": false,
+ "inspect": false
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Update Available"
+ },
+ "properties": [
+ {
[Diff truncated by flux-local]
--- HelmRelease: databases/cloudnative-pg ConfigMap: databases/cnpg-default-monitoring
+++ HelmRelease: databases/cloudnative-pg ConfigMap: databases/cnpg-default-monitoring
@@ -10,36 +10,36 @@
app.kubernetes.io/managed-by: Helm
cnpg.io/reload: ''
data:
queries: |
backends:
query: |
- SELECT sa.datname
- , sa.usename
- , sa.application_name
- , states.state
- , COALESCE(sa.count, 0) AS total
- , COALESCE(sa.max_tx_secs, 0) AS max_tx_duration_seconds
- FROM ( VALUES ('active')
- , ('idle')
- , ('idle in transaction')
- , ('idle in transaction (aborted)')
- , ('fastpath function call')
- , ('disabled')
- ) AS states(state)
- LEFT JOIN (
- SELECT datname
- , state
- , usename
- , COALESCE(application_name, '') AS application_name
- , COUNT(*)
- , COALESCE(EXTRACT (EPOCH FROM (max(now() - xact_start))), 0) AS max_tx_secs
- FROM pg_catalog.pg_stat_activity
- GROUP BY datname, state, usename, application_name
- ) sa ON states.state = sa.state
- WHERE sa.usename IS NOT NULL
+ SELECT sa.datname
+ , sa.usename
+ , sa.application_name
+ , states.state
+ , COALESCE(sa.count, 0) AS total
+ , COALESCE(sa.max_tx_secs, 0) AS max_tx_duration_seconds
+ FROM ( VALUES ('active')
+ , ('idle')
+ , ('idle in transaction')
+ , ('idle in transaction (aborted)')
+ , ('fastpath function call')
+ , ('disabled')
+ ) AS states(state)
+ LEFT JOIN (
+ SELECT datname
+ , state
+ , usename
+ , COALESCE(application_name, '') AS application_name
+ , COUNT(*)
+ , COALESCE(EXTRACT (EPOCH FROM (max(now() - xact_start))), 0) AS max_tx_secs
+ FROM pg_catalog.pg_stat_activity
+ GROUP BY datname, state, usename, application_name
+ ) sa ON states.state = sa.state
+ WHERE sa.usename IS NOT NULL
metrics:
- datname:
usage: "LABEL"
description: "Name of the database"
- usename:
usage: "LABEL"
@@ -56,28 +56,28 @@
- max_tx_duration_seconds:
usage: "GAUGE"
description: "Maximum duration of a transaction in seconds"
backends_waiting:
query: |
- SELECT count(*) AS total
- FROM pg_catalog.pg_locks blocked_locks
- JOIN pg_catalog.pg_locks blocking_locks
- ON blocking_locks.locktype = blocked_locks.locktype
- AND blocking_locks.database IS NOT DISTINCT FROM blocked_locks.database
- AND blocking_locks.relation IS NOT DISTINCT FROM blocked_locks.relation
- AND blocking_locks.page IS NOT DISTINCT FROM blocked_locks.page
- AND blocking_locks.tuple IS NOT DISTINCT FROM blocked_locks.tuple
- AND blocking_locks.virtualxid IS NOT DISTINCT FROM blocked_locks.virtualxid
- AND blocking_locks.transactionid IS NOT DISTINCT FROM blocked_locks.transactionid
- AND blocking_locks.classid IS NOT DISTINCT FROM blocked_locks.classid
- AND blocking_locks.objid IS NOT DISTINCT FROM blocked_locks.objid
- AND blocking_locks.objsubid IS NOT DISTINCT FROM blocked_locks.objsubid
- AND blocking_locks.pid != blocked_locks.pid
- JOIN pg_catalog.pg_stat_activity blocking_activity ON blocking_activity.pid = blocking_locks.pid
- WHERE NOT blocked_locks.granted
+ SELECT count(*) AS total
+ FROM pg_catalog.pg_locks blocked_locks
+ JOIN pg_catalog.pg_locks blocking_locks
+ ON blocking_locks.locktype = blocked_locks.locktype
+ AND blocking_locks.database IS NOT DISTINCT FROM blocked_locks.database
+ AND blocking_locks.relation IS NOT DISTINCT FROM blocked_locks.relation
+ AND blocking_locks.page IS NOT DISTINCT FROM blocked_locks.page
+ AND blocking_locks.tuple IS NOT DISTINCT FROM blocked_locks.tuple
+ AND blocking_locks.virtualxid IS NOT DISTINCT FROM blocked_locks.virtualxid
+ AND blocking_locks.transactionid IS NOT DISTINCT FROM blocked_locks.transactionid
+ AND blocking_locks.classid IS NOT DISTINCT FROM blocked_locks.classid
+ AND blocking_locks.objid IS NOT DISTINCT FROM blocked_locks.objid
+ AND blocking_locks.objsubid IS NOT DISTINCT FROM blocked_locks.objsubid
+ AND blocking_locks.pid != blocked_locks.pid
+ JOIN pg_catalog.pg_stat_activity blocking_activity ON blocking_activity.pid = blocking_locks.pid
+ WHERE NOT blocked_locks.granted
metrics:
- total:
usage: "GAUGE"
description: "Total number of backends that are currently waiting on other queries"
pg_database:
@@ -109,22 +109,23 @@
metrics:
- start_time:
usage: "GAUGE"
description: "Time at which postgres started (based on epoch)"
pg_replication:
- query: "SELECT CASE WHEN (
- NOT pg_catalog.pg_is_in_recovery()
- OR pg_catalog.pg_last_wal_receive_lsn() = pg_catalog.pg_last_wal_replay_lsn())
- THEN 0
- ELSE GREATEST (0,
- EXTRACT(EPOCH FROM (now() - pg_catalog.pg_last_xact_replay_timestamp())))
- END AS lag,
- pg_catalog.pg_is_in_recovery() AS in_recovery,
- EXISTS (TABLE pg_stat_wal_receiver) AS is_wal_receiver_up,
- (SELECT count(*) FROM pg_catalog.pg_stat_replication) AS streaming_replicas"
+ query: |
+ SELECT CASE WHEN (
+ NOT pg_catalog.pg_is_in_recovery()
+ OR pg_catalog.pg_last_wal_receive_lsn() = pg_catalog.pg_last_wal_replay_lsn())
+ THEN 0
+ ELSE GREATEST (0,
+ EXTRACT(EPOCH FROM (now() - pg_catalog.pg_last_xact_replay_timestamp())))
+ END AS lag,
+ pg_catalog.pg_is_in_recovery() AS in_recovery,
+ EXISTS (TABLE pg_stat_wal_receiver) AS is_wal_receiver_up,
+ (SELECT count(*) FROM pg_catalog.pg_stat_replication) AS streaming_replicas
metrics:
- lag:
usage: "GAUGE"
description: "Replication lag behind primary in seconds"
- in_recovery:
usage: "GAUGE"
@@ -174,12 +175,15 @@
, COALESCE(EXTRACT(EPOCH FROM last_archived_time), -1) AS last_archived_time
, COALESCE(EXTRACT(EPOCH FROM last_failed_time), -1) AS last_failed_time
, COALESCE(CAST(CAST('x'||pg_catalog.right(pg_catalog.split_part(last_archived_wal, '.', 1), 16) AS pg_catalog.bit(64)) AS pg_catalog.int8), -1) AS last_archived_wal_start_lsn
, COALESCE(CAST(CAST('x'||pg_catalog.right(pg_catalog.split_part(last_failed_wal, '.', 1), 16) AS pg_catalog.bit(64)) AS pg_catalog.int8), -1) AS last_failed_wal_start_lsn
, EXTRACT(EPOCH FROM stats_reset) AS stats_reset_time
FROM pg_catalog.pg_stat_archiver
+ predicate_query: |
+ SELECT NOT pg_catalog.pg_is_in_recovery()
+ OR pg_catalog.current_setting('archive_mode') = 'always'
metrics:
- archived_count:
usage: "COUNTER"
description: "Number of WAL files that have been successfully archived"
- failed_count:
usage: "COUNTER"
@@ -386,26 +390,26 @@
usage: "COUNTER"
description: "Time spent writing data file blocks by backends in this database, in milliseconds"
pg_stat_replication:
primary: true
query: |
- SELECT usename
- , COALESCE(application_name, '') AS application_name
- , COALESCE(client_addr::text, '') AS client_addr
- , COALESCE(client_port::text, '') AS client_port
- , EXTRACT(EPOCH FROM backend_start) AS backend_start
- , COALESCE(pg_catalog.age(backend_xmin), 0) AS backend_xmin_age
- , pg_catalog.pg_wal_lsn_diff(pg_catalog.pg_current_wal_lsn(), sent_lsn) AS sent_diff_bytes
- , pg_catalog.pg_wal_lsn_diff(pg_catalog.pg_current_wal_lsn(), write_lsn) AS write_diff_bytes
- , pg_catalog.pg_wal_lsn_diff(pg_catalog.pg_current_wal_lsn(), flush_lsn) AS flush_diff_bytes
- , COALESCE(pg_catalog.pg_wal_lsn_diff(pg_catalog.pg_current_wal_lsn(), replay_lsn),0) AS replay_diff_bytes
- , COALESCE((EXTRACT(EPOCH FROM write_lag)),0)::float AS write_lag_seconds
- , COALESCE((EXTRACT(EPOCH FROM flush_lag)),0)::float AS flush_lag_seconds
- , COALESCE((EXTRACT(EPOCH FROM replay_lag)),0)::float AS replay_lag_seconds
- FROM pg_catalog.pg_stat_replication
+ SELECT usename
+ , COALESCE(application_name, '') AS application_name
+ , COALESCE(client_addr::text, '') AS client_addr
+ , COALESCE(client_port::text, '') AS client_port
+ , EXTRACT(EPOCH FROM backend_start) AS backend_start
+ , COALESCE(pg_catalog.age(backend_xmin), 0) AS backend_xmin_age
+ , pg_catalog.pg_wal_lsn_diff(pg_catalog.pg_current_wal_lsn(), sent_lsn) AS sent_diff_bytes
+ , pg_catalog.pg_wal_lsn_diff(pg_catalog.pg_current_wal_lsn(), write_lsn) AS write_diff_bytes
+ , pg_catalog.pg_wal_lsn_diff(pg_catalog.pg_current_wal_lsn(), flush_lsn) AS flush_diff_bytes
+ , COALESCE(pg_catalog.pg_wal_lsn_diff(pg_catalog.pg_current_wal_lsn(), replay_lsn),0) AS replay_diff_bytes
+ , COALESCE((EXTRACT(EPOCH FROM write_lag)),0)::float AS write_lag_seconds
+ , COALESCE((EXTRACT(EPOCH FROM flush_lag)),0)::float AS flush_lag_seconds
+ , COALESCE((EXTRACT(EPOCH FROM replay_lag)),0)::float AS replay_lag_seconds
+ FROM pg_catalog.pg_stat_replication
metrics:
- usename:
usage: "LABEL"
description: "Name of the replication user"
- application_name:
usage: "LABEL"
@@ -459,19 +463,19 @@
usage: "GAUGE"
[Diff truncated by flux-local]
--- HelmRelease: databases/cloudnative-pg Deployment: databases/cloudnative-pg
+++ HelmRelease: databases/cloudnative-pg Deployment: databases/cloudnative-pg
@@ -14,14 +14,14 @@
matchLabels:
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: cloudnative-pg
template:
metadata:
annotations:
- checksum/rbac: 5ba58c2e24b6bbb4e60427a1c9c9bf51087d240581af6ac09ebee5ffcb7a1092
- checksum/monitoring-config: 4988b3581080fcd8c80ee4c4b06a7dd2f89a4decae1691c3e4537e346734a8fe
+ checksum/rbac: 073cb3684b58e368b81b130aa6bc9ff2cb6c14c34ddf870dbacd3558f3d63fbd
+ checksum/monitoring-config: 034293e9e1bd13bdb6c378b01f4a13ecc008ee1dd42cc0bb6cbcd883e26c68a8
labels:
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: cloudnative-pg
spec:
containers:
- args:
@@ -31,25 +31,25 @@
- --config-map-name=cnpg-controller-manager-config
- --webhook-port=9443
command:
- /manager
env:
- name: OPERATOR_IMAGE_NAME
- value: ghcr.io/cloudnative-pg/cloudnative-pg:1.27.1
+ value: ghcr.io/cloudnative-pg/cloudnative-pg:1.28.1
- name: OPERATOR_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: MONITORING_QUERIES_CONFIGMAP
value: cnpg-default-monitoring
- image: ghcr.io/cloudnative-pg/cloudnative-pg:1.27.1
+ image: ghcr.io/cloudnative-pg/cloudnative-pg:1.28.1
imagePullPolicy: IfNotPresent
livenessProbe:
httpGet:
path: /readyz
- port: 9443
+ port: webhook-server
scheme: HTTPS
initialDelaySeconds: 3
name: manager
ports:
- containerPort: 8080
name: metrics
@@ -57,13 +57,13 @@
- containerPort: 9443
name: webhook-server
protocol: TCP
readinessProbe:
httpGet:
path: /readyz
- port: 9443
+ port: webhook-server
scheme: HTTPS
initialDelaySeconds: 3
resources: {}
securityContext:
allowPrivilegeEscalation: false
capabilities:
@@ -75,13 +75,13 @@
seccompProfile:
type: RuntimeDefault
startupProbe:
failureThreshold: 6
httpGet:
path: /readyz
- port: 9443
+ port: webhook-server
scheme: HTTPS
periodSeconds: 5
volumeMounts:
- mountPath: /controller
name: scratch-data
- mountPath: /run/secrets/cnpg.io/webhook |
3011b39 to
4f9ef17
Compare
4f9ef17 to
25b25a3
Compare
25b25a3 to
a4745e5
Compare
a4745e5 to
603038c
Compare
603038c to
8b5ba50
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.26.1→0.27.1Release Notes
cloudnative-pg/charts (cloudnative-pg)
v0.27.1Compare Source
CloudNativePG Operator Helm Chart
What's Changed
Full Changelog: cloudnative-pg/charts@plugin-barman-cloud-v0.5.0...cloudnative-pg-v0.27.1
v0.27.0Compare Source
CloudNativePG Operator Helm Chart
What's Changed
New Contributors
Full Changelog: cloudnative-pg/charts@cluster-v0.4.0...cloudnative-pg-v0.27.0
Configuration
📅 Schedule: Branch creation - "every weekend" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.