Commit Graph

2322 Commits

Author SHA1 Message Date
Jan Kaluza 08a1c6d91e Add support for Retry= and RetryDelay= to Podman Quadlet.
This commit adds new Retry= and RetryDelay= options
to quadlet.go which result in --retry and --retry-delay
usage in podman run, image and build commands.

This allows configuring the retry logic in the systemd
files.

Fixes: #25109

Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2025-03-26 09:01:28 +01:00
Alexander Gramiak bf0a5ee3cf docs: Use accurate max size of secret content
The current max size is defined as `maxSecretSize = 512000` in
`github.com/containers/common/blob/main/pkg/secrets/secrets.go`.

Signed-off-by: Alexander Gramiak <agrambot@gmail.com>
2025-03-24 16:35:57 -06:00
Alexander Gramiak 10290d462b docs: Improve spelling and formatting
Signed-off-by: Alexander Gramiak <agrambot@gmail.com>
2025-03-24 16:35:29 -06:00
openshift-merge-bot[bot] 49b756e063
Merge pull request #25665 from Honny1/health-timeout-note
Clarify behavior of --health-timeout in man page
2025-03-24 18:20:24 +00:00
Jan Rodák 68e0a6c89a
Clarify behavior of --health-timeout in man page
Fixes: https://issues.redhat.com/browse/RHEL-84682

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2025-03-24 18:10:04 +01:00
Martin Glatzle f1527283d6 Make exec support --cidfile.
Fixes: #21256

Signed-off-by: Martin Glatzle <findessp@yandex.ru>
2025-03-21 17:46:47 +01:00
openshift-merge-bot[bot] b2285f6d46
Merge pull request #25626 from jankaluza/24875
Add --env and --unsetenv to podman update.
2025-03-21 13:52:17 +00:00
Jan Kaluza 701aade262 Add --env and --unsetenv to podman update.
The --env is used to add new environment variable to container or
override the existing one. The --unsetenv is used to remove
the environment variable.

It is done by sharing "env" and "unsetenv" flags between both
"update" and "create" commands and later handling these flags
in the "update" command handler.

The list of environment variables to add/remove is stored
in newly added variables in the ContainerUpdateOptions.

The Container.Update API call is refactored to take
the ContainerUpdateOptions as an input to limit the number of its
arguments.

The Env and UnsetEnv lists are later handled using the envLib
package and the Container is updated.

The remote API is also extended to handle Env and EnvUnset.

Fixes: #24875

Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2025-03-21 13:15:44 +01:00
Raniere Silva 67165d8fc2
Fix some code blocks in documentation
```release-note
none
```

Signed-off-by: Raniere Silva <Raniere.CostadaSilva@gesis.org>
2025-03-20 13:33:00 +01:00
Paul Holzinger 69dc0720b9
docs: add note about systemd df RECLAIMABLE bug
Our calculation is just wrong and the way the entire API is designed it
cannot work. This is the same interface as docker is using and they have
the same bug there. So simply document this as known problem, in case
users complain we at least have something to point to.

An actual fix might be possible but not without reworking the full API
and because this is exposed in the docker compat and libpod REST API we
cannot really change it.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-03-17 13:38:06 +01:00
Paul Holzinger 94cacea064
docs: fix some minor issues
As pointed out by Tom on the PR #25397.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-03-13 14:06:20 +01:00
Paul Holzinger 9e94dc53b2
add new artifact mount type
Add a new option to allow for mounting artifacts in the container, the
syntax is added to the existing --mount option:
type=artifact,src=$artifactName,dest=/path[,digest=x][,title=x]

This works very similar to image mounts. The name is passed down into
the container config and then on each start we lookup the artifact and
the figure out which blobs to mount. There is no protaction against a
user removing the artifact while still being used in a container. When
the container is running the bind mounted files will stay there (as the
kernel keeps the mounts active even if the bind source was deleted).
On the next start it will fail to start as if it does not find the
artifact. The good thing is that this technically allows someone to
update the artifact with the new file by creating a new artifact with
the same name.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-03-12 19:42:14 +01:00
Jan Rodák 41924f870f
Prevents removal of `podman.sock` file using `podman system reset` command
The `podman system reset` removes the `RunDirectory` directory as part of the machine reset, where `podman.sock` is usually stored.

