Skip to content

Releases: cloudposse/geodesic

4.0.0-rc3

01 Jan 00:39
d9b0786
Compare
Choose a tag to compare
4.0.0-rc3 Pre-release
Pre-release

This is a release candidate for Geodesic v4. Please try it out and let us know what think in the #geodesic channel in the Cloud Posse Slack workspace. (Invitations available here.)

Read about the new features and breaking changes in the Draft Release Notes.

Highlights of Changes from 4.0.0-rc2

  • New --solo option may be a better name than --one-shell; they both do the same thing
  • Much more documentation
  • Better handling of errors and edge cases

4.0.0-rc2

30 Dec 12:22
c55309e
Compare
Choose a tag to compare
4.0.0-rc2 Pre-release
Pre-release

This is a release candidate for Geodesic v4. Please try it out and let us know what think in the #geodesic channel in the Cloud Posse Slack workspace. (Invitations available here.)

Read about the new features and breaking changes in the Draft Release Notes.

v3.4.2

30 Dec 13:46
4aaa813
Compare
Choose a tag to compare

Prevent pre-release Docker images from being tagged as "latest".

Footnote

In every release, we update all unpinned packages to their latest packaged versions. These changes are not detailed here.

4.0.0-rc1

29 Dec 07:31
0da2146
Compare
Choose a tag to compare
4.0.0-rc1 Pre-release
Pre-release

This is a release candidate for Geodesic v4. Please try it out and let us know what think in the #geodesic channel in the Cloud Posse Slack workspace. (Invitations available here.)

Read about the new features and breaking changes in the Draft Release Notes.

v3.4.1

29 Dec 08:15
9555d69
Compare
Choose a tag to compare

🧰 Included Tools

