feat(smartacme): Integrate @push.rocks/taskbuffer TaskManager to coordinate ACME certificate issuance with per-domain mutex, global concurrency cap, and account-level rate limiting; refactor issuance flow into a single reusable cert-issuance task, expose issuance events, and update lifecycle to start/stop the TaskManager. Add configuration for concurrent issuances and sliding-window order limits, export taskbuffer types/plugins, and update tests and docs accordingly.

This commit is contained in:
2026-02-15 22:22:12 +00:00
parent 68178366d5
commit cfc0695c8a
9 changed files with 257 additions and 89 deletions

52
pnpm-lock.yaml generated
View File

@@ -41,6 +41,9 @@ importers:
'@push.rocks/smartunique':
specifier: ^3.0.9
version: 3.0.9
'@push.rocks/taskbuffer':
specifier: ^6.1.0
version: 6.1.1
'@tsclass/tsclass':
specifier: ^9.3.0
version: 9.3.0
@@ -1033,12 +1036,12 @@ packages:
'@push.rocks/smartyaml@3.0.4':
resolution: {integrity: sha512-1JRt+hnoc2zHw3AW+vXKlCdSVwqOmY/01fu+2HBviS0UDjoZCa+/rp6E3GaQb5lEEafKi8ENbffAfjXXp3N2xQ==}
'@push.rocks/taskbuffer@3.1.7':
resolution: {integrity: sha512-QktGVJPucqQmW/QNGnscf4FAigT1H7JWKFGFdRuDEaOHKFh9qN+PXG3QY7DtZ4jfXdGLxPN4yAufDuPSAJYFnw==}
'@push.rocks/taskbuffer@3.5.0':
resolution: {integrity: sha512-Y9WwIEIyp6oVFdj06j84tfrZIvjhbMb3DF52rYxlTeYLk3W7RPhSg1bGPCbtkXWeKdBrSe37V90BkOG7Qq8Pqg==}
'@push.rocks/taskbuffer@6.1.1':
resolution: {integrity: sha512-rEJxf+yIbHwztNkrL5QJFinf0wai1Fzs1xgonEOo9LmG/DDCanfLWHSd5zCVG0kXxzz4sHv87fgkg+w/TIHLpg==}
'@push.rocks/webrequest@3.0.37':
resolution: {integrity: sha512-fLN7kP6GeHFxE4UH4r9C9pjcQb0QkJxHeAMwXvbOqB9hh0MFNKhtGU7GoaTn8SVRGRMPc9UqZVNwo6u5l8Wn0A==}
@@ -5533,8 +5536,11 @@ snapshots:
'@push.rocks/smartpromise': 4.2.3
typescript: 5.9.3
transitivePeerDependencies:
- '@nuxt/kit'
- aws-crt
- react
- supports-color
- vue
'@git.zone/tsbundle@2.8.3':
dependencies:
@@ -5556,8 +5562,11 @@ snapshots:
rolldown: 1.0.0-beta.52
typescript: 5.9.3
transitivePeerDependencies:
- '@nuxt/kit'
- '@swc/helpers'
- react
- supports-color
- vue
'@git.zone/tspublish@1.11.0':
dependencies:
@@ -5573,8 +5582,11 @@ snapshots:
'@push.rocks/smartrequest': 5.0.1
'@push.rocks/smartshell': 3.3.0
transitivePeerDependencies:
- '@nuxt/kit'
- aws-crt
- react
- supports-color
- vue
'@git.zone/tsrun@2.0.1':
dependencies:
@@ -5945,10 +5957,14 @@ snapshots:
'@push.rocks/smartpromise': 4.2.3
'@push.rocks/smartstring': 4.1.0
'@push.rocks/smartunique': 3.0.9
'@push.rocks/taskbuffer': 3.1.7
'@push.rocks/taskbuffer': 3.5.0
'@tsclass/tsclass': 4.4.4
transitivePeerDependencies:
- '@nuxt/kit'
- aws-crt
- react
- supports-color
- vue
'@push.rocks/lik@6.2.2':
dependencies:
@@ -5982,8 +5998,13 @@ snapshots:
'@push.rocks/smartpath': 6.0.0
'@push.rocks/smartpromise': 4.2.3
'@push.rocks/smartrx': 3.0.10
'@push.rocks/taskbuffer': 3.1.7
'@push.rocks/taskbuffer': 3.5.0
'@tsclass/tsclass': 9.3.0
transitivePeerDependencies:
- '@nuxt/kit'
- react
- supports-color
- vue
'@push.rocks/qenv@6.1.3':
dependencies:
@@ -6108,19 +6129,22 @@ snapshots:
'@push.rocks/smartstring': 4.1.0
'@push.rocks/smarttime': 4.1.1
'@push.rocks/smartunique': 3.0.9
'@push.rocks/taskbuffer': 3.1.7
'@push.rocks/taskbuffer': 3.5.0
'@tsclass/tsclass': 8.2.1
mongodb: 6.16.0
transitivePeerDependencies:
- '@aws-sdk/credential-providers'
- '@mongodb-js/zstd'
- '@nuxt/kit'
- aws-crt
- gcp-metadata
- kerberos
- mongodb-client-encryption
- react
- snappy
- socks
- supports-color
- vue
'@push.rocks/smartdata@7.0.15':
dependencies:
@@ -6347,13 +6371,16 @@ snapshots:
transitivePeerDependencies:
- '@aws-sdk/credential-providers'
- '@mongodb-js/zstd'
- '@nuxt/kit'
- aws-crt
- gcp-metadata
- kerberos
- mongodb-client-encryption
- react
- snappy
- socks
- supports-color
- vue
'@push.rocks/smartnetwork@3.0.2':
dependencies:
@@ -6389,8 +6416,11 @@ snapshots:
'@push.rocks/smartversion': 3.0.5
package-json: 8.1.1
transitivePeerDependencies:
- '@nuxt/kit'
- aws-crt
- react
- supports-color
- vue
'@push.rocks/smartntml@2.0.8':
dependencies:
@@ -6642,8 +6672,9 @@ snapshots:
dependencies:
yaml: 2.8.2
'@push.rocks/taskbuffer@3.1.7':
'@push.rocks/taskbuffer@3.5.0':
dependencies:
'@design.estate/dees-element': 2.1.6
'@push.rocks/lik': 6.2.2
'@push.rocks/smartdelay': 3.0.5
'@push.rocks/smartlog': 3.1.11
@@ -6651,8 +6682,13 @@ snapshots:
'@push.rocks/smartrx': 3.0.10
'@push.rocks/smarttime': 4.1.1
'@push.rocks/smartunique': 3.0.9
transitivePeerDependencies:
- '@nuxt/kit'
- react
- supports-color
- vue
'@push.rocks/taskbuffer@3.5.0':
'@push.rocks/taskbuffer@6.1.1':
dependencies:
'@design.estate/dees-element': 2.1.6
'@push.rocks/lik': 6.2.2