Since the latest containerd's shimv2 had changed the socket from abstract unix socket to path unix socket, thus we'd better to update the vendor to match with the latest containerd. containerd from v1.3.9, v1.4.3 and v1.5.0 used the path unix socket instead of abstract socket, thus kata wouldn's support the containerd's version older than them. Fixes: #1441 short logs: 15d9703d6 Remove ARM64 releases from release notes 5d2e8e86d Revert "Release artifacts for Linux ARM64" 7942ae68b Revert "Specify seccomp target arch for CC" 3187b6dc8 tests: Adds consumed memory stats test 969ec8949 Specify seccomp target arch for CC c19b7b64d RELEASES.md: recommend alternatives for deprecated features 8a62aa1c3 Deprecate built-in aufs snapshotter 4e7915f80 CI: allow Go 1.13 for Docker/Moby compatibility 8e589e873 Vagrantfile: update to Fedora 34 5847340a7 tests: Refactors container image usage 9f43eade6 Prepare v1.5.0-rc.3 release notes 4c7b960cb prow needs some additional setup for docker buildx 2e4c1d4b7 Use the multi-arch version of the test images 4e00c4b65 integration tests needs lsof 177273680 Add script to build test images 1b5d59dfe Add multi-arch support for test images 78e529727 add integration tests 2b0e6cdd4 Separate jobs for build and test for openlab/arm64 cdd075853 Release artifacts for Linux ARM64 efcb18742 Add unit tests for PID NamespaceMode_TARGET validation b48f27df6 Support PID NamespaceMode_TARGET 909660ea9 process: use the unbuffered channel as the done signal 0f332dadd Update cgroups for regenerated protos 391b123a5 adds quiet option for ref ab1654d0e Fix PushHandler cannot push image that contains duplicated blobs 00f8d32ef add not found debug out for check cmd; update usage 55734b1c5 Prepare 1.5.0-rc.2 release notes 3ef337ae3 Update containerd vendors to tags fbe1e140f Update Go to 1.16.3 c1d1edbad gha: use sudo -E in some places to prevent dropping env-vars 7966a6652 Cleanup code 5d79d3adb go.mod: update kubernetes to v1.20.6 1c03c377e go.mod: github.com/containerd/fifo v1.0.0 12a2a2108 go.mod: github.com/google/uuid v1.2.0 3292ea586 pkg/seccomp: use sync.Once to speed up IsEnabled 00b5c99b1 pkg/seccomp: simplify IsEnabled, update doc 6dd29c25f go.mod: github.com/containerd/aufs 330a2a809 go.mod: github.com/containerd/zfs 34780d67a runtime/shim: check the namespace flag first c3dde8c4b freebsd: add zfs to the default plugins b431fe4fc freebsd: don't run shim delete in deleted dir 1f4192daf freebsd: exclude v1 runtimes cb1580937 metadata: improve deleting a non-empty namespace's error message 5bf84034d Remove junit test result processor b83d04f91 Add variable names to runtime's interface definitions 993b86399 Add shim start opts 9e576b889 Optimize backoff 5c02688b5 converter: use OpenWriter helper function fcf3b275f Add lock for ListPids fdb76f55d Fix backword-compatibility issue of non-versioned config file d21fe4625 adds log for each failed host and status not found on host 8a4cbabc6 Reimport windows layers when comitting snapshots 2de38a926 fix(windows): create debug npipe failure 41fc516a2 docs/rootless.md: recommend "easy way" over "hard way" 864a3322b go.mod: github.com/containerd/go-cni v1.0.2 ee34caccb go.mod: github.com/Microsoft/go-winio v0.4.17 d478676d3 go.mod: github.com/containerd/imgcrypt v1.1.1 1dd45d51c go.mod: github.com/containerd/typeurl v1.0.2 abd4be07a fix the 404 url 978ebbef6 Prepare 1.5.0-rc.1 release ce116d4c5 go.mod: github.com/containerd/imgcrypt v1.1.1-0.20210412181126-0bed51b9522c 0550c3233 containerd-stress: add snapshotter option for stress test to use 8a04bd052 address recent runtimes config confusion c4778fe1b go.mod: github.com/containernetworking/plugins v0.9.1 5ce35ac39 devmapper: log pool status when mkfs fails 75097b8ca hcsshim seems to have been updated 9ad087947 Switch all our tests to version 2 e96d2a5d9 Revert "remove two very old no longer used runtime options" 14f357b90 CI: update crun to 0.19 294331060 go.mod: github.com/containerd/console v1.0.2 bb6c0c2de Add more bolt utils 0ad8c0a16 Decouple shim start from task creation c7504987e Implement windowsDiff.Compare via hcsshim/pkg/ociwclayer a64a76846 Replace inline applyWindowsLayer using hcsshim 149fa366f Don't tease the logger with a %-less format string b399e2ef6 Don't lose Compare failure if aborting diff upload fails 36bf3f0e8 go.mod: github.com/Microsoft/hcsshim v0.8.16 8e1a8ecd8 Prepare v1.5.0-rc.0 45df696bf Fix return event publishing error 4bc8f692f optimize cri redirect logs 9bc8d63c9 cri/server: use containerd/oci instead of libcontainer/devices dd16b006e merge in the move to the new options type 9144ce967 shows our runc.v2 default options in the containerd default config 3d20fa930 fix TestSetOOMScoreBoundaries 4d4117415 Change CRI config runtime options type 21ebeef74 integration: use busybox:1.32.0 since latest is unavailable f9bcf4a8a add section link d4be6aa8f rm mirror defaults; doc registry deprecations 7bb73da6b runtime/v2/shim: remove unused SetScore() and remove sys.OOMScoreMaxKillable 91e7d21ee sys: add AdjustOOMScore() utility 44240116a sys: add boundary checks to SetOOMScore() ace1912bb sys: use assert for error checks in OOM tests 6e7271522 sys: add missing pre-condition checks in tests badd60d3f sys: un-export runningPrivileged(), remove runningUnprivileged() 21a175860 go.mod github.com/klauspost/compress v1.11.13 58c5fd09e re-enable cri test da998c81e move to gcr.io/k8s-staging-cri-tools test images 8ba8533bd pkg/cri/opts.WithoutRunMount -> oci.WithoutRunMount 92ea98eda cri-cni-release: add imgcrypt binaries (v1.1.0) 4c1fa5719 remotes/docker: Only return "already exists" on push when the upload was successful 0186a329e remove two very old no longer used runtime options 58a07754a Temporarily disable cri-tools critest 7ae0a60fb Add OCI ref.name to unique key in remotes handler 5ada2f74a Keep host order as defined in TOML file d9ff8ebef support multi-arch images for windows via ctr af1e2af72 ci: upload junit formatted test results 6866b36ab Add workaround to keep docker hosts structs private c54d92c79 image: use generic decompressor for calculating DiffID 1faca349e integration/client: rename package to "client" 6fc9e4500 synchronize replace rules in integration/client go.mod with main go.mod 9e19a2984 Fix hosts test on Windows 3f406d4af Cleanup vendor d56b49c13 Rewrite Docker hosts parser e1f51ba73 Use os.File#Seek() to get the size of a block device ddd4298a1 Migrate current TOML code to github.com/pelletier/go-toml 499c2f7d4 Vendor github.com/pelletier/go-toml 61c749036 integration/util: remove dependency on k8s.io/klog/v2 d9765f7bf Extend default timeout for nested VM integration run 5e94745f2 ctr: add --user for task exec f8c2f0475 remotes/ctr: allow to limit max concurrent uploads like downloads 4674ad7be Ignore some tests on darwin 55450e773 Run unit tests on CI for MacOS 311e326a1 Add CI job to cross compile all the things 10a498c7c Update go-winio to fix compile error on armv7 1a9c6f557 Revendor zfs to to fix integer overflow 1fd3d12f9 `go mod tidy` the client integration test module da7d96ba3 Clean up WCOW layers after tests in the correct order 9ad87b9ba adds critools-version 72b7f4bab task: allow checkpoint on pause state e4b9b1038 Make CRI registry docs more clear ec4d7736d Increase timeout for linux integration tests eb7c7c71e Fix oom tests on non Linux 708299ca4 Move RunningInUserNS() to its own package 0886ceaea Fix reference ordering in CRI image store bf9db47e8 add caller info to the testHook 305b42583 use happy-eyeballs for port-forwarding 22ef69d77 Support HTTP debug in ctr 01765d097 night ci fix: add packages for ubuntu 20.04 8cdc1f13b go.mod: github.com/containerd/zfs v0.0.0-20210322090317-0e92c2247fb7 30e1e66e5 runtime/v2: Fix defer cleanup 33776ada0 Use specific image for user namespaces tests 7704fe72d Specifically mention "mkfs.ext4" on the error from the command 1410220d8 Fix error log when copy file fe787efa2 Fix error log when kill shim 8d8c15ca5 contentproxy: ensure grpc stream is closed on commit 6e343f25e Switch test image to a non rate-limited manifest list 9fdc96c09 runtime/v2: add comment for checkCopyShimLogError 24602e7a9 change default runtime for containerd-stress app 8731888ec Re-enable CRIU tests by not using overlayfs snapshotter b520428b5 Fix CRIU 4e76bcf06 gofmt -s -w all the things 569023fd5 go.mod: github.com/containerd/nri v0.0.0-20210316161719-dbaa18c31c14 0e1f59e89 go.mod: github.com/containerd/zfs v0.0.0-20210315114300-dde8f0fda960 ffff68866 upgrade pause image to 3.5 for non-root 88d3881e1 go.mod: github.com/containerd/fifo v0.0.0-20210316144830-115abcc95a1d a22c43fa4 go.mod: github.com/containerd/aufs v0.0.0-20210316121734-20793ff83c97 f6f861736 go.mod: github.com/containerd/btrfs v0.0.0-20210316141732-918d888fb676 460b35236 go.mod: kubernetes v1.20.4 5e484c961 runtime/v2/runc: fix the defer cleanup of the NewContainer e6086d9c0 Prepare release notes for v1.5.0-beta.4 34b7a5f09 Update mailmap ba8f9845e move overlay-checks to an overlayutils package 7776e5ef2 Support adding devices by dir d895118c7 runtime/v2/runc: fix leaking socket path a76cefd12 plugin status should be skip, not error 766e7953a Change dgst to digest in debug 4e8b2f309 rootfs: fix the error handling of the createInitLayer d3ad7f390 cmd/ctr: use e.g. in the command usage 231bbdc37 cmd/ctr: fix export command ecb881e5e add imgcrypt stream processors to the default config ac2726e12 cmd/containerd: deduplicate config*.go 9a7ca39cb defaults: add DefaultConfigDir 8f863afd3 Use net.IP.IsLoopback() to match loopback addresses eabd9b98b runtime: ignore file-already-closed error if dead shim Signed-off-by: fupan.lfp <fupan.lfp@antgroup.com> |
||
---|---|---|
.github/workflows | ||
ci | ||
docs | ||
pkg/logging | ||
snap | ||
src | ||
tools | ||
utils | ||
.gitignore | ||
CODE_OF_CONDUCT.md | ||
CODEOWNERS | ||
CONTRIBUTING.md | ||
LICENSE | ||
Makefile | ||
README.md | ||
utils.mk | ||
VERSION | ||
versions.yaml |

