#geodesic (2024-11)

geodesic https://github.com/cloudposse/geodesic

Discussions related to https://github.com/cloudposse/geodesic

Archive: https://archive.sweetops.com/geodesic/

2024-11-26

Samuel Than avatar
Samuel Than

hi, I’m doing a docker image build via the makefile. Using this https://github.com/cloudposse/atmos/blob/main/examples/quick-start-advanced/Dockerfile example, have anyone came across this error before ?

Step 20/24 : RUN apt-get update && apt-get install -y -u --allow-downgrades   terraform-1="${TF_VERSION}-*" &&   update-alternatives --set terraform /usr/share/terraform/1/bin/terraform
 ---> Running in ce0ba58df71b
Hit:1 <http://deb.debian.org/debian> bookworm InRelease
Hit:2 <http://deb.debian.org/debian> bookworm-updates InRelease
Hit:3 <http://deb.debian.org/debian-security> bookworm-security InRelease
Get:4 <https://dl.cloudsmith.io/public/cloudposse/packages/deb/debian> bookworm InRelease [4979 B]
Hit:5 <https://packages.cloud.google.com/apt> cloud-sdk InRelease
Hit:6 <https://packages.opentofu.org/opentofu/tofu/any> any InRelease
Fetched 4979 B in 2s (3107 B/s)
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
Package terraform-1 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Version '1.9.8-*' for 'terraform-1' was not found
The command '/bin/sh -c apt-get update && apt-get install -y -u --allow-downgrades   terraform-1="${TF_VERSION}-*" &&   update-alternatives --set terraform /usr/share/terraform/1/bin/terraform' returned a non-zero code: 100
make[1]: *** [docker/build] Error 100
make: *** [build] Error 2
# Geodesic: <https://github.com/cloudposse/geodesic/>
ARG GEODESIC_VERSION=3.4.0
ARG GEODESIC_OS=debian

# Atmos
# <https://atmos.tools/>
# <https://github.com/cloudposse/atmos>
# <https://github.com/cloudposse/atmos/releases>
ARG ATMOS_VERSION=1.109.0

# Terraform: <https://github.com/hashicorp/terraform/releases>
ARG TF_VERSION=1.9.8

FROM cloudposse/geodesic:${GEODESIC_VERSION}-${GEODESIC_OS}

# Geodesic message of the day
ENV MOTD_URL="<https://geodesic.sh/motd>"

# Geodesic banner message
ENV BANNER="atmos"

ENV DOCKER_IMAGE="cloudposse/atmos"
ENV DOCKER_TAG="latest"

# Some configuration options for Geodesic
ENV AWS_SAML2AWS_ENABLED=false
ENV AWS_VAULT_ENABLED=false
ENV AWS_VAULT_SERVER_ENABLED=false
ENV GEODESIC_TF_PROMPT_ACTIVE=false
ENV DIRENV_ENABLED=false
ENV NAMESPACE="acme"

# Enable advanced AWS assume role chaining for tools using AWS SDK
# <https://docs.aws.amazon.com/sdk-for-go/api/aws/session/>
ENV AWS_SDK_LOAD_CONFIG=1
ENV AWS_DEFAULT_REGION=us-east-2

# Install specific version of Terraform
ARG TF_VERSION
RUN apt-get update && apt-get install -y -u --allow-downgrades \
  terraform-1="${TF_VERSION}-*" && \
  update-alternatives --set terraform /usr/share/terraform/1/bin/terraform

# Install atmos
ARG ATMOS_VERSION
RUN apt-get update && apt-get install -y --allow-downgrades atmos="${ATMOS_VERSION}-*"

COPY rootfs/ /

WORKDIR /

Jeremy G (Cloud Posse) avatar
Jeremy G (Cloud Posse)

Geodesic only supports Terraform up to version 1.5.7 due to licensing issues. Either change

ARG TF_VERSION=1.9.8

to

ARG TF_VERSION=1.5.7

or remove the Terraform installation and switch to OpenTofu

# Geodesic: <https://github.com/cloudposse/geodesic/>
ARG GEODESIC_VERSION=3.4.0
ARG GEODESIC_OS=debian

# Atmos
# <https://atmos.tools/>
# <https://github.com/cloudposse/atmos>
# <https://github.com/cloudposse/atmos/releases>
ARG ATMOS_VERSION=1.109.0

# Terraform: <https://github.com/hashicorp/terraform/releases>
ARG TF_VERSION=1.9.8

FROM cloudposse/geodesic:${GEODESIC_VERSION}-${GEODESIC_OS}

# Geodesic message of the day
ENV MOTD_URL="<https://geodesic.sh/motd>"

# Geodesic banner message
ENV BANNER="atmos"

ENV DOCKER_IMAGE="cloudposse/atmos"
ENV DOCKER_TAG="latest"

# Some configuration options for Geodesic
ENV AWS_SAML2AWS_ENABLED=false
ENV AWS_VAULT_ENABLED=false
ENV AWS_VAULT_SERVER_ENABLED=false
ENV GEODESIC_TF_PROMPT_ACTIVE=false
ENV DIRENV_ENABLED=false
ENV NAMESPACE="acme"

# Enable advanced AWS assume role chaining for tools using AWS SDK
# <https://docs.aws.amazon.com/sdk-for-go/api/aws/session/>
ENV AWS_SDK_LOAD_CONFIG=1
ENV AWS_DEFAULT_REGION=us-east-2

# Install specific version of Terraform
ARG TF_VERSION
RUN apt-get update && apt-get install -y -u --allow-downgrades \
  terraform-1="${TF_VERSION}-*" && \
  update-alternatives --set terraform /usr/share/terraform/1/bin/terraform

# Install atmos
ARG ATMOS_VERSION
RUN apt-get update && apt-get install -y --allow-downgrades atmos="${ATMOS_VERSION}-*"

COPY rootfs/ /

WORKDIR /

Jeremy G (Cloud Posse) avatar
Jeremy G (Cloud Posse)

@Andriy Knysh (Cloud Posse) Please fix the Dockerfile in the Atmos quickstart

1
Samuel Than avatar
Samuel Than

ok makes sense now. Was banging my head on this

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

@Samuel Than please update your Dockerfile to use TF 1.5.7 (we’ll update it in atmos as well)

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

Or as @Jeremy G (Cloud Posse) said, use opentofu.

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

No need to stay pinned to a 1+ year old version of MPL terraform.

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

We should def update our examples to use opentofu latest.

2024-11-27

    keyboard_arrow_up