-
Notifications
You must be signed in to change notification settings - Fork 41
Open
Labels
Description
Problem:
Currently it's difficult to use certmgr as an in-process supervisor.
Use case:
I am a go library that doesn't want to require my customers to configure Certmgr with cert.Spec JSON files, instead letting them pass in configuration via function parameters.
Potential Solution:
- Remove the checked-in vendor directory. This causes type issues when using certmgr as a library.
- Expose the svcmgr.Manager interface on Manager (either within the Manager struct or via a constructor). This will enable users of certmgr to pass in their own svcmgr.Manager implementations, enabling users to restart/reload their process as needed.
- Don't require cert.Spec to exist on the filesystem. Currently the Load() function initializes the renew channel. This makes it impossible to configure certmgr without writing a Spec to the filesystem, which is cumbersome from a library perspective.