27 Commits

Author SHA1 Message Date
3b02a131cd Add Troubleshooting guide
Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>

Closes: #793
Approved by: mheon
2018-05-17 17:48:51 +00:00
5f6cdebacb Touch up logo links
Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>

Closes: #771
Approved by: mheon
2018-05-15 17:35:11 +00:00
a1ac074126 Add the Podman Logo
Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>

Closes: #769
Approved by: rhatdan
2018-05-15 14:02:08 +00:00
68eb128fb0 pkg/hooks: Version the hook structure and add 1.0.0 hooks
This shifts the matching logic out of libpod/container_internal and
into the hook package, where we can reuse it after vendoring into
CRI-O.  It also adds unit tests with almost-complete coverage.  Now
libpod is even more isolated from the hook internals, which makes it
fairly straightforward to bump the hook config file to 1.0.0.  I've
dubbed the old format 0.1.0, although it doesn't specify an explicit
version.  Motivation for some of my changes with 1.0.0:

* Add an explicit version field.  This will make any future JSON
  structure migrations more straightforward by avoiding the need for
  version-guessing heuristics.

* Collect the matching properties in a new When sub-structure.  This
  makes the root Hook structure easier to understand, because you
  don't have to read over all the matching properties when wrapping
  your head around Hook.

* Replace the old 'hook' and 'arguments' with a direct embedding of
  the runtime-spec's hook structure.  This provides access to
  additional upstream properties (args[0], env, and timeout) and
  avoids the complication of a CRI-O-specific analog structure.

* Add a 'when.always' property.  You can usually accomplish this
  effect in another way (e.g. when.commands = [".*"]), but having a
  boolean explicitly for this use-case makes for easier reading and
  writing.

* Replace the previous annotations array with an annotations map.  The
  0.1.0 approach matched only the values regardless of key, and that
  seems unreliable.

* Replace 'cmds' with 'when.commands', because while there are a few
  ways to abbreviate "commands", there's only one way to write it out
  in full ;).  This gives folks one less thing to remember when
  writing hook JSON.

* Replace the old "inject if any specified condition matches" with
  "inject if all specified conditions match".  This allows for more
  precise targeting.  Users that need more generous targeting can
  recover the previous behavior by creating a separate 1.0.0 hook file
  for each specified 0.1.0 condition.

I've added doc-compat support for the various pluralizations of the
0.1.0 properties.  Previously, the docs and code were not in
agreement.  More on this particular facet in [1].

I've updated the docs to point out that the annotations being matched
are the OCI config annotations.  This differs from CRI-O, where the
annotations used are the Kubernetes-supplied annotations [2,3].  For
example, io.kubernetes.cri-o.Volumes [4] is part of CRI-O's runtime
config annotations [5], but not part of the Kubernetes-supplied
annotations CRI-O uses for matching hooks.

The Monitor method supports the CRI-O use-case [6].  podman doesn't
need it directly, but CRI-O will need it when we vendor this package
there.

I've used nvidia-container-runtime-hook for the annotation examples
because Dan mentioned the Nvidia folks as the motivation behind
annotation matching.  The environment variables are documented in [7].
The 0.1.0 hook config, which does not allow for environment variables,
only works because runc currently leaks the host environment into the
hooks [8].  I haven't been able to find documentation for their usual
annotation trigger or hook-install path, so I'm just guessing there.

[1]: https://github.com/kubernetes-incubator/cri-o/pull/1235
[2]: https://github.com/kubernetes-incubator/cri-o/blob/v1.10.0/server/container_create.go#L760
[3]: https://github.com/kubernetes-incubator/cri-o/blob/v1.10.0/server/container_create.go#L772
[4]: https://github.com/kubernetes-incubator/cri-o/blob/v1.10.0/pkg/annotations/annotations.go#L97-L98
[5]: https://github.com/kubernetes-incubator/cri-o/blob/v1.10.0/server/container_create.go#L830-L834
[6]: https://github.com/kubernetes-incubator/cri-o/pull/1345/
[7]: https://github.com/NVIDIA/nvidia-container-runtime/tree/v1.3.0-1#environment-variables-oci-spec
[8]: https://github.com/opencontainers/runc/pull/1738

Signed-off-by: W. Trevor King <wking@tremily.us>

Closes: #686
Approved by: mheon
2018-05-11 16:26:35 +00:00
4c907ce81a Update main README
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>

Closes: #754
Approved by: baude
2018-05-11 15:32:27 +00:00
25263558f1 Generate varlink API documentation automatically
Using varlink's idl parser, we generate API documentation for the podman
API relying on the .varlink file as the source.

Signed-off-by: baude <bbaude@redhat.com>

Closes: #734
Approved by: baude
2018-05-08 21:01:28 +00:00
4e468ce83d README: Link to CONTRIBUTING.md
Make that information more easily discoverable.  And since
CONTRIBUTING.md already mentions IRC, we can drop the IRC reference
from the README to DRY things up.

Also update CONTRIBUTING.md to replace the stale #cri-o reference left
over from the initial libpod/podman fork.  While I was touching this
line, I also shuffled some of the wording around to tighten that
sentence up.

Signed-off-by: W. Trevor King <wking@tremily.us>

Closes: #687
Approved by: rhatdan
2018-04-27 19:05:46 +00:00
b3947e58f2 readme: improve formatting, add links
Signed-off-by: Tomas Tomecek <ttomecek@redhat.com>
2018-04-26 07:41:16 +02:00
ab88304162 Touch up tutorial location and install reqs
Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>

Closes: #337
Approved by: rhatdan
2018-02-15 19:51:46 +00:00
099b5fb6f6 Ran spell checker through all man pages
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>

Closes: #269
Approved by: TomSweeneyRedHat
2018-01-29 15:21:34 +00:00
3aa63b2b94 Remove conmon, get package from CRI-O
conmon should not be built in two different places.
conmon is now a separate package in Fedora so we can just
add requires, for use on Ubuntu we can just require cri-o to
be installed.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>

Closes: #151
Approved by: mheon
2018-01-27 06:48:20 +00:00
8657d70e72 Touchup README.md and fix whitespace issues
Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>

Closes: #243
Approved by: mheon
2018-01-19 01:12:40 +00:00
0aa2459b2d Slim down README.md and make tutorials page
Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
2018-01-17 15:49:06 -05:00
c1b2278a53 Podman tutorial
How to build, install, and use podman on Fedora.  The ubuntu instructions
are currently commented out due to issue #166.

Signed-off-by: baude <bbaude@redhat.com>

Closes: #170
Approved by: baude
2018-01-10 14:07:43 +00:00
ea5620182f Initial podman build
Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>

Closes: #162
Approved by: rhatdan
2017-12-23 11:47:33 +00:00
6065f18da6 Cleanup Documentation and bash completions
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>

Closes: #159
Approved by: TomSweeneyRedHat
2017-12-20 18:40:38 +00:00
5770dc2640 Rename all references to kpod to podman
The decision is in, kpod is going to be named podman.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>

Closes: #145
Approved by: umohnani8
2017-12-18 16:46:05 +00:00
3ba2c3e117 kpod top
Display information about processes in a running container.

Signed-off-by: baude <bbaude@redhat.com>

Closes: #121
Approved by: rhatdan
2017-12-14 22:22:56 +00:00
7f5aa42de0 Remove tutorial link from README.md
Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>

Closes: #120
Approved by: rhatdan
2017-12-12 14:23:15 +00:00
e8a32e3722 kpod exec
Initial wiring of kpod exec. We wont support the following options
for exec:

* detach -- unsure of use case
* detach-keys -- not supported by runc
* interactive -- all terminals will be interactive

Not adding exec tests as we need to think about how to support a
test that requires console access but our CI tests have no console.

Signed-off-by: baude <bbaude@redhat.com>
2017-12-11 08:24:30 -06:00
5c9694a0c1 kpod attach
Attach to a running container

Signed-off-by: baude <bbaude@redhat.com>

Closes: #95
Approved by: rhatdan
2017-12-04 17:00:48 +00:00
742475885e kpod_start
Starts one or more containers.

Signed-off-by: baude <bbaude@redhat.com>

Closes: #83
Approved by: rhatdan
2017-11-29 22:01:47 +00:00
a0476f6529 README.md: Typo fixes and small tweaks
Should be mostly self-evident. I dropped the `is meant to` as it feels too
passive.

Signed-off-by: Colin Walters <walters@verbum.org>

Closes: #35
Approved by: mheon
2017-11-09 16:48:07 +00:00
0e2fc603d9 Cleanup missing whitespace
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>

Closes: #20
Approved by: rhatdan
2017-11-07 21:44:06 +00:00
03d933d6cd Create README for libpod
Copy the README from CRI-O and convert it for libpod.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2017-11-01 19:33:26 +00:00
26afe3935c Gut the readme
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
2017-11-01 13:58:56 -04:00
a031b83a09 Initial checkin from CRI-O repo
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
2017-11-01 11:24:59 -04:00