I am trying to use salt file serialization, but it is removing all empty lines, sorting the complete file in alphabetical order and removing all comments. I dont want these to happen. Tried to check here and here, but could not find anything.
{% import_yaml "app-filebeat.yml" as config %}
manage_file:
file.managed:
- name: /etc/filebeat/filebeat.yml
- source: salt://filebeat.yml.tmpl
- template: jinja
conf_file:
file.serialize:
- name: /etc/filebeat/filebeat.yml
- dataset: {{ config }}
- formatter: yaml
- merge_if_exists: true
app_filebeat.yml:
output.logstash:
hosts: ['myhost.example.com:5158']
filebeat.yml.tmpl:
# Filebeat prospector configuration
filebeat:
config:
inputs:
enabled: true
path: /opt/filebeat/prospector-conf/*.yml
reload.enabled: true
reload.period: 300s
# Logstash configuration
output.logstash:
hosts:
worker: 1
compression_level: 3
loadbalance: true
ssl:
certificate: /usr/share/filebeat/file_beat.crt
key: /usr/share/filebeat/file_beat.key
verification_mode: none
# Filebeat Logging Configuration
logging:
level: debug
to_files: true
files:
path: /var/tellme/log/filebeat/
name: filebeat.log
rotateeverybytes: 10485760
keepfiles: 7
Ouput:
filebeat:
config:
inputs:
enabled: true
path: /opt/filebeat/prospector-conf/*.yml
reload.enabled: true
reload.period: 300s
logging:
files:
keepfiles: 7
name: filebeat.log
path: /var/tellme/log/filebeat/
rotateeverybytes: 10485760
level: debug
to_files: true
output.logstash:
compression_level: 3
hosts:
- myhost.example.com:5158
loadbalance: true
ssl:
certificate: /usr/share/filebeat/file_beat.crt
key: /usr/share/filebeat/file_beat.key
verification_mode: none
worker: 1
Salt State output:
----------
ID: manage_file
Function: file.managed
Name: /etc/filebeat/filebeat.yml
Result: True
Comment: File /etc/filebeat/filebeat.yml updated
Started: 04:53:53.678745
Duration: 118.489 ms
Changes:
----------
diff:
---
+++
@@ -0,0 +1,29 @@
+# Filebeat prospector configuration
+filebeat:
+ config:
+ inputs:
+ enabled: true
+ path: /opt/filebeat/prospector-conf/*.yml
+ reload.enabled: true
+ reload.period: 300s
+
+# Logstash configuration
+output.logstash:
+ hosts:
+ worker: 1
+ compression_level: 3
+ loadbalance: true
+ ssl:
+ certificate: /usr/share/filebeat/file_beat.crt
+ key: /usr/share/filebeat/file_beat.key
+ verification_mode: none
+
+# Filebeat Logging Configuration
+logging:
+ level: debug
+ to_files: true
+ files:
+ path: /var/tellme/log/filebeat/
+ name: filebeat.log
+ rotateeverybytes: 10485760
+ keepfiles: 7
----------
ID: conf_file
Function: file.serialize
Name: /etc/filebeat/filebeat.yml
Result: True
Comment: File /etc/filebeat/filebeat.yml updated
Started: 04:53:53.797737
Duration: 14.986 ms
Changes:
----------
diff:
---
+++
@@ -1,4 +1,3 @@
-# Filebeat prospector configuration
filebeat:
config:
inputs:
@@ -6,24 +5,21 @@
path: /opt/filebeat/prospector-conf/*.yml
reload.enabled: true
reload.period: 300s
-
-# Logstash configuration
+logging:
+ files:
+ keepfiles: 7
+ name: filebeat.log
+ path: /var/tellme/log/filebeat/
+ rotateeverybytes: 10485760
+ level: debug
+ to_files: true
output.logstash:
- hosts:
- worker: 1
compression_level: 3
+ hosts:
+ - myhost.example.com:5158
loadbalance: true
ssl:
certificate: /usr/share/filebeat/file_beat.crt
key: /usr/share/filebeat/file_beat.key
verification_mode: none
-
-# Filebeat Logging Configuration
-logging:
- level: debug
- to_files: true
- files:
- path: /var/tellme/log/filebeat/
- name: filebeat.log
- rotateeverybytes: 10485760
- keepfiles: 7
+ worker: 1
Please help.