mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-01-05 19:59:37 -06:00
442 lines
14 KiB
Go
442 lines
14 KiB
Go
package config
|
|
|
|
import (
|
|
"os"
|
|
"path"
|
|
|
|
"github.com/owncloud/ocis/ocis-pkg/config/defaults"
|
|
)
|
|
|
|
const (
|
|
defaultPublicURL = "https://localhost:9200"
|
|
defaultShareFolder = "/Shares"
|
|
defaultStorageNamespace = "/users/{{.Id.OpaqueId}}"
|
|
defaultGatewayAddr = "127.0.0.1:9142"
|
|
defaultUserLayout = "{{.Id.OpaqueId}}"
|
|
defaultServiceUserUUID = "95cb8724-03b2-11eb-a0a6-c33ef8ef53ad"
|
|
)
|
|
|
|
func DefaultConfig() *Config {
|
|
return &Config{
|
|
// log is inherited
|
|
Debug: Debug{
|
|
Addr: "127.0.0.1:9109",
|
|
},
|
|
Reva: Reva{
|
|
JWTSecret: "Pive-Fumkiu4",
|
|
SkipUserGroupsInToken: false,
|
|
TransferSecret: "replace-me-with-a-transfer-secret",
|
|
TransferExpires: 24 * 60 * 60,
|
|
OIDC: OIDC{
|
|
Issuer: defaultPublicURL,
|
|
Insecure: false,
|
|
IDClaim: "preferred_username",
|
|
},
|
|
LDAP: LDAP{
|
|
Hostname: "localhost",
|
|
Port: 9126,
|
|
CACert: path.Join(defaults.BaseDataPath(), "ldap", "ldap.crt"),
|
|
Insecure: false,
|
|
BaseDN: "dc=ocis,dc=test",
|
|
LoginFilter: "(&(objectclass=posixAccount)(|(cn={{login}})(mail={{login}})))",
|
|
UserFilter: "(&(objectclass=posixAccount)(|(ownclouduuid={{.OpaqueId}})(cn={{.OpaqueId}})))",
|
|
UserAttributeFilter: "(&(objectclass=posixAccount)({{attr}}={{value}}))",
|
|
UserFindFilter: "(&(objectclass=posixAccount)(|(cn={{query}}*)(displayname={{query}}*)(mail={{query}}*)))",
|
|
UserGroupFilter: "(&(objectclass=posixGroup)(cn={{query}}*))",
|
|
GroupFilter: "(&(objectclass=posixGroup)(|(ownclouduuid={{.OpaqueId}})(cn={{.OpaqueId}})))",
|
|
GroupAttributeFilter: "(&(objectclass=posixGroup)({{attr}}={{value}}))",
|
|
GroupFindFilter: "(&(objectclass=posixGroup)(|(cn={{query}}*)(displayname={{query}}*)(mail={{query}}*)))",
|
|
GroupMemberFilter: "(&(objectclass=posixAccount)(ownclouduuid={{.OpaqueId}}*))",
|
|
BindDN: "cn=reva,ou=sysusers,dc=ocis,dc=test",
|
|
BindPassword: "reva",
|
|
IDP: defaultPublicURL,
|
|
UserSchema: LDAPUserSchema{
|
|
UID: "ownclouduuid",
|
|
Mail: "mail",
|
|
DisplayName: "displayname",
|
|
CN: "cn",
|
|
UIDNumber: "uidnumber",
|
|
GIDNumber: "gidnumber",
|
|
},
|
|
GroupSchema: LDAPGroupSchema{
|
|
GID: "cn",
|
|
Mail: "mail",
|
|
DisplayName: "cn",
|
|
CN: "cn",
|
|
GIDNumber: "gidnumber",
|
|
},
|
|
},
|
|
UserGroupRest: UserGroupRest{
|
|
RedisAddress: "localhost:6379",
|
|
},
|
|
UserOwnCloudSQL: UserOwnCloudSQL{
|
|
DBUsername: "owncloud",
|
|
DBPassword: "secret",
|
|
DBHost: "mysql",
|
|
DBPort: 3306,
|
|
DBName: "owncloud",
|
|
Idp: defaultPublicURL,
|
|
Nobody: 90,
|
|
JoinUsername: false,
|
|
JoinOwnCloudUUID: false,
|
|
EnableMedialSearch: false,
|
|
},
|
|
OCDav: OCDav{
|
|
WebdavNamespace: defaultStorageNamespace,
|
|
DavFilesNamespace: defaultStorageNamespace,
|
|
},
|
|
Archiver: Archiver{
|
|
MaxNumFiles: 10000,
|
|
MaxSize: 1073741824,
|
|
ArchiverURL: "/archiver",
|
|
},
|
|
UserStorage: StorageConfig{
|
|
EOS: DriverEOS{
|
|
DriverCommon: DriverCommon{
|
|
Root: "/eos/dockertest/reva",
|
|
ShareFolder: defaultShareFolder,
|
|
UserLayout: "{{substr 0 1 .Username}}/{{.Username}}",
|
|
},
|
|
ShadowNamespace: "", // Defaults to path.Join(c.Namespace, ".shadow")
|
|
UploadsNamespace: "", // Defaults to path.Join(c.Namespace, ".uploads")
|
|
EosBinary: "/usr/bin/eos",
|
|
XrdcopyBinary: "/usr/bin/xrdcopy",
|
|
MasterURL: "root://eos-mgm1.eoscluster.cern.ch:1094",
|
|
SlaveURL: "root://eos-mgm1.eoscluster.cern.ch:1094",
|
|
CacheDirectory: os.TempDir(),
|
|
GatewaySVC: defaultGatewayAddr,
|
|
},
|
|
Local: DriverCommon{
|
|
Root: path.Join(defaults.BaseDataPath(), "storage", "local", "users"),
|
|
ShareFolder: defaultShareFolder,
|
|
UserLayout: "{{.Username}}",
|
|
EnableHome: false,
|
|
},
|
|
OwnCloudSQL: DriverOwnCloudSQL{
|
|
DriverCommon: DriverCommon{
|
|
Root: path.Join(defaults.BaseDataPath(), "storage", "owncloud"),
|
|
ShareFolder: defaultShareFolder,
|
|
UserLayout: "{{.Username}}",
|
|
EnableHome: false,
|
|
},
|
|
UploadInfoDir: path.Join(defaults.BaseDataPath(), "storage", "uploadinfo"),
|
|
DBUsername: "owncloud",
|
|
DBPassword: "owncloud",
|
|
DBHost: "",
|
|
DBPort: 3306,
|
|
DBName: "owncloud",
|
|
},
|
|
S3: DriverS3{
|
|
DriverCommon: DriverCommon{},
|
|
Region: "default",
|
|
AccessKey: "",
|
|
SecretKey: "",
|
|
Endpoint: "",
|
|
Bucket: "",
|
|
},
|
|
S3NG: DriverS3NG{
|
|
DriverCommon: DriverCommon{
|
|
Root: path.Join(defaults.BaseDataPath(), "storage", "users"),
|
|
ShareFolder: defaultShareFolder,
|
|
UserLayout: defaultUserLayout,
|
|
EnableHome: false,
|
|
},
|
|
ServiceUserUUID: defaultServiceUserUUID,
|
|
Region: "default",
|
|
AccessKey: "",
|
|
SecretKey: "",
|
|
Endpoint: "",
|
|
Bucket: "",
|
|
},
|
|
OCIS: DriverOCIS{
|
|
DriverCommon: DriverCommon{
|
|
Root: path.Join(defaults.BaseDataPath(), "storage", "users"),
|
|
ShareFolder: defaultShareFolder,
|
|
UserLayout: defaultUserLayout,
|
|
},
|
|
ServiceUserUUID: defaultServiceUserUUID,
|
|
},
|
|
},
|
|
MetadataStorage: StorageConfig{
|
|
EOS: DriverEOS{
|
|
DriverCommon: DriverCommon{
|
|
Root: "/eos/dockertest/reva",
|
|
ShareFolder: defaultShareFolder,
|
|
UserLayout: "{{substr 0 1 .Username}}/{{.Username}}",
|
|
EnableHome: false,
|
|
},
|
|
ShadowNamespace: "",
|
|
UploadsNamespace: "",
|
|
EosBinary: "/usr/bin/eos",
|
|
XrdcopyBinary: "/usr/bin/xrdcopy",
|
|
MasterURL: "root://eos-mgm1.eoscluster.cern.ch:1094",
|
|
GrpcURI: "",
|
|
SlaveURL: "root://eos-mgm1.eoscluster.cern.ch:1094",
|
|
CacheDirectory: os.TempDir(),
|
|
EnableLogging: false,
|
|
ShowHiddenSysFiles: false,
|
|
ForceSingleUserMode: false,
|
|
UseKeytab: false,
|
|
SecProtocol: "",
|
|
Keytab: "",
|
|
SingleUsername: "",
|
|
GatewaySVC: defaultGatewayAddr,
|
|
},
|
|
Local: DriverCommon{
|
|
Root: path.Join(defaults.BaseDataPath(), "storage", "local", "metadata"),
|
|
},
|
|
OwnCloudSQL: DriverOwnCloudSQL{},
|
|
S3: DriverS3{
|
|
DriverCommon: DriverCommon{},
|
|
Region: "default",
|
|
},
|
|
S3NG: DriverS3NG{
|
|
DriverCommon: DriverCommon{
|
|
Root: path.Join(defaults.BaseDataPath(), "storage", "metadata"),
|
|
ShareFolder: "",
|
|
UserLayout: defaultUserLayout,
|
|
EnableHome: false,
|
|
},
|
|
ServiceUserUUID: defaultServiceUserUUID,
|
|
Region: "default",
|
|
AccessKey: "",
|
|
SecretKey: "",
|
|
Endpoint: "",
|
|
Bucket: "",
|
|
},
|
|
OCIS: DriverOCIS{
|
|
DriverCommon: DriverCommon{
|
|
Root: path.Join(defaults.BaseDataPath(), "storage", "metadata"),
|
|
ShareFolder: "",
|
|
UserLayout: defaultUserLayout,
|
|
EnableHome: false,
|
|
},
|
|
ServiceUserUUID: defaultServiceUserUUID,
|
|
},
|
|
},
|
|
Frontend: FrontendPort{
|
|
Port: Port{
|
|
MaxCPUs: "",
|
|
LogLevel: "",
|
|
GRPCNetwork: "",
|
|
GRPCAddr: "",
|
|
HTTPNetwork: "tcp",
|
|
HTTPAddr: "127.0.0.1:9140",
|
|
Protocol: "",
|
|
Endpoint: "",
|
|
DebugAddr: "127.0.0.1:9141",
|
|
Services: []string{"datagateway", "ocdav", "ocs", "appprovider"},
|
|
Config: nil,
|
|
Context: nil,
|
|
Supervised: false,
|
|
},
|
|
AppProviderInsecure: false,
|
|
AppProviderPrefix: "",
|
|
ArchiverInsecure: false,
|
|
ArchiverPrefix: "archiver",
|
|
DatagatewayPrefix: "data",
|
|
Favorites: false,
|
|
ProjectSpaces: true,
|
|
OCDavInsecure: false, // true?
|
|
OCDavPrefix: "",
|
|
OCSPrefix: "ocs",
|
|
OCSSharePrefix: defaultShareFolder,
|
|
OCSHomeNamespace: defaultStorageNamespace,
|
|
PublicURL: defaultPublicURL,
|
|
OCSCacheWarmupDriver: "",
|
|
OCSAdditionalInfoAttribute: "{{.Mail}}",
|
|
OCSResourceInfoCacheTTL: 0,
|
|
Middleware: Middleware{},
|
|
},
|
|
DataGateway: DataGatewayPort{
|
|
Port: Port{},
|
|
PublicURL: "",
|
|
},
|
|
Gateway: Gateway{
|
|
Port: Port{
|
|
Endpoint: defaultGatewayAddr,
|
|
DebugAddr: "127.0.0.1:9143",
|
|
GRPCNetwork: "tcp",
|
|
GRPCAddr: defaultGatewayAddr,
|
|
},
|
|
CommitShareToStorageGrant: true,
|
|
CommitShareToStorageRef: true,
|
|
DisableHomeCreationOnLogin: false,
|
|
ShareFolder: "Shares",
|
|
LinkGrants: "",
|
|
HomeMapping: "",
|
|
EtagCacheTTL: 0,
|
|
},
|
|
StorageRegistry: StorageRegistry{
|
|
Driver: "spaces",
|
|
HomeProvider: "/home", // unused for spaces, static currently not supported
|
|
JSON: "",
|
|
},
|
|
AppRegistry: AppRegistry{
|
|
Driver: "static",
|
|
MimetypesJSON: "",
|
|
},
|
|
Users: Users{
|
|
Port: Port{
|
|
Endpoint: "localhost:9144",
|
|
DebugAddr: "127.0.0.1:9145",
|
|
GRPCNetwork: "tcp",
|
|
GRPCAddr: "127.0.0.1:9144",
|
|
Services: []string{"userprovider"},
|
|
},
|
|
Driver: "ldap",
|
|
UserGroupsCacheExpiration: 5,
|
|
},
|
|
Groups: Groups{
|
|
Port: Port{
|
|
Endpoint: "localhost:9160",
|
|
DebugAddr: "127.0.0.1:9161",
|
|
GRPCNetwork: "tcp",
|
|
GRPCAddr: "127.0.0.1:9160",
|
|
Services: []string{"groupprovider"},
|
|
},
|
|
Driver: "ldap",
|
|
GroupMembersCacheExpiration: 5,
|
|
},
|
|
AuthProvider: Users{
|
|
Port: Port{},
|
|
Driver: "ldap",
|
|
UserGroupsCacheExpiration: 0,
|
|
},
|
|
AuthBasic: Port{
|
|
GRPCNetwork: "tcp",
|
|
GRPCAddr: "127.0.0.1:9146",
|
|
DebugAddr: "127.0.0.1:9147",
|
|
Services: []string{"authprovider"},
|
|
Endpoint: "localhost:9146",
|
|
},
|
|
AuthBearer: Port{
|
|
GRPCNetwork: "tcp",
|
|
GRPCAddr: "127.0.0.1:9148",
|
|
DebugAddr: "127.0.0.1:9149",
|
|
Services: []string{"authprovider"},
|
|
Endpoint: "localhost:9148",
|
|
},
|
|
AuthMachine: Port{
|
|
GRPCNetwork: "tcp",
|
|
GRPCAddr: "127.0.0.1:9166",
|
|
DebugAddr: "127.0.0.1:9167",
|
|
Services: []string{"authprovider"},
|
|
Endpoint: "localhost:9166",
|
|
},
|
|
AuthMachineConfig: AuthMachineConfig{
|
|
MachineAuthAPIKey: "change-me-please",
|
|
},
|
|
Sharing: Sharing{
|
|
Port: Port{
|
|
Endpoint: "localhost:9150",
|
|
DebugAddr: "127.0.0.1:9151",
|
|
GRPCNetwork: "tcp",
|
|
GRPCAddr: "127.0.0.1:9150",
|
|
Services: []string{"usershareprovider", "publicshareprovider"},
|
|
},
|
|
UserDriver: "json",
|
|
UserJSONFile: path.Join(defaults.BaseDataPath(), "storage", "shares.json"),
|
|
UserSQLUsername: "",
|
|
UserSQLPassword: "",
|
|
UserSQLHost: "",
|
|
UserSQLPort: 1433,
|
|
UserSQLName: "",
|
|
PublicDriver: "json",
|
|
PublicJSONFile: path.Join(defaults.BaseDataPath(), "storage", "publicshares.json"),
|
|
PublicPasswordHashCost: 11,
|
|
PublicEnableExpiredSharesCleanup: true,
|
|
PublicJanitorRunInterval: 60,
|
|
UserStorageMountID: "",
|
|
Events: Events{
|
|
Address: "127.0.0.1:9233",
|
|
ClusterID: "test-cluster",
|
|
},
|
|
},
|
|
StorageShares: StoragePort{
|
|
Port: Port{
|
|
Endpoint: "localhost:9154",
|
|
DebugAddr: "127.0.0.1:9156",
|
|
GRPCNetwork: "tcp",
|
|
GRPCAddr: "127.0.0.1:9154",
|
|
HTTPNetwork: "tcp",
|
|
HTTPAddr: "127.0.0.1:9155",
|
|
},
|
|
ReadOnly: false,
|
|
AlternativeID: "1284d238-aa92-42ce-bdc4-0b0000009154",
|
|
MountID: "1284d238-aa92-42ce-bdc4-0b0000009157",
|
|
},
|
|
StorageUsers: StoragePort{
|
|
Port: Port{
|
|
Endpoint: "localhost:9157",
|
|
DebugAddr: "127.0.0.1:9159",
|
|
GRPCNetwork: "tcp",
|
|
GRPCAddr: "127.0.0.1:9157",
|
|
HTTPNetwork: "tcp",
|
|
HTTPAddr: "127.0.0.1:9158",
|
|
},
|
|
MountID: "1284d238-aa92-42ce-bdc4-0b0000009157",
|
|
Driver: "ocis",
|
|
DataServerURL: "http://localhost:9158/data",
|
|
HTTPPrefix: "data",
|
|
TempFolder: path.Join(defaults.BaseDataPath(), "tmp", "users"),
|
|
},
|
|
StoragePublicLink: PublicStorage{
|
|
StoragePort: StoragePort{
|
|
Port: Port{
|
|
Endpoint: "localhost:9178",
|
|
DebugAddr: "127.0.0.1:9179",
|
|
GRPCNetwork: "tcp",
|
|
GRPCAddr: "127.0.0.1:9178",
|
|
},
|
|
MountID: "7993447f-687f-490d-875c-ac95e89a62a4",
|
|
},
|
|
PublicShareProviderAddr: "",
|
|
UserProviderAddr: "",
|
|
},
|
|
StorageMetadata: StoragePort{
|
|
Port: Port{
|
|
GRPCNetwork: "tcp",
|
|
GRPCAddr: "127.0.0.1:9215",
|
|
HTTPNetwork: "tcp",
|
|
HTTPAddr: "127.0.0.1:9216",
|
|
DebugAddr: "127.0.0.1:9217",
|
|
},
|
|
Driver: "ocis",
|
|
ExposeDataServer: false,
|
|
DataServerURL: "http://localhost:9216/data",
|
|
TempFolder: path.Join(defaults.BaseDataPath(), "tmp", "metadata"),
|
|
DataProvider: DataProvider{},
|
|
},
|
|
AppProvider: AppProvider{
|
|
Port: Port{
|
|
GRPCNetwork: "tcp",
|
|
GRPCAddr: "127.0.0.1:9164",
|
|
DebugAddr: "127.0.0.1:9165",
|
|
Endpoint: "localhost:9164",
|
|
Services: []string{"appprovider"},
|
|
},
|
|
ExternalAddr: "127.0.0.1:9164",
|
|
WopiDriver: WopiDriver{},
|
|
AppsURL: "/app/list",
|
|
OpenURL: "/app/open",
|
|
NewURL: "/app/new",
|
|
},
|
|
Permissions: Port{
|
|
Endpoint: "localhost:9191",
|
|
},
|
|
Configs: nil,
|
|
UploadMaxChunkSize: 1e+8,
|
|
UploadHTTPMethodOverride: "",
|
|
ChecksumSupportedTypes: []string{"sha1", "md5", "adler32"},
|
|
ChecksumPreferredUploadType: "",
|
|
DefaultUploadProtocol: "tus",
|
|
},
|
|
Tracing: Tracing{
|
|
Service: "storage",
|
|
Type: "jaeger",
|
|
},
|
|
Asset: Asset{},
|
|
}
|
|
}
|