Open
Description
Describe the bug
Using numSymbols
can lead to startup failure of postgres pods, as it can create passwords with chararacters like &
(ampersand; &
) that lead to errors when checking pod logs.
2025-06-21 17:14:20,018 - bootstrapping - INFO - Looks like you are running unsupported
Traceback (most recent call last):
File "/scripts/configure_spilo.py", line 1177, in <module>
main()
File "/scripts/configure_spilo.py", line 1065, in main
config = yaml.safe_load(pystache_render(TEMPLATE, placeholders))
File "/usr/lib/python3/dist-packages/yaml/__init__.py", line 162, in safe_load
return load(stream, SafeLoader)
File "/usr/lib/python3/dist-packages/yaml/__init__.py", line 114, in load
return loader.get_single_data()
File "/usr/lib/python3/dist-packages/yaml/constructor.py", line 49, in get_single_data
node = self.get_single_node()
File "/usr/lib/python3/dist-packages/yaml/composer.py", line 36, in get_single_node
document = self.compose_document()
File "/usr/lib/python3/dist-packages/yaml/composer.py", line 55, in compose_document
node = self.compose_node(None, None)
File "/usr/lib/python3/dist-packages/yaml/composer.py", line 84, in compose_node
node = self.compose_mapping_node(anchor)
File "/usr/lib/python3/dist-packages/yaml/composer.py", line 133, in compose_mapping_node
item_value = self.compose_node(node, item_key)
File "/usr/lib/python3/dist-packages/yaml/composer.py", line 84, in compose_node
node = self.compose_mapping_node(anchor)
File "/usr/lib/python3/dist-packages/yaml/composer.py", line 133, in compose_mapping_node
item_value = self.compose_node(node, item_key)
File "/usr/lib/python3/dist-packages/yaml/composer.py", line 84, in compose_node
node = self.compose_mapping_node(anchor)
File "/usr/lib/python3/dist-packages/yaml/composer.py", line 133, in compose_mapping_node
item_value = self.compose_node(node, item_key)
File "/usr/lib/python3/dist-packages/yaml/composer.py", line 84, in compose_node
node = self.compose_mapping_node(anchor)
File "/usr/lib/python3/dist-packages/yaml/composer.py", line 133, in compose_mapping_node
item_value = self.compose_node(node, item_key)
File "/usr/lib/python3/dist-packages/yaml/composer.py", line 64, in compose_node
if self.check_event(AliasEvent):
File "/usr/lib/python3/dist-packages/yaml/parser.py", line 98, in check_event
self.current_event = self.state()
File "/usr/lib/python3/dist-packages/yaml/parser.py", line 449, in parse_block_mapping_value
if not self.check_token(KeyToken, ValueToken, BlockEndToken):
File "/usr/lib/python3/dist-packages/yaml/scanner.py", line 116, in check_token
self.fetch_more_tokens()
File "/usr/lib/python3/dist-packages/yaml/scanner.py", line 231, in fetch_more_tokens
return self.fetch_anchor()
File "/usr/lib/python3/dist-packages/yaml/scanner.py", line 621, in fetch_anchor
self.tokens.append(self.scan_anchor(AnchorToken))
File "/usr/lib/python3/dist-packages/yaml/scanner.py", line 929, in scan_anchor
raise ScannerError("while scanning an %s" % name, start_mark,
yaml.scanner.ScannerError: while scanning an anchor
in "<unicode string>", line 45, column 17:
password: &JgE#F5x&eNwis*2dW!7& ...
^
expected alphabetic or numeric character, but found ';'
in "<unicode string>", line 45, column 21:
password: &JgE#F5x&eNwis*2dW!7&4@8 ...
To Reproduce
Steps to reproduce the behavior:
cluster.yaml
---
apiVersion: apps.kubeblocks.io/v1
kind: Cluster
metadata:
name: postgres
namespace: postgres
spec:
terminationPolicy: Delete
clusterDef: postgresql
topology: replication
componentSpecs:
- name: postgresql
serviceVersion: 16.4.0
labels:
apps.kubeblocks.postgres.patroni/scope: postgres-postgresql
disableExporter: true
replicas: 3
systemAccounts:
- name: postgres
passwordConfig:
length: 32
letterCase: MixedCases
numDigits: 8
numSymbols: 8
resources:
limits:
cpu: "0.5"
memory: "0.5Gi"
requests:
cpu: "0.5"
memory: "0.5Gi"
volumeClaimTemplates:
- name: data
spec:
storageClassName: longhorn
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi
backup:
retentionPeriod: 7d
method: pg-basebackup
enabled: true
cronExpression: '*/5 * * * *'
Expected behavior
No error.
Screenshots