From 1430f9fbffc096c85dd7a388ca86457a5e813e61 Mon Sep 17 00:00:00 2001 From: Nicolas Duchon Date: Thu, 19 Dec 2024 01:35:50 +0100 Subject: [PATCH] test: separate containers (contd) --- .../test_htpasswd_regex_virtual_host.yml | 30 +++++++++++++- .../test_htpasswd_virtual_host.yml | 30 +++++++++++++- .../test_htpasswd_virtual_path.yml | 30 +++++++++++++- .../test_http2/test_http2_global_disabled.yml | 30 +++++++++++++- .../test_http3/test_http3_global_disabled.yml | 28 ++++++++++++- test/test_http3/test_http3_global_enabled.yml | 30 +++++++++++++- test/test_http3/test_http3_vhost.yml | 26 +++++++++++- test/test_http_port.yml | 30 +++++++++++++- .../test_internal/test_internal-per-vhost.yml | 30 +++++++++++++- .../test_internal/test_internal-per-vpath.yml | 30 +++++++++++++- test/test_ipv6/test_ipv6.yml | 34 +++++++++++++++- .../test_ipv6_prefer_ipv4_network.yml | 36 ++++++++++++++++- .../test_ipv6_prefer_ipv6_network.yml | 40 +++++++++++++++++-- 13 files changed, 379 insertions(+), 25 deletions(-) diff --git a/test/test_htpasswd/test_htpasswd_regex_virtual_host.yml b/test/test_htpasswd/test_htpasswd_regex_virtual_host.yml index 8eb9012..dd3913d 100644 --- a/test/test_htpasswd/test_htpasswd_regex_virtual_host.yml +++ b/test/test_htpasswd/test_htpasswd_regex_virtual_host.yml @@ -1,3 +1,7 @@ +volumes: + nginx_conf: + + services: regex: image: web @@ -8,8 +12,30 @@ services: VIRTUAL_HOST: ~^regex.*\.nginx-proxy\.example$ sut: + profiles: + - singleContainer container_name: sut image: nginxproxy/nginx-proxy:test volumes: - - /var/run/docker.sock:/tmp/docker.sock:ro - - ./htpasswd:/etc/nginx/htpasswd:ro + - &dockerSocket /var/run/docker.sock:/tmp/docker.sock:ro + - &htpasswd ./htpasswd:/etc/nginx/htpasswd:ro + + sut-dockergen: + profiles: + - separateContainers + image: nginxproxy/nginx-proxy:test-dockergen + volumes: + - &confVolume nginx_conf:/etc/nginx/conf.d + - *dockerSocket + - *htpasswd + + sut-nginx: + profiles: + - separateContainers + container_name: nginx-proxy + image: nginx:alpine + volumes: + - *confVolume + - *htpasswd + labels: + - "com.github.nginx-proxy.nginx-proxy.nginx" diff --git a/test/test_htpasswd/test_htpasswd_virtual_host.yml b/test/test_htpasswd/test_htpasswd_virtual_host.yml index 5848194..c6807a8 100644 --- a/test/test_htpasswd/test_htpasswd_virtual_host.yml +++ b/test/test_htpasswd/test_htpasswd_virtual_host.yml @@ -1,3 +1,7 @@ +volumes: + nginx_conf: + + services: web: image: web @@ -8,8 +12,30 @@ services: VIRTUAL_HOST: htpasswd.nginx-proxy.tld sut: + profiles: + - singleContainer container_name: sut image: nginxproxy/nginx-proxy:test volumes: - - /var/run/docker.sock:/tmp/docker.sock:ro - - ./htpasswd:/etc/nginx/htpasswd:ro + - &dockerSocket /var/run/docker.sock:/tmp/docker.sock:ro + - &htpasswd ./htpasswd:/etc/nginx/htpasswd:ro + + sut-dockergen: + profiles: + - separateContainers + image: nginxproxy/nginx-proxy:test-dockergen + volumes: + - &confVolume nginx_conf:/etc/nginx/conf.d + - *dockerSocket + - *htpasswd + + sut-nginx: + profiles: + - separateContainers + container_name: nginx-proxy + image: nginx:alpine + volumes: + - *confVolume + - *htpasswd + labels: + - "com.github.nginx-proxy.nginx-proxy.nginx" diff --git a/test/test_htpasswd/test_htpasswd_virtual_path.yml b/test/test_htpasswd/test_htpasswd_virtual_path.yml index 65fc278..121c339 100644 --- a/test/test_htpasswd/test_htpasswd_virtual_path.yml +++ b/test/test_htpasswd/test_htpasswd_virtual_path.yml @@ -1,3 +1,7 @@ +volumes: + nginx_conf: + + services: web: image: web @@ -10,8 +14,30 @@ services: VIRTUAL_DEST: / sut: + profiles: + - singleContainer container_name: sut image: nginxproxy/nginx-proxy:test volumes: - - /var/run/docker.sock:/tmp/docker.sock:ro - - ./htpasswd:/etc/nginx/htpasswd:ro + - &dockerSocket /var/run/docker.sock:/tmp/docker.sock:ro + - &htpasswd ./htpasswd:/etc/nginx/htpasswd:ro + + sut-dockergen: + profiles: + - separateContainers + image: nginxproxy/nginx-proxy:test-dockergen + volumes: + - &confVolume nginx_conf:/etc/nginx/conf.d + - *dockerSocket + - *htpasswd + + sut-nginx: + profiles: + - separateContainers + container_name: nginx-proxy + image: nginx:alpine + volumes: + - *confVolume + - *htpasswd + labels: + - "com.github.nginx-proxy.nginx-proxy.nginx" diff --git a/test/test_http2/test_http2_global_disabled.yml b/test/test_http2/test_http2_global_disabled.yml index 5dffa19..312c3fb 100644 --- a/test/test_http2/test_http2_global_disabled.yml +++ b/test/test_http2/test_http2_global_disabled.yml @@ -1,3 +1,7 @@ +volumes: + nginx_conf: + + services: http2-global-disabled: image: web @@ -8,8 +12,30 @@ services: VIRTUAL_HOST: http2-global-disabled.nginx-proxy.tld sut: + profiles: + - singleContainer image: nginxproxy/nginx-proxy:test volumes: - - /var/run/docker.sock:/tmp/docker.sock:ro - environment: + - &dockerSocket /var/run/docker.sock:/tmp/docker.sock:ro + environment: &nginxProxyEnv ENABLE_HTTP2: "false" + + sut-dockergen: + profiles: + - separateContainers + image: nginxproxy/nginx-proxy:test-dockergen + volumes: + - &confVolume nginx_conf:/etc/nginx/conf.d + - *dockerSocket + environment: + <<: *nginxProxyEnv + + sut-nginx: + profiles: + - separateContainers + container_name: nginx-proxy + image: nginx:alpine + volumes: + - *confVolume + labels: + - "com.github.nginx-proxy.nginx-proxy.nginx" diff --git a/test/test_http3/test_http3_global_disabled.yml b/test/test_http3/test_http3_global_disabled.yml index 5b83119..5542fe3 100644 --- a/test/test_http3/test_http3_global_disabled.yml +++ b/test/test_http3/test_http3_global_disabled.yml @@ -1,3 +1,7 @@ +volumes: + nginx_conf: + + services: http3-global-disabled: image: web @@ -8,8 +12,30 @@ services: VIRTUAL_HOST: http3-global-disabled.nginx-proxy.tld sut: + profiles: + - singleContainer image: nginxproxy/nginx-proxy:test volumes: - - /var/run/docker.sock:/tmp/docker.sock:ro + - &dockerSocket /var/run/docker.sock:/tmp/docker.sock:ro #environment: #ENABLE_HTTP3: "false" #Disabled by default + + sut-dockergen: + profiles: + - separateContainers + image: nginxproxy/nginx-proxy:test-dockergen + volumes: + - &confVolume nginx_conf:/etc/nginx/conf.d + - *dockerSocket + #environment: + #ENABLE_HTTP3: "false" #Disabled by default + + sut-nginx: + profiles: + - separateContainers + container_name: nginx-proxy + image: nginx:alpine + volumes: + - *confVolume + labels: + - "com.github.nginx-proxy.nginx-proxy.nginx" diff --git a/test/test_http3/test_http3_global_enabled.yml b/test/test_http3/test_http3_global_enabled.yml index 0825469..8337104 100644 --- a/test/test_http3/test_http3_global_enabled.yml +++ b/test/test_http3/test_http3_global_enabled.yml @@ -1,3 +1,7 @@ +volumes: + nginx_conf: + + services: http3-global-enabled: image: web @@ -8,8 +12,30 @@ services: VIRTUAL_HOST: http3-global-enabled.nginx-proxy.tld sut: + profiles: + - singleContainer image: nginxproxy/nginx-proxy:test volumes: - - /var/run/docker.sock:/tmp/docker.sock:ro - environment: + - &dockerSocket /var/run/docker.sock:/tmp/docker.sock:ro + environment: &nginxProxyEnv ENABLE_HTTP3: "true" + + sut-dockergen: + profiles: + - separateContainers + image: nginxproxy/nginx-proxy:test-dockergen + volumes: + - &confVolume nginx_conf:/etc/nginx/conf.d + - *dockerSocket + environment: + <<: *nginxProxyEnv + + sut-nginx: + profiles: + - separateContainers + container_name: nginx-proxy + image: nginx:alpine + volumes: + - *confVolume + labels: + - "com.github.nginx-proxy.nginx-proxy.nginx" diff --git a/test/test_http3/test_http3_vhost.yml b/test/test_http3/test_http3_vhost.yml index 1d5cdf2..df6fb83 100644 --- a/test/test_http3/test_http3_vhost.yml +++ b/test/test_http3/test_http3_vhost.yml @@ -1,3 +1,7 @@ +volumes: + nginx_conf: + + services: http3-vhost-enabled: image: web @@ -28,6 +32,26 @@ services: VIRTUAL_HOST: http3-vhost-default-disabled.nginx-proxy.tld sut: + profiles: + - singleContainer image: nginxproxy/nginx-proxy:test volumes: - - /var/run/docker.sock:/tmp/docker.sock:ro + - &dockerSocket /var/run/docker.sock:/tmp/docker.sock:ro + + sut-dockergen: + profiles: + - separateContainers + image: nginxproxy/nginx-proxy:test-dockergen + volumes: + - &confVolume nginx_conf:/etc/nginx/conf.d + - *dockerSocket + + sut-nginx: + profiles: + - separateContainers + container_name: nginx-proxy + image: nginx:alpine + volumes: + - *confVolume + labels: + - "com.github.nginx-proxy.nginx-proxy.nginx" diff --git a/test/test_http_port.yml b/test/test_http_port.yml index 7c8f5f8..65eece1 100644 --- a/test/test_http_port.yml +++ b/test/test_http_port.yml @@ -1,3 +1,7 @@ +volumes: + nginx_conf: + + services: web1: image: web @@ -8,8 +12,30 @@ services: VIRTUAL_HOST: "*.nginx-proxy.tld" sut: + profiles: + - singleContainer image: nginxproxy/nginx-proxy:test volumes: - - /var/run/docker.sock:/tmp/docker.sock:ro - environment: + - &dockerSocket /var/run/docker.sock:/tmp/docker.sock:ro + environment: &nginxProxyEnv HTTP_PORT: 8080 + + sut-dockergen: + profiles: + - separateContainers + image: nginxproxy/nginx-proxy:test-dockergen + volumes: + - &confVolume nginx_conf:/etc/nginx/conf.d + - *dockerSocket + environment: + <<: *nginxProxyEnv + + sut-nginx: + profiles: + - separateContainers + container_name: nginx-proxy + image: nginx:alpine + volumes: + - *confVolume + labels: + - "com.github.nginx-proxy.nginx-proxy.nginx" diff --git a/test/test_internal/test_internal-per-vhost.yml b/test/test_internal/test_internal-per-vhost.yml index f01c7cf..92039a9 100644 --- a/test/test_internal/test_internal-per-vhost.yml +++ b/test/test_internal/test_internal-per-vhost.yml @@ -1,3 +1,7 @@ +volumes: + nginx_conf: + + services: web1: image: web @@ -17,7 +21,29 @@ services: VIRTUAL_HOST: web2.nginx-proxy.example sut: + profiles: + - singleContainer image: nginxproxy/nginx-proxy:test volumes: - - /var/run/docker.sock:/tmp/docker.sock:ro - - ./network_internal.conf:/etc/nginx/network_internal.conf:ro + - &dockerSocket /var/run/docker.sock:/tmp/docker.sock:ro + - &networkInternal ./network_internal.conf:/etc/nginx/network_internal.conf:ro + + sut-dockergen: + profiles: + - separateContainers + image: nginxproxy/nginx-proxy:test-dockergen + volumes: + - &confVolume nginx_conf:/etc/nginx/conf.d + - *dockerSocket + - *networkInternal + + sut-nginx: + profiles: + - separateContainers + container_name: nginx-proxy + image: nginx:alpine + volumes: + - *confVolume + - *networkInternal + labels: + - "com.github.nginx-proxy.nginx-proxy.nginx" diff --git a/test/test_internal/test_internal-per-vpath.yml b/test/test_internal/test_internal-per-vpath.yml index f8e03d6..fe321b8 100644 --- a/test/test_internal/test_internal-per-vpath.yml +++ b/test/test_internal/test_internal-per-vpath.yml @@ -1,3 +1,7 @@ +volumes: + nginx_conf: + + services: web1: image: web @@ -21,7 +25,29 @@ services: VIRTUAL_DEST: / sut: + profiles: + - singleContainer image: nginxproxy/nginx-proxy:test volumes: - - /var/run/docker.sock:/tmp/docker.sock:ro - - ./network_internal.conf:/etc/nginx/network_internal.conf:ro + - &dockerSocket /var/run/docker.sock:/tmp/docker.sock:ro + - &networkInternal ./network_internal.conf:/etc/nginx/network_internal.conf:ro + + sut-dockergen: + profiles: + - separateContainers + image: nginxproxy/nginx-proxy:test-dockergen + volumes: + - &confVolume nginx_conf:/etc/nginx/conf.d + - *dockerSocket + - *networkInternal + + sut-nginx: + profiles: + - separateContainers + container_name: nginx-proxy + image: nginx:alpine + volumes: + - *confVolume + - *networkInternal + labels: + - "com.github.nginx-proxy.nginx-proxy.nginx" diff --git a/test/test_ipv6/test_ipv6.yml b/test/test_ipv6/test_ipv6.yml index d7276a6..b99df50 100644 --- a/test/test_ipv6/test_ipv6.yml +++ b/test/test_ipv6/test_ipv6.yml @@ -5,6 +5,10 @@ networks: config: - subnet: fd00:1::/80 +volumes: + nginx_conf: + + services: web1: image: web @@ -27,10 +31,36 @@ services: - net1 sut: + profiles: + - singleContainer image: nginxproxy/nginx-proxy:test volumes: - - /var/run/docker.sock:/tmp/docker.sock:ro - environment: + - &dockerSocket /var/run/docker.sock:/tmp/docker.sock:ro + environment: &nginxProxyEnv ENABLE_IPV6: "true" networks: - net1 + + sut-dockergen: + profiles: + - separateContainers + image: nginxproxy/nginx-proxy:test-dockergen + volumes: + - &confVolume nginx_conf:/etc/nginx/conf.d + - *dockerSocket + environment: + <<: *nginxProxyEnv + networks: + - net1 + + sut-nginx: + profiles: + - separateContainers + container_name: nginx-proxy + image: nginx:alpine + volumes: + - *confVolume + labels: + - "com.github.nginx-proxy.nginx-proxy.nginx" + networks: + - net1 diff --git a/test/test_ipv6/test_ipv6_prefer_ipv4_network.yml b/test/test_ipv6/test_ipv6_prefer_ipv4_network.yml index 2021856..04a56de 100644 --- a/test/test_ipv6/test_ipv6_prefer_ipv4_network.yml +++ b/test/test_ipv6/test_ipv6_prefer_ipv4_network.yml @@ -10,6 +10,10 @@ networks: - subnet: 172.16.20.0/24 - subnet: fd00:cafe:face:feed::/64 +volumes: + nginx_conf: + + services: ipv4only: image: web @@ -32,12 +36,40 @@ services: ipv6_address: fd00:cafe:face:feed::2 sut: + profiles: + - singleContainer image: nginxproxy/nginx-proxy:test volumes: - - /var/run/docker.sock:/tmp/docker.sock:ro - networks: + - &dockerSocket /var/run/docker.sock:/tmp/docker.sock:ro + networks: &nginxProxyNetworks ipv4net: ipv4_address: 172.16.10.3 dualstacknet: ipv4_address: 172.16.20.3 ipv6_address: fd00:cafe:face:feed::3 + + sut-dockergen: + profiles: + - separateContainers + image: nginxproxy/nginx-proxy:test-dockergen + volumes: + - &confVolume nginx_conf:/etc/nginx/conf.d + - *dockerSocket + networks: + <<: *nginxProxyNetworks + + sut-nginx: + profiles: + - separateContainers + container_name: nginx-proxy + image: nginx:alpine + volumes: + - *confVolume + labels: + - "com.github.nginx-proxy.nginx-proxy.nginx" + networks: + ipv4net: + ipv4_address: 172.16.10.4 + dualstacknet: + ipv4_address: 172.16.20.4 + ipv6_address: fd00:cafe:face:feed::4 diff --git a/test/test_ipv6/test_ipv6_prefer_ipv6_network.yml b/test/test_ipv6/test_ipv6_prefer_ipv6_network.yml index b12eb0d..dddafaf 100644 --- a/test/test_ipv6/test_ipv6_prefer_ipv6_network.yml +++ b/test/test_ipv6/test_ipv6_prefer_ipv6_network.yml @@ -10,6 +10,10 @@ networks: - subnet: 172.16.20.0/24 - subnet: fd00:cafe:face:feed::/64 +volumes: + nginx_conf: + + services: ipv4only: image: web @@ -32,14 +36,44 @@ services: ipv6_address: fd00:cafe:face:feed::2 sut: + profiles: + - singleContainer image: nginxproxy/nginx-proxy:test volumes: - - /var/run/docker.sock:/tmp/docker.sock:ro - environment: + - &dockerSocket /var/run/docker.sock:/tmp/docker.sock:ro + environment: &nginxProxyEnv PREFER_IPV6_NETWORK: "true" - networks: + networks: &nginxProxyNetworks ipv4net: ipv4_address: 172.16.10.3 dualstacknet: ipv4_address: 172.16.20.3 ipv6_address: fd00:cafe:face:feed::3 + + sut-dockergen: + profiles: + - separateContainers + image: nginxproxy/nginx-proxy:test-dockergen + volumes: + - &confVolume nginx_conf:/etc/nginx/conf.d + - *dockerSocket + environment: + <<: *nginxProxyEnv + networks: + <<: *nginxProxyNetworks + + sut-nginx: + profiles: + - separateContainers + container_name: nginx-proxy + image: nginx:alpine + volumes: + - *confVolume + labels: + - "com.github.nginx-proxy.nginx-proxy.nginx" + networks: + ipv4net: + ipv4_address: 172.16.10.4 + dualstacknet: + ipv4_address: 172.16.20.4 + ipv6_address: fd00:cafe:face:feed::4