summaryrefslogtreecommitdiff
path: root/src/Propellor/CmdLine.hs
AgeCommit message (Collapse)Author
2015-11-01a few tweaks for concurrent outputJoey Hess
Force console mode when --spin calls SimpleRun
2015-10-28need withConcurrentOutput to flush any buffered concurrent outputJoey 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 --unset-unusedJoey Hess
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-23Added --rm-key.Joey Hess
2015-06-29Added --unset to delete a privdata field.Joey Hess
2015-05-30--spin now works when given a short hostname that only resolves to an ipv6 ↵Joey Hess
address.
2015-05-27Export CommandParam, boolSystem, safeSystem and shellEscape from ↵Joey Hess
Propellor.Property.Cmd, so they are available for use in constricting your own Properties when using propellor as a library. Several imports of Utility.SafeCommand now redundant.
2015-04-02Make propellor resistent to changes to shared libraries, such as libffiJoey Hess
* Make propellor resistent to changes to shared libraries, such as libffi, which might render the propellor binary unable to run. This is dealt with by checking the binary both when running propellor on a remote host, and by Cron.runPropellor. If the binary doesn't work, it will be rebuilt. * Note that since a new switch had to be added to allow testing the binary, upgrading to this version will cause a rebuild from scratch of propellor.
2015-02-28Propellor now builds itself without needing the Makefile.Joey Hess
2015-01-19split out types to improve haddock for Propellor.TypesJoey Hess
2015-01-01Update intermediary propellor in --spin --viaJoey Hess
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-22reorgJoey Hess
2014-11-22look for /usr/local/propellor/.git to know if it's fully deployedJoey Hess
When propellor is deployed by uploading the binary, there's no git repo, so each spin needs to re-upload it to get any config changes. This should be rare since this is only intended to be used when taking over a host and getting it properly set up from source, but it still needs to be supported.
2014-11-22Hostname parameters not containing dots are looked up in the DNS to find the ↵Joey Hess
full hostname.
2014-11-22propellor spinJoey Hess
2014-11-22propellor spinJoey Hess
2014-11-22propellor spinJoey Hess
2014-11-22propellor spinJoey Hess
2014-11-22propellor spinJoey Hess
2014-11-22propellor spinJoey Hess
2014-11-22propellor spinJoey Hess
2014-11-22propellor spinJoey Hess
2014-11-22propellor spinJoey Hess
2014-11-22propellor spinJoey Hess
2014-11-22propellor spinJoey Hess
2014-11-22propellor spinJoey Hess
2014-11-22avoid unncessary apt-get upgradeJoey Hess
2014-11-22--via implementedJoey Hess
2014-11-22remove test hackJoey Hess
2014-11-22propellor spinJoey Hess
2014-11-22propellor --spin can now deploy propellor to hosts that do not have git, ↵Joey Hess
ghc, or apt-get. This is accomplished by uploading a fairly portable precompiled tarball of propellor.
2014-11-21propellor spinJoey Hess
2014-11-21avoid console output when chaining into chroot and not at consoleJoey Hess
2014-11-20propellor spinJoey Hess
2014-11-20git commit may or may not be signedJoey Hess
2014-11-20fix docker container provisioningJoey Hess
Since the containers are no longer on the host list, they were not found while provisioning, oops. To fix, had to add to a host's info a map of the containers docked to it. Unfortunately, that required Propellor.Types.Info be glommed into Propellor.Types, since it needed to refer to Host.
2014-11-19avoid double-build in --spinJoey Hess
It was fetching from the central repo, then building that, and then running the client-to-client git update, and the building after that. Remove the first build, as all that linking does take time.
2014-11-19remove excess verbosity from messageJoey Hess
2014-11-19prevent multiple concurrent provisioning inside docker containerJoey Hess
Lock a lock file while provisioning inside, otherwise propellor could be running to init the container when the system has just booted, or the container was just started from being stopped, and at the same time, propellor run outside the container chains into it to provision. Previously, simplesh prevented this in a different way.
2014-11-19propellor spinJoey Hess
2014-11-18clean up Propellr.CmdLine exportsJoey Hess
2014-11-18broke out Server moduleJoey Hess
2014-11-18tenseJoey Hess