@@ -268,7 +268,7 @@ def deep_update(a, b):
268268scope: &scope '{{SCOPE}}'
269269restapi:
270270 listen: ':{{APIPORT}}'
271- connect_address: {{RESTAPI_CONNECT_ADDRESS}}:{{APIPORT}}
271+ connect_address: ' {{RESTAPI_CONNECT_ADDRESS}}'
272272 {{#SSL_RESTAPI_CA_FILE}}
273273 cafile: {{SSL_RESTAPI_CA_FILE}}
274274 {{/SSL_RESTAPI_CA_FILE}}
@@ -284,7 +284,7 @@ def deep_update(a, b):
284284 use_unix_socket_repl: true
285285 name: '{{instance_data.id}}'
286286 listen: '*:{{PGPORT}}'
287- connect_address: {{instance_data.ip}}:{{PGPORT}}
287+ connect_address: '{{PG_CONNECT_ADDRESS}}'
288288 data_dir: {{PGDATA}}
289289 parameters:
290290 archive_command: {{{postgresql.parameters.archive_command}}}
@@ -697,7 +697,11 @@ def get_placeholders(provider):
697697 placeholders ['postgresql' ]['parameters' ]['max_connections' ] = min (max (100 , int (os_memory_mb / 30 )), 1000 )
698698
699699 placeholders ['instance_data' ] = get_instance_metadata (provider )
700- placeholders .setdefault ('RESTAPI_CONNECT_ADDRESS' , placeholders ['instance_data' ]['ip' ])
700+ restapi_connect_address = format_url (placeholders ['instance_data' ]['ip' ], placeholders .get ("APIPORT" ))
701+ placeholders .setdefault ('RESTAPI_CONNECT_ADDRESS' , restapi_connect_address )
702+
703+ connect_address = format_url (placeholders ['instance_data' ]['ip' ], placeholders .get ("PGPORT" ))
704+ placeholders .setdefault ("PG_CONNECT_ADDRESS" , connect_address )
701705
702706 placeholders ['BGMON_LISTEN_IP' ] = get_listen_ip ()
703707
@@ -719,6 +723,12 @@ def get_placeholders(provider):
719723 return placeholders
720724
721725
726+ def format_url (host , port ):
727+ if ":" in host :
728+ return "[" + host + "]" + ":" + port
729+ return host + ":" + port
730+
731+
722732def pystache_render (* args , ** kwargs ):
723733 render = pystache .Renderer (missing_tags = 'strict' )
724734 return render .render (* args , ** kwargs )
0 commit comments