@@ -16,12 +16,14 @@ package main
16
16
import (
17
17
"context"
18
18
"flag"
19
+ "strings"
19
20
20
21
"github.com/spf13/cobra"
22
+ "github.com/spf13/pflag"
21
23
"github.com/spf13/viper"
22
24
25
+ "sigs.k8s.io/container-object-storage-interface-provisioner-sidecar/cmd/minio-cosi-driver/internal"
23
26
"sigs.k8s.io/container-object-storage-interface-provisioner-sidecar/pkg/provisioner"
24
- "sigs.k8s.io/container-object-storage-interface-provisioner-sidecar/pkg/sampledriver"
25
27
26
28
"k8s.io/klog/v2"
27
29
)
@@ -30,6 +32,10 @@ const provisionerName = "minio.objectstorage.k8s.io"
30
32
31
33
var (
32
34
driverAddress = "unix:///var/lib/cosi/cosi.sock"
35
+
36
+ minioAccessKey = ""
37
+ minioSecretKey = ""
38
+ minioHost = ""
33
39
)
34
40
35
41
var cmd = & cobra.Command {
@@ -45,6 +51,7 @@ var cmd = &cobra.Command{
45
51
46
52
func init () {
47
53
viper .AutomaticEnv ()
54
+ viper .SetEnvKeyReplacer (strings .NewReplacer ("-" , "_" ))
48
55
49
56
flag .Set ("alsologtostderr" , "true" )
50
57
kflags := flag .NewFlagSet ("klog" , flag .ExitOnError )
@@ -54,18 +61,52 @@ func init() {
54
61
persistentFlags .AddGoFlagSet (kflags )
55
62
56
63
stringFlag := persistentFlags .StringVarP
64
+
57
65
stringFlag (& driverAddress ,
58
66
"driver-addr" ,
59
67
"d" ,
60
68
driverAddress ,
61
69
"path to unix domain socket where driver should listen" )
62
70
71
+ stringFlag (& minioHost ,
72
+ "minio-host" ,
73
+ "m" ,
74
+ minioHost ,
75
+ "endpoint where minio server is listening" )
76
+
77
+ stringFlag (& minioAccessKey ,
78
+ "minio-access-key" ,
79
+ "a" ,
80
+ minioAccessKey ,
81
+ "access key for minio" )
82
+
83
+ stringFlag (& minioSecretKey ,
84
+ "minio-secret-key" ,
85
+ "s" ,
86
+ minioSecretKey ,
87
+ "secret key for minio" )
88
+
63
89
viper .BindPFlags (cmd .PersistentFlags ())
90
+ cmd .PersistentFlags ().VisitAll (func (f * pflag.Flag ) {
91
+ if viper .IsSet (f .Name ) && viper .GetString (f .Name ) != "" {
92
+ cmd .PersistentFlags ().Set (f .Name , viper .GetString (f .Name ))
93
+ }
94
+ })
64
95
}
65
96
66
97
func run (ctx context.Context , args []string ) error {
67
- identityServer , bucketProvisioner := sampledriver .NewDriver (provisionerName )
68
- server , err := provisioner .NewDefaultCOSIProvisionerServer (driverAddress , identityServer , bucketProvisioner )
98
+ identityServer , bucketProvisioner , err := internal .NewDriver (ctx ,
99
+ provisionerName ,
100
+ minioHost ,
101
+ minioAccessKey ,
102
+ minioSecretKey )
103
+ if err != nil {
104
+ return err
105
+ }
106
+
107
+ server , err := provisioner .NewDefaultCOSIProvisionerServer (driverAddress ,
108
+ identityServer ,
109
+ bucketProvisioner )
69
110
if err != nil {
70
111
return err
71
112
}
0 commit comments