Fixes: https://issues.redhat.com/browse/RHEL-71320

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2025-03-10 18:44:15 +01:00
Paul Holzinger 73799672cf
docs: update how the machine os is upgraded
Fixes: #22678

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-03-10 11:47:07 +01:00
Brent Baude 5283f956a5 Disallow mounting to certain destination /dir paths
When certain directories, like /tmp, get mounted over, FCOS/Linux can
act in unexpected ways.  Added a sanity check for a list of directories
think might be impacted by this.  Also, moved the volume parsing earlier
in the init process so we can catch problems before the expensive
decompression of machine images.

The following destinations are forbidden for volumes:

`/bin`, `/boot`, `/dev`, `/etc`, `/home`, `/proc`, `/root`, `/run`, `/sbin`, `/sys`, `/tmp`, `/usr`, and `/var`. Subdirectories

Fixes: #18230

Signed-off-by: Brent Baude <bbaude@redhat.com>
2025-03-07 09:54:01 -06:00
Brent Baude 727542fc6c Replace old nginx image with podman hello
A user has reported that a previously used URL in our Introduction
documentation is no longer working.  It apparently has missing files and
so forth.  We now use a Containerfile that is more reliable and less
chance of change.

Fixes: #25449

Signed-off-by: Brent Baude <bbaude@redhat.com>
2025-03-05 07:48:28 -06:00
openshift-merge-bot[bot] 01feac8af5
Merge pull request #25465 from baude/issue18193
podman-import only supports gz and tar
2025-03-05 11:10:22 +00:00
Brent Baude 9e397d8e4d podman-import only supports gz and tar
according to the conversation in #18193, we only support plain tar or
gzipped tar as input.

Fixes: #18193

Signed-off-by: Brent Baude <bbaude@redhat.com>
2025-03-04 14:11:46 -06:00
Brent Baude 7f4282a7e8 Update documentation for podman-machine-os-apply
A user reported that it was a surprise to receive an unsupported os
error when trying to use `podman machine os apply` with WSL machines.
This is intentional however the documentation needed to be updated to
explicitly state why (it is not based on FCOS).

Fixes: #25435

Signed-off-by: Brent Baude <bbaude@redhat.com>
2025-03-04 13:43:15 -06:00
flouthoc 1e9bfeb1f8
docs,kube: add configMap as supported volume option
Closes: https://github.com/containers/podman/issues/25436

[NO NEW TESTS NEEDED]
[NO TESTS NEEDED]

Signed-off-by: flouthoc <flouthoc.git@gmail.com>
2025-03-03 08:53:05 -08:00
Oleksandr Krutko b18dcccb28 add filter for container command
Signed-off-by: Oleksandr Krutko <alexander.krutko@gmail.com>

add a test, improve logic of command filter

Signed-off-by: Oleksandr Krutko <alexander.krutko@gmail.com>

improve a test

Signed-off-by: Oleksandr Krutko <alexander.krutko@gmail.com>

improve test, update a man page

Signed-off-by: Oleksandr Krutko <alexander.krutko@gmail.com>

improve man page, runtime functions

Signed-off-by: Oleksandr Krutko <alexander.krutko@gmail.com>

move ExternalContainerFilter type to entities package

Signed-off-by: Oleksandr Krutko <alexander.krutko@gmail.com>

add external filters

Signed-off-by: Oleksandr Krutko <alexander.krutko@gmail.com>

add tests for external containers

Signed-off-by: Oleksandr Krutko <alexander.krutko@gmail.com>

add test for ps external id, ancestor

Signed-off-by: Oleksandr Krutko <alexander.krutko@gmail.com>

add tests for ps external filters of since, before

Signed-off-by: Oleksandr Krutko <alexander.krutko@gmail.com>

fix linter warnings, add completion for the name filter

Signed-off-by: Oleksandr Krutko <alexander.krutko@gmail.com>

resolve conflicts

Signed-off-by: Oleksandr Krutko <alexander.krutko@gmail.com>

check command length, filter containers liist by external key

Signed-off-by: Oleksandr Krutko <alexander.krutko@gmail.com>

re-write test to remove buildah usage

Signed-off-by: Oleksandr Krutko <alexander.krutko@gmail.com>
2025-03-02 19:47:44 +02:00
openshift-merge-bot[bot] 9f8fdf6a40
Merge pull request #25420 from jankaluza/24030
Add "create" and "remove" events for secrets.
2025-02-28 17:08:22 +00:00
Jan Kaluza 20523152f8 Add "create" and "remove" events for secrets.
This commit adds the "secret" Event type and emits
"create" and "remove" events for this Event type
when Secret is created or removed.

This can be used for example by podman interfaces to
view and manage secrets.

Fixes: #24030

Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2025-02-28 16:58:06 +01:00
Jake Correnti 42fb942a6f
Introduce `podman machine cp` command
Add a new `podman machine cp` subcommand to allow users to copy files or
directories between a running Podman Machine and their host.

Tests cover the following cases:
- Copy a file from the host machine to the VM
- Copy a directory from the host machine to the VM
- Copy a file from the VM to the host machine
- Copy a directory from the VM to the host machine
- Copy a file to a directory
- Copy a directory to a file

Signed-off-by: Jake Correnti <jakecorrenti+github@proton.me>
2025-02-28 09:56:46 -05:00
Brent Baude cbc73457ab Add --all to artifact rm
Add the ability to remove all artifacts with a --all|-a option in podman
artifact rm.

Fixes: https://issues.redhat.com/browse/RUN-2512

Signed-off-by: Brent Baude <bbaude@redhat.com>
2025-02-20 09:38:50 -06:00
Giuseppe Scrivano b43863ae2a
docs: warn about adding capabilities
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2345676

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2025-02-18 15:23:29 +01:00
Ben Boeckel 543be25ef3 quadlet: support `Memory=` in `[Container]` sections
Maps to the `--memory=` flag.

Signed-off-by: Ben Boeckel <mathstuf@gmail.com>
2025-02-17 17:29:15 +01:00
Jan Rodák fdd442cbdf
Create `--append` flag to add file to existing artifact
Fixes: https://issues.redhat.com/browse/RUN-2444

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2025-02-12 10:33:37 +01:00
openshift-merge-bot[bot] 2f261d1e19
Merge pull request #25238 from Luap99/artifact-extract
add podman artifact extract
2025-02-11 18:47:23 +00:00
Paul Holzinger 3925a30fa7
add podman artifact extract
Add a new command to extract the blob content of the artifact store to a
local path.

Fixes https://issues.redhat.com/browse/RUN-2445

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-02-11 14:36:53 +01:00
Paul Holzinger 79be095795
docs: add v5.4 to API reference
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-02-11 14:05:00 +01:00
openshift-merge-bot[bot] 81431977e6
Merge pull request #25043 from jakecorrenti/machine-copy-files
Add `machine init --playbook`
2025-02-04 15:19:23 +00:00
Jake Correnti 297e8a3476 Add `machine init --playbook`
Allow the user to provide an Ansible playbook file on init which will
then be run on boot.

Signed-off-by: Jake Correnti <jakecorrenti+github@proton.me>
Signed-off-by: Brent Baude <bbaude@redhat.com>
2025-02-03 16:43:04 -05:00
Brent Baude bc2763eac8 Add --noheading to artifact ls
like images and containers, it could be handy to have a --noheading
option that removes the headings on the output.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2025-02-03 10:50:46 -06:00
Brent Baude d575ae12f8 Add --no-trunc to artifact ls
added a --no-trunc flag to artifact ls, which follows what images has
done.  by default now, the ls output will have the shortened 12
character digest.  the --no-trunc will output the full digest.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2025-01-31 16:19:18 -06:00
Brent Baude bd061aa2d5 Add type and annotations to artifact add
podman artifact add now supports two new command line switches.

--type string that describes the type of artifact
--annotation string slice in the form of key=val

These new options allow users to "tag" information in on their artifacts
for any number of purposes down the line

