Monorepo for Tangled tangled.org

spindle NixOS module : Consider loading `vhost_vsock` when microvm support is enabled #3mtqvusb2lq22

Open opened by daroche.me
·

NixOS doesn't seem too eager to load the kernel module for vsock support unless you do tell it via boot.kernelModules = [ "vhost_vsock" ]; (or modprobe it).

This is what happens on workflow runs with the spindle module feshly configured :

Failed to setup VM:
listen for agent on vsock port 10240: listen vsock host(2):10240: bind: cannot assign requested address
NixOS module config, for reference
{
  services.tangled.spindle = {
    enable = true;

    server = {
      hostname = "cicd.daroche.me";
      owner = "did:web:daroche.me";

      listenAddr = "0.0.0.0:6555";

      maxJobCount = 2;
      queueSize = 50;

      tap = {
        embed = true;
        relayUrl = "wss://pds.daroche.me/xrpc/com.atproto.sync.subscribeRepos";
        dbPath = "/var/lib/spindle/tap.db";
        bind = "127.0.0.1:6009";
        url = "http://127.0.0.1:6009";
      };
    };
    artifactStores.disk.dir = "/var/log/spindle";

    pipelines = {
      workflowTimeout = "60m";

      microvm = {
        enableKVM = true;

        cgroup = {
          enable = true;
          pidsMax = 2048;
          supervisorMinMiB = 512;
        };

        limits.workflow = {
          memoryMiB = 1024 * 10;
          vcpus = 8;
          diskMiB = 1024 * 30;
        };

        debugSsh.enable = true;
      };

      nixCache = {
        readUrls = [ "https://cache.nixos.org" ];
      };
    };
  };
}

Delete this issue?

This cannot be undone.

Sign up or Login to add to the discussion.