in cmd/mount.go [731:815]
func init() {
rootCmd.AddCommand(mountCmd)
options = mountOptions{}
mountCmd.AddCommand(mountListCmd)
mountCmd.AddCommand(mountAllCmd)
mountCmd.PersistentFlags().StringVar(&options.ConfigFile, "config-file", "",
"Configures the path for the file where the account credentials are provided. Default is config.yaml in current directory.")
_ = mountCmd.MarkPersistentFlagFilename("config-file", "yaml")
mountCmd.PersistentFlags().BoolVar(&options.SecureConfig, "secure-config", false,
"Encrypt auto generated config file for each container")
mountCmd.PersistentFlags().StringVar(&options.PassPhrase, "passphrase", "",
"Key to decrypt config file. Can also be specified by env-variable BLOBFUSE2_SECURE_CONFIG_PASSPHRASE.\nKey length shall be 16 (AES-128), 24 (AES-192), or 32 (AES-256) bytes in length.")
mountCmd.PersistentFlags().String("log-type", "syslog", "Type of logger to be used by the system. Set to syslog by default. Allowed values are silent|syslog|base.")
config.BindPFlag("logging.type", mountCmd.PersistentFlags().Lookup("log-type"))
_ = mountCmd.RegisterFlagCompletionFunc("log-type", func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) {
return []string{"silent", "base", "syslog"}, cobra.ShellCompDirectiveNoFileComp
})
mountCmd.PersistentFlags().String("log-level", "LOG_WARNING",
"Enables logs written to syslog. Set to LOG_WARNING by default. Allowed values are LOG_OFF|LOG_CRIT|LOG_ERR|LOG_WARNING|LOG_INFO|LOG_DEBUG")
config.BindPFlag("logging.level", mountCmd.PersistentFlags().Lookup("log-level"))
_ = mountCmd.RegisterFlagCompletionFunc("log-level", func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) {
return []string{"LOG_OFF", "LOG_CRIT", "LOG_ERR", "LOG_WARNING", "LOG_INFO", "LOG_TRACE", "LOG_DEBUG"}, cobra.ShellCompDirectiveNoFileComp
})
mountCmd.PersistentFlags().String("log-file-path",
common.DefaultLogFilePath, "Configures the path for log files. Default is "+common.DefaultLogFilePath)
config.BindPFlag("logging.file-path", mountCmd.PersistentFlags().Lookup("log-file-path"))
_ = mountCmd.MarkPersistentFlagDirname("log-file-path")
mountCmd.PersistentFlags().Bool("foreground", false, "Mount the system in foreground mode. Default value false.")
config.BindPFlag("foreground", mountCmd.PersistentFlags().Lookup("foreground"))
mountCmd.PersistentFlags().Bool("read-only", false, "Mount the system in read only mode. Default value false.")
config.BindPFlag("read-only", mountCmd.PersistentFlags().Lookup("read-only"))
mountCmd.PersistentFlags().Bool("lazy-write", false, "Async write to storage container after file handle is closed.")
config.BindPFlag("lazy-write", mountCmd.PersistentFlags().Lookup("lazy-write"))
mountCmd.PersistentFlags().String("default-working-dir", "", "Default working directory for storing log files and other blobfuse2 information")
mountCmd.PersistentFlags().Lookup("default-working-dir").Hidden = true
config.BindPFlag("default-working-dir", mountCmd.PersistentFlags().Lookup("default-working-dir"))
_ = mountCmd.MarkPersistentFlagDirname("default-working-dir")
mountCmd.Flags().BoolVar(&options.Streaming, "streaming", false, "Enable Streaming.")
config.BindPFlag("streaming", mountCmd.Flags().Lookup("streaming"))
mountCmd.Flags().Lookup("streaming").Hidden = true
mountCmd.Flags().BoolVar(&options.BlockCache, "block-cache", false, "Enable Block-Cache.")
config.BindPFlag("block-cache", mountCmd.Flags().Lookup("block-cache"))
mountCmd.Flags().BoolVar(&options.Preload, "preload", false, "Enable Preload, to start downloading all files from container on mount.")
config.BindPFlag("preload", mountCmd.Flags().Lookup("preload"))
mountCmd.Flags().BoolVar(&options.AttrCache, "use-attr-cache", true, "Use attribute caching.")
config.BindPFlag("use-attr-cache", mountCmd.Flags().Lookup("use-attr-cache"))
mountCmd.Flags().Bool("invalidate-on-sync", true, "Invalidate file/dir on sync/fsync.")
config.BindPFlag("invalidate-on-sync", mountCmd.Flags().Lookup("invalidate-on-sync"))
mountCmd.Flags().Lookup("invalidate-on-sync").Hidden = true
mountCmd.Flags().Bool("pre-mount-validate", true, "Validate blobfuse2 is mounted.")
config.BindPFlag("pre-mount-validate", mountCmd.Flags().Lookup("pre-mount-validate"))
mountCmd.Flags().Lookup("pre-mount-validate").Hidden = true
mountCmd.Flags().Bool("basic-remount-check", true, "Validate blobfuse2 is mounted by reading /etc/mtab.")
config.BindPFlag("basic-remount-check", mountCmd.Flags().Lookup("basic-remount-check"))
mountCmd.Flags().Lookup("basic-remount-check").Hidden = true
mountCmd.PersistentFlags().StringSliceVarP(&options.LibfuseOptions, "o", "o", []string{}, "FUSE options.")
config.BindPFlag("libfuse-options", mountCmd.PersistentFlags().ShorthandLookup("o"))
mountCmd.PersistentFlags().ShorthandLookup("o").Hidden = true
mountCmd.PersistentFlags().DurationVar(&options.WaitForMount, "wait-for-mount", 5*time.Second, "Let parent process wait for given timeout before exit")
config.AttachToFlagSet(mountCmd.PersistentFlags())
config.AttachFlagCompletions(mountCmd)
config.AddConfigChangeEventListener(config.ConfigChangeEventHandlerFunc(OnConfigChange))
}