package config import ( "path" "github.com/owncloud/ocis/ocis-pkg/config/defaults" ) func DefaultConfig() *Config { return &Config{ Debug: Debug{ Addr: "127.0.0.1:9205", Token: "", }, HTTP: HTTP{ Addr: "0.0.0.0:9200", Root: "/", Namespace: "com.owncloud.web", TLSCert: path.Join(defaults.BaseDataPath(), "proxy", "server.crt"), TLSKey: path.Join(defaults.BaseDataPath(), "proxy", "server.key"), TLS: true, }, Service: Service{ Name: "proxy", }, OIDC: OIDC{ Issuer: "https://localhost:9200", Insecure: true, //Insecure: true, UserinfoCache: UserinfoCache{ Size: 1024, TTL: 10, }, }, TokenManager: TokenManager{ JWTSecret: "Pive-Fumkiu4", }, PolicySelector: nil, Reva: Reva{ Address: "127.0.0.1:9142", }, PreSignedURL: PreSignedURL{ AllowedHTTPMethods: []string{"GET"}, Enabled: true, }, AccountBackend: "accounts", UserOIDCClaim: "email", UserCS3Claim: "mail", MachineAuthAPIKey: "change-me-please", AutoprovisionAccounts: false, EnableBasicAuth: false, InsecureBackends: false, // TODO: enable //Policies: defaultPolicies(), } } func DefaultPolicies() []Policy { return []Policy{ { Name: "ocis", Routes: []Route{ { Endpoint: "/", Backend: "http://localhost:9100", }, { Endpoint: "/.well-known/", Backend: "http://localhost:9130", }, { Endpoint: "/konnect/", Backend: "http://localhost:9130", }, { Endpoint: "/signin/", Backend: "http://localhost:9130", }, { Endpoint: "/archiver", Backend: "http://localhost:9140", }, { Type: RegexRoute, Endpoint: "/ocs/v[12].php/cloud/(users?|groups)", // we have `user`, `users` and `groups` in ocis-ocs Backend: "http://localhost:9110", }, { Endpoint: "/ocs/", Backend: "http://localhost:9140", }, { Type: QueryRoute, Endpoint: "/remote.php/?preview=1", Backend: "http://localhost:9115", }, { Endpoint: "/remote.php/", Backend: "http://localhost:9140", }, { Endpoint: "/dav/", Backend: "http://localhost:9140", }, { Endpoint: "/webdav/", Backend: "http://localhost:9140", }, { Endpoint: "/status.php", Backend: "http://localhost:9140", }, { Endpoint: "/index.php/", Backend: "http://localhost:9140", }, { Endpoint: "/data", Backend: "http://localhost:9140", }, { Endpoint: "/app/", Backend: "http://localhost:9140", }, { Endpoint: "/graph/", Backend: "http://localhost:9120", }, { Endpoint: "/graph-explorer", Backend: "http://localhost:9135", }, // if we were using the go micro api gateway we could look up the endpoint in the registry dynamically { Endpoint: "/api/v0/accounts", Backend: "http://localhost:9181", }, // TODO the lookup needs a better mechanism { Endpoint: "/accounts.js", Backend: "http://localhost:9181", }, { Endpoint: "/api/v0/settings", Backend: "http://localhost:9190", }, { Endpoint: "/settings.js", Backend: "http://localhost:9190", }, }, }, { Name: "oc10", Routes: []Route{ { Endpoint: "/", Backend: "http://localhost:9100", }, { Endpoint: "/.well-known/", Backend: "http://localhost:9130", }, { Endpoint: "/konnect/", Backend: "http://localhost:9130", }, { Endpoint: "/signin/", Backend: "http://localhost:9130", }, { Endpoint: "/archiver", Backend: "http://localhost:9140", }, { Endpoint: "/ocs/", Backend: "https://demo.owncloud.com", ApacheVHost: true, }, { Endpoint: "/remote.php/", Backend: "https://demo.owncloud.com", ApacheVHost: true, }, { Endpoint: "/dav/", Backend: "https://demo.owncloud.com", ApacheVHost: true, }, { Endpoint: "/webdav/", Backend: "https://demo.owncloud.com", ApacheVHost: true, }, { Endpoint: "/status.php", Backend: "https://demo.owncloud.com", ApacheVHost: true, }, { Endpoint: "/index.php/", Backend: "https://demo.owncloud.com", ApacheVHost: true, }, { Endpoint: "/data", Backend: "https://demo.owncloud.com", ApacheVHost: true, }, }, }, } }