9ed3ba85ea 
							
						 
					 
					
						
						
							
							hst/fs: implement overlay fstype  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 33s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m8s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m8s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 3m59s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m20s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 5m1s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m27s 
				
			 
		
		
	 
 
	 
						
						This finally exposes overlay mounts in the high level hakurei API.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-08-15 04:00:55 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							430991c39b 
							
						 
					 
					
						
						
							
							hst/fs: remove type method  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 33s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m3s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m7s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 3m51s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m14s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m54s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m28s 
				
			 
		
		
	 
 
	 
						
						Having a method that returns the canonical string representation of its type seemed like a much better idea for an implementation that never made it to staging. Remove it here and clean up marshal type assertions.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-08-15 00:39:02 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							0e543a58b3 
							
						 
					 
					
						
						
							
							hst/fs: valid method on underlying interface  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 33s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 1m59s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m6s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m16s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m24s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 5m7s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m39s 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-08-14 21:36:22 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							c989e7785a 
							
						 
					 
					
						
						
							
							hst/info: include extra information  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 43s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m34s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m45s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m33s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m41s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 5m25s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m37s 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-08-14 19:52:03 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							99ac96511b 
							
						 
					 
					
						
						
							
							hst/fs: interface filesystem config  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 33s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m14s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m37s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m27s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m23s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 5m22s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m22s 
				
			 
		
		
	 
 
	 
						
						This allows mount points to be represented by different underlying structs.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-08-14 04:52:49 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							e99d7affb0 
							
						 
					 
					
						
						
							
							container: use absolute for pathname  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Flake checks (push) Successful in 1m26s 
				
			 
		
			
				
	Test / Create distribution (push) Successful in 33s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 1m59s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 2m58s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 3m45s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m11s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m47s 
				
			 
		
		
	 
 
	 
						
						This is simultaneously more efficient and less error-prone. This change caused minor API changes in multiple other packages.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-08-11 04:56:42 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							c6be82bcf9 
							
						 
					 
					
						
						
							
							container/path: fhs path constants  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 33s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m6s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m6s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m14s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m11s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m40s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m18s 
				
			 
		
		
	 
 
	 
						
						This increases readability since this can help disambiguate absolute paths from similarly named path segments.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-08-03 21:16:45 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							b32b1975a8 
							
						 
					 
					
						
						
							
							hst/container: remove cover  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 33s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m6s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 2m56s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 3m55s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 3m55s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m31s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m20s 
				
			 
		
		
	 
 
	 
						
						This was never useful, and is now completely replaced by regular FilesystemConfig being able to mount tmpfs.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-08-02 00:34:52 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							af0899de96 
							
						 
					 
					
						
						
							
							hst/container: mount tmpfs via magic src string  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 33s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m10s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 2m50s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 3m53s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 3m54s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m30s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m24s 
				
			 
		
		
	 
 
	 
						
						There's often good reason to mount tmpfs in the container.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-08-01 21:23:52 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							387b86bcdd 
							
						 
					 
					
						
						
							
							app: integrate container autoroot  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 36s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m25s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m13s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m36s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 5m2s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 2m40s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m36s 
				
			 
		
		
	 
 
	 
						
						Doing this instead of mounting directly on / because it's impossible to ensure a parent is available for every path hakurei wants to mount to. This situation is similar to autoetc hence the similar name, however a symlink mirror will not work in this case.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-08-01 04:21:54 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							f7bd28118c 
							
						 
					 
					
						
						
							
							hst: configurable wait delay  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 32s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 1m58s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 2m47s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 3m56s 
				
			 
		
			
				
	Test / Planterette (push) Successful in 3m58s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m31s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m17s 
				
			 
		
		
	 
 
	 
						
						This is useful for programs that take a long time to clean up.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-07-29 03:06:49 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							b43d104680 
							
						 
					 
					
						
						
							
							app: integrate interrupt forwarding  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 32s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 1m58s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 2m53s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 3m53s 
				
			 
		
			
				
	Test / Planterette (push) Successful in 3m53s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m31s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m19s 
				
			 
		
		
	 
 
	 
						
						This significantly increases usability of command line tools running through hakurei.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-07-29 02:23:06 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							d2f9a9b83b 
							
						 
					 
					
						
						
							
							treewide: migrate to hakurei.app  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 24s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 46s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 2m9s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 3m14s 
				
			 
		
			
				
	Test / Planterette (push) Successful in 3m41s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 3m40s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m18s 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-07-03 03:30:39 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							1b5ecd9eaf 
							
						 
					 
					
						
						
							
							container: move out of toplevel  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 32s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 1m52s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 3m14s 
				
			 
		
			
				
	Test / Planterette (push) Successful in 3m36s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m31s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 2m3s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m13s 
				
			 
		
		
	 
 
	 
						
						This allows slightly easier use of the vanity url. This also provides some disambiguation between low level containers and hakurei app containers.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-07-03 02:59:43 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							82561d62b6 
							
						 
					 
					
						
						
							
							system: move system access packages  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 31s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 1m52s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m3s 
				
			 
		
			
				
	Test / Planterette (push) Successful in 3m38s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m48s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 1m14s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m6s 
				
			 
		
		
	 
 
	 
						
						These packages loosely belong in the "system" package and "system" provides high level wrappers for all of them.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-07-02 21:52:07 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							eec021cc4b 
							
						 
					 
					
						
						
							
							hakurei: move container helpers toplevel  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 32s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m1s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 2m52s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 3m8s 
				
			 
		
			
				
	Test / Planterette (push) Successful in 3m32s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m27s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m9s 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-07-02 21:31:29 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							eb22a8bcc1 
							
						 
					 
					
						
						
							
							cmd/hakurei: move to cmd  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 31s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 1m50s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m2s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 3m18s 
				
			 
		
			
				
	Test / Planterette (push) Successful in 3m36s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m35s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m7s 
				
			 
		
		
	 
 
	 
						
						Having it at the project root never made sense since the "ego" name was deprecated. This change finally addresses it.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-07-02 20:42:51 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							31aef905fa 
							
						 
					 
					
						
						
							
							sandbox: expose seccomp interface  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 31s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 1m59s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 2m47s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 3m11s 
				
			 
		
			
				
	Test / Planterette (push) Successful in 3m34s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m22s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m8s 
				
			 
		
		
	 
 
	 
						
						There's no point in artificially limiting and abstracting away these options. The higher level hakurei package is responsible for providing a secure baseline and sane defaults. The sandbox package should present everything to the caller.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-07-02 04:47:13 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							26b7afc890 
							
						 
					 
					
						
						
							
							sandbox/seccomp: prepare -> export  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 32s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 1m51s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 3m3s 
				
			 
		
			
				
	Test / Planterette (push) Successful in 3m37s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m17s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 2m12s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m12s 
				
			 
		
		
	 
 
	 
						
						Export makes a lot more sense, and also matches the libseccomp function.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-07-02 00:32:48 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							1a8840bebc 
							
						 
					 
					
						
						
							
							sandbox/seccomp: resolve rules natively  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 32s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 1m45s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 2m49s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 3m1s 
				
			 
		
			
				
	Test / Planterette (push) Successful in 3m31s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m18s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m6s 
				
			 
		
		
	 
 
	 
						
						This enables loading syscall filter policies from external cross-platform config files.
This also removes a significant amount of C code.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-07-01 22:11:32 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							87e008d56d 
							
						 
					 
					
						
						
							
							treewide: rename to hakurei  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 43s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m18s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m10s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 3m30s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m43s 
				
			 
		
			
				
	Test / Fpkg (push) Successful in 5m4s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m12s 
				
			 
		
		
	 
 
	 
						
						Fortify makes little sense for a container tool.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-06-25 04:57:41 +09:00