Commit Graph

326 Commits

Author SHA1 Message Date
Joey Hess d0b0531918 Merge branch 'joeyconfig' 2015-01-04 17:17:58 -04:00
Joey Hess e27df9de24 prep release 2015-01-04 17:17:52 -04:00
Joey Hess acdcff5ca4 Merge branch 'joeyconfig'
Conflicts:
	privdata.joey/privdata.gpg
2015-01-04 17:16:55 -04:00
Joey Hess ab8ff9a00e randomHostKeys is removed from CloudAtCost.deCruft. 2015-01-04 17:15:59 -04:00
Joey Hess 0af7629c98
propellor spin 2015-01-04 16:54:43 -04:00
Joey Hess a2bb647827 Ssh.hostKey and Ssh.hostKeys no longer install public keys from the privdata.
Instead, the public keys of a host should be set using Ssh.pubKey.
2015-01-04 16:10:36 -04:00
Joey Hess 84685f24c9 Ssh.hostKeys now also installs any available SshEd25519 keys. 2015-01-04 15:59:54 -04:00
Joey Hess f1a1d0001a sshPubKey is renamed to Ssh.pubKey, and has an added SshKeyType parameter. 2015-01-04 15:57:27 -04:00
Joey Hess 52664e6220 sshPubKey is renamed to Ssh.pubKey 2015-01-04 15:36:53 -04:00
Joey Hess 01d8ab0cfd Fix build with process 1.2.1.0. 2015-01-04 13:08:19 -04:00
Joey Hess a1f61e09b8 stub signedPrimary 2015-01-03 19:10:28 -04:00
Joey Hess 7cbd367e1c Update intermediary propellor in --spin --via 2015-01-01 17:13:03 -04:00
Joey Hess d5cfadd899 Detect #774376 and refuse to use docker if the system is so broken that docker exec doesn't enter a chroot. 2015-01-01 15:41:31 -04:00
Joey Hess 0b4a95f6c2 --spin checks if the DNS matches any configured IP address property of the host, and if not, sshes to the host by IP address. 2015-01-01 13:28:17 -04:00
Joey Hess 544d365b50 Merge branch 'joeyconfig' 2014-12-21 21:42:15 -04:00
Joey Hess 81db68814c prep release 2014-12-21 21:41:26 -04:00
Joey Hess 6d56dbd35a Merge branch 'joeyconfig' 2014-12-21 21:40:26 -04:00
Joey Hess dc36a98fc1 Revert ensureProperty warning message, too many false positives in places where Info is correctly propigated. Better approach needed. 2014-12-21 21:33:03 -04:00
Joey Hess d194765e10
propellor spin 2014-12-21 21:14:11 -04:00
Joey Hess 8cc691dc86 Merge branch 'joeyconfig'
Conflicts:
	privdata.joey/privdata.gpg
2014-12-17 16:31:09 -04:00
Joey Hess ddeee3ceb8 prep release 2014-12-17 16:30:54 -04:00
Joey Hess fbf9cc6f2b Merge branch 'joeyconfig' 2014-12-14 15:24:21 -04:00
Joey Hess 71723ca09f support for crypted passwords in privdata
* Added CryptPassword to PrivDataField, for password hashes as produced
  by crypt(3).
* User.hasPassword and User.hasSomePassword will now use either
  a CryptPassword or a Password from privdata, depending on which is set.
2014-12-14 15:24:10 -04:00
Joey Hess 4f309c5cd6 Merge branch 'joeyconfig' 2014-12-09 00:34:57 -04:00
Joey Hess b22201e36b Fix Apache.siteEnabled to update the config file and reload apache when configuration has changed. 2014-12-09 00:34:24 -04:00
Joey Hess 5752080929 Merge branch 'joeyconfig' 2014-12-09 00:05:34 -04:00
Joey Hess 040a5fe3c7 prep release 2014-12-09 00:05:16 -04:00
Joey Hess 99bff87440 Include Propellor.Property.OS, which was accidentially left out of the cabal file in the last release. 2014-12-09 00:03:14 -04:00
Joey Hess 6b6d5a0881 changelog 2014-12-08 01:08:40 -04:00
Joey Hess 21d87341ca Merge branch 'joeyconfig' 2014-12-07 18:49:43 -04:00
Joey Hess 42a0c83248 Display a warning when ensureProperty is used on a property which has Info and is so prevented from propigating it.
Would much rather a type-based fixed, but this is all I have for now.
2014-12-07 17:09:55 -04:00
Joey Hess abee353d9d Merge branch 'joeyconfig' 2014-12-07 15:24:21 -04:00
Joey Hess f9958e1611 prep release 2014-12-07 15:24:07 -04:00
Joey Hess 3b0b6f44dd improve 2014-12-07 15:20:50 -04:00
Joey Hess 089b7131a6 caution 2014-12-07 15:13:28 -04:00
Joey Hess faf4c21ca1 Merge branch 'joeyconfig' 2014-12-07 15:07:03 -04:00
Joey Hess 9ca332e481 Fixed privdata introspection for User.hasPassword and User.hasSomePassword
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-07 15:03:06 -04:00
Joey Hess 322ae878bb Merge branch 'joeyconfig'
Conflicts:
	privdata.joey/privdata.gpg
