Merge branch 'upstream' into nginx/extauth_headers
This commit is contained in:
commit
66813229f8
7 changed files with 29 additions and 23 deletions
|
@ -22,10 +22,11 @@ If you're new to the project and want to help, but don't know where to start, we
|
||||||
## Contributing A Patch
|
## Contributing A Patch
|
||||||
|
|
||||||
1. If you haven't already done so, sign a Contributor License Agreement (see details above).
|
1. If you haven't already done so, sign a Contributor License Agreement (see details above).
|
||||||
|
1. Read the [Ingress development guide](docs/dev/README.md)
|
||||||
1. Fork the desired repo, develop and test your code changes.
|
1. Fork the desired repo, develop and test your code changes.
|
||||||
1. Submit a pull request.
|
1. Submit a pull request.
|
||||||
|
|
||||||
All changes must be code reviewed. Coding conventions and standards are explained in the official [developer docs](https://github.com/kubernetes/kubernetes/tree/8a2c639bfb2087a9a89c02d2dc30fcb9bd0846f6/docs/devel). Expect reviewers to request that you avoid common [go style mistakes](https://github.com/golang/go/wiki/CodeReviewComments) in your PRs.
|
All changes must be code reviewed. Coding conventions and standards are explained in the official [developer docs](https://github.com/kubernetes/kubernetes/tree/master/docs/devel). Expect reviewers to request that you avoid common [go style mistakes](https://github.com/golang/go/wiki/CodeReviewComments) in your PRs.
|
||||||
|
|
||||||
### Merge Approval
|
### Merge Approval
|
||||||
|
|
||||||
|
|
|
@ -28,10 +28,10 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
annotation_secureUpstream = "ingress.kubernetes.io/secure-backends"
|
annotationSecureUpstream = "ingress.kubernetes.io/secure-backends"
|
||||||
annotation_upsMaxFails = "ingress.kubernetes.io/upstream-max-fails"
|
annotationUpsMaxFails = "ingress.kubernetes.io/upstream-max-fails"
|
||||||
annotation_upsFailTimeout = "ingress.kubernetes.io/upstream-fail-timeout"
|
annotationUpsFailTimeout = "ingress.kubernetes.io/upstream-fail-timeout"
|
||||||
annotation_passthrough = "ingress.kubernetes.io/ssl-passthrough"
|
annotationPassthrough = "ingress.kubernetes.io/ssl-passthrough"
|
||||||
)
|
)
|
||||||
|
|
||||||
type mockCfg struct {
|
type mockCfg struct {
|
||||||
|
@ -106,9 +106,9 @@ func TestSecureUpstream(t *testing.T) {
|
||||||
annotations map[string]string
|
annotations map[string]string
|
||||||
er bool
|
er bool
|
||||||
}{
|
}{
|
||||||
{map[string]string{annotation_secureUpstream: "true"}, true},
|
{map[string]string{annotationSecureUpstream: "true"}, true},
|
||||||
{map[string]string{annotation_secureUpstream: "false"}, false},
|
{map[string]string{annotationSecureUpstream: "false"}, false},
|
||||||
{map[string]string{annotation_secureUpstream + "_no": "true"}, false},
|
{map[string]string{annotationSecureUpstream + "_no": "true"}, false},
|
||||||
{map[string]string{}, false},
|
{map[string]string{}, false},
|
||||||
{nil, false},
|
{nil, false},
|
||||||
}
|
}
|
||||||
|
@ -131,9 +131,9 @@ func TestHealthCheck(t *testing.T) {
|
||||||
eumf int
|
eumf int
|
||||||
euft int
|
euft int
|
||||||
}{
|
}{
|
||||||
{map[string]string{annotation_upsMaxFails: "3", annotation_upsFailTimeout: "10"}, 3, 10},
|
{map[string]string{annotationUpsMaxFails: "3", annotationUpsFailTimeout: "10"}, 3, 10},
|
||||||
{map[string]string{annotation_upsMaxFails: "3"}, 3, 0},
|
{map[string]string{annotationUpsMaxFails: "3"}, 3, 0},
|
||||||
{map[string]string{annotation_upsFailTimeout: "10"}, 0, 10},
|
{map[string]string{annotationUpsFailTimeout: "10"}, 0, 10},
|
||||||
{map[string]string{}, 0, 0},
|
{map[string]string{}, 0, 0},
|
||||||
{nil, 0, 0},
|
{nil, 0, 0},
|
||||||
}
|
}
|
||||||
|
@ -164,9 +164,9 @@ func TestSSLPassthrough(t *testing.T) {
|
||||||
annotations map[string]string
|
annotations map[string]string
|
||||||
er bool
|
er bool
|
||||||
}{
|
}{
|
||||||
{map[string]string{annotation_passthrough: "true"}, true},
|
{map[string]string{annotationPassthrough: "true"}, true},
|
||||||
{map[string]string{annotation_passthrough: "false"}, false},
|
{map[string]string{annotationPassthrough: "false"}, false},
|
||||||
{map[string]string{annotation_passthrough + "_no": "true"}, false},
|
{map[string]string{annotationPassthrough + "_no": "true"}, false},
|
||||||
{map[string]string{}, false},
|
{map[string]string{}, false},
|
||||||
{nil, false},
|
{nil, false},
|
||||||
}
|
}
|
||||||
|
|
|
@ -620,9 +620,8 @@ func (ic *GenericController) getBackendServers() ([]*ingress.Backend, []*ingress
|
||||||
}
|
}
|
||||||
|
|
||||||
if rule.HTTP == nil &&
|
if rule.HTTP == nil &&
|
||||||
len(ing.Spec.TLS) == 0 &&
|
|
||||||
host != defServerName {
|
host != defServerName {
|
||||||
glog.V(3).Infof("ingress rule %v/%v does not contains HTTP or TLS rules. using default backend", ing.Namespace, ing.Name)
|
glog.V(3).Infof("ingress rule %v/%v does not contains HTTP rules. using default backend", ing.Namespace, ing.Name)
|
||||||
server.Locations[0].Backend = defBackend.Name
|
server.Locations[0].Backend = defBackend.Name
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
@ -976,7 +975,7 @@ func (ic *GenericController) getEndpoints(
|
||||||
port, err := service.GetPortMapping(servicePort.StrVal, s)
|
port, err := service.GetPortMapping(servicePort.StrVal, s)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
targetPort = port
|
targetPort = port
|
||||||
continue
|
break
|
||||||
}
|
}
|
||||||
|
|
||||||
glog.Warningf("error mapping service port: %v", err)
|
glog.Warningf("error mapping service port: %v", err)
|
||||||
|
|
|
@ -38,7 +38,7 @@ func AddOrUpdateCertAndKey(name string, cert, key, ca []byte) (*ingress.SSLCert,
|
||||||
|
|
||||||
tempPemFile, err := ioutil.TempFile(ingress.DefaultSSLDirectory, pemName)
|
tempPemFile, err := ioutil.TempFile(ingress.DefaultSSLDirectory, pemName)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("could not create temp pem file %v: %v", tempPemFile.Name(), err)
|
return nil, fmt.Errorf("could not create temp pem file %v: %v", pemFileName, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
_, err = tempPemFile.Write(cert)
|
_, err = tempPemFile.Write(cert)
|
||||||
|
|
|
@ -4,7 +4,7 @@ This doc explains how to build, test and release ingress controllers.
|
||||||
|
|
||||||
## Building
|
## Building
|
||||||
|
|
||||||
All ingress controllers are build through a Makefile. Depending on your
|
All ingress controllers are built through a Makefile. Depending on your
|
||||||
requirements you can build a raw server binary, a local container image,
|
requirements you can build a raw server binary, a local container image,
|
||||||
or push an image to a remote repository.
|
or push an image to a remote repository.
|
||||||
|
|
||||||
|
@ -76,7 +76,9 @@ $ cd $GOPATH/src/k8s.io/kubernetes
|
||||||
$ ./hack/ginkgo-e2e.sh --ginkgo.focus=Ingress.* --delete-namespace-on-failure=false
|
$ ./hack/ginkgo-e2e.sh --ginkgo.focus=Ingress.* --delete-namespace-on-failure=false
|
||||||
```
|
```
|
||||||
|
|
||||||
TODO: add instructions on running integration tests, or e2e against
|
See also [related FAQs](../faq#how-are-the-ingress-controllers-tested).
|
||||||
|
|
||||||
|
[TODO](https://github.com/kubernetes/ingress/issues/5): add instructions on running integration tests, or e2e against
|
||||||
local-up/minikube.
|
local-up/minikube.
|
||||||
|
|
||||||
## Releasing
|
## Releasing
|
||||||
|
|
|
@ -49,7 +49,7 @@ NAME STATUS AGE VERSION
|
||||||
a sandboxed local cluster. You will first need to [install](https://github.com/kubernetes/minikube/releases)
|
a sandboxed local cluster. You will first need to [install](https://github.com/kubernetes/minikube/releases)
|
||||||
the minikube binary, then bring up a cluster
|
the minikube binary, then bring up a cluster
|
||||||
```console
|
```console
|
||||||
$ minikube up
|
$ minikube start
|
||||||
```
|
```
|
||||||
|
|
||||||
Check for Ready nodes
|
Check for Ready nodes
|
||||||
|
@ -71,12 +71,16 @@ $ minikube addons list
|
||||||
If this list already contains the ingress controller, you don't need to
|
If this list already contains the ingress controller, you don't need to
|
||||||
redeploy it. If the addon controller is disabled, you can enable it with
|
redeploy it. If the addon controller is disabled, you can enable it with
|
||||||
```console
|
```console
|
||||||
$ minikube enable addons ingress
|
$ minikube addons enable ingress
|
||||||
```
|
```
|
||||||
|
|
||||||
If the list *does not* contain the ingress controller, you can either update
|
If the list *does not* contain the ingress controller, you can either update
|
||||||
minikube, or deploy it yourself as shown in the next section.
|
minikube, or deploy it yourself as shown in the next section.
|
||||||
|
|
||||||
|
You may want to consider [using the VM's docker
|
||||||
|
daemon](https://github.com/kubernetes/minikube/blob/master/README.md#reusing-the-docker-daemon)
|
||||||
|
when developing.
|
||||||
|
|
||||||
## Deploy the ingress controller
|
## Deploy the ingress controller
|
||||||
|
|
||||||
You can deploy an ingress controller on the cluster setup in the previous step
|
You can deploy an ingress controller on the cluster setup in the previous step
|
||||||
|
|
|
@ -100,7 +100,7 @@ Testing for the Ingress controllers is divided between:
|
||||||
* Ingress repo: unittests and pre-submit integration tests run via travis
|
* Ingress repo: unittests and pre-submit integration tests run via travis
|
||||||
* Kubernetes repo: [pre-submit e2e](https://k8s-testgrid.appspot.com/google-gce#gce&include-filter-by-regex=Loadbalancing),
|
* Kubernetes repo: [pre-submit e2e](https://k8s-testgrid.appspot.com/google-gce#gce&include-filter-by-regex=Loadbalancing),
|
||||||
[post-merge e2e](https://k8s-testgrid.appspot.com/google-gce#gci-gce-ingress),
|
[post-merge e2e](https://k8s-testgrid.appspot.com/google-gce#gci-gce-ingress),
|
||||||
[per release-branch e2e](https://k8s-testgrid.appspot.com/google-gce#gci-gce-ingress-release-1.5)
|
[per release-branch e2e](https://k8s-testgrid.appspot.com/google-gce#gci-gce-ingress-1.5)
|
||||||
|
|
||||||
The configuration for jenkins e2e tests are located [here](https://github.com/kubernetes/test-infra).
|
The configuration for jenkins e2e tests are located [here](https://github.com/kubernetes/test-infra).
|
||||||
The Ingress E2Es are located [here](https://github.com/kubernetes/kubernetes/blob/master/test/e2e/ingress.go),
|
The Ingress E2Es are located [here](https://github.com/kubernetes/kubernetes/blob/master/test/e2e/ingress.go),
|
||||||
|
|
Loading…
Reference in a new issue