Jinja模版
Jinja可以基于Grains和pillar动态生成配置文件。
Jinja简单示例
比如,在/srv/salt中定义test_jinja.sls:
{% set var= 'test jinja' %} #变量
test_var:
cmd.run:
- name: echo "my var is {{ var }}"
运行如下命令查看:
salt '*' state.sls test_jinja
输出结果为:
State: - cmd
Name: echo "my var is test jinja"
Function: run
Result: True
Comment: Command "echo "my var is test jinja"" run
Changes: pid: 12579
retcode: 0
stderr:
stdout: my var is test jinja
使用Jinja生成Nginx页面
定义index.html 模版
定义模板templates/index.html
<!DOCTYPE html>
<html>
<body>
<span>{{pillar['content']}}</span>
</body>
</html>
在模板中使用pillar中定义的变量。
修改 /srv/salt/Nginx.sls
Nginx:
pkg.installed:
- name: Nginx
service.running:
- enable: True
- reload: True
- watch:
- file: index.html
index.html:
file.managed:
- name: /usr/share/Nginx/html/index.html
- source: salt://template/index.html
- user: root
- group: root
- mode: 755
- template: jinja
- require:
- pkg: Nginx
其中:
运行salt ‘*’ state.highstate命令并查看Nginx页面。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。