-
-
Notifications
You must be signed in to change notification settings - Fork 121
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Geodesic version 3 #945
Merged
Geodesic version 3 #945
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
milldr
previously approved these changes
May 31, 2024
This was referenced Dec 28, 2024
Closed
Closed
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
orterraform
.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
groff-base
is installed instead, so thegroff
command itself remains)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 usesdist-packages
instead ofsite-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 usingsite-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.
direnv
+envrc
(and our similartfenv
tool). All of that support has been removed, including customizations and addons tomake
and Makefiles in general. We no longer usemake
from within Geodesic.make
to generate your own Makefile to build your own version of Geodesic. That mechanism was too customized forkops
and custom tooling we no longer support. We recommend instead that you useMakefile.custom
file as a template and fill in the blanks manually.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.helmfile
could do and so much more.build-kops-manifest
,deps
,kopsctl
, andhelmctl
have been removed.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.)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 migrateXDG_*
to the Docker host's file system. If you setXDG_CONFIG_HOME
on your host, Geodesic will import that value for use from within Geodesic. (Moving Geodesic's own configuration toXDG_CONFIG_HOME
is planned to come at a later date, most likely in Geodesic v4.) Geodesic no longer pre-populates anything inXDG_CONFIG_HOME
.kops
operations, so it has been entirely removed.what
why