summaryrefslogtreecommitdiff
path: root/src/Propellor/Spin.hs
AgeCommit message (Collapse)Author
2016-01-03refactor into smaller modules to untangle git and gpg modulesJoey Hess
2015-12-08tweak wrong spin branch error messageSean Whitton
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name> (cherry picked from commit 9d44dcd39bb88408ed4cfc94a7b4dfa34a1b5591)
2015-12-08implement two pre-spin safety checksSean Whitton
- check that we're on the branch specified in git config value propellor.spin-branch - check that there are no uncommitted changes if git config value propellor.forbid-dirty-spin is true Signed-off-by: Sean Whitton <spwhitton@spwhitton.name> (cherry picked from commit 8f374d73ae5b2bb53f82835c6d6b5c0194590006)
2015-11-01run editor processes in foregroundJoey Hess
2015-11-01a few tweaks for concurrent outputJoey Hess
Force console mode when --spin calls SimpleRun
2015-11-01Revert "propellor spin"Joey Hess
This reverts commit 2891006d9f18b9f50b7d8dfc6d32e326499913f0.
2015-11-01propellor spinJoey Hess
2015-10-28propellor spinJoey Hess
2015-10-28use outputConcurrent interfaceJoey Hess
This interface will fix the current deadlock when a process is running and the thread that ran it wants to output to the console. The locking and buffering is not implemented yet.
2015-10-28remove debugJoey Hess
Found problem.. actionMessage is blocking.
2015-10-28propellor spinJoey Hess
2015-10-28propellor spinJoey Hess
2015-10-28propellor spinJoey Hess
2015-10-20refactorJoey Hess
2015-10-20simplify privdata propigation to spin from controllerJoey Hess
2015-10-20privdata propigation for Spin.controllerJoey Hess
Controlling host inherits the privdata for the host it spins, and sends it along to that host.
2015-10-17use Info to detect controller loopsJoey Hess
Much less invasive than the other implementation.
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-09-13Follow some hlint suggestions.Mario Lang
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-07-30Work around broken git pull option parser in git 2.5.0, which broke use of ↵Joey Hess
--upload-pack to send a git push when running propellor --spin.
2015-05-30revert testJoey Hess
2015-05-30propellor spinJoey Hess
2015-05-30--spin now works when given a short hostname that only resolves to an ipv6 ↵Joey Hess
address.
2015-04-29propellor spinJoey Hess
2015-02-28avoid using the makefile when bootstrapping with --spinJoey Hess
2015-01-19split out types to improve haddock for Propellor.TypesJoey Hess
2015-01-08propellor spinJoey Hess
2015-01-01Update intermediary propellor in --spin --viaJoey Hess
2015-01-01propellor spinJoey Hess
2015-01-01propellor spinJoey Hess
2015-01-01propellor spinJoey Hess
2015-01-01propellor spinJoey Hess
2015-01-01propellor spinJoey Hess
2015-01-01propellor spinJoey Hess
2015-01-01--spin checks if the DNS matches any configured IP address property of the ↵Joey Hess
host, and if not, sshes to the host by IP address.
2014-11-24oopsJoey Hess
2014-11-23one more merge testJoey Hess
--allow-empty added to commit, because the spins could all be empty
2014-11-23add --mergeJoey Hess
2014-11-23--spin can be passed multiple hosts, and it will provision each host in turn.Joey Hess
Note that if it fails to spin a host, it will stop. I think this is better than continuing to the next, because there might be a reason to spin hosts in some specific order (ie, update dns first and then use it).
2014-11-22updateJoey Hess
2014-11-22pute full path to bin/propellor inside shimJoey Hess
2014-11-22don't remove old localdir before tarball unpackJoey Hess
it may get messy if old stuff is left, but there is state in there
2014-11-22Revert "avoid removing whole localdir every time the precompiled tarball is ↵Joey Hess
uploaded" This reverts commit 40bec41f569a73a8e95d9acf91f0ae7465b0f8c0.
2014-11-22avoid removing whole localdir every time the precompiled tarball is uploadedJoey Hess
There's some state in there.. Moved it to a shim subdir, which can be deleted and the tarball unpacked to recreate it.
2014-11-22avoid loop after uploading precompiled tarballJoey Hess
The localdir still has no .git repo, so it looped.
2014-11-22reorgJoey Hess