Skip to content

[RFE] Handle configuration updates in /etc #647

@krnowak

Description

@krnowak

Currently we modify the ebuilds of the packages that are putting files into /etc by telling them to put them somewhere in /usr and to install tmpfiles.d file that will tell systemd-tmpfiles to copy those files from /usr to /etc or create symlinks. The reason for it is that /etc is not updated when the OS update is performed. Instead, systemd-tmpfiles is invoked on every boot.

The plan is to allow the ebuilds to put files in /etc. The image building process could later move those files into /usr/flatcar-etc. The newly-built image's /etc would be a copy of /usr/flatcar-etc. In case of OS update, we would want to do a three-way merge of old /usr/flatcar-etc, new /usr/flatcar-etc and /etc. The merge would need to happen during boot, likely before switching root from initramfs to new sysroot.

In case when we want to put some extra configuration, we can create our own package that will contain those files. In case where we do not want some config from a package to be installed, we could use INSTALL_MASK.

The /usr/flatcar-etc is obviously not a name set in stone. It could be very well /usr/share/flatcar-etc or else. Still needs to be below /usr.

What needs figuring out is a way to make current systemd-tmpfiles way of things to cooperate with /usr/flatcar-etc way of things, so packages can be converted incrementally, so at some point phasing out the systemd-tmpfiles way of things would be a non-event.

It's a part of #96.

Metadata

Metadata

Assignees

Labels

area/packagesIssues related to the package maintainence.kind/debtTechnological debt.

Type

No type

Projects

Status

Implemented

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions