@grnsft/if 1.0.2 → 1.1.0-beta.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.
Files changed (107) hide show
  1. package/.dockerignore +10 -0
  2. package/CONTAINER.md +148 -0
  3. package/Dockerfile +73 -0
  4. package/HELM_CHART.md +96 -0
  5. package/README.md +56 -0
  6. package/bin/docker-entrypoint.sh +15 -0
  7. package/build/common/types/manifest.d.ts +1 -0
  8. package/build/common/types/manifest.js +1 -1
  9. package/build/common/util/debug-logger.js +4 -18
  10. package/build/common/util/storage.d.ts +9 -0
  11. package/build/common/util/storage.js +24 -0
  12. package/build/if-api/config/config.d.ts +9 -0
  13. package/build/if-api/config/config.js +58 -0
  14. package/build/if-api/config/index.d.ts +2 -0
  15. package/build/if-api/config/index.js +8 -0
  16. package/build/if-api/config/strings.d.ts +16 -0
  17. package/build/if-api/config/strings.js +20 -0
  18. package/build/if-api/index.d.ts +2 -0
  19. package/build/if-api/index.js +268 -0
  20. package/build/if-api/types/process-args.d.ts +18 -0
  21. package/build/if-api/types/process-args.js +3 -0
  22. package/build/if-api/util/args.d.ts +5 -0
  23. package/build/if-api/util/args.js +42 -0
  24. package/build/if-metadata-check/config/config.d.ts +5 -0
  25. package/build/if-metadata-check/config/config.js +26 -0
  26. package/build/if-metadata-check/config/strings.d.ts +5 -0
  27. package/build/if-metadata-check/config/strings.js +9 -0
  28. package/build/if-metadata-check/index.d.ts +2 -0
  29. package/build/if-metadata-check/index.js +30 -0
  30. package/build/if-metadata-check/types/plugin.d.ts +7 -0
  31. package/build/if-metadata-check/types/plugin.js +3 -0
  32. package/build/if-metadata-check/types/process-args.d.ts +5 -0
  33. package/build/if-metadata-check/types/process-args.js +3 -0
  34. package/build/if-metadata-check/util/args.d.ts +57 -0
  35. package/build/if-metadata-check/util/args.js +29 -0
  36. package/build/if-metadata-check/util/metadata-checker.d.ts +44 -0
  37. package/build/if-metadata-check/util/metadata-checker.js +99 -0
  38. package/build/if-run/index.js +1 -1
  39. package/build/if-run/lib/aggregate.d.ts +2 -2
  40. package/build/if-run/lib/aggregate.js +5 -19
  41. package/build/if-run/lib/compute.d.ts +1 -1
  42. package/build/if-run/lib/compute.js +10 -9
  43. package/build/if-run/lib/environment.d.ts +5 -1
  44. package/build/if-run/lib/environment.js +21 -16
  45. package/build/if-run/lib/initialize.d.ts +12 -0
  46. package/build/if-run/lib/initialize.js +37 -3
  47. package/build/if-run/lib/regroup.d.ts +3 -2
  48. package/build/if-run/lib/regroup.js +13 -9
  49. package/build/if-run/types/compute.d.ts +1 -1
  50. package/build/if-run/types/compute.js +1 -1
  51. package/helm-chart/.helmignore +23 -0
  52. package/helm-chart/Chart.yaml +24 -0
  53. package/helm-chart/templates/NOTES.txt +22 -0
  54. package/helm-chart/templates/_helpers.tpl +62 -0
  55. package/helm-chart/templates/additionalPlugins.yaml +13 -0
  56. package/helm-chart/templates/deployment.yaml +144 -0
  57. package/helm-chart/templates/disabledPlugins.yaml +11 -0
  58. package/helm-chart/templates/env-configmap.yaml +10 -0
  59. package/helm-chart/templates/env-secret.yaml +10 -0
  60. package/helm-chart/templates/hpa.yaml +32 -0
  61. package/helm-chart/templates/ingress.yaml +43 -0
  62. package/helm-chart/templates/npmrc.yaml +11 -0
  63. package/helm-chart/templates/service.yaml +24 -0
  64. package/helm-chart/templates/serviceaccount.yaml +13 -0
  65. package/helm-chart/templates/tests/test-connection.yaml +15 -0
  66. package/helm-chart/values.yaml +175 -0
  67. package/manifests/examples/bugs/aggregation-error-wrong-metric.yml +173 -0
  68. package/manifests/examples/bugs/input-error-missing-duration.yml +25 -0
  69. package/manifests/examples/bugs/mock-observations-failure-duration-is-zero.yml +33 -0
  70. package/manifests/examples/bugs/pipeline-error-naming-mismatch.yml +32 -0
  71. package/manifests/examples/bugs/pipeline-error-uninitialized-plugin.yml +33 -0
  72. package/manifests/examples/bugs/pipeline-ordering-error.yml +91 -0
  73. package/manifests/examples/builtins/divide/success-denominator-equal-zero.yml +36 -0
  74. package/manifests/examples/builtins/mock-observations/failure-invalid-config-cpu-range.yml +0 -1
  75. package/manifests/examples/builtins/mock-observations/failure-invalid-memory-utilization-range.yml +0 -1
  76. package/manifests/examples/builtins/mock-observations/failure-missing-timestamp-from-param.yml +0 -1
  77. package/manifests/examples/builtins/mock-observations/success.yml +0 -1
  78. package/manifests/examples/builtins/sci/failure-invalid-config-value.yml +0 -1
  79. package/manifests/examples/builtins/sci/failure-missing-input-param.yml +0 -1
  80. package/manifests/examples/builtins/sci/success.yml +0 -1
  81. package/manifests/examples/builtins/sci-embodied/failure-invalid-default-emission-value.yml +22 -0
  82. package/manifests/examples/builtins/time-sync/failure-missing-config.yml +0 -2
  83. package/manifests/examples/builtins/time-sync/success.yml +0 -2
  84. package/manifests/examples/features/aggregate-failure-invalid-metrics.yml +50 -0
  85. package/manifests/examples/features/aggregate-failure-missing-metric-in-inputs.yml +50 -0
  86. package/manifests/examples/features/aggregate-horizontal.yml +58 -0
  87. package/manifests/examples/features/aggregate-vertical.yml +58 -0
  88. package/manifests/examples/features/aggregate.yml +58 -0
  89. package/manifests/examples/pipelines/cloud-metadata-divide.yml +36 -0
  90. package/manifests/examples/pipelines/pipeline-with-mocks.yml +0 -1
  91. package/manifests/examples/pipelines/scenario-5.yml +0 -1
  92. package/manifests/outputs/bugs/mock-observations-failure-duration-is-zero.yaml +0 -1
  93. package/manifests/outputs/builtins/mock-observations/failure-invalid-config-cpu-range.yaml +0 -1
  94. package/manifests/outputs/builtins/mock-observations/failure-invalid-memory-utilization-range.yaml +0 -1
  95. package/manifests/outputs/builtins/mock-observations/failure-missing-timestamp-from-param.yaml +0 -1
  96. package/manifests/outputs/builtins/sci/failure-invalid-config-value.yaml +0 -1
  97. package/manifests/outputs/builtins/sci/failure-missing-input-param.yaml +0 -1
  98. package/manifests/outputs/builtins/time-sync/failure-missing-config.yaml +0 -2
  99. package/manifests/outputs/features/regroup/success.yaml +72 -0
  100. package/manifests/outputs/pipelines/pipeline-with-aggregate.yaml +1291 -0
  101. package/manifests/outputs/pipelines/scenario-3.yaml +126 -0
  102. package/openapi.yaml +424 -0
  103. package/package.json +8 -3
  104. package/with-plugins/Dockerfile +59 -0
  105. package/manifests/outputs/builtins/interpolation/interpolation.yaml +0 -81
  106. package/manifests/outputs/features/failure-invalid-regroup.yaml +0 -87
  107. package/manifests/outputs/features/failure-missing-cloud-instance-type.yaml +0 -86
