pouch

An Efficient Enterprise-class Container Engine

APACHE-2.0 License

Stars
4.6K
Committers
132

Bot releases are visible (Hide)

pouch - PouchContainer 1.3.1 Latest Release

Published by rudyfly almost 2 years ago

What's Changed

New Contributors

Full Changelog: https://github.com/alibaba/pouch/compare/1.3.0...1.3.1

pouch - PouchContainer 1.3.0

Published by fuweid over 5 years ago

Welcome to the 1.3.0 version of PouchContainer.

The patch release for PouchContainer 1.3.0 includes

  • Upgrade with containerd v1.2.5
  • CRI support CONTAINER_PAUSE state, memory swap
  • Make quota API friendly

Full Changelog

pouch - PouchContainer 1.2.0

Published by fuweid over 5 years ago

Welcome to the 1.2.0 version of PouchContainer.

The patch release for PouchContainer 1.2.0 includes

  • enhance Container Runtime Interface with PAUSE
  • allow multiple snapshotters
  • support systemd cgroup driver
  • update runC for CVE-2019-5736 (!!!!Be aware that that this version of runC should run in kernel 4.x!!!!)

New Contributors

Here is the list of new contributors:

Full Changelog

pouch - PouchContainer 1.1.0

Published by fuweid almost 6 years ago

Welcome to the 1.1.0 version of PouchContainer.

The patch release for PouchContainer 1.1.0 includes Container Runtime Interface v1.12 upgrade, cross build for arm64/ppc64le in local, and container enhancement.

Container Runtime Interface

  • Bump into v1.12
  • Add daemon configuration to StatusResponse

Tools

  • cross building support for arm64/ppc64le

New Contributors

Here is the list of new contributors:

Full Changelog

pouch - PouchContainer 1.0.1

Published by fuweid almost 6 years ago

Welcome to the 1.0.1 version of PouchContainer.

The patch release for PouchContainer 1.0.1 includes several runtime, container IO and image improvements.
And PouchContainer is build by go1.10.4.

Full Changelog

Runtime:

Image:

  • feature: support images filter flag #2410 (ZYecho)
  • enhance: cache image size and oci image spec in pouchd #2301 (fuweid)

CRI:

  • bugfix: use netNSPath dynamically #2443 (Starnop)
  • fix(kata): use vm other than runv as annotations #2441 (flyer103)
  • fix: kata: workaround passthru net mode when get pod ip #2437 (zhuangqh)
  • nvidia-gpu 2.0 make compatible for k8s #2434 (CodeJuan)
  • bugfix: not remove the metadata when remove container failed #2348 (Starnop)
  • bugfix: put sandbox into store after created to avoid uncontrolled sandbox container #2326 (Starnop)
  • feature: add cri metrics #2304 (Starnop)
  • upgrade: upgrade the vendor of cri-o/ocicni #2282 (Starnop)
  • feature: support RunAsGroup of CRI Manager #2263 (Starnop)
  • bugfix: make the time period of cri collecting stats from containerd configurable or just disable it #2278 (YaoZengzeng)
  • bugfix: minor fix for error misuse #2277 (YaoZengzeng)
  • bugfix: only list container stats which are created by cri #2273 (YaoZengzeng)
  • refactor: handle the error in advance to avoid useless requests #2270 (Starnop)
  • bugfix: complete json tag for StreamServerReusePort and add some useful log for stop & remove pod operation #2266 (YaoZengzeng)
  • cri: add default annotation sandboxid #2254 (Ace-Tang)
  • feature: complete the details of StartPodSandbox #2242 (Starnop)
  • feature: add CRI interface of start podsandbox #2237 (Starnop)
  • fix: fix cri exec hang #2224 (Ace-Tang)
  • refactor: make CRI Stream Server share http server with pouchd #2214 (YaoZengzeng)
  • feature: make lxcfs configurable supportd in CRI #2210 (Starnop)
  • bugfix: add the missing devices field when creating cri container #2209 (YaoZengzeng)
  • bugfix: sort mounts according to the depth of destination path #2200 (YaoZengzeng)
  • bugfix: remove useless noop cni manager and speak loudly if init cni manager failed #2194 (YaoZengzeng)

