4 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
7 // EDIT THIS FILE! THIS IS SCAFFOLDING FOR YOU TO OWN!
8 // NOTE: json tags are required. Any new fields you add must have json tags for the fields to be serialized.
10 // CollectdPluginSpec defines the desired state of CollectdPlugin
11 // +k8s:openapi-gen=true
12 type CollectdPluginSpec struct {
13 // INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
14 // Important: Run "operator-sdk generate k8s" to regenerate code after modifying this file
15 // Add custom validation using kubebuilder tags: https://book.kubebuilder.io/beyond_basics/generating_crd.html
16 PluginName string `json:"pluginName"`
17 PluginConf string `json:"pluginConf"`
20 // CollectdPluginStatus defines the observed state of CollectdPlugin
21 // +k8s:openapi-gen=true
22 type CollectdPluginStatus struct {
23 // INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
24 // Important: Run "operator-sdk generate k8s" to regenerate code after modifying this file
25 // Add custom validation using kubebuilder tags: https://book.kubebuilder.io/beyond_basics/generating_crd.html
26 // CollectdAgents are the collectd pods in the Daemonset
27 CollectdAgents []string `json:"collectdAgents"`
30 // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
32 // CollectdPlugin is the Schema for the collectdplugins API
33 // +k8s:openapi-gen=true
34 // +kubebuilder:subresource:status
35 type CollectdPlugin struct {
36 metav1.TypeMeta `json:",inline"`
37 metav1.ObjectMeta `json:"metadata,omitempty"`
39 Spec CollectdPluginSpec `json:"spec,omitempty"`
40 Status CollectdPluginStatus `json:"status,omitempty"`
43 // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
45 // CollectdPluginList contains a list of CollectdPlugin
46 type CollectdPluginList struct {
47 metav1.TypeMeta `json:",inline"`
48 metav1.ListMeta `json:"metadata,omitempty"`
49 Items []CollectdPlugin `json:"items"`
53 SchemeBuilder.Register(&CollectdPlugin{}, &CollectdPluginList{})