static protected String generateWaitInfraScript(List<IPApplicationDefinitionPortRedirect> portsRedirect, String command) { Map<String, Object> model = new HashMap<>(); model.put("portsRedirect", portsRedirect.stream().map(it -> { return new IPApplicationDefinitionPortRedirectVisualWrapper(it); }).collect(Collectors.toList())); model.put("command", command); return FreemarkerTools.processTemplate("/com/foilen/infra/plugin/v1/model/outputter/docker/waitInfra.sh.ftl", model); }
/** * Get the configuration files for relaying all emails to a specific email server. * * @param hostname * the local hostname * @param emailRelay * the email relay * @return the filenames with their content */ public static Map<String, String> getRelayConfig(String hostname, EmailRelay emailRelay) { Map<String, Object> model = new HashMap<String, Object>(); model.put("hostname", hostname); model.put("emailRelay", emailRelay); Map<String, String> configFiles = new TreeMap<>(); configFiles.put("/etc/postfix/main.cf", FreemarkerTools.processTemplate("/com/foilen/infra/utils/postfix/main.cf.ftl", model)); configFiles.put("/etc/postfix/sasl_passwd", "[" + emailRelay.getHostname() + "]:" + emailRelay.getPort() + " " + emailRelay.getUsername() + ":" + emailRelay.getPassword()); return configFiles; }
config.append(FreemarkerTools.processTemplate("/com/foilen/infra/resource/urlredirection/apache-http-redirect-permanent.ftl", model)); config.append("\n"); } else { config.append(FreemarkerTools.processTemplate("/com/foilen/infra/resource/urlredirection/apache-http-redirect-temporary.ftl", model)); config.append("\n");
if (serviceAndIsInfra.getB() || portsRedirect.isEmpty()) { serviceScriptContent = FreemarkerTools.processTemplate("/com/foilen/infra/plugin/v1/model/outputter/docker/justRun.sh.ftl", model); } else { serviceScriptContent = generateWaitInfraScript(portsRedirect, service.getCommand());
Map<String, Object> model = new HashMap<>(); model.put("defaultEmailFrom", apachePhp.getDefaultEmailFrom()); assetsBundle.addAssetContent("/99-fcloud.ini", FreemarkerTools.processTemplate("/com/foilen/infra/resource/apachephp/php-sendmail.ini.ftl", model)); assetsBundle.addAssetContent("/etc/apache2/sites-enabled/000-default.conf", FreemarkerTools.processTemplate("/com/foilen/infra/resource/apachephp/apache-http-fs.ftl", model));
assetsBundle.addAssetResource("/james-server-app/conf/indexer.xml", "/com/foilen/infra/resource/email/james/indexer.xml"); assetsBundle.addAssetContent("/james-server-app/conf/james-database.properties", FreemarkerTools.processTemplate("/com/foilen/infra/resource/email/james/james-database.properties.ftl", model)); assetsBundle.addAssetResource("/james-server-app/conf/jmx.properties", "/com/foilen/infra/resource/email/james/jmx.properties"); assetsBundle.addAssetResource("/james-server-app/conf/lmtpserver.xml", "/com/foilen/infra/resource/email/james/lmtpserver.xml"); assetsBundle.addAssetContent("/james-server-app/conf/mailetcontainer.xml", FreemarkerTools.processTemplate("/com/foilen/infra/resource/email/james/mailetcontainer.xml.ftl", model));