├── .dockerignore ├── .gitignore ├── .travis.yml ├── Dockerfile ├── LICENSE.txt ├── Makefile ├── README.md ├── ci-cd ├── build.sh ├── push.sh └── validate-yaml-json.rb ├── cmd ├── flags.go └── main.go ├── config └── examples │ └── example.yaml ├── docs ├── config.md ├── examples.md └── hacking.md ├── entrypoint.sh ├── go.mod ├── go.sum ├── internal └── pkg │ ├── rules │ ├── rules2_test.go │ └── rules_test.go │ ├── testing │ └── testing.go │ └── version │ └── version.go ├── pkg ├── client │ └── client.go ├── config │ ├── config.go │ └── config_test.go ├── registry │ ├── docker_distribution_compat.go │ ├── manifest.go │ └── manifest_sort.go └── rules │ ├── rule.go │ └── selector.go └── test └── fixtures ├── config ├── invalid-missing-registry.yaml ├── invalid-rule-duplicate-action-days-latest.yaml ├── invalid-rule-duplicate-action-days-versions.yaml ├── invalid-rule-duplicate-action-versions-latest.yaml ├── invalid-rule-missing-action.yaml ├── invalid-rule-missing-repos-and-labels.yaml └── invalid-rule-no-rules.yaml ├── manifest_tests ├── apply-rules.yaml ├── filter_repo_tags.yaml └── manifest_matching_1.yaml └── rules ├── fleeble-ignore-some.yaml ├── fleeble-match-all.yaml ├── fleeble-match-version.yaml ├── fleeble-multiple.yaml ├── fleeble-tagselectors.yaml ├── labels-devel-3-versions.yaml ├── labels-prod-3-latest.yaml ├── multiple-repo-keep-latest.yaml ├── multiple-repo-versions.yaml ├── multiple-repos.yaml ├── onlylatest.yaml ├── plumbus-pr.yaml └── repo-and-labels-devel-3-versions.yaml /.dockerignore: -------------------------------------------------------------------------------- 1 | /bin 2 | /vendor 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/.gitignore -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/.travis.yml -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/LICENSE.txt -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/README.md -------------------------------------------------------------------------------- /ci-cd/build.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/ci-cd/build.sh -------------------------------------------------------------------------------- /ci-cd/push.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/ci-cd/push.sh -------------------------------------------------------------------------------- /ci-cd/validate-yaml-json.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/ci-cd/validate-yaml-json.rb -------------------------------------------------------------------------------- /cmd/flags.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/cmd/flags.go -------------------------------------------------------------------------------- /cmd/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/cmd/main.go -------------------------------------------------------------------------------- /config/examples/example.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/config/examples/example.yaml -------------------------------------------------------------------------------- /docs/config.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/docs/config.md -------------------------------------------------------------------------------- /docs/examples.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/docs/examples.md -------------------------------------------------------------------------------- /docs/hacking.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/docs/hacking.md -------------------------------------------------------------------------------- /entrypoint.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/entrypoint.sh -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/go.sum -------------------------------------------------------------------------------- /internal/pkg/rules/rules2_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/internal/pkg/rules/rules2_test.go -------------------------------------------------------------------------------- /internal/pkg/rules/rules_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/internal/pkg/rules/rules_test.go -------------------------------------------------------------------------------- /internal/pkg/testing/testing.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/internal/pkg/testing/testing.go -------------------------------------------------------------------------------- /internal/pkg/version/version.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/internal/pkg/version/version.go -------------------------------------------------------------------------------- /pkg/client/client.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/pkg/client/client.go -------------------------------------------------------------------------------- /pkg/config/config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/pkg/config/config.go -------------------------------------------------------------------------------- /pkg/config/config_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/pkg/config/config_test.go -------------------------------------------------------------------------------- /pkg/registry/docker_distribution_compat.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/pkg/registry/docker_distribution_compat.go -------------------------------------------------------------------------------- /pkg/registry/manifest.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/pkg/registry/manifest.go -------------------------------------------------------------------------------- /pkg/registry/manifest_sort.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/pkg/registry/manifest_sort.go -------------------------------------------------------------------------------- /pkg/rules/rule.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/pkg/rules/rule.go -------------------------------------------------------------------------------- /pkg/rules/selector.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/pkg/rules/selector.go -------------------------------------------------------------------------------- /test/fixtures/config/invalid-missing-registry.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | # registry: missing! 3 | rules: [] 4 | 5 | -------------------------------------------------------------------------------- /test/fixtures/config/invalid-rule-duplicate-action-days-latest.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/test/fixtures/config/invalid-rule-duplicate-action-days-latest.yaml -------------------------------------------------------------------------------- /test/fixtures/config/invalid-rule-duplicate-action-days-versions.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/test/fixtures/config/invalid-rule-duplicate-action-days-versions.yaml -------------------------------------------------------------------------------- /test/fixtures/config/invalid-rule-duplicate-action-versions-latest.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/test/fixtures/config/invalid-rule-duplicate-action-versions-latest.yaml -------------------------------------------------------------------------------- /test/fixtures/config/invalid-rule-missing-action.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/test/fixtures/config/invalid-rule-missing-action.yaml -------------------------------------------------------------------------------- /test/fixtures/config/invalid-rule-missing-repos-and-labels.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/test/fixtures/config/invalid-rule-missing-repos-and-labels.yaml -------------------------------------------------------------------------------- /test/fixtures/config/invalid-rule-no-rules.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | registry: https://foo.bar 3 | -------------------------------------------------------------------------------- /test/fixtures/manifest_tests/apply-rules.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/test/fixtures/manifest_tests/apply-rules.yaml -------------------------------------------------------------------------------- /test/fixtures/manifest_tests/filter_repo_tags.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/test/fixtures/manifest_tests/filter_repo_tags.yaml -------------------------------------------------------------------------------- /test/fixtures/manifest_tests/manifest_matching_1.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/test/fixtures/manifest_tests/manifest_matching_1.yaml -------------------------------------------------------------------------------- /test/fixtures/rules/fleeble-ignore-some.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/test/fixtures/rules/fleeble-ignore-some.yaml -------------------------------------------------------------------------------- /test/fixtures/rules/fleeble-match-all.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/test/fixtures/rules/fleeble-match-all.yaml -------------------------------------------------------------------------------- /test/fixtures/rules/fleeble-match-version.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/test/fixtures/rules/fleeble-match-version.yaml -------------------------------------------------------------------------------- /test/fixtures/rules/fleeble-multiple.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/test/fixtures/rules/fleeble-multiple.yaml -------------------------------------------------------------------------------- /test/fixtures/rules/fleeble-tagselectors.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/test/fixtures/rules/fleeble-tagselectors.yaml -------------------------------------------------------------------------------- /test/fixtures/rules/labels-devel-3-versions.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/test/fixtures/rules/labels-devel-3-versions.yaml -------------------------------------------------------------------------------- /test/fixtures/rules/labels-prod-3-latest.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/test/fixtures/rules/labels-prod-3-latest.yaml -------------------------------------------------------------------------------- /test/fixtures/rules/multiple-repo-keep-latest.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/test/fixtures/rules/multiple-repo-keep-latest.yaml -------------------------------------------------------------------------------- /test/fixtures/rules/multiple-repo-versions.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/test/fixtures/rules/multiple-repo-versions.yaml -------------------------------------------------------------------------------- /test/fixtures/rules/multiple-repos.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/test/fixtures/rules/multiple-repos.yaml -------------------------------------------------------------------------------- /test/fixtures/rules/onlylatest.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/test/fixtures/rules/onlylatest.yaml -------------------------------------------------------------------------------- /test/fixtures/rules/plumbus-pr.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/test/fixtures/rules/plumbus-pr.yaml -------------------------------------------------------------------------------- /test/fixtures/rules/repo-and-labels-devel-3-versions.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tumblr/docker-registry-pruner/HEAD/test/fixtures/rules/repo-and-labels-devel-3-versions.yaml --------------------------------------------------------------------------------