CLI:

  • change flags from --ports to --publish #2478 (cpaasarch)
  • feature: add volume ls quiet flag support #2464 (ZYecho)
  • bugfix: fix some meaningless cli option type #2446 (mathspanda)
  • feature: support dns related flags when creating container through pouch cli #2380 (mathspanda)
  • feature: add no-trunc flag for pouch images #2374 (ZYecho)
  • bugfix: can't allow run cmd attach ttyMode container from a non-tty c… #2353 (ZYecho)
  • bugfix: can't allow exec attach ttyMode container from a non-tty client #2351 (ZYecho)
  • bugfix: can't allow attach in non-tty client when container in ttyMode #2338 (ZYecho)
  • feature: add logs cli details opt support and add more cli tests #2261 (ZYecho)
  • bugfix: print error info twice when cmd unknown #2260 (Starnop)
  • bugfix: exec stdin should support -i #2257 (fuweid)
  • fixes: top options can't work #2252 (lifubang)
  • feature: add envs for pouch exec #2250 (knightXun)

Testing:

Tools:

Documentation:

New Contributors

Here is the list of new contributors:

pouch - 1.0.0 (2018-08-31)

Published by fuweid about 6 years ago

Full Changelog

IMPORTANT: The PouchContainer is general availability right now. Thanks for all the contributors!

Pouch Daemon

Kubernetes

Documentation

Testing

Contrib

New Contributors

Here is the list of new contributors:

pouch - 1.0.0-rc2 (2018-08-23)

Published by fuweid about 6 years ago

Full Changelog

IMPORTANT:

In PouchContainer 1.0.0-rc2 makes runtime stable and introduces:

  • Image Manager supports history functionality
  • Syslog Driver supports lazy connection
  • Support nvidia-container 2.0 to enable GPU access
  • CRI supports exec resize

Pouch Daemon

Storage

Kubernetes

Documentation

Testing

Contrib

New Contributors
Here is the list of new contributors:

pouch - 1.0.0-rc1 (2018-07-13)

Published by fuweid over 6 years ago

Full Changelog

IMPORTANT:

In PouchContainer 1.0.0-rc1 we have done many things that important to all users of PouchContainer:

  • PouchContainer-CRI now supports use annotation to choose different runtime.
  • PouchContainer Image Manager supports load and save functionality.
  • PouchContainer Log Driver supports syslog type.
  • PouchContainer uses latest libnetwork in network module.
  • PouchContainer makes the runtime module stable!

Pouch Daemon & API:

Container Runtime:

Network:

Kubernetes CRI:

  • feature: make runtime choosing supported in CRI managers for Kubernetes #1593 (Starnop)
  • bugfix: skip teardown network, if the sandbox has been stopped #1539 (YaoZengzeng)
  • refactor: return CRI services error #1521 (oiooj)
  • bugfix: bind an address for stream server #1520 (YaoZengzeng)
  • feature: UpdateContainerResources of CRI Manager #1511 (Starnop)
  • fix: Make hack/kubernetes/allinone_aliyun.sh to pass shellcheck #1507 (Starnop)
  • if run sandbox failed, clean up; deduplicate the default mounts with user defined ones #1468 (YaoZengzeng)
  • feature: stats of cri manager #1431 (Starnop)

Test & Tool:

Documentation:

New Contributors

Here is the list of new contributors:

pouch - 0.5.0 (2018-05-25)

Published by HusterWan over 6 years ago

IMPORTANT: In PouchContainer 0.5.0 we have done many things that important to all users of PouchContainer:

  1. PouchContainer now supports CRI v1alpha2 that will support for Kubernetes 1.10.0
  2. Add plugin mechanism that we can use many existing volume and network plugins
  3. Add many container and image tools like logs and tag command that will be very helpful for daily container operation
  4. PouchContainer now is more stable and works well in production environment

Remote API && Client

  • Add instruction comment for the blkio-weight-device flag of run command #1381 (Ace-Tang)
  • Fix cgroup-parent can not be set from the daemon config file #1361 (Ace-Tang)
  • Add volume drivers info to system info #1352 (shaloulcy)
  • Fix ExecIDs parameter of ContainerConfig should be a slice #1324 (HusterWan)
  • Refactor format topExamples code and add execExample #1319 (soarpenguin)
  • Enhance add more field in pouch info command #1238 (ZouRui89)
  • Add debug flag to pouch client #1234 (shaloulcy)
  • Fix exec command align with Moby v1.24 API #1226 (fuweid)
  • Fix volume info of inspect output is incompatible with Moby API #1213 (HusterWan)
  • Refactor network list api, make it compatible with Mody API #1173 (rudyfly)