RUN-2446

Signed-off-by: Brent Baude <bbaude@redhat.com>
2025-01-31 09:53:03 -06:00
openshift-merge-bot[bot] 4ea199d744
Merge pull request #25111 from hdub-tech/docs/podman-build-secrets
Improve podman build secrets docs / Makefile validatepr description
2025-01-28 14:31:51 +00:00
openshift-merge-bot[bot] 8d65d1e9e2
Merge pull request #25102 from Honny1/prune
Clean up after unexpectedly terminated build
2025-01-27 16:52:06 +00:00
openshift-merge-bot[bot] 9403c3d98d
Merge pull request #24678 from rhatdan/manifest
Add podman manifest rm --ignore
2025-01-27 14:52:05 +00:00
Jan Rodák 81eb84fdaa
Clean up after unexpectedly terminated build
The `podman system prune` command is able to remove build containers that were created during the build, but were not removed because the build terminated unexpectedly.

By default, build containers are not removed to prevent interference with builds in progress. Use the **--build** flag when running the command to remove build containers as well.

Fixes: https://issues.redhat.com/browse/RHEL-62009

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2025-01-27 14:21:27 +01:00
openshift-merge-bot[bot] c76c13f179
Merge pull request #25106 from Fak3/patch-1
docs: mount.md - idmapped mounts only work for root user
2025-01-27 11:36:09 +00:00
H Dub 0d2431dca2
docs: Enhance podman build --secret documentation and add examples
Signed-off-by: H Dub <14808878+hdub-tech@users.noreply.github.com>
2025-01-24 14:43:46 -06:00
Evstifeev Roman 016f41ab49 docs: mount.md - idmapped mounts only work for root user
As reported in #24918 and clarified in https://github.com/containers/crun/issues/1632#issuecomment-2567991631

Signed-off-by: Evstifeev Roman <someuniquename@gmail.com>
2025-01-24 14:07:49 +05:00
openshift-merge-bot[bot] 3b6c7665b9
Merge pull request #25077 from tangentsoft/quadlet-5-symlink-bypass
Quadlet 5 symlink bypass
2025-01-23 19:26:16 +00:00
Warren Young 51d599bce3 Avoid indirect links through quadlet(5)
On Linux systems, the quadlet(5) manpage points to the actual content at
podman-systemd.unit(5) but this cannot be counted on elsewhere.  In
particular, this symlink isn't installed by the macOS Brew package, and
https://docs.podman.io/en/latest/markdown/quadlet.5.html is a broken
URL.  Symlinks are also unlikely to function properly within the Windows
distribution, though this is untested speculation.

Now that an HTML link to podman-systemd.unit.5.html can be counted on to
work properly, this change also adds hyperlinks to these references.

Signed-off-by: Warren Young <wyoung@tangentsoft.com>
2025-01-22 13:19:50 -07:00
openshift-merge-bot[bot] 4cae27b625
Merge pull request #25029 from robertgzr/play-cdi
Document kube-play CDI support
2025-01-22 18:09:25 +00:00
Daniel J Walsh 5181becfde
Add podman manifest rm --ignore
When removing manifests, users should be allowed to ignore
ones that no longer exists.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2025-01-22 11:43:47 -05:00
Brent Baude d7553fabc7 podman artifact
the podman artifact verb is used to manage OCI artifacts.  the following
verbs were added to `podman artifact`:

* add
* inspect
* ls
* pull
* push
* rm

Notable items with this PR:

* all artifact commands and their output are subject to change. i.e.
  consider all of this tech preview
* there is no way to add a file to an artifact that already exists in
  the store.  you would need to delete and recreate the artifact.
* all references to artifacts names should be fully qualified names in
  the form of repo/name:tag (i.e. quay.io/artifact/foobar:latest)
* i understand that we will likely want to be able to attribute things
  like arch, etc to artifact files.  this function is not available yet.

Many thanks to Paul Holzinger for autocompletion PRs and review PRs that
fixed issues early on.

