tadis-analyzer 2.6.2 → 3.0.0
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/build/app/code-pattern/main.js +12 -0
- package/build/app/code-pattern/main.js.map +1 -0
- package/build/app/default/main.js +13 -0
- package/build/app/default/main.js.map +1 -0
- package/build/app/error.js +6 -0
- package/build/app/error.js.map +1 -0
- package/build/{src/config → config}/Config.module.d.ts +1 -1
- package/build/{src/config → config}/Config.module.js +7 -11
- package/build/config/Config.module.js.map +1 -0
- package/build/{src/config → config}/Config.service.js +6 -42
- package/build/config/Config.service.js.map +1 -0
- package/build/config/Config.service.test.js +25 -0
- package/build/config/Config.service.test.js.map +1 -0
- package/build/{src/deprecated-modules → deprecated-modules}/CommonTransformers.module.d.ts +2 -2
- package/build/deprecated-modules/CommonTransformers.module.js +29 -0
- package/build/deprecated-modules/CommonTransformers.module.js.map +1 -0
- package/build/{src/deprecated-modules → deprecated-modules}/Msa.module.d.ts +7 -7
- package/build/deprecated-modules/Msa.module.js +54 -0
- package/build/deprecated-modules/Msa.module.js.map +1 -0
- package/build/{src/deprecated-modules → deprecated-modules}/SourceCodeAnalysis.module.d.ts +3 -3
- package/build/deprecated-modules/SourceCodeAnalysis.module.js +31 -0
- package/build/deprecated-modules/SourceCodeAnalysis.module.js.map +1 -0
- package/build/{src/git → git}/Git.module.d.ts +2 -2
- package/build/git/Git.module.js +23 -0
- package/build/git/Git.module.js.map +1 -0
- package/build/{src/git → git}/GitStorage.controller.d.ts +2 -2
- package/build/{src/git → git}/GitStorage.controller.js +15 -17
- package/build/git/GitStorage.controller.js.map +1 -0
- package/build/git/GitStorage.controller.test.js +27 -0
- package/build/git/GitStorage.controller.test.js.map +1 -0
- package/build/{src/git → git}/GitStorage.js +17 -52
- package/build/git/GitStorage.js.map +1 -0
- package/build/{src/git → git}/GitStorage.service.d.ts +2 -2
- package/build/{src/git → git}/GitStorage.service.js +11 -12
- package/build/git/GitStorage.service.js.map +1 -0
- package/build/{src/git → git}/SourceLocationDecorator.d.ts +2 -2
- package/build/{src/git → git}/SourceLocationDecorator.js +7 -9
- package/build/git/SourceLocationDecorator.js.map +1 -0
- package/build/git/SourceLocationDecorator.test.js +33 -0
- package/build/git/SourceLocationDecorator.test.js.map +1 -0
- package/build/lib.d.ts +21 -0
- package/build/lib.js +26 -0
- package/build/lib.js.map +1 -0
- package/build/{src/model → model}/core-typed.d.ts +1 -1
- package/build/model/core-typed.js +60 -0
- package/build/model/core-typed.js.map +1 -0
- package/build/model/core-typed.test.js +28 -0
- package/build/model/core-typed.test.js.map +1 -0
- package/build/{src/model → model}/core.js +16 -44
- package/build/model/core.js.map +1 -0
- package/build/{src/model → model}/ms.d.ts +2 -2
- package/build/{src/model → model}/ms.js +16 -22
- package/build/model/ms.js.map +1 -0
- package/build/{src/model → model}/transport.d.ts +1 -1
- package/build/{src/model → model}/transport.js +1 -4
- package/build/model/transport.js.map +1 -0
- package/build/{src/model → model}/v1-legacy/model.js +14 -9
- package/build/model/v1-legacy/model.js.map +1 -0
- package/build/model/v1-legacy/v1-adapter.d.ts +3 -0
- package/build/model/v1-legacy/v1-adapter.js +41 -0
- package/build/model/v1-legacy/v1-adapter.js.map +1 -0
- package/build/model/v1-legacy/v1-adapter.test.js +65 -0
- package/build/model/v1-legacy/v1-adapter.test.js.map +1 -0
- package/build/{src/post-processors → post-processors}/MicroserviceWithOutgoingExchangeMerger.d.ts +1 -1
- package/build/{src/post-processors → post-processors}/MicroserviceWithOutgoingExchangeMerger.js +14 -21
- package/build/post-processors/MicroserviceWithOutgoingExchangeMerger.js.map +1 -0
- package/build/{src/post-processors → post-processors}/MicroserviceWithOutgoingExchangeMerger.test.js +41 -43
- package/build/post-processors/MicroserviceWithOutgoingExchangeMerger.test.js.map +1 -0
- package/build/{src/post-processors → post-processors}/PostProcessors.module.d.ts +3 -3
- package/build/post-processors/PostProcessors.module.js +31 -0
- package/build/post-processors/PostProcessors.module.js.map +1 -0
- package/build/post-processors/PostProcessors.module.test.js +21 -0
- package/build/post-processors/PostProcessors.module.test.js.map +1 -0
- package/build/{src/post-processors → post-processors}/StaticNodeFilter.d.ts +2 -2
- package/build/{src/post-processors → post-processors}/StaticNodeFilter.js +11 -45
- package/build/post-processors/StaticNodeFilter.js.map +1 -0
- package/build/post-processors/StaticNodeFilter.test.js +34 -0
- package/build/post-processors/StaticNodeFilter.test.js.map +1 -0
- package/build/{src/post-processors → post-processors}/SubSystemFromPayloadTransformer.d.ts +2 -2
- package/build/{src/post-processors → post-processors}/SubSystemFromPayloadTransformer.js +16 -18
- package/build/post-processors/SubSystemFromPayloadTransformer.js.map +1 -0
- package/build/{src/post-processors → post-processors}/SubSystemFromPayloadTransformer.test.js +21 -23
- package/build/post-processors/SubSystemFromPayloadTransformer.test.js.map +1 -0
- package/build/{src/system-assemblers → system-assemblers}/controllers/ISystemAssembler.d.ts +1 -1
- package/build/system-assemblers/controllers/ISystemAssembler.js +2 -0
- package/build/system-assemblers/controllers/ISystemAssembler.js.map +1 -0
- package/build/{src/system-assemblers → system-assemblers}/controllers/SystemAssembler.controller.d.ts +2 -2
- package/build/{src/system-assemblers → system-assemblers}/controllers/SystemAssembler.controller.js +22 -24
- package/build/system-assemblers/controllers/SystemAssembler.controller.js.map +1 -0
- package/build/system-assemblers/controllers/SystemAssembler.controller.test.js +50 -0
- package/build/system-assemblers/controllers/SystemAssembler.controller.test.js.map +1 -0
- package/build/{src/system-assemblers → system-assemblers}/controllers/SystemAssembler.module.d.ts +3 -3
- package/build/system-assemblers/controllers/SystemAssembler.module.js +23 -0
- package/build/system-assemblers/controllers/SystemAssembler.module.js.map +1 -0
- package/build/{src/system-assemblers → system-assemblers}/controllers/SystemAssembler.service.d.ts +2 -2
- package/build/{src/system-assemblers → system-assemblers}/controllers/SystemAssembler.service.js +6 -9
- package/build/system-assemblers/controllers/SystemAssembler.service.js.map +1 -0
- package/build/{src/system-assemblers → system-assemblers}/kubernetes-rabbitmq/KubernetesRabbitMqAssembler.module.d.ts +1 -1
- package/build/system-assemblers/kubernetes-rabbitmq/KubernetesRabbitMqAssembler.module.js +42 -0
- package/build/system-assemblers/kubernetes-rabbitmq/KubernetesRabbitMqAssembler.module.js.map +1 -0
- package/build/{src/system-assemblers → system-assemblers}/kubernetes-rabbitmq/KubernetesRabbitMqAssembler.service.d.ts +5 -5
- package/build/{src/system-assemblers → system-assemblers}/kubernetes-rabbitmq/KubernetesRabbitMqAssembler.service.js +19 -18
- package/build/system-assemblers/kubernetes-rabbitmq/KubernetesRabbitMqAssembler.service.js.map +1 -0
- package/build/{src/system-element-extractors → system-element-extractors}/env-variables/EnvVariables.module.d.ts +1 -1
- package/build/system-element-extractors/env-variables/EnvVariables.module.js +21 -0
- package/build/system-element-extractors/env-variables/EnvVariables.module.js.map +1 -0
- package/build/{src/system-element-extractors → system-element-extractors}/env-variables/ExchangesFromEnvPayloadCreator.d.ts +2 -2
- package/build/{src/system-element-extractors → system-element-extractors}/env-variables/ExchangesFromEnvPayloadCreator.js +11 -13
- package/build/system-element-extractors/env-variables/ExchangesFromEnvPayloadCreator.js.map +1 -0
- package/build/system-element-extractors/env-variables/ExchangesFromEnvPayloadCreator.test.js +54 -0
- package/build/system-element-extractors/env-variables/ExchangesFromEnvPayloadCreator.test.js.map +1 -0
- package/build/{src/system-element-extractors → system-element-extractors}/experimental/code-pattern/CodePattern.module.d.ts +1 -1
- package/build/system-element-extractors/experimental/code-pattern/CodePattern.module.js +22 -0
- package/build/system-element-extractors/experimental/code-pattern/CodePattern.module.js.map +1 -0
- package/build/{src/system-element-extractors → system-element-extractors}/experimental/code-pattern/PatternAnalyzer.controller.d.ts +2 -2
- package/build/{src/system-element-extractors → system-element-extractors}/experimental/code-pattern/PatternAnalyzer.controller.js +15 -17
- package/build/system-element-extractors/experimental/code-pattern/PatternAnalyzer.controller.js.map +1 -0
- package/build/{src/system-element-extractors → system-element-extractors}/experimental/code-pattern/PatternAnalyzer.d.ts +2 -2
- package/build/{src/system-element-extractors → system-element-extractors}/experimental/code-pattern/PatternAnalyzer.js +43 -72
- package/build/system-element-extractors/experimental/code-pattern/PatternAnalyzer.js.map +1 -0
- package/build/{src/system-element-extractors → system-element-extractors}/experimental/code-pattern/PatternAnalyzer.multiFile.test.js +32 -30
- package/build/system-element-extractors/experimental/code-pattern/PatternAnalyzer.multiFile.test.js.map +1 -0
- package/build/{src/system-element-extractors → system-element-extractors}/experimental/code-pattern/PatternAnalyzer.service.d.ts +4 -4
- package/build/{src/system-element-extractors → system-element-extractors}/experimental/code-pattern/PatternAnalyzer.service.js +15 -16
- package/build/system-element-extractors/experimental/code-pattern/PatternAnalyzer.service.js.map +1 -0
- package/build/{src/system-element-extractors → system-element-extractors}/experimental/code-pattern/PatternAnalyzer.singleFile.test.js +47 -48
- package/build/system-element-extractors/experimental/code-pattern/PatternAnalyzer.singleFile.test.js.map +1 -0
- package/build/system-element-extractors/experimental/code-pattern/behavior-model.js +2 -0
- package/build/system-element-extractors/experimental/code-pattern/behavior-model.js.map +1 -0
- package/build/{src/system-element-extractors → system-element-extractors}/experimental/code-pattern/model.js +2 -5
- package/build/system-element-extractors/experimental/code-pattern/model.js.map +1 -0
- package/build/{src/system-element-extractors → system-element-extractors}/experimental/code-pattern/prototyping/pattern-dsl.js +2 -1
- package/build/system-element-extractors/experimental/code-pattern/prototyping/pattern-dsl.js.map +1 -0
- package/build/{src/system-element-extractors → system-element-extractors}/experimental/code-pattern/prototyping/regexp-test.js +2 -1
- package/build/system-element-extractors/experimental/code-pattern/prototyping/regexp-test.js.map +1 -0
- package/build/{src/system-element-extractors → system-element-extractors}/java/Java.module.d.ts +1 -1
- package/build/system-element-extractors/java/Java.module.js +22 -0
- package/build/system-element-extractors/java/Java.module.js.map +1 -0
- package/build/{src/system-element-extractors → system-element-extractors}/java/JavaAnnotationAnalyzer.d.ts +2 -2
- package/build/{src/system-element-extractors → system-element-extractors}/java/JavaAnnotationAnalyzer.js +15 -50
- package/build/system-element-extractors/java/JavaAnnotationAnalyzer.js.map +1 -0
- package/build/system-element-extractors/java/JavaAnnotationAnalyzer.test.js +85 -0
- package/build/system-element-extractors/java/JavaAnnotationAnalyzer.test.js.map +1 -0
- package/build/{src/system-element-extractors → system-element-extractors}/kubernetes/Kubernetes.module.d.ts +4 -4
- package/build/system-element-extractors/kubernetes/Kubernetes.module.js +36 -0
- package/build/system-element-extractors/kubernetes/Kubernetes.module.js.map +1 -0
- package/build/system-element-extractors/kubernetes/api/api.service.js +51 -0
- package/build/system-element-extractors/kubernetes/api/api.service.js.map +1 -0
- package/build/{src/system-element-extractors → system-element-extractors}/kubernetes/transformer/EnvDefinitionFromPodDecorator.d.ts +3 -3
- package/build/system-element-extractors/kubernetes/transformer/EnvDefinitionFromPodDecorator.js +57 -0
- package/build/system-element-extractors/kubernetes/transformer/EnvDefinitionFromPodDecorator.js.map +1 -0
- package/build/system-element-extractors/kubernetes/transformer/EnvDefinitionFromPodDecorator.test.js +31 -0
- package/build/system-element-extractors/kubernetes/transformer/EnvDefinitionFromPodDecorator.test.js.map +1 -0
- package/build/{src/system-element-extractors → system-element-extractors}/kubernetes/transformer/LabelsFromDeploymentDecorator.d.ts +3 -3
- package/build/system-element-extractors/kubernetes/transformer/LabelsFromDeploymentDecorator.js +59 -0
- package/build/system-element-extractors/kubernetes/transformer/LabelsFromDeploymentDecorator.js.map +1 -0
- package/build/system-element-extractors/kubernetes/transformer/LabelsFromDeploymentDecorator.test.js +29 -0
- package/build/system-element-extractors/kubernetes/transformer/LabelsFromDeploymentDecorator.test.js.map +1 -0
- package/build/{src/system-element-extractors → system-element-extractors}/kubernetes/transformer/MicroservicesFromKubernetesCreator.d.ts +3 -3
- package/build/{src/system-element-extractors → system-element-extractors}/kubernetes/transformer/MicroservicesFromKubernetesCreator.js +14 -15
- package/build/system-element-extractors/kubernetes/transformer/MicroservicesFromKubernetesCreator.js.map +1 -0
- package/build/system-element-extractors/kubernetes/transformer/MicroservicesFromKubernetesCreator.test.js +37 -0
- package/build/system-element-extractors/kubernetes/transformer/MicroservicesFromKubernetesCreator.test.js.map +1 -0
- package/build/{src/system-element-extractors → system-element-extractors}/rabbitmq/RabbitMq.module.d.ts +3 -3
- package/build/system-element-extractors/rabbitmq/RabbitMq.module.js +32 -0
- package/build/system-element-extractors/rabbitmq/RabbitMq.module.js.map +1 -0
- package/build/{src/system-element-extractors → system-element-extractors}/rabbitmq/api/api.service.d.ts +1 -1
- package/build/{src/system-element-extractors → system-element-extractors}/rabbitmq/api/api.service.js +12 -14
- package/build/system-element-extractors/rabbitmq/api/api.service.js.map +1 -0
- package/build/{src/system-element-extractors → system-element-extractors}/rabbitmq/transformer/OutgoingExchangesFromSourceCreator.d.ts +2 -2
- package/build/{src/system-element-extractors → system-element-extractors}/rabbitmq/transformer/OutgoingExchangesFromSourceCreator.js +15 -50
- package/build/system-element-extractors/rabbitmq/transformer/OutgoingExchangesFromSourceCreator.js.map +1 -0
- package/build/system-element-extractors/rabbitmq/transformer/OutgoingExchangesFromSourceCreator.test.d.ts +1 -0
- package/build/system-element-extractors/rabbitmq/transformer/OutgoingExchangesFromSourceCreator.test.js +42 -0
- package/build/system-element-extractors/rabbitmq/transformer/OutgoingExchangesFromSourceCreator.test.js.map +1 -0
- package/build/{src/system-element-extractors → system-element-extractors}/rabbitmq/transformer/RabbitMqBindingsFromApiAnalyzer.d.ts +3 -3
- package/build/{src/system-element-extractors → system-element-extractors}/rabbitmq/transformer/RabbitMqBindingsFromApiAnalyzer.js +17 -50
- package/build/system-element-extractors/rabbitmq/transformer/RabbitMqBindingsFromApiAnalyzer.js.map +1 -0
- package/build/system-element-extractors/rabbitmq/transformer/RabbitMqBindingsFromApiAnalyzer.test.d.ts +1 -0
- package/build/system-element-extractors/rabbitmq/transformer/RabbitMqBindingsFromApiAnalyzer.test.js +107 -0
- package/build/system-element-extractors/rabbitmq/transformer/RabbitMqBindingsFromApiAnalyzer.test.js.map +1 -0
- package/build/{src/system-element-extractors → system-element-extractors}/spring-boot/FeignClientAnnotationAnalyzer.d.ts +2 -2
- package/build/{src/system-element-extractors → system-element-extractors}/spring-boot/FeignClientAnnotationAnalyzer.js +16 -51
- package/build/system-element-extractors/spring-boot/FeignClientAnnotationAnalyzer.js.map +1 -0
- package/build/system-element-extractors/spring-boot/FeignClientAnnotationAnalyzer.test.d.ts +1 -0
- package/build/{src/system-element-extractors → system-element-extractors}/spring-boot/FeignClientAnnotationAnalyzer.test.js +20 -17
- package/build/system-element-extractors/spring-boot/FeignClientAnnotationAnalyzer.test.js.map +1 -0
- package/build/{src/system-element-extractors → system-element-extractors}/spring-boot/SpringBoot.module.d.ts +1 -1
- package/build/system-element-extractors/spring-boot/SpringBoot.module.js +21 -0
- package/build/system-element-extractors/spring-boot/SpringBoot.module.js.map +1 -0
- package/build/{src/test → test}/verifiers.d.ts +1 -2
- package/build/test/verifiers.js +14 -0
- package/build/test/verifiers.js.map +1 -0
- package/build/{src/utils → utils}/files/analysis.js +6 -45
- package/build/utils/files/analysis.js.map +1 -0
- package/package.json +22 -42
- package/build/src/app/code-pattern/main.js +0 -14
- package/build/src/app/code-pattern/main.js.map +0 -1
- package/build/src/app/default/main.js +0 -15
- package/build/src/app/default/main.js.map +0 -1
- package/build/src/app/error.js +0 -10
- package/build/src/app/error.js.map +0 -1
- package/build/src/config/Config.module.js.map +0 -1
- package/build/src/config/Config.service.js.map +0 -1
- package/build/src/config/Config.service.test.js +0 -33
- package/build/src/config/Config.service.test.js.map +0 -1
- package/build/src/deprecated-modules/CommonTransformers.module.js +0 -34
- package/build/src/deprecated-modules/CommonTransformers.module.js.map +0 -1
- package/build/src/deprecated-modules/Msa.module.js +0 -63
- package/build/src/deprecated-modules/Msa.module.js.map +0 -1
- package/build/src/deprecated-modules/SourceCodeAnalysis.module.js +0 -70
- package/build/src/deprecated-modules/SourceCodeAnalysis.module.js.map +0 -1
- package/build/src/git/Git.module.js +0 -28
- package/build/src/git/Git.module.js.map +0 -1
- package/build/src/git/GitStorage.controller.js.map +0 -1
- package/build/src/git/GitStorage.controller.test.js +0 -30
- package/build/src/git/GitStorage.controller.test.js.map +0 -1
- package/build/src/git/GitStorage.js.map +0 -1
- package/build/src/git/GitStorage.service.js.map +0 -1
- package/build/src/git/SourceLocationDecorator.js.map +0 -1
- package/build/src/git/SourceLocationDecorator.test.js +0 -35
- package/build/src/git/SourceLocationDecorator.test.js.map +0 -1
- package/build/src/lib.d.ts +0 -21
- package/build/src/lib.js +0 -67
- package/build/src/lib.js.map +0 -1
- package/build/src/model/core-typed.js +0 -99
- package/build/src/model/core-typed.js.map +0 -1
- package/build/src/model/core-typed.test.js +0 -29
- package/build/src/model/core-typed.test.js.map +0 -1
- package/build/src/model/core.js.map +0 -1
- package/build/src/model/ms.js.map +0 -1
- package/build/src/model/transport.js.map +0 -1
- package/build/src/model/v1-legacy/model.js.map +0 -1
- package/build/src/model/v1-legacy/v1-adapter.d.ts +0 -3
- package/build/src/model/v1-legacy/v1-adapter.js +0 -77
- package/build/src/model/v1-legacy/v1-adapter.js.map +0 -1
- package/build/src/model/v1-legacy/v1-adapter.test.js +0 -66
- package/build/src/model/v1-legacy/v1-adapter.test.js.map +0 -1
- package/build/src/post-processors/MicroserviceWithOutgoingExchangeMerger.js.map +0 -1
- package/build/src/post-processors/MicroserviceWithOutgoingExchangeMerger.test.js.map +0 -1
- package/build/src/post-processors/PostProcessors.module.js +0 -37
- package/build/src/post-processors/PostProcessors.module.js.map +0 -1
- package/build/src/post-processors/PostProcessors.module.test.js +0 -23
- package/build/src/post-processors/PostProcessors.module.test.js.map +0 -1
- package/build/src/post-processors/StaticNodeFilter.js.map +0 -1
- package/build/src/post-processors/StaticNodeFilter.test.js +0 -36
- package/build/src/post-processors/StaticNodeFilter.test.js.map +0 -1
- package/build/src/post-processors/SubSystemFromPayloadTransformer.js.map +0 -1
- package/build/src/post-processors/SubSystemFromPayloadTransformer.test.js.map +0 -1
- package/build/src/system-assemblers/controllers/ISystemAssembler.js +0 -3
- package/build/src/system-assemblers/controllers/ISystemAssembler.js.map +0 -1
- package/build/src/system-assemblers/controllers/SystemAssembler.controller.js.map +0 -1
- package/build/src/system-assemblers/controllers/SystemAssembler.controller.test.js +0 -54
- package/build/src/system-assemblers/controllers/SystemAssembler.controller.test.js.map +0 -1
- package/build/src/system-assemblers/controllers/SystemAssembler.module.js +0 -28
- package/build/src/system-assemblers/controllers/SystemAssembler.module.js.map +0 -1
- package/build/src/system-assemblers/controllers/SystemAssembler.service.js.map +0 -1
- package/build/src/system-assemblers/kubernetes-rabbitmq/KubernetesRabbitMqAssembler.module.js +0 -46
- package/build/src/system-assemblers/kubernetes-rabbitmq/KubernetesRabbitMqAssembler.module.js.map +0 -1
- package/build/src/system-assemblers/kubernetes-rabbitmq/KubernetesRabbitMqAssembler.service.js.map +0 -1
- package/build/src/system-element-extractors/env-variables/EnvVariables.module.js +0 -25
- package/build/src/system-element-extractors/env-variables/EnvVariables.module.js.map +0 -1
- package/build/src/system-element-extractors/env-variables/ExchangesFromEnvPayloadCreator.js.map +0 -1
- package/build/src/system-element-extractors/env-variables/ExchangesFromEnvPayloadCreator.test.d.ts +0 -1
- package/build/src/system-element-extractors/env-variables/ExchangesFromEnvPayloadCreator.test.js +0 -56
- package/build/src/system-element-extractors/env-variables/ExchangesFromEnvPayloadCreator.test.js.map +0 -1
- package/build/src/system-element-extractors/experimental/code-pattern/CodePattern.module.js +0 -26
- package/build/src/system-element-extractors/experimental/code-pattern/CodePattern.module.js.map +0 -1
- package/build/src/system-element-extractors/experimental/code-pattern/PatternAnalyzer.controller.js.map +0 -1
- package/build/src/system-element-extractors/experimental/code-pattern/PatternAnalyzer.js.map +0 -1
- package/build/src/system-element-extractors/experimental/code-pattern/PatternAnalyzer.multiFile.test.js.map +0 -1
- package/build/src/system-element-extractors/experimental/code-pattern/PatternAnalyzer.service.js.map +0 -1
- package/build/src/system-element-extractors/experimental/code-pattern/PatternAnalyzer.singleFile.test.js.map +0 -1
- package/build/src/system-element-extractors/experimental/code-pattern/behavior-model.js +0 -3
- package/build/src/system-element-extractors/experimental/code-pattern/behavior-model.js.map +0 -1
- package/build/src/system-element-extractors/experimental/code-pattern/model.js.map +0 -1
- package/build/src/system-element-extractors/experimental/code-pattern/prototyping/pattern-dsl.d.ts +0 -8
- package/build/src/system-element-extractors/experimental/code-pattern/prototyping/pattern-dsl.js.map +0 -1
- package/build/src/system-element-extractors/experimental/code-pattern/prototyping/regexp-test.d.ts +0 -0
- package/build/src/system-element-extractors/experimental/code-pattern/prototyping/regexp-test.js.map +0 -1
- package/build/src/system-element-extractors/java/Java.module.js +0 -26
- package/build/src/system-element-extractors/java/Java.module.js.map +0 -1
- package/build/src/system-element-extractors/java/JavaAnnotationAnalyzer.js.map +0 -1
- package/build/src/system-element-extractors/java/JavaAnnotationAnalyzer.test.js +0 -85
- package/build/src/system-element-extractors/java/JavaAnnotationAnalyzer.test.js.map +0 -1
- package/build/src/system-element-extractors/kubernetes/Kubernetes.module.js +0 -43
- package/build/src/system-element-extractors/kubernetes/Kubernetes.module.js.map +0 -1
- package/build/src/system-element-extractors/kubernetes/api/api.service.js +0 -88
- package/build/src/system-element-extractors/kubernetes/api/api.service.js.map +0 -1
- package/build/src/system-element-extractors/kubernetes/transformer/EnvDefinitionFromPodDecorator.js +0 -90
- package/build/src/system-element-extractors/kubernetes/transformer/EnvDefinitionFromPodDecorator.js.map +0 -1
- package/build/src/system-element-extractors/kubernetes/transformer/EnvDefinitionFromPodDecorator.test.js +0 -32
- package/build/src/system-element-extractors/kubernetes/transformer/EnvDefinitionFromPodDecorator.test.js.map +0 -1
- package/build/src/system-element-extractors/kubernetes/transformer/LabelsFromDeploymentDecorator.js +0 -92
- package/build/src/system-element-extractors/kubernetes/transformer/LabelsFromDeploymentDecorator.js.map +0 -1
- package/build/src/system-element-extractors/kubernetes/transformer/LabelsFromDeploymentDecorator.test.js +0 -30
- package/build/src/system-element-extractors/kubernetes/transformer/LabelsFromDeploymentDecorator.test.js.map +0 -1
- package/build/src/system-element-extractors/kubernetes/transformer/MicroservicesFromKubernetesCreator.js.map +0 -1
- package/build/src/system-element-extractors/kubernetes/transformer/MicroservicesFromKubernetesCreator.test.js +0 -38
- package/build/src/system-element-extractors/kubernetes/transformer/MicroservicesFromKubernetesCreator.test.js.map +0 -1
- package/build/src/system-element-extractors/rabbitmq/RabbitMq.module.js +0 -38
- package/build/src/system-element-extractors/rabbitmq/RabbitMq.module.js.map +0 -1
- package/build/src/system-element-extractors/rabbitmq/api/api.service.js.map +0 -1
- package/build/src/system-element-extractors/rabbitmq/transformer/OutgoingExchangesFromSourceCreator.js.map +0 -1
- package/build/src/system-element-extractors/rabbitmq/transformer/OutgoingExchangesFromSourceCreator.test.js +0 -43
- package/build/src/system-element-extractors/rabbitmq/transformer/OutgoingExchangesFromSourceCreator.test.js.map +0 -1
- package/build/src/system-element-extractors/rabbitmq/transformer/RabbitMqBindingsFromApiAnalyzer.js.map +0 -1
- package/build/src/system-element-extractors/rabbitmq/transformer/RabbitMqBindingsFromApiAnalyzer.test.js +0 -121
- package/build/src/system-element-extractors/rabbitmq/transformer/RabbitMqBindingsFromApiAnalyzer.test.js.map +0 -1
- package/build/src/system-element-extractors/spring-boot/FeignClientAnnotationAnalyzer.js.map +0 -1
- package/build/src/system-element-extractors/spring-boot/FeignClientAnnotationAnalyzer.test.js.map +0 -1
- package/build/src/system-element-extractors/spring-boot/SpringBoot.module.js +0 -25
- package/build/src/system-element-extractors/spring-boot/SpringBoot.module.js.map +0 -1
- package/build/src/test/expect-extensions.d.ts +0 -6
- package/build/src/test/expect-extensions.js +0 -20
- package/build/src/test/expect-extensions.js.map +0 -1
- package/build/src/test/verifiers.js +0 -18
- package/build/src/test/verifiers.js.map +0 -1
- package/build/src/utils/files/analysis.js.map +0 -1
- /package/build/{src/app → app}/code-pattern/main.d.ts +0 -0
- /package/build/{src/app → app}/default/main.d.ts +0 -0
- /package/build/{src/app → app}/error.d.ts +0 -0
- /package/build/{src/config → config}/Config.service.d.ts +0 -0
- /package/build/{src/config → config}/Config.service.test.d.ts +0 -0
- /package/build/{src/git → git}/GitStorage.controller.test.d.ts +0 -0
- /package/build/{src/git → git}/GitStorage.d.ts +0 -0
- /package/build/{src/git → git}/SourceLocationDecorator.test.d.ts +0 -0
- /package/build/{src/model → model}/core-typed.test.d.ts +0 -0
- /package/build/{src/model → model}/core.d.ts +0 -0
- /package/build/{src/model → model}/v1-legacy/model.d.ts +0 -0
- /package/build/{src/model → model}/v1-legacy/v1-adapter.test.d.ts +0 -0
- /package/build/{src/post-processors → post-processors}/MicroserviceWithOutgoingExchangeMerger.test.d.ts +0 -0
- /package/build/{src/post-processors → post-processors}/PostProcessors.module.test.d.ts +0 -0
- /package/build/{src/post-processors → post-processors}/StaticNodeFilter.test.d.ts +0 -0
- /package/build/{src/post-processors → post-processors}/SubSystemFromPayloadTransformer.test.d.ts +0 -0
- /package/build/{src/system-assemblers → system-assemblers}/controllers/SystemAssembler.controller.test.d.ts +0 -0
- /package/build/{src/system-element-extractors/experimental/code-pattern/PatternAnalyzer.multiFile.test.d.ts → system-element-extractors/env-variables/ExchangesFromEnvPayloadCreator.test.d.ts} +0 -0
- /package/build/{src/system-element-extractors/experimental/code-pattern/PatternAnalyzer.singleFile.test.d.ts → system-element-extractors/experimental/code-pattern/PatternAnalyzer.multiFile.test.d.ts} +0 -0
- /package/build/{src/system-element-extractors/experimental/code-pattern/behavior-model.d.ts → system-element-extractors/experimental/code-pattern/PatternAnalyzer.singleFile.test.d.ts} +0 -0
- /package/build/{src/system-element-extractors/java/JavaAnnotationAnalyzer.test.d.ts → system-element-extractors/experimental/code-pattern/behavior-model.d.ts} +0 -0
- /package/build/{src/system-element-extractors → system-element-extractors}/experimental/code-pattern/model.d.ts +0 -0
- /package/build/{src/system-element-extractors/kubernetes/transformer/EnvDefinitionFromPodDecorator.test.d.ts → system-element-extractors/experimental/code-pattern/prototyping/pattern-dsl.d.ts} +0 -0
- /package/build/{src/system-element-extractors/kubernetes/transformer/LabelsFromDeploymentDecorator.test.d.ts → system-element-extractors/experimental/code-pattern/prototyping/regexp-test.d.ts} +0 -0
- /package/build/{src/system-element-extractors/kubernetes/transformer/MicroservicesFromKubernetesCreator.test.d.ts → system-element-extractors/java/JavaAnnotationAnalyzer.test.d.ts} +0 -0
- /package/build/{src/system-element-extractors → system-element-extractors}/kubernetes/api/api.service.d.ts +0 -0
- /package/build/{src/system-element-extractors/rabbitmq/transformer/OutgoingExchangesFromSourceCreator.test.d.ts → system-element-extractors/kubernetes/transformer/EnvDefinitionFromPodDecorator.test.d.ts} +0 -0
- /package/build/{src/system-element-extractors/rabbitmq/transformer/RabbitMqBindingsFromApiAnalyzer.test.d.ts → system-element-extractors/kubernetes/transformer/LabelsFromDeploymentDecorator.test.d.ts} +0 -0
- /package/build/{src/system-element-extractors/spring-boot/FeignClientAnnotationAnalyzer.test.d.ts → system-element-extractors/kubernetes/transformer/MicroservicesFromKubernetesCreator.test.d.ts} +0 -0
- /package/build/{src/system-element-extractors → system-element-extractors}/kubernetes/transformer/testdata/api/deployments.json +0 -0
- /package/build/{src/system-element-extractors → system-element-extractors}/kubernetes/transformer/testdata/api/pods.json +0 -0
- /package/build/{src/system-element-extractors → system-element-extractors}/kubernetes/transformer/testdata/api/services.json +0 -0
- /package/build/{src/system-element-extractors → system-element-extractors}/rabbitmq/transformer/testdata/api/bindings.json +0 -0
- /package/build/{src/system-element-extractors → system-element-extractors}/rabbitmq/transformer/testdata/api/queues.json +0 -0
- /package/build/{src/utils → utils}/files/analysis.d.ts +0 -0
|
@@ -1,60 +1,25 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
19
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
20
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
21
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
22
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
23
6
|
};
|
|
24
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
25
|
-
var ownKeys = function(o) {
|
|
26
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
27
|
-
var ar = [];
|
|
28
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
29
|
-
return ar;
|
|
30
|
-
};
|
|
31
|
-
return ownKeys(o);
|
|
32
|
-
};
|
|
33
|
-
return function (mod) {
|
|
34
|
-
if (mod && mod.__esModule) return mod;
|
|
35
|
-
var result = {};
|
|
36
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
37
|
-
__setModuleDefault(result, mod);
|
|
38
|
-
return result;
|
|
39
|
-
};
|
|
40
|
-
})();
|
|
41
7
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
42
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
43
9
|
};
|
|
44
10
|
var JavaAnnotationAnalyzer_1;
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
const analysis_1 = require("../../utils/files/analysis");
|
|
50
|
-
const Config_service_1 = require("../../config/Config.service");
|
|
11
|
+
import { Injectable, Logger } from '@nestjs/common';
|
|
12
|
+
import * as fs from 'fs';
|
|
13
|
+
import { findFiles, getServiceNameFromPath, isNoSourceOfThisProject } from '../../utils/files/analysis.js';
|
|
14
|
+
import { ConfigService } from '../../config/Config.service.js';
|
|
51
15
|
// tslint:disable-next-line
|
|
52
|
-
|
|
53
|
-
const logger = new
|
|
16
|
+
import * as ms from '../../model/ms.js';
|
|
17
|
+
const logger = new Logger('AnnotationAnalyzer');
|
|
54
18
|
let JavaAnnotationAnalyzer = JavaAnnotationAnalyzer_1 = class JavaAnnotationAnalyzer {
|
|
19
|
+
config;
|
|
20
|
+
logger = new Logger(JavaAnnotationAnalyzer_1.name);
|
|
55
21
|
constructor(config) {
|
|
56
22
|
this.config = config;
|
|
57
|
-
this.logger = new common_1.Logger(JavaAnnotationAnalyzer_1.name);
|
|
58
23
|
}
|
|
59
24
|
async transform(system, annotation, elementMappings) {
|
|
60
25
|
await this.transformSourcesInPath(system, this.config.getSourceFolder(), annotation, elementMappings);
|
|
@@ -62,13 +27,13 @@ let JavaAnnotationAnalyzer = JavaAnnotationAnalyzer_1 = class JavaAnnotationAnal
|
|
|
62
27
|
}
|
|
63
28
|
async transformSourcesInPath(system, path, annotation, elementMappings) {
|
|
64
29
|
this.logger.log('scanning java files in ' + path);
|
|
65
|
-
const javaFiles = await
|
|
30
|
+
const javaFiles = await findFiles(path, ['.java'], undefined);
|
|
66
31
|
this.logger.log('found ' + javaFiles.length + ' java files');
|
|
67
32
|
javaFiles
|
|
68
|
-
.filter((file) =>
|
|
33
|
+
.filter((file) => isNoSourceOfThisProject(file))
|
|
69
34
|
.forEach((file) => {
|
|
70
35
|
// TODO: make this async
|
|
71
|
-
const serviceName =
|
|
36
|
+
const serviceName = getServiceNameFromPath(path, file);
|
|
72
37
|
const service = system.findMicroService(serviceName);
|
|
73
38
|
if (!service) {
|
|
74
39
|
this.logger.log('skipping source of microservice ' +
|
|
@@ -82,11 +47,11 @@ let JavaAnnotationAnalyzer = JavaAnnotationAnalyzer_1 = class JavaAnnotationAnal
|
|
|
82
47
|
});
|
|
83
48
|
}
|
|
84
49
|
};
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
(
|
|
88
|
-
__metadata("design:paramtypes", [Config_service_1.ConfigService])
|
|
50
|
+
JavaAnnotationAnalyzer = JavaAnnotationAnalyzer_1 = __decorate([
|
|
51
|
+
Injectable(),
|
|
52
|
+
__metadata("design:paramtypes", [ConfigService])
|
|
89
53
|
], JavaAnnotationAnalyzer);
|
|
54
|
+
export { JavaAnnotationAnalyzer };
|
|
90
55
|
function transformEachAnnotation(system, service, annotationName, fileContent, elementMappings) {
|
|
91
56
|
const annotationPattern = '@' + annotationName + '\\s*\\(([^\\)]+)\\)';
|
|
92
57
|
const annotationRegExp = new RegExp(annotationPattern, 'g');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JavaAnnotationAnalyzer.js","sourceRoot":"","sources":["../../../src/system-element-extractors/java/JavaAnnotationAnalyzer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { fileURLToPath } from 'url';
|
|
2
|
+
import { dirname } from 'path';
|
|
3
|
+
import { describe, it, beforeAll, beforeEach, expect } from 'vitest';
|
|
4
|
+
import { Test } from '@nestjs/testing';
|
|
5
|
+
import { ConfigService } from '../../config/Config.service.js';
|
|
6
|
+
import { System, AsyncEventFlow } from '../../model/ms.js';
|
|
7
|
+
import { verifyEachContentHasTransformer } from '../../test/verifiers.js';
|
|
8
|
+
import { JavaAnnotationAnalyzer } from './JavaAnnotationAnalyzer.js';
|
|
9
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
10
|
+
const __dirname = dirname(__filename);
|
|
11
|
+
describe(JavaAnnotationAnalyzer.name, () => {
|
|
12
|
+
let app;
|
|
13
|
+
beforeEach(() => {
|
|
14
|
+
process.env.NODE_ENV = 'test';
|
|
15
|
+
});
|
|
16
|
+
beforeAll(async () => {
|
|
17
|
+
app = await Test.createTestingModule({
|
|
18
|
+
controllers: [],
|
|
19
|
+
providers: [ConfigService, JavaAnnotationAnalyzer]
|
|
20
|
+
}).compile();
|
|
21
|
+
const config = app.get(ConfigService);
|
|
22
|
+
config.getSourceFolder = () => __dirname + '/testdata/source-folder';
|
|
23
|
+
});
|
|
24
|
+
const elementMappings = [
|
|
25
|
+
{
|
|
26
|
+
elementToDeriveNodeFrom: 'sendToExchange',
|
|
27
|
+
nodeTypeToCreate: 'MessageExchange',
|
|
28
|
+
nodeTypeDirection: 'target',
|
|
29
|
+
edgeType: 'AsyncEventFlow'
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
elementToDeriveNodeFrom: 'receiveFromExchange',
|
|
33
|
+
nodeTypeToCreate: 'MessageExchange',
|
|
34
|
+
nodeTypeDirection: 'source',
|
|
35
|
+
edgeType: 'AsyncEventFlow'
|
|
36
|
+
}
|
|
37
|
+
];
|
|
38
|
+
it('creates an async info flow for multiple annotations in the same file', async () => {
|
|
39
|
+
const inputSystem = new System('test');
|
|
40
|
+
inputSystem.addMicroService('service1', {}, { context: "test", transformer: JavaAnnotationAnalyzer.name });
|
|
41
|
+
const transformer = app.get(JavaAnnotationAnalyzer);
|
|
42
|
+
const outputSystem = await transformer.transform(inputSystem, 'EventProcessor', elementMappings);
|
|
43
|
+
expect(outputSystem.findMicroService('service1')).to.not.be.undefined;
|
|
44
|
+
expect(outputSystem.findMessageExchange('target-exchange-X')).to.not.be.undefined;
|
|
45
|
+
expect(outputSystem.findMessageExchange('target-exchange-Y')).to.not.be.undefined;
|
|
46
|
+
expect(outputSystem.edges.find((edge) => edge.source.getName() === 'service1' &&
|
|
47
|
+
edge.target.getName() === 'target-exchange-X' &&
|
|
48
|
+
edge.content.type === AsyncEventFlow.name)).to.not.be.undefined;
|
|
49
|
+
expect(outputSystem.edges.find((edge) => edge.source.getName() === 'service1' &&
|
|
50
|
+
edge.target.getName() === 'target-exchange-Y')).to.not.be.undefined;
|
|
51
|
+
verifyEachContentHasTransformer(outputSystem, JavaAnnotationAnalyzer.name);
|
|
52
|
+
});
|
|
53
|
+
it('re-uses exchanges when they already exist', async () => {
|
|
54
|
+
const inputSystem = new System('test');
|
|
55
|
+
inputSystem.addMicroService('service1', {}, { context: "test", transformer: JavaAnnotationAnalyzer.name });
|
|
56
|
+
inputSystem.addMessageExchange('source-exchange-X');
|
|
57
|
+
const transformer = app.get(JavaAnnotationAnalyzer);
|
|
58
|
+
const outputSystem = await transformer.transform(inputSystem, 'EventProcessor', elementMappings);
|
|
59
|
+
expect(outputSystem.findMicroService('service1')).to.not.be.undefined;
|
|
60
|
+
expect(outputSystem.nodes.filter((node) => node.getName() === 'source-exchange-X')).to.have.lengthOf(1);
|
|
61
|
+
verifyEachContentHasTransformer(outputSystem, JavaAnnotationAnalyzer.name);
|
|
62
|
+
});
|
|
63
|
+
it('ignores source of services which are not part of the input system', async () => {
|
|
64
|
+
const inputSystem = new System('test');
|
|
65
|
+
const transformer = app.get(JavaAnnotationAnalyzer);
|
|
66
|
+
const outputSystem = await transformer.transform(inputSystem, 'EventProcessor', elementMappings);
|
|
67
|
+
expect(outputSystem.findMicroService('service1')).to.be.undefined;
|
|
68
|
+
expect(outputSystem.findMessageExchange('target-exchange')).to.be.undefined;
|
|
69
|
+
});
|
|
70
|
+
it('can create nodes from multiple elements in the same annotation', async () => {
|
|
71
|
+
const inputSystem = new System('test');
|
|
72
|
+
inputSystem.addMicroService('service1', {}, { context: "test", transformer: JavaAnnotationAnalyzer.name });
|
|
73
|
+
const transformer = app.get(JavaAnnotationAnalyzer);
|
|
74
|
+
const outputSystem = await transformer.transform(inputSystem, 'EventProcessor', elementMappings);
|
|
75
|
+
expect(outputSystem.findMicroService('service1')).to.not.be.undefined;
|
|
76
|
+
expect(outputSystem.findMessageExchange('source-exchange-X')).to.not.be.undefined;
|
|
77
|
+
expect(outputSystem.findMessageExchange('target-exchange-X')).to.not.be.undefined;
|
|
78
|
+
expect(outputSystem.edges.find((edge) => edge.source.getName() === 'service1' &&
|
|
79
|
+
edge.target.getName() === 'target-exchange-X')).to.not.be.undefined;
|
|
80
|
+
expect(outputSystem.edges.find((edge) => edge.source.getName() === 'source-exchange-X' &&
|
|
81
|
+
edge.target.getName() === 'service1')).to.not.be.undefined;
|
|
82
|
+
verifyEachContentHasTransformer(outputSystem, JavaAnnotationAnalyzer.name);
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
//# sourceMappingURL=JavaAnnotationAnalyzer.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JavaAnnotationAnalyzer.test.js","sourceRoot":"","sources":["../../../src/system-element-extractors/java/JavaAnnotationAnalyzer.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { KubernetesApiService } from './api/api.service';
|
|
2
|
-
import { EnvDefinitionFromPodDecorator } from './transformer/EnvDefinitionFromPodDecorator';
|
|
3
|
-
import { LabelsFromDeploymentDecorator } from './transformer/LabelsFromDeploymentDecorator';
|
|
4
|
-
import { MicroservicesFromKubernetesCreator } from './transformer/MicroservicesFromKubernetesCreator';
|
|
1
|
+
import { KubernetesApiService } from './api/api.service.js';
|
|
2
|
+
import { EnvDefinitionFromPodDecorator } from './transformer/EnvDefinitionFromPodDecorator.js';
|
|
3
|
+
import { LabelsFromDeploymentDecorator } from './transformer/LabelsFromDeploymentDecorator.js';
|
|
4
|
+
import { MicroservicesFromKubernetesCreator } from './transformer/MicroservicesFromKubernetesCreator.js';
|
|
5
5
|
declare class KubernetesModule {
|
|
6
6
|
}
|
|
7
7
|
export { KubernetesModule, KubernetesApiService, EnvDefinitionFromPodDecorator, LabelsFromDeploymentDecorator, MicroservicesFromKubernetesCreator };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { Module } from '@nestjs/common';
|
|
8
|
+
import { KubernetesApiService } from './api/api.service.js';
|
|
9
|
+
import { ConfigModule } from '../../config/Config.module.js';
|
|
10
|
+
import { EnvDefinitionFromPodDecorator } from './transformer/EnvDefinitionFromPodDecorator.js';
|
|
11
|
+
import { LabelsFromDeploymentDecorator } from './transformer/LabelsFromDeploymentDecorator.js';
|
|
12
|
+
import { MicroservicesFromKubernetesCreator } from './transformer/MicroservicesFromKubernetesCreator.js';
|
|
13
|
+
let KubernetesModule = class KubernetesModule {
|
|
14
|
+
};
|
|
15
|
+
KubernetesModule = __decorate([
|
|
16
|
+
Module({
|
|
17
|
+
imports: [
|
|
18
|
+
ConfigModule
|
|
19
|
+
],
|
|
20
|
+
controllers: [],
|
|
21
|
+
providers: [
|
|
22
|
+
KubernetesApiService,
|
|
23
|
+
EnvDefinitionFromPodDecorator,
|
|
24
|
+
LabelsFromDeploymentDecorator,
|
|
25
|
+
MicroservicesFromKubernetesCreator
|
|
26
|
+
],
|
|
27
|
+
exports: [
|
|
28
|
+
KubernetesApiService,
|
|
29
|
+
EnvDefinitionFromPodDecorator,
|
|
30
|
+
LabelsFromDeploymentDecorator,
|
|
31
|
+
MicroservicesFromKubernetesCreator
|
|
32
|
+
]
|
|
33
|
+
})
|
|
34
|
+
], KubernetesModule);
|
|
35
|
+
export { KubernetesModule, KubernetesApiService, EnvDefinitionFromPodDecorator, LabelsFromDeploymentDecorator, MicroservicesFromKubernetesCreator };
|
|
36
|
+
//# sourceMappingURL=Kubernetes.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Kubernetes.module.js","sourceRoot":"","sources":["../../../src/system-element-extractors/kubernetes/Kubernetes.module.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAEvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAC5D,OAAO,EAAE,6BAA6B,EAAE,MAAM,gDAAgD,CAAA;AAC9F,OAAO,EAAE,6BAA6B,EAAE,MAAM,gDAAgD,CAAA;AAC9F,OAAO,EAAE,kCAAkC,EAAE,MAAM,qDAAqD,CAAA;AAqBxG,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;CAAI,CAAA;AAApB,gBAAgB;IAnBrB,MAAM,CAAC;QACN,OAAO,EAAE;YACP,YAAY;SACb;QACD,WAAW,EAAE,EACZ;QACD,SAAS,EAAE;YACT,oBAAoB;YACpB,6BAA6B;YAC7B,6BAA6B;YAC7B,kCAAkC;SACnC;QACD,OAAO,EAAE;YACP,oBAAoB;YACpB,6BAA6B;YAC7B,6BAA6B;YAC7B,kCAAkC;SACnC;KACF,CAAC;GACI,gBAAgB,CAAI;AAE1B,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,6BAA6B,EAC7B,6BAA6B,EAC7B,kCAAkC,EACnC,CAAA"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { Injectable } from '@nestjs/common';
|
|
11
|
+
import * as k8s from '@kubernetes/client-node';
|
|
12
|
+
let KubernetesApiService = class KubernetesApiService {
|
|
13
|
+
coreV1Api;
|
|
14
|
+
appsV1Api;
|
|
15
|
+
constructor() {
|
|
16
|
+
const kubeConfig = new k8s.KubeConfig();
|
|
17
|
+
kubeConfig.loadFromDefault();
|
|
18
|
+
this.coreV1Api = kubeConfig.makeApiClient(k8s.CoreV1Api);
|
|
19
|
+
this.appsV1Api = kubeConfig.makeApiClient(k8s.AppsV1Api);
|
|
20
|
+
}
|
|
21
|
+
async getServices(namespace) {
|
|
22
|
+
try {
|
|
23
|
+
return await this.coreV1Api.listNamespacedService({ namespace: namespace });
|
|
24
|
+
}
|
|
25
|
+
catch (err) {
|
|
26
|
+
throw new Error('Got invalid response from Kubernetes API: ' + err);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
async getPods(namespace) {
|
|
30
|
+
try {
|
|
31
|
+
return await this.coreV1Api.listNamespacedPod({ namespace: namespace });
|
|
32
|
+
}
|
|
33
|
+
catch (err) {
|
|
34
|
+
throw new Error('Got invalid response from Kubernetes API: ' + err);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
async getDeployments(namespace) {
|
|
38
|
+
try {
|
|
39
|
+
return await this.appsV1Api.listNamespacedDeployment({ namespace: namespace });
|
|
40
|
+
}
|
|
41
|
+
catch (err) {
|
|
42
|
+
throw new Error('Got invalid response from Kubernetes API: ' + err);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
KubernetesApiService = __decorate([
|
|
47
|
+
Injectable(),
|
|
48
|
+
__metadata("design:paramtypes", [])
|
|
49
|
+
], KubernetesApiService);
|
|
50
|
+
export { KubernetesApiService };
|
|
51
|
+
//# sourceMappingURL=api.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.service.js","sourceRoot":"","sources":["../../../../src/system-element-extractors/kubernetes/api/api.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAU,MAAM,gBAAgB,CAAA;AACnD,OAAO,KAAK,GAAG,MAAM,yBAAyB,CAAA;AAGvC,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IACvB,SAAS,CAAe;IACxB,SAAS,CAAe;IAEhC;QACE,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE,CAAA;QACvC,UAAU,CAAC,eAAe,EAAE,CAAA;QAC5B,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACxD,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IAC1D,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,SAAiB;QACxC,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,EAAC,SAAS,EAAE,SAAS,EAAC,CAAC,CAAA;QAC3E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,4CAA4C,GAAG,GAAG,CAAC,CAAA;QACrE,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,SAAiB;QACpC,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAC,SAAS,EAAE,SAAS,EAAC,CAAC,CAAA;QACvE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,4CAA4C,GAAG,GAAG,CAAC,CAAA;QACrE,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,SAAiB;QAC3C,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,EAAC,SAAS,EAAE,SAAS,EAAC,CAAC,CAAA;QAC9E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,4CAA4C,GAAG,GAAG,CAAC,CAAA;QACrE,CAAC;IACH,CAAC;CAEF,CAAA;AAnCY,oBAAoB;IADhC,UAAU,EAAE;;GACA,oBAAoB,CAmChC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ConfigService } from '../../../config/Config.service';
|
|
2
|
-
import { System } from '../../../model/ms';
|
|
3
|
-
import { KubernetesApiService } from '../api/api.service';
|
|
1
|
+
import { ConfigService } from '../../../config/Config.service.js';
|
|
2
|
+
import { System } from '../../../model/ms.js';
|
|
3
|
+
import { KubernetesApiService } from '../api/api.service.js';
|
|
4
4
|
export declare class EnvDefinitionFromPodDecorator {
|
|
5
5
|
private readonly config;
|
|
6
6
|
private readonly apiService;
|
package/build/system-element-extractors/kubernetes/transformer/EnvDefinitionFromPodDecorator.js
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { Injectable, Logger } from '@nestjs/common';
|
|
11
|
+
import pkg from 'lodash';
|
|
12
|
+
const { has } = pkg;
|
|
13
|
+
import { ConfigService } from '../../../config/Config.service.js';
|
|
14
|
+
import { KubernetesApiService } from '../api/api.service.js';
|
|
15
|
+
const logger = new Logger('add-kubernetes-env-vars');
|
|
16
|
+
let EnvDefinitionFromPodDecorator = class EnvDefinitionFromPodDecorator {
|
|
17
|
+
config;
|
|
18
|
+
apiService;
|
|
19
|
+
constructor(config, apiService) {
|
|
20
|
+
this.config = config;
|
|
21
|
+
this.apiService = apiService;
|
|
22
|
+
}
|
|
23
|
+
async transform(system) {
|
|
24
|
+
await this.addEnvVars(system);
|
|
25
|
+
return system;
|
|
26
|
+
}
|
|
27
|
+
async addEnvVars(system) {
|
|
28
|
+
const namespace = this.config.getKubernetesNamespace();
|
|
29
|
+
const pods = await this.apiService.getPods(namespace);
|
|
30
|
+
for (const pod of pods.items) {
|
|
31
|
+
for (const service of system.getMicroServices()) {
|
|
32
|
+
const serviceName = service.getPayload().name;
|
|
33
|
+
if (has(pod, 'metadata.name')
|
|
34
|
+
&& pod.metadata.name.startsWith(serviceName + '-')
|
|
35
|
+
&& has(pod, 'spec.containers')) {
|
|
36
|
+
logger.log('found pod for ' + pod.metadata.name + ' service ' + serviceName);
|
|
37
|
+
// TODO: make this configurable or more flexible
|
|
38
|
+
let mergedEnvs = [];
|
|
39
|
+
for (const container of pod.spec.containers) {
|
|
40
|
+
if (container.env !== undefined) {
|
|
41
|
+
logger.log('addind env vars from pod');
|
|
42
|
+
mergedEnvs = [...mergedEnvs, ...container.env];
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
service.getPayload().env = mergedEnvs;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
EnvDefinitionFromPodDecorator = __decorate([
|
|
52
|
+
Injectable(),
|
|
53
|
+
__metadata("design:paramtypes", [ConfigService,
|
|
54
|
+
KubernetesApiService])
|
|
55
|
+
], EnvDefinitionFromPodDecorator);
|
|
56
|
+
export { EnvDefinitionFromPodDecorator };
|
|
57
|
+
//# sourceMappingURL=EnvDefinitionFromPodDecorator.js.map
|
package/build/system-element-extractors/kubernetes/transformer/EnvDefinitionFromPodDecorator.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EnvDefinitionFromPodDecorator.js","sourceRoot":"","sources":["../../../../src/system-element-extractors/kubernetes/transformer/EnvDefinitionFromPodDecorator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,GAAG,MAAM,QAAQ,CAAC;AACzB,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;AAGpB,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAA;AAEjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAE5D,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,yBAAyB,CAAC,CAAA;AAG7C,IAAM,6BAA6B,GAAnC,MAAM,6BAA6B;IAGrB;IACA;IAFnB,YACmB,MAAqB,EACrB,UAAgC;QADhC,WAAM,GAAN,MAAM,CAAe;QACrB,eAAU,GAAV,UAAU,CAAsB;IAC/C,CAAC;IAEE,KAAK,CAAC,SAAS,CAAC,MAAc;QACnC,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QAC7B,OAAO,MAAM,CAAA;IACf,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,MAAc;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAA;QACtD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QAErD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC7B,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,gBAAgB,EAAE,EAAE,CAAC;gBAChD,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,CAAA;gBAC7C,IAAI,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC;uBACxB,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,GAAG,CAAC;uBAC/C,GAAG,CAAC,GAAG,EAAE,iBAAiB,CAAC,EAAE,CAAC;oBAEjC,MAAM,CAAC,GAAG,CAAC,gBAAgB,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,WAAW,GAAG,WAAW,CAAC,CAAA;oBAC5E,gDAAgD;oBAChD,IAAI,UAAU,GAAU,EAAE,CAAA;oBAC1B,KAAK,MAAM,SAAS,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;wBAC5C,IAAI,SAAS,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;4BAChC,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;4BACtC,UAAU,GAAG,CAAC,GAAG,UAAU,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,CAAA;wBAChD,CAAC;oBACH,CAAC;oBACD,OAAO,CAAC,UAAU,EAAE,CAAC,GAAG,GAAG,UAAU,CAAA;gBACvC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;CACF,CAAA;AArCY,6BAA6B;IADzC,UAAU,EAAE;qCAIgB,aAAa;QACT,oBAAoB;GAJxC,6BAA6B,CAqCzC"}
|
package/build/system-element-extractors/kubernetes/transformer/EnvDefinitionFromPodDecorator.test.js
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Test } from '@nestjs/testing';
|
|
2
|
+
import { KubernetesApiService } from '../api/api.service.js';
|
|
3
|
+
import { ConfigService } from '../../../config/Config.service.js';
|
|
4
|
+
import { EnvDefinitionFromPodDecorator } from './EnvDefinitionFromPodDecorator.js';
|
|
5
|
+
import testPods from './testdata/api/pods.json' with { type: "json" };
|
|
6
|
+
import { System } from '../../../model/ms.js';
|
|
7
|
+
import { describe, it, beforeAll, expect } from 'vitest';
|
|
8
|
+
describe(EnvDefinitionFromPodDecorator.name, () => {
|
|
9
|
+
let app;
|
|
10
|
+
beforeAll(async () => {
|
|
11
|
+
app = await Test.createTestingModule({
|
|
12
|
+
controllers: [],
|
|
13
|
+
providers: [ConfigService, KubernetesApiService, EnvDefinitionFromPodDecorator]
|
|
14
|
+
}).compile();
|
|
15
|
+
});
|
|
16
|
+
it('transforms', async () => {
|
|
17
|
+
const apiService = app.get(KubernetesApiService);
|
|
18
|
+
apiService.getPods = async () => testPods.body;
|
|
19
|
+
const inputSystem = new System('test');
|
|
20
|
+
inputSystem.addMicroService('test-microservice', { p: 1 });
|
|
21
|
+
const envService = app.get(EnvDefinitionFromPodDecorator);
|
|
22
|
+
const outputSystem = await envService.transform(inputSystem);
|
|
23
|
+
expect(outputSystem).to.not.be.null;
|
|
24
|
+
expect(outputSystem.nodes).to.have.lengthOf(1);
|
|
25
|
+
expect(outputSystem.nodes[0].content.payload.env).to.deep.include({
|
|
26
|
+
name: 'CACHE_SIZE',
|
|
27
|
+
value: '10000'
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
//# sourceMappingURL=EnvDefinitionFromPodDecorator.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EnvDefinitionFromPodDecorator.test.js","sourceRoot":"","sources":["../../../../src/system-element-extractors/kubernetes/transformer/EnvDefinitionFromPodDecorator.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAiB,MAAM,iBAAiB,CAAA;AAErD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAA;AACjE,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAA;AAElF,OAAO,QAAQ,MAAM,0BAA0B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAE7C,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAExD,QAAQ,CAAC,6BAA6B,CAAC,IAAI,EAAE,GAAG,EAAE;IAChD,IAAI,GAAkB,CAAA;IAEtB,SAAS,CAAC,KAAK,IAAG,EAAE;QAClB,GAAG,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC;YACnC,WAAW,EAAE,EAAE;YACf,SAAS,EAAE,CAAC,aAAa,EAAE,oBAAoB,EAAE,6BAA6B,CAAC;SAChF,CAAC,CAAC,OAAO,EAAE,CAAA;IACd,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,YAAY,EAAE,KAAK,IAAG,EAAE;QACzB,MAAM,UAAU,GAAG,GAAG,CAAC,GAAG,CAAuB,oBAAoB,CAAC,CAAA;QACtE,UAAU,CAAC,OAAO,GAAG,KAAK,IAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAA;QAE7C,MAAM,WAAW,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,CAAA;QACtC,WAAW,CAAC,eAAe,CAAC,mBAAmB,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;QAE1D,MAAM,UAAU,GAAG,GAAG,CAAC,GAAG,CAAgC,6BAA6B,CAAC,CAAA;QACxF,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;QAE5D,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAA;QACnC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QAC9C,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;YAChE,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,OAAO;SACf,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ConfigService } from '../../../config/Config.service';
|
|
2
|
-
import { System } from '../../../model/ms';
|
|
3
|
-
import { KubernetesApiService } from '../api/api.service';
|
|
1
|
+
import { ConfigService } from '../../../config/Config.service.js';
|
|
2
|
+
import { System } from '../../../model/ms.js';
|
|
3
|
+
import { KubernetesApiService } from '../api/api.service.js';
|
|
4
4
|
export declare class LabelsFromDeploymentDecorator {
|
|
5
5
|
private readonly config;
|
|
6
6
|
private readonly apiService;
|
package/build/system-element-extractors/kubernetes/transformer/LabelsFromDeploymentDecorator.js
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
var LabelsFromDeploymentDecorator_1;
|
|
11
|
+
import { Injectable, Logger } from '@nestjs/common';
|
|
12
|
+
import pkg from 'lodash';
|
|
13
|
+
const { has } = pkg;
|
|
14
|
+
import { ConfigService } from '../../../config/Config.service.js';
|
|
15
|
+
import { KubernetesApiService } from '../api/api.service.js';
|
|
16
|
+
let LabelsFromDeploymentDecorator = LabelsFromDeploymentDecorator_1 = class LabelsFromDeploymentDecorator {
|
|
17
|
+
config;
|
|
18
|
+
apiService;
|
|
19
|
+
logger = new Logger(LabelsFromDeploymentDecorator_1.name);
|
|
20
|
+
constructor(config, apiService) {
|
|
21
|
+
this.config = config;
|
|
22
|
+
this.apiService = apiService;
|
|
23
|
+
}
|
|
24
|
+
async transform(system) {
|
|
25
|
+
await this.addLabels(system);
|
|
26
|
+
return system;
|
|
27
|
+
}
|
|
28
|
+
async addLabels(system) {
|
|
29
|
+
const namespace = this.config.getKubernetesNamespace();
|
|
30
|
+
const deployments = await this.apiService.getDeployments(namespace);
|
|
31
|
+
for (const deployment of deployments.items) {
|
|
32
|
+
if (has(deployment, 'metadata.labels')) {
|
|
33
|
+
const associatedMicroService = this.findAssociatedMicroService(system, deployment);
|
|
34
|
+
if (associatedMicroService) {
|
|
35
|
+
associatedMicroService.getPayload().labels = deployment.metadata.labels;
|
|
36
|
+
this.logger.log('added labels ' +
|
|
37
|
+
JSON.stringify(associatedMicroService.getPayload().labels) +
|
|
38
|
+
' for service ' + associatedMicroService.getName());
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
findAssociatedMicroService(system, deployment) {
|
|
44
|
+
for (const service of system.getMicroServices()) {
|
|
45
|
+
const serviceName = service.getPayload().name;
|
|
46
|
+
if (has(deployment, 'metadata.name') && deployment.metadata.name === serviceName) {
|
|
47
|
+
return service;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return undefined;
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
LabelsFromDeploymentDecorator = LabelsFromDeploymentDecorator_1 = __decorate([
|
|
54
|
+
Injectable(),
|
|
55
|
+
__metadata("design:paramtypes", [ConfigService,
|
|
56
|
+
KubernetesApiService])
|
|
57
|
+
], LabelsFromDeploymentDecorator);
|
|
58
|
+
export { LabelsFromDeploymentDecorator };
|
|
59
|
+
//# sourceMappingURL=LabelsFromDeploymentDecorator.js.map
|
package/build/system-element-extractors/kubernetes/transformer/LabelsFromDeploymentDecorator.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LabelsFromDeploymentDecorator.js","sourceRoot":"","sources":["../../../../src/system-element-extractors/kubernetes/transformer/LabelsFromDeploymentDecorator.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,GAAG,MAAM,QAAQ,CAAC;AACzB,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;AAEpB,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAA;AAEjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAGrD,IAAM,6BAA6B,qCAAnC,MAAM,6BAA6B;IAIrB;IACA;IAJF,MAAM,GAAG,IAAI,MAAM,CAAC,+BAA6B,CAAC,IAAI,CAAC,CAAA;IAExE,YACmB,MAAqB,EACrB,UAAgC;QADhC,WAAM,GAAN,MAAM,CAAe;QACrB,eAAU,GAAV,UAAU,CAAsB;IAC/C,CAAC;IAEE,KAAK,CAAC,SAAS,CAAC,MAAc;QACnC,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;QAC5B,OAAO,MAAM,CAAA;IACf,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,MAAc;QACpC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAA;QAEtD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;QACnE,KAAK,MAAM,UAAU,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;YAC3C,IAAI,GAAG,CAAC,UAAU,EAAE,iBAAiB,CAAC,EAAE,CAAC;gBACvC,MAAM,sBAAsB,GAAG,IAAI,CAAC,0BAA0B,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;gBAClF,IAAI,sBAAsB,EAAE,CAAC;oBAC3B,sBAAsB,CAAC,UAAU,EAAE,CAAC,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAA;oBACvE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe;wBAC7B,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC;wBAC1D,eAAe,GAAG,sBAAsB,CAAC,OAAO,EAAE,CAAC,CAAA;gBACvD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,0BAA0B,CAAC,MAAc,EAAE,UAAe;QAChE,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAChD,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,CAAA;YAC7C,IAAI,GAAG,CAAC,UAAU,EAAE,eAAe,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACjF,OAAO,OAAO,CAAA;YAChB,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;CACF,CAAA;AAvCY,6BAA6B;IADzC,UAAU,EAAE;qCAKgB,aAAa;QACT,oBAAoB;GALxC,6BAA6B,CAuCzC"}
|
package/build/system-element-extractors/kubernetes/transformer/LabelsFromDeploymentDecorator.test.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Test } from '@nestjs/testing';
|
|
2
|
+
import { KubernetesApiService } from '../api/api.service.js';
|
|
3
|
+
import { ConfigService } from '../../../config/Config.service.js';
|
|
4
|
+
import testDeployments from './testdata/api/deployments.json' with { type: "json" };
|
|
5
|
+
import { System } from '../../../model/ms.js';
|
|
6
|
+
import { LabelsFromDeploymentDecorator } from './LabelsFromDeploymentDecorator.js';
|
|
7
|
+
import { describe, it, beforeAll, expect } from 'vitest';
|
|
8
|
+
describe(LabelsFromDeploymentDecorator.name, () => {
|
|
9
|
+
let app;
|
|
10
|
+
beforeAll(async () => {
|
|
11
|
+
app = await Test.createTestingModule({
|
|
12
|
+
controllers: [],
|
|
13
|
+
providers: [ConfigService, KubernetesApiService, LabelsFromDeploymentDecorator]
|
|
14
|
+
}).compile();
|
|
15
|
+
});
|
|
16
|
+
it('transforms', async () => {
|
|
17
|
+
const apiService = app.get(KubernetesApiService);
|
|
18
|
+
apiService.getDeployments = async () => testDeployments.body;
|
|
19
|
+
const inputSystem = new System('test');
|
|
20
|
+
inputSystem.addMicroService('test-microservice', { p: 1 });
|
|
21
|
+
const addLabels = app.get(LabelsFromDeploymentDecorator);
|
|
22
|
+
const outputSystem = await addLabels.transform(inputSystem);
|
|
23
|
+
expect(outputSystem).to.not.be.null;
|
|
24
|
+
expect(outputSystem.nodes).to.have.lengthOf(1);
|
|
25
|
+
expect(outputSystem.nodes[0].content.payload.labels).to.not.be.undefined;
|
|
26
|
+
expect(outputSystem.nodes[0].content.payload.labels.cabinet).to.equal('test-cabinet');
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
//# sourceMappingURL=LabelsFromDeploymentDecorator.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LabelsFromDeploymentDecorator.test.js","sourceRoot":"","sources":["../../../../src/system-element-extractors/kubernetes/transformer/LabelsFromDeploymentDecorator.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAiB,MAAM,iBAAiB,CAAA;AAErD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAA;AAEjE,OAAO,eAAe,MAAM,iCAAiC,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACnF,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC7C,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAA;AAElF,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAExD,QAAQ,CAAC,6BAA6B,CAAC,IAAI,EAAE,GAAG,EAAE;IAChD,IAAI,GAAkB,CAAA;IAEtB,SAAS,CAAC,KAAK,IAAG,EAAE;QAClB,GAAG,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC;YACnC,WAAW,EAAE,EAAE;YACf,SAAS,EAAE,CAAC,aAAa,EAAE,oBAAoB,EAAE,6BAA6B,CAAC;SAChF,CAAC,CAAC,OAAO,EAAE,CAAA;IACd,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,YAAY,EAAE,KAAK,IAAG,EAAE;QACzB,MAAM,UAAU,GAAG,GAAG,CAAC,GAAG,CAAuB,oBAAoB,CAAC,CAAA;QACtE,UAAU,CAAC,cAAc,GAAG,KAAK,IAAG,EAAE,CAAC,eAAe,CAAC,IAAI,CAAA;QAE3D,MAAM,WAAW,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,CAAA;QACtC,WAAW,CAAC,eAAe,CAAC,mBAAmB,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;QAE1D,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,CAAgC,6BAA6B,CAAC,CAAA;QACvF,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;QAE3D,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAA;QACnC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QAC9C,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAA;QACxE,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;IACvF,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ConfigService } from '../../../config/Config.service';
|
|
2
|
-
import { System } from '../../../model/ms';
|
|
3
|
-
import { KubernetesApiService } from '../api/api.service';
|
|
1
|
+
import { ConfigService } from '../../../config/Config.service.js';
|
|
2
|
+
import { System } from '../../../model/ms.js';
|
|
3
|
+
import { KubernetesApiService } from '../api/api.service.js';
|
|
4
4
|
export declare class MicroservicesFromKubernetesCreator {
|
|
5
5
|
private readonly config;
|
|
6
6
|
private readonly apiService;
|