@@ -21,6 +21,7 @@ var k0sImageComponents = map[string]string{
2121 "registry.k8s.io/metrics-server/metrics-server" : "metrics-server" ,
2222 "quay.io/k0sproject/kube-proxy" : "kube-proxy" ,
2323 "quay.io/k0sproject/envoy-distroless" : "envoy-distroless" ,
24+ "registry.k8s.io/pause" : "pause" ,
2425}
2526
2627var k0sComponents = map [string ]addonComponent {
@@ -59,6 +60,9 @@ var k0sComponents = map[string]addonComponent{
5960 return fmt .Sprintf ("envoy-%d.%d" , opts .upstreamVersion .Major (), opts .upstreamVersion .Minor ())
6061 },
6162 },
63+ "pause" : {
64+ useUpstreamImage : true ,
65+ },
6266}
6367
6468var updateK0sImagesCommand = & cli.Command {
@@ -90,18 +94,31 @@ var updateK0sImagesCommand = &cli.Command{
9094 upstreamVersion = strings .TrimPrefix (upstreamVersion , "v" )
9195 upstreamVersion = strings .Split (upstreamVersion , "-" )[0 ]
9296
93- image = RemoveTagFromImage (image )
97+ imageNoTag : = RemoveTagFromImage (image )
9498
95- componentName , ok := k0sImageComponents [image ]
99+ componentName , ok := k0sImageComponents [imageNoTag ]
96100 if ! ok {
97- return fmt .Errorf ("no component found for image %s" , image )
101+ return fmt .Errorf ("no component found for image %s" , imageNoTag )
98102 }
99103
100104 component , ok := k0sComponents [componentName ]
101105 if ! ok {
102106 return fmt .Errorf ("no component found for component name %s" , componentName )
103107 }
104108
109+ if component .useUpstreamImage {
110+ logrus .Infof ("fetching digest for image %s" , image )
111+ sha , err := GetImageDigest (c .Context , image )
112+ if err != nil {
113+ return fmt .Errorf ("failed to get image %s digest: %w" , image , err )
114+ }
115+ logrus .Infof ("image %s digest: %s" , image , sha )
116+ tag := TagFromImage (image )
117+ image = RemoveTagFromImage (image )
118+ newmeta .Images [FamiliarImageName (image )] = fmt .Sprintf ("%s@%s" , tag , sha )
119+ continue
120+ }
121+
105122 packageName , packageVersion , err := component .getPackageNameAndVersion (wolfiAPKIndex , upstreamVersion )
106123 if err != nil {
107124 return fmt .Errorf ("failed to get package name and version for %s: %w" , componentName , err )
0 commit comments