Also fix up some Args function to specify the correct number of args.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
Signed-off-by: Brent Baude <bbaude@redhat.com>
2025-01-21 12:47:30 -06:00
Valentin Rothberg 34d42514f1 compose docs: fix typo
Fix the typo s/provider/providers/ and give a concrete example to avoid
pitfalls such as the on in #25023.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2025-01-17 08:30:45 +01:00
openshift-merge-bot[bot] a3bb0a1a2f
Merge pull request #25008 from rhatdan/hostname
Add --no-hostname option
2025-01-16 17:14:40 +00:00
openshift-merge-bot[bot] 1a43077d99
Merge pull request #25019 from vmsh0/docs-initialized-state
docs: add 'initialized' state to status filters
2025-01-16 16:36:14 +00:00
Robert Günzler d4f4cf0988
Document kube-play CDI support
Follow up to ec6b0355bf

Signed-off-by: Robert Günzler <r@gnzler.io>
2025-01-16 15:41:16 +01:00
Erik Sjölund e93f0acbee
docs: Add quadlet debug method systemd-analyze
Reference: https://github.com/containers/podman/discussions/24891

Signed-off-by: Erik Sjölund <erik.sjolund@gmail.com>
2025-01-16 08:27:47 +01:00
Riccardo Paolo Bestetti 6ad4742ba8
docs: add 'initialized' state to status filters
Previously, the 'initialized' state was not documented as an available
filter for various Podman commands.

This commit documents 'initialized' as a valid state that can be used to
filter the start, stop, restart, rm, pause, unpause, and ps commands.

Fixes: #25017
Signed-off-by: Riccardo Paolo Bestetti <pbl@bestov.io>
2025-01-15 19:28:27 +01:00
Daniel J Walsh 6565bde6e8
Add --no-hostname option
Fixes: https://github.com/containers/podman/issues/25002

Also add the ability to inspect containers for
UseImageHosts and UseImageHostname.

Finally fixed some bugs in handling of --no-hosts for Pods,
which I descovered.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2025-01-15 06:51:32 -05:00
openshift-merge-bot[bot] 2e1e7107b7
Merge pull request #24882 from giuseppe/keep-id-size
namespaces: allow configuring keep-id userns size
2025-01-08 18:29:05 +00:00
Giuseppe Scrivano b0b1d19723
namespaces: allow configuring keep-id userns size
Introduce a new option "size" to configure the maximum size of the
user namespace configured by keep-id.

Closes: https://github.com/containers/podman/issues/24837

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2025-01-08 10:08:29 +01:00
Daniel J Walsh 418ea52e06
Document .build for Image .container option
$NAME.build is supported in .container to automatically build the
local image. This needs to be documented.

Also fix up other special cases to look the same in the man page.

Fixes: https://www.reddit.com/r/podman/comments/1hmhhhi/quadlet_build_units/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2025-01-07 14:20:43 -05:00
openshift-merge-bot[bot] 5550e1fd83
Merge pull request #24935 from swestersund/patch-1
Fix slirp4netns typo in podman-network.1.md
2025-01-06 16:12:47 +00:00
Simon Westersund 53e5e402aa Fix slirp4netns typo in podman-network.1.md
Signed-off-by: Simon Westersund <swestersund@users.noreply.github.com>
2025-01-04 20:04:59 +02:00
Odilon Sousa d1a3f96cbf Add support to ShmSize in Pods with Quadlet
This closes #22915

Signed-off-by: Odilon Sousa <osousa@redhat.com>
2024-12-30 12:33:00 -03:00
Michael Zimmermann e608874004 docs: improve documentation for internal networks
This goes into more detail about what this option actually does.

Signed-off-by: Michael Zimmermann <sigmaepsilon92@gmail.com>
2024-11-26 14:24:44 +01:00
Michael Zimmermann 697c4181d2 docs: document bridge mode option
Signed-off-by: Michael Zimmermann <sigmaepsilon92@gmail.com>
2024-11-26 14:24:44 +01:00
Gavin Lam 4f7395f93a
Add --hosts-file flag to container and pod commands
* Add --hosts-file flag to container create, container run and pod create
* Add HostsFile field to pod inspect and container inspect results
* Test BaseHostsFile config in containers.conf

