1
0
Fork 0
mirror of https://github.com/imjasonh/kontain.me synced 2026-07-08 00:55:14 +00:00
No description
Find a file
2018-12-08 16:35:47 -05:00
fwd Add static front page 2018-12-06 10:10:43 -05:00
vendor Write to and serve from GCS, fix some bugs 2018-12-05 11:06:10 -05:00
.gitignore Initial commit 2018-12-03 17:02:39 -05:00
Dockerfile dep init, and start adding GCS support: 2018-12-05 09:57:14 -05:00
Gopkg.lock Write to and serve from GCS, fix some bugs 2018-12-05 11:06:10 -05:00
Gopkg.toml dep init, and start adding GCS support: 2018-12-05 09:57:14 -05:00
main.go fix blob serving for ko builds 2018-12-05 12:51:51 -05:00
README.md Add README 2018-12-08 16:35:47 -05:00

kontain.me

kontain.me serves Docker containter images generated on-demand at the time they are requested.

docker pull kontain.me/random:latest serves an image containing random data. By default the image contains one layer containing 10 MB of random bytes. You can request a specific size and shape of random image. For example, kontain.me/random:4x100 generates a random image of 4 layers of 100 random bytes each.

docker pull kontain.me/ko/[import path] serves an image containing a Go binary fetched using go get and built into a container image using ko. For example, docker pull kontain.me/ko/github.com/google/go-containerregistry/cmd/ko will fetch, build and (eventually) serve a Docker image containing ko itself. Koception!

The registry does not accept pushes and does not handle requests for images by digest. This is a silly hack and probably isn't stable. Don't rely on it for anything serious.

How it works

The backend is implemented using Google Serverless Containers, with an App Engine Go 1.11 frontend to provide SSL on a custom domain (source in fwd/).

When the app receives a request for an image manifest, it parses the request and generates layers for the requested image, writing the blobs to Google Cloud Storage. After it receives the manifest, docker pull fetches the blobs. The app simply redirects to Cloud Storage to serve the blobs. Blobs are deleted after 10 days.