@@ -1,81 +0,0 @@
1
- name: interpolation-demo
2
- description: simple demo of interpolation plugin
3
- tags: null
4
- initialize:
5
- plugins:
6
- interpolation:
7
- path: builtin
8
- method: Interpolation
9
- config:
10
- method: linear
11
- x:
12
- - 0
13
- - 10
14
- - 50
15
- - 100
16
- "y":
17
- - 0.12
18
- - 0.32
19
- - 0.75
20
- - 1.02
21
- input-parameter: cpu/utilization
22
- output-parameter: result
23
- execution:
24
- command: >-
25
- /Users/mariamkhalatova/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node
26
- /Users/mariamkhalatova/Projects/UK/if/src/index.ts -m
27
- manifests/outputs/plugins/interpolation/interpolation.yml -o
28
- manifests/outputs/plugins/interpolation/interpolation
29
- environment:
30
- if-version: 0.4.0
31
- os: macOS
32
- os-version: "13.2"
33
- node-version: 18.14.2
34
- date-time: 2024-07-02T19:14:18.033Z (UTC)
35
- dependencies:
36
- - "@babel/core@7.22.10"
37
- - "@babel/preset-typescript@7.23.3"
38
- - "@commitlint/cli@18.6.0"
39
- - "@commitlint/config-conventional@18.6.0"
40
- - "@grnsft/if-core@0.0.10"
41
- - "@jest/globals@29.7.0"
42
- - "@types/jest@29.5.8"
43
- - "@types/js-yaml@4.0.9"
44
- - "@types/luxon@3.4.2"
45
- - "@types/node@20.9.0"
46
- - axios-mock-adapter@1.22.0
47
- - axios@1.7.2
48
- - cross-env@7.0.3
49
- - csv-parse@5.5.6
50
- - csv-stringify@6.4.6
51
- - fixpack@4.0.0
52
- - gts@5.2.0
53
- - husky@8.0.3
54
- - jest@29.7.0
55
- - js-yaml@4.1.0
56
- - lint-staged@15.2.2
57
- - luxon@3.4.4
58
- - release-it@16.3.0
59
- - rimraf@5.0.5
60
- - ts-command-line-args@2.5.1
61
- - ts-jest@29.1.1
62
- - typescript-cubic-spline@1.0.1
63
- - typescript@5.2.2
64
- - winston@3.11.0
65
- - zod@3.22.4
66
- status: success
67
- tree:
68
- children:
69
- child:
70
- pipeline:
71
- compute:
72
- - interpolation
73
- inputs:
74
- - timestamp: 2023-07-06T00:00
75
- duration: 3600
76
- cpu/utilization: 45
77
- outputs:
78
- - timestamp: 2023-07-06T00:00
79
- duration: 3600
80
- cpu/utilization: 45
81
- result: 0.69625
@@ -1,87 +0,0 @@
1
- name: regroup
2
- description: failure when `regroup` is not an array
3
- initialize:
4
- plugins: {}
5
- execution:
6
- status: fail
7
- command: >-
8
- /Users/manushak/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node
9
- /Users/manushak/Documents/Projects/Green-Software/if/src/if-run/index.ts -m
10
- manifests/examples/features/regroup/failure-invalid-regroup.yml -o
11
- manifests/outputs/features/failure-invalid-regroup.yaml
12
- environment:
13
- if-version: 0.5.0
14
- os: macOS
15
- os-version: 13.6.7
16
- node-version: 18.20.0
17
- date-time: 2024-08-05T14:53:00.560Z (UTC)
18
- dependencies:
19
- - '@babel/core@7.22.10'
20
- - '@babel/preset-typescript@7.23.3'
21
- - '@commitlint/cli@18.6.0'
22
- - '@commitlint/config-conventional@18.6.0'
23
- - '@grnsft/if-core@0.0.16'
24
- - '@jest/globals@29.7.0'
25
- - '@types/jest@29.5.8'
26
- - '@types/js-yaml@4.0.9'
27
- - '@types/luxon@3.4.2'
28
- - '@types/node@20.9.0'
29
- - axios-mock-adapter@1.22.0
30
- - axios@1.7.2
31
- - cross-env@7.0.3
32
- - csv-parse@5.5.6
33
- - csv-stringify@6.4.6
34
- - fixpack@4.0.0
35
- - gts@5.2.0
36
- - husky@8.0.3
37
- - if-eco-ci-plugin@v0.0.1 extraneous -> file:../../if-eco-ci-plugin
38
- - jest@29.7.0
39
- - js-yaml@4.1.0
40
- - lint-staged@15.2.2
41
- - luxon@3.4.4
42
- - release-it@16.3.0
43
- - rimraf@5.0.5
44
- - ts-command-line-args@2.5.1
45
- - ts-jest@29.1.1
46
- - typescript-cubic-spline@1.0.1
47
- - typescript@5.2.2
48
- - winston@3.11.0
49
- - zod@3.23.8
50
- error: >-
51
- InputValidationError: "regroup" parameter is not an array or should contain at least one key. Error code: invalid_type.
52
- tree:
53
- children:
54
- my-app:
55
- pipeline:
56
- regroup: cloud/region
57
- inputs:
58
- - timestamp: 2023-07-06T00:00
59
- duration: 300
60
- cloud/instance-type: A1
61
- cloud/region: uk-west
62
- cpu/utilization: 99
63
- - timestamp: 2023-07-06T05:00
64
- duration: 300
65
- cloud/instance-type: A1
66
- cloud/region: uk-west
67
- cpu/utilization: 23
68
- - timestamp: 2023-07-06T10:00
69
- duration: 300
70
- cloud/instance-type: A1
71
- cloud/region: uk-west
72
- cpu/utilization: 12
73
- - timestamp: 2023-07-06T00:00
74
- duration: 300
75
- cloud/instance-type: B1
76
- cloud/region: uk-west
77
- cpu/utilization: 11
78
- - timestamp: 2023-07-06T05:00
79
- duration: 300
80
- cloud/instance-type: B1
81
- cloud/region: uk-west
82
- cpu/utilization: 67
83
- - timestamp: 2023-07-06T10:00
84
- duration: 300
85
- cloud/instance-type: B1
86
- cloud/region: uk-west
87
- cpu/utilization: 1
@@ -1,86 +0,0 @@
1
- name: groupby
2
- description: null
3
- initialize:
4
- plugins: {}
5
- execution:
6
- status: fail
7
- command: >-
8
- /Users/mariamkhalatova/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node
9
- /Users/mariamkhalatova/Projects/UK/if/src/index.ts -m
10
- manifests/outputs/plugins/groupby/failure-missing-cloud-instance-type.yml -o
11
- manifests/outputs/plugins/groupby/failure-missing-cloud-instance-type
12
- environment:
13
- if-version: 0.4.0
14
- os: macOS
15
- os-version: "13.2"
16
- node-version: 18.14.2
17
- date-time: 2024-07-02T19:10:00.820Z (UTC)
18
- dependencies:
19
- - "@babel/core@7.22.10"
20
- - "@babel/preset-typescript@7.23.3"
21
- - "@commitlint/cli@18.6.0"
22
- - "@commitlint/config-conventional@18.6.0"
23
- - "@grnsft/if-core@0.0.10"
24
- - "@jest/globals@29.7.0"
25
- - "@types/jest@29.5.8"
26
- - "@types/js-yaml@4.0.9"
27
- - "@types/luxon@3.4.2"
28
- - "@types/node@20.9.0"
29
- - axios-mock-adapter@1.22.0
30
- - axios@1.7.2
31
- - cross-env@7.0.3
32
- - csv-parse@5.5.6
33
- - csv-stringify@6.4.6
34
- - fixpack@4.0.0
35
- - gts@5.2.0
36
- - husky@8.0.3
37
- - jest@29.7.0
38
- - js-yaml@4.1.0
39
- - lint-staged@15.2.2
40
- - luxon@3.4.4
41
- - release-it@16.3.0
42
- - rimraf@5.0.5
43
- - ts-command-line-args@2.5.1
44
- - ts-jest@29.1.1
45
- - typescript-cubic-spline@1.0.1
46
- - typescript@5.2.2
47
- - winston@3.11.0
48
- - zod@3.22.4
49
- error: "InvalidGroupingError: Invalid group cloud/instance-type."
50
- tree:
51
- children:
52
- my-app:
53
- pipeline:
54
- regroup:
55
- - cloud/region
56
- - cloud/instance-type
57
- inputs:
58
- - timestamp: 2023-07-06T00:00
59
- duration: 300
60
- cloud/instance-type: A1
61
- cloud/region: uk-west
62
- cpu/utilization: 99
63
- - timestamp: 2023-07-06T05:00
64
- duration: 300
65
- cloud/instance-type: A1
66
- cloud/region: uk-west
67
- cpu/utilization: 23
68
- - timestamp: 2023-07-06T10:00
69
- duration: 300
70
- cloud/instance-type: A1
71
- cloud/region: uk-west
72
- cpu/utilization: 12
73
- - timestamp: 2023-07-06T00:00
74
- duration: 300
75
- cloud/instance-type: B1
76
- cloud/region: uk-west
77
- cpu/utilization: 11
78
- - timestamp: 2023-07-06T05:00
79
- duration: 300
80
- cloud/instance-type: B1
81
- cloud/region: uk-west
82
- cpu/utilization: 67
83
- - timestamp: 2023-07-06T10:00
84
- duration: 300
85
- cloud/region: uk-west
86
- cpu/utilization: 1