Files
nomad/command/agent
Danielle Lancashire afb59bedf5 volumes: Add support for mount propagation
This commit introduces support for configuring mount propagation when
mounting volumes with the `volume_mount` stanza on Linux targets.

Similar to Kubernetes, we expose 3 options for configuring mount
propagation:

- private, which is equivalent to `rprivate` on Linux, which does not allow the
           container to see any new nested mounts after the chroot was created.

- host-to-task, which is equivalent to `rslave` on Linux, which allows new mounts
                that have been created _outside of the container_ to be visible
                inside the container after the chroot is created.

- bidirectional, which is equivalent to `rshared` on Linux, which allows both
                 the container to see new mounts created on the host, but
                 importantly _allows the container to create mounts that are
                 visible in other containers an don the host_

private and host-to-task are safe, but bidirectional mounts can be
dangerous, as if the code inside a container creates a mount, and does
not clean it up before tearing down the container, it can cause bad
things to happen inside the kernel.

To add a layer of safety here, we require that the user has ReadWrite
permissions on the volume before allowing bidirectional mounts, as a
defense in depth / validation case, although creating mounts should also require
a priviliged execution environment inside the container.
2019-10-14 14:09:58 +02:00
..
2019-08-12 15:39:08 +02:00
2018-03-11 17:43:19 +00:00
2017-10-13 13:12:20 -07:00
2018-02-15 13:59:01 -08:00
2018-09-13 10:43:40 -07:00
2019-09-24 14:37:55 -04:00
2019-09-05 12:05:42 -07:00
2018-03-11 18:35:30 +00:00
2018-10-16 16:56:55 -07:00
2017-10-13 14:36:02 -07:00
2018-01-17 10:29:15 -05:00
2016-10-17 10:48:04 -07:00
2017-07-20 09:36:34 -07:00
2017-07-20 09:36:34 -07:00
2017-09-26 15:26:33 -07:00
2018-09-13 10:43:40 -07:00
2017-07-20 09:36:34 -07:00
2018-09-13 10:43:40 -07:00
2018-09-13 10:43:40 -07:00
2017-09-07 17:04:21 -07:00
2018-02-15 13:59:02 -08:00
2017-07-20 09:36:34 -07:00
2017-09-19 10:08:23 -05:00
2019-01-22 15:44:31 -08:00
2019-01-22 15:44:31 -08:00
2017-07-20 09:36:34 -07:00