unbound: enable splitting of unbound_srv.conf and unbound_ext.conf#29448
unbound: enable splitting of unbound_srv.conf and unbound_ext.conf#29448AndreaBorgia-Abo wants to merge 2 commits into
Conversation
|
the changes are basically done, I am keeping it as draft until I can get the docker sdk running and check the results. |
|
The init script won’t include these extra files in the final configuration as it stands now. Where are they supposed to be included? |
|
Not sure I understand the question (or how the build works, until I can try it!) Following discussion in the forum, I am trying to setup the package in such a way that, after installation, a user might create split configs with a given naming convention and have the files be included in the backups with no extra steps. |
|
You can't have merge commits in your PR. Please squash them. The CI is not running since you're a first-time contributor. And you need to bump the |
1a2d447 to
59ce974
Compare
|
assuming the build does what I expect (still checking), would the PR in the current form be acceptable? |
|
Why is this proposal better than just including the full |
|
@dave14305 not including the whole directory was a goal to avoid potential issues and the name patterns are echoed in the supplied configs: it doesn't really matter as long as config and example are in sync. |
02d9f1a to
f6b9689
Compare
|
Adding to @dave14305's point about the init script not picking up these files: there's a fourth layer that breaks here, namely LuCI. The luci-app-unbound frontend generates its configuration from UCI and has no knowledge of these split files. A user who drops manual snippets into /etc/unbound/unbound_srv-*.conf and then hits "Save & Apply" in LuCI ends up in a potentially inconsistent state: LuCI rewrites the configuration from UCI, ignoring the splits The user is left wondering why "their" config has no effect after every LuCI action. Support burden incoming. A proper splitting mechanism would need to address init script, LuCI, backup and naming convention coherently. Bottom line, this isn't "a small improvement, the rest comes later" — it actively makes things worse, because users will reasonably assume the pattern is officially supported when in fact it isn't carried through anywhere else in the stack. The underlying need (sysupgrade-safe user config snippets) is real and worth solving, but the solution needs to land coherently across init script, LuCI, and backup — ideally with @EricLuehrsen weighing in as the package maintainer first. |
|
What is the original problem that splitting the files solves? Maybe restate the foundation assumptions to generate a more generic solution. In the forum, it says upgrades broke a custom split design, okay. Please describe the reason for a split design. Otherwise it feels like a local preference rather than a design solution. |
|
The original problems were:
Upgrade breakages, two specific instances:
Hot on the heels of this second case, a suggestion was made to open a PR to upstream the changes. Although it is not a particularly difficult change, I felt it was the kind of little thing which make life easier for forgetful people (ahem...) and went with it: extend / create keep.d entries and explain the logic in the relevant files, with an example. As far as I can tell, this setup has no trouble with LUCI updates because the includes are in two files (unbound_ext.conf and unbound_srv.conf) which are not touched by LUCI. Since sometimes I edit files via the UI and sometimes directly, I guess I would have noticed if a missing include led to a breakage and the two breakages I had were not caused by conflicts with LUCI. There, better now? This was all meant as a convenience feature and staying out of the way of LUCI was a design goal, I know nothing about it and have no desire to mess with it :) |
bumping release declare unbound_srv-*.conf and unbound_ext-*.conf as configfiles suggest naming convention for splitting unbound_srv.conf suggest naming convention for splitting unbound_ext.conf Signed-off-by: Andrea Borgia <andrea@borgia.bo.it>
1bde236 to
88a067e
Compare
📦 Package Details
Maintainer: @EricLuehrsen
Description:
allow splitting these config files into smaller chunks with a stable naming convention,
so the files are included in backups automatically
🧪 Run Testing Details
✅ Formalities
If your PR contains a patch:
git am(e.g., subject line, commit description, etc.)
We must try to upstream patches to reduce maintenance burden.