3182 Commits

Author SHA1 Message Date
f6be9fbc7f Build documentation in a container on Win arm64
Locally building the windows installer requires to
build the documentation. And building documentation
requires Pandoc.

There is no pre-built binaries for Windows arm64
and this makes it complicated to build the Podman
Windows installer on Windows arm64.

To unlock this scenario we are adding a new winmake.ps1
target to build the documentation in a container (where
Pandoc is pre-installed).

Signed-off-by: Mario Loriedo <mario.loriedo@gmail.com>
2025-04-29 15:36:37 +02:00
76b07dd48d Bump to Buildah v1.40.0
Bumps to Buildah v1.40.0 and adds the `--inherits-labels` option to
build and farm build man pages.

Also turn off the inherit-labels option test for now as it seems to be
rathr unhappy.

Issue for inherit-labels test failure: https://github.com/containers/podman/issues/25938

Signed-off-by: tomsweeneyredhat <tsweeney@redhat.com>
2025-04-22 16:50:02 -04:00
a3e132055d Merge pull request #25909 from baude/issue25884
Add ability to set layer media type for artifacts
2025-04-22 19:21:14 +00:00
5372c15bf8 Merge pull request #25892 from Regis-Caelum/quadlet-pod-hostname
Add HostName to quadlet pod
2025-04-22 12:52:04 +00:00
4ba8cde41d Add HostName to quadlet pod
update docs for hostname

Signed-off-by: Inshal Khan <kziaul123@gmail.com>
2025-04-19 08:51:45 +05:30
fdfed9979f Add ability to set layer media type for artifacts
in #25884, it was pointed out that the standard detection used to
determine the artifact's file type can be wrong.  in those cases, it
would be handy for the user to be able to override the media type of the
layer.  as such, added a new option called `--file-type`, which is
optional, and allows users to do just that.

`podman artifact add --file-type text/yaml
quay.io/artifact/config:latest ./config.yaml `

Fixes: #25884

Signed-off-by: Brent Baude <bbaude@redhat.com>
2025-04-17 10:36:21 -05:00
edcac9e9de Merge pull request #25901 from eulores/patch-1
Update podman-systemd.unit.5.md
2025-04-16 21:06:36 +00:00
17f3aed4fd Merge pull request #25899 from ygalblum/quadlet-unit-deps
Quadlet - translate dependencies on other quadlet units
2025-04-16 21:03:52 +00:00
bc9110c69f Update podman-systemd.unit.5.md
Table header in Pod units section was referring to podman container... instead of podman pod...

Signed-off-by: Andreas <43118918+eulores@users.noreply.github.com>
2025-04-16 21:52:11 +02:00
e498c6526b Quadlet - translate dependencies on other quadlet units
Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2025-04-16 15:29:42 -04:00
b615011b44 docs: Expand description of no-new-privileges
Fixes: #25853

Signed-off-by: Alexander Gramiak <agrambot@gmail.com>
2025-04-15 14:48:42 -06:00
09c2546b27 Merge pull request #25844 from ygalblum/quadlet-network-delete
Quadlet - allow deleting the network when stopping the service
2025-04-14 17:57:45 +00:00
0d4a148ee6 Quadlet - allow deleting the network when stopping the service
Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2025-04-10 10:34:16 -04:00
fe107ff0ce Quadlet - Add support for adding ExecReload command
Add tests
Update man page

Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2025-04-09 14:40:41 -04:00
1b9f78a33c Merge pull request #25801 from eriksjolund/update-defaultdependencies-docs
docs: update `DefaultDependencies=` description
2025-04-08 17:25:29 +00:00
a96b29b58c docs: update DefaultDependencies description
Signed-off-by: Erik Sjölund <erik.sjolund@gmail.com>
2025-04-08 18:19:59 +02:00
20e1b9db3a Merge pull request #24791 from arsenalzp/issue_24664
Allow filtering containers by command
2025-04-08 12:55:09 +00:00
dced2bf9ef Merge pull request #25769 from Luap99/pasta-doc
docs: update pasta options description
2025-04-03 19:50:53 +00:00
b5a1b512c9 Fix overwriting the Healthcheck configuration from the image
If the --health-cmd flag is not specified, other flags such as --health-interval, --health-timeout, --health-retries, and --health-start-period are ignored if the image contains a Healthcheck. This makes it impossible to modify these Healthcheck configuration when a container is created.

