summaryrefslogtreecommitdiffstats
path: root/nixos/modules/virtualisation/containers.nix
diff options
context:
space:
mode:
authorJörg Thalheim <Mic92@users.noreply.github.com>2018-12-03 23:44:50 +0000
committerGitHub <noreply@github.com>2018-12-03 23:44:50 +0000
commit958d8e625ef6a4474e76519590419c96c812bcd1 (patch)
treeed46b2053e0a7c8cf0f7447e02c7fee97eb3a6b3 /nixos/modules/virtualisation/containers.nix
parent41af4a520caccf6eb69512043b7049bbbcc16440 (diff)
parent6d4b02df3f8cbc51b35b31208c4127b45d60f431 (diff)
Merge pull request #49392 from uvNikita/nixos/containers/veths
nixos/containers: don't create veths if not configured
Diffstat (limited to 'nixos/modules/virtualisation/containers.nix')
-rw-r--r--nixos/modules/virtualisation/containers.nix14
1 files changed, 9 insertions, 5 deletions
diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix
index 2fcc0f254256..63801b24f228 100644
--- a/nixos/modules/virtualisation/containers.nix
+++ b/nixos/modules/virtualisation/containers.nix
@@ -36,7 +36,7 @@ let
#! ${pkgs.runtimeShell} -e
# Initialise the container side of the veth pair.
- if [ "$PRIVATE_NETWORK" = 1 ]; then
+ if [ -n "$HOST_ADDRESS" ] || [ -n "$LOCAL_ADDRESS" ]; then
ip link set host0 name eth0
ip link set dev eth0 up
@@ -85,6 +85,10 @@ let
cp --remove-destination /etc/resolv.conf "$root/etc/resolv.conf"
if [ "$PRIVATE_NETWORK" = 1 ]; then
+ extraFlags+=" --private-network"
+ fi
+
+ if [ -n "$HOST_ADDRESS" ] || [ -n "$LOCAL_ADDRESS" ]; then
extraFlags+=" --network-veth"
if [ -n "$HOST_BRIDGE" ]; then
extraFlags+=" --network-bridge=$HOST_BRIDGE"
@@ -153,7 +157,7 @@ let
# Clean up existing machined registration and interfaces.
machinectl terminate "$INSTANCE" 2> /dev/null || true
- if [ "$PRIVATE_NETWORK" = 1 ]; then
+ if [ -n "$HOST_ADDRESS" ] || [ -n "$LOCAL_ADDRESS" ]; then
ip link del dev "ve-$INSTANCE" 2> /dev/null || true
ip link del dev "vb-$INSTANCE" 2> /dev/null || true
fi
@@ -200,7 +204,7 @@ let
'';
in
''
- if [ "$PRIVATE_NETWORK" = 1 ]; then
+ if [ -n "$HOST_ADDRESS" ] || [ -n "$LOCAL_ADDRESS" ]; then
if [ -z "$HOST_BRIDGE" ]; then
ifaceHost=ve-$INSTANCE
ip link set dev $ifaceHost up
@@ -352,7 +356,7 @@ let
List of forwarded ports from host to container. Each forwarded port
is specified by protocol, hostPort and containerPort. By default,
protocol is tcp and hostPort and containerPort are assumed to be
- the same if containerPort is not explicitly given.
+ the same if containerPort is not explicitly given.
'';
};
@@ -699,7 +703,7 @@ in
# container so that container@.target can get the container
# configuration.
environment.etc =
- let mkPortStr = p: p.protocol + ":" + (toString p.hostPort) + ":" + (if p.containerPort == null then toString p.hostPort else toString p.containerPort);
+ let mkPortStr = p: p.protocol + ":" + (toString p.hostPort) + ":" + (if p.containerPort == null then toString p.hostPort else toString p.containerPort);
in mapAttrs' (name: cfg: nameValuePair "containers/${name}.conf"
{ text =
''