Skip to content

Releases: Dynatrace/dynatrace-configuration-as-code

Preview Release 2.0.0

14 Feb 16:00
Compare
Choose a tag to compare
Preview Release 2.0.0 Pre-release
Pre-release

ℹ️ A newer Preview Relase of Monaco 2.0.0 is available ℹ️


⚠️ Preview Release

This is a pre-release of monaco 2.0.0.

  • this does not yet reflect the full content or quality of the final release
  • no official support is provided for the pre-release version
  • please let us know your feedback #813

Monaco 2.0.0 Changes

Version 2.x tries to achieve three main goals:

  • Make the CLI and configuration clearer to understand​
    • With more explicit commands​
    • Structured configuration YAML​
  • Decouple from the file-path 
    • Monaco 1.x was impacted by the location it was executed in, in relation to the configuration​
  • Provide general support for Settings 2.0 configuration​
    • Monaco 2.0 does not need to be updated to support future settings schemas​
    • In part possible due to the new structure​

⚠️ Limitiations/Known Issues ⚠️

  • ⚠️ In this preview release, re-applying downloaded settings objects to the same environment may result in duplicated settings. Manual cleanup is needed for this case. Creating new settings objects works without limitations.
  • ⚠️ Downloading Settings produces invalid filenames on Windows #837
    To download Settings on Windows, please use the Linux version in WSL

Getting Started

A preview of the documentation for 2.0.0 is available here

Also, check out the Observability Clinic introducing Monaco 2.0.

And the related sample configurations

Release v1.8.9

01 Dec 09:21
Compare
Choose a tag to compare

Release 1.8.9 fixes an issue introduced by the extended handling of SLOs in 1.8.8

While 1.8.8 adds a query parameter to SLO API calls to ensure that disabled SLOs are fetched as well, this did interfere with query parameters sent for pagination (the SLO API returns pages of 10 objects), resulting in only the first 10 SLOs being fetched.

1.8.9 correctly handles both getting all SLOs from the API and dealing with pagination to fetch all existing SLOs for updates.

🐛 Bug fixes

  • 28d8950 Correctly handle pagination when other query parameters are set
  • d6cb41d Introduce retry mechanism for GET requests

