Skip to content

Commit

Permalink
add ingress-nginx-3.9.3-4dc40c353b5e607a51b495ceab14cfdc3221efa6.tgz
Browse files Browse the repository at this point in the history
ingress-nginx-3.9.3-4dc40c353b5e607a51b495ceab14cfdc3221efa6.tgz-meta/README.md
ingress-nginx-3.9.3-4dc40c353b5e607a51b495ceab14cfdc3221efa6.tgz-meta/main.yaml
ingress-nginx-3.9.3-4dc40c353b5e607a51b495ceab14cfdc3221efa6.tgz-meta/values.schema.json
  • Loading branch information
catalogbot committed Dec 30, 2024
1 parent bbb84d2 commit 337546f
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 @@ -7028,6 +7028,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-4dc40c353b5e607a51b495ceab14cfdc3221efa6.tgz-meta/main.yaml
application.giantswarm.io/readme: https://giantswarm.github.io/giantswarm-test-catalog/ingress-nginx-3.9.3-4dc40c353b5e607a51b495ceab14cfdc3221efa6.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-4dc40c353b5e607a51b495ceab14cfdc3221efa6.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-12-30T19:10:47.997259297Z"
description: Ingress controller for Kubernetes using NGINX as a reverse proxy
and load balancer
digest: d23f4662a436d1369cdd8781c087173dec8b440e3e20222ebf34f866ae5b2643
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-4dc40c353b5e607a51b495ceab14cfdc3221efa6.tgz
version: 3.9.3-4dc40c353b5e607a51b495ceab14cfdc3221efa6
- 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
Expand Down Expand Up @@ -17041,4 +17072,4 @@ entries:
urls:
- https://giantswarm.github.io/giantswarm-test-catalog/zot-2.0.0-9afe78380a7b5315ff0f2c37eb29bb4c27eb545d.tgz
version: 2.0.0-9afe78380a7b5315ff0f2c37eb29bb4c27eb545d
generated: "2024-12-30T15:17:15.517379598Z"
generated: "2024-12-30T19:10:47.992988555Z"
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-4dc40c353b5e607a51b495ceab14cfdc3221efa6.tgz-meta/main.yaml
application.giantswarm.io/readme: https://giantswarm.github.io/giantswarm-test-catalog/ingress-nginx-3.9.3-4dc40c353b5e607a51b495ceab14cfdc3221efa6.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-4dc40c353b5e607a51b495ceab14cfdc3221efa6.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-4dc40c353b5e607a51b495ceab14cfdc3221efa6.tgz
dateCreated: '2024-12-30T19:10:36.830235Z'
digest: d23f4662a436d1369cdd8781c087173dec8b440e3e20222ebf34f866ae5b2643
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 337546f

Please sign in to comment.