all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Giovanni Biscuolo <g@xelera.eu>
To: Alex Griffin <a@ajgrf.com>
Cc: guix-devel@gnu.org
Subject: Guix UCI comparison (was Re: Guix beyond 1.0: let’s have a roadmap!)
Date: Fri, 05 Jul 2019 10:35:54 +0200	[thread overview]
Message-ID: <87tvc0yj2t.fsf@roquette.mug.biscuolo.net> (raw)
In-Reply-To: <42aa38f7-1414-4138-9f77-c0895ec19c77@www.fastmail.com>

[-- Attachment #1: Type: text/plain, Size: 2809 bytes --]

Hello Alex,

I know and use UCI (and sometimes LuCI, the web interface) so I'm adding
(added) my two cents to clarify the respective ecosystems

I may repeat concepts/info some af you may already well know, please
forgive me :-)

"Alex Griffin" <a@ajgrf.com> writes:

>> What does it mean?  (I don’t know UCI.)
>
> UCI is a configuration language and tool layered on top of the
> underlying packages.

UCI [1] short description: «small utility written in C (a shell
script-wrapper is available as well) and is intended to centralize the
whole configuration of a device running OpenWrt.»

How UCI works [2]:
«Applications are made UCI-compatible by simply writing the original
configuration file (which is read by the program) according to the
chosen settings in the corresponding UCI file. This is done upon running
the initialization scripts in /etc/init.d/. See Init scripts for more
information. Thus, when starting a daemon with such a UCI-compatible
initialization script, you should be aware that the program's original
configuration file gets overwritten.»

In Guix we have a full EDSL for service configuration (UCI lacks package
management) and activation; it's Guile based and it's much more powerful
than the custom augeas-like [3] UCI configuration API.

> It gives a single machine-readable configuration format to everything,

To every service for which a custom init file has been written; almost
averything in OpenWRT has a custom init file but not all [4]

In Guix we should go on defining more and more service, some still
really missing (Samba for example, AFAIU)

> and then uses it to generate the real config files used by
> services. It's the thing that lets you change your router settings
> from the OpenWrt web interface or command line.

UCI is for command line, LuCI is UCI web interface written in LUA that
uses UCI for configuration/reconfiguration of services.

> It's a lot like Guix system declarations, except service configuration
> happens at runtime.

Guix service reconfiguration happens at `guix system reconfgigure` time ;-)

It's interesting UCI, like Guix, does not automatically (AFAIU) restarts
services upon reconfiguration :-D

> I guess the thing I really want though is a web interface.

You name it! :-D

HTH. Gio'.



[1] https://openwrt.org/docs/techref/uci

[2] https://openwrt.org/docs/guide-user/base-system/uci

[3] http://augeas.net/

[4] https://openwrt.org/docs/guide-user/base-system/notuci.config


P.S.: I'd really like one day to be able to replace OpenWRT+UCI with a
Guix generated (read-only?) system image deployed on my perimetral
office router the usual way, configured via a (local) web UI :-O


[...]

-- 
Giovanni Biscuolo

Xelera IT Infrastructures

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

  reply	other threads:[~2019-07-05  8:36 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-27 16:05 Guix beyond 1.0: let’s have a roadmap! Ludovic Courtès
2019-06-27 16:36 ` P
2019-06-27 21:12   ` Ludovic Courtès
2019-06-27 17:06 ` Vagrant Cascadian
2019-06-27 21:17   ` Ludovic Courtès
2019-06-27 18:53 ` Jakob L. Kreuze
2019-06-27 21:18   ` Ludovic Courtès
2019-06-27 19:02 ` Alex Griffin
2019-06-27 22:33   ` swedebugia
2019-06-27 22:54     ` bug#35709: " Alex Griffin
2019-06-28  6:11     ` Julien Lepiller
2019-06-28 16:13       ` John Soo
2019-07-01  9:14         ` Ludovic Courtès
2019-07-01 11:57           ` Pierre Neidhardt
2019-07-07 14:15             ` Ludovic Courtès
2019-06-30 13:48   ` Giovanni Biscuolo
2019-07-01  9:16     ` Ludovic Courtès
2019-07-05  7:55       ` Giovanni Biscuolo
2019-07-01 10:05   ` Ludovic Courtès
2019-07-01 13:12     ` Alex Griffin
2019-07-05  8:35       ` Giovanni Biscuolo [this message]
2019-07-07 14:09       ` Ludovic Courtès
2019-06-27 19:33 ` Svante Signell
2019-06-27 21:25   ` Ludovic Courtès
2019-06-27 20:28 ` Thompson, David
2019-07-01  9:36   ` Ludovic Courtès
2019-07-01 10:39     ` Hartmut Goebel
2019-07-01  9:37   ` Ludovic Courtès
2019-06-27 22:01 ` Pierre Neidhardt
2019-06-27 22:24 ` Julien Lepiller
2019-07-01  9:48   ` Ludovic Courtès
2019-06-28 16:54 ` znavko
2019-06-28 17:07   ` swedebugia
2019-06-28 17:17   ` znavko
2019-06-29  1:35 ` ison
2019-06-29  4:51   ` pelzflorian (Florian Pelz)
2019-07-01  9:51     ` Ludovic Courtès
2019-06-30 13:13 ` Giovanni Biscuolo
2019-06-30 13:38   ` Robert Vollmert
2019-07-01  9:55     ` Ludovic Courtès
2019-07-05 11:47       ` Robert Vollmert
2019-07-09 10:22         ` Ricardo Wurmus
2019-07-09 10:58           ` Robert Vollmert
     [not found]     ` <877e97vws8.fsf%40gnu.org504D1A97-2EBD-46A1-85B8-091C923DD6A1@vllmrt.net>
2019-07-26  7:00       ` Ben Sturmfels
2019-07-26  8:27         ` Pierre Neidhardt
2019-08-22 20:59         ` Ludovic Courtès
2019-06-30 13:28 ` Christopher Lemmer Webber
2019-07-01  9:57   ` Ludovic Courtès
2019-07-01 11:47     ` Pierre Neidhardt
2019-06-30 13:59 ` Giovanni Biscuolo
2019-07-01  9:58   ` Ludovic Courtès
2019-07-09 13:32 ` P
2019-07-11 10:11   ` Ricardo Wurmus
2019-07-11 15:17     ` Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87tvc0yj2t.fsf@roquette.mug.biscuolo.net \
    --to=g@xelera.eu \
    --cc=a@ajgrf.com \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.