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.
type CapacityStats ¶
type CapacityStats struct {
// Total bytes in the filesystem
Total uint64 `json:"total,omitempty"`
// Free bytes in the filesystem available to root user
Free uint64 `json:"free,omitempty"`
// Byte value available to an unprivileged user
Available uint64 `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 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"`
// Indicates if the volume deployment is eligible for promotion.
Promotable bool `json:"promotable,omitempty"`
// Health is the health of the master.
Health MasterHealth `json:"health,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.
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" )
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"`
}
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 {
// 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"`
// Indicates if the volume deployment is eligible for promotion.
Promotable bool `json:"promotable,omitempty"`
// Health is the health of the replica.
Health ReplicaHealth `json:"health,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.
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 *int32 `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 {
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.