Commit Graph

486 Commits

Author SHA1 Message Date
Joey Hess 1872ee1ffc
propellor spin 2014-11-19 01:32:09 -04:00
Joey Hess 4dddbb725d prevent multiple concurrent provisioning inside docker container
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-19 01:28:38 -04:00
Joey Hess c3962dcf7d
propellor spin 2014-11-19 01:04:11 -04:00
Joey Hess f0675727c2
propellor spin 2014-11-19 01:02:54 -04:00
Joey Hess 05086b3abe
propellor spin 2014-11-19 01:02:13 -04:00
Joey Hess f8b71c0ab4
propellor spin 2014-11-19 00:38:11 -04:00
Joey Hess 325fe4037b
propellor spin 2014-11-19 00:30:06 -04:00
Joey Hess 111e08e156 typo 2014-11-18 23:54:49 -04:00
Joey Hess 6dc7176e7a fix haddock filename display 2014-11-18 23:51:37 -04:00
Joey Hess 745f9e2685 clean up Propellr.CmdLine exports 2014-11-18 23:50:38 -04:00
Joey Hess dac6a87419 broke out Server module 2014-11-18 22:13:13 -04:00
Joey Hess b964b48363 tense 2014-11-18 20:41:41 -04:00
Joey Hess 6e327fa1a3
propellor spin 2014-11-18 20:38:11 -04:00
Joey Hess f9f60822ff
propellor spin 2014-11-18 20:33:25 -04:00
Joey Hess cdad4fbe15
propellor spin 2014-11-18 20:29:31 -04:00
Joey Hess 2ad3334b26
propellor spin 2014-11-18 20:28:16 -04:00
Joey Hess be1287d5f9 refactor 2014-11-18 20:19:50 -04:00
Joey Hess d4a4f0193e refactor 2014-11-18 20:19:10 -04:00
Joey Hess a0d5f41a6c reorger to match usage 2014-11-18 19:49:34 -04:00
Joey Hess ce859eaa9a fix long line 2014-11-18 19:48:02 -04:00
Joey Hess 8b6531ea43 reorg 2014-11-18 19:43:53 -04:00
Joey Hess c9fed0fdaa add --update, which will one day replace --boot
But no time soon, since that would break --spin to old versions of
propellor

