microcks / microcks/microcks-cli

bug: `import-url` doesn't validate URL scheme, fails with misleading error instead

Offen Anfängerfreundlich
#534 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Go
Sterne
52
Forks
68
Ø Merge
6 Std. 54 Min.
Gemergte PRs (30 T.)
10

Beschreibung

### Describe the bug

`parseImportURLArg` in `cmd/import_url.go` only parses the `:mainArtifact:secret` suffix when the input starts with `http://` or `https://`. If it doesn't, there's no else, the string just passes through unchanged and gets sent straight to `mc.DownloadArtifact(...)`, which then fails with an unrelated, confusing error.

### How to Reproduce?

```
./microcks import-url "spec.yaml:true:mysecret"
```

### Actual behavior

Image

### Expected behavior

Something like:
```
Error: invalid artifact URL 'spec.yaml:true:mysecret': must start with http:// or https://
```

### Microcks version or git rev

1.0.3

### Install method (`docker-compose`, `helm chart`, `operator`, `docker-desktop extension`,...)

_No response_

### Additional information

Fix for this would be to validate the scheme at the top of `parseImportURLArg `and return an error instead of silently falling through, then propagate it in RunE.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginnen Sie in cmd/import_url.go bei parseImportURLArg und dem RunE-Handler des Befehls. Reproduzieren Sie den import-url-Befehl mit einem Nicht-HTTP(S)-Wert, validieren Sie anschließend das URL-Schema und geben Sie den zurückgegebenen Fehler weiter, sodass der Befehl meldet, dass die Artifact-URL mit http:// oder https:// beginnen muss.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
go
Bereich
cli
Issue-Typ
Bug
Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Aktivitätsstatus
Aktiv
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
86/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.