Commit graph

11077 commits

Author SHA1 Message Date
Griffin Smith
44dfc50e2a chore(xan): Gitignore data directory
I'm using this dir to store save files that are particularly
interesting, eg bug reproductions etc.

Change-Id: Id6a805d85b3ea2e1171ea3af96303f05c2468070
Reviewed-on: https://cl.tvl.fyi/c/depot/+/893
Reviewed-by: glittershark <grfn@gws.fyi>
2020-07-03 03:35:05 +00:00
Griffin Smith
265d40ea52 fix(gs/emacs): Fix jsonnet-mode map invocation
Only want to map in normal mode

Change-Id: I5034af2a4828c61cd46f68451485a8a90cba7085
Reviewed-on: https://cl.tvl.fyi/c/depot/+/892
Reviewed-by: glittershark <grfn@gws.fyi>
2020-07-03 03:27:58 +00:00
Griffin Smith
0ef2696564 feat(gs/system): Add whitby as a binary cache
This appears to be working! which is nice.

Change-Id: I06f8d2ff4e9b313073cb76c77a8a9bed0cb52516
Reviewed-on: https://cl.tvl.fyi/c/depot/+/887
Reviewed-by: glittershark <grfn@gws.fyi>
Reviewed-by: BuildkiteCI
Tested-by: BuildkiteCI
2020-07-03 00:07:04 +00:00
Griffin Smith
6cabc4289c feat(gs:system): steal tazjin's rebuilder script
gonna use this instead of nixos-rebuild switch, in part to get away from
global nixpkgs pins.

Change-Id: I46e2951660465790adfdf75e6e3413b5c2dfd7c7
Reviewed-on: https://cl.tvl.fyi/c/depot/+/886
Reviewed-by: glittershark <grfn@gws.fyi>
Reviewed-by: BuildkiteCI
Tested-by: BuildkiteCI
2020-07-03 00:07:04 +00:00
Griffin Smith
5c96703765 feat(ci-builds): add chupacabra
My laptop, so I can recompile linux-ck not on my machine

Change-Id: Ib42e0440628be6a4d03999220ab2c69b19d6e391
Reviewed-on: https://cl.tvl.fyi/c/depot/+/884
Reviewed-by: BuildkiteCI
Reviewed-by: lukegb <lukegb@tvl.fyi>
Tested-by: BuildkiteCI
2020-07-02 23:19:58 +00:00
Griffin Smith
0bd0ca09a3 refactor(gs/chupacabra): Vendor urbint config
If I want to build this on TVL's CI I can't reference ~/code/urb/urbos,
obviously, so I'll just vendor it here which is fine

Change-Id: I40feb4b29fafae1d3bb0119b7cca1613a4582fdc
Reviewed-on: https://cl.tvl.fyi/c/depot/+/885
Tested-by: BuildkiteCI
Reviewed-by: glittershark <grfn@gws.fyi>
Reviewed-by: BuildkiteCI
2020-07-02 23:19:58 +00:00
Griffin Smith
ae5c5b88e5 feat(gs/system): Configure whitby as a remote builder
This isn't working, but someday it might

Change-Id: Iac20c05b033df3484a7c6908473601bb17c9fcfe
Reviewed-on: https://cl.tvl.fyi/c/depot/+/883
Tested-by: BuildkiteCI
Reviewed-by: lukegb <lukegb@tvl.fyi>
Reviewed-by: BuildkiteCI
2020-07-02 23:19:58 +00:00
Griffin Smith
479d5ee8f1 refactor: Inline nixos-hardware stuff
As tazjin pointed out, this is little enough code that pulling it from a
global channel is a little silly, so I've just inlined everything.

Change-Id: I8750f139a3124135a72737c381215a6e812ce0c3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/882
Tested-by: BuildkiteCI
Reviewed-by: lukegb <lukegb@tvl.fyi>
Reviewed-by: BuildkiteCI
2020-07-02 23:19:58 +00:00
Griffin Smith
ca25c8d600 refactor(gs/chupacabra): Centralize all config
I previously had some stuff jammed into a hardware-configuration.nix not
committed anywhere, which is silly but also prevented building this
config as a top-level derivation, so this vendors them all in there

Change-Id: Ia76f1d75dcd44aa3e9d86a66c45176afc0946d12
Reviewed-on: https://cl.tvl.fyi/c/depot/+/881
Reviewed-by: BuildkiteCI
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
2020-07-02 23:19:58 +00:00
Vincent Ambo
a564f36443 feat(tazjin): Add SSH key from vauxhall
Change-Id: Ie897d9e2309f971154ba43e7dce73bb29f4ca9df
Reviewed-on: https://cl.tvl.fyi/c/depot/+/858
Reviewed-by: BuildkiteCI
Reviewed-by: lukegb <lukegb@tvl.fyi>
Tested-by: BuildkiteCI
2020-07-02 22:28:36 +00:00
Griffin Smith
0d4f709757 feat(whitby): Allow wheel users to sudo without a password
This *should* translate to the required invocation to make sudo allow
nopasswd for users in the wheel group.

