fix: don't add networks
key if network_mode
is used
This commit is contained in:
@@ -3109,6 +3109,7 @@ function newParser(Application|Service $resource, int $pull_request_id = 0, ?int
|
|||||||
}
|
}
|
||||||
$volumes = collect(data_get($service, 'volumes', []));
|
$volumes = collect(data_get($service, 'volumes', []));
|
||||||
$networks = collect(data_get($service, 'networks', []));
|
$networks = collect(data_get($service, 'networks', []));
|
||||||
|
$use_network_mode = data_get($service, 'network_mode') !== null;
|
||||||
$depends_on = collect(data_get($service, 'depends_on', []));
|
$depends_on = collect(data_get($service, 'depends_on', []));
|
||||||
$labels = collect(data_get($service, 'labels', []));
|
$labels = collect(data_get($service, 'labels', []));
|
||||||
$environment = collect(data_get($service, 'environment', []));
|
$environment = collect(data_get($service, 'environment', []));
|
||||||
@@ -3308,32 +3309,34 @@ function newParser(Application|Service $resource, int $pull_request_id = 0, ?int
|
|||||||
$depends_on = $newDependsOn;
|
$depends_on = $newDependsOn;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($topLevel->get('networks')?->count() > 0) {
|
if(!$use_network_mode) {
|
||||||
foreach ($topLevel->get('networks') as $networkName => $network) {
|
if ($topLevel->get('networks')?->count() > 0) {
|
||||||
if ($networkName === 'default') {
|
foreach ($topLevel->get('networks') as $networkName => $network) {
|
||||||
continue;
|
if ($networkName === 'default') {
|
||||||
}
|
continue;
|
||||||
// ignore aliases
|
}
|
||||||
if ($network['aliases'] ?? false) {
|
// ignore aliases
|
||||||
continue;
|
if ($network['aliases'] ?? false) {
|
||||||
}
|
continue;
|
||||||
$networkExists = $networks->contains(function ($value, $key) use ($networkName) {
|
}
|
||||||
return $value == $networkName || $key == $networkName;
|
$networkExists = $networks->contains(function ($value, $key) use ($networkName) {
|
||||||
});
|
return $value == $networkName || $key == $networkName;
|
||||||
if (! $networkExists) {
|
});
|
||||||
$networks->put($networkName, null);
|
if (! $networkExists) {
|
||||||
|
$networks->put($networkName, null);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
$baseNetworkExists = $networks->contains(function ($value, $_) use ($baseNetwork) {
|
||||||
$baseNetworkExists = $networks->contains(function ($value, $_) use ($baseNetwork) {
|
return $value == $baseNetwork;
|
||||||
return $value == $baseNetwork;
|
});
|
||||||
});
|
if (! $baseNetworkExists) {
|
||||||
if (! $baseNetworkExists) {
|
foreach ($baseNetwork as $network) {
|
||||||
foreach ($baseNetwork as $network) {
|
$topLevel->get('networks')->put($network, [
|
||||||
$topLevel->get('networks')->put($network, [
|
'name' => $network,
|
||||||
'name' => $network,
|
'external' => true,
|
||||||
'external' => true,
|
]);
|
||||||
]);
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3359,30 +3362,32 @@ function newParser(Application|Service $resource, int $pull_request_id = 0, ?int
|
|||||||
|
|
||||||
$networks_temp = collect();
|
$networks_temp = collect();
|
||||||
|
|
||||||
foreach ($networks as $key => $network) {
|
if(!$use_network_mode) {
|
||||||
if (gettype($network) === 'string') {
|
foreach ($networks as $key => $network) {
|
||||||
// networks:
|
if (gettype($network) === 'string') {
|
||||||
// - appwrite
|
// networks:
|
||||||
$networks_temp->put($network, null);
|
// - appwrite
|
||||||
} elseif (gettype($network) === 'array') {
|
$networks_temp->put($network, null);
|
||||||
// networks:
|
} elseif (gettype($network) === 'array') {
|
||||||
// default:
|
// networks:
|
||||||
// ipv4_address: 192.168.203.254
|
// default:
|
||||||
$networks_temp->put($key, $network);
|
// ipv4_address: 192.168.203.254
|
||||||
|
$networks_temp->put($key, $network);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
foreach ($baseNetwork as $key => $network) {
|
||||||
foreach ($baseNetwork as $key => $network) {
|
|
||||||
$networks_temp->put($network, null);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($isApplication) {
|
|
||||||
if (data_get($resource, 'settings.connect_to_docker_network')) {
|
|
||||||
$network = $resource->destination->network;
|
|
||||||
$networks_temp->put($network, null);
|
$networks_temp->put($network, null);
|
||||||
$topLevel->get('networks')->put($network, [
|
}
|
||||||
'name' => $network,
|
|
||||||
'external' => true,
|
if ($isApplication) {
|
||||||
]);
|
if (data_get($resource, 'settings.connect_to_docker_network')) {
|
||||||
|
$network = $resource->destination->network;
|
||||||
|
$networks_temp->put($network, null);
|
||||||
|
$topLevel->get('networks')->put($network, [
|
||||||
|
'name' => $network,
|
||||||
|
'external' => true,
|
||||||
|
]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3623,9 +3628,11 @@ function newParser(Application|Service $resource, int $pull_request_id = 0, ?int
|
|||||||
$payload = collect($service)->merge([
|
$payload = collect($service)->merge([
|
||||||
'container_name' => $containerName,
|
'container_name' => $containerName,
|
||||||
'restart' => $restart->value(),
|
'restart' => $restart->value(),
|
||||||
'networks' => $networks_temp,
|
|
||||||
'labels' => $serviceLabels,
|
'labels' => $serviceLabels,
|
||||||
]);
|
]);
|
||||||
|
if(!$use_network_mode){
|
||||||
|
$payload['networks'] = $networks_temp;
|
||||||
|
}
|
||||||
if ($ports->count() > 0) {
|
if ($ports->count() > 0) {
|
||||||
$payload['ports'] = $ports;
|
$payload['ports'] = $ports;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user