BULL-3257: Add and integrate YAML library
Welcome to your new fiesta-wagon-bootstrap!
Featuring:
- No more string concatenation to join docker-compose files together, now we use the yaml library to parse yaml to JS objects, manipulate as needed, and write the results back out to a yaml string.
- Presenting the ability to merge JS objects together in a way that makes sense for this project. See utils.ts deepMerge. This is designed to be used with the YAML templates we read in, but it's generalized enough that it could see other usage also.
- Using deepMerge, YAML files can now extend others via the magic "useBaseline" element at the root of the file. Overriding values is possible. Common configuration between tech stack items does not need to be redundantly defined anymore. This is utilized for the formula files and the scanner docker-compose files (now called pipeline files).
- Removed much of the hardcoded configuration and defined it in fiesta-wagon-templates.
Edited by Douglas Lagemann