nixbot

builds

succeeded container-test-run-flakelet-relay checks.x86_64-linux.nixos-test · build #25 · raw

1tribuchet: building on jamie2Machine state will be reset. To keep it, pass --keep-machine-state3start all VLans4(finished: start all VLans, in 0.00 seconds)5Initializing machine ID from random generator.6Test will time out and terminate in 3600.0 seconds7run the VM test script8start all VMs9agent: systemd-nspawn running (pid 52)10client: systemd-nspawn running (pid 53)11agent: Waiting for journal at /build/vm-state-agent/var/log/journal...12relay: systemd-nspawn running (pid 56)13client: Waiting for journal at /build/vm-state-client/var/log/journal...14relay: Waiting for journal at /build/vm-state-relay/var/log/journal...15(finished: start all VMs, in 0.00 seconds)16relay: waiting for unit flakelet-relay.service17nixos-nspawn(agent): TAP vde-tap1 not found; container will be isolated from VDE18nixos-nspawn(agent): A common reason for this is that /dev/net is not available in the Nix sandbox. Try adding /dev/net to extra-sandbox-paths.19nixos-nspawn(relay): TAP vde-tap1 not found; container will be isolated from VDE20nixos-nspawn(relay): A common reason for this is that /dev/net is not available in the Nix sandbox. Try adding /dev/net to extra-sandbox-paths.21nixos-nspawn(client): TAP vde-tap1 not found; container will be isolated from VDE22nixos-nspawn(client): A common reason for this is that /dev/net is not available in the Nix sandbox. Try adding /dev/net to extra-sandbox-paths.23Note: in a future version of systemd-nspawn the default set of permitted socket address families will be restricted to AF_INET, AF_INET6 and AF_UNIX. Use --restrict-address-families= to configure the set of permitted socket address families, or set RestrictAddressFamilies= in a .nspawn file.24Note: in a future version of systemd-nspawn the default set of permitted socket address families will be restricted to AF_INET, AF_INET6 and AF_UNIX. Use --restrict-address-families= to configure the set of permitted socket address families, or set RestrictAddressFamilies= in a .nspawn file.25Note: in a future version of systemd-nspawn the default set of permitted socket address families will be restricted to AF_INET, AF_INET6 and AF_UNIX. Use --restrict-address-families= to configure the set of permitted socket address families, or set RestrictAddressFamilies= in a .nspawn file.26░ Spawning container relay on /build/vm-state-relay.27░ Spawning container agent on /build/vm-state-agent.28░ Spawning container client on /build/vm-state-client.29agent # No journal boot entry found for the specified boot (+0).30relay # No journal boot entry found for the specified boot (+0).31client # [ 7061.191386] client systemd-journald[57]: Journal started32client # [ 7061.191427] client systemd-journald[57]: Runtime Journal (/run/log/journal/beebb7e4cf2a41b49a6fa83eac40fbc1) is 8M, max 4G, 3.9G free.33client # [ 7061.200836] client systemd[1]: Finished Apply Kernel Variables.34client # [ 7061.212429] client systemd[1]: Finished Create Static Device Nodes in /dev gracefully.35client # [ 7061.226280] client systemd[1]: Starting Flush Journal to Persistent Storage...36client # [ 7061.227029] client systemd[1]: Starting Create Static Device Nodes in /dev...37client # [ 7061.265680] client systemd-journald[57]: Time spent on flushing to /var/log/journal/beebb7e4cf2a41b49a6fa83eac40fbc1 is 1.474ms for 6 entries.38client # [ 7061.265680] client systemd-journald[57]: System Journal (/var/log/journal/beebb7e4cf2a41b49a6fa83eac40fbc1) is 512B, max 4G, 3.9G free.39client # [ 7061.274968] client systemd[1]: Finished Create Static Device Nodes in /dev.40client # [ 7061.275627] client systemd[1]: Reached target Preparation for Local File Systems.41client # [ 7061.275748] client systemd[1]: Rule-based Manager for Device Events and Files skipped, unmet condition check ConditionPathIsReadWrite=/sys42client # [ 7061.289761] client systemd[1]: Finished Flush Journal to Persistent Storage.43client # [ 7061.357238] client systemd[1]: Finished Firewall.44relay # [ 7061.199612] relay systemd-journald[57]: Journal started45relay # [ 7061.199652] relay systemd-journald[57]: Runtime Journal (/run/log/journal/c996461445a04a8b95cc6cbe29159b81) is 8M, max 4G, 3.9G free.46relay # [ 7061.210217] relay systemd[1]: Finished Apply Kernel Variables.47relay # [ 7061.222390] relay systemd[1]: Finished Create Static Device Nodes in /dev gracefully.48relay # [ 7061.260572] relay systemd[1]: Starting Flush Journal to Persistent Storage...49relay # [ 7061.261235] relay systemd[1]: Starting Create Static Device Nodes in /dev...50relay # [ 7061.269337] relay systemd-journald[57]: Time spent on flushing to /var/log/journal/c996461445a04a8b95cc6cbe29159b81 is 1.370ms for 6 entries.51relay # [ 7061.269337] relay systemd-journald[57]: System Journal (/var/log/journal/c996461445a04a8b95cc6cbe29159b81) is 512B, max 4G, 3.9G free.52relay # [ 7061.278804] relay systemd[1]: Finished Create Static Device Nodes in /dev.53relay # [ 7061.279420] relay systemd[1]: Reached target Preparation for Local File Systems.54relay # [ 7061.279538] relay systemd[1]: Rule-based Manager for Device Events and Files skipped, unmet condition check ConditionPathIsReadWrite=/sys55relay # [ 7061.291769] relay systemd[1]: Finished Flush Journal to Persistent Storage.56relay # [ 7061.369215] relay systemd[1]: Finished Firewall.57relay # [ 7062.199150] relay systemd[1]: Mounting /run/wrappers...58relay # [ 7062.255664] relay systemd[1]: Mounted /run/wrappers.59relay # [ 7062.256697] relay systemd[1]: Reached target Local File Systems.60relay # [ 7062.258054] relay systemd[1]: Listening on Boot Loader Control Service Socket.61relay # [ 7062.259548] relay systemd[1]: Starting Create SUID/SGID Wrappers...62relay # [ 7062.259595] relay systemd[1]: Update Boot Loader Random Seed skipped, unmet condition check ConditionVirtualization=!container63relay # [ 7062.260601] relay systemd[1]: Starting Save Transient machine-id to Disk...64relay # [ 7062.261760] relay systemd[1]: Starting Create System Files and Directories...65agent # [ 7061.199738] agent systemd-journald[57]: Journal started66agent # [ 7061.199779] agent systemd-journald[57]: Runtime Journal (/run/log/journal/a914c331a22d43f1b9e5f531ead0a58b) is 8M, max 4G, 3.9G free.67agent # [ 7061.210273] agent systemd[1]: Finished Apply Kernel Variables.68agent # [ 7061.222282] agent systemd[1]: Finished Create Static Device Nodes in /dev gracefully.69agent # [ 7061.260905] agent systemd[1]: Starting Flush Journal to Persistent Storage...70agent # [ 7061.261598] agent systemd[1]: Starting Create Static Device Nodes in /dev...71agent # [ 7061.269823] agent systemd-journald[57]: Time spent on flushing to /var/log/journal/a914c331a22d43f1b9e5f531ead0a58b is 2.461ms for 6 entries.72agent # [ 7061.269823] agent systemd-journald[57]: System Journal (/var/log/journal/a914c331a22d43f1b9e5f531ead0a58b) is 512B, max 4G, 3.9G free.73agent # [ 7061.278927] agent systemd[1]: Finished Create Static Device Nodes in /dev.74agent # [ 7061.279561] agent systemd[1]: Reached target Preparation for Local File Systems.75agent # [ 7061.279683] agent systemd[1]: Rule-based Manager for Device Events and Files skipped, unmet condition check ConditionPathIsReadWrite=/sys76agent # [ 7061.296953] agent systemd[1]: Finished Flush Journal to Persistent Storage.77agent # [ 7061.356076] agent systemd[1]: Finished Firewall.78agent # [ 7062.222787] agent systemd[1]: Mounting /run/wrappers...79agent # [ 7062.254589] agent systemd[1]: Mounted /run/wrappers.80agent # [ 7062.255658] agent systemd[1]: Reached target Local File Systems.81agent # [ 7062.257028] agent systemd[1]: Listening on Boot Loader Control Service Socket.82agent # [ 7062.258419] agent systemd[1]: Starting Create SUID/SGID Wrappers...83agent # [ 7062.258466] agent systemd[1]: Update Boot Loader Random Seed skipped, unmet condition check ConditionVirtualization=!container84relay # [ 7062.280515] relay systemd-tmpfiles[169]: Cannot set file attributes for '/var/empty', value=0x00000010, mask=0x00000010, ignoring: Operation not permitted85agent # [ 7062.259686] agent systemd[1]: Starting Save Transient machine-id to Disk...86relay # [ 7062.280951] relay systemd-tmpfiles[169]: fchmod() of /var/log/journal failed: Operation not permitted87agent # [ 7062.260787] agent systemd[1]: Starting Create System Files and Directories...88client # [ 7062.201895] client systemd[1]: Mounting /run/wrappers...89relay # [ 7062.281281] relay systemd-tmpfiles[169]: fchmod() of /var/log/journal/c996461445a04a8b95cc6cbe29159b81 failed: Operation not permitted90client # [ 7062.256268] client systemd[1]: Mounted /run/wrappers.91agent # [ 7062.281209] agent suid-sgid-wrappers-start[168]: chmod: changing permissions of '/run/wrappers/wrappers.cs2OJV7Pck/chsh': Operation not permitted92client # [ 7062.257325] client systemd[1]: Reached target Local File Systems.93relay # [ 7062.281324] relay suid-sgid-wrappers-start[176]: chmod: changing permissions of '/run/wrappers/wrappers.jMNvumgjLJ/chsh': Operation not permitted94agent # [ 7062.281617] agent systemd-tmpfiles[161]: Cannot set file attributes for '/var/empty', value=0x00000010, mask=0x00000010, ignoring: Operation not permitted95relay # [ 7062.281632] relay systemd-tmpfiles[169]: fchmod() of /run/log/journal failed: Operation not permitted96client # [ 7062.258582] client systemd[1]: Listening on Boot Loader Control Service Socket.97agent # [ 7062.282049] agent systemd-tmpfiles[161]: fchmod() of /var/log/journal failed: Operation not permitted98client # [ 7062.259721] client systemd[1]: Starting Create SUID/SGID Wrappers...99agent # [ 7062.282352] agent systemd-tmpfiles[161]: fchmod() of /var/log/journal/a914c331a22d43f1b9e5f531ead0a58b failed: Operation not permitted100client # [ 7062.259762] client systemd[1]: Update Boot Loader Random Seed skipped, unmet condition check ConditionVirtualization=!container101client # [ 7062.261036] client systemd[1]: Starting Save Transient machine-id to Disk...102client # [ 7062.261982] client systemd[1]: Starting Create System Files and Directories...103client # [ 7062.280645] client suid-sgid-wrappers-start[168]: chmod: changing permissions of '/run/wrappers/wrappers.8zrARbJTov/chsh': Operation not permitted104client # [ 7062.281018] client systemd-tmpfiles[161]: Cannot set file attributes for '/var/empty', value=0x00000010, mask=0x00000010, ignoring: Operation not permitted105client # [ 7062.281442] client systemd-tmpfiles[161]: fchmod() of /var/log/journal failed: Operation not permitted106agent # [ 7062.282672] agent systemd-tmpfiles[161]: fchmod() of /run/log/journal failed: Operation not permitted107client # [ 7062.281746] client systemd-tmpfiles[161]: fchmod() of /var/log/journal/beebb7e4cf2a41b49a6fa83eac40fbc1 failed: Operation not permitted108client # [ 7062.282115] client systemd-tmpfiles[161]: fchmod() of /run/log/journal failed: Operation not permitted109relay # [ 7062.288052] relay systemd[1]: suid-sgid-wrappers.service: Main process exited, code=exited, status=1/FAILURE110relay # [ 7062.288094] relay systemd[1]: suid-sgid-wrappers.service: Failed with result 'exit-code'.111relay # [ 7062.288140] relay systemd[1]: Failed to start Create SUID/SGID Wrappers.112relay # [ 7062.288628] relay systemd[1]: Finished Create System Files and Directories.113relay # [ 7062.351264] relay systemd[1]: etc-machine\x2did.mount: Deactivated successfully.114relay # [ 7062.364180] relay systemd[1]: Finished Save Transient machine-id to Disk.115relay # [ 7062.394606] relay systemd[1]: Starting Rebuild Journal Catalog...116relay # [ 7062.395499] relay systemd[1]: Starting Record System Boot/Shutdown in UTMP...117relay # [ 7062.407616] relay systemd[1]: Finished Record System Boot/Shutdown in UTMP.118relay # [ 7062.415611] relay systemd[1]: Finished Rebuild Journal Catalog.119relay # [ 7062.416475] relay systemd[1]: Starting Update is Completed...120relay # [ 7062.425503] relay systemd[1]: Finished Update is Completed.121relay # [ 7062.425625] relay systemd[1]: Reached target System Initialization.122relay # [ 7062.425690] relay systemd[1]: Discard unused filesystem blocks once a week skipped, unmet condition check ConditionVirtualization=!container123relay # [ 7062.425710] relay systemd[1]: Started Daily Cleanup of Temporary Directories.124relay # [ 7062.425724] relay systemd[1]: Reached target Timer Units.125relay # [ 7062.425815] relay systemd[1]: Listening on D-Bus System Message Bus Socket.126relay # [ 7062.426029] relay systemd[1]: Listening on Nix Daemon Socket.127relay # [ 7062.426125] relay systemd[1]: Listening on Virtual Machine and Container Registration Service Socket.128relay # [ 7062.426139] relay systemd[1]: Reached target Socket Units.129relay # [ 7062.426165] relay systemd[1]: Reached target Basic System.130relay # [ 7062.427263] relay systemd[1]: Started device-mock.service.131relay # [ 7062.428035] relay systemd[1]: Starting Re-link flakelet services at boot...132relay # [ 7062.428732] relay systemd[1]: Starting Import lastlog data into lastlog2 database...133relay # [ 7062.429421] relay systemd[1]: Starting Name Service Cache Daemon (nsncd)...134relay # [ 7062.430093] relay systemd[1]: Starting resolvconf update...135relay # [ 7062.440286] relay systemd[1]: Finished Re-link flakelet services at boot.136relay # [ 7062.440957] relay systemd[1]: Starting Reconcile flakelet services with the host configuration...137relay # [ 7062.448528] relay systemd[1]: Finished Import lastlog data into lastlog2 database.138relay # [ 7062.452403] relay systemd[1]: Finished Reconcile flakelet services with the host configuration.139client # [ 7062.288062] client systemd[1]: suid-sgid-wrappers.service: Main process exited, code=exited, status=1/FAILURE140client # [ 7062.288102] client systemd[1]: suid-sgid-wrappers.service: Failed with result 'exit-code'.141client # [ 7062.288154] client systemd[1]: Failed to start Create SUID/SGID Wrappers.142client # [ 7062.288692] client systemd[1]: Finished Create System Files and Directories.143client # [ 7062.351391] client systemd[1]: etc-machine\x2did.mount: Deactivated successfully.144client # [ 7062.364325] client systemd[1]: Finished Save Transient machine-id to Disk.145client # [ 7062.394630] client systemd[1]: Starting Rebuild Journal Catalog...146client # [ 7062.395441] client systemd[1]: Starting Record System Boot/Shutdown in UTMP...147client # [ 7062.407560] client systemd[1]: Finished Record System Boot/Shutdown in UTMP.148client # [ 7062.414292] client systemd[1]: Finished Rebuild Journal Catalog.149client # [ 7062.415430] client systemd[1]: Starting Update is Completed...150client # [ 7062.426825] client systemd[1]: Finished Update is Completed.151client # [ 7062.426958] client systemd[1]: Reached target System Initialization.152client # [ 7062.427024] client systemd[1]: Discard unused filesystem blocks once a week skipped, unmet condition check ConditionVirtualization=!container153client # [ 7062.427045] client systemd[1]: Started Daily Cleanup of Temporary Directories.154client # [ 7062.427059] client systemd[1]: Reached target Timer Units.155client # [ 7062.427157] client systemd[1]: Listening on D-Bus System Message Bus Socket.156client # [ 7062.427319] client systemd[1]: Listening on Nix Daemon Socket.157client # [ 7062.427407] client systemd[1]: Listening on Virtual Machine and Container Registration Service Socket.158client # [ 7062.427421] client systemd[1]: Reached target Socket Units.159client # [ 7062.427446] client systemd[1]: Reached target Basic System.160client # [ 7062.428386] client systemd[1]: Starting Import lastlog data into lastlog2 database...161client # [ 7062.429359] client systemd[1]: Starting Name Service Cache Daemon (nsncd)...162client # [ 7062.429888] client systemd[1]: Starting resolvconf update...163client # [ 7062.446539] client systemd[1]: Finished Import lastlog data into lastlog2 database.164agent # [ 7062.285053] agent systemd[1]: suid-sgid-wrappers.service: Main process exited, code=exited, status=1/FAILURE165agent # [ 7062.285147] agent systemd[1]: suid-sgid-wrappers.service: Failed with result 'exit-code'.166agent # [ 7062.285345] agent systemd[1]: Failed to start Create SUID/SGID Wrappers.167agent # [ 7062.285745] agent systemd[1]: Finished Create System Files and Directories.168agent # [ 7062.347620] agent systemd[1]: etc-machine\x2did.mount: Deactivated successfully.169agent # [ 7062.359597] agent systemd[1]: Finished Save Transient machine-id to Disk.170agent # [ 7062.362461] agent systemd[1]: Starting Rebuild Journal Catalog...171agent # [ 7062.363320] agent systemd[1]: Starting Record System Boot/Shutdown in UTMP...172agent # [ 7062.403597] agent systemd[1]: Finished Record System Boot/Shutdown in UTMP.173agent # [ 7062.410008] agent systemd[1]: Finished Rebuild Journal Catalog.174agent # [ 7062.411132] agent systemd[1]: Starting Update is Completed...175agent # [ 7062.419143] agent systemd[1]: Finished Update is Completed.176agent # [ 7062.419232] agent systemd[1]: Reached target System Initialization.177agent # [ 7062.419293] agent systemd[1]: Discard unused filesystem blocks once a week skipped, unmet condition check ConditionVirtualization=!container178agent # [ 7062.419315] agent systemd[1]: Started Daily Cleanup of Temporary Directories.179agent # [ 7062.419328] agent systemd[1]: Reached target Timer Units.180agent # [ 7062.419420] agent systemd[1]: Listening on D-Bus System Message Bus Socket.181agent # [ 7062.419593] agent systemd[1]: Listening on Nix Daemon Socket.182agent # [ 7062.419685] agent systemd[1]: Listening on Virtual Machine and Container Registration Service Socket.183agent # [ 7062.419699] agent systemd[1]: Reached target Socket Units.184agent # [ 7062.419725] agent systemd[1]: Reached target Basic System.185agent # [ 7062.420731] agent systemd[1]: Starting Re-link flakelet services at boot...186agent # [ 7062.421504] agent systemd[1]: Starting Import lastlog data into lastlog2 database...187agent # [ 7062.422648] agent systemd[1]: Starting Name Service Cache Daemon (nsncd)...188agent # [ 7062.423944] agent systemd[1]: Starting resolvconf update...189agent # [ 7062.432206] agent systemd[1]: Finished Re-link flakelet services at boot.190agent # [ 7062.433665] agent systemd[1]: Starting Reconcile flakelet services with the host configuration...191agent # [ 7062.438500] agent systemd[1]: Finished Import lastlog data into lastlog2 database.192agent # [ 7062.446513] agent systemd[1]: Finished Reconcile flakelet services with the host configuration.193relay # [ 7062.510584] relay systemd[1]: nscd.service: Deactivated successfully.194relay # [ 7062.510698] relay systemd[1]: Stopped Name Service Cache Daemon (nsncd).195relay # [ 7062.537561] relay systemd[1]: Starting Name Service Cache Daemon (nsncd)...196relay # [ 7062.537692] relay systemd[1]: Finished resolvconf update.197relay # [ 7062.538420] relay systemd[1]: Reached target Preparation for Network.198relay # [ 7062.539318] relay systemd[1]: Starting Address configuration of eth1...199relay # [ 7062.540157] relay systemd[1]: Starting Extra networking commands....200relay # [ 7062.558747] relay network-addresses-eth1-start[250]: adding address 192.168.1.3/24... done201relay # [ 7062.561798] relay network-addresses-eth1-start[250]: adding address 2001:db8:1::3/64... done202relay # [ 7062.565529] relay systemd[1]: Finished Address configuration of eth1.203relay # [ 7062.606910] relay systemd[1]: Finished Extra networking commands..204relay # [ 7062.607534] relay systemd[1]: Reached target Network.205relay # [ 7062.608839] relay systemd[1]: Starting Dnsmasq Daemon...206relay # [ 7062.609665] relay systemd[1]: Starting Nginx Web Server...207relay # [ 7062.610414] relay systemd[1]: Starting Update flakelet service flakelet-relay...208relay # [ 7062.646057] relay flakelet[311]: flakelet-relay: using prebuilt artifact /nix/store/h395iyz9mh3cgzdb5h23w492d95kp8l0-flakelet-flakelet-relay209relay # [ 7062.646665] relay flakelet[311]: flakelet-relay: activating generation 1210relay # [ 7062.650240] relay systemd[1]: Reload requested from client PID 316 ('systemctl') (unit flakelet-flakelet-relay.service)...211relay # [ 7062.650275] relay systemd[1]: Reloading...212agent # [ 7062.509661] agent systemd[1]: nscd.service: Deactivated successfully.213agent # [ 7062.509787] agent systemd[1]: Stopped Name Service Cache Daemon (nsncd).214agent # [ 7062.537586] agent systemd[1]: Starting Name Service Cache Daemon (nsncd)...215agent # [ 7062.537746] agent systemd[1]: Finished resolvconf update.216agent # [ 7062.538585] agent systemd[1]: Reached target Preparation for Network.217agent # [ 7062.539555] agent systemd[1]: Starting Address configuration of eth1...218agent # [ 7062.540419] agent systemd[1]: Starting Extra networking commands....219agent # [ 7062.560444] agent network-addresses-eth1-start[241]: adding address 192.168.1.1/24... done220agent # [ 7062.564920] agent network-addresses-eth1-start[241]: adding address 2001:db8:1::1/64... done221agent # [ 7062.568840] agent systemd[1]: Finished Address configuration of eth1.222agent # [ 7062.638260] agent systemd[1]: Finished Extra networking commands..223agent # [ 7062.638503] agent systemd[1]: nscd.service: Deactivated successfully.224agent # [ 7062.638608] agent systemd[1]: Stopped Name Service Cache Daemon (nsncd).225agent # [ 7062.640764] agent systemd[1]: Reached target Network.226agent # [ 7062.641982] agent systemd[1]: Starting Name Service Cache Daemon (nsncd)...227agent # [ 7062.642907] agent systemd[1]: Starting Update flakelet service app...228agent # [ 7062.643819] agent systemd[1]: Starting Update flakelet service flakelet-agent...229agent # [ 7062.644602] agent systemd[1]: Starting Update flakelet service other...230agent # [ 7062.654481] agent flakelet[308]: app: using prebuilt artifact /nix/store/hysydfr96ds875vr0jgw5rjxi4p39h2j-flakelet-app-v1231agent # [ 7062.655029] agent flakelet[308]: app: activating generation 1232agent # [ 7062.655343] agent flakelet[309]: flakelet-agent: using prebuilt artifact /nix/store/s2dk5ic4br290qs8phcvqkyjq2jz4vrv-flakelet-flakelet-agent233agent # [ 7062.655973] agent flakelet[309]: flakelet-agent: activating generation 1234agent # [ 7062.656222] agent flakelet[310]: other: using prebuilt artifact /nix/store/hmr990n0b4v6rpzrcpyyw738r9xi7z95-flakelet-other-v1235agent # [ 7062.656739] agent flakelet[310]: other: activating generation 1236agent # [ 7062.662013] agent systemd[1]: Reload requested from client PID 313 ('systemctl') (unit flakelet-flakelet-agent.service)...237agent # [ 7062.662054] agent systemd[1]: Reloading...238client # [ 7062.497935] client systemd[1]: nscd.service: Deactivated successfully.239client # [ 7062.499016] client systemd[1]: Stopped Name Service Cache Daemon (nsncd).240client # [ 7062.508182] client systemd[1]: Starting Name Service Cache Daemon (nsncd)...241client # [ 7062.537369] client systemd[1]: Finished resolvconf update.242client # [ 7062.537797] client systemd[1]: Reached target Preparation for Network.243client # [ 7062.539382] client systemd[1]: Starting Address configuration of eth1...244client # [ 7062.540777] client systemd[1]: Starting Extra networking commands....245client # [ 7062.559825] client network-addresses-eth1-start[238]: adding address 192.168.1.2/24... done246client # [ 7062.562452] client network-addresses-eth1-start[238]: adding address 2001:db8:1::2/64... done247client # [ 7062.565908] client systemd[1]: Finished Address configuration of eth1.248client # [ 7062.611081] client systemd[1]: Finished Extra networking commands..249client # [ 7062.611621] client systemd[1]: Reached target Network.250client # [ 7062.642765] client systemd[1]: nscd.service: Deactivated successfully.251client # [ 7062.642887] client systemd[1]: Stopped Name Service Cache Daemon (nsncd).252client # [ 7062.645184] client systemd[1]: Starting Name Service Cache Daemon (nsncd)...253relay # [ 7062.951640] relay nsncd[246]: Sep 06 09:02:20.913 INFO started, config: Config { ignored_request_types: {}, worker_count: 8, handoff_timeout: 10s }, path: "/var/run/nscd/socket"254relay # [ 7063.074834] relay systemd[1]: Reloading finished in 424 ms.255agent # [ 7062.999160] agent nsncd[307]: Sep 06 09:02:20.960 INFO started, config: Config { ignored_request_types: {}, worker_count: 8, handoff_timeout: 10s }, path: "/var/run/nscd/socket"256agent # [ 7063.081628] agent systemd[1]: Reloading finished in 419 ms.257agent # [ 7063.210572] agent systemd[1]: Started Name Service Cache Daemon (nsncd).258agent # [ 7063.211154] agent systemd[1]: Reload requested from client PID 312 ('systemctl') (unit flakelet-app.service)...259agent # [ 7063.211208] agent systemd[1]: Reloading...260client # [ 7062.980974] client nsncd[303]: Sep 06 09:02:20.942 INFO started, config: Config { ignored_request_types: {}, worker_count: 8, handoff_timeout: 10s }, path: "/var/run/nscd/socket"261client # [ 7062.980899] client systemd[1]: Started Name Service Cache Daemon (nsncd).262client # [ 7062.980958] client systemd[1]: Reached target Host and Network Name Lookups.263client # [ 7062.981069] client systemd[1]: Reached target User and Group Name Lookups.264client # [ 7062.982763] client systemd[1]: Starting User Login Management...265client # [ 7062.990083] client systemd[1]: Starting Permit User Sessions...266client # [ 7063.027039] client systemd[1]: Finished Permit User Sessions.267client # [ 7063.028999] client systemd[1]: Started Console Getty.268client # [ 7063.029068] client systemd[1]: Getty on tty1 skipped, unmet condition check ConditionPathExists=/dev/tty0269client # [ 7063.029104] client systemd[1]: Reached target Login Prompts.270relay # [ 7063.207569] relay systemd[1]: Started Name Service Cache Daemon (nsncd).271relay # [ 7063.208507] relay systemd[1]: Reached target Host and Network Name Lookups.272relay # [ 7063.208569] relay systemd[1]: Reached target User and Group Name Lookups.273relay # [ 7063.209778] relay systemd[1]: Starting User Login Management...274relay # [ 7063.210710] relay systemd[1]: Starting Permit User Sessions...275relay # [ 7063.222064] relay systemd[1]: Reload requested from client PID 357 ('systemctl') (unit flakelet-flakelet-relay.service)...276relay # [ 7063.222128] relay systemd[1]: Reloading...277relay # [ 7063.262039] relay dnsmasq-pre-start[368]: dnsmasq: syntax check OK.278relay # [ 7063.590138] relay systemd[1]: Reloading finished in 367 ms.279relay # [ 7063.731021] relay systemd[1]: Finished Permit User Sessions.280relay # [ 7063.759794] relay systemd[1]: Started Console Getty.281relay # [ 7063.759857] relay systemd[1]: Getty on tty1 skipped, unmet condition check ConditionPathExists=/dev/tty0282relay # [ 7063.759923] relay systemd[1]: Reached target Login Prompts.283relay # [ 7063.763412] relay systemd[1]: Starting flakelet-relay...284agent # [ 7063.590434] agent systemd[1]: Reloading finished in 378 ms.285agent # [ 7063.733583] agent systemd[1]: Reload requested from client PID 314 ('systemctl') (unit flakelet-other.service)...286agent # [ 7063.733639] agent systemd[1]: Reloading...287agent # [ 7064.100460] agent systemd[1]: Reloading finished in 366 ms.288agent # [ 7064.183497] agent systemd[1]: Reached target Host and Network Name Lookups.289agent # [ 7064.183635] agent systemd[1]: Reached target User and Group Name Lookups.290agent # [ 7064.185124] agent systemd[1]: Starting User Login Management...291agent # [ 7064.186086] agent systemd[1]: Starting Permit User Sessions...292agent # [ 7064.189948] agent systemd[1]: Reload requested from client PID 405 ('systemctl') (unit flakelet-flakelet-agent.service)...293agent # [ 7064.189980] agent systemd[1]: Reloading...294relay # [ 7064.317371] relay nginx-pre-start[402]: nginx: the configuration file /nix/store/01avjj26wcihp926xgasszcj5s0k7cbs-nginx.conf syntax is ok295relay # [ 7064.318128] relay nginx-pre-start[402]: nginx: configuration file /nix/store/01avjj26wcihp926xgasszcj5s0k7cbs-nginx.conf test is successful296relay # [ 7064.336062] relay systemd[1]: Started Nginx Web Server.297relay # [ 7064.369812] relay systemd[1]: Starting D-Bus System Message Bus...298client # [ 7064.455392] client systemd-logind[315]: New seat seat0.299client # [ 7064.455622] client systemd[1]: Started User Login Management.300client # [ 7064.457073] client systemd[1]: Starting D-Bus System Message Bus...301client # [ 7064.458040] client systemd[1]: Starting linger-users.service...302client # [ 7064.496272] client systemd[1]: linger-users.service: Deactivated successfully.303client # [ 7064.496814] client systemd[1]: Finished linger-users.service.304client # [ 7064.497404] client systemd[1]: Reached target Multi-User System.305agent # [ 7064.569310] agent systemd[1]: Reloading finished in 378 ms.306agent # [ 7064.647637] agent systemd[1]: Finished Permit User Sessions.307agent # [ 7064.653056] agent systemd[1]: Started Console Getty.308agent # [ 7064.653151] agent systemd[1]: Getty on tty1 skipped, unmet condition check ConditionPathExists=/dev/tty0309agent # [ 7064.653269] agent systemd[1]: Reached target Login Prompts.310agent # [ 7064.655204] agent systemd[1]: Reload requested from client PID 408 ('systemctl') (unit flakelet-app.service)...311agent # [ 7064.655234] agent systemd[1]: Reloading...312relay # [ 7064.806450] relay systemd-logind[355]: New seat seat0.313relay # [ 7064.806779] relay systemd[1]: Started User Login Management.314relay # [ 7064.808996] relay systemd[1]: Starting linger-users.service...315relay # [ 7064.852715] relay systemd[1]: linger-users.service: Deactivated successfully.316relay # [ 7064.853055] relay systemd[1]: Finished linger-users.service.317relay # [ 7064.931939] relay dbus-broker-launch[406]: Looking up NSS user entry for 'systemd-timesync'...318relay # [ 7064.933459] relay dbus-broker-launch[406]: NSS returned no entry for 'systemd-timesync'319relay # [ 7064.933459] relay dbus-broker-launch[406]: Invalid user-name in /nix/store/27h4g2jdw18vrabfh6p1l0n8ss5dhbp5-system-path/share/dbus-1/system.d/org.freedesktop.timesync1.conf +16: user="systemd-timesync"320relay # [ 7064.934507] relay systemd[1]: Started D-Bus System Message Bus.321relay # [ 7064.940789] relay dbus-broker-launch[406]: Ready322relay # [ 7064.942466] relay systemd[1]: Started Dnsmasq Daemon.323relay # [ 7064.944303] relay dnsmasq[394]: started, version 2.93 cachesize 150324relay # [ 7064.944311] relay dnsmasq[394]: compile time options: IPv6 GNU-getopt DBus no-UBus no-i18n IDN2 DHCP DHCPv6 no-Lua TFTP conntrack ipset nftset auth DNSSEC loop-detect inotify dumpfile325relay # [ 7064.944317] relay dnsmasq[394]: DBus support enabled: connected to system bus326relay # [ 7064.944323] relay dnsmasq[394]: no upstream servers configured - please set them from DBus327relay # [ 7064.944431] relay dnsmasq[394]: read /etc/hosts - 9 names328agent # [ 7065.002981] agent systemd[1]: Reloading finished in 347 ms.329agent # [ 7065.087564] agent systemd[1]: Starting flakelet-agent...330agent # [ 7065.089379] agent systemd[1]: Reload requested from client PID 445 ('systemctl') (unit flakelet-other.service)...331agent # [ 7065.089423] agent systemd[1]: Reloading...332agent # [ 7065.164565] agent flakelet-agent[473]: {"timestamp":"2026-09-06T09:02:23.126304Z","level":"WARN","message":"connect failed: connect relay:7443: Connection refused (os error 111)","relay":"https://relay:7443","target":"flakelet_relay::agent::conn"}333agent # [ 7065.422587] agent systemd[1]: Reloading finished in 332 ms.334client # [ 7064.986155] client dbus-broker-launch[325]: Looking up NSS user entry for 'systemd-timesync'...335client # [ 7064.987717] client dbus-broker-launch[325]: NSS returned no entry for 'systemd-timesync'336client # [ 7064.987717] client dbus-broker-launch[325]: Invalid user-name in /nix/store/zf4qd09sm09a3f6c7ph9j8x45mxdi014-system-path/share/dbus-1/system.d/org.freedesktop.timesync1.conf +16: user="systemd-timesync"337client # [ 7064.988526] client systemd[1]: Started D-Bus System Message Bus.338client # [ 7064.988978] client systemd[1]: Startup finished in 4.234s.339client # [ 7064.993622] client dbus-broker-launch[325]: Ready340agent # [ 7065.497027] agent systemd[1]: Started flakelet-agent.341agent # [ 7065.501576] agent systemd[1]: Starting app v1...342agent # [ 7065.503862] agent systemd[1]: Starting other v1...343agent # [ 7065.520405] agent flakelet[309]: flakelet-agent: updated to generation 1344agent # [ 7065.526193] agent systemd[1]: Finished Update flakelet service flakelet-agent.345agent # [ 7065.530399] agent systemd[1]: Started app v1.346agent # [ 7065.531175] agent systemd[1]: Started other v1.347agent # [ 7065.545539] agent flakelet[308]: app: updated to generation 1348agent # [ 7065.547103] agent systemd[1]: Finished Update flakelet service app.349agent # [ 7065.548470] agent flakelet[310]: other: updated to generation 1350agent # [ 7065.549272] agent systemd[1]: Finished Update flakelet service other.351agent # [ 7065.549934] agent systemd[1]: Reached target flakelet managed services.352agent # [ 7065.585595] agent systemd-logind[406]: New seat seat0.353agent # [ 7065.586975] agent systemd[1]: Starting D-Bus System Message Bus...354agent # [ 7065.587047] agent systemd[1]: Started User Login Management.355agent # [ 7065.588022] agent systemd[1]: Starting linger-users.service...356agent # [ 7065.625840] agent systemd[1]: linger-users.service: Deactivated successfully.357agent # [ 7065.626385] agent systemd[1]: Finished linger-users.service.358agent # [ 7065.626532] agent systemd[1]: Reached target Multi-User System.359relay # [ 7065.822445] relay flakelet-relay[400]: {"timestamp":"2026-09-06T09:02:23.784220Z","level":"INFO","message":"listening on 127.0.0.1:7400","target":"flakelet_relay::relay::server"}360relay # [ 7065.822962] relay flakelet-relay[400]: {"timestamp":"2026-09-06T09:02:23.784705Z","level":"INFO","message":"listening on [::]:7443","target":"flakelet_relay::relay::server"}361relay # [ 7065.823083] relay systemd[1]: Started flakelet-relay.362relay # [ 7065.838048] relay systemd[1]: Starting health for flakelet-relay...363relay # [ 7066.097725] relay systemd[1]: flakelet-relay-health.service: Deactivated successfully.364relay # [ 7066.098126] relay systemd[1]: Finished health for flakelet-relay.365relay # [ 7066.138671] relay flakelet[311]: flakelet-relay: updated to generation 1366relay # [ 7066.141236] relay systemd[1]: Finished Update flakelet service flakelet-relay.367relay # [ 7066.141771] relay systemd[1]: Reached target flakelet managed services.368relay # [ 7066.141945] relay systemd[1]: Reached target Multi-User System.369relay # [ 7066.142204] relay systemd[1]: Startup finished in 5.378s.370relay: (finished: waiting for unit flakelet-relay.service, in 6.15 seconds)371relay: waiting for unit nginx.service372relay: (finished: waiting for unit nginx.service, in 0.01 seconds)373agent: waiting for unit flakelet.target374agent: (finished: waiting for unit flakelet.target, in 0.02 seconds)375agent: waiting for unit flakelet-agent.service376agent # [ 7066.048430] agent dbus-broker-launch[904]: Looking up NSS user entry for 'systemd-timesync'...377agent # [ 7066.049738] agent dbus-broker-launch[904]: NSS returned no entry for 'systemd-timesync'378agent # [ 7066.049738] agent dbus-broker-launch[904]: Invalid user-name in /nix/store/q3c2gxfm178wqgzv8m87na4aa72wxc04-system-path/share/dbus-1/system.d/org.freedesktop.timesync1.conf +16: user="systemd-timesync"379agent # [ 7066.050793] agent systemd[1]: Started D-Bus System Message Bus.380agent # [ 7066.051399] agent systemd[1]: Startup finished in 5.286s.381agent # [ 7066.056891] agent dbus-broker-launch[904]: Ready382agent: (finished: waiting for unit flakelet-agent.service, in 0.01 seconds)383client: waiting for unit multi-user.target384client: (finished: waiting for unit multi-user.target, in 0.02 seconds)385relay: waiting for success: curl -sf http://127.0.0.1:7400/metrics | grep -q 'agent_up{host="agent"} 1'386agent # [ 7067.181210] agent flakelet-agent[473]: {"timestamp":"2026-09-06T09:02:25.142997Z","level":"INFO","message":"connected","relay":"https://relay:7443","relay_name":"relay","relay_version":"0.1.0","host":"agent","target":"flakelet_relay::agent::conn"}387relay: (finished: waiting for success: curl -sf http://127.0.0.1:7400/metrics | grep -q 'agent_up{host="agent"} 1', in 1.03 seconds)388agent: must succeed: systemctl is-active app.service other.service389agent: (finished: must succeed: systemctl is-active app.service other.service, in 0.01 seconds)390subtest: deploy with client certificate, relay found via SRV391agent: must succeed: jq '.services.app.prebuilt="/nix/store/6ili1vxjlag9d7dy0bxrbxk6bpi5qh9p-flakelet-app-v2"' /etc/flakelet/config.json > /tmp/config.json && cp --remove-destination /tmp/config.json /etc/flakelet/config.json392agent: (finished: must succeed: jq '.services.app.prebuilt="/nix/store/6ili1vxjlag9d7dy0bxrbxk6bpi5qh9p-flakelet-app-v2"' /etc/flakelet/config.json > /tmp/config.json && cp --remove-destination /tmp/config.json /etc/flakelet/config.json, in 0.01 seconds)393client: must succeed: push --relay-srv test --cert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin.pem --key /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin-key.pem deploy agent/app 2>&1394relay # [ 7067.181283] relay flakelet-relay[400]: {"timestamp":"2026-09-06T09:02:25.143048Z","level":"INFO","message":"agent connected","host":"agent","version":"0.1.0","flakelets":"[Named { name: \"app\", generation: None, revision: None }, Named { name: \"other\", generation: None, revision: None }]","target":"flakelet_relay::relay::agent_conn"}395relay # [ 7067.563719] relay flakelet-relay[400]: {"timestamp":"2026-09-06T09:02:25.525362Z","level":"INFO","message":"deploy accepted","job":"4dfcd6a1307dc3955ab5419a0b58ae41","caller":"x509:email:admin@example.org","targets":"[\"agent/app\"]","target":"flakelet_relay::relay::api"}396agent # [ 7067.564053] agent flakelet-agent[473]: {"timestamp":"2026-09-06T09:02:25.525787Z","level":"INFO","message":"start","id":"a742e8befb0ec735d510a2d553480bde","flakelet":"app","rule":"admins","relay":"relay","caller":"Some(\"x509:email:admin@example.org\")","target":"flakelet_relay::agent::conn"}397agent # [ 7067.564785] agent flakelet-agent[473]: {"timestamp":"2026-09-06T09:02:25.526569Z","level":"INFO","message":"update starting","flakelet":"app","ids":"[\"a742e8befb0ec735d510a2d553480bde\"]","target":"flakelet_relay::agent::jobs"}398agent # [ 7067.637373] agent systemd[1]: Starting flakelet update app (via relay)...399agent # [ 7067.674134] agent systemd[1]: Started flakelet update app (via relay).400agent # [ 7067.678617] agent flakelet[939]: app: using prebuilt artifact /nix/store/6ili1vxjlag9d7dy0bxrbxk6bpi5qh9p-flakelet-app-v2401agent # [ 7067.679322] agent flakelet[939]: app: activating generation 2402agent # [ 7067.692329] agent systemd[1]: Stopping app v1...403agent # [ 7067.692784] agent systemd[1]: app.service: Deactivated successfully.404agent # [ 7067.693060] agent systemd[1]: Stopped app v1.405agent # [ 7067.709924] agent systemd[1]: Reload requested from client PID 946 ('systemctl') (unit flakelet-relay-job-app.service)...406agent # [ 7067.709994] agent systemd[1]: Reloading...407agent # [ 7068.046084] agent systemd[1]: Reloading finished in 335 ms.408agent # [ 7068.136677] agent systemd[1]: Reload requested from client PID 976 ('systemctl') (unit flakelet-relay-job-app.service)...409agent # [ 7068.136718] agent systemd[1]: Reloading...410agent # [ 7068.469304] agent systemd[1]: Reloading finished in 332 ms.411agent # [ 7068.662547] agent systemd[1]: Reload requested from client PID 1005 ('systemctl') (unit flakelet-relay-job-app.service)...412agent # [ 7068.662593] agent systemd[1]: Reloading...413agent # [ 7068.985952] agent systemd[1]: Reloading finished in 322 ms.414agent # [ 7069.072561] agent systemd[1]: Reload requested from client PID 1036 ('systemctl') (unit flakelet-relay-job-app.service)...415agent # [ 7069.072598] agent systemd[1]: Reloading...416agent # [ 7069.401665] agent systemd[1]: Reloading finished in 328 ms.417agent # [ 7069.488749] agent systemd[1]: Starting app v2...418agent # [ 7069.521139] agent systemd[1]: Started app v2.419agent # [ 7069.533613] agent flakelet[939]: app: updated to generation 2420agent # [ 7069.534509] agent systemd[1]: flakelet-relay-job-app.service: Deactivated successfully.421client: (finished: must succeed: push --relay-srv test --cert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin.pem --key /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin-key.pem deploy agent/app 2>&1, in 3.09 seconds)422agent: must succeed: systemctl show app.service -p Description | grep -q 'app v2'423agent: (finished: must succeed: systemctl show app.service -p Description | grep -q 'app v2', in 0.01 seconds)424agent: must succeed: journalctl -u flakelet-relay-job-app.service | grep -q 'generation 2'425agent: (finished: must succeed: journalctl -u flakelet-relay-job-app.service | grep -q 'generation 2', in 0.01 seconds)426(finished: subtest: deploy with client certificate, relay found via SRV, in 3.13 seconds)427subtest: deploy with OIDC token, sub principal428agent: must succeed: jq '.services.app.prebuilt="/nix/store/hysydfr96ds875vr0jgw5rjxi4p39h2j-flakelet-app-v1"' /etc/flakelet/config.json > /tmp/config.json && cp --remove-destination /tmp/config.json /etc/flakelet/config.json429agent: (finished: must succeed: jq '.services.app.prebuilt="/nix/store/hysydfr96ds875vr0jgw5rjxi4p39h2j-flakelet-app-v1"' /etc/flakelet/config.json > /tmp/config.json && cp --remove-destination /tmp/config.json /etc/flakelet/config.json, in 0.01 seconds)430client: must succeed: echo '{"groups": []}' | step crypto jwt sign --key /nix/store/r7sclamg09v434w8zjlfnrcrn1w79wh6-flakelet-relay-test-issuer/jwk.json --iss https://relay:8443 --aud flakelet-relay --sub 'repo:github:example/app:ref:refs/heads/main' --exp $(( $(date +%s) + 300 )) --jti $(head -c8 /dev/urandom | base32)431client: (finished: must succeed: echo '{"groups": []}' | step crypto jwt sign --key /nix/store/r7sclamg09v434w8zjlfnrcrn1w79wh6-flakelet-relay-test-issuer/jwk.json --iss https://relay:8443 --aud flakelet-relay --sub 'repo:github:example/app:ref:refs/heads/main' --exp $(( $(date +%s) + 300 )) --jti $(head -c8 /dev/urandom | base32), in 0.06 seconds)432client: must succeed: FLAKELET_RELAY_TOKEN_COMMAND='echo eyJhbGciOiJFZERTQSIsImtpZCI6ImsxIiwidHlwIjoiSldUIn0.eyJhdWQiOiJmbGFrZWxldC1yZWxheSIsImV4cCI6MTc4ODY4NTY0OCwiZ3JvdXBzIjpbXSwiaWF0IjoxNzg4Njg1MzQ4LCJpc3MiOiJodHRwczovL3JlbGF5Ojg0NDMiLCJqdGkiOiJOQURDUlE3N1VXVjNJPT09IiwibmJmIjoxNzg4Njg1MzQ4LCJzdWIiOiJyZXBvOmdpdGh1YjpleGFtcGxlL2FwcDpyZWY6cmVmcy9oZWFkcy9tYWluIn0.D1Hoqor04I__1xe3qvWC6WaC_Zq-tfkAdSMGxeaiEwqzpRqC1vKH0CDtnkNzf7wc0mbkcsJa2OQBA8nVvAYtBg' push --relay https://relay:7443 deploy agent/app 2>&1433agent # [ 7070.625890] agent flakelet-agent[473]: {"timestamp":"2026-09-06T09:02:28.587692Z","level":"INFO","message":"update finished","flakelet":"app","status":"Updated","generation":"Some(2)","target":"flakelet_relay::agent::jobs"}434agent # [ 7070.750044] agent flakelet-agent[473]: {"timestamp":"2026-09-06T09:02:28.711786Z","level":"INFO","message":"start","id":"355af35f92dabd8a7da971721a569813","flakelet":"app","rule":"ci","relay":"relay","caller":"Some(\"oidc:mock:repo:github:example/app:ref:refs/heads/main\")","target":"flakelet_relay::agent::conn"}435agent # [ 7070.750370] agent flakelet-agent[473]: {"timestamp":"2026-09-06T09:02:28.712198Z","level":"INFO","message":"update starting","flakelet":"app","ids":"[\"355af35f92dabd8a7da971721a569813\"]","target":"flakelet_relay::agent::jobs"}436agent # [ 7070.813200] agent systemd[1]: Starting flakelet update app (via relay)...437agent # [ 7070.846076] agent systemd[1]: Started flakelet update app (via relay).438agent # [ 7070.850372] agent flakelet[1126]: app: using prebuilt artifact /nix/store/hysydfr96ds875vr0jgw5rjxi4p39h2j-flakelet-app-v1439agent # [ 7070.851052] agent flakelet[1126]: app: activating generation 3440agent # [ 7070.863986] agent systemd[1]: Stopping app v2...441agent # [ 7070.864461] agent systemd[1]: app.service: Deactivated successfully.442agent # [ 7070.864721] agent systemd[1]: Stopped app v2.443agent # [ 7070.882248] agent systemd[1]: Reload requested from client PID 1133 ('systemctl') (unit flakelet-relay-job-app.service)...444agent # [ 7070.882317] agent systemd[1]: Reloading...445relay # [ 7070.627080] relay flakelet-relay[400]: {"timestamp":"2026-09-06T09:02:28.588809Z","level":"INFO","message":"deploy finished","job":"4dfcd6a1307dc3955ab5419a0b58ae41","ok":true,"target":"flakelet_relay::relay::api"}446relay # [ 7070.749735] relay flakelet-relay[400]: {"timestamp":"2026-09-06T09:02:28.711470Z","level":"INFO","message":"deploy accepted","job":"cd96155a35c1a6aa5712f5567681a905","caller":"oidc:mock:repo:github:example/app:ref:refs/heads/main","targets":"[\"agent/app\"]","target":"flakelet_relay::relay::api"}447agent # [ 7071.216874] agent systemd[1]: Reloading finished in 333 ms.448agent # [ 7071.314989] agent systemd[1]: Reload requested from client PID 1166 ('systemctl') (unit flakelet-relay-job-app.service)...449agent # [ 7071.315035] agent systemd[1]: Reloading...450agent # [ 7071.636419] agent systemd[1]: Reloading finished in 320 ms.451agent # [ 7071.727413] agent systemd[1]: Reload requested from client PID 1196 ('systemctl') (unit flakelet-relay-job-app.service)...452agent # [ 7071.727451] agent systemd[1]: Reloading...453agent # [ 7072.053395] agent systemd[1]: Reloading finished in 325 ms.454agent # [ 7072.662970] agent systemd[1]: Reload requested from client PID 1229 ('systemctl') (unit flakelet-relay-job-app.service)...455agent # [ 7072.663016] agent systemd[1]: Reloading...456agent # [ 7072.986078] agent systemd[1]: Reloading finished in 322 ms.457agent # [ 7073.172525] agent systemd[1]: Starting app v1...458agent # [ 7073.200105] agent systemd[1]: Started app v1.459agent # [ 7073.214350] agent flakelet[1126]: app: updated to generation 3460agent # [ 7073.215869] agent systemd[1]: flakelet-relay-job-app.service: Deactivated successfully.461client: (finished: must succeed: FLAKELET_RELAY_TOKEN_COMMAND='echo eyJhbGciOiJFZERTQSIsImtpZCI6ImsxIiwidHlwIjoiSldUIn0.eyJhdWQiOiJmbGFrZWxldC1yZWxheSIsImV4cCI6MTc4ODY4NTY0OCwiZ3JvdXBzIjpbXSwiaWF0IjoxNzg4Njg1MzQ4LCJpc3MiOiJodHRwczovL3JlbGF5Ojg0NDMiLCJqdGkiOiJOQURDUlE3N1VXVjNJPT09IiwibmJmIjoxNzg4Njg1MzQ4LCJzdWIiOiJyZXBvOmdpdGh1YjpleGFtcGxlL2FwcDpyZWY6cmVmcy9oZWFkcy9tYWluIn0.D1Hoqor04I__1xe3qvWC6WaC_Zq-tfkAdSMGxeaiEwqzpRqC1vKH0CDtnkNzf7wc0mbkcsJa2OQBA8nVvAYtBg' push --relay https://relay:7443 deploy agent/app 2>&1, in 3.51 seconds)462(finished: subtest: deploy with OIDC token, sub principal, in 3.58 seconds)463subtest: policy denies uncovered target464client: must fail: FLAKELET_RELAY_TOKEN_COMMAND='echo eyJhbGciOiJFZERTQSIsImtpZCI6ImsxIiwidHlwIjoiSldUIn0.eyJhdWQiOiJmbGFrZWxldC1yZWxheSIsImV4cCI6MTc4ODY4NTY0OCwiZ3JvdXBzIjpbXSwiaWF0IjoxNzg4Njg1MzQ4LCJpc3MiOiJodHRwczovL3JlbGF5Ojg0NDMiLCJqdGkiOiJOQURDUlE3N1VXVjNJPT09IiwibmJmIjoxNzg4Njg1MzQ4LCJzdWIiOiJyZXBvOmdpdGh1YjpleGFtcGxlL2FwcDpyZWY6cmVmcy9oZWFkcy9tYWluIn0.D1Hoqor04I__1xe3qvWC6WaC_Zq-tfkAdSMGxeaiEwqzpRqC1vKH0CDtnkNzf7wc0mbkcsJa2OQBA8nVvAYtBg' push --relay https://relay:7443 deploy agent/other 2>&1465client: (finished: must fail: FLAKELET_RELAY_TOKEN_COMMAND='echo eyJhbGciOiJFZERTQSIsImtpZCI6ImsxIiwidHlwIjoiSldUIn0.eyJhdWQiOiJmbGFrZWxldC1yZWxheSIsImV4cCI6MTc4ODY4NTY0OCwiZ3JvdXBzIjpbXSwiaWF0IjoxNzg4Njg1MzQ4LCJpc3MiOiJodHRwczovL3JlbGF5Ojg0NDMiLCJqdGkiOiJOQURDUlE3N1VXVjNJPT09IiwibmJmIjoxNzg4Njg1MzQ4LCJzdWIiOiJyZXBvOmdpdGh1YjpleGFtcGxlL2FwcDpyZWY6cmVmcy9oZWFkcy9tYWluIn0.D1Hoqor04I__1xe3qvWC6WaC_Zq-tfkAdSMGxeaiEwqzpRqC1vKH0CDtnkNzf7wc0mbkcsJa2OQBA8nVvAYtBg' push --relay https://relay:7443 deploy agent/other 2>&1, in 0.02 seconds)466(finished: subtest: policy denies uncovered target, in 0.02 seconds)467subtest: claim principal from groups, unchanged counts as success468client: must succeed: echo '{"groups": ["wheel"]}' | step crypto jwt sign --key /nix/store/r7sclamg09v434w8zjlfnrcrn1w79wh6-flakelet-relay-test-issuer/jwk.json --iss https://relay:8443 --aud flakelet-relay --sub 'someone' --exp $(( $(date +%s) + 300 )) --jti $(head -c8 /dev/urandom | base32)469client: (finished: must succeed: echo '{"groups": ["wheel"]}' | step crypto jwt sign --key /nix/store/r7sclamg09v434w8zjlfnrcrn1w79wh6-flakelet-relay-test-issuer/jwk.json --iss https://relay:8443 --aud flakelet-relay --sub 'someone' --exp $(( $(date +%s) + 300 )) --jti $(head -c8 /dev/urandom | base32), in 0.06 seconds)470client: must succeed: FLAKELET_RELAY_TOKEN_COMMAND='echo eyJhbGciOiJFZERTQSIsImtpZCI6ImsxIiwidHlwIjoiSldUIn0.eyJhdWQiOiJmbGFrZWxldC1yZWxheSIsImV4cCI6MTc4ODY4NTY1MiwiZ3JvdXBzIjpbIndoZWVsIl0sImlhdCI6MTc4ODY4NTM1MiwiaXNzIjoiaHR0cHM6Ly9yZWxheTo4NDQzIiwianRpIjoiQlpCTlRXWVNUNk1MND09PSIsIm5iZiI6MTc4ODY4NTM1Miwic3ViIjoic29tZW9uZSJ9.3KET3ZS6n-Z1fhnSz-9sl94tt6VEyGC-IxEteklFVPOyBbscn29OagaHbucUvWD4VjZi9XpdAQtTkNtIGPg0BQ' push --relay https://relay:7443 deploy agent/other 2>&1471relay # [ 7074.230099] relay flakelet-relay[400]: {"timestamp":"2026-09-06T09:02:32.191745Z","level":"INFO","message":"deploy finished","job":"cd96155a35c1a6aa5712f5567681a905","ok":true,"target":"flakelet_relay::relay::api"}472relay # [ 7074.333588] relay flakelet-relay[400]: {"timestamp":"2026-09-06T09:02:32.295373Z","level":"INFO","message":"deploy accepted","job":"959ca5ec796686c88899089851a18af2","caller":"oidc:mock:groups:wheel","targets":"[\"agent/other\"]","target":"flakelet_relay::relay::api"}473agent # [ 7074.228656] agent flakelet-agent[473]: {"timestamp":"2026-09-06T09:02:32.190402Z","level":"INFO","message":"update finished","flakelet":"app","status":"Updated","generation":"Some(3)","target":"flakelet_relay::agent::jobs"}474agent # [ 7074.333956] agent flakelet-agent[473]: {"timestamp":"2026-09-06T09:02:32.295683Z","level":"INFO","message":"start","id":"c2c3f1cf0b0879eaf102daece276dd10","flakelet":"other","rule":"admins","relay":"relay","caller":"Some(\"oidc:mock:groups:wheel\\noidc:mock:someone\")","target":"flakelet_relay::agent::conn"}475agent # [ 7074.334331] agent flakelet-agent[473]: {"timestamp":"2026-09-06T09:02:32.296160Z","level":"INFO","message":"update starting","flakelet":"other","ids":"[\"c2c3f1cf0b0879eaf102daece276dd10\"]","target":"flakelet_relay::agent::jobs"}476agent # [ 7074.404254] agent systemd[1]: Starting flakelet update other (via relay)...477agent # [ 7074.434147] agent systemd[1]: Started flakelet update other (via relay).478agent # [ 7074.438723] agent flakelet[1318]: other: using prebuilt artifact /nix/store/hmr990n0b4v6rpzrcpyyw738r9xi7z95-flakelet-other-v1479agent # [ 7074.439317] agent flakelet[1318]: other: up to date480agent # [ 7074.441795] agent systemd[1]: flakelet-relay-job-other.service: Deactivated successfully.481client: (finished: must succeed: FLAKELET_RELAY_TOKEN_COMMAND='echo eyJhbGciOiJFZERTQSIsImtpZCI6ImsxIiwidHlwIjoiSldUIn0.eyJhdWQiOiJmbGFrZWxldC1yZWxheSIsImV4cCI6MTc4ODY4NTY1MiwiZ3JvdXBzIjpbIndoZWVsIl0sImlhdCI6MTc4ODY4NTM1MiwiaXNzIjoiaHR0cHM6Ly9yZWxheTo4NDQzIiwianRpIjoiQlpCTlRXWVNUNk1MND09PSIsIm5iZiI6MTc4ODY4NTM1Miwic3ViIjoic29tZW9uZSJ9.3KET3ZS6n-Z1fhnSz-9sl94tt6VEyGC-IxEteklFVPOyBbscn29OagaHbucUvWD4VjZi9XpdAQtTkNtIGPg0BQ' push --relay https://relay:7443 deploy agent/other 2>&1, in 0.70 seconds)482(finished: subtest: claim principal from groups, unchanged counts as success, in 0.76 seconds)483subtest: push login via device flow, cached token used afterwards484client: must succeed: push login --issuer https://relay:8443 --client-id flakelet-relay 2>&1485relay # [ 7075.011308] relay flakelet-relay[400]: {"timestamp":"2026-09-06T09:02:32.973040Z","level":"INFO","message":"deploy finished","job":"959ca5ec796686c88899089851a18af2","ok":true,"target":"flakelet_relay::relay::api"}486relay # [ 7075.035702] relay 93sn3sv24fj26ksccpppzwg6kbf10s4w-device-mock[186]: 127.0.0.1 - - [06/Sep/2026 09:02:32] "POST /device HTTP/1.1" 200 -487agent # [ 7075.009634] agent flakelet-agent[473]: {"timestamp":"2026-09-06T09:02:32.971377Z","level":"INFO","message":"update finished","flakelet":"other","status":"Unchanged","generation":"Some(1)","target":"flakelet_relay::agent::jobs"}488relay # [ 7076.041284] relay 93sn3sv24fj26ksccpppzwg6kbf10s4w-device-mock[186]: 127.0.0.1 - - [06/Sep/2026 09:02:34] "POST /token HTTP/1.1" 400 -489client: (finished: must succeed: push login --issuer https://relay:8443 --client-id flakelet-relay 2>&1, in 2.08 seconds)490client: must succeed: test "$(stat -c %a /root/.local/state/flakelet-push/token.json)" = 600491client: (finished: must succeed: test "$(stat -c %a /root/.local/state/flakelet-push/token.json)" = 600, in 0.01 seconds)492client: must succeed: push --relay https://relay:7443 deploy agent/other 2>&1493relay # [ 7077.093659] relay 93sn3sv24fj26ksccpppzwg6kbf10s4w-device-mock[186]: 127.0.0.1 - - [06/Sep/2026 09:02:35] "POST /token HTTP/1.1" 200 -494relay # [ 7077.124563] relay flakelet-relay[400]: {"timestamp":"2026-09-06T09:02:35.086323Z","level":"INFO","message":"deploy accepted","job":"55b16216bd80e7cc0e70e5f290549a48","caller":"oidc:mock:groups:wheel","targets":"[\"agent/other\"]","target":"flakelet_relay::relay::api"}495agent # [ 7077.124993] agent flakelet-agent[473]: {"timestamp":"2026-09-06T09:02:35.086726Z","level":"INFO","message":"start","id":"65140e5e088b2f3ea1662d4d43680e9e","flakelet":"other","rule":"admins","relay":"relay","caller":"Some(\"oidc:mock:groups:wheel\\noidc:mock:someone\")","target":"flakelet_relay::agent::conn"}496agent # [ 7077.125967] agent flakelet-agent[473]: {"timestamp":"2026-09-06T09:02:35.087442Z","level":"INFO","message":"update starting","flakelet":"other","ids":"[\"65140e5e088b2f3ea1662d4d43680e9e\"]","target":"flakelet_relay::agent::jobs"}497agent # [ 7077.202499] agent systemd[1]: Starting flakelet update other (via relay)...498agent # [ 7077.240570] agent systemd[1]: Started flakelet update other (via relay).499agent # [ 7077.244474] agent flakelet[1373]: other: using prebuilt artifact /nix/store/hmr990n0b4v6rpzrcpyyw738r9xi7z95-flakelet-other-v1500agent # [ 7077.244995] agent flakelet[1373]: other: up to date501agent # [ 7077.245428] agent systemd[1]: flakelet-relay-job-other.service: Deactivated successfully.502client: (finished: must succeed: push --relay https://relay:7443 deploy agent/other 2>&1, in 0.72 seconds)503client: must succeed: push --relay https://relay:7443 deploy agent/other 2>&1504relay # [ 7077.820777] relay flakelet-relay[400]: {"timestamp":"2026-09-06T09:02:35.782493Z","level":"INFO","message":"deploy finished","job":"55b16216bd80e7cc0e70e5f290549a48","ok":true,"target":"flakelet_relay::relay::api"}505relay # [ 7077.842182] relay flakelet-relay[400]: {"timestamp":"2026-09-06T09:02:35.803983Z","level":"INFO","message":"deploy accepted","job":"aa13de94fa454e8f2fc4c6a769f479a9","caller":"oidc:mock:groups:wheel","targets":"[\"agent/other\"]","target":"flakelet_relay::relay::api"}506agent # [ 7077.819692] agent flakelet-agent[473]: {"timestamp":"2026-09-06T09:02:35.781490Z","level":"INFO","message":"update finished","flakelet":"other","status":"Unchanged","generation":"Some(1)","target":"flakelet_relay::agent::jobs"}507agent # [ 7077.842452] agent flakelet-agent[473]: {"timestamp":"2026-09-06T09:02:35.804275Z","level":"INFO","message":"start","id":"0a05a2e1c1723af0db56358d198d6b4c","flakelet":"other","rule":"admins","relay":"relay","caller":"Some(\"oidc:mock:groups:wheel\\noidc:mock:someone\")","target":"flakelet_relay::agent::conn"}508agent # [ 7077.842652] agent flakelet-agent[473]: {"timestamp":"2026-09-06T09:02:35.804486Z","level":"INFO","message":"update starting","flakelet":"other","ids":"[\"0a05a2e1c1723af0db56358d198d6b4c\"]","target":"flakelet_relay::agent::jobs"}509agent # [ 7077.908744] agent systemd[1]: Starting flakelet update other (via relay)...510agent # [ 7077.941093] agent systemd[1]: Started flakelet update other (via relay).511agent # [ 7077.945724] agent flakelet[1416]: other: using prebuilt artifact /nix/store/hmr990n0b4v6rpzrcpyyw738r9xi7z95-flakelet-other-v1512agent # [ 7077.946253] agent flakelet[1416]: other: up to date513agent # [ 7077.948189] agent systemd[1]: flakelet-relay-job-other.service: Deactivated successfully.514client: (finished: must succeed: push --relay https://relay:7443 deploy agent/other 2>&1, in 1.70 seconds)515(finished: subtest: push login via device flow, cached token used afterwards, in 4.51 seconds)516subtest: waves: failing first wave skips the second517agent: must succeed: jq '.services.app.prebuilt="/nix/store/8282rnbvyk847q4l4zby3zwcq3jpzrvw-flakelet-app-broken"' /etc/flakelet/config.json > /tmp/config.json && cp --remove-destination /tmp/config.json /etc/flakelet/config.json518agent: (finished: must succeed: jq '.services.app.prebuilt="/nix/store/8282rnbvyk847q4l4zby3zwcq3jpzrvw-flakelet-app-broken"' /etc/flakelet/config.json > /tmp/config.json && cp --remove-destination /tmp/config.json /etc/flakelet/config.json, in 0.01 seconds)519client: must fail: push --relay https://relay:7443 --cert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin.pem --key /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin-key.pem deploy agent/app --wave agent/other 2>&1520relay # [ 7079.518176] relay flakelet-relay[400]: {"timestamp":"2026-09-06T09:02:37.479918Z","level":"INFO","message":"deploy finished","job":"aa13de94fa454e8f2fc4c6a769f479a9","ok":true,"target":"flakelet_relay::relay::api"}521relay # [ 7079.548241] relay flakelet-relay[400]: {"timestamp":"2026-09-06T09:02:37.510061Z","level":"INFO","message":"deploy accepted","job":"00227d8e7a7cc2ba4f5b00bc61918b89","caller":"x509:email:admin@example.org","targets":"[\"agent/app\", \"agent/other\"]","target":"flakelet_relay::relay::api"}522agent # [ 7079.517207] agent flakelet-agent[473]: {"timestamp":"2026-09-06T09:02:37.479001Z","level":"INFO","message":"update finished","flakelet":"other","status":"Unchanged","generation":"Some(1)","target":"flakelet_relay::agent::jobs"}523agent # [ 7079.548500] agent flakelet-agent[473]: {"timestamp":"2026-09-06T09:02:37.510296Z","level":"INFO","message":"start","id":"73ef3a66c5660ac4d3a0e3ccbdfaefe0","flakelet":"app","rule":"admins","relay":"relay","caller":"Some(\"x509:email:admin@example.org\")","target":"flakelet_relay::agent::conn"}524agent # [ 7079.548687] agent flakelet-agent[473]: {"timestamp":"2026-09-06T09:02:37.510520Z","level":"INFO","message":"update starting","flakelet":"app","ids":"[\"73ef3a66c5660ac4d3a0e3ccbdfaefe0\"]","target":"flakelet_relay::agent::jobs"}525agent # [ 7079.609353] agent systemd[1]: Starting flakelet update app (via relay)...526agent # [ 7079.628047] agent systemd[1]: Started flakelet update app (via relay).527agent # [ 7079.632488] agent flakelet[1472]: app: using prebuilt artifact /nix/store/8282rnbvyk847q4l4zby3zwcq3jpzrvw-flakelet-app-broken528agent # [ 7079.633227] agent flakelet[1472]: app: activating generation 4529agent # [ 7079.642456] agent systemd[1]: Stopping app v1...530agent # [ 7079.643167] agent systemd[1]: app.service: Deactivated successfully.531agent # [ 7079.643298] agent systemd[1]: Stopped app v1.532agent # [ 7079.652331] agent systemd[1]: Reload requested from client PID 1479 ('systemctl') (unit flakelet-relay-job-app.service)...533agent # [ 7079.652369] agent systemd[1]: Reloading...534agent # [ 7079.980207] agent systemd[1]: Reloading finished in 327 ms.535agent # [ 7080.123913] agent systemd[1]: Reload requested from client PID 1509 ('systemctl') (unit flakelet-relay-job-app.service)...536agent # [ 7080.123950] agent systemd[1]: Reloading...537agent # [ 7080.589986] agent systemd[1]: Reloading finished in 465 ms.538agent # [ 7080.652465] agent systemd[1]: Reload requested from client PID 1539 ('systemctl') (unit flakelet-relay-job-app.service)...539agent # [ 7080.652497] agent systemd[1]: Reloading...540agent # [ 7080.976112] agent systemd[1]: Reloading finished in 323 ms.541agent # [ 7081.051893] agent systemd[1]: Reload requested from client PID 1569 ('systemctl') (unit flakelet-relay-job-app.service)...542agent # [ 7081.051932] agent systemd[1]: Reloading...543agent # [ 7081.375023] agent systemd[1]: Reloading finished in 322 ms.544agent # [ 7081.435967] agent systemd[1]: Starting app broken...545agent # [ 7081.462453] agent (nonexistent)[1602]: app.service: Unable to locate executable '/nonexistent': No such file or directory546agent # [ 7081.462476] agent (nonexistent)[1602]: app.service: Failed at step EXEC spawning /nonexistent: No such file or directory547agent # [ 7081.464351] agent systemd[1]: app.service: Main process exited, code=exited, status=203/EXEC548agent # [ 7081.464445] agent systemd[1]: app.service: Failed with result 'exit-code'.549agent # [ 7081.464603] agent systemd[1]: Failed to start app broken.550agent # [ 7081.496787] agent systemd[1]: Reload requested from client PID 1619 ('systemctl') (unit flakelet-relay-job-app.service)...551agent # [ 7081.496824] agent systemd[1]: Reloading...552agent # [ 7081.821927] agent systemd[1]: Reloading finished in 324 ms.553agent # [ 7081.889765] agent systemd[1]: Reload requested from client PID 1651 ('systemctl') (unit flakelet-relay-job-app.service)...554agent # [ 7081.889801] agent systemd[1]: Reloading...555agent # [ 7082.216429] agent systemd[1]: Reloading finished in 326 ms.556agent # [ 7082.284877] agent systemd[1]: Reload requested from client PID 1680 ('systemctl') (unit flakelet-relay-job-app.service)...557agent # [ 7082.284915] agent systemd[1]: Reloading...558agent # [ 7082.608206] agent systemd[1]: Reloading finished in 322 ms.559agent # [ 7082.685443] agent systemd[1]: Reload requested from client PID 1710 ('systemctl') (unit flakelet-relay-job-app.service)...560agent # [ 7082.685482] agent systemd[1]: Reloading...561agent # [ 7083.008626] agent systemd[1]: Reloading finished in 322 ms.562agent # [ 7083.125522] agent systemd[1]: Starting app v1...563agent # [ 7083.156065] agent systemd[1]: Started app v1.564agent # [ 7083.157026] agent flakelet[1472]: app: deploy failed, rolled back: systemctl start app.service failed:565agent # [ 7083.157026] agent flakelet[1472]: failed units: app.service. See journalctl -u app.service566agent # [ 7083.159043] agent systemd[1]: flakelet-relay-job-app.service: Main process exited, code=exited, status=1/FAILURE567agent # [ 7083.159143] agent systemd[1]: flakelet-relay-job-app.service: Failed with result 'exit-code'.568client: (finished: must fail: push --relay https://relay:7443 --cert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin.pem --key /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin-key.pem deploy agent/app --wave agent/other 2>&1, in 5.19 seconds)569agent: must succeed: systemctl show app.service -p Description | grep -q 'app v1'570agent: (finished: must succeed: systemctl show app.service -p Description | grep -q 'app v1', in 0.02 seconds)571(finished: subtest: waves: failing first wave skips the second, in 5.22 seconds)572subtest: host patterns expand on the relay573agent: must succeed: jq '.services.app.prebuilt="/nix/store/hysydfr96ds875vr0jgw5rjxi4p39h2j-flakelet-app-v1"' /etc/flakelet/config.json > /tmp/config.json && cp --remove-destination /tmp/config.json /etc/flakelet/config.json574agent: (finished: must succeed: jq '.services.app.prebuilt="/nix/store/hysydfr96ds875vr0jgw5rjxi4p39h2j-flakelet-app-v1"' /etc/flakelet/config.json > /tmp/config.json && cp --remove-destination /tmp/config.json /etc/flakelet/config.json, in 0.02 seconds)575client: must succeed: push --relay https://relay:7443 --cert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin.pem --key /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin-key.pem deploy '@all/app' 2>&1576relay # [ 7084.716950] relay flakelet-relay[400]: {"timestamp":"2026-09-06T09:02:42.678687Z","level":"INFO","message":"deploy finished","job":"00227d8e7a7cc2ba4f5b00bc61918b89","ok":false,"target":"flakelet_relay::relay::api"}577relay # [ 7084.780787] relay flakelet-relay[400]: {"timestamp":"2026-09-06T09:02:42.742555Z","level":"INFO","message":"deploy accepted","job":"d9bda1ab3ae3a59d3600968c846cba03","caller":"x509:email:admin@example.org","targets":"[\"agent/app\"]","target":"flakelet_relay::relay::api"}578agent # [ 7084.714479] agent flakelet-agent[473]: {"timestamp":"2026-09-06T09:02:42.676202Z","level":"INFO","message":"update finished","flakelet":"app","status":"RolledBack","generation":"Some(3)","target":"flakelet_relay::agent::jobs"}579agent # [ 7084.781277] agent flakelet-agent[473]: {"timestamp":"2026-09-06T09:02:42.742974Z","level":"INFO","message":"start","id":"6e0db61b0cc2b0102bbd4deb99e42b6a","flakelet":"app","rule":"admins","relay":"relay","caller":"Some(\"x509:email:admin@example.org\")","target":"flakelet_relay::agent::conn"}580agent # [ 7084.782313] agent flakelet-agent[473]: {"timestamp":"2026-09-06T09:02:42.744101Z","level":"INFO","message":"update starting","flakelet":"app","ids":"[\"6e0db61b0cc2b0102bbd4deb99e42b6a\"]","target":"flakelet_relay::agent::jobs"}581agent # [ 7084.852761] agent systemd[1]: Starting flakelet update app (via relay)...582agent # [ 7084.888966] agent systemd[1]: Started flakelet update app (via relay).583agent # [ 7084.893975] agent flakelet[1797]: app: using prebuilt artifact /nix/store/hysydfr96ds875vr0jgw5rjxi4p39h2j-flakelet-app-v1584agent # [ 7084.894802] agent flakelet[1797]: app: up to date585agent # [ 7084.895845] agent systemd[1]: flakelet-relay-job-app.service: Deactivated successfully.586client: (finished: must succeed: push --relay https://relay:7443 --cert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin.pem --key /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin-key.pem deploy '@all/app' 2>&1, in 0.71 seconds)587client: must fail: push --relay https://relay:7443 --cert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin.pem --key /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin-key.pem deploy '*/app' 2>&1588relay # [ 7085.470347] relay flakelet-relay[400]: {"timestamp":"2026-09-06T09:02:43.432100Z","level":"INFO","message":"deploy finished","job":"d9bda1ab3ae3a59d3600968c846cba03","ok":true,"target":"flakelet_relay::relay::api"}589relay # [ 7085.491896] relay flakelet-relay[400]: {"timestamp":"2026-09-06T09:02:43.453687Z","level":"INFO","message":"deploy accepted","job":"a913193c885b6e29e8abe4f2008999ae","caller":"x509:email:admin@example.org","targets":"[\"agent/app\", \"ghost/app\"]","target":"flakelet_relay::relay::api"}590agent # [ 7085.469201] agent flakelet-agent[473]: {"timestamp":"2026-09-06T09:02:43.430929Z","level":"INFO","message":"update finished","flakelet":"app","status":"Unchanged","generation":"Some(3)","target":"flakelet_relay::agent::jobs"}591agent # [ 7085.492127] agent flakelet-agent[473]: {"timestamp":"2026-09-06T09:02:43.453930Z","level":"INFO","message":"start","id":"cbeb394ab3f22ba31f05a8703398ec11","flakelet":"app","rule":"admins","relay":"relay","caller":"Some(\"x509:email:admin@example.org\")","target":"flakelet_relay::agent::conn"}592agent # [ 7085.492381] agent flakelet-agent[473]: {"timestamp":"2026-09-06T09:02:43.454209Z","level":"INFO","message":"update starting","flakelet":"app","ids":"[\"cbeb394ab3f22ba31f05a8703398ec11\"]","target":"flakelet_relay::agent::jobs"}593agent # [ 7085.552485] agent systemd[1]: Starting flakelet update app (via relay)...594agent # [ 7085.585220] agent systemd[1]: Started flakelet update app (via relay).595agent # [ 7085.589560] agent flakelet[1845]: app: using prebuilt artifact /nix/store/hysydfr96ds875vr0jgw5rjxi4p39h2j-flakelet-app-v1596agent # [ 7085.590220] agent flakelet[1845]: app: up to date597agent # [ 7085.591235] agent systemd[1]: flakelet-relay-job-app.service: Deactivated successfully.598client: (finished: must fail: push --relay https://relay:7443 --cert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin.pem --key /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin-key.pem deploy '*/app' 2>&1, in 0.68 seconds)599client: must fail: push --relay https://relay:7443 --cert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin.pem --key /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin-key.pem deploy agent/app --wave '*/app' 2>&1600agent # [ 7086.144955] agent flakelet-agent[473]: {"timestamp":"2026-09-06T09:02:44.106683Z","level":"INFO","message":"update finished","flakelet":"app","status":"Unchanged","generation":"Some(3)","target":"flakelet_relay::agent::jobs"}601agent # [ 7086.170786] agent flakelet-agent[473]: {"timestamp":"2026-09-06T09:02:44.132587Z","level":"INFO","message":"start","id":"f9bf4f98499eb54afa481bf0b6e18728","flakelet":"app","rule":"admins","relay":"relay","caller":"Some(\"x509:email:admin@example.org\")","target":"flakelet_relay::agent::conn"}602agent # [ 7086.171196] agent flakelet-agent[473]: {"timestamp":"2026-09-06T09:02:44.133016Z","level":"INFO","message":"update starting","flakelet":"app","ids":"[\"f9bf4f98499eb54afa481bf0b6e18728\"]","target":"flakelet_relay::agent::jobs"}603agent # [ 7086.231357] agent systemd[1]: Starting flakelet update app (via relay)...604agent # [ 7086.263134] agent systemd[1]: Started flakelet update app (via relay).605agent # [ 7086.266857] agent flakelet[1882]: app: using prebuilt artifact /nix/store/hysydfr96ds875vr0jgw5rjxi4p39h2j-flakelet-app-v1606agent # [ 7086.267414] agent flakelet[1882]: app: up to date607agent # [ 7086.268335] agent systemd[1]: flakelet-relay-job-app.service: Deactivated successfully.608relay # [ 7086.146338] relay flakelet-relay[400]: {"timestamp":"2026-09-06T09:02:44.108076Z","level":"INFO","message":"deploy finished","job":"a913193c885b6e29e8abe4f2008999ae","ok":false,"target":"flakelet_relay::relay::api"}609relay # [ 7086.170498] relay flakelet-relay[400]: {"timestamp":"2026-09-06T09:02:44.132298Z","level":"INFO","message":"deploy accepted","job":"ca60a38b12d8c41ecd6c31499bdb10d9","caller":"x509:email:admin@example.org","targets":"[\"agent/app\", \"ghost/app\"]","target":"flakelet_relay::relay::api"}610client: (finished: must fail: push --relay https://relay:7443 --cert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin.pem --key /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin-key.pem deploy agent/app --wave '*/app' 2>&1, in 0.68 seconds)611client: must fail: push --relay https://relay:7443 --cert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin.pem --key /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin-key.pem deploy '@all/nope' 2>&1612client: (finished: must fail: push --relay https://relay:7443 --cert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin.pem --key /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin-key.pem deploy '@all/nope' 2>&1, in 0.02 seconds)613(finished: subtest: host patterns expand on the relay, in 2.11 seconds)614subtest: detach returns once the job is accepted615agent: must succeed: jq '.services.app.prebuilt="/nix/store/ln47rsd5km8a04hd5zlkz4q1v352zqh3-flakelet-app-slow2"' /etc/flakelet/config.json > /tmp/config.json && cp --remove-destination /tmp/config.json /etc/flakelet/config.json616agent: (finished: must succeed: jq '.services.app.prebuilt="/nix/store/ln47rsd5km8a04hd5zlkz4q1v352zqh3-flakelet-app-slow2"' /etc/flakelet/config.json > /tmp/config.json && cp --remove-destination /tmp/config.json /etc/flakelet/config.json, in 0.01 seconds)617client: must succeed: timeout 20 push --relay https://relay:7443 --cert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin.pem --key /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin-key.pem deploy --detach agent/app 2>&1618client: (finished: must succeed: timeout 20 push --relay https://relay:7443 --cert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin.pem --key /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin-key.pem deploy --detach agent/app 2>&1, in 0.02 seconds)619agent: waiting for success: systemctl is-active flakelet-relay-job-app.service620relay # [ 7086.828868] relay flakelet-relay[400]: {"timestamp":"2026-09-06T09:02:44.790652Z","level":"INFO","message":"deploy finished","job":"ca60a38b12d8c41ecd6c31499bdb10d9","ok":false,"target":"flakelet_relay::relay::api"}621relay # [ 7086.880102] relay flakelet-relay[400]: {"timestamp":"2026-09-06T09:02:44.841911Z","level":"INFO","message":"deploy accepted","job":"b08f8b65947cdda6e37439d228f655b8","caller":"x509:email:admin@example.org","targets":"[\"agent/app\"]","target":"flakelet_relay::relay::api"}622agent # [ 7086.827671] agent flakelet-agent[473]: {"timestamp":"2026-09-06T09:02:44.789411Z","level":"INFO","message":"update finished","flakelet":"app","status":"Unchanged","generation":"Some(3)","target":"flakelet_relay::agent::jobs"}623agent # [ 7086.880402] agent flakelet-agent[473]: {"timestamp":"2026-09-06T09:02:44.842179Z","level":"INFO","message":"start","id":"4698fd466c30f35a91fb2461c47c08d8","flakelet":"app","rule":"admins","relay":"relay","caller":"Some(\"x509:email:admin@example.org\")","target":"flakelet_relay::agent::conn"}624agent # [ 7086.880638] agent flakelet-agent[473]: {"timestamp":"2026-09-06T09:02:44.842464Z","level":"INFO","message":"update starting","flakelet":"app","ids":"[\"4698fd466c30f35a91fb2461c47c08d8\"]","target":"flakelet_relay::agent::jobs"}625agent # [ 7086.941369] agent systemd[1]: Starting flakelet update app (via relay)...626agent # [ 7086.975139] agent systemd[1]: Started flakelet update app (via relay).627agent # [ 7086.979231] agent flakelet[1923]: app: using prebuilt artifact /nix/store/ln47rsd5km8a04hd5zlkz4q1v352zqh3-flakelet-app-slow2628agent # [ 7086.979894] agent flakelet[1923]: app: activating generation 4629agent # [ 7086.990986] agent systemd[1]: Stopping app v1...630agent # [ 7086.992478] agent systemd[1]: app.service: Deactivated successfully.631agent # [ 7086.992750] agent systemd[1]: Stopped app v1.632agent # [ 7087.005994] agent systemd[1]: Reload requested from client PID 1930 ('systemctl') (unit flakelet-relay-job-app.service)...633agent # [ 7087.006066] agent systemd[1]: Reloading...634agent # [ 7087.364395] agent systemd[1]: Reloading finished in 357 ms.635agent # [ 7087.449158] agent systemd[1]: Reload requested from client PID 1964 ('systemctl') (unit flakelet-relay-job-app.service)...636agent # [ 7087.449194] agent systemd[1]: Reloading...637agent # [ 7087.767138] agent systemd[1]: Reloading finished in 317 ms.638agent # [ 7087.838370] agent systemd[1]: Reload requested from client PID 1994 ('systemctl') (unit flakelet-relay-job-app.service)...639agent # [ 7087.838402] agent systemd[1]: Reloading...640agent # [ 7088.180044] agent systemd[1]: Reloading finished in 341 ms.641agent: (finished: waiting for success: systemctl is-active flakelet-relay-job-app.service, in 1.38 seconds)642??? Warning (UserWarning): wait_until_fails(): passing a bare int/float as a duration is deprecated. Use datetime.timedelta instead.643 File "/nix/store/fv4yr9c0f9kyrfc00100i4rlshiiidbd-nixos-test-driver-1.1/lib/python3.14/site-packages/test_driver/duration.py", line 39644agent: waiting for failure: systemctl is-active flakelet-relay-job-app.service645??? Warning (UserWarning): execute(): passing a bare int/float as a duration is deprecated. Use datetime.timedelta instead.646 File "/nix/store/fv4yr9c0f9kyrfc00100i4rlshiiidbd-nixos-test-driver-1.1/lib/python3.14/site-packages/test_driver/duration.py", line 39647agent # [ 7088.271343] agent systemd[1]: Reload requested from client PID 2030 ('systemctl') (unit flakelet-relay-job-app.service)...648agent # [ 7088.271390] agent systemd[1]: Reloading...649agent # [ 7088.614963] agent systemd[1]: Reloading finished in 343 ms.650agent # [ 7088.679296] agent systemd[1]: Starting app slow2...651agent # [ 7094.744033] agent systemd[1]: Started app slow2.652agent # [ 7094.761108] agent flakelet[1923]: app: updated to generation 4653agent # [ 7094.761840] agent systemd[1]: flakelet-relay-job-app.service: Deactivated successfully.654agent: (finished: waiting for failure: systemctl is-active flakelet-relay-job-app.service, in 7.51 seconds)655(finished: subtest: detach returns once the job is accepted, in 8.92 seconds)656subtest: unknown host is final, missing agent is retried, agents listing657client: must fail: push --relay https://relay:7443 --cert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin.pem --key /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin-key.pem deploy nope/app 2>&1658client: (finished: must fail: push --relay https://relay:7443 --cert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin.pem --key /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin-key.pem deploy nope/app 2>&1, in 0.02 seconds)659agent: must succeed: systemctl stop flakelet-agent660agent: (finished: must succeed: systemctl stop flakelet-agent, in 0.06 seconds)661relay: waiting for success: curl -sf http://127.0.0.1:7400/metrics | grep -q 'agent_up{host="agent"} 0'662relay: (finished: waiting for success: curl -sf http://127.0.0.1:7400/metrics | grep -q 'agent_up{host="agent"} 0', in 0.02 seconds)663client: must succeed: push --relay https://relay:7443 --cert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin.pem --key /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin-key.pem deploy agent/other > /tmp/retry.out 2>&1 &664client: (finished: must succeed: push --relay https://relay:7443 --cert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin.pem --key /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin-key.pem deploy agent/other > /tmp/retry.out 2>&1 &, in 0.01 seconds)665client: waiting for success: grep -q 'agent_unavailable.*retrying' /tmp/retry.out666relay # [ 7095.804916] relay flakelet-relay[400]: {"timestamp":"2026-09-06T09:02:53.766657Z","level":"INFO","message":"agent disconnected: IO error: peer closed connection without sending TLS close_notify: https://docs.rs/rustls/latest/rustls/manual/_03_howto/index.html#unexpected-eof","host":"agent","target":"flakelet_relay::relay::agent_conn"}667agent # [ 7095.804945] agent systemd[1]: Stopping flakelet-agent...668agent # [ 7095.837661] agent systemd[1]: flakelet-agent.service: Deactivated successfully.669agent # [ 7095.837950] agent systemd[1]: Stopped flakelet-agent.670agent # [ 7095.838250] agent systemd[1]: flakelet-agent.service: Consumed 2.635s CPU time over 30.750s wall clock time.671client: (finished: waiting for success: grep -q 'agent_unavailable.*retrying' /tmp/retry.out, in 1.02 seconds)672agent: must succeed: systemctl start flakelet-agent673agent: (finished: must succeed: systemctl start flakelet-agent, in 0.15 seconds)674??? Warning (UserWarning): wait_until_succeeds(): passing a bare int/float as a duration is deprecated. Use datetime.timedelta instead.675 File "/nix/store/fv4yr9c0f9kyrfc00100i4rlshiiidbd-nixos-test-driver-1.1/lib/python3.14/site-packages/test_driver/duration.py", line 39676client: waiting for success: grep -q 'agent/other: unchanged' /tmp/retry.out677agent # [ 7096.906768] agent systemd[1]: Starting flakelet-agent...678agent # [ 7096.961929] agent flakelet-agent[2146]: {"timestamp":"2026-09-06T09:02:54.923724Z","level":"INFO","message":"reattaching to running unit","flakelet":"app","ids":"[\"4698fd466c30f35a91fb2461c47c08d8\"]","target":"flakelet_relay::agent::jobs"}679agent # [ 7097.042467] agent systemd[1]: Started flakelet-agent.680agent # [ 7097.055469] agent flakelet-agent[2146]: {"timestamp":"2026-09-06T09:02:55.017262Z","level":"INFO","message":"connected","relay":"https://relay:7443","relay_name":"relay","relay_version":"0.1.0","host":"agent","target":"flakelet_relay::agent::conn"}681relay # [ 7097.055565] relay flakelet-relay[400]: {"timestamp":"2026-09-06T09:02:55.017331Z","level":"INFO","message":"agent connected","host":"agent","version":"0.1.0","flakelets":"[Named { name: \"app\", generation: Some(4), revision: Some(\"prebuilt:app\") }, Named { name: \"other\", generation: Some(1), revision: Some(\"prebuilt:other\") }]","target":"flakelet_relay::relay::agent_conn"}682agent # [ 7097.527583] agent flakelet-agent[2146]: {"timestamp":"2026-09-06T09:02:55.489323Z","level":"INFO","message":"update finished","flakelet":"app","status":"Updated","generation":"Some(4)","target":"flakelet_relay::agent::jobs"}683agent # [ 7098.896529] agent flakelet-agent[2146]: {"timestamp":"2026-09-06T09:02:56.858257Z","level":"INFO","message":"start","id":"c9c127d387631dea2e7a70d381d0285a","flakelet":"other","rule":"admins","relay":"relay","caller":"Some(\"x509:email:admin@example.org\")","target":"flakelet_relay::agent::conn"}684agent # [ 7098.897529] agent flakelet-agent[2146]: {"timestamp":"2026-09-06T09:02:56.859060Z","level":"INFO","message":"update starting","flakelet":"other","ids":"[\"c9c127d387631dea2e7a70d381d0285a\"]","target":"flakelet_relay::agent::jobs"}685agent # [ 7098.962142] agent systemd[1]: Starting flakelet update other (via relay)...686agent # [ 7099.001094] agent systemd[1]: Started flakelet update other (via relay).687agent # [ 7099.006567] agent flakelet[2595]: other: using prebuilt artifact /nix/store/hmr990n0b4v6rpzrcpyyw738r9xi7z95-flakelet-other-v1688agent # [ 7099.007125] agent flakelet[2595]: other: up to date689agent # [ 7099.008654] agent systemd[1]: flakelet-relay-job-other.service: Deactivated successfully.690relay # [ 7098.896038] relay flakelet-relay[400]: {"timestamp":"2026-09-06T09:02:56.857770Z","level":"INFO","message":"deploy accepted","job":"f3ebb7267e1d179e612602b696e6536a","caller":"x509:email:admin@example.org","targets":"[\"agent/other\"]","target":"flakelet_relay::relay::api"}691relay # [ 7099.576318] relay flakelet-relay[400]: {"timestamp":"2026-09-06T09:02:57.538097Z","level":"INFO","message":"deploy finished","job":"f3ebb7267e1d179e612602b696e6536a","ok":true,"target":"flakelet_relay::relay::api"}692agent # [ 7099.574936] agent flakelet-agent[2146]: {"timestamp":"2026-09-06T09:02:57.536668Z","level":"INFO","message":"update finished","flakelet":"other","status":"Unchanged","generation":"Some(1)","target":"flakelet_relay::agent::jobs"}693client: (finished: waiting for success: grep -q 'agent/other: unchanged' /tmp/retry.out, in 3.04 seconds)694client: must succeed: push --relay https://relay:7443 --cert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin.pem --key /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin-key.pem agents695client: (finished: must succeed: push --relay https://relay:7443 --cert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin.pem --key /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin-key.pem agents, in 0.02 seconds)696client: must succeed: echo '{"groups": []}' | step crypto jwt sign --key /nix/store/r7sclamg09v434w8zjlfnrcrn1w79wh6-flakelet-relay-test-issuer/jwk.json --iss https://relay:8443 --aud flakelet-relay --sub 'repo:github:example/app:ref:refs/heads/main' --exp $(( $(date +%s) + 300 )) --jti $(head -c8 /dev/urandom | base32)697client: (finished: must succeed: echo '{"groups": []}' | step crypto jwt sign --key /nix/store/r7sclamg09v434w8zjlfnrcrn1w79wh6-flakelet-relay-test-issuer/jwk.json --iss https://relay:8443 --aud flakelet-relay --sub 'repo:github:example/app:ref:refs/heads/main' --exp $(( $(date +%s) + 300 )) --jti $(head -c8 /dev/urandom | base32), in 0.05 seconds)698client: must succeed: FLAKELET_RELAY_TOKEN_COMMAND='echo eyJhbGciOiJFZERTQSIsImtpZCI6ImsxIiwidHlwIjoiSldUIn0.eyJhdWQiOiJmbGFrZWxldC1yZWxheSIsImV4cCI6MTc4ODY4NTY3OCwiZ3JvdXBzIjpbXSwiaWF0IjoxNzg4Njg1Mzc4LCJpc3MiOiJodHRwczovL3JlbGF5Ojg0NDMiLCJqdGkiOiJQVE5ZNllYNlVVQzZHPT09IiwibmJmIjoxNzg4Njg1Mzc4LCJzdWIiOiJyZXBvOmdpdGh1YjpleGFtcGxlL2FwcDpyZWY6cmVmcy9oZWFkcy9tYWluIn0.CELycyo3gFHSMaVk5TCqRVSBOAc0mUU2RJWTXmWFBoJrGQwmQyvFyA-6tZwNxcKt3RJOMlOUuM8fG2EfgZjzDA' push --relay https://relay:7443 agents699client: (finished: must succeed: FLAKELET_RELAY_TOKEN_COMMAND='echo eyJhbGciOiJFZERTQSIsImtpZCI6ImsxIiwidHlwIjoiSldUIn0.eyJhdWQiOiJmbGFrZWxldC1yZWxheSIsImV4cCI6MTc4ODY4NTY3OCwiZ3JvdXBzIjpbXSwiaWF0IjoxNzg4Njg1Mzc4LCJpc3MiOiJodHRwczovL3JlbGF5Ojg0NDMiLCJqdGkiOiJQVE5ZNllYNlVVQzZHPT09IiwibmJmIjoxNzg4Njg1Mzc4LCJzdWIiOiJyZXBvOmdpdGh1YjpleGFtcGxlL2FwcDpyZWY6cmVmcy9oZWFkcy9tYWluIn0.CELycyo3gFHSMaVk5TCqRVSBOAc0mUU2RJWTXmWFBoJrGQwmQyvFyA-6tZwNxcKt3RJOMlOUuM8fG2EfgZjzDA' push --relay https://relay:7443 agents, in 0.02 seconds)700(finished: subtest: unknown host is final, missing agent is retried, agents listing, in 4.40 seconds)701subtest: out-of-band flakelet update reaches the relay without reconnect702agent: must succeed: flakelet status --json app | jq '.[0].generation'703agent: (finished: must succeed: flakelet status --json app | jq '.[0].generation', in 0.06 seconds)704agent: must succeed: journalctl -u flakelet-agent -o cat | grep -c '"connected"' || true705agent: (finished: must succeed: journalctl -u flakelet-agent -o cat | grep -c '"connected"' || true, in 0.01 seconds)706agent: must succeed: jq '.services.app.prebuilt="/nix/store/6ili1vxjlag9d7dy0bxrbxk6bpi5qh9p-flakelet-app-v2"' /etc/flakelet/config.json > /tmp/config.json && cp --remove-destination /tmp/config.json /etc/flakelet/config.json707agent: (finished: must succeed: jq '.services.app.prebuilt="/nix/store/6ili1vxjlag9d7dy0bxrbxk6bpi5qh9p-flakelet-app-v2"' /etc/flakelet/config.json > /tmp/config.json && cp --remove-destination /tmp/config.json /etc/flakelet/config.json, in 0.01 seconds)708agent: must succeed: flakelet update app709app: using prebuilt artifact /nix/store/6ili1vxjlag9d7dy0bxrbxk6bpi5qh9p-flakelet-app-v2710app: activating generation 5711agent # [ 7100.281743] agent systemd[1]: Stopping app slow2...712agent # [ 7100.282231] agent systemd[1]: app.service: Deactivated successfully.713agent # [ 7100.282499] agent systemd[1]: Stopped app slow2.714agent # [ 7100.299846] agent systemd[1]: Reload requested from client PID 2655 ('systemctl')...715agent # [ 7100.299918] agent systemd[1]: Reloading...716agent # [ 7100.638087] agent systemd[1]: Reloading finished in 337 ms.717agent # [ 7100.733964] agent systemd[1]: Reload requested from client PID 2684 ('systemctl')...718agent # [ 7100.734008] agent systemd[1]: Reloading...719agent # [ 7101.060665] agent systemd[1]: Reloading finished in 326 ms.720agent # [ 7101.156977] agent systemd[1]: Reload requested from client PID 2714 ('systemctl')...721agent # [ 7101.157021] agent systemd[1]: Reloading...722agent # [ 7101.476636] agent systemd[1]: Reloading finished in 319 ms.723agent # [ 7101.590287] agent systemd[1]: Reload requested from client PID 2745 ('systemctl')...724agent # [ 7101.590326] agent systemd[1]: Reloading...725agent # [ 7101.908140] agent systemd[1]: Reloading finished in 317 ms.726agent: (finished: must succeed: flakelet update app, in 1.81 seconds)727client: waiting for success: push --relay https://relay:7443 --cert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin.pem --key /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin-key.pem agents | grep -q 'app@5'728agent # [ 7102.007755] agent systemd[1]: Starting app v2...729agent # [ 7102.045740] agent systemd[1]: Started app v2.730client: (finished: waiting for success: push --relay https://relay:7443 --cert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin.pem --key /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin-key.pem agents | grep -q 'app@5', in 2.06 seconds)731agent: must succeed: journalctl -u flakelet-agent -o cat | grep -c '"connected"' || true732agent: (finished: must succeed: journalctl -u flakelet-agent -o cat | grep -c '"connected"' || true, in 0.01 seconds)733agent: must succeed: jq '.services.app.prebuilt="/nix/store/hysydfr96ds875vr0jgw5rjxi4p39h2j-flakelet-app-v1"' /etc/flakelet/config.json > /tmp/config.json && cp --remove-destination /tmp/config.json /etc/flakelet/config.json734agent: (finished: must succeed: jq '.services.app.prebuilt="/nix/store/hysydfr96ds875vr0jgw5rjxi4p39h2j-flakelet-app-v1"' /etc/flakelet/config.json > /tmp/config.json && cp --remove-destination /tmp/config.json /etc/flakelet/config.json, in 0.01 seconds)735agent: must succeed: flakelet update app736app: using prebuilt artifact /nix/store/hysydfr96ds875vr0jgw5rjxi4p39h2j-flakelet-app-v1737app: activating generation 6738agent # [ 7104.170724] agent systemd[1]: Stopping app v2...739agent # [ 7104.171202] agent systemd[1]: app.service: Deactivated successfully.740agent # [ 7104.171471] agent systemd[1]: Stopped app v2.741agent # [ 7104.187775] agent systemd[1]: Reload requested from client PID 2812 ('systemctl')...742agent # [ 7104.187845] agent systemd[1]: Reloading...743agent # [ 7104.527971] agent systemd[1]: Reloading finished in 339 ms.744agent # [ 7104.615548] agent systemd[1]: Reload requested from client PID 2841 ('systemctl')...745agent # [ 7104.615588] agent systemd[1]: Reloading...746agent # [ 7104.935461] agent systemd[1]: Reloading finished in 319 ms.747agent # [ 7105.024180] agent systemd[1]: Reload requested from client PID 2869 ('systemctl')...748agent # [ 7105.024217] agent systemd[1]: Reloading...749agent # [ 7105.345075] agent systemd[1]: Reloading finished in 320 ms.750agent # [ 7105.445235] agent systemd[1]: Reload requested from client PID 2901 ('systemctl')...751agent # [ 7105.445274] agent systemd[1]: Reloading...752agent: (finished: must succeed: flakelet update app, in 1.75 seconds)753client: waiting for success: push --relay https://relay:7443 --cert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin.pem --key /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin-key.pem agents | grep -q 'app@6'754agent # [ 7105.765288] agent systemd[1]: Reloading finished in 319 ms.755agent # [ 7105.855023] agent systemd[1]: Starting app v1...756agent # [ 7105.883880] agent systemd[1]: Started app v1.757client: (finished: waiting for success: push --relay https://relay:7443 --cert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin.pem --key /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin-key.pem agents | grep -q 'app@6', in 2.06 seconds)758(finished: subtest: out-of-band flakelet update reaches the relay without reconnect, in 7.79 seconds)759subtest: certificate not listed under agents cannot connect as agent760client: must succeed: curl -s -o /dev/null -w '%{http_code}' --cacert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/ca.pem --cert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/mallory/cert.pem --key /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/mallory/key.pem -H 'Upgrade: websocket' -H 'Connection: Upgrade' -H 'Sec-WebSocket-Version: 13' -H 'Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==' https://relay:7443/v1/agent761client: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' --cacert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/ca.pem --cert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/mallory/cert.pem --key /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/mallory/key.pem -H 'Upgrade: websocket' -H 'Connection: Upgrade' -H 'Sec-WebSocket-Version: 13' -H 'Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==' https://relay:7443/v1/agent, in 0.03 seconds)762(finished: subtest: certificate not listed under agents cannot connect as agent, in 0.03 seconds)763subtest: metrics764relay: must succeed: curl -sf http://127.0.0.1:7400/metrics765relay: (finished: must succeed: curl -sf http://127.0.0.1:7400/metrics, in 0.01 seconds)766(finished: subtest: metrics, in 0.02 seconds)767subtest: agent link drop mid-run replays missed lines once768agent: must succeed: jq '.services.app.prebuilt="/nix/store/c67jj8kx3m50nyj874aqmdqf21w5iznd-flakelet-app-slow"' /etc/flakelet/config.json > /tmp/config.json && cp --remove-destination /tmp/config.json /etc/flakelet/config.json769agent: (finished: must succeed: jq '.services.app.prebuilt="/nix/store/c67jj8kx3m50nyj874aqmdqf21w5iznd-flakelet-app-slow"' /etc/flakelet/config.json > /tmp/config.json && cp --remove-destination /tmp/config.json /etc/flakelet/config.json, in 0.01 seconds)770agent: must succeed: date +%s771agent: (finished: must succeed: date +%s, in 0.01 seconds)772client: must succeed: push --relay https://relay:7443 --cert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin.pem --key /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin-key.pem deploy agent/app > /tmp/slow.out 2>&1 &773client: (finished: must succeed: push --relay https://relay:7443 --cert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin.pem --key /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin-key.pem deploy agent/app > /tmp/slow.out 2>&1 &, in 0.01 seconds)774agent: waiting for success: journalctl -u flakelet-relay-job-app.service --since=@1788685385 | grep -q 'app-slow'775relay # [ 7107.986071] relay flakelet-relay[400]: {"timestamp":"2026-09-06T09:03:05.947777Z","level":"INFO","message":"agent rejected: no agents entry matches","principals":"[\"x509:dns:mallory\"]","target":"flakelet_relay::relay::agent_conn"}776relay # [ 7108.044681] relay flakelet-relay[400]: {"timestamp":"2026-09-06T09:03:06.006484Z","level":"INFO","message":"deploy accepted","job":"2f7e4406758476db1103d11a4bf18a40","caller":"x509:email:admin@example.org","targets":"[\"agent/app\"]","target":"flakelet_relay::relay::api"}777agent # [ 7108.045140] agent flakelet-agent[2146]: {"timestamp":"2026-09-06T09:03:06.006827Z","level":"INFO","message":"start","id":"0f054014d003d4bfe50d32985e3dfbc9","flakelet":"app","rule":"admins","relay":"relay","caller":"Some(\"x509:email:admin@example.org\")","target":"flakelet_relay::agent::conn"}778agent # [ 7108.045968] agent flakelet-agent[2146]: {"timestamp":"2026-09-06T09:03:06.007477Z","level":"INFO","message":"update starting","flakelet":"app","ids":"[\"0f054014d003d4bfe50d32985e3dfbc9\"]","target":"flakelet_relay::agent::jobs"}779agent # [ 7108.103664] agent systemd[1]: Starting flakelet update app (via relay)...780agent # [ 7108.132077] agent systemd[1]: Started flakelet update app (via relay).781agent # [ 7108.135739] agent flakelet[2975]: app: using prebuilt artifact /nix/store/c67jj8kx3m50nyj874aqmdqf21w5iznd-flakelet-app-slow782agent # [ 7108.136359] agent flakelet[2975]: app: activating generation 7783agent # [ 7108.147588] agent systemd[1]: Stopping app v1...784agent # [ 7108.147922] agent systemd[1]: app.service: Deactivated successfully.785agent # [ 7108.148158] agent systemd[1]: Stopped app v1.786agent # [ 7108.162467] agent systemd[1]: Reload requested from client PID 2982 ('systemctl') (unit flakelet-relay-job-app.service)...787agent # [ 7108.162525] agent systemd[1]: Reloading...788agent # [ 7108.492265] agent systemd[1]: Reloading finished in 329 ms.789agent # [ 7108.596023] agent systemd[1]: Reload requested from client PID 3012 ('systemctl') (unit flakelet-relay-job-app.service)...790agent # [ 7108.596060] agent systemd[1]: Reloading...791agent # [ 7108.915666] agent systemd[1]: Reloading finished in 319 ms.792agent: (finished: waiting for success: journalctl -u flakelet-relay-job-app.service --since=@1788685385 | grep -q 'app-slow', in 1.02 seconds)793agent: must succeed: for a in $(getent ahosts relay | cut -d' ' -f1 | sort -u); do ip route add unreachable $a; done794agent: (finished: must succeed: for a in $(getent ahosts relay | cut -d' ' -f1 | sort -u); do ip route add unreachable $a; done, in 0.02 seconds)795relay: must succeed: for a in $(getent ahosts agent | cut -d' ' -f1 | sort -u); do ss -K dst "[$a]"; done796relay: (finished: must succeed: for a in $(getent ahosts agent | cut -d' ' -f1 | sort -u); do ss -K dst "[$a]"; done, in 0.06 seconds)797agent: must succeed: ss -K dport = 7443798agent: (finished: must succeed: ss -K dport = 7443, in 0.03 seconds)799agent: waiting for success: journalctl -u flakelet-relay-job-app.service --since=@1788685385 | grep -q 'updated to generation'800agent # [ 7108.995684] agent systemd[1]: Reload requested from client PID 3041 ('systemctl') (unit flakelet-relay-job-app.service)...801agent # [ 7108.995722] agent systemd[1]: Reloading...802agent # [ 7109.155424] agent flakelet-agent[2146]: {"timestamp":"2026-09-06T09:03:07.117170Z","level":"INFO","message":"disconnected: IO error: Software caused connection abort (os error 103)","relay":"https://relay:7443","target":"flakelet_relay::agent::conn"}803relay # [ 7109.124259] relay flakelet-relay[400]: {"timestamp":"2026-09-06T09:03:07.086005Z","level":"INFO","message":"agent disconnected: IO error: Software caused connection abort (os error 103)","host":"agent","target":"flakelet_relay::relay::agent_conn"}804agent # [ 7109.315344] agent systemd[1]: Reloading finished in 319 ms.805agent # [ 7109.429645] agent systemd[1]: Reload requested from client PID 3089 ('systemctl') (unit flakelet-relay-job-app.service)...806agent # [ 7109.429682] agent systemd[1]: Reloading...807agent # [ 7109.753337] agent systemd[1]: Reloading finished in 323 ms.808agent # [ 7109.863476] agent systemd[1]: Starting app slow...809agent # [ 7110.158610] agent flakelet-agent[2146]: {"timestamp":"2026-09-06T09:03:08.120251Z","level":"WARN","message":"connect failed: connect relay:7443: No route to host (os error 113)","relay":"https://relay:7443","target":"flakelet_relay::agent::conn"}810agent # [ 7112.161187] agent flakelet-agent[2146]: {"timestamp":"2026-09-06T09:03:10.122943Z","level":"WARN","message":"connect failed: connect relay:7443: No route to host (os error 113)","relay":"https://relay:7443","target":"flakelet_relay::agent::conn"}811agent # [ 7115.935148] agent systemd[1]: Started app slow.812agent # [ 7115.952626] agent flakelet[2975]: app: updated to generation 7813agent # [ 7115.955290] agent systemd[1]: flakelet-relay-job-app.service: Deactivated successfully.814agent # [ 7116.163507] agent flakelet-agent[2146]: {"timestamp":"2026-09-06T09:03:14.125234Z","level":"WARN","message":"connect failed: connect relay:7443: No route to host (os error 113)","relay":"https://relay:7443","target":"flakelet_relay::agent::conn"}815agent: (finished: waiting for success: journalctl -u flakelet-relay-job-app.service --since=@1788685385 | grep -q 'updated to generation', in 7.10 seconds)816agent: must succeed: for a in $(getent ahosts relay | cut -d' ' -f1 | sort -u); do ip route del unreachable $a; done817agent: (finished: must succeed: for a in $(getent ahosts relay | cut -d' ' -f1 | sort -u); do ip route del unreachable $a; done, in 0.02 seconds)818client: waiting for success: grep -q 'agent/app: updated' /tmp/slow.out819agent # [ 7117.036294] agent flakelet-agent[2146]: {"timestamp":"2026-09-06T09:03:14.997996Z","level":"INFO","message":"update finished","flakelet":"app","status":"Updated","generation":"Some(7)","target":"flakelet_relay::agent::jobs"}820client: (finished: waiting for success: grep -q 'agent/app: updated' /tmp/slow.out, in 8.09 seconds)821client: must succeed: cat /tmp/slow.out822client: (finished: must succeed: cat /tmp/slow.out, in 0.01 seconds)823(finished: subtest: agent link drop mid-run replays missed lines once, in 16.38 seconds)824subtest: agent restart mid-run reattaches to the unit825agent: must succeed: jq '.services.app.prebuilt="/nix/store/ln47rsd5km8a04hd5zlkz4q1v352zqh3-flakelet-app-slow2"' /etc/flakelet/config.json > /tmp/config.json && cp --remove-destination /tmp/config.json /etc/flakelet/config.json826agent: (finished: must succeed: jq '.services.app.prebuilt="/nix/store/ln47rsd5km8a04hd5zlkz4q1v352zqh3-flakelet-app-slow2"' /etc/flakelet/config.json > /tmp/config.json && cp --remove-destination /tmp/config.json /etc/flakelet/config.json, in 0.01 seconds)827client: must succeed: push --relay https://relay:7443 --cert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin.pem --key /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin-key.pem deploy agent/app > /tmp/restart.out 2>&1 &828client: (finished: must succeed: push --relay https://relay:7443 --cert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin.pem --key /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin-key.pem deploy agent/app > /tmp/restart.out 2>&1 &, in 0.01 seconds)829agent: waiting for success: journalctl -u flakelet-relay-job-app.service --since -20s | grep -q 'app-slow2'830agent # [ 7124.168408] agent flakelet-agent[2146]: {"timestamp":"2026-09-06T09:03:22.130141Z","level":"INFO","message":"connected","relay":"https://relay:7443","relay_name":"relay","relay_version":"0.1.0","host":"agent","target":"flakelet_relay::agent::conn"}831agent # [ 7124.169574] agent flakelet-agent[2146]: {"timestamp":"2026-09-06T09:03:22.131393Z","level":"INFO","message":"start","id":"0f054014d003d4bfe50d32985e3dfbc9","flakelet":"app","rule":"admins","relay":"relay","caller":"Some(\"x509:email:admin@example.org\")","target":"flakelet_relay::agent::conn"}832agent # [ 7124.415826] agent flakelet-agent[2146]: {"timestamp":"2026-09-06T09:03:22.377532Z","level":"INFO","message":"start","id":"638ec0810267b76f17c85a0a788502f3","flakelet":"app","rule":"admins","relay":"relay","caller":"Some(\"x509:email:admin@example.org\")","target":"flakelet_relay::agent::conn"}833agent # [ 7124.416376] agent flakelet-agent[2146]: {"timestamp":"2026-09-06T09:03:22.378193Z","level":"INFO","message":"update starting","flakelet":"app","ids":"[\"638ec0810267b76f17c85a0a788502f3\"]","target":"flakelet_relay::agent::jobs"}834relay # [ 7124.168438] relay flakelet-relay[400]: {"timestamp":"2026-09-06T09:03:22.130207Z","level":"INFO","message":"agent connected","host":"agent","version":"0.1.0","flakelets":"[Named { name: \"app\", generation: Some(7), revision: Some(\"prebuilt:app\") }, Named { name: \"other\", generation: Some(1), revision: Some(\"prebuilt:other\") }]","target":"flakelet_relay::relay::agent_conn"}835relay # [ 7124.170062] relay flakelet-relay[400]: {"timestamp":"2026-09-06T09:03:22.131868Z","level":"INFO","message":"deploy finished","job":"2f7e4406758476db1103d11a4bf18a40","ok":true,"target":"flakelet_relay::relay::api"}836relay # [ 7124.415340] relay flakelet-relay[400]: {"timestamp":"2026-09-06T09:03:22.377136Z","level":"INFO","message":"deploy accepted","job":"397f7251692b357519a399ab8d87e5ba","caller":"x509:email:admin@example.org","targets":"[\"agent/app\"]","target":"flakelet_relay::relay::api"}837agent # [ 7124.484387] agent systemd[1]: Starting flakelet update app (via relay)...838agent # [ 7124.523121] agent systemd[1]: Started flakelet update app (via relay).839agent # [ 7124.526770] agent flakelet[3308]: app: using prebuilt artifact /nix/store/ln47rsd5km8a04hd5zlkz4q1v352zqh3-flakelet-app-slow2840agent # [ 7124.527436] agent flakelet[3308]: app: activating generation 8841agent # [ 7124.540676] agent systemd[1]: Stopping app slow...842agent # [ 7124.541158] agent systemd[1]: app.service: Deactivated successfully.843agent # [ 7124.541424] agent systemd[1]: Stopped app slow.844agent # [ 7124.557566] agent systemd[1]: Reload requested from client PID 3315 ('systemctl') (unit flakelet-relay-job-app.service)...845agent # [ 7124.557635] agent systemd[1]: Reloading...846agent # [ 7124.896111] agent systemd[1]: Reloading finished in 337 ms.847agent # [ 7124.975919] agent systemd[1]: Reload requested from client PID 3345 ('systemctl') (unit flakelet-relay-job-app.service)...848agent # [ 7124.975955] agent systemd[1]: Reloading...849agent: (finished: waiting for success: journalctl -u flakelet-relay-job-app.service --since -20s | grep -q 'app-slow2', in 1.02 seconds)850agent: must succeed: systemctl restart flakelet-agent851agent # [ 7125.297851] agent systemd[1]: Reloading finished in 321 ms.852agent # [ 7125.373313] agent systemd[1]: Reload requested from client PID 3376 ('systemctl') (unit flakelet-relay-job-app.service)...853agent # [ 7125.373346] agent systemd[1]: Reloading...854agent # [ 7125.697933] agent systemd[1]: Reloading finished in 324 ms.855agent # [ 7125.762428] agent systemd[1]: Stopping flakelet-agent...856agent # [ 7125.766783] agent systemd[1]: Reload requested from client PID 3413 ('systemctl') (unit flakelet-relay-job-app.service)...857agent # [ 7125.766824] agent systemd[1]: Reloading...858relay # [ 7125.762640] relay flakelet-relay[400]: {"timestamp":"2026-09-06T09:03:23.724407Z","level":"INFO","message":"agent disconnected: IO error: peer closed connection without sending TLS close_notify: https://docs.rs/rustls/latest/rustls/manual/_03_howto/index.html#unexpected-eof","host":"agent","target":"flakelet_relay::relay::agent_conn"}859agent: (finished: must succeed: systemctl restart flakelet-agent, in 0.88 seconds)860agent: must succeed: test -n "$(ls /var/lib/flakelet-agent/jobs)"861agent: (finished: must succeed: test -n "$(ls /var/lib/flakelet-agent/jobs)", in 0.01 seconds)862client: waiting for success: grep -q 'agent/app: updated' /tmp/restart.out863agent # [ 7126.098090] agent systemd[1]: Reloading finished in 330 ms.864agent # [ 7126.155584] agent systemd[1]: flakelet-agent.service: Deactivated successfully.865agent # [ 7126.155753] agent systemd[1]: Stopped flakelet-agent.866agent # [ 7126.155770] agent systemd[1]: flakelet-agent.service: Consumed 2.490s CPU time over 29.248s wall clock time.867agent # [ 7126.173659] agent systemd[1]: Starting app slow2...868agent # [ 7126.174659] agent systemd[1]: Starting flakelet-agent...869agent # [ 7126.229774] agent flakelet-agent[3445]: {"timestamp":"2026-09-06T09:03:24.191560Z","level":"INFO","message":"reattaching to running unit","flakelet":"app","ids":"[\"638ec0810267b76f17c85a0a788502f3\"]","target":"flakelet_relay::agent::jobs"}870agent # [ 7126.303234] agent systemd[1]: Started flakelet-agent.871agent # [ 7126.316922] agent flakelet-agent[3445]: {"timestamp":"2026-09-06T09:03:24.278718Z","level":"INFO","message":"connected","relay":"https://relay:7443","relay_name":"relay","relay_version":"0.1.0","host":"agent","target":"flakelet_relay::agent::conn"}872agent # [ 7126.318068] agent flakelet-agent[3445]: {"timestamp":"2026-09-06T09:03:24.279893Z","level":"INFO","message":"start","id":"638ec0810267b76f17c85a0a788502f3","flakelet":"app","rule":"admins","relay":"relay","caller":"Some(\"x509:email:admin@example.org\")","target":"flakelet_relay::agent::conn"}873relay # [ 7126.317053] relay flakelet-relay[400]: {"timestamp":"2026-09-06T09:03:24.278769Z","level":"INFO","message":"agent connected","host":"agent","version":"0.1.0","flakelets":"[Named { name: \"app\", generation: Some(7), revision: Some(\"prebuilt:app\") }, Named { name: \"other\", generation: Some(1), revision: Some(\"prebuilt:other\") }]","target":"flakelet_relay::relay::agent_conn"}874agent # [ 7132.244986] agent systemd[1]: Started app slow2.875agent # [ 7132.259706] agent flakelet[3308]: app: updated to generation 8876agent # [ 7132.261422] agent systemd[1]: flakelet-relay-job-app.service: Deactivated successfully.877relay # [ 7132.845281] relay flakelet-relay[400]: {"timestamp":"2026-09-06T09:03:30.807034Z","level":"INFO","message":"deploy finished","job":"397f7251692b357519a399ab8d87e5ba","ok":true,"target":"flakelet_relay::relay::api"}878agent # [ 7132.843915] agent flakelet-agent[3445]: {"timestamp":"2026-09-06T09:03:30.805625Z","level":"INFO","message":"update finished","flakelet":"app","status":"Updated","generation":"Some(8)","target":"flakelet_relay::agent::jobs"}879client: (finished: waiting for success: grep -q 'agent/app: updated' /tmp/restart.out, in 7.08 seconds)880client: must succeed: cat /tmp/restart.out881client: (finished: must succeed: cat /tmp/restart.out, in 0.01 seconds)882agent: must succeed: systemctl is-active app.service883agent: (finished: must succeed: systemctl is-active app.service, in 0.01 seconds)884(finished: subtest: agent restart mid-run reattaches to the unit, in 9.03 seconds)885subtest: relay restart mid-run, push resumes via /v1/jobs886agent: must succeed: jq '.services.app.prebuilt="/nix/store/c67jj8kx3m50nyj874aqmdqf21w5iznd-flakelet-app-slow"' /etc/flakelet/config.json > /tmp/config.json && cp --remove-destination /tmp/config.json /etc/flakelet/config.json887agent: (finished: must succeed: jq '.services.app.prebuilt="/nix/store/c67jj8kx3m50nyj874aqmdqf21w5iznd-flakelet-app-slow"' /etc/flakelet/config.json > /tmp/config.json && cp --remove-destination /tmp/config.json /etc/flakelet/config.json, in 0.01 seconds)888agent: must succeed: date +%s889agent: (finished: must succeed: date +%s, in 0.01 seconds)890client: must succeed: push --relay https://relay:7443 --cert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin.pem --key /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin-key.pem deploy agent/app > /tmp/resume.out 2>&1 &891client: (finished: must succeed: push --relay https://relay:7443 --cert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin.pem --key /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin-key.pem deploy agent/app > /tmp/resume.out 2>&1 &, in 0.01 seconds)892agent: waiting for success: journalctl -u flakelet-relay-job-app.service --since=@1788685411 | grep -q 'app-slow'893relay # [ 7133.453584] relay flakelet-relay[400]: {"timestamp":"2026-09-06T09:03:31.415387Z","level":"INFO","message":"deploy accepted","job":"5db510f7502269d7f2fdbab4153621fc","caller":"x509:email:admin@example.org","targets":"[\"agent/app\"]","target":"flakelet_relay::relay::api"}894agent # [ 7133.453937] agent flakelet-agent[3445]: {"timestamp":"2026-09-06T09:03:31.415642Z","level":"INFO","message":"start","id":"c5d4faf96eaaff01d4f4aa34015fc3a5","flakelet":"app","rule":"admins","relay":"relay","caller":"Some(\"x509:email:admin@example.org\")","target":"flakelet_relay::agent::conn"}895agent # [ 7133.454548] agent flakelet-agent[3445]: {"timestamp":"2026-09-06T09:03:31.416367Z","level":"INFO","message":"update starting","flakelet":"app","ids":"[\"c5d4faf96eaaff01d4f4aa34015fc3a5\"]","target":"flakelet_relay::agent::jobs"}896agent # [ 7133.518845] agent systemd[1]: Starting flakelet update app (via relay)...897agent # [ 7133.554153] agent systemd[1]: Started flakelet update app (via relay).898agent # [ 7133.558511] agent flakelet[3957]: app: using prebuilt artifact /nix/store/c67jj8kx3m50nyj874aqmdqf21w5iznd-flakelet-app-slow899agent # [ 7133.559187] agent flakelet[3957]: app: activating generation 9900agent # [ 7133.572173] agent systemd[1]: Stopping app slow2...901agent # [ 7133.572633] agent systemd[1]: app.service: Deactivated successfully.902agent # [ 7133.572910] agent systemd[1]: Stopped app slow2.903agent # [ 7133.589525] agent systemd[1]: Reload requested from client PID 3964 ('systemctl') (unit flakelet-relay-job-app.service)...904agent # [ 7133.589593] agent systemd[1]: Reloading...905agent # [ 7133.925395] agent systemd[1]: Reloading finished in 335 ms.906agent # [ 7133.997954] agent systemd[1]: Reload requested from client PID 3994 ('systemctl') (unit flakelet-relay-job-app.service)...907agent # [ 7133.997992] agent systemd[1]: Reloading...908agent: (finished: waiting for success: journalctl -u flakelet-relay-job-app.service --since=@1788685411 | grep -q 'app-slow', in 1.02 seconds)909relay: must succeed: systemctl restart flakelet-relay910agent # [ 7134.319886] agent systemd[1]: Reloading finished in 321 ms.911agent # [ 7134.387483] agent systemd[1]: Reload requested from client PID 4025 ('systemctl') (unit flakelet-relay-job-app.service)...912agent # [ 7134.387517] agent systemd[1]: Reloading...913agent # [ 7134.476381] agent flakelet-agent[3445]: {"timestamp":"2026-09-06T09:03:32.438117Z","level":"INFO","message":"disconnected: IO error: peer closed connection without sending TLS close_notify: https://docs.rs/rustls/latest/rustls/manual/_03_howto/index.html#unexpected-eof","relay":"https://relay:7443","target":"flakelet_relay::agent::conn"}914relay # [ 7134.475995] relay systemd[1]: Stopping flakelet-relay...915relay # [ 7134.521520] relay systemd[1]: flakelet-relay.service: Deactivated successfully.916relay # [ 7134.521786] relay systemd[1]: Stopped flakelet-relay.917relay # [ 7134.521811] relay systemd[1]: flakelet-relay.service: Consumed 2.807s CPU time over 1min 10.758s wall clock time.918relay # [ 7134.538084] relay systemd[1]: Starting flakelet-relay...919agent # [ 7134.716836] agent systemd[1]: Reloading finished in 328 ms.920agent # [ 7134.793632] agent systemd[1]: Reload requested from client PID 4061 ('systemctl') (unit flakelet-relay-job-app.service)...921agent # [ 7134.793667] agent systemd[1]: Reloading...922agent # [ 7135.119941] agent systemd[1]: Reloading finished in 325 ms.923agent # [ 7135.201649] agent systemd[1]: Starting app slow...924agent # [ 7135.479038] agent flakelet-agent[3445]: {"timestamp":"2026-09-06T09:03:33.440774Z","level":"WARN","message":"connect failed: connect relay:7443: Connection refused (os error 111)","relay":"https://relay:7443","target":"flakelet_relay::agent::conn"}925relay: (finished: must succeed: systemctl restart flakelet-relay, in 1.49 seconds)926client: waiting for success: grep -q '» ok' /tmp/resume.out927relay # [ 7135.952367] relay flakelet-relay[930]: {"timestamp":"2026-09-06T09:03:33.914105Z","level":"INFO","message":"listening on 127.0.0.1:7400","target":"flakelet_relay::relay::server"}928relay # [ 7135.953196] relay flakelet-relay[930]: {"timestamp":"2026-09-06T09:03:33.914520Z","level":"INFO","message":"listening on [::]:7443","target":"flakelet_relay::relay::server"}929relay # [ 7135.952906] relay systemd[1]: Started flakelet-relay.930relay # [ 7137.494802] relay flakelet-relay[930]: {"timestamp":"2026-09-06T09:03:35.456552Z","level":"INFO","message":"agent connected","host":"agent","version":"0.1.0","flakelets":"[Named { name: \"app\", generation: Some(8), revision: Some(\"prebuilt:app\") }, Named { name: \"other\", generation: Some(1), revision: Some(\"prebuilt:other\") }]","target":"flakelet_relay::relay::agent_conn"}931agent # [ 7137.494691] agent flakelet-agent[3445]: {"timestamp":"2026-09-06T09:03:35.456409Z","level":"INFO","message":"connected","relay":"https://relay:7443","relay_name":"relay","relay_version":"0.1.0","host":"agent","target":"flakelet_relay::agent::conn"}932agent # [ 7141.269033] agent systemd[1]: Started app slow.933agent # [ 7141.286726] agent flakelet[3957]: app: updated to generation 9934agent # [ 7141.289431] agent systemd[1]: flakelet-relay-job-app.service: Deactivated successfully.935relay # [ 7141.495628] relay flakelet-relay[930]: {"timestamp":"2026-09-06T09:03:39.457301Z","level":"INFO","message":"job reattached","job":"5db510f7502269d7f2fdbab4153621fc","targets":"[\"agent/app\"]","target":"flakelet_relay::relay::api"}936agent # [ 7142.400954] agent flakelet-agent[3445]: {"timestamp":"2026-09-06T09:03:40.362663Z","level":"INFO","message":"update finished","flakelet":"app","status":"Updated","generation":"Some(9)","target":"flakelet_relay::agent::jobs"}937client: (finished: waiting for success: grep -q '» ok' /tmp/resume.out, in 7.09 seconds)938client: must succeed: cat /tmp/resume.out939client: (finished: must succeed: cat /tmp/resume.out, in 0.01 seconds)940(finished: subtest: relay restart mid-run, push resumes via /v1/jobs, in 9.64 seconds)941subtest: job history comes from the agents and survives a relay restart942client: must succeed: push --relay https://relay:7443 --cert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin.pem --key /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin-key.pem deploy --id hist1 agent/other 2>&1943relay # [ 7143.070051] relay flakelet-relay[930]: {"timestamp":"2026-09-06T09:03:41.031817Z","level":"INFO","message":"deploy accepted","job":"188b06c4636b65849b3ba8daac22dc7c","caller":"x509:email:admin@example.org","targets":"[\"agent/other\"]","target":"flakelet_relay::relay::api"}944agent # [ 7143.070542] agent flakelet-agent[3445]: {"timestamp":"2026-09-06T09:03:41.032241Z","level":"INFO","message":"start","id":"5be20c693e5c0b60e3f85779794dfb86","flakelet":"other","rule":"admins","relay":"relay","caller":"Some(\"x509:email:admin@example.org\")","target":"flakelet_relay::agent::conn"}945agent # [ 7143.071315] agent flakelet-agent[3445]: {"timestamp":"2026-09-06T09:03:41.033130Z","level":"INFO","message":"update starting","flakelet":"other","ids":"[\"5be20c693e5c0b60e3f85779794dfb86\"]","target":"flakelet_relay::agent::jobs"}946agent # [ 7143.131281] agent systemd[1]: Starting flakelet update other (via relay)...947agent # [ 7143.168082] agent systemd[1]: Started flakelet update other (via relay).948agent # [ 7143.172381] agent flakelet[4202]: other: using prebuilt artifact /nix/store/hmr990n0b4v6rpzrcpyyw738r9xi7z95-flakelet-other-v1949agent # [ 7143.172934] agent flakelet[4202]: other: up to date950agent # [ 7143.176072] agent systemd[1]: flakelet-relay-job-other.service: Deactivated successfully.951client: (finished: must succeed: push --relay https://relay:7443 --cert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin.pem --key /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin-key.pem deploy --id hist1 agent/other 2>&1, in 0.70 seconds)952relay: must succeed: systemctl restart flakelet-relay953relay # [ 7143.745143] relay flakelet-relay[930]: {"timestamp":"2026-09-06T09:03:41.706885Z","level":"INFO","message":"deploy finished","job":"188b06c4636b65849b3ba8daac22dc7c","ok":true,"target":"flakelet_relay::relay::api"}954relay # [ 7143.760812] relay systemd[1]: Stopping flakelet-relay...955relay # [ 7143.795439] relay systemd[1]: flakelet-relay.service: Deactivated successfully.956relay # [ 7143.795751] relay systemd[1]: Stopped flakelet-relay.957relay # [ 7143.795779] relay systemd[1]: flakelet-relay.service: Consumed 2.287s CPU time over 9.257s wall clock time.958relay # [ 7143.812122] relay systemd[1]: Starting flakelet-relay...959agent # [ 7143.743635] agent flakelet-agent[3445]: {"timestamp":"2026-09-06T09:03:41.705355Z","level":"INFO","message":"update finished","flakelet":"other","status":"Unchanged","generation":"Some(1)","target":"flakelet_relay::agent::jobs"}960agent # [ 7143.761201] agent flakelet-agent[3445]: {"timestamp":"2026-09-06T09:03:41.722989Z","level":"INFO","message":"disconnected: IO error: peer closed connection without sending TLS close_notify: https://docs.rs/rustls/latest/rustls/manual/_03_howto/index.html#unexpected-eof","relay":"https://relay:7443","target":"flakelet_relay::agent::conn"}961relay: (finished: must succeed: systemctl restart flakelet-relay, in 1.45 seconds)962relay: waiting for success: curl -sf http://127.0.0.1:7400/metrics | grep -q 'agent_up{host="agent"} 1'963agent # [ 7144.764960] agent flakelet-agent[3445]: {"timestamp":"2026-09-06T09:03:42.726687Z","level":"WARN","message":"connect failed: connect relay:7443: Connection refused (os error 111)","relay":"https://relay:7443","target":"flakelet_relay::agent::conn"}964relay # [ 7145.199251] relay flakelet-relay[1320]: {"timestamp":"2026-09-06T09:03:43.161000Z","level":"INFO","message":"listening on 127.0.0.1:7400","target":"flakelet_relay::relay::server"}965relay # [ 7145.200163] relay flakelet-relay[1320]: {"timestamp":"2026-09-06T09:03:43.161472Z","level":"INFO","message":"listening on [::]:7443","target":"flakelet_relay::relay::server"}966relay # [ 7145.199821] relay systemd[1]: Started flakelet-relay.967relay # [ 7146.778920] relay flakelet-relay[1320]: {"timestamp":"2026-09-06T09:03:44.740648Z","level":"INFO","message":"agent connected","host":"agent","version":"0.1.0","flakelets":"[Named { name: \"app\", generation: Some(9), revision: Some(\"prebuilt:app\") }, Named { name: \"other\", generation: Some(1), revision: Some(\"prebuilt:other\") }]","target":"flakelet_relay::relay::agent_conn"}968agent # [ 7146.778833] agent flakelet-agent[3445]: {"timestamp":"2026-09-06T09:03:44.740543Z","level":"INFO","message":"connected","relay":"https://relay:7443","relay_name":"relay","relay_version":"0.1.0","host":"agent","target":"flakelet_relay::agent::conn"}969relay: (finished: waiting for success: curl -sf http://127.0.0.1:7400/metrics | grep -q 'agent_up{host="agent"} 1', in 2.05 seconds)970client: must succeed: push --relay https://relay:7443 --cert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin.pem --key /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin-key.pem jobs971client: (finished: must succeed: push --relay https://relay:7443 --cert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin.pem --key /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin-key.pem jobs, in 0.02 seconds)972client: must succeed: echo '{"groups": []}' | step crypto jwt sign --key /nix/store/r7sclamg09v434w8zjlfnrcrn1w79wh6-flakelet-relay-test-issuer/jwk.json --iss https://relay:8443 --aud flakelet-relay --sub 'repo:github:example/app:ref:refs/heads/main' --exp $(( $(date +%s) + 300 )) --jti $(head -c8 /dev/urandom | base32)973client: (finished: must succeed: echo '{"groups": []}' | step crypto jwt sign --key /nix/store/r7sclamg09v434w8zjlfnrcrn1w79wh6-flakelet-relay-test-issuer/jwk.json --iss https://relay:8443 --aud flakelet-relay --sub 'repo:github:example/app:ref:refs/heads/main' --exp $(( $(date +%s) + 300 )) --jti $(head -c8 /dev/urandom | base32), in 0.06 seconds)974client: must succeed: FLAKELET_RELAY_TOKEN_COMMAND='echo eyJhbGciOiJFZERTQSIsImtpZCI6ImsxIiwidHlwIjoiSldUIn0.eyJhdWQiOiJmbGFrZWxldC1yZWxheSIsImV4cCI6MTc4ODY4NTcyNSwiZ3JvdXBzIjpbXSwiaWF0IjoxNzg4Njg1NDI1LCJpc3MiOiJodHRwczovL3JlbGF5Ojg0NDMiLCJqdGkiOiJGS0ZTM0tGQ1JPQzdHPT09IiwibmJmIjoxNzg4Njg1NDI1LCJzdWIiOiJyZXBvOmdpdGh1YjpleGFtcGxlL2FwcDpyZWY6cmVmcy9oZWFkcy9tYWluIn0.3TojkQJts2lLwtVAFNqK_QyRt01vQ4CeAxzIBpUWHGyjrASNPqmQRHrqQw-053VY8_SD9IdG_-4q5dmO_Is1Ag' push --relay https://relay:7443 jobs975client: (finished: must succeed: FLAKELET_RELAY_TOKEN_COMMAND='echo eyJhbGciOiJFZERTQSIsImtpZCI6ImsxIiwidHlwIjoiSldUIn0.eyJhdWQiOiJmbGFrZWxldC1yZWxheSIsImV4cCI6MTc4ODY4NTcyNSwiZ3JvdXBzIjpbXSwiaWF0IjoxNzg4Njg1NDI1LCJpc3MiOiJodHRwczovL3JlbGF5Ojg0NDMiLCJqdGkiOiJGS0ZTM0tGQ1JPQzdHPT09IiwibmJmIjoxNzg4Njg1NDI1LCJzdWIiOiJyZXBvOmdpdGh1YjpleGFtcGxlL2FwcDpyZWY6cmVmcy9oZWFkcy9tYWluIn0.3TojkQJts2lLwtVAFNqK_QyRt01vQ4CeAxzIBpUWHGyjrASNPqmQRHrqQw-053VY8_SD9IdG_-4q5dmO_Is1Ag' push --relay https://relay:7443 jobs, in 0.02 seconds)976(finished: subtest: job history comes from the agents and survives a relay restart, in 4.30 seconds)977subtest: dashboard login via authorization code flow978client: must succeed: curl -sS --cacert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/ca.pem -b /tmp/jar -c /tmp/jar -o /dev/null -w '%{http_code} %{redirect_url}' https://relay:7443/ui/ | grep -q '303 https://relay:7443/ui/login'979client: (finished: must succeed: curl -sS --cacert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/ca.pem -b /tmp/jar -c /tmp/jar -o /dev/null -w '%{http_code} %{redirect_url}' https://relay:7443/ui/ | grep -q '303 https://relay:7443/ui/login', in 0.02 seconds)980client: must succeed: curl -sS --cacert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/ca.pem -b /tmp/jar -c /tmp/jar -L https://relay:7443/ui/login981client: (finished: must succeed: curl -sS --cacert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/ca.pem -b /tmp/jar -c /tmp/jar -L https://relay:7443/ui/login, in 0.08 seconds)982client: must succeed: curl -sS --cacert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/ca.pem -b /tmp/jar -c /tmp/jar https://relay:7443/ui/jobs983client: (finished: must succeed: curl -sS --cacert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/ca.pem -b /tmp/jar -c /tmp/jar https://relay:7443/ui/jobs, in 0.02 seconds)984client: must succeed: curl -sS --cacert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/ca.pem -b /tmp/jar -c /tmp/jar -f https://relay:7443/v1/jobs | grep -q hist1985client: (finished: must succeed: curl -sS --cacert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/ca.pem -b /tmp/jar -c /tmp/jar -f https://relay:7443/v1/jobs | grep -q hist1, in 0.02 seconds)986client: must succeed: curl -sS --cacert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/ca.pem -b /tmp/jar -c /tmp/jar -N --max-time 10 https://relay:7443/ui/jobs/hist1/events || true987client: (finished: must succeed: curl -sS --cacert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/ca.pem -b /tmp/jar -c /tmp/jar -N --max-time 10 https://relay:7443/ui/jobs/hist1/events || true, in 0.02 seconds)988client: must succeed: curl -sS --cacert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/ca.pem -b /tmp/jar -c /tmp/jar -o /dev/null -w '%{http_code}' -X POST 'https://relay:7443/ui/deploy?arg=other' | grep -q 403989client: (finished: must succeed: curl -sS --cacert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/ca.pem -b /tmp/jar -c /tmp/jar -o /dev/null -w '%{http_code}' -X POST 'https://relay:7443/ui/deploy?arg=other' | grep -q 403, in 0.02 seconds)990client: must succeed: curl -sS --cacert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/ca.pem -b /tmp/jar -c /tmp/jar -D - -o /dev/null -H 'HX-Request: true' -X POST 'https://relay:7443/ui/deploy?arg=other'991client: (finished: must succeed: curl -sS --cacert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/ca.pem -b /tmp/jar -c /tmp/jar -D - -o /dev/null -H 'HX-Request: true' -X POST 'https://relay:7443/ui/deploy?arg=other', in 0.02 seconds)992client: must succeed: curl -sS --cacert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/ca.pem -b /tmp/jar -c /tmp/jar -N --max-time 30 https://relay:7443/ui/jobs/ef85ddceb1a01629e101e7eeb99ebcfe/events || true993relay # [ 7147.406305] relay 93sn3sv24fj26ksccpppzwg6kbf10s4w-device-mock[186]: 127.0.0.1 - - [06/Sep/2026 09:03:45] "GET /authorize?response_type=code&client_id=dashboard&redirect_uri=https%3A%2F%2Frelay%3A7443%2Fui%2Fcallback&scope=openid%20profile%20email%20groups&state=c_pBSB24gzPnLECny4aku529JsV_bB34RPfF-SQkcag&code_challenge=ksGes9YjRjZ1Xc0V8ocLTnPAFtpEfnhhE24HCvn1CpU&code_challenge_method=S256 HTTP/1.1" 302 -994relay # [ 7147.454559] relay 93sn3sv24fj26ksccpppzwg6kbf10s4w-device-mock[186]: 127.0.0.1 - - [06/Sep/2026 09:03:45] "POST /token HTTP/1.1" 200 -995relay # [ 7147.455498] relay flakelet-relay[1320]: {"timestamp":"2026-09-06T09:03:45.417301Z","level":"INFO","message":"login","name":"someone","principals":"[\"oidc:mock:someone\", \"oidc:mock:groups:wheel\"]","target":"flakelet_relay::relay::login"}996relay # [ 7147.517733] relay flakelet-relay[1320]: {"timestamp":"2026-09-06T09:03:45.479498Z","level":"INFO","message":"job reattached","job":"188b06c4636b65849b3ba8daac22dc7c","targets":"[\"agent/other\"]","target":"flakelet_relay::relay::api"}997relay # [ 7147.560448] relay flakelet-relay[1320]: {"timestamp":"2026-09-06T09:03:45.522207Z","level":"INFO","message":"deploy accepted","job":"a518ed429ad2ba96f34fb9ac3cb9fe02","caller":"oidc:mock:someone","targets":"[\"agent/other\"]","target":"flakelet_relay::relay::api"}998relay # [ 7147.581441] relay flakelet-relay[1320]: {"timestamp":"2026-09-06T09:03:45.543256Z","level":"INFO","message":"job reattached","job":"a518ed429ad2ba96f34fb9ac3cb9fe02","targets":"[\"agent/other\"]","target":"flakelet_relay::relay::api"}999agent # [ 7147.560771] agent flakelet-agent[3445]: {"timestamp":"2026-09-06T09:03:45.522485Z","level":"INFO","message":"start","id":"f9b5b9bbbb4c84003ad440f2a3e0450a","flakelet":"other","rule":"admins","relay":"relay","caller":"Some(\"oidc:mock:someone\\noidc:mock:groups:wheel\")","target":"flakelet_relay::agent::conn"}1000agent # [ 7147.561300] agent flakelet-agent[3445]: {"timestamp":"2026-09-06T09:03:45.523118Z","level":"INFO","message":"update starting","flakelet":"other","ids":"[\"f9b5b9bbbb4c84003ad440f2a3e0450a\"]","target":"flakelet_relay::agent::jobs"}1001agent # [ 7147.625171] agent systemd[1]: Starting flakelet update other (via relay)...1002agent # [ 7147.657048] agent systemd[1]: Started flakelet update other (via relay).1003agent # [ 7147.661258] agent flakelet[4266]: other: using prebuilt artifact /nix/store/hmr990n0b4v6rpzrcpyyw738r9xi7z95-flakelet-other-v11004agent # [ 7147.661806] agent flakelet[4266]: other: up to date1005agent # [ 7147.663903] agent systemd[1]: flakelet-relay-job-other.service: Deactivated successfully.1006client: (finished: must succeed: curl -sS --cacert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/ca.pem -b /tmp/jar -c /tmp/jar -N --max-time 30 https://relay:7443/ui/jobs/ef85ddceb1a01629e101e7eeb99ebcfe/events || true, in 0.68 seconds)1007client: must succeed: curl -sS --cacert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/ca.pem -b /tmp/jar -c /tmp/jar https://relay:7443/ui/jobs/ef85ddceb1a01629e101e7eeb99ebcfe1008client: (finished: must succeed: curl -sS --cacert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/ca.pem -b /tmp/jar -c /tmp/jar https://relay:7443/ui/jobs/ef85ddceb1a01629e101e7eeb99ebcfe, in 0.02 seconds)1009client: must succeed: curl -sS --cacert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/ca.pem -b /tmp/jar -c /tmp/jar -sf -o /dev/null https://relay:7443/ui/static/htmx.min.js1010client: (finished: must succeed: curl -sS --cacert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/ca.pem -b /tmp/jar -c /tmp/jar -sf -o /dev/null https://relay:7443/ui/static/htmx.min.js, in 0.02 seconds)1011client: must succeed: curl -sS --cacert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/ca.pem -b /tmp/jar -c /tmp/jar 'https://relay:7443/ui/?q=status%3Ahealthy+oth'1012client: (finished: must succeed: curl -sS --cacert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/ca.pem -b /tmp/jar -c /tmp/jar 'https://relay:7443/ui/?q=status%3Ahealthy+oth', in 0.02 seconds)1013client: must succeed: curl -sS --cacert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/ca.pem -b /tmp/jar -c /tmp/jar https://relay:7443/ui/flakelets/other1014client: (finished: must succeed: curl -sS --cacert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/ca.pem -b /tmp/jar -c /tmp/jar https://relay:7443/ui/flakelets/other, in 0.02 seconds)1015client: must succeed: curl -sS --cacert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/ca.pem -b /tmp/jar -c /tmp/jar 'https://relay:7443/ui/hosts?q=status%3Adisconnected'1016client: (finished: must succeed: curl -sS --cacert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/ca.pem -b /tmp/jar -c /tmp/jar 'https://relay:7443/ui/hosts?q=status%3Adisconnected', in 0.02 seconds)1017client: must succeed: curl -sS --cacert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/ca.pem -b /tmp/jar -c /tmp/jar -o /dev/null -w '%{http_code}' -H 'HX-Request: true' -X POST 'https://relay:7443/ui/retry?arg=ef85ddceb1a01629e101e7eeb99ebcfe' | grep -q 4001018client: (finished: must succeed: curl -sS --cacert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/ca.pem -b /tmp/jar -c /tmp/jar -o /dev/null -w '%{http_code}' -H 'HX-Request: true' -X POST 'https://relay:7443/ui/retry?arg=ef85ddceb1a01629e101e7eeb99ebcfe' | grep -q 400, in 0.02 seconds)1019client: must succeed: curl -sS --cacert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/ca.pem -b /tmp/jar -c /tmp/jar -N --max-time 15 'https://relay:7443/ui/events?path=jobs' > /tmp/ev.out 2>&1 &1020client: (finished: must succeed: curl -sS --cacert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/ca.pem -b /tmp/jar -c /tmp/jar -N --max-time 15 'https://relay:7443/ui/events?path=jobs' > /tmp/ev.out 2>&1 &, in 0.01 seconds)1021client: must succeed: push --relay https://relay:7443 --cert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin.pem --key /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin-key.pem deploy --id live1 agent/other1022» job 38796a7ba508eadfe82a1cd5def000bc via relay 0.1.0 (agents: agent 0.1.0)1023» wave 01024agent/other | Starting flakelet update other (via relay)...1025agent/other | Started flakelet update other (via relay).1026agent/other | other: using prebuilt artifact /nix/store/hmr990n0b4v6rpzrcpyyw738r9xi7z95-flakelet-other-v11027agent/other | other: up to date1028agent # [ 7148.236106] agent flakelet-agent[3445]: {"timestamp":"2026-09-06T09:03:46.197817Z","level":"INFO","message":"update finished","flakelet":"other","status":"Unchanged","generation":"Some(1)","target":"flakelet_relay::agent::jobs"}1029agent # [ 7148.385795] agent flakelet-agent[3445]: {"timestamp":"2026-09-06T09:03:46.347526Z","level":"INFO","message":"start","id":"5e317fc57863c2a7c03ebe1bdacd1356","flakelet":"other","rule":"admins","relay":"relay","caller":"Some(\"x509:email:admin@example.org\")","target":"flakelet_relay::agent::conn"}1030agent/otheragent # [ 7148.386343] agent flakelet-agent[3445]: {"timestamp":"2026-09-06T09:03:46.348161Z","level":"INFO","message":"update starting","flakelet":"other","ids":"[\"5e317fc57863c2a7c03ebe1bdacd1356\"]","target":"flakelet_relay::agent::jobs"}1031 | agent # [ 7148.428289] agent systemd[1]: Starting flakelet update other (via relay)...1032flakelet-relay-job-other.service: Deactivated successfully.agent # [ 7148.461177] agent systemd[1]: Started flakelet update other (via relay).10331034agent # [ 7148.465471] agent flakelet[4316]: other: using prebuilt artifact /nix/store/hmr990n0b4v6rpzrcpyyw738r9xi7z95-flakelet-other-v11035agent # [ 7148.466115] agent flakelet[4316]: other: up to date1036agent # [ 7148.468384] agent systemd[1]: flakelet-relay-job-other.service: Deactivated successfully.1037relay # [ 7148.385417] relay flakelet-relay[1320]: {"timestamp":"2026-09-06T09:03:46.347190Z","level":"INFO","message":"deploy accepted","job":"38796a7ba508eadfe82a1cd5def000bc","caller":"x509:email:admin@example.org","targets":"[\"agent/other\"]","target":"flakelet_relay::relay::api"}1038» agent/other: unchanged (generation 1)1039» ok1040client: (finished: must succeed: push --relay https://relay:7443 --cert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin.pem --key /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/admin-key.pem deploy --id live1 agent/other, in 0.67 seconds)1041client: waiting for success: grep -q live1 /tmp/ev.out1042client: (finished: waiting for success: grep -q live1 /tmp/ev.out, in 0.01 seconds)1043client: must succeed: curl -sS --cacert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/ca.pem -b /tmp/jar -c /tmp/jar -X POST -o /dev/null https://relay:7443/ui/logout1044client: (finished: must succeed: curl -sS --cacert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/ca.pem -b /tmp/jar -c /tmp/jar -X POST -o /dev/null https://relay:7443/ui/logout, in 0.02 seconds)1045client: must succeed: curl -sS --cacert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/ca.pem -b /tmp/jar -c /tmp/jar -o /dev/null -w '%{http_code}' https://relay:7443/ui/ | grep -q 3031046client: (finished: must succeed: curl -sS --cacert /nix/store/ydql3jgw8j7khsad67k605wlnywsd36n-flakelet-relay-test-certs/ca.pem -b /tmp/jar -c /tmp/jar -o /dev/null -w '%{http_code}' https://relay:7443/ui/ | grep -q 303, in 0.02 seconds)1047(finished: subtest: dashboard login via authorization code flow, in 1.74 seconds)1048(finished: run the VM test script, in 88.83 seconds)1049test script finished in 88.86s1050cleanup1051kill NspawnMachine (pid 52)1052kill NspawnMachine (pid 53)1053Container agent terminated by signal KILL.1054kill NspawnMachine (pid 56)1055Container client terminated by signal KILL.1056relay # [ 7149.037983] relay flakelet-relay[1320]: {"timestamp":"2026-09-06T09:03:46.999720Z","level":"INFO","message":"deploy finished","job":"38796a7ba508eadfe82a1cd5def000bc","ok":true,"target":"flakelet_relay::relay::api"}1057Container relay terminated by signal KILL.1058(finished: cleanup, in 0.39 seconds)1059additionally exposed symbols:1060 agent, client, relay,1061 vlan1,1062 start_all, test_script, machines, machines_qemu, machines_nspawn, vlans, driver, log, os, create_machine, subtest, run_tests, join_all, retry, serial_stdout_off, serial_stdout_on, polling_condition, BaseMachine, QemuMachine, NspawnMachine, t, debug, dump_machine_ssh1063» job 4dfcd6a1307dc3955ab5419a0b58ae41 via relay 0.1.0 (agents: agent 0.1.0)1064» wave 01065agent/app | Starting flakelet update app (via relay)...1066agent/app | Started flakelet update app (via relay).1067agent/app | app: using prebuilt artifact /nix/store/6ili1vxjlag9d7dy0bxrbxk6bpi5qh9p-flakelet-app-v21068agent/app | app: activating generation 21069agent/app | app: updated to generation 21070agent/app | flakelet-relay-job-app.service: Deactivated successfully.1071» agent/app: updated (generation 2)1072» ok10731074» job 00227d8e7a7cc2ba4f5b00bc61918b89 via relay 0.1.0 (agents: agent 0.1.0)1075» wave 01076agent/app | Starting flakelet update app (via relay)...1077agent/app | Started flakelet update app (via relay).1078agent/app | app: using prebuilt artifact /nix/store/8282rnbvyk847q4l4zby3zwcq3jpzrvw-flakelet-app-broken1079agent/app | app: activating generation 41080agent/app | app: deploy failed, rolled back: systemctl start app.service failed:1081agent/app | failed units: app.service. See journalctl -u app.service1082agent/app | flakelet-relay-job-app.service: Main process exited, code=exited, status=1/FAILURE1083agent/app | flakelet-relay-job-app.service: Failed with result 'exit-code'.1084» agent/app: rolled-back (generation 3)1085agent/app │ Starting app v1...1086agent/app │ Started app v1.1087agent/app │ Stopping app v1...1088agent/app │ app.service: Deactivated successfully.1089agent/app │ Stopped app v1.1090agent/app │ Starting app v2...1091agent/app │ Started app v2.1092agent/app │ Stopping app v2...1093agent/app │ app.service: Deactivated successfully.1094agent/app │ Stopped app v2.1095agent/app │ Starting app v1...1096agent/app │ Started app v1.1097agent/app │ Stopping app v1...1098agent/app │ app.service: Deactivated successfully.1099agent/app │ Stopped app v1.1100agent/app │ Starting app broken...1101agent/app │ app.service: Unable to locate executable '/nonexistent': No such file or directory1102agent/app │ app.service: Failed at step EXEC spawning /nonexistent: No such file or directory1103agent/app │ app.service: Main process exited, code=exited, status=203/EXEC1104agent/app │ app.service: Failed with result 'exit-code'.1105agent/app │ Failed to start app broken.1106agent/app │ Starting app v1...1107agent/app │ Started app v1.1108» skipped: agent/other1109» failed11101111» job 2f7e4406758476db1103d11a4bf18a40 via relay 0.1.0 (agents: agent 0.1.0)1112» wave 01113agent/app | Starting flakelet update app (via relay)...1114agent/app | Started flakelet update app (via relay).1115agent/app | app: using prebuilt artifact /nix/store/c67jj8kx3m50nyj874aqmdqf21w5iznd-flakelet-app-slow1116agent/app | app: activating generation 71117agent/app | app: updated to generation 71118agent/app | flakelet-relay-job-app.service: Deactivated successfully.1119» agent/app: updated (generation 7)1120» ok11211122» job 397f7251692b357519a399ab8d87e5ba via relay 0.1.0 (agents: agent 0.1.0)1123» wave 01124agent/app | Starting flakelet update app (via relay)...1125agent/app | Started flakelet update app (via relay).1126agent/app | app: using prebuilt artifact /nix/store/ln47rsd5km8a04hd5zlkz4q1v352zqh3-flakelet-app-slow21127agent/app | app: activating generation 81128agent/app | app: updated to generation 81129agent/app | flakelet-relay-job-app.service: Deactivated successfully.1130» agent/app: updated (generation 8)1131» ok11321133» job 5db510f7502269d7f2fdbab4153621fc via relay 0.1.0 (agents: agent 0.1.0)1134» wave 01135agent/app | Starting flakelet update app (via relay)...1136agent/app | Started flakelet update app (via relay).1137agent/app | app: using prebuilt artifact /nix/store/c67jj8kx3m50nyj874aqmdqf21w5iznd-flakelet-app-slow1138agent/app | app: activating generation 91139flakelet-push: stream: error reading a body from connection, resuming job e5707f82854f8fdd588d08d9f9ae58261140flakelet-push: https://relay:7443: connect relay:7443: Connection refused (os error 111), retrying in 1s1141flakelet-push: https://relay:7443: connect relay:7443: Connection refused (os error 111), retrying in 2s1142flakelet-push: https://relay:7443: 404 Not Found: unknown_job: no connected agent knows this job, retrying in 4s1143» job 5db510f7502269d7f2fdbab4153621fc via relay 0.1.0 (agents: agent 0.1.0)1144» wave 01145agent/app | app: updated to generation 91146agent/app | flakelet-relay-job-app.service: Deactivated successfully.1147» agent/app: updated (generation 9)1148» ok114911501788685421 hist1 x509:email:admin@example.org agent/other:unchanged11511788685411 e5707f82854f8fdd588d08d9f9ae5826 x509:email:admin@example.org agent/app:updated11521788685402 bafd9178d160b3adf54068c48b7fda36 x509:email:admin@example.org agent/app:updated11531788685386 fc13e4685ca22452e70e4f6c5a1a43d6 x509:email:admin@example.org agent/app:updated11541788685376 5accdb95d5c0386dc8e4606407464c22 x509:email:admin@example.org agent/other:unchanged11551788685364 2d35fa56e6416c3c564f3fadce9009be x509:email:admin@example.org agent/app:unchanged11561788685364 c4bd6d68c3bec95f77603357eea390c1 x509:email:admin@example.org agent/app:updated11571788685363 2aded468b05bd93489963a17092d3c73 x509:email:admin@example.org agent/app:unchanged11581788685362 3875b5a120a705361df332f2c790211e x509:email:admin@example.org agent/app:unchanged11591788685357 6113256b3149d9c799443b152432a5a5 x509:email:admin@example.org agent/app:rolled-back11601788685355 d5785d4d35bc9355d9876bc5769db0f5 oidc:mock:groups:wheel agent/other:unchanged11611788685355 d5cb1f5ebbc5da4fac39905e219edc81 oidc:mock:groups:wheel agent/other:unchanged11621788685352 80030772b4dd62db8184ae9f6f226604 oidc:mock:groups:wheel agent/other:unchanged11631788685348 0d178d0bfa8625fccac50f94c61e4c07 oidc:mock:repo:github:example/app:ref:refs/heads/main agent/app:updated11641788685345 d4ced8f77ac827270a49fa52c1e54b0f x509:email:admin@example.org agent/app:updated1165