v1

package
v1.2.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 19, 2022 License: MIT Imports: 4 Imported by: 0

Documentation

Overview

Package v1 contains API Schema definitions for the storageos.com v1 API group +kubebuilder:object:generate=true +groupName=api.storageos.com

Index

Constants

This section is empty.

Variables

View Source
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.

const (
	FSTypeExt2    FSType = "ext2"
	FSTypeExt3    FSType = "ext3"
	FSTypeExt4    FSType = "ext4"
	FSTypeXFS     FSType = "xfs"
	FSTypeBTRFS   FSType = "btrfs"
	FSTypeBlock   FSType = "block"
	FSTypeUnknown FSType = "unknown"
)

List of FsType.

func NewFSType added in v1.2.1

func NewFSType(s string) FSType

NewFSType converts a string to FSType.

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"`
	// The hostname of the node that is hosting the deployment
	Hostname string `json:"hostname,omitempty"`
}

MasterDeploymentInfo contains the information about a master deployment.

func (*MasterDeploymentInfo) DeepCopy added in v1.2.0

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

func (in *NFSAcl) DeepCopy() *NFSAcl

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NFSAcl.

func (*NFSAcl) DeepCopyInto added in v1.2.0

func (in *NFSAcl) DeepCopyInto(out *NFSAcl)

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

func (in *NFSConfig) DeepCopy() *NFSConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NFSConfig.

func (*NFSConfig) DeepCopyInto added in v1.2.0

func (in *NFSConfig) DeepCopyInto(out *NFSConfig)

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 int64 `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

func (in *Node) DeepCopy() *Node

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Node.

func (*Node) DeepCopyInto

func (in *Node) DeepCopyInto(out *Node)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Node) DeepCopyObject

func (in *Node) DeepCopyObject() runtime.Object

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

func (in *NodeList) DeepCopy() *NodeList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeList.

func (*NodeList) DeepCopyInto

func (in *NodeList) DeepCopyInto(out *NodeList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NodeList) DeepCopyObject

func (in *NodeList) DeepCopyObject() runtime.Object

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

func (in *NodeSpec) DeepCopy() *NodeSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeSpec.

func (*NodeSpec) DeepCopyInto

func (in *NodeSpec) DeepCopyInto(out *NodeSpec)

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"`
	// The hostname of the node that is hosting the deployment
	Hostname string `json:"hostname,omitempty"`
}

ReplicaDeploymentInfo contains the information about a replica deployment.

func (*ReplicaDeploymentInfo) DeepCopy added in v1.2.0

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 int64 `json:"bytesRemaining,omitempty"`
	// The average throughput of the sync given as bytes per  second.
	ThroughputBytes int64 `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 int64 `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

func (in *Volume) DeepCopy() *Volume

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Volume.

func (*Volume) DeepCopyInto added in v1.2.0

func (in *Volume) DeepCopyInto(out *Volume)

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

func (in *Volume) DeepCopyObject() runtime.Object

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 int64 `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  int64                   `json:"consumerCount,omitempty"`
	AttachedOnHost string                  `json:"attachedOnHost,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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL