#geodesic (2024-11)
Discussions related to https://github.com/cloudposse/geodesic
Archive: https://archive.sweetops.com/geodesic/
2024-11-26
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 /
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 /
@Andriy Knysh (Cloud Posse) Please fix the Dockerfile in the Atmos quickstart
ok makes sense now. Was banging my head on this
@Samuel Than please update your Dockerfile to use TF 1.5.7 (we’ll update it in atmos as well)
Or as @Jeremy G (Cloud Posse) said, use opentofu.
No need to stay pinned to a 1+ year old version of MPL terraform.
We should def update our examples to use opentofu latest.