Runtime

  • Fix container may be killed when ontainerd instance exit #1407 (HusterWan)
  • Fix panic when execute exec command with flag -d #1394 (HusterWan)
  • New tag tool for pouch that allow create alias name for images #1378 (fuweid)
  • Fix add judge for whether pidfile path is given when start pouch daemon #1374 (Ace-Tang)
  • Fix map type can not be merged #1367 (Ace-Tang)
  • Add support for updating or deleting an env value #1364 (HusterWan)
  • Add support for managing more containers in some commands #1357 (xiechengsheng)
  • Fix remove pids-limit initial value #1354 (Ace-Tang)
  • Add support for using an image by digest id #1351 (fuweid)
  • Support generate version information at build time #1350 (Ace-Tang)
  • Fix let execConfig value assignment before IO close, so thath CRI test case can get right result before container exit #1340 (ZouRui89)
  • Fix make the jsonfile exit friendly #1330 (fuweid)
  • Fix markStopped may failed that will cause container status not right #1322 (HusterWan)
  • Fix mount /sys/fs/cgroup into container #1314 (fuweid)
  • Fix make pouch daemon exit friendly #1311 (fuweid)
  • Refactor eliminate containerMeta in pouch daemon manager #1300 (allencloud)
  • New logs API implement to redirct container's StdOut and StdErr to json file #1298 (fuweid)
  • Refactor reorder function sequence to make it more reasonable #1296 (allencloud)
  • Add support for taking over old containerd instance when pouchd restart #1275 (HusterWan)
  • Fix can't stop a paused container #1269 (shaloulcy)
  • Refactor image manager: redesign the imageStore in image manager and make it more clear and stable #1267 (fuweid)
  • Fix compatibility with alidocker when update container diskquota #1264 (HusterWan)
  • Fix change the QuotaID to QuotaId to align with Moby v1.24 API #1263 (fuweid)
  • Refactor facilitate make.sh build part code #1261 (u2takey)
  • Fix set container env failed because Invalid cross-device link error #1260 (HusterWan)
  • Fix the output file is used incorrectly & fix the wrong test case name #1258 (xieyanke)
  • Add --volume flag when remove container that will delete all anonymous volumes created by pouchd #1255 (rudyfly)
  • Fix mountpoint binary not found error #1253 (shaloulcy)
  • Fix the mount path of tmpfs volume and some misspells #1251 (shaloulcy)
  • Fix merge flag default value in pouch daemon config, if flag not be passed, we should not merge it with daemon config #1246 (Ace-Tang)
  • Add vagrant environment for development #1245 (u2takey)
  • Fix free resources after exec exit #1240 (Ace-Tang)
  • Fix modify log format #1239 (rudyfly)
  • Fix add newline for id when create container #1237 (fuweid)
  • Add update restful api support to update container diskquota #1235 (HusterWan)
  • Fix setRawMode can only be set when the user set tty #1233 (fuweid)
  • Fix compatibility with alidocker when update container labels #1228 (HusterWan)
  • Add --pids-limit flags to create command #1227 (Ace-Tang)
  • Add support update container's cpu-period #1222 (HusterWan)
  • Add support parsing ContainerConfig.Volumes when create container #1219 (rudyfly)
  • Add support updating env when container is running #1218 (HusterWan)
  • Fix volume size without unit #1215 (rudyfly)
  • Fix remove the DiskQuota field from Resource struct #1212 (fuweid)
  • Fix make stopping an non-running container valid #1210 (allencloud)
  • Fix make stopping a stopped container return no error #1209 (allencloud)
  • Fix make restart API support restarting an stopped container #1208 (allencloud)
  • Refactor store container info to disk failed should return errors #1203 (HusterWan)
  • Fix make logrus detect whether output with color #1202 (yyb196)
  • Fix remove update image and fix bugs when update env #1196 (HusterWan)
  • Fix remove log format type check #1192 (oiooj)
  • Fix add default tag :latest when using pouch rmi command to remove untagged container images. #1191 (xiechengsheng)
  • Fix container cannot start after first start failed #1190 (HusterWan)
  • Fix check the duplicate mount point #1185 (rudyfly)
  • Fix if user rename container with id use the real name to clean the cache #1182 (yyb196)
  • Add --ulimit flag to create command #1179 (Ace-Tang)
  • Add support recording container's last exit time #1176 (Ace-Tang)
  • Fix update SafeMap item should just call Put method, no need call Remove method #1175 (HusterWan)
  • Add support setting volumes to /etc/mtab #1170 (rudyfly)

