luci-app-dockerman: use uci from docker-ce
authorFlorian Eckert <fe@dev.tdt.de>
Fri, 17 Jul 2020 11:16:14 +0000 (13:16 +0200)
committerFlorian Eckert <fe@dev.tdt.de>
Tue, 28 Jul 2020 12:16:14 +0000 (14:16 +0200)
Change the source to user docker-ce and update docker uci options name.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
applications/luci-app-dockerman/luasrc/controller/dockerman.lua
applications/luci-app-dockerman/luasrc/model/cbi/dockerman/container.lua
applications/luci-app-dockerman/luasrc/model/cbi/dockerman/overview.lua
applications/luci-app-dockerman/luasrc/model/docker.lua
applications/luci-app-dockerman/root/usr/share/rpcd/acl.d/luci-app-dockerman.json

index aabad3360d29b7819b87ede9ecf2aacaeb7c89c2..6f4e43df53c2c08a5bb14c6d188217c5efa9632a 100644 (file)
@@ -16,13 +16,13 @@ function index()
 
   entry({"admin","docker","overview"},cbi("dockerman/overview"),_("Overview"),0).leaf=true
 
-  local remote = luci.model.uci.cursor():get("dockerman", "local", "remote_endpoint")
+  local remote = luci.model.uci.cursor():get("dockerd", "globals", "remote_endpoint")
   if remote ==  nil then
-    local socket = luci.model.uci.cursor():get("dockerman", "local", "socket_path")
+    local socket = luci.model.uci.cursor():get("dockerd", "globals", "socket_path")
     if socket and not nixio.fs.access(socket) then return end
   elseif remote == "true" then
-    local host = luci.model.uci.cursor():get("dockerman", "local", "remote_host")
-    local port = luci.model.uci.cursor():get("dockerman", "local", "remote_port")
+    local host = luci.model.uci.cursor():get("dockerd", "globals", "remote_host")
+    local port = luci.model.uci.cursor():get("dockerd", "globals", "remote_port")
     if not host or not port then return end
   end
 
index 7c0c969336e851cb6b3ffd1d118295fb8f8c3719..1c39ebf4f0fa655347758cd4c02459f1827edc77 100644 (file)
@@ -537,10 +537,10 @@ elseif action == "console" then
       luci.util.exec(kill_ttyd)
       local hosts
       local uci = (require "luci.model.uci").cursor()
-      local remote = uci:get("dockerman", "local", "remote_endpoint")
-      local socket_path = (remote == "false" or not remote) and  uci:get("dockerman", "local", "socket_path") or nil
-      local host = (remote == "true") and uci:get("dockerman", "local", "remote_host") or nil
-      local port = (remote == "true") and uci:get("dockerman", "local", "remote_port") or nil
+      local remote = uci:get("dockerd", "globals", "remote_endpoint")
+      local socket_path = (remote == "false" or not remote) and  uci:get("dockerd", "globals", "socket_path") or nil
+      local host = (remote == "true") and uci:get("dockerd", "globals", "remote_host") or nil
+      local port = (remote == "true") and uci:get("dockerd", "globals", "remote_port") or nil
       if remote and host and port then
         hosts = host .. ':'.. port
       elseif socket_path then
index 0c2dbd365ec916d679c3f77ca0e99c6189a5bd5a..8cd97d98227716212817c44e9a77a65023f196ac 100644 (file)
@@ -18,7 +18,12 @@ function byte_format(byte)
   end
 end
 
-local map_dockerman = Map("dockerman", translate("Docker"), translate("DockerMan is a Simple Docker manager client for LuCI, If you have any issue please visit:") .. " ".. [[<a href="https://github.com/lisaac/luci-app-dockerman" target="_blank">]] ..translate("Github") .. [[</a>]])
+local map_dockerman = Map("dockerd", translate("Docker"),
+       translate("DockerMan is a Simple Docker manager client for LuCI, If you have any issue please visit:") ..
+       " " ..
+       [[<a href="https://github.com/lisaac/luci-app-dockerman" target="_blank">]] ..
+       translate("Github") ..
+       [[</a>]])
 local docker_info_table = {}
 -- docker_info_table['0OperatingSystem'] = {_key=translate("Operating System"),_value='-'}
 -- docker_info_table['1Architecture'] = {_key=translate("Architecture"),_value='-'}
@@ -42,7 +47,7 @@ s.images_total = '-'
 s.networks_total = '-'
 s.volumes_total = '-'
 local containers_list
--- local socket = luci.model.uci.cursor():get("dockerman", "local", "socket_path")
+-- local socket = luci.model.uci.cursor():get("dockerd", "globals", "socket_path")
 if (require "luci.model.docker").new():_ping().code == 200 then
   local dk = docker.new()
   containers_list = dk.containers:list({query = {all=true}}).body
@@ -86,9 +91,8 @@ if (require "luci.model.docker").new():_ping().code == 200 then
 end
 s.template = "dockerman/overview"
 
-local section_dockerman = map_dockerman:section(NamedSection, "local", "section", translate("Setting"))
+local section_dockerman = map_dockerman:section(NamedSection, "globals", "section", translate("Setting"))
 section_dockerman:tab("daemon", translate("Docker Daemon"))
-section_dockerman:tab("ac", translate("Access Control"))
 section_dockerman:tab("dockerman",  translate("DockerMan"))
 
 local socket_path = section_dockerman:taboption("dockerman", Value, "socket_path", translate("Docker Socket Path"))
@@ -117,23 +121,31 @@ remote_port.default = "2375"
 -- local debug_path = section_dockerman:taboption("dockerman", Value, "debug_path", translate("Debug Tempfile Path"), translate("Where you want to save the debug tempfile"))
 
 if nixio.fs.access("/usr/bin/dockerd") then
-  local dockerd_enable = section_dockerman:taboption("daemon", Flag, "daemon_ea", translate("Enable"))
-  dockerd_enable.enabled = "true"
-  dockerd_enable.rmempty = true
-  local data_root = section_dockerman:taboption("daemon", Value, "daemon_data_root", translate("Docker Root Dir"))
-  data_root.placeholder = "/opt/docker/"
-  local registry_mirrors = section_dockerman:taboption("daemon", DynamicList, "daemon_registry_mirrors", translate("Registry Mirrors"))
-  registry_mirrors:value("https://hub-mirror.c.163.com", "https://hub-mirror.c.163.com")
-
-  local log_level = section_dockerman:taboption("daemon", ListValue, "daemon_log_level", translate("Log Level"), translate('Set the logging level'))
-  log_level:value("debug", "debug")
-  log_level:value("info", "info")
-  log_level:value("warn", "warn")
-  log_level:value("error", "error")
-  log_level:value("fatal", "fatal")
-  local hosts = section_dockerman:taboption("daemon", DynamicList, "daemon_hosts", translate("Server Host"), translate('Daemon unix socket (unix:///var/run/docker.sock) or TCP Remote Hosts (tcp://0.0.0.0:2375), default: unix:///var/run/docker.sock'))
-  hosts:value("unix:///var/run/docker.sock", "unix:///var/run/docker.sock")
-  hosts:value("tcp://0.0.0.0:2375", "tcp://0.0.0.0:2375")
-  hosts.rmempty = true
+       local o
+
+       o = section_dockerman:taboption("daemon", Value, "data_root",
+               translate("Docker Root Dir"))
+       o.placeholder = "/opt/docker/"
+
+       o = section_dockerman:taboption("daemon", DynamicList, "registry_mirrors",
+               translate("Registry Mirrors"))
+       o:value("https://hub-mirror.c.163.com", "https://hub-mirror.c.163.com")
+
+       o = section_dockerman:taboption("daemon", ListValue, "log_level",
+               translate("Log Level"),
+               translate('Set the logging level'))
+       o:value("debug", "debug")
+       o:value("info", "info")
+       o:value("warn", "warn")
+       o:value("error", "error")
+       o:value("fatal", "fatal")
+
+       o = section_dockerman:taboption("daemon", DynamicList, "hosts",
+               translate("Server Host"),
+               translate('Daemon unix socket (unix:///var/run/docker.sock) or TCP Remote Hosts (tcp://0.0.0.0:2375), default: unix:///var/run/docker.sock'))
+       o:value("unix:///var/run/docker.sock", "unix:///var/run/docker.sock")
+       o:value("tcp://0.0.0.0:2375", "tcp://0.0.0.0:2375")
+       o.rmempty = true
 end
