Check local dependency to "jq"
tfsjohan opened this issue · 3 comments
When running locally, user might not have the jq dependency installed. We should check for this when checking other prerequisites.
See my note on #83. This would be the alternative approach that I mentioned -- checking for dependencies individually and stacking up the check_*
functions. Thoughts? It's a pivotal decision point -- do we push customers to always use the cloud shell or do we keep adding these functions? I can see both sides --
- There are going to be places where running the script in the cloud shell is inconvenient. I can see corporate governance/security and CI/CD reasons for this.
- We build the setup scripts with the assumption that all the dependencies are there because we know they will be with the cloud shell. I can see developers modifying the setup script and introducing new dependencies that are supported by the cloud shell but not in other places. Adding any new dependency would require a similar check function so the maintenance burden increases a little. Also, there are a few scripts where we'd need to make this change.
As I wrote in the PR, I think making sure user is in a Cloud Shell is better than check each dependency. My first thought was that we should be able to run this locally. But after thinking more deeply about it, I think it's the wrong path. Requiring a Cloud Shell and informing the user of that when trying to run locally, is a better and easier way to do this. Feels safer over time.
I think this will be a moot point if we enforce Cloud Shell. My only concern is for customers currently deploying Mona automatically through a CI/CD pipeline, etc.