Commit Graph
52 Commits
Author SHA1 Message Date
Ricardo Pardini 93f3d5749f add some Docker Desktop for Mac instructions (#58, #50 and others) 2020-11-09 12:32:19 +01:00
Ricardo Pardini 6bf3974ade remove Makefile, some PR added it and I didn't notice; we don't use it. 2020-11-09 11:26:29 +01:00
Ricardo Pardini 313f5ea203 release 0.6.0 with ENABLE_MANIFEST_CACHE 2020-10-30 18:58:42 +01:00
Ricardo PardiniandGitHub a726f88049 3-tier implementation of manifest caching (#57)
* implement manifest caching; refactor config with includes, and generate from ENVs in entrypoint.sh
- disabled by default; enable with -e ENABLE_MANIFEST_CACHE=true
- default times and regexes are a wild guess, make sure to tune for your use case.
-  add manifest caching/anti-ratelimit usage note to README
- add -e ENABLE_MANIFEST_CACHE=true to examples, some wording changes
- add -e ENABLE_MANIFEST_CACHE=true to one the steps in test workflow.
2020-10-30 18:54:10 +01:00
Ricardo Pardini 227a397225 Link image to original repository on GitHub via LABEL 2020-10-30 13:24:08 +01:00
Ricardo Pardini 937b06e593 release 0.5.0; update README to point to ghcr.io as well as DockerHub 2020-10-30 13:14:39 +01:00
Ricardo Pardini 427dd066bd GitHub Actions: tags/releases to GitHub Container Registry too 2020-10-30 13:09:27 +01:00
Ricardo Pardini eafedba51b GitHub Actions: publish :latest and :latest-debug also to GitHub Container Registry
- DockerHub is ok, but will be ratelimited soon, so this could be a nice alternative
2020-10-30 12:56:22 +01:00
Ricardo Pardini 8524e376c1 add request_type logging and headers; values are blob-by-digest, manifest-by-digest, manifest-mutable, blob-mutable 2020-10-30 12:33:41 +01:00
Ricardo Pardini 1856d821fc bump base image to nginx-1.18.0-alpine-3.12.1 2020-10-30 12:31:52 +01:00
Ricardo Pardini ae9cc68300 document DEBUG_HUB 2020-10-30 12:09:10 +01:00
Ricardo Pardini a2fd8bb32b upgrade to mitmproxy 5.x; do not store large bodies in memory; use separate config dirs for each mitmweb; better mitmweb logging 2020-10-30 12:02:56 +01:00
Ricardo Pardini 973f0d020b release 0.4.2; -debug version fixed, 429 ratelimit tolerance, 0s caching 2020-10-30 10:59:59 +01:00
Ricardo Pardini 411edf4c3f manifest caching: drop from 1s to 0s (expire immediately), so we can hit ratelimit faster (#54)
- mostly for sanity-checking purposes, last release in 0.4.x series.
- next release after this will make those configurable.
2020-10-30 10:57:54 +01:00
Ricardo Pardini 19ff1ccbcb GitHub Actions: fix building of -debug release versions by fixing build-args syntax in workflow files
- master/latest was already fixed.
2020-10-30 10:52:29 +01:00
Ricardo Pardini 763515267b use_stale for HTTP 429 Too Many Requests (actually used by DockerHub ratelimiting #54) instead of 403
- tested by trying to pull `ratelimitalways/test:latest`
2020-10-30 01:29:13 +01:00
Ricardo Pardini 36da1c2428 GitHub Actions: different syntax for build-args, lest :latest-debug is not really debug enabled 2020-10-30 00:41:13 +01:00
Ricardo Pardini aaf7fa0308 introduce env DEBUG_HUB; to help understand #54
- injects a mitmproxy between the caching layer and DockerHub's registry-1.docker.io
- it also disables VERIFY_SSL so the mitmproxy can be used;
- DEBUG_HUB's mitmweb is exposed on port 8082
- both DEBUG and DEBUG_HUB can be enabled independently
2020-10-30 00:20:18 +01:00
Ricardo Pardini ffc7540f43 add request method and upstream time to logging; add cache status header; helps investigate #54 2020-10-30 00:14:29 +01:00
Ricardo Pardini 78f96ffe92 badges 2020-10-27 12:48:26 +01:00
Ricardo Pardini 7aeffcfc4f badges 2020-10-20 16:11:41 +02:00
Ricardo Pardini 3c10258e6d 0.4.1 release, since I borked 0.4.0 2020-10-08 17:34:41 +02:00
Ricardo Pardini d57a8ce4f5 0.4.0 release 2020-10-08 16:50:45 +02:00
Ricardo Pardini 0419eb4db7 during test, sleep 2s to allow the 1s stale manifest to occur 2020-10-08 16:28:13 +02:00
Ricardo PardiniandGitHub 1ecf949482 Merge pull request #52 from rpardini/latest-is-not-multiarch
Mention :latest is amd64 only
2020-10-08 15:50:17 +02:00
Ricardo PardiniandGitHub b997ccd47c Mention :latest is amd64 only 2020-10-08 15:43:31 +02:00
Ricardo Pardini 1fc3dfed4a master workflow, builds amd64-only :latest and :latest-debug
- arm64 via qemu is waaay too slow
- tags are still multiarch
2020-10-08 15:37:41 +02:00
Ricardo Pardini 10bac0816b test workflow, naming and cosmetics 2020-10-08 15:27:34 +02:00
Ricardo Pardini 95bbab0f93 test workflow, add logging, fixes 2020-10-08 15:14:37 +02:00
Ricardo Pardini b4646a91ce experimental test workflow 2020-10-08 14:23:54 +02:00
Ricardo Pardini f031bb1919 experimental test workflow 2020-10-08 13:30:17 +02:00
Ricardo Pardini ffc878671c update README for 0.4.0-pre1, debugging scenarios, plain no-auth caching, and some wording 2020-10-08 03:02:23 +02:00
Ricardo Pardini fe388f560b silence mitmweb, nginx logs are hard enough to read 2020-10-08 02:45:49 +02:00
Ricardo Pardini 67edf7efda fix python3 deps for mitmproxy/mitmweb (-e DEBUG=true) 2020-10-08 02:32:00 +02:00
Ricardo Pardini ed592a27a8 Github Actions: quoting troubles 2020-10-08 02:00:31 +02:00
Ricardo Pardini ec4df7b4b7 GitHub Actions: multiarch build, new -debug version, much lighter layers 2020-10-08 01:57:49 +02:00
Ricardo Pardini 6b4a26e23c README: reword, one less header level 2020-10-06 11:16:03 +02:00
Ricardo Pardini f2254685f8 split README into registry-specific sections; add GitLab example (fixes #27 thanks @bephinix); some rewording 2020-10-06 11:06:42 +02:00
Ricardo PardiniandGitHub 8ad0aaa25e Merge pull request #25 from jgiannuzzi/upstream-sni
Use SNI during the TLS handshake with the upstream
2019-11-21 19:04:40 +01:00
Ricardo Pardini 3e71b6fd57 remove some "$" usage in instructions, theres no good way to escape it in nginx literals
bump to 0.2.4
2019-01-16 21:43:01 +01:00
Ricardo Pardini d9bce2b880 bump to 0.2.3 2019-01-16 20:54:59 +01:00
Ricardo Pardini 7737bf807a disable debug by default; fixes #9 2019-01-16 20:53:45 +01:00
Ricardo PardiniandGitHub 686e8ae021 Merge pull request #8 from StanYago/master
added route for docker engine setup, just curl /setup/systemd | bash
2018-12-16 10:43:19 +01:00
Ricardo PardiniandGitHub 329bf342c0 Merge pull request #7 from StanYago/master
remove hardcoded DNS configuration
2018-12-12 10:29:09 +01:00
Ricardo Pardini 97e77ccc56 update README to refer to 0.2.2, which is only cosmetic 2018-11-04 17:35:39 +01:00
Ricardo Pardini 19b9cdba0b update README, remove whitespace from example invocation 2018-11-04 17:34:54 +01:00
Ricardo Pardini 8b03786636 update README for 0.2.1, details about authentication with Docker Hub and GCR. 2018-11-04 17:15:42 +01:00
Ricardo Pardini 895627a073 Merge branch 'debug' 2018-11-04 16:55:05 +01:00
Ricardo Pardini 80bb415d84 use 0.1.0 for invocation example 2018-11-04 16:51:58 +01:00
Ricardo Pardini 7724f3ba15 completely reworked caching, now cache by exception (/blobs/ only essentially)
- now only /v2/.../blobs/... URIs are actually cached (together with their redirect catchers)
- /manifests/, /token, and /v2/ are not cached anymore, which should solve a lot of problems
- better messages for /v1 attempts
- fix usage of $connect_host:443 (which is hostname:port and causes errors to be logged) to $connect_addr (which returns an IP:port) in the proxy layer
2018-11-04 16:43:53 +01:00
Ricardo Pardini 8ff06e3dec add mitmproxy/nginx-debug inspection capabilities
- avoid some caching for non-blob urls
2018-11-04 11:23:52 +01:00
Ricardo PardiniandGitHub 228777050c Initial commit 2018-06-27 10:08:18 +02:00