@grnsft/if 1.0.1 → 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 (319) 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/helpers.d.ts +3 -2
  11. package/build/common/util/helpers.js +6 -18
  12. package/build/common/util/storage.d.ts +9 -0
  13. package/build/common/util/storage.js +24 -0
  14. package/build/if-api/config/config.d.ts +9 -0
  15. package/build/if-api/config/config.js +58 -0
  16. package/build/if-api/config/index.d.ts +2 -0
  17. package/build/if-api/config/index.js +8 -0
  18. package/build/if-api/config/strings.d.ts +16 -0
  19. package/build/if-api/config/strings.js +20 -0
  20. package/build/if-api/index.d.ts +2 -0
  21. package/build/if-api/index.js +268 -0
  22. package/build/if-api/types/process-args.d.ts +18 -0
  23. package/build/if-api/types/process-args.js +3 -0
  24. package/build/if-api/util/args.d.ts +5 -0
  25. package/build/if-api/util/args.js +42 -0
  26. package/build/if-check/index.js +1 -11
  27. package/build/if-check/util/npm.d.ts +1 -1
  28. package/build/if-check/util/npm.js +31 -74
  29. package/build/if-metadata-check/config/config.d.ts +5 -0
  30. package/build/if-metadata-check/config/config.js +26 -0
  31. package/build/if-metadata-check/config/strings.d.ts +5 -0
  32. package/build/if-metadata-check/config/strings.js +9 -0
  33. package/build/if-metadata-check/index.d.ts +2 -0
  34. package/build/if-metadata-check/index.js +30 -0
  35. package/build/if-metadata-check/types/plugin.d.ts +7 -0
  36. package/build/if-metadata-check/types/plugin.js +3 -0
  37. package/build/if-metadata-check/types/process-args.d.ts +5 -0
  38. package/build/if-metadata-check/types/process-args.js +3 -0
  39. package/build/if-metadata-check/util/args.d.ts +57 -0
  40. package/build/if-metadata-check/util/args.js +29 -0
  41. package/build/if-metadata-check/util/metadata-checker.d.ts +44 -0
  42. package/build/if-metadata-check/util/metadata-checker.js +99 -0
  43. package/build/if-run/builtins/divide/index.js +2 -2
  44. package/build/if-run/builtins/sci/index.js +2 -2
  45. package/build/if-run/config/strings.js +3 -3
  46. package/build/if-run/index.js +1 -1
  47. package/build/if-run/lib/aggregate.d.ts +2 -2
  48. package/build/if-run/lib/aggregate.js +5 -19
  49. package/build/if-run/lib/compute.d.ts +1 -1
  50. package/build/if-run/lib/compute.js +10 -9
  51. package/build/if-run/lib/environment.d.ts +5 -1
  52. package/build/if-run/lib/environment.js +30 -29
  53. package/build/if-run/lib/initialize.d.ts +12 -0
  54. package/build/if-run/lib/initialize.js +37 -3
  55. package/build/if-run/lib/regroup.d.ts +3 -2
  56. package/build/if-run/lib/regroup.js +13 -9
  57. package/build/if-run/types/compute.d.ts +1 -1
  58. package/build/if-run/types/compute.js +1 -1
  59. package/build/if-run/util/os-checker.js +14 -10
  60. package/helm-chart/.helmignore +23 -0
  61. package/helm-chart/Chart.yaml +24 -0
  62. package/helm-chart/templates/NOTES.txt +22 -0
  63. package/helm-chart/templates/_helpers.tpl +62 -0
  64. package/helm-chart/templates/additionalPlugins.yaml +13 -0
  65. package/helm-chart/templates/deployment.yaml +144 -0
  66. package/helm-chart/templates/disabledPlugins.yaml +11 -0
  67. package/helm-chart/templates/env-configmap.yaml +10 -0
  68. package/helm-chart/templates/env-secret.yaml +10 -0
  69. package/helm-chart/templates/hpa.yaml +32 -0
  70. package/helm-chart/templates/ingress.yaml +43 -0
  71. package/helm-chart/templates/npmrc.yaml +11 -0
  72. package/helm-chart/templates/service.yaml +24 -0
  73. package/helm-chart/templates/serviceaccount.yaml +13 -0
  74. package/helm-chart/templates/tests/test-connection.yaml +15 -0
  75. package/helm-chart/values.yaml +175 -0
  76. package/jest.config.js +6 -2
  77. package/manifests/examples/bugs/aggregation-error-wrong-metric.yml +173 -0
  78. package/manifests/examples/bugs/input-error-missing-duration.yml +25 -0
  79. package/manifests/examples/bugs/mock-observations-failure-duration-is-zero.yml +33 -0
  80. package/manifests/examples/bugs/pipeline-error-naming-mismatch.yml +32 -0
  81. package/manifests/examples/bugs/pipeline-error-uninitialized-plugin.yml +33 -0
  82. package/manifests/examples/bugs/pipeline-ordering-error.yml +91 -0
  83. package/manifests/examples/builtins/divide/success-denominator-equal-zero.yml +36 -0
  84. package/manifests/examples/builtins/mock-observations/failure-invalid-config-cpu-range.yml +0 -1
  85. package/manifests/examples/builtins/mock-observations/failure-invalid-memory-utilization-range.yml +0 -1
  86. package/manifests/examples/builtins/mock-observations/failure-missing-timestamp-from-param.yml +0 -1
  87. package/manifests/examples/builtins/mock-observations/success.yml +0 -1
  88. package/manifests/examples/builtins/sci/failure-invalid-config-value.yml +0 -1
  89. package/manifests/examples/builtins/sci/failure-missing-input-param.yml +0 -1
  90. package/manifests/examples/builtins/sci/success.yml +0 -1
  91. package/manifests/examples/builtins/sci-embodied/failure-invalid-default-emission-value.yml +22 -0
  92. package/manifests/examples/builtins/time-sync/failure-missing-config.yml +0 -2
  93. package/manifests/examples/builtins/time-sync/success.yml +0 -2
  94. package/manifests/examples/features/aggregate-failure-invalid-metrics.yml +50 -0
  95. package/manifests/examples/features/aggregate-failure-missing-metric-in-inputs.yml +50 -0
  96. package/manifests/examples/features/aggregate-horizontal.yml +58 -0
  97. package/manifests/examples/features/aggregate-vertical.yml +58 -0
  98. package/manifests/examples/features/aggregate.yml +58 -0
  99. package/manifests/examples/pipelines/cloud-metadata-divide.yml +36 -0
  100. package/manifests/examples/pipelines/pipeline-with-mocks.yml +0 -1
  101. package/manifests/examples/pipelines/scenario-5.yml +0 -1
  102. package/manifests/outputs/bugs/mock-observations-failure-duration-is-zero.yaml +0 -1
  103. package/manifests/outputs/builtins/mock-observations/failure-invalid-config-cpu-range.yaml +0 -1
  104. package/manifests/outputs/builtins/mock-observations/failure-invalid-memory-utilization-range.yaml +0 -1
  105. package/manifests/outputs/builtins/mock-observations/failure-missing-timestamp-from-param.yaml +0 -1
  106. package/manifests/outputs/builtins/sci/failure-invalid-config-value.yaml +0 -1
  107. package/manifests/outputs/builtins/sci/failure-missing-input-param.yaml +0 -1
  108. package/manifests/outputs/builtins/time-sync/failure-missing-config.yaml +0 -2
  109. package/manifests/outputs/features/regroup/success.yaml +72 -0
  110. package/manifests/outputs/pipelines/pipeline-with-aggregate.yaml +1291 -0
  111. package/manifests/outputs/pipelines/scenario-3.yaml +126 -0
  112. package/openapi.yaml +424 -0
  113. package/package.json +17 -12
  114. package/with-plugins/Dockerfile +59 -0
  115. package/.env +0 -5
  116. package/coverage/clover.xml +0 -2062
  117. package/coverage/coverage-final.json +0 -58
  118. package/coverage/lcov-report/base.css +0 -224
  119. package/coverage/lcov-report/block-navigation.js +0 -87
  120. package/coverage/lcov-report/builtins/coefficient/index.html +0 -116
  121. package/coverage/lcov-report/builtins/coefficient/index.ts.html +0 -298
  122. package/coverage/lcov-report/builtins/csv-lookup/index.html +0 -116
  123. package/coverage/lcov-report/builtins/csv-lookup/index.ts.html +0 -826
  124. package/coverage/lcov-report/builtins/divide/index.html +0 -116
  125. package/coverage/lcov-report/builtins/divide/index.ts.html +0 -358
  126. package/coverage/lcov-report/builtins/exponent/index.html +0 -116
  127. package/coverage/lcov-report/builtins/exponent/index.ts.html +0 -361
  128. package/coverage/lcov-report/builtins/export-csv-raw.ts.html +0 -553
  129. package/coverage/lcov-report/builtins/export-csv.ts.html +0 -436
  130. package/coverage/lcov-report/builtins/export-log.ts.html +0 -148
  131. package/coverage/lcov-report/builtins/export-yaml.ts.html +0 -193
  132. package/coverage/lcov-report/builtins/group-by.ts.html +0 -370
  133. package/coverage/lcov-report/builtins/index.html +0 -206
  134. package/coverage/lcov-report/builtins/index.ts.html +0 -130
  135. package/coverage/lcov-report/builtins/interpolation/index.html +0 -116
  136. package/coverage/lcov-report/builtins/interpolation/index.ts.html +0 -676
  137. package/coverage/lcov-report/builtins/interpolation/types.ts.html +0 -100
  138. package/coverage/lcov-report/builtins/mock-observations/helpers/common-generator.ts.html +0 -184
  139. package/coverage/lcov-report/builtins/mock-observations/helpers/index.html +0 -131
  140. package/coverage/lcov-report/builtins/mock-observations/helpers/rand-int-generator.ts.html +0 -289
  141. package/coverage/lcov-report/builtins/mock-observations/index.html +0 -116
  142. package/coverage/lcov-report/builtins/mock-observations/index.ts.html +0 -619
  143. package/coverage/lcov-report/builtins/multiply/index.html +0 -116
  144. package/coverage/lcov-report/builtins/multiply/index.ts.html +0 -343
  145. package/coverage/lcov-report/builtins/regex/index.html +0 -116
  146. package/coverage/lcov-report/builtins/regex/index.ts.html +0 -373
  147. package/coverage/lcov-report/builtins/sci/config.ts.html +0 -205
  148. package/coverage/lcov-report/builtins/sci/index.html +0 -116
  149. package/coverage/lcov-report/builtins/sci/index.ts.html +0 -325
  150. package/coverage/lcov-report/builtins/sci-embodied/index.html +0 -116
  151. package/coverage/lcov-report/builtins/sci-embodied/index.ts.html +0 -478
  152. package/coverage/lcov-report/builtins/shell/index.html +0 -116
  153. package/coverage/lcov-report/builtins/shell/index.ts.html +0 -280
  154. package/coverage/lcov-report/builtins/subtract/index.html +0 -116
  155. package/coverage/lcov-report/builtins/subtract/index.ts.html +0 -379
  156. package/coverage/lcov-report/builtins/sum/index.html +0 -116
  157. package/coverage/lcov-report/builtins/sum/index.ts.html +0 -334
  158. package/coverage/lcov-report/builtins/time-sync.ts.html +0 -1462
  159. package/coverage/lcov-report/common/config/index.html +0 -131
  160. package/coverage/lcov-report/common/config/index.ts.html +0 -88
  161. package/coverage/lcov-report/common/config/strings.ts.html +0 -121
  162. package/coverage/lcov-report/common/lib/index.html +0 -116
  163. package/coverage/lcov-report/common/lib/load.ts.html +0 -139
  164. package/coverage/lcov-report/common/util/debug-logger.ts.html +0 -514
  165. package/coverage/lcov-report/common/util/fs.ts.html +0 -289
  166. package/coverage/lcov-report/common/util/helpers.ts.html +0 -355
  167. package/coverage/lcov-report/common/util/index.html +0 -191
  168. package/coverage/lcov-report/common/util/logger.ts.html +0 -151
  169. package/coverage/lcov-report/common/util/validations.ts.html +0 -628
  170. package/coverage/lcov-report/common/util/yaml.ts.html +0 -226
  171. package/coverage/lcov-report/config/config.ts.html +0 -463
  172. package/coverage/lcov-report/config/index.html +0 -161
  173. package/coverage/lcov-report/config/index.ts.html +0 -94
  174. package/coverage/lcov-report/config/params.ts.html +0 -697
  175. package/coverage/lcov-report/config/strings.ts.html +0 -490
  176. package/coverage/lcov-report/favicon.png +0 -0
  177. package/coverage/lcov-report/if-check/config/config.ts.html +0 -184
  178. package/coverage/lcov-report/if-check/config/index.html +0 -146
  179. package/coverage/lcov-report/if-check/config/index.ts.html +0 -91
  180. package/coverage/lcov-report/if-check/config/strings.ts.html +0 -142
  181. package/coverage/lcov-report/if-check/util/args.ts.html +0 -310
  182. package/coverage/lcov-report/if-check/util/helpers.ts.html +0 -136
  183. package/coverage/lcov-report/if-check/util/index.html +0 -146
  184. package/coverage/lcov-report/if-check/util/npm.ts.html +0 -376
  185. package/coverage/lcov-report/if-csv/util/args.ts.html +0 -256
  186. package/coverage/lcov-report/if-csv/util/helpers.ts.html +0 -346
  187. package/coverage/lcov-report/if-csv/util/index.html +0 -131
  188. package/coverage/lcov-report/if-diff/config/config.ts.html +0 -184
  189. package/coverage/lcov-report/if-diff/config/index.html +0 -146
  190. package/coverage/lcov-report/if-diff/config/index.ts.html +0 -91
  191. package/coverage/lcov-report/if-diff/config/strings.ts.html +0 -100
  192. package/coverage/lcov-report/if-diff/lib/compare.ts.html +0 -286
  193. package/coverage/lcov-report/if-diff/lib/index.html +0 -131
  194. package/coverage/lcov-report/if-diff/lib/load.ts.html +0 -199
  195. package/coverage/lcov-report/if-diff/util/args.ts.html +0 -274
  196. package/coverage/lcov-report/if-diff/util/helpers.ts.html +0 -337
  197. package/coverage/lcov-report/if-diff/util/index.html +0 -131
  198. package/coverage/lcov-report/if-env/config/config.ts.html +0 -211
  199. package/coverage/lcov-report/if-env/config/index.html +0 -146
  200. package/coverage/lcov-report/if-env/config/index.ts.html +0 -91
  201. package/coverage/lcov-report/if-env/config/strings.ts.html +0 -109
  202. package/coverage/lcov-report/if-env/util/args.ts.html +0 -256
  203. package/coverage/lcov-report/if-env/util/index.html +0 -131
  204. package/coverage/lcov-report/if-env/util/npm.ts.html +0 -526
  205. package/coverage/lcov-report/if-merge/util/args.ts.html +0 -301
  206. package/coverage/lcov-report/if-merge/util/helpers.ts.html +0 -313
  207. package/coverage/lcov-report/if-merge/util/index.html +0 -131
  208. package/coverage/lcov-report/if-run/builtins/coefficient/index.html +0 -116
  209. package/coverage/lcov-report/if-run/builtins/coefficient/index.ts.html +0 -286
  210. package/coverage/lcov-report/if-run/builtins/copy-param/index.html +0 -116
  211. package/coverage/lcov-report/if-run/builtins/copy-param/index.ts.html +0 -301
  212. package/coverage/lcov-report/if-run/builtins/csv-import/index.html +0 -116
  213. package/coverage/lcov-report/if-run/builtins/csv-import/index.ts.html +0 -364
  214. package/coverage/lcov-report/if-run/builtins/csv-lookup/index.html +0 -116
  215. package/coverage/lcov-report/if-run/builtins/csv-lookup/index.ts.html +0 -478
  216. package/coverage/lcov-report/if-run/builtins/divide/index.html +0 -116
  217. package/coverage/lcov-report/if-run/builtins/divide/index.ts.html +0 -346
  218. package/coverage/lcov-report/if-run/builtins/exponent/index.html +0 -116
  219. package/coverage/lcov-report/if-run/builtins/exponent/index.ts.html +0 -319
  220. package/coverage/lcov-report/if-run/builtins/export-csv-raw.ts.html +0 -553
  221. package/coverage/lcov-report/if-run/builtins/export-csv.ts.html +0 -436
  222. package/coverage/lcov-report/if-run/builtins/export-log.ts.html +0 -148
  223. package/coverage/lcov-report/if-run/builtins/export-yaml.ts.html +0 -193
  224. package/coverage/lcov-report/if-run/builtins/group-by.ts.html +0 -370
  225. package/coverage/lcov-report/if-run/builtins/index.html +0 -146
  226. package/coverage/lcov-report/if-run/builtins/index.ts.html +0 -136
  227. package/coverage/lcov-report/if-run/builtins/interpolation/index.html +0 -116
  228. package/coverage/lcov-report/if-run/builtins/interpolation/index.ts.html +0 -643
  229. package/coverage/lcov-report/if-run/builtins/mock-observations/helpers/common-generator.ts.html +0 -184
  230. package/coverage/lcov-report/if-run/builtins/mock-observations/helpers/index.html +0 -131
  231. package/coverage/lcov-report/if-run/builtins/mock-observations/helpers/rand-int-generator.ts.html +0 -289
  232. package/coverage/lcov-report/if-run/builtins/mock-observations/index.html +0 -116
  233. package/coverage/lcov-report/if-run/builtins/mock-observations/index.ts.html +0 -607
  234. package/coverage/lcov-report/if-run/builtins/multiply/index.html +0 -116
  235. package/coverage/lcov-report/if-run/builtins/multiply/index.ts.html +0 -289
  236. package/coverage/lcov-report/if-run/builtins/regex/index.html +0 -116
  237. package/coverage/lcov-report/if-run/builtins/regex/index.ts.html +0 -298
  238. package/coverage/lcov-report/if-run/builtins/sci/index.html +0 -116
  239. package/coverage/lcov-report/if-run/builtins/sci/index.ts.html +0 -418
  240. package/coverage/lcov-report/if-run/builtins/sci-embodied/index.html +0 -116
  241. package/coverage/lcov-report/if-run/builtins/sci-embodied/index.ts.html +0 -664
  242. package/coverage/lcov-report/if-run/builtins/shell/index.html +0 -116
  243. package/coverage/lcov-report/if-run/builtins/shell/index.ts.html +0 -256
  244. package/coverage/lcov-report/if-run/builtins/subtract/index.html +0 -116
  245. package/coverage/lcov-report/if-run/builtins/subtract/index.ts.html +0 -298
  246. package/coverage/lcov-report/if-run/builtins/sum/index.html +0 -116
  247. package/coverage/lcov-report/if-run/builtins/sum/index.ts.html +0 -238
  248. package/coverage/lcov-report/if-run/builtins/time-converter/config.ts.html +0 -205
  249. package/coverage/lcov-report/if-run/builtins/time-converter/index.html +0 -131
  250. package/coverage/lcov-report/if-run/builtins/time-converter/index.ts.html +0 -328
  251. package/coverage/lcov-report/if-run/builtins/time-sync/index.html +0 -116
  252. package/coverage/lcov-report/if-run/builtins/time-sync/index.ts.html +0 -1804
  253. package/coverage/lcov-report/if-run/builtins/time-sync.ts.html +0 -1462
  254. package/coverage/lcov-report/if-run/builtins/util/csv-helpers.ts.html +0 -376
  255. package/coverage/lcov-report/if-run/builtins/util/index.html +0 -116
  256. package/coverage/lcov-report/if-run/config/config.ts.html +0 -271
  257. package/coverage/lcov-report/if-run/config/index.html +0 -161
  258. package/coverage/lcov-report/if-run/config/index.ts.html +0 -94
  259. package/coverage/lcov-report/if-run/config/params.ts.html +0 -679
  260. package/coverage/lcov-report/if-run/config/strings.ts.html +0 -460
  261. package/coverage/lcov-report/if-run/lib/aggregate.ts.html +0 -577
  262. package/coverage/lcov-report/if-run/lib/compute.ts.html +0 -733
  263. package/coverage/lcov-report/if-run/lib/environment.ts.html +0 -373
  264. package/coverage/lcov-report/if-run/lib/exhaust.ts.html +0 -193
  265. package/coverage/lcov-report/if-run/lib/explain.ts.html +0 -484
  266. package/coverage/lcov-report/if-run/lib/index.html +0 -206
  267. package/coverage/lcov-report/if-run/lib/initialize.ts.html +0 -490
  268. package/coverage/lcov-report/if-run/lib/parameterize.ts.html +0 -322
  269. package/coverage/lcov-report/if-run/lib/regroup.ts.html +0 -349
  270. package/coverage/lcov-report/if-run/lib/time-sync.ts.html +0 -1510
  271. package/coverage/lcov-report/if-run/types/aggregation.ts.html +0 -94
  272. package/coverage/lcov-report/if-run/types/index.html +0 -146
  273. package/coverage/lcov-report/if-run/types/interface.ts.html +0 -112
  274. package/coverage/lcov-report/if-run/types/parameters.ts.html +0 -106
  275. package/coverage/lcov-report/if-run/util/aggregation-helper.ts.html +0 -277
  276. package/coverage/lcov-report/if-run/util/args.ts.html +0 -325
  277. package/coverage/lcov-report/if-run/util/helpers.ts.html +0 -208
  278. package/coverage/lcov-report/if-run/util/index.html +0 -191
  279. package/coverage/lcov-report/if-run/util/json.ts.html +0 -115
  280. package/coverage/lcov-report/if-run/util/log-memoize.ts.html +0 -145
  281. package/coverage/lcov-report/if-run/util/os-checker.ts.html +0 -421
  282. package/coverage/lcov-report/if-run/util/plugin-storage.ts.html +0 -202
  283. package/coverage/lcov-report/index.html +0 -551
  284. package/coverage/lcov-report/lib/aggregate.ts.html +0 -358
  285. package/coverage/lcov-report/lib/compare.ts.html +0 -286
  286. package/coverage/lcov-report/lib/compute.ts.html +0 -436
  287. package/coverage/lcov-report/lib/environment.ts.html +0 -376
  288. package/coverage/lcov-report/lib/exhaust.ts.html +0 -289
  289. package/coverage/lcov-report/lib/index.html +0 -221
  290. package/coverage/lcov-report/lib/initialize.ts.html +0 -430
  291. package/coverage/lcov-report/lib/load.ts.html +0 -268
  292. package/coverage/lcov-report/lib/parameterize.ts.html +0 -316
  293. package/coverage/lcov-report/prettify.css +0 -1
  294. package/coverage/lcov-report/prettify.js +0 -2
  295. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  296. package/coverage/lcov-report/sorter.js +0 -196
  297. package/coverage/lcov-report/types/aggregation.ts.html +0 -94
  298. package/coverage/lcov-report/types/index.html +0 -146
  299. package/coverage/lcov-report/types/interface.ts.html +0 -112
  300. package/coverage/lcov-report/types/parameters.ts.html +0 -106
  301. package/coverage/lcov-report/util/aggregation-helper.ts.html +0 -289
  302. package/coverage/lcov-report/util/args.ts.html +0 -649
  303. package/coverage/lcov-report/util/debug-logger.ts.html +0 -481
  304. package/coverage/lcov-report/util/errors.ts.html +0 -232
  305. package/coverage/lcov-report/util/fs.ts.html +0 -124
  306. package/coverage/lcov-report/util/helpers.ts.html +0 -895
  307. package/coverage/lcov-report/util/index.html +0 -296
  308. package/coverage/lcov-report/util/json.ts.html +0 -115
  309. package/coverage/lcov-report/util/log-memoize.ts.html +0 -145
  310. package/coverage/lcov-report/util/logger.ts.html +0 -151
  311. package/coverage/lcov-report/util/npm.ts.html +0 -499
  312. package/coverage/lcov-report/util/os-checker.ts.html +0 -421
  313. package/coverage/lcov-report/util/plugin-storage.ts.html +0 -202
  314. package/coverage/lcov-report/util/validations.ts.html +0 -544
  315. package/coverage/lcov-report/util/yaml.ts.html +0 -193
  316. package/coverage/lcov.info +0 -3548
  317. package/manifests/outputs/builtins/interpolation/interpolation.yaml +0 -81
  318. package/manifests/outputs/features/failure-invalid-regroup.yaml +0 -87
  319. package/manifests/outputs/features/failure-missing-cloud-instance-type.yaml +0 -86
