https://github.com/metal-stack/oci-mirror
https://github.com/metal-stack/oci-mirror
Last synced: 11 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/metal-stack/oci-mirror
- Owner: metal-stack
- License: mit
- Created: 2023-11-21T15:16:55.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-02-24T06:26:29.000Z (11 months ago)
- Last Synced: 2025-02-24T07:31:45.149Z (11 months ago)
- Language: Go
- Size: 123 KB
- Stars: 2
- Watchers: 5
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
# OCI Mirror
Container and OCI Image Mirror.
`oci-mirror` lets you mirror container images or any other oci artefact between registries.
It is designed to run on a regular basis, as a [CronJob](https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs) in kubernetes for example.
Under the hood it uses [go-containerregistry](github.com/google/go-containerregistry) to copy images directly from one registry to another.
## Configuration
Configuration is done with a `yaml` configuration, defaults to `oci-mirror.yaml`.
## Quickstart
First create a `oci-mirror.yaml` which matches your needs, then run it with the following command:
```bash
docker run -it -v $PWD/oci-mirror.yaml:/oci-mirror.yaml --rm ghcr.io/metal-stack/oci-mirror mirror
```
## Kubernetes
There is a sample deployment manifest available, you can simple run:
```bash
kubectl apply -f deploy
```
## TODO
- [x] support purging
- [ ] eventually support http(s) artifacts to be stored as OCIs
- [ ] ~~~support Regex Match for image tags~~~
- [ ] store a OCI artifact which reflects all stored images ?