spiegel_podman/pkg
Matthew Heon 7ac3d906b5 Rework port parsing to support --expose and -P
As part of this, make a major change to the type we use to
represent port mappings in SpecGen (from using existing OCICNI
structs to using our own custom one). This struct has the
advantage of supporting ranges, massively reducing traffic over
the wire for Podman commands using them (for example, the
`podman run -p 5000-6000` command will now send only one struct
instead of 1000). This struct also allows us to easily validate
which ports are in use, and which are not, which is necessary for
--expose.

Once we have parsed the ports from the new struct, we can produce
an accurate map including all currently requested ports, and use
that to determine what ports need to be exposed (some requested
exposed ports may already be included in a mapping from --publish
and will be ignored) and what open ports on the host we can map
them to.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-05-04 20:57:27 -04:00
..
annotations Add ContainerManager annotation to created containers 2019-09-10 09:37:14 +02:00
api Merge pull request #5907 from sujil02/systemprune-v2 2020-04-28 18:11:39 +02:00
autoupdate auto update: skip non-image policies 2020-04-14 11:47:04 +02:00
bindings pull/search options: tls verify -> skip 2020-04-29 16:28:12 +02:00
cgroups Fix invalid container path comparison for pid cgroup 2020-04-14 11:02:42 +02:00
channelwriter account for varlink calls that dont use more 2019-07-10 08:50:05 -05:00
checkpoint podmanv2 checkpoint and restore 2020-04-03 09:32:06 -05:00
criu Add helper function to read out CRIU version 2018-10-23 12:52:03 +02:00
ctime Re-add int64 casts for ctime 2019-07-23 15:43:40 -04:00
domain Rework port parsing to support --expose and -P 2020-05-04 20:57:27 -04:00
env Merge pull request #5381 from vrothberg/ENVFIX 2020-03-04 13:26:48 -05:00
errorhandling first pass of corrections for golangci-lint 2019-07-10 15:52:17 -05:00
hooks golangci: enable goimports 2020-03-05 20:03:44 +01:00
inspect consolidate env handling into pkg/env 2020-03-03 11:47:24 +01:00
kubeutils Remove dependency on kubernetes 2018-03-27 21:55:33 +00:00
lookup golangci: enable goimports 2020-03-05 20:03:44 +01:00
namespaces podman: assume user namespace if there are mappings 2020-04-24 15:55:38 +02:00
netns network: hide EPERM warning when rootless 2019-10-01 08:51:58 +02:00
network network create should use firewall plugin 2020-02-27 14:39:31 -06:00
ps Make podman container list == podman ps 2020-04-27 09:51:26 -04:00
registrar Update registrar unit tests to match them of cri-o 2019-04-04 08:53:32 +02:00
registries podman: mirror information 2019-12-12 19:53:46 -03:00
resolvconf use storage/pkg/ioutils 2020-03-09 09:03:51 +01:00
rootless rootless: move ns open before fork 2020-04-29 11:44:24 +02:00
rootlessport rootlessport: use two different channels 2020-04-29 12:35:23 +02:00
seccomp apiv2 container create using specgen 2020-02-19 15:20:15 -06:00
selinux Fix SELinux functions names to not be repetitive 2020-04-23 15:57:34 -04:00
signal Fixes for load and other system tests 2020-04-13 13:08:04 -05:00
spec Merge pull request #6004 from rhatdan/ulimits 2020-05-01 15:58:24 +02:00
specgen Rework port parsing to support --expose and -P 2020-05-04 20:57:27 -04:00
systemd V2 Fix support for tcp://[::]<port> connections 2020-04-17 16:39:59 -07:00
timetype make lint: enable gocritic 2020-01-13 14:27:02 +01:00
tracing make lint: include pkg/tracing 2020-01-14 09:54:48 +01:00
trust codespell: spelling corrections 2019-11-13 08:15:00 +11:00
util Fix errors found in coverity scan 2020-05-01 15:00:33 -04:00
varlink V2 Move varlink home 2020-03-30 08:18:35 -07:00
varlinkapi Update podman to use containers.conf 2020-04-20 16:11:36 -04:00