#atlantis (2019-09)

atlantis

Discuss the Atlantis (http://runatlantis.io|runatlantis.io) *Archive: * https://archive.sweetops.com/atlantis/

2019-09-20

imiltchman avatar
imiltchman

Atlantis config has built-in support for custom commands though

imiltchman avatar
imiltchman

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

imiltchman avatar
imiltchman

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

imiltchman avatar
imiltchman

(unless it’s a short-lived environment)

Jakub Korzeniowski avatar
Jakub Korzeniowski

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?

Andriy Knysh (Cloud Posse) avatar
Andriy Knysh (Cloud Posse)

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

zeid.derhally avatar
zeid.derhally

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

zeid.derhally avatar
zeid.derhally

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

zeid.derhally avatar
zeid.derhally

then install the helm plugins

zeid.derhally avatar
zeid.derhally

don’t forget to set the permissions on the dir

Andriy Knysh (Cloud Posse) avatar
Andriy Knysh (Cloud Posse)

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

cloudposse/testing.cloudposse.co

Example Terraform Reference Architecture that implements a Geodesic Module for an Automated Testing Organization in AWS - cloudposse/testing.cloudposse.co

cloudposse/geodesic

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…

cloudposse/testing.cloudposse.co

Example Terraform Reference Architecture that implements a Geodesic Module for an Automated Testing Organization in AWS - cloudposse/testing.cloudposse.co

zeid.derhally avatar
zeid.derhally

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

Andriy Knysh (Cloud Posse) avatar
Andriy Knysh (Cloud Posse)

works well for us

Andriy Knysh (Cloud Posse) avatar
Andriy Knysh (Cloud Posse)

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'
Andriy Knysh (Cloud Posse) avatar
Andriy Knysh (Cloud Posse)

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"
zeid.derhally avatar
zeid.derhally

that’s awesome

zeid.derhally avatar
zeid.derhally

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

zeid.derhally avatar
zeid.derhally

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

Andriy Knysh (Cloud Posse) avatar
Andriy Knysh (Cloud Posse)

did not use it, but looks very cool

Andriy Knysh (Cloud Posse) avatar
Andriy Knysh (Cloud Posse)
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

zeid.derhally avatar
zeid.derhally

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

zeid.derhally avatar
zeid.derhally

which is why I like Atlantis and ArgoCD

zeid.derhally avatar
zeid.derhally

I can run those within our network

2019-09-19

Callum Robertson avatar
Callum Robertson

Have you used this much @imiltchman?

Callum Robertson avatar
Callum Robertson

I’m curious to know how it plays out

imiltchman avatar
imiltchman

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

imiltchman avatar
imiltchman

Sticking to Atlantis for the time being

Callum Robertson avatar
Callum Robertson

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

Callum Robertson avatar
Callum Robertson

yeah - same here.

imiltchman avatar
imiltchman

Mostly because we don’t use workspaces

imiltchman avatar
imiltchman

And I’m afraid Hashicorp is pushing for workspaces

:100:2
Callum Robertson avatar
Callum Robertson

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

Callum Robertson avatar
Callum Robertson

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

imiltchman avatar
imiltchman

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

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

But Atlantis the project is also pushing workspaces :-)

2019-09-10

imiltchman avatar
imiltchman
Announcing Terraform Cloud

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…

    keyboard_arrow_up