16047 Commits

Author SHA1 Message Date
d7f6d355b0 podman-kube@.service.in: Remove Restart=never option with typo
systemd expects the value of the option to be `no` instead, but this is
already the default behavior. This fixes the following warning when
running `systemctl status` on the unit:

    Failed to parse service restart specifier, ignoring: never

Signed-off-by: Andrew Gunnerson <chillermillerlong@hotmail.com>
2022-08-13 18:13:03 -04:00
2e2d7524a3 Merge pull request #15253 from fulldecent/fix-broken-link-to-install-instructions
[CI:DOCS] fix updated links
2022-08-12 10:41:45 +00:00
f26a5246e3 Fix updated link to install instructions
Signed-off-by: William Entriken <github.com@phor.net>
2022-08-11 20:34:59 -04:00
0fc27ce980 Merge pull request #15286 from mheon/bump_420_main
[CI:DOCS] Update release notes on main branch for v4.2.0 release
2022-08-11 21:03:25 +00:00
432b025b2d Merge pull request #15289 from flouthoc/update-build-docs
[CI:DOCS] docs: specify `git` protocol is not supported for github hosted repo
2022-08-11 19:58:10 +00:00
57387da27e Merge pull request #15285 from YoitoFes/fix-15210
remote manifest push: show copy progress
2022-08-11 19:53:17 +00:00
1798cccf3e Merge pull request #15157 from cdoern/apiLog
fix LogConfig type for libpod API
2022-08-11 17:46:52 +00:00
e2a3f9592b docs: specify git protocol is not supported for github hosted repo
Build from URL does not supports `git://` is source is hosted on Github.
Reason: https://github.blog/2021-09-01-improving-git-protocol-security-github/

[CI:DOCS]
[NO NEW TESTS NEEDED]
[NO TESTS NEEDED]

Similar to: https://github.com/containers/buildah/pull/4179

Signed-off-by: Aditya R <arajan@redhat.com>
2022-08-11 21:26:13 +05:30
92bbae40de Merge pull request #15248 from vrothberg/RUN-1606
kube play: sd-notify integration
2022-08-11 15:44:55 +00:00
2935c38fd3 Update release notes for v4.2.0
Also add Podman Desktop to our README.

Signed-off-by: Matthew Heon <mheon@redhat.com>
2022-08-11 10:28:48 -04:00
7af523ea5a Merge pull request #15258 from elezar/bump-cdi-0.5.0
build(deps) bump CDI dependency from 0.4.0 to 0.5.0
2022-08-11 14:26:36 +00:00
a4efd401cd remote manifest push: show copy progress
`podman-remote manifest push` has shown absolutely no progress at all.
Fix that by doing the same as the remote-push code does.

Like remote-push, `quiet` parameter is true by default for backwards
compatibility.

Signed-off-by: Naoto Kobayashi <naoto.kobayashi4c@gmail.com>
2022-08-11 20:35:13 +09:00
79e21b5b16 kube play: sd-notify integration
Integrate sd-notify policies into `kube play`.  The policies can be
configured for all contianers via the `io.containers.sdnotify`
annotation or for indidivual containers via the
`io.containers.sdnotify/$name` annotation.

The `kube play` process will wait for all containers to be ready by
waiting for the individual `READY=1` messages which are received via
the `pkg/systemd/notifyproxy` proxy mechanism.

Also update the simple "container" sd-notify test as it did not fully
test the expected behavior which became obvious when adding the new
tests.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-08-10 21:12:39 +02:00
3fc126e152 libpod: allow the notify socket to be passed programatically
The notify socket can now either be specified via an environment
variable or programatically (where the env is ignored).  The
notify mode and the socket are now also displayed in `container inspect`
which comes in handy for debugging and allows for propper testing.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-08-10 21:10:17 +02:00
67a2e7351b add pkg/systemd/notifyproxy
Add a new package for proxying notify sockets and waiting for the
READY=1 message to appear.  May subject to further changes in
future commits.

Tests make sure that it behaves properly.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-08-10 21:10:17 +02:00
59ab5cce7d Merge pull request #15172 from graywolf-at-work/document-timestamp
[CI:DOCS] Document behavior of --timestamp when only FROM is used
2022-08-10 17:02:20 +00:00
67e7b2d6e3 Merge pull request #15267 from containers/dependabot/go_modules/github.com/container-orchestrated-devices/container-device-interface-0.5.0
build(deps): bump github.com/container-orchestrated-devices/container-device-interface from 0.4.0 to 0.5.0
2022-08-10 15:05:19 +00:00
245be9b394 Document behavior of --timestamp when only FROM is used
Fixes: #15171

Signed-off-by: Tomas Volf <tomas.volf@showmax.com>
2022-08-10 15:53:51 +02:00
e3f029cb83 build(deps): bump github.com/container-orchestrated-devices/container-device-interface
Bumps [github.com/container-orchestrated-devices/container-device-interface](https://github.com/container-orchestrated-devices/container-device-interface) from 0.4.0 to 0.5.0.
- [Release notes](https://github.com/container-orchestrated-devices/container-device-interface/releases)
- [Commits](https://github.com/container-orchestrated-devices/container-device-interface/compare/v0.4.0...v0.5.0)

---
updated-dependencies:
- dependency-name: github.com/container-orchestrated-devices/container-device-interface
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-10 12:08:21 +00:00
89ab5c9fab Merge pull request #12865 from rhatdan/crun
I believe that these tests will now run with crun.
2022-08-10 10:38:46 +00:00
aa13c73f71 Merge pull request #14926 from cdoern/generateSpec
podman generate spec
2022-08-10 10:23:18 +00:00
c4a35313c9 Merge pull request #15260 from edsantiago/docs_dedup_continued
Man pages: refactor common options
2022-08-10 10:20:45 +00:00
84502fc144 Merge pull request #15094 from cdoern/ssh
podman ssh work, using new c/common interface
2022-08-10 08:57:58 +00:00
658960c97b build(deps) bump CDI dependency from 0.4.0 to 0.5.0
bump github.com/container-orchestrated-devices/container-device-interface from 0.4.0 to 0.5.0

This requires that the cdi.Registry be instantiated with AutoRefresh disabled for CLI clients.

[NO NEW TESTS NEEDED]

Signed-off-by: Evan Lezar <elezar@nvidia.com>
2022-08-10 10:49:42 +02:00
c1eb9f65ac Merge pull request #15244 from baude/machinememorytests
check memory test based on range
2022-08-10 04:03:48 +00:00
2bcee9f627 Man pages: refactor common options
Continued. Harder-to-review ones this time.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-08-09 16:18:53 -06:00
25f6fc9c6a I believe that these tests will now run with crun.
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-08-09 15:41:33 -04:00
72679400b0 Merge pull request #15199 from baude/addapplehv
Add interface for apple hypervisor
2022-08-09 19:31:17 +00:00
6d887bdc01 Merge pull request #15250 from edsantiago/docs_dedup_phase2
Refactor common man page options, phase 2
2022-08-09 19:28:42 +00:00
a2869c327e Merge pull request #15230 from YoitoFes/Issue-15211
pkg/bindings: Support writing image push progress to specified io.Writer
2022-08-09 18:49:26 +00:00
a561b7dacc check memory test based on range
when verifying that the memory was set correctly for a podman machine
instance, we check if the number is between a range because based on
architecture, operating system, and memory itself this number can differ
significantly.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2022-08-09 13:23:02 -05:00
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
c33dc90ace Merge pull request #15215 from cevich/use_image_search
Cirrus: Improve CI VM image updates for EC2
2022-08-09 17:08:08 +00:00
d2d7898b8a Cirrus: Improve CI VM image updates for EC2
AWS EC2 keys VM images by an utterly unreadable, horrible to use,
generated "AMI ID" value.  This is very error prone for humans in
practice, since it's impossible to tell one image from the next by
eye.  Worse, EC2 permits duplicate name-tag values, complicating
image specification further.

However fortunately, Cirrus-CI recently implemented a feature by
which AMI's may be referenced by a name-tag search - choosing
the most recent AMI found.  Since the `containers/automation_images`
build workflow always assigns a unique name + `$IMAGE_SUFFIX` value,
we can simply re-use it for both AWS and GCP image specification.

In other words as of this commit, specifying new CI VM images can
be done by simply updating the `$IMAGE_SUFFIX` value as we've always
done.  No need to call out a specific AMI ID just for EC2 tasks.

Signed-off-by: Chris Evich <cevich@redhat.com>
2022-08-09 11:22:15 -04:00
097cc6eb6d Merge pull request #15225 from unknowndevQwQ/update_logo
[CI:DOCS]: update the podman logo
2022-08-09 14:28:59 +00:00
a7af6ef632 Merge pull request #15246 from TomSweeneyRedHat/dev/tsweeney/buildah1.27.0
Bump to Buildah v1.27.0
2022-08-09 13:32:07 +00:00
d7f134d687 Refactor common man page options, phase 2
Followup to #15174. These are the options that are easy(ish)
to review: those that have only drifted slightly, and need
only minor tweaks to bring back to sanity. For the most part,
I went with the text in podman-run because that was cleaned up
in #5192 way back in 2020. These diffs primarily consist of
using '**' (star star) instead of backticks, plus other
formatting and punctuation changes.

This PR also adds a README in the options dir, and a new
convention: <<container text...|pod text...>> which tries
to do the right thing based on whether the man page name
includes "-pod-" or not. Since that's kind of hairy code,
I've also added a test suite for it.

Finally, since this is impossible to review by normal means,
I'm temporarily committing hack/markdown-preprocess-review,
a script that will diff option-by-option. I will remove it
once we finish this cleanup, but be advised that there are
still 130+ options left to examine, and some of those are
going to be really hard to reunite.

Review script usage: simply run it (you need to have 'diffuse'
installed). It isn't exactly obvious, but it shouldn't take more
than a minute to figure out. The rightmost column (zzz-chosen.md)
is the "winner", the actual content that will be used henceforth.
You really want an ultrawide screen here.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-08-09 06:33:17 -06:00
7992d86ab3 Merge pull request #15134 from sstosh/improve-output
Output messages display rawInput
2022-08-09 06:13:10 +00:00
3738221c52 test: update apply-podman-deltas for new tests
Skip some newly added test for remote and modify error output of a test
case which is reporter early in case of podman.

[NO NEW TESTS NEEDED]
[NO TESTS NEEDED]

Signed-off-by: Aditya R <arajan@redhat.com>
2022-08-09 09:13:14 +05:30
59cb410fe2 build: implement --cache-to,--cache-from and --cache-ttl
[NO NEW TESTS NEEDED]
[NO TESTS NEEDED]

Signed-off-by: Aditya R <arajan@redhat.com>
2022-08-09 09:10:58 +05:30
7bd8864800 Bump to Buildah v1.27.0
As the title says.

Vendor Buildah v1.27.0 into Podman in preparation for Buildah v4.2

[No New Tests Needed]

Signed-off-by: tomsweeneyredhat <tsweeney@redhat.com>
2022-08-08 22:17:51 -04:00
1045647a4a Add interface for apple hypervisor
The new apple silicon processesors (m1/m2) are capable of using a performent apple
hypervisor (included in macos).  Our "virtual providers" for podman
machine are part of an interface design.  This PR provides an
implementation of the interface to begin the work for supporting the
apple hypervisor.  It is basically only a skeletal PR.

The actual code for using the hypervisor and launching a machine will
come as several new PRs following the inclusion of this one.

There will likely be code reuse between the applehv and qemu code; but
none of that code is being moved at this time.  It will be moved "on
demand" during development.

[NO NEW TESTS NEEDED]

Signed-off-by: Brent Baude <bbaude@redhat.com>
2022-08-08 14:04:49 -05:00
28607a9238 Merge pull request #15239 from giuseppe/use-sandbox-id-gvisor
specgen: use sandbox id instead of name for annotation
2022-08-08 18:47:56 +00:00
9d67d907ea Merge pull request #15236 from giuseppe/refuse-userns-with-uidmap
cmd: refuse --userns if a mapping is specified
2022-08-08 14:46:30 +00:00
62e889e2b0 fix LogConfig type for libpod API
[NO NEW TESTS NEEDED]

our native API was consuming the docker compat type for the API since the two have the exact same name. Fix this by renaming
LogConfig to LogConfigLibpod

resolves #15138

Signed-off-by: Charlie Doern <cdoern@redhat.com>
2022-08-08 10:38:13 -04:00
70b03400b1 Merge pull request #15235 from anjannath/pkg-goarch
pkginstaller: use correct GOARCH value in case of arm build
2022-08-08 13:17:09 +00:00
2e3a192bb0 cmd: refuse --userns if a mapping is specified
if an explicit mapping is specified, do not accept `--userns` since it
overriden to "private".

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

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2022-08-08 14:57:23 +02:00
696ea7905e specgen: use sandbox id instead of name for annotation
use the sandbox id instead of the name for the
io.kubernetes.cri-o.SandboxID annotation used by gVisor.

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

[NO NEW TESTS NEEDED] it is specific to gVisor

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2022-08-08 14:30:02 +02:00
771a35e4b5 pkginstaller: use correct GOARCH value in case of arm build
to compile arm bits the GOARCH should be set to amd64 script
was wrongly using aarch64 instead

[NO NEW TESTS NEEDED]

Signed-off-by: Anjan Nath <kaludios@gmail.com>
2022-08-08 12:39:15 +05:30
b1d1248a18 pkg/bindings: Support writing image push progress to specified io.Writer
Currently bindings writes image push progress to os.Stderr.

Since os.Stderr is inconvenience for bindings caller to
process the progress messages, Added this support.

Signed-off-by: Naoto Kobayashi <naoto.kobayashi4c@gmail.com>
2022-08-08 01:51:32 +09:00