github.com/caos/orbos@v1.5.14-0.20221103111702-e6cd0cea7ad4/internal/api/networking/v1/networking.go (about) 1 // +kubebuilder:object:generate=true 2 // +groupName=caos.ch 3 package v1 4 5 import ( 6 orbnw "github.com/caos/orbos/internal/operator/networking/kinds/orb" 7 "github.com/caos/orbos/pkg/tree" 8 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" 9 "k8s.io/apimachinery/pkg/runtime/schema" 10 "sigs.k8s.io/controller-runtime/pkg/scheme" 11 ) 12 13 var ( 14 // GroupVersion is group version used to register these objects 15 GroupVersion = schema.GroupVersion{Group: "caos.ch", Version: "v1"} 16 17 // SchemeBuilder is used to add go types to the GroupVersionKind scheme 18 SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} 19 20 // AddToScheme adds the types in this group-version to the given scheme. 21 AddToScheme = SchemeBuilder.AddToScheme 22 ) 23 24 // +kubebuilder:storageversion 25 // +kubebuilder:object:root=true 26 // +kubebuilder:crd=Networking 27 type Networking struct { 28 metav1.TypeMeta `json:",inline"` 29 metav1.ObjectMeta `json:"metadata,omitempty"` 30 31 Spec Spec `json:"spec,omitempty"` 32 Status Status `json:"status,omitempty"` 33 } 34 35 type Status struct { 36 // INSERT ADDITIONAL STATUS FIELD - define observed state of cluster 37 // Important: Run "make" to regenerate code after modifying this file 38 } 39 40 type Spec struct { 41 Common *tree.Common `json:",inline" yaml:",inline"` 42 Spec *orbnw.Spec `json:"spec" yaml:"spec"` 43 Networking *Empty `json:"networking" yaml:"networking"` 44 } 45 46 type Empty struct{} 47 48 // +kubebuilder:object:root=true 49 type NetworkingList struct { 50 metav1.TypeMeta `json:",inline"` 51 metav1.ListMeta `json:"metadata,omitempty"` 52 Items []Networking `json:"items"` 53 } 54 55 func init() { 56 SchemeBuilder.Register(&Networking{}, &NetworkingList{}) 57 }