1359 Commits

Author SHA1 Message Date
6f9d9636a2 Support uid,gid,mode options for secrets
Support UID, GID, Mode options for mount type secrets. Also, change
default secret permissions to 444 so all users can read secret.

Signed-off-by: Ashley Cui <acui@redhat.com>
2021-07-12 17:00:50 -04:00
75431a455f [CI:DOCS] podman search: clarify that results depend on implementation
Clarify in the man page that podman-search is not generally realiable
way of determining the presence/existence of an image.  The results of
the v1 and the v2 endpoints depend on the implementation of each
registry; the semantics are not really specified.  Some registries may
not support search at all as it's not part of the OCI dist spec.

Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1978556
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-07-07 11:04:40 +02:00
5ddd76edd0 Several shell completion fixes
- fix network filters
- add prune filters
- pod create --share support comma separated namespaces

[NO TESTS NEEDED]

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2021-06-11 13:06:06 -04:00
6beae86f01 System tests: deal with crun 0.20.1
crun 0.20.1 changed an error message that we relied on. Deal
with it by accepting the old and new message.

Also (unrelated): sneak in some doc fixes to get rid of
nasty go-md2man warnings that have crept into man pages.

Signed-off-by: Ed Santiago <santiago@redhat.com>

<MH: Fixed cherry-pick conflicts>

Signed-off-by: Matthew Heon <mheon@redhat.com>
2021-06-11 11:09:42 -04:00
32927f5d66 generate systemd: make mounts portable
Commit 748826fc88fc fixed a bug where slow mounting of the runroot was
causing issues when the units are started at boot.  The fix was to add
the container's runroot to the required mounts; the graph root has been
added as well.

Hard-coding the run- and graphroot to the required mounts, however,
breaks the portability of units generated with --now.  Those units are
intended to be running on any machine as, theoreticaly, any user.

Make the mounts portable by using the `%t` macro for the run root.
Since the graphroot's location varies across root and ordinary users,
drop it from the list of required mounts.  The graphroot was not causing
issues.

Fixes: #10493
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-05-31 14:56:45 +02:00
69bae4774b docs: --cert-dir: point to containers-certs.d(5)
Point to containers-certs.d(5) for details on the default paths, the
lookup logic and the structure of these directories.  Previously, the
man pages stated that the default path would be in `/etc/containers/...`
which is not entirely and a red herring for users (see #10116).

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-05-25 15:27:38 -04:00
c53638e9f6 Podman info add support for status of cgroup controllers
Signed-off-by: flouthoc <flouthoc.git@gmail.com>
2021-05-25 15:19:03 -04:00
a9108ab258 docs: generate systemd: XDG_RUNTIME_DIR
A conversation on the customer portal suggests that to add an extra note
about the requirement of XDG_RUNTIME_DIR to be set.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-05-25 15:11:16 -04:00
2a43fcf786 image prune: remove unused images only with --all
Fix a regression in `podman image prune` where unused images were
accidentally removed even when `--all=false`.  Extend and partially
rewrite the e2e tests to make sure we're not regressing again in the
future.

Fixing the aforementioned issue revealed another issue in the default
prune filter.  While prune should remove all "dangling" images (i.e.,
those without tag), it removed only "intermediate" ones; dangling images
without children.  Remove the mistaken comment from the libimage
migration.

Also clarify the help message and man page.

Fixes: #10350
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-05-17 13:52:03 +02:00
460182dc5d network tutorial: update with rootless cni changes
Starting with podman v3.2 rootless cni will work without the
rootless-cni-infra container. Update the network tutorial to reflect the
latest changes and mention that the infra container can be removed.

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2021-05-15 22:46:53 +02:00
757ed8fd02 [CI:DOCS] Update first line in intro page
Remove the word `consumption` and give a better description for the
first line of the introduction page.

Fixes: #10325

Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
2021-05-14 17:08:35 -04:00
fabaa25667 Merge pull request #10254 from jmguzik/prune-filter-cli
Add support for cli network prune --filter flag
2021-05-14 13:12:40 -04:00
5e6405334c Add support for cli network prune --filter flag
Signed-off-by: Jakub Guzik <jakubmguzik@gmail.com>
2021-05-12 09:05:06 +02:00
8ad40a85d5 Add host.serviceIsRemote to podman info results
Developers asked for a deterministic field to verify if podman is
running via API or linked directly to libpod library.

$ podman info --format '{{.Host.ServiceIsRemote}}'
false
$ podman-remote info --format '{{.Host.ServiceIsRemote}}'
true
$ podman --remote info --format '{{.Host.ServiceIsRemote}}'
true

* docs/conf.py formatted via black

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2021-05-10 14:13:15 -07:00
30e731ecc8 Revert escaped double dash man page flag syntax
Commit 800a2e2d35 introduced a way to disable the conversion of `--`into
an en dash on docs.podman.io, so the ugly workaround of escaping the
dashes is no longer necessary.

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2021-05-07 18:30:00 +02:00
5616887f62 Merge pull request #10249 from rhatdan/man1
[CI:DOCS] Add documentation on short-names
2021-05-07 10:23:26 -04:00
b533fcb12e Merge pull request #10255 from rcowsill/no-dash-conv
[CI:DOCS] Stop conversion of `--` into en dash
2021-05-07 09:41:27 -04:00
bdbce9bcb1 Add documentation on short-names
Once we settle on the wording for short-names in podman-pull, I will
add the same section to all of the podman commands that use pull.

Also ran through all man pages with a spell checker.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-05-07 09:00:35 -04:00
0c411278ce Merge pull request #10202 from EduardoVega/9763-kube-auto-update
Add support to preserve auto-update labels in play / generate kube
2021-05-07 05:36:26 -04:00
141ba94f97 Merge pull request #10221 from ashley-cui/envsec
Add support for environment variable secrets
2021-05-07 05:34:26 -04:00
72f4f389f0 Adds support to preserve auto update labels in generate and play kube
In the case of generate kube the auto-update labels will be converted into kube annotations and for play kube they will be converted back to labels since that's what podman understands

Signed-off-by: Eduardo Vega <edvegavalerio@gmail.com>
2021-05-06 21:21:43 -06:00
800a2e2d35 [CI:DOCS] Stop conversion of -- into en dash
In the documentation source `--` is only used in long option names or
console output. Currently any unescaped `--` that's not in a code
block/inline gets converted into a single "en dash". This is confusing
to the reader because long options start with two dashes, not one.

This switches off the dash transformation in Sphinx. Quotation marks,
apostrophes and ellipses are still transformed as before.

It also switches off all smart transforms in the podman-remote windows
documentation build. This matches the Linux man page build, which
doesn't use smart transforms.

Signed-off-by: Rob Cowsill <42620235+rcowsill@users.noreply.github.com>
2021-05-06 23:14:49 +01:00
034470e5be Merge pull request #9689 from boaz0/boaz-1
add restart-policy to container filters & --filter to podman start
2021-05-06 14:50:26 -04:00
2634cb234f Add support for environment variable secrets
Env var secrets are env vars that are set inside the container but not
commited to and image. Also support reading from env var when creating a
secret.

Signed-off-by: Ashley Cui <acui@redhat.com>
2021-05-06 14:00:57 -04:00
caa8c622b3 Add containers.conf information for changing defaults
We probably should put a whole bunch of other documentation in man
pages about containers.conf, but let's settle on this description
before we go add other docs.

Helps with: https://github.com/containers/podman/issues/2669

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-05-06 10:43:36 -04:00
c7178958ca Fix wrong macvlan PNG in networking doc.
Signed-off-by: Sebastian Boerakker <sebboer@protonmail.com>
2021-05-06 13:54:20 +02:00
efdc7d8465 Add restart-policy to container filters & --filter to podman start
Signed-off-by: Boaz Shuster <boaz.shuster.github@gmail.com>
2021-05-06 14:35:15 +03:00
0d1ebc180e codespell cleanup
[NO TESTS NEEDED] This is just running codespell on podman

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-05-05 15:50:59 -04:00
404bc2684e Merge pull request #10185 from rhatdan/volume
Add filepath glob support to --security-opt unmask
2021-05-05 15:38:11 -04:00
120e1b78ef Merge pull request #10208 from Luap99/play-kube-mac
add --mac-address to podman play kube
2021-05-05 10:10:16 -04:00
0f7d54b026 migrate Podman to containers/common/libimage
Migrate the Podman code base over to `common/libimage` which replaces
`libpod/image` and a lot of glue code entirely.

Note that I tried to leave bread crumbs for changed tests.

Miscellaneous changes:

 * Some errors yield different messages which required to alter some
   tests.

 * I fixed some pre-existing issues in the code.  Others were marked as
   `//TODO`s to prevent the PR from exploding.

 * The `NamesHistory` of an image is returned as is from the storage.
   Previously, we did some filtering which I think is undesirable.
   Instead we should return the data as stored in the storage.

 * Touched handlers use the ABI interfaces where possible.

 * Local image resolution: previously Podman would match "foo" on
   "myfoo".  This behaviour has been changed and Podman will now
   only match on repository boundaries such that "foo" would match
   "my/foo" but not "myfoo".  I consider the old behaviour to be a
   bug, at the very least an exotic corner case.

 * Futhermore, "foo:none" does *not* resolve to a local image "foo"
   without tag anymore.  It's a hill I am (almost) willing to die on.

 * `image prune` prints the IDs of pruned images.  Previously, in some
   cases, the names were printed instead.  The API clearly states ID,
   so we should stick to it.

 * Compat endpoint image removal with _force_ deletes the entire not
   only the specified tag.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-05-05 11:30:12 +02:00
4fd1965ab4 Add filepath glob support to --security-opt unmask
Want to allow users to specify --security-opt unmask=/proc/*.
This allows us to run podman within podman more securely, then
specifing umask=all, also gives the user more flexibilty.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-05-04 14:40:43 -04:00
fb7d16c7a8 add --mac-address to podman play kube
Add a new --mac-address flag to podman play kube. This is used to specify
a static MAC address which should be used for the pod. This option can be
specified several times because play kube can create more than one pod.

Fixes #9731

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2021-05-04 20:14:13 +02:00
a726a3d79c Add --all to podman start
Signed-off-by: Boaz Shuster <boaz.shuster.github@gmail.com>
Co-authored-by: Ed Santiago <santiago@redhat.com>
2021-05-03 22:17:06 +03:00
b4bbc5210b [CI:DOCS] Add titles to remote docs (windows)
Previously the podman-remote windows docs had no HTML titles

This gives them the same titles as the equivalent Sphinx HTML pages

Signed-off-by: Rob Cowsill <42620235+rcowsill@users.noreply.github.com>
2021-04-29 22:18:13 +01:00
4d2ba323f2 Merge pull request #10063 from ParkerVR/autoupdate-local
Autoupdate Local
2021-04-29 13:37:50 -04:00
c01b1cbfcd Merge pull request #10170 from ashley-cui/machineone
[NO TESTS NEEDED] Check if another VM is running on machine start
2021-04-29 09:52:14 -04:00
caf19efdab TODO complete
changed struct to policyMapper
change "image" to "registry" in multiple locations

Updated documentation with registry alias & autoupdate local

Added relevant test

Signed-off-by: Parker Van Roy <pvanroy@redhat.com>
2021-04-29 02:40:11 -04:00
53057d5c20 Check if another VM is running on machine start
Only one VM can be up at a time. If another VM is running, or the current VM is running, error out on a podman machine start

[NO TESTS NEEDED]

Signed-off-by: Ashley Cui <acui@redhat.com>
2021-04-28 15:09:10 -04:00
e18ef90566 [CI:DOCS] Improve titles of command HTML pages
When building Sphinx HTML docs, preprocess markdown files and convert
pandoc-style title lines into recommonmark eval_rst blocks

This gives command HTML pages the same title as the equivalent manpage

Fixes: containers/podman.io#385

Signed-off-by: Rob Cowsill <42620235+rcowsill@users.noreply.github.com>
2021-04-28 16:21:24 +01:00
5dc9faf624 Merge pull request #10134 from rhatdan/conmon
[CI:DOCS] Add more documentation on conmon
2021-04-27 16:57:31 -04:00
f613a2a8d5 Merge pull request #10119 from rhatdan/timeout
Add podman run --timeout option
2021-04-27 16:47:32 -04:00
63fd3a3fca Add more documentation on conmon
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-04-27 11:57:19 -04:00
a010bb912d [CI:DOCS] Fix Markdown layout bugs
* Add missing backticks to mark the end
  of the code block.

Signed-off-by: Erik Sjölund <erik.sjolund@gmail.com>
2021-04-25 14:39:54 +02:00
3538815c5b Add podman run --timeout option
This option allows users to specify the maximum amount of time to run
before conmon sends the kill signal to the container.

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

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-04-23 11:18:05 -04:00
21c77846e4 Merge pull request #9495 from rhatdan/groups
Add '--group-add keep-groups': supplementary groups into container
2021-04-22 09:29:28 -04:00
382c0ac133 Merge pull request #10103 from pipern/patch-1
[CI:DOCS] Typo fix to usage text of --compress option
2021-04-21 15:42:47 -04:00
e356160f41 Add --group-add keep-groups: suplimentary groups into container
Currently we have rootless users who want to leak their groups access
into containers, but this group access is only able to be pushed in by
a hard to find OCI Runtime annotation.  This PR makes this option a lot
more visable and hides the complexity within the podman client.

This option is only really needed for local rootless users. It makes
no sense for remote clients, and probably makes little sense for
rootfull containers.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-04-21 13:28:36 -04:00
9c8277247d Fixes from make codespell
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-04-21 13:16:33 -04:00
85937044cd Typo fix to usage text of --compress option
Correction of `--format-docker-dir` in to `--format=docker-dir`

Signed-off-by: Nick Piper <nick.piper@cgi.com>
2021-04-21 17:26:50 +01:00