@@ -18,13 +18,10 @@ package main
18
18
19
19
import (
20
20
"context"
21
+ "errors"
21
22
"flag"
22
- "strings"
23
23
24
24
"github.com/ceph/cosi-driver-ceph/pkg/driver"
25
- "github.com/spf13/cobra"
26
- "github.com/spf13/pflag"
27
- "github.com/spf13/viper"
28
25
"k8s.io/klog/v2"
29
26
30
27
"sigs.k8s.io/container-object-storage-interface-provisioner-sidecar/pkg/provisioner"
@@ -33,57 +30,25 @@ import (
33
30
const provisionerName = "ceph.objectstorage.k8s.io"
34
31
35
32
var (
36
- driverAddress = "unix:///var/lib/cosi/cosi.sock"
37
- AccessKey = ""
38
- SecretKey = ""
39
- Endpoint = ""
33
+ driverAddress = flag .String ("driver-address" , "unix:///var/lib/cosi/cosi.sock" , "driver address for socket" )
34
+ driverPrefix = flag .String ("driver-prefix" , "" , "prefix for cosi driver, e.g. <prefix>.ceph.objectstorage.k8s.io" )
40
35
)
41
36
42
- var cmd = & cobra.Command {
43
- Use : "ceph-cosi-driver" ,
44
- Short : "Kubernetes COSI driver for Ceph RGW" ,
45
- SilenceErrors : true ,
46
- SilenceUsage : true ,
47
- RunE : func (cmd * cobra.Command , args []string ) error {
48
- return run (cmd .Context (), args )
49
- },
50
- DisableFlagsInUseLine : true ,
51
- }
52
-
53
37
func init () {
54
- viper .AutomaticEnv ()
55
- viper .SetEnvKeyReplacer (strings .NewReplacer ("-" , "_" ))
56
-
57
- flag .Set ("alsologtostderr" , "true" )
58
- kflags := flag .NewFlagSet ("klog" , flag .ExitOnError )
59
- klog .InitFlags (kflags )
60
-
61
- persistentFlags := cmd .PersistentFlags ()
62
- persistentFlags .AddGoFlagSet (kflags )
63
-
64
- stringFlag := persistentFlags .StringVarP
65
-
66
- stringFlag (& driverAddress ,
67
- "driver-addr" ,
68
- "d" ,
69
- driverAddress ,
70
- "path to unix domain socket where driver should listen" )
71
-
72
- viper .BindPFlags (cmd .PersistentFlags ())
73
- cmd .PersistentFlags ().VisitAll (func (f * pflag.Flag ) {
74
- if viper .IsSet (f .Name ) && viper .GetString (f .Name ) != "" {
75
- cmd .PersistentFlags ().Set (f .Name , viper .GetString (f .Name ))
76
- }
77
- })
38
+ klog .InitFlags (nil )
78
39
}
79
40
80
- func run (ctx context.Context , args []string ) error {
81
- identityServer , bucketProvisioner , err := driver .NewDriver (ctx , provisionerName )
41
+ func run (ctx context.Context ) error {
42
+ if * driverPrefix == "" {
43
+ return errors .New ("driver prefix is missing for ceph cosi driver deployment" )
44
+ }
45
+ driverName := * driverPrefix + "." + provisionerName
46
+ identityServer , bucketProvisioner , err := driver .NewDriver (ctx , driverName )
82
47
if err != nil {
83
48
return err
84
49
}
85
50
86
- server , err := provisioner .NewDefaultCOSIProvisionerServer (driverAddress ,
51
+ server , err := provisioner .NewDefaultCOSIProvisionerServer (* driverAddress ,
87
52
identityServer ,
88
53
bucketProvisioner )
89
54
if err != nil {
0 commit comments