mirror of
https://github.com/podman-container-tools/podman.git
synced 2026-08-31 12:47:57 +00:00
* Support the `X-Registry-Auth` http-request header. * The content of the header is a base64 encoded JSON payload which can either be a single auth config or a map of auth configs (user+pw or token) with the corresponding registries being the keys. Vanilla Docker, projectatomic Docker and the bindings are transparantly supported. * Add a hidden `--registries-conf` flag. Buildah exposes the same flag, mostly for testing purposes. * Do all credential parsing in the client (i.e., `cmd/podman`) pass the username and password in the backend instead of unparsed credentials. * Add a `pkg/auth` which handles most of the heavy lifting. * Go through the authentication-handling code of most commands, bindings and endpoints. Migrate them to the new code and fix issues as seen. A final evaluation and more tests is still required *after* this change. * The manifest-push endpoint is missing certain parameters and should use the ABI function instead. Adding auth-support isn't really possible without these parts working. * The container commands and endpoints (i.e., create and run) have not been changed yet. The APIs don't yet account for the authfile. * Add authentication tests to `pkg/bindings`. Fixes: #6384 Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
105 lines
2.6 KiB
Go
105 lines
2.6 KiB
Go
package entities
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/containers/libpod/libpod/define"
|
|
"github.com/docker/docker/api/types"
|
|
"github.com/spf13/cobra"
|
|
)
|
|
|
|
// ServiceOptions provides the input for starting an API Service
|
|
type ServiceOptions struct {
|
|
URI string // Path to unix domain socket service should listen on
|
|
Timeout time.Duration // duration of inactivity the service should wait before shutting down
|
|
Command *cobra.Command // CLI command provided. Used in V1 code
|
|
}
|
|
|
|
// SystemPruneOptions provides options to prune system.
|
|
type SystemPruneOptions struct {
|
|
All bool
|
|
Volume bool
|
|
}
|
|
|
|
// SystemPruneReport provides report after system prune is executed.
|
|
type SystemPruneReport struct {
|
|
PodPruneReport []*PodPruneReport
|
|
*ContainerPruneReport
|
|
*ImagePruneReport
|
|
VolumePruneReport []*VolumePruneReport
|
|
}
|
|
|
|
// SystemMigrateOptions describes the options needed for the
|
|
// cli to migrate runtimes of containers
|
|
type SystemMigrateOptions struct {
|
|
NewRuntime string
|
|
}
|
|
|
|
// SystemDfOptions describes the options for getting df information
|
|
type SystemDfOptions struct {
|
|
Format string
|
|
Verbose bool
|
|
}
|
|
|
|
// SystemDfReport describes the response for df information
|
|
type SystemDfReport struct {
|
|
Images []*SystemDfImageReport
|
|
Containers []*SystemDfContainerReport
|
|
Volumes []*SystemDfVolumeReport
|
|
}
|
|
|
|
// SystemDfImageReport describes an image for use with df
|
|
type SystemDfImageReport struct {
|
|
Repository string
|
|
Tag string
|
|
ImageID string
|
|
Created time.Time
|
|
Size int64
|
|
SharedSize int64
|
|
UniqueSize int64
|
|
Containers int
|
|
}
|
|
|
|
// SystemDfContainerReport describes a container for use with df
|
|
type SystemDfContainerReport struct {
|
|
ContainerID string
|
|
Image string
|
|
Command []string
|
|
LocalVolumes int
|
|
Size int64
|
|
RWSize int64
|
|
Created time.Time
|
|
Status string
|
|
Names string
|
|
}
|
|
|
|
// SystemDfVolumeReport describes a volume and its size
|
|
type SystemDfVolumeReport struct {
|
|
VolumeName string
|
|
Links int
|
|
Size int64
|
|
}
|
|
|
|
// SystemResetOptions describes the options for resetting your
|
|
// container runtime storage, etc
|
|
type SystemResetOptions struct {
|
|
Force bool
|
|
}
|
|
|
|
// SystemVersionReport describes version information about the running Podman service
|
|
type SystemVersionReport struct {
|
|
// Always populated
|
|
Client *define.Version `json:",omitempty"`
|
|
// May be populated, when in tunnel mode
|
|
Server *define.Version `json:",omitempty"`
|
|
}
|
|
|
|
type ComponentVersion struct {
|
|
types.Version
|
|
}
|
|
|
|
// ListRegistriesReport is the report when querying for a sorted list of
|
|
// registries which may be contacted during certain operations.
|
|
type ListRegistriesReport struct {
|
|
Registries []string
|
|
}
|