Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/iximiuz/conman
Simplistic container manager
https://github.com/iximiuz/conman
containers docker kubernetes oci-runtime
Last synced: 3 months ago
JSON representation
Simplistic container manager
- Host: GitHub
- URL: https://github.com/iximiuz/conman
- Owner: iximiuz
- License: apache-2.0
- Created: 2019-07-02T19:48:07.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-03-07T00:37:23.000Z (almost 2 years ago)
- Last Synced: 2024-06-18T23:04:43.550Z (7 months ago)
- Topics: containers, docker, kubernetes, oci-runtime
- Language: Go
- Homepage: https://iximiuz.com/en/posts/conman-the-container-manager-inception/
- Size: 291 KB
- Stars: 109
- Watchers: 7
- Forks: 16
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# conman - [the] container manager
The aim of the project is to implement yet another _container manager_. Primarily, for the sake of [self-]education.
The _conman_ project is heavily inspired by cri-o and the ultimate goal is to
make _conman_ CRI-compatible. This will allow deploying Kubernetes
clusters with _conman_ as a container runtime server.Read more about the project in this article.
## State of the project
Under active development. Not even close to _0.1.0_.## Run it
So far the only tested platform is CentOS 7 with `go version go1.16.6 linux/amd64`.While Docker is not needed for conman to work, `docker` command is expected on the dev host for tests to pass.
```bash
git clone https://github.com/iximiuz/conman.git
cd conman# Build daemon and client
make bin/conmand
make bin/conmanctl# Run daemon
sudo bin/conmand# Prepare dev data
make test/data/rootfs_alpine# Create containers
sudo bin/conmanctl container create --image test/data/rootfs_alpine/ cont1 -- sleep 100
sudo bin/conmanctl container create --image test/data/rootfs_alpine/ cont2 -- sleep 200# List containers
sudo bin/conmanctl container list# Start container
sudo bin/conmanctl container start# Stop container
sudo bin/conmanctl container stop# Request container status
sudo bin/conmanctl container status# Remove container
sudo bin/conmanctl container remove
```## Test it
```bash
# Unit (not really) tests
sudo PATH=/usr/local/bin:$PATH make testunit# Functional tests
# install jq `yum install jq`
# install bats https://github.com/bats-core/bats-core
sudo PATH=/usr/local/bin:$PATH make testfunctional# OCI runtime shim integration tests
make testshimmy
```## TODO:
- acceptance tests
- shim
- interactive containers (exec, stdin/stdout support)
- PTY-controlled containers (eg. shell)
- attach to a running container