Commit Graph

426 Commits

Author SHA1 Message Date
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
Joey Hess 55a638ad4c Fix bug in File.containsLines that caused lines that were already in the file to sometimes be appended to the end. 2014-07-17 23:33:10 -04:00
Joey Hess c65e9adc7f
propellor spin 2014-07-17 23:27:42 -04:00
Joey Hess cfb758d655 better hasPrivContentExposed
Avoid locking down and then lossening the file mode; just use the
default/current mode from the beginning.
2014-07-17 22:35:59 -04:00
Joey Hess 91d148215a
propellor spin 2014-07-17 22:27:57 -04:00
Joey Hess f4ce2124ac
propellor spin 2014-07-17 22:23:49 -04:00
Joey Hess 3e41d350f4
propellor spin 2014-07-17 22:20:16 -04:00
Joey Hess cb7009e994
propellor spin 2014-07-17 21:47:15 -04:00
Joey Hess e242c68de7
propellor spin 2014-07-17 21:35:43 -04:00
Joey Hess e31210248d
propellor spin 2014-07-17 21:16:03 -04:00
Joey Hess b0fd7f0006
propellor spin 2014-07-17 16:16:13 -04:00
Joey Hess c8feea04e1
propellor spin 2014-07-17 15:54:32 -04:00
Joey Hess 330c00efa4
propellor spin 2014-07-17 15:53:12 -04:00
Joey Hess a788c957d2
propellor spin 2014-07-17 15:36:11 -04:00
Joey Hess 79f1a6c67b
propellor spin 2014-07-17 15:33:02 -04:00
Joey Hess ebb7353f49
propellor spin 2014-07-17 15:06:24 -04:00
Joey Hess bae7e08597
propellor spin 2014-07-07 11:32:29 -04:00
Joey Hess e53faff843
propellor spin 2014-07-07 03:42:35 -04:00
Joey Hess 461b8cbd32
propellor spin 2014-07-07 03:16:18 -04:00
Joey Hess dba84b8219
propellor spin 2014-07-07 03:08:12 -04:00
Joey Hess a1679dfd92
propellor spin 2014-07-07 03:00:49 -04:00
Joey Hess 8c2a9de94b
propellor spin 2014-07-07 02:58:34 -04:00
Joey Hess 8f46b7ab68 Run apt-get update in initial bootstrap.
For eg, Linode, which brings up hosts that have not updated at all so
apt-get install doesn't work.
2014-07-07 02:04:21 -04:00
Joey Hess bc8b7f2173
propellor spin 2014-07-07 02:01:57 -04:00
Joey Hess 75ba4c5ccc
propellor spin 2014-07-07 02:00:04 -04:00
Joey Hess 593043515f
propellor spin 2014-07-07 01:57:59 -04:00
Joey Hess a0fb0f9928
propellor spin 2014-07-07 01:54:28 -04:00
Joey Hess 8298cb7875
propellor spin 2014-07-07 01:48:13 -04:00
Joey Hess 7330737b79 reorg 2014-07-06 19:40:03 -04:00
Joey Hess 53bb64040a wording 2014-07-06 17:58:27 -04:00
Joey Hess cd37316dd5 propigate required privdata fields out from docker containers to the hosts they're docked in 2014-07-06 17:54:06 -04:00
Joey Hess eb39b45d61 desc 2014-07-06 17:43:48 -04:00
Joey Hess 36ce624750 trivial 2014-07-06 17:42:25 -04:00
Joey Hess e2019aa7a8
propellor spin 2014-07-06 17:37:10 -04:00
Joey Hess e6ce744078 move privdata Property to toplevel so its Info propigates
Ugh, that's a nasty gotcha but I cannot see a way to fix it generally right
now.
2014-07-06 17:16:04 -04:00
Joey Hess 20df4170b0 beautiful table for --list-fields, with the hostnames 2014-07-06 16:46:00 -04:00
Joey Hess 5002b5e391
propellor spin 2014-07-06 16:32:05 -04:00
Joey Hess 77f3961752 better output, after gpg messages 2014-07-06 16:03:28 -04:00
Joey Hess 58f79c12aa
propellor spin 2014-07-06 15:56:56 -04:00
Joey Hess 9f781db6da
propellor spin 2014-07-06 12:27:05 -04:00
Joey Hess dbfa9b5051
propellor spin 2014-07-06 12:26:09 -04:00
Joey Hess 26f989b5ab Hostname.sane now cleans up the 127.0.0.1 localhost line in /etc/hosts, to avoid eg, apache complaining that "Could not reliably determine the server's fully qualified domain name". 2014-07-06 12:23:57 -04:00
Joey Hess 9a52b4d38a
propellor spin 2014-07-05 18:00:53 -04:00
Joey Hess d062e21a5e
propellor spin 2014-07-05 17:57:19 -04:00
Joey Hess 4bb659682e meh 2014-07-05 17:56:44 -04:00
Joey Hess 206cfeb5d4
propellor spin 2014-07-05 16:24:22 -04:00
Joey Hess aca6e6dc29
propellor spin 2014-07-05 15:55:21 -04:00
Joey Hess f674c56119 Add --list-fields to list a host's currently set privdata fields. 2014-06-19 14:56:50 -04:00
Joey Hess 42594d6b4c Add --edit to edit a privdata value in $EDITOR 2014-06-19 14:48:15 -04:00
Joey Hess 28a80c4c48 cacheCleaned is trivial 2014-06-10 15:50:42 -04:00
Joey Hess dd554e20b9 When git gpg signature of a fetched git branch cannot be verified, propellor will now continue running, but without merging in that branch.
This way, propellor doesn't stop enforcing properties just because its new
configuration isn't ready. It just uses the old configuration.
2014-06-10 15:49:17 -04:00
Joey Hess f65cd1500f
propellor spin 2014-06-10 10:08:12 -04:00
Joey Hess 8432378f2c need tree for apt build-deps 2014-06-10 01:15:18 -04:00
Joey Hess 73fec82d7a
propellor spin 2014-06-10 00:53:54 -04:00
Joey Hess a179c281e9
propellor spin 2014-06-09 23:32:53 -04:00
Joey Hess ed0ee936ae
propellor spin 2014-06-09 22:47:40 -04:00
Joey Hess 416a6646c3 cleanup 2014-06-09 12:34:32 -04:00
Joey Hess fc49d75e4f Attr is renamed to Info. 2014-06-09 01:47:11 -04:00
Joey Hess 582be8ebe0 combineProperties no longer stops when a property fails; now it continues trying to satisfy all properties on the list before propigating the failure.
Audited all of my calls to combineProperties and they should be fine with
this behavior.. which suggests it's the right behavior.
2014-06-07 00:14:05 -04:00
Joey Hess 969db1ed56 when ssh key data is missing, allow both error messages to be printed 2014-06-07 00:07:19 -04:00
Joey Hess b5812c7564
propellor spin 2014-06-06 23:07:46 -04:00
Joey Hess 9ed258633a
propellor spin 2014-06-06 23:07:05 -04:00
Joey Hess a0aac39244
propellor spin 2014-06-06 22:49:55 -04:00
Joey Hess c3add08491
propellor spin 2014-06-06 22:47:42 -04:00
Joey Hess 6fc6d54f8a
propellor spin 2014-06-06 22:46:31 -04:00
Joey Hess 16ae2b503f display improvements 2014-06-05 17:10:58 -04:00
Joey Hess 0f4e219838 can now derive Show for Attr 2014-06-05 17:07:02 -04:00
Joey Hess 4ac314fb48 Apt.stdSourcesList no longer needs a suite to be specified. 2014-06-05 17:01:32 -04:00
Joey Hess dbffd982ba fix os attribute 2014-06-05 16:52:41 -04:00
Joey Hess a2db41b4e8 add show instance for Host
doable now that Attr setting is cleaned up, and makes debugging easier
2014-06-05 16:48:17 -04:00
Joey Hess 6dd22d3f26
propellor spin 2014-06-05 16:39:35 -04:00
Joey Hess 1cf1e21532 remove sysvinit by installing systemd 2014-06-05 16:24:47 -04:00
Joey Hess d75cd6c7a3 remove sysvinit and systemd from my docker images
sysvinit hangs on upgrade if not running
2014-06-05 16:19:34 -04:00
Joey Hess 740740d215 Added --dump to dump out a field of a host's privdata. Useful for editing it. 2014-06-01 16:58:05 -04:00
Joey Hess d224463dcd comment 2014-06-01 15:07:17 -04:00
Joey Hess d65a07c701
propellor spin 2014-06-01 14:37:44 -04:00
Joey Hess 3df3fd1746
propellor spin 2014-06-01 13:40:06 -04:00
Joey Hess c224625734
propellor spin 2014-06-01 13:35:21 -04:00
Joey Hess e32408f4e8
propellor spin 2014-06-01 13:07:31 -04:00
Joey Hess 5799b89d9f filter out dup CNAMES
This happens when a docker host has an alias defined, because all docker
hosts are added to the dns, same as other hosts.
2014-06-01 07:32:16 -04:00
Joey Hess 442dbe2311
propellor spin 2014-06-01 02:53:42 -04:00
Joey Hess cae7e15f56 split out DockerAttr 2014-05-31 22:00:11 -04:00
Joey Hess b0f2478bcb docker haddock 2014-05-31 21:44:50 -04:00
Joey Hess 31d9dd297d
propellor spin 2014-05-31 21:36:09 -04:00
Joey Hess d1aaf06f1c reorder for consistency
Onrder does not matter for mappend on set
2014-05-31 21:19:07 -04:00
Joey Hess 7c4b153739 simplify monoid instance with some helper types 2014-05-31 21:18:36 -04:00
Joey Hess d1eafb1277 correct order (didn't really cause any breakage) 2014-05-31 21:08:50 -04:00
Joey Hess 58c8d74b4c simplified record accessors 2014-05-31 20:48:23 -04:00
Joey Hess 4f70fceb3a got rid of the Attr -> Attr SetAttr hack, and use monoids for Attr
The SetAttr hack used to be needed because the hostname was part of the
Attr, and was required to be present. Now that it's moved to Host, let's
get rid of that, since it tended to waste CPU.
2014-05-31 20:43:23 -04:00
Joey Hess 4c96b0681c
propellor spin 2014-05-31 18:52:42 -04:00
Joey Hess 4722b62e45
propellor spin 2014-05-31 18:40:34 -04:00
Joey Hess 5fc4b00651 remove now redundant _hostname field of Attr
Now that Host includes _hostName, it's redundant to also keep it in Attr.

This requires changing the reader monad to operate on the whole Host.
2014-05-31 18:04:41 -04:00
Joey Hess c742c2eb1b
propellor spin 2014-05-31 17:22:35 -04:00
Joey Hess 6383d8c388
propellor spin 2014-05-31 16:48:14 -04:00
Joey Hess c7b7471778
propellor spin 2014-05-31 14:28:12 -04:00
Joey Hess 8e57f0bbfb
propellor spin 2014-05-31 14:19:46 -04:00
Joey Hess 5a895c21b5
propellor spin 2014-05-31 14:15:16 -04:00
Joey Hess ead04c65e0 merge from git-annex 2014-05-29 14:29:23 -04:00
Joey Hess b419da7154 no need for existentials anymore 2014-05-28 16:26:21 -04:00
Joey Hess 3c7816cac0
propellor spin 2014-05-28 11:20:45 -04:00
Joey Hess 8c1848b897
propellor spin 2014-05-28 11:10:55 -04:00
Joey Hess 2066292be9
propellor spin 2014-05-28 10:38:29 -04:00
Joey Hess 16fbf3c6f6 reorg git-annex android builder, and put a dev container on my laptop 2014-05-27 21:17:53 -04:00
Joey Hess fe685d2660
propellor spin 2014-05-26 18:59:13 -04:00
Joey Hess 9fa0393f38
propellor spin 2014-05-26 18:46:42 -04:00
Joey Hess e71bed6640
propellor spin 2014-05-26 11:55:30 -04:00
Joey Hess 321a45a1ba
propellor spin 2014-05-24 00:52:37 -04:00
Joey Hess cc46cb1942
propellor spin 2014-05-24 00:09:58 -04:00
Joey Hess 60ea130321
propellor spin 2014-05-24 00:05:47 -04:00
Joey Hess aba5e143f2 desc 2014-05-23 12:31:42 -04:00
Joey Hess 0ec565a590
propellor spin 2014-05-23 12:30:25 -04:00
Joey Hess 4f239d1360
propellor spin 2014-05-23 10:46:25 -04:00
Joey Hess 424ba1229b refactor 2014-05-22 21:42:57 -04:00
Joey Hess 07d3d359d2 fix dir owner 2014-05-21 14:57:04 -04:00
Joey Hess 3b91f5bba3
propellor spin 2014-05-21 14:13:39 -04:00
Joey Hess 7ac991635c
propellor spin 2014-05-21 12:58:53 -04:00
Joey Hess eeb2d688bd
propellor spin 2014-05-20 19:49:07 -04:00
Joey Hess 8f9ab315e6
propellor spin 2014-05-20 18:49:03 -04:00
Joey Hess 9acd70eb4c
propellor spin 2014-05-20 18:28:13 -04:00
Joey Hess 7eeb58dab9 fix ssh authorizied_keys 2014-05-20 13:37:03 -04:00
Joey Hess e1df0634c8 hostname setting is trivial property 2014-05-19 17:29:46 -04:00
Joey Hess c8a653af5d
propellor spin 2014-05-19 17:27:21 -04:00
Joey Hess 533ac36412
propellor spin 2014-05-19 10:52:00 -04:00
Joey Hess 8ab6799d48 Ensure that kernel hostname is same as /etc/hostname when configuring hostname. 2014-05-19 10:51:28 -04:00
Joey Hess dcf6b88f46 really fix use of suite 2014-05-18 14:18:31 -04:00
Joey Hess 14c758970d fix use of suite 2014-05-18 13:45:47 -04:00
Joey Hess 227effc1ad
Fix unattended-upgrades config for !stable. 2014-05-18 13:44:28 -04:00
Joey Hess 7115d1ec16 moved source code to src
This is to work around OSX's brain-damange regarding filename case
insensitivity.

Avoided moving config.hs, because it's a config file. Put in a symlink to
make build work.
2014-05-14 19:41:05 -04:00