Small bugfix release to fix issues with new comment format.
Diff: https://github.com/runatlantis/atlantis/compare/v0.4.9...v0.4.10
None
- Fix bad comment rendering (#294)
- Fix
plan
not working on Bitbucket Server when repo owner contains spaces (#290)
None
runatlantis/atlantis:v0.4.10
This release is mostly focused on changing how comments look. Terraform output is now automatically hidden if it's over 12 lines long: Also the red and green highlighting for added and removed resources is fixed:
Diff: https://github.com/runatlantis/atlantis/compare/v0.4.8...v0.4.9
- Terraform output over 12 lines is hidden in comment until expanded
terraform plan
output is highlighted correctly- Terraform is now executed with
-var atlantis_repo={repo name} -var atlantis_pull_num {pull num}
. This will allow users to trace Atlantisterraform
executions in CloudTrail back to a specific user and pull request if using assume role by creating a specific name for the session Terraform initiates.
provider "aws" {
assume_role {
role_arn = "arn:aws:iam::ACCOUNT_ID:role/ROLE_NAME"
session_name = "${var.atlantis_user}-${var.atlantis_repo}-${var.atlantis_pull_num}"
}
}
- Run terraform with
-input=false
(#268).
- We set two new Terraform variables:
atlantis_repo
andatlantis_pull_num
. If you were using variables with those names in your code you will need to rename them in your code.
runatlantis/atlantis:v0.4.9
Security release to upgrade the Docker image to the latest version of Alpine linux that fixes this bug: https://justi.cz/security/2018/09/13/alpine-apk-rce.html
Diff: https://github.com/runatlantis/atlantis/compare/v0.4.7...v0.4.8
None
- Change server startup message to INFO from WARN level.
None
runatlantis/atlantis:v0.4.8
Support GitLab repos nested under multiple levels and use the latest version of Terraform: 0.11.8!
- Support GitLab groups which allow repos to be nested under multiple levels,
ex.
gitlab.com/owner/group/subgroup/subsubgroup/repo
- Use latest version of Terraform: 0.11.8 in Docker image
- When running with
TF_LOG
set, Atlantis will start normally. Previously it would error out due to attempting to parse the stderr output of theterraform version
command.
None
runatlantis/atlantis:v0.4.7
Just a small bugfix release.
None
- If
terraform init
fails, include the failure logs in the comment posted back to the PR.
None
runatlantis/atlantis:v0.4.6
atlantis apply
now applies all unapplied plans instead of just the plan in the root directory. (#169)atlantis plan
now plans all modified projects instead of just the root directory.- Plan comments now contain instructions for how to run apply or re-run plan.
- Ignore approvals from the pull request author (Bitbucket Cloud only). Fixes (#201)
- When double clicking on a GitHub comment, ex.
GitHub would add two newlines to the end. If this was then pasted into a new comment, Atlantis would accept it because of the extra newlines. This has been fixed and the comment with two newlines will be accepted.
atlantis apply
atlantis apply
now applies all unapplied plans. Previously it would only apply the plan in the root directory and default workspace.atlantis plan
now plans all modified projects. Previously it would only run plan in the root directory and default workspace.
runatlantis/atlantis:v0.4.5
- Supports Bitbucket Server (#190).
- Fix
/etc/hosts
not being respected (#196).
None
runatlantis/atlantis:v0.4.4
- Supports Bitbucket Cloud (bitbucket.org) (#30).
None
None
runatlantis/atlantis:v0.4.3
- Don't comment on pull request if autoplan determines there are no projects to plan in. This was getting very noisy for users who use their repos for more than just Terraform (#183).
None
None
runatlantis/atlantis:v0.4.2
- Add new
/healthz
endpoint for health checking in Kubernetes (#102) - Set
$PLANFILE
environment variable to expected location of plan file when running custom steps (#168)- This enables overriding the command Atlantis uses to
plan
and substituting your own or piping through a custom script.
- This enables overriding the command Atlantis uses to
- Changed default pattern to detect changed files to
*.tf*
from*.tf
in order to trigger on.tfvars
files.
None
None
runatlantis/atlantis:v0.4.1
- Autoplanning - Atlantis will automatically run
plan
on new pull requests and when new commits are pushed to the pull request. - New repository
atlantis.yaml
format that supports:- Complete customization of plans run
- Single config file for whole repository
- Controlling autoplanning
- Moved docs to standalone website from the README.
- Fixes:
- The old
atlantis.yaml
config file format is not supported. You will need to migrate to the new config format, see: https://www.runatlantis.io/docs/upgrading-atlantis-yaml-to-version-2.html - To use the new config file, you must run Atlantis with
--allow-repo-config
. - Atlantis will now try to automatically plan. To disable this, you'll need to create an
atlantis.yaml
file as follows:
version: 2
projects:
- dir: mydir
autoplan:
enabled: false
atlantis apply
no longer applies all un-applied plans but instead applies only the plan in the root directory and default workspace. This will be reverted in an upcoming releaseatlantis plan
no longer plans in all modified projects but instead runs plan only in the root directory and default workspace. This will be reverted in an upcoming release.
runatlantis/atlantis:v0.4.0
None
- If the
TF_LOG
environment variable is set, should still be able to start. Previouslyatlantis server
would exit immediately because it couldn't parse the output ofterraform version
.
None
runatlantis/atlantis:v0.3.11
- Rename
atlantis bootstrap
toatlantis testdrive
to make it clearer that it doesn't set up Atlantis for you. Fixes (#129). - Atlantis will now comment on a pull request when a plan/lock is discarded from the Atlantis UI. Fixes (#27).
- Fix issue during
atlantis bootstrap
where ngrok tunnel took a long time to start. Atlantis will now wait until it sees the expected log entry before continuing. Fixes (#92). - Fix missing error checking during
atlantis bootstrap
. (#130).
atlantis bootstrap
renamed toatlantis testdrive
runatlantis/atlantis:v0.3.10
- None
- Fix GitLab approvals not actually checking approval (#114)
- None
- Terraform 0.11.7 in Docker image
- Docker build now verifies terraform install via checksum
- None
- None
--repo-whitelist
is now case insensitive. Fixes (#95).
- None
atlantis server -h
has newlines between flags so it's easier to read (#91).
atlantis bootstrap
uses a custom ngrok config file so it should work even if the user is already running another ngrok tunnel (#93).
- None
- Log a warning if unable to update commit status. (#84)
- None
This release delivers some speed improvements through caching plugins and
not running terraform workspace select
unnecessarily. In my testing it saves ~20s per run.
- All config flags can now be specified by environment variables. Fixes (#38).
- Completed thanks to @psalaberria002!
- Run terraform with the
TF_PLUGIN_CACHE_DIR
env var set. Fixes (#34).- This will cache plugins and make
terraform init
faster. Terraform will still download new versions of plugins. See https://www.terraform.io/docs/configuration/providers.html#provider-plugin-cache for more details. - In my testing this saves >10s per run.
- This will cache plugins and make
- Run terraform with
TF_IN_AUTOMATION=true
so the output won't contain suggestions to run commands that you can't run via Atlantis. (#82). - Don't run
terraform workspace select
unless we actually need to switch workspaces. (#82).- In my testing this saves ~10s.
- Validate that workspace doesn't contain a path when running ex.
atlantis plan -w /jdlkj
. This was already not a valid workspace name according to Terraform. (#78). - Error out if
ngrok
is already running when runningatlantis bootstrap
(#81).
- None
- Atlantis version shown in footer of web UI. Fixes (#33).
- GitHub comments greater than the max length will be split into multiple comments. Fixes (#55).
- None
This release focused on some security issues reported by @eriksw, thanks Erik! By default, Atlantis will be more secure now and you'll have to specify which repositories you want it to work on.
- New flag
--allow-fork-prs
added toatlantis server
controls whether Atlantis will operate on pull requests from forks. Defaults tofalse
. This flag was added because on a public repository anyone could open up a pull request to your repo and use your Atlantis install. - New mandatory flag
--repo-whitelist
added toatlantis server
controls which repos Atlantis will operate on. This flag was added so that if a webhook secret is compromised (or you're not using webhook secrets) Atlantis won't be used on repos you don't control. - Warn if running
atlantis server
without any webhook secrets set. This is dangerous because without a webhook secret, an attacker could spoof requests to Atlantis. - Make CLI output more readable by setting a fixed column width.
- None
- Must set
--allow-fork-prs
now if you want to run Atlantis on pull requests from forked repos. - Must set
--repo-whitelist
in order to startatlantis server
. Seeatlantis server --help
for how that flag works.
- None
- Run apply in correct directory when using
-d
flag. Fixes (#22)
- None
- Fix security issue where Atlantis wasn't escaping the optional "extra args" that could be appended to comments (#16)
- example exploit:
atlantis plan ; cat /etc/passwd
- example exploit:
- Atlantis moved to new repo:
atlantisrun/atlantis
. Read why here - New -w/--workspace and -d/--dir flags in comments (#14)
- You can now specify which directory to plan/apply in, ex.
atlantis plan -d dir1/dir2
- You can now specify which directory to plan/apply in, ex.
- Better feedback from atlantis when asking for help via comments, ex.
atlantis plan -h
- Convert
--data-dir
paths to absolute from relative. Fixes (#245) - Don't run plan in the parent of
modules/
unless there's amain.tf
present. Fixes (#12)
- You must use the
-w
flag to specify a workspace when commenting now- Previously:
atlantis plan staging
, now:atlantis plan -w staging
- Previously:
- You must use a double-dash between Atlantis flags and extra args to be appended to the terraform command
- Previously:
atlantis plan -target=resource
, now:atlantis plan -- -target=resource
- Previously:
- Atlantis will no longer run
plan
in the parent directory ofmodules/
unless there is amain.tf
in that directory.
- SSL support added (#233)
- GitLab custom URL for GitLab Enterprise installations now works (#231)
None
None
- Use
env
instead ofworkspace
for Terraform 0.9.*
None
None
- The environment variables available when executing commands have changed:
WORKSPACE
=>DIR
- this is the absolute path to the project directory on diskENVIRONMENT
=>WORKSPACE
- this is the name of the Terraform workspace that we're running in (ex. default)
- The schema for storing locks changed. Any old locks will still be held but you will be unable to discard them in the UI.
To fix this, either merge all the open pull requests before upgrading OR delete the
~/.atlantis/atlantis.db
file. This is safe to do because you'll just need to re-runplan
to get your plan back.
- Don't ignore changes in
modules
directories anymore. (#211)
- Don't set
as_user
to true for Slack webhooks so we can integrate as a workspace app. (#206)
None
None
None
- Environment variables are passed through to
extra_arguments
. (#150) - Tested hundreds of lines of code. Test coverage now at 60%. (https://codecov.io/gh/hootsuite/atlantis)
- Modules in list of changed files weren't being filtered. (#193)
- Nil pointer error in bootstrap mode. (#181)
None
- all flags passed to
atlantis plan
oratlantis apply
will now be passed through toterraform
. (#131)
- Fix command parsing when comment ends with newline. (#131)
- Plan and Apply outputs are shown in new line. (#132)
--aws-assume-role-arn
and--aws-region
flags removed. Instead, to name the assume role session with the GitHub username of the user running the Atlantis command use theatlantis_user
terraform variable alongside Terraform's built-in support for assume role (see https://github.com/runatlantis/atlantis/blob/master/README.md#assume-role-session-names)- Atlantis has a docker image now (#123). Here is how you can try it out:
docker run runatlantis/atlantis:v0.1.1 server --gh-user=GITHUB_USERNAME --gh-token=GITHUB_TOKEN