Commit Graph

105 Commits

Author SHA1 Message Date
Luke Kysow
b5e2a730de WIP Add operators and get compiled. 2018-06-15 14:03:27 +01:00
Luke Kysow
3525ab3bd9 WIP 2018-06-12 14:54:38 +01:00
Luke Kysow
d6883e83e4 Move runtime elements to the runtime package 2018-06-08 16:36:04 +01:00
Luke Kysow
69c788ec66 Rename package repoconfig to yaml 2018-06-07 15:40:48 +01:00
Luke Kysow
2175b50472 Use new steps in plan/apply
- Fix lockURL issues by adding new Router object.
- Use new ProjectLocker and delete PreProjectExecutor.
2018-06-05 19:39:10 +01:00
Luke Kysow
143fb82bd2 Use new mux.SetURLVars function for testing. 2018-05-30 18:48:12 +02:00
Luke Kysow
a57d4c6618 Comment on pull request when lock discarded.
When the lock is discarded from the Atlantis UI, comment back on pull
request so users know the lock was discarded.

- Adds the BaseRepo field to the PullRequest model.
- This change is backwards compatible with previous installations where
the DB will have a Project model with a PullRequest without the BaseRepo
field.
2018-05-30 16:38:40 +02:00
mo-hit
9df3609e6e WIP Implement commenting on pull when lock deleted. 2018-05-30 16:28:58 +02:00
Luke Kysow
f21cf09417 Refactor to use VCS Host in Repo model. 2018-03-27 12:43:20 -07:00
Luke Kysow
b507bd0712 Add plugin cache. Don't run workspace if unneeded.
- run terraform with TF_PLUGIN_CACHE_DIR set so that terraform init will
be faster.
- check which workspace we're in and don't switch unless we need to.
- run terraform with TF_IN_AUTOMATION set so the plan output doesn't
have instructions that don't make sense. Ex.
```
This plan was saved to: /tmp/atlantis/data/repos/lkysow/atlantis-example/3/default/default.tfplan

To perform exactly these actions, run the following command to apply:
    terraform apply "/tmp/atlantis/data/repos/lkysow/atlantis-example/3/default/default.tfplan"
```
2018-03-20 15:05:12 -07:00
Luke Kysow
8aca81966f Add Apache 2 license and copyright.
Add Apache 2 license and Hootsuite copyright to all golang
files. Add a disclaimer that the files have been modified
hereafter by contributors to this repo in order to abide
by the Apache 2 license requirements.
2018-03-15 17:25:02 -07:00
Luke Kysow
b7e58e2378 Split GitHub comments into multiple if over max.
Fixes #55. GitHub will throw an error if the comment is over
65535 characters. Now we will split up a comment into multiple
comments if it's over that size.
2018-03-14 15:28:22 -07:00
Luke Kysow
359dd43f27 Put Atlantis version in footer. 2018-03-14 10:16:48 -07:00
Luke Kysow
a0f05f7001 Use const for version. Fix tests, format. 2018-03-14 10:04:09 -07:00
Paul Salaberria
1154a09536 Rename config structs
- Config to UserConfig
- FlagNames to Config
- Use AtlantisVersion to be clear
2018-03-11 23:38:33 +01:00
Paul Salaberria
d8f5ff71f3 Show atlantis version in index page 2018-03-11 23:12:37 +01:00
Luke Kysow
8ee9333e0d Use repo whitelist on atlantis bootstrap.
Fix e2e tests.
2018-03-08 23:14:21 -08:00
Luke Kysow
31dc84853a [Draft] Add --repo-whitelist option.
- this option is now required which breaks BC
- will validate that an event is coming from a repo that we trust
- started refactoring event_controller tests to use less mocks
2018-03-08 17:49:47 -08:00
Luke Kysow
35d3e14124 Add --allow-fork-prs option. Default to false.
Operating on forked pull requests is dangerous if it's a public repo
because anyone can make a pull request to a public repo. We default to
false like CircleCI and TravisCI who don't allow credentials to be
available on fork PRs.
2018-03-06 20:09:55 -08:00
Luke Kysow
a09ad79405 Refactor comment parsing into own class. 2018-02-28 10:42:21 -08:00
Luke Kysow
ab1d36d2c8 Comment back on pull request sooner on error.
- Refactor EventParser so it returns a comment we can send to the pull
request when a bad command or help command is commented.
- Remove now unneeded HelpExecutor because we comment right from the
EventsController now
- Use pflag package to parse commands instead of doing it manually
- Comment back when user types terraform instead of atlantis
2018-02-27 17:45:05 -08:00
Luke Kysow
6c159feff4 Rename to runatlantis from atlantisnorth. 2018-02-18 21:28:18 -08:00
Luke Kysow
0299d3ee12 Move to new atlantisnorth repo 2018-02-06 13:29:36 -08:00
Luke Kysow
c54dd589c6 Native SSL Support (#233)
Add two new flags ssl-key-file and ssl-cert-file to enable Atlantis to serve over SSL natively instead of going through an NGINX proxy.

This is a squashed commit containing the primary work by @natemueller
2018-01-23 11:32:22 -08:00
Luke Kysow
dd766b8ca8 Use 'SetBaseURL' to correctly set GitLab URL (#231)
This change updates server/server.go to set the GitLab URL using
the `Client.SetBaseURL` to set the base URL off of the configured
param. Previously even if a user set the `--gitlab-hostname` the
default URL for GitLab would not overriden to match this.
Work done by @jrasell

Closes #227
2018-01-15 21:53:51 -08:00
Luke Kysow
f72b674bd8 Rename Workspace to AtlantisWorkspace to avoid confusion 2017-12-17 17:16:04 -08:00
Luke Kysow
7c1220a655 Rename from environment to workspace 2017-12-17 16:46:49 -08:00
Luke Kysow
76e0de91f8 Shut down server safely on SIGINT/TERM. Fixes #21 2017-12-03 22:07:53 -08:00
Luke Kysow
cc924899e5 Add documentation for server, bootstrap and server/events packages 2017-11-26 21:41:06 -08:00
Luke Kysow
9dc9434db2 Slack integration (#199)
Thanks to @nicholas-wu-hs !
2017-11-16 20:13:06 -08:00
Luke Kysow
fa43febf60 Gitlab (#190)
Gitlab initial implementation
2017-11-16 13:22:28 -08:00
Luke Kysow
ec3d543c1e When log-level is debug, print filename and line (#189) 2017-11-12 10:11:21 -08:00
Luke Kysow
4670b67934 Merge pull request #175 from hootsuite/server-test
Server test
2017-11-04 11:40:49 -07:00
Luke Kysow
a70f7e46b0 Remove unused code 2017-11-02 07:09:21 -07:00
Luke Kysow
19c32d1124 Rename projectdetector 2017-11-01 08:03:26 -07:00
Luke Kysow
3528ce60ca Fix gometalint errors 2017-11-01 07:43:55 -07:00
Luke Kysow
65a07590de Test server 2017-11-01 07:41:37 -07:00
Luke Kysow
eeb39c5e7f Test plan_executor (#177)
* Refactor modified project detector and test

* Test plan_executor

* Unexport fields

* Update modified_projects_test.go
2017-10-31 20:16:12 -07:00
Luke Kysow
73d04fb89a Add gometalint. Fix errors (#176) 2017-10-31 20:07:41 -07:00
Luke Kysow
fe773fe757 Test cmd/server 2017-10-28 18:06:10 -07:00
Luke Kysow
1586b62425 Extract code from plan/apply into ProjectPreExecute. Test 2017-10-20 06:16:32 -07:00
Luke Kysow
031a1eba4f Refactor plan/apply into ProjectPreExecute 2017-10-19 07:43:10 -07:00
Luke Kysow
1caaaa03f7 Test pull request closed handling 2017-10-18 07:55:23 -07:00
Luke Kysow
aadd9ce367 Test EventsController Post() 2017-10-18 07:36:43 -07:00
Luke Kysow
75a71a9bbf Extract GHRequestValidator 2017-10-18 06:44:44 -07:00
Luke Kysow
c59b422949 Fmt 2017-10-18 06:44:44 -07:00
Luke Kysow
4dbe8cd0ba Move non-server packages under events 2017-10-18 06:44:44 -07:00
Luke Kysow
55dfc23754 Split Planner into two interfaces 2017-10-18 06:44:44 -07:00
Luke Kysow
1c3fb84112 Move non-server code into events package 2017-10-18 06:44:44 -07:00
Luke Kysow
a20a5e7474 Run fmt 2017-10-18 06:44:44 -07:00