From 700cc85372bdf6b694d308d26c78862b8ab33b44 Mon Sep 17 00:00:00 2001 From: matthiasL-scality Date: Tue, 10 Mar 2026 10:56:44 +0100 Subject: [PATCH 01/14] Testing purpose --- charts/artifacts/templates/deployment.yaml | 2 +- charts/artifacts/values.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/charts/artifacts/templates/deployment.yaml b/charts/artifacts/templates/deployment.yaml index df23ab9..ac0e338 100644 --- a/charts/artifacts/templates/deployment.yaml +++ b/charts/artifacts/templates/deployment.yaml @@ -32,7 +32,7 @@ spec: {{- end }} containers: - name: artifacts - image: "{{ .Values.image.registry }}/{{ .Values.image.repository }}:{{ .Values.image.tag }}" + image: "{{ .Values.image.registry }}/{{ .Values.image.repository }}/artifacts:{{ .Values.image.tag }}" imagePullPolicy: {{ .Values.image.pullPolicy | quote }} envFrom: - secretRef: diff --git a/charts/artifacts/values.yaml b/charts/artifacts/values.yaml index 89b49ea..d26f244 100644 --- a/charts/artifacts/values.yaml +++ b/charts/artifacts/values.yaml @@ -65,7 +65,7 @@ image: ## tag specifies the version to deploy. ## - tag: 4.2.13 + tag: 6aa763843118464c7c75912d2eb726395a81a5b9 ## pullPolicy specifies the image pull policy ## From 192ba23b291b9ba1a9ed5991bdf3ca1bb6d027fb Mon Sep 17 00:00:00 2001 From: matthiasL-scality Date: Tue, 10 Mar 2026 12:08:59 +0100 Subject: [PATCH 02/14] Testing purpose --- charts/artifacts/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/artifacts/values.yaml b/charts/artifacts/values.yaml index d26f244..f4bd6e1 100644 --- a/charts/artifacts/values.yaml +++ b/charts/artifacts/values.yaml @@ -65,7 +65,7 @@ image: ## tag specifies the version to deploy. ## - tag: 6aa763843118464c7c75912d2eb726395a81a5b9 + tag: aa5e06640aa56da593b52a48212a92d0ce520b3a ## pullPolicy specifies the image pull policy ## From 5a74e7df8467407a168e708ea38b249c1bc00518 Mon Sep 17 00:00:00 2001 From: matthiasL-scality Date: Tue, 10 Mar 2026 15:42:41 +0100 Subject: [PATCH 03/14] Testing purpose --- charts/artifacts/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/artifacts/values.yaml b/charts/artifacts/values.yaml index f4bd6e1..9be18ce 100644 --- a/charts/artifacts/values.yaml +++ b/charts/artifacts/values.yaml @@ -65,7 +65,7 @@ image: ## tag specifies the version to deploy. ## - tag: aa5e06640aa56da593b52a48212a92d0ce520b3a + tag: 62a7668a54fb79119d8e39f6e81d018572dc87be ## pullPolicy specifies the image pull policy ## From 72b9216e2b87c903fbfcacb3338007494c6fc3dd Mon Sep 17 00:00:00 2001 From: matthiasL-scality Date: Tue, 10 Mar 2026 17:11:31 +0100 Subject: [PATCH 04/14] Use redirect instead of download to use s3 --- conf/nginx.conf.template | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/conf/nginx.conf.template b/conf/nginx.conf.template index ceadd77..76ce821 100644 --- a/conf/nginx.conf.template +++ b/conf/nginx.conf.template @@ -251,7 +251,11 @@ http { # Handle "/builds/" location to keep backward compatibility with the # previous artifacts implementations. + # File downloads (build_name/path, no trailing slash) are redirected to + # /redirect/ so the client downloads directly from S3 via presigned URL. + # Directory listings (trailing slash) continue to use /download/. # + rewrite ^/builds/([^/]+/.+[^/])$ /redirect/$1 redirect; rewrite ^/builds/(.*)$ /download/$1 last; # Handle subdir listing under "/redirect/" From a4a9c1991b2e4949e180a0a873a1ac2256f0f4e9 Mon Sep 17 00:00:00 2001 From: matthiasL-scality Date: Tue, 10 Mar 2026 17:12:32 +0100 Subject: [PATCH 05/14] Testing purpose --- charts/artifacts/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/artifacts/values.yaml b/charts/artifacts/values.yaml index 9be18ce..4b678f8 100644 --- a/charts/artifacts/values.yaml +++ b/charts/artifacts/values.yaml @@ -65,7 +65,7 @@ image: ## tag specifies the version to deploy. ## - tag: 62a7668a54fb79119d8e39f6e81d018572dc87be + tag: a3e1ca4fea6bdd434a14b59d9c70c96016991e74 ## pullPolicy specifies the image pull policy ## From 101e1c2dd7b6c5428fb1ec13eb069a314a3509c5 Mon Sep 17 00:00:00 2001 From: matthiasL-scality Date: Wed, 11 Mar 2026 09:29:44 +0100 Subject: [PATCH 06/14] Add redirect only for curl/wget, not webbrowser, improve copy when promote --- conf/nginx.conf.template | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/conf/nginx.conf.template b/conf/nginx.conf.template index 76ce821..65e41fa 100644 --- a/conf/nginx.conf.template +++ b/conf/nginx.conf.template @@ -251,11 +251,17 @@ http { # Handle "/builds/" location to keep backward compatibility with the # previous artifacts implementations. - # File downloads (build_name/path, no trailing slash) are redirected to - # /redirect/ so the client downloads directly from S3 via presigned URL. - # Directory listings (trailing slash) continue to use /download/. - # - rewrite ^/builds/([^/]+/.+[^/])$ /redirect/$1 redirect; + # CLI clients (curl, wget, aria2c — no "Mozilla" in User-Agent) fetching + # a file are internally rewritten to /redirect/ so they receive a presigned + # URL and download directly from S3. Browser clients keep the original + # proxied-through-nginx behaviour (/download/). + # Directory listings (trailing slash) always go to /download/. + # + set $builds_backend "/download/"; + if ($http_user_agent !~* "Mozilla") { + set $builds_backend "/redirect/"; + } + rewrite ^/builds/([^/]+/.+[^/])$ $builds_backend$1 last; rewrite ^/builds/(.*)$ /download/$1 last; # Handle subdir listing under "/redirect/" From 1123d84670d8dd74ac755a486c7fdfabe9a32208 Mon Sep 17 00:00:00 2001 From: matthiasL-scality Date: Wed, 11 Mar 2026 15:43:53 +0100 Subject: [PATCH 07/14] Testing purpose --- charts/artifacts/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/artifacts/values.yaml b/charts/artifacts/values.yaml index 4b678f8..a78b0e4 100644 --- a/charts/artifacts/values.yaml +++ b/charts/artifacts/values.yaml @@ -65,7 +65,7 @@ image: ## tag specifies the version to deploy. ## - tag: a3e1ca4fea6bdd434a14b59d9c70c96016991e74 + tag: 4.3.2 ## pullPolicy specifies the image pull policy ## From 95421a1d52dce70112f80e493dbd7f53d0db7d00 Mon Sep 17 00:00:00 2001 From: matthiasL-scality Date: Wed, 11 Mar 2026 16:05:25 +0100 Subject: [PATCH 08/14] Testing purpose --- charts/artifacts/templates/deployment.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/artifacts/templates/deployment.yaml b/charts/artifacts/templates/deployment.yaml index ac0e338..df23ab9 100644 --- a/charts/artifacts/templates/deployment.yaml +++ b/charts/artifacts/templates/deployment.yaml @@ -32,7 +32,7 @@ spec: {{- end }} containers: - name: artifacts - image: "{{ .Values.image.registry }}/{{ .Values.image.repository }}/artifacts:{{ .Values.image.tag }}" + image: "{{ .Values.image.registry }}/{{ .Values.image.repository }}:{{ .Values.image.tag }}" imagePullPolicy: {{ .Values.image.pullPolicy | quote }} envFrom: - secretRef: From 70e6ea037e28626e844104395c9874cbdda3c8b6 Mon Sep 17 00:00:00 2001 From: matthiasL-scality Date: Thu, 12 Mar 2026 12:05:19 +0100 Subject: [PATCH 09/14] (PTFE-3070) No redirect for HEAD --- conf/nginx.conf.template | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/conf/nginx.conf.template b/conf/nginx.conf.template index 65e41fa..cf650ac 100644 --- a/conf/nginx.conf.template +++ b/conf/nginx.conf.template @@ -261,6 +261,10 @@ http { if ($http_user_agent !~* "Mozilla") { set $builds_backend "/redirect/"; } + # HEAD requests are metadata checks, not downloads: always proxy directly. + if ($request_method = "HEAD") { + set $builds_backend "/download/"; + } rewrite ^/builds/([^/]+/.+[^/])$ $builds_backend$1 last; rewrite ^/builds/(.*)$ /download/$1 last; From e54369b82f1a76ff5bcfe77a3911eaf93804ab04 Mon Sep 17 00:00:00 2001 From: matthiasL-scality Date: Thu, 12 Mar 2026 13:48:31 +0100 Subject: [PATCH 10/14] Testing purpose --- charts/artifacts/templates/deployment.yaml | 2 +- charts/artifacts/values.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/charts/artifacts/templates/deployment.yaml b/charts/artifacts/templates/deployment.yaml index df23ab9..ac0e338 100644 --- a/charts/artifacts/templates/deployment.yaml +++ b/charts/artifacts/templates/deployment.yaml @@ -32,7 +32,7 @@ spec: {{- end }} containers: - name: artifacts - image: "{{ .Values.image.registry }}/{{ .Values.image.repository }}:{{ .Values.image.tag }}" + image: "{{ .Values.image.registry }}/{{ .Values.image.repository }}/artifacts:{{ .Values.image.tag }}" imagePullPolicy: {{ .Values.image.pullPolicy | quote }} envFrom: - secretRef: diff --git a/charts/artifacts/values.yaml b/charts/artifacts/values.yaml index a78b0e4..512e8b4 100644 --- a/charts/artifacts/values.yaml +++ b/charts/artifacts/values.yaml @@ -65,7 +65,7 @@ image: ## tag specifies the version to deploy. ## - tag: 4.3.2 + tag: 990496c14ad3619afc646d95707d17fba517fbf4 ## pullPolicy specifies the image pull policy ## From 4f54b5089054fac493962e3379f25f108ca20d56 Mon Sep 17 00:00:00 2001 From: matthiasL-scality Date: Wed, 18 Mar 2026 09:30:04 +0100 Subject: [PATCH 11/14] test s3 --- charts/artifacts/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/artifacts/values.yaml b/charts/artifacts/values.yaml index 512e8b4..4eea4c5 100644 --- a/charts/artifacts/values.yaml +++ b/charts/artifacts/values.yaml @@ -65,7 +65,7 @@ image: ## tag specifies the version to deploy. ## - tag: 990496c14ad3619afc646d95707d17fba517fbf4 + tag: cb861c46feacaa59ec5eff1a6d50090d0fb527ff ## pullPolicy specifies the image pull policy ## From e0865fc2978f5c21096e53ebc666a3781714ac31 Mon Sep 17 00:00:00 2001 From: matthiasL-scality Date: Wed, 18 Mar 2026 17:14:31 +0100 Subject: [PATCH 12/14] test s3 --- charts/artifacts/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/artifacts/values.yaml b/charts/artifacts/values.yaml index 4eea4c5..65846d2 100644 --- a/charts/artifacts/values.yaml +++ b/charts/artifacts/values.yaml @@ -65,7 +65,7 @@ image: ## tag specifies the version to deploy. ## - tag: cb861c46feacaa59ec5eff1a6d50090d0fb527ff + tag: 860d08acdbf7776f910975734bd84e87a37f57af ## pullPolicy specifies the image pull policy ## From 7e535507e5c0140cf8efcfa2fd54a77b8c4197eb Mon Sep 17 00:00:00 2001 From: matthiasL-scality Date: Thu, 19 Mar 2026 09:48:58 +0100 Subject: [PATCH 13/14] test s3 --- charts/artifacts/templates/deployment.yaml | 2 +- charts/artifacts/values.yaml | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/charts/artifacts/templates/deployment.yaml b/charts/artifacts/templates/deployment.yaml index ac0e338..df23ab9 100644 --- a/charts/artifacts/templates/deployment.yaml +++ b/charts/artifacts/templates/deployment.yaml @@ -32,7 +32,7 @@ spec: {{- end }} containers: - name: artifacts - image: "{{ .Values.image.registry }}/{{ .Values.image.repository }}/artifacts:{{ .Values.image.tag }}" + image: "{{ .Values.image.registry }}/{{ .Values.image.repository }}:{{ .Values.image.tag }}" imagePullPolicy: {{ .Values.image.pullPolicy | quote }} envFrom: - secretRef: diff --git a/charts/artifacts/values.yaml b/charts/artifacts/values.yaml index 65846d2..c15372e 100644 --- a/charts/artifacts/values.yaml +++ b/charts/artifacts/values.yaml @@ -61,7 +61,9 @@ image: ## repository on the registry to pull from. ## - repository: scality/artifacts + repository: scality/artifacts/artifacts + + ## tag specifies the version to deploy. ## tag specifies the version to deploy. ## From 2816bbe331ce269b8071eacd8d17ba3d120b37f7 Mon Sep 17 00:00:00 2001 From: matthiasL-scality Date: Thu, 19 Mar 2026 14:45:01 +0100 Subject: [PATCH 14/14] Redirect upload to s3 --- charts/artifacts/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/artifacts/values.yaml b/charts/artifacts/values.yaml index c15372e..b174ff8 100644 --- a/charts/artifacts/values.yaml +++ b/charts/artifacts/values.yaml @@ -67,7 +67,7 @@ image: ## tag specifies the version to deploy. ## - tag: 860d08acdbf7776f910975734bd84e87a37f57af + tag: e4353ee49de6d0ec3c3e3b7b0cd1d16cadf8730c ## pullPolicy specifies the image pull policy ##