Operator design pattern for systems (yafti++) #160
Replies: 3 comments 5 replies
-
If people think this is interesting, I'll try and write up some example yaml for the desired state files. |
Beta Was this translation helpful? Give feedback.
-
Love this idea. If implemented, security would have to be the first consideration. I'm not turning on a service that installs random stuff from a source I don't control! |
Beta Was this translation helpful? Give feedback.
-
I'm interested in the idea. I don't have that use case personally, but I can see the need to administer multiple machines, using something like a ublue based system. If that's an extension of Yafti, a superset of Yafti, or something entirely different I'm in support of. I'm about to go through a re-work of the yafti project to split core from the graphical installers. The goal being to have a yafti.core, yafti.cli, yafti.gtk, yafti.kde, etc that all implement the core functionality and allow porting yafti to different runtimes where GNOME / GTK aren't implicitly already installed |
Beta Was this translation helpful? Give feedback.
-
Yafti is a good way to bootstrap a new system, but if you have multiple systems to manage, you will, overtime, get drift between them.
The classical CN design-pattern would be to have your systems have labels (laptop, photo-processing, desktop, work, gaming, etc), then have an operator that would run on each system that would reconcile the current installed apps (flatpaks, etc), git repos, distroboxes with various packages loaded, etc.... against a desired set (say listed in a git repo) based on a selector set of labels in the desired set and on the system. The operator would then do the CRUD operations to keep the correct apps/versions, etc. set across all the systems you manage.
You could then take the idea one step further and start thinking about configs for those, given that flatpaks tend to make dotfiles a bit of a pain. Maybe a central server for config data that can drive templated systems. Oh wait, I think someone did something like that a while back, what was it called again, etc-something..... :) Actually, that would be a metric ton of work to adapt for desktop applications, so probably a bridge to far...
Beta Was this translation helpful? Give feedback.
All reactions