Change-Id: I3713862b8df9087cfbaa72d7e824bc43469f7c1c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/857
Reviewed-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
Reviewed-by: lukegb <lukegb@tvl.fyi>
Tested-by: BuildkiteCI
2020-07-02 22:00:41 +00:00
eta
6fd3371e94 feat(tvldb): prohibit infinite recursion
Change-Id: I63b54e937f4c4fdb823f2e2e91a5a5d8af071a42
Reviewed-on: https://cl.tvl.fyi/c/depot/+/855
Tested-by: BuildkiteCI
Reviewed-by: eta <eta@theta.eu.org>
Reviewed-by: isomer <isomer@tvl.fyi>
Reviewed-by: BuildkiteCI
2020-07-02 21:46:09 +00:00
Griffin Smith
1ecae26afa feat(whitby): Add grfn as a trusted user
So I can remote builder

Change-Id: I8106244d3d197c010b618e4337a9ccfc13a116f8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/856
Reviewed-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-07-02 21:36:11 +00:00
Vincent Ambo
4d9c6dbbe2 feat(whitby): Run a handful of Buildkite agents
This is the point of the machine, afterall.

Change-Id: I15c11600c1c18fa8962d57f75f99a72e1553f9c2
Reviewed-on: https://cl.tvl.fyi/c/depot/+/853
Reviewed-by: glittershark <grfn@gws.fyi>
Reviewed-by: BuildkiteCI
Tested-by: BuildkiteCI
2020-07-02 20:54:11 +00:00
Vincent Ambo
7114e72d81 feat(whitby): Enable Nix signing for the binary cache
Change-Id: I9047667cc1a40668c0c7da72c070044b91b53014
Reviewed-on: https://cl.tvl.fyi/c/depot/+/852
Reviewed-by: BuildkiteCI
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
2020-07-02 20:54:11 +00:00
Vincent Ambo
cabdd4aa51 fix(whitby): Explicitly set an interface for the v6 default gw
systemd gets sad otherwise and it is very difficult to console it

Change-Id: Ic6405489532c407273e5634474185f2947420b37
Reviewed-on: https://cl.tvl.fyi/c/depot/+/851
Reviewed-by: glittershark <grfn@gws.fyi>
Reviewed-by: BuildkiteCI
Tested-by: BuildkiteCI
2020-07-02 20:54:11 +00:00
Griffin Smith
298060dba9 feat(whitby): Add grfn
it's not glittershark because grfn is the username I have on my laptop
and I want to be able to ssh without an `@`.

Change-Id: Ie1fb6f5e12f3ac52a44680704179bd27a00a7768
Reviewed-on: https://cl.tvl.fyi/c/depot/+/850
Reviewed-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-07-02 20:28:48 +00:00
Kane York
ba98c3ba49 feat(users/riking/keys): Add expression with my SSH public keys
Change-Id: I018a5e869e5502fd62f8b8b98b2a61e8fee358ab
Reviewed-on: https://cl.tvl.fyi/c/depot/+/854
Reviewed-by: BuildkiteCI
Reviewed-by: Kane York <rikingcoding@gmail.com>
Tested-by: BuildkiteCI
2020-07-02 20:15:51 +00:00
Luke Granger-Brown
8ad55c9095 feat(whitby): add lukegb
Change-Id: I26356632b86a64519128bc673178f1cd1b55b99b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/848
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
Reviewed-by: BuildkiteCI
2020-07-02 19:33:44 +00:00
Griffin Smith
8db06970e9 chore(users/gs): Add SSH public key
I generated a new one for whitby, so it's called whitby because that's
the only thing I'm going to be using it for.

Change-Id: Ie8ebdb1e58c76e447ee3a3ea0b1b244fe000e3e4
Reviewed-on: https://cl.tvl.fyi/c/depot/+/849
Reviewed-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-07-02 19:31:31 +00:00
Luke Granger-Brown
5822b217df chore(lukegb): add SSH pubkeys
Change-Id: Ie9fdf3e174ac2e051ec5db6f2bd225804920d3ff
Reviewed-on: https://cl.tvl.fyi/c/depot/+/847
Reviewed-by: lukegb <lukegb@tvl.fyi>
Reviewed-by: BuildkiteCI
Tested-by: BuildkiteCI
2020-07-02 19:06:44 +00:00
Vincent Ambo
c18b0a7c57 fix(whitby): Set correct IPv6 default gateway for Hetzner env
Change-Id: Ic3d4c6ebf7c40e27a453e08295bb0f2f999c0d88
Reviewed-on: https://cl.tvl.fyi/c/depot/+/845
Reviewed-by: lukegb <lukegb@tvl.fyi>
Reviewed-by: BuildkiteCI
Tested-by: BuildkiteCI
2020-07-02 18:59:01 +00:00
Griffin Smith
2ad67392a6 feat(gs/emacs): Set compile-command in nix buffers
When visiting buffers that represent home-manager or nixos modules, set
compile-command to the relevant switch command.

Change-Id: I565e092d1e6b97eb7fee9d88211c0ee6ebb30b53
Reviewed-on: https://cl.tvl.fyi/c/depot/+/846
Reviewed-by: glittershark <grfn@gws.fyi>
2020-07-02 18:55:31 +00:00
isomer
2b4abca80f fix(clbot): s/submitted/applied/
By vote of the IRC channel.

Change-Id: I5ea965d45a7d73b0bdcae817d16eaa17e47adcbc
Reviewed-on: https://cl.tvl.fyi/c/depot/+/861
Reviewed-by: isomer <isomer@tvl.fyi>
Reviewed-by: glittershark <grfn@gws.fyi>
Reviewed-by: lukegb <lukegb@tvl.fyi>
Reviewed-by: BuildkiteCI
Tested-by: BuildkiteCI
2020-07-02 18:55:30 +00:00
Vincent Ambo
62dd3fdc3c feat(nixos/whitby): Hello, World!
This adds NixOS configuration for the machine whitby.tvl.fyi.

No interesting services are configured yet, so this configuration is
quite plain.

Change-Id: I67b7c75ebd6e298719b52e6b3bd83cc3be3c45d8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/843
Tested-by: BuildkiteCI
Reviewed-by: BuildkiteCI
Reviewed-by: isomer <isomer@tvl.fyi>
Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-07-02 18:32:47 +00:00
Vincent Ambo
3ed1da6b24 feat(tazjin/keys): Add an expression with my SSH public keys
Change-Id: I624ce085ff18360bbd390bc570b6be2a416b9a42
Reviewed-on: https://cl.tvl.fyi/c/depot/+/842
Reviewed-by: BuildkiteCI
Reviewed-by: isomer <isomer@tvl.fyi>
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
2020-07-02 18:32:47 +00:00
Vincent Ambo
b1f0de3fde chore(nixos/whitby): Bootstrap //ops/nixos/whitby folder
Change-Id: I7d77c3ea48b181d7b9f754ac4807ed44735a8925
Reviewed-on: https://cl.tvl.fyi/c/depot/+/841
Reviewed-by: BuildkiteCI
Reviewed-by: isomer <isomer@tvl.fyi>
Reviewed-by: lukegb <lukegb@tvl.fyi>
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
2020-07-02 18:32:47 +00:00
Kane York
2215ae98b9 chore(tvl-slapd): rotate password for riking
Change-Id: I3ec53d5223a4ff0871eed7615f11f534ed74653b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/839
Reviewed-by: tazjin <mail@tazj.in>
Reviewed-by: BuildkiteCI
Tested-by: BuildkiteCI
2020-07-02 06:20:04 +00:00
Kane York
a2e8615240 chore(users/riking/dotfiles): add .mybashrc
Change-Id: Ib33a0a6819b7a3285fe1130657a7b1644a84f493
Reviewed-on: https://cl.tvl.fyi/c/depot/+/837
Reviewed-by: BuildkiteCI
Reviewed-by: Kane York <rikingcoding@gmail.com>
Tested-by: BuildkiteCI
2020-07-02 06:19:56 +00:00
Kane York
66f5e9f6c3 chore(bin): fix shellcheck SC2086
Change-Id: I441c03e033289da3dcec18daf9a565ec75b7ef75
Reviewed-on: https://cl.tvl.fyi/c/depot/+/835
Reviewed-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-07-01 20:58:01 +00:00
Griffin Smith
48cb38706b fix(gs/emacs): Sometimes GH returns PRs without an author
I don't know why-- but I don't want it breaking this command.

Change-Id: I90c28cd21f3a5bc9f0155a88b50b13434fda4c5d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/838
Reviewed-by: glittershark <grfn@gws.fyi>
2020-07-01 20:56:56 +00:00
Vincent Ambo
6cedd8354a docs(REVIEWS): Update registration instructions for password hashes
Change-Id: Idb8e5259f7b2a7105219fd3a21dc4b5774c44460
Reviewed-on: https://cl.tvl.fyi/c/depot/+/836
Reviewed-by: BuildkiteCI
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
2020-07-01 20:55:48 +00:00
Vincent Ambo
7dbdd2d13e chore(tvl-slapd): Remove old password generation script
This does not work for ARGON2 hashes.

Change-Id: I1e070fa0ff17ef21632e94e6777da637deb6f54f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/834
Reviewed-by: Kane York <rikingcoding@gmail.com>
Reviewed-by: BuildkiteCI
Tested-by: BuildkiteCI
2020-07-01 20:55:48 +00:00
Vincent Ambo
29984bb6f9 feat(tools/hash-password): Add a wrapper script for slappasswd
This wrapper script correctly invokes slappasswd for generating ARGON2
hashes.

People without Nix will need to figure this out on their own.

Change-Id: I264715ba4932855b868bef70cc9102515b3d129e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/833
Tested-by: BuildkiteCI
Reviewed-by: BuildkiteCI
Reviewed-by: Kane York <rikingcoding@gmail.com>
2020-07-01 20:39:07 +00:00
Vincent Ambo
a1556d71e6 chore(tvl-slapd): Rotate my LDAP passwords and use ARGON2 hashes
Change-Id: Id1a60121e4254e7ccff77ac17fd39d0955aedc8f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/832
Reviewed-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
Reviewed-by: isomer <isomer@tvl.fyi>
Tested-by: BuildkiteCI
2020-07-01 19:10:13 +00:00
Vincent Ambo
5b4ff0c393 feat(tvl-slapd): Load Argon2 password module in OpenLDAP
This makes it possible to use {ARGON2} hashes instead of the current
salted SHA hashes, which is a much better idea.

Unfortunately the nixpkgs module does not have an option for
overridding the package used, so it is overlaid into the system
package set - this causes widespread rebuilds.

This is fine for us for now, but I have opened a PR upstream to add a
package option: https://github.com/NixOS/nixpkgs/pull/91963

Change-Id: Ib4be931d88e74b91566639f8656742cf096f6cc3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/831
Reviewed-by: BuildkiteCI
Reviewed-by: isomer <isomer@tvl.fyi>
Tested-by: BuildkiteCI
2020-07-01 19:10:13 +00:00
Vincent Ambo
d2aaf030bd feat(3p/openldap): Enable slapd-passwd-argon2 module
This enables support for the Argon2 password hashing mechanism in
OpenLDAP. Note that we also need to configure the LDAP module to load
this, so this change is not yet sufficient for actually using Argon2
hashes.

Change-Id: I151b854b777daa924b22224a43851432a88a2760
Reviewed-on: https://cl.tvl.fyi/c/depot/+/830
Reviewed-by: BuildkiteCI
Reviewed-by: isomer <isomer@tvl.fyi>
Tested-by: BuildkiteCI
2020-07-01 19:10:13 +00:00
Vincent Ambo
6f5211bba8 chore(ci-builds): Move third_party builds to their own package group
... and remove a package that doesn't exist anymore (at this location)
from the nixpkgs allowlist.

Change-Id: I663c84c387fb04bb3b47448132ad768ed5352474
Reviewed-on: https://cl.tvl.fyi/c/depot/+/829
Reviewed-by: BuildkiteCI
Reviewed-by: isomer <isomer@tvl.fyi>
Tested-by: BuildkiteCI
2020-07-01 19:10:13 +00:00
Vincent Ambo
ff4918b343 feat(ci-builds): Include //fun/tvlbot and //fun/clbot in CI builds
Change-Id: I95daac993808ac9c3de06d20890cca108d8fa961
Reviewed-on: https://cl.tvl.fyi/c/depot/+/828
Reviewed-by: BuildkiteCI
Reviewed-by: eta <eta@theta.eu.org>
Tested-by: BuildkiteCI
2020-07-01 17:32:42 +00:00
Vincent Ambo
78bfb66a95 style(tvldb): Add blank lines between items
This makes the code slightly more readable. For users that use editors
without semantic navigation, this also makes it easier to jump around
between items in the files.

I looked into whether a rustfmt setting exists for this, but
unfortunately the answer is currently no.

Change-Id: I37b19fa6ab038c71b924c45dbc12b298e660e8cf
Reviewed-on: https://cl.tvl.fyi/c/depot/+/827
Reviewed-by: BuildkiteCI
Reviewed-by: eta <eta@theta.eu.org>
Tested-by: BuildkiteCI
2020-07-01 17:32:42 +00:00
Vincent Ambo
03076c3977 fix(besadii): Do not pass on update values for meta refs
Before this change, besadii would skip further processing of meta refs (which happen for every CL metadata change), but it would still schedule a build by returning an update - which would then inevitably fail.

This change makes besadii skip meta refs the same way it skips non-depot builds, i.e. completely.

Move *on* from meta refs, do *not* collect $100.

Change-Id: I269d2299f4d3cb1f9c041da8c92fa00ae7794b38
Reviewed-on: https://cl.tvl.fyi/c/depot/+/825
Reviewed-by: eta <eta@theta.eu.org>
Reviewed-by: BuildkiteCI
Tested-by: BuildkiteCI
2020-07-01 16:51:50 +00:00
Vincent Ambo
c0f07e142e chore(tazjin): Remove nugget system definition
This host is deprecated.

Change-Id: Ibbf1e300ae8b136bb3ce3669864045e6ea7eff23
Reviewed-on: https://cl.tvl.fyi/c/depot/+/826
Reviewed-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-07-01 13:16:32 +00:00
Vincent Ambo
feb3f1a374 feat(nixos/clbot): Add a module for running clbot
Change-Id: I9c10906441c3222b74bcc820a67f11d96462fcfa
Reviewed-on: https://cl.tvl.fyi/c/depot/+/821
Tested-by: BuildkiteCI
Reviewed-by: lukegb <lukegb@tvl.fyi>
Reviewed-by: BuildkiteCI
2020-06-30 23:39:48 +00:00
Cameron Kingsbury
7839b7b7a3 feat(tvl-slapd): update camsbury in slapd
Change-Id: Idce92352ad01f85bd7fbb102decdd1df26dda5f4
Reviewed-on: https://cl.tvl.fyi/c/depot/+/823
Reviewed-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-06-30 23:34:04 +00:00
Vincent Ambo
1eb8067bb0 fix(nixos/smtprelay): Only enable if the user asks for it
Change-Id: Ifbdf9bf9e89a1da68e8c823f61a33275183afcb1
Reviewed-on: https://cl.tvl.fyi/c/depot/+/822
Reviewed-by: BuildkiteCI
Reviewed-by: lukegb <lukegb@tvl.fyi>
Tested-by: BuildkiteCI
2020-06-30 23:32:45 +00:00
Griffin Smith
46d4a73e34 feat(gs/emacs): Bind M m to notmuch/compose
Change-Id: Ic6945b0508134904fbe435ac3049dbb40b8f7d21
Reviewed-on: https://cl.tvl.fyi/c/depot/+/805
Reviewed-by: BuildkiteCI
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
2020-06-30 22:09:35 +00:00
Vincent Ambo
ec8e5c304b chore(ci-builds): Build users.tazjin.finito in CI
Change-Id: I96bb33e76b373795d8cc5a4a2c7a1f9f49179a36
Reviewed-on: https://cl.tvl.fyi/c/depot/+/804
Reviewed-by: BuildkiteCI
Reviewed-by: ericvolp12 <ericvolp12@gmail.com>
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
2020-06-30 21:36:57 +00:00
Vincent Ambo
37fdd5ae8b chore(tazjin/finito): Add build configuration
Adds a Naersk-based build to check that this compiles, with a Lockfile
based on the ~2018 crate versions.

Change-Id: I0460a476d3b983fcf71e35e6b480f4a526118b58
Reviewed-on: https://cl.tvl.fyi/c/depot/+/803
Reviewed-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-06-30 04:14:27 +00:00
Vincent Ambo
9e7b81391d feat(tazjin/finito): Check in my old Rust state-machine library
I dug through my archives for this and found a version that, while
unfortunately not the latest implementation, is close enough to the
real thing to show off what Finito did.

This is a Postgres-backed state-machine library for complex
application logic. I wrote this originally for a work purpose in a
previous life, but have always wanted to apply it elsewhere, too.

git-subtree-dir: users/tazjin/finito
git-subtree-mainline: 0380841eb1
git-subtree-split: b748117225
Change-Id: I0de02d6258568447a14870f1a533812a67127763
2020-06-30 04:35:58 +01:00
Vincent Ambo
0380841eb1 fix(besadii): Don't log errors for /meta refs
These are updated for all sorts of things and should just be silently
ignored by besadii.

Change-Id: I0a6de373b21d6bef5fd31d0a1d3f72c501073bba
Reviewed-on: https://cl.tvl.fyi/c/depot/+/801
Reviewed-by: BuildkiteCI
Reviewed-by: Kane York <rikingcoding@gmail.com>
Tested-by: BuildkiteCI
2020-06-30 02:51:45 +00:00