Skip to content

Commit dde2109

Browse files
authored
Merge pull request #542 from imeoer/move-out-encryption
converter: move out encryption package
2 parents 2cc7d81 + 30e9041 commit dde2109

File tree

4 files changed

+23
-13
lines changed

4 files changed

+23
-13
lines changed

pkg/converter/convert_unix.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1168,7 +1168,7 @@ func MergeLayers(ctx context.Context, cs content.Store, descs []ocispec.Descript
11681168
blobDesc.Annotations[label.NydusRefLayer] = layers[idx].OriginalDigest.String()
11691169
}
11701170

1171-
if len(opt.EncryptRecipients) != 0 {
1171+
if opt.Encrypt != nil {
11721172
blobDesc.Annotations[LayerAnnotationNydusEncryptedBlob] = "true"
11731173
}
11741174

@@ -1195,9 +1195,9 @@ func MergeLayers(ctx context.Context, cs content.Store, descs []ocispec.Descript
11951195
},
11961196
}
11971197

1198-
if len(opt.EncryptRecipients) != 0 {
1198+
if opt.Encrypt != nil {
11991199
// Encrypt the Nydus bootstrap layer.
1200-
bootstrapDesc, err = EncryptNydusBootstrap(ctx, cs, bootstrapDesc, opt.EncryptRecipients)
1200+
bootstrapDesc, err = opt.Encrypt(ctx, cs, bootstrapDesc)
12011201
if err != nil {
12021202
return nil, nil, errors.Wrap(err, "encrypt bootstrap layer")
12031203
}

pkg/converter/types.go

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

2222
type Compressor = uint32
2323

24+
type Encrypter = func(context.Context, content.Store, ocispec.Descriptor) (ocispec.Descriptor, error)
25+
2426
const (
2527
CompressorNone Compressor = 0x0000_0001
2628
CompressorZstd Compressor = 0x0000_0002
@@ -121,8 +123,8 @@ type MergeOption struct {
121123
Backend Backend
122124
// Timeout cancels execution once exceed the specified time.
123125
Timeout *time.Duration
124-
// Recipients to encrypt bootstrap, do not encrypt if empty.
125-
EncryptRecipients []string
126+
// Encrypt encrypts the bootstrap layer if it's specified.
127+
Encrypt Encrypter
126128
}
127129

128130
type UnpackOption struct {

pkg/converter/encryption.go renamed to pkg/encryption/encryption.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
* SPDX-License-Identifier: Apache-2.0
55
*/
66

7-
package converter
7+
package encryption
88

99
import (
1010
"context"

tests/converter_test.go

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ import (
4242
"github.com/containerd/containerd/content/local"
4343
"github.com/containerd/nydus-snapshotter/pkg/backend"
4444
"github.com/containerd/nydus-snapshotter/pkg/converter"
45+
"github.com/containerd/nydus-snapshotter/pkg/encryption"
46+
ocispec "github.com/opencontainers/image-spec/specs-go/v1"
4547
)
4648

4749
const envNydusdPath = "NYDUS_NYDUSD"
@@ -809,15 +811,21 @@ func testImageConvertBasic(testOpt *ConvertTestOption) {
809811
Backend: testOpt.backend,
810812
}
811813
convertFunc := converter.LayerConvertFunc(*nydusOpts)
814+
var encrypter converter.Encrypter
815+
if len(testOpt.encryptRecipients) > 0 {
816+
encrypter = func(ctx context.Context, cs content.Store, desc ocispec.Descriptor) (ocispec.Descriptor, error) {
817+
return encryption.EncryptNydusBootstrap(ctx, cs, desc, testOpt.encryptRecipients)
818+
}
819+
}
812820
convertHooks := containerdconverter.ConvertHooks{
813821
PostConvertHook: converter.ConvertHookFunc(converter.MergeOption{
814-
WorkDir: nydusOpts.WorkDir,
815-
BuilderPath: nydusOpts.BuilderPath,
816-
FsVersion: nydusOpts.FsVersion,
817-
ChunkDictPath: nydusOpts.ChunkDictPath,
818-
Backend: testOpt.backend,
819-
PrefetchPatterns: nydusOpts.PrefetchPatterns,
820-
EncryptRecipients: testOpt.encryptRecipients,
822+
WorkDir: nydusOpts.WorkDir,
823+
BuilderPath: nydusOpts.BuilderPath,
824+
FsVersion: nydusOpts.FsVersion,
825+
ChunkDictPath: nydusOpts.ChunkDictPath,
826+
Backend: testOpt.backend,
827+
PrefetchPatterns: nydusOpts.PrefetchPatterns,
828+
Encrypt: encrypter,
821829
}),
822830
}
823831
convertFuncOpt := containerdconverter.WithIndexConvertFunc(

0 commit comments

Comments
 (0)