# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto ens3
iface ens3 inet static
  address $APTLY_DEPLOY_IP
  netmask $APTLY_DEPLOY_NETMASK
#auto ens4
#iface ens4 inet static
#  address $APTLY_CONTROL_IP
#  netmask $APTLY_CONTROL_NETMASK