2014-12-07 12:04:58 -04:00
Joey Hess fcff7762e3 endAction can be used to register an action to run once propellor has successfully run on a host. 2014-12-06 06:34:32 -04:00
Joey Hess 9805f132ac Merge branch 'joeyconfig' 2014-12-05 17:44:14 -04:00
Joey Hess 527975dffe hasSomePassword and hasPassword now check to make sure shadow passwords are enabled. 2014-12-05 16:33:23 -04:00
Joey Hess dbc76b1e52 Merge branch 'joeyconfig' 2014-12-05 16:23:07 -04:00
Joey Hess bf9284d05c I have now successfully used propellor to convert a Fedora system into a bootable and fully working Debian system 2014-12-05 16:22:11 -04:00
Joey Hess 573b8b7df8 changelog 2014-12-04 17:40:26 -04:00
Joey Hess 8b70031a78 Merge branch 'joeyconfig' 2014-12-01 11:59:38 -04:00
Joey Hess c9d09afafa
Run apt-cache policy with LANG=C. 2014-12-01 11:59:27 -04:00
Joey Hess 3d42f1fa19 Merge branch 'joeyconfig' 2014-11-26 10:51:41 -04:00
Joey Hess e07dc9b1d3
propellor.debug can be set in the git config to enable more persistent debugging output. 2014-11-25 18:55:12 -04:00
Joey Hess 1f40af51e1 Merge branch 'joeyconfig' 2014-11-25 11:46:36 -04:00
Joey Hess 40374c10de
cron.runPropellor now runs propellor, rather than using its Makefile. This is more robust.
Particularly, the Makefile would try to build propellor if there were
updates, but if this build failed because a bad commit was pushed, it would
abort w/o pulling any new fixed commits.

Anyway, it's better to move away from using the makefile when possible as
it's just for bootstrapping, and also I would like to make "make" not
default to running propellor as that can be confusing behavior.

