11package manifests
22
33import (
4- "fmt"
54 "path/filepath"
65
76 "github.com/pkg/errors"
@@ -13,11 +12,11 @@ import (
1312 "github.com/openshift/installer/pkg/asset/installconfig"
1413)
1514
16- var imageDigestMirrorSetFilenameFormat = "image-digest-mirror-set-%s .yaml"
15+ var imageDigestMirrorSetFilename = "image-digest-mirror-set.yaml"
1716
18- // ImageDigestMirrorSet generates the image-digest-mirror-set.yaml files .
17+ // ImageDigestMirrorSet generates the image-digest-mirror-set.yaml file .
1918type ImageDigestMirrorSet struct {
20- FileList [] * asset.File
19+ File * asset.File
2120}
2221
2322var _ asset.WritableAsset = (* ImageDigestMirrorSet )(nil )
@@ -40,38 +39,33 @@ func (p *ImageDigestMirrorSet) Generate(dependencies asset.Parents) error {
4039 installconfig := & installconfig.InstallConfig {}
4140 dependencies .Get (installconfig )
4241
43- padFormat := fmt .Sprintf ("%%0%dd" , len (fmt .Sprintf ("%d" , len (installconfig .Config .ImageDigestSources ))))
44-
45- policies := make ([]* apicfgv1.ImageDigestMirrorSet , 0 )
46- for gidx , group := range installconfig .Config .ImageDigestSources {
47- mirrors := []apicfgv1.ImageMirror {}
48- for _ , m := range group .Mirrors {
49- mirrors = append (mirrors , apicfgv1 .ImageMirror (m ))
50- }
51- policies = append (policies , & apicfgv1.ImageDigestMirrorSet {
42+ if len (installconfig .Config .ImageDigestSources ) > 0 {
43+ policy := apicfgv1.ImageDigestMirrorSet {
5244 TypeMeta : metav1.TypeMeta {
5345 APIVersion : apicfgv1 .SchemeGroupVersion .String (),
5446 Kind : "ImageDigestMirrorSet" ,
5547 },
5648 ObjectMeta : metav1.ObjectMeta {
57- Name : fmt . Sprintf ( "image-digest-mirror-%s" , fmt . Sprintf ( padFormat , gidx )) ,
49+ Name : "image-digest-mirror" ,
5850 // not namespaced
5951 },
60- Spec : apicfgv1.ImageDigestMirrorSetSpec {
61- ImageDigestMirrors : []apicfgv1.ImageDigestMirrors {{Source : group .Source , Mirrors : mirrors }},
62- },
63- })
64- }
52+ }
53+
54+ policy .Spec .ImageDigestMirrors = make ([]apicfgv1.ImageDigestMirrors , len (installconfig .Config .ImageDigestSources ))
55+ for gidx , group := range installconfig .Config .ImageDigestSources {
56+ mirrors := []apicfgv1.ImageMirror {}
57+ for _ , m := range group .Mirrors {
58+ mirrors = append (mirrors , apicfgv1 .ImageMirror (m ))
59+ }
60+ policy .Spec .ImageDigestMirrors [gidx ] = apicfgv1.ImageDigestMirrors {Source : group .Source , Mirrors : mirrors }
61+ }
6562
66- p .FileList = make ([]* asset.File , len (policies ))
67- for i , policy := range policies {
6863 policyData , err := yaml .Marshal (policy )
6964 if err != nil {
7065 return errors .Wrapf (err , "failed to marshal ImageDigestMirrorSet" )
7166 }
72- padded := fmt .Sprintf (padFormat , i )
73- p .FileList [i ] = & asset.File {
74- Filename : filepath .Join (manifestDir , fmt .Sprintf (imageDigestMirrorSetFilenameFormat , padded )),
67+ p .File = & asset.File {
68+ Filename : filepath .Join (manifestDir , imageDigestMirrorSetFilename ),
7569 Data : policyData ,
7670 }
7771 }
@@ -80,7 +74,10 @@ func (p *ImageDigestMirrorSet) Generate(dependencies asset.Parents) error {
8074
8175// Files returns the files generated by the asset.
8276func (p * ImageDigestMirrorSet ) Files () []* asset.File {
83- return p .FileList
77+ if p .File == nil {
78+ return nil
79+ }
80+ return []* asset.File {p .File }
8481}
8582
8683// Load loads the already-rendered files back from disk.
0 commit comments