Skip to content

Operator for deploying and managing Quay

License

Notifications You must be signed in to change notification settings

dmage/quay-operator

Repository files navigation

Quay Operator

CI

Opinionated deployment of Quay container registry on Kubernetes.

Principles

  • 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.

Getting Started

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

Community

Contributing

Pull requests and bug reports are always welcome!

Local Development

Prerequisites

  • KUBECONFIG environment variable set in shell to valid k8s cluster
  • go
  • kubectl
  • kubebuilder
  • docker

Create the QuayRegistry CRD:

$ kubectl create -f ./config/crd/bases/

Run the controller:

$ go run main.go

Tests:

$ go test -v ./...

About

Operator for deploying and managing Quay

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 94.4%
  • Shell 4.5%
  • Other 1.1%