Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
// Logger for logging
Logger *logger.Logger
// Repo implements a query repository
Repo repository.Repository
// Metadata is a description object for the server metadata, used
// to determine which endpoints to register
Metadata *Metadata
// Alerter sends messages to alert aggregators (like Sentry) if the
// error is fatal
Alerter alerter.Alerter
// Store implements a session store for session-based cookies
Store sessions.Store
// ServerConf is the set of configuration variables for the Porter server
ServerConf *env.ServerConf
// DBConf is the set of configuration variables for the DB
DBConf *env.DBConf
// RedisConf is the set of configuration variables for the redis instance
RedisConf *env.RedisConf
// TokenConf contains the config for generating and validating JWT tokens
TokenConf *token.TokenGeneratorConf
// UserNotifier is an object that notifies users of transactions (pw reset, email
// verification, etc)
UserNotifier notifier.UserNotifier
// DOConf is the configuration for a DigitalOcean OAuth client
DOConf *oauth2.Config
// GithubConf is the configuration for a Github OAuth client
GithubConf *oauth2.Config
// GithubAppConf is the configuration for a Github App OAuth client
GithubAppConf *oauth.GithubAppConf
// GoogleConf is the configuration for a Google OAuth client
GoogleConf *oauth2.Config
// SlackConf is the configuration for a Slack OAuth client
SlackConf *oauth2.Config
// WSUpgrader upgrades HTTP connections to websocket connections
WSUpgrader *websocket.Upgrader
// URLCache contains a cache of chart names to chart repos
URLCache *urlcache.ChartURLCache
// ProvisionerAgent is the kubernetes client responsible for creating new provisioner
// jobs
ProvisionerAgent *kubernetes.Agent
// IngressAgent is the kubernetes client responsible for creating new ingress
// resources
IngressAgent *kubernetes.Agent
// DB is the gorm DB instance
DB *gorm.DB
// AnalyticsClient if Segment analytics reporting is enabled on the API instance
AnalyticsClient analytics.AnalyticsSegmentClient
}
type ConfigLoader ¶
type Metadata ¶
type Metadata struct {
Provisioning bool `json:"provisioner"`
Github bool `json:"github"`
BasicLogin bool `json:"basic_login"`
GithubLogin bool `json:"github_login"`
GoogleLogin bool `json:"google_login"`
SlackNotifications bool `json:"slack_notifications"`
Email bool `json:"email"`
Analytics bool `json:"analytics"`
}
func MetadataFromConf ¶
func MetadataFromConf(sc *env.ServerConf) *Metadata
Click to show internal directories.
Click to hide internal directories.