Maybe after 1 year?
2014-11-18 19:36:30 -04:00
Joey Hess 65d3f085dc remove what should be dead code
While old propellor's can emit Ready, they won't if they've managed to
updateFirst. If updateFirst fails due to eg, inaccessiable central repo,
those old propellor's are not able to receive inline git pushes anyway,
so are not going to update no matter what, so no point in making --spin
work in that case.
2014-11-18 19:33:11 -04:00
Joey Hess 2bbb2aa6e2 remove --docker; use Continue
And --chain was already not used.
2014-11-18 18:52:00 -04:00
Joey Hess 34cbe738b7 don't need to parse --gitpush; just use a Continue 2014-11-18 18:47:44 -04:00
Joey Hess 80a20d6df3 cleanup 2014-11-18 18:46:10 -04:00
Joey Hess 66466a953d reorg 2014-11-18 18:44:24 -04:00
Joey Hess 47bcd4e130 factor out ssh module 2014-11-18 18:42:36 -04:00
Joey Hess 45592b442b factor out git repo module 2014-11-18 18:39:10 -04:00
Joey Hess b7bbde3d72 avoid extra git pull when --spin calles first --boot and then --run 2014-11-18 18:26:15 -04:00
Joey Hess 8f5166748a
propellor spin 2014-11-18 18:15:04 -04:00
Joey Hess 18903ad30c display improvements 2014-11-18 18:13:42 -04:00
Joey Hess e262a49a80 enable terminal for --boot 2014-11-18 18:11:04 -04:00
Joey Hess 557458d03c wording 2014-11-18 17:59:26 -04:00
Joey Hess 75a824c788 fix display of progress etc lines before protocol line 2014-11-18 17:57:04 -04:00
Joey Hess 4a0cac113c fix color display when running propellor inside docker 2014-11-18 17:53:42 -04:00
Joey Hess 74e067fa76
propellor spin 2014-11-18 17:26:02 -04:00
Joey Hess 7fd8150b1f
propellor spin 2014-11-18 17:12:17 -04:00
Joey Hess 4f352327be
propellor spin 2014-11-18 17:10:10 -04:00
Joey Hess ec9cdf5d73
propellor spin 2014-11-18 17:06:39 -04:00
Joey Hess efa3283975 reformat 2014-11-18 17:05:25 -04:00
Joey Hess fc657d62cb action message 2014-11-18 16:55:20 -04:00
Joey Hess 511a728b38 finally cracked it!
A newline was slipping in and messing up the git protocol.
2014-11-18 16:52:20 -04:00
Joey Hess 83431b7b58
propellor spin 2014-11-18 16:49:37 -04:00
Joey Hess bdbb1686df
propellor spin 2014-11-18 16:47:41 -04:00
Joey Hess 12aa7f4948 set handles to binary mode 2014-11-18 16:45:31 -04:00
Joey Hess c008813bec close handles 2014-11-18 16:36:43 -04:00
Joey Hess 257f9f6bb2 debug 2014-11-18 16:28:27 -04:00
Joey Hess 935e1d11fe
propellor spin 2014-11-18 16:24:45 -04:00
Joey Hess 06add92bce tweak 2014-11-18 16:12:27 -04:00
Joey Hess c1a6f81c7e better IO loop, with debugging 2014-11-18 16:10:13 -04:00
Joey Hess 6f93f8496f use lazy bytestrings so it streams 2014-11-18 16:03:19 -04:00
Joey Hess 7956fda7d5 get handles right way roung 2014-11-18 15:53:15 -04:00
Joey Hess 18ac1234ac fix command again 2014-11-18 15:49:23 -04:00
Joey Hess 75591eb2e8 avoid pulling when there is no origin 2014-11-18 15:43:30 -04:00
Joey Hess 32dbfd62fb disable always debug 2014-11-18 15:38:18 -04:00
Joey Hess b120262482 fix proto 2014-11-18 15:37:22 -04:00
Joey Hess 1a910f2516 typo 2014-11-18 15:35:42 -04:00
Joey Hess d07edfdbeb temporarily always debug 2014-11-18 15:34:58 -04:00
Joey Hess 2ca292a2b4 hook up handles 2014-11-18 15:32:53 -04:00
Joey Hess e96a66709a run upload-pack, not send-pack
we're doing a reverse pull from the client
2014-11-18 15:25:55 -04:00
Joey Hess 6cb060b653 problem running propellor --gitpush 2014-11-18 15:23:39 -04:00
Joey Hess 72e8086d7e updte 2014-11-18 15:20:28 -04:00
Joey Hess 02fc9fcca9
propellor spin 2014-11-18 15:18:26 -04:00
Joey Hess 573c6ab4b8
propellor spin 2014-11-18 15:17:12 -04:00
Joey Hess 9dfae00bd3
propellor spin 2014-11-18 15:15:56 -04:00
Joey Hess 781e35a333 protocol is one line response, not multiline
The privdata is shown, so contains no literal newlines, so that's ok.
2014-11-18 15:14:36 -04:00
Joey Hess dccdf0c0f0
propellor spin 2014-11-18 15:09:35 -04:00
Joey Hess d5091b6082
propellor spin 2014-11-18 15:09:13 -04:00
Joey Hess bad6a8c3e6
propellor spin 2014-11-18 15:05:15 -04:00
Joey Hess 473ce8b757 Nothing means end of protocol, not protocol error 2014-11-18 14:13:52 -04:00
Joey Hess aa9aa832d2 refactor 2014-11-18 14:12:07 -04:00
Joey Hess 45f8ebf0ef
propellor spin 2014-11-18 13:59:50 -04:00
Joey Hess 9463963d85 reorg 2014-11-18 13:32:33 -04:00
Joey Hess 46076e9a37 reorg and clean up bootstrap protocol 2014-11-18 13:29:50 -04:00
Joey Hess e4e2f44392
propellor spin 2014-11-18 01:25:54 -04:00
Joey Hess a30b5a6bfd
propellor spin 2014-11-18 01:17:22 -04:00
Joey Hess bc6b199d53
propellor spin 2014-11-18 01:15:34 -04:00
Joey Hess 8d995b1574 need to chain, not spin 2014-11-18 01:11:32 -04:00
Joey Hess 8ea43c6302 avoid renaming --boot to --sync
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-18 01:04:41 -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 1a90604851 ssh won't allocate a tty; work around
stdin is not a terminal, drat ssh

