Skip to content

Releases: Dynatrace/dynatrace-configuration-as-code

2.14.2

14 Jun 12:10
78a2c9c
Compare
Choose a tag to compare

⚙️ Improvements and 🐛 Bug Fixes

  • Improved support archives coverage. Support archives are now closed as late as possible to ensure they contain all log messages.
  • Log partial download failures as warnings. Failures which still allow configuration downloads to continue are logged as warnings rather than errors.

Full Changelog: v2.14.1...v2.14.2

2.14.1

17 May 12:56
beb2bf5
Compare
Choose a tag to compare

🐛 Bug Fixes

  • Fixed an error that occurred when downloading ordered Settings objects. If some objects were skipped during download, an index out of range caused a panic.

Full Changelog: v2.14.0...v2.14.1

2.14.0

15 May 14:38
0391f67
Compare
Choose a tag to compare

⚠️ Known issue Downloading some ordered Settings with this version can cause an error that fails the download. We are working on a fix and recommend using 2.13.0 for downloads until that time.


🚀 New Features

  • Monaco now supports ordering of Settings 2.0 objects via the insertAfter reference parameter. See the docs for details

  • New file parameter type that is dynamically resolved to the contents of a file. See the docs for details

  • Specific Automation and Settings objects may be deleted by their Dynatrace ID, by defining their objectId rather than configuration id in delete files. For example, to delete a workflow Automation resource with ID 6d9995b4-cd3e-4071-8fe3-82be7e762e67, use:

    - type: workflow
      objectId: 6d9995b4-cd3e-4071-8fe3-82be7e762e67
    
  • The creation of log files can be disabled by setting FEAT_LOG_FILE_ENABLED to 0 or false.

⚙️ Improvements and 🐛 Bug Fixes

  • Automation resources are now deleted in the correct order: first workflow objects, followed by scheduling-rule objects and finally business-calendar objects.
  • Conversion goal IDs are removed from the payload of application-web objects on download. This ensures they can be deployed to new environments, previously deployments would fail with an API error.
  • Settings schemas are now fetched in parallel, significantly reducing the time required for downloads

Full Changelog: v2.13.0...v2.14.0

2.13.0

05 Apr 13:40
Compare
Choose a tag to compare

🚀 New Features

New supported configuration:

⚙️ Improvements and 🐛 Bug Fixes

  • Monaco now supports specifying "federatedAttributeValues" within account groups. Adding values will transition the group owner to "SAML", while removing all values will transition the group owner to "LOCAL".
  • Monaco now correctly handles read-only group updates - When managing groups owned by “SCIM” or "ALL_USERS", updates to group properties such as 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: v2.12.0...v2.13.0

2.12.0

28 Mar 10:37
f16211f
Compare
Choose a tag to compare

🚀 New Features

New scoped Config API types are supported by Monaco:

See the documentation for details on configuring these new types.

🐛 Bug Fixes

🧹 Other

  • Monaco now uses GO 1.22 #1391
  • SBOM format has been changed from XML to JSON #1411
  • Allow structured JSON format for DOT files to ease parsing that information for further processing #1423
  • Added Snyk security scan #1392

New Contributors

Full Changelog: v2.11.0...v2.12.0

2.11.0

26 Feb 13:02
Compare
Choose a tag to compare

What's Changed

🚀 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

  • Projects are now optional in the manifest. #1368
  • Print a helpful message if a wrong URL is used in the manifest #1386

🐛 Fixes

  • The property entityId is no longer removed for calculated-metrics-service configs #1364
  • Fixed potential duplication of configurations if some special characters are used. #1373
  • Fixed potential duplication of configurations if multiple environments are used at once. #1380

🧹 Other

  • chore(deps): bump golang from 1.21.6-alpine to 1.22.0-alpine by @dependabot in #1363
  • chore(deps): bump golang.org/x/net from 0.20.0 to 0.21.0 by @dependabot in #1362
  • chore(deps): bump golang.org/x/oauth2 from 0.16.0 to 0.17.0 by @dependabot in #1367
  • chore(deps): bump go.uber.org/zap from 1.26.0 to 1.27.0 by @dependabot in #1378

