/
DirectorySecurity Advisories
Sign In
Directory
contour logo

contour

Last changed

Create your Free Account

Be the first to hear about exciting product updates, critical vulnerability alerts, compare alternative images, and more.

Sign Up
Tags
Overview
Provenance
Specifications
SBOM
Vulnerabilities
Advisories

Chainguard Container for contour

Contour is an ingress controller for Kubernetes that works by deploying the Envoy proxy as a reverse proxy and load balancer. Contour supports dynamic configuration updates out of the box while maintaining a lightweight profile.

Chainguard Containers are regularly-updated, secure-by-default container images.

Download this Container Image

For those with access, this container image is available on cgr.dev:

docker pull cgr.dev/ORGANIZATION/contour:latest

Be sure to replace the ORGANIZATION placeholder with the name used for your organization's private repository within the Chainguard Registry.

Compatibility Notes

The Chainguard Contour image is comparable to the official Docker Hub image. It runs as a non-root user (65532) and includes only the essential tools and dependencies needed to function, omitting extras like a package manager or shell.

Envoy dependency

Contour is a Kubernetes ingress controller that deploys Envoy as a reverse proxy and load balancer. The Kubernetes manifest provided in the Contour quick start guide, deploys both Contour and Envoy.

If you also require a Chainguard image for Envoy, you can find this in our image catalog.

Deployment

Please refer to the Contour getting started documentation, for installation steps, which includes a Kubernetes manifest.

You'll need to either create your own modified copy of the manifest, or alternatively, use a tool such as Kustomize to replace the images.

Example using Kustomize:

cat <<EOF >kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
- https://projectcontour.io/quickstart/contour.yaml

images:
- name: ghcr.io/projectcontour/contour
  newName: cgr.dev/ORGANIZATION/contour
  newTag: latest
- name: docker.io/envoyproxy/envoy
  newName: cgr.dev/ORGANIZATION/envoy
  newTag: latest
EOF
kubectl apply -k .

If you are testing Contour in a local Kubernetes environment, such ask3d or kind, you may run into port conflict issues. To work-around this, you'll need to set alternative hostPorts for envoy.

Here is another example using kustomize:

cat <<EOF >kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
- https://projectcontour.io/quickstart/contour.yaml

images:
- name: ghcr.io/projectcontour/contour
  newName: cgr.dev/ORGANIZATION/contour
  newTag: latest
- name: docker.io/envoyproxy/envoy
  newName: cgr.dev/ORGANIZATION/envoy
  newTag: latest

patches:
- patch: |
    apiVersion: apps/v1
    kind: DaemonSet
    metadata:
      name: envoy
      namespace: projectcontour
    spec:
      template:
        spec:
          containers:
          - name: envoy
            ports:
            - containerPort: 8080
              hostPort: 8082
              name: http
              protocol: TCP
            - containerPort: 8443
              hostPort: 8445
              name: https
              protocol: TCP
EOF
kubectl apply -k .

Following successful deployment, you should see Contour and Envoy running in the cluster:

% kubectl get po -n projectcontour
NAME                            READY   STATUS      RESTARTS   AGE
contour-69c98d9c8-v8fl7         1/1     Running     0          8m42s
contour-69c98d9c8-x5s48         1/1     Running     0          8m42s
contour-certgen-v1-30-2-z7lzk   0/1     Completed   0          8m42s
envoy-ql79l                     2/2     Running     0          8m42s

For more information on Contour, including some follow-on steps on how to validate the installation, please refer to Getting started with Contour.

What are Chainguard Containers?

Chainguard Containers are minimal container images that are secure by default.

In many cases, the Chainguard Containers tagged as :latest contain only an open-source application and its runtime dependencies. These minimal container images typically do not contain a shell or package manager. Chainguard Containers are built with Wolfi, our Linux undistro designed to produce container images that meet the requirements of a more secure software supply chain.

The main features of Chainguard Containers include:

For cases where you need container images with shells and package managers to build or debug, most Chainguard Containers come paired with a -dev variant.

Although the -dev container image variants have similar security features as their more minimal versions, they feature additional software that is typically not necessary in production environments. We recommend using multi-stage builds to leverage the -dev variants, copying application artifacts into a final minimal container that offers a reduced attack surface that won’t allow package installations or logins.

Learn More

To better understand how to work with Chainguard Containers, please visit Chainguard Academy and Chainguard Courses.

In addition to Containers, Chainguard offers VMs and Libraries. Contact Chainguard to access additional products.

Trademarks

This software listing is packaged by Chainguard. The trademarks set forth in this offering are owned by their respective companies, and use of them does not imply any affiliation, sponsorship, or endorsement by such companies.

Licenses

Chainguard container images contain software packages that are direct or transitive dependencies. The following licenses were found in the "latest" tag of this image:

  • Apache-2.0

  • LGPL-2.1-or-later

  • MIT

  • MPL-2.0

For a complete list of licenses, please refer to this Image's SBOM.

Software license agreement

Compliance

A FIPS validated version of this image is available for FedRAMP compliance. STIG is included with FIPS image.


Related images

Category
application

Safe Source for Open Sourceâ„¢
Media KitContact Us
© 2025 Chainguard. All Rights Reserved.
Private PolicyTerms of Use

Products

Chainguard ContainersChainguard LibrariesChainguard VMs