Skip to content

Releases: runatlantis/atlantis

v0.4.13

20 Dec 19:29
41059d7
Compare
Choose a tag to compare

Description

This release is focused on quick-wins, bugfixes and one new feature that allows
users to require pull requests be "mergeable", before allowing for atlantis apply.

The mergeable apply requirement is very useful for GitHub users where it allows
them to require pull requests be approved by specific users or require certain
status checks to pass. See https://www.runatlantis.io/docs/apply-requirements.html#mergeable for
more information.

Diff: v0.4.12...v0.4.13

Features

  • Introduce a new (optional) mergeable apply requirement that requires pull requests to be mergeable prior to allowing apply to run. (Fixes #43)

  • If users have workspaces configured for a directory via an atlantis.yaml file, only allow
    commands to be run on those workspaces. All commands attempted to be run on different workspaces will error out.

    For example, if I have an atlantis.yaml file:

    version: 2
    projects:
    - dir: mydir
      workspace: default
    - dir: mydir
      workspace: staging

    Then I can run atlantis apply -d mydir -w default and atlantis apply -d mydir -w staging
    but I will receive an error if I run atlantis apply -d mydir -w somethingelse.

  • If users are setting the name key for their projects in atlantis.yaml, then
    include the project name in the comment output so it's easier to identify which
    plan/apply output is for which project. (Fixes #353)

  • Bump the Terraform version in the Docker image to 0.11.11.

  • Tweak logging to add timezone to the timestamp and make the output more readable. (#402)

  • Warn users if running atlantis apply -- -target=myresource because -target can
    only be specified during atlantis plan. (Fixes #399)

Bugfixes

  • If terraform plan returns an error, print the error to the pull request. (#381)
  • Split Bitbucket Server comments into multiple comments if over the max size. (Fixes #280)
  • Fix issue where if users specified --gitlab-hostname without a scheme then Atlantis wouldn't parse the URL correctly. (#377)
  • Give better error message if GitLab users are commenting on commits instead of a merge request. (Fixes #150, #390)
  • If an error occurs early in request processing, comment that error back on the pull request.
    Previously, we were commenting back on errors but not for errors very early in the processing. (Fixes #398)

Backwards Incompatibilities / Notes:

  • The version of Terraform installed in the runatlantis/atlantis Docker image
    is now 0.11.11. Previously it was 0.11.10.

  • If you are a) using an atlantis.yaml file and b) defining Terraform workspaces
    and c) running plan and apply against workspaces that were not defined in the
    atlantis.yaml file, then this no longer works.

    You will now need to define all the workspaces in the atlantis.yaml file.
    For example, say you had the following config:

    version: 2
    projects:
    - dir: mydir
      workspace: production

    And you used to run:

    atlantis plan -d mydir -w anotherworkspace
    atlantis apply -d mydir -w anotherworkspace
    

    For this to work now, you need to add the anotherworkspace workspace to your
    atlantis.yaml file:

    version: 2
    projects:
    - dir: mydir
      workspace: production
    - dir: mydir
      workspace: anotherworkspace

Docker

runatlantis/atlantis:v0.4.13

v0.4.12

30 Nov 16:29
387186e
Compare
Choose a tag to compare

v0.4.12

Description

Small feature and bug fix release. If you're using GitLab <11.1 then your
comment formatting is fixed!

Diff: v0.4.11...v0.4.12

Features

  • Atlantis can now be hosted behind a path-based router and its UI will still
    render correctly. For example, you could host atlantis at mydomain.com/mypath,
    then run atlantis server --atlantis-url https://mydomain.com/mypath and when
    atlantis renders its UI, all the URLs will have the /mypath prefix so the UI
    renders properly. (Fixes #213)
  • Log warning if GitLab hostname isn't resolvable. (Fixes #359)
  • Support running our official Docker image runatlantis/atlantis on OpenShift. OpenShift runs images
    with random uids so we needed to build in support for that. (Fixes #345)

Bugfixes

  • If the output is too long for a single GitHub comment, maintain formatting when
    splitting into multiple comments. (Fixes #111)
  • Fix bug with using the pagination API in BitBucket. (#354)
  • If using GitLab < 11.1 then don't use expandable markdown comments. (Fixes #315)
  • Fix output from custom steps that came before the plan step from being removed. (#367)

Backwards Incompatibilities / Notes:

We made changes to the base image (runatlantis/atlantis-base) that
runatlantis/atlantis is built off of. These changes should not affect your
running of atlantis unless you're building your own custom images and were relying
on specific user permissions. Even then we don't anticipate any problems.

These are the changes in detail:

  1. Previously, the permissions of /home/atlantis were:

    $ ls -la /home/atlantis/
    drwxr-sr-x    2 atlantis atlantis      4096 Sep 13 22:49 .

    Now they are:

    $ ls -la /home/atlantis/
    drwxrwxr-x    2 atlantis root          4096 Nov 28 21:22 .
    • The directory is now owned by the root group.
    • Its group permissions now include w and x.

    This was needed because OpenShift runs Docker images as random uid's under
    the root group and so now those random uid's can use /home/atlantis as their
    data directory.

  2. Previously, the atlantis user was only part of its own group:

    $ gosu atlantis sh
    $ whoami
    atlantis
    $ groups
    atlantis

    Now it's also part of the root group:

    $ gosu atlantis sh
    $ groups
    atlantis root
  3. Previously, the permissions for /etc/passwd were:

    $ ls -la /etc/passwd
    -rw-r--r--    1 root     root          1284 Sep 13 22:49 /etc/passwd

    Now the permissions are:

    $ ls -la /etc/passwd
    -rw-rw-r--    1 root     root          1284 Nov 28 21:22 /etc/passwd

    The w group permission was added so that in OpenShift, the random uid can write
    their own login entry (https://github.com/runatlantis/atlantis/blob/master/docker-entrypoint.sh#L28)
    which is required because terraform expects the running user to have an entry
    in /etc/passwd.

Docker

runatlantis/atlantis:v0.4.12

v0.4.11

30 Oct 22:05
2fbfeab
Compare
Choose a tag to compare

Description

Medium sized release that updates the Terraform version and makes terraform plan
output smaller by removing the Refreshing... output.

Diff: v0.4.10...v0.4.11

Features

  • Upgraded Docker image to use Terraform 0.11.10
  • terraform plan output is shorter now thanks to remove the Refreshing... output (#339)
  • Project names specified in atlantis.yaml can now contain /'s. This is useful
    if you want to name your projects similar to the directories they're in. (Fixes #253)
  • Added new flag --silence-whitelist-errors which prevents Atlantis from comment back on pull requests
    from non-whitelisted repos. This is useful if you want to add the Atlantis webhook to a whole organization
    and then control which repos are actioned on via the whitelist. (Fixes #312)
  • The message when the project is locked is now more helpful. (#336)
  • Run terraform plan with -var atlantis_repo_owner=runatlantis -var atlantis_repo_name=atlantis -var atlantis_pull_num=10
    (if the repo was runatlantis/atlantis) (#300)

Bugfixes

  • Quote plan filenames so that Bitbucket projects with spaces in their names still work (Fixes #302)

Backwards Incompatibilities / Notes:

  • Atlantis now runs terraform plan with

    -var atlantis_repo_owner=runatlantis \
    -var atlantis_repo_name=atlantis \
    -var atlantis_pull_num=10

    (in this example the repo that Atlantis is running on is runatlantis/atlantis).

    If you were using those variables in your terraform code:

    variable "atlantis_repo_owner" {
      default = "my_default"
    }

    Then Atlantis will be overriding those variables with its own values. To prevent
    this, you need to rename your variables.

    If you aren't using those variables then this change won't affect you.

Docker

runatlantis/atlantis:v0.4.11

v0.4.10

28 Sep 16:53
0c7fa9d
Compare
Choose a tag to compare

v0.4.10

Description

Small bugfix release to fix issues with new comment format.

Diff: v0.4.9...v0.4.10

Features

None

Bugfixes

  • Fix bad comment rendering (#294)
  • Fix plan not working on Bitbucket Server when repo owner contains spaces (#290)

Backwards Incompatibilities / Notes:

None

Docker

runatlantis/atlantis:v0.4.10

v0.4.9

27 Sep 20:17
a0de1c8
Compare
Choose a tag to compare

v0.4.9

Description

This release is mostly focused on changing how comments look. Terraform output
is now automatically hidden if it's over 12 lines long:
https://user-images.githubusercontent.com/1034429/45580771-d4603b80-b849-11e8-8c4b-5984bd0bff7f.png
Also the red and green highlighting for added and removed resources is fixed:
https://user-images.githubusercontent.com/1034429/45580777-d9bd8600-b849-11e8-8f2d-867fbf4e72d7.png

Diff: v0.4.8...v0.4.9

Features

  • 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 Atlantis terraform 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}"
  }
}

Bugfixes

  • Run terraform with -input=false (#268).

Backwards Incompatibilities / Notes:

  • We set two new Terraform variables: atlantis_repo and atlantis_pull_num. If
    you were using variables with those names in your code you will need to rename them
    in your code

Docker

runatlantis/atlantis:v0.4.9

v0.4.8

13 Sep 23:19
4ba8740
Compare
Choose a tag to compare

Description

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: v0.4.7...v0.4.8

Features

None

Bugfixes

  • Change server startup message to INFO from WARN level.

Backwards Incompatibilities / Notes:

None

Docker

runatlantis/atlantis:v0.4.8

v0.4.7

24 Aug 02:05
fb1337b
Compare
Choose a tag to compare

Description

Support GitLab repos nested under multiple levels and use the latest version of Terraform: 0.11.8!

Features

  • 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

Bugfixes

  • When running with TF_LOG set, Atlantis will start normally. Previously it
    would error out due to attempting to parse the stderr output of the terraform version
    command.

Backwards Incompatibilities / Notes:

None

Docker

runatlantis/atlantis:v0.4.7

v0.3.11

21 Aug 19:04
Compare
Choose a tag to compare

v0.3.11

NOTE: This is a patch release! Please use the latest 0.4.* release.

Features

None

Bugfixes

  • If the TF_LOG environment variable is set, should still be able to start. Previously atlantis server would exit immediately because it couldn't parse the output of terraform version.

Backwards Incompatibilities / Notes:

None

Docker

runatlantis/atlantis:v0.3.11

v0.4.6

18 Aug 01:15
83d9e31
Compare
Choose a tag to compare

v0.4.6

Description

Just a small bugfix release.

Features

None

Bugfixes

  • If terraform init fails, include the failure logs in the comment posted back to the PR.

Backwards Incompatibilities / Notes:

None

Docker

runatlantis/atlantis:v0.4.6

v0.4.5

10 Aug 20:28
2b8d48b
Compare
Choose a tag to compare

Features

  • 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, ex:
  • ▶️ To apply this plan, comment:
    • atlantis apply -d .
  • 🚮 To delete this plan click here
  • 🔁 To plan this project again, comment:
    • atlantis plan -d .

Bugfixes

  • Ignore approvals from the pull request author (Bitbucket Cloud only). Fixes (#201)
  • When double clicking on a GitHub comment, ex.
    atlantis apply
    
    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.

Backwards Incompatibilities / Notes:

  • 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.

Docker

runatlantis/atlantis:v0.4.5