Skip to content
conman - simplistic container manager
Go Makefile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
cmd
config
ctl
pkg
server
test/data
.gitignore
LICENSE
Makefile
README.md
go.mod
go.sum
main.go

README.md

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 to deploy a Kubernetes cluster with conman as a container runtime server.

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.

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 <container_id>

# Stop container 
sudo bin/conmanctl container stop <container_id>

# Request container status
sudo bin/conmanctl container status <container_id>

# Remove container 
sudo bin/conmanctl container remove <container_id>

Test it

sudo make testunit

TODO:

  • pick up state of the containers on conman [re]start
  • acceptance tests
  • shim
    • track container exit code
    • interactive containers (exec, stdin/stdout support)
    • PTY-controlled containers (eg. shell)
    • attach to a running container
You can’t perform that action at this time.