cloudposse / geodesic

🚀 Geodesic is a DevOps Linux Toolbox in Docker
https://cloudposse.com/accelerate
Apache License 2.0
929 stars 117 forks source link

Geodesic version 3 #945

Closed Nuru closed 1 month ago

Nuru commented 1 month ago

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](https://wiki.debian.org/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](https://www.python.org/downloads/source/).

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.

what

why