Skip to content

Experimental repository to explore an operator for deploying Contour

License

Notifications You must be signed in to change notification settings

jamslinger/contour-operator

 
 

Repository files navigation

contour-operator

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.

Get Started

Prerequisites

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.

Test with Ingress:

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

Contributing

Thanks for taking the time to join our community and start contributing!

About

Experimental repository to explore an operator for deploying Contour

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 93.7%
  • Shell 4.3%
  • Makefile 1.8%
  • Dockerfile 0.2%