From 1bba84ee90cf798c22a60b63c67cb59dccd40bdd Mon Sep 17 00:00:00 2001 From: ZeekoZhu Date: Tue, 20 Feb 2024 10:37:21 +0800 Subject: [PATCH] make certbot authenticator configurable address: https://github.com/caprover/caprover/issues/1761 --- src/user/system/CertbotManager.ts | 18 ++++++++++++------ src/utils/CaptainConstants.ts | 6 ++++-- src/utils/CaptainInstaller.ts | 2 +- 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/src/user/system/CertbotManager.ts b/src/user/system/CertbotManager.ts index 239b65d..24f81df 100644 --- a/src/user/system/CertbotManager.ts +++ b/src/user/system/CertbotManager.ts @@ -61,12 +61,18 @@ class CertbotManager { const cmd = [ 'certbot', 'certonly', - '--webroot', - '-w', - `${WEBROOT_PATH_IN_CERTBOT}/${domainName}`, + ] + + if (CaptainConstants.configs.certbotAuthenticator === 'webroot') { + cmd.push('--webroot') + cmd.push('-w') + cmd.push(`${WEBROOT_PATH_IN_CERTBOT}/${domainName}`) + } + + cmd.push( '-d', domainName, - ] + ) if (shouldUseStaging) { cmd.push('--staging') @@ -295,7 +301,7 @@ class CertbotManager { return dockerApi .createServiceOnNodeId( - CaptainConstants.certbotImageName, + CaptainConstants.configs.certbotImageName, CaptainConstants.certbotServiceName, undefined, nodeId, @@ -373,7 +379,7 @@ class CertbotManager { return dockerApi.updateService( CaptainConstants.certbotServiceName, - CaptainConstants.certbotImageName, + CaptainConstants.configs.certbotImageName, [ { hostPath: CaptainConstants.letsEncryptEtcPath, diff --git a/src/utils/CaptainConstants.ts b/src/utils/CaptainConstants.ts index c365087..b8a7893 100644 --- a/src/utils/CaptainConstants.ts +++ b/src/utils/CaptainConstants.ts @@ -54,6 +54,10 @@ const configs = { proApiDomains: ['https://pro.caprover.com'], analyticsDomain: 'https://analytics-v1.caprover.com', + + certbotImageName: 'caprover/certbot-sleeping:v1.6.0', + + certbotAuthenticator: 'webroot' } const data = { @@ -133,8 +137,6 @@ const data = { // ********************* Local Docker Constants ************************ - certbotImageName: 'caprover/certbot-sleeping:v1.6.0', - captainSaltSecretKey: 'captain-salt', nginxServiceName: 'captain-nginx', diff --git a/src/utils/CaptainInstaller.ts b/src/utils/CaptainInstaller.ts index a1af1ff..ae78563 100644 --- a/src/utils/CaptainInstaller.ts +++ b/src/utils/CaptainInstaller.ts @@ -279,7 +279,7 @@ export function install() { return DockerApi.get().pullImage(imageName, undefined) }) .then(function () { - const imageName = CaptainConstants.certbotImageName + const imageName = CaptainConstants.configs.certbotImageName console.log(`Pulling: ${imageName}`) return DockerApi.get().pullImage(imageName, undefined) })