Commit Graph

402 Commits

Author SHA1 Message Date
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