Morning!
So having worked on making Syndesis installable on minikube, a large piece of the puzzle was
updating the `syndesis` bash scripts.
Going into this I'd like to first say I love bash. I have a vast collection of bash scripts on my
computers, mainly because if I have to repeat 3 commands in a terminal then 1 is far more efficient.
However ... (you knew it was coming!)
Maintaining bash scripts, testing them and increasing their complexity is a real pain! The most
basic facets of good programming, eg. linting and return values in functions, just aren't readily
available hence different workarounds have to be implemented. This is fine for 'simple' scripts but
the complexity of the 'syndesis' scripts, I think, demonstrates a situation where the limits of the
implementation have been reached.
Essentially, these scripts:
* Are complex - can they be simplified?
* Need to be maintainable - changing requirements
* Regularly testable due to being the door into Syndesis
* The single go-to means of installing Syndesis
Having worked on the operator for a while and learnt some go, I suggested here [1] that we convert
all scripts to go. Looking at it again and speaking to a few people, that is probably not the whole
answer for very good reasons. However, it may well represent part of a blended approach, eg.
* All install category functions are pushed down into the operator binary;
* All development category functions are migrated to a development environment (was introduced to
skaffold [2] and it looks quite useful);
As this represents blue-sky thinking at 10:30 in the morning, please feel free to discuss further,
but go easy as this is not fully formed by any means and I would welcome contributions (either on
mailing list or as comments in the issue).
Cheers
PGR
[1]
https://github.com/syndesisio/syndesis/issues/8762
[2]
https://skaffold.dev
--
Paul Richardson