Passando a variável jinja ao script do pilar de sal

1

Usando o salt to provision e quero poder executar o cmd.script. O script funciona se eu listar todos os pacotes que pretendo instalar no script. Mas eu prefiro ter a lista de pacotes na fórmula de sal e referir a partir do script. Abaixo funciona ok.

fórmula de sal

Run masterscript:
  cmd.script:
    - name: masterscript
    - source: http://server/r-install.sh

r-install.sh

IFS=","
packages="'devtools','shiny','rmarkdown','plyr','shinydashboard','googleVis','RPostgreSQL','reshape2','xtable','DT','lattice','latticeExtra','ggplot2','formattable','plotly','htmlwidgets','shinyBS','stringr','DBI'"
for i in $packages; do su - -c "R -e \"install.packages($i, repos='http://cran.rstudio.com')\""; done

Eu prefiro listar os pacotes no pilar ie:

r:
  packages:
     - package1
     - package2
    
por user3818288 10.05.2017 / 19:41

1 resposta

1

salt-formula:

Run masterscript:
  cmd.script:
    - name: masterscript
    - source: http://server/r-install.sh
    - template: jinja

r-install.sh:

{%- for package in salt['pillar.get']('r:packages', []) %}
su - -c "R -e \"install.packages({{package}}, repos='http://cran.rstudio.com')\""
{% endfor -%}
    
por 10.05.2017 / 19:57