Kata Containers
Welcome to Kata Containers!
This repository is the home of the Kata Containers code for the 2.0 and newer releases.
If you want to learn about Kata Containers, visit the main Kata Containers website.
For further details on the older (first generation) Kata Containers 1.x versions, see the Kata Containers 1.x components section.
Introduction
Kata Containers is an open source project and community working to build a standard implementation of lightweight Virtual Machines (VMs) that feel and perform like containers, but provide the workload isolation and security advantages of VMs.
Getting started
See the installation documentation.
Documentation
See the official documentation (including installation guides, the developer guide, design documents and more).
Community
To learn more about the project, its community and governance, see the community repository. This is the first place to go if you wish to contribute to the project.
Getting help
See the community section for ways to contact us.
Raising issues
Please raise an issue in this repository.
Note: If you are reporting a security issue, please follow the vulnerability reporting process
Kata Containers 1.x versions
For older Kata Containers 1.x releases, please raise an issue in the Kata Containers 1.x component repository that seems most appropriate.
If in doubt, raise an issue in the Kata Containers 1.x runtime repository.
Developers
Components
Component | Type | Description |
---|---|---|
agent-ctl | utility | Tool that provides low-level access for testing the agent. |
agent | core | Management process running inside the virtual machine / POD that sets up the container environment. |
documentation | documentation | Documentation common to all components (such as design and install documentation). |
osbuilder | infrastructure | Tool to create "mini O/S" rootfs and initrd images for the hypervisor. |
packaging | infrastructure | Scripts and metadata for producing packaged binaries (components, hypervisors, kernel and rootfs). |
runtime | core | Main component run by a container manager and providing a containerd shimv2 runtime implementation. |
trace-forwarder | utility | Agent tracing helper. |
Kata Containers 1.x components
For the first generation of Kata Containers (1.x versions), each component was kept in a separate repository.
For information on the Kata Containers 1.x releases, see the Kata Containers 1.x releases page.
For further information on particular Kata Containers 1.x components, see the individual component repositories:
Component | Type | Description |
---|---|---|
agent | core | See components. |
documentation | documentation | |
KSM throttler | optional core | Daemon that monitors containers and deduplicates memory to maximize container density on the host. |
osbuilder | infrastructure | See components. |
packaging | infrastructure | See components. |
proxy | core | Multiplexes communications between the shims, agent and runtime. |
runtime | core | See components. |
shim | core | Handles standard I/O and signals on behalf of the container process. |
Note:
- There are more components for the original Kata Containers 1.x implementation.
- The current implementation simplifies the design significantly: compare the current and previous generation designs.
Common repositories
The following repositories are used by both the current and first generation Kata Containers implementations:
Component | Description | Current | First generation | Notes |
---|---|---|---|---|
CI | Continuous Integration configuration files and scripts. | Kata 2.x | Kata 1.x | |
kernel | The Linux kernel used by the hypervisor to boot the guest image. | Kata 2.x | Kata 1.x | Patches are stored in the packaging component. |
tests | Test code. | Kata 2.x | Kata 1.x | Excludes unit tests which live with the main code. |
www.katacontainers.io | Contains the source for the main web site. | Kata 2.x | Kata 1.x |
Packaging and releases
Kata Containers is now available natively for most distributions. However, packaging scripts and metadata are still used to generate snap and GitHub releases. See the components section for further details.