fix: attach every network in attach-post-create

Setting multiple networks for the `attach-post-create` network property only connected new app containers to the first network in the list. All specified networks are now attached, matching the existing `attach-post-deploy` behavior.
This commit is contained in:
Jose Diaz-Gonzalez
2026-10-29 12:25:14 -04:00
parent 7e1fd07102
commit fe0f024208
2 changed files with 36 additions and 1 deletions

View File

@@ -216,7 +216,9 @@ func TriggerPostContainerCreate(containerType string, containerID string, appNam
return fmt.Errorf("Network %v does not exist", networkName)
}
return attachAppToNetwork(containerID, networkName, appName, phase, processType)
if err := attachAppToNetwork(containerID, networkName, appName, phase, processType); err != nil {
return err
}
}
return nil

View File

@@ -12,7 +12,9 @@ teardown() {
destroy_app
[[ -f "$DOKKU_ROOT/VHOST.bak" ]] && mv "$DOKKU_ROOT/VHOST.bak" "$DOKKU_ROOT/VHOST" && chown dokku:dokku "$DOKKU_ROOT/VHOST"
docker network rm create-network || true
docker network rm create-network-2 || true
docker network rm deploy-network || true
docker network rm deploy-network-2 || true
docker network rm initial-network || true
docker network rm "$TEST_NETWORK" || true
global_teardown
@@ -630,6 +632,37 @@ teardown() {
assert_success
}
@test "(network) network:set attach-post-create attaches every network" {
for network in create-network create-network-2 deploy-network deploy-network-2; do
run /bin/bash -c "dokku network:create $network"
echo "output: $output"
echo "status: $status"
assert_success
done
run /bin/bash -c "dokku network:set $TEST_APP attach-post-create create-network create-network-2"
echo "output: $output"
echo "status: $status"
assert_success
run /bin/bash -c "dokku network:set $TEST_APP attach-post-deploy deploy-network deploy-network-2"
echo "output: $output"
echo "status: $status"
assert_success
run deploy_app python dokku@$DOKKU_DOMAIN:$TEST_APP
echo "output: $output"
echo "status: $status"
assert_success
for network in create-network create-network-2 deploy-network deploy-network-2; do
run /bin/bash -c "docker container inspect --format '{{range \$k, \$v := .NetworkSettings.Networks}}{{println \$k}}{{end}}' $TEST_APP.web.1 | grep -cx $network"
echo "output: $output"
echo "status: $status"
assert_output "1"
done
}
@test "(network) dont re-attach to network" {
run /bin/bash -c "dokku network:create deploy-network"
echo "output: $output"