1
0
Fork 0
mirror of https://github.com/imjasonh/kontain.me synced 2026-07-08 09:04:54 +00:00
No description
Find a file
2021-08-06 09:21:21 -04:00
.github enable combine dependabot prs action 2021-08-06 09:19:38 -04:00
cmd document pull-by-digest limitations for estargz and flatten 2021-07-26 10:51:43 -04:00
pkg Add estargz optimizer, log Range requests 2021-07-24 22:03:08 -04:00
.gitignore
.ko.yaml
.terraform.lock.hcl
deploy.sh
go.mod Merge pull request #36 from imjasonh/dependabot/go_modules/google.golang.org/api-0.52.0 2021-08-06 09:21:21 -04:00
go.sum Merge pull request #36 from imjasonh/dependabot/go_modules/google.golang.org/api-0.52.0 2021-08-06 09:21:21 -04:00
kontainme.tf document estargz usage 2021-07-25 14:26:31 -04:00
LICENSE
README.md document wait 2021-04-09 12:38:33 -04:00
terraform.tfstate document estargz usage 2021-07-25 14:26:31 -04:00
terraform.tfstate.backup document estargz usage 2021-07-25 14:26:31 -04:00
test.sh

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

These include:

This repo also serves viz.kontain.me, which visualizes shared image layers using Graphviz.

Caveats

  • The registry does not accept pushes.
  • This is a silly hack and probably isn't stable. Don't rely on it for anything serious.
  • It could probably do a lot of smart things to be a lot faster. 🤷
  • Blobs and manifests are cached for 24 hours wherever possible, but will be rebuilt from scratch after that time.

How it works

The service is implemented using Google Cloud Run.

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