Opinionated deployment of Quay container registry on Kubernetes.
- Kubernetes is a powerful platform with an abundance of existing and future features. Always prefer to leverage something Kubernetes does better than try to implement it again.
- Favor declarative application management to improve everyone's sanity and understanding of the state.
- Make things simple by default, but always allow diving deeper to discover the details of what is going on.
This Operator can be installed on any Kubernetes cluster running the Operator Lifecycle Manager. Simply create the provided CatalogSource
to make the package available on the cluster, then create the Subscription
to install it.
If running on OpenShift:
$ oc adm policy add-scc-to-user anyuid system:serviceaccount:<your-namespace>:default
Create the CatalogSource
:
$ kubectl create -n openshift-marketplace -f ./deploy/quay-operator.catalogsource.yaml
Wait a few seconds for the package to become available:
$ kubectl get packagemanifest --all-namespaces | grep quay
Create the Subscription
to install the Operator:
$ kubectl create -n <your-namespace> -f ./deploy/quay-operator.subscription.yaml
- Mailing list: [email protected]
- IRC: #quay on freenode.net
- Bug tracking: https://issues.redhat.com/projects/PROJQUAY/summary
- Security issues: [email protected]
Pull requests and bug reports are always welcome!
KUBECONFIG
environment variable set in shell to valid k8s clustergo
kubectl
kubebuilder
docker
Create the QuayRegistry
CRD:
$ kubectl create -f ./config/crd/bases/
Run the controller:
$ go run main.go
Tests:
$ go test -v ./...