+
 return map_dockerman
index e62454a8fc25693fa2a0939102509e6430346dc0..999c4c63db7ebf0758375579a5aa36e09cc82abe 100644 (file)
@@ -222,22 +222,22 @@ end
 
 _docker.new = function(option)
   local option = option or {}
-  local remote = uci:get("dockerman", "local", "remote_endpoint")
+  local remote = uci:get("dockerd", "globals", "remote_endpoint")
   options = {
-    host = (remote == "true") and (option.host or uci:get("dockerman", "local", "remote_host")) or nil,
-    port = (remote == "true") and (option.port or uci:get("dockerman", "local", "remote_port")) or nil,
-    debug = option.debug or uci:get("dockerman", "local", "debug") == 'true' and true or false,
-    debug_path = option.debug_path or uci:get("dockerman", "local", "debug_path")
+    host = (remote == "true") and (option.host or uci:get("dockerd", "globals", "remote_host")) or nil,
+    port = (remote == "true") and (option.port or uci:get("dockerd", "globals", "remote_port")) or nil,
+    debug = option.debug or uci:get("dockerd", "globals", "debug") == 'true' and true or false,
+    debug_path = option.debug_path or uci:get("dockerd", "globals", "debug_path") or "/tmp/.docker_debug"
   }
-  options.socket_path = (remote ~= "true" or not options.host or not options.port) and (option.socket_path or uci:get("dockerman", "local", "socket_path") or "/var/run/docker.sock") or nil
+  options.socket_path = (remote ~= "true" or not options.host or not options.port) and (option.socket_path or uci:get("dockerd", "globals", "socket_path") or "/var/run/docker.sock") or nil
   local _new = docker.new(options)
-  _new.options.status_path = uci:get("dockerman", "local", "status_path")
+  _new.options.status_path = uci:get("dockerd", "globals", "status_path") or "/tmp/.docker_status"
   _new.containers_upgrade = upgrade
   _new.containers_duplicate_config = duplicate_config
   return _new
 end
 _docker.options={}
-_docker.options.status_path = uci:get("dockerman", "local", "status_path")
+_docker.options.status_path = uci:get("dockerd", "globals", "status_path") or "/tmp/.docker_status"
 
 _docker.append_status=function(self,val)
   if not val then return end
@@ -330,7 +330,7 @@ end
 
 _docker.create_macvlan_interface = function(name, device, gateway, subnet)
   if not nixio.fs.access("/etc/config/network") or not nixio.fs.access("/etc/config/firewall") then return end
-  if uci:get("dockerman", "local", "remote_endpoint") == "true" then return end
+  if uci:get("dockerd", "globals", "remote_endpoint") == "true" then return end
   local ip = require "luci.ip"
   local if_name = "docker_"..name
   local dev_name = "macvlan_"..name
@@ -371,7 +371,7 @@ end
 
 _docker.remove_macvlan_interface = function(name)
   if not nixio.fs.access("/etc/config/network") or not nixio.fs.access("/etc/config/firewall") then return end
-  if uci:get("dockerman", "local", "remote_endpoint") == "true" then return end
+  if uci:get("dockerd", "globals", "remote_endpoint") == "true" then return end
   local if_name = "docker_"..name
   local dev_name = "macvlan_"..name
   uci:foreach("firewall", "zone", function(s)
index ba1a10c609ff0fa4f0065604c68611bee40a2666..353ccaa16c17f8c4f3f11b7af7472e42a2044ce8 100644 (file)
@@ -2,10 +2,10 @@
        "luci-app-dockerman": {
                "description": "Grant UCI access for luci-app-dockerman",
                "read": {
-                       "uci": [ "dockerman" ]
+                       "uci": [ "dockerd" ]
                        },
                "write": {
-                       "uci": [ "dockerman" ]
+                       "uci": [ "dockerd" ]
                }
        }
 }