Documentation

Kubernetes

  • Fix return container LogPath in ContainerStatusResponse #1401 (Starnop)
  • Fix replace pod default pause image with the google released image #1382 (ZouRui89)
  • Add support both for CRI v1alpha1 and v1alpha2 version #1359 (Starnop)
  • Add timeout handler for execSync in cri part #1318 (ZouRui89)
  • Refactor move the CRI code out of pouch mgr dirctory #1317 (Starnop)
  • Fix disable mux stdout and stderr if backend is not http #1250 (YaoZengzeng)
  • Fix handle container io properly when restart pouchd #1220 (YaoZengzeng)
  • Fix evaluate finish time of container in CRI correctly #1183 (YaoZengzeng)

Storage

  • Support volume plugin mechanism, now pouch not only supports local/tmpfs/ceph volumes, but also support existing mature docker volume drivers #1326 (shaloulcy)
  • Fix we should add lock before visit volume boltdb #1286 (rudyfly)
  • Add pouch plugin mechanism, so that we can use existing moby volume and network plugins #1278 (shaloulcy)
  • Fix change volume metadata struct for remote storage manager #1271 (rudyfly)
  • Add volume-driver-alias flag to volume manager, we can set alias name for the exist volume drivers #1224 (rudyfly)

Network

  • Fix endpoints are disappeared when pouchd restart #1312 (rudyfly)
  • Fix remove all endpoints when execute network disconnect command #1284 (rudyfly)
  • Add network connect interface for container #1187 (rudyfly)
  • Add network disconnect interface for container #1172 (HusterWan)

Test

New Contributors

Here is the list of new contributors:

pouch - 0.4.0 (2018-04-19)

Published by Letty5411 over 6 years ago

Remote API && Client

Runtime

Network

  • Refactor manage libnetwork by subtree instead of submodule #1135 (rudyfly)
  • Fix make pouch network non-existent return exit code 1 #1089 (allencloud)
  • Fix delete endpoint after failing to create endpoint #1069 (faycheng)
  • Add support for inspecting network by ID #1040 (faycheng)

Kubernetes

Test

New Contributors

Here is the list of new contributors:

pouch - 0.3.0 (2018-03-30)

Published by HusterWan over 6 years ago

IMPORTANT: Pouch 0.3.0 has met almost all your basic needs for kubernetes:

  1. Sandbox/Container lifecycle management
  2. Image management
  3. Network management with CNI
  4. Container streaming: exec/attach/portforward
  5. Container logging
  6. Security Context: RunAsUser, Apparmor,Seccomp,Sysctl
  7. Validation test of cri-tools: 51/55 Pass

IMPORTANT:
Kubernetes 1.10 was released recently and the CRI of it has updated from v1alpha1 to v1alpha2.
Pouch will first try to fully support CRI v1alpha1 and then CRI v1alpha2.
So kubernetes 1.9.X is recommended now

Remote API && Client

  • inspect now support input multi items #989
  • Refactor make route code much more simplified #988
  • Fix restart router miss versionMatcher #986
  • Add kernel value in pouch version command #942
  • Make pouch info print more pretty #941
  • Add no-trunc flag to pouch ps #909
  • New restart command that allow restarting an running container #890
  • New upgrade command that allow upgrading image and resources of a container #852
  • New top command that allow showing processes informations in container #878
  • Add --format flag to pouch image inspect and pouch network inspect commands #871
  • New pouch info command to print all informations about th pouch daemon #859
  • New pouch logs command that allow printing logs of container #886
  • Using the default registry when execute logoutcommand if not specified one #902
  • New resize command that allow changing the height and width of TTY of an running container #879

Pouch Daemon

  • New update API that allow updating labels and image-proxy parameters of pouch daemon #987
  • Add --label flag to pouchd #982

