Skip to content

Commit cf72221

Browse files
authored
Merge pull request #1883 from fluxcd/refactor-artifact
[RFC-0012] Refactor controller to use `fluxcd/pkg/artifact`
2 parents c8358d0 + 87ca533 commit cf72221

21 files changed

+163
-2089
lines changed

go.mod

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,23 +18,23 @@ require (
1818
github.com/Masterminds/semver/v3 v3.4.0
1919
github.com/cyphar/filepath-securejoin v0.4.1
2020
github.com/distribution/distribution/v3 v3.0.0
21-
github.com/docker/cli v28.3.3+incompatible
21+
github.com/docker/cli v28.4.0+incompatible
2222
github.com/docker/go-units v0.5.0
2323
github.com/elazarl/goproxy v1.7.2
2424
github.com/fluxcd/cli-utils v0.36.0-flux.15
2525
github.com/fluxcd/pkg/apis/event v0.19.0
2626
github.com/fluxcd/pkg/apis/meta v1.21.0
27+
github.com/fluxcd/pkg/artifact v0.2.0
2728
github.com/fluxcd/pkg/auth v0.30.0
2829
github.com/fluxcd/pkg/cache v0.11.0
2930
github.com/fluxcd/pkg/git v0.36.0
3031
github.com/fluxcd/pkg/git/gogit v0.40.0
3132
github.com/fluxcd/pkg/gittestserver v0.20.0
3233
github.com/fluxcd/pkg/helmtestserver v0.29.0
3334
github.com/fluxcd/pkg/http/transport v0.7.0
34-
github.com/fluxcd/pkg/lockedfile v0.7.0
3535
github.com/fluxcd/pkg/masktoken v0.8.0
36-
github.com/fluxcd/pkg/oci v0.54.0
37-
github.com/fluxcd/pkg/runtime v0.82.0
36+
github.com/fluxcd/pkg/oci v0.55.0
37+
github.com/fluxcd/pkg/runtime v0.83.0
3838
github.com/fluxcd/pkg/sourceignore v0.14.0
3939
github.com/fluxcd/pkg/ssh v0.21.0
4040
github.com/fluxcd/pkg/tar v0.14.0
@@ -53,7 +53,6 @@ require (
5353
github.com/notaryproject/notation-go v1.3.2
5454
github.com/onsi/gomega v1.38.2
5555
github.com/opencontainers/go-digest v1.0.0
56-
github.com/opencontainers/go-digest/blake3 v0.0.0-20250116041648-1e56c6daea3b
5756
github.com/opencontainers/image-spec v1.1.1
5857
github.com/ory/dockertest/v3 v3.12.0
5958
github.com/otiai10/copy v1.14.1
@@ -62,7 +61,7 @@ require (
6261
github.com/sigstore/cosign/v2 v2.5.2
6362
github.com/sigstore/sigstore v1.9.5
6463
github.com/sirupsen/logrus v1.9.3
65-
github.com/spf13/pflag v1.0.7
64+
github.com/spf13/pflag v1.0.10
6665
golang.org/x/crypto v0.41.0
6766
golang.org/x/oauth2 v0.30.0
6867
golang.org/x/sync v0.16.0
@@ -193,6 +192,7 @@ require (
193192
github.com/felixge/httpsnoop v1.0.4 // indirect
194193
github.com/fluxcd/gitkit v0.6.0 // indirect
195194
github.com/fluxcd/pkg/apis/acl v0.9.0 // indirect
195+
github.com/fluxcd/pkg/lockedfile v0.7.0 // indirect
196196
github.com/fsnotify/fsnotify v1.9.0 // indirect
197197
github.com/fxamacker/cbor/v2 v2.9.0 // indirect
198198
github.com/go-asn1-ber/asn1-ber v1.5.7 // indirect
@@ -296,6 +296,7 @@ require (
296296
github.com/nozzle/throttler v0.0.0-20180817012639-2ea982251481 // indirect
297297
github.com/oklog/ulid v1.3.1 // indirect
298298
github.com/oleiade/reflections v1.1.0 // indirect
299+
github.com/opencontainers/go-digest/blake3 v0.0.0-20250813155314-89707e38ad1a // indirect
299300
github.com/opencontainers/runc v1.2.4 // indirect
300301
github.com/opentracing/opentracing-go v1.2.0 // indirect
301302
github.com/otiai10/mint v1.6.3 // indirect

go.sum

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -321,8 +321,8 @@ github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5Qvfr
321321
github.com/distribution/reference v0.6.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E=
322322
github.com/dlclark/regexp2 v1.11.0 h1:G/nrcoOa7ZXlpoa/91N3X7mM3r8eIlMBBJZvsz/mxKI=
323323
github.com/dlclark/regexp2 v1.11.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8=
324-
github.com/docker/cli v28.3.3+incompatible h1:fp9ZHAr1WWPGdIWBM1b3zLtgCF+83gRdVMTJsUeiyAo=
325-
github.com/docker/cli v28.3.3+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8=
324+
github.com/docker/cli v28.4.0+incompatible h1:RBcf3Kjw2pMtwui5V0DIMdyeab8glEw5QY0UUU4C9kY=
325+
github.com/docker/cli v28.4.0+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8=
326326
github.com/docker/distribution v2.8.3+incompatible h1:AtKxIZ36LoNK51+Z6RpzLpddBirtxJnzDrHLEKxTAYk=
327327
github.com/docker/distribution v2.8.3+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
328328
github.com/docker/docker v28.3.3+incompatible h1:Dypm25kh4rmk49v1eiVbsAtpAsYURjYkaKubwuBdxEI=
@@ -378,6 +378,8 @@ github.com/fluxcd/pkg/apis/event v0.19.0 h1:ZJU2voontkzp5rNYA4JMOu40S4tRcrWi4Do5
378378
github.com/fluxcd/pkg/apis/event v0.19.0/go.mod h1:deuIyUb6lh+Z1Ccvwwxhm1wNM3kpSo+vF1IgRnpaZfQ=
379379
github.com/fluxcd/pkg/apis/meta v1.21.0 h1:R+bN02chcs0HUmyVDQhqe/FHmYLjipVDMLnyYfNX850=
380380
github.com/fluxcd/pkg/apis/meta v1.21.0/go.mod h1:XUAEUgT4gkWDAEN79E141tmL+v4SV50tVZ/Ojpc/ueg=
381+
github.com/fluxcd/pkg/artifact v0.2.0 h1:y4j+c2v1qzXEgtQSAQbqAvvvdaUckQ7NxaWWobhNgm4=
382+
github.com/fluxcd/pkg/artifact v0.2.0/go.mod h1:+L19/j8WPJ/blBZ/BFE+NhX6dja9Na1kTJkvZgbblbY=
381383
github.com/fluxcd/pkg/auth v0.30.0 h1:7JMnY1ClArvOsadt6hOxceu8Q2hLsYHFMt0DV3BQl4Q=
382384
github.com/fluxcd/pkg/auth v0.30.0/go.mod h1:me38o1nDfSLw6YvnkT9Ce/zqJZICZSA7j5pNMR3JUbc=
383385
github.com/fluxcd/pkg/cache v0.11.0 h1:fsE8S+una21fSNw4MDXGUIf0Gf1J+pqa4RbsVKf2aTI=
@@ -396,10 +398,10 @@ github.com/fluxcd/pkg/lockedfile v0.7.0 h1:tmzW2GeMGuJMiCcVloXVd1vKZ92anm9WGkRgO
396398
github.com/fluxcd/pkg/lockedfile v0.7.0/go.mod h1:AzCV/h1N3hi/KtUDUCUgS8hl1+a1y+I6pmRo25dxdK0=
397399
github.com/fluxcd/pkg/masktoken v0.8.0 h1:Dm5xIVNbg0s6zNttjDvimaG38bKsXwxBVo5b+D7ThVU=
398400
github.com/fluxcd/pkg/masktoken v0.8.0/go.mod h1:Gc73ALOqIe+5Gj2V3JggMNiYcBiZ9bNNDYBE9R5XTTg=
399-
github.com/fluxcd/pkg/oci v0.54.0 h1:s9INS1xocek9Lijob/Pq8xGx+TUA1NInmImY1Cw1DQA=
400-
github.com/fluxcd/pkg/oci v0.54.0/go.mod h1:Z0QAwiC3E8aG4ggFGub1lKhIS++rfcMmrrUt4VSEQ38=
401-
github.com/fluxcd/pkg/runtime v0.82.0 h1:VdPPRJtj8/rcBdqY7GZSffoxe5elFHt+ymwQHNbPOlc=
402-
github.com/fluxcd/pkg/runtime v0.82.0/go.mod h1:rIDynMhU5upbn8ce3bXQhH5L6vtDw5MELycvtJG/+og=
401+
github.com/fluxcd/pkg/oci v0.55.0 h1:7/EpGRv/5KtWFu9/bXozxR4Nu3V76TNuuN/0lII51G8=
402+
github.com/fluxcd/pkg/oci v0.55.0/go.mod h1:roi2GxtkGBcOYCXnPw1VJvxllgAZ/pqTCCSm9bZY9Bs=
403+
github.com/fluxcd/pkg/runtime v0.83.0 h1:XzpwKzo7GqfBE/BKpxG5B4U7cUnojnB407S9Dpp6oLU=
404+
github.com/fluxcd/pkg/runtime v0.83.0/go.mod h1:r8KLvXRguKtpLAa66fA19rIbwPViXm8az038IUabYvw=
403405
github.com/fluxcd/pkg/sourceignore v0.14.0 h1:ZiZzbXtXb/Qp7I7JCStsxOlX8ri8rWwCvmvIrJ0UzQQ=
404406
github.com/fluxcd/pkg/sourceignore v0.14.0/go.mod h1:E3zKvyTyB+oQKqm/2I/jS6Rrt3B7fNuig/4bY2vi3bg=
405407
github.com/fluxcd/pkg/ssh v0.21.0 h1:ZmyF0n9je0cTTkOpvFVgIhmdx9qtswnVE60TK4IzJh0=
@@ -809,8 +811,8 @@ github.com/open-policy-agent/opa v1.5.1 h1:LTxxBJusMVjfs67W4FoRcnMfXADIGFMzpqnfk
809811
github.com/open-policy-agent/opa v1.5.1/go.mod h1:bYbS7u+uhTI+cxHQIpzvr5hxX0hV7urWtY+38ZtjMgk=
810812
github.com/opencontainers/go-digest v1.0.1-0.20220411205349-bde1400a84be h1:f2PlhC9pm5sqpBZFvnAoKj+KzXRzbjFMA+TqXfJdgho=
811813
github.com/opencontainers/go-digest v1.0.1-0.20220411205349-bde1400a84be/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
812-
github.com/opencontainers/go-digest/blake3 v0.0.0-20250116041648-1e56c6daea3b h1:nAiL9bmUK4IzFrKoVMRykv0iYGdoit5vpbPaVCZ+fI4=
813-
github.com/opencontainers/go-digest/blake3 v0.0.0-20250116041648-1e56c6daea3b/go.mod h1:kqQaIc6bZstKgnGpL7GD5dWoLKbA6mH1Y9ULjGImBnM=
814+
github.com/opencontainers/go-digest/blake3 v0.0.0-20250813155314-89707e38ad1a h1:IAncDmJeD90l6+YR1Gf6r0HrmnRmOatzPfUpMS80ZTI=
815+
github.com/opencontainers/go-digest/blake3 v0.0.0-20250813155314-89707e38ad1a/go.mod h1:kqQaIc6bZstKgnGpL7GD5dWoLKbA6mH1Y9ULjGImBnM=
814816
github.com/opencontainers/image-spec v1.1.1 h1:y0fUlFfIZhPF1W537XOLg0/fcx6zcHCJwooC2xJA040=
815817
github.com/opencontainers/image-spec v1.1.1/go.mod h1:qpqAh3Dmcf36wStyyWU+kCeDgrGnAve2nCC8+7h8Q0M=
816818
github.com/opencontainers/runc v1.2.4 h1:yWFgLkghp71D76Fa0l349yAl5g4Gse7DPYNlvkQ9Eiw=
@@ -953,8 +955,8 @@ github.com/spf13/cast v1.7.1/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cA
953955
github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo=
954956
github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0=
955957
github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
956-
github.com/spf13/pflag v1.0.7 h1:vN6T9TfwStFPFM5XzjsvmzZkLuaLX+HS+0SeFLRgU6M=
957-
github.com/spf13/pflag v1.0.7/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
958+
github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk=
959+
github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
958960
github.com/spf13/viper v1.20.1 h1:ZMi+z/lvLyPSCoNtFCpqjy0S4kPbirhpTMwl8BkW9X4=
959961
github.com/spf13/viper v1.20.1/go.mod h1:P9Mdzt1zoHIG8m2eZQinpiBjo6kCmZSKBClNNqjJvu4=
960962
github.com/spiffe/go-spiffe/v2 v2.5.0 h1:N2I01KCUkv1FAjZXJMwh95KK1ZIQLYbPfhaxw8WS0hE=

internal/controller/bucket_controller.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ import (
4444

4545
eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1"
4646
"github.com/fluxcd/pkg/apis/meta"
47+
intdigest "github.com/fluxcd/pkg/artifact/digest"
48+
"github.com/fluxcd/pkg/artifact/storage"
4749
"github.com/fluxcd/pkg/auth"
4850
"github.com/fluxcd/pkg/cache"
4951
"github.com/fluxcd/pkg/runtime/conditions"
@@ -59,12 +61,10 @@ import (
5961
"github.com/fluxcd/source-controller/internal/bucket/azure"
6062
"github.com/fluxcd/source-controller/internal/bucket/gcp"
6163
"github.com/fluxcd/source-controller/internal/bucket/minio"
62-
intdigest "github.com/fluxcd/source-controller/internal/digest"
6364
serror "github.com/fluxcd/source-controller/internal/error"
6465
"github.com/fluxcd/source-controller/internal/index"
6566
sreconcile "github.com/fluxcd/source-controller/internal/reconcile"
6667
"github.com/fluxcd/source-controller/internal/reconcile/summarize"
67-
"github.com/fluxcd/source-controller/internal/storage"
6868
)
6969

7070
// maxConcurrentBucketFetches is the upper bound on the goroutines used to

internal/controller/bucket_controller_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,20 +38,20 @@ import (
3838

3939
kstatus "github.com/fluxcd/cli-utils/pkg/kstatus/status"
4040
"github.com/fluxcd/pkg/apis/meta"
41+
intdigest "github.com/fluxcd/pkg/artifact/digest"
42+
"github.com/fluxcd/pkg/artifact/storage"
4143
"github.com/fluxcd/pkg/auth"
4244
"github.com/fluxcd/pkg/runtime/conditions"
4345
conditionscheck "github.com/fluxcd/pkg/runtime/conditions/check"
4446
"github.com/fluxcd/pkg/runtime/jitter"
4547
"github.com/fluxcd/pkg/runtime/patch"
4648

4749
sourcev1 "github.com/fluxcd/source-controller/api/v1"
48-
intdigest "github.com/fluxcd/source-controller/internal/digest"
4950
"github.com/fluxcd/source-controller/internal/index"
5051
gcsmock "github.com/fluxcd/source-controller/internal/mock/gcs"
5152
s3mock "github.com/fluxcd/source-controller/internal/mock/s3"
5253
sreconcile "github.com/fluxcd/source-controller/internal/reconcile"
5354
"github.com/fluxcd/source-controller/internal/reconcile/summarize"
54-
"github.com/fluxcd/source-controller/internal/storage"
5555
)
5656

5757
// Environment variable to set the GCP Storage host for the GCP client.

internal/controller/gitrepository_controller.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ import (
4949

5050
eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1"
5151
"github.com/fluxcd/pkg/apis/meta"
52+
"github.com/fluxcd/pkg/artifact/storage"
5253
"github.com/fluxcd/pkg/cache"
5354
"github.com/fluxcd/pkg/git"
5455
"github.com/fluxcd/pkg/git/gogit"
@@ -59,15 +60,13 @@ import (
5960
"github.com/fluxcd/pkg/runtime/patch"
6061
"github.com/fluxcd/pkg/runtime/predicates"
6162
rreconcile "github.com/fluxcd/pkg/runtime/reconcile"
62-
6363
"github.com/fluxcd/pkg/sourceignore"
6464

6565
sourcev1 "github.com/fluxcd/source-controller/api/v1"
6666
serror "github.com/fluxcd/source-controller/internal/error"
6767
"github.com/fluxcd/source-controller/internal/features"
6868
sreconcile "github.com/fluxcd/source-controller/internal/reconcile"
6969
"github.com/fluxcd/source-controller/internal/reconcile/summarize"
70-
"github.com/fluxcd/source-controller/internal/storage"
7170
"github.com/fluxcd/source-controller/internal/util"
7271
)
7372

internal/controller/gitrepository_controller_fuzz_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,12 +59,12 @@ import (
5959
"sigs.k8s.io/controller-runtime/pkg/envtest"
6060
"sigs.k8s.io/controller-runtime/pkg/manager"
6161

62+
intstorage "github.com/fluxcd/pkg/artifact/digest"
6263
"github.com/fluxcd/pkg/gittestserver"
6364
"github.com/fluxcd/pkg/runtime/controller"
6465
"github.com/fluxcd/pkg/runtime/testenv"
6566

6667
sourcev1 "github.com/fluxcd/source-controller/api/v1"
67-
intstorage "github.com/fluxcd/source-controller/internal/storage"
6868
)
6969

7070
var (

internal/controller/gitrepository_controller_test.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ import (
4848

4949
kstatus "github.com/fluxcd/cli-utils/pkg/kstatus/status"
5050
"github.com/fluxcd/pkg/apis/meta"
51+
"github.com/fluxcd/pkg/artifact/storage"
5152
"github.com/fluxcd/pkg/auth"
5253
"github.com/fluxcd/pkg/git"
5354
"github.com/fluxcd/pkg/git/github"
@@ -64,7 +65,6 @@ import (
6465
"github.com/fluxcd/source-controller/internal/features"
6566
sreconcile "github.com/fluxcd/source-controller/internal/reconcile"
6667
"github.com/fluxcd/source-controller/internal/reconcile/summarize"
67-
"github.com/fluxcd/source-controller/internal/storage"
6868
)
6969

7070
const (
@@ -1503,6 +1503,8 @@ func TestGitRepositoryReconciler_reconcileInclude(t *testing.T) {
15031503

15041504
server, err := testserver.NewTempArtifactServer()
15051505
g.Expect(err).NotTo(HaveOccurred())
1506+
server.Start()
1507+
defer server.Stop()
15061508
storage, err := newTestStorage(server.HTTPServer)
15071509
g.Expect(err).NotTo(HaveOccurred())
15081510
defer os.RemoveAll(storage.BasePath)

internal/controller/helmchart_controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ import (
5555

5656
eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1"
5757
"github.com/fluxcd/pkg/apis/meta"
58+
"github.com/fluxcd/pkg/artifact/storage"
5859
"github.com/fluxcd/pkg/git"
5960
"github.com/fluxcd/pkg/runtime/conditions"
6061
helper "github.com/fluxcd/pkg/runtime/controller"
@@ -75,7 +76,6 @@ import (
7576
"github.com/fluxcd/source-controller/internal/oci/notation"
7677
sreconcile "github.com/fluxcd/source-controller/internal/reconcile"
7778
"github.com/fluxcd/source-controller/internal/reconcile/summarize"
78-
"github.com/fluxcd/source-controller/internal/storage"
7979
"github.com/fluxcd/source-controller/internal/util"
8080
)
8181

0 commit comments

Comments
 (0)