Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the filecoin v1alpha1 API group +kubebuilder:object:generate=true +groupName=filecoin.kotal.io
Index ¶
- Constants
- Variables
- type FilecoinNetwork
- type Node
- func (in *Node) DeepCopy() *Node
- func (in *Node) DeepCopyInto(out *Node)
- func (in *Node) DeepCopyObject() runtime.Object
- func (n *Node) Default()
- func (n *Node) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (n *Node) ValidateCreate() (admission.Warnings, error)
- func (n *Node) ValidateDelete() (admission.Warnings, error)
- func (n *Node) ValidateUpdate(old runtime.Object) (admission.Warnings, error)
- type NodeList
- type NodeSpec
- type NodeStatus
Constants ¶
const ( // DefaltReplicas is the default replicas DefaltReplicas uint = 1 // DefaultAPIPort is the default port the API server is listening to DefaultAPIPort uint = 1234 // DefaultP2PPort is the default p2p port DefaultP2PPort uint = 4444 // DefaultAPIRequestTimeout is the default API request timeout DefaultAPIRequestTimeout uint = 30 // DefaultLogging is the default logging verbosity DefaultLogging = shared.InfoLogs // DefaultMainnetNodeCPURequest is the default mainnet node cpu request DefaultMainnetNodeCPURequest = "8" // DefaultMainnetNodeCPULimit is the default mainnet node cpu limit DefaultMainnetNodeCPULimit = "16" // DefaultMainnetNodeMemoryRequest is the default mainnet node memory request DefaultMainnetNodeMemoryRequest = "16Gi" // DefaultMainnetNodeMemoryLimit is the default mainnet node memory limit DefaultMainnetNodeMemoryLimit = "32Gi" // DefaultMainnetNodeStorageRequest is the default mainnet node storage DefaultMainnetNodeStorageRequest = "200Gi" // DefaultCalibrationNodeCPURequest is the default calibration node cpu request DefaultCalibrationNodeCPURequest = "8" // DefaultCalibrationNodeCPULimit is the default calibration node cpu limit DefaultCalibrationNodeCPULimit = "16" // DefaultCalibrationNodeMemoryRequest is the default calibration node memory request DefaultCalibrationNodeMemoryRequest = "16Gi" // DefaultCalibrationNodeMemoryLimit is the default calibration node memory limit DefaultCalibrationNodeMemoryLimit = "32Gi" // DefaultCalibrationNodeStorageRequest is the default calibration node storage DefaultCalibrationNodeStorageRequest = "200Gi" )
const ( // DefaultLotusImage is the default lotus client image DefaultLotusImage = "filecoin/lotus:v1.26.3" // DefaultLotusCalibrationImage is the default lotus client image for calibration network DefaultLotusCalibrationImage = "kotalco/lotus:v1.26.3-calibnet" )
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "filecoin.kotal.io", Version: "v1alpha1"} // 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 FilecoinNetwork ¶
type FilecoinNetwork string
FilecoinNetwork is Filecoin network +kubebuilder:validation:Enum=mainnet;calibration
const ( // MainNetwork is the Filecoin main network MainNetwork FilecoinNetwork = "mainnet" // CalibrationNetwork is the Filecoin main network CalibrationNetwork FilecoinNetwork = "calibration" )
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 +kubebuilder:printcolumn:name="Network",type=string,JSONPath=".spec.network" +kubebuilder:printcolumn:name="Client",type=string,JSONPath=".status.client"
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.
func (*Node) Default ¶
func (n *Node) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type
func (*Node) SetupWebhookWithManager ¶
SetupWebhookWithManager sets up the webook with a given controller manager
func (*Node) ValidateCreate ¶
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*Node) ValidateDelete ¶
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
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 { // Image is Filecoin node client image Image string `json:"image,omitempty"` // ExtraArgs is extra arguments to pass down to the cli ExtraArgs shared.ExtraArgs `json:"extraArgs,omitempty"` // Replicas is number of replicas // +kubebuilder:validation:Enum=0;1 Replicas *uint `json:"replicas,omitempty"` // API enables API server API bool `json:"api,omitempty"` // APIPort is API server listening port APIPort uint `json:"apiPort,omitempty"` // APIRequestTimeout is API request timeout in seconds APIRequestTimeout uint `json:"apiRequestTimeout,omitempty"` // DisableMetadataLog disables metadata log DisableMetadataLog bool `json:"disableMetadataLog,omitempty"` // P2PPort is p2p port P2PPort uint `json:"p2pPort,omitempty"` // Network is the Filecoin network the node will join and sync Network FilecoinNetwork `json:"network"` // IPFSPeerEndpoint is ipfs peer endpoint IPFSPeerEndpoint string `json:"ipfsPeerEndpoint,omitempty"` // IPFSOnlineMode sets ipfs online mode IPFSOnlineMode bool `json:"ipfsOnlineMode,omitempty"` // IPFSForRetrieval uses ipfs for retrieval IPFSForRetrieval bool `json:"ipfsForRetrieval,omitempty"` // Logging is logging verboisty level // +kubebuilder:validation:Enum=error;warn;info;debug Logging shared.VerbosityLevel `json:"logging,omitempty"` // Resources is node compute and storage resources shared.Resources `json:"resources,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 {
Client string `json:"client"`
}
NodeStatus defines the observed state of 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.