e47aebb7a0 
							
						 
					 
					
						
						
							
							internal/app/outcome: apply configured filesystems late  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 27s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 1m42s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 2m37s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 3m33s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m10s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m49s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m29s 
				
			 
		
		
	 
 
	 
						
						This enables configured filesystems to cover system mount points.
Closes  #8 .
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-19 01:41:52 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							9e48d7f562 
							
						 
					 
					
						
						
							
							hst/config: move container fields from toplevel  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 33s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m7s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 3m54s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 5m18s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 2m10s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 2m13s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m33s 
				
			 
		
		
	 
 
	 
						
						This change also moves pd behaviour to cmd/hakurei, as this does not belong in the hst API.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-07 04:24:45 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							f280994957 
							
						 
					 
					
						
						
							
							internal/app: check nscd socket for path hiding  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 34s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 45s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 45s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 42s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 1m32s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 2m19s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m26s 
				
			 
		
		
	 
 
	 
						
						This can seriously break things, and exposes extra host attack surface, so include it here.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-05 20:47:30 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							83c4f8b767 
							
						 
					 
					
						
						
							
							test/sandbox: check extra writable paths  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Hakurei (push) Successful in 48s 
				
			 
		
			
				
	Test / Create distribution (push) Successful in 39s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 49s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 47s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 1m52s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 2m54s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m21s 
				
			 
		
		
	 
 
	 
						
						This is not always obvious from mountinfo.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-09-14 15:12:51 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							ca247b8037 
							
						 
					 
					
						
						
							
							internal/app: mount /dev/shm early  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 38s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 49s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 47s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 1m40s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 2m10s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 2m15s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m30s 
				
			 
		
		
	 
 
	 
						
						This avoids covering /dev/shm mounts from hst.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-09-14 01:49:42 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							9bc8532d56 
							
						 
					 
					
						
						
							
							container/initdev: mount tmpfs on shm for ro dev  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 26s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m13s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 2m51s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 3m58s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m26s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m46s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m26s 
				
			 
		
		
	 
 
	 
						
						Programs expect /dev/shm to be a writable tmpfs.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-08-26 03:27:07 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							4cf694d2b3 
							
						 
					 
					
						
						
							
							hst: use hsu userid for share path suffix  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 34s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m8s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m11s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m8s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m31s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 5m8s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m25s 
				
			 
		
		
	 
 
	 
						
						The privileged user is identifier to hakurei through its hsu userid. Using the kernel uid here makes little sense and is a leftover design choice from before hsu was implemented.
Closes  #7 .
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-08-26 02:16:33 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							c9facb746b 
							
						 
					 
					
						
						
							
							hst/config: remove data field, rename dir to home  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 34s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m13s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m10s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m5s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m27s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 5m7s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m28s 
				
			 
		
		
	 
 
	 
						
						There is no reason to give the home directory special treatment, as this behaviour can be quite confusing. The home directory also does not necessarily require its own mount point, it could be provided by a parent or simply be ephemeral.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-08-26 00:56:10 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							0dcac55a0c 
							
						 
					 
					
						
						
							
							hst/config: remove container etc field  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 36s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m25s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m18s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m14s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m32s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 5m19s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m29s 
				
			 
		
		
	 
 
	 
						
						This no longer needs special treatment since it can be specified as a generic filesystem entry.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-08-25 19:24:33 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							5db0714072 
							
						 
					 
					
						
						
							
							container: optionally isolate host abstract UNIX domain sockets via landlock  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (pull_request) Successful in 33s 
				
			 
		
			
				
	Test / Sandbox (pull_request) Successful in 2m10s 
				
			 
		
			
				
	Test / Hpkg (pull_request) Successful in 4m1s 
				
			 
		
			
				
	Test / Sandbox (race detector) (pull_request) Successful in 4m19s 
				
			 
		
			
				
	Test / Hakurei (pull_request) Successful in 4m55s 
				
			 
		
			
				
	Test / Hakurei (race detector) (pull_request) Successful in 5m0s 
				
			 
		
			
				
	Test / Create distribution (push) Successful in 27s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 44s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 44s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 47s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 47s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 45s 
				
			 
		
			
				
	Test / Flake checks (pull_request) Successful in 1m47s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m36s 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2025-08-18 16:28:14 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							38245559dc 
							
						 
					 
					
						
						
							
							container/ops: mount dev readonly  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 33s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m2s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 2m57s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 3m53s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 3m53s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m37s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m18s 
				
			 
		
		
	 
 
	 
						
						There is usually no good reason to write to /dev. This however doesn't work in internal/app because FilesystemConfig supplied by ContainerConfig might add entries to /dev, so internal/app follows DevWritable with Remount instead.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-08-03 19:18:53 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							3b8a3d3b00 
							
						 
					 
					
						
						
							
							app: remount root readonly  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 25s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 41s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 42s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 45s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 44s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 2m13s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m25s 
				
			 
		
		
	 
 
	 
						
						This does nothing for security, but should help avoid hiding bugs of programs developed in a hakurei container.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-08-01 23:56:28 +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 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							547a2adaa4 
							
						 
					 
					
						
						
							
							container/mount: pass tmpfs flags  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 32s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m1s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 3m57s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 3m55s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m30s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 2m18s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m14s 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-08-01 18:59:06 +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 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							987981df73 
							
						 
					 
					
						
						
							
							test/sandbox: check pd behaviour  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 34s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 42s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 44s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 42s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 45s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 43s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m23s 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-08-01 03:27:02 +09:00