Commit Graph

168 Commits

Author SHA1 Message Date
Daniel J Walsh
e21cf2d8df Vendor in latest containers/(storage, common, image)
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-03-16 09:26:19 -04:00
Daniel J Walsh
76056c6701 Vendor in latest containers/(common, storage, image)
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-02-28 15:46:49 -05:00
Valentin Rothberg
adacd3b127 vendor c/common@852ca05a1f
Also force an update of c/image to prevent a downgrade.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2023-02-21 14:06:42 +01:00
Ashley Cui
2db4682041 Vendor containers/(storage, image, common, buildah)
c/storage v1.45.3
c/image v5.24.0
c/common v0.51.0
c/buildah main

Signed-off-by: Ashley Cui <acui@redhat.com>
2023-01-24 11:07:09 -05:00
Valentin Rothberg
b5a6f3f914 fix bud-multiple-platform-with-base-as-default-arg flake
By vendoring the latest c/common.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2023-01-18 15:32:38 +01:00
Ashley Cui
ddf8e49891 Vendor in latest c/common
Signed-off-by: Ashley Cui <acui@redhat.com>
2023-01-17 12:12:17 -05:00
Daniel J Walsh
5ac5aaa723 Vendor in latest containers/storage
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-01-15 07:41:30 -05:00
Daniel J Walsh
e332b6246b Vendor in latest containers/common
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-01-06 14:19:47 -05:00
Daniel J Walsh
eea78ec7b3 Vendor in latest containers/(common, image, storage)
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-01-05 10:40:36 -05:00
Daniel J Walsh
3718ac8e96 Vendor in latest containers/common with default capabilities
Also update vendor of containers/storage and image

Cleanup display of added/dropped capabilties as well

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-12-15 14:28:30 -05:00
Ygal Blum
7d16c2b69e Update containers common package
The new version adds NetworkCreateOptions. For now pass nil

[NO NEW TESTS NEEDED]

Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2022-12-06 13:52:28 +02:00
Valentin Rothberg
71f92d263c container create: add inspect data to event
When the new `events_container_create_inspect_data` option is enabled in
containers.conf set the `ContainersInspectData` event field for each
container-create event.

The data was requested for the purpose of auditing (e.g., intrusion
detection).

Jira: https://issues.redhat.com/browse/RUN-1702
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-11-29 10:40:24 +01:00
Daniel J Walsh
35b46a4200 Update Vendor of containers/(common, image, buildah)
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-11-28 06:41:31 -05:00
Giuseppe Scrivano
7eb11e7bb3 vendor: update containers/common
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2022-11-25 11:44:38 +01:00
Daniel J Walsh
5df00c6f79 Vendor in latest containers/(common,image,storage)
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-11-11 14:40:03 -05:00
Paul Holzinger
3e08f85353 fix --format {{json .}} output to match docker
`--format json` should not be the same as `--format {{json .}}`, the
later should actually run through the go template and thus create one
json object per entry instead of an json array.

Includes a vendor of c/common@main since it requires a fix from there as
well.

This matches docker compat.
Fixes #16436

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-11-09 17:59:05 +01:00
Daniel J Walsh
571833d562 Update vendor of containers/(image, storage, common)
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-11-04 08:58:12 -04:00
Daniel J Walsh
6fe64591d6 Update vendor containers/(common,storage,buildah,image)
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-10-28 06:16:22 -04:00
Valentin Rothberg
34235b2726 system df: fix image-size calculations
Fix two bugs in `system df`:

1.  The total size was calculated incorrectly as it was creating the sum
    of all image sizes but did not consider that a) the same image may
    be listed more than once (i.e., for each repo-tag pair), and that
    b) images share layers.

    The total size is now calculated directly in `libimage` by taking
    multi-layer use into account.

2.  The reclaimable size was calculated incorrectly.  This number
    indicates which data we can actually remove which means the total
    size minus what containers use (i.e., the "unique" size of the image
    in use by containers).

NOTE: The c/storage version is pinned back to the previous commit as it
      is buggy.  c/common already requires the buggy version, so use a
      `replace` to force/pin.

Fixes: #16135
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-10-19 11:20:41 +02:00
Daniel J Walsh
01a3245d7d Update vendor containers/(common,image,storage)
Fixes: https://github.com/containers/podman/issues/16150

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-10-15 09:42:51 -04:00
Daniel J Walsh
fe3c91d581 Update vendor containers/(common,image)
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-09-30 06:45:24 -04:00
Aditya R
f00ceaabd4 vendor: bump c/common to v0.49.2-0.20220929111928-2d1b45ae2423
[NO NEW TESTS NEEDED]
[NO TESTS NEEDED]

