Skip to content

Commit

Permalink
add ingress-nginx-3.9.3-40fee3236489f269dc9802424fc23b2608162be7.tgz
Browse files Browse the repository at this point in the history
ingress-nginx-3.9.3-40fee3236489f269dc9802424fc23b2608162be7.tgz-meta/README.md
ingress-nginx-3.9.3-40fee3236489f269dc9802424fc23b2608162be7.tgz-meta/main.yaml
ingress-nginx-3.9.3-40fee3236489f269dc9802424fc23b2608162be7.tgz-meta/values.schema.json
  • Loading branch information
catalogbot committed Nov 28, 2024
1 parent 9d6582c commit ffb66b0
Show file tree
Hide file tree
Showing 5 changed files with 1,636 additions and 1 deletion.
33 changes: 32 additions & 1 deletion index.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12706,6 +12706,37 @@ entries:
urls:
- https://giantswarm.github.io/giantswarm-test-catalog/ingress-nginx-3.9.3-570b73b8dd1665a3fd9cd34c378be2acc73ca4be.tgz
version: 3.9.3-570b73b8dd1665a3fd9cd34c378be2acc73ca4be
- annotations:
application.giantswarm.io/metadata: https://giantswarm.github.io/giantswarm-test-catalog/ingress-nginx-3.9.3-40fee3236489f269dc9802424fc23b2608162be7.tgz-meta/main.yaml
application.giantswarm.io/readme: https://giantswarm.github.io/giantswarm-test-catalog/ingress-nginx-3.9.3-40fee3236489f269dc9802424fc23b2608162be7.tgz-meta/README.md
application.giantswarm.io/team: team-cabbage
application.giantswarm.io/values-schema: https://giantswarm.github.io/giantswarm-test-catalog/ingress-nginx-3.9.3-40fee3236489f269dc9802424fc23b2608162be7.tgz-meta/values.schema.json
ui.giantswarm.io/logo: https://s.giantswarm.io/app-icons/ingress-nginx/2/logo_dark.svg
apiVersion: v2
appVersion: 1.11.3
created: "2024-11-28T15:22:04.217026827Z"
description: Ingress controller for Kubernetes using NGINX as a reverse proxy
and load balancer
digest: b7f50cb3acb5b690445b7848c5a8a5d91f0b04dc4db90902d78798ebe6825be1
home: https://github.com/giantswarm/ingress-nginx-app
icon: https://s.giantswarm.io/app-icons/ingress-nginx/2/icon_dark.svg
keywords:
- ingress
- nginx
kubeVersion: '>=1.21.0-0'
maintainers:
- name: cpanato
- name: Gacko
- name: puerco
- name: rikatz
- name: strongjz
- name: tao12345666333
name: ingress-nginx
sources:
- https://github.com/kubernetes/ingress-nginx
urls:
- https://giantswarm.github.io/giantswarm-test-catalog/ingress-nginx-3.9.3-40fee3236489f269dc9802424fc23b2608162be7.tgz
version: 3.9.3-40fee3236489f269dc9802424fc23b2608162be7
- annotations:
application.giantswarm.io/metadata: https://giantswarm.github.io/giantswarm-test-catalog/ingress-nginx-3.9.3-33192f9949136d3e04f760dcdb02c85b67873e9b.tgz-meta/main.yaml
application.giantswarm.io/readme: https://giantswarm.github.io/giantswarm-test-catalog/ingress-nginx-3.9.3-33192f9949136d3e04f760dcdb02c85b67873e9b.tgz-meta/README.md
Expand Down Expand Up @@ -32629,4 +32660,4 @@ entries:
urls:
- https://giantswarm.github.io/giantswarm-test-catalog/zot-0.0.0-0b141fee021e1ccb5c4b25af6b43fe4fc866a0f1.tgz
version: 0.0.0-0b141fee021e1ccb5c4b25af6b43fe4fc866a0f1
generated: "2024-11-28T15:11:32.752797495Z"
generated: "2024-11-28T15:22:04.212486235Z"
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,180 @@
[![CircleCI](https://circleci.com/gh/giantswarm/ingress-nginx-app.svg?style=shield)](https://circleci.com/gh/giantswarm/ingress-nginx-app)

# Ingress NGINX Controller

This app installs the [Ingress NGINX Controller](https://github.com/kubernetes/ingress-nginx) into your cluster.

Its job is to satisfy external requests to services running in the cluster. See the [Kubernetes Ingress documentation](https://kubernetes.io/docs/concepts/services-networking/ingress) for a higher level overview.

## Table of Contents

- [Ingress NGINX Controller](#ingress-nginx-controller)
- [Prerequisites](#prerequisites)
- [Installation](#installation)
- [Using our web interface](#using-our-web-interface)
- [Directly creating the `App` resource](#directly-creating-the-app-resource)
- [Configuration](#configuration)
- [`IngressClass` resource](#ingressclass-resource)
- [Internal Ingress NGINX Controller](#internal-ingress-nginx-controller)
- [AWS & PROXY protocol](#aws--proxy-protocol)
- [Migration from `nginx-ingress-controller-app`](#migration-from-nginx-ingress-controller-app)
- [Development](#development)
- [Local installation](#local-installation)
- [Release process](#release-process)

## Prerequisites

- Kubernetes version >= v1.20.0
- Ingress API version >= `networking.k8s.io/v1` (`extensions/v1beta1` & `networking.k8s.io/v1beta1` are no longer supported)

Additionally, you'll have to make sure your `Ingress` resources are using the `.spec.ingressClassName`, matching the name of your `IngressClass` resource (default: `nginx`).

## Installation

There are two ways to install this app into your cluster:

1. Using our [web interface](https://docs.giantswarm.io/platform-overview/web-interface/app-platform#installing-an-app).
2. Directly creating the [`App` resource](https://docs.giantswarm.io/use-the-api/management-api/crd/apps.application.giantswarm.io).

### Using our web interface

This is an example of the values file you could upload using our web interface:

```yaml
controller:
config:
error-log-level: info
```
### Directly creating the `App` resource

If you have access to management cluster, you can create the `App` & `ConfigMap` resources directly. These sample values deploy the `ingress-nginx` app to your cluster `abc12`:

```yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: ingress-nginx-user-values
namespace: abc12
data:
values: |
controller:
config:
error-log-level: info
---
apiVersion: application.giantswarm.io/v1alpha1
kind: App
metadata:
name: ingress-nginx
namespace: abc12
spec:
catalog: giantswarm
name: ingress-nginx
version: 3.9.3
userConfig:
configMap:
name: ingress-nginx-user-values
namespace: abc12
namespace: kube-system
```

See our [app configuration reference](https://docs.giantswarm.io/getting-started/app-platform/app-configuration) for more details.

## Configuration

All configuration options are documented in the [`values.yaml`](https://github.com/giantswarm/ingress-nginx-app/blob/main/helm/ingress-nginx/values.yaml).

### `IngressClass` resource

In case it is not possible to update all `Ingress` resources to specify the `.spec.ingressClassName`, you can add the `--watch-ingress-without-class` argument using the `controller.extraArgs`. Please make sure there is no other Ingress Controller doing so deployed to your cluster.

If you are [running multiple Ingress NGINX Controllers](https://docs.giantswarm.io/advanced/ingress/multi-nginx-ic), each needs to have an unique `IngressClass` resource. You can use the values structure below:

```yaml
controller:
ingressClassResource:
name: nginx-internal
controllerValue: k8s.io/ingress-nginx-internal
```

**Note:** It is not possible to change the `controller.ingressClassResource` values after installation, except you are also changing `controller.ingressClassResource.name`. If you need to change these values, you will need to uninstall the app first.

### Internal Ingress NGINX Controller

This chart contains a template for an additional [internal service](https://github.com/giantswarm/ingress-nginx-app/blob/main/helm/ingress-nginx/templates/controller-service-internal.yaml) to cover the use case of having separate external & internal services with a single Ingress NGINX Controller instance.

Valid configuration options are as follows:

**External only (default)**

This is the default behavior. No additional configuration required.

**Internal only**

This configures the [default service](https://github.com/giantswarm/ingress-nginx-app/blob/main/helm/ingress-nginx/templates/controller-service.yaml) to create an internal facing load balancer:

```yaml
controller:
service:
public: false
```

**External & internal**

This enables the additional [internal service](https://github.com/giantswarm/ingress-nginx-app/blob/main/helm/ingress-nginx/templates/controller-service-internal.yaml) and creates an internal facing load balancer.

```yaml
controller:
service:
internal:
enabled: true
```

### AWS & PROXY protocol

Since version v2.17.0, this chart has the `use-proxy-procotol` enabled by default when installed in AWS.

To disable this behavior, it is still possible to set `controller.config.use-proxy-protocol` to `"false"` in the values.

## Migration from `nginx-ingress-controller-app`

Please see our [migration guide](https://github.com/giantswarm/ingress-nginx-app/blob/main/migration.md) if you want to update your `nginx-ingress-controller-app` deployment to the new `ingress-nginx` chart.

## Development

### Local installation

To install the chart locally:

```bash
$ git clone https://github.com/giantswarm/ingress-nginx-app.git
$ cd ingress-nginx-app
$ helm install helm/ingress-nginx
```

Provide a custom `values.yaml`:

```bash
$ helm install helm/ingress-nginx --values values.yaml
```

### Testing

This App includes E2E tests using the [apptest-framework](https://github.com/giantswarm/apptest-framework). You can trigger the configured tests on any open PR by adding the following as a comment:

```
/run app-test-suites
```

E2E tests include:

| Suite | Test | Description | Providers |
|-------|-------------|-----------------------------------------------------------------------------|-----------|
| Basic | App install | Check if the App is installed correctly and marked as `deployed` | CAPA |
| Basic | Hello World | Deploy `hello-world` app and verify that it's reachable through the Ingress | CAPA |

### Release process

* Ensure CHANGELOG.md is up to date.
* Create a new branch with name `release#vx.x.x`. Automation will create a release PR.
* Merging the release PR will push a new Git tag and trigger a new tarball to be pushed to the [giantswarm-catalog].
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
annotations:
application.giantswarm.io/metadata: https://giantswarm.github.io/giantswarm-test-catalog/ingress-nginx-3.9.3-40fee3236489f269dc9802424fc23b2608162be7.tgz-meta/main.yaml
application.giantswarm.io/readme: https://giantswarm.github.io/giantswarm-test-catalog/ingress-nginx-3.9.3-40fee3236489f269dc9802424fc23b2608162be7.tgz-meta/README.md
application.giantswarm.io/team: team-cabbage
application.giantswarm.io/values-schema: https://giantswarm.github.io/giantswarm-test-catalog/ingress-nginx-3.9.3-40fee3236489f269dc9802424fc23b2608162be7.tgz-meta/values.schema.json
ui.giantswarm.io/logo: https://s.giantswarm.io/app-icons/ingress-nginx/2/logo_dark.svg
chartApiVersion: v2
chartFile: ingress-nginx-3.9.3-40fee3236489f269dc9802424fc23b2608162be7.tgz
dateCreated: '2024-11-28T15:21:45.940969Z'
digest: b7f50cb3acb5b690445b7848c5a8a5d91f0b04dc4db90902d78798ebe6825be1
home: https://github.com/giantswarm/ingress-nginx-app
icon: https://s.giantswarm.io/app-icons/ingress-nginx/2/icon_dark.svg
Loading

0 comments on commit ffb66b0

Please sign in to comment.