Skip to content

Commit

Permalink
impl remoteNodeSet api objects
Browse files Browse the repository at this point in the history
  • Loading branch information
kobzonega committed Jan 23, 2024
1 parent 83db68f commit acd863b
Show file tree
Hide file tree
Showing 6 changed files with 9,489 additions and 0 deletions.
2 changes: 2 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,8 @@ manifests: controller-gen ## Generate WebhookConfiguration, ClusterRole and Cust
cp config/crd/bases/ydb.tech_databases.yaml deploy/ydb-operator/crds/database.yaml
cp config/crd/bases/ydb.tech_storagenodesets.yaml deploy/ydb-operator/crds/storagenodeset.yaml
cp config/crd/bases/ydb.tech_databasenodesets.yaml deploy/ydb-operator/crds/databasenodeset.yaml
cp config/crd/bases/ydb.tech_remotestoragenodesets.yaml deploy/ydb-operator/crds/remotestoragenodeset.yaml
cp config/crd/bases/ydb.tech_remotedatabasenodesets.yaml deploy/ydb-operator/crds/remotedatabasenodeset.yaml
cp config/crd/bases/ydb.tech_databasemonitorings.yaml deploy/ydb-operator/crds/databasemonitoring.yaml
cp config/crd/bases/ydb.tech_storagemonitorings.yaml deploy/ydb-operator/crds/storagemonitoring.yaml

Expand Down
35 changes: 35 additions & 0 deletions api/v1alpha1/remotedatabasenodeset_types.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package v1alpha1

import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)

//+kubebuilder:object:root=true
//+kubebuilder:subresource:status
//+kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.state",description="The status of this RemoteDatabaseNodeSet"
//+kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

// RemoteDatabaseNodeSet declares NodeSet spec and status for objects in remote cluster
type RemoteDatabaseNodeSet struct {
metav1.TypeMeta `json:",inline"`
// +optional
metav1.ObjectMeta `json:"metadata,omitempty"`
// +optional
Spec DatabaseNodeSetSpec `json:"spec,omitempty"`
// +optional
// +kubebuilder:default:={state: "Pending"}
Status DatabaseNodeSetStatus `json:"status,omitempty"`
}

//+kubebuilder:object:root=true

// RemoteDatabaseNodeSetList contains a list of RemoteDatabaseNodeSet
type RemoteDatabaseNodeSetList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []RemoteDatabaseNodeSet `json:"items"`
}

func init() {
SchemeBuilder.Register(&RemoteDatabaseNodeSet{}, &RemoteDatabaseNodeSetList{})
}
35 changes: 35 additions & 0 deletions api/v1alpha1/remotestoragenodeset_types.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package v1alpha1

import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)

//+kubebuilder:object:root=true
//+kubebuilder:subresource:status
//+kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.state",description="The status of this RemoteStorageNodeSet"
//+kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

// RemoteStorageNodeSet declares NodeSet spec and status for objects in remote cluster
type RemoteStorageNodeSet struct {
metav1.TypeMeta `json:",inline"`
// +optional
metav1.ObjectMeta `json:"metadata,omitempty"`
// +optional
Spec StorageNodeSetSpec `json:"spec,omitempty"`
// +optional
// +kubebuilder:default:={state: "Pending"}
Status StorageNodeSetStatus `json:"status,omitempty"`
}

//+kubebuilder:object:root=true

// RemoteStorageNodeSetList contains a list of RemoteStorageNodeSet
type RemoteStorageNodeSetList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []RemoteStorageNodeSet `json:"items"`
}

func init() {
SchemeBuilder.Register(&RemoteStorageNodeSet{}, &RemoteStorageNodeSetList{})
}
118 changes: 118 additions & 0 deletions api/v1alpha1/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit acd863b

Please sign in to comment.