Ingress NGINX Controller for Kubernetes
Find a file
Conor Landry 412cd70d3a implement canary annotation and alternative backends
Adds the ability to create alternative backends. Alternative backends enable
traffic shaping by sharing a single location but routing to different
backends depending on the TrafficShapingPolicy defined by AlternativeBackends.

When the list of upstreams and servers are retrieved, we then call
mergeAlternativeBackends which iterates through the paths of every ingress
and checks if the backend supporting the path is a AlternativeBackend. If
so, we then iterate through the map of servers and find the real backend
that the AlternativeBackend should fall under. Once found, the
AlternativeBackend is embedded in the list of VirtualBackends for the real
backend.

If no matching real backend for a AlternativeBackend is found, then the
AlternativeBackend is deleted as it cannot be backed by any server.
2018-11-06 13:13:14 -05:00
.github Update GitHub pull request template 2018-04-28 23:43:54 +02:00
.travis Skip unnecessary stages for docs 2018-09-13 17:52:15 -03:00
build Update e2e image 2018-10-29 13:14:57 -03:00
cmd/nginx fix logging calls (#3260) 2018-10-27 08:16:34 -03:00
deploy Fix typo 2018-10-13 03:12:27 +09:00
docs implement canary annotation and alternative backends 2018-11-06 13:13:14 -05:00
hack Remove default backend requirement 2018-10-07 10:32:36 -03:00
images Update e2e image 2018-10-29 13:14:57 -03:00
internal implement canary annotation and alternative backends 2018-11-06 13:13:14 -05:00
rootfs implement canary annotation and alternative backends 2018-11-06 13:13:14 -05:00
test implement canary annotation and alternative backends 2018-11-06 13:13:14 -05:00
vendor Update go dependencies 2018-10-10 21:46:45 -03:00
version Remove GenericController and add tests 2017-11-05 17:51:05 -03:00
.codecov.yml Migrate to codecov.io (#2120) 2018-02-20 08:27:02 -08:00
.dockerignore Move nginx to root directory 2017-10-06 16:58:36 -03:00
.gitignore Multiple optimizations to build targets 2018-07-20 20:08:32 +02:00
.luacheckrc refactor balancer into more testable and extensible interface 2018-05-28 15:51:58 -04:00
.travis.yml Test skip-e2e 2018-09-13 17:52:15 -03:00
Changelog.md Release 0.20.0 (#3189) 2018-10-07 10:22:38 -03:00
code-of-conduct.md Update code-of-conduct.md (#1842) 2017-12-20 15:34:27 -03:00
CONTRIBUTING.md Replace kusers links with discuss forum link 2018-09-17 15:26:35 -07:00
Gopkg.lock Update go dependencies 2018-10-10 21:46:45 -03:00
Gopkg.toml Update go dependencies 2018-10-10 21:46:45 -03:00
labels.yaml add labels.yaml file 2017-02-09 00:54:30 -05:00
LICENSE Initial commit 2016-11-04 23:54:14 +01:00
Makefile Update nginx image and QEMU version 2018-10-29 11:30:51 -03:00
mkdocs.yml Fix documentation links [skip ci] (#3229) 2018-10-11 22:09:01 -03:00
OWNERS Update OWNERS [skip ci] (#3205) 2018-10-08 15:40:25 -03:00
OWNERS_ALIASES Update OWNERS [skip ci] (#3205) 2018-10-08 15:40:25 -03:00
README.md Replace kusers links with discuss forum link 2018-09-17 15:26:35 -07:00
requirements-docs.txt Update mkdocs 2018-09-13 17:52:15 -03:00
SECURITY_CONTACTS Add security contacts file [ci skip] (#2564) 2018-05-24 10:59:49 -04:00

Help us to improve the NGINX Ingress controller completing the survey


NGINX Ingress Controller

Build Status Coverage Status Go Report Card GitHub license GitHub stars GitHub stars FOSSA Status

Get Involved

  • Contributing: Pull requests are welcome!
    • Read CONTRIBUTING.md and check out help-wanted issues
    • Submit github issues for any feature enhancements, bugs or documentation problems
  • Support: Join to Kubernetes Slack to ask questions to get support from the maintainers and other developers
  • Discuss: Tweet using the #IngressNginx hashtag

Description

This repository contains the NGINX controller built around the Kubernetes Ingress resource that uses ConfigMap to store the NGINX configuration. Make Ingress-Nginx Work for you, and the Community from KubeCon Europe 2018 is a great video to get you started!!

Learn more about using Ingress on k8s.io

What is an Ingress Controller?

Configuring a webserver or loadbalancer is harder than it should be. Most webserver configuration files are very similar. There are some applications that have weird little quirks that tend to throw a wrench in things, but for the most part you can apply the same logic to them and achieve a desired result.

The Ingress resource embodies this idea, and an Ingress controller is meant to handle all the quirks associated with a specific "class" of Ingress.

An Ingress Controller is a daemon, deployed as a Kubernetes Pod, that watches the apiserver's /ingresses endpoint for updates to the Ingress resource. Its job is to satisfy requests for Ingresses.

Documentation

To check out Live Docs

Questions

For questions and support please use the #ingress-nginx channel in the Kubernetes Slack or post to the Kubernetes Forum. The issue list of this repo is exclusively for bug reports and feature requests.

Issues

Please make sure to read the Issue Reporting Checklist before opening an issue. Issues not conforming to the guidelines may be closed immediately.

Changelog

Detailed changes for each release are documented in the Changelog.md

Contribution

Please make sure to read the Contributing Guide before making a pull request.

Thank you to all the people who already contributed to NGINX Ingress Controller!

Code of Conduct

This project adheres to the Kubernetes Community Code of Conduct. By participating in this project you agree to abide by its terms.

License

Apache License 2.0