Joey Hess
0d4dd37ee7
git commit may or may not be signed
2014-11-20 00:55:28 -04:00
Joey Hess
5e4c57652c
fix docker container provisioning
...
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-20 00:21:40 -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
b7d78e679a
sigel didn't work out
...
Unicode output failed in docker, due to no locales, and would be generally
shakey from haskell in all the environments propellor needs to run in.
2014-11-19 21:51:52 -04:00
Joey Hess
7c11d68018
propellor spin
2014-11-19 21:50:49 -04:00
Joey Hess
d130e7e628
propellor spin
2014-11-19 21:48:48 -04:00
Joey Hess
3343b220a8
propellor spin
2014-11-19 21:21:20 -04:00
Joey Hess
b136609cb5
unicode ahoy
2014-11-19 21:20:19 -04:00
Joey Hess
205d192559
fix param order
2014-11-19 21:16:18 -04:00
Joey Hess
4de7d4295c
propellor spin
2014-11-19 21:03:06 -04:00
Joey Hess
025c7c4b8e
avoid double-build in --spin
...
It was fetching from the central repo, then building that, and then running
the client-to-client git update, and the building after that.
Remove the first build, as all that linking does take time.
2014-11-19 21:00:14 -04:00
Joey Hess
36d4938a19
remove excess verbosity from message
2014-11-19 20:48:36 -04:00
Joey Hess
c186f9f4a8
propellor spin
2014-11-19 20:41:35 -04:00
Joey Hess
caeed5492f
allow debootstrapped to be reverted
2014-11-19 20:35:33 -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
08242e29f6
add fallback combinator
2014-11-19 18:57:58 -04:00
Joey Hess
803e1407a0
improve display
2014-11-19 01:40:56 -04:00
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
9a779939c4
merge from git-annex
2014-11-19 00:55:07 -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