summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2015-10-21Merge branch 'joeyconfig'Joey Hess
2015-10-21fix build warningsJoey Hess
2015-10-21Added Ssh properties to remove authorized_keys and known_hosts lines.Joey Hess
And use when reverting conductor property. Note that I didn't convert existing ssh properties to RevertablePropery because the API change was too annoying to work through.
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-20refactorJoey Hess
2015-10-20simplify privdata propigation to spin from controllerJoey Hess
2015-10-20rewordJoey Hess
2015-10-20Merge branch 'joeyconfig'Joey Hess
2015-10-20build warningsJoey Hess
2015-10-20Merge branch 'joeyconfig'Joey Hess
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-20Merge branch 'joeyconfig'Joey Hess
2015-10-20unused importJoey 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-20Merge branch 'joeyconfig'Joey Hess
2015-10-20haddocksJoey Hess
2015-10-20Merge branch 'joeyconfig'Joey Hess
2015-10-20Chroot: Converted to use a ChrootBootstrapper type classJoey Hess
So other ways to bootstrap chroots can easily be added in separate modules. (API change)
2015-10-19simplify using type safe castJoey Hess
2015-10-19improve Info type using GADT, at nomeata's suggestionJoey Hess
This makes Show Info work, and simplifies the implementation.
2015-10-18Merge branch 'joeyconfig'Joey Hess
2015-10-18fix typo: propigate → propagateFelix Gruber
2015-10-17Merge branch 'joeyconfig'Joey Hess
2015-10-17do propigate Controlling info out of containersJoey Hess
If someone wants to make a container be a controller, that should work, and it should then detect loops that loop back to the container's host.
2015-10-17use Info to detect controller loopsJoey Hess
Much less invasive than the other implementation.
2015-10-17newtype info allows deriving monoidJoey Hess
2015-10-16fix key types in examplesJoey Hess
2015-10-16Merge branch 'joeyconfig'Joey Hess
2015-10-16Added --unset-unusedJoey Hess
2015-10-16propellor spinJoey Hess
2015-10-16fix commentJoey Hess
2015-10-16propellor spinJoey Hess
2015-10-16improve ssh user key propertiesJoey Hess
* Ssh.keyImported is replaced with Ssh.userKeys. (API change) The new property only gets the private key from the privdata; the public key is provided as a parameter, and so is available as Info that other properties can use. * Ssh.keyImported' is renamed to Ssh.userKeyAt, and also changed to only import the private key from the privdata. (API change) * While Ssh.keyImported and Ssh.keyImported' avoided updating existing keys, the new Ssh.userKeys and Ssh.userKeyAt properties will always update out of date key files. * Ssh.pubKey renamed to Ssh.hostPubKey. (API change) This makes eg, setting up ssh for spin controllers work better.
2015-10-16rewordJoey Hess
2015-10-16comment reorgJoey Hess
2015-10-16Merge branch 'joeyconfig'Joey Hess
2015-10-16add a LinkTarget type to disambiguate parameters of isSymlinkedToJoey Hess
Something about making symlinks is very confusing about which parameter is which. It perhaps doesn't help that isSymlinkedTo has the target second, while ln has it first. Let's use a type to prevent confusion. Also, simplified some properties that now use isSymlinkedTo. Since isSymlinkedTo checks the link target, these properties don't need to check themselves that the link is in place.
2015-10-16clarify which param is whichJoey Hess
2015-10-16revert change to JoeySitesJoey Hess
The change to JoeySites is wrong, because IIRC leafnode creates a spool directory, and isSymlinkedTo will not replace an existing directory with a symlink.
2015-10-16convert symlink properties to File.isSymlinkedToFélix Sipma
2015-10-16Merge branch 'joeyconfig'Joey Hess
2015-10-16improve types and add exampleJoey Hess
2015-10-16Merge branch 'joeyconfig'Joey Hess
2015-10-16renameJoey Hess
2015-10-16Merge branch 'joeyconfig'Joey 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-16Merge branch 'joeyconfig'Joey Hess
2015-10-14recent changes broke the baseurlJoey Hess
2015-10-14fileProperty, and properties derived from it now write the new file content ↵Joey Hess
via origfile.propellor-new~, instead of to a randomly named temp file. This allows them to clean up any temp file that may have been left by an interrupted run of propellor. Also converted the new isSymlinkedTo property to use the same implementation, with some simplifications.
2015-10-14excess newlineJoey Hess