# Add network interface if ! uci_quiet get network.${iface}; then logger -t "dockerd-init" -p notice "Adding interface '${iface}' to network config" uci_quiet add network interface uci_quiet rename network.@interface[-1]="${iface}" uci_quiet set network.@interface[-1].device="${device}" uci_quiet set network.@interface[-1].proto="none" uci_quiet set network.@interface[-1].auto="0" uci_quiet commit network fi
# Add docker bridge device if [ "$(find_network_device "$device")" = "" ]; then logger -t "dockerd-init" -p notice "Adding bridge device '${device}' to network config" uci_quiet add network device uci_quiet set network.@device[-1].type="bridge" uci_quiet set network.@device[-1].name="${device}" uci_quiet commit network else logger -t "dockerd-init" -p notice "Bridge device '${device}' already defined in network config" fi
# Add firewall zone if ! uci_quiet get firewall.${zone}; then logger -t "dockerd-init" -p notice "Adding firewall zone '${zone}' to firewall config" uci_quiet add firewall zone uci_quiet rename firewall.@zone[-1]="${zone}" uci_quiet set firewall.@zone[-1].input="ACCEPT" uci_quiet set firewall.@zone[-1].output="ACCEPT" uci_quiet set firewall.@zone[-1].forward="ACCEPT" uci_quiet set firewall.@zone[-1].name="${zone}" uci_quiet commit firewall fi
# Add interface to firewall zone if uci_quiet get firewall.${zone}; then uci_quiet del_list firewall.${zone}.network="${iface}" uci_quiet add_list firewall.${zone}.network="${iface}" uci_quiet commit firewall fi
reload_config }
ucidel() { local iface="${1}" local device="${2}" local zone="${3}"
# Remove network device if uci_quiet delete network.$(find_network_device "${device}"); then logger -t "dockerd-init" -p notice "Deleting bridge device '${device}' from network config" uci_quiet commit network fi
# Remove network interface if uci_quiet get network.${iface}; then logger -t "dockerd-init" -p notice "Deleting interface '${iface}' from network config" uci_quiet delete network.${iface} uci_quiet commit network fi
# Remove interface from firewall zone if uci_quiet get firewall.${zone}; then logger -t "dockerd-init" -p notice "Deleting network interface '${iface}' in zone '${zone}' from firewall config" uci_quiet del_list firewall.${zone}.network="${iface}" uci_quiet commit firewall # Remove Firewall zone if network is empty if ! uci_quiet get firewall.${zone}.network; then logger -t "dockerd-init" -p notice "Deleting firewall zone '${zone}' from firewall config" uci_quiet delete firewall.${zone} fi uci_quiet commit firewall fi
reload_config }
process_config() { local alt_config_file data_root log_level iptables bip
[ -f /etc/config/dockerd ] || { # Use the daemon default configuration DOCKERD_CONF="" return 0 }