Signed-off-by: Aditya R <arajan@redhat.com>
2022-09-29 18:20:03 +05:30
Charlie Doern
2e4e1bb97c podman machine ssh handling
add the key used in newly initialized machines to the user's known_hosts file. This ensures that golang will be able to ssh into the machine using
podman-remote. Also, remove the /dev/null redirection for podman machine ssh's known_hosts file.

resolves #15347

Signed-off-by: Charlie Doern <cdoern@redhat.com>
Signed-off-by: cdoern <cbdoer23@g.holycross.edu>
2022-09-26 18:35:01 -04:00
Daniel J Walsh
54653ceebe Update vendor or containers/buildah
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-09-23 14:12:37 -04:00
Ashley Cui
72e715a110 Use new secret store API
Refactored secrets API in common for stability purposes. Move podman to
said API.

[NO NEW TESTS NEEDED]

Signed-off-by: Ashley Cui <acui@redhat.com>
2022-09-12 18:05:17 +02:00
Paul Holzinger
eb28a1c084 update buildah and c/common to latest
also includes bumps for c/storage and c/image

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-09-09 11:58:20 +02:00
Valentin Rothberg
0ee9a3129b podman rmi: emit untag events
Emit untag events for each tag when removing an image.

Fixes: #15485
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-08-27 13:40:50 +02:00
Matthew Heon
0f73935563 Add support for containers.conf volume timeouts
Also, do a general cleanup of all the timeout code. Changes
include:
- Convert from int to *uint where possible. Timeouts cannot be
  negative, hence the uint change; and a timeout of 0 is valid,
  so we need a new way to detect that the user set a timeout
  (hence, pointer).
- Change name in the database to avoid conflicts between new data
  type and old one. This will cause timeouts set with 4.2.0 to be
  lost, but considering nobody is using the feature at present
  (and the lack of validation means we could have invalid,
  negative timeouts in the DB) this feels safe.
- Ensure volume plugin timeouts can only be used with volumes
  created using a plugin. Timeouts on the local driver are
  nonsensical.
- Remove the existing test, as it did not use a volume plugin.
  Write a new test that does.

The actual plumbing of the containers.conf timeout in is one line
in volume_api.go; the remainder are the above-described cleanups.

Signed-off-by: Matthew Heon <mheon@redhat.com>
2022-08-23 15:42:00 -04:00
Giuseppe Scrivano
86f665a1da vendor: update containers/common
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2022-08-17 22:39:48 +02:00
Charlie Doern
280f5d8cb0 podman ssh work, using new c/common interface
implement new ssh interface into podman

this completely redesigns the entire functionality of podman image scp,
podman system connection add, and podman --remote. All references to golang.org/x/crypto/ssh
have been moved to common as have native ssh/scp execs and the new usage of the sftp package.

this PR adds a global flag, --ssh to podman which has two valid inputs `golang` and `native` where golang is the default.
Users should not notice any difference in their everyday workflows if they continue using the golang option. UNLESS they have been using an improperly verified ssh key, this will now fail. This is because podman was incorrectly using the
ssh callback method to IGNORE the ssh known hosts file which is very insecure and golang tells you not yo use this in production.

The native paths allows for immense flexibility, with a new containers.conf field `SSH_CONFIG` that specifies a specific ssh config file to be used in all operations. Else the users ~/.ssh/config file will be used.
podman --remote currently only uses the golang path, given its deep interconnection with dialing multiple clients and urls.

My goal after this PR is to go back and abstract the idea of podman --remote from golang's dialed clients, as it should not be so intrinsically connected. Overall, this is a v1 of a long process of offering native ssh, and one that covers some good ground with podman system connection add and podman image scp.

Signed-off-by: Charlie Doern <cdoern@redhat.com>
2022-08-09 14:00:58 -04:00
Valentin Rothberg
3102194f03 podman rmi: improve error message for build containers
Improve the error message when attempting to remove an image that is in
use by an external/build container.  Prior, the error only indicated
that the image was in use but did not aid in resolving the issue.

Fixes: #15006
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-08-04 16:42:02 +02:00
Miloslav Trmač
63d77da5b9 Update c/common to an unreleased version
... to get https://github.com/containers/common/pull/1106 .

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2022-07-30 17:26:08 +02:00
cdoern
438fef1caa kube secret handling for podman play kube
add support for both creating a secret using yaml and mounting a secret as a volume given a yaml file.
Kubernetes secrets have a different structure than podman and therefore have to be handeled differently.
In this PR, I have introduced the basic usecases of kube secrets with more implementations like env secrets
to come!

