#atlantis (2019-09)
Discuss the Atlantis (<http://runatlantis.io | runatlantis.io>) |
**Archive: ** https://archive.sweetops.com/atlantis/
2019-09-10

Today, we’re excited to announce the full release of Terraform Cloud. This release brings the automation and collaboration features of Terraform Enterprise to the greater Terraform…
2019-09-19

Have you used this much @Igor?

I’m curious to know how it plays out

No, not at all, I am also curious about it

Sticking to Atlantis for the time being

OK! I’ll set one up next week and give it a crack

yeah - same here.

Mostly because we don’t use workspaces


Yeah - I feel the same, I too am not using workspaces, I’m using the terragrunt/atlantis method

I’m doing a talk on Atlantis here in NZ and Hashicorp where pushing their enterprise tools our way to present

IIRC The guys that managed Atlantis were hired by Hashicorp, so I am sure there is a lot of influence that they’ll have on their Terraform Cloud product

But Atlantis the project is also pushing workspaces :-)
2019-09-20

Atlantis config has built-in support for custom commands though

Whereas workspaces appear mandatory in the Terraform Cloud world (on first sight)

They also demo having environment-specific git branches, which doesn’t make any sense to me

(unless it’s a short-lived environment)

Hi Guys. I’m getting atlantis to execute helmfile workflow. I created a docker image based on the official atlantis’ image with all of the necessary goodies that are needed and bizarre things happen:
If I docker run -it my_atlantis /bin/bash
and run helm help
it lists all the commands including the plugins.
However, if I run the same command as part of a custom atlantis’ workflow, none of the plugins are there.
Any ideas?

@Jakub Korzeniowski are you running the same image for the atlantis workflow?

doesn’t the atlantis image have a “atlantis” user? If so, you would need to install the plugins for the atlantis user

you can create a directory for helm and set the HELM_HOME env variable to that

then install the helm plugins

don’t forget to set the permissions on the dir

this is an example of our image with atlantis installed (geodesic
is the base image, which has terraform
, helm
, helfile
and other stuff installed)
https://github.com/cloudposse/testing.cloudposse.co/blob/master/Dockerfile
this is how the atlantis server gets configured in the base geodesic
image
https://github.com/cloudposse/geodesic/blob/master/rootfs/etc/init.d/atlantis.sh
atlantis worflows https://github.com/cloudposse/testing.cloudposse.co/blob/master/atlantis.yaml
Example Terraform Reference Architecture that implements a Geodesic Module for an Automated Testing Organization in AWS - cloudposse/testing.cloudposse.co
Geodesic is a cloud automation shell. It's the fastest way to get up and running with a rock solid, production grade cloud platform built on top of strictly Open Source tools. ★ this repo! h…
Example Terraform Reference Architecture that implements a Geodesic Module for an Automated Testing Organization in AWS - cloudposse/testing.cloudposse.co

curious how well it works to use atlantis with helm/helmfile

works well for us

this is an example of atlantis workflow for helmfiles
:
helmfile:
plan:
steps:
- run: "chamber exec kops -- kops export kubecfg"
- run: 'chamber exec kops -- direnv exec "$DIR" helmfile diff --suppress-secrets --args="--allow-unreleased --context 5 --no-color"
apply:
steps:
- run: "chamber exec kops -- kops export kubecfg"
- run: 'test -x "$DIR"/namespace-annotations.sh && chamber exec kops -- direnv exec "$DIR" "$DIR"/namespace-annotations.sh || echo "No script found to annotate namespaces"'
- run: 'chamber exec kops -- direnv exec "$DIR" helmfile apply --suppress-secrets'

and this is atlantis project config to deploy helmfiles
- name: "helmfiles"
workflow: "helmfile"
dir: "conf/helmfiles"
workspace: "default"
autoplan:
when_modified:
- "*.yaml"
- "*.yaml.gotmpl"
- "*.envrc"
- ".envrc"
enabled: true
apply_requirements:
- "approved"

that’s awesome

I’ve been looking at ArgoCD for doing the k8s CD, any thoughts on that project?

i have yet to try it out , just reading up on it

did not use it, but looks very cool

did you look at GitHub Actions? https://deliverybot.dev/2019/09/15/deploying-to-kubernetes-with-helm-and-github-actions/
This tutorial will go through the basics of GitHub actions as well as deploying to Kubernetes using a pre-built Helm action

we use Azure DevOps which is what GithHub Actions is built on, but I’m trying to move away from having our CI systems from talking to our K8s clusters directly

which is why I like Atlantis and ArgoCD

I can run those within our network