From 565ebdc88a6fd83d2a0684e978e727f99f7b54f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Am=C3=A9lia=20Liao?= Date: Thu, 3 Feb 2022 14:16:43 -0300 Subject: [PATCH] Use IPFS+SWHID derivation --- default.nix | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/default.nix b/default.nix index a0ec12a..3b2c0af 100644 --- a/default.nix +++ b/default.nix @@ -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' + ) ''; }