mirror of
https://github.com/kemko/nomad.git
synced 2026-01-02 00:15:43 +03:00
26 lines
841 B
Go
26 lines
841 B
Go
// Copyright (c) HashiCorp, Inc.
|
|
// SPDX-License-Identifier: MPL-2.0
|
|
|
|
package executor
|
|
|
|
import (
|
|
"os"
|
|
|
|
"github.com/opencontainers/runc/libcontainer"
|
|
_ "github.com/opencontainers/runc/libcontainer/nsenter"
|
|
)
|
|
|
|
// init is only run on linux and is used when the LibcontainerExecutor starts
|
|
// a new process. The libcontainer shim takes over the process, setting up the
|
|
// configured isolation and limitions before execve into the user process
|
|
//
|
|
// This subcommand handler is implemented as an `init`, libcontainer shim is handled anywhere
|
|
// this package is used (including tests) without needing to write special command handler.
|
|
func init() {
|
|
if len(os.Args) > 1 && os.Args[1] == "init" {
|
|
// This is the golang entry point for runc init, executed
|
|
// before main() but after libcontainer/nsenter's nsexec().
|
|
libcontainer.Init()
|
|
}
|
|
}
|