2.8.0
🚀 Performance improvements
We've implemented several improvements for the Monaco deployment - all focused on making deployments faster and more resilient.
Early internal tests have achieved an up to 45% reduction in deployment time if all features are activated.
Independently deployed components
We're now sorting the to-be-deployed configurations into independent components. This allows for smarter deployment behaviors, for example, if a referenced dependency fails to deploy or is skipped.
Consider the following example:
A project consisting of
- a synthetic-location,
- referenced by a synthetic-monitor,
- referenced by an slo.
For a given environment, the synthetic-location is being skipped.
Previously, Monaco would produce an error when trying to deploy the synthetic monitor (or continue to also fail on the slo if you're using the --continue-on-error flag).
With this feature, Monaco recognizes that neither the synthetic monitor nor the slo can be deployed, prints a warning, and continues without error.
If you're encountering issues with this new method of deployment, you can set the following feature flag to disable the behavior: MONACO_FEAT_GRAPH_DEPLOY=false
. This not only disables the independent deployment but also the parallel deployment described next.
Parallel deployments
Using the new internal representation, configurations that are not dependent on each other can be deployed in parallel.
If you're encountering issues with this new method of deployment, you can set the following feature flag to disable the behavior: MONACO_FEAT_GRAPH_DEPLOY_PARALLEL=false
🔧 Improvements
monaco generate deletefile
now ignores configs where no config name is set.- Monaco now uses a default memory limit of 2 GiB, which can lower the memory limit significantly for larger projects. You can overwrite this default using the Go environment variable
GOMEMLIMIT
.
🐛 Fixes
- Conversion: Manually escaped characters are now handled correctly #1153
Container image
Images are available at https://hub.docker.com/r/dynatrace/dynatrace-configuration-as-code
The image can be used directly, passing command arguments to the CLI directly or in CI with a monaco
executable available in the container.
docker pull dynatrace/dynatrace-configuration-as-code:2.8.0
Verifying Signature
The Image is signed, and its signature can be verified using cosign and the cosign.pub
key that can be downloaded from this release.
cosign verify --key cosign.pub dynatrace/dynatrace-configuration-as-code:2.8.0
Full Changelog: v2.7.1...v2.8.0