this repo has no description

nix: add tap service for spindle

Signed-off-by: Seongmin Lee <git@boltless.me>

boltless.me 3b1c134c bfcae5ee

verified
+36
+1
flake.nix
··· 331 331 imports = [./nix/modules/spindle.nix]; 332 332 333 333 services.tangled.spindle.package = lib.mkDefault self.packages.${pkgs.stdenv.hostPlatform.system}.spindle; 334 + services.tangled.spindle.tap-package = lib.mkDefault self.packages.${pkgs.system}.tap; 334 335 }; 335 336 nixosModules.did-method-plc = { 336 337 lib,
+33
nix/modules/spindle.nix
··· 17 17 type = types.package; 18 18 description = "Package to use for the spindle"; 19 19 }; 20 + tap-package = mkOption { 21 + type = types.package; 22 + description = "Package to use for the spindle"; 23 + }; 24 + 25 + atpRelayUrl = mkOption { 26 + type = types.str; 27 + default = "https://relay1.us-east.bsky.network"; 28 + description = "atproto relay"; 29 + }; 20 30 21 31 server = { 22 32 listenAddr = mkOption { ··· 115 125 116 126 config = mkIf cfg.enable { 117 127 virtualisation.docker.enable = true; 128 + 129 + systemd.services.spindle-tap = { 130 + description = "spindle tap service"; 131 + after = ["network.target" "docker.service"]; 132 + wantedBy = ["multi-user.target"]; 133 + serviceConfig = { 134 + LogsDirectory = "spindle-tap"; 135 + StateDirectory = "spindle-tap"; 136 + Environment = [ 137 + "TAP_BIND=:2480" 138 + "TAP_PLC_URL=${cfg.server.plcUrl}" 139 + "TAP_RELAY_URL=${cfg.atpRelayUrl}" 140 + "TAP_DATABASE_URL=sqlite:///var/lib/spindle-tap/tap.db" 141 + "TAP_RETRY_TIMEOUT=3s" 142 + "TAP_COLLECTION_FILTERS=${concatStringsSep "," [ 143 + "sh.tangled.repo" 144 + "sh.tangled.repo.collaborator" 145 + "sh.tangled.spindle.member" 146 + ]}" 147 + ]; 148 + ExecStart = "${getExe cfg.tap-package} run"; 149 + }; 150 + }; 118 151 119 152 systemd.services.spindle = { 120 153 description = "spindle service";
+2
nix/vm.nix
··· 19 19 20 20 plcUrl = envVarOr "TANGLED_VM_PLC_URL" "https://plc.directory"; 21 21 jetstream = envVarOr "TANGLED_VM_JETSTREAM_ENDPOINT" "wss://jetstream1.us-west.bsky.network/subscribe"; 22 + relayUrl = envVarOr "TANGLED_VM_RELAY_URL" "https://relay1.us-east.bsky.network"; 22 23 in 23 24 nixpkgs.lib.nixosSystem { 24 25 inherit system; ··· 95 96 }; 96 97 services.tangled.spindle = { 97 98 enable = true; 99 + atpRelayUrl = relayUrl; 98 100 server = { 99 101 owner = envVar "TANGLED_VM_SPINDLE_OWNER"; 100 102 hostname = envVarOr "TANGLED_VM_SPINDLE_HOST" "localhost:6555";