feat: expose whether a network was created by dokku

`network:list` and `network:info` now expose a `DokkuManaged` boolean derived from the `com.dokku.network-name` label that `network:create` applies, and `network:list` gains a `--dokku-managed` flag to restrict output to dokku-created networks. This lets tooling distinguish networks dokku created from Docker built-ins and networks created by other tooling such as compose.
This commit is contained in:
Jose Diaz-Gonzalez
2026-07-08 00:03:29 -04:00
parent 24e3809a34
commit ac4b86fd8e
6 changed files with 113 additions and 23 deletions

View File

@@ -14,6 +14,7 @@ teardown() {
docker network rm create-network || true
docker network rm deploy-network || true
docker network rm initial-network || true
docker network rm "$TEST_NETWORK" || true
global_teardown
}
@@ -441,6 +442,63 @@ teardown() {
assert_failure
}
@test "(network:list) --format json exposes DokkuManaged" {
run /bin/bash -c "dokku network:create $TEST_NETWORK"
echo "output: $output"
echo "status: $status"
assert_success
run /bin/bash -c "dokku network:list --format json | jq -e ."
echo "output: $output"
echo "status: $status"
assert_success
run /bin/bash -c "dokku network:list --format json | jq -r '.[] | select(.Name == \"bridge\") | .DokkuManaged'"
echo "output: $output"
echo "status: $status"
assert_success
assert_output "false"
run /bin/bash -c "dokku network:list --format json | jq -r '.[] | select(.Name == \"$TEST_NETWORK\") | .DokkuManaged'"
echo "output: $output"
echo "status: $status"
assert_success
assert_output "true"
run /bin/bash -c "dokku --force network:destroy $TEST_NETWORK"
echo "output: $output"
echo "status: $status"
assert_success
}
@test "(network:list) --dokku-managed filters to dokku-created networks" {
run /bin/bash -c "dokku network:create $TEST_NETWORK"
echo "output: $output"
echo "status: $status"
assert_success
run /bin/bash -c "dokku network:list --dokku-managed | grep -w bridge"
echo "output: $output"
echo "status: $status"
assert_failure
run /bin/bash -c "dokku network:list --dokku-managed | grep $TEST_NETWORK"
echo "output: $output"
echo "status: $status"
assert_success
run /bin/bash -c "dokku network:list --dokku-managed --format json | jq -r '.[].DokkuManaged' | sort -u"
echo "output: $output"
echo "status: $status"
assert_success
assert_output "true"
run /bin/bash -c "dokku --force network:destroy $TEST_NETWORK"
echo "output: $output"
echo "status: $status"
assert_success
}
@test "(network) network:set attach" {
run deploy_app
echo "output: $output"