Skip to content

Commit 207c8a2

Browse files
committed
bugfix:fix limactl panic because of invalid digest
Signed-off-by: ningmingxiao <[email protected]>
1 parent c1b8496 commit 207c8a2

File tree

2 files changed

+10
-3
lines changed

2 files changed

+10
-3
lines changed

pkg/limayaml/validate.go

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -425,9 +425,6 @@ func validateFileObject(f File, fieldName string) error {
425425
errs = errors.Join(errs, fmt.Errorf("field `arch` must be one of %v; got %q", ArchTypes, f.Arch))
426426
}
427427
if f.Digest != "" {
428-
if !f.Digest.Algorithm().Available() {
429-
errs = errors.Join(errs, fmt.Errorf("field `%s.digest` refers to an unavailable digest algorithm", fieldName))
430-
}
431428
if err := f.Digest.Validate(); err != nil {
432429
errs = errors.Join(errs, fmt.Errorf("field `%s.digest` is invalid: %s: %w", fieldName, f.Digest.String(), err))
433430
}

pkg/limayaml/validate_test.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,16 @@ func TestValidateMinimumLimaVersion(t *testing.T) {
7373
}
7474
}
7575

76+
func TestValidateDigest(t *testing.T) {
77+
images := `images: [{"location": "https://cloud-images.ubuntu.com/releases/oracular/release-20250701/ubuntu-24.10-server-cloudimg-amd64.img",
78+
digest: "69f31d3208895e5f646e345fbc95190e5e311ecd1359a4d6ee2c0b6483ceca03"}]`
79+
validProbe := `probes: [{"script": "#!foo"}]`
80+
y, err := Load([]byte(validProbe+"\n"+images), "lima.yaml")
81+
assert.NilError(t, err)
82+
err = Validate(y, false)
83+
assert.Error(t, err, "field `images[0].digest` is invalid: 69f31d3208895e5f646e345fbc95190e5e311ecd1359a4d6ee2c0b6483ceca03: invalid checksum digest format")
84+
}
85+
7686
func TestValidateProbes(t *testing.T) {
7787
images := `images: [{"location": "/"}]`
7888
validProbe := `probes: [{"script": "#!foo"}]`

0 commit comments

Comments
 (0)