@@ -0,0 +1,91 @@
1
+ name: pipeline-ordering-error
2
+ description: a negative test case that fails because sci-o is invoked too early in the pipeline (before its inputs are generated)
3
+ tags:
4
+ initialize:
5
+ plugins:
6
+ "interpolate":
7
+ method: Interpolation
8
+ path: 'builtin'
9
+ config:
10
+ method: linear
11
+ x: [0, 10, 50, 100]
12
+ y: [0.12, 0.32, 0.75, 1.02]
13
+ input-parameter: 'cpu/utilization'
14
+ output-parameter: 'cpu-factor'
15
+ "cpu-factor-to-wattage":
16
+ method: Multiply
17
+ path: builtin
18
+ config:
19
+ input-parameters: ["cpu-factor", "cpu/thermal-design-power"]
20
+ output-parameter: "cpu-wattage"
21
+ "wattage-times-duration":
22
+ method: Multiply
23
+ path: builtin
24
+ config:
25
+ input-parameters: ["cpu-wattage", "duration"]
26
+ output-parameter: "cpu-wattage-times-duration"
27
+ "wattage-to-energy-kwh":
28
+ method: Divide
29
+ path: "builtin"
30
+ config:
31
+ numerator: cpu-wattage-times-duration
32
+ denominator: 3600000
33
+ output: cpu-energy-raw
34
+ "calculate-vcpu-ratio":
35
+ method: Divide
36
+ path: "builtin"
37
+ config:
38
+ numerator: vcpus-total
39
+ denominator: vcpus-allocated
40
+ output: vcpu-ratio
41
+ "correct-cpu-energy-for-vcpu-ratio":
42
+ method: Divide
43
+ path: "builtin"
44
+ config:
45
+ numerator: cpu-energy-raw
46
+ denominator: vcpu-ratio
47
+ output: cpu-energy-kwh
48
+ tree:
49
+ children:
50
+ child-1:
51
+ pipeline:
52
+ compute:
53
+ - interpolate
54
+ - correct-cpu-energy-for-vcpu-ratio
55
+ - calculate-vcpu-ratio
56
+ - cpu-factor-to-wattage
57
+ - wattage-times-duration
58
+ - wattage-to-energy-kwh
59
+ defaults:
60
+ cpu/thermal-design-power: 100
61
+ grid/carbon-intensity: 800
62
+ device/emissions-embodied: 1533.120 # gCO2eq
63
+ time-reserved: 3600 # 1hr in seconds
64
+ device/expected-lifespan: 94608000 # 3 years in seconds
65
+ vcpus-allocated: 1
66
+ vcpus-total: 8
67
+ inputs:
68
+ - timestamp: "2023-12-12T00:00:00.000Z"
69
+ cloud/instance-type: A1
70
+ cloud/region: uk-west
71
+ duration: 1
72
+ cpu/utilization: 50
73
+ network/energy: 0.000001
74
+ - timestamp: "2023-12-12T00:00:01.000Z"
75
+ duration: 5
76
+ cpu/utilization: 20
77
+ cloud/instance-type: A1
78
+ cloud/region: uk-west
79
+ network/energy: 0.000001
80
+ - timestamp: "2023-12-12T00:00:06.000Z"
81
+ duration: 7
82
+ cpu/utilization: 15
83
+ cloud/instance-type: A1
84
+ cloud/region: uk-west
85
+ network/energy: 0.000001
86
+ - timestamp: "2023-12-12T00:00:13.000Z"
87
+ duration: 30
88
+ cloud/instance-type: A1
89
+ cloud/region: uk-west
90
+ cpu/utilization: 15
91
+ network/energy: 0.000001
@@ -0,0 +1,36 @@
1
+ name: divide
2
+ description: denominator is invalid, denominator is
3
+ tags:
4
+ initialize:
5
+ plugins:
6
+ cloud-metadata:
7
+ path: builtin
8
+ method: CSVLookup
9
+ config:
10
+ filepath: >-
11
+ https://raw.githubusercontent.com/Green-Software-Foundation/if-data/main/cloud-metdata-aws-instances.csv
12
+ query:
13
+ instance-class: cloud/instance-type
14
+ output: ["cpu-cores-utilized", "vcpus-allocated"]
15
+ divide:
16
+ method: Divide
17
+ path: "builtin"
18
+ config:
19
+ numerator: vcpus-allocated
20
+ denominator: 0
21
+ output: cpu/number-cores
22
+ tree:
23
+ children:
24
+ child:
25
+ pipeline:
26
+ compute:
27
+ - cloud-metadata
28
+ - divide
29
+ defaults:
30
+ cloud/vendor: aws
31
+ cloud/instance-type: m5n.large
32
+ cpu/name: Intel® Core™ i7-1185G7
33
+ inputs:
34
+ - timestamp: 2023-08-06T00:00
35
+ duration: 3600
36
+ cpu/utilization: 80
@@ -4,7 +4,6 @@ tags:
4
4
  initialize:
