in main.go [25:44]
func main() {
// We are doing manual flag parsing b/c the default flag package
// doesn't have the ability to parse only some flags and ignore unknown
// ones. Just requiring positional arguments for simplicity.
// We are expecting command line like one of the following:
// self --version
// self --hook-config-path /path/to/hookcfg --runtime-path /path/to/runc, ... runtime flags
// If we don't match one of these these, we can exit
if len(os.Args) == 2 && os.Args[1] == "--version" {
fmt.Println("commit:", commit)
os.Exit(0)
} else if len(os.Args) < 6 || (os.Args[1] != "--hook-config-path" && os.Args[3] != "--runtime-path") {
os.Exit(exitCodeFailure)
}
// If are args are present, grab the values
hookConfigPath := os.Args[2]
runcPath := os.Args[4]
passthroughArgs := os.Args[5:]
os.Exit(run(hookConfigPath, runcPath, passthroughArgs))
}