package main
import (
+ "encoding/json"
"fmt"
"os"
"path/filepath"
)
const (
- EnvCNIPath = "CNI_PATH"
- EnvNetDir = "NETCONFPATH"
+ EnvCNIPath = "CNI_PATH"
+ EnvNetDir = "NETCONFPATH"
+ EnvCapabilityArgs = "CAP_ARGS"
DefaultNetDir = "/etc/cni/net.d"
exit(err)
}
+ var capabilityArgs map[string]interface{}
+ args := os.Getenv(EnvCapabilityArgs)
+ if len(args) > 0 {
+ if err = json.Unmarshal([]byte(args), &capabilityArgs); err != nil {
+ exit(err)
+ }
+ }
+
netns := os.Args[3]
cninet := &libcni.CNIConfig{
}
rt := &libcni.RuntimeConf{
- ContainerID: "cni",
- NetNS: netns,
- IfName: "eth0",
+ ContainerID: "cni",
+ NetNS: netns,
+ IfName: "eth0",
+ CapabilityArgs: capabilityArgs,
}
switch os.Args[1] {