package libcni
import "github.com/containernetworking/cni/libcni"
Index ¶
- Variables
- func ConfFiles(dir string, extensions []string) ([]string, error)
- type CNI
- type CNIConfig
- func NewCNIConfig(path []string, exec invoke.Exec) *CNIConfig
- func (c *CNIConfig) AddNetwork(ctx context.Context, net *NetworkConfig, rt *RuntimeConf) (types.Result, error)
- func (c *CNIConfig) AddNetworkList(ctx context.Context, list *NetworkConfigList, rt *RuntimeConf) (types.Result, error)
- func (c *CNIConfig) CheckNetwork(ctx context.Context, net *NetworkConfig, rt *RuntimeConf) error
- func (c *CNIConfig) CheckNetworkList(ctx context.Context, list *NetworkConfigList, rt *RuntimeConf) error
- func (c *CNIConfig) DelNetwork(ctx context.Context, net *NetworkConfig, rt *RuntimeConf) error
- func (c *CNIConfig) DelNetworkList(ctx context.Context, list *NetworkConfigList, rt *RuntimeConf) error
- func (c *CNIConfig) GetNetworkCachedResult(net *NetworkConfig, rt *RuntimeConf) (types.Result, error)
- func (c *CNIConfig) GetNetworkListCachedResult(list *NetworkConfigList, rt *RuntimeConf) (types.Result, error)
- func (c *CNIConfig) GetVersionInfo(ctx context.Context, pluginType string) (version.PluginInfo, error)
- func (c *CNIConfig) ValidateNetwork(ctx context.Context, net *NetworkConfig) ([]string, error)
- func (c *CNIConfig) ValidateNetworkList(ctx context.Context, list *NetworkConfigList) ([]string, error)
- type NetworkConfig
- func ConfFromBytes(bytes []byte) (*NetworkConfig, error)
- func ConfFromFile(filename string) (*NetworkConfig, error)
- func InjectConf(original *NetworkConfig, newValues map[string]interface{}) (*NetworkConfig, error)
- func LoadConf(dir, name string) (*NetworkConfig, error)
- type NetworkConfigList
- func ConfListFromBytes(bytes []byte) (*NetworkConfigList, error)
- func ConfListFromConf(original *NetworkConfig) (*NetworkConfigList, error)
- func ConfListFromFile(filename string) (*NetworkConfigList, error)
- func LoadConfList(dir, name string) (*NetworkConfigList, error)
- type NoConfigsFoundError
- type NotFoundError
- type RuntimeConf
Variables ¶
var (
CacheDir = "/var/lib/cni"
)
Functions ¶
func ConfFiles ¶
Types ¶
type CNI ¶
type CNI interface { AddNetworkList(ctx context.Context, net *NetworkConfigList, rt *RuntimeConf) (types.Result, error) CheckNetworkList(ctx context.Context, net *NetworkConfigList, rt *RuntimeConf) error DelNetworkList(ctx context.Context, net *NetworkConfigList, rt *RuntimeConf) error AddNetwork(ctx context.Context, net *NetworkConfig, rt *RuntimeConf) (types.Result, error) CheckNetwork(ctx context.Context, net *NetworkConfig, rt *RuntimeConf) error DelNetwork(ctx context.Context, net *NetworkConfig, rt *RuntimeConf) error GetNetworkCachedResult(net *NetworkConfig, rt *RuntimeConf) (types.Result, error) ValidateNetworkList(ctx context.Context, net *NetworkConfigList) ([]string, error) ValidateNetwork(ctx context.Context, net *NetworkConfig) ([]string, error) }
type CNIConfig ¶
type CNIConfig struct { Path []string // contains filtered or unexported fields }
func NewCNIConfig ¶
NewCNIConfig returns a new CNIConfig object that will search for plugins in the given paths and use the given exec interface to run those plugins, or if the exec interface is not given, will use a default exec handler.
func (*CNIConfig) AddNetwork ¶
func (c *CNIConfig) AddNetwork(ctx context.Context, net *NetworkConfig, rt *RuntimeConf) (types.Result, error)
AddNetwork executes the plugin with the ADD command
func (*CNIConfig) AddNetworkList ¶
func (c *CNIConfig) AddNetworkList(ctx context.Context, list *NetworkConfigList, rt *RuntimeConf) (types.Result, error)
AddNetworkList executes a sequence of plugins with the ADD command
func (*CNIConfig) CheckNetwork ¶
func (c *CNIConfig) CheckNetwork(ctx context.Context, net *NetworkConfig, rt *RuntimeConf) error
CheckNetwork executes the plugin with the CHECK command
func (*CNIConfig) CheckNetworkList ¶
func (c *CNIConfig) CheckNetworkList(ctx context.Context, list *NetworkConfigList, rt *RuntimeConf) error
CheckNetworkList executes a sequence of plugins with the CHECK command
func (*CNIConfig) DelNetwork ¶
func (c *CNIConfig) DelNetwork(ctx context.Context, net *NetworkConfig, rt *RuntimeConf) error
DelNetwork executes the plugin with the DEL command
func (*CNIConfig) DelNetworkList ¶
func (c *CNIConfig) DelNetworkList(ctx context.Context, list *NetworkConfigList, rt *RuntimeConf) error
DelNetworkList executes a sequence of plugins with the DEL command
func (*CNIConfig) GetNetworkCachedResult ¶
func (c *CNIConfig) GetNetworkCachedResult(net *NetworkConfig, rt *RuntimeConf) (types.Result, error)
GetNetworkCachedResult returns the cached Result of the previous previous AddNetwork() operation for a network, or an error.
func (*CNIConfig) GetNetworkListCachedResult ¶
func (c *CNIConfig) GetNetworkListCachedResult(list *NetworkConfigList, rt *RuntimeConf) (types.Result, error)
GetNetworkListCachedResult returns the cached Result of the previous previous AddNetworkList() operation for a network list, or an error.
func (*CNIConfig) GetVersionInfo ¶
func (c *CNIConfig) GetVersionInfo(ctx context.Context, pluginType string) (version.PluginInfo, error)
GetVersionInfo reports which versions of the CNI spec are supported by the given plugin.
func (*CNIConfig) ValidateNetwork ¶
ValidateNetwork checks that a configuration is reasonably valid. It uses the same logic as ValidateNetworkList) Returns a list of capabilities
func (*CNIConfig) ValidateNetworkList ¶
func (c *CNIConfig) ValidateNetworkList(ctx context.Context, list *NetworkConfigList) ([]string, error)
ValidateNetworkList checks that a configuration is reasonably valid. - all the specified plugins exist on disk - every plugin supports the desired version.
Returns a list of all capabilities supported by the configuration, or error
type NetworkConfig ¶
func ConfFromBytes ¶
func ConfFromBytes(bytes []byte) (*NetworkConfig, error)
func ConfFromFile ¶
func ConfFromFile(filename string) (*NetworkConfig, error)
func InjectConf ¶
func InjectConf(original *NetworkConfig, newValues map[string]interface{}) (*NetworkConfig, error)
func LoadConf ¶
func LoadConf(dir, name string) (*NetworkConfig, error)
type NetworkConfigList ¶
type NetworkConfigList struct { Name string CNIVersion string DisableCheck bool Plugins []*NetworkConfig Bytes []byte }
func ConfListFromBytes ¶
func ConfListFromBytes(bytes []byte) (*NetworkConfigList, error)
func ConfListFromConf ¶
func ConfListFromConf(original *NetworkConfig) (*NetworkConfigList, error)
ConfListFromConf "upconverts" a network config in to a NetworkConfigList, with the single network as the only entry in the list.
func ConfListFromFile ¶
func ConfListFromFile(filename string) (*NetworkConfigList, error)
func LoadConfList ¶
func LoadConfList(dir, name string) (*NetworkConfigList, error)
type NoConfigsFoundError ¶
type NoConfigsFoundError struct { Dir string }
func (NoConfigsFoundError) Error ¶
func (e NoConfigsFoundError) Error() string
type NotFoundError ¶
func (NotFoundError) Error ¶
func (e NotFoundError) Error() string
type RuntimeConf ¶
type RuntimeConf struct { ContainerID string NetNS string IfName string Args [][2]string // A dictionary of capability-specific data passed by the runtime // to plugins as top-level keys in the 'runtimeConfig' dictionary // of the plugin's stdin data. libcni will ensure that only keys // in this map which match the capabilities of the plugin are passed // to the plugin CapabilityArgs map[string]interface{} // A cache directory in which to library data. Defaults to CacheDir CacheDir string }
A RuntimeConf holds the arguments to one invocation of a CNI plugin excepting the network configuration, with the nested exception that the `runtimeConfig` from the network configuration is included here.
Source Files ¶
- Version
- v0.7.0
- Published
- Apr 26, 2019
- Platform
- js/wasm
- Imports
- 11 packages
- Last checked
- 9 hours ago –
Tools for package owners.