Joey Hess
5a932c382d
docuemnt info propigtion problem
2014-12-07 16:37:02 -04:00
Joey Hess
abee353d9d
Merge branch 'joeyconfig'
2014-12-07 15:24:21 -04:00
Joey Hess
2fe0b28982
more uses for hostContext
2014-12-07 15:21:55 -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
8c12047b6b
simplify using makeChange
2014-12-07 14:49:12 -04:00
Joey Hess
6a906c8a4c
typo
2014-12-07 12:50:40 -04:00
Joey Hess
322ae878bb
Merge branch 'joeyconfig'
...
Conflicts:
privdata.joey/privdata.gpg
2014-12-07 12:04:58 -04:00
Joey Hess
52a83a8911
enable shadow passwords
...
I have seen weird almost boot failures when they're disabled, including a
segfault.
2014-12-06 15:39:02 -04:00
Joey Hess
7983046cd5
update
2014-12-06 15:28:30 -04:00
Joey Hess
bdbf787e2c
keep and use Reboot.now
2014-12-06 13:32:53 -04:00
Joey Hess
29442f222e
Reboot.atEnd
2014-12-06 13:21:19 -04:00
Joey Hess
62697c7b7f
reboot at end of propellor run when clean os has been installed
2014-12-06 06:41:21 -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
c97dd0d708
spelling typo
2014-12-05 19:33:34 -04:00
Joey Hess
a6e756791e
Merge branch 'joeyconfig'
2014-12-05 17:54:45 -04:00
Joey Hess
a7e71faaaa
forgot to add new Mount lib
2014-12-05 17:54:29 -04:00
Joey Hess
9805f132ac
Merge branch 'joeyconfig'
2014-12-05 17:44:14 -04:00
Joey Hess
5ae6a302df
some comments
2014-12-05 17:44:09 -04:00
Joey Hess
00ab240164
fix install of debootstrap from source
2014-12-05 16:48:52 -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
97e9433f1b
rollback if renameing fails
...
This avoids leaving the system in a broken state where some directories
have been renamed away any others not.
Future work: If the rename list contains (foo, bar) and (newfoo,foo),
reorder the list to gather those two actions together to minimize
the amount of time that foo is missing. In case of power loss or something.
2014-12-05 12:50:01 -04:00
Joey Hess
4be893f0bf
more improvements to takeover
2014-12-04 17:34:47 -04:00
Joey Hess
f1fd75c9ec
more work on OS takeover
2014-12-04 17:11:15 -04:00
Joey Hess
f78c2f16d1
update name of libgnutls dev package
2014-12-03 19:05:36 -04:00
Joey Hess
a380ea8390
Merge branch 'joeyconfig'
2014-12-03 19:05:25 -04:00
Joey Hess
16cd9d8235
update name of libgnutls dev package
2014-12-03 19:05:18 -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
d84e7a2848
Merge branch 'joeyconfig'
2014-12-01 11:53:54 -04:00
Joey Hess
4c2eac2d3c
remove -i, seems not needed and may be causing problem
2014-11-27 19:10:39 -04:00
Joey Hess
9500e9bb81
added more debugging
2014-11-27 17:55:56 -04:00
Joey Hess
7ddb862176
propellor spin
2014-11-27 17:51:41 -04:00
Joey Hess
3d42f1fa19
Merge branch 'joeyconfig'
2014-11-26 10:51:41 -04:00
Joey Hess
5a104675e4
avoid crash on no propellor.debug setting
2014-11-26 10:51:29 -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
1d8e08f2ac
Merge branch 'joeyconfig'
2014-11-25 15:40:00 -04:00
Félix Sipma
7d0f79a0c7
Group: preferred style
...
Signed-off-by: Félix Sipma <felix.sipma@no-log.org>
2014-11-25 13:12:56 -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
934171e2ea
rename
2014-11-24 00:52:46 -04:00
Joey Hess
24bce96210
Merge branch 'joeyconfig'
2014-11-24 00:52:46 -04:00
Joey Hess
8d1814a884
move property to ssh module
2014-11-24 00:51:36 -04:00
Joey Hess
9ac4e94625
oops
2014-11-24 00:50:48 -04:00
Joey Hess
ccdbf0026d
more work; builds now
2014-11-24 00:40:53 -04:00
Joey Hess
f85026da7f
better property names
2014-11-23 19:49:53 -04:00
Joey Hess
bfc24ce1d7
Merge branch 'joeyconfig'
2014-11-23 18:51:36 -04:00
Joey Hess
3ef6e352c3
one more merge test
...
--allow-empty added to commit, because the spins could all be empty
2014-11-23 18:51:07 -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
d8624e2e5d
WIP
2014-11-23 16:12:39 -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
3c952a0de9
comment
2014-11-23 14:40:28 -04:00
Félix Sipma
226981cda4
Git: bareRepo
...
Signed-off-by: Félix Sipma <felix.sipma@no-log.org>
2014-11-23 14:39:01 -04:00
Félix Sipma
6aa21366d5
Group properties
...
Signed-off-by: Félix Sipma <felix.sipma@no-log.org>
2014-11-23 14:37:49 -04:00
Joey Hess
69eace8e9a
preferred style
2014-11-23 14:37:37 -04:00
Félix Sipma
f4e06ae778
User: hasGroup
...
Signed-off-by: Félix Sipma <felix.sipma@no-log.org>
2014-11-23 14:37:10 -04:00
Joey Hess
5fefb161c3
propellor spin
2014-11-22 22:37:25 -04:00
Joey Hess
ca09087caf
propellor spin
2014-11-22 22:24:09 -04:00
Joey Hess
81e52f1e14
update
2014-11-22 22:13:00 -04:00
Joey Hess
96ecbaad25
pute full path to bin/propellor inside shim
2014-11-22 22:10:53 -04:00
Joey Hess
7c5188b202
propellor spin
2014-11-22 22:01:19 -04:00
Joey Hess
5360e466d3
reorg
2014-11-22 21:50:49 -04:00
Joey Hess
cc8babccc8
propellor spin
2014-11-22 21:37:39 -04:00
Joey Hess
1d5d911aa0
propellor spin
2014-11-22 21:30:50 -04:00
Joey Hess
50b6e37790
propellor spin
2014-11-22 21:10:35 -04:00
Joey Hess
1338f4effd
don't remove old localdir before tarball unpack
...
it may get messy if old stuff is left, but there is state in there
2014-11-22 20:42:31 -04:00
Joey Hess
58b5de7802
Revert "avoid removing whole localdir every time the precompiled tarball is uploaded"
...
This reverts commit 40bec41f56
.
2014-11-22 20:42:20 -04:00
Joey Hess
40bec41f56
avoid removing whole localdir every time the precompiled tarball is uploaded
...
There's some state in there..
Moved it to a shim subdir, which can be deleted and the tarball unpacked to
recreate it.
2014-11-22 20:35:46 -04:00
Joey Hess
868d7cdcb5
avoid loop after uploading precompiled tarball
...
The localdir still has no .git repo, so it looped.
2014-11-22 20:29:27 -04:00
Joey Hess
239581c759
reorg
2014-11-22 20:17:46 -04:00
Joey Hess
eb946f109b
look for /usr/local/propellor/.git to know if it's fully deployed
...
When propellor is deployed by uploading the binary, there's no git repo, so
each spin needs to re-upload it to get any config changes. This should be
rare since this is only intended to be used when taking over a host and
getting it properly set up from source, but it still needs to be supported.
2014-11-22 20:02:44 -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
95f78a0586
propellor spin
2014-11-22 17:22:11 -04:00
Joey Hess
aa986724a2
propellor spin
2014-11-22 17:16:25 -04:00
Joey Hess
a4edc404f0
propellor spin
2014-11-22 16:20:02 -04:00
Joey Hess
02e0fac683
propellor spin
2014-11-22 16:17:39 -04:00
Joey Hess
cb94e7484e
propellor spin
2014-11-22 16:14:20 -04:00
Joey Hess
7ed9f70504
propellor spin
2014-11-22 16:12:53 -04:00
Joey Hess
6be56755ee
propellor spin
2014-11-22 16:10:46 -04:00
Joey Hess
392a0d3c1c
propellor spin
2014-11-22 16:06:44 -04:00
Joey Hess
6d13790afa
propellor spin
2014-11-22 15:58:09 -04:00
Joey Hess
40339a7fd8
propellor spin
2014-11-22 15:54:31 -04:00
Joey Hess
97931fe670
propellor spin
2014-11-22 15:50:14 -04:00
Joey Hess
395f311e1e
propellor spin
2014-11-22 15:48:17 -04:00
Joey Hess
615799dbcc
propellor spin
2014-11-22 15:19:20 -04:00
Joey Hess
ef883cbbe8
still do peer-to-peer git push when there are no git remotes
2014-11-22 15:18:30 -04:00
Joey Hess
151aadd4e2
propellor spin
2014-11-22 15:11:24 -04:00
Joey Hess
0b9164e286
propellor spin
2014-11-22 15:01:08 -04:00
Joey Hess
fdde4d91c7
propellor spin
2014-11-22 13:48:16 -04:00
Joey Hess
8e5551c925
avoid unncessary apt-get upgrade
2014-11-22 13:44:25 -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
e0c2d6a73a
comment
2014-11-22 02:04:01 -04:00
Joey Hess
128e16472a
compress tarball
...
11 mb -> 4 mb
2014-11-22 01:13:53 -04:00
Joey Hess
c0662e6258
comment
2014-11-22 00:52:59 -04:00
Joey Hess
cd6ca049b8
cleanup
2014-11-22 00:50:56 -04:00
Joey Hess
ea058a5f9f
remove test hack
2014-11-22 00:47:26 -04:00
Joey Hess
5d6e1a27a5
propellor spin
2014-11-22 00:46:07 -04:00
Joey Hess
0d65fdeb1d
propellor spin
2014-11-22 00:44:13 -04:00
Joey Hess
083b82d810
propellor spin
2014-11-22 00:36:16 -04:00
Joey Hess
1af398d33e
propellor spin
2014-11-22 00:35:14 -04:00
Joey Hess
f1fdd6f678
propellor spin
2014-11-22 00:34:34 -04:00
Joey Hess
e5135c1948
propellor spin
2014-11-22 00:32:04 -04:00
Joey Hess
99e0a5fea7
propellor spin
2014-11-22 00:27:35 -04:00
Joey Hess
7fd338f96f
propellor spin
2014-11-22 00:25:00 -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
6eb64d56e3
avoid setting title when not at console
2014-11-21 23:33:39 -04:00
Joey Hess
0a415a7b41
show last line if it cannot be parsed as a serialized Result
2014-11-21 23:30:40 -04:00
Joey Hess
403a82b8b7
email update
2014-11-21 22:26:39 -04:00
Joey Hess
91d58380b4
Merge branch 'joeyconfig'
2014-11-21 20:57:53 -04:00
Joey Hess
6cdd37d9ff
propellor spin
2014-11-21 20:53:38 -04:00
Joey Hess
b373ffb761
allow disabling nspawn params, and default to bind mounting /etc/resolv.conf
2014-11-21 20:32:32 -04:00
Joey Hess
96c4890d89
propellor spin
2014-11-21 20:19:20 -04:00
Joey Hess
6be49197f6
allow configuring systemd-nspawn parameters
2014-11-21 20:09:33 -04:00
Joey Hess
6c92f1034f
split out info types
2014-11-21 18:55:33 -04:00
Joey Hess
e60b261dae
Merge branch 'joeyconfig'
2014-11-21 17:29:47 -04:00
Joey Hess
6e8b28cd3c
propellor spin
2014-11-21 17:11:26 -04:00
Joey Hess
33e9b10c19
typo
2014-11-21 16:02:10 -04:00
Joey Hess
f6afeb889f
lock down chroot perm
2014-11-21 16:01:51 -04:00
Joey Hess
9e611d87cd
add debootstrap parameters
2014-11-21 15:55:27 -04:00
Joey Hess
fbce215f33
implement teardown
2014-11-21 14:37:19 -04:00
Joey Hess
36e89cd148
os info propigation
...
Also, lost the systemd-nspawn parameters; I'll do that some other way.
2014-11-21 14:31:13 -04:00
Joey Hess
7d4d3e4451
fix info propigation
...
Need to propigate the full container info, not the subset used in chroot
deployment.
2014-11-21 14:11:02 -04:00
Joey Hess
5e1a47552a
propellor spin
2014-11-21 13:57:58 -04:00
Joey Hess
09e79e6263
propellor spin
2014-11-21 13:55:42 -04:00
Joey Hess
3ba82a1c9c
propellor spin
2014-11-21 13:49:17 -04:00
Joey Hess
ae6a5e815c
propellor spin
2014-11-21 12:35:07 -04:00
Joey Hess
976afedea3
propellor spin
2014-11-21 12:18:03 -04:00
Joey Hess
6a5a1bc761
systemd container may be mostly done (untested)
2014-11-21 12:17:03 -04:00
Joey Hess
45349c210d
add missing support for reverting chroot
...
wow, that was suprisingly trivial!
2014-11-21 01:09:15 -04:00
Joey Hess
a904476333
avoid console output when chaining into chroot and not at console
2014-11-21 01:05:51 -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
3669bd61d0
propellor spin
2014-11-20 16:07:57 -04:00
Joey Hess
2293b46bf7
fix chroot info propigation
2014-11-20 16:04:48 -04:00
Joey Hess
a4f04fcb02
propellor spin
2014-11-20 15:15:28 -04:00
Joey Hess
def4431132
remove unused Eq instance for Info
...
Its implementation was .. shady at best, as Host has no Eq
2014-11-20 14:16:26 -04:00
Joey Hess
b8b746a7f1
starting work on a Chroot module
...
factored out info up-propigation code rom Docker
2014-11-20 14:15:26 -04:00
Joey Hess
02b8b2dec7
Merge branch 'joeyconfig'
2014-11-20 00:58:51 -04:00
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
aa3f31940b
Merge branch 'joeyconfig'
2014-11-18 21:18:26 -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
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
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
Joey Hess
2fab1a08b4
Merge branch 'joeyconfig'
2014-11-17 17:02:47 -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
90f5cff061
Revert "moving privdata to privdata.joey (for joeyconfig branch only)"
...
This reverts commit 269996e25d
.
2014-11-15 13:47:23 -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
ceb56ac32b
keep warning of out of date after updating upstream/master, until it gets merged
2014-08-19 19:22:54 -04:00
Joey Hess
db1cf96dd7
remove origin remote after local clone
...
It's not useful, since it'll change to something that cannot be directly
merged with.
2014-08-19 19:03:05 -04:00
Joey Hess
d6320b8130
-X
2014-08-19 17:59:15 -04:00
Joey Hess
5d92ed6ea7
need to -s theirs or the merge is likely to fail
2014-08-19 17:57:32 -04:00
Joey Hess
d289a222d5
simpler merge
...
Ah, we've checked out the oldref, so can just merge the newref in and get a
branch that is suitable for mergeing into the user's repo. No need for
manual diff, which can fail on eg, binaries or no changes.
2014-08-19 17:54:49 -04:00
Joey Hess
adf8b2ec34
need to connect up history
2014-08-19 17:51:34 -04:00
Joey Hess
1bf736293d
syntax
2014-08-19 17:17:36 -04:00
Joey Hess
7743da0c3d
syntax
2014-08-19 17:17:01 -04:00
Joey Hess
d54ee6c336
color message
2014-08-19 17:12:57 -04:00
Joey Hess
f72a1aa690
fixes
2014-08-19 17:09:11 -04:00
Joey Hess
1ada0f1014
fix ref name
2014-08-19 16:47:00 -04:00
Joey Hess
4ae9578e36
head file will end with a newline
2014-08-19 16:44:51 -04:00
Joey Hess
3c61c109fb
ugly workaround for lack of history in repo distributed with debian package
2014-08-19 16:40:04 -04:00
Joey Hess
e0bbb776bf
final fixes
2014-08-19 15:29:32 -04:00
Joey Hess
8e45b0f77b
warnings
2014-08-19 15:23:29 -04:00
Joey Hess
1830f501ee
debian upgrade handling
...
The /usr/bin/propellor wrapper will warn when ~/.propellor/ is out of date
and a newer version is available from origin.
2014-08-19 15:22:42 -04:00
Joey Hess
527ae1dc20
typo
2014-08-19 15:06:06 -04:00
Joey Hess
71ccd256da
stop removing privdata, it's no longer in master
2014-08-19 15:04:12 -04:00
Joey Hess
7d59dee469
local repo fully working now
2014-08-19 15:02:12 -04:00
Joey Hess
b6c5f54741
The Debian package now includes a single-revision git repository in /usr/src/propellor/, and ~/.propellor/ is set up to use this repository as its "upstream" remote. This avoids relying on the security of the github repository when using the Debian package.
2014-08-19 14:35:38 -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
Joey Hess
9a31b95e7d
propellor spin
2014-07-18 02:35:32 -04:00
Joey Hess
f93b2f5e52
propellor spin
2014-07-18 02:27:15 -04:00
Joey Hess
6957f28945
propellor spin
2014-07-18 02:08:13 -04:00
Joey Hess
2812719e54
propellor spin
2014-07-18 01:03:05 -04:00
Joey Hess
fddcf13973
propellor spin
2014-07-18 00:36:21 -04:00
Joey Hess
5590c1c75a
propellor spin
2014-07-18 00:20:09 -04:00
Joey Hess
863cdf470b
propellor spin
2014-07-17 23:51:11 -04:00
Joey Hess
8b90fc9a52
propellor spin
2014-07-17 23:43:33 -04:00
Joey Hess
a6a82a23a9
propellor spin
2014-07-17 23:42:10 -04:00
Joey Hess
93a2b92f62
propellor spin
2014-07-17 23:41:17 -04:00
Joey Hess
c27afcea4e
propellor spin
2014-07-17 23:36:04 -04:00