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.
Description
Magento/Adobe Commerce Cloud ENVs are using "base64 + json encoded" ENV variables for storing credentials & configuration. Like:
You would need to read this ENV variable in case when it is required to build a cross-env "bash" script which would be tested/used locally as well (like DB operations, etc).
The easiest way to properly read json data in "bash" without injecting PHP would be using "jq", like:
MYSQL_USER="$(echo $MAGENTO_CLOUD_RELATIONSHIPS | base64 -d | jq -r '.database[0].username')"
All the Magento Cloud ENVs (Integration/Staging/PROD) has "jq" installed by default, but it doesn't exists locally, forcing us to install it locally (via apt-get) each time when the script should be executed.
Manual testing scenarios
echo $MAGENTO_CLOUD_RELATIONSHIPS | base64 -d | jq -r '.database[0].username'
Release notes
Added "jq" CLI tool to easily read json-encoded ENV variables in PHP CLI containers.
Contribution checklist