17514 Commits

Author SHA1 Message Date
9fbf91801d Merge pull request #16904 from rhatdan/system
Output Size and Reclaimable in human form for json output
2022-12-22 13:49:17 -05:00
d20dbcd155 Merge pull request #16922 from rhatdan/docs
[CI:DOCS] Explain that relabeling/chowning of volumes can take along time
2022-12-22 12:03:54 -05:00
d27ebf2eeb Explain that relabeling/chowning of volumes can take along time
Users are surprised when chowning large volumes how long it can take
to relabel of chown the entire directory tree. This PR updates the
documentation to explain this fact to the user.

Fixes: https://github.com/containers/podman/issues/16575

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-12-22 08:54:00 -05:00
2a46b5e117 Merge pull request #16912 from vrothberg/fix-16875
events: support "die" filter
2022-12-22 07:59:54 -05:00
45b180c1f8 events: support "die" filter
Map "die" to the "died" status for Docker compat.

Fixes: #16857
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-12-22 10:59:40 +01:00
5211446516 Merge pull request #16901 from Luap99/service-close-fd
podman service: close duplicated /dev/null fd
2022-12-22 03:51:03 -05:00
0a34a4f645 Merge pull request #16794 from karta0807913/main
podman play kube support container startup probe
2022-12-21 15:52:50 -05:00
7400887744 Merge pull request #16911 from rhatdan/test
New system tests for conflicting options
2022-12-21 13:19:15 -05:00
0e14dcd567 Merge pull request #16910 from rhatdan/VENDOR
Vendor in latest containers/(buildah, image, common)
2022-12-21 11:18:55 -05:00
ac9a357406 Merge pull request #16908 from alexlarsson/transient-bundle-path
When in transient store mode, use rundir for bundlepath
2022-12-21 11:16:18 -05:00
af805b3efe Merge pull request #16565 from anjannath/docker-sock
pkginstaller: install podman-mac-helper by default
2022-12-21 11:08:07 -05:00
9bf882797d Merge pull request #16898 from alexlarsson/quadlet-oneshot
quadlet: Support Type=oneshot container files
2022-12-21 09:40:38 -05:00
3808067ff8 When in transient store mode, use rundir for bundlepath
This means we store things like config.json and the secret files
also on tmpfs, lowering wear on disk and leaving less stuff on disk
on an unclean shutdown.

Signed-off-by: Alexander Larsson <alexl@redhat.com>
2022-12-21 12:50:23 +01:00
0179aa2451 quadlet: Support Type=oneshot container files
These just run once and are considered successful at exist. Not much is
needed to support it, but we have to avoid overwriting the type
with Type=notify.

Signed-off-by: Alexander Larsson <alexl@redhat.com>
2022-12-21 12:49:50 +01:00
236f0cc504 hacks/bats: keep QUADLET env var in test env
This is needed for the bats test to work

Signed-off-by: Alexander Larsson <alexl@redhat.com>
2022-12-21 12:48:40 +01:00
97f9d625a9 New system tests for conflicting options
...make sure podman rejects being called with incompatible options

Replaces: https://github.com/containers/podman/pull/16813

Which is stuck in CI and Ed is on break.

Signed-off-by: Ed Santiago <santiago@redhat.com>
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-12-21 06:23:29 -05:00
90ba443472 Merge pull request #16893 from alexlarsson/quadlet-better-default-handling
quadlet: Handle booleans that have defaults better
2022-12-21 06:23:12 -05:00
bfec23c363 Vendor in latest containers/(buildah, image, common)
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-12-21 06:12:45 -05:00
24b1e81c5d Output Size and Reclaimable in human form for json output
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-12-20 17:11:21 -05:00
aecb5d3853 Merge pull request #16900 from Luap99/gingkolinter
ginkgo tests: apply ginkgolinter fixes
2022-12-20 13:30:05 -05:00
4724fa3075 podman service: close duplicated /dev/null fd
Since we open /dev/null to set it as STDIN we can close it after the
dup2() call. Using defer is not good enough since this function will
never exit since the http server will block. This is not a problem but
it reduces the open fds from the service by one.

[NO NEW TESTS NEEDED]

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-12-20 17:17:37 +01:00
c2d48c5935 Merge pull request #16892 from alexlarsson/transient-clean-unit
Add podman-clean-transient.service service
2022-12-20 10:49:51 -05:00
5f4d7b575d Merge pull request #16888 from Luap99/export-fd
export: use io.Writer instead of file
2022-12-20 10:47:19 -05:00
8e05caef6c ginkgo tests: apply ginkgolinter fixes
New fixes since my last commit 2ddf1c5cbd11.

https://github.com/nunnatsa/ginkgolinter

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-12-20 16:47:17 +01:00
62abb6bb20 Merge pull request #16886 from vrothberg/refactor
Refactor looking up containers in pkg/domain/infra abi
2022-12-20 10:44:45 -05:00
ca40371ff5 Merge pull request #16894 from flouthoc/bump-buildah-ca578b290144
vendor: bump to buildah `ca578b290144` and use new distributed cache API
2022-12-20 09:56:58 -05:00
db648dc005 Merge pull request #16895 from giuseppe/always-create-userns-with-euid-not-0
rootless: always create userns with euid != 0
2022-12-20 09:51:52 -05:00
3ac5d10098 export: use io.Writer instead of file
This allows use to use STDOUT directly without having to call open
again, also this makes the export API endpoint much more performant
since it no longer needs to copy to a temp file.
I noticed that there was no export API test so I added one.

And lastly opening /dev/stdout will not work on windows.

