mirror of
https://github.com/d9pouces/id_configurator.git
synced 2026-11-09 01:47:21 +01:00
feat: add plain-HTTP listeners for various repository configurations to support non-HTTPS access
Signed-off-by: d9pouces <github@19pouces.net>
This commit is contained in:
@@ -5,6 +5,7 @@ COPY --from=generated-config Python.yaml /config.yaml
|
||||
RUN id-configurator apply --config /config.yaml --src /src --dst /dst
|
||||
FROM target AS runtime
|
||||
ARG PYPI_REPO_PORT
|
||||
ARG PYPI_REPO_SCHEME
|
||||
# Warm up uv and poetry themselves from the real, network-reachable PyPI
|
||||
# while the default index is still in place, so the actual tests below
|
||||
# never need anything but the fixture repository configured by
|
||||
@@ -20,5 +21,5 @@ RUN uv pip install --system idconfiguratortestpkg \
|
||||
&& python3 -c "import idconfiguratortestpkg"
|
||||
RUN mkdir -p /tmp/poetrytest && cd /tmp/poetrytest \
|
||||
&& poetry init -n --name poetrytest \
|
||||
&& poetry source add --priority explicit demo "https://host.docker.internal:${PYPI_REPO_PORT}/simple/" \
|
||||
&& poetry source add --priority explicit demo "${PYPI_REPO_SCHEME}://host.docker.internal:${PYPI_REPO_PORT}/simple/" \
|
||||
&& poetry add idconfiguratortestpkg --source demo
|
||||
|
||||
@@ -5,6 +5,7 @@ COPY --from=generated-config Python.yaml /config.yaml
|
||||
RUN id-configurator apply --config /config.yaml --src /src --dst /dst
|
||||
FROM target AS runtime
|
||||
ARG PYPI_REPO_PORT
|
||||
ARG PYPI_REPO_SCHEME
|
||||
# Warm up uv and poetry themselves from the real, network-reachable PyPI
|
||||
# while the default index is still in place, so the actual tests below
|
||||
# never need anything but the fixture repository configured by
|
||||
@@ -20,5 +21,5 @@ RUN uv pip install --system idconfiguratortestpkg \
|
||||
&& python3 -c "import idconfiguratortestpkg"
|
||||
RUN mkdir -p /tmp/poetrytest && cd /tmp/poetrytest \
|
||||
&& poetry init -n --name poetrytest \
|
||||
&& poetry source add --priority explicit demo "https://host.docker.internal:${PYPI_REPO_PORT}/simple/" \
|
||||
&& poetry source add --priority explicit demo "${PYPI_REPO_SCHEME}://host.docker.internal:${PYPI_REPO_PORT}/simple/" \
|
||||
&& poetry add idconfiguratortestpkg --source demo
|
||||
|
||||
@@ -8,3 +8,13 @@ server {
|
||||
root /srv;
|
||||
autoindex off;
|
||||
}
|
||||
|
||||
# Plain-HTTP listener, for the module-*-http tox envs that verify id-configurator
|
||||
# correctly configures a non-HTTPS repository.
|
||||
server {
|
||||
listen 8080 default_server;
|
||||
server_name _;
|
||||
|
||||
root /srv;
|
||||
autoindex off;
|
||||
}
|
||||
|
||||
@@ -8,3 +8,13 @@ server {
|
||||
root /srv;
|
||||
autoindex off;
|
||||
}
|
||||
|
||||
# Plain-HTTP listener, for the module-*-http tox envs that verify id-configurator
|
||||
# correctly configures a non-HTTPS repository.
|
||||
server {
|
||||
listen 8080 default_server;
|
||||
server_name _;
|
||||
|
||||
root /srv;
|
||||
autoindex off;
|
||||
}
|
||||
|
||||
@@ -12,10 +12,28 @@ server {
|
||||
# templates, since the host:port this fixture is actually reached on is
|
||||
# only known once tox-docker starts the container, not at image-build
|
||||
# time. $http_host reflects exactly what the client (cargo) used to
|
||||
# connect, e.g. host.docker.internal:55123.
|
||||
# connect, e.g. host.docker.internal:55123; $scheme likewise reflects
|
||||
# whichever of this file's two listeners actually served the request.
|
||||
location = /config.json {
|
||||
default_type application/json;
|
||||
sub_filter '__BASE_URL__' 'https://$http_host';
|
||||
sub_filter '__BASE_URL__' '$scheme://$http_host';
|
||||
sub_filter_once off;
|
||||
sub_filter_types application/json;
|
||||
}
|
||||
}
|
||||
|
||||
# Plain-HTTP listener, for the module-rust-http tox env that verifies
|
||||
# id-configurator correctly configures a non-HTTPS repository.
|
||||
server {
|
||||
listen 8080 default_server;
|
||||
server_name _;
|
||||
|
||||
root /srv;
|
||||
autoindex off;
|
||||
|
||||
location = /config.json {
|
||||
default_type application/json;
|
||||
sub_filter '__BASE_URL__' '$scheme://$http_host';
|
||||
sub_filter_once off;
|
||||
sub_filter_types application/json;
|
||||
}
|
||||
|
||||
@@ -8,3 +8,13 @@ server {
|
||||
root /srv;
|
||||
autoindex off;
|
||||
}
|
||||
|
||||
# Plain-HTTP listener, for the module-*-http tox envs that verify id-configurator
|
||||
# correctly configures a non-HTTPS repository.
|
||||
server {
|
||||
listen 8080 default_server;
|
||||
server_name _;
|
||||
|
||||
root /srv;
|
||||
autoindex off;
|
||||
}
|
||||
|
||||
@@ -8,3 +8,13 @@ server {
|
||||
root /srv;
|
||||
autoindex off;
|
||||
}
|
||||
|
||||
# Plain-HTTP listener, for the module-*-http tox envs that verify id-configurator
|
||||
# correctly configures a non-HTTPS repository.
|
||||
server {
|
||||
listen 8080 default_server;
|
||||
server_name _;
|
||||
|
||||
root /srv;
|
||||
autoindex off;
|
||||
}
|
||||
|
||||
@@ -12,10 +12,29 @@ server {
|
||||
# its tarball URL, since the host:port this fixture is actually reached
|
||||
# on is only known once tox-docker starts the container, not at
|
||||
# image-build time. $http_host reflects exactly what the client (npm)
|
||||
# used to connect, e.g. host.docker.internal:55123.
|
||||
# used to connect, e.g. host.docker.internal:55123; $scheme likewise
|
||||
# reflects whichever of this file's two listeners actually served the
|
||||
# request.
|
||||
location = /idconfiguratortestpkg {
|
||||
default_type application/json;
|
||||
sub_filter '__BASE_URL__' 'https://$http_host';
|
||||
sub_filter '__BASE_URL__' '$scheme://$http_host';
|
||||
sub_filter_once off;
|
||||
sub_filter_types application/json;
|
||||
}
|
||||
}
|
||||
|
||||
# Plain-HTTP listener, for the module-npm-http tox env that verifies
|
||||
# id-configurator correctly configures a non-HTTPS repository.
|
||||
server {
|
||||
listen 8080 default_server;
|
||||
server_name _;
|
||||
|
||||
root /srv;
|
||||
autoindex off;
|
||||
|
||||
location = /idconfiguratortestpkg {
|
||||
default_type application/json;
|
||||
sub_filter '__BASE_URL__' '$scheme://$http_host';
|
||||
sub_filter_once off;
|
||||
sub_filter_types application/json;
|
||||
}
|
||||
|
||||
@@ -12,10 +12,28 @@ server {
|
||||
# fields, since the host:port this fixture is actually reached on is
|
||||
# only known once tox-docker starts the container, not at image-build
|
||||
# time. $http_host reflects exactly what the client (nuget) used to
|
||||
# connect, e.g. host.docker.internal:55123.
|
||||
# connect, e.g. host.docker.internal:55123; $scheme likewise reflects
|
||||
# whichever of this file's two listeners actually served the request.
|
||||
location = /index.json {
|
||||
default_type application/json;
|
||||
sub_filter '__BASE_URL__' 'https://$http_host';
|
||||
sub_filter '__BASE_URL__' '$scheme://$http_host';
|
||||
sub_filter_once off;
|
||||
sub_filter_types application/json;
|
||||
}
|
||||
}
|
||||
|
||||
# Plain-HTTP listener, for the module-nuget-http tox env that verifies
|
||||
# id-configurator correctly configures a non-HTTPS repository.
|
||||
server {
|
||||
listen 8080 default_server;
|
||||
server_name _;
|
||||
|
||||
root /srv;
|
||||
autoindex off;
|
||||
|
||||
location = /index.json {
|
||||
default_type application/json;
|
||||
sub_filter '__BASE_URL__' '$scheme://$http_host';
|
||||
sub_filter_once off;
|
||||
sub_filter_types application/json;
|
||||
}
|
||||
|
||||
@@ -12,10 +12,28 @@ server {
|
||||
# since the host:port this fixture is actually reached on is only known
|
||||
# once tox-docker starts the container, not at image-build time.
|
||||
# $http_host reflects exactly what the client (Composer) used to
|
||||
# connect, e.g. host.docker.internal:55123.
|
||||
# connect, e.g. host.docker.internal:55123; $scheme likewise reflects
|
||||
# whichever of this file's two listeners actually served the request.
|
||||
location = /packages.json {
|
||||
default_type application/json;
|
||||
sub_filter '__BASE_URL__' 'https://$http_host';
|
||||
sub_filter '__BASE_URL__' '$scheme://$http_host';
|
||||
sub_filter_once off;
|
||||
sub_filter_types application/json;
|
||||
}
|
||||
}
|
||||
|
||||
# Plain-HTTP listener, for the module-php-http tox env that verifies
|
||||
# id-configurator correctly configures a non-HTTPS repository.
|
||||
server {
|
||||
listen 8080 default_server;
|
||||
server_name _;
|
||||
|
||||
root /srv;
|
||||
autoindex off;
|
||||
|
||||
location = /packages.json {
|
||||
default_type application/json;
|
||||
sub_filter '__BASE_URL__' '$scheme://$http_host';
|
||||
sub_filter_once off;
|
||||
sub_filter_types application/json;
|
||||
}
|
||||
|
||||
@@ -8,3 +8,13 @@ server {
|
||||
root /srv;
|
||||
autoindex off;
|
||||
}
|
||||
|
||||
# Plain-HTTP listener, for the module-*-http tox envs that verify id-configurator
|
||||
# correctly configures a non-HTTPS repository.
|
||||
server {
|
||||
listen 8080 default_server;
|
||||
server_name _;
|
||||
|
||||
root /srv;
|
||||
autoindex off;
|
||||
}
|
||||
|
||||
@@ -8,3 +8,13 @@ server {
|
||||
root /srv;
|
||||
autoindex off;
|
||||
}
|
||||
|
||||
# Plain-HTTP listener, for the module-*-http tox envs that verify id-configurator
|
||||
# correctly configures a non-HTTPS repository.
|
||||
server {
|
||||
listen 8080 default_server;
|
||||
server_name _;
|
||||
|
||||
root /srv;
|
||||
autoindex off;
|
||||
}
|
||||
|
||||
@@ -8,3 +8,13 @@ server {
|
||||
root /srv;
|
||||
autoindex off;
|
||||
}
|
||||
|
||||
# Plain-HTTP listener, for the module-*-http tox envs that verify id-configurator
|
||||
# correctly configures a non-HTTPS repository.
|
||||
server {
|
||||
listen 8080 default_server;
|
||||
server_name _;
|
||||
|
||||
root /srv;
|
||||
autoindex off;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user