LuCI - OpenWrt Configuration Interface
Find a file
Jo-Philipp Wich 8deb949551 treewide: rework uci apply workflow
Switch to rpcd based uci apply/rollback workflow which helps to avoid soft-
bricking devices by requiring an explicit confirmation call after config
apply.

When a user now clicks "Save & Apply", LuCI first issues a call to uci apply
which commits and reloads configuration, then goes into a polling countdown
mode where it repeatedly attempts to call uci confirm.

If the committed configuration is sane, the confirm call will go through and
cancel rpcd's pending rollback timer.

If the configuration change leads to a loss of connectivity (e.g. due to bad
firewall rules or similar), the rollback mechanism will kick in after the
timeout and revert configuration files and pending changes to the pre-apply
state.

In order to cover such rare cases where a lost of connectivity is expected
and desired, the user is offered an "unchecked" apply option after timing
out, which allows committing and applying the changes anyway, without the
extra safety checks.

As a consequence of this change, the luci-reload mechanism is now completely
unsused since rpcd uses ubus config reload signals to reload affected
services, which means that only procd-enabled services will receive proper
reload treatment with the new workflow.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-05-05 23:11:23 +02:00
applications treewide: rework uci apply workflow 2018-05-05 23:11:23 +02:00
build build: add check-controller.sh, a utility to test controller files 2018-04-06 12:02:37 +02:00
collections luci: depend on rpcd-mod-rrdns 2017-07-11 14:05:31 +02:00
contrib/package Removed retired nameserver 213.73.91.35 from the Freifunk profiles 2018-04-23 16:27:08 +02:00
documentation documentation: regenerate documents from current code base 2018-04-30 14:45:25 +02:00
libs libs: move http.protocol.{date,mime,conditionals} to luci-lib-httpprotoutils 2018-04-18 16:21:27 +02:00
modules treewide: rework uci apply workflow 2018-05-05 23:11:23 +02:00
protocols luci-proto-ipv6: clarify 6in4 local address hint 2018-04-06 08:49:41 +02:00
themes themes: fix CSS class of uci change indicator 2018-04-26 09:30:11 +02:00
.buildpath * new project: ff-luci - Freifunk Lua Configuration Interface 2008-03-02 21:52:58 +00:00
.cproject More C-Functions (luci.cutil.instanceof, luci.cutil.pcdata) 2008-11-20 19:22:05 +00:00
.gitignore Update .gitignore 2015-04-20 10:08:23 +02:00
.project LuCI Core C-Rewrite: First steps 2008-11-19 23:02:36 +00:00
CONTRIBUTING.md CONTRIBUTING.md: clarify signed-off-by advice 2015-12-15 14:40:51 +02:00
LICENSE * new project: ff-luci - Freifunk Lua Configuration Interface 2008-03-02 21:52:58 +00:00
luci.mk luci.mk: allow specifying EXTRA_DEPENDS 2018-01-01 17:10:31 +01:00
NOTICE Update my email addresses in the license headers 2015-01-16 23:49:44 +01:00
README.md docs: link to the developer wiki documentation 2016-09-07 17:10:05 +00:00
THANKYOU * luci: replace all "OpenWRT" occurences with "OpenWrt" 2008-10-27 15:19:58 +00:00

OpenWrt luci feed

Description

This is the OpenWrt "luci"-feed containing LuCI - OpenWrt Configuration Interface.

Usage

This feed is enabled by default. Your feeds.conf.default (or feeds.conf) should contain a line like:

src-git luci https://github.com/openwrt/luci.git

To install all its package definitions, run:

./scripts/feeds update luci
./scripts/feeds install -a -p luci

API Reference

You can browse the generated API documentation directly on Github.

Development

Documentation for developing and extending LuCI can be found in the Wiki

License

See LICENSE file.

Package Guidelines

See CONTRIBUTING.md file.