Documentation ¶
Overview ¶
Package config provides tools for managing configurations
Index ¶
- Variables
- func ApplicationWorkingDir(dirType ...ApplicationDirType) string
- func Default() config.Config
- func Del(path ...string)
- func DelSecret(uuid string)
- func ExposedConfigsForService(serviceName string) common.XMLSerializableForm
- func FactorizeMinioServers(existingConfigs map[string]*object.MinioConfig, newSource *object.DataSource, ...) (config *object.MinioConfig, e error)
- func Get(path ...string) reader.Value
- func GetDatabase(name string) (string, string)
- func GetDefaultDatabase() (string, string)
- func GetJsonPath() string
- func GetRemoteSource() bool
- func GetSecret(uuid string) reader.Value
- func GetTLSClientConfig(t string) *tls.Config
- func GetTLSServerConfig(t string) *tls.Config
- func IndexServiceTableNames(dsName string) map[string]string
- func ListMinioConfigsFromConfig() map[string]*object.MinioConfig
- func ListSourcesFromConfig() map[string]*object.DataSource
- func MinioConfigNamesToConfig(sources map[string]*object.MinioConfig)
- func NewKeyForSecret() string
- func RegisterExposedConfigs(serviceName string, form common.XMLSerializableForm)
- func RegisterVaultKey(path ...string)
- func ResetTlsConfigs()
- func Save(ctxUser string, ctxMessage string) error
- func ServiceDataDir(serviceName string) (string, error)
- func Set(val interface{}, path ...string)
- func SetSecret(uuid string, val string)
- func SourceNamesFiltered(names []string) []string
- func SourceNamesForDataServices(dataSrvType string) []string
- func SourceNamesFromDataConfigs(cfgMap common.ConfigValues) []string
- func SourceNamesToConfig(sources map[string]*object.DataSource)
- func TouchSourceNamesForDataServices(dataSrvType string)
- func UnusedMinioServers(minios map[string]*object.MinioConfig, sources map[string]*object.DataSource) []string
- func UpgradeConfigsIfRequired(config *Config) (bool, error)
- func Values(keys ...string) common.ConfigValues
- func Vault() config.Config
- func Watch(path ...string) (config.Watcher, error)
- type ApplicationDirType
- type Array
- type Config
- type Map
- func (c Map) Array(key string) common.Scanner
- func (c Map) Bool(key string, def ...bool) bool
- func (c Map) Bytes(key string, def ...[]byte) []byte
- func (c Map) Database(k string) (string, string)
- func (c Map) Del(key string) error
- func (c Map) Duration(key string, def ...string) time.Duration
- func (c Map) Get(keys ...string) interface{}
- func (c Map) Int(key string, def ...int) int
- func (c Map) Int64(key string, defaultValue ...int64) int64
- func (c Map) IsEmpty() bool
- func (c Map) Map(key string) map[string]interface{}
- func (c Map) Scan(val interface{}) error
- func (c Map) Set(key string, value interface{}) error
- func (c Map) String(key string, def ...string) string
- func (c Map) StringArray(key string, def ...[]string) []string
- func (c Map) StringMap(key string) map[string]string
- func (c Map) Values(key string) common.ConfigValues
- type MkCert
- type Value
- type Watcher
Constants ¶
This section is empty.
Variables ¶
var ( DefaultCaUrl = "https://acme-v02.api.letsencrypt.org/directory" DefaultCaStagingUrl = "https://acme-staging-v02.api.letsencrypt.org/directory" )
var ( PydioConfigDir = ApplicationWorkingDir() PydioConfigFile = "pydio.json" VersionsStore file2.VersionsStore )
var SampleConfig = `{ "ports":{ "nats": 4222 }, "frontend":{ "secureHeaders":{ "X-XSS-Protection": "1; mode=block" }, "plugin": { "editor.libreoffice": { "LIBREOFFICE_HOST": "localhost", "LIBREOFFICE_PORT": "9980", "LIBREOFFICE_SSL": true } } }, "services":{ "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": "", "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"], "skipApprovalScreen": true }, "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 }, "pydio.web.oauth":{ "cors": { "public": { "allowedOrigins": "*" } }, "staticClients": [ { "client_id": "cells-sync", "client_name": "CellsSync Application", "grant_types": [ "authorization_code", "refresh_token" ], "redirect_uris": [ "http://localhost:3000/servers/callback", "http://localhost:[3636-3666]/servers/callback" ], "response_types": ["code", "token", "id_token"], "scope": "openid email profile pydio offline" }, { "client_id": "cells-client", "client_name": "Cells Client CLI Tool", "grant_types": [ "authorization_code", "refresh_token" ], "redirect_uris": [ "http://localhost:3000/servers/callback", "http://EXTERNAL_HOST/oauth2/oob" ], "response_types": [ "code", "token", "id_token" ], "scope": "openid email profile pydio offline" }, { "client_id": "cells-mobile", "client_name": "Mobile Applications", "grant_types": [ "authorization_code", "refresh_token" ], "redirect_uris": [ "cellsauth://callback" ], "response_types": [ "code", "token", "id_token" ], "scope": "openid email profile pydio offline" } ] } } }`
Functions ¶
func ApplicationWorkingDir ¶
func ApplicationWorkingDir(dirType ...ApplicationDirType) string
ApplicationWorkingDir creates a local file to store pydio system data
func ExposedConfigsForService ¶
func ExposedConfigsForService(serviceName string) common.XMLSerializableForm
ExposedConfigsForService returns exposed configs for service
func FactorizeMinioServers ¶
func FactorizeMinioServers(existingConfigs map[string]*object.MinioConfig, newSource *object.DataSource, update bool) (config *object.MinioConfig, e error)
FactorizeMinioServers tries to find exisiting MinioConfig that can be directly reused by the new source, or creates a new one
func GetDatabase ¶
GetDatabase retrieves the database data from the config
func GetDefaultDatabase ¶
GetDefaultDatabase returns the information for the default database
func GetJsonPath ¶
func GetJsonPath() string
GetJsonPath build path for json that contain the local config
func GetRemoteSource ¶
func GetRemoteSource() bool
func GetTLSClientConfig ¶
GetTLSClientConfig returns the configuration ssl for a server handler.
func GetTLSServerConfig ¶
GetTLSServerConfig returns the configuration ssl for a server handler
func IndexServiceTableNames ¶
func ListMinioConfigsFromConfig ¶
func ListMinioConfigsFromConfig() map[string]*object.MinioConfig
ListMinioConfigsFromConfig scans configs for objects services configs
func ListSourcesFromConfig ¶
func ListSourcesFromConfig() map[string]*object.DataSource
ListSourcesFromConfig scans configs for sync services configs
func MinioConfigNamesToConfig ¶
func MinioConfigNamesToConfig(sources map[string]*object.MinioConfig)
MinioConfigNamesToConfig saves objects sources to config
func NewKeyForSecret ¶
func NewKeyForSecret() string
func RegisterExposedConfigs ¶
func RegisterExposedConfigs(serviceName string, form common.XMLSerializableForm)
RegisterExposedConfigs let services register specific forms for configs editions Used by discovery service
func RegisterVaultKey ¶
func RegisterVaultKey(path ...string)
func ResetTlsConfigs ¶
func ResetTlsConfigs()
func ServiceDataDir ¶
ServiceDataDir returns the applicationdir/services/serviceName and creates it if it does not exists
func SourceNamesFiltered ¶
SourceNamesForDataServices excludes the timestamp key from a slice of source names
func SourceNamesForDataServices ¶
SourceNamesForDataServices list sourceNames from the config, excluding the timestamp key
func SourceNamesFromDataConfigs ¶
func SourceNamesFromDataConfigs(cfgMap common.ConfigValues) []string
SourceNamesForDataServices list sourceNames from the config, excluding the timestamp key
func SourceNamesToConfig ¶
func SourceNamesToConfig(sources map[string]*object.DataSource)
SourceNamesToConfig saves index and sync sources to configs
func TouchSourceNamesForDataServices ¶
func TouchSourceNamesForDataServices(dataSrvType string)
func UnusedMinioServers ¶
func UnusedMinioServers(minios map[string]*object.MinioConfig, sources map[string]*object.DataSource) []string
UnusedMinioServers searches for existing minio configs that are not used anywhere in datasources
func UpgradeConfigsIfRequired ¶
UpgradeConfigsIfRequired applies all registered configMigration functions Returns true if there was a change and save is required, error if something nasty happened
func Values ¶
func Values(keys ...string) common.ConfigValues
Types ¶
type ApplicationDirType ¶
type ApplicationDirType int
const ( ApplicationDirData ApplicationDirType = iota ApplicationDirLogs ApplicationDirServices )
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.
type MkCert ¶
type MkCert struct {
// contains filtered or unexported fields
}
MkCert provides tooling for generating auto-certified certificate
func (*MkCert) GeneratedResources ¶
GeneratedResources returns all files generated during certificate creation
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 |