Преглед на файлове

Fix powerdns dns plugin install, deps are outrageously old ;(

Jamie Curnow преди 3 месеца
родител
ревизия
ed1d90ee7f
променени са 2 файла, в които са добавени 15 реда и са изтрити 6 реда
  1. 11 5
      backend/lib/certbot.js
  2. 4 1
      global/certbot-dns-plugins.json

+ 11 - 5
backend/lib/certbot.js

@@ -11,7 +11,7 @@ const certbot = {
 	/**
 	 * @param {array} pluginKeys
 	 */
-	installPlugins: async function (pluginKeys) {
+	installPlugins: async (pluginKeys) => {
 		let hasErrors = false;
 
 		return new Promise((resolve, reject) => {
@@ -21,7 +21,7 @@ const certbot = {
 			}
 
 			batchflow(pluginKeys).sequential()
-				.each((i, pluginKey, next) => {
+				.each((_i, pluginKey, next) => {
 					certbot.installPlugin(pluginKey)
 						.then(() => {
 							next();
@@ -51,7 +51,7 @@ const certbot = {
 	 * @param   {string}  pluginKey
 	 * @returns {Object}
 	 */
-	installPlugin: async function (pluginKey) {
+	installPlugin: async (pluginKey) => {
 		if (typeof dnsPlugins[pluginKey] === 'undefined') {
 			// throw Error(`Certbot plugin ${pluginKey} not found`);
 			throw new error.ItemNotFoundError(pluginKey);
@@ -63,8 +63,14 @@ const certbot = {
 		plugin.version      = plugin.version.replace(/{{certbot-version}}/g, CERTBOT_VERSION_REPLACEMENT);
 		plugin.dependencies = plugin.dependencies.replace(/{{certbot-version}}/g, CERTBOT_VERSION_REPLACEMENT);
 
-		const cmd = '. /opt/certbot/bin/activate && pip install --no-cache-dir ' + plugin.dependencies + ' ' + plugin.package_name + plugin.version + ' ' + ' && deactivate';
-		return utils.exec(cmd)
+		const opts = {};
+		if (typeof plugin.env === 'object') {
+			// include process.env in opts
+			opts.env = Object.assign({}, process.env, plugin.env);
+		}
+
+		const cmd = `. /opt/certbot/bin/activate && pip install --no-cache-dir ${plugin.dependencies} ${plugin.package_name}${plugin.version}  && deactivate`;
+		return utils.exec(cmd, opts)
 			.then((result) => {
 				logger.complete(`Installed ${pluginKey}`);
 				return result;

+ 4 - 1
global/certbot-dns-plugins.json

@@ -477,7 +477,10 @@
 		"version": "~=0.2.1",
 		"dependencies": "PyYAML==5.3.1",
 		"credentials": "dns_powerdns_api_url = https://api.mypowerdns.example.org\ndns_powerdns_api_key = AbCbASsd!@34",
-		"full_plugin_name": "dns-powerdns"
+		"full_plugin_name": "dns-powerdns",
+		"env": {
+			"SETUPTOOLS_USE_DISTUTILS": "stdlib"
+		}
 	},
 	"regru": {
 		"name": "reg.ru",