Signed-off-by: Gavin Lam <gavin.oss@tutamail.com>
2024-11-24 22:00:34 -05:00
openshift-merge-bot[bot] d85ac938e6
Merge pull request #24442 from Honny1/change-healthcheck-config-via-podman-update
Configure HealthCheck with `podman update`
2024-11-22 15:57:30 +00:00
Jan Rodák a1249425bd
Configure HealthCheck with `podman update`
New flags in a `podman update` can change the configuration of HealthCheck when the container is started, without having to restart or recreate the container.

This can help determine why a given container suddenly started failing HealthCheck without interfering with the services it provides. For example, reconfigure HealthCheck to keep logs longer than the usual last X results, store logs to other destinations, etc.

Fixes: https://issues.redhat.com/browse/RHEL-60561

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2024-11-19 19:44:14 +01:00
Paul Holzinger e6e9d2c21c
docs: add 5.3 as Reference version
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-11-19 11:31:49 +01:00
openshift-merge-bot[bot] fa5e3b6e94
Merge pull request #24535 from M1cha/network-driver-options
add support for driver-specific options during container creation
2024-11-14 09:29:44 +00:00
Michael Zimmermann 315e7412e8 add support for driver-specific options during container creation
This way has a huge disadvantage: The user will not see an error when he
uses a non-existent option. Another disadvantage is, that if we add more
options within podman, they might collide with the names chosen by
plugins. Such issues might be hard to debug.
The advantage is that the usage is very nice:
--network bridge:opt1=val1,opt2=val2.

Alternatively, we could put this behind `opt=`, which is harder to use,
but would solve all issues above:
--network bridge:opt=opt1=val1,opt=opt2=val2

Signed-off-by: Michael Zimmermann <sigmaepsilon92@gmail.com>
2024-11-13 18:14:58 +01:00
Maël Azimi 6809bf1d90 doc: fix words repetitions
Signed-off-by: Maël Azimi <mael.azimi@moul.re>
2024-11-13 15:21:40 +01:00
openshift-merge-bot[bot] a358d83ce9
Merge pull request #24437 from lambinoo/feat-split-pod-container-start-24401
Add key to control if a container can get started by its pod
2024-11-05 15:04:16 +00:00
Farya L. Maerten 2597eeae70 Add key to control if a container can get started by its pod
By default today, the container is always started if its pod is also
started. This prevents to create custom with systemd where containers in
a pod could be started through their `[Install]` section.

We add a key `StartWithPod=`, enabled by default, that enables one to
disable that behavior.

This prevents the pod service from changing the state of the container
service.

Fixes #24401

Signed-off-by: Farya L. Maerten <me@ltow.me>
2024-11-05 08:39:23 +01:00
openshift-merge-bot[bot] 9b8b2bf684
Merge pull request #24449 from ygalblum/quadlet-mount-image
Quadlet - support image file based mount in container file
2024-11-04 10:20:33 +00:00
openshift-merge-bot[bot] a109f22eec
Merge pull request #24431 from ntrrgc/2024-10-31-doc-interactive
doc: explain --interactive in more detail
2024-11-01 22:31:26 +00:00
Ygal Blum dbfc8cccda Quadlet - support image file based mount in container file
Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2024-11-01 16:20:23 -04:00
Alicia Boya García 37c8e10031 doc: explain --interactive in more detail
Clarifies the behavior of --interactive in both attached and unattached
scenarios.

Adds a caveat and explanation for --interactive being hungry as
described in https://github.com/containers/podman/issues/24370.

Signed-off-by: Alicia Boya García <aboya@igalia.com>
2024-11-01 08:23:08 +01:00
openshift-merge-bot[bot] f139bc17b3
Merge pull request #24407 from Luap99/readthedocs
readthedocs: build extra formats
2024-10-30 14:50:11 +00:00
Paul Holzinger 2a0a52469c
docs: fix broken example
In coreos /mnt is a symlink to /vat/mnt and systemd does not like do use
the symlink for some reason. Simply fix the example to use /Users which
now works as we always create the directories even on /.

Fixes #24281

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-10-29 18:19:07 +01:00
Paul Holzinger f4be5e34c2
docs: add missing swagger links for the stable branches
It is part of the release process yet everybody ignores this. I really
should look into automating this instead.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-10-29 17:30:40 +01:00
Maximilian Kolb eb90154975 doc: Remove whitespace before comma
Signed-off-by: Maximilian Kolb <mail@maximilian-kolb.de>
2024-10-23 19:44:24 +02:00
Paul Holzinger 67e0fa8b89
quadlet: add default network dependencies to all units
There is no good reason for the special case, kube and pod units
definitely need it. Volume and network units maybe not but for
consistency we add it there as well. This makes the docs much easier to
write and understand for users as the behavior will not differ.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-10-18 14:01:22 +02:00
Paul Holzinger 57b022782b
quadlet: ensure user units wait for the network
As documented in the issue there is no way to wait for system units from
the user session[1]. This causes problems for rootless quadlet units as
they might be started before the network is fully up. TWhile this was
always the case and thus was never really noticed the main thing that
trigger a bunch of errors was the switch to pasta.

Pasta requires the network to be fully up in order to correctly select
the right "template" interface based on the routes. If it cannot find a
suitable interface it just fails and we cannot start the container
understandingly leading to a lot of frustration from users.

As there is no sign of any movement on the systemd issue we work around
here by using our own user unit that check if the system session
network-online.target it ready.

Now for testing it is a bit complicated. While we do now correctly test
the root and rootless generator since commit ada75c0bb8 the resulting
Wants/After= lines differ between them and there is no logic in the
testfiles themself to say if root/rootless to match specifics. One idea
was to use `assert-key-is-rootless/root` but that seemed like more
duplication for little reason so use a regex and allow both to make it
pass always. To still have some test coverage add a check in the system
test to ask systemd if we did indeed have the right depdendencies where
we can check for exact root/rootless name match.

[1] https://github.com/systemd/systemd/issues/3312

Fixes #22197

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-10-18 11:43:48 +02:00
openshift-merge-bot[bot] d5be88e0c2
Merge pull request #24228 from giuseppe/do-not-lower-rlimits
podman: do not set rlimits to the default value
2024-10-15 22:02:52 +00:00
Daniel J Walsh 3a4c4468f2
Mention containers.conf settings for podman machine commands
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2024-10-14 08:17:47 -04:00
Giuseppe Scrivano 5ebba75dbd
spec: always specify default rlimits
the previous implementation was expecting the rlimits to be set for the
entire process and clamping the values only when running as rootless.

Change the implementation to always specify the expected values in the
OCI spec file and do the clamping only when running as rootless and
using the default values.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2024-10-11 23:04:27 +02:00
Farya L. M bac655a6b1 Allow removing implicit quadlet systemd dependencies
Quadlet inserts network-online.target Wants/After dependencies to ensure pulling works.
Those systemd statements cannot be subsequently reset.

In the cases where those dependencies are not wanted, we add a new
configuration item called `DefaultDependencies=` in a new section called
[Quadlet]. This section is shared between different unit types.

fixes #24193

Signed-off-by: Farya L. Maerten <me@ltow.me>
2024-10-09 14:48:05 +02:00
openshift-merge-bot[bot] 95a55f971c
Merge pull request #24177 from eriksjolund/docs-prefer-option-network
docs: prefer --network to --net
2024-10-07 09:18:50 +00:00
Erik Sjölund d0cb62aacc podman-systemd.unit.5: adjust example options
Use the reserved domain name example.com in the examples.
For details, see RFC 2606
https://datatracker.ietf.org/doc/html/rfc2606#section-3

Modify PublishPort examples to make them reflect more
common scenarios.

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

Signed-off-by: Erik Sjölund <erik.sjolund@gmail.com>
2024-10-06 17:31:41 +02:00
Erik Sjölund 374844817d docs: prefer --network to --net
The option --network is the more official option as it is
listed in

podman run --help
podman kube play --help

