Documentation ¶
Overview ¶
Package configs provides tools for managing configurations
Index ¶
- Variables
- func ApplicationDataDir() string
- func ConfigureCaddyfile(t string, v interface{}) error
- func Del(path ...string)
- func FrontClearCache(rootFolder string)
- func FrontTouchAdditionalFiles(rootFolder string)
- func FrontWriteBootstrap(rootFolder string, conf *FrontBootstrapConf) error
- func Get(path ...string) reader.Value
- func GetDatabase(name string) (string, string)
- func GetDefaultDatabase() (string, string)
- func GetJsonPath() string
- func InitCaddyFile(tpl string, tplData interface{}) error
- func Save(ctxUser string, ctxMessage string) error
- func ServiceDataDir(serviceName string) (string, error)
- func Set(val interface{}, path ...string)
- type CaddyTemplateConf
- type Config
- type FrontBootstrapConf
- type Map
- func (c Map) Bool(key string, def ...bool) bool
- func (c Map) Database(k string) (string, string)
- func (c Map) Del(key string) error
- func (c Map) Get(key string) interface{}
- func (c Map) Int(key string, def ...int) int
- func (c Map) Int64(key string, defaultValue ...int64) int64
- func (c Map) Map(key string) map[string]interface{}
- func (c Map) Set(key string, value interface{}) error
- func (c Map) String(key string) string
- func (c Map) StringArray(key string) []string
- func (c Map) StringMap(key string) map[string]string
- type Value
- type Watcher
Constants ¶
This section is empty.
Variables ¶
var ( CaddyTemplate = `` /* 1693-byte string literal not displayed */ DefaultCaddyfile = filepath.Join(ApplicationDataDir(), "Caddyfile") )
var ( PydioConfigDir = ApplicationDataDir() PydioConfigFile = "pydio.json" VersionsStore file2.VersionsStore )
var SampleConfig = `{ "ports":{ "nats": 4222 }, "services":{ "consul": { "data_dir": "/tmp/consul", "server": true, "bootstrap": true }, "pydio.grpc.config":{ "dsn": "default" }, "pydio.grpc.user":{ "dsn": "default", "tables":{ "tree": "idm_user_tree", "nodes":"idm_user_nodes", "roles":"idm_user_roles", "attributes":"idm_user_attributes" } }, "pydio.grpc.mailer": { "queue": { "@value": "boltdb" }, "sender": { "@value": "smtp", "host": "my.smtp.server", "password": "user", "port": 465, "user": "name" } }, "pydio.grpc.role":{ "dsn": "default" }, "pydio.grpc.workspace":{ "dsn": "default" }, "pydio.grpc.acl":{ "dsn": "default" }, "pydio.grpc.auth":{ "dsn": "default", "dex" : { "issuer": "http://127.0.0.1:5556/dex", "web" : { "http": "0.0.0.0:5556" }, "frontend" : { "Dir" : "idm/auth/web" }, "logger" : { "level" : "debug", "format": "text" }, "expiry": { "idTokens": "10m" }, "oauth2" : { "responseTypes": ["code", "token", "id_token"] }, "staticClients" : [ { "id": "example-app", "redirectURIs" : ["http://127.0.0.1:5555/callback"], "name" : "Example App", "secret" : "ZXhhbXBsZS1hcHAtc2VjcmV0" } ], "connectors": [ { "type": "pydio", "id" : "pydio", "name": "Pydio Aggregation Connector", "config": { "pydioconnectors": [ { "type": "pydio-api", "name": "pydioapi", "id" : 1 } ] } } ] } }, "pydio.grpc.tree":{ "dsn":"default" }, "pydio.grpc.meta":{ "dsn":"default" }, "pydio.thumbs_store":{ "datasource" : "default", "bucket" : "thumbs" }, "pydio.docstore-binaries":{ "datasource" : "default", "bucket" : "binaries" }, "pydio.versions-store":{ "datasource" : "default", "bucket" : "versions" }, "pydio.grpc.search": { "indexContent": false }, "pydio.grpc.policy": { "dsn": "databaseParseTime" }, "pydio.grpc.data-key": { "dsn": "default" }, "pydio.grpc.user-key": { "dsn": "default" }, "pydio.grpc.changes": { "dsn": "default" }, "pydio.grpc.update" : { "channel": "` + common.UpdateDefaultChannel + `", "publicKey": "` + common.UpdateDefaultPublicKey + `", "updateUrl": "` + common.UpdateDefaultServerUrl + `" }, "pydio.grpc.user-meta": { "dsn": "default" }, "pydio.grpc.tasks": { "fork": true } } }`
Functions ¶
func ApplicationDataDir ¶
func ApplicationDataDir() string
ApplicationDataDir creates a local file to store pydio system data
func ConfigureCaddyfile ¶
func FrontClearCache ¶
func FrontClearCache(rootFolder string)
FrontWriteBootstrap clears the frontend caches
func FrontTouchAdditionalFiles ¶
func FrontTouchAdditionalFiles(rootFolder string)
FrontWriteBootstrap touches additional files in frontend boot.conf folder to avoid triggering an install process in the frontend
func FrontWriteBootstrap ¶
func FrontWriteBootstrap(rootFolder string, conf *FrontBootstrapConf) error
FrontWriteBootstrap takes a config, executes the template and save to the front
func GetDatabase ¶
GetDatabase retrieves the database data from the config
func GetDefaultDatabase ¶
GetDefaultDatabase returns the information for the default database
func GetJsonPath ¶ added in v1.0.1
func GetJsonPath() string
GetJsonPath build path for json that contain the local config
func InitCaddyFile ¶
InitCaddyFile creates a caddy LoaderFunc with the correct contents
func ServiceDataDir ¶
ServiceDataDir returns the applicationdir/services/serviceName and creates it if it does not exists
Types ¶
type CaddyTemplateConf ¶
type CaddyTemplateConf struct { // Main site URL Bind *url.URL // Micro REST API dispatcher Micro *url.URL // Open ID Connect Service Dex *url.URL // S3 Gateway Gateway *url.URL // WebSocket server WebSocket *url.URL // Plugins loader for frontend FrontPlugins *url.URL // WebDAV server DAV *url.URL // WOPI server WOPI *url.URL // Collabora definition from plugins Collabora *url.URL // FPM connection, either an URL or a socket file path Fpm string // Root of the PHP Frontend Root string // Dedicated log file for caddy errors to ease debugging Logs string // Caddy compliant TLS string, either "self_signed" or paths to "cert key" TLS string // If TLS is enabled, also enable auto-redirect from http to https HttpRedirectSource *url.URL HttpRedirectTarget *url.URL }
CaddyTemplateConf feeds Caddy template file with data
func LoadCaddyConf ¶
func LoadCaddyConf() (*CaddyTemplateConf, error)
LoadCaddyConf reads the pydio config and fill a CaddyTemplateConf object ready to be executed by template
type FrontBootstrapConf ¶
type FrontBootstrapConf struct { ProxyUrl *url.URL WebSocketUrl *url.URL DexID string DexSecret string DisableSslVerify string }
Data passed to the bootstrapConf template
func FrontBootstrapFromConfig ¶
func FrontBootstrapFromConfig(proxyUrl string) (*FrontBootstrapConf, error)
FrontBootstrapFromConfig reads pydio config to generate the associated bootstrap.conf for frontend.
type Map ¶
type Map map[string]interface{}
Map structure to store configuration
func (Map) Get ¶
Get retrieves the first value associated with the given key. If there are no values associated with the key, Get returns the empty string. To access multiple values, use the map directly.
func (Map) Int ¶
Int retrieves the value at the given key if it exists and performs best effort to cast it as an int. If no such key exists or if it cannot be cast as an int, it returns the default value if defined and 0 otherwise.
func (Map) Int64 ¶
Int64 retrieves the value at the given key if it exists and performs best effort to cast it as an int64. If no such key exists or if it cannot be cast as an int64, it returns the default value if defined and 0 otherwise.
func (Map) StringArray ¶
type Value ¶
type Value interface { Bool(def bool) bool Int(def int) int Int64(def int64) int64 String(def string) string Float64(def float64) float64 Duration(def time.Duration) time.Duration StringSlice(def []string) []string StringMap(def map[string]string) map[string]string Scan(val interface{}) error Bytes() []byte }
Value Represent a value retrieved from the values loaded
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Package envvar implements Pydio specific interface for dynamic configurations that are backed by OS environment variables.
|
Package envvar implements Pydio specific interface for dynamic configurations that are backed by OS environment variables. |
Package source implements a configuration client backed by a config server
|
Package source implements a configuration client backed by a config server |