Documentation ¶
Index ¶
Constants ¶
const ( MojoliciousConcurrentConnectionsDefault = 12 // MojoliciousConcurrentConnectionsDefault DBMaxIdleConnectionsDefault = 10 // if this is higher than MaxDBConnections it will be automatically adjusted below it by the db/sql library DBConnMaxLifetimeSecondsDefault = 60 )
const AllowStartup = false
const BlockStartup = true
const DefaultDBQueryTimeoutSecs = 20
const DefaultLDAPTimeoutSecs = 60
Variables ¶
This section is empty.
Functions ¶
func ValidateRoutingBlacklist ¶
func ValidateRoutingBlacklist(blacklist RoutingBlacklist) error
Types ¶
type Config ¶
type Config struct { URL *url.URL `json:"-"` CertPath string `json:"-"` KeyPath string `json:"-"` ConfigHypnotoad `json:"hypnotoad"` ConfigTrafficOpsGolang `json:"traffic_ops_golang"` ConfigTO *ConfigTO `json:"to"` SMTP *ConfigSMTP `json:"smtp"` ConfigPortal `json:"portal"` ConfigLetsEncrypt `json:"lets_encrypt"` DB ConfigDatabase `json:"db"` Secrets []string `json:"secrets"` // NOTE: don't care about any other fields for now.. RiakAuthOptions *riak.AuthOptions RiakEnabled bool ConfigLDAP *ConfigLDAP LDAPEnabled bool LDAPConfPath string `json:"ldap_conf_location"` ConfigInflux *ConfigInflux InfluxEnabled bool InfluxDBConfPath string `json:"influxdb_conf_path"` Version string UseIMS bool `json:"use_ims"` }
Config reflects the structure of the cdn.conf file
func LoadCdnConfig ¶
func LoadConfig ¶
func NewFakeConfig ¶
func NewFakeConfig() Config
NewFakeConfig returns a fake Config struct with just enough data to view Routes.
func ParseConfig ¶
ParseConfig validates required fields, and parses non-JSON types
func (Config) DebugLog ¶
func (c Config) DebugLog() log.LogLocation
DebugLog - troubleshooting messages
func (Config) EventLog ¶
func (c Config) EventLog() log.LogLocation
EventLog - access.log high level transactions
func (Config) GetCertPath ¶
GetCertPath - extracts path to cert .cert file
func (Config) GetKeyPath ¶
GetKeyPath - extracts path to cert .key file
func (Config) WarningLog ¶
func (c Config) WarningLog() log.LogLocation
WarningLog - warning messages
type ConfigDatabase ¶
type ConfigDatabase struct { Description string `json:"description"` DBName string `json:"dbname"` Hostname string `json:"hostname"` User string `json:"user"` Password string `json:"password"` Port string `json:"port"` Type string `json:"type"` SSL bool `json:"ssl"` }
ConfigDatabase reflects the structure of the database.conf file
type ConfigHypnotoad ¶
type ConfigHypnotoad struct {
Listen []string `json:"listen"`
}
ConfigHypnotoad carries http setting for hypnotoad (mojolicious) server
type ConfigInflux ¶
type ConfigInflux struct { User string `json:"user"` Password string `json:"password"` DSDBName string `json:"deliveryservice_stats_db_name"` CacheDBName string `json:"cache_stats_db_name"` Secure *bool `json:"secure"` }
func GetInfluxConfig ¶
func GetInfluxConfig(path string) (bool, *ConfigInflux, error)
type ConfigLDAP ¶
type ConfigLDAP struct { AdminPass string `json:"admin_pass"` SearchBase string `json:"search_base"` AdminDN string `json:"admin_dn"` Host string `json:"host"` SearchQuery string `json:"search_query"` Insecure bool `json:"insecure"` LDAPTimeoutSecs int `json:"ldap_timeout_secs"` }
func GetLDAPConfig ¶
func GetLDAPConfig(LDAPConfPath string) (bool, *ConfigLDAP, error)
type ConfigLetsEncrypt ¶
type ConfigLetsEncrypt struct { Email string `json:"user_email,omitempty"` SendExpEmail bool `json:"send_expiration_email"` ConvertSelfSigned bool `json:"convert_self_signed"` RenewDaysBeforeExpiration int `json:"renew_days_before_expiration"` Environment string `json:"environment"` }
ConfigLetsEncrypt contains configuration information for integration with the Let's Encrypt certificate authority.
type ConfigPortal ¶
type ConfigPortal struct { BaseURL rfc.URL `json:"base_url"` DocsURL rfc.URL `json:"docs_url"` EmailFrom rfc.EmailAddress `json:"email_from"` PasswdResetPath string `json:"pass_reset_path"` UserRegisterPath string `json:"user_register_path"` }
ConfigPortal contains information that can direct users to a friendly UI
type ConfigSMTP ¶
type ConfigSMTP struct { Address string `json:"address"` Enabled bool `json:"enabled"` Password string `json:"password"` User string `json:"user"` }
ConfigSMTP contains configuration information for connecting to and authenticating with an SMTP server.
type ConfigTO ¶
type ConfigTO struct { BaseURL *rfc.URL `json:"base_url"` EmailFrom *rfc.EmailAddress `json:"email_from"` NoAccountFoundMessage *string `json:"no_account_found_msg"` }
ConfigTO contains information to identify Traffic Ops in a network sense.
type ConfigTrafficOpsGolang ¶
type ConfigTrafficOpsGolang struct { // Deprecated in 5.0 Insecure bool `json:"insecure"` // end deprecated Port string `json:"port"` ProxyTimeout int `json:"proxy_timeout"` ProxyKeepAlive int `json:"proxy_keep_alive"` ProxyTLSTimeout int `json:"proxy_tls_timeout"` ProxyReadHeaderTimeout int `json:"proxy_read_header_timeout"` ReadTimeout int `json:"read_timeout"` RequestTimeout int `json:"request_timeout"` ReadHeaderTimeout int `json:"read_header_timeout"` WriteTimeout int `json:"write_timeout"` IdleTimeout int `json:"idle_timeout"` LogLocationError string `json:"log_location_error"` LogLocationWarning string `json:"log_location_warning"` LogLocationInfo string `json:"log_location_info"` LogLocationDebug string `json:"log_location_debug"` LogLocationEvent string `json:"log_location_event"` MaxDBConnections int `json:"max_db_connections"` DBMaxIdleConnections int `json:"db_max_idle_connections"` DBConnMaxLifetimeSeconds int `json:"db_conn_max_lifetime_seconds"` BackendMaxConnections map[string]int `json:"backend_max_connections"` DBQueryTimeoutSeconds int `json:"db_query_timeout_seconds"` Plugins []string `json:"plugins"` PluginConfig map[string]json.RawMessage `json:"plugin_config"` ProfilingEnabled bool `json:"profiling_enabled"` ProfilingLocation string `json:"profiling_location"` RiakPort *uint `json:"riak_port"` WhitelistedOAuthUrls []string `json:"whitelisted_oauth_urls"` OAuthClientSecret string `json:"oauth_client_secret"` RoutingBlacklist `json:"routing_blacklist"` SupportedDSMetrics []string `json:"supported_ds_metrics"` TLSConfig *tls.Config `json:"tls_config"` // CRConfigUseRequestHost is whether to use the client request host header in the CRConfig. If false, uses the tm.url parameter. // This defaults to false. Traffic Ops used to always use the host header, setting this true will resume that legacy behavior. // See https://github.com/apache/trafficcontrol/issues/2224 // Deprecated: will be removed in the next major version. CRConfigUseRequestHost bool `json:"crconfig_snapshot_use_client_request_host"` // CRConfigEmulateOldPath is whether to emulate the legacy CRConfig request path when generating a new CRConfig. This primarily exists in the event a tool relies on the legacy path '/tools/write_crconfig'. // Deprecated: will be removed in the next major version. CRConfigEmulateOldPath bool `json:"crconfig_emulate_old_path"` }
ConfigTrafficOpsGolang carries settings specific to traffic_ops_golang server
type RoutingBlacklist ¶
type RoutingBlacklist struct { IgnoreUnknownRoutes bool `json:"ignore_unknown_routes"` PerlRoutes []int `json:"perl_routes"` DisabledRoutes []int `json:"disabled_routes"` }
RoutingBlacklist contains the list of route IDs that will be handled by TO-Perl, a list of route IDs that are disabled, and whether or not to ignore unknown routes.