Nicolas Duchon
a4ced5b8bd
test: revert "Fix test" and "Sleep longer"
...
This reverts commit 5174495963
.
This reverts commit 33ceec07d8
.
2023-12-24 00:16:40 +01:00
Niek
33ceec07d8
Sleep longer
2023-12-22 17:50:09 +01:00
Niek
5174495963
Fix test
2023-12-22 17:19:42 +01:00
Niek
c338a7cf22
Color terminal output
2023-12-22 14:37:20 +01:00
Gilles Filippini
9e77e81e7d
Tests: support custom 'docker compose' command
...
Enable overriding default 'docker compose' command with environment variable
'DOCKER_COMPOSE'. This way docker compose v1 is still supported with:
$ DOCKER_COMPOSE=docker-compose pytest
This is important because people using the Debian packaged docker compose
are stuck to v1.
2023-12-20 09:30:06 +01:00
Gilles Filippini
5d2f51dfe2
Fix test case assertion depending on python version
2023-12-19 21:31:19 +01:00
Nicolas Duchon
7d44f98e4f
test: remove unused import
2023-12-12 22:16:32 +01:00
dependabot[bot]
c1617a6fac
ci: bump docker from 6.1.3 to 7.0.0 in /test/requirements
...
Bumps [docker](https://github.com/docker/docker-py ) from 6.1.3 to 7.0.0.
- [Release notes](https://github.com/docker/docker-py/releases )
- [Commits](https://github.com/docker/docker-py/compare/6.1.3...7.0.0 )
---
updated-dependencies:
- dependency-name: docker
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-12-12 21:07:53 +00:00
Nicolas Duchon
c4cf0af373
test: fix failing tests
2023-12-12 21:56:27 +01:00
Nicolas Duchon
060f09cfce
ci: ensure all compose files are valid compose v2 + formatting
2023-12-12 21:56:27 +01:00
Nicolas Duchon
b5cac06305
ci: remove python docker-compose
2023-12-12 21:56:24 +01:00
Nicolas Duchon
c4cb1c3797
test: tests for HTTP/3
...
Co-authored-by: Nicolas Duchon <nicolas.duchon@gmail.com>
Co-authored-by: Niek <100143256+SchoNie@users.noreply.github.com>
2023-12-08 00:48:08 +01:00
Nicolas Duchon
7ca3769a39
Merge pull request #2322 from nginx-proxy/dependabot/docker/nginx-1.25.3-alpine
...
build: bump nginx from 1.25.2-alpine to 1.25.3-alpine
2023-12-08 00:47:06 +01:00
dependabot[bot]
3f764a5f84
build: bump nginx from 1.25.2-alpine to 1.25.3-alpine
...
Bumps nginx from 1.25.2-alpine to 1.25.3-alpine.
---
updated-dependencies:
- dependency-name: nginx
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-12-08 00:28:25 +01:00
dependabot[bot]
94259dd22c
ci: bump pytest from 7.4.1 to 7.4.3 in /test/requirements
...
Bumps [pytest](https://github.com/pytest-dev/pytest ) from 7.4.1 to 7.4.3.
- [Release notes](https://github.com/pytest-dev/pytest/releases )
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pytest-dev/pytest/compare/7.4.1...7.4.3 )
---
updated-dependencies:
- dependency-name: pytest
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-10-30 04:38:05 +00:00
dependabot[bot]
39fb91675f
ci: bump pytest from 7.4.0 to 7.4.1 in /test/requirements
...
Bumps [pytest](https://github.com/pytest-dev/pytest ) from 7.4.0 to 7.4.1.
- [Release notes](https://github.com/pytest-dev/pytest/releases )
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pytest-dev/pytest/compare/7.4.0...7.4.1 )
---
updated-dependencies:
- dependency-name: pytest
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-09-04 04:53:51 +00:00
Niek
0cbc998381
Bump create_server_certificate.sh to nginx:1.25.1
2023-07-31 13:04:19 +02:00
dependabot[bot]
f878cd8c04
ci: bump pytest from 7.3.2 to 7.4.0 in /test/requirements
...
Bumps [pytest](https://github.com/pytest-dev/pytest ) from 7.3.2 to 7.4.0.
- [Release notes](https://github.com/pytest-dev/pytest/releases )
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pytest-dev/pytest/compare/7.3.2...7.4.0 )
---
updated-dependencies:
- dependency-name: pytest
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-06-26 04:58:03 +00:00
dependabot[bot]
893eefc99d
ci: bump pytest from 7.3.1 to 7.3.2 in /test/requirements
...
Bumps [pytest](https://github.com/pytest-dev/pytest ) from 7.3.1 to 7.3.2.
- [Release notes](https://github.com/pytest-dev/pytest/releases )
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pytest-dev/pytest/compare/7.3.1...7.3.2 )
---
updated-dependencies:
- dependency-name: pytest
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-06-12 04:57:57 +00:00
Nicolas Duchon
c1a2b31f35
Merge pull request #2222 from rot169/support-hostnet-containers
...
Support containers running --net=host (#1537 )
2023-06-07 07:55:28 +02:00
dependabot[bot]
bebb3bba86
ci: bump docker from 6.1.2 to 6.1.3 in /test/requirements
...
Bumps [docker](https://github.com/docker/docker-py ) from 6.1.2 to 6.1.3.
- [Release notes](https://github.com/docker/docker-py/releases )
- [Commits](https://github.com/docker/docker-py/compare/6.1.2...6.1.3 )
---
updated-dependencies:
- dependency-name: docker
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-06-05 04:57:33 +00:00
Nicolas Duchon
b382d0bbb6
Merge pull request #2250 from SaturnIC-Forks/main
...
fix: Replace mDNS .local domain with .internal domain
2023-05-30 07:28:13 +02:00
dependabot[bot]
e34d00f42c
ci: bump requests from 2.30.0 to 2.31.0 in /test/requirements
...
Bumps [requests](https://github.com/psf/requests ) from 2.30.0 to 2.31.0.
- [Release notes](https://github.com/psf/requests/releases )
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md )
- [Commits](https://github.com/psf/requests/compare/v2.30.0...v2.31.0 )
---
updated-dependencies:
- dependency-name: requests
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-05-29 04:57:57 +00:00
SaturnIC
13eb61a639
fix: Replace mDNS .local domain with .example domain
...
See RFC 6762 for details on mDNS .local domain: https://datatracker.ietf.org/doc/html/rfc6762
And RFC 6761 for details on .example domain: https://datatracker.ietf.org/doc/html/rfc6761
2023-05-23 09:43:30 +02:00
dependabot[bot]
bd5816b705
ci: bump docker from 6.1.1 to 6.1.2 in /test/requirements
...
Bumps [docker](https://github.com/docker/docker-py ) from 6.1.1 to 6.1.2.
- [Release notes](https://github.com/docker/docker-py/releases )
- [Commits](https://github.com/docker/docker-py/compare/6.1.1...6.1.2 )
---
updated-dependencies:
- dependency-name: docker
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-05-15 04:58:28 +00:00
Nicolas Duchon
35b1493e16
feat: support proxy + container in host network mode
2023-05-09 19:31:42 +02:00
Nicolas Duchon
b88d33d2f3
feat: handle multiple proxy networks
2023-05-09 00:58:05 +02:00
Nicolas Duchon
2b621599ff
test: fix wildcard_certs_and_nohttps test
2023-05-08 21:20:47 +02:00
dependabot[bot]
faad1cc29e
ci: bump requests from 2.29.0 to 2.30.0 in /test/requirements
...
Bumps [requests](https://github.com/psf/requests ) from 2.29.0 to 2.30.0.
- [Release notes](https://github.com/psf/requests/releases )
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md )
- [Commits](https://github.com/psf/requests/compare/v2.29.0...v2.30.0 )
---
updated-dependencies:
- dependency-name: requests
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-05-08 10:48:18 +00:00
dependabot[bot]
28fef687ad
ci: bump docker from 6.0.1 to 6.1.1 in /test/requirements
...
Bumps [docker](https://github.com/docker/docker-py ) from 6.0.1 to 6.1.1.
- [Release notes](https://github.com/docker/docker-py/releases )
- [Commits](https://github.com/docker/docker-py/compare/6.0.1...6.1.1 )
---
updated-dependencies:
- dependency-name: docker
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-05-08 04:58:23 +00:00
Nicolas Duchon
882e9a3b3c
test: add tests for host mode fix
2023-04-28 22:43:20 +02:00
dependabot[bot]
00a1e5ef5c
ci: bump requests from 2.28.2 to 2.29.0 in /test/requirements
...
Bumps [requests](https://github.com/psf/requests ) from 2.28.2 to 2.29.0.
- [Release notes](https://github.com/psf/requests/releases )
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md )
- [Commits](https://github.com/psf/requests/compare/v2.28.2...v2.29.0 )
---
updated-dependencies:
- dependency-name: requests
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-04-27 05:00:28 +00:00
Nicolas Duchon
ff676b519e
Merge pull request #2219 from nginx-proxy/dependabot/pip/test/requirements/pytest-7.3.1
...
ci: bump pytest from 7.3.0 to 7.3.1 in /test/requirements
2023-04-18 07:20:04 +02:00
dependabot[bot]
b34c917977
ci: bump pytest from 7.3.0 to 7.3.1 in /test/requirements
...
Bumps [pytest](https://github.com/pytest-dev/pytest ) from 7.3.0 to 7.3.1.
- [Release notes](https://github.com/pytest-dev/pytest/releases )
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pytest-dev/pytest/compare/7.3.0...7.3.1 )
---
updated-dependencies:
- dependency-name: pytest
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-04-17 05:01:01 +00:00
Richard Hansen
035bd2b5ac
fix: Remove default_server
listen option from fallback server
...
This fixes a bug introduced in commit
9b4bb07b34
.
2023-04-13 01:16:54 -04:00
dependabot[bot]
695ad54dcf
ci: bump pytest from 7.2.2 to 7.3.0 in /test/requirements
...
Bumps [pytest](https://github.com/pytest-dev/pytest ) from 7.2.2 to 7.3.0.
- [Release notes](https://github.com/pytest-dev/pytest/releases )
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pytest-dev/pytest/compare/7.2.2...7.3.0 )
---
updated-dependencies:
- dependency-name: pytest
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-04-10 05:00:55 +00:00
Richard Hansen
9b4bb07b34
fix: Don't create fallback http(s) server when http(s) disabled
...
Before, a fallback http server was created to handle requests for
unknown virtual hosts even when `HTTPS_METHOD=nohttp`. (In this case,
all http vhosts would be unknown.) Likewise, a catch-all fallback
https server was still created even if `HTTPS_METHOD=nohttps`.
Now the fallback servers are created only if needed. This brings the
behavior in line with the documentation and user expectation. It will
also make it easier to implement a planned feature: different servers
on different ports.
2023-02-04 18:59:38 -05:00
Richard Hansen
9297e94389
fix: Emit TLS error if there are no certs available
...
Before, if neither the vhost-specific cert nor `default.crt` existed,
nginx-proxy would not create the https vhost. This resulted in nginx
either refusing the connection or serving the wrong vhost depending on
whether there was another https vhost with a certificate.
Now nginx-proxy always creates an https server for a vhost, even if
the vhost-specific certificate and the default certificate are both
missing. When both certs are missing, nginx is given empty
certificate data to make it possible for it to start up without an
error. The empty certificate data causes the user to see a TLS error,
which is much easier to troubleshoot than a connection refused error
or serving the wrong vhost.
2023-02-02 22:02:06 -05:00
Richard Hansen
16066cab61
fix: Don't create cert error https server if https is not enabled
2023-02-02 17:17:00 -05:00
Niek
7ca1da8358
feat: Add support for HTTP load balancing between the proxy and upstream server groups ( #2173 )
...
Add initial tests
Newlines
Remove unused variable
Co-authored-by: Richard Hansen <rhansen@rhansen.org>
Change comment value
Co-authored-by: Richard Hansen <rhansen@rhansen.org>
add missing services line
Co-authored-by: Richard Hansen <rhansen@rhansen.org>
Use deploy.replicas
Remove details about choosing a load balancing method
Feedback note
Co-authored-by: Nicolas Duchon <nicolas.duchon@gmail.com>
2023-03-21 07:49:27 +01:00
Richard Hansen
49bb37dfdb
feat: Add support for HTTP keep-alive between the proxy and upstream
2023-03-14 04:20:17 -04:00
dependabot[bot]
2fc3e6c28c
ci: bump pytest from 7.2.1 to 7.2.2 in /test/requirements
...
Bumps [pytest](https://github.com/pytest-dev/pytest ) from 7.2.1 to 7.2.2.
- [Release notes](https://github.com/pytest-dev/pytest/releases )
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pytest-dev/pytest/compare/7.2.1...7.2.2 )
---
updated-dependencies:
- dependency-name: pytest
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-03-06 05:04:42 +00:00
Richard Hansen
b5a54ac219
tests: Reduce scope of docker_compose
fixture (and friends)
...
This makes it possible to bring up different compose files for
different tests in the same test module.
This change does not negatively affect performance because the fixture
is a no-op if the docker compose filename is unchanged between tests.
2023-02-17 02:34:08 -05:00
Richard Hansen
4d8f878ba7
tests: Fixture that simplifies Docker compose file changes
2023-02-17 02:34:08 -05:00
Richard Hansen
f5a3492926
tests: Factor out DNS monkey patching to its own fixture
2023-02-17 02:34:08 -05:00
Richard Hansen
09a2f40633
tests: Turn helper function into docker_compose_file
fixture
...
This makes it easier for tests to override the filename.
2023-02-17 02:34:08 -05:00
Richard Hansen
01745a836f
tests: Fix path to ca-root.crt
...
`os.getcwd()` is not guaranteed to always return the `test/`
directory.
2023-02-17 02:34:08 -05:00
Richard Hansen
2115974e93
feat: Add ability to completely override location blocks
...
Co-authored-by: Trent Harvey <trent@harvdog.net>
2023-01-31 04:53:12 -05:00
Nicolas Duchon
8ac8b021b8
Merge pull request #2155 from rhansen/docker-pull
...
chore: Pass `--pull` to `docker build` to get fresh images
2023-01-30 07:57:44 +01:00
Richard Hansen
912a065406
chore: Pass --pull
to docker build
to get fresh images
...
This is a no-op if the images are already up to date, and it prevents
puzzling problems when the images are old.
2023-01-28 18:17:40 -05:00
Richard Hansen
6162427c45
fix: Generate at most one server
directive per container
2023-01-28 18:01:19 -05:00
Vincent Herlemont
07cc80ac6b
feat: Support LOG_FORMAT env variable ( #2151 )
2023-01-27 12:28:40 -05:00
Richard Hansen
8346b68a28
fix: Ignore VIRTUAL_HOST
set to the empty string
...
Fixes #2144
2023-01-23 20:48:16 -05:00
Richard Hansen
f8ae0a4b00
feat: DEFAULT_ROOT=none
disables the default location /
block
2023-01-23 20:47:00 -05:00
Richard Hansen
8fbc8514ef
feat: Unconditionally produce debug comments
...
Rationale for eliminating the check to see if the `DEBUG` environment
variable holds a true value:
* The `DEBUG` environment variable might be set on a container (for
purposes specific to that container, not `nginx-proxy`) to a value
that cannot be parsed as a bool, which would break `nginx-proxy`.
* It simplifies the template.
* It eliminates a cold code path.
* It avoids heisenbugs.
* It makes debugging easier for users.
Also delete the debug info tests, as they are fragile and they provide
limited value.
Alternatively, we could avoid collision with the container's use of
the `DEBUG` environment variable by using a container label [1] such
as `com.google.nginx-proxy.nginx-proxy.debug`. I think doing so has
dubious value, especially if we want to attempt backwards
compatibility with the `DEBUG` environment variable.
Fixes #2139
[1] https://docs.docker.com/engine/reference/commandline/run/#-set-metadata-on-container--l---label---label-file
Co-authored-by: Nicolas Duchon <nicolas.duchon@gmail.com>
2023-01-18 17:27:04 -05:00
Richard Hansen
92e1a6567e
tests: Remove extraction of nginx.tmpl
(now unnecessary)
2023-01-17 18:02:30 -05:00
Richard Hansen
486addd144
tests: Bind-mount the entire nginx-proxy directory in the container
2023-01-17 18:02:30 -05:00
Richard Hansen
569953521a
tests: Exit non-zero if creation of nginx-proxy-tester image fails
2023-01-17 18:02:30 -05:00
Richard Hansen
55cfae9636
tests: Avoid unnecessary bashisms
2023-01-17 18:02:30 -05:00
Richard Hansen
d56b5b370d
tests: Whitespace fixes
2023-01-17 18:02:30 -05:00
Richard Hansen
26b0b05f73
tests: Fix test_debug/*
tests when IPv6 is enabled
2023-01-17 18:02:29 -05:00
dependabot[bot]
9c9545bf7f
chore(deps): bump pytest from 7.2.0 to 7.2.1 in /test/requirements
...
Bumps [pytest](https://github.com/pytest-dev/pytest ) from 7.2.0 to 7.2.1.
- [Release notes](https://github.com/pytest-dev/pytest/releases )
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pytest-dev/pytest/compare/7.2.0...7.2.1 )
---
updated-dependencies:
- dependency-name: pytest
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-01-16 04:12:49 +00:00
dependabot[bot]
831615fdd4
chore(deps): bump requests from 2.28.1 to 2.28.2 in /test/requirements
...
Bumps [requests](https://github.com/psf/requests ) from 2.28.1 to 2.28.2.
- [Release notes](https://github.com/psf/requests/releases )
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md )
- [Commits](https://github.com/psf/requests/compare/v2.28.1...v2.28.2 )
---
updated-dependencies:
- dependency-name: requests
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-01-13 04:04:20 +00:00
浊酒
af877cf784
feat: Add proxy header X-Forwarded-Host
...
Co-authored-by: Richard Hansen <rhansen@rhansen.org>
2022-12-26 17:59:50 -05:00
Nicolas Duchon
6f4f9ec20c
Merge pull request #1927 from rhansen/untrusted-headers
...
feat: Option to not trust `X-Forwarded-*` headers from clients
2022-12-26 20:47:05 +01:00
Nicolas Duchon
7c0d38cd2e
Merge pull request #1985 from hiqdev/networks-order
...
Make sure networks order is the same
2022-12-26 16:59:41 +01:00
Richard Hansen
8aa00fcea2
feat: Option to not trust X-Forwarded-*
headers from clients
...
If header values from a malicious client are passed to the backend
server unchecked and unchanged, the client may be able to subvert
security checks done by the backend server.
2022-12-19 02:48:01 -05:00
dependabot[bot]
e5b340cb6f
chore(deps): bump docker from 5.0.3 to 6.0.1 in /test/requirements
...
Bumps [docker](https://github.com/docker/docker-py ) from 5.0.3 to 6.0.1.
- [Release notes](https://github.com/docker/docker-py/releases )
- [Commits](https://github.com/docker/docker-py/compare/5.0.3...6.0.1 )
---
updated-dependencies:
- dependency-name: docker
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-12-01 14:30:16 +00:00
dependabot[bot]
b53e09373a
chore(deps): bump backoff from 1.11.1 to 2.2.1 in /test/requirements
...
Bumps [backoff](https://github.com/litl/backoff ) from 1.11.1 to 2.2.1.
- [Release notes](https://github.com/litl/backoff/releases )
- [Changelog](https://github.com/litl/backoff/blob/master/CHANGELOG.md )
- [Commits](https://github.com/litl/backoff/compare/v1.11.1...v2.2.1 )
---
updated-dependencies:
- dependency-name: backoff
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-12-01 13:02:13 +00:00
dependabot[bot]
302ecfff51
chore(deps): bump requests from 2.27.1 to 2.28.1 in /test/requirements
...
Bumps [requests](https://github.com/psf/requests ) from 2.27.1 to 2.28.1.
- [Release notes](https://github.com/psf/requests/releases )
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md )
- [Commits](https://github.com/psf/requests/compare/v2.27.1...v2.28.1 )
---
updated-dependencies:
- dependency-name: requests
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-12-01 12:00:48 +00:00
dependabot[bot]
d23a746833
chore(deps): bump pytest from 7.1.2 to 7.2.0 in /test/requirements
...
Bumps [pytest](https://github.com/pytest-dev/pytest ) from 7.1.2 to 7.2.0.
- [Release notes](https://github.com/pytest-dev/pytest/releases )
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pytest-dev/pytest/compare/7.1.2...7.2.0 )
---
updated-dependencies:
- dependency-name: pytest
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-26 04:21:21 +00:00
SilverFire - Dmitry Naumenko
510d376f00
Make sure networks order is the same
2022-05-11 12:56:18 +00:00
dependabot[bot]
20e76ac7a6
chore(deps): bump pytest from 7.1.1 to 7.1.2 in /test/requirements
...
Bumps [pytest](https://github.com/pytest-dev/pytest ) from 7.1.1 to 7.1.2.
- [Release notes](https://github.com/pytest-dev/pytest/releases )
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pytest-dev/pytest/compare/7.1.1...7.1.2 )
---
updated-dependencies:
- dependency-name: pytest
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-04-25 04:22:00 +00:00
dependabot[bot]
1cc3bbf5ce
chore(deps): bump pytest from 7.0.1 to 7.1.1 in /test/requirements
...
Bumps [pytest](https://github.com/pytest-dev/pytest ) from 7.0.1 to 7.1.1.
- [Release notes](https://github.com/pytest-dev/pytest/releases )
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pytest-dev/pytest/compare/7.0.1...7.1.1 )
---
updated-dependencies:
- dependency-name: pytest
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-03-18 04:16:58 +00:00
Gilles Filippini
5aba125fb7
chore: do not copy useless files into the image
...
Move required files but 'nginx.tmpl' into a local 'app' folder and copy the
folder content into the image.
'nginx.tmpl' should be moved as well, but this is a breaking change for
configuration with a separate 'docker-gen' container.
2022-03-07 16:01:15 +01:00
Nicolas Duchon
0185a2971c
tests: fix virtual path tests for new dhparam
2022-02-24 15:21:14 +01:00
Alexander Lieret
7ede0fa4b9
test: fix: Rename new test files
2022-02-24 15:08:18 +01:00
Alexander Lieret
2509fc1076
test: Add test cases for NETWORK_ACCESS=internal
2022-02-24 15:08:18 +01:00
Alexander Lieret
6a580ad664
test: Add test case for location config priority
2022-02-24 15:08:18 +01:00
Alexander Lieret
4099fcd618
test: Add test case for default app redirect
...
Co-authored-by: Jonathan Underwood <junderwood@bitcoinbank.co.jp>
2022-02-24 15:08:18 +01:00
Alexander Lieret
e08b3487c9
test: Add test to cover SSL of path-based routing
2022-02-24 15:08:18 +01:00
Alexander Lieret
33eab70d32
feat: Add custom location block to virtual paths
...
This features allows the custom location blocks to be added to the
virtual path based routing. The custom config can be specified for each
container individually.
2022-02-24 15:08:17 +01:00
Alexander Lieret
4b85e95824
feat: Replace path stripping with variable
...
This commit removes the automatic path stripping and replaces it with a
user configurable environment variable. This can be set individually for
each container.
2022-02-24 15:08:17 +01:00
Alexander Lieret
9df330e51e
feat: Add user customizable default root response
2022-02-24 15:08:15 +01:00
Alexander Lieret
fc4c4e17ca
ci: Add tests for the virtual-path routing
...
@gregsymons test cases were too outdated to be ported easily. The new
tests should include the coverage of the old ones.
2022-02-24 15:07:02 +01:00
Robin Windey
18027fa71b
Add container logs in case testcontainer exited unexpectedly
2022-02-20 15:10:05 +01:00
dependabot[bot]
42535c01d9
chore(deps): bump pytest from 7.0.0 to 7.0.1 in /test/requirements
...
Bumps [pytest](https://github.com/pytest-dev/pytest ) from 7.0.0 to 7.0.1.
- [Release notes](https://github.com/pytest-dev/pytest/releases )
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pytest-dev/pytest/compare/7.0.0...7.0.1 )
---
updated-dependencies:
- dependency-name: pytest
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-02-14 04:20:00 +00:00
dependabot[bot]
dc8094daf5
chore(deps): bump pytest from 6.2.5 to 7.0.0 in /test/requirements
...
Bumps [pytest](https://github.com/pytest-dev/pytest ) from 6.2.5 to 7.0.0.
- [Release notes](https://github.com/pytest-dev/pytest/releases )
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pytest-dev/pytest/compare/6.2.5...7.0.0 )
---
updated-dependencies:
- dependency-name: pytest
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-02-07 04:23:26 +00:00
Nicolas Duchon
e22ae4a6fd
tests: display container version
2022-01-12 10:17:49 +01:00
Nicolas Duchon
fde0e809e4
chore: jwilder/docker-gen > nginx-proxy/docker-gen
2022-01-11 19:55:29 +01:00
Nicolas Duchon
ed7b17d9d7
Merge pull request #1856 from polarathene/tests/fix-container-networking
...
tests: Fix pytest container networking issues
2022-01-06 10:32:40 +01:00
dependabot[bot]
b9ac4b936e
chore(deps): bump requests from 2.26.0 to 2.27.1 in /test/requirements
...
Bumps [requests](https://github.com/psf/requests ) from 2.26.0 to 2.27.1.
- [Release notes](https://github.com/psf/requests/releases )
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md )
- [Commits](https://github.com/psf/requests/compare/v2.26.0...v2.27.1 )
---
updated-dependencies:
- dependency-name: requests
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-01-06 04:21:32 +00:00
polarathene
6b3ee66783
chore: white-space housekeeping
...
Noticed some trailing white-space. Removed for consistency with the rest of the file.
2022-01-01 01:39:51 +13:00
polarathene
115461744b
fix: Skip IPv6 when forced but not available + avoid none
network
...
A test on raw IP addresses doesn't reach the existing IPv6 skip logic, added that to avoid a test failing when only IPv4 is available (eg: standard docker container networks).
Additionally some other tests set the `none` network and connecting to this fails as it's not allowed? Preventing that from happening resolves the final failing tests within containerized pytest.
2022-01-01 01:38:13 +13:00
polarathene
04b0181980
fix: Ensure networks are actually connected to pytest container
...
The `network` object would never be in a list of network names (strings), and without `greedy=True` arg as the `docker-py` API docs note, the containers will not be part of the results, thus always returning an empty list which was not intended..
Now the network will properly match the current networks for pytest container, avoiding duplicate connect attempts, and the network list result will actually have containers to count when filtering by length.
2021-12-31 22:30:49 +13:00
polarathene
0e5d97a268
fix: Don't connect pytest container to networks when using host network
...
This is not compatible or required, since host networking is no longer isolated to container networks only.
2021-12-31 22:14:26 +13:00
polarathene
b2b4c71997
fix: Don't remove pytest container when running with host network mode
...
When the container runs with host networking instead of the default bridge, the `$HOSTNAME` / `/etc/hostname` reflects that of the host instead of the container ID , which causes the pytest container to get removed accidentally.
Using a container name instead we can more reliably target the container to avoid removing it, should we need to run with host networking instead.
2021-12-31 22:12:25 +13:00
polarathene
e748d53a1f
chore: Extract hostname access to a var
...
DRY and clearer that we're referring to the pytest container.
2021-12-31 21:51:40 +13:00
polarathene
93c04dce8d
fix: Properly detect pytest running via container
...
The original `/.dockerenv` approach is no longer valid, and context wise we're only using this for the test suite, so using an ENV in that container is a better solution.
2021-12-31 21:42:38 +13:00
polarathene
c5166f580e
tests: Add utility method to verify TLS chain of trust
2021-12-21 18:44:51 +13:00
polarathene
9dc9d90d34
tests: Verify site-specific DH params feature works correctly
...
This addition requires usage of `DEFAULT_HOST` on containers tested to ensure they don't accidentally use `web2` as their default fallback (due to no SNI / `-servername` requested in openssl queries), otherwise they would be testing against the incorrect DH params response.
They could alternatively request an FQDN explicitly as well, instead of relying on implicit fallback/default server selection behaviour.
---
`web2.nginx-proxy.tld.dhparam.pem` is a copy of `ffdhe2048.pem`.
2021-12-21 18:41:43 +13:00
polarathene
0f15130476
tests: Verify correct DH group size when negotiating
...
Additionally allows for adding extra openssl params when needed.
2021-12-21 18:41:43 +13:00
polarathene
75528bdfcb
chore: Refactor checksum comparisons
...
- Use a DRY method instead.
- ENV test changed from 2048-bit to 3072-bit to avoid confusion in a future test that should not be mixed up accidentally with 2048-bit elsewhere.
- Custom DH file test comparison changed to match other comparisons for equality against the expected DH param content.
- Related comments revised, additional comment for context added by the test definition.
- Minor white-space adjustments.
2021-12-21 18:41:43 +13:00
Nicolas Duchon
496e0f5f27
tests: mark test_deleted_cert as xfail
...
test_delete_cert_and_restart_reverseproxy still fails intermitently
2021-12-15 13:01:38 +01:00
Nicolas Duchon
83e3b25c46
Merge pull request #1797 from polarathene/feat/prefer-rfc-7919-dhparams
...
feat: Use RFC 7919 DH groups + Remove DH generation
2021-10-21 08:35:39 +02:00
Nicolas Duchon
36c4ed7632
test: replace test dhparam.pem with ffdhe3072.pem
2021-10-20 21:04:29 +02:00
Nicolas Duchon
ab7ac0aadb
fix: backward compatibility w/ DHPARAM_GENERATION
...
Also use true rather than 1 to stay consistent
with other boolean environment variables
2021-10-20 19:15:27 +02:00
dependabot[bot]
b1b1b700ea
chore(deps): bump docker from 5.0.2 to 5.0.3 in /test/requirements
...
Bumps [docker](https://github.com/docker/docker-py ) from 5.0.2 to 5.0.3.
- [Release notes](https://github.com/docker/docker-py/releases )
- [Commits](https://github.com/docker/docker-py/compare/5.0.2...5.0.3 )
---
updated-dependencies:
- dependency-name: docker
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2021-10-08 04:27:38 +00:00
polarathene
41bd4076c0
chore: DRY up test_dhparam.yml
...
Use YAML anchors for repeated values providing a single source of truth.
I would use `x-*` convention to store anchors above service containers, but this seems to require a compose config that defines the services (and version?) keys, which this test setup was failing to be compatible with for some reason..
2021-09-29 15:20:08 +13:00
polarathene
0cd573f043
tests(pytest.sh
): Update Syntax
...
- Added clarification comment of the DIR command
- Quoted `ARGS` usage required wrapping `ARGS` assignment in an array to properly expand. This wasn't broken before, but is required change to keep ShellCheck lint happy.
- Quote wrapped `DIR` usage, the volume target had an extra `/` before the `DIR` which seems unnecessary as `pwd` should return absolute path.
- Expanded `docker run` options to long-form.
2021-09-28 21:59:53 +13:00
polarathene
e81001615c
tests: Improve error handling output and use regular string comparisons
...
As this project isn't exactly python focused apart from the test suite, I'll assume other contributors are probably not as experienced with python either. Since this is a rather technical test, the extra comments should help grok the functionality without floundering around with the docs.
When the subprocess raises an exception due to an issue with the command (_eg using `-CAfile` arg to `openssl` with an invalid path_), the tests would output large walls of text that wasn't particularly helpful in troubleshooting the issue. `stderr` was also leaking out inbetween the test case results in the terminal, this has been resolved by ensuring that output is caught and piped, which keeps it available to python when an exception is raised. Identifying the actual error cause and location is now much nicer.
Updated the output to be plain string content instead of byte strings, this works fine :)
2021-09-28 21:59:53 +13:00
polarathene
1d2f308cdf
feat: Bring back ability to skip default DH params
...
Adds back the ability to avoid using DH params, provided no file was explicitly supplied.
This used to be `DHPARAM_GENERATION=false`, the equivalent is now `DHPARAM_SKIP=1` (default 0). Previous name was no longer appropriate.
Ensures that if a user has explicitly provided their own dhparam file to still output a warning instead of the skip message, since `DHPARAM_SKIP=1` doesn't disable the support in nginx.
2021-09-28 21:59:53 +13:00
polarathene
fd35a09240
tests: Revise dhparams tests
...
- `dhparam_generation` tests are no longer necessary, dropped.
Modified the remaining `dhparam` test to use multiple `nginx-proxy` images to verify correct behavior for different configs.
Tests now cover:
- Default (ffdhe4096) is used.
- Alternative via ENV (ffdhe2048) works correctly.
- Invalid group via ENV (1024-bit) fails.
- Custom DH params provided via file mount works with warning emitted.
---
- `assert_log_contains`: added a `container_name` arg with `nginxproxy` as the default value. This allows multiple nginx-proxy containers to utilize this method instead.
- Extracted out the `openssl` test (_to `negotiate_cipher()`_) and modified it to be a bit more flexible. It now takes a container with optional extra args to pass to `openssl` command called, as well as the `grep` string to match. This made the original test redundant, so I've dropped it.
- Added two methods to use `negotiate_cipher()`, one verifies a DHE cipher suite was negotiated and checks that a DH emphermal key was also mentioned in the output. The other method verifies the expectation of failing to negotiate a valid cipher if DH params have not been set, while verifying that non-DHE cipher suites can be successfully negotiated.
- Added a `get_env()` method for extracting attached environments on a container. This is useful for verifying invalid `DHPARAM_BITS` values (eg `1024`-bit).
- The original `Server Temp Key` assertion was incorrect, it was expecting a value that is unrelated to DHE cipher suite support (_`X25519` is related to ECDHE_). This is due to TLS 1.3 being negotiated where you cannot use custom DH params, nor influence the negotiated cipher due to this mechanism changing from TLS 1.3. TLS 1.3 does support DH params, but it internally negotiates RFC 7919 group between server and client instead. Thus to verify expectations, the connection via `openssl` is made explicitly with TLS 1.2 instead.
2021-09-28 21:59:53 +13:00
polarathene
9299a2801e
tests: Remove dhparam volume
...
No longer necessary for the majority of tests.
2021-09-28 21:50:11 +13:00
dependabot[bot]
083d86a79d
chore(deps): bump docker from 5.0.0 to 5.0.2 in /test/requirements
...
Bumps [docker](https://github.com/docker/docker-py ) from 5.0.0 to 5.0.2.
- [Release notes](https://github.com/docker/docker-py/releases )
- [Commits](https://github.com/docker/docker-py/compare/5.0.0...5.0.2 )
---
updated-dependencies:
- dependency-name: docker
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2021-09-02 04:18:54 +00:00
Nicolas Duchon
481c5a2318
Merge pull request #1760 from nginx-proxy/python-docker-mod-check
...
Ease version check on python docker module for tests
2021-09-01 14:48:35 +02:00
Nicolas Duchon
a1ff28cec8
CI: ease version check on python docker module
2021-09-01 09:31:02 +02:00
dependabot[bot]
308df38b14
chore(deps): bump pytest from 6.2.4 to 6.2.5 in /test/requirements
...
Bumps [pytest](https://github.com/pytest-dev/pytest ) from 6.2.4 to 6.2.5.
- [Release notes](https://github.com/pytest-dev/pytest/releases )
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pytest-dev/pytest/compare/6.2.4...6.2.5 )
---
updated-dependencies:
- dependency-name: pytest
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2021-08-31 04:22:47 +00:00
Nicolas Duchon
d10531e925
tests: predictable upstream names
2021-08-17 21:50:18 +02:00
Nicolas Duchon
ba86bc04f6
tests: check for raw IPv4/6 used as VIRTUAL_HOST
2021-08-04 22:25:55 +02:00
Nicolas Duchon
df638c3fe6
ci: cleanup left over volumes after tests
2021-08-02 19:31:36 +02:00
Nicolas Duchon
10a4db5067
ci: remove xfail from tests that were fixed
2021-08-02 19:08:06 +02:00
Nicolas Duchon
d3fc5c506a
ci: enable Docker IPv6 on tests that require it
2021-08-02 18:37:33 +02:00
Nicolas Duchon
795e0acda7
ci: remove InsecureRequestWarning from urllib3
2021-08-02 18:09:34 +02:00
Nicolas Duchon
90a7218622
ci: update contest.py
2021-08-02 14:48:40 +02:00
Nicolas Duchon
ce4ce0676a
ci: update docker and docker-compose pip packages
2021-08-02 14:44:21 +02:00
dependabot[bot]
1ba594cc4d
chore(deps): bump pytest from 6.2.2 to 6.2.4 in /test/requirements
...
Bumps [pytest](https://github.com/pytest-dev/pytest ) from 6.2.2 to 6.2.4.
- [Release notes](https://github.com/pytest-dev/pytest/releases )
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pytest-dev/pytest/compare/6.2.2...6.2.4 )
---
updated-dependencies:
- dependency-name: pytest
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2021-08-02 11:05:37 +00:00
dependabot[bot]
9855571616
chore(deps): bump backoff from 1.10.0 to 1.11.1 in /test/requirements
...
Bumps [backoff](https://github.com/litl/backoff ) from 1.10.0 to 1.11.1.
- [Release notes](https://github.com/litl/backoff/releases )
- [Changelog](https://github.com/litl/backoff/blob/master/CHANGELOG.md )
- [Commits](https://github.com/litl/backoff/compare/v1.10.0...v1.11.1 )
---
updated-dependencies:
- dependency-name: backoff
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2021-08-02 10:55:56 +00:00
dependabot[bot]
eefea9daec
chore(deps): bump requests from 2.25.1 to 2.26.0 in /test/requirements
...
Bumps [requests](https://github.com/psf/requests ) from 2.25.1 to 2.26.0.
- [Release notes](https://github.com/psf/requests/releases )
- [Changelog](https://github.com/psf/requests/blob/master/HISTORY.md )
- [Commits](https://github.com/psf/requests/compare/v2.25.1...v2.26.0 )
---
updated-dependencies:
- dependency-name: requests
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2021-08-02 10:47:08 +00:00
Gilles Filippini
a637b399b8
test: add test_server-down/test_load-balancing
...
Check that when multiple containers have the same WIRTUAL_HOST and one of
them is unreachable, the resulting `upstream` block has no
`server 127.0.0.1 down;` entry.
2021-06-21 00:48:21 +02:00
Nicolas Duchon
2006968c05
Merge pull request #1667 from pini-gh/pini-1609
...
Use `server 127.0.0.1 down` entry only when required
2021-06-20 18:04:19 +02:00
Gilles Filippini
7c0a4cb0b3
fix: escape backslash in test
2021-06-15 23:55:31 +02:00
Gilles Filippini
fca248a965
fix: server 127.0.0.1 down entry only when required
2021-06-15 23:54:24 +02:00
John Stucklen
790785f1ab
test: custom HTTPS port and redirection
2021-06-15 00:38:32 +02:00
John Stucklen
6bb7c37605
test: custom HTTP port
2021-06-15 00:13:06 +02:00
Gilles Filippini
2bb53bd303
test: add tests for the DEBUG flag
2021-05-28 01:52:01 +02:00
Gilles Filippini
3785649eb6
test: VIRTUAL_PORT != single exposed port
2021-05-28 00:04:59 +02:00
Laurynas Alekna
fb7a11212f
Make server_tokens configurable per virtual-host
2021-05-13 21:52:06 +01:00
Laurynas Alekna
70b95b1708
Fix create_server_certificate.sh
...
Docker image nginx:1.14.1 has no openssl installed. Therefore upgrading to nginx:1.19.10
2021-05-11 10:29:22 +01:00
Nicolas Duchon
a9cfdc843e
docs: fix broken link
2021-05-01 22:30:57 +02:00
Nicolas Duchon
1f937dd6a5
docs: don't mention Docker container based tests
...
Those aren't working yet and are being worked on
close #1605
2021-04-28 09:58:03 +02:00
Kevin Marilleau
1518c39e1b
docs: update "how to install/test" parts
2021-04-27 00:35:21 +02:00
Kevin Marilleau
39f822dd8b
refactor(ci): ♻️ refactor makefile and modify its usage on CI
2021-04-27 00:35:21 +02:00
Kevin Marilleau
1591fd7968
chore(ci): 💚 use standard python for nginx-proxy-tester
2021-04-27 00:35:21 +02:00
Kevin Marilleau
3b1163291b
fix(test): test_dockergen_v3 version comparison
2021-04-27 00:35:21 +02:00
Kevin Marilleau
dd7f7e8427
fix(ci): wrong nginx-proxy image used on default_host test
2021-04-27 00:35:20 +02:00
Kevin Marilleau
0c60d57031
fix(ci): fix test_dhparam_is_generated_if_missing
2021-04-27 00:35:20 +02:00
Kevin Marilleau
6fd3cfb38f
fix(ci): 🔧 add markers on pytest.ini to fix warnings
2021-04-27 00:35:20 +02:00
Kevin Marilleau
37e85e6e8d
chore(ci): ♻️ convert Python old %
string to f-strings
2021-04-27 00:35:20 +02:00
Kevin Marilleau
eba9ac4261
chore(ci): ⬆️ update python dependencies to latests release
2021-04-27 00:35:19 +02:00