| Age | Commit message (Collapse) | Author |
|
New module which allows different versions of a property or host to be
written down in a propellor config file. Has many applications,
including staged upgrades and rollbacks.
Note that it currently only supports RevertableProperty that has the same
metatypes for its setup and cleanup sides. And, each RevertableProperty in
a version definition needs to have the same metatypes as the others too.
I tried a couple of times to add support for differing metatypes, but
it got beyond my avilities to do.
This commit was sponsored by Jeff Goeke-Smith on Patreon.
|
|
|
|
This works around an infelicity in stack; it complains when there are
both a toplevel config.hs and a src/config.hs, despite that being fine
with cabal.
|
|
|
|
|
|
|
|
Properties that used to need it as a parameter now look at Info about the
bootloader that is installed in the chroot that the disk image is created
from. (API change)
This is a simplication, and avoids the user needing to repeat themselves
in the propellor config, thus avoiding mistakes.
When no boot loader is installed, or multiple different ones are,
disk image creation will fail, which seems reasonable.
This commit was sponsored by Jake Vosloo on Patreon.
|
|
* DiskImage.grubBooted no longer takes a BIOS parameter,
and no longer implicitly adds Grub.installed to the properties of
the disk image. If you used DiskImage.grubBooted, you'll need to update
your propellor configuration, removing the BIOS parameter from
grubBooted and adding a Grub.installed property to the disk image, eg:
& Grub.installed PC
(API change)
* Grub.installed: Avoid running update-grub when used in a chroot, since
it will get confused.
* DiskImage.Finalization: Simplified this type since it does not need to
be used to install packages anymore. (API change)
The advantage of doing this comes when using hostChroot with
imageBuilt, since the Host then has its Grub.installed property
explicitly listed so propellor knows about it when otherwise deploying that
host. Also, it simplifies the quite complex imageBuilt parameters.
This commit was sponsored by Ewen McNeill.
|
|
* Propellor.Property.XFCE added with some useful properties for the
desktop environment.
* Added File.applyPath property.
This commit was sponsored by Riku Voipio.
|
|
(minor API change as the type changed)
|
|
|
|
hackage rejection.
|
|
|
|
Could use Hashell2010, but IIRC there are some slightly tricky
differences.
|
|
|
|
MissingH is a heavy dependency, which pulls in parsec and a bunch of stuff.
So eliminating it makes propellor easier to install and less likely to
fail to build.
changesFileContent now uses hashable's hash. This may not be stable across
upgrades, I'm not sure -- but it's surely ok here, as the hash is not
stored.
socketFile also uses hash. I *think* this is ok, even if it's not stable.
If it's not stable, an upgrade might make propellor hash a hostname to a
different number, but with 9 digets of number in use, the chances of a
collision are small. In any case, I've opned a bug report asking for the
stability to be documented, and I think it's intended to be stable, only
the documentation is bad.
NB: I have not checked that the arch linux and freebsd packages for the new
deps, that Propellor.Bootstrap lists, are the right names or even exist.
Since propellor depends on hashable, it could be changed to use
unordered-containers, rather than containers, which would be faster and
perhaps less deps too.
This commit was sponsored by Alexander Thompson on Patreon.
|
|
|
|
|
|
f045116b618e255c583376447be635c245d63909 does not work with cabal 1.16
|
|
|
|
|
|
This commit was sponsored by Jake Vosloo on Patreon.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Added ConfigurableValue type class, for values that can be used in a
config file, or to otherwise configure a program.
* The val function converts such values to String.
This was motivated by the bug caused by type Port = Int changing to
newtype Port = Port Int deriving Show
After that change, some things that used show port to generate config
files were broken. By using the ConfigurableValue type class instead,
such breakage can be prevented.
|
|
|
|
* Arch Linux is now supported by Propellor!
Thanks to Zihao Wang for this port.
* Added Propellor.Property.Pacman for Arch's package manager.
Maintained by Zihao Wang.
* The types of some properties changed; eg from Property DebianLike
to Property (DebianLike + ArchLinux). This could require updates
to code using those properties, so is a minor API change.
|
|
|
|
This is to allow multiple admins of iabak to access the privdata. Since
there's a single privdata file for all machines in a propellor
deployment, and I don't want them to see all my secrets, we needed to
break it out.
|
|
|
|
|
|
|
|
ghc 7 does not support -fno-warn-redundant-constraints so this can't be
done on a per-module basis.
It would be good to revert this commit when dropping support for ghc 7.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|