Skip to content

Commit bcc2d18

Browse files
committed
Move the helm chart to charts (nginx#1862)
Problem: The helm chart is not in a known path and it's hard to find. Solution: Move the helm chart to the standard charts directory
1 parent 04785d3 commit bcc2d18

24 files changed

+23
-23
lines changed

.github/labeler.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,4 @@ tests:
2929
helm-chart:
3030
- head-branch: ['^helm/', '^helm-chart/']
3131
- changed-files:
32-
- any-glob-to-any-file: ['deploy/helm-chart/**/*']
32+
- any-glob-to-any-file: ['charts/**/*']

.github/workflows/ci.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -299,7 +299,7 @@ jobs:
299299
- name: Deploy Kubernetes
300300
id: k8s
301301
run: |
302-
kube_config=${{ github.workspace }}/deploy/helm-chart/kube-${{ github.run_id }}-helm
302+
kube_config=${{ github.workspace }}/kube-${{ github.run_id }}-helm
303303
make create-kind-cluster KIND_KUBE_CONFIG=${kube_config}
304304
echo "KUBECONFIG=${kube_config}" >> "$GITHUB_ENV"
305305
kind load docker-image ghcr.io/nginxinc/nginx-gateway-fabric:${{ steps.ngf-meta.outputs.version }} ghcr.io/nginxinc/nginx-gateway-fabric/nginx:${{ steps.nginx-meta.outputs.version }}
@@ -321,7 +321,7 @@ jobs:
321321
--set nginx.image.pullPolicy=Never
322322
--set service.type=NodePort
323323
-n nginx-gateway
324-
working-directory: ${{ github.workspace }}/deploy/helm-chart
324+
working-directory: ${{ github.workspace }}/charts/nginx-gateway-fabric
325325

326326
publish-helm:
327327
name: Package and Publish Helm Chart
@@ -345,7 +345,7 @@ jobs:
345345
- name: Package
346346
id: package
347347
run: |
348-
output=$(helm package ${{ github.ref_type != 'tag' && '--app-version edge --version 0.0.0-edge' || '' }} deploy/helm-chart)
348+
output=$(helm package ${{ github.ref_type != 'tag' && '--app-version edge --version 0.0.0-edge' || '' }} charts/nginx-gateway-fabric)
349349
echo "path=$(basename -- $(echo $output | cut -d: -f2))" >> $GITHUB_OUTPUT
350350
351351
- name: Push to GitHub Container Registry

.github/workflows/release-pr.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ jobs:
3535
id: vars
3636
run: |
3737
# TODO(lucacome): improve this and maybe use appVersion instead of version if we switch to tags
38-
echo "current_version=$(yq '.version' <deploy/helm-chart/Chart.yaml)" >> $GITHUB_OUTPUT
38+
echo "current_version=$(yq '.version' <charts/nginx-gateway-fabric/Chart.yaml)" >> $GITHUB_OUTPUT
3939
4040
- name: Find and Replace
4141
uses: jacobtomlinson/gha-find-replace@a51bbcd94d000df9ca0fcb54ec8be69aad8374b0 # v3.0.2
@@ -50,23 +50,23 @@ jobs:
5050
with:
5151
find: "edge"
5252
replace: ${{ inputs.version }}
53-
include: "deploy/helm-chart/*.yaml"
53+
include: "charts/nginx-gateway-fabric/*.yaml"
5454
regex: false
5555

5656
- name: Find and Replace
5757
uses: jacobtomlinson/gha-find-replace@a51bbcd94d000df9ca0fcb54ec8be69aad8374b0 # v3.0.2
5858
with:
5959
find: ${{ steps.vars.outputs.current_version }}
6060
replace: ${{ inputs.version }}
61-
include: "deploy/helm-chart/*.yaml"
61+
include: "charts/nginx-gateway-fabric/*.yaml"
6262
regex: false
6363

6464
- name: Find and Replace
6565
uses: jacobtomlinson/gha-find-replace@a51bbcd94d000df9ca0fcb54ec8be69aad8374b0 # v3.0.2
6666
with:
6767
find: "Always"
6868
replace: "IfNotPresent"
69-
include: "deploy/helm-chart/*.yaml"
69+
include: "charts/nginx-gateway-fabric/*.yaml"
7070
regex: false
7171

7272
- name: Generate manifests and changelog

.pre-commit-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ repos:
99
- id: end-of-file-fixer
1010
- id: check-yaml
1111
args: [--allow-multiple-documents]
12-
exclude: (^deploy/helm-chart/templates)
12+
exclude: (^charts/nginx-gateway-fabric/templates)
1313
- id: check-added-large-files
1414
- id: check-merge-conflict
1515
- id: check-case-conflict

.yamllint.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ yaml-files:
44
- "*.yml"
55

66
ignore:
7-
- deploy/helm-chart/templates/
7+
- charts/nginx-gateway-fabric
88
- config/crd/bases/
99
- .github/workflows/
1010

Makefile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ VERSION = edge
33
GIT_COMMIT = $(shell git rev-parse HEAD || echo "unknown")
44
DATE = $(shell date -u +"%Y-%m-%dT%H:%M:%SZ")
55
MANIFEST_DIR = $(CURDIR)/deploy/manifests
6-
CHART_DIR = $(CURDIR)/deploy/helm-chart
6+
CHART_DIR = $(CURDIR)/charts/nginx-gateway-fabric
77
NGINX_CONF_DIR = internal/mode/static/nginx/conf
88
NJS_DIR = internal/mode/static/nginx/modules/src
99
NGINX_DOCKER_BUILD_PLUS_ARGS = --secret id=nginx-repo.crt,src=nginx-repo.crt --secret id=nginx-repo.key,src=nginx-repo.key
@@ -194,12 +194,12 @@ install-ngf-local-build-with-plus: build-images-with-plus load-images-with-plus
194194
.PHONY: helm-install-local
195195
helm-install-local: ## Helm install NGF on configured kind cluster with local images. To build, load, and install with helm run make install-ngf-local-build.
196196
./conformance/scripts/install-gateway.sh $(GW_API_VERSION) $(INSTALL_WEBHOOK)
197-
helm install dev ./deploy/helm-chart --create-namespace --wait --set service.type=NodePort --set nginxGateway.image.repository=$(PREFIX) --set nginxGateway.image.tag=$(TAG) --set nginxGateway.image.pullPolicy=Never --set nginx.image.repository=$(NGINX_PREFIX) --set nginx.image.tag=$(TAG) --set nginx.image.pullPolicy=Never -n nginx-gateway
197+
helm install dev $(CHART_DIR) --create-namespace --wait --set service.type=NodePort --set nginxGateway.image.repository=$(PREFIX) --set nginxGateway.image.tag=$(TAG) --set nginxGateway.image.pullPolicy=Never --set nginx.image.repository=$(NGINX_PREFIX) --set nginx.image.tag=$(TAG) --set nginx.image.pullPolicy=Never -n nginx-gateway
198198

199199
.PHONY: helm-install-local-with-plus
200200
helm-install-local-with-plus: ## Helm install NGF with NGINX Plus on configured kind cluster with local images. To build, load, and install with helm run make install-ngf-local-build-with-plus.
201201
./conformance/scripts/install-gateway.sh $(GW_API_VERSION) $(INSTALL_WEBHOOK)
202-
helm install dev ./deploy/helm-chart --create-namespace --wait --set service.type=NodePort --set nginxGateway.image.repository=$(PREFIX) --set nginxGateway.image.tag=$(TAG) --set nginxGateway.image.pullPolicy=Never --set nginx.image.repository=$(NGINX_PLUS_PREFIX) --set nginx.image.tag=$(TAG) --set nginx.image.pullPolicy=Never --set nginx.plus=true -n nginx-gateway
202+
helm install dev $(CHART_DIR) --create-namespace --wait --set service.type=NodePort --set nginxGateway.image.repository=$(PREFIX) --set nginxGateway.image.tag=$(TAG) --set nginxGateway.image.pullPolicy=Never --set nginx.image.repository=$(NGINX_PLUS_PREFIX) --set nginx.image.tag=$(TAG) --set nginx.image.pullPolicy=Never --set nginx.plus=true -n nginx-gateway
203203

204204
# Debug Targets
205205
.PHONY: debug-build

deploy/helm-chart/Chart.yaml renamed to charts/nginx-gateway-fabric/Chart.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ type: application
55
version: 1.2.0
66
appVersion: "edge"
77
home: https://github.com/nginxinc/nginx-gateway-fabric
8-
icon: https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/main/deploy/helm-chart/chart-icon.png
8+
icon: https://raw.githubusercontent.com/nginxinc/nginx-gateway-fabric/main/charts/nginx-gateway-fabric/chart-icon.png
99
sources:
10-
- https://github.com/nginxinc/nginx-gateway-fabric/tree/main/deploy/helm-chart
10+
- https://github.com/nginxinc/nginx-gateway-fabric/tree/main/charts/nginx-gateway-fabric
1111
keywords:
1212
- kubernetes
1313
- gateway
File renamed without changes.
File renamed without changes.

docs/developer/implementing-a-feature.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ practices to ensure a successful feature development process.
4242
- **Installation Changes**: If your feature involves changes to the installation process of NGF, update
4343
the [installation](/site/content/how-to/installation/installation.md) documentation.
4444
- **Helm Changes**: If your feature introduces or changes any values of the NGF Helm Chart, update the
45-
[Helm README](/deploy/helm-chart/README.md).
45+
[Helm README](/charts/nginx-gateway-fabric/README.md).
4646
- **Command-line Changes**: If your feature introduces or changes a command-line flag or subcommand, update
4747
the [cli help](/site/content/reference/cli-help.md) documentation.
4848
- **Other Documentation Updates**: For any other changes that affect the behavior, usage, or configuration of NGF,

docs/developer/quickstart.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -139,16 +139,16 @@ This will build the docker images `nginx-gateway-fabric:<your-user>` and `nginx-
139139
- To install with Helm (where your release name is `my-release`):
140140

141141
```shell
142-
helm install my-release ./deploy/helm-chart --create-namespace --wait --set service.type=NodePort --set nginxGateway.image.repository=nginx-gateway-fabric --set nginxGateway.image.tag=$(whoami) --set nginxGateway.image.pullPolicy=Never --set nginx.image.repository=nginx-gateway-fabric/nginx --set nginx.image.tag=$(whoami) --set nginx.image.pullPolicy=Never -n nginx-gateway
142+
helm install my-release ./charts/nginx-gateway-fabric --create-namespace --wait --set service.type=NodePort --set nginxGateway.image.repository=nginx-gateway-fabric --set nginxGateway.image.tag=$(whoami) --set nginxGateway.image.pullPolicy=Never --set nginx.image.repository=nginx-gateway-fabric/nginx --set nginx.image.tag=$(whoami) --set nginx.image.pullPolicy=Never -n nginx-gateway
143143
```
144144

145145
- To install NGINX Plus with Helm (where your release name is `my-release`):
146146

147147
```shell
148-
helm install my-release ./deploy/helm-chart --create-namespace --wait --set service.type=NodePort --set nginxGateway.image.repository=nginx-gateway-fabric --set nginxGateway.image.tag=$(whoami) --set nginxGateway.image.pullPolicy=Never --set nginx.image.repository=nginx-gateway-fabric/nginx-plus --set nginx.image.tag=$(whoami) --set nginx.image.pullPolicy=Never --set nginx.plus=true -n nginx-gateway
148+
helm install my-release ./charts/nginx-gateway-fabric --create-namespace --wait --set service.type=NodePort --set nginxGateway.image.repository=nginx-gateway-fabric --set nginxGateway.image.tag=$(whoami) --set nginxGateway.image.pullPolicy=Never --set nginx.image.repository=nginx-gateway-fabric/nginx-plus --set nginx.image.tag=$(whoami) --set nginx.image.pullPolicy=Never --set nginx.plus=true -n nginx-gateway
149149
```
150150

151-
> For more information on Helm configuration options see the Helm [README](../../deploy/helm-chart/README.md).
151+
> For more information on Helm configuration options see the Helm [README](../../charts/nginx-gateway-fabric/README.md).
152152

153153
- To install with manifests:
154154

site/content/how-to/monitoring/prometheus.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ You can configure monitoring metrics for NGINX Gateway Fabric using Helm or Mani
104104

105105
### Using Helm
106106

107-
If you're setting up NGINX Gateway Fabric with Helm, you can adjust the `metrics.*` parameters to fit your needs. For detailed options and instructions, see the [Helm README](/deploy/helm-chart/README.md).
107+
If you're setting up NGINX Gateway Fabric with Helm, you can adjust the `metrics.*` parameters to fit your needs. For detailed options and instructions, see the [Helm README](/charts/nginx-gateway-fabric/README.md).
108108

109109
### Using Kubernetes manifests
110110

site/content/installation/installing-ngf/helm.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ Follow these steps to uninstall NGINX Gateway Fabric and Gateway API from your K
265265

266266
## Additional configuration
267267

268-
For a full list of the Helm Chart configuration parameters, read [the NGINX Gateway Fabric Helm Chart](https://github.com/nginxinc/nginx-gateway-fabric/blob/v1.2.0/deploy/helm-chart/README.md#configuration).
268+
For a full list of the Helm Chart configuration parameters, read [the NGINX Gateway Fabric Helm Chart](https://github.com/nginxinc/nginx-gateway-fabric/blob/v1.2.0/charts/nginx-gateway-fabric/README.md#configuration).
269269

270270
## Next steps
271271

site/content/overview/gateway-architecture.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ The following list describes the connections, preceeded by their types in parent
7070

7171
1. (HTTPS)
7272
- Read: _NGF_ reads the _Kubernetes API_ to get the latest versions of the resources in the cluster.
73-
- Write: _NGF_ writes to the _Kubernetes API_ to update the handled resources' statuses and emit events. If there's more than one replica of _NGF_ and [leader election](https://github.com/nginxinc/nginx-gateway-fabric/tree/v1.2.0/deploy/helm-chart#configuration) is enabled, only the _NGF_ pod that is leading will write statuses to the _Kubernetes API_.
73+
- Write: _NGF_ writes to the _Kubernetes API_ to update the handled resources' statuses and emit events. If there's more than one replica of _NGF_ and [leader election](https://github.com/nginxinc/nginx-gateway-fabric/tree/v1.2.0/charts/nginx-gateway-fabric#configuration) is enabled, only the _NGF_ pod that is leading will write statuses to the _Kubernetes API_.
7474
1. (HTTP, HTTPS) _Prometheus_ fetches the `controller-runtime` and NGINX metrics via an HTTP endpoint that _NGF_ exposes (`:9113/metrics` by default). Prometheus is **not** required by NGINX Gateway Fabric, and its endpoint can be turned off.
7575
1. (File I/O)
7676
- Write: _NGF_ generates NGINX _configuration_ based on the cluster resources and writes them as `.conf` files to the mounted `nginx-conf` volume, located at `/etc/nginx/conf.d`. It also writes _TLS certificates_ and _keys_ from [TLS secrets](https://kubernetes.io/docs/concepts/configuration/secret/#tls-secrets) referenced in the accepted Gateway resource to the `nginx-secrets` volume at the path `/etc/nginx/secrets`.

tests/suite/system_suite_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ func getDefaultSetupCfg() setupConfig {
223223
_, file, _, _ := runtime.Caller(0)
224224
fileDir := path.Join(path.Dir(file), "../")
225225
basepath := filepath.Dir(fileDir)
226-
localChartPath = filepath.Join(basepath, "deploy/helm-chart")
226+
localChartPath = filepath.Join(basepath, "charts/nginx-gateway-fabric")
227227

228228
return setupConfig{
229229
releaseName: releaseName,

0 commit comments

Comments
 (0)