From b664ce6411ce011c1740df5368bfda4ee07f87cd Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Wed, 8 Feb 2023 11:00:01 -0500 Subject: [PATCH 01/10] feat: add network alias that is $SERVICE_NAME.$SERVICE_TYPE This alias is in addition to the existing dokku.$SERVICE_TYPE.$SERVICE_NAME network alias that is derived from the hostname. --- functions | 5 +++-- tests/link_networks.bats | 24 ++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/functions b/functions index ed91b7e..c27514b 100755 --- a/functions +++ b/functions @@ -110,10 +110,11 @@ service_create_container() { [[ -f "$SERVICE_ROOT/IMAGE" ]] && PLUGIN_IMAGE="$(cat "$SERVICE_ROOT/IMAGE")" [[ -f "$SERVICE_ROOT/IMAGE_VERSION" ]] && PLUGIN_IMAGE_VERSION="$(cat "$SERVICE_ROOT/IMAGE_VERSION")" + local network_alias="$(get_database_name "$SERVICE").$PLUGIN_COMMAND_PREFIX" local network="$(fn-plugin-property-get "$PLUGIN_COMMAND_PREFIX" "$SERVICE" "initial-network")" if [[ -n "$network" ]]; then DOCKER_ARGS+=("--network=${network}") - DOCKER_ARGS+=("--network-alias=$SERVICE_NAME") + DOCKER_ARGS+=("--network-alias=${network_alias}") LINK_CONTAINER_DOCKER_ARGS+=("--network=${network}") fi @@ -137,7 +138,7 @@ service_create_container() { fi dokku_log_verbose_quiet "Waiting for container to be ready" - if ! suppress_output "$DOCKER_BIN" container run "${LINK_CONTAINER_DOCKER_ARGS[@]}" "$PLUGIN_WAIT_IMAGE" -c "$SERVICE_NAME:$PLUGIN_DATASTORE_WAIT_PORT"; then + if ! suppress_output "$DOCKER_BIN" container run "${LINK_CONTAINER_DOCKER_ARGS[@]}" "$PLUGIN_WAIT_IMAGE" -c "$network_alias:$PLUGIN_DATASTORE_WAIT_PORT"; then dokku_log_info2_quiet "Start of $SERVICE container output" dokku_container_log_verbose_quiet "$SERVICE_NAME" dokku_log_info2_quiet "End of $SERVICE container output" diff --git a/tests/link_networks.bats b/tests/link_networks.bats index 6c1ffd8..da6937f 100755 --- a/tests/link_networks.bats +++ b/tests/link_networks.bats @@ -48,6 +48,14 @@ teardown() { assert_output_contains bridge 0 assert_output_contains custom-network + run docker inspect dokku.$PLUGIN_COMMAND_PREFIX.ls -f '{{range $net,$v := .NetworkSettings.Networks}}{{range $k,$alias := $v.Aliases}}{{printf "alias:%s\n" $alias}}{{end}}{{end}}' + echo "output: $output" + echo "status: $status" + assert_success + assert_output_contains "alias:dokku.$PLUGIN_COMMAND_PREFIX.ls" + assert_output_contains "alias:ls.$PLUGIN_COMMAND_PREFIX" + assert_output_contains "alias:ls" + run dokku "$PLUGIN_COMMAND_PREFIX:set" ls initial-network echo "output: $output" echo "status: $status" @@ -178,6 +186,14 @@ teardown() { assert_output_contains bridge assert_output_contains custom-network + run docker inspect dokku.$PLUGIN_COMMAND_PREFIX.ls -f '{{range $net,$v := .NetworkSettings.Networks}}{{range $k,$alias := $v.Aliases}}{{printf "alias:%s\n" $alias}}{{end}}{{end}}' + echo "output: $output" + echo "status: $status" + assert_success + assert_output_contains "alias:dokku.$PLUGIN_COMMAND_PREFIX.ls" + assert_output_contains "alias:ls.$PLUGIN_COMMAND_PREFIX" + assert_output_contains "alias:ls" + run dokku "$PLUGIN_COMMAND_PREFIX:set" ls post-start-network echo "output: $output" echo "status: $status" @@ -237,6 +253,14 @@ teardown() { assert_output_contains bridge assert_output_contains custom-network + run docker inspect dokku.$PLUGIN_COMMAND_PREFIX.ls -f '{{range $net,$v := .NetworkSettings.Networks}}{{range $k,$alias := $v.Aliases}}{{printf "alias:%s\n" $alias}}{{end}}{{end}}' + echo "output: $output" + echo "status: $status" + assert_success + assert_output_contains "alias:dokku.$PLUGIN_COMMAND_PREFIX.ls" + assert_output_contains "alias:ls.$PLUGIN_COMMAND_PREFIX" + assert_output_contains "alias:ls" + run dokku "$PLUGIN_COMMAND_PREFIX:destroy" lsa --force echo "output: $output" echo "status: $status" From 3aa2c03834a01db4587d33f3f3f8a7e12fbec4b7 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Wed, 8 Feb 2023 11:01:02 -0500 Subject: [PATCH 02/10] feat: use service name as hostname --- functions | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/functions b/functions index c27514b..63a310c 100755 --- a/functions +++ b/functions @@ -83,7 +83,7 @@ service_create_container() { DOCKER_ARGS=() DOCKER_ARGS+=("--cidfile=$SERVICE_ROOT/ID") DOCKER_ARGS+=("--env-file=$SERVICE_ROOT/ENV") - DOCKER_ARGS+=("--hostname=$SERVICE") + DOCKER_ARGS+=("--hostname=$SERVICE_NAME") DOCKER_ARGS+=("--label=dokku.service=$PLUGIN_COMMAND_PREFIX") DOCKER_ARGS+=("--label=dokku=service") DOCKER_ARGS+=("--name=$SERVICE_NAME") From c0e8b7afb8979cad16bbfb9e976760e7c84fd1cc Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Wed, 8 Feb 2023 11:45:42 -0500 Subject: [PATCH 03/10] fix: set correct alias for wait container when not using an initial network --- functions | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/functions b/functions index 63a310c..86ad0e9 100755 --- a/functions +++ b/functions @@ -110,9 +110,10 @@ service_create_container() { [[ -f "$SERVICE_ROOT/IMAGE" ]] && PLUGIN_IMAGE="$(cat "$SERVICE_ROOT/IMAGE")" [[ -f "$SERVICE_ROOT/IMAGE_VERSION" ]] && PLUGIN_IMAGE_VERSION="$(cat "$SERVICE_ROOT/IMAGE_VERSION")" - local network_alias="$(get_database_name "$SERVICE").$PLUGIN_COMMAND_PREFIX" + local network_alias="$SERVICE_NAME" local network="$(fn-plugin-property-get "$PLUGIN_COMMAND_PREFIX" "$SERVICE" "initial-network")" if [[ -n "$network" ]]; then + network_alias="$(get_database_name "$SERVICE").$PLUGIN_COMMAND_PREFIX" DOCKER_ARGS+=("--network=${network}") DOCKER_ARGS+=("--network-alias=${network_alias}") LINK_CONTAINER_DOCKER_ARGS+=("--network=${network}") From 1925d15ffb9226de094a7df7ebb98ee534069f56 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Wed, 8 Feb 2023 12:06:57 -0500 Subject: [PATCH 04/10] fix: always use the network alias --- functions | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/functions b/functions index 86ad0e9..bb9e88a 100755 --- a/functions +++ b/functions @@ -126,7 +126,7 @@ service_create_container() { dokku_log_verbose_quiet "Connecting to networks after container create" while read -r line || [[ -n "$line" ]]; do dokku_log_verbose_quiet "- $line" - "$DOCKER_BIN" network connect --alias "$SERVICE_NAME" "$line" "$SERVICE_NAME" + "$DOCKER_BIN" network connect --alias "$network_alias" "$line" "$SERVICE_NAME" done < <(fn-plugin-property-get "$PLUGIN_COMMAND_PREFIX" "$SERVICE" "post-create-network" | tr "," "\n") fi suppress_output "$DOCKER_BIN" container start "$(cat "$SERVICE_ROOT/ID")" @@ -134,7 +134,7 @@ service_create_container() { dokku_log_verbose_quiet "Connecting to networks after container start" while read -r line || [[ -n "$line" ]]; do dokku_log_verbose_quiet "- $line" - "$DOCKER_BIN" network connect --alias "$SERVICE_NAME" "$line" "$SERVICE_NAME" + "$DOCKER_BIN" network connect --alias "$network_alias" "$line" "$SERVICE_NAME" done < <(fn-plugin-property-get "$PLUGIN_COMMAND_PREFIX" "$SERVICE" "post-start-network" | tr "," "\n") fi From 331b5197dabca56b60d27a95c4060aa3eb388406 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Wed, 8 Feb 2023 12:08:26 -0500 Subject: [PATCH 05/10] fix: use correct alias for non-initial-network connect calls --- functions | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/functions b/functions index bb9e88a..cdf51c1 100755 --- a/functions +++ b/functions @@ -126,7 +126,7 @@ service_create_container() { dokku_log_verbose_quiet "Connecting to networks after container create" while read -r line || [[ -n "$line" ]]; do dokku_log_verbose_quiet "- $line" - "$DOCKER_BIN" network connect --alias "$network_alias" "$line" "$SERVICE_NAME" + "$DOCKER_BIN" network connect --alias "$(get_database_name "$SERVICE").$PLUGIN_COMMAND_PREFIX" "$line" "$SERVICE_NAME" done < <(fn-plugin-property-get "$PLUGIN_COMMAND_PREFIX" "$SERVICE" "post-create-network" | tr "," "\n") fi suppress_output "$DOCKER_BIN" container start "$(cat "$SERVICE_ROOT/ID")" @@ -134,7 +134,7 @@ service_create_container() { dokku_log_verbose_quiet "Connecting to networks after container start" while read -r line || [[ -n "$line" ]]; do dokku_log_verbose_quiet "- $line" - "$DOCKER_BIN" network connect --alias "$network_alias" "$line" "$SERVICE_NAME" + "$DOCKER_BIN" network connect --alias "$(get_database_name "$SERVICE").$PLUGIN_COMMAND_PREFIX" "$line" "$SERVICE_NAME" done < <(fn-plugin-property-get "$PLUGIN_COMMAND_PREFIX" "$SERVICE" "post-start-network" | tr "," "\n") fi From 86f81e9981199cc84d9a2cbb87ee684f6d0385e8 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Wed, 8 Feb 2023 12:24:20 -0500 Subject: [PATCH 06/10] tests: correct the app name in use --- tests/link_networks.bats | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/link_networks.bats b/tests/link_networks.bats index da6937f..ef193a4 100755 --- a/tests/link_networks.bats +++ b/tests/link_networks.bats @@ -253,7 +253,7 @@ teardown() { assert_output_contains bridge assert_output_contains custom-network - run docker inspect dokku.$PLUGIN_COMMAND_PREFIX.ls -f '{{range $net,$v := .NetworkSettings.Networks}}{{range $k,$alias := $v.Aliases}}{{printf "alias:%s\n" $alias}}{{end}}{{end}}' + run docker inspect dokku.$PLUGIN_COMMAND_PREFIX.lsa -f '{{range $net,$v := .NetworkSettings.Networks}}{{range $k,$alias := $v.Aliases}}{{printf "alias:%s\n" $alias}}{{end}}{{end}}' echo "output: $output" echo "status: $status" assert_success From b93710dbd2f7d2d77ef27fe403951a1d7e78671b Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Wed, 8 Feb 2023 12:41:09 -0500 Subject: [PATCH 07/10] tests: drop extra alias --- tests/link_networks.bats | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/tests/link_networks.bats b/tests/link_networks.bats index ef193a4..30a3de6 100755 --- a/tests/link_networks.bats +++ b/tests/link_networks.bats @@ -257,9 +257,8 @@ teardown() { echo "output: $output" echo "status: $status" assert_success - assert_output_contains "alias:dokku.$PLUGIN_COMMAND_PREFIX.ls" - assert_output_contains "alias:ls.$PLUGIN_COMMAND_PREFIX" - assert_output_contains "alias:ls" + assert_output_contains "alias:dokku.$PLUGIN_COMMAND_PREFIX.lsa" + assert_output_contains "alias:lsa.$PLUGIN_COMMAND_PREFIX" run dokku "$PLUGIN_COMMAND_PREFIX:destroy" lsa --force echo "output: $output" From 7230fbfccd6def9e90b68f0e26951370d83defb2 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Wed, 8 Feb 2023 17:08:08 -0500 Subject: [PATCH 08/10] refactor: use the same network alias as is used when running :link command This allows for some degree of parity as the network will now resolve the same for both linked and networked containers. --- functions | 6 +++--- tests/link_networks.bats | 14 +++++++++++--- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/functions b/functions index cdf51c1..50d1e2f 100755 --- a/functions +++ b/functions @@ -113,7 +113,7 @@ service_create_container() { local network_alias="$SERVICE_NAME" local network="$(fn-plugin-property-get "$PLUGIN_COMMAND_PREFIX" "$SERVICE" "initial-network")" if [[ -n "$network" ]]; then - network_alias="$(get_database_name "$SERVICE").$PLUGIN_COMMAND_PREFIX" + network_alias="dokku-$PLUGIN_COMMAND_PREFIX-$(get_database_name "$SERVICE")" DOCKER_ARGS+=("--network=${network}") DOCKER_ARGS+=("--network-alias=${network_alias}") LINK_CONTAINER_DOCKER_ARGS+=("--network=${network}") @@ -126,7 +126,7 @@ service_create_container() { dokku_log_verbose_quiet "Connecting to networks after container create" while read -r line || [[ -n "$line" ]]; do dokku_log_verbose_quiet "- $line" - "$DOCKER_BIN" network connect --alias "$(get_database_name "$SERVICE").$PLUGIN_COMMAND_PREFIX" "$line" "$SERVICE_NAME" + "$DOCKER_BIN" network connect --alias "dokku-$PLUGIN_COMMAND_PREFIX-$(get_database_name "$SERVICE")" "$line" "$SERVICE_NAME" done < <(fn-plugin-property-get "$PLUGIN_COMMAND_PREFIX" "$SERVICE" "post-create-network" | tr "," "\n") fi suppress_output "$DOCKER_BIN" container start "$(cat "$SERVICE_ROOT/ID")" @@ -134,7 +134,7 @@ service_create_container() { dokku_log_verbose_quiet "Connecting to networks after container start" while read -r line || [[ -n "$line" ]]; do dokku_log_verbose_quiet "- $line" - "$DOCKER_BIN" network connect --alias "$(get_database_name "$SERVICE").$PLUGIN_COMMAND_PREFIX" "$line" "$SERVICE_NAME" + "$DOCKER_BIN" network connect --alias "dokku-$PLUGIN_COMMAND_PREFIX-$(get_database_name "$SERVICE")" "$line" "$SERVICE_NAME" done < <(fn-plugin-property-get "$PLUGIN_COMMAND_PREFIX" "$SERVICE" "post-start-network" | tr "," "\n") fi diff --git a/tests/link_networks.bats b/tests/link_networks.bats index 30a3de6..f6ce837 100755 --- a/tests/link_networks.bats +++ b/tests/link_networks.bats @@ -53,7 +53,7 @@ teardown() { echo "status: $status" assert_success assert_output_contains "alias:dokku.$PLUGIN_COMMAND_PREFIX.ls" - assert_output_contains "alias:ls.$PLUGIN_COMMAND_PREFIX" + assert_output_contains "alias:dokku-$PLUGIN_COMMAND_PREFIX-ls" assert_output_contains "alias:ls" run dokku "$PLUGIN_COMMAND_PREFIX:set" ls initial-network @@ -121,6 +121,14 @@ teardown() { assert_output_contains custom-network assert_output_contains bridge + run docker inspect dokku.$PLUGIN_COMMAND_PREFIX.ls -f '{{range $net,$v := .NetworkSettings.Networks}}{{range $k,$alias := $v.Aliases}}{{printf "alias:%s\n" $alias}}{{end}}{{end}}' + echo "output: $output" + echo "status: $status" + assert_success + assert_output_contains "alias:dokku.$PLUGIN_COMMAND_PREFIX.ls" + assert_output_contains "alias:dokku-$PLUGIN_COMMAND_PREFIX-ls" + assert_output_contains "alias:ls" + run dokku "$PLUGIN_COMMAND_PREFIX:set" ls post-create-network echo "output: $output" echo "status: $status" @@ -191,7 +199,7 @@ teardown() { echo "status: $status" assert_success assert_output_contains "alias:dokku.$PLUGIN_COMMAND_PREFIX.ls" - assert_output_contains "alias:ls.$PLUGIN_COMMAND_PREFIX" + assert_output_contains "alias:dokku-$PLUGIN_COMMAND_PREFIX-ls" assert_output_contains "alias:ls" run dokku "$PLUGIN_COMMAND_PREFIX:set" ls post-start-network @@ -258,7 +266,7 @@ teardown() { echo "status: $status" assert_success assert_output_contains "alias:dokku.$PLUGIN_COMMAND_PREFIX.lsa" - assert_output_contains "alias:lsa.$PLUGIN_COMMAND_PREFIX" + assert_output_contains "alias:dokku-$PLUGIN_COMMAND_PREFIX-lsa" run dokku "$PLUGIN_COMMAND_PREFIX:destroy" lsa --force echo "output: $output" From c6f3b67509ae9efe86bd0cffeb2c565ce973ecf1 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Wed, 8 Feb 2023 18:30:12 -0500 Subject: [PATCH 09/10] fix: drop extra check and always use the same network alias --- functions | 7 +++---- tests/link_networks.bats | 3 --- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/functions b/functions index 50d1e2f..7020549 100755 --- a/functions +++ b/functions @@ -110,10 +110,9 @@ service_create_container() { [[ -f "$SERVICE_ROOT/IMAGE" ]] && PLUGIN_IMAGE="$(cat "$SERVICE_ROOT/IMAGE")" [[ -f "$SERVICE_ROOT/IMAGE_VERSION" ]] && PLUGIN_IMAGE_VERSION="$(cat "$SERVICE_ROOT/IMAGE_VERSION")" - local network_alias="$SERVICE_NAME" + local network_alias="dokku-$PLUGIN_COMMAND_PREFIX-$(get_database_name "$SERVICE")" local network="$(fn-plugin-property-get "$PLUGIN_COMMAND_PREFIX" "$SERVICE" "initial-network")" if [[ -n "$network" ]]; then - network_alias="dokku-$PLUGIN_COMMAND_PREFIX-$(get_database_name "$SERVICE")" DOCKER_ARGS+=("--network=${network}") DOCKER_ARGS+=("--network-alias=${network_alias}") LINK_CONTAINER_DOCKER_ARGS+=("--network=${network}") @@ -126,7 +125,7 @@ service_create_container() { dokku_log_verbose_quiet "Connecting to networks after container create" while read -r line || [[ -n "$line" ]]; do dokku_log_verbose_quiet "- $line" - "$DOCKER_BIN" network connect --alias "dokku-$PLUGIN_COMMAND_PREFIX-$(get_database_name "$SERVICE")" "$line" "$SERVICE_NAME" + "$DOCKER_BIN" network connect --alias "$network_alias" "$line" "$SERVICE_NAME" done < <(fn-plugin-property-get "$PLUGIN_COMMAND_PREFIX" "$SERVICE" "post-create-network" | tr "," "\n") fi suppress_output "$DOCKER_BIN" container start "$(cat "$SERVICE_ROOT/ID")" @@ -134,7 +133,7 @@ service_create_container() { dokku_log_verbose_quiet "Connecting to networks after container start" while read -r line || [[ -n "$line" ]]; do dokku_log_verbose_quiet "- $line" - "$DOCKER_BIN" network connect --alias "dokku-$PLUGIN_COMMAND_PREFIX-$(get_database_name "$SERVICE")" "$line" "$SERVICE_NAME" + "$DOCKER_BIN" network connect --alias "$network_alias" "$line" "$SERVICE_NAME" done < <(fn-plugin-property-get "$PLUGIN_COMMAND_PREFIX" "$SERVICE" "post-start-network" | tr "," "\n") fi diff --git a/tests/link_networks.bats b/tests/link_networks.bats index f6ce837..f75dfbe 100755 --- a/tests/link_networks.bats +++ b/tests/link_networks.bats @@ -54,7 +54,6 @@ teardown() { assert_success assert_output_contains "alias:dokku.$PLUGIN_COMMAND_PREFIX.ls" assert_output_contains "alias:dokku-$PLUGIN_COMMAND_PREFIX-ls" - assert_output_contains "alias:ls" run dokku "$PLUGIN_COMMAND_PREFIX:set" ls initial-network echo "output: $output" @@ -127,7 +126,6 @@ teardown() { assert_success assert_output_contains "alias:dokku.$PLUGIN_COMMAND_PREFIX.ls" assert_output_contains "alias:dokku-$PLUGIN_COMMAND_PREFIX-ls" - assert_output_contains "alias:ls" run dokku "$PLUGIN_COMMAND_PREFIX:set" ls post-create-network echo "output: $output" @@ -200,7 +198,6 @@ teardown() { assert_success assert_output_contains "alias:dokku.$PLUGIN_COMMAND_PREFIX.ls" assert_output_contains "alias:dokku-$PLUGIN_COMMAND_PREFIX-ls" - assert_output_contains "alias:ls" run dokku "$PLUGIN_COMMAND_PREFIX:set" ls post-start-network echo "output: $output" From 2965302171f8eff2fb544f0c4ec13e3a4bcb2f92 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Wed, 8 Feb 2023 23:59:22 -0500 Subject: [PATCH 10/10] fix: use network alias when linking to wait container --- functions | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/functions b/functions index 7020549..5603048 100755 --- a/functions +++ b/functions @@ -78,6 +78,8 @@ service_create_container() { export CONFIG_OPTIONS="$(cat "$SERVICE_ROOT/CONFIG_OPTIONS")" fi + local network_alias="$(service_dns_hostname "$SERVICE")" + rm -f "$SERVICE_ROOT/ID" declare -a DOCKER_ARGS DOCKER_ARGS=() @@ -95,7 +97,7 @@ service_create_container() { LINK_CONTAINER_DOCKER_ARGS=() LINK_CONTAINER_DOCKER_ARGS+=("--rm") LINK_CONTAINER_DOCKER_ARGS+=("--link") - LINK_CONTAINER_DOCKER_ARGS+=("$SERVICE_NAME:$PLUGIN_COMMAND_PREFIX") + LINK_CONTAINER_DOCKER_ARGS+=("$SERVICE_NAME:$network_alias") [[ -f "$SERVICE_ROOT/SERVICE_MEMORY" ]] && SERVICE_MEMORY="$(cat "$SERVICE_ROOT/SERVICE_MEMORY")" if [[ -n "$SERVICE_MEMORY" ]]; then @@ -110,7 +112,6 @@ service_create_container() { [[ -f "$SERVICE_ROOT/IMAGE" ]] && PLUGIN_IMAGE="$(cat "$SERVICE_ROOT/IMAGE")" [[ -f "$SERVICE_ROOT/IMAGE_VERSION" ]] && PLUGIN_IMAGE_VERSION="$(cat "$SERVICE_ROOT/IMAGE_VERSION")" - local network_alias="dokku-$PLUGIN_COMMAND_PREFIX-$(get_database_name "$SERVICE")" local network="$(fn-plugin-property-get "$PLUGIN_COMMAND_PREFIX" "$SERVICE" "initial-network")" if [[ -n "$network" ]]; then DOCKER_ARGS+=("--network=${network}")