podman/cmd/service/main.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)
}
}