diff options
Diffstat (limited to 'pkg/api/handlers/types.go')
-rw-r--r-- | pkg/api/handlers/types.go | 196 |
1 files changed, 0 insertions, 196 deletions
diff --git a/pkg/api/handlers/types.go b/pkg/api/handlers/types.go index 0fe6ae6a7..f402da064 100644 --- a/pkg/api/handlers/types.go +++ b/pkg/api/handlers/types.go @@ -5,12 +5,9 @@ import ( "encoding/json" "fmt" "strconv" - "strings" "time" "github.com/containers/image/v5/manifest" - "github.com/containers/libpod/libpod" - "github.com/containers/libpod/libpod/define" "github.com/containers/libpod/libpod/events" libpodImage "github.com/containers/libpod/libpod/image" "github.com/containers/libpod/pkg/domain/entities" @@ -146,10 +143,6 @@ type PodCreateConfig struct { Share string `json:"share"` } -type ErrorModel struct { - Message string `json:"message"` -} - type Event struct { dockerEvents.Message } @@ -378,195 +371,6 @@ func ImageDataToImageInspect(ctx context.Context, l *libpodImage.Image) (*ImageI } -func LibpodToContainer(l *libpod.Container, sz bool) (*Container, error) { - imageId, imageName := l.Image() - - var ( - err error - sizeRootFs int64 - sizeRW int64 - state define.ContainerStatus - ) - - if state, err = l.State(); err != nil { - return nil, err - } - stateStr := state.String() - if stateStr == "configured" { - stateStr = "created" - } - - if sz { - if sizeRW, err = l.RWSize(); err != nil { - return nil, err - } - if sizeRootFs, err = l.RootFsSize(); err != nil { - return nil, err - } - } - - return &Container{docker.Container{ - ID: l.ID(), - Names: []string{fmt.Sprintf("/%s", l.Name())}, - Image: imageName, - ImageID: imageId, - Command: strings.Join(l.Command(), " "), - Created: l.CreatedTime().Unix(), - Ports: nil, - SizeRw: sizeRW, - SizeRootFs: sizeRootFs, - Labels: l.Labels(), - State: stateStr, - Status: "", - HostConfig: struct { - NetworkMode string `json:",omitempty"` - }{ - "host"}, - NetworkSettings: nil, - Mounts: nil, - }, - docker.ContainerCreateConfig{}, - }, nil -} - -func LibpodToContainerJSON(l *libpod.Container, sz bool) (*docker.ContainerJSON, error) { - _, imageName := l.Image() - inspect, err := l.Inspect(sz) - if err != nil { - return nil, err - } - i, err := json.Marshal(inspect.State) - if err != nil { - return nil, err - } - state := docker.ContainerState{} - if err := json.Unmarshal(i, &state); err != nil { - return nil, err - } - - // docker considers paused to be running - if state.Paused { - state.Running = true - } - - h, err := json.Marshal(inspect.HostConfig) - if err != nil { - return nil, err - } - hc := dockerContainer.HostConfig{} - if err := json.Unmarshal(h, &hc); err != nil { - return nil, err - } - g, err := json.Marshal(inspect.GraphDriver) - if err != nil { - return nil, err - } - graphDriver := docker.GraphDriverData{} - if err := json.Unmarshal(g, &graphDriver); err != nil { - return nil, err - } - - cb := docker.ContainerJSONBase{ - ID: l.ID(), - Created: l.CreatedTime().String(), - Path: "", - Args: nil, - State: &state, - Image: imageName, - ResolvConfPath: inspect.ResolvConfPath, - HostnamePath: inspect.HostnamePath, - HostsPath: inspect.HostsPath, - LogPath: l.LogPath(), - Node: nil, - Name: fmt.Sprintf("/%s", l.Name()), - RestartCount: 0, - Driver: inspect.Driver, - Platform: "linux", - MountLabel: inspect.MountLabel, - ProcessLabel: inspect.ProcessLabel, - AppArmorProfile: inspect.AppArmorProfile, - ExecIDs: inspect.ExecIDs, - HostConfig: &hc, - GraphDriver: graphDriver, - SizeRw: inspect.SizeRw, - SizeRootFs: &inspect.SizeRootFs, - } - - stopTimeout := int(l.StopTimeout()) - - ports := make(nat.PortSet) - for p := range inspect.HostConfig.PortBindings { - splitp := strings.Split(p, "/") - port, err := nat.NewPort(splitp[0], splitp[1]) - if err != nil { - return nil, err - } - ports[port] = struct{}{} - } - - config := dockerContainer.Config{ - Hostname: l.Hostname(), - Domainname: inspect.Config.DomainName, - User: l.User(), - AttachStdin: inspect.Config.AttachStdin, - AttachStdout: inspect.Config.AttachStdout, - AttachStderr: inspect.Config.AttachStderr, - ExposedPorts: ports, - Tty: inspect.Config.Tty, - OpenStdin: inspect.Config.OpenStdin, - StdinOnce: inspect.Config.StdinOnce, - Env: inspect.Config.Env, - Cmd: inspect.Config.Cmd, - Healthcheck: nil, - ArgsEscaped: false, - Image: imageName, - Volumes: nil, - WorkingDir: l.WorkingDir(), - Entrypoint: l.Entrypoint(), - NetworkDisabled: false, - MacAddress: "", - OnBuild: nil, - Labels: l.Labels(), - StopSignal: string(l.StopSignal()), - StopTimeout: &stopTimeout, - Shell: nil, - } - - m, err := json.Marshal(inspect.Mounts) - if err != nil { - return nil, err - } - mounts := []docker.MountPoint{} - if err := json.Unmarshal(m, &mounts); err != nil { - return nil, err - } - - networkSettingsDefault := docker.DefaultNetworkSettings{ - EndpointID: "", - Gateway: "", - GlobalIPv6Address: "", - GlobalIPv6PrefixLen: 0, - IPAddress: "", - IPPrefixLen: 0, - IPv6Gateway: "", - MacAddress: l.Config().StaticMAC.String(), - } - - networkSettings := docker.NetworkSettings{ - NetworkSettingsBase: docker.NetworkSettingsBase{}, - DefaultNetworkSettings: networkSettingsDefault, - Networks: nil, - } - - c := docker.ContainerJSON{ - ContainerJSONBase: &cb, - Mounts: mounts, - Config: &config, - NetworkSettings: &networkSettings, - } - return &c, nil -} - // portsToPortSet converts libpods exposed ports to dockers structs func portsToPortSet(input map[string]struct{}) (nat.PortSet, error) { ports := make(nat.PortSet) |