Documentation ¶
Index ¶
Constants ¶
View Source
const ( // ServerRoleActivityPub represents the activity pub server role. ServerRoleActivityPub = "activity-pub" // ServerRoleRobots represents the static asset server role. ServerRoleRobots = "robots" // ServerRoleWebapp represents the webapp server role. ServerRoleWebapp = "webapp" )
Variables ¶
View Source
var Defaults = Values{ ConfigPath: "", LogLevel: "info", ActorKeySize: 2048, ApplicationName: "feditools-relay", ApplicationWebsite: "https://github.com/feditools/relay", CachedActivityLimit: 1024, CachedActorLimit: 1024, CachedDigestLimit: 1024, DbType: "postgres", DbAddress: "", DbPort: 5432, DbUser: "", DbPassword: "", DbDatabase: "relay", DbTLSMode: "disable", DbTLSCACert: "", RedisAddress: "localhost:6379", RedisDB: 0, RunnerConcurrency: 4, ServerExternalHostname: "localhost", ServerHTTPBind: ":5000", ServerMinifyHTML: true, ServerRoles: []string{ ServerRoleActivityPub, ServerRoleRobots, ServerRoleWebapp, }, WebappBootstrapCSSURI: "https://cdn.jsdelivr.net/npm/bootstrap@5.2.0-beta1/dist/css/bootstrap.min.css", WebappBootstrapCSSIntegrity: "sha384-0evHe/X+R7YkIZDRvuzKMRqM+OrBnVFBL6DOitfPri4tjfHxaWutUpFmBp4vmVor", WebappBootstrapJSURI: "https://cdn.jsdelivr.net/npm/bootstrap@5.2.0-beta1/dist/js/bootstrap.bundle.min.js", WebappBootstrapJSIntegrity: "sha384-pprn3073KE6tl6bjs2QrFaJGz5/SUsLqktiwsUTF55Jfv3qYSDhgCecCxMW52nD2", WebappChartJSURI: "https://cdn.jsdelivr.net/npm/chart.js@3.9.1/dist/chart.min.js", WebappChartJSIntegrity: "sha384-9MhbyIRcBVQiiC7FSd7T38oJNj2Zh+EfxS7/vjhBi4OOT78NlHSnzM31EZRWR1LZ", WebappFontAwesomeCSSURI: "https://assets.fedi.tools/vendor/fontawesome-free-6.1.1/css/all.min.css", WebappFontAwesomeCSSIntegrity: "sha384-/frq1SRXYH/bSyou/HUp/hib7RVN1TawQYja658FEOodR/FQBKVqT9Ol+Oz3Olq5", WebappLogoSrcDark: "https://assets.fedi.tools/img/feditools-logo-dark.svg", WebappLogoSrcLight: "https://assets.fedi.tools/img/feditools-logo-light.svg", MetricsStatsDAddress: "localhost:8125", MetricsStatsDPrefix: "relay", }
Defaults contains the default values
View Source
var Keys = KeyNames{
ConfigPath: "config-path",
LogLevel: "log-level",
ActorKeySize: "actor-key-size",
ApplicationName: "application-name",
ApplicationWebsite: "application-website",
CachedActivityLimit: "cached-activity-limit",
CachedActorLimit: "cached-actor-limit",
CachedDigestLimit: "cached-digest-limit",
EncryptionKey: "encryption-key",
SoftwareVersion: "software-version",
TokenSalt: "token-salt",
DbType: "db-type",
DbAddress: "db-address",
DbPort: "db-port",
DbUser: "db-user",
DbPassword: "db-password",
DbDatabase: "db-database",
DbTLSMode: "db-tls-mode",
DbTLSCACert: "db-tls-ca-cert",
RedisAddress: "redis-address",
RedisDB: "redis-db",
RedisPassword: "redis-password",
RunnerConcurrency: "runner-concurrency",
ServerExternalHostname: "external-hostname",
ServerHTTPBind: "http-bind",
ServerMinifyHTML: "minify-html",
ServerRoles: "server-role",
WebappBootstrapCSSURI: "webapp-bootstrap-css-uri",
WebappBootstrapCSSIntegrity: "webapp-bootstrap-css-integrity",
WebappBootstrapJSURI: "webapp-bootstrap-js-uri",
WebappBootstrapJSIntegrity: "webapp-bootstrap-js-integrity",
WebappChartJSURI: "webapp-chart-js-uri",
WebappChartJSIntegrity: "webapp-chart-js-integrity",
WebappFontAwesomeCSSURI: "webapp-fontawesome-css-uri",
WebappFontAwesomeCSSIntegrity: "webapp-fontawesome-css-integrity",
WebappLogoSrcDark: "webapp-logo-src-dark",
WebappLogoSrcLight: "webapp-logo-src-light",
Account: "account",
AccountAddGroup: "add-group",
MetricsStatsDAddress: "statsd-addr",
MetricsStatsDPrefix: "statsd-prefix",
}
Keys contains the names of config keys.
Functions ¶
func ReadConfigFile ¶
func ReadConfigFile() error
ReadConfigFile reads the config file from disk if config path is sent.
Types ¶
type KeyNames ¶
type KeyNames struct { LogLevel string ConfigPath string // application ActorKeySize string ApplicationName string ApplicationWebsite string CachedActivityLimit string CachedActorLimit string CachedDigestLimit string EncryptionKey string SoftwareVersion string TokenSalt string // database DbType string DbAddress string DbPort string DbUser string DbPassword string DbDatabase string DbTLSMode string DbTLSCACert string // redis RedisAddress string RedisDB string RedisPassword string // runner RunnerConcurrency string // server ServerExternalHostname string ServerHTTPBind string ServerMinifyHTML string ServerRoles string // webapp WebappBootstrapCSSURI string WebappBootstrapCSSIntegrity string WebappBootstrapJSURI string WebappBootstrapJSIntegrity string WebappChartJSURI string WebappChartJSIntegrity string WebappFontAwesomeCSSURI string WebappFontAwesomeCSSIntegrity string WebappLogoSrcDark string WebappLogoSrcLight string // account Account string AccountAddGroup string // metrics MetricsStatsDAddress string MetricsStatsDPrefix string }
KeyNames is a struct that contains the names of keys.
type Values ¶
type Values struct { ConfigPath string LogLevel string // application ActorKeySize int ApplicationName string ApplicationWebsite string CachedActivityLimit int CachedActorLimit int CachedDigestLimit int EncryptionKey string SoftwareVersion string TokenSalt string // database DbType string DbAddress string DbPort int DbUser string DbPassword string DbDatabase string DbTLSMode string DbTLSCACert string // redis RedisAddress string RedisDB int RedisPassword string // runner RunnerConcurrency int // server ServerExternalHostname string ServerHTTPBind string ServerMinifyHTML bool ServerRoles []string // webapp WebappBootstrapCSSURI string WebappBootstrapCSSIntegrity string WebappBootstrapJSURI string WebappBootstrapJSIntegrity string WebappChartJSURI string WebappChartJSIntegrity string WebappFontAwesomeCSSURI string WebappFontAwesomeCSSIntegrity string WebappLogoSrcDark string WebappLogoSrcLight string // account Account string AccountAddGroup []string // metrics MetricsStatsDAddress string MetricsStatsDPrefix string }
Values contains the type of each value.
Click to show internal directories.
Click to hide internal directories.