v1alpha1

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Apr 27, 2024 License: Apache-2.0 Imports: 11 Imported by: 5

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the filecoin v1alpha1 API group +kubebuilder:object:generate=true +groupName=filecoin.kotal.io

Index

Constants

View Source
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"
)
View Source
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

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

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.

func (*Node) Default

func (n *Node) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*Node) SetupWebhookWithManager

func (n *Node) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager sets up the webook with a given controller manager

func (*Node) ValidateCreate

func (n *Node) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*Node) ValidateDelete

func (n *Node) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*Node) ValidateUpdate

func (n *Node) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate 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

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 {
	// 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

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 {
	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.

Jump to

Keyboard shortcuts

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