Skip to content

Commit

Permalink
rebse from master (#1)
Browse files Browse the repository at this point in the history
* update GKE header to match link in contents

* extract common logic into a helper

* do not repeat cert verification against root ca

* clean up certificate processing

* adjust unit tests

* bugfix: when secret includes ca.crt store it on disk even in dynamic cert mode

* fix function comment

* Allow the use of a secret located in a different namespace

* Refactor status update

* Fix status tests

* Add promehteus metric about leader election status

* Use full election leader ID

* Fix documentation

* Remove useless nodeip call and deprecate --force-namespace-isolation

* Improve text, error level, tests...

* Only the leader updates metrics for SSL certificate expiration

* Force travis rebuild

* Improve kubectl plugin

* Separate out annotation assignment logic

* Make sure cli-arguments doc is in alphabetical order

* Remove sort-backends flag from cli docs

* Correctly format ipv6 resolver config for lua

Fixes kubernetes#3881

* enable dynamic SSL mode by default

* Improve "Sticky sessions" documentation page

* Remove unnecessary copy of GeoIP databases

* Update nginx image

* Migrate e2e cluster to kind

* Add support for IPV6 resolvers

* Set `X-Request-ID` for the `default-backend`, too.

* Aligned to `golint`

* Add lint subcommand

* Update apiVersion to apps/v1, drop duplicate line

* Update nginx to 1.15.10

* Update nginx image

* Fix dynamic SSL certificate for aliases and redirect-from-to-www

* Update dependencies client-go to release-11.0 and kubernetes-1.14.0

* Update go dependencies

* fix typo: delete '`'

fix typo: delete '`'

* Adds a log warning when falling back to default fake cert

* Simplify x-forwarded-prefix annotation

* Fix e2e-tests

* Add plugin lint for this change

* replace some of the Nginx configuration to Lua code

* properly parse x-forwarded-host

* Fix load-balance configmap value

* Plugin select deployment using replicaset name

* Fix segfault on reference to nonexistent configmap

* Refactor equals

* lua plugin system

* Proper use of quotes for running the command

$1 on a shell has a special meaning and inside of double quotes (") it will be expaned to an empty string. Using single quotes fixes the issue.

* Update nginx image (kubernetes#3968)

* Update nginx image to 0.84 (kubernetes#3969)

* Release 0.24.0

* Update yaml files to 0.24.0 [skip-ci] (kubernetes#3975)

* Fix CA certificate example docs

* Refactor isIterable

* Add missing PR in changelog [skip ci] (kubernetes#3981)

* Add kubectl plugin docs

* Link to kubectl plugin docs in nav

* fix custom default backend test title

* regression test for dynamic cert related default-certificate issue

* fix dynamic cert bug

* Update README.md

* Remove valgrind

* better logging in certificate.lua

* properly handle default and custom default certs in dynamic ssl mode

* handle default certificate correctly in Lua

* better certificate lua unit tests

* adjust default ssl cert e2e test

* fix luacheck warning

* do not create empty access_by_lua_block

* make sure unit test create fakecertificate

* Release 0.24.1

* refactor GetFakeSSLCert

* Switch to go modules

* Support proxy_next_upstream_timeout

* Add homepage and .exe to plugin

* Update nginx to 1.15.12

* Update nginx image and Go to 1.12.4 (kubernetes#4010)

* add e2e coverage for multi auth

* Implement a validation webhook

In case some ingress have a syntax error in the snippet configuration,
the freshly generated configuration will not be reloaded to prevent tearing down existing rules.
Although, once inserted, this configuration is preventing from any other valid configuration to be inserted as it remains in the ingresses of the cluster.
To solve this problem, implement an optional validation webhook that simulates the addition of the ingress to be added together with the rest of ingresses.
In case the generated configuration is not validated by nginx, deny the insertion of the ingress.

In case certificates are mounted using kubernetes secrets, when those
changes, keys are automatically updated in the container volume, and the
controller reloads it using the filewatcher.

Related changes:

- Update vendors
- Extract useful functions to check configuration with an additional ingress
- Update documentation for validating webhook
- Add validating webhook examples
- Add a metric for each syntax check success and errors
- Add more certificate generation examples

* 🔧 fix navigation error in file baremetal.md

Signed-off-by: William Zhang <[email protected]>

* Docs have incorrect command in baremetal.md

The output shown is for `kubectl get node` and not `kubectl describe node`.

I've updated the docs to use the correct command.

* [doc] fixing regex in example of rewrite

avoids /somethingfoo to be matched by regex

Signed-off-by: Marcos Estevez <[email protected]>

* Fix default Content-Type for custom-error-pages example

This should fix issue [4039](kubernetes#4039). This default backend fails to send the correct `Content-Type` header when it fails to decode the `Accept` request header.

This patch simply forces `text/html` in that specific scenario.

* Release custom error pages image v0.4 [skip-ci] (kubernetes#4042)

* Added Global External Authentication settings to configmap parameters incl. addons

* Fixed typos

* Update go to 1.12.5, kubectl to 1.14.1 and kind to 0.2.1 (kubernetes#4064)

* Trim spaces from annotations that can contain multiple lines

* fix e2e-test make target

- explicitly wait for api token
- only use posix shell conditionals

* fix typo: deployement->deployment

* Don't try to create e2e runner rbac resources twice

* load modsecurity.conf on ModSecurity.Enable

* Explain references in custom-headers documentation

Augment description of custom-headers behavior. Explain the purpose of the two configmaps, making explicit that one cites the other by `namespace/name`. Link the two example yaml files, so they're more easily navigated to from a browser looking at https://kubernetes.github.io/ingress-nginx/examples/customization/custom-headers/

Campfire: grammar, standard installation is in the `ingress-nginx` namespace.

* Add image for prow jobs

* Run tests with only one worker

* Add option to run scripts in debug mode

* Refactor scripts to run e2e tests

* Update generated code

* Add dependencies for code generator

* Docs: configmap: use-gzip

Move the "gzip-types" value default from the "use-gzip" to the "gzip-types"
heading, and link to it from use-gzip.

Document that the "use-gzip" default is "true", matching the style of other
configmap items.

* Cleanup

* Add binaries required by kubernetes-sigs/testing_frameworks

* Allow to use a custom k8s version in e2e tests

* Update configmap about adding custom locations

* Remove stop controller endpoint

* Docs - Update capture group `placeholder`

The current ingress example uses the `$2` capture group placeholder, however the description refers to the `$1` placeholder (this was previously correct, but was not updated when the ingress example changed from $1 to $2).

* reduce memory footprint and cpu usage when modsecurity and owasp rules are enabled globally

* Rearrange deployment files into kustomizations

* UPT: Add variable to define custom sampler host and port, add commituser

* UPT: Modify configmap to include jaeger sampler host and jaeger sampler port

* UPT: Opentracing configmap  documentation

* Clear up some inconsistent / unclear wording

IPv6 enabled/disabled working was confusing or contradicting itself. This updates the wording to what is expected, based on the default values in the table above, and the behaviour that I could find in code.

* Refactor ListIngresses to add filters

* Use a real apiserver to test the store

* Update go dependencies

* Add retry to  LookupHost used to check the content of ExternalName

* Update e2e images (kubernetes#4110)

* Force GOOS to linux

* log info when endpoints change for a balancer

* updated nginx and some other modules

* Update nginx image to 0.86

* use nkeys for counting lua table elements

* Refactor whitelist from map to standard allow directives

* Added support for annotation `session-cookie-change-on-failure`

1. Session cookie is updated on previous attempt failure when `session-cookie-change-on-failure = true` (default value is `false`).
2. Added tests to check both cases.
3. Updated docs.

Co-Authored-By: Vladimir Grishin <[email protected]>

* Refactor e2e test

* feature(collectors): Added services to collectorLabels and requests Countervec to capture the name of the kubernetes service used to serve the client request.

* Update README.md for external-auth Test 4

Title for Test 4 should be `secure service with valid auth header`. The current one is the same as Test 3.

* Use apps/v1 api group in e2e tests

* Run PodSecurityPolicy E2E test in parallel

Previously, this test modified a ClusterRole used by _every_ test.  It had to be run serially, with a special teardown function that restored the state of the ClusterRole for any other serial tests.

Now every test gets its own cluster role, which means this test can be safely run in parallel with all the others, without any special teardown.

* update modsecurity to latest, libmodsecurity to v3.0.3 and owasp-scrs to v3.1.0 (kubernetes#4140)

* Update nginx (kubernetes#4150)

* Update nginx image
* Fix IPV6 test issues in Prow

* Add clarification on how to enable path matching

The fact that you need to explicitly add the annotation is easy to miss.
This makes this more explicit, while leaving the finer details to the
linked annotations document.

* Partially revert usage of kustomize for installation (kubernetes#4159)

* SSL expiration metrics cannot be tied to dynamic updates

* fix source file mods

* Session Affinity ChangeOnFailure should be boolean

* Add "text/javascript" to compressible MIME types

Based on the HTML Standard, https://html.spec.whatwg.org/multipage/scripting.html#scriptingLanguages, servers _should_ use `text/javascript`.

* simplify sticky balancer

* bugfix: check all previously failing upstreams, not just the last one

* Add unit test case for balancer.route_to_alternative_balancer()

* Add unit test case for canary by weight

* Add unit test case for canary by cookie

* Add unit test case for canary by header

* Only load modsecurity_module when ModSec is active

* increase lua_shared_dict config data

* Fix: fillout missing health check timeout on health check.

* Migrate to new networking.k8s.io/v1beta1 package

* Update go dependencies

* Add e2e test for service type=ExternalName
  • Loading branch information
morganwu277 authored Jun 20, 2019
1 parent 65b7e92 commit f68b391
Show file tree
Hide file tree
Showing 5,769 changed files with 579,854 additions and 569,259 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
8 changes: 8 additions & 0 deletions .codecov.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
coverage:
status:
project:
default:
target: 40%
threshold: null
patch: false
changes: false
5 changes: 2 additions & 3 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
<!-- Thanks for sending a pull request! Here are some tips for you:
1. If this is your first time, read our contributor guidelines https://git.k8s.io/community/contributors/devel/pull-requests.md#the-pr-submit-process and developer guide https://git.k8s.io/community/contributors/devel/development.md#development-guide
2. If you want *faster* PR reviews, read how: https://git.k8s.io/community/contributors/devel/pull-requests.md#best-practices-for-faster-reviews
3. Follow the instructions for writing a release note: https://git.k8s.io/community/contributors/devel/pull-requests.md#write-release-notes-if-needed
1. If this is your first time, read our contributor guidelines https://git.k8s.io/community/contributors/guide/pull-requests.md#the-pull-request-submit-process and developer guide https://git.k8s.io/community/contributors/devel/development.md#development-guide
2. If you want *faster* PR reviews, read how: https://git.k8s.io/community/contributors/guide/pull-requests.md#best-practices-for-faster-reviews
-->

**What this PR does / why we need it**:
Expand Down
17 changes: 17 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,20 @@ Session.vim
/gover.coverprofile

e2e-tests

coverage.txt
test/e2e/e2e\.test

# mkdocs
site

# temporal github pages
gh-pages

# Docker-based builds
/test/binaries
/.env
/.gocache/
/bin/

test/e2e-image/wait-for-nginx\.sh
10 changes: 10 additions & 0 deletions .luacheckrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
std = 'ngx_lua'
globals = {
'_TEST'
}
exclude_files = {'./rootfs/etc/nginx/lua/test/**/*.lua'}
files["rootfs/etc/nginx/lua/lua_ingress.lua"] = {
ignore = { "122" },
-- TODO(elvinefendi) figure out why this does not work
--read_globals = {"math.randomseed"},
}
67 changes: 11 additions & 56 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,70 +5,25 @@ sudo: required
services:
- docker

language: go
language: generic

notifications:
email:
on_failure: always
on_success: never

go:
- 1.9.2

go_import_path: k8s.io/ingress-nginx

# New secure variables can be added using travis encrypt -r kubernetes/ingress-nginx --add K=V
# New secure variables can be added using travis encrypt -r kubernetes/ingress-nginx --add K=V
env:
global:
- CHANGE_MINIKUBE_NONE_USER=true
- KUBERNETES_VERSION=v1.8.0
- DOCKER=docker
- secure: LIS2XpZufWTcJ53jiRsSZy2Gi1EUJ1XmLg7z3f2ZHeMnyG2Jhk3GW4vod1FNru+PY4PWgddLdCdIl+jqOYXndFlbdAWF3/Oy5fEkYLXdYV7tdlHcPWDkqNFrfiyZ4guChN+b2Nk6FqU7o5fsZAIR7VAbgqNRF5XMo9Mhn/vhDCQRcnbXy7uq7JTrYUkqDbQoyYvT6b480GCY5gags1zp/xZfPDNZEe936o8i5IPTyiykRyNOXN/AH6kd3pR5e1xYgcvJ9KpSVPghcwFE7kJ4fOVMRhRG5ML+IyML+xD0jX43EMNoqRKZ/HS42kIMCInFbJEcxVde7DPNBZ7Y3GAqh7HO6qrE70Dn3ha6DID6zCoH2ArW39BxG4zempjn2VxYoMRGREyZszWQb++dwGoHmo5FHt6zvIrYBG0dA0H8ja9VkZkjFwtYTGHU1ooPzUfJK4O4VBayV8LqZibyZQR+GrmyQc0aagUY7J/fe4A2PJyI4DbkeZ7GX1ELj0ciDz4urQSzUc8l/T3aU3X+FuJItjgYtMLPmqcjA5uifDCtutE8Z9L2gSpanqUdvLSOozuxPho/KNl+2YlF7fXqPW3LnRf5mHD+NbOff306pvKlHJOb2Vmth+HBQ1XDzt/Cy5+sfwS3E0Vmh6UTq/NtkUXxwH10BDMF7FMVlQ4zdHQvyZ0=
- secure: rKDoy9IYYYy0fYBs4+9mwuBVq/TcxfFwMfE0ywYWhUUdgzrUYSJAwpoe/96EQ4YmESUefwC2nDNq4G3XzJKYOWf83PaIveb9Z//zmMrCQXjDuDBDLpwV3sXSh7evXiVDohJz4ogBCeMRUCMKYsyKBM9yWfa/iu+yI92dbphpK9peOKW6yBc0uspJlln4swN3GS2WT9LVuPY2Azv9U2UqrXufOPDKG/qEb/Vrn4yZ2lR/50r2k45e9nSvDoByvr10V8ubM5Zc0iP0vBuAUVRdByv6N53Q4gaBGapY6SxhIjIPC/h0rNnuT9EXp7MWaPT5FmBxLt9wnyleT9QhZJnFyaBYqFgcz/DKifYQkryY4M5dLMo/Rt3yATyAy8Y0df1TOoV2dKdqwOOwQ8bXB1wDfyrGxmQj9HY4Ffnphx3wPE1a+Sjuh+S5Epm7XJbPx5pZJqNO2hd4sTbk0Xp3gpPbihny2r/jtNwHl0wpFCfOM68RNrsVRlIwG3UhzbZvblbQ/M/mmWCdgzINjt07I2SGCJxfKG0e98Q49SKUoDoOgQTTRDqTC9IgOEDxyfAkT0Vr6BtlP88Nsgnf6kmboyigBrRAiaDQGTxn3SP6LnQI3CeopaRDYvFZe/rTwPXE9XlKoTn9FTWnAqF3MuWaLslDcDKYEh7OaYJjF01piu6g4Nc=
- secure: qCCk7HIEnOph2q8mQ55MKS2MM0RSpCbwDZx7csF6NHRr5khVRyhg2r8jN0iUW+peoAChRYV91YOnl5v8K49O38IEQpzgADixiLu4VPFcYddwKrtTJF+AGvFGzBKtqDksRuUTqfJ+PdxGnO9iNkS0MFzF1ImSQGp1QfkegC8wSrZF8svAedjNOC9XV+FX0tTyj14eTSy3KUYafIyuhjG+nSjhlQxAI1Tq4EClcTZOzAIYNhkeZ4Gcu1nHPQMTQT5AQgRAhG8i7rNKfghqX8OccKNWUhvFB3eOFFf4dlb02IA2L/b8Fl4NnZpyAWcwF+CBZrzQoFARBE1xIvGfaNa9i6noyrpJ/g+0g7EyKgTsixaQInBmZ7ECVpQkSO+/3leWfwssZs7H4cqy2HeXH6dkE+JUeI0WDjYV7YwdVNoFm8wXszDu+MCQTGXJ4moO4F/jMvY4w+tNo8ISJiNZ/+uQaIlPaijCdwu9FPvAY59lJXORGVHd1Fq2pKkGkNjQVHtu9BH7ufO1fX5a6FtYbclMwm7w9BE5jnJNoP+y8Yq0bVwbGONSUFTyMWCbSCYDsyUPzmaZLkFpZPbnJua5y9c1x0/OYijNizBW0UVQDZauortsTPzwYlZ1J7TywVtpUEoI8CGuUb2QEWh+O/IwrogtiKvFtPrrYakIwV/lr7mO294=
- GH_REF=github.com/kubernetes/ingress-nginx
- secure: LIS2XpZufWTcJ53jiRsSZy2Gi1EUJ1XmLg7z3f2ZHeMnyG2Jhk3GW4vod1FNru+PY4PWgddLdCdIl+jqOYXndFlbdAWF3/Oy5fEkYLXdYV7tdlHcPWDkqNFrfiyZ4guChN+b2Nk6FqU7o5fsZAIR7VAbgqNRF5XMo9Mhn/vhDCQRcnbXy7uq7JTrYUkqDbQoyYvT6b480GCY5gags1zp/xZfPDNZEe936o8i5IPTyiykRyNOXN/AH6kd3pR5e1xYgcvJ9KpSVPghcwFE7kJ4fOVMRhRG5ML+IyML+xD0jX43EMNoqRKZ/HS42kIMCInFbJEcxVde7DPNBZ7Y3GAqh7HO6qrE70Dn3ha6DID6zCoH2ArW39BxG4zempjn2VxYoMRGREyZszWQb++dwGoHmo5FHt6zvIrYBG0dA0H8ja9VkZkjFwtYTGHU1ooPzUfJK4O4VBayV8LqZibyZQR+GrmyQc0aagUY7J/fe4A2PJyI4DbkeZ7GX1ELj0ciDz4urQSzUc8l/T3aU3X+FuJItjgYtMLPmqcjA5uifDCtutE8Z9L2gSpanqUdvLSOozuxPho/KNl+2YlF7fXqPW3LnRf5mHD+NbOff306pvKlHJOb2Vmth+HBQ1XDzt/Cy5+sfwS3E0Vmh6UTq/NtkUXxwH10BDMF7FMVlQ4zdHQvyZ0=
- secure: rKDoy9IYYYy0fYBs4+9mwuBVq/TcxfFwMfE0ywYWhUUdgzrUYSJAwpoe/96EQ4YmESUefwC2nDNq4G3XzJKYOWf83PaIveb9Z//zmMrCQXjDuDBDLpwV3sXSh7evXiVDohJz4ogBCeMRUCMKYsyKBM9yWfa/iu+yI92dbphpK9peOKW6yBc0uspJlln4swN3GS2WT9LVuPY2Azv9U2UqrXufOPDKG/qEb/Vrn4yZ2lR/50r2k45e9nSvDoByvr10V8ubM5Zc0iP0vBuAUVRdByv6N53Q4gaBGapY6SxhIjIPC/h0rNnuT9EXp7MWaPT5FmBxLt9wnyleT9QhZJnFyaBYqFgcz/DKifYQkryY4M5dLMo/Rt3yATyAy8Y0df1TOoV2dKdqwOOwQ8bXB1wDfyrGxmQj9HY4Ffnphx3wPE1a+Sjuh+S5Epm7XJbPx5pZJqNO2hd4sTbk0Xp3gpPbihny2r/jtNwHl0wpFCfOM68RNrsVRlIwG3UhzbZvblbQ/M/mmWCdgzINjt07I2SGCJxfKG0e98Q49SKUoDoOgQTTRDqTC9IgOEDxyfAkT0Vr6BtlP88Nsgnf6kmboyigBrRAiaDQGTxn3SP6LnQI3CeopaRDYvFZe/rTwPXE9XlKoTn9FTWnAqF3MuWaLslDcDKYEh7OaYJjF01piu6g4Nc=
- secure: qCCk7HIEnOph2q8mQ55MKS2MM0RSpCbwDZx7csF6NHRr5khVRyhg2r8jN0iUW+peoAChRYV91YOnl5v8K49O38IEQpzgADixiLu4VPFcYddwKrtTJF+AGvFGzBKtqDksRuUTqfJ+PdxGnO9iNkS0MFzF1ImSQGp1QfkegC8wSrZF8svAedjNOC9XV+FX0tTyj14eTSy3KUYafIyuhjG+nSjhlQxAI1Tq4EClcTZOzAIYNhkeZ4Gcu1nHPQMTQT5AQgRAhG8i7rNKfghqX8OccKNWUhvFB3eOFFf4dlb02IA2L/b8Fl4NnZpyAWcwF+CBZrzQoFARBE1xIvGfaNa9i6noyrpJ/g+0g7EyKgTsixaQInBmZ7ECVpQkSO+/3leWfwssZs7H4cqy2HeXH6dkE+JUeI0WDjYV7YwdVNoFm8wXszDu+MCQTGXJ4moO4F/jMvY4w+tNo8ISJiNZ/+uQaIlPaijCdwu9FPvAY59lJXORGVHd1Fq2pKkGkNjQVHtu9BH7ufO1fX5a6FtYbclMwm7w9BE5jnJNoP+y8Yq0bVwbGONSUFTyMWCbSCYDsyUPzmaZLkFpZPbnJua5y9c1x0/OYijNizBW0UVQDZauortsTPzwYlZ1J7TywVtpUEoI8CGuUb2QEWh+O/IwrogtiKvFtPrrYakIwV/lr7mO294=
- secure: ZZlcwdr4X2ZeIuA4f5wiT04qNCpSiNQb9d3dITG7MdtxIpiC1mi9rUFAkMDDlNjKumHO82O/a/X4RYKjXny7eixeHl5lgQ++IV9APwvWfsCiREFhiQFspfL+j0d9sZ5I4pfyPC671984We1T4G+ltuMcN3nQdPm3mP4xPT3h0IBQ9iAHonKck0TdLieNZ47vPPB8C8oxbx5NpdW8aSfQJGo3bFGiXNxWWFZ4P7BsMBDrBZaXuh0rAml/0nCJBGohgSqC8h/UObBOHeehEWnF1zzfQPRezHwVkUaMf2+xQtLGhB5rPjFhBKX0C/JZeqDgHEQ0auC2bLbfG5QCYQauy7jCq5kc6XPT7xFxCUd/sS7Wu2gg6KcgFeTE+Rnn4KWFZx2jMP2EPQYP2+LrM/VbfY1HW4QkpIkPVSFBatciuePUnIkEX6+jVM+GEZOhOOEqZ89zwjsGpa2GkFAJrwX/dphXXtn6oS20mLbu1kqocWTbGUJl/fYztTxCdOt/NoH/hiQMxy+TOGFF3Dx85MJiMUOlgk/NbPqUwBn5RbuD71L69vFZZLpU09V4PuablWW8ACQxgp8BMeqLhaLRn/I3r0ntRc8AdQ1xubPlrVWO9DDbhGfj44YPNoLUAC/7QHkRyCbP98Yv2FTXrJFcx9isA2viFx2UxzTsvXcAKHbCSAw=

jobs:
include:
- stage: Static Check
script:
- go get github.com/golang/lint/golint
- make fmt lint vet
- stage: Coverage
before_script:
# start minikube
- test/e2e/up.sh
script:
- go get github.com/mattn/goveralls
- go get github.com/modocache/gover
- if ! go get github.com/golang/tools/cmd/cover; then go get golang.org/x/tools/cmd/cover;fi
- if ! go get github.com/jteeuwen/go-bindata/...; then github.com/jteeuwen/go-bindata/...;fi
- make cover
- stage: e2e
before_script:
- if ! go get github.com/jteeuwen/go-bindata/...; then github.com/jteeuwen/go-bindata/...;fi
- make e2e-image
- test/e2e/up.sh
- test/e2e/wait-for-nginx.sh
script:
- make e2e-test
# split builds to avoid job timeouts
- stage: publish amd64
if: type = api AND branch = master AND repo = kubernetes/ingress-nginx
script:
- ARCH=amd64 .travis/publish.sh
- stage: publish arm
if: type = api AND branch = master AND repo = kubernetes/ingress-nginx
script:
- ARCH=arm .travis/publish.sh
- stage: publish arm64
if: type = api AND branch = master AND repo = kubernetes/ingress-nginx
script:
- ARCH=arm64 .travis/publish.sh
- stage: publish ppc64le
if: type = api AND branch = master AND repo = kubernetes/ingress-nginx
script:
- ARCH=ppc64le .travis/publish.sh
- stage: publish s390x
if: type = api AND branch = master AND repo = kubernetes/ingress-nginx
script:
- ARCH=s390x .travis/publish.sh
- stage: Publish docs
if: type = api AND branch = master AND repo = kubernetes/ingress-nginx AND env(COMPONENT) = "docs"
script:
- .travis/publish-docs.sh
2 changes: 1 addition & 1 deletion .travis/common.sh
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ fi
function docker_tag_exists() {
TAG=${2//\"/}
IMAGES=$(curl -s -H "Authorization: Bearer ${QUAY_PASSWORD}" https://quay.io/api/v1/repository/$1-$3/image/ | jq '.images | sort_by(.sort_index) | .[] .tags | select(.[] !=null) | .[0]' | sed s/\"//g)
if echo "$IMAGES" | grep -q "$TAG" ; then
if echo "$IMAGES" | grep -q -P "(^|\s)$TAG(?=\s|$)" ; then
return 0
fi

Expand Down
30 changes: 0 additions & 30 deletions .travis/ingress-controller.sh

This file was deleted.

30 changes: 0 additions & 30 deletions .travis/nginx.sh

This file was deleted.

45 changes: 45 additions & 0 deletions .travis/publish-docs.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
#!/usr/bin/env bash

# Copyright 2018 The Kubernetes Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

set -o errexit
set -o pipefail

if ! [ -z $DEBUG ]; then
set -x
fi

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

if [ "$COMPONENT" != "docs" ]; then
echo "This task runs only to publish docs"
exit 0
fi

make -C ${DIR}/.. build-docs

git config --global user.email "[email protected]"
git config --global user.name "Travis Bot"

git clone --branch=gh-pages --depth=1 https://${GH_REF} ${DIR}/gh-pages
cd ${DIR}/gh-pages

git rm -r .

cp -r ${DIR}/../site/* .

git add .
git commit -m "Deploy GitHub Pages"
git push --force --quiet "https://${GH_TOKEN}@${GH_REF}" gh-pages > /dev/null 2>&1
35 changes: 0 additions & 35 deletions .travis/publish.sh

This file was deleted.

67 changes: 0 additions & 67 deletions .travis/release-from-travis.sh

This file was deleted.

8 changes: 4 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
# Contributing Guidelines

Read the following guide if you're interested in contributing to Ingress.
Read the following guide if you're interested in contributing to Ingress. [Make Ingress-Nginx Work for you, and the Community](https://youtu.be/GDm-7BlmPPg) from KubeCon Europe 2018 is a great video to get you started!!

## Contributor License Agreements

We'd love to accept your patches! Before we can take them, we have to jump a couple of legal hurdles.

Please fill out either the individual or corporate Contributor License Agreement (CLA).

* If you are an individual writing original source code and you're sure you own the intellectual property, then you'll need to sign an [individual CLA](http://code.google.com/legal/individual-cla-v1.0.html).
* If you work for a company that wants to allow you to contribute your work, then you'll need to sign a [corporate CLA](http://code.google.com/legal/corporate-cla-v1.0.html).
* If you are an individual writing original source code and you're sure you own the intellectual property, then you'll need to sign an [individual CLA](https://identity.linuxfoundation.org/projects/cncf).
* If you work for a company that wants to allow you to contribute your work, then you'll need to sign a [corporate CLA](https://identity.linuxfoundation.org/node/285/organization-signup).

Follow either of the two links above to access the appropriate CLA and instructions for how to sign and return it. Once we receive it, we'll be able to accept your pull requests.

Expand Down Expand Up @@ -38,6 +38,6 @@ Whether you are a user or contributor, official support channels include:

- GitHub issues: https://github.com/kubernetes/ingress-nginx/issues/new
- Slack: kubernetes-users room in the [Kubernetes Slack](http://slack.kubernetes.io/)
- Email: [kubernetes-users](https://groups.google.com/forum/#!forum/kubernetes-users) mailing list
- Post: [Kubernetes Forum](https://discuss.kubernetes.io)

Before opening a new issue or submitting a new pull request, it's helpful to search the project - it's likely that another user has already reported the issue you're facing, or it's a known issue that we're already aware of.
Loading

0 comments on commit f68b391

Please sign in to comment.