fix(docs): Improve certificate manager documentation with detailed examples and custom implementation guide
This commit is contained in:
parent
876d876661
commit
a0f6a14b63
@ -1,5 +1,12 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## 2025-05-01 - 7.2.3 - fix(docs)
|
||||||
|
Improve certificate manager documentation with detailed examples and custom implementation guide
|
||||||
|
|
||||||
|
- Added usage examples for MemoryCertManager and MongoCertManager
|
||||||
|
- Provided a custom ICertManager implementation guide
|
||||||
|
- Enhanced overall documentation clarity for certificate storage configuration
|
||||||
|
|
||||||
## 2025-05-01 - 7.2.2 - fix(readme)
|
## 2025-05-01 - 7.2.2 - fix(readme)
|
||||||
Update readme documentation: switch installation instructions to pnpm and clarify usage with MongoCertManager and updated SmartAcme options
|
Update readme documentation: switch installation instructions to pnpm and clarify usage with MongoCertManager and updated SmartAcme options
|
||||||
|
|
||||||
|
48
readme.md
48
readme.md
@ -113,6 +113,54 @@ const certManager = new MongoCertManager({
|
|||||||
});
|
});
|
||||||
```
|
```
|
||||||
|
|
||||||
|
SmartAcme uses the `ICertManager` interface for certificate storage. Two built-in implementations are available:
|
||||||
|
|
||||||
|
- **MemoryCertManager**
|
||||||
|
- In-memory storage, suitable for testing or ephemeral use.
|
||||||
|
- Import example:
|
||||||
|
```typescript
|
||||||
|
import { MemoryCertManager } from '@push.rocks/smartacme';
|
||||||
|
const certManager = new MemoryCertManager();
|
||||||
|
```
|
||||||
|
|
||||||
|
- **MongoCertManager**
|
||||||
|
- Persistent storage in MongoDB (collection: `SmartacmeCert`).
|
||||||
|
- Import example:
|
||||||
|
```typescript
|
||||||
|
import { MongoCertManager } from '@push.rocks/smartacme';
|
||||||
|
const certManager = new MongoCertManager({
|
||||||
|
mongoDbUrl: 'mongodb://yourmongoURL',
|
||||||
|
mongoDbName: 'yourDbName',
|
||||||
|
mongoDbPass: 'yourDbPassword',
|
||||||
|
});
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Custom Certificate Managers
|
||||||
|
|
||||||
|
To implement a custom certificate manager, implement the `ICertManager` interface and pass it to `SmartAcme`:
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
import type { ICertManager, Cert as SmartacmeCert } from '@push.rocks/smartacme';
|
||||||
|
import { SmartAcme } from '@push.rocks/smartacme';
|
||||||
|
|
||||||
|
class MyCustomCertManager implements ICertManager {
|
||||||
|
async init(): Promise<void> { /* setup storage */ }
|
||||||
|
async get(domainName: string): Promise<SmartacmeCert | null> { /* lookup cert */ }
|
||||||
|
async put(cert: SmartacmeCert): Promise<SmartacmeCert> { /* store cert */ }
|
||||||
|
async delete(domainName: string): Promise<void> { /* remove cert */ }
|
||||||
|
async close?(): Promise<void> { /* optional cleanup */ }
|
||||||
|
}
|
||||||
|
|
||||||
|
// Use your custom manager:
|
||||||
|
const customManager = new MyCustomCertManager();
|
||||||
|
const smartAcme = new SmartAcme({
|
||||||
|
accountEmail: 'youremail@example.com',
|
||||||
|
certManager: customManager,
|
||||||
|
environment: 'integration',
|
||||||
|
challengeHandlers: [], // add your handlers
|
||||||
|
});
|
||||||
|
```
|
||||||
|
|
||||||
### Environmental Considerations
|
### Environmental Considerations
|
||||||
|
|
||||||
When creating an instance of `SmartAcme`, you can specify an `environment` option. This is particularly useful for testing, as you can use the `integration` environment to avoid hitting rate limits and for testing your setup without issuing real certificates. Switch to `production` when you are ready to obtain actual certificates.
|
When creating an instance of `SmartAcme`, you can specify an `environment` option. This is particularly useful for testing, as you can use the `integration` environment to avoid hitting rate limits and for testing your setup without issuing real certificates. Switch to `production` when you are ready to obtain actual certificates.
|
||||||
|
@ -3,6 +3,6 @@
|
|||||||
*/
|
*/
|
||||||
export const commitinfo = {
|
export const commitinfo = {
|
||||||
name: '@push.rocks/smartacme',
|
name: '@push.rocks/smartacme',
|
||||||
version: '7.2.2',
|
version: '7.2.3',
|
||||||
description: 'A TypeScript-based ACME client for LetsEncrypt certificate management with a focus on simplicity and power.'
|
description: 'A TypeScript-based ACME client for LetsEncrypt certificate management with a focus on simplicity and power.'
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user