From f824f0dc741790d8556d1c99f8e171d984d1ee76 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Sep 2025 19:04:14 +0000 Subject: [PATCH 01/26] Bump the all-modules group in /sda-download with 2 updates Bumps the all-modules group in /sda-download with 2 updates: [google.golang.org/grpc](https://github.com/grpc/grpc-go) and google.golang.org/protobuf. Updates `google.golang.org/grpc` from 1.75.0 to 1.75.1 - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.75.0...v1.75.1) Updates `google.golang.org/protobuf` from 1.36.8 to 1.36.9 --- updated-dependencies: - dependency-name: google.golang.org/grpc dependency-version: 1.75.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-modules - dependency-name: google.golang.org/protobuf dependency-version: 1.36.9 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-modules ... Signed-off-by: dependabot[bot] --- sda-download/go.mod | 4 ++-- sda-download/go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/sda-download/go.mod b/sda-download/go.mod index be1582d707..bdffa23c95 100644 --- a/sda-download/go.mod +++ b/sda-download/go.mod @@ -17,8 +17,8 @@ require ( github.com/stretchr/testify v1.11.1 golang.org/x/crypto v0.42.0 golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6 - google.golang.org/grpc v1.75.0 - google.golang.org/protobuf v1.36.8 + google.golang.org/grpc v1.75.1 + google.golang.org/protobuf v1.36.9 ) require ( diff --git a/sda-download/go.sum b/sda-download/go.sum index ad2264e99f..0de5ab8b16 100644 --- a/sda-download/go.sum +++ b/sda-download/go.sum @@ -234,10 +234,10 @@ gonum.org/v1/gonum v0.16.0 h1:5+ul4Swaf3ESvrOnidPp4GZbzf0mxVQpDCYUQE7OJfk= gonum.org/v1/gonum v0.16.0/go.mod h1:fef3am4MQ93R2HHpKnLk4/Tbh/s0+wqD5nfa6Pnwy4E= google.golang.org/genproto/googleapis/rpc v0.0.0-20250707201910-8d1bb00bc6a7 h1:pFyd6EwwL2TqFf8emdthzeX+gZE1ElRq3iM8pui4KBY= google.golang.org/genproto/googleapis/rpc v0.0.0-20250707201910-8d1bb00bc6a7/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A= -google.golang.org/grpc v1.75.0 h1:+TW+dqTd2Biwe6KKfhE5JpiYIBWq865PhKGSXiivqt4= -google.golang.org/grpc v1.75.0/go.mod h1:JtPAzKiq4v1xcAB2hydNlWI2RnF85XXcV0mhKXr2ecQ= -google.golang.org/protobuf v1.36.8 h1:xHScyCOEuuwZEc6UtSOvPbAT4zRh0xcNRYekJwfqyMc= -google.golang.org/protobuf v1.36.8/go.mod h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU= +google.golang.org/grpc v1.75.1 h1:/ODCNEuf9VghjgO3rqLcfg8fiOP0nSluljWFlDxELLI= +google.golang.org/grpc v1.75.1/go.mod h1:JtPAzKiq4v1xcAB2hydNlWI2RnF85XXcV0mhKXr2ecQ= +google.golang.org/protobuf v1.36.9 h1:w2gp2mA27hUeUzj9Ex9FBjsBm40zfaDtEWow293U7Iw= +google.golang.org/protobuf v1.36.9/go.mod h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= From 9971e97da09fbd776f6eff3fa3934c6997311bee Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Sep 2025 19:04:17 +0000 Subject: [PATCH 02/26] Bump the all-modules group in /sda-sftp-inbox with 2 updates Bumps the all-modules group in /sda-sftp-inbox with 2 updates: [org.apache.maven.plugins:maven-surefire-plugin](https://github.com/apache/maven-surefire) and [org.apache.maven.plugins:maven-failsafe-plugin](https://github.com/apache/maven-surefire). Updates `org.apache.maven.plugins:maven-surefire-plugin` from 3.5.3 to 3.5.4 - [Release notes](https://github.com/apache/maven-surefire/releases) - [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.5.3...surefire-3.5.4) Updates `org.apache.maven.plugins:maven-failsafe-plugin` from 3.5.3 to 3.5.4 - [Release notes](https://github.com/apache/maven-surefire/releases) - [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.5.3...surefire-3.5.4) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-surefire-plugin dependency-version: 3.5.4 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-modules - dependency-name: org.apache.maven.plugins:maven-failsafe-plugin dependency-version: 3.5.4 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-modules ... Signed-off-by: dependabot[bot] --- sda-sftp-inbox/pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sda-sftp-inbox/pom.xml b/sda-sftp-inbox/pom.xml index 37324fd37d..61e67e815f 100644 --- a/sda-sftp-inbox/pom.xml +++ b/sda-sftp-inbox/pom.xml @@ -184,12 +184,12 @@ maven-surefire-plugin - 3.5.3 + 3.5.4 org.apache.maven.plugins maven-failsafe-plugin - 3.5.3 + 3.5.4 From fe1b1d1b7a7603d64bf6912afdf1f1b7cc862232 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Sep 2025 19:10:35 +0000 Subject: [PATCH 03/26] Bump com.google.code.gson:gson in /sda-doa in the all-modules group Bumps the all-modules group in /sda-doa with 1 update: [com.google.code.gson:gson](https://github.com/google/gson). Updates `com.google.code.gson:gson` from 2.13.1 to 2.13.2 - [Release notes](https://github.com/google/gson/releases) - [Changelog](https://github.com/google/gson/blob/main/CHANGELOG.md) - [Commits](https://github.com/google/gson/compare/gson-parent-2.13.1...gson-parent-2.13.2) --- updated-dependencies: - dependency-name: com.google.code.gson:gson dependency-version: 2.13.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-modules ... Signed-off-by: dependabot[bot] --- sda-doa/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sda-doa/pom.xml b/sda-doa/pom.xml index a7d98e50cc..45cf5467ef 100644 --- a/sda-doa/pom.xml +++ b/sda-doa/pom.xml @@ -21,7 +21,7 @@ com.google.code.gson gson - 2.13.1 + 2.13.2 org.springframework.boot From d868aa000bff2e4659e62263d1aaf3ea85fd10cb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Sep 2025 19:11:05 +0000 Subject: [PATCH 04/26] Bump the all-modules group in /sda with 7 updates Bumps the all-modules group in /sda with 7 updates: | Package | From | To | | --- | --- | --- | | [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) | `1.31.7` | `1.31.8` | | [github.com/aws/aws-sdk-go-v2/credentials](https://github.com/aws/aws-sdk-go-v2) | `1.18.11` | `1.18.12` | | [github.com/aws/aws-sdk-go-v2/feature/s3/manager](https://github.com/aws/aws-sdk-go-v2) | `1.19.5` | `1.19.6` | | [github.com/aws/aws-sdk-go-v2/service/s3](https://github.com/aws/aws-sdk-go-v2) | `1.88.0` | `1.88.1` | | [github.com/casbin/casbin/v2](https://github.com/casbin/casbin) | `2.122.0` | `2.123.0` | | [google.golang.org/grpc](https://github.com/grpc/grpc-go) | `1.75.0` | `1.75.1` | | google.golang.org/protobuf | `1.36.8` | `1.36.9` | Updates `github.com/aws/aws-sdk-go-v2/config` from 1.31.7 to 1.31.8 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.31.7...config/v1.31.8) Updates `github.com/aws/aws-sdk-go-v2/credentials` from 1.18.11 to 1.18.12 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.18.11...config/v1.18.12) Updates `github.com/aws/aws-sdk-go-v2/feature/s3/manager` from 1.19.5 to 1.19.6 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/pi/v1.19.5...service/m2/v1.19.6) Updates `github.com/aws/aws-sdk-go-v2/service/s3` from 1.88.0 to 1.88.1 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.88.0...service/s3/v1.88.1) Updates `github.com/casbin/casbin/v2` from 2.122.0 to 2.123.0 - [Release notes](https://github.com/casbin/casbin/releases) - [Changelog](https://github.com/casbin/casbin/blob/master/.releaserc.json) - [Commits](https://github.com/casbin/casbin/compare/v2.122.0...v2.123.0) Updates `google.golang.org/grpc` from 1.75.0 to 1.75.1 - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.75.0...v1.75.1) Updates `google.golang.org/protobuf` from 1.36.8 to 1.36.9 --- updated-dependencies: - dependency-name: github.com/aws/aws-sdk-go-v2/config dependency-version: 1.31.8 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-modules - dependency-name: github.com/aws/aws-sdk-go-v2/credentials dependency-version: 1.18.12 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-modules - dependency-name: github.com/aws/aws-sdk-go-v2/feature/s3/manager dependency-version: 1.19.6 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-modules - dependency-name: github.com/aws/aws-sdk-go-v2/service/s3 dependency-version: 1.88.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-modules - dependency-name: github.com/casbin/casbin/v2 dependency-version: 2.123.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: all-modules - dependency-name: google.golang.org/grpc dependency-version: 1.75.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-modules - dependency-name: google.golang.org/protobuf dependency-version: 1.36.9 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-modules ... Signed-off-by: dependabot[bot] --- sda/go.mod | 20 ++++++++++---------- sda/go.sum | 40 ++++++++++++++++++++-------------------- 2 files changed, 30 insertions(+), 30 deletions(-) diff --git a/sda/go.mod b/sda/go.mod index 27e056de21..6bf7992bfc 100644 --- a/sda/go.mod +++ b/sda/go.mod @@ -4,12 +4,12 @@ go 1.24.1 require ( github.com/aws/aws-sdk-go-v2 v1.39.0 - github.com/aws/aws-sdk-go-v2/config v1.31.7 - github.com/aws/aws-sdk-go-v2/credentials v1.18.11 - github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.19.5 - github.com/aws/aws-sdk-go-v2/service/s3 v1.88.0 + github.com/aws/aws-sdk-go-v2/config v1.31.8 + github.com/aws/aws-sdk-go-v2/credentials v1.18.12 + github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.19.6 + github.com/aws/aws-sdk-go-v2/service/s3 v1.88.1 github.com/aws/smithy-go v1.23.0 - github.com/casbin/casbin/v2 v2.122.0 + github.com/casbin/casbin/v2 v2.123.0 github.com/coreos/go-oidc/v3 v3.15.0 github.com/gin-gonic/gin v1.10.1 github.com/google/uuid v1.6.0 @@ -33,8 +33,8 @@ require ( github.com/stretchr/testify v1.11.1 golang.org/x/crypto v0.42.0 golang.org/x/oauth2 v0.31.0 - google.golang.org/grpc v1.75.0 - google.golang.org/protobuf v1.36.8 + google.golang.org/grpc v1.75.1 + google.golang.org/protobuf v1.36.9 ) require ( @@ -59,9 +59,9 @@ require ( github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.7 // indirect github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.7 // indirect github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.7 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.29.2 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.34.3 // indirect - github.com/aws/aws-sdk-go-v2/service/sts v1.38.3 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.29.3 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.34.4 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.38.4 // indirect github.com/aymerick/douceur v0.2.0 // indirect github.com/bmatcuk/doublestar/v4 v4.8.1 // indirect github.com/bytedance/sonic v1.13.2 // indirect diff --git a/sda/go.sum b/sda/go.sum index 6e98f3a961..ce6ab18dc2 100644 --- a/sda/go.sum +++ b/sda/go.sum @@ -28,14 +28,14 @@ github.com/aws/aws-sdk-go-v2 v1.39.0 h1:xm5WV/2L4emMRmMjHFykqiA4M/ra0DJVSWUkDyBj github.com/aws/aws-sdk-go-v2 v1.39.0/go.mod h1:sDioUELIUO9Znk23YVmIk86/9DOpkbyyVb1i/gUNFXY= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.1 h1:i8p8P4diljCr60PpJp6qZXNlgX4m2yQFpYk+9ZT+J4E= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.1/go.mod h1:ddqbooRZYNoJ2dsTwOty16rM+/Aqmk/GOXrK8cg7V00= -github.com/aws/aws-sdk-go-v2/config v1.31.7 h1:zS1O6hr6t0nZdBCMFc/c9OyZFyLhXhf/B2IZ9Y0lRQE= -github.com/aws/aws-sdk-go-v2/config v1.31.7/go.mod h1:GpHmi1PQDdL5pP4JaB00pU0ek4EXVcYH7IkjkUadQmM= -github.com/aws/aws-sdk-go-v2/credentials v1.18.11 h1:1Fnb+7Dk96/VYx/uYfzk5sU2V0b0y2RWZROiMZCN/Io= -github.com/aws/aws-sdk-go-v2/credentials v1.18.11/go.mod h1:iuvn9v10dkxU4sDgtTXGWY0MrtkEcmkUmjv4clxhuTc= +github.com/aws/aws-sdk-go-v2/config v1.31.8 h1:kQjtOLlTU4m4A64TsRcqwNChhGCwaPBt+zCQt/oWsHU= +github.com/aws/aws-sdk-go-v2/config v1.31.8/go.mod h1:QPpc7IgljrKwH0+E6/KolCgr4WPLerURiU592AYzfSY= +github.com/aws/aws-sdk-go-v2/credentials v1.18.12 h1:zmc9e1q90wMn8wQbjryy8IwA6Q4XlaL9Bx2zIqdNNbk= +github.com/aws/aws-sdk-go-v2/credentials v1.18.12/go.mod h1:3VzdRDR5u3sSJRI4kYcOSIBbeYsgtVk7dG5R/U6qLWY= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.7 h1:Is2tPmieqGS2edBnmOJIbdvOA6Op+rRpaYR60iBAwXM= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.7/go.mod h1:F1i5V5421EGci570yABvpIXgRIBPb5JM+lSkHF6Dq5w= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.19.5 h1:fSuJX/VBJKufwJG/szWgUdRJVyRiEQDDXNh/6NPrTBg= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.19.5/go.mod h1:LvN0noQuST+3Su55Wl++BkITpptnfN9g6Ohkv4zs9To= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.19.6 h1:bByPm7VcaAgeT2+z5m0Lj5HDzm+g9AwbA3WFx2hPby0= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.19.6/go.mod h1:PhTe8fR8aFW0wDc6IV9BHeIzXhpv3q6AaVHnqiv5Pyc= github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.7 h1:UCxq0X9O3xrlENdKf1r9eRJoKz/b0AfGkpp3a7FPlhg= github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.7/go.mod h1:rHRoJUNUASj5Z/0eqI4w32vKvC7atoWR0jC+IkmVH8k= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.7 h1:Y6DTZUn7ZUC4th9FMBbo8LVE+1fyq3ofw+tRwkUd3PY= @@ -52,14 +52,14 @@ github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.7 h1:mLgc5QIgO github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.7/go.mod h1:wXb/eQnqt8mDQIQTTmcw58B5mYGxzLGZGK8PWNFZ0BA= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.7 h1:u3VbDKUCWarWiU+aIUK4gjTr/wQFXV17y3hgNno9fcA= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.7/go.mod h1:/OuMQwhSyRapYxq6ZNpPer8juGNrB4P5Oz8bZ2cgjQE= -github.com/aws/aws-sdk-go-v2/service/s3 v1.88.0 h1:k5JXPr+2SrPDwM3PdygZUenn0lVPLa3KOs7cCYqinFs= -github.com/aws/aws-sdk-go-v2/service/s3 v1.88.0/go.mod h1:xajPTguLoeQMAOE44AAP2RQoUhF8ey1g5IFHARv71po= -github.com/aws/aws-sdk-go-v2/service/sso v1.29.2 h1:rcoTaYOhGE/zfxE1uR6X5fvj+uKkqeCNRE0rBbiQM34= -github.com/aws/aws-sdk-go-v2/service/sso v1.29.2/go.mod h1:Ql6jE9kyyWI5JHn+61UT/Y5Z0oyVJGmgmJbZD5g4unY= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.34.3 h1:BSIfeFtU9tlSt8vEYS7KzurMoAuYzYPWhcZiMtxVf2M= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.34.3/go.mod h1:XclEty74bsGBCr1s0VSaA11hQ4ZidK4viWK7rRfO88I= -github.com/aws/aws-sdk-go-v2/service/sts v1.38.3 h1:yEiZ0ztgji2GsCb/6uQSITXcGdtmWMfLRys0jJFiUkc= -github.com/aws/aws-sdk-go-v2/service/sts v1.38.3/go.mod h1:Z+Gd23v97pX9zK97+tX4ppAgqCt3Z2dIXB02CtBncK8= +github.com/aws/aws-sdk-go-v2/service/s3 v1.88.1 h1:+RpGuaQ72qnU83qBKVwxkznewEdAGhIWo/PQCmkhhog= +github.com/aws/aws-sdk-go-v2/service/s3 v1.88.1/go.mod h1:xajPTguLoeQMAOE44AAP2RQoUhF8ey1g5IFHARv71po= +github.com/aws/aws-sdk-go-v2/service/sso v1.29.3 h1:7PKX3VYsZ8LUWceVRuv0+PU+E7OtQb1lgmi5vmUE9CM= +github.com/aws/aws-sdk-go-v2/service/sso v1.29.3/go.mod h1:Ql6jE9kyyWI5JHn+61UT/Y5Z0oyVJGmgmJbZD5g4unY= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.34.4 h1:e0XBRn3AptQotkyBFrHAxFB8mDhAIOfsG+7KyJ0dg98= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.34.4/go.mod h1:XclEty74bsGBCr1s0VSaA11hQ4ZidK4viWK7rRfO88I= +github.com/aws/aws-sdk-go-v2/service/sts v1.38.4 h1:PR00NXRYgY4FWHqOGx3fC3lhVKjsp1GdloDv2ynMSd8= +github.com/aws/aws-sdk-go-v2/service/sts v1.38.4/go.mod h1:Z+Gd23v97pX9zK97+tX4ppAgqCt3Z2dIXB02CtBncK8= github.com/aws/smithy-go v1.23.0 h1:8n6I3gXzWJB2DxBDnfxgBaSX6oe0d/t10qGz7OKqMCE= github.com/aws/smithy-go v1.23.0/go.mod h1:t1ufH5HMublsJYulve2RKmHDC15xu1f26kHCp/HgceI= github.com/aymerick/douceur v0.2.0 h1:Mv+mAeH1Q+n9Fr+oyamOlAkUNPWPlA8PPGR0QAaYuPk= @@ -72,8 +72,8 @@ github.com/bytedance/sonic v1.13.2/go.mod h1:o68xyaF9u2gvVBuGHPlUVCy+ZfmNNO5ETf1 github.com/bytedance/sonic/loader v0.1.1/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= github.com/bytedance/sonic/loader v0.2.4 h1:ZWCw4stuXUsn1/+zQDqeE7JKP+QO47tz7QCNan80NzY= github.com/bytedance/sonic/loader v0.2.4/go.mod h1:N8A3vUdtUebEY2/VQC0MyhYeKUFosQU6FxH2JmUe6VI= -github.com/casbin/casbin/v2 v2.122.0 h1:T960HruD6W3JZmoYQjKAu0YBLUL++5l7LormNJIcmkc= -github.com/casbin/casbin/v2 v2.122.0/go.mod h1:Ee33aqGrmES+GNL17L0h9X28wXuo829wnNUnS0edAco= +github.com/casbin/casbin/v2 v2.123.0 h1:UkiMllBgn3MrwHGiZTDFVTV9up+W2CRLufZwKiuAmpA= +github.com/casbin/casbin/v2 v2.123.0/go.mod h1:Ee33aqGrmES+GNL17L0h9X28wXuo829wnNUnS0edAco= github.com/casbin/govaluate v1.3.0/go.mod h1:G/UnbIjZk/0uMNaLwZZmFQrR72tYRZWQkO70si/iR7A= github.com/casbin/govaluate v1.6.0 h1:HXWFa4di61X4iZrWLJdpot/v1UkKUG+pPmcu7wWRxrI= github.com/casbin/govaluate v1.6.0/go.mod h1:G/UnbIjZk/0uMNaLwZZmFQrR72tYRZWQkO70si/iR7A= @@ -517,10 +517,10 @@ gonum.org/v1/gonum v0.16.0 h1:5+ul4Swaf3ESvrOnidPp4GZbzf0mxVQpDCYUQE7OJfk= gonum.org/v1/gonum v0.16.0/go.mod h1:fef3am4MQ93R2HHpKnLk4/Tbh/s0+wqD5nfa6Pnwy4E= google.golang.org/genproto/googleapis/rpc v0.0.0-20250707201910-8d1bb00bc6a7 h1:pFyd6EwwL2TqFf8emdthzeX+gZE1ElRq3iM8pui4KBY= google.golang.org/genproto/googleapis/rpc v0.0.0-20250707201910-8d1bb00bc6a7/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A= -google.golang.org/grpc v1.75.0 h1:+TW+dqTd2Biwe6KKfhE5JpiYIBWq865PhKGSXiivqt4= -google.golang.org/grpc v1.75.0/go.mod h1:JtPAzKiq4v1xcAB2hydNlWI2RnF85XXcV0mhKXr2ecQ= -google.golang.org/protobuf v1.36.8 h1:xHScyCOEuuwZEc6UtSOvPbAT4zRh0xcNRYekJwfqyMc= -google.golang.org/protobuf v1.36.8/go.mod h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU= +google.golang.org/grpc v1.75.1 h1:/ODCNEuf9VghjgO3rqLcfg8fiOP0nSluljWFlDxELLI= +google.golang.org/grpc v1.75.1/go.mod h1:JtPAzKiq4v1xcAB2hydNlWI2RnF85XXcV0mhKXr2ecQ= +google.golang.org/protobuf v1.36.9 h1:w2gp2mA27hUeUzj9Ex9FBjsBm40zfaDtEWow293U7Iw= +google.golang.org/protobuf v1.36.9/go.mod h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= From c0c6f49d844644ede4fb07b2d9a190c9a5af7e05 Mon Sep 17 00:00:00 2001 From: neicnordic Date: Tue, 16 Sep 2025 07:22:52 +0000 Subject: [PATCH 05/26] Bump chart version --- charts/sda-db/Chart.yaml | 4 ++-- charts/sda-mq/Chart.yaml | 4 ++-- charts/sda-svc/Chart.yaml | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/charts/sda-db/Chart.yaml b/charts/sda-db/Chart.yaml index e18fd38071..28638d0ab8 100644 --- a/charts/sda-db/Chart.yaml +++ b/charts/sda-db/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v2 name: sda-db -version: 2.0.18 -appVersion: v3.0.0 +version: 2.0.19 +appVersion: v3.0.9 kubeVersion: '>= 1.26.0' description: Database component for Sensitive Data Archive (SDA) installation home: https://neic-sda.readthedocs.io diff --git a/charts/sda-mq/Chart.yaml b/charts/sda-mq/Chart.yaml index 0ecc70fde0..9d0edf9271 100644 --- a/charts/sda-mq/Chart.yaml +++ b/charts/sda-mq/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v2 name: sda-mq -version: 2.0.18 -appVersion: v3.0.0 +version: 2.0.19 +appVersion: v3.0.9 kubeVersion: '>= 1.26.0' description: RabbitMQ component for Sensitive Data Archive (SDA) installation home: https://neic-sda.readthedocs.io diff --git a/charts/sda-svc/Chart.yaml b/charts/sda-svc/Chart.yaml index 1640bf8b46..609990856d 100644 --- a/charts/sda-svc/Chart.yaml +++ b/charts/sda-svc/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v2 name: sda-svc -version: 3.0.10 -appVersion: v3.0.0 +version: 3.0.11 +appVersion: v3.0.9 kubeVersion: '>= 1.26.0' description: Components for Sensitive Data Archive (SDA) installation home: https://neic-sda.readthedocs.io From bb73f8baacee4353c29d12f072f11c46f71fe004 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Sep 2025 19:04:41 +0000 Subject: [PATCH 06/26] Bump github.com/gin-gonic/gin in /sda-download in the all-modules group Bumps the all-modules group in /sda-download with 1 update: [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin). Updates `github.com/gin-gonic/gin` from 1.10.1 to 1.11.0 - [Release notes](https://github.com/gin-gonic/gin/releases) - [Changelog](https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md) - [Commits](https://github.com/gin-gonic/gin/compare/v1.10.1...v1.11.0) --- updated-dependencies: - dependency-name: github.com/gin-gonic/gin dependency-version: 1.11.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: all-modules ... Signed-off-by: dependabot[bot] --- sda-download/go.mod | 22 ++++++++++++-------- sda-download/go.sum | 49 ++++++++++++++++++++++++++------------------- 2 files changed, 42 insertions(+), 29 deletions(-) diff --git a/sda-download/go.mod b/sda-download/go.mod index bdffa23c95..2a0767d480 100644 --- a/sda-download/go.mod +++ b/sda-download/go.mod @@ -6,7 +6,7 @@ require ( github.com/DATA-DOG/go-sqlmock v1.5.2 github.com/aws/aws-sdk-go v1.55.8 github.com/dgraph-io/ristretto v1.0.0 - github.com/gin-gonic/gin v1.10.1 + github.com/gin-gonic/gin v1.11.0 github.com/google/uuid v1.6.0 github.com/johannesboyne/gofakes3 v0.0.0-20240914150247-80d9d7b1b250 github.com/lestrrat-go/jwx/v2 v2.1.6 @@ -23,10 +23,10 @@ require ( require ( filippo.io/edwards25519 v1.1.0 // indirect - github.com/bytedance/sonic v1.13.2 // indirect - github.com/bytedance/sonic/loader v0.2.4 // indirect + github.com/bytedance/sonic v1.14.0 // indirect + github.com/bytedance/sonic/loader v0.3.0 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect - github.com/cloudwego/base64x v0.1.5 // indirect + github.com/cloudwego/base64x v0.1.6 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/dchest/bcrypt_pbkdf v0.0.0-20150205184540-83f37f9c154a // indirect github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.0 // indirect @@ -36,12 +36,13 @@ require ( github.com/gin-contrib/sse v1.1.0 // indirect github.com/go-playground/locales v0.14.1 // indirect github.com/go-playground/universal-translator v0.18.1 // indirect - github.com/go-playground/validator/v10 v10.26.0 // indirect + github.com/go-playground/validator/v10 v10.27.0 // indirect github.com/go-viper/mapstructure/v2 v2.4.0 // indirect github.com/goccy/go-json v0.10.5 // indirect + github.com/goccy/go-yaml v1.18.0 // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/cpuid/v2 v2.2.10 // indirect + github.com/klauspost/cpuid/v2 v2.3.0 // indirect github.com/leodido/go-urn v1.4.0 // indirect github.com/lestrrat-go/blackmagic v1.0.3 // indirect github.com/lestrrat-go/httpcc v1.0.1 // indirect @@ -54,6 +55,8 @@ require ( github.com/pelletier/go-toml/v2 v2.2.4 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect + github.com/quic-go/qpack v0.5.1 // indirect + github.com/quic-go/quic-go v0.54.0 // indirect github.com/ryszard/goskiplist v0.0.0-20150312221310-2dfbae5fcf46 // indirect github.com/sagikazarmark/locafero v0.11.0 // indirect github.com/segmentio/asm v1.2.0 // indirect @@ -64,10 +67,13 @@ require ( github.com/spf13/pflag v1.0.10 // indirect github.com/subosito/gotenv v1.6.0 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect - github.com/ugorji/go/codec v1.2.12 // indirect + github.com/ugorji/go/codec v1.3.0 // indirect + go.uber.org/mock v0.5.0 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect - golang.org/x/arch v0.17.0 // indirect + golang.org/x/arch v0.20.0 // indirect + golang.org/x/mod v0.27.0 // indirect golang.org/x/net v0.43.0 // indirect + golang.org/x/sync v0.17.0 // indirect golang.org/x/sys v0.36.0 // indirect golang.org/x/text v0.29.0 // indirect golang.org/x/tools v0.36.0 // indirect diff --git a/sda-download/go.sum b/sda-download/go.sum index 0de5ab8b16..59f3f2b699 100644 --- a/sda-download/go.sum +++ b/sda-download/go.sum @@ -5,18 +5,16 @@ github.com/DATA-DOG/go-sqlmock v1.5.2/go.mod h1:88MAG/4G7SMwSE3CeA0ZKzrT5CiOU3OJ github.com/aws/aws-sdk-go v1.44.256/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= github.com/aws/aws-sdk-go v1.55.8 h1:JRmEUbU52aJQZ2AjX4q4Wu7t4uZjOu71uyNmaWlUkJQ= github.com/aws/aws-sdk-go v1.55.8/go.mod h1:ZkViS9AqA6otK+JBBNH2++sx1sgxrPKcSzPPvQkUtXk= -github.com/bytedance/sonic v1.13.2 h1:8/H1FempDZqC4VqjptGo14QQlJx8VdZJegxs6wwfqpQ= -github.com/bytedance/sonic v1.13.2/go.mod h1:o68xyaF9u2gvVBuGHPlUVCy+ZfmNNO5ETf1+KgkJhz4= -github.com/bytedance/sonic/loader v0.1.1/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= -github.com/bytedance/sonic/loader v0.2.4 h1:ZWCw4stuXUsn1/+zQDqeE7JKP+QO47tz7QCNan80NzY= -github.com/bytedance/sonic/loader v0.2.4/go.mod h1:N8A3vUdtUebEY2/VQC0MyhYeKUFosQU6FxH2JmUe6VI= +github.com/bytedance/sonic v1.14.0 h1:/OfKt8HFw0kh2rj8N0F6C/qPGRESq0BbaNZgcNXXzQQ= +github.com/bytedance/sonic v1.14.0/go.mod h1:WoEbx8WTcFJfzCe0hbmyTGrfjt8PzNEBdxlNUO24NhA= +github.com/bytedance/sonic/loader v0.3.0 h1:dskwH8edlzNMctoruo8FPTJDF3vLtDT0sXZwvZJyqeA= +github.com/bytedance/sonic/loader v0.3.0/go.mod h1:N8A3vUdtUebEY2/VQC0MyhYeKUFosQU6FxH2JmUe6VI= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cevatbarisyilmaz/ara v0.0.4 h1:SGH10hXpBJhhTlObuZzTuFn1rrdmjQImITXnZVPSodc= github.com/cevatbarisyilmaz/ara v0.0.4/go.mod h1:BfFOxnUd6Mj6xmcvRxHN3Sr21Z1T3U2MYkYOmoQe4Ts= -github.com/cloudwego/base64x v0.1.5 h1:XPciSp1xaq2VCSt6lF0phncD4koWyULpl5bUxbfCyP4= -github.com/cloudwego/base64x v0.1.5/go.mod h1:0zlkT4Wn5C6NdauXdJRhSKRlJvmclQ1hhJgA0rcu/8w= -github.com/cloudwego/iasm v0.2.0/go.mod h1:8rXZaNYT2n95jn+zTI1sDr+IgcD2GVs0nlbbQPiEFhY= +github.com/cloudwego/base64x v0.1.6 h1:t11wG9AECkCDk5fMSoxmufanudBtJ+/HemLstXDLI2M= +github.com/cloudwego/base64x v0.1.6/go.mod h1:OFcloc187FXDaYHvrNIjxSe8ncn0OOM8gEHfghB2IPU= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= @@ -39,8 +37,8 @@ github.com/gabriel-vasile/mimetype v1.4.9 h1:5k+WDwEsD9eTLL8Tz3L0VnmVh9QxGjRmjBv github.com/gabriel-vasile/mimetype v1.4.9/go.mod h1:WnSQhFKJuBlRyLiKohA/2DtIlPFAbguNaG7QCHcyGok= github.com/gin-contrib/sse v1.1.0 h1:n0w2GMuUpWDVp7qSpvze6fAu9iRxJY4Hmj6AmBOU05w= github.com/gin-contrib/sse v1.1.0/go.mod h1:hxRZ5gVpWMT7Z0B0gSNYqqsSCNIJMjzvm6fqCz9vjwM= -github.com/gin-gonic/gin v1.10.1 h1:T0ujvqyCSqRopADpgPgiTT63DUQVSfojyME59Ei63pQ= -github.com/gin-gonic/gin v1.10.1/go.mod h1:4PMNQiOhvDRa013RKVbsiNwoyezlm2rm0uX/T7kzp5Y= +github.com/gin-gonic/gin v1.11.0 h1:OW/6PLjyusp2PPXtyxKHU0RbX6I/l28FTdDlae5ueWk= +github.com/gin-gonic/gin v1.11.0/go.mod h1:+iq/FyxlGzII0KHiBGjuNn4UNENUlKbGlNmc+W50Dls= github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI= github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= @@ -51,12 +49,14 @@ github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/o github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= -github.com/go-playground/validator/v10 v10.26.0 h1:SP05Nqhjcvz81uJaRfEV0YBSSSGMc/iMaVtFbr3Sw2k= -github.com/go-playground/validator/v10 v10.26.0/go.mod h1:I5QpIEbmr8On7W0TktmJAumgzX4CA1XNl4ZmDuVHKKo= +github.com/go-playground/validator/v10 v10.27.0 h1:w8+XrWVMhGkxOaaowyKH35gFydVHOvC0/uWoy2Fzwn4= +github.com/go-playground/validator/v10 v10.27.0/go.mod h1:I5QpIEbmr8On7W0TktmJAumgzX4CA1XNl4ZmDuVHKKo= github.com/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs= github.com/go-viper/mapstructure/v2 v2.4.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/goccy/go-json v0.10.5 h1:Fq85nIqj+gXn/S5ahsiTlK3TmC85qgirsdTP/+DeaC4= github.com/goccy/go-json v0.10.5/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= +github.com/goccy/go-yaml v1.18.0 h1:8W7wMFS12Pcas7KU+VVkaiCng+kG8QiFeFwzFb+rwuw= +github.com/goccy/go-yaml v1.18.0/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= @@ -73,10 +73,8 @@ github.com/johannesboyne/gofakes3 v0.0.0-20240914150247-80d9d7b1b250/go.mod h1:m github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/sqlstruct v0.0.0-20201105191214-5f3e10d3ab46/go.mod h1:yyMNCyc/Ib3bDTKd379tNMpB/7/H5TjM2Y9QJ5THLbE= -github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.2.10 h1:tBs3QSyvjDyFTq3uoc/9xFpCuOsJQFNPiAhYdw2skhE= -github.com/klauspost/cpuid/v2 v2.2.10/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0= -github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= +github.com/klauspost/cpuid/v2 v2.3.0 h1:S4CRMLnYUhGeDFDqkGriYKdfoFlDnMtqTiI/sFzhA9Y= +github.com/klauspost/cpuid/v2 v2.3.0/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= @@ -113,6 +111,10 @@ github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINE github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/quic-go/qpack v0.5.1 h1:giqksBPnT/HDtZ6VhtFKgoLOWmlyo9Ei6u9PqzIMbhI= +github.com/quic-go/qpack v0.5.1/go.mod h1:+PC4XFrEskIVkcLzpEkbLqq1uCoxPhQuvK5rH1ZgaEg= +github.com/quic-go/quic-go v0.54.0 h1:6s1YB9QotYI6Ospeiguknbp2Znb/jZYjZLRXn9kMQBg= +github.com/quic-go/quic-go v0.54.0/go.mod h1:e68ZEaCdyviluZmy44P6Iey98v/Wfz6HCjQEm+l8zTY= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/ryszard/goskiplist v0.0.0-20150312221310-2dfbae5fcf46 h1:GHRpF1pTW19a8tTFrMLUcfWwyC0pnifVo2ClaLq+hP8= @@ -153,8 +155,8 @@ github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8 github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI= github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08= -github.com/ugorji/go/codec v1.2.12 h1:9LC83zGrHhuUA9l16C9AHXAqEV/2wBQ4nkvumAE65EE= -github.com/ugorji/go/codec v1.2.12/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= +github.com/ugorji/go/codec v1.3.0 h1:Qd2W2sQawAfG8XSvzwhBeoGq71zXOC/Q1E9y/wUcsUA= +github.com/ugorji/go/codec v1.3.0/go.mod h1:pRBVtBSKl77K30Bv8R2P+cLSGaTtex6fsA2Wjqmfxj4= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= go.etcd.io/bbolt v1.3.5/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= @@ -169,10 +171,12 @@ go.opentelemetry.io/otel/sdk/metric v1.37.0 h1:90lI228XrB9jCMuSdA0673aubgRobVZFh go.opentelemetry.io/otel/sdk/metric v1.37.0/go.mod h1:cNen4ZWfiD37l5NhS+Keb5RXVWZWpRE+9WyVCpbo5ps= go.opentelemetry.io/otel/trace v1.37.0 h1:HLdcFNbRQBE2imdSEgm/kwqmQj1Or1l/7bW6mxVK7z4= go.opentelemetry.io/otel/trace v1.37.0/go.mod h1:TlgrlQ+PtQO5XFerSPUYG0JSgGyryXewPGyayAWSBS0= +go.uber.org/mock v0.5.0 h1:KAMbZvZPyBPWgD14IrIQ38QCyjwpvVVV6K/bHl1IwQU= +go.uber.org/mock v0.5.0/go.mod h1:ge71pBPLYDk7QIi1LupWxdAykm7KIEFchiOqd6z7qMM= go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= -golang.org/x/arch v0.17.0 h1:4O3dfLzd+lQewptAHqjewQZQDyEdejz3VwgeYwkZneU= -golang.org/x/arch v0.17.0/go.mod h1:bdwinDaKcfZUGpH09BB7ZmOfhalA8lQdzl62l8gGWsk= +golang.org/x/arch v0.20.0 h1:dx1zTU0MAE98U+TQ8BLl7XsJbgze2WnNKF/8tGp/Q6c= +golang.org/x/arch v0.20.0/go.mod h1:bdwinDaKcfZUGpH09BB7ZmOfhalA8lQdzl62l8gGWsk= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.42.0 h1:chiH31gIWm57EkTXpwnqf8qeuMUi0yekh6mT2AvFlqI= @@ -182,6 +186,8 @@ golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6/go.mod h1:U6Lno4MTRCDY+Ba7aC golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.27.0 h1:kb+q2PyFnEADO2IEF935ehFUXlWiNjJWtRNgBLSfbxQ= +golang.org/x/mod v0.27.0/go.mod h1:rWI627Fq0DEoudcK+MBkNkCe0EetEaDSwJJkCcjpazc= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= @@ -193,6 +199,8 @@ golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug= +golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -249,4 +257,3 @@ gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -nullprogram.com/x/optparse v1.0.0/go.mod h1:KdyPE+Igbe0jQUrVfMqDMeJQIJZEuyV7pjYmp6pbG50= From 97a7d0bab24f9306140841b2ca59d67ed9050b4e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Sep 2025 19:05:26 +0000 Subject: [PATCH 07/26] Bump the all-modules group in /sda-sftp-inbox with 3 updates Bumps the all-modules group in /sda-sftp-inbox with 3 updates: [org.springframework.boot:spring-boot-starter-parent](https://github.com/spring-projects/spring-boot), [com.google.guava:guava](https://github.com/google/guava) and [org.bouncycastle:bcprov-jdk18on](https://github.com/bcgit/bc-java). Updates `org.springframework.boot:spring-boot-starter-parent` from 3.5.5 to 3.5.6 - [Release notes](https://github.com/spring-projects/spring-boot/releases) - [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.5...v3.5.6) Updates `com.google.guava:guava` from 33.4.8-jre to 33.5.0-jre - [Release notes](https://github.com/google/guava/releases) - [Commits](https://github.com/google/guava/commits) Updates `org.bouncycastle:bcprov-jdk18on` from 1.81 to 1.82 - [Changelog](https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html) - [Commits](https://github.com/bcgit/bc-java/commits) --- updated-dependencies: - dependency-name: org.springframework.boot:spring-boot-starter-parent dependency-version: 3.5.6 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-modules - dependency-name: com.google.guava:guava dependency-version: 33.5.0-jre dependency-type: direct:production update-type: version-update:semver-minor dependency-group: all-modules - dependency-name: org.bouncycastle:bcprov-jdk18on dependency-version: '1.82' dependency-type: direct:production update-type: version-update:semver-minor dependency-group: all-modules ... Signed-off-by: dependabot[bot] --- sda-sftp-inbox/pom.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sda-sftp-inbox/pom.xml b/sda-sftp-inbox/pom.xml index 61e67e815f..b5ea0c58aa 100644 --- a/sda-sftp-inbox/pom.xml +++ b/sda-sftp-inbox/pom.xml @@ -14,7 +14,7 @@ org.springframework.boot spring-boot-starter-parent - 3.5.5 + 3.5.6 @@ -113,7 +113,7 @@ com.google.guava guava - 33.4.8-jre + 33.5.0-jre net.logstash.logback @@ -123,7 +123,7 @@ org.bouncycastle bcprov-jdk18on - 1.81 + 1.82 From 81de3cc4f5b849157aeaf3e53f784282ab757589 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Sep 2025 19:10:09 +0000 Subject: [PATCH 08/26] Bump the all-modules group in /sda with 5 updates Bumps the all-modules group in /sda with 5 updates: | Package | From | To | | --- | --- | --- | | [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) | `1.31.8` | `1.31.9` | | [github.com/aws/aws-sdk-go-v2/credentials](https://github.com/aws/aws-sdk-go-v2) | `1.18.12` | `1.18.13` | | [github.com/aws/aws-sdk-go-v2/feature/s3/manager](https://github.com/aws/aws-sdk-go-v2) | `1.19.6` | `1.19.7` | | [github.com/casbin/casbin/v2](https://github.com/casbin/casbin) | `2.123.0` | `2.127.0` | | [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin) | `1.10.1` | `1.11.0` | Updates `github.com/aws/aws-sdk-go-v2/config` from 1.31.8 to 1.31.9 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.31.8...config/v1.31.9) Updates `github.com/aws/aws-sdk-go-v2/credentials` from 1.18.12 to 1.18.13 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/config/v1.18.13/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.18.12...config/v1.18.13) Updates `github.com/aws/aws-sdk-go-v2/feature/s3/manager` from 1.19.6 to 1.19.7 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/m2/v1.19.6...service/m2/v1.19.7) Updates `github.com/casbin/casbin/v2` from 2.123.0 to 2.127.0 - [Release notes](https://github.com/casbin/casbin/releases) - [Changelog](https://github.com/casbin/casbin/blob/master/.releaserc.json) - [Commits](https://github.com/casbin/casbin/compare/v2.123.0...v2.127.0) Updates `github.com/gin-gonic/gin` from 1.10.1 to 1.11.0 - [Release notes](https://github.com/gin-gonic/gin/releases) - [Changelog](https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md) - [Commits](https://github.com/gin-gonic/gin/compare/v1.10.1...v1.11.0) --- updated-dependencies: - dependency-name: github.com/aws/aws-sdk-go-v2/config dependency-version: 1.31.9 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-modules - dependency-name: github.com/aws/aws-sdk-go-v2/credentials dependency-version: 1.18.13 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-modules - dependency-name: github.com/aws/aws-sdk-go-v2/feature/s3/manager dependency-version: 1.19.7 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-modules - dependency-name: github.com/casbin/casbin/v2 dependency-version: 2.127.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: all-modules - dependency-name: github.com/gin-gonic/gin dependency-version: 1.11.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: all-modules ... Signed-off-by: dependabot[bot] --- sda/go.mod | 40 +++++++++++++++-------- sda/go.sum | 93 ++++++++++++++++++++++++++++++++++++------------------ 2 files changed, 89 insertions(+), 44 deletions(-) diff --git a/sda/go.mod b/sda/go.mod index 6bf7992bfc..923dec75ad 100644 --- a/sda/go.mod +++ b/sda/go.mod @@ -4,14 +4,14 @@ go 1.24.1 require ( github.com/aws/aws-sdk-go-v2 v1.39.0 - github.com/aws/aws-sdk-go-v2/config v1.31.8 - github.com/aws/aws-sdk-go-v2/credentials v1.18.12 - github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.19.6 + github.com/aws/aws-sdk-go-v2/config v1.31.9 + github.com/aws/aws-sdk-go-v2/credentials v1.18.13 + github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.19.7 github.com/aws/aws-sdk-go-v2/service/s3 v1.88.1 github.com/aws/smithy-go v1.23.0 - github.com/casbin/casbin/v2 v2.123.0 + github.com/casbin/casbin/v2 v2.127.0 github.com/coreos/go-oidc/v3 v3.15.0 - github.com/gin-gonic/gin v1.10.1 + github.com/gin-gonic/gin v1.11.0 github.com/google/uuid v1.6.0 github.com/gorilla/mux v1.8.1 github.com/iris-contrib/middleware/cors v0.0.0-20250207234507-372f6828ef8c @@ -60,16 +60,16 @@ require ( github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.7 // indirect github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.7 // indirect github.com/aws/aws-sdk-go-v2/service/sso v1.29.3 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.34.4 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.34.5 // indirect github.com/aws/aws-sdk-go-v2/service/sts v1.38.4 // indirect github.com/aymerick/douceur v0.2.0 // indirect github.com/bmatcuk/doublestar/v4 v4.8.1 // indirect - github.com/bytedance/sonic v1.13.2 // indirect - github.com/bytedance/sonic/loader v0.2.4 // indirect + github.com/bytedance/sonic v1.14.0 // indirect + github.com/bytedance/sonic/loader v0.3.0 // indirect github.com/casbin/govaluate v1.6.0 // indirect github.com/cenkalti/backoff v2.2.1+incompatible // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect - github.com/cloudwego/base64x v0.1.5 // indirect + github.com/cloudwego/base64x v0.1.6 // indirect github.com/containerd/continuity v0.4.5 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/dchest/bcrypt_pbkdf v0.0.0-20150205184540-83f37f9c154a // indirect @@ -85,11 +85,13 @@ require ( github.com/gin-contrib/sse v1.1.0 // indirect github.com/go-jose/go-jose/v3 v3.0.4 // indirect github.com/go-jose/go-jose/v4 v4.1.1 // indirect + github.com/go-ole/go-ole v1.2.6 // indirect github.com/go-playground/locales v0.14.1 // indirect github.com/go-playground/universal-translator v0.18.1 // indirect - github.com/go-playground/validator/v10 v10.26.0 // indirect + github.com/go-playground/validator/v10 v10.27.0 // indirect github.com/go-viper/mapstructure/v2 v2.4.0 // indirect github.com/goccy/go-json v0.10.5 // indirect + github.com/goccy/go-yaml v1.18.0 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang-jwt/jwt/v5 v5.2.2 // indirect github.com/golang/snappy v1.0.0 // indirect @@ -106,7 +108,7 @@ require ( github.com/kataras/sitemap v0.0.6 // indirect github.com/kataras/tunnel v0.0.4 // indirect github.com/klauspost/compress v1.18.0 // indirect - github.com/klauspost/cpuid/v2 v2.2.10 // indirect + github.com/klauspost/cpuid/v2 v2.3.0 // indirect github.com/kr/fs v0.1.0 // indirect github.com/leodido/go-urn v1.4.0 // indirect github.com/lestrrat-go/blackmagic v1.0.3 // indirect @@ -114,6 +116,7 @@ require ( github.com/lestrrat-go/httprc v1.0.6 // indirect github.com/lestrrat-go/iter v1.0.2 // indirect github.com/lestrrat-go/option v1.0.1 // indirect + github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect github.com/mailgun/raymond/v2 v2.0.48 // indirect github.com/mailru/easyjson v0.9.0 // indirect github.com/mattn/go-isatty v0.0.20 // indirect @@ -129,11 +132,15 @@ require ( github.com/opencontainers/runc v1.2.3 // indirect github.com/pelletier/go-toml/v2 v2.2.4 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect + github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect + github.com/quic-go/qpack v0.5.1 // indirect + github.com/quic-go/quic-go v0.54.0 // indirect github.com/rogpeppe/go-internal v1.10.0 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/sagikazarmark/locafero v0.11.0 // indirect github.com/schollz/closestmatch v2.1.0+incompatible // indirect github.com/segmentio/asm v1.2.0 // indirect + github.com/shirou/gopsutil/v3 v3.24.5 // indirect github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8 // indirect github.com/spf13/afero v1.15.0 // indirect github.com/spf13/cast v1.10.0 // indirect @@ -141,8 +148,10 @@ require ( github.com/subosito/gotenv v1.6.0 // indirect github.com/tdewolff/minify/v2 v2.23.6 // indirect github.com/tdewolff/parse/v2 v2.8.1 // indirect + github.com/tklauser/go-sysconf v0.3.12 // indirect + github.com/tklauser/numcpus v0.6.1 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect - github.com/ugorji/go/codec v1.2.12 // indirect + github.com/ugorji/go/codec v1.3.0 // indirect github.com/valyala/bytebufferpool v1.0.0 // indirect github.com/vmihailenco/msgpack/v5 v5.4.1 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect @@ -150,13 +159,18 @@ require ( github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect github.com/xeipuuv/gojsonschema v1.2.0 // indirect github.com/yosssi/ace v0.0.5 // indirect + github.com/yusufpapurcu/wmi v1.2.4 // indirect + go.uber.org/mock v0.5.0 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect - golang.org/x/arch v0.17.0 // indirect + golang.org/x/arch v0.20.0 // indirect golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6 // indirect + golang.org/x/mod v0.27.0 // indirect golang.org/x/net v0.43.0 // indirect + golang.org/x/sync v0.17.0 // indirect golang.org/x/sys v0.36.0 // indirect golang.org/x/text v0.29.0 // indirect golang.org/x/time v0.11.0 // indirect + golang.org/x/tools v0.36.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20250707201910-8d1bb00bc6a7 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/sda/go.sum b/sda/go.sum index ce6ab18dc2..61b344d14a 100644 --- a/sda/go.sum +++ b/sda/go.sum @@ -28,14 +28,14 @@ github.com/aws/aws-sdk-go-v2 v1.39.0 h1:xm5WV/2L4emMRmMjHFykqiA4M/ra0DJVSWUkDyBj github.com/aws/aws-sdk-go-v2 v1.39.0/go.mod h1:sDioUELIUO9Znk23YVmIk86/9DOpkbyyVb1i/gUNFXY= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.1 h1:i8p8P4diljCr60PpJp6qZXNlgX4m2yQFpYk+9ZT+J4E= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.1/go.mod h1:ddqbooRZYNoJ2dsTwOty16rM+/Aqmk/GOXrK8cg7V00= -github.com/aws/aws-sdk-go-v2/config v1.31.8 h1:kQjtOLlTU4m4A64TsRcqwNChhGCwaPBt+zCQt/oWsHU= -github.com/aws/aws-sdk-go-v2/config v1.31.8/go.mod h1:QPpc7IgljrKwH0+E6/KolCgr4WPLerURiU592AYzfSY= -github.com/aws/aws-sdk-go-v2/credentials v1.18.12 h1:zmc9e1q90wMn8wQbjryy8IwA6Q4XlaL9Bx2zIqdNNbk= -github.com/aws/aws-sdk-go-v2/credentials v1.18.12/go.mod h1:3VzdRDR5u3sSJRI4kYcOSIBbeYsgtVk7dG5R/U6qLWY= +github.com/aws/aws-sdk-go-v2/config v1.31.9 h1:Q+9hVk8kmDGlC7XcDout/vs0FZhHnuPCPv+TRAYDans= +github.com/aws/aws-sdk-go-v2/config v1.31.9/go.mod h1:OpMrPn6rRbHKU4dAVNCk/EQx8sEQJI7hl9GZZ5u/Y+U= +github.com/aws/aws-sdk-go-v2/credentials v1.18.13 h1:gkpEm65/ZfrGJ3wbFH++Ki7DyaWtsWbK9idX6OXCo2E= +github.com/aws/aws-sdk-go-v2/credentials v1.18.13/go.mod h1:eVTHz1yI2/WIlXTE8f70mcrSxNafXD5sJpTIM9f+kmo= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.7 h1:Is2tPmieqGS2edBnmOJIbdvOA6Op+rRpaYR60iBAwXM= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.7/go.mod h1:F1i5V5421EGci570yABvpIXgRIBPb5JM+lSkHF6Dq5w= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.19.6 h1:bByPm7VcaAgeT2+z5m0Lj5HDzm+g9AwbA3WFx2hPby0= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.19.6/go.mod h1:PhTe8fR8aFW0wDc6IV9BHeIzXhpv3q6AaVHnqiv5Pyc= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.19.7 h1:HWLRV4xlO15SsHs295AqwTGNwYG3kP6vAjw2OleUdX8= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.19.7/go.mod h1:MWZrPol/xFvU6gyQ/gxqgsjufcbetFNE9gzSXPTLofw= github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.7 h1:UCxq0X9O3xrlENdKf1r9eRJoKz/b0AfGkpp3a7FPlhg= github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.7/go.mod h1:rHRoJUNUASj5Z/0eqI4w32vKvC7atoWR0jC+IkmVH8k= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.7 h1:Y6DTZUn7ZUC4th9FMBbo8LVE+1fyq3ofw+tRwkUd3PY= @@ -56,8 +56,8 @@ github.com/aws/aws-sdk-go-v2/service/s3 v1.88.1 h1:+RpGuaQ72qnU83qBKVwxkznewEdAG github.com/aws/aws-sdk-go-v2/service/s3 v1.88.1/go.mod h1:xajPTguLoeQMAOE44AAP2RQoUhF8ey1g5IFHARv71po= github.com/aws/aws-sdk-go-v2/service/sso v1.29.3 h1:7PKX3VYsZ8LUWceVRuv0+PU+E7OtQb1lgmi5vmUE9CM= github.com/aws/aws-sdk-go-v2/service/sso v1.29.3/go.mod h1:Ql6jE9kyyWI5JHn+61UT/Y5Z0oyVJGmgmJbZD5g4unY= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.34.4 h1:e0XBRn3AptQotkyBFrHAxFB8mDhAIOfsG+7KyJ0dg98= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.34.4/go.mod h1:XclEty74bsGBCr1s0VSaA11hQ4ZidK4viWK7rRfO88I= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.34.5 h1:gBBZmSuIySGqDLtXdZiYpwyzbJKXQD2jjT0oDY6ywbo= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.34.5/go.mod h1:XclEty74bsGBCr1s0VSaA11hQ4ZidK4viWK7rRfO88I= github.com/aws/aws-sdk-go-v2/service/sts v1.38.4 h1:PR00NXRYgY4FWHqOGx3fC3lhVKjsp1GdloDv2ynMSd8= github.com/aws/aws-sdk-go-v2/service/sts v1.38.4/go.mod h1:Z+Gd23v97pX9zK97+tX4ppAgqCt3Z2dIXB02CtBncK8= github.com/aws/smithy-go v1.23.0 h1:8n6I3gXzWJB2DxBDnfxgBaSX6oe0d/t10qGz7OKqMCE= @@ -67,13 +67,12 @@ github.com/aymerick/douceur v0.2.0/go.mod h1:wlT5vV2O3h55X9m7iVYN0TBM0NH/MmbLnd3 github.com/bmatcuk/doublestar/v4 v4.6.1/go.mod h1:xBQ8jztBU6kakFMg+8WGxn0c6z1fTSPVIjEY1Wr7jzc= github.com/bmatcuk/doublestar/v4 v4.8.1 h1:54Bopc5c2cAvhLRAzqOGCYHYyhcDHsFF4wWIR5wKP38= github.com/bmatcuk/doublestar/v4 v4.8.1/go.mod h1:xBQ8jztBU6kakFMg+8WGxn0c6z1fTSPVIjEY1Wr7jzc= -github.com/bytedance/sonic v1.13.2 h1:8/H1FempDZqC4VqjptGo14QQlJx8VdZJegxs6wwfqpQ= -github.com/bytedance/sonic v1.13.2/go.mod h1:o68xyaF9u2gvVBuGHPlUVCy+ZfmNNO5ETf1+KgkJhz4= -github.com/bytedance/sonic/loader v0.1.1/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= -github.com/bytedance/sonic/loader v0.2.4 h1:ZWCw4stuXUsn1/+zQDqeE7JKP+QO47tz7QCNan80NzY= -github.com/bytedance/sonic/loader v0.2.4/go.mod h1:N8A3vUdtUebEY2/VQC0MyhYeKUFosQU6FxH2JmUe6VI= -github.com/casbin/casbin/v2 v2.123.0 h1:UkiMllBgn3MrwHGiZTDFVTV9up+W2CRLufZwKiuAmpA= -github.com/casbin/casbin/v2 v2.123.0/go.mod h1:Ee33aqGrmES+GNL17L0h9X28wXuo829wnNUnS0edAco= +github.com/bytedance/sonic v1.14.0 h1:/OfKt8HFw0kh2rj8N0F6C/qPGRESq0BbaNZgcNXXzQQ= +github.com/bytedance/sonic v1.14.0/go.mod h1:WoEbx8WTcFJfzCe0hbmyTGrfjt8PzNEBdxlNUO24NhA= +github.com/bytedance/sonic/loader v0.3.0 h1:dskwH8edlzNMctoruo8FPTJDF3vLtDT0sXZwvZJyqeA= +github.com/bytedance/sonic/loader v0.3.0/go.mod h1:N8A3vUdtUebEY2/VQC0MyhYeKUFosQU6FxH2JmUe6VI= +github.com/casbin/casbin/v2 v2.127.0 h1:UGK3uO/8cOslnNqFUJ4xzm/bh+N+o45U7cSolaFk38c= +github.com/casbin/casbin/v2 v2.127.0/go.mod h1:n4uZK8+tCMvcD6EVQZI90zKAok8iHAvEypcMJVKhGF0= github.com/casbin/govaluate v1.3.0/go.mod h1:G/UnbIjZk/0uMNaLwZZmFQrR72tYRZWQkO70si/iR7A= github.com/casbin/govaluate v1.6.0 h1:HXWFa4di61X4iZrWLJdpot/v1UkKUG+pPmcu7wWRxrI= github.com/casbin/govaluate v1.6.0/go.mod h1:G/UnbIjZk/0uMNaLwZZmFQrR72tYRZWQkO70si/iR7A= @@ -81,9 +80,8 @@ github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEe github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/cloudwego/base64x v0.1.5 h1:XPciSp1xaq2VCSt6lF0phncD4koWyULpl5bUxbfCyP4= -github.com/cloudwego/base64x v0.1.5/go.mod h1:0zlkT4Wn5C6NdauXdJRhSKRlJvmclQ1hhJgA0rcu/8w= -github.com/cloudwego/iasm v0.2.0/go.mod h1:8rXZaNYT2n95jn+zTI1sDr+IgcD2GVs0nlbbQPiEFhY= +github.com/cloudwego/base64x v0.1.6 h1:t11wG9AECkCDk5fMSoxmufanudBtJ+/HemLstXDLI2M= +github.com/cloudwego/base64x v0.1.6/go.mod h1:OFcloc187FXDaYHvrNIjxSe8ncn0OOM8gEHfghB2IPU= github.com/containerd/continuity v0.4.5 h1:ZRoN1sXq9u7V6QoHMcVWGhOwDFqZ4B9i5H6un1Wh0x4= github.com/containerd/continuity v0.4.5/go.mod h1:/lNJvtJKUQStBzpVQ1+rasXO1LAWtUQssk28EZvJ3nE= github.com/coreos/go-oidc/v3 v3.15.0 h1:R6Oz8Z4bqWR7VFQ+sPSvZPQv4x8M+sJkDO5ojgwlyAg= @@ -121,8 +119,8 @@ github.com/gabriel-vasile/mimetype v1.4.9 h1:5k+WDwEsD9eTLL8Tz3L0VnmVh9QxGjRmjBv github.com/gabriel-vasile/mimetype v1.4.9/go.mod h1:WnSQhFKJuBlRyLiKohA/2DtIlPFAbguNaG7QCHcyGok= github.com/gin-contrib/sse v1.1.0 h1:n0w2GMuUpWDVp7qSpvze6fAu9iRxJY4Hmj6AmBOU05w= github.com/gin-contrib/sse v1.1.0/go.mod h1:hxRZ5gVpWMT7Z0B0gSNYqqsSCNIJMjzvm6fqCz9vjwM= -github.com/gin-gonic/gin v1.10.1 h1:T0ujvqyCSqRopADpgPgiTT63DUQVSfojyME59Ei63pQ= -github.com/gin-gonic/gin v1.10.1/go.mod h1:4PMNQiOhvDRa013RKVbsiNwoyezlm2rm0uX/T7kzp5Y= +github.com/gin-gonic/gin v1.11.0 h1:OW/6PLjyusp2PPXtyxKHU0RbX6I/l28FTdDlae5ueWk= +github.com/gin-gonic/gin v1.11.0/go.mod h1:+iq/FyxlGzII0KHiBGjuNn4UNENUlKbGlNmc+W50Dls= github.com/go-jose/go-jose/v3 v3.0.4 h1:Wp5HA7bLQcKnf6YYao/4kpRpVMp/yf6+pJKV8WFSaNY= github.com/go-jose/go-jose/v3 v3.0.4/go.mod h1:5b+7YgP7ZICgJDBdfjZaIt+H/9L9T/YQrVfLAMboGkQ= github.com/go-jose/go-jose/v4 v4.1.1 h1:JYhSgy4mXXzAdF3nUx3ygx347LRXJRrpgyU3adRmkAI= @@ -131,14 +129,16 @@ github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI= github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= +github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= +github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s= github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA= github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= -github.com/go-playground/validator/v10 v10.26.0 h1:SP05Nqhjcvz81uJaRfEV0YBSSSGMc/iMaVtFbr3Sw2k= -github.com/go-playground/validator/v10 v10.26.0/go.mod h1:I5QpIEbmr8On7W0TktmJAumgzX4CA1XNl4ZmDuVHKKo= +github.com/go-playground/validator/v10 v10.27.0 h1:w8+XrWVMhGkxOaaowyKH35gFydVHOvC0/uWoy2Fzwn4= +github.com/go-playground/validator/v10 v10.27.0/go.mod h1:I5QpIEbmr8On7W0TktmJAumgzX4CA1XNl4ZmDuVHKKo= github.com/go-sql-driver/mysql v1.8.1 h1:LedoTUt/eveggdHS9qUFC1EFSa8bU2+1pZjSRpvNJ1Y= github.com/go-sql-driver/mysql v1.8.1/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg= github.com/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs= @@ -147,6 +147,8 @@ github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= github.com/goccy/go-json v0.10.5 h1:Fq85nIqj+gXn/S5ahsiTlK3TmC85qgirsdTP/+DeaC4= github.com/goccy/go-json v0.10.5/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= +github.com/goccy/go-yaml v1.18.0 h1:8W7wMFS12Pcas7KU+VVkaiCng+kG8QiFeFwzFb+rwuw= +github.com/goccy/go-yaml v1.18.0/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang-jwt/jwt/v5 v5.2.2 h1:Rl4B7itRWVtYIHFrSNd7vhTiz9UpLdi6gZhZ3wEeDy8= @@ -159,6 +161,7 @@ github.com/golang/snappy v1.0.0 h1:Oy607GVXHs7RtbggtPBnr2RmDArIsAefDwvrdWvRhGs= github.com/golang/snappy v1.0.0/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/gomarkdown/markdown v0.0.0-20250311123330-531bef5e742b h1:EY/KpStFl60qA17CptGXhwfZ+k1sFNJIUNR8DdbcuUk= github.com/gomarkdown/markdown v0.0.0-20250311123330-531bef5e742b/go.mod h1:JDGcbDT52eL4fju3sZ4TeHGsQwhG9nbDV21aMyhwPoA= +github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= @@ -210,10 +213,8 @@ github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+o github.com/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo= github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ= github.com/klauspost/cpuid v1.2.3/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= -github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.2.10 h1:tBs3QSyvjDyFTq3uoc/9xFpCuOsJQFNPiAhYdw2skhE= -github.com/klauspost/cpuid/v2 v2.2.10/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0= -github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= +github.com/klauspost/cpuid/v2 v2.3.0 h1:S4CRMLnYUhGeDFDqkGriYKdfoFlDnMtqTiI/sFzhA9Y= +github.com/klauspost/cpuid/v2 v2.3.0/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/fs v0.1.0 h1:Jskdu9ieNAYnjxsi0LbQp1ulIKZV1LAFgK1tWhpZgl8= github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= @@ -239,6 +240,8 @@ github.com/lestrrat-go/option v1.0.1 h1:oAzP2fvZGQKWkvHa1/SAcFolBEca1oN+mQ7eooNB github.com/lestrrat-go/option v1.0.1/go.mod h1:5ZHFbivi4xwXxhxY9XHDe2FHo6/Z7WWmtT7T5nBBp3I= github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw= github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 h1:6E+4a0GO5zZEnZ81pIr0yLvtUWk2if982qA3F3QD6H4= +github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I= github.com/mailgun/raymond/v2 v2.0.48 h1:5dmlB680ZkFG2RN/0lvTAghrSxIESeu9/2aeDqACtjw= github.com/mailgun/raymond/v2 v2.0.48/go.mod h1:lsgvL50kgt1ylcFJYZiULi5fjPBkkhNfj4KA0W54Z18= github.com/mailru/easyjson v0.9.0 h1:PrnmzHw7262yW8sTBwxi1PdJA3Iw/EKBa8psRf7d9a4= @@ -296,6 +299,12 @@ github.com/pkg/sftp v1.13.9/go.mod h1:OBN7bVXdstkFFN/gdnHPUb5TE8eb8G1Rp9wCItqjkk github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF4JjgDlrVEn3C11VoGHZN7m8qihwgMEtzYw= +github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= +github.com/quic-go/qpack v0.5.1 h1:giqksBPnT/HDtZ6VhtFKgoLOWmlyo9Ei6u9PqzIMbhI= +github.com/quic-go/qpack v0.5.1/go.mod h1:+PC4XFrEskIVkcLzpEkbLqq1uCoxPhQuvK5rH1ZgaEg= +github.com/quic-go/quic-go v0.54.0 h1:6s1YB9QotYI6Ospeiguknbp2Znb/jZYjZLRXn9kMQBg= +github.com/quic-go/quic-go v0.54.0/go.mod h1:e68ZEaCdyviluZmy44P6Iey98v/Wfz6HCjQEm+l8zTY= github.com/rabbitmq/amqp091-go v1.10.0 h1:STpn5XsHlHGcecLmMFCtg7mqq0RnD+zFr4uzukfVhBw= github.com/rabbitmq/amqp091-go v1.10.0/go.mod h1:Hy4jKW5kQART1u+JkDTF9YYOQUHXqMuhrgxOEeS7G4o= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= @@ -314,6 +323,10 @@ github.com/segmentio/asm v1.2.0 h1:9BQrFxC+YOHJlTlHGkTrFWf59nbL3XnCoFLTwDCI7ys= github.com/segmentio/asm v1.2.0/go.mod h1:BqMnlJP91P8d+4ibuonYZw9mfnzI9HfxselHZr5aAcs= github.com/sergi/go-diff v1.3.1 h1:xkr+Oxo4BOQKmkn/B9eMK0g5Kg/983T9DqqPHwYqD+8= github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I= +github.com/shirou/gopsutil/v3 v3.24.5 h1:i0t8kL+kQTvpAYToeuiVk3TgDeKOFioZO3Ztz/iZ9pI= +github.com/shirou/gopsutil/v3 v3.24.5/go.mod h1:bsoOS1aStSs9ErQ1WWfxllSeS1K5D+U30r2NfcubMVk= +github.com/shoenig/go-m1cpu v0.1.6/go.mod h1:1JJMcUBvfNwpq05QDQVAnx3gUHr9IYF7GNg9SUEw2VQ= +github.com/shoenig/test v0.6.4/go.mod h1:byHiCGXqrVaflBLAMq/srcZIHynQPQgeyvkvXnjqq0k= github.com/sirupsen/logrus v1.5.0/go.mod h1:+F7Ogzej0PZc/94MaYx/nvG9jOFMD2osvC3s+Squfpo= github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= @@ -342,6 +355,8 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= @@ -352,10 +367,14 @@ github.com/tdewolff/parse/v2 v2.8.1 h1:J5GSHru6o3jF1uLlEKVXkDxxcVx6yzOlIVIotK4w2 github.com/tdewolff/parse/v2 v2.8.1/go.mod h1:Hwlni2tiVNKyzR1o6nUs4FOF07URA+JLBLd6dlIXYqo= github.com/tdewolff/test v1.0.11 h1:FdLbwQVHxqG16SlkGveC0JVyrJN62COWTRyUFzfbtBE= github.com/tdewolff/test v1.0.11/go.mod h1:XPuWBzvdUzhCuxWO1ojpXsyzsA5bFoS3tO/Q3kFuTG8= +github.com/tklauser/go-sysconf v0.3.12 h1:0QaGUFOdQaIVdPgfITYzaTegZvdCjmYO52cSFAEVmqU= +github.com/tklauser/go-sysconf v0.3.12/go.mod h1:Ho14jnntGE1fpdOqQEEaiKRpvIavV0hSfmBq8nJbHYI= +github.com/tklauser/numcpus v0.6.1 h1:ng9scYS7az0Bk4OZLvrNXNSAO2Pxr1XXRAPyjhIx+Fk= +github.com/tklauser/numcpus v0.6.1/go.mod h1:1XfjsgE2zo8GVw7POkMbHENHzVg3GzmoZ9fESEdAacY= github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI= github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08= -github.com/ugorji/go/codec v1.2.12 h1:9LC83zGrHhuUA9l16C9AHXAqEV/2wBQ4nkvumAE65EE= -github.com/ugorji/go/codec v1.2.12/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= +github.com/ugorji/go/codec v1.3.0 h1:Qd2W2sQawAfG8XSvzwhBeoGq71zXOC/Q1E9y/wUcsUA= +github.com/ugorji/go/codec v1.3.0/go.mod h1:pRBVtBSKl77K30Bv8R2P+cLSGaTtex6fsA2Wjqmfxj4= github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= github.com/vmihailenco/msgpack/v5 v5.4.1 h1:cQriyiUvjTwOHg8QZaPihLWeRAAVoCpE00IUPn0Bjt8= @@ -383,6 +402,8 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= +github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= go.opentelemetry.io/otel v1.37.0 h1:9zhNfelUvx0KBfu/gb+ZgeAfAgtWrfHJZcAqFC228wQ= @@ -397,10 +418,12 @@ go.opentelemetry.io/otel/trace v1.37.0 h1:HLdcFNbRQBE2imdSEgm/kwqmQj1Or1l/7bW6mx go.opentelemetry.io/otel/trace v1.37.0/go.mod h1:TlgrlQ+PtQO5XFerSPUYG0JSgGyryXewPGyayAWSBS0= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= +go.uber.org/mock v0.5.0 h1:KAMbZvZPyBPWgD14IrIQ38QCyjwpvVVV6K/bHl1IwQU= +go.uber.org/mock v0.5.0/go.mod h1:ge71pBPLYDk7QIi1LupWxdAykm7KIEFchiOqd6z7qMM= go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= -golang.org/x/arch v0.17.0 h1:4O3dfLzd+lQewptAHqjewQZQDyEdejz3VwgeYwkZneU= -golang.org/x/arch v0.17.0/go.mod h1:bdwinDaKcfZUGpH09BB7ZmOfhalA8lQdzl62l8gGWsk= +golang.org/x/arch v0.20.0 h1:dx1zTU0MAE98U+TQ8BLl7XsJbgze2WnNKF/8tGp/Q6c= +golang.org/x/arch v0.20.0/go.mod h1:bdwinDaKcfZUGpH09BB7ZmOfhalA8lQdzl62l8gGWsk= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190513172903-22d7a77e9e5f/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= @@ -422,6 +445,8 @@ golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.27.0 h1:kb+q2PyFnEADO2IEF935ehFUXlWiNjJWtRNgBLSfbxQ= +golang.org/x/mod v0.27.0/go.mod h1:rWI627Fq0DEoudcK+MBkNkCe0EetEaDSwJJkCcjpazc= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190327091125-710a502c58a2/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= @@ -451,12 +476,16 @@ golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug= +golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -467,6 +496,7 @@ golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= @@ -509,6 +539,8 @@ golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/tools v0.36.0 h1:kWS0uv/zsvHEle1LbV5LE8QujrxB3wfQyxHfhOk0Qkg= +golang.org/x/tools v0.36.0/go.mod h1:WBDiHKJK8YgLHlcQPYQzNCkUxUypCaa5ZegCVutKm+s= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -539,4 +571,3 @@ gotest.tools/v3 v3.5.1 h1:EENdUnS3pdur5nybKYIh2Vfgc8IUNBjxDPSjtiJcOzU= gotest.tools/v3 v3.5.1/go.mod h1:isy3WKz7GK6uNw/sbHzfKBLvlvXwUyV06n6brMxxopU= moul.io/http2curl/v2 v2.3.0 h1:9r3JfDzWPcbIklMOs2TnIFzDYvfAZvjeavG6EzP7jYs= moul.io/http2curl/v2 v2.3.0/go.mod h1:RW4hyBjTWSYDOxapodpNEtX0g5Eb16sxklBqmd2RHcE= -nullprogram.com/x/optparse v1.0.0/go.mod h1:KdyPE+Igbe0jQUrVfMqDMeJQIJZEuyV7pjYmp6pbG50= From a7cc5c090eff652c08df060a4146acb273ca5086 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Sep 2025 19:12:12 +0000 Subject: [PATCH 09/26] Bump org.springframework.boot:spring-boot-starter-parent Bumps the all-modules group in /sda-doa with 1 update: [org.springframework.boot:spring-boot-starter-parent](https://github.com/spring-projects/spring-boot). Updates `org.springframework.boot:spring-boot-starter-parent` from 3.5.5 to 3.5.6 - [Release notes](https://github.com/spring-projects/spring-boot/releases) - [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.5...v3.5.6) --- updated-dependencies: - dependency-name: org.springframework.boot:spring-boot-starter-parent dependency-version: 3.5.6 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-modules ... Signed-off-by: dependabot[bot] --- sda-doa/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sda-doa/pom.xml b/sda-doa/pom.xml index 45cf5467ef..f926eeeea5 100644 --- a/sda-doa/pom.xml +++ b/sda-doa/pom.xml @@ -5,7 +5,7 @@ org.springframework.boot spring-boot-starter-parent - 3.5.5 + 3.5.6 no.uio.ifi From 67bc544eef662cf4309c0db4d5360b553ceefab1 Mon Sep 17 00:00:00 2001 From: Joakim Bygdell Date: Tue, 23 Sep 2025 09:32:36 +0200 Subject: [PATCH 10/26] Rollback AWS library --- sda/go.mod | 30 +++++++++++++-------------- sda/go.sum | 60 +++++++++++++++++++++++++++--------------------------- 2 files changed, 45 insertions(+), 45 deletions(-) diff --git a/sda/go.mod b/sda/go.mod index 923dec75ad..50208bfe42 100644 --- a/sda/go.mod +++ b/sda/go.mod @@ -3,11 +3,11 @@ module github.com/neicnordic/sensitive-data-archive go 1.24.1 require ( - github.com/aws/aws-sdk-go-v2 v1.39.0 - github.com/aws/aws-sdk-go-v2/config v1.31.9 - github.com/aws/aws-sdk-go-v2/credentials v1.18.13 - github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.19.7 - github.com/aws/aws-sdk-go-v2/service/s3 v1.88.1 + github.com/aws/aws-sdk-go-v2 v1.32.8 + github.com/aws/aws-sdk-go-v2/config v1.28.11 + github.com/aws/aws-sdk-go-v2/credentials v1.17.52 + github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.48 + github.com/aws/aws-sdk-go-v2/service/s3 v1.72.2 github.com/aws/smithy-go v1.23.0 github.com/casbin/casbin/v2 v2.127.0 github.com/coreos/go-oidc/v3 v3.15.0 @@ -50,18 +50,18 @@ require ( github.com/Shopify/goreferrer v0.0.0-20250513162709-b78e2829e40b // indirect github.com/andybalholm/brotli v1.1.1 // indirect github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.1 // indirect - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.7 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.7 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.7 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.23 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.27 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.27 // indirect github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3 // indirect - github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.7 // indirect + github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.27 // indirect github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.1 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.7 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.7 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.7 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.29.3 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.34.5 // indirect - github.com/aws/aws-sdk-go-v2/service/sts v1.38.4 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.4.8 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.8 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.8 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.24.9 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.8 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.33.7 // indirect github.com/aymerick/douceur v0.2.0 // indirect github.com/bmatcuk/doublestar/v4 v4.8.1 // indirect github.com/bytedance/sonic v1.14.0 // indirect diff --git a/sda/go.sum b/sda/go.sum index 61b344d14a..c83d74b85a 100644 --- a/sda/go.sum +++ b/sda/go.sum @@ -24,42 +24,42 @@ github.com/ajg/form v1.5.1 h1:t9c7v8JUKu/XxOGBU0yjNpaMloxGEJhUkqFRq0ibGeU= github.com/ajg/form v1.5.1/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY= github.com/andybalholm/brotli v1.1.1 h1:PR2pgnyFznKEugtsUo0xLdDop5SKXd5Qf5ysW+7XdTA= github.com/andybalholm/brotli v1.1.1/go.mod h1:05ib4cKhjx3OQYUY22hTVd34Bc8upXjOLL2rKwwZBoA= -github.com/aws/aws-sdk-go-v2 v1.39.0 h1:xm5WV/2L4emMRmMjHFykqiA4M/ra0DJVSWUkDyBjbg4= -github.com/aws/aws-sdk-go-v2 v1.39.0/go.mod h1:sDioUELIUO9Znk23YVmIk86/9DOpkbyyVb1i/gUNFXY= +github.com/aws/aws-sdk-go-v2 v1.32.8 h1:cZV+NUS/eGxKXMtmyhtYPJ7Z4YLoI/V8bkTdRZfYhGo= +github.com/aws/aws-sdk-go-v2 v1.32.8/go.mod h1:P5WJBrYqqbWVaOxgH0X/FYYD47/nooaPOZPlQdmiN2U= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.1 h1:i8p8P4diljCr60PpJp6qZXNlgX4m2yQFpYk+9ZT+J4E= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.1/go.mod h1:ddqbooRZYNoJ2dsTwOty16rM+/Aqmk/GOXrK8cg7V00= -github.com/aws/aws-sdk-go-v2/config v1.31.9 h1:Q+9hVk8kmDGlC7XcDout/vs0FZhHnuPCPv+TRAYDans= -github.com/aws/aws-sdk-go-v2/config v1.31.9/go.mod h1:OpMrPn6rRbHKU4dAVNCk/EQx8sEQJI7hl9GZZ5u/Y+U= -github.com/aws/aws-sdk-go-v2/credentials v1.18.13 h1:gkpEm65/ZfrGJ3wbFH++Ki7DyaWtsWbK9idX6OXCo2E= -github.com/aws/aws-sdk-go-v2/credentials v1.18.13/go.mod h1:eVTHz1yI2/WIlXTE8f70mcrSxNafXD5sJpTIM9f+kmo= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.7 h1:Is2tPmieqGS2edBnmOJIbdvOA6Op+rRpaYR60iBAwXM= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.7/go.mod h1:F1i5V5421EGci570yABvpIXgRIBPb5JM+lSkHF6Dq5w= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.19.7 h1:HWLRV4xlO15SsHs295AqwTGNwYG3kP6vAjw2OleUdX8= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.19.7/go.mod h1:MWZrPol/xFvU6gyQ/gxqgsjufcbetFNE9gzSXPTLofw= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.7 h1:UCxq0X9O3xrlENdKf1r9eRJoKz/b0AfGkpp3a7FPlhg= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.7/go.mod h1:rHRoJUNUASj5Z/0eqI4w32vKvC7atoWR0jC+IkmVH8k= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.7 h1:Y6DTZUn7ZUC4th9FMBbo8LVE+1fyq3ofw+tRwkUd3PY= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.7/go.mod h1:x3XE6vMnU9QvHN/Wrx2s44kwzV2o2g5x/siw4ZUJ9g8= +github.com/aws/aws-sdk-go-v2/config v1.28.11 h1:7Ekru0IkRHRnSRWGQLnLN6i0o1Jncd0rHo2T130+tEQ= +github.com/aws/aws-sdk-go-v2/config v1.28.11/go.mod h1:x78TpPvBfHH16hi5tE3OCWQ0pzNfyXA349p5/Wp82Yo= +github.com/aws/aws-sdk-go-v2/credentials v1.17.52 h1:I4ymSk35LHogx2Re2Wu6LOHNTRaRWkLVoJgWS5Wd40M= +github.com/aws/aws-sdk-go-v2/credentials v1.17.52/go.mod h1:vAkqKbMNUcher8fDXP2Ge2qFXKMkcD74qvk1lJRMemM= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.23 h1:IBAoD/1d8A8/1aA8g4MBVtTRHhXRiNAgwdbo/xRM2DI= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.23/go.mod h1:vfENuCM7dofkgKpYzuzf1VT1UKkA/YL3qanfBn7HCaA= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.48 h1:XnXVe2zRyPf0+fAW5L05esmngvBpC6DQZK7oZB/z/Co= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.48/go.mod h1:S3wey90OrS4f7kYxH6PT175YyEcHTORY07++HurMaRM= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.27 h1:jSJjSBzw8VDIbWv+mmvBSP8ezsztMYJGH+eKqi9AmNs= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.27/go.mod h1:/DAhLbFRgwhmvJdOfSm+WwikZrCuUJiA4WgJG0fTNSw= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.27 h1:l+X4K77Dui85pIj5foXDhPlnqcNRG2QUyvca300lXh8= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.27/go.mod h1:KvZXSFEXm6x84yE8qffKvT3x8J5clWnVFXphpohhzJ8= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3 h1:bIqFDwgGXXN1Kpp99pDOdKMTTb5d2KyU5X/BZxjOkRo= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3/go.mod h1:H5O/EsxDWyU+LP/V8i5sm8cxoZgc2fdNR9bxlOFrQTo= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.7 h1:BszAktdUo2xlzmYHjWMq70DqJ7cROM8iBd3f6hrpuMQ= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.7/go.mod h1:XJ1yHki/P7ZPuG4fd3f0Pg/dSGA2cTQBCLw82MH2H48= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.27 h1:AmB5QxnD+fBFrg9LcqzkgF/CaYvMyU/BTlejG4t1S7Q= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.27/go.mod h1:Sai7P3xTiyv9ZUYO3IFxMnmiIP759/67iQbU4kdmkyU= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.1 h1:oegbebPEMA/1Jny7kvwejowCaHz1FWZAQ94WXFNCyTM= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.1/go.mod h1:kemo5Myr9ac0U9JfSjMo9yHLtw+pECEHsFtJ9tqCEI8= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.7 h1:zmZ8qvtE9chfhBPuKB2aQFxW5F/rpwXUgmcVCgQzqRw= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.7/go.mod h1:vVYfbpd2l+pKqlSIDIOgouxNsGu5il9uDp0ooWb0jys= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.7 h1:mLgc5QIgOy26qyh5bvW+nDoAppxgn3J2WV3m9ewq7+8= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.7/go.mod h1:wXb/eQnqt8mDQIQTTmcw58B5mYGxzLGZGK8PWNFZ0BA= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.7 h1:u3VbDKUCWarWiU+aIUK4gjTr/wQFXV17y3hgNno9fcA= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.7/go.mod h1:/OuMQwhSyRapYxq6ZNpPer8juGNrB4P5Oz8bZ2cgjQE= -github.com/aws/aws-sdk-go-v2/service/s3 v1.88.1 h1:+RpGuaQ72qnU83qBKVwxkznewEdAGhIWo/PQCmkhhog= -github.com/aws/aws-sdk-go-v2/service/s3 v1.88.1/go.mod h1:xajPTguLoeQMAOE44AAP2RQoUhF8ey1g5IFHARv71po= -github.com/aws/aws-sdk-go-v2/service/sso v1.29.3 h1:7PKX3VYsZ8LUWceVRuv0+PU+E7OtQb1lgmi5vmUE9CM= -github.com/aws/aws-sdk-go-v2/service/sso v1.29.3/go.mod h1:Ql6jE9kyyWI5JHn+61UT/Y5Z0oyVJGmgmJbZD5g4unY= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.34.5 h1:gBBZmSuIySGqDLtXdZiYpwyzbJKXQD2jjT0oDY6ywbo= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.34.5/go.mod h1:XclEty74bsGBCr1s0VSaA11hQ4ZidK4viWK7rRfO88I= -github.com/aws/aws-sdk-go-v2/service/sts v1.38.4 h1:PR00NXRYgY4FWHqOGx3fC3lhVKjsp1GdloDv2ynMSd8= -github.com/aws/aws-sdk-go-v2/service/sts v1.38.4/go.mod h1:Z+Gd23v97pX9zK97+tX4ppAgqCt3Z2dIXB02CtBncK8= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.4.8 h1:iwYS40JnrBeA9e9aI5S6KKN4EB2zR4iUVYN0nwVivz4= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.4.8/go.mod h1:Fm9Mi+ApqmFiknZtGpohVcBGvpTu542VC4XO9YudRi0= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.8 h1:cWno7lefSH6Pp+mSznagKCgfDGeZRin66UvYUqAkyeA= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.8/go.mod h1:tPD+VjU3ABTBoEJ3nctu5Nyg4P4yjqSH5bJGGkY4+XE= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.8 h1:/Mn7gTedG86nbpjT4QEKsN1D/fThiYe1qvq7WsBGNHg= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.8/go.mod h1:Ae3va9LPmvjj231ukHB6UeT8nS7wTPfC3tMZSZMwNYg= +github.com/aws/aws-sdk-go-v2/service/s3 v1.72.2 h1:a7aQ3RW+ug4IbhoQp29NZdc7vqrzKZZfWZSaQAXOZvQ= +github.com/aws/aws-sdk-go-v2/service/s3 v1.72.2/go.mod h1:xMekrnhmJ5aqmyxtmALs7mlvXw5xRh+eYjOjvrIIFJ4= +github.com/aws/aws-sdk-go-v2/service/sso v1.24.9 h1:YqtxripbjWb2QLyzRK9pByfEDvgg95gpC2AyDq4hFE8= +github.com/aws/aws-sdk-go-v2/service/sso v1.24.9/go.mod h1:lV8iQpg6OLOfBnqbGMBKYjilBlf633qwHnBEiMSPoHY= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.8 h1:6dBT1Lz8fK11m22R+AqfRsFn8320K0T5DTGxxOQBSMw= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.8/go.mod h1:/kiBvRQXBc6xeJTYzhSdGvJ5vm1tjaDEjH+MSeRJnlY= +github.com/aws/aws-sdk-go-v2/service/sts v1.33.7 h1:qwGa9MA8G7mBq2YphHFaygdPe5t9OA7SvaJdwWTlEds= +github.com/aws/aws-sdk-go-v2/service/sts v1.33.7/go.mod h1:+8h7PZb3yY5ftmVLD7ocEoE98hdc8PoKS0H3wfx1dlc= github.com/aws/smithy-go v1.23.0 h1:8n6I3gXzWJB2DxBDnfxgBaSX6oe0d/t10qGz7OKqMCE= github.com/aws/smithy-go v1.23.0/go.mod h1:t1ufH5HMublsJYulve2RKmHDC15xu1f26kHCp/HgceI= github.com/aymerick/douceur v0.2.0 h1:Mv+mAeH1Q+n9Fr+oyamOlAkUNPWPlA8PPGR0QAaYuPk= From b3424cca9e3e8b6fe3da2d07317854f6379eb48d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kark=20Gr=C3=B6nberg?= Date: Tue, 23 Sep 2025 11:08:14 +0200 Subject: [PATCH 11/26] feat(sda-download): optimise getFiles query, remove unneeded join, and replace join with view to join on sda.checksum directly --- sda-download/internal/database/database.go | 36 ++++++++++------------ 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/sda-download/internal/database/database.go b/sda-download/internal/database/database.go index ec46a393db..88963edb8d 100644 --- a/sda-download/internal/database/database.go +++ b/sda-download/internal/database/database.go @@ -178,25 +178,23 @@ func (dbs *SQLdb) getFiles(datasetID string) ([]*FileInfo, error) { db := dbs.DB const query = ` - SELECT files.stable_id AS id, - datasets.stable_id AS dataset_id, - reverse(split_part(reverse(files.submission_file_path::text), '/'::text, 1)) AS display_file_name, - files.submission_user AS user_id, - files.submission_file_path AS file_path, - files.archive_file_size AS file_size, - lef.archive_file_checksum AS encrypted_file_checksum, - lef.archive_file_checksum_type AS encrypted_file_checksum_type, - files.decrypted_file_size, - sha.checksum AS decrypted_file_checksum, - sha.type AS decrypted_file_checksum_type - FROM sda.files - JOIN sda.file_dataset ON file_id = files.id - JOIN sda.datasets ON file_dataset.dataset_id = datasets.id - LEFT JOIN local_ega.files lef ON files.stable_id = lef.stable_id - LEFT JOIN (SELECT file_id, (ARRAY_AGG(event ORDER BY started_at DESC))[1] AS event FROM sda.file_event_log GROUP BY file_id) log ON files.id = log.file_id - LEFT JOIN (SELECT file_id, checksum, type FROM sda.checksums WHERE source = 'UNENCRYPTED') sha ON files.id = sha.file_id - WHERE datasets.stable_id = $1; - ` +SELECT files.stable_id AS id, + datasets.stable_id AS dataset_id, + reverse(split_part(reverse(files.submission_file_path::text), '/'::text, 1)) AS display_file_name, + files.submission_user AS user_id, + files.submission_file_path AS file_path, + files.archive_file_size AS file_size, + sha_arch.checksum AS encrypted_file_checksum, + sha_arch.type AS encrypted_file_checksum_type, + files.decrypted_file_size, + sha_unenc.checksum AS decrypted_file_checksum, + sha_unenc.type AS decrypted_file_checksum_type +FROM sda.files + JOIN sda.file_dataset file_dataset ON file_dataset.file_id = files.id + JOIN sda.datasets datasets ON file_dataset.dataset_id = datasets.id + LEFT JOIN sda.checksums sha_unenc ON files.id = sha_unenc.file_id AND sha_unenc.source = 'UNENCRYPTED' + LEFT JOIN sda.checksums sha_arch ON files.id = sha_arch.file_id AND sha_arch.source = 'ARCHIVED' +WHERE datasets.stable_id = $1;` // nolint:rowserrcheck rows, err := db.Query(query, datasetID) From fe6557c2b28b8a1b3b8c8742b0a4db280797cbf3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kark=20Gr=C3=B6nberg?= Date: Tue, 23 Sep 2025 11:14:45 +0200 Subject: [PATCH 12/26] feat(sda-download): remove TestGetFiles unit test which just verifies that the getFiles query has not been changed, and update s3 unit test to expect new query --- sda-download/api/s3/s3_test.go | 74 +++++++++---------- .../internal/database/database_test.go | 63 ---------------- 2 files changed, 36 insertions(+), 101 deletions(-) diff --git a/sda-download/api/s3/s3_test.go b/sda-download/api/s3/s3_test.go index 5c05a05af9..c636428630 100644 --- a/sda-download/api/s3/s3_test.go +++ b/sda-download/api/s3/s3_test.go @@ -131,25 +131,24 @@ func (ts *S3TestSuite) TestListByPrefix() { userID := "user1" query := ` - SELECT files.stable_id AS id, - datasets.stable_id AS dataset_id, - reverse\(split_part\(reverse\(files.submission_file_path::text\), '/'::text, 1\)\) AS display_file_name, - files.submission_user AS user_id, - files.submission_file_path AS file_path, - files.archive_file_size AS file_size, - lef.archive_file_checksum AS encrypted_file_checksum, - lef.archive_file_checksum_type AS encrypted_file_checksum_type, - files.decrypted_file_size, - sha.checksum AS decrypted_file_checksum, - sha.type AS decrypted_file_checksum_type - FROM sda.files - JOIN sda.file_dataset ON file_id = files.id - JOIN sda.datasets ON file_dataset.dataset_id = datasets.id - LEFT JOIN local_ega.files lef ON files.stable_id = lef.stable_id - LEFT JOIN \(SELECT file_id, \(ARRAY_AGG\(event ORDER BY started_at DESC\)\)\[1\] AS event FROM sda.file_event_log GROUP BY file_id\) log ON files.id = log.file_id - LEFT JOIN \(SELECT file_id, checksum, type FROM sda.checksums WHERE source = 'UNENCRYPTED'\) sha ON files.id = sha.file_id - WHERE datasets.stable_id = \$1; - ` +SELECT files.stable_id AS id, + datasets.stable_id AS dataset_id, + reverse\(split_part\(reverse\(files.submission_file_path::text\), '/'::text, 1\)\) AS display_file_name, + files.submission_user AS user_id, + files.submission_file_path AS file_path, + files.archive_file_size AS file_size, + sha_arch.checksum AS encrypted_file_checksum, + sha_arch.type AS encrypted_file_checksum_type, + files.decrypted_file_size, + sha_unenc.checksum AS decrypted_file_checksum, + sha_unenc.type AS decrypted_file_checksum_type +FROM sda.files + JOIN sda.file_dataset file_dataset ON file_dataset.file_id = files.id + JOIN sda.datasets datasets ON file_dataset.dataset_id = datasets.id + LEFT JOIN sda.checksums sha_unenc ON files.id = sha_unenc.file_id AND sha_unenc.source = 'UNENCRYPTED' + LEFT JOIN sda.checksums sha_arch ON files.id = sha_arch.file_id AND sha_arch.source = 'ARCHIVED' +WHERE datasets.stable_id = \$1;` + ts.Mock.ExpectQuery(query). WithArgs("dataset1"). WillReturnRows(sqlmock.NewRows([]string{"file_id", "dataset_id", @@ -208,25 +207,24 @@ func (ts *S3TestSuite) TestListObjects() { userID := "user1" query := ` - SELECT files.stable_id AS id, - datasets.stable_id AS dataset_id, - reverse\(split_part\(reverse\(files.submission_file_path::text\), '/'::text, 1\)\) AS display_file_name, - files.submission_user AS user_id, - files.submission_file_path AS file_path, - files.archive_file_size AS file_size, - lef.archive_file_checksum AS encrypted_file_checksum, - lef.archive_file_checksum_type AS encrypted_file_checksum_type, - files.decrypted_file_size, - sha.checksum AS decrypted_file_checksum, - sha.type AS decrypted_file_checksum_type - FROM sda.files - JOIN sda.file_dataset ON file_id = files.id - JOIN sda.datasets ON file_dataset.dataset_id = datasets.id - LEFT JOIN local_ega.files lef ON files.stable_id = lef.stable_id - LEFT JOIN \(SELECT file_id, \(ARRAY_AGG\(event ORDER BY started_at DESC\)\)\[1\] AS event FROM sda.file_event_log GROUP BY file_id\) log ON files.id = log.file_id - LEFT JOIN \(SELECT file_id, checksum, type FROM sda.checksums WHERE source = 'UNENCRYPTED'\) sha ON files.id = sha.file_id - WHERE datasets.stable_id = \$1; - ` +SELECT files.stable_id AS id, + datasets.stable_id AS dataset_id, + reverse\(split_part\(reverse\(files.submission_file_path::text\), '/'::text, 1\)\) AS display_file_name, + files.submission_user AS user_id, + files.submission_file_path AS file_path, + files.archive_file_size AS file_size, + sha_arch.checksum AS encrypted_file_checksum, + sha_arch.type AS encrypted_file_checksum_type, + files.decrypted_file_size, + sha_unenc.checksum AS decrypted_file_checksum, + sha_unenc.type AS decrypted_file_checksum_type +FROM sda.files + JOIN sda.file_dataset file_dataset ON file_dataset.file_id = files.id + JOIN sda.datasets datasets ON file_dataset.dataset_id = datasets.id + LEFT JOIN sda.checksums sha_unenc ON files.id = sha_unenc.file_id AND sha_unenc.source = 'UNENCRYPTED' + LEFT JOIN sda.checksums sha_arch ON files.id = sha_arch.file_id AND sha_arch.source = 'ARCHIVED' +WHERE datasets.stable_id = \$1;` + ts.Mock.ExpectQuery(query). WithArgs("dataset1"). WillReturnRows(sqlmock.NewRows([]string{"file_id", "dataset_id", diff --git a/sda-download/internal/database/database_test.go b/sda-download/internal/database/database_test.go index ca8d608130..d0a5cd178c 100644 --- a/sda-download/internal/database/database_test.go +++ b/sda-download/internal/database/database_test.go @@ -388,66 +388,3 @@ func TestGetFile(t *testing.T) { log.SetOutput(os.Stdout) } - -func TestGetFiles(t *testing.T) { - r := sqlTesterHelper(t, func(mock sqlmock.Sqlmock, testDb *SQLdb) error { - expected := []*FileInfo{} - fileInfo := &FileInfo{ - FileID: "file1", - DatasetID: "dataset1", - DisplayFileName: "file.txt", - FilePath: "dir/file.txt", - EncryptedFileSize: 60, - EncryptedFileChecksum: "hash", - EncryptedFileChecksumType: "sha256", - DecryptedFileSize: 32, - DecryptedFileChecksum: "hash", - DecryptedFileChecksumType: "sha256", - } - userID := "user1" - - expected = append(expected, fileInfo) - query := ` - SELECT files.stable_id AS id, - datasets.stable_id AS dataset_id, - reverse\(split_part\(reverse\(files.submission_file_path::text\), '/'::text, 1\)\) AS display_file_name, - files.submission_user AS user_id, - files.submission_file_path AS file_path, - files.archive_file_size AS file_size, - lef.archive_file_checksum AS encrypted_file_checksum, - lef.archive_file_checksum_type AS encrypted_file_checksum_type, - files.decrypted_file_size, - sha.checksum AS decrypted_file_checksum, - sha.type AS decrypted_file_checksum_type - FROM sda.files - JOIN sda.file_dataset ON file_id = files.id - JOIN sda.datasets ON file_dataset.dataset_id = datasets.id - LEFT JOIN local_ega.files lef ON files.stable_id = lef.stable_id - LEFT JOIN \(SELECT file_id, \(ARRAY_AGG\(event ORDER BY started_at DESC\)\)\[1\] AS event FROM sda.file_event_log GROUP BY file_id\) log ON files.id = log.file_id - LEFT JOIN \(SELECT file_id, checksum, type FROM sda.checksums WHERE source = 'UNENCRYPTED'\) sha ON files.id = sha.file_id - WHERE datasets.stable_id = \$1; - ` - mock.ExpectQuery(query). - WithArgs("dataset1"). - WillReturnRows(sqlmock.NewRows([]string{"file_id", "dataset_id", - "display_file_name", "user_id", "file_path", "file_size", "encrypted_file_checksum", - "encrypted_file_checksum_type", "decrypted_file_size", "decrypted_file_checksum", "decrypted_file_checksum_type"}).AddRow(fileInfo.FileID, fileInfo.DatasetID, - fileInfo.DisplayFileName, userID, fileInfo.FilePath, - fileInfo.EncryptedFileSize, fileInfo.EncryptedFileChecksum, fileInfo.EncryptedFileChecksumType, fileInfo.DecryptedFileSize, - fileInfo.DecryptedFileChecksum, fileInfo.DecryptedFileChecksumType)) - - x, err := testDb.getFiles("dataset1") - assert.Equal(t, expected, x, "did not get expected file details") - - return err - }) - - assert.Nil(t, r, "getFiles failed unexpectedly") - - var buf bytes.Buffer - log.SetOutput(&buf) - - buf.Reset() - - log.SetOutput(os.Stdout) -} From 64db0ba9ceb68858715bb565fc09044133b87899 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kark=20Gr=C3=B6nberg?= Date: Tue, 23 Sep 2025 15:55:32 +0200 Subject: [PATCH 13/26] feat(sda-download): remove datasetId, encryptedFileSize, encryptedFileChecksum, and encryptedFileChecksumType from the response of the /metadata/datasets/*dataset/files API to reduce amount of joins in query --- sda-download/api/s3/s3_test.go | 42 ++++---------- sda-download/api/sda/sda.go | 2 +- sda-download/api/sda/sda_test.go | 28 ++++----- sda-download/internal/database/database.go | 67 +++++++--------------- 4 files changed, 44 insertions(+), 95 deletions(-) diff --git a/sda-download/api/s3/s3_test.go b/sda-download/api/s3/s3_test.go index c636428630..9207986925 100644 --- a/sda-download/api/s3/s3_test.go +++ b/sda-download/api/s3/s3_test.go @@ -115,14 +115,10 @@ func (ts *S3TestSuite) TestListBuckets() { func (ts *S3TestSuite) TestListByPrefix() { // Setup a mock database to handle queries - fileInfo := &database.FileInfo{ + fileInfo := &database.DatasetFile{ FileID: "file1", - DatasetID: "dataset1", DisplayFileName: "file.txt", FilePath: "dir/file.txt", - EncryptedFileSize: 60, - EncryptedFileChecksum: "hash", - EncryptedFileChecksumType: "sha256", DecryptedFileSize: 32, DecryptedFileChecksum: "hash", DecryptedFileChecksumType: "sha256", @@ -132,13 +128,9 @@ func (ts *S3TestSuite) TestListByPrefix() { query := ` SELECT files.stable_id AS id, - datasets.stable_id AS dataset_id, reverse\(split_part\(reverse\(files.submission_file_path::text\), '/'::text, 1\)\) AS display_file_name, files.submission_user AS user_id, files.submission_file_path AS file_path, - files.archive_file_size AS file_size, - sha_arch.checksum AS encrypted_file_checksum, - sha_arch.type AS encrypted_file_checksum_type, files.decrypted_file_size, sha_unenc.checksum AS decrypted_file_checksum, sha_unenc.type AS decrypted_file_checksum_type @@ -146,19 +138,16 @@ FROM sda.files JOIN sda.file_dataset file_dataset ON file_dataset.file_id = files.id JOIN sda.datasets datasets ON file_dataset.dataset_id = datasets.id LEFT JOIN sda.checksums sha_unenc ON files.id = sha_unenc.file_id AND sha_unenc.source = 'UNENCRYPTED' - LEFT JOIN sda.checksums sha_arch ON files.id = sha_arch.file_id AND sha_arch.source = 'ARCHIVED' WHERE datasets.stable_id = \$1;` ts.Mock.ExpectQuery(query). WithArgs("dataset1"). - WillReturnRows(sqlmock.NewRows([]string{"file_id", "dataset_id", - "display_file_name", "user_id", "file_path", "file_size", - "decrypted_file_checksum", "decrypted_file_checksum_type", + WillReturnRows(sqlmock.NewRows([]string{"file_id", + "display_file_name", "user_id", "file_path", "decrypted_file_size", "decrypted_file_checksum", - "decrypted_file_checksum_type"}).AddRow(fileInfo.FileID, fileInfo.DatasetID, + "decrypted_file_checksum_type"}).AddRow(fileInfo.FileID, fileInfo.DisplayFileName, userID, fileInfo.FilePath, - fileInfo.EncryptedFileSize, fileInfo.EncryptedFileChecksum, fileInfo.EncryptedFileChecksumType, fileInfo.DecryptedFileSize, - fileInfo.DecryptedFileChecksum, fileInfo.DecryptedFileChecksumType)) + fileInfo.DecryptedFileSize, fileInfo.DecryptedFileChecksum, fileInfo.DecryptedFileChecksumType)) // Send a request through the middleware to get files for the dataset and // prefix @@ -191,14 +180,10 @@ WHERE datasets.stable_id = \$1;` func (ts *S3TestSuite) TestListObjects() { // Setup a mock database to handlequeries - fileInfo := &database.FileInfo{ + fileInfo := &database.DatasetFile{ FileID: "file1", - DatasetID: "dataset1", DisplayFileName: "file.txt", FilePath: "dir/file.txt", - EncryptedFileSize: 60, - EncryptedFileChecksum: "hash", - EncryptedFileChecksumType: "sha256", DecryptedFileSize: 32, DecryptedFileChecksum: "hash", DecryptedFileChecksumType: "sha256", @@ -208,13 +193,9 @@ func (ts *S3TestSuite) TestListObjects() { query := ` SELECT files.stable_id AS id, - datasets.stable_id AS dataset_id, reverse\(split_part\(reverse\(files.submission_file_path::text\), '/'::text, 1\)\) AS display_file_name, files.submission_user AS user_id, files.submission_file_path AS file_path, - files.archive_file_size AS file_size, - sha_arch.checksum AS encrypted_file_checksum, - sha_arch.type AS encrypted_file_checksum_type, files.decrypted_file_size, sha_unenc.checksum AS decrypted_file_checksum, sha_unenc.type AS decrypted_file_checksum_type @@ -222,19 +203,16 @@ FROM sda.files JOIN sda.file_dataset file_dataset ON file_dataset.file_id = files.id JOIN sda.datasets datasets ON file_dataset.dataset_id = datasets.id LEFT JOIN sda.checksums sha_unenc ON files.id = sha_unenc.file_id AND sha_unenc.source = 'UNENCRYPTED' - LEFT JOIN sda.checksums sha_arch ON files.id = sha_arch.file_id AND sha_arch.source = 'ARCHIVED' WHERE datasets.stable_id = \$1;` ts.Mock.ExpectQuery(query). WithArgs("dataset1"). - WillReturnRows(sqlmock.NewRows([]string{"file_id", "dataset_id", - "display_file_name", "user_id", "file_path", "file_size", - "encrypted_file_checksum", "encrypted_file_checksum_type", + WillReturnRows(sqlmock.NewRows([]string{"file_id", + "display_file_name", "user_id", "file_path", "decrypted_file_size", "decrypted_file_checksum", - "decrypted_file_checksum_type"}).AddRow(fileInfo.FileID, fileInfo.DatasetID, + "decrypted_file_checksum_type"}).AddRow(fileInfo.FileID, fileInfo.DisplayFileName, userID, fileInfo.FilePath, - fileInfo.EncryptedFileSize, fileInfo.EncryptedFileChecksum, fileInfo.EncryptedFileChecksumType, fileInfo.DecryptedFileSize, - fileInfo.DecryptedFileChecksum, fileInfo.DecryptedFileChecksumType)) + fileInfo.DecryptedFileSize, fileInfo.DecryptedFileChecksum, fileInfo.DecryptedFileChecksumType)) // Send a request through the middleware to get datasets diff --git a/sda-download/api/sda/sda.go b/sda-download/api/sda/sda.go index 53a08ae73d..fb15f8c078 100644 --- a/sda-download/api/sda/sda.go +++ b/sda-download/api/sda/sda.go @@ -134,7 +134,7 @@ func find(datasetID string, datasets []string) bool { } // getFiles returns files belonging to a dataset -var getFiles = func(datasetID string, ctx *gin.Context) ([]*database.FileInfo, int, error) { +var getFiles = func(datasetID string, ctx *gin.Context) ([]*database.DatasetFile, int, error) { // Retrieve dataset list from request context // generated by the authentication middleware cache := middleware.GetCacheFromContext(ctx) diff --git a/sda-download/api/sda/sda_test.go b/sda-download/api/sda/sda_test.go index 087ca86f3c..fd1a5d44bd 100644 --- a/sda-download/api/sda/sda_test.go +++ b/sda-download/api/sda/sda_test.go @@ -114,7 +114,7 @@ func TestGetFiles_Fail_Database(t *testing.T) { Datasets: []string{"dataset1", "dataset2"}, } } - database.GetFiles = func(_ string) ([]*database.FileInfo, error) { + database.GetFiles = func(_ string) ([]*database.DatasetFile, error) { return nil, errors.New("something went wrong") } @@ -187,11 +187,11 @@ func TestGetFiles_Success(t *testing.T) { Datasets: []string{"dataset1", "dataset2"}, } } - database.GetFiles = func(_ string) ([]*database.FileInfo, error) { - fileInfo := database.FileInfo{ + database.GetFiles = func(_ string) ([]*database.DatasetFile, error) { + fileInfo := database.DatasetFile{ FileID: "file1", } - files := []*database.FileInfo{} + files := []*database.DatasetFile{} files = append(files, &fileInfo) return files, nil @@ -226,7 +226,7 @@ func TestFiles_Fail(t *testing.T) { originalGetFiles := getFiles // Substitute mock functions - getFiles = func(_ string, _ *gin.Context) ([]*database.FileInfo, int, error) { + getFiles = func(_ string, _ *gin.Context) ([]*database.DatasetFile, int, error) { return nil, 404, errors.New("dataset not found") } @@ -267,20 +267,16 @@ func TestFiles_Success(t *testing.T) { originalGetFiles := getFiles // Substitute mock functions - getFiles = func(_ string, _ *gin.Context) ([]*database.FileInfo, int, error) { - fileInfo := database.FileInfo{ + getFiles = func(_ string, _ *gin.Context) ([]*database.DatasetFile, int, error) { + fileInfo := database.DatasetFile{ FileID: "file1", - DatasetID: "dataset1", DisplayFileName: "file1.txt", FilePath: "dir/file1.txt", - EncryptedFileSize: 200, - EncryptedFileChecksum: "hash", - EncryptedFileChecksumType: "sha256", DecryptedFileSize: 100, DecryptedFileChecksum: "hash", DecryptedFileChecksumType: "sha256", } - files := []*database.FileInfo{} + files := []*database.DatasetFile{} files = append(files, &fileInfo) return files, 200, nil @@ -303,11 +299,9 @@ func TestFiles_Success(t *testing.T) { body, _ := io.ReadAll(response.Body) expectedStatusCode := 200 expectedBody := []byte( - `[{"fileId":"file1","datasetId":"dataset1","displayFileName":"file1.txt","filePath":` + - `"dir/file1.txt","encryptedFileSize":200,` + - `"encryptedFileChecksum":"hash","encryptedFileChecksumType":"sha256",` + - `"decryptedFileSize":100,` + - `"decryptedFileChecksum":"hash","decryptedFileChecksumType":"sha256"}]`) + `[{"fileId":"file1","displayFileName":"file1.txt","filePath":` + + `"dir/file1.txt",` + + `"decryptedFileSize":100,"decryptedFileChecksum":"hash","decryptedFileChecksumType":"sha256"}]`) if response.StatusCode != expectedStatusCode { t.Errorf("TestDatasets failed, got %d expected %d", response.StatusCode, expectedStatusCode) diff --git a/sda-download/internal/database/database.go b/sda-download/internal/database/database.go index 88963edb8d..7eab36df66 100644 --- a/sda-download/internal/database/database.go +++ b/sda-download/internal/database/database.go @@ -38,6 +38,16 @@ type FileInfo struct { DecryptedFileChecksumType string `json:"decryptedFileChecksumType"` } +// DatasetFile is returned by the metadata/datasets/*dataset/files endpoint +type DatasetFile struct { + FileID string `json:"fileId"` + DisplayFileName string `json:"displayFileName"` + FilePath string `json:"filePath"` + DecryptedFileSize int64 `json:"decryptedFileSize"` + DecryptedFileChecksum string `json:"decryptedFileChecksum"` + DecryptedFileChecksumType string `json:"decryptedFileChecksumType"` +} + type DatasetInfo struct { DatasetID string `json:"datasetId"` CreatedAt string `json:"createdAt"` @@ -130,11 +140,11 @@ func (dbs *SQLdb) checkAndReconnectIfNeeded() { } // GetFiles retrieves the file details -var GetFiles = func(datasetID string) ([]*FileInfo, error) { +var GetFiles = func(datasetID string) ([]*DatasetFile, error) { var ( - r []*FileInfo = nil - err error = nil - count = 0 + r []*DatasetFile = nil + err error = nil + count = 0 ) for count < dbRetryTimes { @@ -151,7 +161,9 @@ var GetFiles = func(datasetID string) ([]*FileInfo, error) { return r, err } +// removeUserIDPrefix strips the user id prefix from a file path func removeUserIDPrefix(filePath, userID string) string { + strings.ReplaceAll(userID, "@", "_") // Construct the full prefix we expect to find (userID + "/"). fullPrefix := userID + "/" if strings.HasPrefix(filePath, fullPrefix) { @@ -161,31 +173,18 @@ func removeUserIDPrefix(filePath, userID string) string { return filePath } -// processFileInfo removes any sensitive information from the file info -func processFileInfo(fi *FileInfo, userID string) error { - // Remove userids from file paths - userID = strings.ReplaceAll(userID, "@", "_") // in filePath, @ is replaced with _ - fi.FilePath = removeUserIDPrefix(fi.FilePath, userID) - - return nil -} - // getFiles is the actual function performing work for GetFile -func (dbs *SQLdb) getFiles(datasetID string) ([]*FileInfo, error) { +func (dbs *SQLdb) getFiles(datasetID string) ([]*DatasetFile, error) { dbs.checkAndReconnectIfNeeded() - files := []*FileInfo{} + files := []*DatasetFile{} db := dbs.DB const query = ` SELECT files.stable_id AS id, - datasets.stable_id AS dataset_id, reverse(split_part(reverse(files.submission_file_path::text), '/'::text, 1)) AS display_file_name, files.submission_user AS user_id, files.submission_file_path AS file_path, - files.archive_file_size AS file_size, - sha_arch.checksum AS encrypted_file_checksum, - sha_arch.type AS encrypted_file_checksum_type, files.decrypted_file_size, sha_unenc.checksum AS decrypted_file_checksum, sha_unenc.type AS decrypted_file_checksum_type @@ -193,7 +192,6 @@ FROM sda.files JOIN sda.file_dataset file_dataset ON file_dataset.file_id = files.id JOIN sda.datasets datasets ON file_dataset.dataset_id = datasets.id LEFT JOIN sda.checksums sha_unenc ON files.id = sha_unenc.file_id AND sha_unenc.source = 'UNENCRYPTED' - LEFT JOIN sda.checksums sha_arch ON files.id = sha_arch.file_id AND sha_arch.source = 'ARCHIVED' WHERE datasets.stable_id = $1;` // nolint:rowserrcheck @@ -210,10 +208,9 @@ WHERE datasets.stable_id = $1;` // Iterate rows for rows.Next() { // Read rows into struct - fi := &FileInfo{} - err := rows.Scan(&fi.FileID, &fi.DatasetID, &fi.DisplayFileName, + fi := &DatasetFile{} + err := rows.Scan(&fi.FileID, &fi.DisplayFileName, &userID, &fi.FilePath, - &fi.EncryptedFileSize, &fi.EncryptedFileChecksum, &fi.EncryptedFileChecksumType, &fi.DecryptedFileSize, &fi.DecryptedFileChecksum, &fi.DecryptedFileChecksumType) if err != nil { log.Error(err) @@ -221,23 +218,8 @@ WHERE datasets.stable_id = $1;` return nil, err } - // NOTE FOR ENCRYPTED DOWNLOAD - // As of now, encrypted download is not supported. When implementing encrypted download, note that - // local_ega_ebi.file:file_size is the size of the file body in the archive without the header, - // so the user needs to know the size of the header when downloading in encrypted format. - // A way to get this could be: - // fd := GetFile() - // fi.EncryptedFileSize = fi.EncryptedFileSize + len(fd.Header) - // But if the header is re-encrypted or a completely new header is generated, the length - // needs to be conveyd to the user in some other way. - // Process file info so that we don't leak any unneccessary info. - err = processFileInfo(fi, userID) - if err != nil { - log.Error(err) - - return nil, err - } + fi.FilePath = removeUserIDPrefix(fi.FilePath, userID) // Add structs to array files = append(files, fi) @@ -394,12 +376,7 @@ func (dbs *SQLdb) getDatasetFileInfo(datasetID, filePath string) (*FileInfo, err } // Process file info so that we don't leak any unneccessary info. - err = processFileInfo(file, userID) - if err != nil { - log.Error(err) - - return nil, err - } + file.FilePath = removeUserIDPrefix(file.FilePath, userID) return file, nil } From 40c820fcf5b7cd96e540447948104b0e99975700 Mon Sep 17 00:00:00 2001 From: neicnordic Date: Wed, 24 Sep 2025 07:24:24 +0000 Subject: [PATCH 14/26] Bump chart version --- charts/sda-db/Chart.yaml | 4 ++-- charts/sda-mq/Chart.yaml | 4 ++-- charts/sda-svc/Chart.yaml | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/charts/sda-db/Chart.yaml b/charts/sda-db/Chart.yaml index 28638d0ab8..537513d4f4 100644 --- a/charts/sda-db/Chart.yaml +++ b/charts/sda-db/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v2 name: sda-db -version: 2.0.19 -appVersion: v3.0.9 +version: 2.0.20 +appVersion: v3.0.14 kubeVersion: '>= 1.26.0' description: Database component for Sensitive Data Archive (SDA) installation home: https://neic-sda.readthedocs.io diff --git a/charts/sda-mq/Chart.yaml b/charts/sda-mq/Chart.yaml index 9d0edf9271..70527b36e1 100644 --- a/charts/sda-mq/Chart.yaml +++ b/charts/sda-mq/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v2 name: sda-mq -version: 2.0.19 -appVersion: v3.0.9 +version: 2.0.20 +appVersion: v3.0.14 kubeVersion: '>= 1.26.0' description: RabbitMQ component for Sensitive Data Archive (SDA) installation home: https://neic-sda.readthedocs.io diff --git a/charts/sda-svc/Chart.yaml b/charts/sda-svc/Chart.yaml index 609990856d..866f39afb3 100644 --- a/charts/sda-svc/Chart.yaml +++ b/charts/sda-svc/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v2 name: sda-svc -version: 3.0.11 -appVersion: v3.0.9 +version: 3.0.12 +appVersion: v3.0.14 kubeVersion: '>= 1.26.0' description: Components for Sensitive Data Archive (SDA) installation home: https://neic-sda.readthedocs.io From 73ad802f83b5fd2527b6b2763a28856fe817894a Mon Sep 17 00:00:00 2001 From: Joakim Bygdell Date: Fri, 19 Sep 2025 13:27:13 +0200 Subject: [PATCH 15/26] Disable service links for all deployments This will prevent ENVs to be injected into the pods that can mess with the configuration if the ENV matches any of the expected config variable names. --- charts/sda-svc/templates/api-deploy.yaml | 1 + charts/sda-svc/templates/auth-deploy.yaml | 1 + charts/sda-svc/templates/doa-deploy.yaml | 1 + charts/sda-svc/templates/download-deploy.yaml | 1 + charts/sda-svc/templates/finalize-deploy.yaml | 1 + charts/sda-svc/templates/ingest-deploy.yaml | 1 + charts/sda-svc/templates/intercept-deploy.yaml | 1 + charts/sda-svc/templates/mapper-deploy.yaml | 1 + charts/sda-svc/templates/re-encrypt-deploy.yaml | 1 + charts/sda-svc/templates/release-test-deploy.yml | 1 + charts/sda-svc/templates/s3-inbox-deploy.yaml | 1 + charts/sda-svc/templates/sftp-inbox-deploy.yaml | 1 + charts/sda-svc/templates/sync-deploy.yaml | 1 + charts/sda-svc/templates/syncapi-deploy.yaml | 1 + charts/sda-svc/templates/verify-deploy.yaml | 1 + 15 files changed, 15 insertions(+) diff --git a/charts/sda-svc/templates/api-deploy.yaml b/charts/sda-svc/templates/api-deploy.yaml index e1867e8dfc..76b503329d 100644 --- a/charts/sda-svc/templates/api-deploy.yaml +++ b/charts/sda-svc/templates/api-deploy.yaml @@ -100,6 +100,7 @@ spec: - name: inbox mountPath: "/inbox" {{- end }} + enableServiceLinks: false volumes: {{- if not .Values.global.vaultSecrets }} - name: config diff --git a/charts/sda-svc/templates/auth-deploy.yaml b/charts/sda-svc/templates/auth-deploy.yaml index e72c6c0eb6..53099ba02f 100644 --- a/charts/sda-svc/templates/auth-deploy.yaml +++ b/charts/sda-svc/templates/auth-deploy.yaml @@ -99,6 +99,7 @@ spec: - name: c4gh mountPath: {{ template "c4ghPath" . }} {{- end }} + enableServiceLinks: false volumes: {{- if not .Values.global.vaultSecrets }} {{- if and (.Values.global.auth.resignJwt) (not .Values.global.vaultSecrets) }} diff --git a/charts/sda-svc/templates/doa-deploy.yaml b/charts/sda-svc/templates/doa-deploy.yaml index 705495196e..e26353ae7c 100644 --- a/charts/sda-svc/templates/doa-deploy.yaml +++ b/charts/sda-svc/templates/doa-deploy.yaml @@ -281,6 +281,7 @@ spec: - name: archive mountPath: {{ .Values.global.archive.volumePath | quote }} {{- end }} + enableServiceLinks: false volumes: - name: tmp emptyDir: {} diff --git a/charts/sda-svc/templates/download-deploy.yaml b/charts/sda-svc/templates/download-deploy.yaml index 90650a6f05..6d3f4ffb13 100644 --- a/charts/sda-svc/templates/download-deploy.yaml +++ b/charts/sda-svc/templates/download-deploy.yaml @@ -100,6 +100,7 @@ spec: - name: archive mountPath: {{ .Values.global.archive.volumePath | quote }} {{- end }} + enableServiceLinks: false volumes: {{- if and (not .Values.global.pkiService) .Values.global.tls.enabled }} - name: tls diff --git a/charts/sda-svc/templates/finalize-deploy.yaml b/charts/sda-svc/templates/finalize-deploy.yaml index 068f8752ad..35705dc2d1 100644 --- a/charts/sda-svc/templates/finalize-deploy.yaml +++ b/charts/sda-svc/templates/finalize-deploy.yaml @@ -92,6 +92,7 @@ spec: - name: backup mountPath: {{ .Values.global.backupArchive.volumePath | quote }} {{- end }} + enableServiceLinks: false volumes: {{- if not .Values.global.vaultSecrets }} - name: config diff --git a/charts/sda-svc/templates/ingest-deploy.yaml b/charts/sda-svc/templates/ingest-deploy.yaml index 90de9d4674..53ef29d35e 100644 --- a/charts/sda-svc/templates/ingest-deploy.yaml +++ b/charts/sda-svc/templates/ingest-deploy.yaml @@ -95,6 +95,7 @@ spec: - name: inbox mountPath: {{ .Values.global.inbox.path | quote }} {{- end }} + enableServiceLinks: false volumes: {{- if not .Values.global.vaultSecrets }} - name: config diff --git a/charts/sda-svc/templates/intercept-deploy.yaml b/charts/sda-svc/templates/intercept-deploy.yaml index 062ae95fb5..a9dd3c6eec 100644 --- a/charts/sda-svc/templates/intercept-deploy.yaml +++ b/charts/sda-svc/templates/intercept-deploy.yaml @@ -70,6 +70,7 @@ spec: - name: tls mountPath: {{ template "tlsPath" . }} {{- end }} + enableServiceLinks: false volumes: - name: config projected: diff --git a/charts/sda-svc/templates/mapper-deploy.yaml b/charts/sda-svc/templates/mapper-deploy.yaml index 7c89f09343..3cc270d136 100644 --- a/charts/sda-svc/templates/mapper-deploy.yaml +++ b/charts/sda-svc/templates/mapper-deploy.yaml @@ -71,6 +71,7 @@ spec: - name: inbox mountPath: {{ .Values.global.inbox.path | quote }} {{- end }} + enableServiceLinks: false volumes: {{- if not .Values.global.vaultSecrets }} - name: config diff --git a/charts/sda-svc/templates/re-encrypt-deploy.yaml b/charts/sda-svc/templates/re-encrypt-deploy.yaml index ee7eb02134..8801bd29af 100644 --- a/charts/sda-svc/templates/re-encrypt-deploy.yaml +++ b/charts/sda-svc/templates/re-encrypt-deploy.yaml @@ -73,6 +73,7 @@ spec: - name: tls mountPath: {{ template "tlsPath" . }} {{- end }} + enableServiceLinks: false volumes: {{- if not .Values.global.vaultSecrets }} - name: config diff --git a/charts/sda-svc/templates/release-test-deploy.yml b/charts/sda-svc/templates/release-test-deploy.yml index cc86a47d13..2e8b3d72e6 100644 --- a/charts/sda-svc/templates/release-test-deploy.yml +++ b/charts/sda-svc/templates/release-test-deploy.yml @@ -89,6 +89,7 @@ spec: command: [ "/bin/bash" ] args: - "/release-test-app/release-test.sh" + enableServiceLinks: false volumes: {{- if and (not .Values.global.pkiService) .Values.global.tls.enabled }} - name: certs diff --git a/charts/sda-svc/templates/s3-inbox-deploy.yaml b/charts/sda-svc/templates/s3-inbox-deploy.yaml index 5a34704320..a69a66fc4a 100644 --- a/charts/sda-svc/templates/s3-inbox-deploy.yaml +++ b/charts/sda-svc/templates/s3-inbox-deploy.yaml @@ -115,6 +115,7 @@ spec: mountPath: {{ include "jwtPath" . }} {{- end }} {{- end }} + enableServiceLinks: false volumes: {{- if and (not .Values.global.pkiService) .Values.global.tls.enabled }} - name: tls diff --git a/charts/sda-svc/templates/sftp-inbox-deploy.yaml b/charts/sda-svc/templates/sftp-inbox-deploy.yaml index 8dcd2528e0..67dd1ad7d8 100644 --- a/charts/sda-svc/templates/sftp-inbox-deploy.yaml +++ b/charts/sda-svc/templates/sftp-inbox-deploy.yaml @@ -164,6 +164,7 @@ spec: mountPath: "/etc/ssl/certs/java" - name: tmp mountPath: /tmp/ + enableServiceLinks: false volumes: - name: tmp emptyDir: {} diff --git a/charts/sda-svc/templates/sync-deploy.yaml b/charts/sda-svc/templates/sync-deploy.yaml index 536f41e6ef..c46c1d610e 100644 --- a/charts/sda-svc/templates/sync-deploy.yaml +++ b/charts/sda-svc/templates/sync-deploy.yaml @@ -92,6 +92,7 @@ spec: - name: tls mountPath: {{ template "tlsPath" . }} {{- end }} + enableServiceLinks: false volumes: {{- if and (not .Values.global.pkiService) .Values.global.tls.enabled }} - name: tls diff --git a/charts/sda-svc/templates/syncapi-deploy.yaml b/charts/sda-svc/templates/syncapi-deploy.yaml index 6e0f474a96..98d1bfb7b3 100644 --- a/charts/sda-svc/templates/syncapi-deploy.yaml +++ b/charts/sda-svc/templates/syncapi-deploy.yaml @@ -92,6 +92,7 @@ spec: - name: tls mountPath: {{ template "tlsPath" . }} {{- end }} + enableServiceLinks: false volumes: {{- if not .Values.global.vaultSecrets }} - name: config diff --git a/charts/sda-svc/templates/verify-deploy.yaml b/charts/sda-svc/templates/verify-deploy.yaml index 23f30efe1a..0d10eaf489 100644 --- a/charts/sda-svc/templates/verify-deploy.yaml +++ b/charts/sda-svc/templates/verify-deploy.yaml @@ -74,6 +74,7 @@ spec: - name: archive mountPath: {{ .Values.global.archive.volumePath | quote }} {{- end }} + enableServiceLinks: false volumes: {{- if and (not .Values.global.pkiService) .Values.global.tls.enabled }} - name: tls From f9ce6f1b13ec97bbed5b0f63268009f5431e9ef0 Mon Sep 17 00:00:00 2001 From: Joakim Bygdell Date: Fri, 19 Sep 2025 13:27:37 +0200 Subject: [PATCH 16/26] Bump chart version. --- charts/sda-svc/Chart.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/sda-svc/Chart.yaml b/charts/sda-svc/Chart.yaml index 866f39afb3..e38f74dd1e 100644 --- a/charts/sda-svc/Chart.yaml +++ b/charts/sda-svc/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v2 name: sda-svc -version: 3.0.12 +version: 3.0.13 appVersion: v3.0.14 kubeVersion: '>= 1.26.0' description: Components for Sensitive Data Archive (SDA) installation From e4b0a8bfe31f3e8100fc681382668a00e5882c41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karl=20Gr=C3=B6nberg?= Date: Thu, 25 Sep 2025 10:09:11 +0200 Subject: [PATCH 17/26] feat(sda-download): update comment for FileInfo --- sda-download/internal/database/database.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sda-download/internal/database/database.go b/sda-download/internal/database/database.go index 7eab36df66..5e12e9b4e9 100644 --- a/sda-download/internal/database/database.go +++ b/sda-download/internal/database/database.go @@ -24,7 +24,8 @@ type SQLdb struct { ConnInfo string } -// FileInfo is returned by the metadata endpoint +// FileInfo is used to gather the FileID in the s3 endpoint implementation +// Should be removed once query for getDatasetFileInfo is optimised type FileInfo struct { FileID string `json:"fileId"` DatasetID string `json:"datasetId"` From 6195a7f5fbd7c3566ef64572e7937600a8438532 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karl=20Gr=C3=B6nberg?= Date: Thu, 25 Sep 2025 10:18:13 +0200 Subject: [PATCH 18/26] feat(sda-download): remove DatasetFile struct infavour of updating FileInfo struct, and updating getDatasetFileInfo query to not populate removed fields --- sda-download/api/s3/s3_test.go | 4 +- sda-download/api/sda/sda.go | 2 +- sda-download/api/sda/sda_test.go | 16 ++--- sda-download/internal/database/database.go | 72 ++++++------------- .../internal/database/database_test.go | 69 ------------------ 5 files changed, 33 insertions(+), 130 deletions(-) diff --git a/sda-download/api/s3/s3_test.go b/sda-download/api/s3/s3_test.go index 9207986925..96b7037075 100644 --- a/sda-download/api/s3/s3_test.go +++ b/sda-download/api/s3/s3_test.go @@ -115,7 +115,7 @@ func (ts *S3TestSuite) TestListBuckets() { func (ts *S3TestSuite) TestListByPrefix() { // Setup a mock database to handle queries - fileInfo := &database.DatasetFile{ + fileInfo := &database.FileInfo{ FileID: "file1", DisplayFileName: "file.txt", FilePath: "dir/file.txt", @@ -180,7 +180,7 @@ WHERE datasets.stable_id = \$1;` func (ts *S3TestSuite) TestListObjects() { // Setup a mock database to handlequeries - fileInfo := &database.DatasetFile{ + fileInfo := &database.FileInfo{ FileID: "file1", DisplayFileName: "file.txt", FilePath: "dir/file.txt", diff --git a/sda-download/api/sda/sda.go b/sda-download/api/sda/sda.go index fb15f8c078..53a08ae73d 100644 --- a/sda-download/api/sda/sda.go +++ b/sda-download/api/sda/sda.go @@ -134,7 +134,7 @@ func find(datasetID string, datasets []string) bool { } // getFiles returns files belonging to a dataset -var getFiles = func(datasetID string, ctx *gin.Context) ([]*database.DatasetFile, int, error) { +var getFiles = func(datasetID string, ctx *gin.Context) ([]*database.FileInfo, int, error) { // Retrieve dataset list from request context // generated by the authentication middleware cache := middleware.GetCacheFromContext(ctx) diff --git a/sda-download/api/sda/sda_test.go b/sda-download/api/sda/sda_test.go index fd1a5d44bd..faf35b4496 100644 --- a/sda-download/api/sda/sda_test.go +++ b/sda-download/api/sda/sda_test.go @@ -114,7 +114,7 @@ func TestGetFiles_Fail_Database(t *testing.T) { Datasets: []string{"dataset1", "dataset2"}, } } - database.GetFiles = func(_ string) ([]*database.DatasetFile, error) { + database.GetFiles = func(_ string) ([]*database.FileInfo, error) { return nil, errors.New("something went wrong") } @@ -187,11 +187,11 @@ func TestGetFiles_Success(t *testing.T) { Datasets: []string{"dataset1", "dataset2"}, } } - database.GetFiles = func(_ string) ([]*database.DatasetFile, error) { - fileInfo := database.DatasetFile{ + database.GetFiles = func(_ string) ([]*database.FileInfo, error) { + fileInfo := database.FileInfo{ FileID: "file1", } - files := []*database.DatasetFile{} + files := []*database.FileInfo{} files = append(files, &fileInfo) return files, nil @@ -226,7 +226,7 @@ func TestFiles_Fail(t *testing.T) { originalGetFiles := getFiles // Substitute mock functions - getFiles = func(_ string, _ *gin.Context) ([]*database.DatasetFile, int, error) { + getFiles = func(_ string, _ *gin.Context) ([]*database.FileInfo, int, error) { return nil, 404, errors.New("dataset not found") } @@ -267,8 +267,8 @@ func TestFiles_Success(t *testing.T) { originalGetFiles := getFiles // Substitute mock functions - getFiles = func(_ string, _ *gin.Context) ([]*database.DatasetFile, int, error) { - fileInfo := database.DatasetFile{ + getFiles = func(_ string, _ *gin.Context) ([]*database.FileInfo, int, error) { + fileInfo := database.FileInfo{ FileID: "file1", DisplayFileName: "file1.txt", FilePath: "dir/file1.txt", @@ -276,7 +276,7 @@ func TestFiles_Success(t *testing.T) { DecryptedFileChecksum: "hash", DecryptedFileChecksumType: "sha256", } - files := []*database.DatasetFile{} + files := []*database.FileInfo{} files = append(files, &fileInfo) return files, 200, nil diff --git a/sda-download/internal/database/database.go b/sda-download/internal/database/database.go index 5e12e9b4e9..e470713b01 100644 --- a/sda-download/internal/database/database.go +++ b/sda-download/internal/database/database.go @@ -24,23 +24,9 @@ type SQLdb struct { ConnInfo string } -// FileInfo is used to gather the FileID in the s3 endpoint implementation -// Should be removed once query for getDatasetFileInfo is optimised +// FileInfo is returned by the metadata/datasets/*dataset/files endpoint +// And is used to gather the FileID in the s3 endpoint implementation type FileInfo struct { - FileID string `json:"fileId"` - DatasetID string `json:"datasetId"` - DisplayFileName string `json:"displayFileName"` - FilePath string `json:"filePath"` - EncryptedFileSize int64 `json:"encryptedFileSize"` - EncryptedFileChecksum string `json:"encryptedFileChecksum"` - EncryptedFileChecksumType string `json:"encryptedFileChecksumType"` - DecryptedFileSize int64 `json:"decryptedFileSize"` - DecryptedFileChecksum string `json:"decryptedFileChecksum"` - DecryptedFileChecksumType string `json:"decryptedFileChecksumType"` -} - -// DatasetFile is returned by the metadata/datasets/*dataset/files endpoint -type DatasetFile struct { FileID string `json:"fileId"` DisplayFileName string `json:"displayFileName"` FilePath string `json:"filePath"` @@ -141,11 +127,11 @@ func (dbs *SQLdb) checkAndReconnectIfNeeded() { } // GetFiles retrieves the file details -var GetFiles = func(datasetID string) ([]*DatasetFile, error) { +var GetFiles = func(datasetID string) ([]*FileInfo, error) { var ( - r []*DatasetFile = nil - err error = nil - count = 0 + r []*FileInfo = nil + err error = nil + count = 0 ) for count < dbRetryTimes { @@ -175,10 +161,10 @@ func removeUserIDPrefix(filePath, userID string) string { } // getFiles is the actual function performing work for GetFile -func (dbs *SQLdb) getFiles(datasetID string) ([]*DatasetFile, error) { +func (dbs *SQLdb) getFiles(datasetID string) ([]*FileInfo, error) { dbs.checkAndReconnectIfNeeded() - files := []*DatasetFile{} + files := []*FileInfo{} db := dbs.DB const query = ` @@ -209,7 +195,7 @@ WHERE datasets.stable_id = $1;` // Iterate rows for rows.Next() { // Read rows into struct - fi := &DatasetFile{} + fi := &FileInfo{} err := rows.Scan(&fi.FileID, &fi.DisplayFileName, &userID, &fi.FilePath, &fi.DecryptedFileSize, &fi.DecryptedFileChecksum, &fi.DecryptedFileChecksumType) @@ -334,31 +320,18 @@ func (dbs *SQLdb) getDatasetFileInfo(datasetID, filePath string) (*FileInfo, err db := dbs.DB const query = ` - SELECT f.stable_id AS file_id, - d.stable_id AS dataset_id, - reverse(split_part(reverse(f.submission_file_path::text), '/'::text, 1)) AS display_file_name, - f.submission_user AS user_id, - f.submission_file_path AS file_path, - f.archive_file_size AS file_size, - lef.archive_file_checksum AS encrypted_file_checksum, - lef.archive_file_checksum_type AS encrypted_file_checksum_type, - f.decrypted_file_size, - dc.checksum AS decrypted_file_checksum, - dc.type AS decrypted_file_checksum_type - FROM sda.files f - JOIN sda.file_dataset fd ON fd.file_id = f.id - JOIN sda.datasets d ON fd.dataset_id = d.id - LEFT JOIN local_ega.files lef ON f.stable_id = lef.stable_id - LEFT JOIN (SELECT file_id, - (ARRAY_AGG(event ORDER BY started_at DESC))[1] AS event - FROM sda.file_event_log - GROUP BY file_id) e - ON f.id = e.file_id - LEFT JOIN (SELECT file_id, checksum, type - FROM sda.checksums - WHERE source = 'UNENCRYPTED') dc - ON f.id = dc.file_id - WHERE d.stable_id = $1 AND f.submission_file_path ~ ('^[^/]*/?' || $2);` +SELECT files.stable_id AS id, + reverse(split_part(reverse(files.submission_file_path::text), '/'::text, 1)) AS display_file_name, + files.submission_user AS user_id, + files.submission_file_path AS file_path, + files.decrypted_file_size, + sha_unenc.checksum AS decrypted_file_checksum, + sha_unenc.type AS decrypted_file_checksum_type +FROM sda.files + JOIN sda.file_dataset file_dataset ON file_dataset.file_id = files.id + JOIN sda.datasets datasets ON file_dataset.dataset_id = datasets.id + LEFT JOIN sda.checksums sha_unenc ON files.id = sha_unenc.file_id AND sha_unenc.source = 'UNENCRYPTED' + WHERE datasets.stable_id = $1 AND files.submission_file_path ~ ('^[^/]*/?' || $2);` // regexp matching in the submission file path in order to disregard the // first slash-separated path element. The first path element is the id of // the uploading user which should not be displayed. @@ -366,8 +339,7 @@ func (dbs *SQLdb) getDatasetFileInfo(datasetID, filePath string) (*FileInfo, err var userID string // nolint:rowserrcheck err := db.QueryRow(query, datasetID, filePath).Scan(&file.FileID, - &file.DatasetID, &file.DisplayFileName, &userID, &file.FilePath, - &file.EncryptedFileSize, &file.EncryptedFileChecksum, &file.EncryptedFileChecksumType, + &file.DisplayFileName, &userID, &file.FilePath, &file.DecryptedFileSize, &file.DecryptedFileChecksum, &file.DecryptedFileChecksumType) if err != nil { diff --git a/sda-download/internal/database/database_test.go b/sda-download/internal/database/database_test.go index d0a5cd178c..501a878fce 100644 --- a/sda-download/internal/database/database_test.go +++ b/sda-download/internal/database/database_test.go @@ -273,75 +273,6 @@ func TestGetDatasetInfo(t *testing.T) { log.SetOutput(os.Stdout) } -func TestGetDatasetFileInfo(t *testing.T) { - r := sqlTesterHelper(t, func(mock sqlmock.Sqlmock, testDb *SQLdb) error { - expected := &FileInfo{ - FileID: "file1", - DatasetID: "dataset1", - DisplayFileName: "file.txt", - FilePath: "dir/file.txt", - EncryptedFileSize: 60, - EncryptedFileChecksum: "hash", - EncryptedFileChecksumType: "sha256", - DecryptedFileSize: 32, - DecryptedFileChecksum: "hash", - DecryptedFileChecksumType: "sha256", - } - userID := "user1" - - query := ` - SELECT f.stable_id AS file_id, - d.stable_id AS dataset_id, - reverse\(split_part\(reverse\(f.submission_file_path::text\), '/'::text, 1\)\) AS display_file_name, - f.submission_user AS user_id, - f.submission_file_path AS file_path, - f.archive_file_size AS file_size, - lef.archive_file_checksum AS encrypted_file_checksum, - lef.archive_file_checksum_type AS encrypted_file_checksum_type, - f.decrypted_file_size, - dc.checksum AS decrypted_file_checksum, - dc.type AS decrypted_file_checksum_type - FROM sda.files f - JOIN sda.file_dataset fd ON fd.file_id = f.id - JOIN sda.datasets d ON fd.dataset_id = d.id - LEFT JOIN local_ega.files lef ON f.stable_id = lef.stable_id - LEFT JOIN \(SELECT file_id, - \(ARRAY_AGG\(event ORDER BY started_at DESC\)\)\[1\] AS event - FROM sda.file_event_log - GROUP BY file_id\) e - ON f.id = e.file_id - LEFT JOIN \(SELECT file_id, checksum, type - FROM sda.checksums - WHERE source = 'UNENCRYPTED'\) dc - ON f.id = dc.file_id - WHERE d.stable_id = \$1 AND f.submission_file_path ~ \('\^\[\^\/\]\*/\?' \|\| \$2\);` - mock.ExpectQuery(query). - WithArgs("dataset1", "file1"). - WillReturnRows(sqlmock.NewRows([]string{"file_id", "dataset_id", - "display_file_name", "user_id", "file_path", "file_size", - "encrypted_file_checksum", "encrypted_file_checksum_type", "decrypted_file_size", "decrypted_file_checksum", - "decrypted_file_checksum_type"}).AddRow(expected.FileID, expected.DatasetID, - expected.DisplayFileName, userID, expected.FilePath, - expected.EncryptedFileSize, expected.EncryptedFileChecksum, expected.EncryptedFileChecksumType, expected.DecryptedFileSize, - expected.DecryptedFileChecksum, expected.DecryptedFileChecksumType)) - - x, err := testDb.getDatasetFileInfo("dataset1", "file1") - - assert.Equal(t, expected, x, "did not get expected file values") - - return err - }) - - assert.Nil(t, r, "checkDataset failed unexpectedly") - - var buf bytes.Buffer - log.SetOutput(&buf) - - buf.Reset() - - log.SetOutput(os.Stdout) -} - func TestGetFile(t *testing.T) { r := sqlTesterHelper(t, func(mock sqlmock.Sqlmock, testDb *SQLdb) error { expected := &FileDownload{ From b901330abf14a526fe91b529aa7edd579caca4c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karl=20Gr=C3=B6nberg?= Date: Thu, 25 Sep 2025 10:26:34 +0200 Subject: [PATCH 19/26] feat(sda-download): remove database.GetDatasetFileInfo func and replace with database.GetDatasetFileStableId, which just returns the file stable id instead of full FileInfo struct --- sda-download/api/s3/s3.go | 14 ++++---- sda-download/internal/database/database.go | 40 +++++++--------------- 2 files changed, 20 insertions(+), 34 deletions(-) diff --git a/sda-download/api/s3/s3.go b/sda-download/api/s3/s3.go index 35cb03667e..00ceb3f20c 100644 --- a/sda-download/api/s3/s3.go +++ b/sda-download/api/s3/s3.go @@ -185,13 +185,13 @@ func ListObjects(c *gin.Context) { }) } -func getFileInfo(c *gin.Context) (fileInfo *database.FileInfo, err error) { +func getFileStableId(c *gin.Context) (fileStableId string, err error) { // Get file info for the given file path (or abort) filename := c.Param("filename") if !strings.HasSuffix(c.Param("filename"), ".c4gh") { filename = c.Param("filename") + ".c4gh" } - fileInfo, err = database.GetDatasetFileInfo(c.Param("dataset"), filename) + fileStableId, err = database.GetDatasetFileStableId(c.Param("dataset"), filename) if err != nil { if err.Error() == "sql: no rows in result set" { c.AbortWithStatus(http.StatusNotFound) @@ -202,7 +202,7 @@ func getFileInfo(c *gin.Context) (fileInfo *database.FileInfo, err error) { return } - return fileInfo, nil + return fileStableId, nil } // GetObject respondes to an S3 GetObject request. This request returns S3 @@ -213,7 +213,7 @@ func getFileInfo(c *gin.Context) (fileInfo *database.FileInfo, err error) { func GetObject(c *gin.Context) { log.Debugf("S3 GetObject request, context: %v", c.Params) - fileInfo, err := getFileInfo(c) + fileStableId, err := getFileStableId(c) if err != nil { return } @@ -222,7 +222,7 @@ func GetObject(c *gin.Context) { c.Set("S3", true) // set the fileID so that download knows what file to download - c.Params = append(c.Params, gin.Param{Key: "fileid", Value: fileInfo.FileID}) + c.Params = append(c.Params, gin.Param{Key: "fileid", Value: fileStableId}) // Download the file sda.Download(c) @@ -236,7 +236,7 @@ func GetObject(c *gin.Context) { func GetEcnryptedObject(c *gin.Context) { log.Debugf("S3 GetEncryptedObject request, context: %v", c.Params) - fileInfo, err := getFileInfo(c) + fileStableId, err := getFileStableId(c) if err != nil { return } @@ -245,7 +245,7 @@ func GetEcnryptedObject(c *gin.Context) { c.Set("S3", true) // set the fileID so that download knows what file to download - c.Params = append(c.Params, gin.Param{Key: "fileid", Value: fileInfo.FileID}) + c.Params = append(c.Params, gin.Param{Key: "fileid", Value: fileStableId}) // set the encrypted parameter so that download gets the encrypted file instead c.Params = append(c.Params, gin.Param{Key: "type", Value: "encrypted"}) diff --git a/sda-download/internal/database/database.go b/sda-download/internal/database/database.go index e470713b01..357ee60106 100644 --- a/sda-download/internal/database/database.go +++ b/sda-download/internal/database/database.go @@ -25,7 +25,6 @@ type SQLdb struct { } // FileInfo is returned by the metadata/datasets/*dataset/files endpoint -// And is used to gather the FileID in the s3 endpoint implementation type FileInfo struct { FileID string `json:"fileId"` DisplayFileName string `json:"displayFileName"` @@ -289,17 +288,17 @@ func (dbs *SQLdb) getDatasetInfo(datasetID string) (*DatasetInfo, error) { return dataset, nil } -// GetDatasetFileInfo returns information on a file given a dataset ID and an +// GetDatasetFileStableId returns the stable id of a file given a dataset ID and an // upload file path -var GetDatasetFileInfo = func(datasetID, filePath string) (*FileInfo, error) { +var GetDatasetFileStableId = func(datasetID, filePath string) (string, error) { var ( - d *FileInfo - err error - count int + fileStableId string + err error + count int ) for count < dbRetryTimes { - d, err = DB.getDatasetFileInfo(datasetID, filePath) + fileStableId, err = DB.getDatasetFileStableId(datasetID, filePath) if err != nil { count++ @@ -309,49 +308,36 @@ var GetDatasetFileInfo = func(datasetID, filePath string) (*FileInfo, error) { break } - return d, err + return fileStableId, err } // getDatasetFileInfo is the actual function performing work for GetFile -func (dbs *SQLdb) getDatasetFileInfo(datasetID, filePath string) (*FileInfo, error) { +func (dbs *SQLdb) getDatasetFileStableId(datasetID, filePath string) (string, error) { dbs.checkAndReconnectIfNeeded() - file := &FileInfo{} db := dbs.DB const query = ` -SELECT files.stable_id AS id, - reverse(split_part(reverse(files.submission_file_path::text), '/'::text, 1)) AS display_file_name, - files.submission_user AS user_id, - files.submission_file_path AS file_path, - files.decrypted_file_size, - sha_unenc.checksum AS decrypted_file_checksum, - sha_unenc.type AS decrypted_file_checksum_type +SELECT files.stable_id FROM sda.files JOIN sda.file_dataset file_dataset ON file_dataset.file_id = files.id JOIN sda.datasets datasets ON file_dataset.dataset_id = datasets.id - LEFT JOIN sda.checksums sha_unenc ON files.id = sha_unenc.file_id AND sha_unenc.source = 'UNENCRYPTED' WHERE datasets.stable_id = $1 AND files.submission_file_path ~ ('^[^/]*/?' || $2);` // regexp matching in the submission file path in order to disregard the // first slash-separated path element. The first path element is the id of // the uploading user which should not be displayed. - var userID string + var fileStableID string // nolint:rowserrcheck - err := db.QueryRow(query, datasetID, filePath).Scan(&file.FileID, - &file.DisplayFileName, &userID, &file.FilePath, - &file.DecryptedFileSize, &file.DecryptedFileChecksum, &file.DecryptedFileChecksumType) + err := db.QueryRow(query, datasetID, filePath).Scan(&fileStableID) if err != nil { log.Error(err) - return nil, err + return "", err } - // Process file info so that we don't leak any unneccessary info. - file.FilePath = removeUserIDPrefix(file.FilePath, userID) - - return file, nil + return fileStableID, nil } // CheckFilePermission checks if user has permissions to access the dataset the file is a part of From 793c72633eb57c6038805532d416144d2b7aa6b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karl=20Gr=C3=B6nberg?= Date: Mon, 29 Sep 2025 14:11:59 +0200 Subject: [PATCH 20/26] feat(sda-download): update api.md update the /metadata/datasets/{datasetName}/files response example to reflect updated reponse after removal of fields --- sda-download/api/api.md | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/sda-download/api/api.md b/sda-download/api/api.md index 8f21c13dd0..533a4dbf1b 100644 --- a/sda-download/api/api.md +++ b/sda-download/api/api.md @@ -59,25 +59,19 @@ For example, given a dataset name `https://doi.org/abc/123`, one can do `GET /me [ { "fileId": "urn:file:1", - "datasetId": "dataset_1", "displayFileName": "file_1.txt.c4gh", - "fileName": "hash", - "fileSize": 60, + "filePath": "directory/file_1.txt.c4gh", "decryptedFileSize": 32, "decryptedFileChecksum": "hash", "decryptedFileChecksumType": "SHA256", - "fileStatus": "READY" }, { "fileId": "urn:file:2", - "datasetId": "dataset_1", "displayFileName": "file_2.txt.c4gh", - "fileName": "hash", - "fileSize": 60, + "filePath": "directory/file_2.txt.c4gh", "decryptedFileSize": 32, "decryptedFileChecksum": "hash", "decryptedFileChecksumType": "SHA256", - "fileStatus": "READY" }, ] ``` From 87606651f1d1f559227f71d9308365d8d1cef9bf Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 29 Sep 2025 20:59:46 +0000 Subject: [PATCH 21/26] Bump the all-modules group in /sda-doa with 2 updates Bumps the all-modules group in /sda-doa with 2 updates: [io.minio:minio](https://github.com/minio/minio-java) and [no.elixir:clearinghouse](https://github.com/ELIXIR-NO/FEGA-Norway). Updates `io.minio:minio` from 8.5.17 to 8.6.0 - [Release notes](https://github.com/minio/minio-java/releases) - [Commits](https://github.com/minio/minio-java/compare/8.5.17...8.6.0) Updates `no.elixir:clearinghouse` from 3.0.8 to 3.0.9 - [Release notes](https://github.com/ELIXIR-NO/FEGA-Norway/releases) - [Commits](https://github.com/ELIXIR-NO/FEGA-Norway/compare/crypt4gh-3.0.8...crypt4gh-3.0.9) --- updated-dependencies: - dependency-name: io.minio:minio dependency-version: 8.6.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: all-modules - dependency-name: no.elixir:clearinghouse dependency-version: 3.0.9 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-modules ... Signed-off-by: dependabot[bot] --- sda-doa/pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sda-doa/pom.xml b/sda-doa/pom.xml index f926eeeea5..d796a6add2 100644 --- a/sda-doa/pom.xml +++ b/sda-doa/pom.xml @@ -84,7 +84,7 @@ io.minio minio - 8.5.17 + 8.6.0 net.logstash.logback @@ -121,7 +121,7 @@ no.elixir clearinghouse - 3.0.8 + 3.0.9 org.slf4j From f244a523a2c65b3452944f9fe7fed7bdb62f6ec1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 29 Sep 2025 21:54:51 +0000 Subject: [PATCH 22/26] Bump snok/container-retention-policy from 3.0.0 to 3.0.1 Bumps [snok/container-retention-policy](https://github.com/snok/container-retention-policy) from 3.0.0 to 3.0.1. - [Release notes](https://github.com/snok/container-retention-policy/releases) - [Commits](https://github.com/snok/container-retention-policy/compare/v3.0.0...v3.0.1) --- updated-dependencies: - dependency-name: snok/container-retention-policy dependency-version: 3.0.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/ghcr-actions.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ghcr-actions.yml b/.github/workflows/ghcr-actions.yml index 8cabfb0121..3a3d304310 100644 --- a/.github/workflows/ghcr-actions.yml +++ b/.github/workflows/ghcr-actions.yml @@ -18,7 +18,7 @@ jobs: packages: write steps: - name: Delete 'PR' containers older than one month - uses: snok/container-retention-policy@v3.0.0 + uses: snok/container-retention-policy@v3.0.1 with: account: ${{ github.repository_owner }} image-names: sensitive-data-archive From e0dfdeacd795ee862063d350261aaeb6d1780072 Mon Sep 17 00:00:00 2001 From: Parisa Date: Tue, 30 Sep 2025 09:17:31 +0200 Subject: [PATCH 23/26] add okhttp jvm dependency --- sda-doa/pom.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sda-doa/pom.xml b/sda-doa/pom.xml index d796a6add2..7afd15e904 100644 --- a/sda-doa/pom.xml +++ b/sda-doa/pom.xml @@ -134,6 +134,11 @@ snakeyaml 2.5 + + com.squareup.okhttp3 + okhttp-jvm + 5.1.0 + From 2dc3f000ecd2e8ebda4782e8b85ab6d06fa37958 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karl=20Gr=C3=B6nberg?= Date: Thu, 2 Oct 2025 09:15:22 +0200 Subject: [PATCH 24/26] feat(sda-download): update variable/func naming Id -> ID --- sda-download/api/s3/s3.go | 14 +++++++------- sda-download/internal/database/database.go | 12 ++++++------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/sda-download/api/s3/s3.go b/sda-download/api/s3/s3.go index 00ceb3f20c..efd4734baa 100644 --- a/sda-download/api/s3/s3.go +++ b/sda-download/api/s3/s3.go @@ -185,13 +185,13 @@ func ListObjects(c *gin.Context) { }) } -func getFileStableId(c *gin.Context) (fileStableId string, err error) { +func getFileStableID(c *gin.Context) (fileStableID string, err error) { // Get file info for the given file path (or abort) filename := c.Param("filename") if !strings.HasSuffix(c.Param("filename"), ".c4gh") { filename = c.Param("filename") + ".c4gh" } - fileStableId, err = database.GetDatasetFileStableId(c.Param("dataset"), filename) + fileStableID, err = database.GetDatasetFileStableID(c.Param("dataset"), filename) if err != nil { if err.Error() == "sql: no rows in result set" { c.AbortWithStatus(http.StatusNotFound) @@ -202,7 +202,7 @@ func getFileStableId(c *gin.Context) (fileStableId string, err error) { return } - return fileStableId, nil + return fileStableID, nil } // GetObject respondes to an S3 GetObject request. This request returns S3 @@ -213,7 +213,7 @@ func getFileStableId(c *gin.Context) (fileStableId string, err error) { func GetObject(c *gin.Context) { log.Debugf("S3 GetObject request, context: %v", c.Params) - fileStableId, err := getFileStableId(c) + fileStableID, err := getFileStableID(c) if err != nil { return } @@ -222,7 +222,7 @@ func GetObject(c *gin.Context) { c.Set("S3", true) // set the fileID so that download knows what file to download - c.Params = append(c.Params, gin.Param{Key: "fileid", Value: fileStableId}) + c.Params = append(c.Params, gin.Param{Key: "fileid", Value: fileStableID}) // Download the file sda.Download(c) @@ -236,7 +236,7 @@ func GetObject(c *gin.Context) { func GetEcnryptedObject(c *gin.Context) { log.Debugf("S3 GetEncryptedObject request, context: %v", c.Params) - fileStableId, err := getFileStableId(c) + fileStableID, err := getFileStableID(c) if err != nil { return } @@ -245,7 +245,7 @@ func GetEcnryptedObject(c *gin.Context) { c.Set("S3", true) // set the fileID so that download knows what file to download - c.Params = append(c.Params, gin.Param{Key: "fileid", Value: fileStableId}) + c.Params = append(c.Params, gin.Param{Key: "fileid", Value: fileStableID}) // set the encrypted parameter so that download gets the encrypted file instead c.Params = append(c.Params, gin.Param{Key: "type", Value: "encrypted"}) diff --git a/sda-download/internal/database/database.go b/sda-download/internal/database/database.go index 357ee60106..3318aeabcf 100644 --- a/sda-download/internal/database/database.go +++ b/sda-download/internal/database/database.go @@ -288,17 +288,17 @@ func (dbs *SQLdb) getDatasetInfo(datasetID string) (*DatasetInfo, error) { return dataset, nil } -// GetDatasetFileStableId returns the stable id of a file given a dataset ID and an +// GetDatasetFileStableID returns the stable id of a file given a dataset ID and an // upload file path -var GetDatasetFileStableId = func(datasetID, filePath string) (string, error) { +var GetDatasetFileStableID = func(datasetID, filePath string) (string, error) { var ( - fileStableId string + fileStableID string err error count int ) for count < dbRetryTimes { - fileStableId, err = DB.getDatasetFileStableId(datasetID, filePath) + fileStableID, err = DB.getDatasetFileStableID(datasetID, filePath) if err != nil { count++ @@ -308,11 +308,11 @@ var GetDatasetFileStableId = func(datasetID, filePath string) (string, error) { break } - return fileStableId, err + return fileStableID, err } // getDatasetFileInfo is the actual function performing work for GetFile -func (dbs *SQLdb) getDatasetFileStableId(datasetID, filePath string) (string, error) { +func (dbs *SQLdb) getDatasetFileStableID(datasetID, filePath string) (string, error) { dbs.checkAndReconnectIfNeeded() db := dbs.DB From df668f79fd5e47ff8d51a0c860ce982d3e3ed632 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 6 Oct 2025 19:05:29 +0000 Subject: [PATCH 25/26] Bump the all-modules group in /sda-sftp-inbox with 2 updates Bumps the all-modules group in /sda-sftp-inbox with 2 updates: [org.junit:junit-bom](https://github.com/junit-team/junit-framework) and [com.amazonaws:aws-java-sdk-s3](https://github.com/aws/aws-sdk-java). Updates `org.junit:junit-bom` from 5.13.4 to 6.0.0 - [Release notes](https://github.com/junit-team/junit-framework/releases) - [Commits](https://github.com/junit-team/junit-framework/compare/r5.13.4...r6.0.0) Updates `com.amazonaws:aws-java-sdk-s3` from 1.12.791 to 1.12.792 - [Changelog](https://github.com/aws/aws-sdk-java/blob/master/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-java/compare/1.12.791...1.12.792) --- updated-dependencies: - dependency-name: org.junit:junit-bom dependency-version: 6.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: all-modules - dependency-name: com.amazonaws:aws-java-sdk-s3 dependency-version: 1.12.792 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-modules ... Signed-off-by: dependabot[bot] --- sda-sftp-inbox/pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sda-sftp-inbox/pom.xml b/sda-sftp-inbox/pom.xml index b5ea0c58aa..1053800576 100644 --- a/sda-sftp-inbox/pom.xml +++ b/sda-sftp-inbox/pom.xml @@ -29,7 +29,7 @@ org.junit junit-bom - 5.13.4 + 6.0.0 pom import @@ -108,7 +108,7 @@ com.amazonaws aws-java-sdk-s3 - 1.12.791 + 1.12.792 com.google.guava From 703704ee4a7ee90bc5fa4780906b35074605370f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 6 Oct 2025 19:13:16 +0000 Subject: [PATCH 26/26] Bump the all-modules group in /sda-doa with 2 updates Bumps the all-modules group in /sda-doa with 2 updates: [no.elixir:crypt4gh](https://github.com/ELIXIR-NO/FEGA-Norway) and [no.elixir:clearinghouse](https://github.com/ELIXIR-NO/FEGA-Norway). Updates `no.elixir:crypt4gh` from 3.0.33 to 3.0.34 - [Release notes](https://github.com/ELIXIR-NO/FEGA-Norway/releases) - [Commits](https://github.com/ELIXIR-NO/FEGA-Norway/compare/crypt4gh-3.0.33...crypt4gh-3.0.34) Updates `no.elixir:clearinghouse` from 3.0.9 to 3.0.10 - [Release notes](https://github.com/ELIXIR-NO/FEGA-Norway/releases) - [Commits](https://github.com/ELIXIR-NO/FEGA-Norway/compare/crypt4gh-3.0.9...crypt4gh-3.0.10) --- updated-dependencies: - dependency-name: no.elixir:crypt4gh dependency-version: 3.0.34 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-modules - dependency-name: no.elixir:clearinghouse dependency-version: 3.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-modules ... Signed-off-by: dependabot[bot] --- sda-doa/pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sda-doa/pom.xml b/sda-doa/pom.xml index 7afd15e904..791c4cf1ec 100644 --- a/sda-doa/pom.xml +++ b/sda-doa/pom.xml @@ -110,7 +110,7 @@ no.elixir crypt4gh - 3.0.33 + 3.0.34 org.slf4j @@ -121,7 +121,7 @@ no.elixir clearinghouse - 3.0.9 + 3.0.10 org.slf4j