Skip to content
This repository has been archived by the owner on Jun 13, 2018. It is now read-only.
/ go-conception Public archive

[INACTIVE] A Go package for running one-off containerized applications through Docker or Kubernetes API (coming soon).

License

Notifications You must be signed in to change notification settings

MrSaints/go-conception

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go-conception

Container + Inception = Conception

I'm not good with names... and the verb 'conceive' fits nicely

Work in progress. Use at your own discretion.

A Go package for running one-off containerized applications through Docker or Kubernetes API (coming soon).

Rationale

This package was created with the intent of easing the programmatic execution of commands in containerized applications, and subsequently, capturing the resulting output. Think docker run --rm <image> <command>, but without depending on having Docker CLI available on the executing machine.

But why?

It may for example, be useful for launching containerized applications within a containerized application. In the aforementioned Docker example, we simply need to bind-mount /var/run/docker.sock to the parent containerized application, and this will allow it to spawn containers on the same level as the parent. If the child containerized application is using this package, neither the child nor the parent image will require Docker to be installed.

Nevertheless, this package should work fine should you decide to go down the Docker-in-Docker (DinD) route instead, and you can benefit from having the package manage the full lifecycle of a one-off containerized application. That is, it will create, attach, start, and clean up a container with a given image name, command, stdout writer, and stderr writer.

The plan is to introduce an adapter for Kubernetes in the future that will allow a container in a Pod to spawn a one-off job or Pod in a similar fashion.

About

[INACTIVE] A Go package for running one-off containerized applications through Docker or Kubernetes API (coming soon).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages