Managing %config files: VCS, devops, or NoSQL
The %config handling in RPM needs to be extended to
be able to merge local changes with distributed defaults.
There are several (at least) approaches:
1) Link in client libraries sufficient to be able to do checkin/
Subversion and libgit2 are the best (imho) candidates here.
2) Use embedded language interpreters in RPM to load existing per-language
bindings. This would permit, say, mercurial to be used equivalently to the C
libraries in subversion/libgit2.
3) Focus on "configuration management" tools like cfengine/puppet and "devops"
instead of VCS. The main difference (imho) in a "devops" approach is persistent patch
management rather than complete historical content tracking as provided by a VCS
4) Ignore using existing VCS/devops approaches and design a store-and-forward
content distribution from scratch using a distributed store. The gridfs portion
of the mongo-c-client is one approach to store-and-forward retrieval of file
content: locally customized content is handled by adding a prefix to the retrieval
path into a distributed store.
Blueprint information
- Status:
- Started
- Approver:
- Jeff Johnson
- Priority:
- Medium
- Drafter:
- Jeff Johnson
- Direction:
- Approved
- Assignee:
- Jeff Johnson
- Definition:
- Discussion
- Series goal:
- None
- Implementation:
- Slow progress
- Milestone target:
- None
- Started by
- Jeff Johnson
- Completed by