Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

do not merge #592

Closed
wants to merge 1 commit into from
Closed

do not merge #592

wants to merge 1 commit into from

Conversation

AliDatadog
Copy link
Contributor

to_nice_yaml will sort the keys by default which can cause the formatting of the generated yaml file to be incorrect.

In this example case when you add the log_processing_rules section it will change the order and the type: file will end up being inside the log_processing_rules section causing the checks to fail. If you remove the log_processing_rules section then the yaml file will be correct.

This is defined in the playbook:

nginx:
  init_config:
  instances:
    - nginx_status_url: "http://localhost/nginx_status"
  logs:
    - type: file
      path: /var/log/nginx/access.log
      service: nginx
      source: access
      sourcecategory: http_web_access
    - type: file
      path: /var/log/nginx/critical.log
      service: nginx
      source: critical
      sourcecategory: http_web_access
    - type: file
      path: /var/log/nginx/error.log
      service: nginx
      source: error
      sourcecategory: http_web_access
      log_processing_rules:
        - name: exclude_ckeditor
          type: exclude_at_match
          pattern: foobar

Here is the example /etc/datadog-agent/conf.d/nginx.d/conf.yaml file that gets generated when including the log_processing_rules section.

init_config: null
instances:
- nginx_status_url: http://localhost/nginx_status
logs:
- path: /var/log/nginx/access.log
  service: nginx
  source: access
  sourcecategory: http_web_access
  type: file
- path: /var/log/nginx/critical.log
  service: nginx
  source: critical
  sourcecategory: http_web_access
  type: file
- log_processing_rules:
  - name: exclude_ckeditor
    pattern: foobar
    type: exclude_at_match
  path: /var/log/nginx/error.log
  service: nginx
  source: error
  sourcecategory: http_web_access
  type: file

to_nice_yaml will sort the keys by default which can cause the formatting of the generated yaml file to be incorrect. 

In this example case when you add the `log_processing_rules` section it will change the order and the type: file will end up being inside the `log_processing_rules` section causing the checks to fail. If you remove the `log_processing_rules` section then the yaml file will be correct.


This is defined in the playbook:
```yaml
nginx:
  init_config:
  instances:
    - nginx_status_url: "http://localhost/nginx_status"
  logs:
    - type: file
      path: /var/log/nginx/access.log
      service: nginx
      source: access
      sourcecategory: http_web_access
    - type: file
      path: /var/log/nginx/critical.log
      service: nginx
      source: critical
      sourcecategory: http_web_access
    - type: file
      path: /var/log/nginx/error.log
      service: nginx
      source: error
      sourcecategory: http_web_access
      log_processing_rules:
        - name: exclude_ckeditor
          type: exclude_at_match
          pattern: foobar
```

Here is the example `/etc/datadog-agent/conf.d/nginx.d/conf.yaml` file that gets generated when including the `log_processing_rules` section.

```yaml
init_config: null
instances:
- nginx_status_url: http://localhost/nginx_status
logs:
- path: /var/log/nginx/access.log
  service: nginx
  source: access
  sourcecategory: http_web_access
  type: file
- path: /var/log/nginx/critical.log
  service: nginx
  source: critical
  sourcecategory: http_web_access
  type: file
- log_processing_rules:
  - name: exclude_ckeditor
    pattern: foobar
    type: exclude_at_match
  path: /var/log/nginx/error.log
  service: nginx
  source: error
  sourcecategory: http_web_access
  type: file
```
@AliDatadog AliDatadog changed the title checks.yaml to_nice_yaml breaks with multiple indentations do not merge Aug 2, 2024
@AliDatadog AliDatadog closed this Aug 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants