Commit graph

57 commits

Author SHA1 Message Date
c6e8c6cf77 update for the released http-mirage-client 2022-11-02 22:19:03 +01:00
d143e9b766 as suggested by @reynir: verify -> verify_sha256 2022-10-28 14:58:58 +02:00
1ff5c7e1b6 if --verify is passed, don't use the md5s/sha512s from disk, instead re-create them 2022-10-28 13:57:30 +02:00
0d5745b340 Add a boot argument to ignore the local git state 2022-10-26 18:32:43 +02:00
c4a95d9614 hex comes from git_http but it is used by the application, it's better to depend on it explicitely 2022-10-21 18:02:09 +02:00
7d1c9b0814 Fix the compilation of opam-mirror with lastest version of packages 2022-10-21 15:56:20 +02:00
7d3ab77494 Use the last release of tar-mirage 2022-10-21 15:35:15 +02:00
5f761b38fb Upgrade opam-mirror with last release of git and new version of git-kv 2022-10-20 16:09:05 +02:00
fdbce68140 require paf 0.2.0+ 2022-10-05 14:27:37 +02:00
e177cb156d adapt to new paf 2022-09-29 14:40:50 +02:00
1b86e6de78 remove pin of mirage-block-partition and oneffs (now in opam) 2022-09-29 00:12:42 +02:00
3e946395aa Rename partition devices so they are shadowed 2022-09-28 11:18:17 +02:00
9b02dfdd88 solo5-elftool fixed now 2022-09-28 10:41:46 +02:00
c6feb78653 more failures 2022-09-27 19:02:17 +02:00
b9003fb91d add a list of urls not to try to download (since they fail or have bad checksums) 2022-09-27 18:56:08 +02:00
5e427897be use git-kv on store to dump and restore the git commit 2022-09-27 17:24:37 +02:00
8bdfb19e6f use read_partial in init as well for checksum computation 2022-09-27 16:25:57 +02:00
007842f3d3 flush and wait 2022-09-27 12:22:29 +02:00
938da1a211 read the data in chunks and send them chunk-wise 2022-09-27 10:46:14 +02:00
c81ba101f9 Merge pull request 'Hash cache' (#14) from partition' into main
Reviewed-on: https://git.robur.io/robur/opam-mirror/pulls/14
2022-09-27 08:05:27 +00:00
9bb066cd56 minor cleanups 2022-09-26 21:51:42 +02:00
b26e23c462 add --verify to force verification of the on-disk data
by default, do not compute hashes unless requested or required
2022-09-26 21:49:47 +02:00
24dda11659 Hash cache
The block devie is partitioned into a tar rw filesystem and two hash map
cache partitions. The latter store the computes maps from {md5,sha512}
checksums to sha256 checksums to speed up the boot process.
2022-09-26 20:17:45 +02:00
e22047249f log git interaction 2022-09-26 18:33:29 +02:00
329b78c923 fast path if nothing changed upstream 2022-09-26 15:03:35 +02:00
0cf002e0cd update git repo and fetch archives hourly 2022-09-26 14:11:23 +02:00
44d737887a use git_kv
Co-Authored-By: Hannes Mehnert <hannes@mehnert.org>
2022-09-26 13:46:47 +02:00
9b7e9e5485 use the gc every now and then 2022-09-26 13:46:23 +02:00
069643465f allow to specify the number of parallel downloads as boot parameter 2022-09-25 23:13:52 +02:00
b8a369dac8 Fix typo 2022-09-22 13:41:19 +02:00
8dbd3ed663 remove key-hex, it is the default now 2022-09-22 13:20:11 +02:00
7ec50fe588 comment out non-working code for now 2022-09-21 11:21:06 +02:00
b6218b979b attempt to serialize git commit (does not compile) 2022-09-07 10:33:21 +02:00
99dcf500c1 once the http fetch is done, close the flow (#5) 2022-09-07 09:09:15 +02:00
023fb4283d use tar and extend the block device 2022-09-07 09:08:45 +02:00
640451bfaa avoid attempting to download the big [tm] archive 2022-09-07 08:40:40 +02:00
6f9d5706cc WIP: use tar 2022-09-06 09:55:00 +02:00
ef2ec2e946 add a hook_url to conduct a git pull 2022-09-04 14:52:42 +02:00
3d1bb6c153 unikernel: remove unused module type DNS 2022-09-04 13:25:33 +02:00
7d4387807b minor 2022-09-04 10:28:38 +02:00
f62f2a09ce in addition to retrieve stuff, also serve a repository:
- archive cache
- repository (index.tar.gz) dynamically created from tarball
- repo file (generated including the commit id and repository URL)
2022-09-04 10:01:45 +02:00
d03cd65dcd Fix a leak of fd from h2 - we must shutdown the connection to really close the fd 2022-09-01 09:50:53 +02:00
3aca170154 use a direct_kv_rw (unix only) 2022-09-01 09:32:29 +02:00
a3fdc527d2 new flag: key-hex to specify whether the KV-keys should be hex-encoded or raw binary 2022-09-01 09:31:53 +02:00
6d51eb707b minor: silence warnings 2022-09-01 09:30:46 +02:00
a1e4b71eb9 unikernel: new flag --check to only check data (and hashes) on disk 2022-09-01 09:30:11 +02:00
c16f2288ed Use Status.is_redirection instead of matching on the polymorphic variant
The reason behind this is that the new HTTP code 308 (permanent redirect)
is not recognized by HTTP/AF, but already used (e.g. by alt-ergo.ocamlpro.com).
2022-09-01 09:27:03 +02:00
86c961f5cf less debug 2022-08-31 16:25:04 +02:00
030e6d8ab7 Limit the number of concurrent downloads
At the moment this is hardcoded to 20 concurrent downloads.
2022-08-30 16:51:55 +02:00
236e09b7e0 First PoC about a native HTTP client on Mirage with mimic/paf/httpaf/h2 2022-08-30 16:12:55 +02:00