mirror of
https://github.com/containers/podman.git
synced 2025-12-16 03:57:36 +08:00
feat: add Podman artifact support to Go bindings and remote clients
Add the Go bindings implementation necessary to support Artifacts. Implement the tunnel interface that consumes the Artifacts Go bindings. With this patch, users of the Podman remote clients will now be able to manage OCI artifacts via the Podman CLI and Podman machine. Jira: https://issues.redhat.com/browse/RUN-2714# Signed-off-by: Lewis Roy <lewis@redhat.com>
This commit is contained in:
29
pkg/bindings/artifacts/inspect.go
Normal file
29
pkg/bindings/artifacts/inspect.go
Normal file
@@ -0,0 +1,29 @@
|
||||
package artifacts
|
||||
|
||||
import (
|
||||
"context"
|
||||
"net/http"
|
||||
|
||||
"github.com/containers/podman/v5/pkg/bindings"
|
||||
"github.com/containers/podman/v5/pkg/domain/entities/types"
|
||||
)
|
||||
|
||||
func Inspect(ctx context.Context, nameOrID string, options *InspectOptions) (*types.ArtifactInspectReport, error) {
|
||||
conn, err := bindings.GetClient(ctx)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
response, err := conn.DoRequest(ctx, nil, http.MethodGet, "/artifacts/%s/json", nil, nil, nameOrID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer response.Body.Close()
|
||||
|
||||
var inspectedData types.ArtifactInspectReport
|
||||
if err := response.Process(&inspectedData); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &inspectedData, nil
|
||||
}
|
||||
Reference in New Issue
Block a user