mirror of https://github.com/containers/podman.git
56 lines
1.2 KiB
Go
56 lines
1.2 KiB
Go
package main
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
"os"
|
|
|
|
"github.com/containers/libpod/cmd/podman/cliconfig"
|
|
"github.com/containers/libpod/cmd/podman/libpodruntime"
|
|
api "github.com/containers/libpod/pkg/api/server"
|
|
"github.com/containers/storage/pkg/reexec"
|
|
log "github.com/sirupsen/logrus"
|
|
"github.com/spf13/cobra"
|
|
)
|
|
|
|
func initConfig() {
|
|
// we can do more stuff in here.
|
|
}
|
|
|
|
func main() {
|
|
if reexec.Init() {
|
|
// We were invoked with a different argv[0] indicating that we
|
|
// had a specific job to do as a subprocess, and it's done.
|
|
return
|
|
}
|
|
|
|
cobra.OnInitialize(initConfig)
|
|
log.SetLevel(log.DebugLevel)
|
|
|
|
config := cliconfig.PodmanCommand{
|
|
Command: &cobra.Command{},
|
|
InputArgs: []string{},
|
|
GlobalFlags: cliconfig.MainFlags{},
|
|
Remote: false,
|
|
}
|
|
// Create a single runtime for http
|
|
runtime, err := libpodruntime.GetRuntimeDisableFDs(context.Background(), &config)
|
|
if err != nil {
|
|
fmt.Printf("error creating libpod runtime: %s", err.Error())
|
|
os.Exit(1)
|
|
}
|
|
defer runtime.DeferredShutdown(false)
|
|
|
|
server, err := api.NewServer(runtime)
|
|
if err != nil {
|
|
fmt.Println(err.Error())
|
|
os.Exit(1)
|
|
}
|
|
|
|
err = server.Serve()
|
|
if err != nil {
|
|
fmt.Println(err.Error())
|
|
os.Exit(1)
|
|
}
|
|
}
|