jenkinsci / datadog-plugin

A Jenkins plugin used to forward metrics, events, and service checks to an account at Datadog, automatically.
https://plugins.jenkins.io/datadog/
MIT License
34 stars 48 forks source link

CasC: default values are not respected #308

Open Brialius opened 2 years ago

Brialius commented 2 years ago

Describe the bug If CasC is used to configure Datadog plugin, settings which are not explicitly set in CasC will not be changed, so settings from existing config (from global configuration page) will persist after applying CasC.

To Reproduce Steps to reproduce the behavior:

  1. Setup CasC config w/o some optional settings for Datadog plugin (w/o enableCiVisibility for example)

    datadogGlobalConfiguration:
    emitSecurityEvents: true
    emitSystemEvents: true
    hostname: "host"
    reportWith: "DSD"
    targetHost: "localhost"
    targetPort: "8125"
    targetTraceCollectionPort: "8126"
  2. Apply CasC config

  3. Go to global configuration

  4. Ensure that Datadog plugin has default values in all unset settings (CI Visibility is disabled)

  5. Change on of unset settings via UI on global configuration page (enable CI Visibility for example)

    image
  6. Apply and save changes.

  7. Apply CasC config again

  8. Go to global configuration

  9. See that settings are not changed (CI Visibility is still enabled)

Expected behavior After applying CasC I'd expect overriding unset settings with default values. In other words I want to make sure that if CasC config is used, it is the single source of truth for Datadog plugin settings.

Environment and Versions (please complete the following information): CasC plugin: 1512.vb_79d418d5fc8 datadog plugin: 5.0.0 Jenkins LTS: 2.361.1

sarah-witt commented 2 years ago

Hi @Brialius thank you for raising this! We haven't officially supported CasC for our plugin yet but it's something we are going to work on in the near future.

psimms-r7 commented 1 year ago

Hi - Just checking if any update of official config as code support?