@super-protocol/pki-sync-client 3.0.0 → 3.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -50,7 +50,7 @@ secrets:
50
50
  Create a YAML file (e.g., `swarm-env.yaml`) that defines PKI server connection details:
51
51
 
52
52
  ```yaml
53
- pki-authority:
53
+ pki_authority:
54
54
  networkID: my-network-id
55
55
  caBundle: |
56
56
  -----BEGIN CERTIFICATE-----
@@ -63,9 +63,9 @@ pki-authority:
63
63
  ```
64
64
 
65
65
  **Schema:**
66
- - `pki-authority.networkID` (string, required): Network identifier for PKI authentication
67
- - `pki-authority.caBundle` (string, required): PEM-encoded CA certificate bundle for server verification
68
- - `pki-authority.servers` (array of strings, required): List of PKI server addresses (with automatic failover)
66
+ - `pki_authority.networkID` (string, required): Network identifier for PKI authentication
67
+ - `pki_authority.caBundle` (string, required): PEM-encoded CA certificate bundle for server verification
68
+ - `pki_authority.servers` (array of strings, required): List of PKI server addresses (with automatic failover)
69
69
 
70
70
  ## CLI Usage
71
71
 
@@ -89,6 +89,8 @@ pki-sync-client sync [options]
89
89
  | `--swarm-env` | | string | `/sp/swarm/swarm-env.yaml` | Path to swarm environment config (YAML) |
90
90
  | `--own-challenge` | | string | `auto` | Authentication challenge type: `auto`, `tdx`, `sev`, or `untrusted` |
91
91
  | `--log-level` | `-l` | string | | Log level: `fatal`, `error`, `warn`, `info`, `debug`, `trace` |
92
+ | `--retry-attempts` | | number | `3` | Number of retry attempts per server for retryable network/DNS errors |
93
+ | `--retry-timeout` | | number | `10` | Timeout between retries in seconds for retryable network/DNS errors |
92
94
  | `--disable-server-identity-check` | | boolean | `false` | Disable server identity verification (not recommended) |
93
95
  | `--save-certs-to-dir` | | string | | Directory to save client certificates (`key.pem`, `ca.pem`, `cert.pem`) |
94
96
  | `--save-certs-prefix` | | string | | Prefix for certificate filenames (e.g., `client` → `client_key.pem`) |
@@ -112,6 +114,11 @@ pki-sync-client sync -c secrets.yaml --log-level info
112
114
  pki-sync-client sync -c secrets.yaml --swarm-env /custom/path/swarm-env.yaml
113
115
  ```
114
116
 
117
+ **Sync with custom retry policy:**
118
+ ```bash
119
+ pki-sync-client sync -c secrets.yaml --retry-attempts 5 --retry-timeout 3
120
+ ```
121
+
115
122
  **Sync and save client certificates:**
116
123
  ```bash
117
124
  pki-sync-client sync -c secrets.yaml --save-certs-to-dir /etc/app/certs
@@ -149,9 +156,9 @@ async function syncSecrets() {
149
156
 
150
157
  // Create sync client
151
158
  const client = new SyncClient({
152
- servers: swarmEnv['pki-authority'].servers,
153
- networkID: swarmEnv['pki-authority'].networkID,
154
- caBundle: swarmEnv['pki-authority'].caBundle,
159
+ servers: swarmEnv.pki_authority.servers,
160
+ networkID: swarmEnv.pki_authority.networkID,
161
+ caBundle: swarmEnv.pki_authority.caBundle,
155
162
  ownChallenge: 'auto',
156
163
  logLevel: 'info',
157
164
  });
@@ -202,6 +209,8 @@ interface SyncClientOptions {
202
209
  networkID: string; // Network identifier
203
210
  caBundle: string; // PEM-encoded CA certificate bundle
204
211
  ownChallenge: string; // Challenge type: 'auto', 'tdx', 'sev', 'untrusted'
212
+ retryAttempts?: number; // Retry attempts per server (default: 3)
213
+ retryDelaySec?: number; // Delay between retries in seconds (default: 10)
205
214
  logLevel?: LogLevel; // Log level: fatal | error | warn | info | debug | trace; if omitted logs are disabled
206
215
  disableServerIdentityCheck?: boolean; // Disable server verification (default: false)
207
216
  saveCertsToDir?: string; // Directory to save certificates
@@ -258,6 +267,10 @@ Use a static identifier for non-TEE environments (development/testing only).
258
267
  6. **Certificate Export** (optional): Saves client certificates for external use
259
268
  7. **Failover**: Automatically tries next server if connection fails
260
269
 
270
+ Retry behavior details:
271
+ - Retries are performed for retryable network/DNS errors (for example: `ECONNRESET`, `ECONNREFUSED`, `ETIMEDOUT`, `EAI_AGAIN`, `ENOTFOUND`) and for HTTP `429`/`502` responses (e.g. throttling or temporary upstream failure behind OpenResty)
272
+ - Retries are performed against the original hostname (SNI-safe), without replacing hostname with direct IPs
273
+
261
274
  ## Error Handling
262
275
 
263
276
  The sync client provides clear error messages for common issues:
package/dist/cli.js CHANGED
@@ -15,9 +15,9 @@ async function sync(argv) {
15
15
  const config = (0, config_1.parseConfig)(argv.config);
16
16
  const swarmEnv = (0, config_1.parseSwarmEnv)(argv.swarmEnv);
17
17
  const client = new sync_client_1.SyncClient({
18
- servers: swarmEnv['pki-authority'].servers,
19
- networkID: swarmEnv['pki-authority'].networkID,
20
- caBundle: swarmEnv['pki-authority'].caBundle,
18
+ servers: swarmEnv.pki_authority.servers,
19
+ networkID: swarmEnv.pki_authority.networkID,
20
+ caBundle: swarmEnv.pki_authority.caBundle,
21
21
  ownChallenge: argv.ownChallenge,
22
22
  retryAttempts: argv.retryAttempts,
23
23
  retryDelaySec: argv.retryTimeout,
@@ -96,4 +96,4 @@ main().catch((error) => {
96
96
  console.error('Error:', error.message);
97
97
  process.exit(1);
98
98
  });
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NsaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxrREFBMEI7QUFDMUIsMkNBQXdDO0FBQ3hDLHFDQUFzRDtBQUN0RCwrQ0FBMkM7QUFDM0MsMkRBQXNEO0FBRXRELE1BQU0sc0JBQXNCLEdBQUcsMEJBQTBCLENBQUM7QUFFMUQsS0FBSyxVQUFVLElBQUksQ0FBQyxJQUFTO0lBQ3pCLElBQUksQ0FBQztRQUNELE1BQU0sTUFBTSxHQUFHLElBQUEsb0JBQVcsRUFBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEMsTUFBTSxRQUFRLEdBQUcsSUFBQSxzQkFBYSxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU5QyxNQUFNLE1BQU0sR0FBRyxJQUFJLHdCQUFVLENBQUM7WUFDMUIsT0FBTyxFQUFFLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxPQUFPO1lBQzFDLFNBQVMsRUFBRSxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUMsU0FBUztZQUM5QyxRQUFRLEVBQUUsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDLFFBQVE7WUFDNUMsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQy9CLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtZQUNqQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDaEMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLDBCQUEwQixFQUFFLElBQUksQ0FBQywwQkFBMEI7WUFDM0QsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjO1lBQ25DLGVBQWUsRUFBRSxJQUFJLENBQUMsZUFBZTtTQUN4QyxDQUFDLENBQUM7UUFFSCxNQUFNLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFMUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFBQyxPQUFPLEtBQVUsRUFBRSxDQUFDO1FBQ2xCLE9BQU8sQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7QUFDTCxDQUFDO0FBRUQsS0FBSyxVQUFVLElBQUk7SUFDZixNQUFNLElBQUEsZUFBSyxFQUFDLElBQUEsaUJBQU8sRUFBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDN0IsS0FBSyxDQUFDLDBCQUEwQixDQUFDO1NBQ2pDLE9BQU8sQ0FDSixNQUFNLEVBQ04sOEJBQThCLEVBQzlCLENBQUMsS0FBSyxFQUFFLEVBQUU7UUFDTixPQUFPLEtBQUs7YUFDUCxNQUFNLENBQUMsV0FBVyxFQUFFO1lBQ2pCLFFBQVEsRUFBRSx5Q0FBeUM7WUFDbkQsSUFBSSxFQUFFLFFBQVE7WUFDZCxPQUFPLEVBQUUsc0JBQXNCO1NBQ2xDLENBQUM7YUFDRCxNQUFNLENBQUMsUUFBUSxFQUFFO1lBQ2QsS0FBSyxFQUFFLEdBQUc7WUFDVixRQUFRLEVBQUUsb0NBQW9DO1lBQzlDLElBQUksRUFBRSxRQUFRO1lBQ2QsWUFBWSxFQUFFLElBQUk7U0FDckIsQ0FBQzthQUNELE1BQU0sQ0FBQyxlQUFlLEVBQUU7WUFDckIsUUFBUSxFQUNKLHlFQUF5RTtZQUM3RSxJQUFJLEVBQUUsUUFBUTtZQUNkLE9BQU8sRUFBRSxNQUFNO1NBQ2xCLENBQUM7YUFDRCxNQUFNLENBQUMsV0FBVyxFQUFFO1lBQ2pCLEtBQUssRUFBRSxHQUFHO1lBQ1YsUUFBUSxFQUFFLFdBQVc7WUFDckIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMscUJBQVEsQ0FBQztZQUNoQyxJQUFJLEVBQUUsUUFBUTtTQUNqQixDQUFDO2FBQ0QsTUFBTSxDQUFDLGdCQUFnQixFQUFFO1lBQ3RCLFFBQVEsRUFDSixzRUFBc0U7WUFDMUUsSUFBSSxFQUFFLFFBQVE7WUFDZCxPQUFPLEVBQUUsQ0FBQztTQUNiLENBQUM7YUFDRCxNQUFNLENBQUMsZUFBZSxFQUFFO1lBQ3JCLFFBQVEsRUFDSixxRUFBcUU7WUFDekUsSUFBSSxFQUFFLFFBQVE7WUFDZCxPQUFPLEVBQUUsRUFBRTtTQUNkLENBQUM7YUFDRCxNQUFNLENBQUMsK0JBQStCLEVBQUU7WUFDckMsUUFBUSxFQUFFLHNDQUFzQztZQUNoRCxJQUFJLEVBQUUsU0FBUztZQUNmLE9BQU8sRUFBRSxLQUFLO1NBQ2pCLENBQUM7YUFDRCxNQUFNLENBQUMsbUJBQW1CLEVBQUU7WUFDekIsUUFBUSxFQUNKLG1FQUFtRTtZQUN2RSxJQUFJLEVBQUUsUUFBUTtTQUNqQixDQUFDO2FBQ0QsTUFBTSxDQUFDLG1CQUFtQixFQUFFO1lBQ3pCLFFBQVEsRUFDSixxRUFBcUU7WUFDekUsSUFBSSxFQUFFLFFBQVE7U0FDakIsQ0FBQyxDQUFDO0lBQ1gsQ0FBQyxFQUNELElBQUksQ0FDUDtTQUNBLGFBQWEsQ0FBQyxDQUFDLEVBQUUsNEJBQTRCLENBQUM7U0FDOUMsSUFBSSxFQUFFO1NBQ04sS0FBSyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUM7U0FDbEIsT0FBTyxFQUFFO1NBQ1QsS0FBSyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUM7U0FDckIsS0FBSyxFQUFFLENBQUM7QUFDakIsQ0FBQztBQUVELElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO0lBQ25CLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN2QyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BCLENBQUMsQ0FBQyxDQUFDIn0=
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NsaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxrREFBMEI7QUFDMUIsMkNBQXdDO0FBQ3hDLHFDQUFzRDtBQUN0RCwrQ0FBMkM7QUFDM0MsMkRBQXNEO0FBRXRELE1BQU0sc0JBQXNCLEdBQUcsMEJBQTBCLENBQUM7QUFFMUQsS0FBSyxVQUFVLElBQUksQ0FBQyxJQUFTO0lBQ3pCLElBQUksQ0FBQztRQUNELE1BQU0sTUFBTSxHQUFHLElBQUEsb0JBQVcsRUFBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEMsTUFBTSxRQUFRLEdBQUcsSUFBQSxzQkFBYSxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU5QyxNQUFNLE1BQU0sR0FBRyxJQUFJLHdCQUFVLENBQUM7WUFDMUIsT0FBTyxFQUFFLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTztZQUN2QyxTQUFTLEVBQUUsUUFBUSxDQUFDLGFBQWEsQ0FBQyxTQUFTO1lBQzNDLFFBQVEsRUFBRSxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVE7WUFDekMsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQy9CLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtZQUNqQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDaEMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLDBCQUEwQixFQUFFLElBQUksQ0FBQywwQkFBMEI7WUFDM0QsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjO1lBQ25DLGVBQWUsRUFBRSxJQUFJLENBQUMsZUFBZTtTQUN4QyxDQUFDLENBQUM7UUFFSCxNQUFNLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFMUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFBQyxPQUFPLEtBQVUsRUFBRSxDQUFDO1FBQ2xCLE9B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
package/dist/config.d.ts CHANGED
@@ -10,7 +10,7 @@ declare const SyncConfigSchema: import("@sinclair/typebox").TObject<{
10
10
  }>>;
11
11
  }>;
12
12
  declare const SwarmEnvSchema: import("@sinclair/typebox").TObject<{
13
- 'pki-authority': import("@sinclair/typebox").TObject<{
13
+ pki_authority: import("@sinclair/typebox").TObject<{
14
14
  networkID: import("@sinclair/typebox").TString;
15
15
  caBundle: import("@sinclair/typebox").TString;
16
16
  servers: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
package/dist/config.js CHANGED
@@ -36,7 +36,7 @@ const SyncConfigSchema = typebox_1.Type.Object({
36
36
  secrets: typebox_1.Type.Array(SecretEntrySchema),
37
37
  });
38
38
  const SwarmEnvSchema = typebox_1.Type.Object({
39
- 'pki-authority': typebox_1.Type.Object({
39
+ pki_authority: typebox_1.Type.Object({
40
40
  networkID: typebox_1.Type.String(),
41
41
  caBundle: typebox_1.Type.String(),
42
42
  servers: typebox_1.Type.Array(typebox_1.Type.String()),
@@ -68,4 +68,4 @@ function parseSwarmEnv(swarmEnvPath) {
68
68
  return parsed;
69
69
  }
70
70
  exports.parseSwarmEnv = parseSwarmEnv;
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUFpRDtBQUNqRCxtREFBZ0Q7QUFDaEQsdUNBQXlCO0FBQ3pCLDhDQUFnQztBQUVoQyxNQUFNLGlCQUFpQixHQUFHLGNBQUksQ0FBQyxNQUFNLENBQUM7SUFDbEMsVUFBVSxFQUFFLGNBQUksQ0FBQyxNQUFNLEVBQUU7SUFDekIsTUFBTSxFQUFFLGNBQUksQ0FBQyxNQUFNLEVBQUU7Q0FDeEIsQ0FBQyxDQUFDO0FBRUgsTUFBTSxnQkFBZ0IsR0FBRyxjQUFJLENBQUMsTUFBTSxDQUFDO0lBQ2pDLE9BQU8sRUFBRSxjQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDO0NBQ3pDLENBQUMsQ0FBQztBQUVILE1BQU0sY0FBYyxHQUFHLGNBQUksQ0FBQyxNQUFNLENBQUM7SUFDL0IsZUFBZSxFQUFFLGNBQUksQ0FBQyxNQUFNLENBQUM7UUFDekIsU0FBUyxFQUFFLGNBQUksQ0FBQyxNQUFNLEVBQUU7UUFDeEIsUUFBUSxFQUFFLGNBQUksQ0FBQyxNQUFNLEVBQUU7UUFDdkIsT0FBTyxFQUFFLGNBQUksQ0FBQyxLQUFLLENBQUMsY0FBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0tBQ3JDLENBQUM7Q0FDTCxDQUFDLENBQUM7QUFNSCxTQUFnQixXQUFXLENBQUMsVUFBa0I7SUFDMUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztRQUM3QixNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxNQUFNLFdBQVcsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN6RCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUVwRSxJQUFJLENBQUMsYUFBSyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ3pDLE1BQU0sTUFBTSxHQUFHLENBQUMsR0FBRyxhQUFLLENBQUMsTUFBTSxDQUFDLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDM0QsTUFBTSxJQUFJLEtBQUssQ0FDWCx3QkFBd0IsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUNwRixDQUFDO0lBQ04sQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUM7QUFoQkQsa0NBZ0JDO0FBRUQsU0FBZ0IsYUFBYSxDQUFDLFlBQW9CO0lBQzlDLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7UUFDL0IsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDM0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFFcEUsSUFBSSxDQUFDLGFBQUssQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDdkMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxHQUFHLGFBQUssQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDekQsTUFBTSxJQUFJLEtBQUssQ0FDWCwyQkFBMkIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUN2RixDQUFDO0lBQ04sQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUM7QUFoQkQsc0NBZ0JDIn0=
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUFpRDtBQUNqRCxtREFBZ0Q7QUFDaEQsdUNBQXlCO0FBQ3pCLDhDQUFnQztBQUVoQyxNQUFNLGlCQUFpQixHQUFHLGNBQUksQ0FBQyxNQUFNLENBQUM7SUFDbEMsVUFBVSxFQUFFLGNBQUksQ0FBQyxNQUFNLEVBQUU7SUFDekIsTUFBTSxFQUFFLGNBQUksQ0FBQyxNQUFNLEVBQUU7Q0FDeEIsQ0FBQyxDQUFDO0FBRUgsTUFBTSxnQkFBZ0IsR0FBRyxjQUFJLENBQUMsTUFBTSxDQUFDO0lBQ2pDLE9BQU8sRUFBRSxjQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDO0NBQ3pDLENBQUMsQ0FBQztBQUVILE1BQU0sY0FBYyxHQUFHLGNBQUksQ0FBQyxNQUFNLENBQUM7SUFDL0IsYUFBYSxFQUFFLGNBQUksQ0FBQyxNQUFNLENBQUM7UUFDdkIsU0FBUyxFQUFFLGNBQUksQ0FBQyxNQUFNLEVBQUU7UUFDeEIsUUFBUSxFQUFFLGNBQUksQ0FBQyxNQUFNLEVBQUU7UUFDdkIsT0FBTyxFQUFFLGNBQUksQ0FBQyxLQUFLLENBQUMsY0FBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0tBQ3JDLENBQUM7Q0FDTCxDQUFDLENBQUM7QUFNSCxTQUFnQixXQUFXLENBQUMsVUFBa0I7SUFDMUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztRQUM3QixNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxNQUFNLFdBQVcsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN6RCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUVwRSxJQUFJLENBQUMsYUFBSyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ3pDLE1BQU0sTUFBTSxHQUFHLENBQUMsR0FBRyxhQUFLLENBQUMsTUFBTSxDQUFDLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDM0QsTUFBTSxJQUFJLEtBQUssQ0FDWCx3QkFBd0IsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUNwRixDQUFDO0lBQ04sQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUM7QUFoQkQsa0NBZ0JDO0FBRUQsU0FBZ0IsYUFBYSxDQUFDLFlBQW9CO0lBQzlDLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7UUFDL0IsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDM0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFFcEUsSUFBSSxDQUFDLGFBQUssQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDdkMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxHQUFHLGFBQUssQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDekQsTUFBTSxJQUFJLEtBQUssQ0FDWCwyQkFBMkIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUN2RixDQUFDO0lBQ04sQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUM7QUFoQkQsc0NBZ0JDIn0=
@@ -22,15 +22,15 @@ export declare class SyncClient {
22
22
  private logger;
23
23
  private retryAttempts;
24
24
  private retryDelaySec;
25
- private static readonly UNKNOWN_AXIOS_ERROR_REASON;
26
- private static readonly NON_AXIOS_ERROR_REASON;
27
25
  private static resolveLogger;
28
26
  constructor(options: SyncClientOptions);
29
27
  private static normalizeRetryAttempts;
30
28
  private static normalizeRetryDelaySec;
31
29
  private static evaluateRetry;
32
30
  private static waitRetryDelay;
33
- private syncFromServer;
31
+ private fetchSecrets;
32
+ private saveSecrets;
33
+ private saveArtifacts;
34
34
  private saveCertificates;
35
35
  sync(config: SyncConfig): Promise<void>;
36
36
  }
@@ -49,8 +49,6 @@ class SyncClient {
49
49
  logger;
50
50
  retryAttempts;
51
51
  retryDelaySec;
52
- static UNKNOWN_AXIOS_ERROR_REASON = 'unknown-axios-error';
53
- static NON_AXIOS_ERROR_REASON = 'non-axios-error';
54
52
  static resolveLogger(options) {
55
53
  if (options.logLevel == null) {
56
54
  return new pki_common_1.CommonMockLog();
@@ -107,7 +105,7 @@ class SyncClient {
107
105
  if (!axios_1.default.isAxiosError(error)) {
108
106
  return {
109
107
  isRetryable: false,
110
- reason: SyncClient.NON_AXIOS_ERROR_REASON,
108
+ reason: 'non-axios-error',
111
109
  };
112
110
  }
113
111
  const httpStatus = error.response?.status;
@@ -128,7 +126,7 @@ class SyncClient {
128
126
  }
129
127
  return {
130
128
  isRetryable: false,
131
- reason: SyncClient.UNKNOWN_AXIOS_ERROR_REASON,
129
+ reason: 'unknown-axios-error',
132
130
  };
133
131
  }
134
132
  static async waitRetryDelay(delaySec) {
@@ -139,25 +137,14 @@ class SyncClient {
139
137
  setTimeout(resolve, delaySec * 1000);
140
138
  });
141
139
  }
142
- async syncFromServer(server, config) {
143
- this.logger.info(`Trying server: ${server}`);
144
- const pkiConfig = {
145
- clientCertProvider: {
146
- type: 'pki-ca',
147
- challenge: this.challenge,
148
- baseUrl: `https://${server}/api/v1/pki`,
149
- caBundle: this.options.caBundle,
150
- disableServerIdentityCheck: this.options.disableServerIdentityCheck ?? false,
151
- },
152
- networkID: this.options.networkID,
153
- };
154
- const pkiClientFactory = new pki_client_1.PkiClientFactory(pkiConfig, this.logger);
155
- const httpsAgent = await pkiClientFactory.getHTTPSAgent();
140
+ async fetchSecrets(server, config, httpsAgent) {
156
141
  const secretNames = config.secrets.map((s) => s.secretName);
157
142
  const response = await axios_1.default.post(`https://${server}/api/v1/secrets/get`, { objects: secretNames }, { httpsAgent });
158
- const result = response.data;
143
+ return response.data.secrets;
144
+ }
145
+ async saveSecrets(config, secrets) {
159
146
  for (const secret of config.secrets) {
160
- const base64Content = result.secrets[secret.secretName];
147
+ const base64Content = secrets[secret.secretName];
161
148
  if (base64Content == null) {
162
149
  throw new Error(`Secret "${secret.secretName}" not found in response`);
163
150
  }
@@ -169,6 +156,9 @@ class SyncClient {
169
156
  });
170
157
  this.logger.info(`Saved secret "${secret.secretName}" to ${secret.saveTo}`);
171
158
  }
159
+ }
160
+ async saveArtifacts(config, secrets, pkiClientFactory) {
161
+ await this.saveSecrets(config, secrets);
172
162
  if (this.options.saveCertsToDir) {
173
163
  await this.saveCertificates(pkiClientFactory, this.options.saveCertsToDir, this.options.saveCertsPrefix);
174
164
  }
@@ -199,12 +189,34 @@ class SyncClient {
199
189
  }
200
190
  async sync(config) {
201
191
  for (const server of this.options.servers) {
192
+ let pkiClientFactory;
193
+ let httpsAgent;
194
+ try {
195
+ this.logger.info(`Trying server: ${server}`);
196
+ const pkiConfig = {
197
+ clientCertProvider: {
198
+ type: 'pki-ca',
199
+ challenge: this.challenge,
200
+ baseUrl: `https://${server}/api/v1/pki`,
201
+ caBundle: this.options.caBundle,
202
+ disableServerIdentityCheck: this.options.disableServerIdentityCheck ?? false,
203
+ },
204
+ networkID: this.options.networkID,
205
+ };
206
+ pkiClientFactory = new pki_client_1.PkiClientFactory(pkiConfig, this.logger);
207
+ httpsAgent = await pkiClientFactory.getHTTPSAgent();
208
+ }
209
+ catch (error) {
210
+ const errorMessage = error instanceof Error ? error.message : String(error);
211
+ this.logger.error(`Failed to prepare client for server ${server}: ${errorMessage}. Reason: non-axios-error`);
212
+ continue;
213
+ }
214
+ let fetchedSecrets;
202
215
  for (let attempt = 1; attempt <= this.retryAttempts; attempt++) {
203
216
  try {
204
- this.logger.info(`Sync attempt ${attempt}/${this.retryAttempts} for server: ${server}`);
205
- await this.syncFromServer(server, config);
206
- this.logger.info(`Successfully synced from server: ${server}`);
207
- return;
217
+ this.logger.info(`POST attempt ${attempt}/${this.retryAttempts} for server: ${server}`);
218
+ fetchedSecrets = await this.fetchSecrets(server, config, httpsAgent);
219
+ break;
208
220
  }
209
221
  catch (error) {
210
222
  const errorMessage = error instanceof Error ? error.message : String(error);
@@ -223,9 +235,24 @@ class SyncClient {
223
235
  await SyncClient.waitRetryDelay(this.retryDelaySec);
224
236
  }
225
237
  }
238
+ if (fetchedSecrets == null) {
239
+ continue;
240
+ }
241
+ try {
242
+ await this.saveArtifacts(config, fetchedSecrets, pkiClientFactory);
243
+ this.logger.info(`Successfully synced from server: ${server}`);
244
+ return;
245
+ }
246
+ catch (error) {
247
+ const errorMessage = error instanceof Error ? error.message : String(error);
248
+ const reason = axios_1.default.isAxiosError(error)
249
+ ? SyncClient.evaluateRetry(error).reason
250
+ : 'unknown-post-error';
251
+ this.logger.error(`Failed to process sync results for server ${server}: ${errorMessage}. Reason: ${reason}`);
252
+ }
226
253
  }
227
254
  throw new Error('Failed to sync from all servers');
228
255
  }
229
256
  }
230
257
  exports.SyncClient = SyncClient;
231
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1jbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvc3luYy1jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSwyREFJb0M7QUFDcEMsMkRBU29DO0FBQ3BDLGtEQUEwQjtBQUMxQix1Q0FBeUI7QUFDekIsMkNBQTZCO0FBZTdCLE1BQWEsVUFBVTtJQUNYLE1BQU0sQ0FBVSxzQkFBc0IsR0FBRyxDQUFDLENBQUM7SUFDM0MsTUFBTSxDQUFVLHVCQUF1QixHQUFHLEVBQUUsQ0FBQztJQUM3QyxNQUFNLENBQVUsNkJBQTZCLEdBQUcsSUFBSSxHQUFHLENBQUM7UUFDNUQsV0FBVztRQUNYLFlBQVk7UUFDWixjQUFjO1FBQ2QsV0FBVztRQUNYLFdBQVc7UUFDWCxjQUFjO0tBQ2pCLENBQUMsQ0FBQztJQUNLLE1BQU0sQ0FBVSwyQkFBMkIsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBRWxFLE9BQU8sQ0FBb0I7SUFDM0IsU0FBUyxDQUFrQjtJQUMzQixNQUFNLENBQU07SUFDWixhQUFhLENBQVM7SUFDdEIsYUFBYSxDQUFTO0lBRXRCLE1BQU0sQ0FBVSwwQkFBMEIsR0FBRyxxQkFBcUIsQ0FBQztJQUVuRSxNQUFNLENBQVUsc0JBQXNCLEdBQUcsaUJBQWlCLENBQUM7SUFFM0QsTUFBTSxDQUFDLGFBQWEsQ0FBQyxPQUEwQjtRQUNuRCxJQUFJLE9BQU8sQ0FBQyxRQUFRLElBQUksSUFBSSxFQUFFLENBQUM7WUFDM0IsT0FBTyxJQUFJLDBCQUFPLEVBQUUsQ0FBQztRQUN6QixDQUFDO1FBRUQsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxxQkFBUSxDQUFhLENBQUM7UUFDMUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFD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
258
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1jbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvc3luYy1jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSwyREFJb0M7QUFDcEMsMkRBU29DO0FBQ3BDLGtEQUEwQjtBQUMxQix1Q0FBeUI7QUFDekIsMkNBQTZCO0FBZTdCLE1BQWEsVUFBVTtJQUNYLE1BQU0sQ0FBVSxzQkFBc0IsR0FBRyxDQUFDLENBQUM7SUFDM0MsTUFBTSxDQUFVLHVCQUF1QixHQUFHLEVBQUUsQ0FBQztJQUM3QyxNQUFNLENBQVUsNkJBQTZCLEdBQUcsSUFBSSxHQUFHLENBQUM7UUFDNUQsV0FBVztRQUNYLFlBQVk7UUFDWixjQUFjO1FBQ2QsV0FBVztRQUNYLFdBQVc7UUFDWCxjQUFjO0tBQ2pCLENBQUMsQ0FBQztJQUNLLE1BQU0sQ0FBVSwyQkFBMkIsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBRWxFLE9BQU8sQ0FBb0I7SUFDM0IsU0FBUyxDQUFrQjtJQUMzQixNQUFNLENBQU07SUFDWixhQUFhLENBQVM7SUFDdEIsYUFBYSxDQUFTO0lBRXRCLE1BQU0sQ0FBQyxhQUFhLENBQUMsT0FBMEI7UUFDbkQsSUFBSSxPQUFPLENBQUMsUUFBUSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQzNCLE9BQU8sSUFBSSwwQkFBTyxFQUFFLENBQUM7UUFDekIsQ0FBQztRQUVELE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMscUJBQVEsQ0FBYSxDQUFDO1FBQzFELElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQzVDLE1BQU0sSUFBSSxLQUFLLENBQ1gsMEJBQTBCLE9BQU8sQ0FBQyxRQUFRLGdCQUFnQixhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FB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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@super-protocol/pki-sync-client",
3
- "version": "3.0.0",
3
+ "version": "3.0.2",
4
4
  "description": "PKI sync client utility",
5
5
  "main": "dist/index.js",
6
6
  "bin": {