This repository has been deprecated and archived as read-only. The code here is no longer maintained but is preserved for reference.
Contour Operator provides a method for packaging, deploying, and managing Contour. The operator extends the functionality of the Kubernetes API to create, configure, and manage instances of Contour on behalf of users. It builds upon the basic Kubernetes resource and controller concepts, but includes domain-specific knowledge to automate the entire lifecycle of Contour. Refer to the official Kubernetes documentation to learn more about the benefits of the operator pattern.
Install the Contour Operator & Contour CRDs:
$ kubectl apply -f https://raw.githubusercontent.com/projectcontour/contour-operator/main/examples/operator/operator.yaml
Verify the deployment is available:
$ kubectl get deploy -n contour-operator
NAME READY UP-TO-DATE AVAILABLE AGE
contour-operator 1/1 1 1 1m
Install an instance of the Contour
custom resource:
$ kubectl apply -f https://raw.githubusercontent.com/projectcontour/contour-operator/main/examples/contour/contour.yaml
Verify the Contour
custom resource is available:
$ kubectl get contour/contour-sample
NAME READY REASON
contour-sample True ContourAvailable
Note: It may take several minutes for the Contour
custom resource to become available.
$ kubectl apply -f https://projectcontour.io/examples/kuard.yaml
Verify the example app deployment is available:
$ kubectl get deploy/kuard
NAME READY UP-TO-DATE AVAILABLE AGE
kuard 3/3 3 3 1m50s
Test the example app:
$ curl -o /dev/null -s -w "%{http_code}\n" http://local.projectcontour.io/
200
Note: A public DNS record exists for "local.projectcontour.io" which is
configured to resolve to 127.0.0.1
. This allows you to use a real domain name
when testing in a kind cluster. If testing on a
standard Kubernetes cluster, replace "local.projectcontour.io" with the
hostname of kubectl get deploy/kuard
.
Thanks for taking the time to join our community and start contributing!