summary refs log tree commit diff
path: root/nixos/modules/virtualisation
Commit message (Collapse)AuthorAge
* Change size of Amazon EC2 S3-backed images to 8GB (was 4GB).Rob Vermaas2014-06-19
| | | | (cherry picked from commit 05543ef6e038a834aa323d467c9ef02ad99c5adb)
* EC2: allow building S3-backed HVM ami'sRob Vermaas2014-06-19
| | | | (cherry picked from commit e007559e9580c134f43ea9dc2279ff41cb3bd015)
* Only overwrite container-configuration when --config is specified.Moritz Ulrich2014-06-06
| | | | Fixes #2834.
* Fix passing extra qemu opts when using boot loaderLuca Bruno2014-05-25
|
* Add option ec2.hvm, to set some boot configuration specific for EC2 HVM ↵Rob Vermaas2014-05-21
| | | | | | | | | instances. (cherry picked from commit 35c76d917307b7ac405486855cfe63021810dba5) Conflicts: nixos/modules/virtualisation/amazon-image.nix
* Set console=ttyS0 for Amazon EC2 instances, as suggested by Amazon.Rob Vermaas2014-05-12
|
* nixos-container: Ensure umask 022Eelco Dolstra2014-05-09
| | | | Fixes #2585.
* nixos-install: Ask the user to set a root passwordEelco Dolstra2014-05-09
| | | | This removes the need to have an initially empty root password.
* Containers: Support setting up macvlan interfacesEelco Dolstra2014-05-07
| | | | | | | | | | | | | | | | | | | | | | | By setting a line like MACVLANS="eno1" in /etc/containers/<name>.conf, the container will get an Ethernet interface named mv-eno1, which represents an additional MAC address on the physical eno1 interface. Thus the container has direct access to the physical network. You can specify multiple interfaces in MACVLANS. Unfortunately, you can't do this with wireless interfaces. Note that dhcpcd is disabled in containers by default, so you'll probably want to set networking.useDHCP = true; in the container, or configure a static IP address. To do: add a containers.* option for this, and a flag for "nixos-container create".
* Containers: Use systemd-nspawn's --network-veth flagEelco Dolstra2014-05-07
| | | | | Note that this causes the name of the host-side interface to change from c-<name> to ve-<name>.
* Containers: Use systemd-nspawn's --keep-unit flagEelco Dolstra2014-05-07
| | | | This gets rid of some redundant scopes/slices.
* Rename hardware.opengl.videoDrivers back to services.xserver.videoDriversEelco Dolstra2014-04-29
| | | | | | | | Fixes #2379. The new name was a misnomer because the values really are X11 video drivers (e.g. ‘cirrus’ or ‘nvidia’), not OpenGL implementations. That it's also used to set an OpenGL implementation for kmscon is just confusing overloading.
* Fix ‘nixos-container run’Eelco Dolstra2014-04-25
| | | | | | | | By default, socat only waits 0.5s for the remote side to finish after getting EOF on the local side. So don't close the local side, instead wait for socat to exit when the remote side finishes. http://hydra.nixos.org/build/10663282
* sshd: Add support for socket activationEelco Dolstra2014-04-22
| | | | | | | | | By enabling ‘services.openssh.startWhenNeeded’, sshd is started on-demand by systemd using socket activation. This is particularly useful if you have a zillion containers and don't want to have sshd running permanently. Note that socket activation is not noticeable slower, contrary to what the manpage for ‘sshd -i’ says, so we might want to make this the default one day.
* Enable udisks2 by defaultEelco Dolstra2014-04-19
| | | | | | The ability for unprivileged users to mount external media is useful regardless of the desktop environment. Also, since udisks2 is activated on-demand, it doesn't add any overhead if you're not using it.
* Set personality when running a 32-bit container on a 64-bit hostEelco Dolstra2014-04-19
|
* Disable predictable interface names in testsEelco Dolstra2014-04-19
| | | | | | | | Apparently systemd is now smart enough to figure out predictable names for QEMU network interfaces. But since our tests expect them to be named eth0/eth1..., this is not desirable at the moment. http://hydra.nixos.org/build/10418789
* Make "nixos-container login" an alias of "machinectl login"Eelco Dolstra2014-04-18
|
* Use "machinectl poweroff" to shut down containersEelco Dolstra2014-04-18
|
* Containers: Don't warn about not having a boot loaderEelco Dolstra2014-04-18
|
* Containers: Use /etc/resolv.conf supplied by the hostEelco Dolstra2014-04-18
| | | | | | This used to work with systemd-nspawn 203, because it bind-mounted /etc/resolv.conf (so openresolv couldn't overwrite it). Now it's just copied, so we need some special handling.
* Slight test speedupEelco Dolstra2014-04-18
| | | | Don't do a pointless ARP check in dhcpcd.
* Drop ALSA dependency in containersEelco Dolstra2014-04-16
|
* Containers: Inherit the platform type of the hostEelco Dolstra2014-04-15
| | | | http://hydra.nixos.org/build/10350055
* Don't restart container-startup-doneEelco Dolstra2014-04-15
|
* Don't restart container shells in switch-to-configurationEelco Dolstra2014-04-15
|
* Rewrite ‘with pkgs.lib’ -> ‘with lib’Eelco Dolstra2014-04-14
| | | | | | | | Using pkgs.lib on the spine of module evaluation is problematic because the pkgs argument depends on the result of module evaluation. To prevent an infinite recursion, pkgs and some of the modules are evaluated twice, which is inefficient. Using ‘with lib’ prevents this problem.
* Merge branch 'containers'Eelco Dolstra2014-04-10
|\ | | | | | | Fixes #2105.
| * Document NixOS containersEelco Dolstra2014-04-10
| |
| * nixos-container: Add ‘run’ and ‘root-login’ commandsEelco Dolstra2014-04-10
| | | | | | | | And remove ‘root-shell’.
| * Bring back ‘nixos-container update’Eelco Dolstra2014-04-10
| |
| * Fix permissions on /var/lib/startup-doneEelco Dolstra2014-04-10
| |
| * nixos-container: Don't destroy declarative containersEelco Dolstra2014-04-03
| |
| * Disable container support in containersEelco Dolstra2014-04-03
| | | | | | | | | | Systemd-nspawn doesn't support nesting, so providing nixos-container inside a container doesn't make sense.
| * Make starting a container synchronousEelco Dolstra2014-04-03
| | | | | | | | | | So now "systemctl start container@foo" will only return after the container has reached multi-user.target.
| * Always enable container loginsEelco Dolstra2014-04-03
| |
| * nixos-container: Rewrite in PerlEelco Dolstra2014-03-31
| | | | | | | | | | Also fix race condition when multiple containers are created simultaneously (as NixOps tends to do).
| * Provide nixos-container unconditionallyEelco Dolstra2014-03-31
| |
| * Remove hard-coded SSH keyEelco Dolstra2014-03-24
| |
| * nixos-container: NixOps helper functionsEelco Dolstra2014-03-24
| |
| * Allow dashes in container namesEelco Dolstra2014-03-24
| |
| * Add support for imperative container managementEelco Dolstra2014-03-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The command nixos-container can now create containers. For instance, the following creates and starts a container named ‘database’: $ nixos-container create database The configuration of the container is stored in /var/lib/containers/<name>/etc/nixos/configuration.nix. After editing the configuration, you can make the changes take effect by doing $ nixos-container update database The container can also be destroyed: $ nixos-container destroy database Containers are now executed using a template unit, ‘container@.service’, so the unit in this example would be ‘container@database.service’.
| * nixos-container-shell -> nixos-container { login | root-shell }Eelco Dolstra2014-03-24
| |
| * Rename systemd.containers -> containersEelco Dolstra2014-03-24
| | | | | | | | | | That NixOS containers use systemd-nspawn is just an implementation detail (which we could change in the future).
| * Fix permissionsEelco Dolstra2014-03-18
| |
| * Don't run dhcpcd in containersEelco Dolstra2014-03-18
| |
| * Add command ‘nixos-container-shell’ for logging into a containerEelco Dolstra2014-03-18
| |
| * Ensure that the container root can always be accessed via /var/lib/containersEelco Dolstra2014-03-18
| |
| * Add support for running a container with a private network interfaceEelco Dolstra2014-03-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For example, the following sets up a container named ‘foo’. The container will have a single network interface eth0, with IP address 10.231.136.2. The host will have an interface c-foo with IP address 10.231.136.1. systemd.containers.foo = { privateNetwork = true; hostAddress = "10.231.136.1"; localAddress = "10.231.136.2"; config = { services.openssh.enable = true; }; }; With ‘privateNetwork = true’, the container has the CAP_NET_ADMIN capability, allowing it to do arbitrary network configuration, such as setting up firewall rules. This is secure because it cannot touch the interfaces of the host. The helper program ‘run-in-netns’ is needed at the moment because ‘ip netns exec’ doesn't quite do the right thing (it remounts /sys without bind-mounting the original /sys/fs/cgroups).
| * Give containers a writable /nix/var/nix/{profiles,gcroots}Eelco Dolstra2014-03-17
| | | | | | | | | | | | These are stored on the host in /nix/var/nix/{profiles,gcroots}/per-container/<container-name> to ensure that container profiles/roots are not garbage-collected.