resolves #12396

Signed-off-by: Charlie Doern <cdoern@redhat.com>
2022-07-20 12:55:33 -04:00
Daniel J Walsh
fdba0d7909 Vendor in latests containers/storage and opencontainers/runtime-tools
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-07-18 13:25:01 -04:00
Daniel J Walsh
f67ab1eb20 Vendor in containers/(storage,image, common, buildah)
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-07-18 10:42:04 -04:00
Paul Holzinger
cc6faddfaa use c/common code for resize and CopyDetachable
Since conmon-rs also uses this code we moved it to c/common. Now podman
should has this also to prevent duplication.

[NO NEW TESTS NEEDED]

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-07-06 16:57:07 +02:00
Charlie Doern
b92149e2a8 podman pod create --memory
using the new resource backend, implement podman pod create --memory which enables
users to modify memory.max inside of the parent cgroup (the pod), implicitly impacting all
children unless overriden

Signed-off-by: Charlie Doern <cdoern@redhat.com>
2022-07-01 13:44:32 -04:00
Valentin Rothberg
2ee9fe4cbd vendor containers/common
Pull in fixes for platform checks to silence annoying warnings when
pulling images by platforms using uname values.

Fixes: #14669
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-06-28 17:12:56 +02:00
Giuseppe Scrivano
28e2a604b4 vendor: update containers/common
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2022-06-27 20:22:20 +02:00
cdoern
2792e598c7 podman cgroup enhancement
currently, setting any sort of resource limit in a pod does nothing. With the newly refactored creation process in c/common, podman ca now set resources at a pod level
meaning that resource related flags can now be exposed to podman pod create.

cgroupfs and systemd are both supported with varying completion. cgroupfs is a much simpler process and one that is virtually complete for all resource types, the flags now just need to be added. systemd on the other hand
has to be handeled via the dbus api meaning that the limits need to be passed as recognized properties to systemd. The properties added so far are the ones that podman pod create supports as well as `cpuset-mems` as this will
be the next flag I work on.

Signed-off-by: Charlie Doern <cdoern@redhat.com>
2022-06-24 15:39:15 -04:00
Daniel J Walsh
5e9d20448c Update vendor of containers/buildah
Changes since 2022-05-31:
  - add --omit-history option (buildah PR 4028)

Signed-off-by: Ed Santiago <santiago@redhat.com>
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-06-13 17:54:17 -04:00
Paul Holzinger
90d80cf81e use resolvconf package from c/common/libnetwork
Podman and Buildah should use the same code the generate the resolv.conf
file. This mostly moved the podman code into c/common and created a
better API for it so buildah can use it as well.

[NO NEW TESTS NEEDED] All existing tests should continue to pass.

Fixes #13599 (There is no way to test this in CI without breaking the
hosts resolv.conf)

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-06-07 15:17:04 +02:00
Paul Holzinger
ddf1d2cb38 update c/common to latest
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-06-07 15:13:55 +02:00
Valentin Rothberg
d924c46dae autocomplete podman search --filter
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-05-24 16:07:38 +02:00
Daniel J Walsh
2b03a1088a Vendor in latest containers/common
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-05-12 17:36:44 -04:00
Valentin Rothberg
ecf0177a01 vendor c/common@main
In hope to fix a CI flake.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-05-12 10:51:13 +02:00
Daniel J Walsh
e247f02a4f Vendor in containers/(common, storage, image)
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-05-02 17:16:10 -04:00
Valentin Rothberg
77d872ea38 vendor c/common@main
Required for using the newly added pod exit policies.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-05-02 11:16:14 +02:00
Jason T. Greene
3b6ffcd290 Update to use new common machine API
Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
2022-04-25 13:52:27 -05:00
Paul Holzinger
696bcd2773 use etchosts package from c/common
Use the new logic from c/common to create the hosts file. This will help
to better allign the hosts files between buildah and podman.

Also this fixes several bugs:
- remove host entries when container is stopped and has a netNsCtr
- add entries for containers in a pod
- do not duplicate entries in the hosts file
- use the correct slirp ip when an userns is used

Features:
- configure host.containers.internal entry in containers.conf
- configure base hosts file in containers.conf

Fixes #12003
Fixes #13224

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-04-22 12:59:49 +02:00