dockerd: made registry_mirrors and hosts omittable
authorGerard Ryan <G.M0N3Y.2503@gmail.com>
Mon, 25 Jan 2021 07:46:35 +0000 (17:46 +1000)
committerGerard Ryan <G.M0N3Y.2503@gmail.com>
Sun, 21 Feb 2021 01:01:30 +0000 (11:01 +1000)
* Moved logic out of config writing
* Made default config only specify OpenWrt dictated defaults
  Otherwise, docker defaults can be assumed

Signed-off-by: Gerard Ryan <G.M0N3Y.2503@gmail.com>
utils/dockerd/files/dockerd.init
utils/dockerd/files/etc/config/dockerd

index c1493ba2be43fc9c9ab3cd8738264ec4945a2a6d..1eaed6710ae900ae34b5a76c5606fea15559102a 100755 (executable)
@@ -136,24 +136,28 @@ process_config() {
        config_get data_root globals data_root "/opt/docker/"
        config_get log_level globals log_level "warn"
        config_get_bool iptables globals iptables "1"
+
+       # Don't add these options by default
+       # omission == docker defaults
        config_get bip globals bip ""
+       config_get registry_mirrors globals registry_mirrors ""
+       config_get hosts globals hosts ""
 
        . /usr/share/libubox/jshn.sh
        json_init
        json_add_string "data-root" "${data_root}"
        json_add_string "log-level" "${log_level}"
+       json_add_boolean "iptables" "${iptables}"
        [ -z "${bip}" ] || json_add_string "bip" "${bip}"
-       json_add_array "registry-mirrors"
-       config_list_foreach globals registry_mirrors json_add_array_string
-       json_close_array
-       json_add_array "hosts"
-       config_list_foreach globals hosts json_add_array_string
-       json_close_array
-
-       json_add_boolean iptables "${iptables}"
-       [ "${iptables}" -ne "0" ] && config_foreach iptables_add_blocking_rule firewall
-
+       [ -z "${registry_mirrors}" ] || json_add_array "registry-mirrors"
+       [ -z "${registry_mirrors}" ] || config_list_foreach globals registry_mirrors json_add_array_string
+       [ -z "${registry_mirrors}" ] || json_close_array
+       [ -z "${hosts}" ] || json_add_array "hosts"
+       [ -z "${hosts}" ] || config_list_foreach globals hosts json_add_array_string
+       [ -z "${hosts}" ] || json_close_array
        json_dump > "${DOCKERD_CONF}"
+
+       [ "${iptables}" -eq "1" ] && config_foreach iptables_add_blocking_rule firewall
 }
 
 start_service() {
index aad1dbb70440c4244d7360e7861bd1bef128bb39..6ba850bde486d6e96e31f3eb8bc75b6877cc838c 100644 (file)
@@ -8,9 +8,9 @@ config globals 'globals'
 #      option alt_config_file '/etc/docker/daemon.json'
        option data_root '/opt/docker/'
        option log_level 'warn'
-       list hosts 'unix:///var/run/docker.sock'
-       option bip '172.18.0.1/24'
-#      option iptables '0'
+       option iptables '1'
+#      list hosts 'unix:///var/run/docker.sock'
+#      option bip '172.18.0.1/24'
 #      list registry_mirrors 'https://<my-docker-mirror-host>'
 #      list registry_mirrors 'https://hub.docker.com'