Known Issues

  • Project folders can not end with extension (and likely other configuration type's names). If they do they are silently omitted from being loaded. This issue is solved in 2.x versions.

[Defective] Release v1.8.8

29 Nov 09:21
0a79c10
Compare
Choose a tag to compare

This fix interferes with pagination on the SLO API and will cause failures if an environment has > 10 SLOs configured.
We are working on a full fix to be released as 1.8.9 ASAP - please skip this 1.8.8 release

🐛 Bug fixes

🔧 Chores and Improvements

  • f8af139 (deps) bump loader-utils from 2.0.3 to 2.0.4 in /documentation

📦 Other

  • c2a221b Add additional information about name configuration

Release v1.8.7

15 Nov 14:28
Compare
Choose a tag to compare

Release 1.8.7 fixes three issues in monaco:

  • Download APIs where the id contains characters that need escaping no longer error
  • Predefined anomaly-detection-metrics are now ignored during download
  • HTTP errors and responses are logged when retrying

Additionally, the documentation has been updated to include

  1. what and why configs are skipped during download, and
  2. how to migrate app-detection-rules.

🐛 Bug fixes

  • 2c6b39c (download) Don't double-escape ids
  • a4f51f6 (download) Skip plugin-definitions of ad-metrics
  • 8437d71 (rest) Log http error and response in case of retry failures

🔧 Chores and Improvements

  • 92d4de1 (deps) bump github.com/spf13/afero from 1.9.2 to 1.9.3
  • e6f9c5b (deps) bump golangci/golangci-lint-action from 3.3.0 to 3.3.1
  • ee85da7 (deps) bump loader-utils from 2.0.2 to 2.0.3 in /documentation
  • cf45d54 (deps) bump github.com/urfave/cli/v2 from 2.23.4 to 2.23.5
  • 31eaf01 (deps) bump github.com/urfave/cli/v2 from 2.23.0 to 2.23.4

📦 Other

  • 0142a54 Release 1.8.7
  • b4d55cc (download) Add documentation of the configurations skipped during download
  • 93222f9 Update 1.8.x documentation for latest 1.8.6 version
  • dd15f33 Document App Detection Rule ordering workaround
  • 865f423 Add migration guide for app-detection-rules renamed by settings migration

Release v1.8.6

03 Nov 11:44
Compare
Choose a tag to compare

Release 1.8.6 fixes an issue of monaco not ignoring hidden sub-folders - like its own .logs/ - in some cases.

Up to now, hidden directories were ignored only if they were in the 'top' level of a loaded project.
If a hidden directory was inside a sub-folder below that, it was not.

With this fix:

  1. hidden directories can no longer be projects
  2. having hidden directories inside project folders works now

🐛 Bug fixes

  • 0923d5d Project loading should ignore hidden directories

🔧 Chores and Improvements

  • 435cef9 (deps) bump golangci/golangci-lint-action from 3.2.0 to 3.3.0
  • 17dd64f (deps) bump github.com/urfave/cli/v2 from 2.20.2 to 2.23.0
  • e4c61d8 (deps) bump github.com/urfave/cli/v2 from 2.17.1 to 2.20.2
  • 023fa16 (deps) bump github.com/urfave/cli/v2 from 2.16.3 to 2.17.1
  • a0c8bdf (deps) bump actions/checkout from 3.0.2 to 3.1.0

Release v1.8.5

26 Sep 14:27
Compare
Choose a tag to compare

Release 1.8.4 introduced a 'fix' to always escape the content of variables (from a YAML) before placing it
into a JSON template.

This can cause issues for certain usecases in which the content filled into a template is needed to create
a valid JSON and must not be escaped - e.g. if the template introduces double-quotes needed in the JSON payload.

1.8.5 reverts the eager escaping for JSON and instead escapes only known characters at specific points -
double-quotes when downloading and newline characters when templating for deployment.


🐛 Bug fixes

  • 52fff6a (download) Escape quotes in download name properties
  • 6c6eda7 Revert escaping all JSON characters for templating

[Defective] Release v1.8.4

22 Sep 11:49
Compare
Choose a tag to compare

❗ The fix for escaping all characters for JSON templating can cause issues if configuration contains lists in the format suggested here https://github.com/dynatrace-oss/dynatrace-monitoring-as-code/discussions/494.
This is fixed in 1.8.5 - please skip this 1.8.4 release

This release includes several small fixes making monaco more resilient.

List of changes

🐛 Bug fixes

  • 9ef99e8 fix: Include already read response body in optional response log (#744)
  • 5cf194c fix: Include last API error when failing retries (#744)
  • f8d307c fix: Escape all characters for JSON templating (#741)
  • ec92caa fix: More leniently handle Dynatrace errors that are ususally caused by newly created applications not being found yet
  • e11c45b fix(deploy): URL Path escape identifiers when reading Dynatrace entities by ID

📖 Documentation

  • dc9818d docs: Fix MAC installation links
  • d1b66ba fix(docs): Configure all links as relative or absolute from content root (#738)
  • 4b1c504 docs: Better describe special types of configuration (#718)
  • 647bb7e fix(docs): Fix link to config types in add-new-api guide (#736)

🔧 Chores and Improvements

Misc changes:

  • 084ad54 refactor: Replace deprecated ioutil.ReadAll
  • 2946ec1 test: Extend special character config E2E test (#121, #741)
  • 083c46a fix(test): Add missing build tag on logging_test
  • bump github.com/urfave/cli/v2 dependency from 2.11.2 to 2.16.3
    • cdf298c chore(deps): bump github.com/urfave/cli/v2 from 2.16.2 to 2.16.3
    • 4ed67ac chore(deps): bump github.com/urfave/cli/v2 from 2.14.1 to 2.16.2
    • 22da053 chore(deps): bump github.com/urfave/cli/v2 from 2.11.2 to 2.14.1
  • 7a3a6e8 chore(deps): bump github.com/google/go-cmp from 0.5.8 to 0.5.9

Release v1.8.3

05 Sep 08:47
Compare
Choose a tag to compare

This release fixes a bug in the Monaco download functionality where the download stopped after the first error.

List of changes

🐛 Bug fixes

  • 171a1f6 fix: Do not abort download after the first download error.

📖 Documentation

  • 2ae74ee docs: Release Monaco 1.8.3

Release v1.8.2

30 Aug 08:55
1ec37a2
Compare
Choose a tag to compare

The main focus of this release is improving the error handling and logging for downloading and uploading configurations.

List of changes

🚀 Features

  • 086ebb5 Retry SLO creation on additional know error

🐛 Bug fixes

  • 1d94584 Workaround synthetic API failing if Application ID can not (yet) be found
  • e090000 filter the mime types correctly for logging (#709)
  • 7b3ad72 (download) Deleting configs with slashes in the name does no longer error. (#706)
  • c707483 (download) Downloading single config Apis now report encountered errors

📖 Documentation

  • 04807b4 Update download link to latest monaco release
  • 373b8d8 Rename 1.8.0 sidebar to 1.8.1 as .0 docs where completely replaced
  • ad702cc Upgrade to docusaurus 2.0.1 release

Release v1.8.1

27 Jul 13:42
a3d283a
Compare
Choose a tag to compare

The main focus of this release is that Monaco is not statically built without CGO.

List of changes

Misc changes

  • d920125 ci: Build static monaco binary
  • 414cc2d ci: Run build-release for each build
  • 7b13c4e ci: Remove no longer needed xgo github action step

🚀 Features

  • 086ebb5 Retry SLO creation on additional know error

🐛 Bug fixes

  • 1d94584 Workaround synthetic API failing if Application ID can not (yet) be found
  • e090000 filter the mime types correctly for logging (#709)
  • 7b3ad72 (download) Deleting configs with slashes in the name does no longer error. (#706)
  • c707483 (download) Downloading single config Apis now report encountered errors

🔧 Chores and Improvements

  • 71028ce (deps) bump github.com/urfave/cli/v2 from 2.11.1 to 2.11.2

📦 Other

  • 1ec37a2 Improve Delete error handling AND release bugfixes as 1.8.2 (#721)
  • fix: Continue over individual delete failures

Also improve some log messages as part of aggregated error logging.

This change brings delete in line with the general idea to continue
as far as possible also applied to deployments. In this case, failure
to delete a single defined object, does not mean that the rest can not
be deleted.

ref: #720

  • docs(release): Release Monaco in version 1.8.2

This bugfix release mostly improves resilience with extended retry logic,
and improves messages presented to the user in case of erros.

  • feat: Retry SLO creation on additional know error

  • fix: Continue over individual delete failures

  • fix: Workaround synthetic API failing if Application ID can not (yet) be found

  • fix: filter the mime types correctly for logging (#709)

  • fix(download): Deleting configs with slashes in the name does no longer error. (#706)

  • fix(download): Downloading single config Apis now report encountered errors

  • docs: Rename 1.8.0 sidebar to 1.8.1 as .0 docs where completely replaced

  • docs: Upgrade to docusaurus 2.0.1 release

  • chore(deps): bump github.com/urfave/cli/v2 from 2.11.1 to 2.11.2

  • 04807b4 Update download link to latest monaco release
  • 373b8d8 Rename 1.8.0 sidebar to 1.8.1 as .0 docs where completely replaced
  • ad702cc Upgrade to docusaurus 2.0.1 release