I don't much like this workaround
2014-11-18 00:42:12 -04:00
Joey Hess 194785b556
propellor spin 2014-11-18 00:36:00 -04:00
Joey Hess 340c8d1060
propellor spin 2014-11-18 00:30:19 -04:00
Joey Hess e6ff8bfc47 can't rely on TERM; use hIsTerminalDevice
This calls an ioctl, I don't think it's very expensive.
2014-11-18 00:28:46 -04:00
Joey Hess 7b796bcb9c enable tty over ssh 2014-11-18 00:22:05 -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
Félix Sipma fbd8ea3b3d Git: rename isRepo to isGitDir
Signed-off-by: Félix Sipma <felix.sipma@no-log.org>
2014-11-17 17:02:31 -04:00
Félix Sipma f3beea212c Git: isRepo
Signed-off-by: Félix Sipma <felix.sipma@no-log.org>
2014-11-17 17:02:31 -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 269996e25d moving privdata to privdata.joey (for joeyconfig branch only)
This will be reverted on master. This way, my ongoing development on my
joeyconfig branch, including privdata changes, won't result in changes
being merged into the privdata/ dir on master. Such changes can cause
problems for other propellor users, who can get conflicts in their own
privdata when merging from master.
2014-11-15 13:45:23 -04:00
Joey Hess d65337d3e7
add Obnam backupEncrypted
This after I typoed an obnam setup and accidentially had a repo that was
backing up non-encrypted.
2014-11-15 13:42:04 -04:00
Félix Sipma cd1a911314 Tor: change unlines to unwords in hiddenService
Signed-off-by: Félix Sipma <felix.sipma@no-log.org>
2014-11-13 13:03:30 -04:00
Félix Sipma 3679a49353 Tor: change unlines to unwords in description messages
Signed-off-by: Félix Sipma <felix.sipma@no-log.org>
2014-11-12 18:09:21 -04:00
Félix Sipma e7d2c38a59 Tor: hiddenServiceData
Signed-off-by: Félix Sipma <felix.sipma@no-log.org>
2014-11-11 20:02:23 -04:00
Félix Sipma 9d6a79bc23 Apt: stable-updates suite
Signed-off-by: Félix Sipma <felix.sipma@no-log.org>
2014-11-11 19:57:39 -04:00
Joey Hess e4f9df8404 avoid configuring git signing key when there's no secret key
Also, nice display for --add-key steps
2014-11-11 13:41:25 -04:00
Joey Hess 7ea0f460e6 use --trust-model always to avoid prompt from gpg
gpg prompts when encrypting to an untrusted key, but if propellor has been
told to add a key, we implicitly trust it.
2014-11-11 13:26:31 -04:00
Joey Hess 84304821be
propellor spin 2014-11-11 12:58:53 -04:00
Joey Hess f559ccaf73 reorg 2014-11-11 12:33:04 -04:00
Joey Hess 347c02a38e split out gpg keyring related stuff 2014-11-11 12:32:17 -04:00
Félix Sipma bd856f7a04 Tor: varRun
Signed-off-by: Félix Sipma <felix.sipma@no-log.org>
2014-11-11 11:57:42 -04:00
Félix Sipma 2368b0d5af Tor: rename 'varPath' to 'varLib'
Signed-off-by: Félix Sipma <felix.sipma@no-log.org>
2014-11-11 11:57:39 -04:00
Félix Sipma 1f328755f5 Tor: mainConfig, varPath, hidden service by hostname
Signed-off-by: Félix Sipma <felix.sipma@no-log.org>
2014-11-11 11:57:38 -04:00
Joey Hess d8ca671086 didn't need quite so much indentation 2014-11-10 16:27:36 -04:00
Félix Sipma 053183d44b Tor: hidden service
Signed-off-by: Félix Sipma <felix.sipma@no-log.org>
2014-11-10 16:16:43 -04:00
Félix Sipma 3541260436 basic prosody support
Signed-off-by: Félix Sipma <felix.sipma@no-log.org>
2014-11-10 11:14:48 -04:00
Joey Hess 9755b761bb Docker: Stop using docker.io; that was a compat symlink in the Debian package which has been removed in docker.io 1.3.1~dfsg1-2. 2014-11-08 15:55:58 -04:00
Joey Hess ef9abb9b67 Apache: Fix daemon reload when enabling a new module or site. 2014-10-31 17:47:52 -04:00
Félix Sipma 784210a573 Propellor.Property.Nginx: use System.Posix.Files
Bug: the "onChange reloaded" in siteEnabled does not seem to be fired...
Does it works in Propellor.Property.Apache.siteEnabled?

