kuzzle 2.19.2 → 2.19.3
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/lib/api/controllers/adminController.js +94 -80
- package/lib/api/controllers/authController.js +239 -212
- package/lib/api/controllers/baseController.js +89 -51
- package/lib/api/controllers/bulkController.js +62 -49
- package/lib/api/controllers/clusterController.js +6 -8
- package/lib/api/controllers/collectionController.js +140 -129
- package/lib/api/controllers/debugController.d.ts +2 -2
- package/lib/api/controllers/debugController.js +33 -31
- package/lib/api/controllers/documentController.js +365 -274
- package/lib/api/controllers/index.js +13 -13
- package/lib/api/controllers/indexController.js +46 -50
- package/lib/api/controllers/memoryStorageController.js +410 -360
- package/lib/api/controllers/realtimeController.js +37 -36
- package/lib/api/controllers/securityController.js +553 -412
- package/lib/api/controllers/serverController.js +111 -104
- package/lib/api/documentExtractor.js +75 -68
- package/lib/api/funnel.js +411 -312
- package/lib/api/httpRoutes.js +1493 -324
- package/lib/api/openapi/OpenApiManager.d.ts +1 -1
- package/lib/api/openapi/OpenApiManager.js +22 -22
- package/lib/api/openapi/components/document/count.yaml +1 -1
- package/lib/api/openapi/components/document/create.yaml +2 -2
- package/lib/api/openapi/components/document/delete.yaml +1 -1
- package/lib/api/openapi/components/document/deleteByQuery.yaml +1 -1
- package/lib/api/openapi/components/document/exists.yaml +1 -1
- package/lib/api/openapi/components/document/get.yaml +2 -2
- package/lib/api/openapi/components/document/index.js +12 -12
- package/lib/api/openapi/components/document/replace.yaml +1 -1
- package/lib/api/openapi/components/document/scroll.yaml +1 -1
- package/lib/api/openapi/components/document/validate.yaml +1 -1
- package/lib/api/openapi/components/index.d.ts +2 -2
- package/lib/api/openapi/components/index.js +1 -1
- package/lib/api/openapi/components/security/index.js +1 -1
- package/lib/api/openapi/components/security/upsertUser.yaml +2 -3
- package/lib/api/openapi/index.d.ts +1 -1
- package/lib/api/openapi/openApiGenerator.d.ts +1 -1
- package/lib/api/openapi/openApiGenerator.js +7 -7
- package/lib/api/rateLimiter.js +12 -13
- package/lib/api/request/index.d.ts +4 -4
- package/lib/api/request/kuzzleRequest.d.ts +9 -9
- package/lib/api/request/kuzzleRequest.js +89 -87
- package/lib/api/request/requestContext.d.ts +2 -2
- package/lib/api/request/requestContext.js +17 -17
- package/lib/api/request/requestInput.d.ts +1 -1
- package/lib/api/request/requestInput.js +19 -19
- package/lib/api/request/requestResponse.d.ts +4 -4
- package/lib/api/request/requestResponse.js +31 -33
- package/lib/cluster/command.js +48 -44
- package/lib/cluster/idCardHandler.d.ts +1 -1
- package/lib/cluster/idCardHandler.js +15 -15
- package/lib/cluster/index.js +2 -2
- package/lib/cluster/node.js +301 -269
- package/lib/cluster/publisher.js +45 -46
- package/lib/cluster/state.d.ts +5 -5
- package/lib/cluster/state.js +8 -8
- package/lib/cluster/subscriber.js +163 -113
- package/lib/cluster/workers/IDCardRenewer.js +33 -32
- package/lib/config/default.config.d.ts +1 -1
- package/lib/config/default.config.js +212 -171
- package/lib/config/documentEventAliases.js +6 -6
- package/lib/config/index.js +161 -98
- package/lib/config/sdkCompatibility.json +8 -8
- package/lib/core/auth/formatProcessing.js +7 -7
- package/lib/core/auth/passportResponse.js +7 -7
- package/lib/core/auth/passportWrapper.js +34 -30
- package/lib/core/auth/tokenManager.d.ts +2 -2
- package/lib/core/auth/tokenManager.js +11 -10
- package/lib/core/backend/applicationManager.d.ts +1 -1
- package/lib/core/backend/applicationManager.js +2 -2
- package/lib/core/backend/backend.d.ts +3 -3
- package/lib/core/backend/backend.js +34 -31
- package/lib/core/backend/backendCluster.d.ts +2 -2
- package/lib/core/backend/backendCluster.js +5 -5
- package/lib/core/backend/backendConfig.d.ts +2 -2
- package/lib/core/backend/backendConfig.js +3 -3
- package/lib/core/backend/backendController.d.ts +2 -2
- package/lib/core/backend/backendController.js +9 -10
- package/lib/core/backend/backendErrors.d.ts +3 -3
- package/lib/core/backend/backendErrors.js +2 -1
- package/lib/core/backend/backendHook.d.ts +2 -2
- package/lib/core/backend/backendHook.js +5 -5
- package/lib/core/backend/backendImport.d.ts +3 -3
- package/lib/core/backend/backendImport.js +23 -23
- package/lib/core/backend/backendOpenApi.d.ts +2 -2
- package/lib/core/backend/backendOpenApi.js +16 -16
- package/lib/core/backend/backendPipe.d.ts +2 -2
- package/lib/core/backend/backendPipe.js +6 -6
- package/lib/core/backend/backendPlugin.d.ts +4 -4
- package/lib/core/backend/backendPlugin.js +14 -14
- package/lib/core/backend/backendStorage.d.ts +2 -2
- package/lib/core/backend/backendStorage.js +1 -2
- package/lib/core/backend/backendVault.d.ts +2 -2
- package/lib/core/backend/backendVault.js +3 -3
- package/lib/core/backend/index.d.ts +14 -14
- package/lib/core/backend/internalLogger.d.ts +1 -1
- package/lib/core/backend/internalLogger.js +5 -5
- package/lib/core/cache/cacheDbEnum.js +4 -4
- package/lib/core/cache/cacheEngine.js +79 -85
- package/lib/core/network/accessLogger.js +126 -120
- package/lib/core/network/clientConnection.js +5 -5
- package/lib/core/network/context.js +8 -8
- package/lib/core/network/entryPoint.js +100 -85
- package/lib/core/network/httpRouter/index.js +63 -60
- package/lib/core/network/httpRouter/routeHandler.js +18 -19
- package/lib/core/network/httpRouter/routePart.js +23 -19
- package/lib/core/network/protocolManifest.js +3 -3
- package/lib/core/network/protocols/httpMessage.js +8 -10
- package/lib/core/network/protocols/httpwsProtocol.js +305 -250
- package/lib/core/network/protocols/internalProtocol.js +27 -24
- package/lib/core/network/protocols/mqttProtocol.js +106 -96
- package/lib/core/network/protocols/protocol.js +20 -17
- package/lib/core/network/router.js +56 -46
- package/lib/core/plugin/plugin.js +151 -120
- package/lib/core/plugin/pluginContext.d.ts +7 -7
- package/lib/core/plugin/pluginContext.js +48 -44
- package/lib/core/plugin/pluginManifest.js +13 -12
- package/lib/core/plugin/pluginRepository.js +26 -27
- package/lib/core/plugin/pluginsManager.js +425 -304
- package/lib/core/plugin/privilegedContext.js +3 -3
- package/lib/core/realtime/actionEnum.js +1 -1
- package/lib/core/realtime/channel.d.ts +1 -1
- package/lib/core/realtime/channel.js +22 -22
- package/lib/core/realtime/connectionRooms.d.ts +1 -1
- package/lib/core/realtime/hotelClerk.d.ts +2 -2
- package/lib/core/realtime/hotelClerk.js +53 -50
- package/lib/core/realtime/index.js +5 -5
- package/lib/core/realtime/notification/document.js +25 -25
- package/lib/core/realtime/notification/index.js +4 -4
- package/lib/core/realtime/notification/server.js +3 -3
- package/lib/core/realtime/notification/user.js +4 -4
- package/lib/core/realtime/notifier.js +113 -75
- package/lib/core/realtime/room.d.ts +1 -1
- package/lib/core/realtime/subscription.d.ts +1 -1
- package/lib/core/realtime/subscription.js +1 -1
- package/lib/core/security/index.js +8 -8
- package/lib/core/security/profileRepository.d.ts +6 -6
- package/lib/core/security/profileRepository.js +48 -45
- package/lib/core/security/roleRepository.js +127 -115
- package/lib/core/security/securityLoader.js +70 -63
- package/lib/core/security/tokenRepository.js +132 -118
- package/lib/core/security/userRepository.js +104 -88
- package/lib/core/shared/KoncordeWrapper.d.ts +1 -1
- package/lib/core/shared/KoncordeWrapper.js +3 -1
- package/lib/core/shared/abstractManifest.js +22 -23
- package/lib/core/shared/repository.js +69 -67
- package/lib/core/shared/sdk/embeddedSdk.d.ts +2 -2
- package/lib/core/shared/sdk/embeddedSdk.js +36 -32
- package/lib/core/shared/sdk/funnelProtocol.d.ts +1 -1
- package/lib/core/shared/sdk/funnelProtocol.js +11 -11
- package/lib/core/shared/sdk/impersonatedSdk.js +19 -18
- package/lib/core/shared/store.js +127 -32
- package/lib/core/statistics/index.js +2 -2
- package/lib/core/statistics/statistics.js +99 -85
- package/lib/core/storage/clientAdapter.js +219 -136
- package/lib/core/storage/indexCache.js +3 -3
- package/lib/core/storage/storageEngine.js +10 -13
- package/lib/core/storage/storeScopeEnum.js +3 -3
- package/lib/core/validation/baseType.js +12 -10
- package/lib/core/validation/index.js +2 -2
- package/lib/core/validation/types/anything.js +4 -4
- package/lib/core/validation/types/boolean.js +7 -7
- package/lib/core/validation/types/date.js +165 -131
- package/lib/core/validation/types/email.js +18 -21
- package/lib/core/validation/types/enum.js +34 -21
- package/lib/core/validation/types/geoPoint.js +7 -7
- package/lib/core/validation/types/geoShape.js +148 -125
- package/lib/core/validation/types/integer.js +9 -9
- package/lib/core/validation/types/ipAddress.js +17 -19
- package/lib/core/validation/types/numeric.js +36 -29
- package/lib/core/validation/types/object.js +19 -19
- package/lib/core/validation/types/string.js +36 -29
- package/lib/core/validation/types/url.js +17 -19
- package/lib/core/validation/validation.js +422 -378
- package/lib/kerror/codes/1-services.json +7 -1
- package/lib/kerror/codes/4-plugin.json +2 -2
- package/lib/kerror/codes/index.js +85 -63
- package/lib/kerror/errors/badRequestError.d.ts +1 -1
- package/lib/kerror/errors/externalServiceError.d.ts +1 -1
- package/lib/kerror/errors/forbiddenError.d.ts +1 -1
- package/lib/kerror/errors/gatewayTimeoutError.d.ts +1 -1
- package/lib/kerror/errors/index.d.ts +15 -15
- package/lib/kerror/errors/internalError.d.ts +1 -1
- package/lib/kerror/errors/kuzzleError.d.ts +1 -1
- package/lib/kerror/errors/multipleErrorsError.d.ts +1 -1
- package/lib/kerror/errors/multipleErrorsError.js +1 -1
- package/lib/kerror/errors/notFoundError.d.ts +1 -1
- package/lib/kerror/errors/partialError.d.ts +1 -1
- package/lib/kerror/errors/partialError.js +1 -1
- package/lib/kerror/errors/pluginImplementationError.d.ts +1 -1
- package/lib/kerror/errors/pluginImplementationError.js +2 -1
- package/lib/kerror/errors/preconditionError.d.ts +1 -1
- package/lib/kerror/errors/serviceUnavailableError.d.ts +1 -1
- package/lib/kerror/errors/sizeLimitError.d.ts +1 -1
- package/lib/kerror/errors/tooManyRequestsError.d.ts +1 -1
- package/lib/kerror/errors/unauthorizedError.d.ts +1 -1
- package/lib/kerror/index.d.ts +3 -3
- package/lib/kerror/index.js +17 -16
- package/lib/kuzzle/dumpGenerator.js +130 -114
- package/lib/kuzzle/event/kuzzleEventEmitter.js +96 -70
- package/lib/kuzzle/event/pipeRunner.js +25 -24
- package/lib/kuzzle/event/waterfall.js +13 -15
- package/lib/kuzzle/index.js +2 -2
- package/lib/kuzzle/internalIndexHandler.js +80 -59
- package/lib/kuzzle/kuzzle.js +99 -99
- package/lib/kuzzle/kuzzleStateEnum.js +1 -1
- package/lib/kuzzle/log.js +23 -18
- package/lib/kuzzle/vault.js +34 -19
- package/lib/model/security/profile.d.ts +3 -3
- package/lib/model/security/profile.js +38 -37
- package/lib/model/security/rights.js +5 -5
- package/lib/model/security/role.d.ts +3 -3
- package/lib/model/security/role.js +25 -26
- package/lib/model/security/token.d.ts +1 -1
- package/lib/model/security/token.js +4 -4
- package/lib/model/security/user.d.ts +2 -2
- package/lib/model/security/user.js +9 -9
- package/lib/model/storage/apiKey.js +43 -33
- package/lib/model/storage/baseModel.js +49 -45
- package/lib/service/cache/redis.js +60 -55
- package/lib/service/service.js +17 -17
- package/lib/service/storage/elasticsearch.js +839 -755
- package/lib/service/storage/esWrapper.js +103 -86
- package/lib/service/storage/queryTranslator.js +52 -59
- package/lib/types/Controller.d.ts +3 -3
- package/lib/types/ControllerDefinition.d.ts +3 -3
- package/lib/types/DebugModule.d.ts +2 -2
- package/lib/types/DebugModule.js +1 -1
- package/lib/types/Global.d.ts +1 -1
- package/lib/types/HttpStream.d.ts +2 -1
- package/lib/types/HttpStream.js +7 -5
- package/lib/types/Kuzzle.d.ts +1 -1
- package/lib/types/KuzzleDocument.d.ts +1 -1
- package/lib/types/OpenApiDefinition.d.ts +1 -1
- package/lib/types/PasswordPolicy.d.ts +1 -1
- package/lib/types/Plugin.d.ts +6 -6
- package/lib/types/Plugin.js +2 -2
- package/lib/types/Policy.d.ts +1 -1
- package/lib/types/RequestPayload.d.ts +1 -1
- package/lib/types/ResponsePayload.d.ts +1 -1
- package/lib/types/Token.d.ts +1 -1
- package/lib/types/User.d.ts +1 -1
- package/lib/types/config/DumpConfiguration.d.ts +8 -8
- package/lib/types/config/HttpConfiguration.d.ts +1 -1
- package/lib/types/config/KuzzleConfiguration.d.ts +1 -1
- package/lib/types/config/LimitsConfiguration.d.ts +8 -8
- package/lib/types/config/PluginsConfiguration.d.ts +4 -4
- package/lib/types/config/SecurityConfiguration.d.ts +62 -62
- package/lib/types/config/ServerConfiguration.d.ts +55 -55
- package/lib/types/config/ServicesConfiguration.d.ts +2 -2
- package/lib/types/config/internalCache/InternalCacheRedisConfiguration.d.ts +10 -10
- package/lib/types/config/publicCache/PublicCacheRedisConfiguration.d.ts +3 -3
- package/lib/types/config/storageEngine/StorageEngineElasticsearchConfiguration.d.ts +194 -110
- package/lib/types/errors/ErrorDefinition.d.ts +1 -1
- package/lib/types/errors/ErrorDomains.d.ts +1 -1
- package/lib/types/index.d.ts +38 -38
- package/lib/types/realtime/RealtimeScope.d.ts +1 -1
- package/lib/types/realtime/RealtimeUsers.d.ts +1 -1
- package/lib/util/assertType.js +13 -11
- package/lib/util/async.d.ts +1 -0
- package/lib/util/async.js +61 -0
- package/lib/util/asyncStore.js +19 -21
- package/lib/util/bufferedPassThrough.d.ts +2 -2
- package/lib/util/bufferedPassThrough.js +4 -4
- package/lib/util/bytes.js +9 -13
- package/lib/util/crypto.js +1 -1
- package/lib/util/debug.js +5 -5
- package/lib/util/deprecate.js +24 -21
- package/lib/util/didYouMean.js +7 -7
- package/lib/util/dump-collection.d.ts +2 -2
- package/lib/util/dump-collection.js +26 -26
- package/lib/util/esRequest.d.ts +1 -0
- package/lib/util/esRequest.js +62 -0
- package/lib/util/extractFields.js +24 -25
- package/lib/util/inflector.js +5 -5
- package/lib/util/koncordeCompat.d.ts +2 -2
- package/lib/util/koncordeCompat.js +5 -5
- package/lib/util/memoize.js +3 -5
- package/lib/util/mutex.d.ts +19 -1
- package/lib/util/mutex.js +39 -12
- package/lib/util/name-generator.js +1331 -1331
- package/lib/util/promback.js +8 -10
- package/lib/util/readYamlFile.d.ts +1 -1
- package/lib/util/readYamlFile.js +1 -1
- package/lib/util/requestAssertions.js +34 -34
- package/lib/util/safeObject.js +5 -5
- package/lib/util/stackTrace.js +20 -22
- package/lib/util/wildcard.js +15 -15
- package/package.json +6 -6
- package/npm-shrinkwrap.json +0 -19422
|
@@ -22,7 +22,7 @@ export declare type PasswordPolicy = {
|
|
|
22
22
|
* Can be either set to a wildcar (`"*""`) to match all users or to an
|
|
23
23
|
* object containing at least of the following property.
|
|
24
24
|
*/
|
|
25
|
-
appliesTo:
|
|
25
|
+
appliesTo: "*" | {
|
|
26
26
|
/**
|
|
27
27
|
* Array of user kuids the policy applies to.
|
|
28
28
|
*/
|
package/lib/types/Plugin.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { PluginContext } from
|
|
2
|
-
import { ControllerDefinition } from
|
|
3
|
-
import { PluginManifest } from
|
|
4
|
-
import { StrategyDefinition } from
|
|
5
|
-
import { EventHandler } from
|
|
6
|
-
import { JSONObject } from
|
|
1
|
+
import { PluginContext } from "../core/plugin/pluginContext";
|
|
2
|
+
import { ControllerDefinition } from "./ControllerDefinition";
|
|
3
|
+
import { PluginManifest } from "./PluginManifest";
|
|
4
|
+
import { StrategyDefinition } from "./StrategyDefinition";
|
|
5
|
+
import { EventHandler } from "./EventHandler";
|
|
6
|
+
import { JSONObject } from "../../index";
|
|
7
7
|
/**
|
|
8
8
|
* Allows to define plugins controllers and actions
|
|
9
9
|
*/
|
package/lib/types/Plugin.js
CHANGED
|
@@ -54,9 +54,9 @@ class Plugin {
|
|
|
54
54
|
* @param manifest Manifest containing the required kuzzleVersion number
|
|
55
55
|
*/
|
|
56
56
|
constructor(manifest) {
|
|
57
|
-
if (!(0, safeObject_1.has)(manifest,
|
|
57
|
+
if (!(0, safeObject_1.has)(manifest, "kuzzleVersion")) {
|
|
58
58
|
// eslint-disable-next-line new-cap
|
|
59
|
-
throw kerror.get(
|
|
59
|
+
throw kerror.get("plugin", "manifest", "missing_version");
|
|
60
60
|
}
|
|
61
61
|
this._manifest = manifest;
|
|
62
62
|
}
|
package/lib/types/Policy.d.ts
CHANGED
package/lib/types/Token.d.ts
CHANGED
package/lib/types/User.d.ts
CHANGED
|
@@ -5,25 +5,25 @@ export declare type DumpConfiguration = {
|
|
|
5
5
|
enabled: boolean;
|
|
6
6
|
history: {
|
|
7
7
|
/**
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
* @default 3
|
|
9
|
+
*/
|
|
10
10
|
coredump: number;
|
|
11
11
|
/**
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
* @default 5
|
|
13
|
+
*/
|
|
14
14
|
reports: number;
|
|
15
15
|
};
|
|
16
16
|
/**
|
|
17
17
|
* @default './dump/'
|
|
18
|
-
|
|
18
|
+
*/
|
|
19
19
|
path: string;
|
|
20
20
|
/**
|
|
21
21
|
* @default 'gcore'
|
|
22
|
-
|
|
22
|
+
*/
|
|
23
23
|
gcore: string;
|
|
24
24
|
/**
|
|
25
25
|
* @default 'YYYYMMDD-HHmmss'
|
|
26
|
-
|
|
26
|
+
*/
|
|
27
27
|
dateFormat: string;
|
|
28
28
|
handledErrors: {
|
|
29
29
|
/**
|
|
@@ -32,7 +32,7 @@ export declare type DumpConfiguration = {
|
|
|
32
32
|
enabled: boolean;
|
|
33
33
|
/**
|
|
34
34
|
* @default ['RangeError','TypeError','KuzzleError','InternalError'],
|
|
35
|
-
|
|
35
|
+
*/
|
|
36
36
|
whitelist: string[];
|
|
37
37
|
/**
|
|
38
38
|
* @default 600000
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ServerConfiguration, ServicesConfiguration, SecurityConfiguration, HttpConfiguration, PluginsConfiguration, LimitsConfiguration, DumpConfiguration } from
|
|
1
|
+
import { ServerConfiguration, ServicesConfiguration, SecurityConfiguration, HttpConfiguration, PluginsConfiguration, LimitsConfiguration, DumpConfiguration } from "../index";
|
|
2
2
|
export interface IKuzzleConfiguration {
|
|
3
3
|
realtime: {
|
|
4
4
|
/**
|
|
@@ -77,14 +77,14 @@ export declare type LimitsConfiguration = {
|
|
|
77
77
|
*/
|
|
78
78
|
subscriptionMinterms: number;
|
|
79
79
|
/**
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
80
|
+
* Maximum number of different subscription rooms.
|
|
81
|
+
* (i.e. different index+collection+filters subscription configurations)
|
|
82
|
+
*
|
|
83
|
+
* Depends primarily on available memory.
|
|
84
|
+
*
|
|
85
|
+
* If set to 0, an unlimited number of rooms can be created.
|
|
86
|
+
*
|
|
87
|
+
* @default 1000000
|
|
88
88
|
*/
|
|
89
89
|
subscriptionRooms: number;
|
|
90
90
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { JSONObject } from
|
|
2
|
-
import { PasswordPolicy } from
|
|
1
|
+
import { JSONObject } from "../../../index";
|
|
2
|
+
import { PasswordPolicy } from "../index";
|
|
3
3
|
export declare type PluginsConfiguration = {
|
|
4
4
|
/**
|
|
5
5
|
* Common configuration for all plugins.
|
|
@@ -73,7 +73,7 @@ export declare type PluginsConfiguration = {
|
|
|
73
73
|
*
|
|
74
74
|
* @see https://github.com/kuzzleio/kuzzle-plugin-logger
|
|
75
75
|
*/
|
|
76
|
-
|
|
76
|
+
"kuzzle-plugin-logger": {
|
|
77
77
|
/**
|
|
78
78
|
* Winston transport services declaration
|
|
79
79
|
*/
|
|
@@ -113,7 +113,7 @@ export declare type PluginsConfiguration = {
|
|
|
113
113
|
*
|
|
114
114
|
* @see https://github.com/kuzzleio/kuzzle-plugin-auth-passport-local/
|
|
115
115
|
*/
|
|
116
|
-
|
|
116
|
+
"kuzzle-plugin-auth-passport-local": {
|
|
117
117
|
/**
|
|
118
118
|
* One of the supported encryption algorithms
|
|
119
119
|
* (run crypto.getHashes() to get the complete list).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import { JSONObject } from
|
|
3
|
-
import { RoleDefinition, ProfileDefinition } from
|
|
2
|
+
import { JSONObject } from "../../../index";
|
|
3
|
+
import { RoleDefinition, ProfileDefinition } from "../index";
|
|
4
4
|
export declare type SecurityConfiguration = {
|
|
5
5
|
/**
|
|
6
6
|
* Debugger configuration
|
|
@@ -20,85 +20,85 @@ export declare type SecurityConfiguration = {
|
|
|
20
20
|
*/
|
|
21
21
|
restrictedProfileIds: string[];
|
|
22
22
|
/**
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
* @deprecated Use `security.authToken` instead.
|
|
24
|
+
*/
|
|
25
25
|
jwt?: JSONObject;
|
|
26
26
|
/**
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
27
|
+
* Configuration for the npm package jsonwebtoken
|
|
28
|
+
* who handle Kuzzle Authentication Token.
|
|
29
|
+
*
|
|
30
|
+
* @see https://github.com/auth0/node-jsonwebtoken
|
|
31
|
+
*/
|
|
32
32
|
authToken: {
|
|
33
33
|
/**
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
34
|
+
* Hash/encryption method used to sign the token.
|
|
35
|
+
*
|
|
36
|
+
* @default "HS256"
|
|
37
|
+
*/
|
|
38
38
|
algorithm: string;
|
|
39
39
|
/**
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
40
|
+
* Token default expiration time.
|
|
41
|
+
*
|
|
42
|
+
* @see https://www.npmjs.com/package/ms
|
|
43
|
+
*
|
|
44
|
+
* @default "1h"
|
|
45
|
+
*/
|
|
46
46
|
expiresIn: string;
|
|
47
47
|
/**
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
48
|
+
* Duration in ms during which a renewed token is still considered valid.
|
|
49
|
+
*
|
|
50
|
+
* @default 1000
|
|
51
|
+
*/
|
|
52
52
|
gracePeriod: number;
|
|
53
53
|
/**
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
54
|
+
* Maximum duration in milliseconds a token can be requested to be valid.
|
|
55
|
+
*
|
|
56
|
+
* If set to -1, no maximum duration is set.
|
|
57
|
+
*
|
|
58
|
+
* @default -1
|
|
59
|
+
*/
|
|
60
60
|
maxTTL: number;
|
|
61
61
|
/**
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
62
|
+
* String or buffer data containing either the secret for HMAC
|
|
63
|
+
* algorithms, or the PEM encoded private key for RSA and ECDSA.
|
|
64
|
+
*
|
|
65
|
+
* If left to null, Kuzzle will autogenerate a random
|
|
66
|
+
* seed (can only be used with HMAC algorithms).
|
|
67
|
+
*
|
|
68
|
+
* @default null
|
|
69
|
+
*/
|
|
70
70
|
secret: string | Buffer;
|
|
71
71
|
};
|
|
72
72
|
apiKey: {
|
|
73
73
|
/**
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
74
|
+
* Maximum duration in milliseconds a token can be requested to be valid.
|
|
75
|
+
*
|
|
76
|
+
* If set to -1, no maximum duration is set.
|
|
77
|
+
*
|
|
78
|
+
* @default -1
|
|
79
|
+
*/
|
|
80
80
|
maxTTL: number;
|
|
81
81
|
};
|
|
82
82
|
/**
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
83
|
+
* The default role defines permissions for all users,
|
|
84
|
+
* until an administrator configures the backend rights.
|
|
85
|
+
*
|
|
86
|
+
* By default, all users are granted all permissions.
|
|
87
|
+
*
|
|
88
|
+
* @default
|
|
89
|
+
*
|
|
90
|
+
* {
|
|
91
|
+
* "role": {
|
|
92
|
+
* "controllers": {
|
|
93
|
+
* "*": {
|
|
94
|
+
* "actions": {
|
|
95
|
+
* "*": true
|
|
96
|
+
* }
|
|
97
|
+
* }
|
|
98
|
+
* }
|
|
99
|
+
* }
|
|
100
|
+
* }
|
|
101
|
+
*/
|
|
102
102
|
default: {
|
|
103
103
|
role: RoleDefinition;
|
|
104
104
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { JSONObject } from
|
|
1
|
+
import { JSONObject } from "../../../index";
|
|
2
2
|
export declare type ServerConfiguration = {
|
|
3
3
|
/**
|
|
4
4
|
* The maximum size of an incoming request.
|
|
@@ -10,14 +10,14 @@ export declare type ServerConfiguration = {
|
|
|
10
10
|
*/
|
|
11
11
|
maxRequestSize: string;
|
|
12
12
|
/**
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
* The listening port for HTTP and WebSocket protocols.
|
|
14
|
+
*
|
|
15
|
+
* @default 7512
|
|
16
|
+
*/
|
|
17
17
|
port: number;
|
|
18
18
|
/**
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
* Configuration section for Kuzzle access logs.
|
|
20
|
+
*/
|
|
21
21
|
logs: {
|
|
22
22
|
/**
|
|
23
23
|
* An array of Winston transports configurations to output access
|
|
@@ -42,39 +42,39 @@ export declare type ServerConfiguration = {
|
|
|
42
42
|
*/
|
|
43
43
|
transports: JSONObject[];
|
|
44
44
|
/**
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
accessLogFormat:
|
|
45
|
+
* Access log format.
|
|
46
|
+
*
|
|
47
|
+
* Currently supported are "combined" (=Apache combined logs format)
|
|
48
|
+
* and "logstash".
|
|
49
|
+
*
|
|
50
|
+
* "logstash" will output the whole request input to JSON, ready to
|
|
51
|
+
* be consumed by logstash agent.
|
|
52
|
+
*
|
|
53
|
+
* @default "combined"
|
|
54
|
+
*/
|
|
55
|
+
accessLogFormat: "combined" | "logstash";
|
|
56
56
|
/**
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
57
|
+
* The offset to use as the client ip, from the FORWARDED-FOR chain,
|
|
58
|
+
* beginning from the right (0 = the ip address of the last
|
|
59
|
+
* client|proxy which connected to Kuzzle.
|
|
60
|
+
*
|
|
61
|
+
* @default 0
|
|
62
|
+
*/
|
|
63
63
|
accessLogIpOffset: number;
|
|
64
64
|
};
|
|
65
65
|
/**
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
66
|
+
* protocols accepted by Kuzzle.
|
|
67
|
+
* protocols can be extended and configured in this section.
|
|
68
|
+
*/
|
|
69
69
|
protocols: {
|
|
70
70
|
http: {
|
|
71
71
|
/**
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
72
|
+
* Enable support for compressed requests, using the Content-Encoding header
|
|
73
|
+
* Currently supported compression algorithms: gzip, deflate, identity
|
|
74
|
+
* Note: "identity" is always an accepted value, even if compression support is disabled
|
|
75
|
+
*
|
|
76
|
+
* @default true
|
|
77
|
+
*/
|
|
78
78
|
allowCompression: boolean;
|
|
79
79
|
/**
|
|
80
80
|
* Set to "false" to disable HTTP support
|
|
@@ -99,16 +99,16 @@ export declare type ServerConfiguration = {
|
|
|
99
99
|
};
|
|
100
100
|
mqtt: {
|
|
101
101
|
/**
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
102
|
+
* Set to true to enable MQTT support
|
|
103
|
+
*
|
|
104
|
+
* @default false
|
|
105
|
+
*/
|
|
106
106
|
enabled: boolean;
|
|
107
107
|
/**
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
108
|
+
* Allow MQTT pub/sub capabilities or restrict to Kuzzle requests only
|
|
109
|
+
*
|
|
110
|
+
* @default false
|
|
111
|
+
*/
|
|
112
112
|
allowPubSub: boolean;
|
|
113
113
|
/**
|
|
114
114
|
* Switches responseTopic back to a regular public topic
|
|
@@ -136,9 +136,9 @@ export declare type ServerConfiguration = {
|
|
|
136
136
|
*/
|
|
137
137
|
responseTopic: string;
|
|
138
138
|
/**
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
139
|
+
* Constructor options passed to underlying MQTT server.
|
|
140
|
+
* See aedes documentation for further reference: https://github.com/moscajs/aedes
|
|
141
|
+
*/
|
|
142
142
|
server: {
|
|
143
143
|
/**
|
|
144
144
|
* @default 1883
|
|
@@ -160,13 +160,13 @@ export declare type ServerConfiguration = {
|
|
|
160
160
|
*/
|
|
161
161
|
enabled: boolean;
|
|
162
162
|
/**
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
163
|
+
* The maximum time (in milliseconds) without sending or receiving a message from a client.
|
|
164
|
+
* Once reached, the client's socket is forcibly closed.
|
|
165
|
+
* If a client socket is inactive for too long, the server will send a PING request before closing the socket.
|
|
166
|
+
* Minimum value: 1000 (but it's strongly advised to not set a value this low to forcibly close idle client sockets)
|
|
167
|
+
*
|
|
168
|
+
* @default 60000
|
|
169
|
+
*/
|
|
170
170
|
idleTimeout: number;
|
|
171
171
|
/**
|
|
172
172
|
* Enable/Disable per message compression
|
|
@@ -175,10 +175,10 @@ export declare type ServerConfiguration = {
|
|
|
175
175
|
*/
|
|
176
176
|
compression: boolean;
|
|
177
177
|
/**
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
178
|
+
* The maximum number of messages per second a single socket can
|
|
179
|
+
* submit to the server.
|
|
180
|
+
* @default 0
|
|
181
|
+
*/
|
|
182
182
|
rateLimit: number;
|
|
183
183
|
/**
|
|
184
184
|
* Set to "true" to enable realtime notifications like "TokenExpired" notifications
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PublicCacheRedisConfiguration, InternalCacheConfiguration, StorageEngineElasticsearch } from
|
|
1
|
+
import { PublicCacheRedisConfiguration, InternalCacheConfiguration, StorageEngineElasticsearch } from "../index";
|
|
2
2
|
export declare type ServicesConfiguration = {
|
|
3
3
|
common: {
|
|
4
4
|
/**
|
|
@@ -23,7 +23,7 @@ export declare type ServicesConfiguration = {
|
|
|
23
23
|
memoryStorage: PublicCacheRedisConfiguration;
|
|
24
24
|
/**
|
|
25
25
|
* The database engine used for Kuzzle internal index
|
|
26
|
-
|
|
26
|
+
*/
|
|
27
27
|
internalIndex: {
|
|
28
28
|
/**
|
|
29
29
|
* Maximum amount of time (in milliseconds)
|
|
@@ -70,8 +70,8 @@ export declare type InternalCacheConfiguration = {
|
|
|
70
70
|
*/
|
|
71
71
|
/**
|
|
72
72
|
* @default 'redis'
|
|
73
|
-
|
|
74
|
-
backend:
|
|
73
|
+
*/
|
|
74
|
+
backend: "redis";
|
|
75
75
|
clusterOptions: {
|
|
76
76
|
/**
|
|
77
77
|
* @default true
|
|
@@ -80,7 +80,7 @@ export declare type InternalCacheConfiguration = {
|
|
|
80
80
|
};
|
|
81
81
|
/**
|
|
82
82
|
* @default 0
|
|
83
|
-
|
|
83
|
+
*/
|
|
84
84
|
database: number;
|
|
85
85
|
node: {
|
|
86
86
|
/**
|
|
@@ -98,14 +98,14 @@ export declare type InternalCacheConfiguration = {
|
|
|
98
98
|
* See Redis client constructor available options:
|
|
99
99
|
* https://github.com/luin/ioredis/blob/master/API.md#new-redisport-host-options
|
|
100
100
|
*
|
|
101
|
-
|
|
101
|
+
*/
|
|
102
102
|
options?: Record<string, unknown>;
|
|
103
103
|
/**
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
104
|
+
* Only available when using a Redis Cluster config.
|
|
105
|
+
* Use with caution: if set to true, it makes Kuzzle skip DNS validation for TLS certificates
|
|
106
|
+
* This is the only way to connect to an AWS Elasticache Cluster with TLS encryption.
|
|
107
|
+
* See: https://github.com/luin/ioredis#special-note-aws-elasticache-clusters-with-tls
|
|
108
|
+
* @default false
|
|
109
|
+
*/
|
|
110
110
|
overrideDnsLookup: boolean;
|
|
111
111
|
};
|
|
@@ -2,7 +2,7 @@ export declare type PublicCacheRedisConfiguration = {
|
|
|
2
2
|
/**
|
|
3
3
|
* @default 'redis'
|
|
4
4
|
*/
|
|
5
|
-
backend:
|
|
5
|
+
backend: "redis";
|
|
6
6
|
clusterOptions: {
|
|
7
7
|
/**
|
|
8
8
|
* @default true
|
|
@@ -10,8 +10,8 @@ export declare type PublicCacheRedisConfiguration = {
|
|
|
10
10
|
enableReadyCheck: boolean;
|
|
11
11
|
};
|
|
12
12
|
/**
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
* @default 5
|
|
14
|
+
*/
|
|
15
15
|
database: number;
|
|
16
16
|
node: {
|
|
17
17
|
/**
|