Documentation ¶
Overview ¶
Package v1 contains API Schema definitions for the storageos.com v1 API group +kubebuilder:object:generate=true +groupName=api.storageos.com
Index ¶
- Variables
- type AttachType
- type CapacityStats
- type FSType
- type MasterDeploymentInfo
- type MasterHealth
- type NFSAcl
- type NFSAclIdentity
- type NFSAclSquashConfig
- type NFSConfig
- type NFSExportConfig
- type Node
- type NodeHealth
- type NodeList
- type NodeSpec
- type NodeStatus
- type PlacementStrategy
- type ReplicaDeploymentInfo
- type ReplicaHealth
- type SyncProgress
- type Volume
- type VolumeList
- type VolumeSpec
- type VolumeStatus
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects. GroupVersion = schema.GroupVersion{Group: "api.storageos.com", Version: "v1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type AttachType ¶ added in v1.2.0
type AttachType string
AttachType is the attachment type of a volume.
const ( AttachTypeUnknown AttachType = "unknown" AttachTypeDetached AttachType = "detached" AttachTypeNFS AttachType = "nfs" AttachTypeHost AttachType = "host" )
List of AttachType.
func NewAttachType ¶ added in v1.2.1
func NewAttachType(s string) AttachType
NewAttachType converts a string to AttachType.
type CapacityStats ¶
type CapacityStats struct { // Total bytes in the filesystem Total int64 `json:"total,omitempty"` // Free bytes in the filesystem available to root user Free int64 `json:"free,omitempty"` // Byte value available to an unprivileged user Available int64 `json:"available,omitempty"` }
CapacityStats describes the node's storage capacity.
func (*CapacityStats) DeepCopy ¶
func (in *CapacityStats) DeepCopy() *CapacityStats
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CapacityStats.
func (*CapacityStats) DeepCopyInto ¶
func (in *CapacityStats) DeepCopyInto(out *CapacityStats)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FSType ¶ added in v1.2.0
type FSType string
FSType is the file system type of a volume.
type MasterDeploymentInfo ¶ added in v1.2.0
type MasterDeploymentInfo struct { // A unique identifier for a volume deployment. The format of this type is // undefined and may change but the defined properties will not change. ID string `json:"id,omitempty"` // A unique identifier for a node. The format of this type is undefined and // may change but the defined properties will not change. NodeID string `json:"nodeID,omitempty"` // Health is the health of the master. Health MasterHealth `json:"health,omitempty"` // Indicates if the volume deployment is eligible for promotion. Promotable bool `json:"promotable,omitempty"` }
MasterDeploymentInfo contains the information about a master deployment.
func (*MasterDeploymentInfo) DeepCopy ¶ added in v1.2.0
func (in *MasterDeploymentInfo) DeepCopy() *MasterDeploymentInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MasterDeploymentInfo.
func (*MasterDeploymentInfo) DeepCopyInto ¶ added in v1.2.0
func (in *MasterDeploymentInfo) DeepCopyInto(out *MasterDeploymentInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MasterHealth ¶ added in v1.2.0
type MasterHealth string
MasterHealth is the operational health of a volume master deployment.
const ( MasterHealthOnline MasterHealth = "online" MasterHealthOffline MasterHealth = "offline" MasterHealthUnknown MasterHealth = "unknown" )
List of MasterHealth.
func NewMasterHealth ¶ added in v1.2.1
func NewMasterHealth(s string) MasterHealth
NewMasterHealth converts a string to MasterHealth.
type NFSAcl ¶ added in v1.2.0
type NFSAcl struct { // Identity is the NFS ACL identity. Identity NFSAclIdentity `json:"identity,omitempty"` // SquashConfig is the NFS ACL squash configuration. SquashConfig NFSAclSquashConfig `json:"squashConfig,omitempty"` // AccessLevel is the access level this ACL grants - read-only, or // read-write. AccessLevel string `json:"accessLevel,omitempty"` }
NFSAcl is the NFS Access Control List.
func (*NFSAcl) DeepCopy ¶ added in v1.2.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NFSAcl.
func (*NFSAcl) DeepCopyInto ¶ added in v1.2.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NFSAclIdentity ¶ added in v1.2.0
type NFSAclIdentity struct { // The identity type used to identify the nfs client. IdentityType string `json:"identityType,omitempty"` // NFS identity matcher. For \"cidr\", this should be a valid CIDR block // string such as \"10.0.0.0/8\". For \"hostname\", this must be the // hostname sent by the client, with ? and * wildcard characters. For // netgroup, this must be in the form of \"@netgroup\" with ? and // * wildcard characters. Matcher string `json:"matcher,omitempty"` }
NFSAclIdentity is the NFS ACL identity.
func (*NFSAclIdentity) DeepCopy ¶ added in v1.2.0
func (in *NFSAclIdentity) DeepCopy() *NFSAclIdentity
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NFSAclIdentity.
func (*NFSAclIdentity) DeepCopyInto ¶ added in v1.2.0
func (in *NFSAclIdentity) DeepCopyInto(out *NFSAclIdentity)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NFSAclSquashConfig ¶ added in v1.2.0
type NFSAclSquashConfig struct { Uid int64 `json:"uid,omitempty"` Gid int64 `json:"gid,omitempty"` // SquashConfig defines the root squashing behaviour. When a client creates // a file, it sends the user UID from the client. If the client is running // as root, this sends uid=0. Root squashing allows the NFS administrator // to prevent the client from writing as \"root\" to the NFS share, instead // mapping the client to a new UID/GID (usually nfsnobody, -2). \"none\" // performs no UID/GID alterations, using the values sent by the client. // \"root\" mapps UID & GID 0 to the values specified. \"rootuid\" maps UID // 0 and a GID of any value to the value specified. \"all\" maps changes // all UID and GID values to those specified. Squash string `json:"squash,omitempty"` }
NFSAclSquashConfig is the NFS ACL squash configuration.
func (*NFSAclSquashConfig) DeepCopy ¶ added in v1.2.0
func (in *NFSAclSquashConfig) DeepCopy() *NFSAclSquashConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NFSAclSquashConfig.
func (*NFSAclSquashConfig) DeepCopyInto ¶ added in v1.2.0
func (in *NFSAclSquashConfig) DeepCopyInto(out *NFSAclSquashConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NFSConfig ¶ added in v1.2.0
type NFSConfig struct { // Exports is the NFS export configuration. Exports []NFSExportConfig `json:"exports,omitempty"` // The address to which the NFS server is bound. ServiceEndpoint *string `json:"serviceEndpoint,omitempty"` }
NFSConfig is the NFS configuration.
func (*NFSConfig) DeepCopy ¶ added in v1.2.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NFSConfig.
func (*NFSConfig) DeepCopyInto ¶ added in v1.2.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NFSExportConfig ¶ added in v1.2.0
type NFSExportConfig struct { // ID for this export ExportID uint64 `json:"exportID,omitempty"` // The path relative to the volume root to serve as the export root Path string `json:"path,omitempty"` // The configured pseudo path in the NFS virtual filesystem. This is the // path clients will see when traversing to this export on the NFS share. PseudoPath string `json:"pseudoPath,omitempty"` // Acls is the NFS Access Control List. Acls []NFSAcl `json:"acls,omitempty"` }
NFSExportConfig is the NFS export configuration.
func (*NFSExportConfig) DeepCopy ¶ added in v1.2.0
func (in *NFSExportConfig) DeepCopy() *NFSExportConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NFSExportConfig.
func (*NFSExportConfig) DeepCopyInto ¶ added in v1.2.0
func (in *NFSExportConfig) DeepCopyInto(out *NFSExportConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Node ¶
type Node struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec NodeSpec `json:"spec,omitempty"` Status NodeStatus `json:"status,omitempty"` }
Node is the Schema for the nodes API.
func (*Node) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Node.
func (*Node) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Node) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NodeHealth ¶
type NodeHealth string
NodeHealth is a string representation of the node health.
const ( NodeHealthOnline NodeHealth = "online" NodeHealthOffline NodeHealth = "offline" NodeHealthUnknown NodeHealth = "unknown" )
func NewNodeHealth ¶ added in v1.2.1
func NewNodeHealth(s string) NodeHealth
NewNodeHealth converts a string to NodeHealth.
type NodeList ¶
type NodeList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Node `json:"items"` }
NodeList contains a list of Node.
func (*NodeList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeList.
func (*NodeList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NodeList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NodeSpec ¶
type NodeSpec struct { // Endpoint at which we operate our dataplane's dfs service. (used for IO // operations) This value is set on startup by the corresponding environment // variable (IO_ADVERTISE_ADDRESS). IoEndpoint string `json:"ioEndpoint,omitempty"` // Endpoint at which we operate our dataplane's supervisor service (used for // sync). This value is set on startup by the corresponding environment // variable (SUPERVISOR_ADVERTISE_ADDRESS). SupervisorEndpoint string `json:"supervisorEndpoint,omitempty"` // Endpoint at which we operate our health checking service. This value is // set on startup by the corresponding environment variable // (GOSSIP_ADVERTISE_ADDRESS). GossipEndpoint string `json:"gossipEndpoint,omitempty"` // Endpoint at which we operate our clustering GRPC API. This value is set // on startup by the corresponding environment variable // (INTERNAL_API_ADVERTISE_ADDRESS). ClusteringEndpoint string `json:"clusteringEndpoint,omitempty"` // ConfigLabels are the node configurations stored as labels in the // control plane. // NOTE: Since the k8s labels and annotations have certain naming rules, // this field helps store the key-value configuration data without any // naming restrictions. This can also be used to introduce new node // configurations which can later be moved to dedicated fields in the spec. ConfigLabels map[string]string `json:"configLabels,omitempty"` }
NodeSpec defines the desired state of Node.
func (*NodeSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeSpec.
func (*NodeSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodeStatus ¶
type NodeStatus struct { NodeID string `json:"nodeId,omitempty"` // Health of the node. Health NodeHealth `json:"health,omitempty"` // Capacity of the node. Capacity CapacityStats `json:"capacity,omitempty"` }
NodeStatus defines the observed state of the Node.
func (*NodeStatus) DeepCopy ¶
func (in *NodeStatus) DeepCopy() *NodeStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeStatus.
func (*NodeStatus) DeepCopyInto ¶
func (in *NodeStatus) DeepCopyInto(out *NodeStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PlacementStrategy ¶ added in v1.2.0
type PlacementStrategy int
PlacementStrategy is volume placement strategy type.
const ( PlacementStrategyUnknown PlacementStrategy = iota PlacementStrategyRandom PlacementStrategyFixed PlacementStrategyRecommended )
List of PlacementStrategy.
type ReplicaDeploymentInfo ¶ added in v1.2.0
type ReplicaDeploymentInfo struct { // A unique identifier for a volume deployment. The format of this type is // undefined and may change but the defined properties will not change. ID string `json:"id,omitempty"` // A unique identifier for a node. The format of this type is undefined and // may change but the defined properties will not change. NodeID string `json:"nodeID,omitempty"` // Health is the health of the replica. Health ReplicaHealth `json:"health,omitempty"` // Indicates if the volume deployment is eligible for promotion. Promotable bool `json:"promotable,omitempty"` // SyncProgress is the sync progress of the replica. SyncProgress SyncProgress `json:"syncProgress,omitempty"` }
ReplicaDeploymentInfo contains the information about a replica deployment.
func (*ReplicaDeploymentInfo) DeepCopy ¶ added in v1.2.0
func (in *ReplicaDeploymentInfo) DeepCopy() *ReplicaDeploymentInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplicaDeploymentInfo.
func (*ReplicaDeploymentInfo) DeepCopyInto ¶ added in v1.2.0
func (in *ReplicaDeploymentInfo) DeepCopyInto(out *ReplicaDeploymentInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReplicaHealth ¶ added in v1.2.0
type ReplicaHealth string
ReplicaHealth is the operational health of a volume replica deployment.
const ( ReplicaHealthRecovering ReplicaHealth = "recovering" ReplicaHealthProvisioning ReplicaHealth = "provisioning" ReplicaHealthProvisioned ReplicaHealth = "provisioned" ReplicaHealthSyncing ReplicaHealth = "syncing" ReplicaHealthReady ReplicaHealth = "ready" ReplicaHealthDeleted ReplicaHealth = "deleted" ReplicaHealthFailed ReplicaHealth = "failed" ReplicaHealthUnknown ReplicaHealth = "unknown" )
List of ReplicaHealth.
func NewReplicaHealth ¶ added in v1.2.1
func NewReplicaHealth(s string) ReplicaHealth
NewReplicaHealth converts a string to ReplicaHealth.
type SyncProgress ¶ added in v1.2.0
type SyncProgress struct { // Number of bytes left remaining to complete the sync. BytesRemaining uint64 `json:"bytesRemaining,omitempty"` // The average throughput of the sync given as bytes per second. ThroughputBytes uint64 `json:"throughputBytes,omitempty"` // The estimated time left for the sync to complete, given in seconds. // When this field has a value of 0 either the sync is complete or no // duration estimate could be made. The values reported for bytesRemaining // and throughputBytes provide the client with the information needed to // choose what to display. EstimatedSecondsRemaining uint64 `json:"estimatedSecondsRemaining,omitempty"` }
SyncProgress is the progress report for an ongoing sync.
func (*SyncProgress) DeepCopy ¶ added in v1.2.0
func (in *SyncProgress) DeepCopy() *SyncProgress
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SyncProgress.
func (*SyncProgress) DeepCopyInto ¶ added in v1.2.0
func (in *SyncProgress) DeepCopyInto(out *SyncProgress)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Volume ¶ added in v1.2.0
type Volume struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec VolumeSpec `json:"spec,omitempty"` Status VolumeStatus `json:"status,omitempty"` }
Volume is the Schema for the volumes API.
func (*Volume) DeepCopy ¶ added in v1.2.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Volume.
func (*Volume) DeepCopyInto ¶ added in v1.2.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Volume) DeepCopyObject ¶ added in v1.2.0
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VolumeList ¶ added in v1.2.0
type VolumeList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Volume `json:"items"` }
VolumeList contains a list of Volume.
func (*VolumeList) DeepCopy ¶ added in v1.2.0
func (in *VolumeList) DeepCopy() *VolumeList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeList.
func (*VolumeList) DeepCopyInto ¶ added in v1.2.0
func (in *VolumeList) DeepCopyInto(out *VolumeList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VolumeList) DeepCopyObject ¶ added in v1.2.0
func (in *VolumeList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VolumeSpec ¶ added in v1.2.0
type VolumeSpec struct { // Description is an optional and can describe the volume. Description string `json:"description,omitempty"` // Replicas is the number of volume replicas. Replicas *uint8 `json:"replicas,omitempty"` // NFS holds configuration for NFS-based shared volumes. NFS NFSConfig `json:"nfs,omitempty"` // FSType is the requested filesystem type. Once set it can't be changed. FSType FSType `json:"fsType,omitempty"` // SizeBytes is the volume's size in bytes. The size can be increased via CSI. SizeBytes uint64 `json:"sizeBytes,omitempty"` // ConfigLabels are the volume configurations stored as labels in the // control plane. // NOTE: Since the k8s labels and annotations have certain naming rules, // this field helps store the key-value configuration data without any // naming restrictions. This can also be used to introduce new volume // configurations which can later be moved to dedicated fields in the spec. ConfigLabels map[string]string `json:"configLabels,omitempty"` // Strategy is the volume placement strategy. Strategy PlacementStrategy `json:"strategy,omitempty"` }
VolumeSpec defines the desired state of Volume.
func (*VolumeSpec) DeepCopy ¶ added in v1.2.0
func (in *VolumeSpec) DeepCopy() *VolumeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeSpec.
func (*VolumeSpec) DeepCopyInto ¶ added in v1.2.0
func (in *VolumeSpec) DeepCopyInto(out *VolumeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VolumeStatus ¶ added in v1.2.0
type VolumeStatus struct { VolumeID string `json:"volumeId,omitempty"` AttachedOn string `json:"attachedOn,omitempty"` AttachmentType AttachType `json:"attachmentType,omitempty"` Master MasterDeploymentInfo `json:"master,omitempty"` Replicas []ReplicaDeploymentInfo `json:"replicas,omitempty"` ConsumerCount uint64 `json:"consumerCount,omitempty"` }
VolumeStatus defines the observed state of Volume.
func (*VolumeStatus) DeepCopy ¶ added in v1.2.0
func (in *VolumeStatus) DeepCopy() *VolumeStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeStatus.
func (*VolumeStatus) DeepCopyInto ¶ added in v1.2.0
func (in *VolumeStatus) DeepCopyInto(out *VolumeStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.