This tool automates deployment of Dynatrace Configuration to one or multiple Dynatrace environments.
π New Features
New supported configuration:
βοΈ Improvements and π Bug Fixes
name
and description
are not allowed, which previously caused Monaco to fail during account management deployments. To bypass attempts to update these types of groups, you can set the environment variable MONACO_SKIP_READ_ONLY_ACCOUNT_GROUP_UPDATES
to true
or 1
. Permissions and policies are deployed as normal.Full Changelog: https://github.com/Dynatrace/dynatrace-configuration-as-code/compare/v2.12.0...v2.13.0
π New Features
New scoped Config API types are supported by Monaco:
See the documentation for details on configuring these new types.
π Bug Fixes
builtin:oneagent.features
settings 2.0 objects can not be deleted https://github.com/Dynatrace/dynatrace-configuration-as-code/pull/1427
π§Ή Other
Full Changelog: https://github.com/Dynatrace/dynatrace-configuration-as-code/compare/v2.11.0...v2.12.0
π New Features
Monaco now supports the management of users, groups, and policies.
Have a look at our documentation on how to configure and use them.
π§ Improvements
π Fixes
entityId
is no longer removed for calculated-metrics-service
configs #1364π§Ή Other
Full Changelog: https://github.com/Dynatrace/dynatrace-configuration-as-code/compare/v2.10.1...v2.11.0
π§ Improvements
We've removed the fallback to the deprecated and soon to be removed API endpoint used for querying classic Dynatrace URLs from platform environments. The revamped endpoint now requires a dedicated scope, app-engine:apps:run
, to be assigned to the OAuth client. While this constitutes a breaking change from a technical standpoint, it's unlikely to affect most Monaco users. However, if you encounter an error, we suggest updating your OAuth client secret to include this scope. Please consult the public documentation for more information on how to set up an OAuth client for Monaco.
π Fixes
Full Changelog: https://github.com/Dynatrace/dynatrace-configuration-as-code/compare/v2.10.0...v2.10.1
Monaco now supports Dynatrace network zones.
You can configure them using api: network-zone
in your configs.
For example:
configs:
- id: my-monaco-network-zone
config:
name: My zone
template: zone.json
type:
api: network-zone
Monaco now allows to generate json/yaml schemas for the current version that you have.
By invoking monaco generate schemas
(see available options using the -h
flag), Monaco generates the json/schema definition you can use in your IDE.
You can find more information in our documentation.
builtin:span-attribute
, builtin:span-event-attribute
, and builtin:resource-attribute
are now deprecated.Full Changelog: https://github.com/Dynatrace/dynatrace-configuration-as-code/compare/v2.9.3...v2.10.0
Installation instructions for Windows, Linux, and MacOs as well as Docker are available in our documentation.
β¦ ExternalID β¦ already exists
errors.linux/arm64
is now available.Full Changelog: https://github.com/Dynatrace/dynatrace-configuration-as-code/compare/v2.9.2...v2.9.3
Installation instructions for Windows, Linux, and MacOs as well as Docker are available in our documentation.
Previous versions of Monaco would fail to deploy multiple non-unique name configurations with the same name.
If such overlapping configurations were defined, the end result would be a single configuration on the environment. This was due to a feature ensuring non-unique name configs are updated instead of duplicated if only a single one is found in the environment.
The fix retains that handling which increases usability in cases that users keep names unique, but deactivates it, if a deployment defines several configurations with the same name.
Previous versions relied on retries to handle state changes of Grail Buckets, however it was found that in some cases, especially if create and update actions happen in quick success this does not resolve all errors and can lead to failed deployments.
The Grail Bucket API client is reworked to await the desired bucket state for each operation. This makes deployments and deletions slightly slower, but ensures that Buckets are always ready to use/modify or fully removed before monaco continues to deploy/delete possibly dependent configurations.
From this version on, the monaco CLI performs a background version check and will print a message at the end of each command execution if a new version is available for download.
This is implemented by connecting to GitHub. If no connection can be established, the check will silently fail in the background, without impacting the command you're executing.
This behavior is turned ON by default and can be disabled by setting MONACO_SKIP_VERSION_CHECK
if needed.
Images are available on DockerHub.
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.9.2
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.9.2
Full Changelog: https://github.com/Dynatrace/dynatrace-configuration-as-code/compare/v2.9.1...v2.9.2
This feature can break the deployment of projects containing several configurations with the same name
You may be affected by this if you're configuration projects contain e.g. several dashboards of the same name, but you only find a single one in the environment after running `monaco deploy.
To deactivate the update logic, set the following environment variable:
MONACO_FEAT_UPDATE_SINGLE_NON_UNIQUE_BY_NAME=false
Deactivating this feature is recommended when using monaco to migrate configurations from one environment to an empty new environment.
This is a temporary workaround! We're working on a fix addressing both edge-cases of having a single configuration you want to update and many configurations that should be created individually.
curl
and jq
dependencies from the Docker container.This change, combined with previously released changes, vastly improves Monaco's runtime memory consumption.
For details, refer to the documentation: Monaco hardware requirements
β οΈ As of this version the container image only includes the monaco CLI! β οΈ The previously contained
curl
andjq
utilities are removed to ensure the image does not contain unnecessary, potentially vulnerable components. If you require a container with utility programs, please build your own based on this container image.
Images are available on DockerHub.
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.9.1
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.9.1
Full Changelog: https://github.com/Dynatrace/dynatrace-configuration-as-code/compare/v2.9.0...v2.9.1
Custom Grail buckets can now also be managed as configuration as code.
The best way to get started is to download configurations from a Platform environment where you have configured a custom Grail bucket.
You can find the documentation here.
You can also look at this sample project.
Images are available on DockerHub.
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.9.0
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.9.0
Full Changelog: https://github.com/Dynatrace/dynatrace-configuration-as-code/compare/v2.8.3...v2.9.0
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.3
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.3