如何将数据从salt中的支柱附加到配置文件中



我写了一个盐状态,如下所示,它将数据写入config.yaml

file.append: 
- name: /etc/xentrax/config.yml
- text: |
tunnel: xentrax
credentials-file: /roor/.xentrax/xentrax.json
logfile: /var/log/xentrax.log
loglevel: info

现在,我想使用pillar将一些敏感数据附加到这个config.yaml中。数据是敏感数据,我想使用支柱进行维护。我想附加的数据低于

ingress:
- hostname: shop.xentrax.com
- keyid: xxxxxxxxxxxxxxxxxxx
originRequest:
httpHostHeader: shop.xentrax.com
originServerName: shop.xentrax.com
service: https://localhost:443
- service: http_status:404

如何书写那根柱子?我对盐堆很陌生。请帮帮我。应用支柱后config.yaml中的最终数据将类似

tunnel: xentrax
credentials-file: /roor/.xentrax/xentrax.json
logfile: /var/log/xentrax.log
loglevel: info
ingress:
- hostname: shop.xentrax.com
- keyid: xxxxxxxxxxxxxxxxxxx
originRequest:
httpHostHeader: shop.xentrax.com
originServerName: shop.xentrax.com
service: https://localhost:443
- service: http_status:404



支柱定义很简单:

xentrax_ingress:
ingress:
- hostname: shop.xentrax.com
- keyid: xxxxxxxxxxxxxxxxxxx
originRequest:
httpHostHeader: shop.xentrax.com
originServerName: shop.xentrax.com
service: https://localhost:443
- service: http_status:404

假设您的最终输出不必是您所说的,只需它是有效的YAML,则此状态将起作用:

/etc/xentrax/config.yml:
file.append: 
- text: |
tunnel: xentrax
credentials-file: /roor/.xentrax/xentrax.json
logfile: /var/log/xentrax.log
loglevel: info
{{ pillar["xentrax_ingress"] | tojson }}

如果你可以管理整个文件而不是追加,那么file.serialize会更好:

/etc/xentrax/config.d/part1.yml:
file.serialize:
- serializer: yaml
- dataset:
tunnel: xentrax
credentials-file: /roor/.xentrax/xentrax.json
logfile: /var/log/xentrax.log
loglevel: info
/etc/xentrax/config.d/part2.yml:
file.serialize:
- serializer: yaml 
- dataset_pillar: xentrax_ingress

最新更新