Как установить несколько переменных окружения с ресурсом Chefs Systemd_unit? - PullRequest
0 голосов
/ 08 мая 2019

Моя задача - установить кота через шеф-повара.Единственная проблема в том, что мой systemd_file (tomcat.service) реализован через ресурс chef systemd_unit.Однако, как только я схожусь, журнал предупреждает меня, что ключ Environment дублируется и поэтому перезаписывается.В моей старой версии я просто реализовал свой tomcat.service файл через ресурс cookbook_file от chef, и он отлично работал.

В чем проблема? Как реализовать несколько переменных Envrionment в ресурсе systemd_unit?

systemd_unit service_file do
  content({Unit: {
    Description: 'Apache Tomcat Web Application Container',
    After: 'syslog.target network.target',
  },
  Service: {
    Type: 'forking',
    Environment: 'JAVA_HOME=/usr/lib/jvm/jre',
    Environment: 'CATALINA_PID=/opt/tomcat/temp/tomcat.pid',
    Environment: 'CATALINA_HOME=/opt/tomcat',
    Environment: 'CATALINA_BASE=/opt/tomcat',
    Environment: 'CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC',
    Environment: 'JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom',
    Environment: 'PWM_APPLICATIONPATH=/opt/pwm-data',
    ExecStart: '/opt/tomcat/bin/startup.sh',
    ExecStop: '/bin/kill -15 $MAINPID',

    User:tuser,
    Group:tgroup,
    UMask:'0007',
    RestartSec:'10',
    Restart:'always',
  },
  Install: {
    WantedBy: 'multi-user.target',
  }})
  action :create
end

1 Ответ

0 голосов
/ 10 мая 2019

Чтение документов помогает. repeatable options can be implemented with an array.

Это означает, что мне нужно написать

Environment: ['JAVA_HOME=/path/to/java', 'CATALINA_HOME=some/path', 'and so on']
...