Documentation ¶
Overview ¶
Package cmd provides all CLI commands. NOTE: These are different from the commands that get run via pull request comments.
Index ¶
Constants ¶
const ( // Flag names. AllowForkPRsFlag = "allow-fork-prs" AllowRepoConfigFlag = "allow-repo-config" AtlantisURLFlag = "atlantis-url" BitbucketBaseURLFlag = "bitbucket-base-url" BitbucketTokenFlag = "bitbucket-token" BitbucketUserFlag = "bitbucket-user" BitbucketWebhookSecretFlag = "bitbucket-webhook-secret" ConfigFlag = "config" DataDirFlag = "data-dir" GHHostnameFlag = "gh-hostname" GHTokenFlag = "gh-token" GHUserFlag = "gh-user" GHWebhookSecretFlag = "gh-webhook-secret" // nolint: gosec GitlabHostnameFlag = "gitlab-hostname" GitlabTokenFlag = "gitlab-token" GitlabUserFlag = "gitlab-user" GitlabWebhookSecretFlag = "gitlab-webhook-secret" // nolint: gosec LogLevelFlag = "log-level" PortFlag = "port" RepoWhitelistFlag = "repo-whitelist" RequireApprovalFlag = "require-approval" SSLCertFileFlag = "ssl-cert-file" SSLKeyFileFlag = "ssl-key-file" // Flag defaults. DefaultBitbucketBaseURL = bitbucketcloud.BaseURL DefaultDataDir = "~/.atlantis" DefaultGHHostname = "github.com" DefaultGitlabHostname = "gitlab.com" DefaultLogLevel = "info" DefaultPort = 4141 )
To add a new flag you must: 1. Add a const with the flag name (in alphabetic order). 2. Add a new field to server.UserConfig and set the mapstructure tag equal to the flag name. 3. Add your flag's description etc. to the stringFlags, intFlags, or boolFlags slices.
Variables ¶
var RootCmd = &cobra.Command{
Use: "atlantis",
Short: "A unified workflow for collaborating on Terraform through GitHub and GitLab",
}
RootCmd is the base command onto which all other commands are added.
Functions ¶
Types ¶
type DefaultServerCreator ¶ added in v0.1.3
type DefaultServerCreator struct{}
DefaultServerCreator is the concrete implementation of ServerCreator.
func (*DefaultServerCreator) NewServer ¶ added in v0.1.3
func (d *DefaultServerCreator) NewServer(userConfig server.UserConfig, config server.Config) (ServerStarter, error)
NewServer returns the real Atlantis server object.
type ServerCmd ¶ added in v0.1.3
type ServerCmd struct { ServerCreator ServerCreator Viper *viper.Viper // SilenceOutput set to true means nothing gets printed. // Useful for testing to keep the logs clean. SilenceOutput bool AtlantisVersion string }
ServerCmd is an abstraction that helps us test. It allows us to mock out starting the actual server.
type ServerCreator ¶ added in v0.1.3
type ServerCreator interface {
NewServer(userConfig server.UserConfig, config server.Config) (ServerStarter, error)
}
ServerCreator creates servers. It's an abstraction to help us test.
type ServerStarter ¶ added in v0.1.3
type ServerStarter interface {
Start() error
}
ServerStarter is for starting up a server. It's an abstraction to help us test.
type TestdriveCmd ¶ added in v0.3.10
type TestdriveCmd struct{}
TestdriveCmd starts the testdrive process for testing out Atlantis.
func (*TestdriveCmd) Init ¶ added in v0.3.10
func (b *TestdriveCmd) Init() *cobra.Command
Init returns the runnable cobra command.
type VersionCmd ¶ added in v0.1.3
type VersionCmd struct {
AtlantisVersion string
}
VersionCmd prints the current version.
func (*VersionCmd) Init ¶ added in v0.1.3
func (v *VersionCmd) Init() *cobra.Command
Init returns the runnable cobra command.