forked from clan/clan-core
zerotier: use configuration file instead to set the network name
This commit is contained in:
parent
0e62348d72
commit
7bf76eea06
@ -15,7 +15,7 @@ let
|
||||
ipAssignmentPools = [ ];
|
||||
mtu = 2800;
|
||||
multicastLimit = 32;
|
||||
name = "";
|
||||
name = cfg.name;
|
||||
uwid = cfg.networkId;
|
||||
objtype = "network";
|
||||
private = !cfg.controller.public;
|
||||
@ -52,6 +52,13 @@ in
|
||||
zerotier networking id
|
||||
'';
|
||||
};
|
||||
name = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = config.clanCore.clanName;
|
||||
description = ''
|
||||
zerotier network name
|
||||
'';
|
||||
};
|
||||
subnet = lib.mkOption {
|
||||
type = lib.types.nullOr lib.types.str;
|
||||
readOnly = true;
|
||||
@ -165,7 +172,6 @@ in
|
||||
environment.systemPackages = [ config.clanCore.clanPkgs.zerotier-members ];
|
||||
})
|
||||
(lib.mkIf (config.clanCore.secretsUploadDirectory != null && !cfg.controller.enable && cfg.networkId != null) {
|
||||
|
||||
clanCore.secrets.zerotier = {
|
||||
facts.zerotier-ip = { };
|
||||
facts.zerotier-meshname = { };
|
||||
|
@ -142,9 +142,9 @@ class NetworkController:
|
||||
|
||||
|
||||
# TODO: allow merging more network configuration here
|
||||
def create_network_controller(name: str="") -> NetworkController:
|
||||
def create_network_controller() -> NetworkController:
|
||||
with zerotier_controller() as controller:
|
||||
network = controller.create_network({"name": name})
|
||||
network = controller.create_network()
|
||||
return NetworkController(network["nwid"], controller.identity)
|
||||
|
||||
|
||||
@ -199,14 +199,13 @@ def main() -> None:
|
||||
parser.add_argument("--meshname", type=Path, required=True)
|
||||
parser.add_argument("--identity-secret", type=Path, required=True)
|
||||
parser.add_argument("--network-id", type=str, required=False)
|
||||
parser.add_argument("--network-name", type=str, default="", required=False)
|
||||
args = parser.parse_args()
|
||||
|
||||
match args.mode:
|
||||
case "network":
|
||||
if args.network_id is None:
|
||||
raise ValueError("network_id parameter is required")
|
||||
controller = create_network_controller(name=args.network_name)
|
||||
controller = create_network_controller()
|
||||
identity = controller.identity
|
||||
network_id = controller.networkid
|
||||
Path(args.network_id).write_text(network_id)
|
||||
|
Loading…
Reference in New Issue
Block a user