Fixes: https://github.com/containers/podman/issues/20212
Fixes: https://issues.redhat.com/browse/RUN-2629

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2025-04-03 15:52:05 +02:00
1f90cc1126 docs: update pasta options description
First, remove wrong sentence that says ports are forwarded dynamically
by default. That is wrong and contradicts what is written below.
Second, document that we also set --dns-forward and --map-guest-addr by
default. And lastly document the containers.conf field so users know
they are not forced to set the options on each command.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-04-03 15:50:59 +02:00
64f822f857 docs: delete the duplicated phrase in introduction page
Signed-off-by: Subrat Lima <subrat.k.lima@protonmail.com>
2025-04-03 15:32:45 +05:30
84203fa6ce Update links and markup in man pages
- Fix links to other man-pages in podman-build.1.md.in
- Fix markup and add link to oci-hooks manpage in podman.1.md

Signed-off-by: Paul Lettich <paul.lettich@netknights.it>
2025-04-02 17:22:43 +02:00
4a7785d4df docs: Update podman build security options
It seems support was added into Buildah for no-new-privileges [1]
however the Podman build documentation was not updated.

Fixes #25731

[1] d4c661a774

Signed-off-by: Lewis Denny <lewis@redhat.com>
2025-04-01 04:34:22 +10:00
590316beb6 update markdown documents with command filter
Signed-off-by: Oleksandr Krutko <alexander.krutko@gmail.com>
2025-03-31 19:27:43 +03:00
0a0c8ad6f4 Improve the file format documentation of podman-import.
- Bzip2, not bzip
- Add Zstd
- List compression algorithms, not file extensions, to
  decrease redundancy (and because the code doesn't actually
  rely on file extensions)

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2025-03-31 18:00:23 +02:00
3872293893 Revert "podman-import only supports gz and tar"
We can now accept the other formats again.

This reverts commit 9e397d8e4d8d520cf48594c8b5bb126209897486.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2025-03-31 18:00:23 +02:00
490eb476a8 Merge pull request #25717 from jankaluza/cdi-spec-dir
Add cdi-spec-dir option to top level options
2025-03-28 13:52:20 +00:00
dce36131ae Add cdi-spec-dir option to top level options.
This commit adds new --cdi-spec-dir global option. This
option is used to add additional CDI spec paths.

Signed-off-by: Micah Chambers (eos) <mchambers@anduril.com>
Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2025-03-28 11:24:57 +01:00
a0cae65c13 quadlet: add support for the UpheldBy option in the Install section
This adds support for the UpheldBy option in quadlet files. The UpheldBy option
is the counterpart to the Upholds option added in systemd v249 and is
similar to the existing WantedBy and RequiredBy options.

See https://www.freedesktop.org/software/systemd/man/latest/systemd.unit.html#Upholds=.

Signed-off-by: John Schug <john.ips.schug@gmail.com>
2025-03-27 15:48:46 -07:00
cb2466004f Merge pull request #25645 from jankaluza/24418
Add support for --pids-limit in podman kube play.
2025-03-26 16:15:45 +00:00
a918c91678 Merge pull request #25512 from findesgh/feature/#21256-extend-cidfile-support
Feature/#21256 extend cidfile support
2025-03-26 13:03:35 +00:00
f15b0887c7 Add support for pids-limit annotation for podman kube play.
This commit adds new annotation called:

io.podman.annotations.pids-limit/$ctrname

This annotation is used to define the PIDsLimit for
a particular pod. It is also automatically defined
when newly added --pids-limit option is used.

Fixes: #24418

Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2025-03-26 10:06:56 +01:00
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
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
10290d462b docs: Improve spelling and formatting
Signed-off-by: Alexander Gramiak <agrambot@gmail.com>
2025-03-24 16:35:29 -06:00
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
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
f1527283d6 Make exec support --cidfile.
Fixes: #21256

Signed-off-by: Martin Glatzle <findessp@yandex.ru>
2025-03-21 17:46:47 +01:00
b2285f6d46 Merge pull request #25626 from jankaluza/24875
Add --env and --unsetenv to podman update.
2025-03-21 13:52:17 +00:00
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
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
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
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
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
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
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
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
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
01feac8af5 Merge pull request #25465 from baude/issue18193
podman-import only supports gz and tar
2025-03-05 11:10:22 +00:00
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