summaryrefslogtreecommitdiff
path: root/src/Propellor/Types.hs
AgeCommit message (Collapse)Author
2015-01-04sshPubKey is renamed to Ssh.pubKey, and has an added SshKeyType parameter.Joey Hess
2015-01-01Update intermediary propellor in --spin --viaJoey Hess
2014-12-08propellor spinJoey Hess
(cherry picked from commit 1d02d589c79781cc4b0bd82467edbdf64c40f34d)
2014-12-07Display a warning when ensureProperty is used on a property which has Info ↵Joey Hess
and is so prevented from propigating it. Would much rather a type-based fixed, but this is all I have for now.
2014-12-07Fixed privdata introspection for User.hasPassword and User.hasSomePasswordJoey Hess
This is not a complete fix for the problem that Info doen't propigate from the called property when code does something like: do hostname <- asks hostName ensureProperty $ foo hostname Instead, I just eliminated the need to implement hasPassword that way, by making the PrivData Info use a HostContext which automatically gets the right hostname passed to it. All other uses of withPrivData don't have the problem. It's still possible for the user to run into the problem if they write something like the above, where foo is a property that uses privdata. However, all properties that take a Context now also accept a HostContext, so it's at least less likely the user needs to write that.
2014-12-06Reboot.atEndJoey Hess
2014-12-06endAction can be used to register an action to run once propellor has ↵Joey Hess
successfully run on a host.
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-22propellor spinJoey Hess
2014-11-22--via implementedJoey Hess
2014-11-21split out info typesJoey Hess
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-20remove unused Eq instance for InfoJoey Hess
Its implementation was .. shady at best, as Host has no Eq
2014-11-20starting work on a Chroot moduleJoey Hess
factored out info up-propigation code rom Docker
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-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-18add --update, which will one day replace --bootJoey Hess
But no time soon, since that would break --spin to old versions of propellor Maybe after 1 year?
2014-11-18avoid extra git pull when --spin calles first --boot and then --runJoey Hess
2014-11-18fix color display when running propellor inside dockerJoey Hess
2014-11-18propellor spinJoey Hess
2014-11-18avoid renaming --boot to --syncJoey Hess
That broke updating existing systems, since --boot is what makes the remote propellor update itself. The hostname is no longer needed by --boot for new propellor's, but is still passed for old ones. Note that there will be a double run of propellor when upgrading via --spin, because it now runs --boot followed by --spin on the remote host, and the old --boot also satisfied all properties.
2014-11-18Run remote propellor --spin with a controlling terminal.Joey Hess
Avoids need for hack to make ansi colors work, but also things like apt-get and wget process bars will be displayed.
2014-10-08a few other whitespace fixupsJoey Hess
2014-10-08fix some accidental uses of spaces, rather than tabs, for indentationJoey Hess
2014-07-06propellor spinJoey Hess
2014-06-19Add --list-fields to list a host's currently set privdata fields.Joey Hess
2014-06-19Add --edit to edit a privdata value in $EDITORJoey Hess
2014-06-09Attr is renamed to Info.Joey Hess
2014-06-05display improvementsJoey Hess
2014-06-05add show instance for HostJoey Hess
doable now that Attr setting is cleaned up, and makes debugging easier
2014-06-01Added --dump to dump out a field of a host's privdata. Useful for editing it.Joey Hess
2014-05-31simplified record accessorsJoey Hess
2014-05-31got rid of the Attr -> Attr SetAttr hack, and use monoids for AttrJoey Hess
The SetAttr hack used to be needed because the hostname was part of the Attr, and was required to be present. Now that it's moved to Host, let's get rid of that, since it tended to waste CPU.
2014-05-31remove now redundant _hostname field of AttrJoey Hess
Now that Host includes _hostName, it's redundant to also keep it in Attr. This requires changing the reader monad to operate on the whole Host.
2014-05-31propellor spinJoey Hess
2014-05-28no need for existentials anymoreJoey Hess
2014-05-14moved source code to srcJoey Hess
This is to work around OSX's brain-damange regarding filename case insensitivity. Avoided moving config.hs, because it's a config file. Put in a symlink to make build work.