Documentation ¶
Index ¶
- Variables
- func Current() string
- func GreaterThanOrEqualTo(version, otherVersion string) (bool, error)
- func NewResult(version string, resultBytes []byte) (types.Result, error)
- func ParsePrevResult(conf *types.NetConf) error
- func ParseVersion(version string) (int, int, int, error)
- type ConfigDecoder
- type ErrorIncompatible
- type PluginDecoder
- type PluginInfo
- type Reconciler
Constants ¶
This section is empty.
Variables ¶
var All = PluginSupports("0.1.0", "0.2.0", "0.3.0", "0.3.1", "0.4.0")
var Legacy = PluginSupports("0.1.0", "0.2.0")
Legacy PluginInfo describes a plugin that is backwards compatible with the CNI spec version 0.1.0. In particular, a runtime compiled against the 0.1.0 library ought to work correctly with a plugin that reports support for Legacy versions.
Any future CNI spec versions which meet this definition should be added to this list.
Functions ¶
func Current ¶
func Current() string
Current reports the version of the CNI spec implemented by this library
func GreaterThanOrEqualTo ¶ added in v0.7.0
GreaterThanOrEqualTo takes two string versions, parses them into major/minor/micro numbers, and compares them to determine whether the first version is greater than or equal to the second
func NewResult ¶ added in v0.5.0
Finds a Result object matching the requested version (if any) and asks that object to parse the plugin result, returning an error if parsing failed.
func ParsePrevResult ¶ added in v0.7.0
ParsePrevResult parses a prevResult in a NetConf structure and sets the NetConf's PrevResult member to the parsed Result object.
Types ¶
type ConfigDecoder ¶
type ConfigDecoder struct{}
ConfigDecoder can decode the CNI version available in network config data
type ErrorIncompatible ¶
func (*ErrorIncompatible) Details ¶
func (e *ErrorIncompatible) Details() string
func (*ErrorIncompatible) Error ¶
func (e *ErrorIncompatible) Error() string
type PluginDecoder ¶
type PluginDecoder struct{}
PluginDecoder can decode the response returned by a plugin's VERSION command
func (*PluginDecoder) Decode ¶
func (*PluginDecoder) Decode(jsonBytes []byte) (PluginInfo, error)
type PluginInfo ¶
type PluginInfo interface { // SupportedVersions returns one or more CNI spec versions that the plugin // supports. If input is provided in one of these versions, then the plugin // promises to use the same CNI version in its response SupportedVersions() []string // Encode writes this CNI version information as JSON to the given Writer Encode(io.Writer) error }
PluginInfo reports information about CNI versioning
func PluginSupports ¶
func PluginSupports(supportedVersions ...string) PluginInfo
PluginSupports returns a new PluginInfo that will report the given versions as supported
type Reconciler ¶
type Reconciler struct{}
func (*Reconciler) Check ¶
func (r *Reconciler) Check(configVersion string, pluginInfo PluginInfo) *ErrorIncompatible
func (*Reconciler) CheckRaw ¶ added in v0.5.0
func (*Reconciler) CheckRaw(configVersion string, supportedVersions []string) *ErrorIncompatible
Directories ¶
Path | Synopsis |
---|---|
Package legacy_examples contains sample code from prior versions of the CNI library, for use in verifying backwards compatibility.
|
Package legacy_examples contains sample code from prior versions of the CNI library, for use in verifying backwards compatibility. |
Package testhelpers supports testing of CNI components of different versions For example, to build a plugin against an old version of the CNI library, we can pass the plugin's source and the old git commit reference to BuildAt.
|
Package testhelpers supports testing of CNI components of different versions For example, to build a plugin against an old version of the CNI library, we can pass the plugin's source and the old git commit reference to BuildAt. |