cluster

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Apr 22, 2021 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// AppAttr app label
	AppAttr = "app.kubernetes.io/name"
	// ClusterAttr cluster label
	ClusterAttr = "topolvm_cluster"

	NodeNameEnv      = "NODE_NAME"
	ClusterNameEnv   = "CLUSTER_NAME"
	PodNameSpaceEnv  = "POD_NAMESPACE"
	IsOperatorHubEnv = "IS_OPERATOR_HUB"
	PodNameEnv       = "POD_NAME"
	LogLevelEnv      = "TOPOLVM_LOG_LEVEL"

	TopolvmNodeDeploymentNamePrefix = "topolvm-node-"
	NodeServiceAccount              = "topolvm-node"
	TopolvmNodeDeploymentLabelName  = "topolvm-node"

	LvmdConfigMapNamePrefix = "lvmdconfig"
	LvmdConfigMapFmt        = "lvmdconfig-%s"
	LvmdConfigMapLabelKey   = "topolvm/lvmdconfig"
	LvmdConfigMapLabelValue = "lvmdconfig"
	LvmdConfigMapKey        = "lvmd.yaml"
	VgStatusConfigMapKey    = "status.json"
	LvmdAnnotationsNodeKey  = "node-name"
	LvmdSocketPath          = "/run/topolvm/lvmd.sock"

	ContollerServiceAccount = "topolvm-controller"
	LvmdContainerName       = "lvmd"
	NodeContainerName       = "topolvm-node"

	CsiRegistrarContainerName = "csi-registrar"

	TopolvmControllerDeploymentName      = "topolvm-controller"
	TopolvmControllerContainerName       = "topolvm-controller"
	TopolvmControllerSecrectsName        = "topolvm-mutatingwebhook"
	TopolvmCsiResizerContainerName       = "csi-resizer"
	TopolvmCsiAttacherContainerName      = "csi-attacher"
	TopolvmCsiProvisionerContainerName   = "csi-provisioner"
	TopolvmCsiLivenessProbeContainerName = "liveness-probe"

	TopolvmControllerContainerHealthzName   = "healthz"
	TopolvmNodeContainerHealthzName         = "healthz"
	TopolvmControllerContainerLivenessPort  = int32(9808)
	TopolvmControllerContainerReadinessPort = int32(8080)

	TopolvmNodeMemRequest = "250Mi"
	TopolvmNodeMemLimit   = "250Mi"
	TopolvmNodeCPURequest = "250m"
	TopolvmNodeCPULimit   = "250m"

	TopolvmControllerMemRequest = "250Mi"
	TopolvmControllerMemLimit   = "250Mi"
	TopolvmControllerCPURequest = "250m"
	TopolvmControllerCPULimit   = "250m"

	PrepareVgServiceAccount = "topolvm-preparevg"
	PrePareVgAppName        = "prepareVolumeGroup"
	PrepareVgJobFmt         = "topolvm-prepare-vg-%s"
	PrePareVgContainerName  = "preparevg"
	PrePareVgJobLogLevel    = "DEBUG"

	TopolvmNodePsp      = "topolvm-node"
	TopolvmPrepareVgPsp = "topolvm-preparevg"

	TopolvmCSIDriverName = "topolvm.cybozu.com"
	IsOperator           = "1"
)

Variables

View Source
var (
	TopolvmImage  string
	NameSpace     string
	ClusterName   string
	IsOperatorHub string
)
View Source
var (
	LogLevelRaw string
	Cfg         = &Config{}
)

Functions

func SetLogLevel

func SetLogLevel()

SetLogLevel set log level based on provided log option.

func TerminateFatal

func TerminateFatal(reason error)

TerminateFatal terminates the process with an exit code of 1 and writes the given reason to stderr and the termination log file.

func TerminateOnError

func TerminateOnError(err error, msg string)

TerminateOnError terminates if err is not nil

Types

type Config

type Config struct {
	LogLevel capnslog.LogLevel
}

type Context

type Context struct {

	// The kubernetes config used for this context
	KubeConfig *rest.Config

	// Clientset is a connection to the core kubernetes API
	Clientset kubernetes.Interface

	Client client.Client

	// APIExtensionClientset is a connection to the API Extension kubernetes API
	APIExtensionClientset apiextensionsclient.Interface

	// The implementation of executing a console command
	Executor exec.Executor

	// A value indicating the desired logging/tracing level
	LogLevel capnslog.LogLevel
}

func NewContext

func NewContext() *Context

type DeviceClass

type DeviceClass struct {
	Name        string `yaml:"name"`
	VolumeGroup string `yaml:"volume-group"`
	SpareGb     uint64 `yaml:"spare-gb,omitempty"`
	Default     bool   `yaml:"default"`
	Stripe      uint   `yaml:"stripe,omitempty"`
	StripeSize  string `yaml:"stripe-size,omitempty"`
}

type LmvdConf

type LmvdConf struct {
	SocketName    string        `yaml:"socket-name"`
	DeviceClasses []DeviceClass `yaml:"device-classes"`
}

Jump to

Keyboard shortcuts

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