mirror of
https://github.com/containers/podman.git
synced 2025-11-29 01:28:22 +08:00
Add --replace option to podman artifact add command
This commit implements the --replace functionality for the artifact add command, allowing users to replace existing artifacts without having to manually remove them first. Changes made: - Add Replace field to ArtifactAddOptions entity types - Add --replace CLI flag with validation to prevent conflicts with --append - Implement replace logic in ABI backend to remove existing artifacts before adding - Update API handlers and tunnel implementation for podman-remote support - Add comprehensive documentation and examples to man page - Add e2e and system BATS tests for --replace functionality - Fix code formatting in pkg/bindings/artifacts/types_pull_options.go: * Reorder imports with proper spacing * Fix function declaration spacing * Convert spaces to proper tab indentation * Remove extraneous blank lines The --replace option follows the same pattern as other podman replace options like 'podman container create --replace' and 'podman pod create --replace'. It gracefully handles cases where no existing artifact exists (no error thrown). Usage examples: podman artifact add --replace quay.io/myimage/artifact:latest /path/to/file podman artifact add --replace localhost/test/artifact /tmp/newfile.txt Fixes: Implements requested --replace functionality for artifact add command Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
This commit is contained in:
@@ -223,6 +223,7 @@ func AddArtifact(w http.ResponseWriter, r *http.Request) {
|
||||
Annotations []string `schema:"annotations"`
|
||||
ArtifactMIMEType string `schema:"artifactMIMEType"`
|
||||
Append bool `schema:"append"`
|
||||
Replace bool `schema:"replace"`
|
||||
}{}
|
||||
|
||||
if err := decoder.Decode(&query, r.URL.Query()); err != nil {
|
||||
@@ -246,6 +247,7 @@ func AddArtifact(w http.ResponseWriter, r *http.Request) {
|
||||
Annotations: annotations,
|
||||
ArtifactMIMEType: query.ArtifactMIMEType,
|
||||
FileMIMEType: query.FileMIMEType,
|
||||
Replace: query.Replace,
|
||||
}
|
||||
|
||||
artifactBlobs := []entities.ArtifactBlob{{
|
||||
|
||||
Reference in New Issue
Block a user