Description
Describe the Feature
-
✅ As a user of the leverage command line interface, I would like to request a feature that would allow for automatic management of version and dependencies.
-
✅ This feature would greatly improve the reliability and ease of use of the command line interface. It would also help to ensure that users are always using the most up-to-date and stable versions of the compatible toolbox, which would ultimately lead to fewer issues and support requests.
Expected Behavior
-
The
leverage
CLI (Command Line Interface) should have a range restricting and controlling which versions of the toolbox can be used based on a clear compatibility matrix backed by automated tests. Let's say, it would be like centralizing the responsibility and logic of the compatibility matrix in one point, the CLI. -
Any
leverage
cli command will be able to run even if thebuild.env
file does not contains a definition for the https://github.com/binbashar/le-docker-leverage-toolbox
- ⚔️
TERRAFORM_IMAGE_TAG=1.2.7-0.0.5
Use Case
An example use case for this feature would be a user who is working on a project that requires version 1.9.2
of the leverage cli
and TERRAFORM_IMAGE_TAG=1.3.5-0.1.0
of the toolbox. However, the user has installed cli 1.9.2
but has an older toolbox docker image version TERRAFORM_IMAGE_TAG=1.2.7-0.0.1
. Without an automated compatibility internal check, the user would need to manually check and ensure compatibility between the different versions in the doc. This process can be time-consuming and error-prone.
With the proposed feature, the user would simply be able to install the latest cli version and the compatibility check will be automatic, which would clearly state that version x.y.z of the toolbox is incompatible with version a.b.c of the cli. This would save the user valuable time and prevent potential errors or compatibility issues. Additionally, the user would be able to use the command line interface to automatically manage the versions and dependencies, ensuring that the correct versions are used for the project.
Describe Ideal Solution
Please review this definition with
- 1ry contact @diego-ojeda-binbash (Leverage Software Architect)
- 2ry contact @juanmatias @angelofenoglio (Main Developers and contributors)
Additional Context
- I've seen we have a clearer compatibility matrix, easily accessible and visible to the user. Which has already make it easier to understand which versions of the leverage docker toolbox are compatible with one another, and is already improving the overall user experience.
- Related issues
- leverage cli | Feature | Create a CLI-Toolbox matrix for tests #137
- Ref Arch v1 | Enhancement | Update build.env le-tf-infra-aws#446
- leverage doc | Doc | Add "Extending Leverage" section le-ref-architecture-doc#143