New Contributors

Full Changelog: v2.10.1...v2.11.0

2.10.1

07 Feb 14:34
Compare
Choose a tag to compare

What's Changed

🔧 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

  • Special handling for network zone deployment errors that can occur when the feature for network zones is not (yet) enabled #1340
  • Fixed ID extraction logic to handle possible overflows #1335

Full Changelog: v2.10.0...v2.10.1

2.10.0

16 Jan 08:17
fd93a1b
Compare
Choose a tag to compare

What's Changed

🚀 New Features

Network zones support

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

Generate json/yaml schemas

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.

🐛 Fixes

  • We're no longer failing when three curly braces are used in the template files

🔧 Improvements

  • Added deprecation notices for deprecated settings schemas.
    The settings schemas builtin:span-attribute, builtin:span-event-attribute, and builtin:resource-attribute are now deprecated.
  • Improved logging during download

Other improvements

  • chore(deps): bump github.com/dynatrace/dynatrace-configuration-as-code-core from 0.4.1-0.20231114144451-a2144bd75dcc to 0.5.0
  • chore(deps): bump github.com/google/uuid from 1.4.0 to 1.5.0
  • chore(deps): bump actions/upload-artifact from 3.1.3 to 4.0.0
  • chore(deps): bump go.uber.org/mock from 0.3.0 to 0.4.0
  • chore(deps): bump github.com/go-logr/logr from 1.3.0 to 1.4.1
  • chore(deps): bump EnricoMi/publish-unit-test-result-action from 2.11.0 to 2.12.0
  • chore(deps): bump reviewdog/action-golangci-lint from 2.5.0 to 2.5.1
  • chore(deps): bump actions/upload-artifact from 4.0.0 to 4.1.0
  • chore(deps): bump golang from 1.21.5-alpine to 1.21.6-alpine
  • chore(deps): bump golang.org/x/oauth2 from 0.15.0 to 0.16.0
  • chore(deps): bump github.com/invopop/jsonschema from 0.7.0 to 0.12.0

Full Changelog: v2.9.3...v2.10.0

Get Monaco

Installation instructions for Windows, Linux, and MacOs as well as Docker are available in our documentation.

2.9.3

11 Dec 12:23
Compare
Choose a tag to compare

What's Changed

🐛 Fixes

  • Fixed error when deploying some pre-configured Settings objects, wrongly reporting … ExternalID … already exists errors.
  • We're no longer skipping the download of Settings objects that are partially modifiable.
  • We're now correctly supporting compound parameters for a config's name.
  • Extraction of IDs when downloading is improved - no longer wrongly extracting partial IDs.
  • Buckets are no longer downloaded if download is limited to other types via flags.

🔧 Improvements

Other improvements

  • Update to Go 1.21
  • bump golang from 1.21.4-alpine to 1.21.5-alpine
  • bump actions/setup-go from 4.1.0 to 5.0.0
  • bump golang.org/x/oauth2 from 0.13.0 to 0.14.0
  • bump github.com/spf13/afero from 1.10.0 to 1.11.0
  • bump golang.org/x/oauth2 from 0.14.0 to 0.15.0
  • Docker: bump alpine from 3.18 to 3.19

Full Changelog: v2.9.2...v2.9.3

Get Monaco

Installation instructions for Windows, Linux, and MacOs as well as Docker are available in our documentation.

2.9.2

06 Nov 15:56
v2.9.2
Compare
Choose a tag to compare

What's Changed

🐛 Fixes

Fix failing to deploy multiple non-unique name configs having the same name.

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.

Fix sometimes failing Grail Bucket updates

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.

🔧 Improvements

Notify when new versions are available

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.

Other improvements

  • Bump dependency github.com/go-logr/zapr from 1.2.4 to 1.3.0
  • Bump dependency github.com/spf13/cobra from 1.7.0 to 1.8.0

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.2

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.9.2

Full Changelog: v2.9.1...v2.9.2