You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
754 B
Go
37 lines
754 B
Go
// Copyright (c) Vitaliy Filippov, 2019+
|
|
// License: VNPL-1.1 or GNU GPL-2.0+ (see README.md for details)
|
|
|
|
package vitastor
|
|
|
|
import (
|
|
"k8s.io/klog"
|
|
)
|
|
|
|
type Driver struct
|
|
{
|
|
*Config
|
|
}
|
|
|
|
// NewDriver create new instance driver
|
|
func NewDriver(config *Config) (*Driver, error)
|
|
{
|
|
if (config == nil)
|
|
{
|
|
klog.Errorf("Vitastor CSI driver initialization failed")
|
|
return nil, nil
|
|
}
|
|
driver := &Driver{
|
|
Config: config,
|
|
}
|
|
klog.Infof("Vitastor CSI driver initialized")
|
|
return driver, nil
|
|
}
|
|
|
|
// Start server
|
|
func (driver *Driver) Run()
|
|
{
|
|
server := NewNonBlockingGRPCServer()
|
|
server.Start(driver.Endpoint, NewIdentityServer(driver), NewControllerServer(driver), NewNodeServer(driver))
|
|
server.Wait()
|
|
}
|