// Package cni hosts the CNI plugin entry-points. The plugin binary is short- // lived: it is invoked by kubelet, talks to flock-agent over a unix socket, // and exits. All real work happens in the agent. package cni import ( "errors" "github.com/containernetworking/cni/pkg/skel" "github.com/containernetworking/cni/pkg/types" current "github.com/containernetworking/cni/pkg/types/100" ) // SocketPath is the unix socket exposed by flock-agent. const SocketPath = "/run/flock/flock.sock" var errNotImplemented = errors.New("flock: ADD/DEL/CHECK not implemented in M1 scaffold") // CmdAdd is invoked by kubelet when a pod sandbox is created. func CmdAdd(args *skel.CmdArgs) error { // M2: dial SocketPath, send ADD RPC, return CNI result. _ = args _ = current.ImplementedSpecVersion return types.NewError(types.ErrInternal, "flock-add", errNotImplemented.Error()) } // CmdDel is invoked by kubelet when a pod sandbox is torn down. func CmdDel(args *skel.CmdArgs) error { _ = args return types.NewError(types.ErrInternal, "flock-del", errNotImplemented.Error()) } // CmdCheck verifies that the live netns matches the persisted allocation. func CmdCheck(args *skel.CmdArgs) error { _ = args return types.NewError(types.ErrInternal, "flock-check", errNotImplemented.Error()) }