mirror of
https://github.com/k8snetworkplumbingwg/multus-cni.git
synced 2025-09-03 01:46:12 +00:00
added the k8s network plumbing wg network crd structure
see issue #61 and #62 for more info Change-Id: I228d17d7b15985fb3a2209799a085bba2b97980c Co-authored-by: Doug Smith <dougbtv@users.noreply.github.com> Co-authored-by: Tomofumi Hayashi <s1061123@users.noreply.github.com> Co-authored-by: Dan Williams <dcbw@users.noreply.github.com>
This commit is contained in:
committed by
Kuralamudhan Ramakrishnan
parent
6d12cd74ac
commit
25fe46dda7
@@ -13,14 +13,13 @@
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
|
||||
package types
|
||||
|
||||
import (
|
||||
"net"
|
||||
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"github.com/containernetworking/cni/pkg/types"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
)
|
||||
|
||||
// NetConf for cni config file written in json
|
||||
@@ -32,11 +31,40 @@ type NetConf struct {
|
||||
UseDefault bool `json:"always_use_default"`
|
||||
}
|
||||
|
||||
type Netplugin struct {
|
||||
metav1.TypeMeta `json:",inline"`
|
||||
metav1.ObjectMeta `json:"metadata,omitempty" description:"standard object metadata"`
|
||||
Plugin string `json:"plugin"`
|
||||
Args string `json:"args"`
|
||||
type Network struct {
|
||||
metav1.TypeMeta `json:",inline"`
|
||||
// Note that ObjectMeta is mandatory, as an object
|
||||
// name is required
|
||||
Metadata metav1.ObjectMeta `json:"metadata,omitempty" description:"standard object metadata"`
|
||||
|
||||
// Specification describing how to invoke a CNI plugin to
|
||||
// add or remove network attachments for a Pod.
|
||||
// In the absence of valid keys in a Spec, the runtime (or
|
||||
// meta-plugin) should load and execute a CNI .configlist
|
||||
// or .config (in that order) file on-disk whose JSON
|
||||
// “name” key matches this Network object’s name.
|
||||
// +optional
|
||||
Spec NetworkSpec `json:"spec"`
|
||||
}
|
||||
|
||||
type NetworkSpec struct {
|
||||
// Config contains a standard JSON-encoded CNI configuration
|
||||
// or configuration list which defines the plugin chain to
|
||||
// execute. If present, this key takes precedence over
|
||||
// ‘Plugin’.
|
||||
// +optional
|
||||
Config string `json:"config"`
|
||||
|
||||
// Plugin contains the name of a CNI plugin on-disk in a
|
||||
// runtime-defined path (eg /opt/cni/bin and/or other paths.
|
||||
// This plugin should be executed with a basic CNI JSON
|
||||
// configuration on stdin containing the Network object
|
||||
// name and the plugin:
|
||||
// { “cniVersion”: “0.3.1”, “type”: <Plugin>, “name”: <Network.Name> }
|
||||
// and any additional “runtimeConfig” field per the
|
||||
// CNI specification and conventions.
|
||||
// +optional
|
||||
Plugin string `json:"plugin"`
|
||||
}
|
||||
|
||||
// K8sArgs is the valid CNI_ARGS used for Kubernetes
|
||||
|
Reference in New Issue
Block a user