Documentation ¶
Overview ¶
Copyright 2017 HootSuite Media Inc.
Licensed under the Apache License, Version 2.0 (the License); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. Modified hereafter by contributors to runatlantis/atlantis.
Copyright 2017 HootSuite Media Inc.
Licensed under the Apache License, Version 2.0 (the License); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. Modified hereafter by contributors to runatlantis/atlantis.
Package cmd provides all CLI commands. NOTE: These are different from the commands that get run via pull request comments.
Copyright 2017 HootSuite Media Inc.
Licensed under the Apache License, Version 2.0 (the License); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. Modified hereafter by contributors to runatlantis/atlantis.
Copyright 2017 HootSuite Media Inc.
Licensed under the Apache License, Version 2.0 (the License); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. Modified hereafter by contributors to runatlantis/atlantis.
Copyright 2017 HootSuite Media Inc.
Licensed under the Apache License, Version 2.0 (the License); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. Modified hereafter by contributors to runatlantis/atlantis.
Index ¶
Constants ¶
const ( // Flag names. AllowForkPRsFlag = "allow-fork-prs" AllowRepoConfigFlag = "allow-repo-config" AtlantisURLFlag = "atlantis-url" ConfigFlag = "config" DataDirFlag = "data-dir" GHHostnameFlag = "gh-hostname" GHTokenFlag = "gh-token" GHUserFlag = "gh-user" GHWebHookSecret = "gh-webhook-secret" // nolint: gas GitlabHostnameFlag = "gitlab-hostname" GitlabTokenFlag = "gitlab-token" GitlabUserFlag = "gitlab-user" GitlabWebHookSecret = "gitlab-webhook-secret" LogLevelFlag = "log-level" PortFlag = "port" RepoWhitelistFlag = "repo-whitelist" RequireApprovalFlag = "require-approval" SSLCertFileFlag = "ssl-cert-file" SSLKeyFileFlag = "ssl-key-file" // Flag defaults. 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.
const RedTermEnd = "\033[39m"
const RedTermStart = "\033[31m"
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.