Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { Commons *shared.Commons `yaml:"-"` // don't use this directly as configuration for a service Service Service `yaml:"-"` Tracing *Tracing `yaml:"tracing"` Log *Log `yaml:"log"` Debug Debug `yaml:"debug"` GRPC GRPCConfig `yaml:"grpc"` HTTP HTTPConfig `yaml:"http"` TokenManager *TokenManager `yaml:"token_manager"` Reva *Reva `yaml:"reva"` SkipUserGroupsInToken bool `` /* 162-byte string literal not displayed */ Driver string `yaml:"driver" env:"STORAGE_USERS_DRIVER" desc:"The storage driver which should be used by the service"` Drivers Drivers `yaml:"drivers"` DataServerURL string `` /* 197-byte string literal not displayed */ Events Events `yaml:"events"` MountID string `yaml:"mount_id" env:"STORAGE_USERS_MOUNT_ID" desc:"Mount ID of this storage."` ExposeDataServer bool `` /* 203-byte string literal not displayed */ ReadOnly bool `yaml:"readonly" env:"STORAGE_USERS_READ_ONLY" desc:"Set this storage to be read-only."` Supervised bool `yaml:"-"` Context context.Context `yaml:"-"` }
type Debug ¶
type Debug struct { Addr string `` /* 150-byte string literal not displayed */ Token string `yaml:"token" env:"STORAGE_USERS_DEBUG_TOKEN" desc:"Token to secure the metrics endpoint."` Pprof bool `yaml:"pprof" env:"STORAGE_USERS_DEBUG_PPROF" desc:"Enables pprof, which can be used for profiling."` Zpages bool `` /* 132-byte string literal not displayed */ }
type Drivers ¶
type Drivers struct { OCIS OCISDriver `yaml:"ocis"` S3NG S3NGDriver `yaml:"s3ng"` OwnCloudSQL OwnCloudSQLDriver `yaml:"owncloudsql"` S3 S3Driver `yaml:",omitempty"` // not supported by the oCIS product, therefore not part of docs EOS EOSDriver `yaml:",omitempty"` // not supported by the oCIS product, therefore not part of docs Local LocalDriver `yaml:",omitempty"` // not supported by the oCIS product, therefore not part of docs }
type EOSDriver ¶
type EOSDriver struct { // Root is the absolute path to the location of the data Root string `yaml:"root"` // ShadowNamespace for storing shadow data ShadowNamespace string `yaml:"shadow_namespace"` // UploadsNamespace for storing upload data UploadsNamespace string `yaml:"uploads_namespace"` // Location of the eos binary. // Default is /usr/bin/eos. EosBinary string `yaml:"eos_binary"` // Location of the xrdcopy binary. // Default is /usr/bin/xrdcopy. XrdcopyBinary string `yaml:"xrd_copy_binary"` // URL of the Master EOS MGM. // Default is root://eos-example.org MasterURL string `yaml:"master_url"` // URL of the Slave EOS MGM. // Default is root://eos-example.org SlaveURL string `yaml:"slave_url"` // Location on the local fs where to store reads. // Defaults to os.TempDir() CacheDirectory string `yaml:"cache_directory"` // SecProtocol specifies the xrootd security protocol to use between the server and EOS. SecProtocol string `yaml:"sec_protocol"` // Keytab specifies the location of the keytab to use to authenticate to EOS. Keytab string `yaml:"keytab"` // SingleUsername is the username to use when SingleUserMode is enabled SingleUsername string `yaml:"single_username"` // Enables logging of the commands executed // Defaults to false EnableLogging bool `yaml:"enable_logging"` // ShowHiddenSysFiles shows internal EOS files like // .sys.v# and .sys.a# files. ShowHiddenSysFiles bool `yaml:"shadow_hidden_files"` // ForceSingleUserMode will force connections to EOS to use SingleUsername ForceSingleUserMode bool `yaml:"force_single_user_mode"` // UseKeyTabAuth changes will authenticate requests by using an EOS keytab. UseKeytab bool `yaml:"user_keytab"` // gateway service to use for uid lookups GatewaySVC string `yaml:"gateway_svc"` //ShareFolder defines the name of the folder jailing all shares GRPCURI string UserLayout string }
type GRPCConfig ¶
type HTTPConfig ¶
type LocalDriver ¶
type Log ¶
type Log struct { Level string `` /* 172-byte string literal not displayed */ Pretty bool `yaml:"pretty" env:"OCIS_LOG_PRETTY;STORAGE_USERS_LOG_PRETTY" desc:"Activates pretty log output."` Color bool `yaml:"color" env:"OCIS_LOG_COLOR;STORAGE_USERS_LOG_COLOR" desc:"Activates colorized log output."` File string `` /* 126-byte string literal not displayed */ }
type OCISDriver ¶
type OCISDriver struct { // Root is the absolute path to the location of the data Root string `yaml:"root" env:"STORAGE_USERS_OCIS_ROOT" desc:"Path for the persistence directory."` UserLayout string `` /* 136-byte string literal not displayed */ PermissionsEndpoint string `` /* 151-byte string literal not displayed */ // PersonalSpaceAliasTemplate contains the template used to construct // the personal space alias, eg: `"{{.SpaceType}}/{{.User.Username | lower}}"` PersonalSpaceAliasTemplate string `` /* 149-byte string literal not displayed */ // GeneralSpaceAliasTemplate contains the template used to construct // the general space alias, eg: `{{.SpaceType}}/{{.SpaceName | replace " " "-" | lower}}` GeneralSpaceAliasTemplate string `` /* 146-byte string literal not displayed */ ShareFolder string `yaml:"share_folder" env:"STORAGE_USERS_OCIS_SHARE_FOLDER" desc:"Name of the folder jailing all shares."` }
type OwnCloudSQLDriver ¶
type OwnCloudSQLDriver struct { // Root is the absolute path to the location of the data Root string `yaml:"root" env:"STORAGE_USERS_OWNCLOUDSQL_DATADIR" desc:"Path for the persistence directory."` //ShareFolder defines the name of the folder jailing all shares UserLayout string `` /* 145-byte string literal not displayed */ UploadInfoDir string `` /* 139-byte string literal not displayed */ DBUsername string `yaml:"db_username" env:"STORAGE_USERS_OWNCLOUDSQL_DB_USERNAME" desc:"Username for the database."` DBPassword string `yaml:"db_password" env:"STORAGE_USERS_OWNCLOUDSQL_DB_PASSWORD" desc:"Password for the database."` DBHost string `yaml:"db_host" env:"STORAGE_USERS_OWNCLOUDSQL_DB_HOST" desc:"Hostname or IP of the database server."` DBPort int `yaml:"db_port" env:"STORAGE_USERS_OWNCLOUDSQL_DB_PORT" desc:"Port that the database server is listening on."` DBName string `yaml:"db_name" env:"STORAGE_USERS_OWNCLOUDSQL_DB_NAME" desc:"Name of the database to be used."` UsersProviderEndpoint string `yaml:"users_provider_endpoint" env:"STORAGE_USERS_OWNCLOUDSQL_USERS_PROVIDER_ENDPOINT" desc:"Endpoint of the users provider."` }
type Reva ¶
type Reva struct {
Address string `yaml:"address" env:"REVA_GATEWAY" desc:"The CS3 gateway endpoint."`
}
Reva defines all available REVA configuration.
type S3NGDriver ¶
type S3NGDriver struct { // Root is the absolute path to the location of the data Root string `yaml:"root" env:"STORAGE_USERS_S3NG_ROOT" desc:"Path for the persistence directory."` UserLayout string `` /* 136-byte string literal not displayed */ PermissionsEndpoint string `` /* 151-byte string literal not displayed */ Region string `yaml:"region" env:"STORAGE_USERS_S3NG_REGION" desc:"Region of the S3 bucket."` AccessKey string `yaml:"access_key" env:"STORAGE_USERS_S3NG_ACCESS_KEY" desc:"Access key for the S3 bucket."` SecretKey string `yaml:"secret_key" env:"STORAGE_USERS_S3NG_SECRET_KEY" desc:"Secret key for the S3 bucket."` Endpoint string `yaml:"endpoint" env:"STORAGE_USERS_S3NG_ENDPOINT" desc:"Endpoint for the S3 bucket."` Bucket string `yaml:"bucket" env:"STORAGE_USERS_S3NG_BUCKET" desc:"Name of the S3 bucket."` // PersonalSpaceAliasTemplate contains the template used to construct // the personal space alias, eg: `"{{.SpaceType}}/{{.User.Username | lower}}"` PersonalSpaceAliasTemplate string `` /* 149-byte string literal not displayed */ // GeneralSpaceAliasTemplate contains the template used to construct // the general space alias, eg: `{{.SpaceType}}/{{.SpaceName | replace " " "-" | lower}}` GeneralSpaceAliasTemplate string `` /* 146-byte string literal not displayed */ ShareFolder string `yaml:"share_folder" env:"STORAGE_USERS_S3NG_SHARE_FOLDER" desc:"Name of the folder jailing all shares."` }
type TokenManager ¶
type TokenManager struct {
JWTSecret string `yaml:"jwt_secret" env:"OCIS_JWT_SECRET;STORAGE_USERS_JWT_SECRET" desc:"The secret to mint and validate jwt tokens."`
}
TokenManager is the config for using the reva token manager
type Tracing ¶
type Tracing struct { Enabled bool `yaml:"enabled" env:"OCIS_TRACING_ENABLED;STORAGE_USERS_TRACING_ENABLED" desc:"Activates tracing."` Type string `` /* 198-byte string literal not displayed */ Endpoint string `yaml:"endpoint" env:"OCIS_TRACING_ENDPOINT;STORAGE_USERS_TRACING_ENDPOINT" desc:"The endpoint of the tracing agent."` Collector string `` /* 236-byte string literal not displayed */ }
Click to show internal directories.
Click to hide internal directories.