Use IPFS+SWHID derivation

This commit is contained in:
Amélia Liao 2022-02-03 14:16:43 -03:00
parent ef9be2bda0
commit 565ebdc88a

View File

@ -1,13 +1,18 @@
let
pkgs = import (builtins.fetchGit {
name = "pinned-nixpkgs-21.11";
url = "https://github.com/NixOS/nixpkgs/";
ref = "refs/heads/nixos-21.11";
rev = "860b56be91fb874d48e23a950815969a7b832fbc";
}) {};
name = "pinned-nixpkgs-21.11";
url = "https://github.com/NixOS/nixpkgs/";
ref = "refs/heads/nixos-21.11";
rev = "860b56be91fb874d48e23a950815969a7b832fbc";
}) {};
# TODO: This is where I'd put our IPFS plugin (if we had one!!)
ipfs = pkgs.ipfs;
ipfs = import (pkgs.fetchFromGitHub {
owner = "obsidiansystems";
repo = "go-ipfs-swh-plugin";
rev = "873e629ca345463a9b7aa80d53420593dbe9bdb2";
sha256 = "1knhqiyxjx7pnc41pl2qngfjhdgcgp7d1k58gbjwaab2bljh6dd7";
}) { inherit pkgs; };
# CID representing the SWHID
# https://archive.softwareheritage.org/browse/snapshot/c7c108084bc0bf3d81436bf980b46e98bd338453/directory/
@ -24,9 +29,14 @@ in
system = "x86_64-linux";
machine = { config, pkgs, ... }: {
networking.firewall.enable = false;
networking.extraHosts = ''
0.0.0.0 archive.softwareheritage.org
'';
services.ipfs = {
enable = true;
apiAddress = "/ip4/127.0.0.1/tcp/2324";
package = ipfs;
};
};
skipLint = true;
@ -43,9 +53,19 @@ in
'ipfs --api /ip4/127.0.0.1/tcp/2324 dag get "${known_good_cid}"'
)
# The SWHID plugin is loaded
machine.succeed(
'journalctl -u ipfs | grep SWHID'
)
# Hangs forever because IPFS doesn't understand our CID
machine.fail(
'timeout 5 ipfs dag get ${swhid_cid}'
)
# SWH Archive servers are inaccessible from this machine
machine.fail(
'curl https://archive.softwareheritage.org'
)
'';
}