too lazy to think of a message, so enjoy this pointless text. Good luck future me...
This commit is contained in:
		
							parent
							
								
									dc2663dbd6
								
							
						
					
					
						commit
						33aadaaecd
					
				
					 4 changed files with 48 additions and 29 deletions
				
			
		|  | @ -16,7 +16,7 @@ in | |||
|   # Server configuration | ||||
|   #============================================================================================================== | ||||
|   roles.server = { | ||||
|     interface = { lib, ... }:  | ||||
|     interface = { lib, ... }: | ||||
|     let | ||||
|       inherit (lib) mkOption types toString; | ||||
|     in | ||||
|  | @ -35,30 +35,28 @@ in | |||
| 
 | ||||
|     perInstance = { instanceName, settings, machine, roles, ... }: { | ||||
|       nixosModule = { config, pkgs, ... }: { | ||||
|         clan.core.vars.generators = { | ||||
|           k3s = { | ||||
|             share = false; | ||||
|             files = { | ||||
|               ip_v6 = { | ||||
|                 deploy = false; | ||||
|                 secret = false; | ||||
|               }; | ||||
|               ip_v4 = { | ||||
|                 deploy = false; | ||||
|                 secret = false; | ||||
|               }; | ||||
|               token = { | ||||
|                 deploy = true; | ||||
|                 secret = true; | ||||
|               }; | ||||
|         clan.core.vars.generators.k3s = { | ||||
|           share = false; | ||||
|           files = { | ||||
|             ip_v6 = { | ||||
|               deploy = false; | ||||
|               secret = false; | ||||
|             }; | ||||
|             ip_v4 = { | ||||
|               deploy = false; | ||||
|               secret = false; | ||||
|             }; | ||||
|             token = { | ||||
|               deploy = true; | ||||
|               secret = true; | ||||
|             }; | ||||
|             runtimeInputs = with pkgs; [ pwgen ]; | ||||
|             script = '' | ||||
|               echo "::1" > "$out/ip_v6" | ||||
|               echo "127.0.0.1" > "$out/ip_v4" | ||||
|               pwgen 50 1 > "$out/token" | ||||
|             ''; | ||||
|           }; | ||||
|           runtimeInputs = with pkgs; [ pwgen ]; | ||||
|           script = '' | ||||
|             echo "::1" > "$out/ip_v6" | ||||
|             echo "127.0.0.1" > "$out/ip_v4" | ||||
|             pwgen 50 1 > "$out/token" | ||||
|           ''; | ||||
|         }; | ||||
| 
 | ||||
|         networking.firewall = { | ||||
|  | @ -95,7 +93,7 @@ in | |||
|     }; | ||||
| 
 | ||||
|     perInstance = { instanceName, settings, machine, roles, ... }: { | ||||
|       nixosModule = { config, ... }:  | ||||
|       nixosModule = { config, ... }: | ||||
|         let | ||||
|           inherit (builtins) head pathExists readFile; | ||||
| 
 | ||||
|  | @ -126,7 +124,7 @@ in | |||
|             k3s = { | ||||
|               enable = true; | ||||
|               role = "agent"; | ||||
|               tokenFile = config.clan.core.vars.generators.k3s.files.token.path; | ||||
|               tokenFile = "/var/lib/k3s/__TODO_FIGURE_OUT_TOKEN__"; #config.clan.core.vars.generators.k3s.files.token.path; | ||||
|               serverAddr = "https://${server}.${config.networking.domain}:6443"; | ||||
|             }; | ||||
|           }; | ||||
|  |  | |||
|  | @ -26,6 +26,18 @@ | |||
|         }; | ||||
|       }; | ||||
|     }; | ||||
| 
 | ||||
|     machines = { | ||||
|       node1 = { | ||||
|         networking.domain = "test.local"; | ||||
|       }; | ||||
|       node2 = { | ||||
|         networking.domain = "test.local"; | ||||
|       }; | ||||
|       node3 = { | ||||
|         networking.domain = "test.local"; | ||||
|       }; | ||||
|     }; | ||||
|   }; | ||||
| 
 | ||||
|   nodes = { | ||||
|  | @ -37,4 +49,4 @@ | |||
|   testScript = '' | ||||
|     start_all() | ||||
|   ''; | ||||
| } | ||||
| } | ||||
|  |  | |||
|  | @ -19,7 +19,13 @@ | |||
|             input = "self"; | ||||
|           }; | ||||
| 
 | ||||
|           roles.controller.machines."node1" = {}; | ||||
|           roles.controller = { | ||||
|             machines."node1" = {}; | ||||
|             settings = { | ||||
|               hostName = "test.local"; | ||||
|               displayName = "Test"; | ||||
|             }; | ||||
|           }; | ||||
| 
 | ||||
|           roles.peer.machines."node2" = {}; | ||||
|           roles.peer.machines."node3" = {}; | ||||
|  |  | |||
|  | @ -52,10 +52,13 @@ | |||
|         }; | ||||
|       }; | ||||
| 
 | ||||
|       perSystem = { system, ... }: { | ||||
|       perSystem = { system, pkgs, ... }: { | ||||
|         devshells = { | ||||
|           default = { | ||||
|             packages = [ inputs.clan-core.packages.${system}.clan-cli ]; | ||||
|             packages = [ | ||||
|               pkgs.just | ||||
|               inputs.clan-core.packages.${system}.clan-cli | ||||
|             ]; | ||||
|           }; | ||||
|         }; | ||||
|       }; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue