Skip to content

Commit d36047a

Browse files
authored
Restore blind-write to remote.Put (#1970)
* Restore blind-write to remote.Put This used to do a blind write, but I "simplified" that when introducing remote.Pusher, which actually broke some things downstream of ggcr, so this restores that behavior. Signed-off-by: Jon Johnson <[email protected]> * Make it woke Signed-off-by: Jon Johnson <[email protected]> --------- Signed-off-by: Jon Johnson <[email protected]>
1 parent 9915a85 commit d36047a

File tree

4 files changed

+28
-14
lines changed

4 files changed

+28
-14
lines changed

Diff for: cmd/crane/rebase.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ some compiler expected by the uppermost app layers, the resulting rebased image
118118
might be invalid.
119119

120120
In general, it's a good practice to tag rebased images to some other tag than
121-
the `original` tag, perform some sanity checks, then tag the image to the
121+
the `original` tag, perform some confidence checks, then tag the image to the
122122
`original` tag once it's determined the image is valid.
123123

124124
There is ongoing work to standardize and advertise base image contract

Diff for: pkg/v1/remote/pusher.go

+14
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,20 @@ func (p *Pusher) writer(ctx context.Context, repo name.Repository, o *options) (
125125
return rw, rw.init(ctx)
126126
}
127127

128+
func (p *Pusher) Put(ctx context.Context, ref name.Reference, t Taggable) error {
129+
w, err := p.writer(ctx, ref.Context(), p.o)
130+
if err != nil {
131+
return err
132+
}
133+
134+
m, err := taggableToManifest(t)
135+
if err != nil {
136+
return err
137+
}
138+
139+
return w.commitManifest(ctx, ref, m)
140+
}
141+
128142
func (p *Pusher) Push(ctx context.Context, ref name.Reference, t Taggable) error {
129143
w, err := p.writer(ctx, ref.Context(), p.o)
130144
if err != nil {

Diff for: pkg/v1/remote/write.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -709,5 +709,5 @@ func Put(ref name.Reference, t Taggable, options ...Option) error {
709709
if err != nil {
710710
return err
711711
}
712-
return newPusher(o).Push(o.context, ref, t)
712+
return newPusher(o).Put(o.context, ref, t)
713713
}

Diff for: pkg/v1/remote/write_test.go

+12-12
Original file line numberDiff line numberDiff line change
@@ -1101,7 +1101,7 @@ func TestScopesForUploadingImage(t *testing.T) {
11011101
if err != nil {
11021102
t.Fatalf("img.Layers() = %v", err)
11031103
}
1104-
dummyLayer := layers[0]
1104+
wokeLayer := layers[0]
11051105

11061106
testCases := []struct {
11071107
name string
@@ -1122,7 +1122,7 @@ func TestScopesForUploadingImage(t *testing.T) {
11221122
reference: referenceToUpload,
11231123
layers: []v1.Layer{
11241124
&MountableLayer{
1125-
Layer: dummyLayer,
1125+
Layer: wokeLayer,
11261126
Reference: sameReference,
11271127
},
11281128
},
@@ -1135,7 +1135,7 @@ func TestScopesForUploadingImage(t *testing.T) {
11351135
reference: referenceToUpload,
11361136
layers: []v1.Layer{
11371137
&MountableLayer{
1138-
Layer: dummyLayer,
1138+
Layer: wokeLayer,
11391139
Reference: anotherRepo1,
11401140
},
11411141
},
@@ -1149,11 +1149,11 @@ func TestScopesForUploadingImage(t *testing.T) {
11491149
reference: referenceToUpload,
11501150
layers: []v1.Layer{
11511151
&MountableLayer{
1152-
Layer: dummyLayer,
1152+
Layer: wokeLayer,
11531153
Reference: anotherRepo1,
11541154
},
11551155
&MountableLayer{
1156-
Layer: dummyLayer,
1156+
Layer: wokeLayer,
11571157
Reference: anotherRepo1,
11581158
},
11591159
},
@@ -1167,11 +1167,11 @@ func TestScopesForUploadingImage(t *testing.T) {
11671167
reference: referenceToUpload,
11681168
layers: []v1.Layer{
11691169
&MountableLayer{
1170-
Layer: dummyLayer,
1170+
Layer: wokeLayer,
11711171
Reference: anotherRepo1,
11721172
},
11731173
&MountableLayer{
1174-
Layer: dummyLayer,
1174+
Layer: wokeLayer,
11751175
Reference: anotherRepo2,
11761176
},
11771177
},
@@ -1186,19 +1186,19 @@ func TestScopesForUploadingImage(t *testing.T) {
11861186
reference: referenceToUpload,
11871187
layers: []v1.Layer{
11881188
&MountableLayer{
1189-
Layer: dummyLayer,
1189+
Layer: wokeLayer,
11901190
Reference: anotherRepo1,
11911191
},
11921192
&MountableLayer{
1193-
Layer: dummyLayer,
1193+
Layer: wokeLayer,
11941194
Reference: anotherRepo2,
11951195
},
11961196
&MountableLayer{
1197-
Layer: dummyLayer,
1197+
Layer: wokeLayer,
11981198
Reference: anotherRepo1,
11991199
},
12001200
&MountableLayer{
1201-
Layer: dummyLayer,
1201+
Layer: wokeLayer,
12021202
Reference: anotherRepo2,
12031203
},
12041204
},
@@ -1213,7 +1213,7 @@ func TestScopesForUploadingImage(t *testing.T) {
12131213
reference: referenceToUpload,
12141214
layers: []v1.Layer{
12151215
&MountableLayer{
1216-
Layer: dummyLayer,
1216+
Layer: wokeLayer,
12171217
Reference: repoOnOtherRegistry,
12181218
},
12191219
},

0 commit comments

Comments
 (0)