This repository contains Kubernetes manifests for deploying asset management and container registry mirroring infrastructure for Cyclops.
The cyclops-assets-k8s repository provides the infrastructure to:
- Serve Static Assets: Deploy an nginx-based service to host static assets
- Mirror Container Registries: Set up local mirrors for popular container registries to improve performance and reduce external dependencies
- Sync OS Images: Automatically download and maintain OS images for cloud environments
- Purpose: Serves static assets via nginx
- Manifests:
assets-deployment.yaml- Main deploymentservice.yaml- Service configurationstorage.yaml- Persistent storage configuration
Provides local mirrors for the following registries:
- docker.io - Docker Hub mirror
- quay.io - Quay.io mirror
- registry.k8s.io - Kubernetes registry mirror
Each mirror includes:
- Deployment configuration
- Service definition
- Persistent storage
- ConfigMap for registry settings
- Purpose: Automatically downloads and maintains OS cloud images (CentOS Stream, Ubuntu)
- Schedule: Daily CronJob to sync images
- Manifests:
os-image-sync.yaml- CronJob definitionos-images-configmap.yaml- List of OS images to sync
- Purpose: Nginx-based proxy to route requests to appropriate registry mirrors
- Manifests:
registry-mirrors-proxy.yaml- Proxy deploymentregistry-mirrors-proxy-cm.yaml- Proxy configurationregistry-mirrors-service.yaml- Service definition
All manifests are located in the manifests/ directory. To deploy:
# Apply all manifests
kubectl apply -f manifests/
# Or apply specific components
kubectl apply -f manifests/assets-deployment.yaml
kubectl apply -f manifests/mirror-docker-io-*.yamlAll resources are deployed to the cyclops-assets namespace.
This project is licensed under the MIT License - see the LICENSE file for details.
Cyclops is a one-stop shop for Kubernetes, providing tools and infrastructure to simplify Kubernetes operations.