Preview Release 2.6.0-rc.1 #1104
UnseenWizzard
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
This is a pre-release of monaco 2.6.0
What's Changed
🚀 Features
Improved deployment
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.
(Your mileage may vary - we'd love to hear your results in the release discussion!)
Graph-based deployment
We improved the internal representation of configurations and dependencies to a graph data structure.
This allows for several improvements and features.
Graph-based sorting
Build a dependency tree and use it for sorting, which is notably faster and more memory efficient that the previous sorting.
This feature is active by default, but can be disabled via the environment variable feature flag
MONACO_FEAT_GRAPH_SORT=false
.Sorting into independent connected components
Use the dependency tree to sort configurations into independent connected components (configurations that depend on each other are grouped into a component).
This allows for smarter behavior in case a referenced dependency failed to deploy or was skipped.
Consider the following example:
To enable this feature, set the environment variable feature-flag
MONACO_FEAT_GRAPH_DEPLOY=true
.Parallel deployments
Using the new internal representation, configurations that are not dependent on each other can be deployed in parallel.
To enable this feature, set the following environment variable feature-flags:
MONACO_FEAT_GRAPH_DEPLOY=true
.MONACO_FEAT_GRAPH_DEPLOY_PARALLEL=true
Updating Settings with unique key properties
Some Settings 2.0 schemas define unique key constraints, which ensure that Settings objects are unique.
Monaco is now aware of these constraints and can identify and update existing objects based on their unique keys, instead of just by externalID or originObjectID.
Previously if an object with an overlapping unique key already existed, monaco would attempt to create a duplicate, resulting in an API error.
This new behavior is conceptually similar to classic Config API objects being identified based on their name.
Improved caching
Monaco made several repetitive queries during deployments to identify and update existing configurations.
These are heavily reduced by introducing caching.
Generate a dependency graph for your Monaco configurations
The command
monaco generate graph <manifest.yaml>
can create dependency graphs of your configurations. They're exported using the DOT format.You can use a tool of your choice to visualize the graph as an image - for example graphviz online.
Generate delete-files for your Monaco configurations
The command
monaco generate deletefile <manifest.yaml>
can create delete files for your Monaco projects. Delete documentationContainer 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.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.Full Changelog: v2.5.0...v2.6.0-rc.1
This discussion was created from the release Preview Release 2.6.0-rc.1.
Beta Was this translation helpful? Give feedback.
All reactions