Skip to content
This repository has been archived by the owner on Feb 27, 2023. It is now read-only.

projectcontour/contour-operator

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
cmd
 
 
 
 
 
 
 
 
 
 
 
 
 
 
pkg
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Deprecation Notice

This repository has been deprecated and archived as read-only. The code here is no longer maintained but is preserved for reference.

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!