[Nix-dev] Re: [Nix-commits] SVN commit: nix - r24410 - in nixos/trunk: lib modules/installer/tools modules/installer/tools/nixos-build-vms modules/installer/tools/nixos-deploy-network modules/virtualisation
Ludovic Courtès
ludo at gnu.org
Sun Oct 24 13:04:27 CEST 2010
Hi Sander,
Sander van der Burg <S.vanderBurg at tudelft.nl> writes:
> Author: sandervanderburg
> Date: Thu Oct 21 22:50:12 2010
> New Revision: 24410
> URL: https://svn.nixos.org/websvn/nix/?rev=24410&sc=1
>
> Log:
> - Added nixos-build-vms command, which builds a virtual network from a network.nix expression (also used by nixos-deploy-network)
> - Added a backdoor option to the interactive run-vms script. This allows me to intergrate the virtual network approach with Disnix
> - Small documentation fixes
>
> Some explanation:
>
> The nixos-build-vms command line tool can be used to build a virtual network of a network.nix specification.
> For example, a network configuration (network.nix) could look like this:
>
> {
> test1 =
> {pkgs, config, ...}:
>
> {
> services.openssh.enable = true;
> ...
> };
>
> test2 =
> {pkgs, config, ...}:
>
> {
> services.openssh.enable = true;
> services.xserver.enable = true;
> }
>
> ;
> }
>
> By typing the following instruction:
>
> $ nixos-build-vms -n network.nix
>
> a virtual network is built, which can be started by typing:
>
> $ ./result/bin/run-vms
>
> It is also possible to enable a backdoor. In this case *.socket files are stored in the current directory
> which can be used by the end-user to invoke remote instruction on a VM in the network through a Unix
> domain socket.
>
> For example by building the network with the following instructions:
>
> $ nixos-build-vms -n network.nix --use-backdoor
>
> and launching the virtual network:
>
> $ ./result/bin/run-vms
>
> You can find two socket files in your current directory, namely: test1.socket and test2.socket.
> These Unix domain sockets can be used to remotely administer the test1 and test2 machine
> in the virtual network.
>
> For example by running:
>
> $ socat ./test1.socket stdio
> ls /root
>
> You can retrieve the contents of the /root directory of the virtual machine with identifier test1
Nice!
How about putting this documentation in the manual? It’d be more
readily available than in the commit log. ;-)
Thanks,
Ludo’.
More information about the nix-dev
mailing list