Node name cannot contain `.`
Hello!
The node name cannot contain a . character:
[rene@renespc:~/repositories/infra]$ nix run github:serokell/deploy-rs -- -d .#"chwei01.serv0r.xyz"
🚀 ❌ [deploy] [ERROR] Error parsing flake: Unrecognized node or token encountered
I would like to do that because it allows me to have the same name between hostname, nixosConfiguration and the deploy rs configuration.
As per usual I figured it out a few minutes later: deploy-rs does not like the node name to contain ..
Updated the issue title accordingly.
You can fix this by wrapping the node name in single quotes and adding a dot at the end:
nix run github:serokell/deploy-rs -- -d '.#"chwei01.serv0r.xyz".'
deploy-rs appears to parse the node names as flake paths. This means when you specify .#my.awesome.node you don't reference deploy.nodes."my.awesome.node" but instead deploy.nodes.my.awesome.node. The code interpreting the AST from the parser stops the moment it sees neither an indent nor a string, which is why you are shown a ParseFlakeError::Unrecognized error.
#317 fixes this, now --targets .#info.archive.org. should reference the node info.archive.org with the default profile. The fix was easier than expected.