Runtime

  • Change container parameter's json name from ID to Id to be compatible with Moby API #1002
  • Fix errors checked by markdownlint #974
  • Refactor the pouch ctrd layer client interface #971
  • Refactor the pkg package that let's client package independent to other inner pkgs #962
  • Add circleci to pouch to validate markdown files #961
  • Fix log initialization of libnetwork in pouch #956
  • Fix the import path of package logrus #953
  • Fix should checking kernelVersion.Kernel not kernelVersion.Major when setting disk quota driver #946
  • New restart interface that allow restarting an running container #944
  • Refactor modify logic in complement image fullname #940
  • Add --oom-kill-disable and --oom-score-adj flags to pouch create #934
  • New resize API that allow changing the height and width of TTY of an running container #931
  • Fix execute pouch images command panic when pulling an image failed before #926
  • New upgrade API that allow upgrading the image and resource of a container #923
  • New plugin framework to support executing custom codes at plugin points #919
  • Add default registry namespace #911
  • New top API that allow showing the processes informations in an running container #900
  • Fix cgroup-parent should always be abs #896
  • Refactor set lxcfs service managed by systemd #885
  • Add version information in restful api url #869
  • Add repoTags and repoDigests in ImageInfo struct #721

Documentation

  • Add introduction document to diskquota #972
  • Improve test guidance doc #856

Storage

  • Add --volume flag to pouch create to support bind mounts for files #937
  • Fix volume can be removed when using by container #888
  • Add disk quota for container's rootfs #876

Kubernetes

  • With this PR, we can get the error informations when stream server handles exec or attach commands occured errors #1007
  • Add websocket support for cri stream server #985
  • Fix handle image format 'namespace/name:tag' correctly #981
  • Fix pull image and get its status with RefDigest #973
  • Store sandbox config informations for cri manager #955
  • Seperate stdout & stderr of container io and support host network mode for sandbox #945
  • Implement ReadOnlyRootfs and add no-new-privilegs support to cri manager #935
  • Add support getting the logs of container to cri manager #928
  • Add support setting pod dns configuration to cri manager #912
  • Wrap cri manager to log every cri operation #899
  • Fix inspect image by image id with prefix #895
  • Implement exec and attach method of stream server #854
  • Add --group-add flag to pouch create command and supplemental groups for cri manager #753

Test

  • Add mock test for rename client #1021
  • Add mock test for version client #1004
  • Add test cases for imageCache.get #979
  • Add mock test for client package #965
  • Add test case for login/logout command #908
  • Add related functions for test pouch daemon #884
  • Print error log in CI for debug #883
pouch - 0.2.1

Published by Letty5411 over 6 years ago

0.2.1 (2018-03-09)

Network

  • Support port mapping and exposed ports in container

Bugfix

  • Fix project quota can't be set on kernel-4.9
  • Fix rich container mode can't find binary in PATH
pouch -

Published by allencloud over 6 years ago

0.2.0 (2018-03-02)

Runtime

  • Add rich container mode for daemon and runc
  • Add support for Intel RDT isolation
  • Support add annotation for oci-specs in daemon
  • Add memory limit options specifically for open source AliOS
  • Add user group support for container
  • Add image pulling proxy for Dragonfly
  • Add sccomp support for container
  • refactor package reference image to cover more scenarios
  • Add privileged mode support for container
  • Add capability support for container
  • Add apparmor support for container
  • Add blkio isolation support for container
  • Add sysctl support for container
  • Add more fields in ImageInfo struct
  • support user setting default registry
  • Add ipc, pid, uts namespace support for container

Client

  • Add login/logout command for registry
  • Add update command for container's resource or restart policy and so on
  • Support context in client side
  • Add volume list command

Network

  • support host/none/container network mode

Storage

  • support diskquota via project quota and group quota only for local volume (container diskquota is in progress)

Kubernetes(CRI)

  • Add CNI framework implementation
  • Add all options of container in CRI manager
  • Using cri-tools to verify every interface implementation of CRI

Document

  • Add document pouch with LXCFS
  • Add document how to install Pouch in Kubernetes cluster
  • Add volume design document
  • Add document pouch with rich container
pouch -

Published by allencloud over 6 years ago

0.1.0 (2018-01-17)

Initial experiemental release for public

  • Initial implemention to integrate containerd 1.0 in daemon
  • Hypervisor-based container implementation
  • Achieve container resource view isolation via supporting LXCFS
  • Add API and CLI documentation
  • Add unit test for project
  • Add API and CLI for project
  • Implement basic CRI to support Kubernetes
  • Be consistent with Moby's 1.12.6 API
  • Support basic network management and volume management
  • Make Pouch run as a system service
  • Make Pouch installed on distribution CentOS 7.2 and Ubuntu 16.04
Package Rankings
Top 5.33% on Proxy.golang.org
Badges
Extracted from project README
License GoDoc Build Status FOSSA Status Go Report Card codecov
Related Projects