Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions charts/contour-crds-lib/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
apiVersion: v2
name: contour-crds-lib
description: Shared CRD templates for Contour and Gateway API charts.
type: library
version: 0.1.0
appVersion: 1.33.0
8,892 changes: 8,892 additions & 0 deletions charts/contour-crds-lib/templates/_contour-crds.tpl

Large diffs are not rendered by default.

17,326 changes: 17,326 additions & 0 deletions charts/contour-crds-lib/templates/_gateway-api-crds.tpl

Large diffs are not rendered by default.

26 changes: 26 additions & 0 deletions charts/contour-crds/.helmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/
# img folder
img/
# Changelog
CHANGELOG.md
6 changes: 6 additions & 0 deletions charts/contour-crds/Chart.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
dependencies:
- name: contour-crds-lib
repository: file://../contour-crds-lib
version: 0.1.0
digest: sha256:93ab41c34d42ea96e81012909b1e45303b16f45dcb7e7b5c99e39bbb443c6d7a
generated: "2025-12-08T12:22:41.193943+01:00"
22 changes: 22 additions & 0 deletions charts/contour-crds/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
annotations:
category: Infrastructure
licenses: Apache-2.0
apiVersion: v2
description: CustomResourceDefinitions for Contour and Gateway API, packaged separately for centralized management.
home: https://projectcontour.io/
keywords:
- ingress
- envoy
- contour
- crd
maintainers:
- name: Contour Team
name: contour-crds
sources:
- https://github.com/projectcontour/helm-charts/tree/main/charts/contour-crds
version: 0.1.0
appVersion: 1.33.0
dependencies:
- name: contour-crds-lib
version: 0.1.0
repository: file://../contour-crds-lib
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think file:// references will work with a remote repository, and sadly if I read the documentation right this'll need to point to the actual repository

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

for type: library charts these file references should work?.
The Chart.yaml should only resolve when building from the repo.

The following commands worked locally.

# Package
  helm package charts/contour-crds --destination dist

# Install
  helm install contour-crds ./dist/contour-crds-0.1.0.tgz \
    --namespace contour-crds --create-namespace

unpacking the tgz one can see the following inside of it then as well
image

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After some testing, the helm packaging will sort this out regardless of what type it is

53 changes: 53 additions & 0 deletions charts/contour-crds/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Contour CRDs Helm Chart

A lightweight Helm chart that installs only the CustomResourceDefinitions required by [Contour](https://projectcontour.io) and (optionally) the Gateway API. Use it when you want to manage CRDs centrally instead of bundling them with the main Contour release.

## Prerequisites

- Kubernetes 1.23+
- Helm 3.8.0+

## Installing the Chart

To install the chart with the release name `contour-crds`:

```console
helm repo add contour https://projectcontour.github.io/helm-charts/
helm repo update
helm install contour-crds contour/contour-crds
```

## Using with the `contour` chart

If you install CRDs through this chart, disable CRD management in the `contour` chart to avoid conflicts:

```yaml
contour:
manageCRDs: false
```

## Parameters

| Name | Description | Value |
| --- | --- | --- |
| `contour.manageCRDs` | Manage the creation, upgrade and deletion of Contour CRDs. | `true` |
| `gatewayAPI.manageCRDs` | Manage the creation, upgrade and deletion of Gateway API CRDs. | `false` |

## Local testing

Run basic linting and rendering checks before publishing:

```console
helm lint charts/contour-crds
helm template charts/contour-crds --namespace default
```

Apply to a local cluster like minikube

```console
helm install contour-crds charts/contour-crds --namespace default
# to install with the gateway api crds
helm install contour-crds ./charts/contour-crds --namespace default --set gatewayAPI.manageCRDs=true
# to remove
helm uninstall contour-crds --namespace default
```
1 change: 1 addition & 0 deletions charts/contour-crds/templates/contour-crds.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{{- include "contour-crds-lib.contourCRDs" . }}
1 change: 1 addition & 0 deletions charts/contour-crds/templates/gateway-api-crds.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{{- include "contour-crds-lib.gatewayAPICRDs" . }}
10 changes: 10 additions & 0 deletions charts/contour-crds/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
## @section Contour CRDs
contour:
## @param contour.manageCRDs Manage the creation, upgrade and deletion of Contour CRDs.
manageCRDs: true

## @section Gateway API CRDs

gatewayAPI:
## @param gatewayAPI.manageCRDs Manage the creation, upgrade and deletion of Gateway API CRDs.
manageCRDs: false
3 changes: 3 additions & 0 deletions charts/contour/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
# Changelog
## 0.3.0
* Centralize Contour and Gateway API CRDs in a shared library dependency to avoid duplicating manifests between charts.

## 0.2.0
* Contour upgraded to 1.33.0
* Envoy upgraded to 1.35.2
Expand Down
6 changes: 6 additions & 0 deletions charts/contour/Chart.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
dependencies:
- name: contour-crds-lib
repository: file://../contour-crds-lib
version: 0.1.0
digest: sha256:93ab41c34d42ea96e81012909b1e45303b16f45dcb7e7b5c99e39bbb443c6d7a
generated: "2025-12-08T12:22:27.729355+01:00"
6 changes: 5 additions & 1 deletion charts/contour/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,8 @@ maintainers:
name: contour
sources:
- https://github.com/projectcontour/helm-charts/tree/main/charts/contour
version: 0.2.0
version: 0.3.0
dependencies:
- name: contour-crds-lib
version: 0.1.0
repository: file://../contour-crds-lib
2 changes: 2 additions & 0 deletions charts/contour/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ A Helm chart for installing Contour.

This chart is a fork of Contour chart from the [Bitnami charts](https://github.com/bitnami/charts) project, which has since been discontinued.

> **CRD management:** This chart installs the Contour CRDs by default. If you want to version and manage CRDs centrally, use the separate `contour-crds` chart and disable CRD management in this chart (`contour.manageCRDs: false`, `gatewayAPI.manageCRDs: false`).


## Introduction

Expand Down
Loading