(I can't change that yet; needed for upgrades. Should be fine to change
after several more releases, or maybe a year..)
2014-11-25 11:33:45 -04:00
Joey Hess f14749c1cc Merge branch 'joeyconfig' 2014-11-23 18:49:33 -04:00
Joey Hess 9d975e9ee4 add --merge 2014-11-23 18:48:52 -04:00
Joey Hess 95296a961c Merge branch 'joeyconfig' 2014-11-23 17:13:02 -04:00
Joey Hess baba668033 hasSomePassword and hasPassword now default to using the name of the host as the Context for the password. To specify a different context, use hasSomePassword' and hasPassword' (API change) 2014-11-23 16:40:21 -04:00
Joey Hess 45d943023d Merge branch 'joeyconfig' 2014-11-23 15:23:54 -04:00
Joey Hess 0ea0f7f4de --spin can be passed multiple hosts, and it will provision each host in turn.
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-23 15:17:57 -04:00
Joey Hess ac41f8b07b Merge branch 'joeyconfig' 2014-11-23 14:41:09 -04:00
Joey Hess dea5c2068e changelog 2014-11-23 14:39:19 -04:00
Joey Hess e8a07b1840 changelog 2014-11-23 14:38:31 -04:00
Joey Hess 9a8fcf80bb Hostname parameters not containing dots are looked up in the DNS to find the full hostname. 2014-11-22 19:58:35 -04:00
Joey Hess d413818647 clarify 2014-11-22 16:26:03 -04:00
Joey Hess fd3335e40e --via implemented 2014-11-22 12:57:07 -04:00
Joey Hess 7cbf4841de Merge branch 'joeyconfig' 2014-11-22 12:13:41 -04:00
Joey Hess 57ec60d6f3 mdwn man page and more complete docs 2014-11-22 12:13:38 -04:00
Joey Hess f62d2fb183 propellor --spin can now deploy propellor to hosts that do not have git, ghc, or apt-get. This is accomplished by uploading a fairly portable precompiled tarball of propellor. 2014-11-22 00:22:19 -04:00
Joey Hess 1b56e73c07 copyright update 2014-11-21 22:27:13 -04:00
Joey Hess 09e3bdedf5 Merge branch 'joeyconfig' 2014-11-21 21:10:08 -04:00
Joey Hess b4e1bb84d5 hmm 2014-11-21 21:10:01 -04:00
Joey Hess 072eede646 Merge branch 'joeyconfig' 2014-11-21 21:08:39 -04:00
Joey Hess a0c7cddd1d maintainer 2014-11-21 21:08:30 -04:00
Joey Hess d65a4fad6c Merge branch 'joeyconfig' 2014-11-21 20:58:48 -04:00
Joey Hess 886bd3715b prep release 2014-11-21 20:58:09 -04:00
Joey Hess e60b261dae Merge branch 'joeyconfig' 2014-11-21 17:29:47 -04:00
Joey Hess 1af298dc10 trim 2014-11-21 01:14:19 -04:00
Joey Hess 1eaeddc2eb Merge branch 'joeyconfig' 2014-11-20 19:21:22 -04:00
Joey Hess f9cc7c149e incomplete systemd container support 2014-11-20 17:18:26 -04:00
Joey Hess 2293b46bf7 fix chroot info propigation 2014-11-20 16:04:48 -04:00
Joey Hess 02b8b2dec7 Merge branch 'joeyconfig' 2014-11-20 00:58:51 -04:00
Joey Hess d49d251897 separate docker container type
Docker containers are now a separate data type, cannot be included in the
main host list, and are instead passed to Docker.docked. (API change)
2014-11-19 23:11:34 -04:00
Joey Hess 41b10a956a correct version 2014-11-19 21:25:55 -04:00
Joey Hess 4a9bbd1391 Added support for using debootstrap from propellor.
Most of the hard part was making it be able to install debootstrap from
source, for use on non-debian-derived systems.
2014-11-19 19:30:56 -04:00
Joey Hess 5c34a575c8 flag API changes 2014-11-19 02:02:29 -04:00
Joey Hess dd635e9fcd update 2014-11-19 01:59:09 -04:00
Joey Hess 409e20a69e big 1.0 2014-11-19 01:41:50 -04:00
Joey Hess c3962dcf7d
propellor spin 2014-11-19 01:04:11 -04:00
Joey Hess da8411c1f1 Merge branch 'joeyconfig' 2014-11-18 21:26:30 -04:00
Joey Hess e273946c22 reword 2014-11-18 21:20:56 -04:00
Joey Hess 6df64ff653 Merge branch 'joeyconfig' 2014-11-18 17:33:21 -04:00
Joey Hess 74e067fa76
propellor spin 2014-11-18 17:26:02 -04:00
Joey Hess a0ea904ecb changelog for last commit's changes 2014-11-18 14:01:13 -04:00
Joey Hess 40f6d06f1a Run remote propellor --spin with a controlling terminal.
Avoids need for hack to make ansi colors work, but also things like apt-get
and wget process bars will be displayed.
2014-11-18 01:01:50 -04:00
Joey Hess 82d50a5796 Avoid outputting color setting sequences when not run on a terminal.
Currently TERM is checked for every message. Could be memoized, but it
would add complexity, and typical propellor output is not going to be more
than a few hundred messages, and likely this will be swamped by the actual
work.
2014-11-18 00:19:11 -04:00
Joey Hess 2fab1a08b4 Merge branch 'joeyconfig' 2014-11-17 17:02:47 -04:00
Joey Hess 46cd2ad0e0 DigitalOcean.distroKernel property now reboots into the distribution kernel when necessary.
It might be better to do this check on boot to limit the time running the
DO kernel (which is not well security supported), but that has the
possibility of entering a bad reboot loop. Limiting this check to when
propellor runs avoids that, while still fixing the problem pretty fast.
2014-11-17 16:42:15 -04:00
Joey Hess 8d91b5de6b Convert GpgKeyId to newtype 2014-11-15 17:02:30 -04:00
Joey Hess 7902f705b0 update email 2014-11-15 15:03:54 -04:00
Joey Hess 08ff95fbfa Merge branch 'joeyconfig' 2014-11-11 13:47:25 -04:00
Joey Hess be27ae1503 changelog 2014-11-11 13:00:33 -04:00
Joey Hess 3145346fb8 Merge branch 'joeyconfig' 2014-11-10 16:22:49 -04:00
Joey Hess 929d26d556 changelog 2014-11-10 16:22:44 -04:00