summaryrefslogtreecommitdiff
path: root/propellor.cabal
AgeCommit message (Collapse)Author
2015-12-05UncheckedProperty for cmdProperty et alJoey Hess
* Properties that run an arbitrary command, such as cmdProperty and scriptProperty are converted to use UncheckedProperty, since they cannot tell on their own if the command truely made a change or not. (API Change) Transition guide: - When GHC complains about an UncheckedProperty, add: `assume` MadeChange - Since these properties used to always return MadeChange, that change is always safe to make. - Or, if you know that the command should modifiy a file, use: `changesFile` filename * A few properties have had their Result improved, for example Apt.buldDep and Apt.autoRemove now check if a change was made or not.
2015-12-05Added UncheckedProperty type, along with unchecked to indicate a Property ↵Joey Hess
needs its result checked, and checkResult and changesFile to check for changes.
2015-11-26Added Propellor.Property.Fail2Ban.Joey Hess
2015-11-26add Propellor.Property.Locale to propellor.cabalSean Whitton
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name> (cherry picked from commit 0beffb353812c79b8455754f11c6f7e45b49c3b6)
2015-11-24prep releaseJoey Hess
2015-11-17indentJoey Hess
2015-11-17Removed the (unused) dependency on quickcheck.Joey Hess
2015-11-17clean up depsJoey Hess
I doubt anyone is going to use propellor on windows..
2015-11-11Add Propellor.Property.PropellorRepo.hasUrl, an explicit way to set the git ↵Joey Hess
repository url normally implicitly set when using --spin.
2015-11-08so, cabal sets -O by default and rejects explicit -OJoey Hess
2015-11-01merge from concurrent-outputJoey Hess
2015-10-29generalize what can be outputJoey Hess
This adds a dependency on Text, but I don't mind propellor depending on it and am somewhat surprised it doesn't already. Using Text also lets this use encodeUtf8 instead of the nasty hack it was using to go from String -> ByteString.
2015-10-28fix memory leak, and optimise when command output is very largeJoey Hess
2015-10-28fix bad MVar use, use STMJoey Hess
I had 2 MVars both involved in the same lock, and it seemed intractable to avoid deadlocks with them. STM makes it easy. At this point, the concurrent process stuff seems to work pretty well, but I'm not 100% sure it's not got some bugs.
2015-10-28split out generic ConcurrentOutput module to UtilityJoey Hess
2015-10-27use execProcessConcurrent everywhereJoey Hess
Found a reasonable clean way to make Utility.Process use execProcessConcurrent, while still allowing copying updates to it from git-annex.
2015-10-24improve RevertableProperty combiningJoey Hess
* Various property combinators that combined a RevertableProperty with a non-revertable property used to yield a RevertableProperty. This was a bug, because the combined property could not be fully reverted in many cases. Fixed by making the combined property instead be a Property HasInfo. * combineWith now takes an addional parameter to control how revert actions are combined (API change).
2015-10-24Added Propellor.Property.Concurrent for concurrent properties.Joey Hess
Note that no output multiplexing is currently done.
2015-10-23refactorJoey Hess
2015-10-23API change..Joey Hess
2015-10-21Rewrote Propellor.Property.ControlHeir one more time, renaming it to ↵Joey Hess
Propellor.Property.Conductor. Wow, really.. So, this gets back to having properties that are added to hosts to say what they conduct. I think that conducts webservers `before` conducts dnsserver is an important thing to be able to express. Untested except for eyeballing the resulting Host data.
2015-10-20The Propellor.Property.Spin added in the last release is replaced with a ↵Joey Hess
very different Propellor.Property.ControlHeir. Rethought it because it turned out that propigating the PrivData rendered the loop detection pointless, because when there was a loop, each host included the other's PrivData, which in turn lead to a loop. And, it was not possible to break that loop. So, changed from adding properties to hosts to a top-down hierarchy that makes changes as needed when applied to the hosts. Which makes it easy to detect and break loops. Aka: The Ur Quan know what they're up to.
2015-10-16Added Propellor.Property.Spin, which can be used to make a host be a ↵Joey Hess
controller of other hosts. The hard part of this is avoiding loops of controllers. To make that work, a ControllerChain is passed to the host that's spun, and is added to the Info of the host being spun, where the controller property can check it to detect an avoid a loop. That needed an expansion of the CmdLine data type. I made the new ControlledRun only be used when there is a ControllerChain provided. This avoids breaking backwards compatability with old propellor deployments, as --spin still uses SimpleRun. Note: Making an old propellor deployment be controlled by a controller won't work until it's been updated to this commit, so it knows about the ControlledRun parameter. (Untested)
2015-10-10propellor spinJoey Hess
2015-10-10Improved documentation, particularly of the Propellor module.Joey Hess
This involved some code changes, including some renaming of instance methods. (ABI change)
2015-10-08add basic Uwsgi moduleFélix Sipma
Signed-off-by: Félix Sipma <felix.sipma@no-log.org>
2015-10-04prep releaseJoey Hess
2015-09-29add Kerberos module, contributed by Jelmer Vernooij.Joey Hess
2015-09-28Added Logcheck module, contributed by Jelmer Vernooij.Joey Hess
2015-09-22prep releaseJoey Hess
2015-09-20document new module and add to cabal listJoey Hess
2015-09-14add Unbound propertyFélix Sipma
Signed-off-by: Félix Sipma <felix.sipma@no-log.org>
2015-09-11add DebianMirror property.Félix Sipma
Signed-off-by: Félix Sipma <felix.sipma@no-log.org>
2015-09-06Added Propellor.Property.Rsync. WIP; untestedJoey Hess
Convert Info to use Data.Dynamic, so properties can export and consume info of any type that is Typeable and a Monoid, including data types private to a module. (API change) Thanks to Joachim Breitner for the idea.
2015-09-04fix typo that was fixed in debian/control earlierJoey Hess
2015-09-04Added Propellor.Property.Rsync.Joey Hess
2015-09-03prep releaseJoey Hess
2015-08-31implement dirsizesJoey Hess
Used Data.Map.Strict, so bumped versions. Don't want to support the ghc in debian oldstable.. (cherry picked from commit e413bed2c1cb15dcb8ce721a2801021e39f3ba86)
2015-08-25formatting for partitions set up by partedJoey Hess
Including support for formatting partitions of a disk image file.
2015-08-25working on partedJoey Hess
2015-08-25add lintian overrides for rpath wackinessJoey Hess
2015-08-25prep releaseJoey Hess
2015-08-20include lightdm module (and formatting)Joey Hess
2015-08-20layoutJoey Hess
2015-08-20ConfFile.containsIniPair propertySean Whitton
plus scaffolding for other generic conf file properties (cherry picked from commit 86b077b7a21efd5484dfaeee3c31fc5f3c151f6c)
2015-08-14prep releaseJoey Hess
2015-07-30prep releaseJoey Hess
2015-07-10hackage tells me I need cabal-version: >= 1.8 due to build-depends versioningJoey Hess
2015-07-10prep releaseJoey Hess
2015-06-30Version dependency on exceptions.Joey Hess