5252// https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/#finalizers
5353var s3StorageFinalizer = "s3.storage.experimental.securecodebox.io"
5454
55+ const defaultPresignDuration = 12 * time .Hour
56+
5557// +kubebuilder:rbac:groups=execution.experimental.securecodebox.io,resources=scans,verbs=get;list;watch;create;update;patch;delete
5658// +kubebuilder:rbac:groups=execution.experimental.securecodebox.io,resources=scans/status,verbs=get;update;patch
5759// +kubebuilder:rbac:groups=execution.experimental.securecodebox.io,resources=scantypes,verbs=get;list;watch
@@ -147,11 +149,11 @@ func (r *ScanReconciler) handleFinalizer(scan *executionv1.Scan) error {
147149}
148150
149151// PresignedGetURL returns a presigned URL from the s3 (or compatible) serice.
150- func (r * ScanReconciler ) PresignedGetURL (scanID types.UID , filename string ) (string , error ) {
152+ func (r * ScanReconciler ) PresignedGetURL (scanID types.UID , filename string , duration time. Duration ) (string , error ) {
151153 bucketName := os .Getenv ("S3_BUCKET" )
152154
153155 reqParams := make (url.Values )
154- rawResultDownloadURL , err := r .MinioClient .PresignedGetObject (bucketName , fmt .Sprintf ("scan-%s/%s" , string (scanID ), filename ), 12 * time . Hour , reqParams )
156+ rawResultDownloadURL , err := r .MinioClient .PresignedGetObject (bucketName , fmt .Sprintf ("scan-%s/%s" , string (scanID ), filename ), duration , reqParams )
155157 if err != nil {
156158 r .Log .Error (err , "Could not get presigned url from s3 or compatible storage provider" )
157159 return "" , err
@@ -160,10 +162,10 @@ func (r *ScanReconciler) PresignedGetURL(scanID types.UID, filename string) (str
160162}
161163
162164// PresignedPutURL returns a presigned URL from the s3 (or compatible) serice.
163- func (r * ScanReconciler ) PresignedPutURL (scanID types.UID , filename string ) (string , error ) {
165+ func (r * ScanReconciler ) PresignedPutURL (scanID types.UID , filename string , duration time. Duration ) (string , error ) {
164166 bucketName := os .Getenv ("S3_BUCKET" )
165167
166- rawResultDownloadURL , err := r .MinioClient .PresignedPutObject (bucketName , fmt .Sprintf ("scan-%s/%s" , string (scanID ), filename ), 12 * time . Hour )
168+ rawResultDownloadURL , err := r .MinioClient .PresignedPutObject (bucketName , fmt .Sprintf ("scan-%s/%s" , string (scanID ), filename ), duration )
167169 if err != nil {
168170 r .Log .Error (err , "Could not get presigned url from s3 or compatible storage provider" )
169171 return "" , err
0 commit comments