5
5
  plugins:
6
6
  mock-observations:
7
- kind: plugin
8
7
  method: MockObservations
9
8
  path: "builtin"
10
9
  config:
@@ -4,7 +4,6 @@ tags:
4
4
  initialize:
5
5
  plugins:
6
6
  mock-observations:
7
- kind: plugin
8
7
  method: MockObservations
9
8
  path: "builtin"
10
9
  config:
@@ -4,7 +4,6 @@ tags:
4
4
  initialize:
5
5
  plugins:
6
6
  mock-observations:
7
- kind: plugin
8
7
  method: MockObservations
9
8
  path: "builtin"
10
9
  config:
@@ -4,7 +4,6 @@ tags:
4
4
  initialize:
5
5
  plugins:
6
6
  mock-observations:
7
- kind: plugin
8
7
  method: MockObservations
9
8
  path: "builtin"
10
9
  config:
@@ -4,7 +4,6 @@ tags:
4
4
  initialize:
5
5
  plugins:
6
6
  sci:
7
- kind: plugin
8
7
  method: Sci
9
8
  path: "builtin"
10
9
  # config:
@@ -5,7 +5,6 @@ initialize:
5
5
  #
6
6
  plugins:
7
7
  sci:
8
- kind: plugin
9
8
  method: Sci
10
9
  path: "builtin"
11
10
  config:
@@ -4,7 +4,6 @@ tags:
4
4
  initialize:
5
5
  plugins:
6
6
  sci:
7
- kind: plugin
8
7
  method: Sci
9
8
  path: "builtin"
10
9
  config:
@@ -0,0 +1,22 @@
1
+ name: sci-embodied
2
+ description: failure with `vCPUs` being string instead of number
3
+ tags:
4
+ initialize:
5
+ plugins:
6
+ "sci-embodied": # a model that calculates m from te, tir, el, rr and rtor
7
+ method: SciEmbodied
8
+ path: "builtin"
9
+ tree:
10
+ children:
11
+ child:
12
+ pipeline:
13
+ compute:
14
+ - sci-embodied # duration & config -> embodied
15
+ defaults:
16
+ vCPUs: fail
17
+ time-reserved: 3600 # 1hr in seconds
18
+ resources-reserved: 1
19
+ resources-total: 8
20
+ inputs:
21
+ - timestamp: 2023-07-06T00:00
22
+ duration: 3600
@@ -2,8 +2,6 @@ name: time-sync
2
2
  description: missing config
3
3
  tags:
4
4
  initialize:
5
- output:
6
- - yaml
7
5
  plugins:
8
6
  'time-sync':
9
7
  method: TimeSync
@@ -2,8 +2,6 @@ name: time-sync
2
2
  description: successful path
3
3
  tags:
4
4
  initialize:
5
- output:
6
- - yaml
7
5
  plugins:
8
6
  'time-sync':
9
7
  method: TimeSync
@@ -0,0 +1,50 @@
1
+ name: Aggregation
2
+ description: Fails with invalid metric.
3
+ aggregation:
4
+ metrics:
5
+ - 'test'
6
+ type: 'both'
7
+ initialize:
8
+ plugins:
9
+ cloud-metadata:
10
+ path: builtin
11
+ method: CSVLookup
12
+ config:
13
+ filepath: >-
14
+ https://raw.githubusercontent.com/Green-Software-Foundation/if-data/main/cloud-metdata-aws-instances.csv
15
+ query:
16
+ instance-class: cloud/instance-type
17
+ output: ['cpu-cores-utilized', 'vcpus-allocated']
18
+ tree:
19
+ children:
20
+ application:
21
+ pipeline:
22
+ compute:
23
+ - cloud-metadata
24
+ children:
25
+ uk-west:
26
+ children:
27
+ server-1:
28
+ inputs:
29
+ - timestamp: '2024-02-26 00:00:00'
30
+ duration: 300
31
+ cloud/instance-type: m5n.large
32
+ cloud/vendor: aws
33
+ cpu/utilization: 89
34
+ - timestamp: '2024-02-26 00:05:00'
35
+ duration: 300
36
+ cloud/instance-type: m5n.large
37
+ cloud/vendor: aws
38
+ cpu/utilization: 59
39
+ server-2:
40
+ inputs:
41
+ - timestamp: '2024-02-26 00:00:00'
42
+ duration: 300
43
+ cloud/instance-type: m5n.large
44
+ cloud/vendor: aws
45
+ cpu/utilization: 24
46
+ - timestamp: '2024-02-26 00:05:00'
47
+ duration: 300
48
+ cloud/instance-type: m5n.large
49
+ cloud/vendor: aws
50
+ cpu/utilization: 27
@@ -0,0 +1,50 @@
1
+ name: Aggregation
2
+ description: Fails with missing metric in inputs.
3
+ aggregation:
4
+ metrics:
5
+ - 'cpu/utilization'
6
+ type: 'both'
7
+ initialize:
8
+ plugins:
9
+ cloud-metadata:
10
+ path: builtin
11
+ method: CSVLookup
12
+ config:
13
+ filepath: >-
14
+ https://raw.githubusercontent.com/Green-Software-Foundation/if-data/main/cloud-metdata-aws-instances.csv
15
+ query:
16
+ instance-class: cloud/instance-type
17
+ output: ['cpu-cores-utilized', 'vcpus-allocated']
18
+ tree:
19
+ children:
20
+ application:
21
+ pipeline:
22
+ compute:
23
+ - cloud-metadata
24
+ children:
25
+ uk-west:
26
+ children:
27
+ server-1:
28
+ inputs:
29
+ - timestamp: '2024-01-26 00:00:00'
30
+ duration: 300
31
+ cloud/instance-type: m5n.large
32
+ cloud/vendor: aws
33
+ cpu/utilization: 89
34
+ - timestamp: '2024-02-26 00:05:00'
35
+ duration: 300
36
+ cloud/instance-type: m5n.large
37
+ cloud/vendor: aws
38
+ cpu/utilization: 59
39
+ server-2:
40
+ inputs:
41
+ - timestamp: '2024-02-26 00:00:00'
42
+ duration: 300
43
+ cloud/instance-type: m5n.large
44
+ cloud/vendor: aws
45
+ # cpu/utilization: 110
46
+ - timestamp: '2024-02-26 00:15:00'
47
+ duration: 300
48
+ cloud/instance-type: m5n.large
49
+ cloud/vendor: aws
50
+ cpu/utilization: 27
@@ -0,0 +1,58 @@
1
+ name: Aggregation
2
+ description: Apply `horizontal` aggregation
3
+ aggregation:
4
+ metrics:
5
+ - 'cpu/utilization'
6
+ type: 'horizontal'
7
+ initialize:
8
+ plugins:
9
+ cloud-metadata:
10
+ path: builtin
11
+ method: CSVLookup
12
+ config:
13
+ filepath: >-
14
+ https://raw.githubusercontent.com/Green-Software-Foundation/if-data/main/cloud-metdata-aws-instances.csv
15
+ query:
16
+ instance-class: cloud/instance-type
17
+ output: ['cpu-cores-utilized', 'vcpus-allocated']
18
+ parameter-metadata:
19
+ inputs:
20
+ cpu/utilization:
21
+ unit: percentage
22
+ description: refers to CPU utilization.
23
+ aggregation-method:
24
+ time: avg
25
+ component: avg
26
+ tree:
27
+ children:
28
+ application:
29
+ pipeline:
30
+ compute:
31
+ - cloud-metadata
32
+ children:
33
+ uk-west:
34
+ children:
35
+ server-1:
36
+ inputs:
37
+ - timestamp: '2024-02-26 00:00:00'
38
+ duration: 300
39
+ cloud/instance-type: m5n.large
40
+ cloud/vendor: aws
41
+ cpu/utilization: 89
42
+ - timestamp: '2024-02-26 00:05:00'
43
+ duration: 300
44
+ cloud/instance-type: m5n.large
45
+ cloud/vendor: aws
46
+ cpu/utilization: 59
47
+ server-2:
48
+ inputs:
49
+ - timestamp: '2024-02-26 00:00:00'
50
+ duration: 300
51
+ cloud/instance-type: m5n.large
52
+ cloud/vendor: aws
53
+ cpu/utilization: 24
54
+ - timestamp: '2024-02-26 00:05:00'
55
+ duration: 300
56
+ cloud/instance-type: m5n.large
57
+ cloud/vendor: aws
58
+ cpu/utilization: 27
@@ -0,0 +1,58 @@
1
+ name: Aggregation
2
+ description: Apply `vertical` aggregation
3
+ aggregation:
4
+ metrics:
5
+ - 'cpu/utilization'
6
+ type: 'vertical'
7
+ initialize:
8
+ plugins:
9
+ cloud-metadata:
10
+ path: builtin
11
+ method: CSVLookup
12
+ config:
13
+ filepath: >-
14
+ https://raw.githubusercontent.com/Green-Software-Foundation/if-data/main/cloud-metdata-aws-instances.csv
15
+ query:
16
+ instance-class: cloud/instance-type
17
+ output: ['cpu-cores-utilized', 'vcpus-allocated']
18
+ parameter-metadata:
19
+ inputs:
20
+ cpu/utilization:
21
+ unit: percentage
22
+ description: refers to CPU utilization.
23
+ aggregation-method:
24
+ time: avg
25
+ component: avg
26
+ tree:
27
+ children:
28
+ application:
29
+ pipeline:
30
+ compute:
31
+ - cloud-metadata
32
+ children:
33
+ uk-west:
34
+ children:
35
+ server-1:
36
+ inputs:
37
+ - timestamp: '2024-02-26 00:00:00'
38
+ duration: 300
39
+ cloud/instance-type: m5n.large
40
+ cloud/vendor: aws
41
+ cpu/utilization: 89
42
+ - timestamp: '2024-02-26 00:05:00'
43
+ duration: 300
44
+ cloud/instance-type: m5n.large
45
+ cloud/vendor: aws
46
+ cpu/utilization: 59
47
+ server-2:
48
+ inputs:
49
+ - timestamp: '2024-02-26 00:00:00'
50
+ duration: 300
51
+ cloud/instance-type: m5n.large
52
+ cloud/vendor: aws
53
+ cpu/utilization: 24
54
+ - timestamp: '2024-02-26 00:05:00'
55
+ duration: 300
56
+ cloud/instance-type: m5n.large
57
+ cloud/vendor: aws
58
+ cpu/utilization: 27
@@ -0,0 +1,58 @@
1
+ name: Aggregation
2
+ description: Apply both `horizontal` and `vertical` aggregations
3
+ aggregation:
4
+ metrics:
5
+ - 'cpu/utilization'
6
+ type: 'both'
7
+ initialize:
8
+ plugins:
9
+ cloud-metadata:
10
+ path: builtin
11
+ method: CSVLookup
12
+ config:
13
+ filepath: >-
14
+ https://raw.githubusercontent.com/Green-Software-Foundation/if-data/main/cloud-metdata-aws-instances.csv
15
+ query:
16
+ instance-class: cloud/instance-type
17
+ output: ['cpu-cores-utilized', 'vcpus-allocated']
18
+ parameter-metadata:
19
+ inputs:
20
+ cpu/utilization:
21
+ unit: percentage
22
+ description: refers to CPU utilization.
23
+ aggregation-method:
24
+ time: avg
25
+ component: avg
26
+ tree:
27
+ children:
28
+ application:
29
+ pipeline:
30
+ compute:
31
+ - cloud-metadata
32
+ children:
33
+ uk-west:
34
+ children:
35
+ server-1:
36
+ inputs:
37
+ - timestamp: '2024-02-26 00:00:00'
38
+ duration: 300
39
+ cloud/instance-type: m5n.large
40
+ cloud/vendor: aws
41
+ cpu/utilization: 89
42
+ - timestamp: '2024-02-26 00:05:00'
43
+ duration: 300
44
+ cloud/instance-type: m5n.large
45
+ cloud/vendor: aws
46
+ cpu/utilization: 59
47
+ server-2:
48
+ inputs:
49
+ - timestamp: '2024-02-26 00:00:00'
50
+ duration: 300
51
+ cloud/instance-type: m5n.large
52
+ cloud/vendor: aws
53
+ cpu/utilization: 24
54
+ - timestamp: '2024-02-26 00:05:00'
55
+ duration: 300
56
+ cloud/instance-type: m5n.large
57
+ cloud/vendor: aws
58
+ cpu/utilization: 27
@@ -0,0 +1,36 @@
1
+ name: divide-demo
2
+ description:
3
+ tags:
4
+ initialize:
5
+ plugins:
6
+ cloud-metadata:
7
+ path: builtin
8
+ method: CSVLookup
9
+ config:
10
+ filepath: >-
11
+ https://raw.githubusercontent.com/Green-Software-Foundation/if-data/main/cloud-metdata-aws-instances.csv
12
+ query:
13
+ instance-class: cloud/instance-type
14
+ output: ['cpu-cores-utilized', 'vcpus-allocated']
15
+ divide:
16
+ method: Divide
17
+ path: "builtin"
18
+ config:
19
+ numerator: vcpus-allocated
20
+ denominator: 2
21
+ output: cpu/number-cores
22
+ tree:
23
+ children:
24
+ child:
25
+ pipeline:
26
+ compute:
27
+ - cloud-metadata
28
+ - divide
29
+ defaults:
30
+ cloud/vendor: aws
31
+ cloud/instance-type: m5n.large
32
+ cpu/name: Intel® Core™ i7-1185G7
33
+ inputs:
34
+ - timestamp: 2023-08-06T00:00
35
+ duration: 3600
36
+ cpu/utilization: 80
@@ -8,7 +8,6 @@ aggregation:
8
8
  initialize:
