@@ -21,6 +21,7 @@ var k0sImageComponents = map[string]string{
21
21
"registry.k8s.io/metrics-server/metrics-server" : "metrics-server" ,
22
22
"quay.io/k0sproject/kube-proxy" : "kube-proxy" ,
23
23
"quay.io/k0sproject/envoy-distroless" : "envoy-distroless" ,
24
+ "registry.k8s.io/pause" : "pause" ,
24
25
}
25
26
26
27
var k0sComponents = map [string ]addonComponent {
@@ -59,6 +60,9 @@ var k0sComponents = map[string]addonComponent{
59
60
return fmt .Sprintf ("envoy-%d.%d" , opts .upstreamVersion .Major (), opts .upstreamVersion .Minor ())
60
61
},
61
62
},
63
+ "pause" : {
64
+ useUpstreamImage : true ,
65
+ },
62
66
}
63
67
64
68
var updateK0sImagesCommand = & cli.Command {
@@ -90,18 +94,31 @@ var updateK0sImagesCommand = &cli.Command{
90
94
upstreamVersion = strings .TrimPrefix (upstreamVersion , "v" )
91
95
upstreamVersion = strings .Split (upstreamVersion , "-" )[0 ]
92
96
93
- image = RemoveTagFromImage (image )
97
+ imageNoTag : = RemoveTagFromImage (image )
94
98
95
- componentName , ok := k0sImageComponents [image ]
99
+ componentName , ok := k0sImageComponents [imageNoTag ]
96
100
if ! ok {
97
- return fmt .Errorf ("no component found for image %s" , image )
101
+ return fmt .Errorf ("no component found for image %s" , imageNoTag )
98
102
}
99
103
100
104
component , ok := k0sComponents [componentName ]
101
105
if ! ok {
102
106
return fmt .Errorf ("no component found for component name %s" , componentName )
103
107
}
104
108
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
+
105
122
packageName , packageVersion , err := component .getPackageNameAndVersion (wolfiAPKIndex , upstreamVersion )
106
123
if err != nil {
107
124
return fmt .Errorf ("failed to get package name and version for %s: %w" , componentName , err )
0 commit comments