acme: Remove luci-app-acme
The Luci app for ACME has been moved to the luci package feed. Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
This commit is contained in:
parent
d009ce628b
commit
b88b678004
4 changed files with 1 additions and 171 deletions
|
@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=acme
|
PKG_NAME:=acme
|
||||||
PKG_VERSION:=2.8.5
|
PKG_VERSION:=2.8.5
|
||||||
PKG_RELEASE:=4
|
PKG_RELEASE:=5
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
PKG_SOURCE_URL:=https://codeload.github.com/Neilpang/acme.sh/tar.gz/$(PKG_VERSION)?
|
PKG_SOURCE_URL:=https://codeload.github.com/Neilpang/acme.sh/tar.gz/$(PKG_VERSION)?
|
||||||
|
@ -20,8 +20,6 @@ PKG_MAINTAINER:=Toke Høiland-Jørgensen <toke@toke.dk>
|
||||||
PKG_LICENSE:=GPL-3.0-only
|
PKG_LICENSE:=GPL-3.0-only
|
||||||
PKG_LICENSE_FILES:=LICENSE.md
|
PKG_LICENSE_FILES:=LICENSE.md
|
||||||
|
|
||||||
LUCI_DIR:=/usr/lib/lua/luci
|
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
define Package/acme
|
define Package/acme
|
||||||
|
@ -76,43 +74,5 @@ define Package/acme-dnsapi/install
|
||||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/dnsapi/*.sh $(1)/usr/lib/acme/dnsapi
|
$(INSTALL_DATA) $(PKG_BUILD_DIR)/dnsapi/*.sh $(1)/usr/lib/acme/dnsapi
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/luci-app-acme
|
|
||||||
SECTION:=luci
|
|
||||||
CATEGORY:=LuCI
|
|
||||||
TITLE:=ACME package - LuCI interface
|
|
||||||
DEPENDS:= +luci-compat +acme
|
|
||||||
SUBMENU:=3. Applications
|
|
||||||
PKGARCH:=all
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Package/luci-app-acme/description
|
|
||||||
Control the ACME Letsencrypt certificate interface
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Package/luci-app-acme/install
|
|
||||||
$(INSTALL_DIR) $(1)$(LUCI_DIR)/controller $(1)$(LUCI_DIR)/model/cbi
|
|
||||||
$(INSTALL_DATA) ./files/acme-controller.lua $(1)$(LUCI_DIR)/controller/acme.lua
|
|
||||||
$(INSTALL_DATA) ./files/acme-cbi.lua $(1)$(LUCI_DIR)/model/cbi/acme.lua
|
|
||||||
$(INSTALL_DIR) $(1)/etc/uci-defaults
|
|
||||||
$(INSTALL_BIN) ./files/uci-defaults-acme $(1)/etc/uci-defaults/luci-acme
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Package/luci-app-acme/postinst
|
|
||||||
#!/bin/sh
|
|
||||||
[ -x /etc/uci-defaults/luci-acme ] && /etc/uci-defaults/luci-acme || exit 0
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Package/luci-app-acme/postrm
|
|
||||||
#!/bin/sh
|
|
||||||
which uci > /dev/null || exit 0
|
|
||||||
uci -q get ucitrack.@acme[0] > /dev/null && {
|
|
||||||
uci delete ucitrack.@acme[0]
|
|
||||||
uci commit
|
|
||||||
}
|
|
||||||
exit 0
|
|
||||||
endef
|
|
||||||
|
|
||||||
|
|
||||||
$(eval $(call BuildPackage,acme))
|
$(eval $(call BuildPackage,acme))
|
||||||
$(eval $(call BuildPackage,acme-dnsapi))
|
$(eval $(call BuildPackage,acme-dnsapi))
|
||||||
$(eval $(call BuildPackage,luci-app-acme))
|
|
||||||
|
|
|
@ -1,108 +0,0 @@
|
||||||
--[[
|
|
||||||
LuCI - Lua Configuration Interface
|
|
||||||
|
|
||||||
Copyright 2016 Toke Høiland-Jørgensen <toke@toke.dk>
|
|
||||||
|
|
||||||
# This program is free software; you can redistribute it and/or modify it under
|
|
||||||
# the terms of the GNU General Public License as published by the Free Software
|
|
||||||
# Foundation; either version 3 of the License, or (at your option) any later
|
|
||||||
# version.
|
|
||||||
|
|
||||||
]]--
|
|
||||||
|
|
||||||
local fs = require "nixio.fs"
|
|
||||||
|
|
||||||
local nginx_presence = fs.access("/usr/sbin/nginx") or false
|
|
||||||
local uhttpd_presence = fs.access("/usr/sbin/uhttpd") or false
|
|
||||||
|
|
||||||
m = Map("acme", translate("ACME certificates"),
|
|
||||||
translate("This configures ACME (Letsencrypt) automatic certificate installation. " ..
|
|
||||||
"Simply fill out this to have the router configured with Letsencrypt-issued " ..
|
|
||||||
"certificates for the web interface. " ..
|
|
||||||
"Note that the domain names in the certificate must already be configured to " ..
|
|
||||||
"point at the router's public IP address. " ..
|
|
||||||
"Once configured, issuing certificates can take a while. " ..
|
|
||||||
"Check the logs for progress and any errors."))
|
|
||||||
|
|
||||||
s = m:section(TypedSection, "acme", translate("ACME global config"))
|
|
||||||
s.anonymous = true
|
|
||||||
|
|
||||||
st = s:option(Value, "state_dir", translate("State directory"),
|
|
||||||
translate("Where certs and other state files are kept."))
|
|
||||||
st.rmempty = false
|
|
||||||
st.datatype = "directory"
|
|
||||||
|
|
||||||
ae = s:option(Value, "account_email", translate("Account email"),
|
|
||||||
translate("Email address to associate with account key."))
|
|
||||||
ae.rmempty = false
|
|
||||||
ae.datatype = "minlength(1)"
|
|
||||||
|
|
||||||
d = s:option(Flag, "debug", translate("Enable debug logging"))
|
|
||||||
d.rmempty = false
|
|
||||||
|
|
||||||
cs = m:section(TypedSection, "cert", translate("Certificate config"))
|
|
||||||
cs.anonymous = false
|
|
||||||
cs.addremove = true
|
|
||||||
|
|
||||||
e = cs:option(Flag, "enabled", translate("Enabled"))
|
|
||||||
e.rmempty = false
|
|
||||||
|
|
||||||
us = cs:option(Flag, "use_staging", translate("Use staging server"),
|
|
||||||
translate("Get certificate from the Letsencrypt staging server " ..
|
|
||||||
"(use for testing; the certificate won't be valid)."))
|
|
||||||
us.rmempty = false
|
|
||||||
|
|
||||||
kl = cs:option(ListValue, "keylength", translate("Key size"),
|
|
||||||
translate("Key size (and type) for the generated certificate."))
|
|
||||||
kl:value("2048", "RSA 2048 bits")
|
|
||||||
kl:value("3072", "RSA 3072 bits")
|
|
||||||
kl:value("4096", "RSA 4096 bits")
|
|
||||||
kl:value("ec-256", "ECC 256 bits")
|
|
||||||
kl:value("ec-384", "ECC 384 bits")
|
|
||||||
kl.default = "2048"
|
|
||||||
kl.rmempty = false
|
|
||||||
|
|
||||||
if uhttpd_presence then
|
|
||||||
u = cs:option(Flag, "update_uhttpd", translate("Use for uhttpd"),
|
|
||||||
translate("Update the uhttpd config with this certificate once issued " ..
|
|
||||||
"(only select this for one certificate)." ..
|
|
||||||
"Is also available luci-app-uhttpd to configure uhttpd form the LuCI interface."))
|
|
||||||
u.rmempty = false
|
|
||||||
end
|
|
||||||
|
|
||||||
if nginx_presence then
|
|
||||||
u = cs:option(Flag, "update_nginx", translate("Use for nginx"),
|
|
||||||
translate("Update the nginx config with this certificate once issued " ..
|
|
||||||
"(only select this for one certificate)." ..
|
|
||||||
"Nginx must support ssl, if not it won't start as it needs to be " ..
|
|
||||||
"compiled with ssl support to use cert options"))
|
|
||||||
u.rmempty = false
|
|
||||||
end
|
|
||||||
|
|
||||||
wr = cs:option(Value, "webroot", translate("Webroot directory"),
|
|
||||||
translate("Webserver root directory. Set this to the webserver " ..
|
|
||||||
"document root to run Acme in webroot mode. The web " ..
|
|
||||||
"server must be accessible from the internet on port 80."))
|
|
||||||
wr.optional = true
|
|
||||||
|
|
||||||
dom = cs:option(DynamicList, "domains", translate("Domain names"),
|
|
||||||
translate("Domain names to include in the certificate. " ..
|
|
||||||
"The first name will be the subject name, subsequent names will be alt names. " ..
|
|
||||||
"Note that all domain names must point at the router in the global DNS."))
|
|
||||||
dom.datatype = "list(string)"
|
|
||||||
|
|
||||||
dns = cs:option(Value, "dns", translate("DNS API"),
|
|
||||||
translate("To use DNS mode to issue certificates, set this to the name of a DNS API supported by acme.sh. " ..
|
|
||||||
"See https://github.com/Neilpang/acme.sh/tree/master/dnsapi for the list of available APIs. " ..
|
|
||||||
"In DNS mode, the domain name does not have to resolve to the router IP. " ..
|
|
||||||
"DNS mode is also the only mode that supports wildcard certificates. " ..
|
|
||||||
"Using this mode requires the acme-dnsapi package to be installed."))
|
|
||||||
dns.optional = true
|
|
||||||
|
|
||||||
cred = cs:option(DynamicList, "credentials", translate("DNS API credentials"),
|
|
||||||
translate("The credentials for the DNS API mode selected above. " ..
|
|
||||||
"See https://github.com/Neilpang/acme.sh/tree/master/dnsapi#how-to-use-dns-api for the format of credentials required by each API. " ..
|
|
||||||
"Add multiple entries here in KEY=VAL shell variable format to supply multiple credential variables."))
|
|
||||||
cred.datatype = "list(string)"
|
|
||||||
|
|
||||||
return m
|
|
|
@ -1,11 +0,0 @@
|
||||||
module("luci.controller.acme", package.seeall)
|
|
||||||
|
|
||||||
function index()
|
|
||||||
local page
|
|
||||||
|
|
||||||
page = entry({"admin", "services", "acme"},
|
|
||||||
cbi("acme"),
|
|
||||||
_("ACME certs"), 50)
|
|
||||||
page.dependent = false
|
|
||||||
page.acl_depends = { "luci-app-acme" }
|
|
||||||
end
|
|
|
@ -1,11 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
uci -q batch <<-EOF >/dev/null
|
|
||||||
delete ucitrack.@acme[-1]
|
|
||||||
add ucitrack acme
|
|
||||||
add_list ucitrack.@bcp38[0].init=acme
|
|
||||||
commit ucitrack
|
|
||||||
EOF
|
|
||||||
|
|
||||||
rm -f /tmp/luci-indexcache
|
|
||||||
exit 0
|
|
Loading…
Reference in a new issue