config

package
v0.0.0-...-c2fab7e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 23, 2019 License: GPL-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Application configuration.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	// ExternalURL is the host the HTTP server can be accessed by from external users.
	// This should include any URL scheme, ports, paths, subdomains, ect.
	ExternalURL url.URL `default:"http://localhost:5000" split_words:"true" required:"true"`

	// SiteURL is the URL at which the website (github.com/kscout/kscout.io) can be accessed.
	// Must include a schema.
	SiteURL url.URL `default:"http://localhost:3000" split_words:"true" required:"true"`

	// BotAPISecret is a secret value used to authenticate with the bot API
	BotAPISecret string `split_words:"true" required:"true"`

	// BotAPIURL is the URL of the bot API.
	// Must include a schema.
	BotAPIURL url.URL `default:"http://localhost:8000" envconfig:"bot_api_url" required:"true"`

	// APIAddr is the API server's bind address
	APIAddr string `default:":5000" split_words:"true" required:"true"`

	// MetricsAddr is the metrics server's bind address
	MetricsAddr string `default:":9090" split_words:"true" required:"true"`

	// DbHost is the MongoDB server host
	DbHost string `default:"localhost" split_words:"true" required:"true"`

	// DbPort is the MongoDB server port
	DbPort int `default:"27017" split_words:"true" required:"true"`

	// DbUser is the MongoDB user
	DbUser string `default:"kscout-dev" split_words:"true" required:"true"`

	// DbPassword is the MongoDB password
	DbPassword string `default:"secretpassword" split_words:"true" required:"true"`

	// DbName is the database to connect to inside MongoDB
	DbName string `default:"kscout-serverless-registry-api-dev" split_words:"true" required:"true"`

	// GhPrivateKeyPath is the path to the GitHub app's secret key
	GhPrivateKeyPath string `default:"gh.private-key.pem" split_words:"true" required:"true"`

	// GhIntegrationID is the Scout Bot GitHub App ID
	GhIntegrationID int `split_words:"true" required:"true"`

	// GhInstallationID is an ID sent in the Scout Bot GitHub App webhook
	GhInstallationID int `split_words:"true" required:"true"`

	// GhRegistryRepoOwner is the GitHub user / organization which owns the serverless
	// application registry repository.
	GhRegistryRepoOwner string `default:"kscout" split_words:"true" required:"true"`

	// GhRegistryRepoName is the name of the GitHub repository which acts as a serverless
	// application registry.
	GhRegistryRepoName string `default:"serverless-apps" split_words:"true" required:"true"`

	// GhWebhookSecret is the secret token used to verify requests to the Webhook came
	// from GitHub
	GhWebhookSecret string `split_words:"true" required:"true"`

	// GhDevTeamName is the name of an organization team on GitHub which should be pinged
	// by pull request bot if any internal server errors occur
	GhDevTeamName string `default:"@kscout/developers" split_words:"true" required:"true"`
}

Config holds application configuration

func NewConfig

func NewConfig() (*Config, error)

NewConfig loads configuration values from environment variables

func (Config) String

func (c Config) String() (string, error)

String returns a log safe version of Config in string form. Redacts any sensative fields.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL