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  }