Commit Graph

661 Commits

Author SHA1 Message Date
Stephen J Day b542cc19ad
gc: add toy tri-color GC implementation
As a minimum, we would like to maintain generic garbage collection of
containerd resources. This includes images, bundles, containers and
arbitrary content.

The included implementation is just a textbook toy that we can use to
inform the requirements of gc. It implements a simple, stack-based
tricolor algorithm. Nothing special.

Mostly, this is to ensure we think about garbage collection from the
start, rather than as an afterthought or follow on feature.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-12-06 16:20:40 -08:00
Michael Crosby df9c09303c Fix ctr build
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-12-05 16:36:15 -08:00
Michael Crosby 723a72bdf8 Fix execution build
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-12-05 16:18:05 -08:00
Michael Crosby e31a99c08a Delete shim
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-12-05 16:18:05 -08:00
Michael Crosby 21a53c1d70 Add container start and supervisor
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-12-05 16:18:05 -08:00
Stephen J Day e620833c9e
events: implemenet transaction event API
With this changeset, we provide an implementation for a transaction
event API. The goal is to support the emission of events with
transactions and sub-transactions, allowing a process post events that
may be rolled back later due to an error in the entire process. When
journaled, a consumer will be able to commit and rollback with the same
behavior as the producer.

Events are left to full definition by each component. We may require
more structure in the future to ensure consistency but we need more use
case before making decisions in that direction.

Events may be organized by a topic. A topic defines a single stream of
messages, that could be associated with a specific component. The topic
defines a grouped stream that may be compacted as one.

Only the contextual API is implemented here. After using, we will make a
determination to see how useful this across the board.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-12-05 14:53:13 -08:00
Michael Crosby bde30191f4 Move service to execution package
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-12-05 14:33:31 -08:00
Kenfe-Mickael Laventure c857213b4c move work on execution service
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-12-05 14:15:03 -08:00
Michael Crosby dd5f74edec Remove design document
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-12-02 16:34:48 -08:00
Stephen J Day d9a2f40463
api/execution: use Empty well-known type
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-12-02 16:04:13 -08:00
Stephen J Day 35822784c5
design: crop images in design docs
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-12-02 15:53:03 -08:00
Stephen J Day 523930a7c1 design: use png rather than svg
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-12-02 15:45:08 -08:00
Stephen J Day 351fbee358 design: provide rough architecture overview
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-12-02 15:38:59 -08:00
Michael Crosby 32bf0f69fd Start work on Container and Process model
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-12-02 15:37:16 -08:00
Michael Crosby 6641888667 Start work on execution server implementation
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-12-02 11:33:58 -08:00
Michael Crosby d0e2f3778a Update execution and container services
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-12-02 10:28:16 -08:00
Michael Crosby 052a18f5a4 Add containerd high level design doc
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-12-02 10:28:16 -08:00
Stephen J Day 334f7e15cf Merge remote-tracking branch 'origin/master' 2016-12-01 21:38:35 -08:00
Stephen J Day 47f8b25d25
content: add Walk method to content store
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-12-01 21:37:58 -08:00
Stephen J Day f898628330 api/mount: add common mount type for services
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-12-01 15:27:52 -08:00
Kenfe-Mickael Laventure ef03000b27 Revert "proto: move all protos under a single root"
This reverts commit 352c6b590c.
2016-12-01 14:25:03 -08:00
Kenfe-Mickael Laventure 352c6b590c proto: move all protos under a single root
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-12-01 14:17:13 -08:00
Kenfe-Mickael Laventure 4cf40db861 proto: rename container service to execution
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-12-01 13:57:51 -08:00
Kenfe-Mickael Laventure 62ca43566e proto: rename container to execution
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-12-01 13:38:29 -08:00
Stephen J Day 8a36e1c6d1
api: use correct generation helper
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-12-01 13:31:57 -08:00
Stephen J Day 9f90fdbf07
api: generate protobufs using `go generate`
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-12-01 12:36:19 -08:00
Stephen J Day 4d1a30ff41
api: protos now pass lint checks
Generation is likely broken, but the Makefile linter now passes. Another
pass will have a fully working toolchain.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-12-01 12:22:05 -08:00
Stephen J Day 2507ee35bb
Makefile: remove all references to gomock
We won't make the mistake of using gomock in this project.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-12-01 12:11:47 -08:00
Stephen J Day 796b609741
cmd: move cli files to cmd package
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-12-01 12:07:45 -08:00
Stephen J Day c4616487fe Merge remote-tracking branch 'origin/master' 2016-12-01 12:05:43 -08:00
Stephen J Day ab088af2a6
cmd, Makefile: add initial build structure
This adds Makefile and cmd/protoc-gen-gogoctrd for generating protobufs.
More adjustments are required and the default target has been stubbed
out for now.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-12-01 12:04:23 -08:00
Michael Crosby 31abb1d8b6 Update readme format
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-12-01 12:00:06 -08:00
Michael Crosby fdbae36237 Move oci and shim to execution package
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-12-01 11:06:32 -08:00
Michael Crosby c2a57e2b00 Fix build because of imports in package
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-12-01 10:47:47 -08:00
Michael Crosby 2ead05e6f1 Add metrics endpoint for containerd
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-12-01 10:34:57 -08:00
Kenfe-Mickael Laventure 6c7b4b4c17 proto: make container.proto compile
Replaced tags with owner. This assumes we will provide a Metadata
endpoint since we're planning on using it for distribution.

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-12-01 10:28:38 -08:00
Michael Crosby f8e7d65b18 Update readme based on doc 2016-12-01 10:22:15 -08:00
Stephen J Day aa4a1f851d
log: remove crusty context, replace with shiny
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-11-30 17:40:26 -08:00
Stephen J Day 29004dc3b4 Merge branch 'swarmkit-master' into merge-log-swarmkit 2016-11-30 17:30:09 -08:00
Michael Crosby 4764e8902f Add start of roadmap for the project
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-11-30 15:27:20 -08:00
Stephen J Day cd4f1f98d8 log: mark grpc messages with module
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-11-30 14:07:51 -08:00
Michael Crosby 3ef3f74878 Add ctr run functions for mocking client
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-11-29 16:52:04 -08:00
Michael Crosby 3ebf1c456b Add containerd main binary code
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-11-29 16:10:41 -08:00
Michael Crosby 503b068f59 Change base package to containerd from containerkit
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-11-29 16:08:30 -08:00
Michael Crosby 51510a8806 Move osutil to sys package
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-11-29 15:38:24 -08:00
Michael Crosby 789ff967c1 Move epoll to sys package
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-11-29 15:37:06 -08:00
Michael Crosby 0806a0d8db Update container protos
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-11-29 15:36:25 -08:00
Stephen J Day 2498220eea
design: adjust description of snapshot `diff`s
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-11-29 11:47:34 -08:00
Stephen J Day 8a02e94fbf
design: describe the role of the mount
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-11-28 19:14:20 -08:00
Stephen J Day 3110cf37dc
snapshot: rename layer manipulator to snapshot
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-11-28 18:58:25 -08:00