Dependency updates @Nuru (#960)

what

Update dependencies:

  • Python 3.12.7 -> 3.12.8
  • Debian 20241016 -> 20241223
  • helm-diff 3.9.11 -> 3.9.13

Unpinned packages are also automatically updated to current versions

why

  • Routine maintenance

Summary by CodeRabbit

  • Chores
    • Updated Debian base image date to 20241223
    • Upgraded Python version to 3.12.8
    • Updated Helm Diff plugin to version 3.9.13

Footnote

In every release, we update all unpinned packages to their latest packaged versions. These changes are not detailed here.

v3.4.0

17 Oct 08:27
a00723b
Compare
Choose a tag to compare

🚀 Enhancements

Fix ~/.aws symlink @Nuru (#959)

what

  • Restore symbolic link in $HOME to .aws
  • Update Debian 12.6 -> 12.7
  • Update Python 3.12.5 -> 3.12.7
  • Update helm-diff 3.9.9 -> 3.9.11

why

  • Fixes #958
  • Routine updates to current versions

🧰 Included Tools

  • Update Debian 12.6 -> 12.7
  • Update Python 3.12.5 -> 3.12.7
  • Update helm-diff 3.9.9 -> 3.9.11

Footnote

In every release, we update all unpinned packages to their latest packaged versions. These changes are not detailed here.

v3.3.0 Smarter abbreviation of EKS cluster name

09 Sep 21:07
a42555c
Compare
Choose a tag to compare

Footnote

In every release, we update all unpinned packages to their latest packaged versions. These changes are not detailed here.

v3.2.0

22 Aug 23:37
7b77797
Compare
Choose a tag to compare

🧰 Included Tools

Update Python to 3.12.5, fix init script @Nuru (#955)

what

  • Update Python 3.12.4 -> 3.12.5
  • Update Debian 12.6 from 20240722 to 20240812
  • Fix conversion of gomplate split to strings.Split done wrong in #953

why

  • Stay current
  • Fix #954

Footnote

In every release, we update all unpinned packages to their latest packaged versions. These changes are not detailed here.

v3.1.0 Update dependencies and tools

27 Jul 21:38
8609c30
Compare
Choose a tag to compare

🧰 Included Tools

Update dependencies and tools @Nuru (#953)

what

  • Update Debian 12.5 -> 12.6
  • Update Python 3.12.3 -> 3.12.4
  • Update kube-ps1 0.8.0 -> 0.9.0
  • Update helm-diff 3.9.4 -> 3.9.9
  • Update helm-git 0.15.1 -> 1.3.0
  • Update bootstrap gomplate template to use strings.Split instead of deprecated split
  • Update all unpinned packages to latest released versions

why

  • Keep current

🏗️ Build/Release Maintenance

Ignore updates to Alpine @Nuru (#952)

what

  • Configure Renovate to Ignore updates to Alpine version of Geodesic

why

  • No longer supporting Alpine
Migrate Renovate configuration (base -> recommended) per validator @Nuru (#951)

what

  • Migrate Renovate configuration (from base of config:base to config:recommended) per validator

why

  • Mend Renovate recommended update

references

Footnote

In every release, we update all unpinned packages to their latest packaged versions. These changes are not detailed here.

v3.0.0

04 Jun 03:48
cea5e23
Compare
Choose a tag to compare

🚀 Geodesic version 3 (#945)

Breaking Changes

Geodesic Version 3 is not about adding new features, it is about slimming down and removing support for outdated tools and workflows. Many have complained that the Geodesic Docker image is too big. Geodesic v3 is roughly half the size of the Geodesic v2.10.0. 🥳

As such, there are many breaking changes, but for most people, there should be little or no impact.

Major Changes

Alpine Discontinued

Geodesic was first released based on Alpine. With Version 2, we added a Debian-based version, and deprecated the Alpine version. Now, with Version 3, we are only publishing the Debian-based version.

Terraform replaced with OpenTofu

Previously, Geodesic shipped with the latest version of Terraform installed. Now Geodesic ships with OpenTofu installed instead. Using the Debian alternatives system, it is also installed as an alternative to Terraform, so it can be run as either tofu or terraform.

Unneeded Packages Removed

Recently we removed AWS CLI v1 and Google SDK from the base version of Geodesic. With Geodesic version 3, we are removing additional Debian packages that were not worth the space in the Docker image. For the most part, any of these tools can be added back using apt-get install in your Dockerfile if you want them.

Removed Packages
  • direnv
  • fuse3
  • goofys
  • groff (note that groff-base is installed instead, so the groff command itself remains)
  • musl-dev
  • pandoc
  • python3 (see note below)
  • terragrunt
  • variant
  • variant2
Note on Python3

The python3 Debian package installs a segregated Python in /usr/bin/python3 for use only by system packages. Significantly, this installation of Python uses dist-packages instead of site-packages to reference installed packages. Read more about this in Debian Python: Deviations from Upstream. We have not found it useful in Geodesic, so we no longer install it.

Geodesic continues to ship with a very recent version of Python installed for users in /usr/local/bin/python3 and using site-packages, sourced from the official Python source distribution.

Removed Support for Obsolete Workflows and Tools

Geodesic is the tool Cloud Posse uses to support its customers in their workflows. As Cloud Posse's reference architecture and standard workflows have changed, a lot of the custom scripts and other support for the old workflows is no longer in use and has not been maintained. In version 3, the support is fully removed. Here is a representative list of support that has been removed, though it may not be fully complete.

  • Many years ago, configurations were managed by a combination of Makefiles and direnv + envrc (and our similar tfenv tool). All of that support has been removed, including customizations and addons to make and Makefiles in general. We no longer use make from within Geodesic.
  • Around the same time, we built Kubernetes clusters using kops and had extensive support for that. That has all been removed in favor of using AWS EKS to manage Kubernetes, and other solutions (such as AWS ECS) for managing workloads without using Kubernetes.
  • As part of this ancient system, we had customized enhancements in support of helmfile. That support has been removed. We now use our own tool, Atmos to do all that helmfile could do and so much more.
  • We have also removed support for using make to generate your own Makefile to build your own version of Geodesic. That mechanism was too customized for kops and custom tooling we no longer support. We recommend instead that you use Makefile.custom file as a template and fill in the blanks manually.
  • Related scripts like build-kops-manifest, deps, kopsctl, and helmctl have been removed.
  • All custom support for Atlantis has been removed. You may be able to use Atlantis under Geodesic v3, but Cloud Posse stopped using Atlantis several years ago and so we are no longer providing official support for it.
  • Customized, built-in support for AWS authentication via Okta, aws-vault, and saml2aws has been dropped. We recommend managing authentication either via aws sso or Leapp, which provides support for integration with SAML IdP, AWS SSO, and other authentication mechanisms. (Note: Although Noovolari has announced the end of commercial support for Leapp Pro, Leapp started out as open source and we expect the open source version of Leapp to remain supported and one of the best cloud credential management tools available for the foreseeable future.)
  • Previously, we configured XDG_CONFIG_HOME (see the XDG Base Directory Specification for more details) to point to a directory in the Geodesic Docker image, so that we could store configuration supporting the above in that directory. With this initial release of Geodesic v3, we are starting to migrate XDG_* to the Docker host's file system. If you set XDG_CONFIG_HOME on your host, Geodesic will import that value for use from within Geodesic. (Moving Geodesic's own configuration to XDG_CONFIG_HOME is planned to come at a later date, most likely in Geodesic v4.) Geodesic no longer pre-populates anything in XDG_CONFIG_HOME.
  • Previously, Geodesic had support for mounting an AWS S3 bucket as a local file system. This was never terrifically robust, and was only used to support kops operations, so it has been entirely removed.

what

  • Drop Alpine version of Geodesic
  • Replace Terraform with OpenTofu
  • Remove obsolete and underutilized packages, tools, scripts, and related support

why

  • Alpine's incompatibilities with Linux are a continuing maintenance issue and not worth the relatively modest reduction in Docker image size given the volume of additional tools and support Geodesic adds.
  • Hashicorp has changed Terraform's License and it is no longer compatible with Cloud Posse's mission. OpenTofu is intended to be a drop-in replacement for Terraform and is in much better alignment with Cloud Posse's values.
  • Dramatically reduce the size of the Geodesic Docker image
  • Reduce the maintenance issues that result from having complex features that neither Cloud Posse nor its customers use anymore.