Signed-off-by: Félix Sipma <gueux@gueux.org>
2014-10-31 17:36:33 -04:00
Joey Hess 2766558d61 remove hardcoded path
propellor runs as root, and /sbin should always be in root's path
2014-10-31 10:20:56 -04:00
Joey Hess 3a1f058c64 changed indentation for consistency with the rest of propellor 2014-10-31 10:20:34 -04:00
Arnaud Bailly 63560cde90 added licensing header 2014-10-31 10:15:18 -04:00
Arnaud Bailly 4ce5e26ec8 missing export 2014-10-31 10:15:14 -04:00
Arnaud Bailly 63c92aa7fb smarter constructor for rule 2014-10-31 10:15:10 -04:00
Arnaud Bailly 90bec1e959 added firewall properties 2014-10-31 10:15:07 -04:00
Félix Sipma a6e712a645 basic nginx support 2014-10-30 16:34:01 -04:00
Joey Hess 2b320d2bd9
propellor spin 2014-10-23 13:26:51 -04:00
Joey Hess f5b5159f76 don't need RestartPolicy data type; simplify 2014-10-23 12:28:33 -04:00
Joey Hess 73a75cbefc Fix loop when a docker host that does not exist was docked.
The problem is it fell back to looking for an alias for the bad hostname,
but to get the aliases, it needs to know which hosts are docked where,
so looped.
2014-10-23 12:11:43 -04:00
Joey Hess e6924a894d Revert "Revert "Revert "propellor spin"""
This reverts commit 26bef2486d.
2014-10-23 11:46:15 -04:00
Joey Hess 26bef2486d Revert "Revert "propellor spin""
This reverts commit 8d353813bf.
2014-10-23 11:42:34 -04:00
Joey Hess 8d353813bf Revert "propellor spin"
This reverts commit ac7b182b5a.
2014-10-23 11:39:29 -04:00
Joey Hess ac7b182b5a
propellor spin 2014-10-23 11:36:06 -04:00
Joey Hess bdf3e37066 Revert "propellor spin"
This reverts commit 80f5b53f1b.
2014-10-23 11:33:00 -04:00
Joey Hess bbec7021f8 Revert "propellor spin"
This reverts commit 45ce3a5e8c.
2014-10-23 11:31:00 -04:00
Joey Hess 45ce3a5e8c
propellor spin 2014-10-23 11:28:10 -04:00
Joey Hess 80f5b53f1b
propellor spin 2014-10-23 11:26:05 -04:00
Joey Hess 5bfeb3f9aa Revert "propellor spin"
This reverts commit 7637ea0af9.
2014-10-23 11:25:07 -04:00
Joey Hess 7637ea0af9
propellor spin 2014-10-23 11:23:25 -04:00
Joey Hess 856a4c673c
propellor spin 2014-10-23 03:27:40 -04:00
Joey Hess 93099b8627 bugfix 2014-10-23 03:18:52 -04:00
Joey Hess a0e4c872b6
propellor spin 2014-10-23 02:50:50 -04:00
Joey Hess 9e3485a13b
propellor spin 2014-10-23 02:41:47 -04:00
Joey Hess 9d7a442182
propellor spin 2014-10-23 02:36:08 -04:00
Joey Hess fbba9639d6
propellor spin 2014-10-23 02:34:42 -04:00
Joey Hess 0f1fcc24f8
propellor spin 2014-10-16 17:02:16 -04:00
Joey Hess 8a6da9ff73
full auto baybee! 2014-10-16 12:13:55 -04:00
Joey Hess bf238a34ee
propellor spin 2014-10-15 00:49:39 -04:00
Joey Hess 158cbd0fbf
android chroot switched to jessie 2014-10-14 19:22:01 -04:00
Joey Hess 6673b6014f
propellor spin 2014-10-13 15:05:18 -04:00
Joey Hess 2be1255b89
propellor spin 2014-10-10 13:51:52 -04:00
Joey Hess df0c0e56cb Docker: Avoid committing container every time it's started up.
This was using a lot of disk space. Instead, start the container, and then
use the running container to check if docker is running it with the right
params. In the unlikely case that the params have changed, we still need to
commit the container and restart it. The common case of eg a reboot no
longer commits though.
2014-10-10 13:47:41 -04:00
Joey Hess c120355272
propellor spin 2014-10-10 13:25:30 -04:00
Joey Hess ff9647cf9d
propellor spin 2014-10-10 13:21:42 -04:00
Joey Hess 7f17765de3 debCdn switched from cdn.debian.net to http.debian.net, which seems to be better managed now.
Conflicts:
	debian/changelog
2014-10-10 11:37:22 -04:00
Joey Hess 79ee61d958 stable suite changes
* Avoid encoding the current stable suite in propellor's code,
  since that poses a difficult transition around the release,
  and can easily be wrong if an older version of propellor is used.
  Instead, the os property for a stable system includes the suite name
  to use, eg Stable "wheezy".
* stdSourcesList uses the stable suite name, to avoid unwanted
  immediate upgrades to the next stable release.
2014-10-10 11:27:54 -04:00
Joey Hess 1e22e178b4 a few other whitespace fixups 2014-10-08 13:19:53 -04:00
Joey Hess 6a674c79d7 fix some accidental uses of spaces, rather than tabs, for indentation 2014-10-08 13:14:21 -04:00
Joey Hess 21117d5e21
propellor spin 2014-10-06 19:44:19 -04:00
Joey Hess 7fcf4edeba comment 2014-09-25 15:11:19 -04:00
Joey Hess e5dd1f6414
propellor spin 2014-09-24 14:03:23 -04:00
Joey Hess 960dd0d1f8
propellor spin 2014-09-24 11:29:08 -04:00
Joey Hess c96ba00822
propellor spin 2014-09-24 11:27:45 -04:00
Joey Hess d1292a5786
propellor spin 2014-09-24 11:22:55 -04:00
Joey Hess 3fe6e0f8bd
propellor spin 2014-09-24 11:21:12 -04:00
Joey Hess ffe36b68b4
propellor spin 2014-09-24 11:18:12 -04:00
Joey Hess f6ac681da0 use Daemon.restarted consistently, and implement using Service.restarted 2014-09-23 13:21:53 -04:00
Joey Hess 28a966e4b5
propellor spin 2014-09-18 23:54:42 -04:00
Joey Hess fc95968145
propellor spin 2014-09-18 23:50:13 -04:00
Joey Hess f0409ae869 disable unattended upgrades for autobuilders that mix dpkg and cabal
upgrades of dpkg haskell libs can break cabal ones
2014-09-13 14:17:19 -04:00
Joey Hess acd4638493
propellor spin 2014-09-10 23:01:19 -04:00
Joey Hess d8367de73a
propellor spin 2014-09-10 22:56:42 -04:00
Joey Hess 599168ddcb
propellor spin 2014-09-08 15:20:53 -04:00
Joey Hess f2bdab547e
propellor spin 2014-09-08 15:18:42 -04:00
Joey Hess 0126c41a53
propellor spin 2014-09-08 12:46:54 -04:00
Joey Hess b21feb9e8d
propellor spin 2014-09-08 10:56:08 -04:00
Joey Hess 3cb9a60f89
propellor spin 2014-08-21 15:52:49 -04:00
Joey Hess 3822c9a2d7
propellor spin 2014-08-21 14:04:26 -04:00
Joey Hess 08a3c52017
propellor spin 2014-07-23 12:48:46 -04:00
Joey Hess ac46ab4d0c
propellor spin 2014-07-23 12:33:44 -04:00
Joey Hess 3d617fd98b
propellor spin 2014-07-23 12:33:11 -04:00
Joey Hess 41a23743e7
propellor spin 2014-07-23 12:27:38 -04:00
Joey Hess dd32a63a07
propellor spin 2014-07-23 12:25:38 -04:00
Joey Hess ecc275cfeb
propellor spin 2014-07-23 12:23:44 -04:00
Joey Hess 7d3c09df5f
propellor spin 2014-07-23 11:52:46 -04:00
Joey Hess 78bbd860c6
propellor spin 2014-07-23 10:54:21 -04:00
Joey Hess 321a0bdef6
propellor spin 2014-07-23 10:52:26 -04:00
Joey Hess 660f77c28f
propellor spin 2014-07-22 16:40:11 -04:00
Joey Hess ed83966460
propellor spin 2014-07-22 16:29:22 -04:00
Joey Hess dc1a8db064
propellor spin 2014-07-22 16:28:04 -04:00
Joey Hess e01fc46ba3
propellor spin 2014-07-22 16:21:54 -04:00
Joey Hess 400422a7e6
propellor spin 2014-07-22 15:27:44 -04:00
Joey Hess 98a3114763
propellor spin 2014-07-22 15:25:07 -04:00
Joey Hess 7028c2c9cc
propellor spin 2014-07-18 16:45:40 -04:00
Joey Hess 51edffe173
propellor spin 2014-07-18 16:43:11 -04:00
Joey Hess 93730d530a
propellor spin 2014-07-18 16:40:09 -04:00
Joey Hess d5abbeb116
propellor spin 2014-07-18 15:59:17 -04:00
Joey Hess fd7d6907b8
propellor spin 2014-07-18 15:58:05 -04:00
Joey Hess ef472be6a6
propellor spin 2014-07-18 14:42:46 -04:00
Joey Hess 90682a7984
propellor spin 2014-07-18 14:36:51 -04:00
Joey Hess 0d188bf5f6
propellor spin 2014-07-18 14:33:30 -04:00
Joey Hess 4d38e8bfd6
propellor spin 2014-07-18 13:09:55 -04:00
Joey Hess 614a6a13ac
propellor spin 2014-07-18 13:03:13 -04:00
Joey Hess 1143ca7c5c
propellor spin 2014-07-18 12:48:08 -04:00
Joey Hess ad80a1600d
propellor spin 2014-07-18 12:39:45 -04:00
Joey Hess 6e490dff6e
propellor spin 2014-07-18 12:35:00 -04:00
Joey Hess 00b7323d4e
propellor spin 2014-07-18 12:22:50 -04:00
Joey Hess 8aabde7a3a
propellor spin 2014-07-18 02:51:47 -04:00