Commit Graph

21 Commits

Author SHA1 Message Date
Giuseppe Scrivano 2d959dd4bf
store: drop remap-[ug]ids
drop the possibility to configure a remapping for all the layers in
the storage.

The feature dates back to the initial fork from Docker, that supported
a single user namespace where all the images were pulled. It was never
used by the container tools since we have a finer control of the user
namespaces.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2024-06-24 13:15:04 +02:00
Daniel J Walsh a38a212dd0
Ignore failure to ignore thinpool keys
Fixes: https://github.com/containers/podman/issues/22473

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2024-05-13 11:31:06 -04:00
Kir Kolyshkin 137ba2cc35 Remove devicemapper storage driver
Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2024-04-15 14:44:29 -07:00
Giuseppe Scrivano ca642ac045
config: new option use_composefs
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2023-12-11 15:06:41 +01:00
Aditya R 30775d4b2b
store: add support to split ImageStore
Allow storage users to split the filesystem of containers vs image
store, `imagestore` if configured will pull images in image storage
instead of the `graphRoot` while keeping the other parts still in the
originally configured `graphRoot`.

overlay: set workdir and upperdir according to splitstore
If splitstore is set `workdir` and `upperdir` must go into the
splitstore i.e `graphRoot`.

Signed-off-by: Aditya R <arajan@redhat.com>
2023-04-14 17:34:27 +05:30
cdoern f260c4ec1e fix Save()
switched os.Open to os.Create because os.Open() creates a file in read only mode

Signed-off-by: cdoern <cbdoer23@g.holycross.edu>
2022-02-10 22:34:00 -05:00
Qi Wang e71fe0bc54 Add Inodes to OverlayOptionsConfig
Fix error "Failed to decode the keys inodes" when using inodes in storage.conf
as documented https://github.com/containers/storage/blob/main/storage.conf#L73

Signed-off-by: Qi Wang <qiwan@redhat.com>
2021-08-28 19:52:13 -04:00
Giuseppe Scrivano 7e665ab835
store: add option to disable volatile
add an option to storage.options to inhibit usage of the
volatile storage flag.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2021-05-17 09:51:52 +02:00
Giuseppe Scrivano 7400647378
types: add map PullOptions to the conf file
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2021-05-07 11:29:27 +02:00
ktock 64f018103e Support additional layer store
Signed-off-by: Kohei Tokunaga <ktokunaga.mail@gmail.com>
2021-04-07 17:53:36 +09:00
Giuseppe Scrivano be5932a4d8
storage: add option force_mask=
force_mask sets a permission mask used for the new files and
directories.

It is useful for using a NFS share for the rootless storage.  It
requires this change in fuse-overlayfs:

https://github.com/containers/fuse-overlayfs/pull/246

[storage]
  driver = "overlay"
  graphroot = "/mnt/nfs/home/storage"
  [storage.options]
    size = ""
    mountopt = "xattr_permissions=2"
   [storage.options.overlay]
     force_mask = "0755"
     ignore_chown_errors = "true"

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-11-11 10:30:43 +01:00
Daniel J Walsh f76d8a7277
Store the pvcreate --metadatasize option in storage.conf
As the number of devices increase the size of the metadata
needs to be modified.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-07-01 05:27:31 -04:00
Daniel J Walsh 0bfdcdb942
Add back skip_mount_home
Certain workloads, we would like to eliminate the mounting of containers-storage as private.
Running containers within containers for example.

This looks like it was accidently removed in the past, since there was still partial
implementation.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-06-03 05:14:12 -04:00
Giuseppe Scrivano 2cff5ddf93
userns: add support for auto
automatically pick an empty range and create an user namespace for the
container.

For root containers, it is necessary to specify an entry in
the /etc/subuid and /etc/subgid files to use for picking the range of
available IDs.  This is necessary to avoid collisions with IDs used
for rootless containers.  This setting is ignored for rootless
containers, since it is not possible to use arbitrary IDs, and the
initial set is always picked by the IDs assigned to the rootless
user.

When using auto userns, a container will use a range of IDs that is
not used by any other container user namespace, also those that are
not using auto userns, this is checked at creation time.
A successive container that doesn't use auto userns feature can still
collide with IDs used by an auto userns container.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-03-26 11:12:34 +01:00
Daniel J Walsh 051733aecd
Handle mount options for overlay2 driver.
Overlay and overlay2 drivers are the same, but we
were not procesessing mount options correctly for overlay2.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-01-17 14:21:57 -05:00
Daniel J Walsh 31b1ca9b90
Overlayfs has dropped support for skip_mount_home options
Remove all references to the option in man pages in default configuration.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2019-12-03 19:02:22 +01:00
Daniel J Walsh ff125a5657
Move storage options to driver specific entries
Storage options are really driver specific and it is when distributions set
defaults, they should not effect the user if he changes the default driver.

By moving the storage options to be driver specific, we can make sure all
drivers only document and support their options.

With this patch we will continue to support the global mountopt but the driver
specific version will override the global mountopt.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2019-10-11 16:26:42 -04:00
Giuseppe Scrivano 37930824fb
config: drop skip_mount_home
it was needed only with OSTree to allow hard links.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-10-05 20:27:46 +02:00
Giuseppe Scrivano 7a0d58dab5
storage: drop ostree deduplication
it was an attempt to use OSTree to deduplicate files, at the time we
already had a dependency on OSTree for system containers in
containers/image.  Since the feature never really took off, let's just
drop it.

Closes: https://github.com/containers/storage/issues/419

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-10-05 20:27:45 +02:00
Daniel J Walsh 976fe22092
Add storage options to IgnoreChownErrors
Modified patch of Kevin Pelzel.

Also changed ApplyDiff to take new ApplyDiffOpts Struct.

Signed-off-by: Kevin Pelzel <kevinpelzel22@gmail.com>
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2019-07-26 06:05:27 -04:00
Urvashi Mohnani 74834ee9e0 Move structs for storage.conf to pkg/config
Need to access the storage structs in the machine-config
operator code for container runtime configuration but
with it being in store.go, it is pullng in way too many
dependencies. Moving it out to a separate package cuts down
the dependencies by a huge amount.

Signed-off-by: Urvashi Mohnani <umohnani@redhat.com>
2019-02-03 21:21:32 -05:00