fix(connector.letsencrypt): Improve Lets Encrypt integration and certificate handling; fix coreflow certificate response; add local assistant permissions config
This commit is contained in:
		
							
								
								
									
										19
									
								
								changelog.md
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								changelog.md
									
									
									
									
									
								
							| @@ -1,5 +1,24 @@ | ||||
| # Changelog | ||||
|  | ||||
| ## 2025-08-18 - 5.0.6 - fix(connector.letsencrypt) | ||||
| Improve Let's Encrypt integration and certificate handling; fix coreflow certificate response; add local assistant permissions config | ||||
|  | ||||
| - Replace ad-hoc setChallenge/removeChallenge hooks with a DNS-01 handler (smartacme.handlers.Dns01Handler) using Cloudflare to manage ACME DNS challenges. | ||||
| - Add MongoDB-backed certificate manager (smartacme.certmanagers.MongoCertManager) and pass it to SmartAcme as certManager. | ||||
| - Initialize SmartAcme with certManager and challengeHandlers instead of setChallenge/removeChallenge/mongoDescriptor options. | ||||
| - Return certificate object directly from coreflow certificate request handler (avoid createSavableObject) to fix the getCertificateForDomain response payload. | ||||
| - Add .claude/settings.local.json with local assistant/permissions entries to allow specific debugging/automation commands. | ||||
| - Bump commitinfo versions to 5.0.6 and update changelog. | ||||
|  | ||||
| ## 2025-08-18 - 5.0.6 - fix(connector.letsencrypt) | ||||
| Improve Let's Encrypt integration and certificate handling; add local assistant permissions config | ||||
|  | ||||
| - Replace ad-hoc setChallenge/removeChallenge hooks with a DNS-01 handler using Cloudflare (smartacme.handlers.Dns01Handler) to manage ACME DNS challenges. | ||||
| - Add MongoDB-backed certificate manager (smartacme.certmanagers.MongoCertManager) and pass it to SmartAcme as certManager. | ||||
| - Update SmartAcme initialization to use certManager and challengeHandlers instead of setChallenge/removeChallenge/mongoDescriptor options. | ||||
| - Return certificate object directly from coreflow certificate request handler (avoid createSavableObject), fixing the response payload for getCertificateForDomain. | ||||
| - Add .claude/settings.local.json with local assistant/permissions entries to allow specific debugging/automation commands. | ||||
|  | ||||
| ## 2025-08-18 - 5.0.5 - fix(coreflow) | ||||
| Fix Coreflow identity lookup and response shape; improve API client tests and bump dependencies | ||||
|  | ||||
|   | ||||
| @@ -3,6 +3,6 @@ | ||||
|  */ | ||||
| export const commitinfo = { | ||||
|   name: '@serve.zone/cloudly', | ||||
|   version: '5.0.5', | ||||
|   version: '5.0.6', | ||||
|   description: 'A comprehensive tool for managing containerized applications across multiple cloud providers using Docker Swarmkit, featuring web, CLI, and API interfaces.' | ||||
| } | ||||
|   | ||||
| @@ -18,21 +18,22 @@ export class LetsencryptConnector { | ||||
|    * inits letsencrypt | ||||
|    */ | ||||
|   public async init() { | ||||
|     // Create DNS-01 challenge handler using Cloudflare | ||||
|     const dnsHandler = new plugins.smartacme.handlers.Dns01Handler( | ||||
|       this.cloudlyRef.cloudflareConnector.cloudflare | ||||
|     ); | ||||
|  | ||||
|     // Create MongoDB certificate manager | ||||
|     const certManager = new plugins.smartacme.certmanagers.MongoCertManager( | ||||
|       this.cloudlyRef.config.data.mongoDescriptor | ||||
|     ); | ||||
|  | ||||
|     this.smartacme = new plugins.smartacme.SmartAcme({ | ||||
|       accountEmail: this.cloudlyRef.config.data.letsEncryptEmail, | ||||
|       accountPrivateKey: this.cloudlyRef.config.data.letsEncryptPrivateKey, | ||||
|       environment: this.cloudlyRef.config.data.environment, | ||||
|       setChallenge: async (dnsChallenge) => { | ||||
|         await this.cloudlyRef.cloudflareConnector.cloudflare.convenience.acmeSetDnsChallenge( | ||||
|           dnsChallenge, | ||||
|         ); | ||||
|       }, | ||||
|       removeChallenge: async (dnsChallenge) => { | ||||
|         await this.cloudlyRef.cloudflareConnector.cloudflare.convenience.acmeRemoveDnsChallenge( | ||||
|           dnsChallenge, | ||||
|         ); | ||||
|       }, | ||||
|       mongoDescriptor: this.cloudlyRef.config.data.mongoDescriptor, | ||||
|       certManager: certManager, | ||||
|       challengeHandlers: [dnsHandler], | ||||
|     }); | ||||
|     await this.smartacme.start().catch((err) => { | ||||
|       console.error('error in init', err); | ||||
|   | ||||
| @@ -92,7 +92,7 @@ export class CloudlyCoreflowManager { | ||||
|           ); | ||||
|           console.log(`got certificate ready for reponse ${dataArg.domainName}`); | ||||
|           return { | ||||
|             certificate: await cert.createSavableObject(), | ||||
|             certificate: cert, | ||||
|           }; | ||||
|         } | ||||
|       ) | ||||
|   | ||||
| @@ -3,6 +3,6 @@ | ||||
|  */ | ||||
| export const commitinfo = { | ||||
|   name: '@serve.zone/cloudly', | ||||
|   version: '5.0.5', | ||||
|   version: '5.0.6', | ||||
|   description: 'A comprehensive tool for managing containerized applications across multiple cloud providers using Docker Swarmkit, featuring web, CLI, and API interfaces.' | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user