Documentation ¶
Index ¶
- Constants
- Variables
- func ApplicationWorkingDir(dirType ...ApplicationDirType) string
- func BrokerURL() string
- func BuildForkParams(cmd string) []string
- func CacheURL(prefix string, queryPairs ...string) string
- func CertsStoreLocalLocation() string
- func CertsStoreURL() string
- func ConfigIsLocalFile() bool
- func ConfigURL() string
- func DefaultAdvertiseAddress() string
- func DiscoveryURL() string
- func ForkContext(ctx, parent context.Context) context.Context
- func GetBool(key string) bool
- func GetHostname() string
- func GetPID() string
- func GetPPID() string
- func GetString(key string) string
- func GetStringSlice(key string) []string
- func GrpcBindAddress() string
- func GrpcDiscoveryBindAddress() string
- func GrpcExternalPort() string
- func HasCapacity(c string) bool
- func HttpBindAddress() string
- func HttpServerType() string
- func Init(ctx context.Context, typ string)
- func InitGlobalConnConsumers(ctx context.Context, typ string)
- func IsFork() bool
- func IsGrpcScheme(u string) bool
- func IsRequired(name string, tags ...string) bool
- func IsSet(key string) bool
- func KeyringURL() string
- func LastInitType() string
- func LogJSON() bool
- func LogLevel() string
- func LogToFile() bool
- func MatchDependencies(ctx context.Context, rr map[string]string) error
- func MetricsEnabled() bool
- func MetricsRemoteEnabled() (bool, string, string)
- func MustServiceDataDir(serviceName string) string
- func NeedsGrpcDiscoveryConn() (bool, string)
- func PprofEnabled() bool
- func ProcessRootID() string
- func ProcessStartTags() []string
- func Register(typ string, y ...func(ctx context.Context))
- func RegisterContextInjector(injector ContextInjector)
- func RegisterDependencyMatcher(key string, f func(context.Context, string) error)
- func RegisterGlobalConnConsumer(typ string, y ...func(ctx context.Context))
- func RegisterPreRun(preRun func(runtime Runtime))
- func RegistryURL() string
- func ServiceDataDir(serviceName string) (string, error)
- func SetArgs(aa []string)
- func SetDefault(key string, value interface{})
- func SetProcessRootID(id string)
- func SetRuntime(runtime Runtime)
- func SetVaultMasterKey(masterKey string)
- func ShortCacheURL(queryPairs ...string) string
- func VaultURL() string
- type ApplicationDirType
- type ContextInjector
- type InfoGroup
- type InfoPair
- type Runtime
Constants ¶
const ( KeyDiscovery = "discovery" KeyRegistry = "registry" KeyBroker = "broker" KeyConfig = "config" KeyVault = "vault" KeyKeyring = "keyring" KeyCertsStore = "certs_store" KeyCache = "cache" KeyShortCache = "shortcache" KeyFork = "fork" KeyForkLegacy = "is_fork" KeyArgTags = "tags" KeyArgExclude = "exclude" KeyNodeCapacity = "cap" KeyAdvertiseAddress = "advertise_address" KeyBindHost = "bind_address" KeyGrpcDiscoveryPort = "grpc_discovery_port" KeyGrpcPort = "grpc_port" KeyHttpPort = "http_port" KeyGrpcExternal = "grpc_external" KeyHealthCheckPort = "healthcheck" KeySiteBind = "site_bind" KeySiteExternal = "site_external" KeySiteNoTLS = "site_no_tls" KeySiteTlsCertFile = "site_tls_cert_file" KeySiteTlsKeyFile = "site_tls_key_file" KeySiteLetsEncryptEmail = "site_le_email" KeySiteLetsEncryptAgree = "site_le_agree" KeySiteLetsEncryptStaging = "site_le_staging" // Legacy versions without "site_" prefix KeySiteBindL = "bind" KeySiteExternalL = "external" KeySiteNoTLSL = "no_tls" KeySiteTlsCertFileL = "tls_cert_file" KeySiteTlsKeyFileL = "tls_key_file" KeySiteLetsEncryptEmailL = "le_email" KeySiteLetsEncryptAgreeL = "le_agree" KeySiteLetsEncryptStagingL = "le_staging" KeyInstallCli = "install_cli" KeyInstallYaml = "install_yaml" KeyInstallJson = "install_json" KeyInstallExitAfter = "exit_after_install" KeyInstallCliLegacy = "cli" KeyInstallYamlLegacy = "yaml" KeyInstallJsonLegacy = "json" KeyLog = "log" KeyLogJson = "log_json" KeyLogToFile = "log_to_file" KeyEnableMetrics = "enable_metrics" KeyMetricsBasicAuth = "metrics_basic_auth" KeyEnablePprof = "enable_pprof" KeyHttpServer = "http" HttpServerCaddy = "caddy" HttpServerNative = "http" DefaultDiscoveryPort = "8030" DefaultGrpcPort = "8031" DefaultBindingSitePort = "8080" DefaultHttpPort = "0" DefaultConfigFileName = "pydio.json" DefaultVaultFileName = "pydio-vault.json" DefaultKeyringFileName = "cells-vault-key" DefaultCertStorePath = "certs" DefaultConfigSuffix = "/config" DefaultVaultSuffix = "/vault" DefaultRegistrySuffix = "/registry" DefaultBrokerSuffix = "/broker" DefaultCacheSuffix = "/cache" DefaultShortCacheSuffix = "/shortcache" )
const ( NodeMetaPID = "PID" NodeMetaParentPID = "parentPID" NodeMetaMetrics = "metrics" NodeMetaStartTag = "start" NodeMetaForkStartTag = "forkStartTag" NodeMetaHostName = "hostname" NodeMetaCapacities = "capacities" NodeRootID = "rootID" )
Variables ¶
var ( DefaultKeyDiscovery = "mem://" DefaultKeyRegistry = "mem://?cache=shared" DefaultKeyBroker = "mem://" DefaultKeyConfig = "file://" + filepath.ToSlash(filepath.Join(ApplicationWorkingDir(), DefaultConfigFileName)) DefaultKeyKeyring = "file://" + filepath.ToSlash(filepath.Join(ApplicationWorkingDir(), DefaultKeyringFileName)+"?keyring=true") DefaultKeyCertsStore = "file://" + filepath.ToSlash(filepath.Join(ApplicationWorkingDir(), DefaultCertStorePath)) DefaultKeyVault = "detect" DefaultKeyCache = "bigcache://" DefaultKeyShortCache = "pm://" )
Functions ¶
func ApplicationWorkingDir ¶
func ApplicationWorkingDir(dirType ...ApplicationDirType) string
ApplicationWorkingDir creates a local file to store pydio system data
func BuildForkParams ¶
BuildForkParams creates --key=value arguments from runtime parameters
func CertsStoreLocalLocation ¶
func CertsStoreLocalLocation() string
func CertsStoreURL ¶
func CertsStoreURL() string
func ConfigIsLocalFile ¶
func ConfigIsLocalFile() bool
ConfigIsLocalFile checks if ConfigURL scheme is file
func DefaultAdvertiseAddress ¶
func DefaultAdvertiseAddress() string
DefaultAdvertiseAddress reads or compute the address advertised to clients
func DiscoveryURL ¶
func DiscoveryURL() string
DiscoveryURL returns the scheme://address url for Registry
func ForkContext ¶
ForkContext copies all necessary dependencies using the internal ContextInjector registry
func GetHostname ¶
func GetHostname() string
GetHostname wraps os.Hostname, could be overwritten by env or parameter.
func GetStringSlice ¶
GetStringSlice gets a slice from global runtime.
func GrpcBindAddress ¶
func GrpcBindAddress() string
GrpcBindAddress returns the KeyBindHost:KeyGrpcPort URL
func GrpcDiscoveryBindAddress ¶
func GrpcDiscoveryBindAddress() string
GrpcDiscoveryBindAddress returns the KeyBindHost:KeyGrpcDiscoveryPort URL
func GrpcExternalPort ¶
func GrpcExternalPort() string
GrpcExternalPort returns optional GRPC port to be used for external binding
func HasCapacity ¶
HasCapacity checks if a specific capacity is registered for the current process
func HttpBindAddress ¶
func HttpBindAddress() string
HttpBindAddress returns the KeyBindHost:KeyHttpPort URL
func HttpServerType ¶
func HttpServerType() string
HttpServerType returns one of HttpServerCaddy or HttpServerCore
func InitGlobalConnConsumers ¶
func IsFork ¶
func IsFork() bool
IsFork checks if the runtime is originally a fork of a different process
func IsGrpcScheme ¶
func IsRequired ¶
IsRequired checks arguments, --tags and --exclude against a service name
func KeyringURL ¶
func KeyringURL() string
func LastInitType ¶
func LastInitType() string
func MatchDependencies ¶
MatchDependencies checks a list of known keys for specific runtime parameters. It is typically used to detect current-process aspects
func MetricsEnabled ¶
func MetricsEnabled() bool
MetricsEnabled returns if the metrics should be published or not
func MetricsRemoteEnabled ¶ added in v4.0.5
MetricsRemoteEnabled returns if the metrics should be published on a Service Discovery endpoint
func MustServiceDataDir ¶
MustServiceDataDir returns the applicationdir/services/serviceName and ignore error it if it does not exists
func NeedsGrpcDiscoveryConn ¶
func PprofEnabled ¶
func PprofEnabled() bool
PprofEnabled returns if a http endpoint should be published for debug/pprof
func ProcessRootID ¶ added in v4.0.6
func ProcessRootID() string
ProcessRootID retrieves a unique identifier for the current process
func ProcessStartTags ¶
func ProcessStartTags() []string
ProcessStartTags returns a list of tags to be used for identifying processes
func RegisterContextInjector ¶
func RegisterContextInjector(injector ContextInjector)
RegisterContextInjector appends a ContextInjector to the internal registry
func RegisterDependencyMatcher ¶
RegisterDependencyMatcher adds a key-based dependency matcher to internal registry.
func RegisterPreRun ¶
func RegisterPreRun(preRun func(runtime Runtime))
func RegistryURL ¶
func RegistryURL() string
RegistryURL returns the scheme://address url for Registry
func ServiceDataDir ¶
ServiceDataDir returns the applicationdir/services/serviceName and creates it if it does not exists
func SetProcessRootID ¶ added in v4.0.6
func SetProcessRootID(id string)
SetProcessRootID passes a UUID for the current process
func SetVaultMasterKey ¶
func SetVaultMasterKey(masterKey string)
func ShortCacheURL ¶
Types ¶
type ApplicationDirType ¶
type ApplicationDirType int
const ( ApplicationDirData ApplicationDirType = iota ApplicationDirLogs ApplicationDirServices )