Skip to content

Commit 8d62c15

Browse files
authored
feat: add control plane configuration and test (#63)
1 parent 15af98a commit 8d62c15

File tree

4 files changed

+60
-1
lines changed

4 files changed

+60
-1
lines changed

Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
apiVersion: v1
22
name: pgdog
3-
version: v0.35
3+
version: v0.36
44
appVersion: "0.1.25"

templates/config.yaml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -248,3 +248,16 @@ data:
248248
max_errors = {{ .Values.queryStats.maxErrors | default "100" }}
249249
max_error_age = {{ .Values.queryStats.maxErrorAge | default "300_000" }}
250250
{{- end }}
251+
252+
{{- if .Values.control.enabled }}
253+
[control]
254+
endpoint = {{ .Values.control.endpoint | quote }}
255+
token = {{ .Values.control.token | quote }}
256+
metrics_interval = {{ .Values.control.metricsInterval | default "1_000" }}
257+
stats_interval = {{ .Values.control.statsInterval | default "5_000" }}
258+
active_queries_interval = {{ .Values.control.activeQueriesInterval | default "5_000" }}
259+
errors_interval = {{ .Values.control.errorsInterval | default "5_000" }}
260+
request_timeout = {{ .Values.control.requestTimeout | default "1_000" }}
261+
query_timings_chunk_size = {{ .Values.control.queryTimingsChunkSize | default "25" }}
262+
query_timings_new_query_queue_size = {{ .Values.control.queryTimingsNewQueryQueueSize | default "1_000" }}
263+
{{- end }}

test/values-control.yaml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# Test control plane configuration (PgDog EE)
2+
control:
3+
enabled: true
4+
endpoint: "wss://control.example.com/ws"
5+
token: "test-token-12345"
6+
metricsInterval: 2000
7+
statsInterval: 10000
8+
activeQueriesInterval: 5000
9+
errorsInterval: 5000
10+
requestTimeout: 2000
11+
queryTimingsChunkSize: 50
12+
queryTimingsNewQueryQueueSize: 500
13+
14+
# Basic database config for testing control integration
15+
databases:
16+
- name: primary
17+
host: postgres.example.com
18+
port: 5432
19+
20+
users:
21+
- username: app_user
22+
password: secret123

values.yaml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -422,6 +422,30 @@ queryStats:
422422
queryPlansCache: 100
423423
maxErrors: 100
424424
maxErrorAge: 300000
425+
# Control configuration (PgDog EE)
426+
# Enables communication with PgDog Cloud control plane
427+
control:
428+
# enabled controls whether to include [control] section in pgdog.toml
429+
enabled: false
430+
# endpoint is the control plane URL
431+
endpoint: ""
432+
# token is the authentication token for the control plane
433+
token: ""
434+
# metricsInterval defines how often to push metrics (in milliseconds)
435+
metricsInterval: 1000
436+
# statsInterval defines how often to push stats (in milliseconds)
437+
statsInterval: 5000
438+
# activeQueriesInterval defines how often to push active queries (in milliseconds)
439+
activeQueriesInterval: 5000
440+
# errorsInterval defines how often to push errors (in milliseconds)
441+
errorsInterval: 5000
442+
# requestTimeout defines the timeout for control plane requests (in milliseconds)
443+
requestTimeout: 1000
444+
# queryTimingsChunkSize defines the chunk size for query timings
445+
queryTimingsChunkSize: 25
446+
# queryTimingsNewQueryQueueSize defines the queue size for new query timings
447+
queryTimingsNewQueryQueueSize: 1000
448+
425449
# LSN check configuration for replication failover auto mode (in milliseconds)
426450
# See: https://docs.pgdog.dev/features/load-balancer/replication-failover/
427451
# lsnCheckDelay: 0 # Set to 0 to start LSN monitoring immediately

0 commit comments

Comments
 (0)