Signed-off-by: Erik Sjölund <erik.sjolund@gmail.com>
2024-10-05 09:10:15 +02:00
openshift-merge-bot[bot] 17d29a2f6d
Merge pull request #24122 from PhrozenByte/docs-hosts-file
Mention `no_hosts` and `base_hosts_file` configs in CLI option docs
2024-10-04 16:58:13 +00:00
Eric D. Helms d8b26ac1b4 Fix typo in secret inspect examples
Signed-off-by: Eric D. Helms <ericdhelms@gmail.com>
2024-10-03 15:23:07 -04:00
Daniel Rudolf 6f9cc3755a
Mention `no_hosts` and `base_hosts_file` configs in CLI option docs
Follow-up to #24043

Signed-off-by: Daniel Rudolf <github.com@daniel-rudolf.de>
2024-10-02 23:15:24 +02:00
Miloslav Trmač bb35ad1da4 Document that zstd:chunked is downgraded to zstd when encrypting
A part of https://github.com/containers/common/issues/2117 .

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2024-09-30 21:52:35 +02:00
openshift-merge-bot[bot] 639f3c6336
Merge pull request #24104 from Sativarsainath-26/network-cmd-removal
update docs for network-cmd-path
2024-09-30 15:50:05 +00:00
openshift-merge-bot[bot] 5cef143030
Merge pull request #24043 from PhrozenByte/docs-add-host-gateway
[CI:DOCS] Update documentation of CLI options affecting `/etc/hosts`
2024-09-30 13:37:22 +00:00
Sainath Sativar e07c31068f adding docs for network-cmd-path
Signed-off-by: Sainath Sativar <Sativar.sainath@gmail.com>
2024-09-30 10:41:10 +01:00
openshift-merge-bot[bot] 4e38381d37
Merge pull request #23900 from Honny1/healthcheck-log
HealthCheck log output options
2024-09-26 11:55:55 +00:00
Daniel Rudolf 6e4ef2c54d
Update documentation of `--no-hosts`, `--hostname`, and `--name` CLI options
Update the docs to properly cross-reference the `--add-host` option.

Signed-off-by: Daniel Rudolf <github.com@daniel-rudolf.de>
2024-09-25 21:42:56 +02:00
Daniel Rudolf c67d8baeb6
Update documentation of `--add-host` CLI option
Document the special *host-gateway* flag introduced with #19152, mention the special `host.containers.internal` and `host.docker.internal` hostnames, and clarify the option's usage in general.

Signed-off-by: Daniel Rudolf <github.com@daniel-rudolf.de>
2024-09-25 21:35:53 +02:00
Jan Rodák de856dab99
Add --health-max-log-count, --health-max-log-size, --health-log-destination flags
These flags can affect the output of the HealtCheck log. Currently, when a container is configured with HealthCheck, the output from the HealthCheck command is only logged to the container status file, which is accessible via `podman inspect`.
It is also limited to the last five executions and the first 500 characters per execution.

This makes debugging past problems very difficult, since the only information available about the failure of the HealthCheck command is the generic `healthcheck service failed` record.

- The `--health-log-destination` flag sets the destination of the HealthCheck log.
  - `none`: (default behavior) `HealthCheckResults` are stored in overlay containers. (For example: `$runroot/healthcheck.log`)
  - `directory`: creates a log file named `<container-ID>-healthcheck.log` with JSON `HealthCheckResults` in the specified directory.
  - `events_logger`: The log will be written with logging mechanism set by events_loggeri. It also saves the log to a default directory, for performance on a system with a large number of logs.

- The `--health-max-log-count` flag sets the maximum number of attempts in the HealthCheck log file.
  - A value of `0` indicates an infinite number of attempts in the log file.
  - The default value is `5` attempts in the log file.
- The `--health-max-log-size` flag sets the maximum length of the log stored.
  - A value of `0` indicates an infinite log length.
  - The default value is `500` log characters.

Add --health-max-log-count flag

Signed-off-by: Jan Rodák <hony.com@seznam.cz>

Add --health-max-log-size flag

Signed-off-by: Jan Rodák <hony.com@seznam.cz>

Add --health-log-destination flag

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2024-09-25 14:01:35 +02:00