Fixes #16870

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-12-20 14:38:41 +01:00
56982a9236 Merge pull request #16889 from rhatdan/kube
Stop recording annotations set to false
2022-12-20 08:23:52 -05:00
1bac160960 rootless: always create userns with euid != 0
always create a user namespace when running with euid != 0 since the
user is not owning the current mount namespace.

This issue happened on a Kubernetes cluster, where the pod was running
privileged but the UID was not 0, as it was configured in the image
itself.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2022-12-20 13:33:23 +01:00
90719d38f7 rootless: inhibit copy mapping for euid != 0
when running with euid != 0, inhibit the copy of the current mappings,
even if the kernel allows that.  This seems to be the expectation when
running in a Kubernetes cluster with a non-root user.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2022-12-20 13:32:58 +01:00
02555d1665 pkg/domain/infra/abi: introduce type containerWrapper
Add a wrapper to reduce boilerplate code.  This also paves the way for
adding an ignore option to `getContainersOptions`.

[NO NEW TESTS NEEDED] as it shouldn't change behavior.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-12-20 13:29:43 +01:00
987c8e3a78 vendor: bump to buildah ca578b290144 and use new cache API
Bump to buildah ca578b290144 and use new `cacheTo` and `cacheFrom` API.

[NO NEW TESTS NEEDED]
[NO TESTS NEEDED]

Signed-off-by: Aditya R <arajan@redhat.com>
2022-12-20 17:13:59 +05:30
0cf36684c6 quadlet: Handle booleans that have defaults better
The ReadOnly and the RunInit keys affect options that have a variable
default (configurable in containers.conf). This means we need to
handle them a bit differently in quadlet to allow overriding the
default. For example, we can't assume ReadOnly=false doesn't need to
add any argument because no argument may mean readonly=true if the default
is changed.

We now don't add any argument (leaving the default) if the key is not specified,
or we always add an argument (--foo or --foo=false) if the key is specified (overriding whatever the default is).

Signed-off-by: Alexander Larsson <alexl@redhat.com>
2022-12-20 11:00:48 +01:00
dd428af898 quadlet: Rename parser.LookupBoolean to LookupBooleanWithDefault
We add a regular LookupBoolean that can fail lookups, which is used by
the WithDefault version. We want to use this directly later in some places.

It is fina to change API here because this has not been in a release yet.

Signed-off-by: Alexander Larsson <alexl@redhat.com>
2022-12-20 10:38:49 +01:00
ddeb9592c9 Add podman-clean-transient.service service
This is a unit that can be enabled when using transient store mode
to clean up potential leftovers from previous boots. All it does is
run "podman system prune --external" once each boot.

Signed-off-by: Alexander Larsson <alexl@redhat.com>
2022-12-20 10:24:25 +01:00
80de850817 Stop recording annotations set to false
False is the assumed value, and inspect and podman generate kube are
being cluttered with a ton of annotations that indicate nothing.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-12-19 16:07:33 -05:00
fb967aabc3 Merge pull request #16878 from rhatdan/docs
Unify --noheading and -n to be consistent on all commands
2022-12-19 15:08:02 -05:00
b0acb59ccb Merge pull request #16688 from ygalblum/quadlet_network_file
Quadlet: add network support
2022-12-19 14:16:53 -05:00
2be7238a59 Merge pull request #16885 from rhatdan/VENDOR
Update vendor of containters/(common, image)
2022-12-19 13:31:22 -05:00
9187df5b28 Unify --noheading and -n to be consistent on all commands
Helps with https://github.com/containers/podman/issues/16536

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-12-19 13:18:43 -05:00
2bbeba70bb pkg/domain/infra/abi: add getContainers
Add a new `getContainers` function to consolidate listing and looking
up containers.  An options struct keeps thing flexible and makes callers
more readable.

[NO NEW TESTS NEEDED] as it shouldn't change behavior.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-12-19 15:05:24 +01:00
5b12cb23f6 Merge pull request #16883 from alexlarsson/quadlet-build-fixes
Quadlet packaging fixes
2022-12-19 08:31:01 -05:00
ae706e61bb Update vendor of containters/(common, image)
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-12-19 08:01:10 -05:00
24ab178fb7 specfile: Drop user-add depedency from quadlet subpackage.
This is not needed since we dropped the quadlet user.

[NO NEW TESTS NEEDED] This just changes the build.

Signed-off-by: Alexander Larsson <alexl@redhat.com>
2022-12-19 10:16:00 +01:00
e9243f904b quadlet: Default BINDIR to /usr/bin if tag not specified
When building without the makefile the v4/pkg/systemd/quadlet._binDir
defined is not set. In that case default to /usr/bin rather than the
empty string. This helps e.g. the rpm specfile which doesn't use
the makefile.

Signed-off-by: Alexander Larsson <alexl@redhat.com>
2022-12-19 09:49:08 +01:00
aeb36e5dad Merge pull request #16825 from alexlarsson/quadlet-system-test
Quadlet system test
2022-12-18 07:16:50 -05:00
d974a79e27 Quadlet: add network support
Support .network file to create a systemd service that runs podman network create
Support networks with .network suffix in Container and Kube to link with Quadlet created networks
Add E2E Tests
Add man doc

Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2022-12-18 11:25:20 +02:00
a6b375f8d7 Merge pull request #16791 from beeblebrox3/patch-1
[CI:DOCS] Fix typo on network docs
2022-12-17 05:27:25 -05:00
3f83467f3e Merge pull request #16756 from Luap99/netns-db
libpod: move NetNS into state db instead of extra bucket
2022-12-17 04:17:20 -05:00