Subject: [alpine-devel] [RFC *-conf] Aports Package -conf suffix

From: systmkor <[email-masked]>
Date: Sun, 5 Jun 2016 15:42:31 -0700

Hey all,

tl;dr ‘-conf' suffix for packages that come with a default
configuration (e.g. openssh-conf, nginx-conf, etc.)

## How It Works
This would segment the configuration files of a base package with a
‘-conf’ suffix package name just as the ‘-doc’ suffix provides. In the
process of creating a package/port just as ‘-doc’ is automatically
created with abuild by checking for files in ‘/usr/share/man/‘ created
by the build process of the package, ‘-conf’ would be auto-created by
checking files in ‘/etc/‘. Along with the ‘docs’ trigger package which
would automatically install the ‘-doc’ suffix package of desired
installed package a ‘confs’ trigger would auto install the ‘-conf’
suffix package of desired installed package.

## Reasons Why
This allows for a flexible and reliable means of configuration
management (i.e. at least for the configuration of system & daemon
configurations). Either a user/admin can use the system default
configuration packages that are provided by the package repositories,
use the configuration packages on ones private repository, not install
the configuration files for packages using configuration management
instead (e.g. ansible), or any combination of.

This would allow for users & admins to provide their own ‘-conf’
packages instead of having to build their own base package <pkgname>
only changing the configuration file, or having to build their own
<pkgname>-conf.  The issue with first option is that users would have
to manage official aports packages with each ‘pkgrel’ change with the
user’s own. The issue with the second option is that providing ones
own ‘<pkgname>-conf’ package would have to use the ‘replaces' &
‘replaces_priority’ in that packages APKBUILD file, which can result
in issues when the base package is upgraded.

## PROs
 * Makes packages more fine grained
 * Easy to build an manage ones own ‘-conf’ packages
 * Custom ‘-conf’ packages doesn’t have ownership contentions with the
official packages
 * Configuration management doesn’t have to violate the ownership of
   config files by not installing that packages ‘-conf’ sub package.
 * can utilize apk-fix to verify configurations are not changed or
damaged

## CONs
 * Possibly overly fine grained packages
 * Adds bloat to packages (note: probably could be fixed with changes
   to abuild, apk, and apk file schema)
 * other things (i’m missing)

## Existing Alternatives
I understand that there is also the alpine configuration framework,
however that seems to be applied better for a centrally administered
system(s).

Constructive thoughts, comments, and criticisms appreciated. Thank you
all for your time.

p.s. I have finals this week, I may not reply until Thursday.

--
keybase.io/systmkor