9
9
  plugins:
10
10
  mock-observations:
11
- kind: plugin
12
11
  method: MockObservations
13
12
  path: "builtin"
14
13
  config:
@@ -4,7 +4,6 @@ tags:
4
4
  initialize:
5
5
  plugins:
6
6
  mock-observations:
7
- kind: plugin
8
7
  method: MockObservations
9
8
  path: "builtin"
10
9
  config:
@@ -4,7 +4,6 @@ tags: null
4
4
  initialize:
5
5
  plugins:
6
6
  mock-observations:
7
- kind: plugin
8
7
  method: MockObservations
9
8
  path: builtin
10
9
  config:
@@ -6,7 +6,6 @@ tags: null
6
6
  initialize:
7
7
  plugins:
8
8
  mock-observations:
9
- kind: plugin
10
9
  method: MockObservations
11
10
  path: builtin
12
11
  config:
@@ -4,7 +4,6 @@ tags: null
4
4
  initialize:
5
5
  plugins:
6
6
  mock-observations:
7
- kind: plugin
8
7
  method: MockObservations
9
8
  path: builtin
10
9
  config:
@@ -4,7 +4,6 @@ tags: null
4
4
  initialize:
5
5
  plugins:
6
6
  mock-observations:
7
- kind: plugin
8
7
  method: MockObservations
9
8
  path: builtin
10
9
  config:
@@ -4,7 +4,6 @@ tags: null
4
4
  initialize:
5
5
  plugins:
6
6
  sci:
7
- kind: plugin
8
7
  method: Sci
9
8
  path: builtin
10
9
  execution:
@@ -4,7 +4,6 @@ tags: null
4
4
  initialize:
5
5
  plugins:
6
6
  sci:
7
- kind: plugin
8
7
  method: Sci
9
8
  path: builtin
10
9
  config:
@@ -2,8 +2,6 @@ name: time-sync
2
2
  description: missing config
3
3
  tags: null
4
4
  initialize:
5
- output:
6
- - yaml
7
5
  plugins:
8
6
  time-sync:
9
7
  method: TimeSync