@@ -224,7 +224,7 @@ func sidecarContainerV2(pgc *v2.PerconaPGCluster) corev1.Container {
224224 },
225225 {
226226 Name : "PMM_AGENT_PRERUN_SCRIPT" ,
227- Value : agentPrerunScript (pgc . Spec . PMM . QuerySource , pgc ),
227+ Value : agentPrerunScript (pgc , false ),
228228 },
229229 {
230230 Name : "PMM_AGENT_PATHS_TEMPDIR" ,
@@ -407,7 +407,7 @@ func sidecarContainerV3(pgc *v2.PerconaPGCluster) corev1.Container {
407407 },
408408 {
409409 Name : "PMM_AGENT_PRERUN_SCRIPT" ,
410- Value : agentPrerunScript (pgc . Spec . PMM . QuerySource , pgc ),
410+ Value : agentPrerunScript (pgc , true ),
411411 },
412412 {
413413 Name : "PMM_AGENT_PATHS_TEMPDIR" ,
@@ -419,7 +419,7 @@ func sidecarContainerV3(pgc *v2.PerconaPGCluster) corev1.Container {
419419 return container
420420}
421421
422- func agentPrerunScript (querySource v2. PMMQuerySource , pgc * v2.PerconaPGCluster ) string {
422+ func agentPrerunScript (pgc * v2.PerconaPGCluster , isPMM3 bool ) string {
423423 wait := "pmm-admin status --wait=10s"
424424 annotate := "pmm-admin annotate --service-name=$(PMM_AGENT_SETUP_NODE_NAME) 'Service restarted'"
425425
@@ -435,7 +435,7 @@ func agentPrerunScript(querySource v2.PMMQuerySource, pgc *v2.PerconaPGCluster)
435435 "--skip-connection-check" ,
436436 "--metrics-mode=push" ,
437437 "--service-name=$(PMM_AGENT_SETUP_NODE_NAME)" ,
438- fmt .Sprintf ("--query-source=%s" , querySource ),
438+ fmt .Sprintf ("--query-source=%s" , pgc . Spec . PMM . QuerySource ),
439439 }
440440
441441 if pgc .CompareVersion ("2.7.0" ) >= 0 {
@@ -449,5 +449,11 @@ func agentPrerunScript(querySource v2.PMMQuerySource, pgc *v2.PerconaPGCluster)
449449 }
450450 addService := fmt .Sprintf ("pmm-admin add postgresql %s" , strings .Join (addServiceArgs , " " ))
451451
452+ if pgc .CompareVersion ("2.8.0" ) >= 0 && isPMM3 {
453+ addPatroniMetrics := fmt .Sprintf (
454+ "pmm-admin add external --scheme=https --listen-port=%d --tls-skip-verify --service-name=$(PMM_AGENT_SETUP_NODE_NAME)-patroni-external" , pgc .Spec .Patroni .GetPort ())
455+ return fmt .Sprintf ("%s; %s; %s; %s" , wait , addService , addPatroniMetrics , annotate )
456+ }
457+
452458 return wait + "; " + addService + "; " + annotate
453459}
0 commit comments