harness-mcp-v2 3.2.3 → 3.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +62 -3
- package/build/config.d.ts +22 -3
- package/build/config.d.ts.map +1 -1
- package/build/config.js +10 -0
- package/build/config.js.map +1 -1
- package/build/data/examples/index.d.ts +2 -0
- package/build/data/examples/index.d.ts.map +1 -1
- package/build/data/examples/index.js +4 -0
- package/build/data/examples/index.js.map +1 -1
- package/build/data/schemas/v0/pipeline.d.ts.map +1 -1
- package/build/data/schemas/v0/pipeline.js +31 -10
- package/build/data/schemas/v0/pipeline.js.map +1 -1
- package/build/data/schemas/v0/template.d.ts.map +1 -1
- package/build/data/schemas/v0/template.js +28 -10
- package/build/data/schemas/v0/template.js.map +1 -1
- package/build/index.js +67 -11
- package/build/index.js.map +1 -1
- package/build/prompts/build-deploy-app.d.ts.map +1 -1
- package/build/prompts/build-deploy-app.js +4 -3
- package/build/prompts/build-deploy-app.js.map +1 -1
- package/build/prompts/create-agent.d.ts.map +1 -1
- package/build/prompts/create-agent.js +21 -1
- package/build/prompts/create-agent.js.map +1 -1
- package/build/prompts/create-pipeline.d.ts.map +1 -1
- package/build/prompts/create-pipeline.js +1 -0
- package/build/prompts/create-pipeline.js.map +1 -1
- package/build/registry/extractors.d.ts +10 -3
- package/build/registry/extractors.d.ts.map +1 -1
- package/build/registry/extractors.js +27 -9
- package/build/registry/extractors.js.map +1 -1
- package/build/registry/toolsets/chaos-descriptions.d.ts +23 -19
- package/build/registry/toolsets/chaos-descriptions.d.ts.map +1 -1
- package/build/registry/toolsets/chaos-descriptions.js +134 -48
- package/build/registry/toolsets/chaos-descriptions.js.map +1 -1
- package/build/registry/toolsets/chaos.d.ts.map +1 -1
- package/build/registry/toolsets/chaos.js +323 -56
- package/build/registry/toolsets/chaos.js.map +1 -1
- package/build/registry/toolsets/dbops.js +2 -2
- package/build/registry/toolsets/dbops.js.map +1 -1
- package/build/registry/toolsets/idp.d.ts.map +1 -1
- package/build/registry/toolsets/idp.js +0 -6
- package/build/registry/toolsets/idp.js.map +1 -1
- package/build/registry/toolsets/pipelines.d.ts.map +1 -1
- package/build/registry/toolsets/pipelines.js +7 -5
- package/build/registry/toolsets/pipelines.js.map +1 -1
- package/build/registry/toolsets/pull-requests.d.ts.map +1 -1
- package/build/registry/toolsets/pull-requests.js +47 -2
- package/build/registry/toolsets/pull-requests.js.map +1 -1
- package/build/registry/toolsets/templates.d.ts.map +1 -1
- package/build/registry/toolsets/templates.js +28 -4
- package/build/registry/toolsets/templates.js.map +1 -1
- package/build/search/embedding-content.d.ts +5 -0
- package/build/search/embedding-content.d.ts.map +1 -0
- package/build/search/embedding-content.js +31 -0
- package/build/search/embedding-content.js.map +1 -0
- package/build/search/index.d.ts +8 -0
- package/build/search/index.d.ts.map +1 -0
- package/build/search/index.js +6 -0
- package/build/search/index.js.map +1 -0
- package/build/search/local-provider.d.ts +37 -0
- package/build/search/local-provider.d.ts.map +1 -0
- package/build/search/local-provider.js +269 -0
- package/build/search/local-provider.js.map +1 -0
- package/build/search/manager.d.ts +39 -0
- package/build/search/manager.d.ts.map +1 -0
- package/build/search/manager.js +283 -0
- package/build/search/manager.js.map +1 -0
- package/build/search/null-provider.d.ts +9 -0
- package/build/search/null-provider.d.ts.map +1 -0
- package/build/search/null-provider.js +8 -0
- package/build/search/null-provider.js.map +1 -0
- package/build/search/remote-provider.d.ts +28 -0
- package/build/search/remote-provider.d.ts.map +1 -0
- package/build/search/remote-provider.js +139 -0
- package/build/search/remote-provider.js.map +1 -0
- package/build/search/routing-eval.d.ts +49 -0
- package/build/search/routing-eval.d.ts.map +1 -0
- package/build/search/routing-eval.js +80 -0
- package/build/search/routing-eval.js.map +1 -0
- package/build/search/types.d.ts +58 -0
- package/build/search/types.d.ts.map +1 -0
- package/build/search/types.js +7 -0
- package/build/search/types.js.map +1 -0
- package/build/tools/harness-execute.d.ts.map +1 -1
- package/build/tools/harness-execute.js +19 -7
- package/build/tools/harness-execute.js.map +1 -1
- package/build/tools/harness-get.d.ts +2 -1
- package/build/tools/harness-get.d.ts.map +1 -1
- package/build/tools/harness-get.js +21 -1
- package/build/tools/harness-get.js.map +1 -1
- package/build/tools/harness-list.d.ts +2 -1
- package/build/tools/harness-list.d.ts.map +1 -1
- package/build/tools/harness-list.js +22 -1
- package/build/tools/harness-list.js.map +1 -1
- package/build/tools/harness-search.d.ts +20 -1
- package/build/tools/harness-search.d.ts.map +1 -1
- package/build/tools/harness-search.js +124 -14
- package/build/tools/harness-search.js.map +1 -1
- package/build/tools/index.d.ts +2 -1
- package/build/tools/index.d.ts.map +1 -1
- package/build/tools/index.js +4 -4
- package/build/tools/index.js.map +1 -1
- package/build/utils/http-health.d.ts +11 -0
- package/build/utils/http-health.d.ts.map +1 -0
- package/build/utils/http-health.js +11 -0
- package/build/utils/http-health.js.map +1 -0
- package/build/utils/http-sessions.d.ts +8 -0
- package/build/utils/http-sessions.d.ts.map +1 -0
- package/build/utils/http-sessions.js +12 -0
- package/build/utils/http-sessions.js.map +1 -0
- package/package.json +5 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chaos-descriptions.js","sourceRoot":"","sources":["../../../src/registry/toolsets/chaos-descriptions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chaos-descriptions.js","sourceRoot":"","sources":["../../../src/registry/toolsets/chaos-descriptions.ts"],"names":[],"mappings":"AAAA,wEAAwE;AAExE,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+DAyD+B,CAAC;AAEhE,wEAAwE;AAExE,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;8JAgB2H,CAAC;AAE/J,MAAM,CAAC,MAAM,sBAAsB,GAAG;;;;;cAKxB,CAAC;AAEf,MAAM,CAAC,MAAM,cAAc,GAAG;;;;yEAI2C,CAAC;AAE1E,MAAM,CAAC,MAAM,2BAA2B,GAAG;;;;;wIAK6F,CAAC;AAEzI,MAAM,CAAC,MAAM,2BAA2B,GAAG,oHAAoH,CAAC;AAEhK,MAAM,CAAC,MAAM,uBAAuB,GAAG,6JAA6J,CAAC;AAErM,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4GA6B2E,CAAC;AAE7G,MAAM,CAAC,MAAM,0BAA0B,GAAG;;;;;;oKAM0H,CAAC;AAErK,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;4JASgI,CAAC;AAE7J,MAAM,CAAC,MAAM,cAAc,GAAG,yKAAyK,CAAC;AAExM,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;;;;;qQAS8N,CAAC;AAEtQ,MAAM,CAAC,MAAM,uBAAuB,GAAG;;2GAEoE,CAAC;AAE5G,MAAM,CAAC,MAAM,kBAAkB,GAAG;;kIAEgG,CAAC;AAEnI,MAAM,CAAC,MAAM,uBAAuB,GAAG,qFAAqF,CAAC;AAE7H,MAAM,CAAC,MAAM,aAAa,GAAG,+EAA+E,CAAC;AAE7G,MAAM,CAAC,MAAM,sBAAsB,GAAG;;;wGAGkE,CAAC;AAEzG,MAAM,CAAC,MAAM,sBAAsB,GAAG;;;;4GAIsE,CAAC;AAE7G,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;6GAIsE,CAAC;AAE9G,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;2FAI0D,CAAC;AAE5F,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;4DAGwB,CAAC;AAE7D,wEAAwE;AAExE,MAAM,CAAC,MAAM,mBAAmB,GAAG;;iCAEF,CAAC;AAClC,MAAM,CAAC,MAAM,iBAAiB,GAAG,kZAAkZ,CAAC;AAEpb,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;gVAI4S,CAAC;AAEjV,MAAM,CAAC,MAAM,cAAc,GAAG;;iCAEG,CAAC;AAElC,MAAM,CAAC,MAAM,YAAY,GAAG;4IACgH,CAAC;AAE7I,MAAM,CAAC,MAAM,gBAAgB,GAAG,2CAA2C,CAAC;AAC5E,MAAM,CAAC,MAAM,YAAY,GAAG,iEAAiE,CAAC;AAC9F,MAAM,CAAC,MAAM,kBAAkB,GAAG,qGAAqG,CAAC;AAExI,MAAM,CAAC,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8KA0F+I,CAAC;AAE/K,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+fA+C4d,CAAC;AAEhgB,MAAM,CAAC,MAAM,gBAAgB,GAAG,iHAAiH,CAAC;AAClJ,MAAM,CAAC,MAAM,kBAAkB,GAAG,+DAA+D,CAAC;AAClG,MAAM,CAAC,MAAM,wBAAwB,GAAG,isBAAisB,CAAC;AAC1uB,MAAM,CAAC,MAAM,sBAAsB,GAAG,qPAAqP,CAAC;AAE5R,MAAM,CAAC,MAAM,2BAA2B,GAAG;;0FAE+C,CAAC;AAE3F,MAAM,CAAC,MAAM,yBAAyB,GAAG;;;;kEAIyB,CAAC;AAEnE,MAAM,CAAC,MAAM,4BAA4B,GAAG;;8CAEE,CAAC;AAE/C,MAAM,CAAC,MAAM,2BAA2B,GAAG,mOAAmO,CAAC;AAE/Q,MAAM,CAAC,MAAM,kBAAkB,GAAG,iDAAiD,CAAC;AAEpF,MAAM,CAAC,MAAM,iBAAiB,GAAG,0BAA0B,CAAC;AAC5D,MAAM,CAAC,MAAM,eAAe,GAAG,gCAAgC,CAAC;AAChE,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yOAsGuM,CAAC;AAC1O,MAAM,CAAC,MAAM,kBAAkB,GAAG,6BAA6B,CAAC;AAEhE,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;8GAI8E,CAAC;AAC/G,MAAM,CAAC,MAAM,eAAe,GAAG,6CAA6C,CAAC;AAE7E,MAAM,CAAC,MAAM,8BAA8B,GAAG;;;;;;;yOAO2L,CAAC;AAE1O,MAAM,CAAC,MAAM,yBAAyB,GAAG;;;8EAGqC,CAAC;AAE/E,MAAM,CAAC,MAAM,yBAAyB,GAAG,2MAA2M,CAAC;AAErP,MAAM,CAAC,MAAM,cAAc,GAAG,sHAAsH,CAAC;AAErJ,MAAM,CAAC,MAAM,kBAAkB,GAAG,gGAAgG,CAAC;AAEnI,MAAM,CAAC,MAAM,YAAY,GAAG;;wDAE4B,CAAC;AAEzD,MAAM,CAAC,MAAM,UAAU,GAAG;uHAC6F,CAAC;AAExH,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;yHAK4F,CAAC;AAE1H,MAAM,CAAC,MAAM,aAAa,GAAG;;;;gGAImE,CAAC;AAEjG,MAAM,CAAC,MAAM,aAAa,GAAG;;;yCAGY,CAAC;AAE1C,MAAM,CAAC,MAAM,cAAc,GAAG,mBAAmB,CAAC;AAClD,MAAM,CAAC,MAAM,YAAY,GAAG,yBAAyB,CAAC;AAEtD,MAAM,CAAC,MAAM,sBAAsB,GAAG;;2HAEqF,CAAC;AAE5H,MAAM,CAAC,MAAM,oBAAoB,GAAG;;kHAE8E,CAAC;AAEnH,MAAM,CAAC,MAAM,uBAAuB,GAAG;;8CAEO,CAAC;AAE/C,MAAM,CAAC,MAAM,uBAAuB,GAAG;;8JAEuH,CAAC;AAE/J,MAAM,CAAC,MAAM,qBAAqB,GAAG;;gJAE2G,CAAC;AAEjJ,MAAM,CAAC,MAAM,gBAAgB,GAAU,uEAAuE,CAAC;AAC/G,MAAM,CAAC,MAAM,uBAAuB,GAAG,wGAAwG,CAAC;AAChJ,MAAM,CAAC,MAAM,iBAAiB,GAAS,6IAA6I,CAAC;AACrL,MAAM,CAAC,MAAM,aAAa,GAAa,4EAA4E,CAAC;AACpH,MAAM,CAAC,MAAM,iBAAiB,GAAS,sHAAsH,CAAC;AAE9J,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;kFAG2C,CAAC;AACnF,MAAM,CAAC,MAAM,qBAAqB,GAAG;uIACkG,CAAC;AACxI,MAAM,CAAC,MAAM,wBAAwB,GAAG;;uDAEe,CAAC;AAExD,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;kFAGgD,CAAC;AACnF,MAAM,CAAC,MAAM,gBAAgB,GAAG;kIACkG,CAAC;AACnI,MAAM,CAAC,MAAM,mBAAmB,GAAG;;uDAEoB,CAAC;AAExD,MAAM,CAAC,MAAM,sBAAsB,GAAG;;2FAEqD,CAAC;AAC5F,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;0JAGsH,CAAC;AAE3J,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;0DAGmB,CAAC;AAE3D,MAAM,CAAC,MAAM,uBAAuB,GAAG;;4FAEqD,CAAC;AAC7F,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;0JAGqH,CAAC;AAC3J,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;0DAGkB,CAAC;AAE3D,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;mFAGkD,CAAC;AAEpF,MAAM,CAAC,MAAM,yBAAyB,GAAG;;;4DAGmB,CAAC;AAE7D,MAAM,CAAC,MAAM,uBAAuB,GAAG,4BAA4B,CAAC;AACpE,MAAM,CAAC,MAAM,qBAAqB,GAAG,kCAAkC,CAAC;AAExE,MAAM,CAAC,MAAM,aAAa,GAAG,kBAAkB,CAAC;AAChD,MAAM,CAAC,MAAM,WAAW,GAAG,wBAAwB,CAAC;AAEpD,wEAAwE;AAExE,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uFAgDsD,CAAC;AACxF,MAAM,CAAC,MAAM,eAAe,GAAG;;uDAEwB,CAAC;AACxD,MAAM,CAAC,MAAM,eAAe,GAAG;yGAC0E,CAAC;AAE1G,MAAM,CAAC,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEnC,CAAC;AAEJ,MAAM,CAAC,MAAM,iBAAiB,GAAG;;4IAE2G,CAAC;AAE7I,MAAM,CAAC,MAAM,gBAAgB,GAAG;;oNAEoL,CAAC;AAErN,MAAM,CAAC,MAAM,WAAW,GAAG;;oNAEyL,CAAC;AAErN,MAAM,CAAC,MAAM,oBAAoB,GAAG;;wMAEoK,CAAC;AAEzM,MAAM,CAAC,MAAM,eAAe,GAAG,0BAA0B,CAAC;AAC1D,MAAM,CAAC,MAAM,gBAAgB,GAAG,0BAA0B,CAAC;AAC3D,MAAM,CAAC,MAAM,kBAAkB,GAAG,mDAAmD,CAAC;AAEtF,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;yCAGM,CAAC;AAE1C,MAAM,CAAC,MAAM,6BAA6B,GAAG;;;;0JAI6G,CAAC;AAE3J,MAAM,CAAC,MAAM,+BAA+B,GAAG;;gCAEf,CAAC;AAEjC,MAAM,CAAC,MAAM,8BAA8B,GAAG;;;;0JAI4G,CAAC;AAE3J,MAAM,CAAC,MAAM,kCAAkC,GAAG;;wEAEsB,CAAC;AAEzE,wEAAwE;AAExE,MAAM,CAAC,MAAM,qBAAqB,GAAG,4HAA4H,CAAC;AAClK,MAAM,CAAC,MAAM,cAAc,GAAG,0DAA0D,CAAC;AACzF,MAAM,CAAC,MAAM,0BAA0B,GAAG,gCAAgC,CAAC;AAC3E,MAAM,CAAC,MAAM,0BAA0B,GAAG;;;;;;;;2FAQiD,CAAC;AAE5F,wEAAwE;AAExE,MAAM,CAAC,MAAM,oBAAoB,GAAG,0DAA0D,CAAC;AAC/F,MAAM,CAAC,MAAM,iBAAiB,GAAG,gGAAgG,CAAC;AAClI,MAAM,CAAC,MAAM,aAAa,GAAG,wGAAwG,CAAC;AACtI,MAAM,CAAC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;AACpD,MAAM,CAAC,MAAM,sBAAsB,GAAG,2DAA2D,CAAC;AAClG,MAAM,CAAC,MAAM,YAAY,GAAG,kKAAkK,CAAC;AAC/L,MAAM,CAAC,MAAM,gBAAgB,GAAG,0OAA0O,CAAC;AAC3Q,MAAM,CAAC,MAAM,eAAe,GAAG,iDAAiD,CAAC;AACjF,MAAM,CAAC,MAAM,gBAAgB,GAAG,qLAAqL,CAAC;AACtN,MAAM,CAAC,MAAM,gBAAgB,GAAG,4NAA4N,CAAC;AAC7P,MAAM,CAAC,MAAM,oBAAoB,GAAG,2HAA2H,CAAC;AAChK,MAAM,CAAC,MAAM,uBAAuB,GAAG,sDAAsD,CAAC;AAC9F,MAAM,CAAC,MAAM,gBAAgB,GAAG,8EAA8E,CAAC;AAC/G,MAAM,CAAC,MAAM,iBAAiB,GAAG,sKAAsK,CAAC;AACxM,MAAM,CAAC,MAAM,mBAAmB,GAAG,6IAA6I,CAAC;AACjL,MAAM,CAAC,MAAM,sBAAsB,GAAG,6KAA6K,CAAC;AACpN,MAAM,CAAC,MAAM,qBAAqB,GAAG,0IAA0I,CAAC;AAChL,MAAM,CAAC,MAAM,kBAAkB,GAAG,2cAA2c,CAAC;AAC9e,MAAM,CAAC,MAAM,wBAAwB,GAAG,2QAA2Q,CAAC;AACpT,MAAM,CAAC,MAAM,uBAAuB,GAAG,+SAA+S,CAAC;AACvV,MAAM,CAAC,MAAM,4BAA4B,GAAG,oRAAoR,CAAC;AACjU,MAAM,CAAC,MAAM,oBAAoB,GAAG,4TAA4T,CAAC;AACjW,MAAM,CAAC,MAAM,iBAAiB,GAAG,yGAAyG,CAAC;AAC3I,MAAM,CAAC,MAAM,uBAAuB,GAAG,mGAAmG,CAAC;AAC3I,MAAM,CAAC,MAAM,qBAAqB,GAAG,8FAA8F,CAAC;AACpI,MAAM,CAAC,MAAM,uBAAuB,GAAG,2IAA2I,CAAC;AACnL,MAAM,CAAC,MAAM,mBAAmB,GAAG,4KAA4K,CAAC;AAChN,MAAM,CAAC,MAAM,oBAAoB,GAAG,0HAA0H,CAAC;AAC/J,MAAM,CAAC,MAAM,sBAAsB,GAAG,gHAAgH,CAAC;AACvJ,MAAM,CAAC,MAAM,mBAAmB,GAAG,y+BAAy+B,CAAC;AAE7gC,MAAM,CAAC,MAAM,oBAAoB,GAAG,4GAA4G,CAAC;AACjJ,MAAM,CAAC,MAAM,WAAW,GAAG,gCAAgC,CAAC;AAC5D,MAAM,CAAC,MAAM,iBAAiB,GAAG,wCAAwC,CAAC;AAC1E,MAAM,CAAC,MAAM,kBAAkB,GAAG,8BAA8B,CAAC;AACjE,MAAM,CAAC,MAAM,wBAAwB,GAAG,0HAA0H,CAAC;AACnK,MAAM,CAAC,MAAM,WAAW,GAAG,gDAAgD,CAAC;AAC5E,MAAM,CAAC,MAAM,kBAAkB,GAAG,iIAAiI,CAAC;AACpK,MAAM,CAAC,MAAM,gBAAgB,GAAG,iNAAiN,CAAC;AAClP,MAAM,CAAC,MAAM,YAAY,GAAG,wFAAwF,CAAC;AACrH,MAAM,CAAC,MAAM,cAAc,GAAG,yFAAyF,CAAC;AACxH,MAAM,CAAC,MAAM,aAAa,GAAG,yCAAyC,CAAC;AAEvE,yBAAyB;AAEzB,MAAM,CAAC,MAAM,eAAe,GAAG,mIAAmI,CAAC;AACnK,MAAM,CAAC,MAAM,kBAAkB,GAAG,uCAAuC,CAAC;AAC1E,MAAM,CAAC,MAAM,oBAAoB,GAAG,mFAAmF,CAAC;AACxH,MAAM,CAAC,MAAM,YAAY,GAAG,iFAAiF,CAAC;AAC9G,MAAM,CAAC,MAAM,aAAa,GAAG,2CAA2C,CAAC;AACzE,MAAM,CAAC,MAAM,aAAa,GAAG,4CAA4C,CAAC;AAC1E,MAAM,CAAC,MAAM,qBAAqB,GAAG,mFAAmF,CAAC;AACzH,MAAM,CAAC,MAAM,aAAa,GAAG,2BAA2B,CAAC;AACzD,MAAM,CAAC,MAAM,WAAW,GAAG,qEAAqE,CAAC;AACjG,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;8GAMsF,CAAC;AAC/G,MAAM,CAAC,MAAM,mBAAmB,GAAG,khBAAkhB,CAAC;AACtjB,MAAM,CAAC,MAAM,kBAAkB,GAAG,4CAA4C,CAAC;AAE/E,iCAAiC;AAEjC,MAAM,CAAC,MAAM,aAAa,GAAG,oBAAoB,CAAC;AAClD,MAAM,CAAC,MAAM,iBAAiB,GAAG,8EAA8E,CAAC;AAChH,MAAM,CAAC,MAAM,oBAAoB,GAAG,uCAAuC,CAAC;AAC5E,MAAM,CAAC,MAAM,qBAAqB,GAAG,+CAA+C,CAAC;AAErF,8BAA8B;AAE9B,MAAM,CAAC,MAAM,cAAc,GAAG,sIAAsI,CAAC;AACrK,MAAM,CAAC,MAAM,yBAAyB,GAAG,0CAA0C,CAAC;AACpF,MAAM,CAAC,MAAM,kBAAkB,GAAG,0DAA0D,CAAC;AAE7F,+BAA+B;AAE/B,MAAM,CAAC,MAAM,mBAAmB,GAAG,kNAAkN,CAAC;AACtP,MAAM,CAAC,MAAM,oBAAoB,GAAG,kEAAkE,CAAC;AAEvG,oBAAoB;AAEpB,MAAM,CAAC,MAAM,mBAAmB,GAAG,2BAA2B,CAAC;AAC/D,MAAM,CAAC,MAAM,2BAA2B,GAAG,wDAAwD,CAAC;AACpG,MAAM,CAAC,MAAM,yBAAyB,GAAG,kFAAkF,CAAC;AAE5H,gCAAgC;AAEhC,MAAM,CAAC,MAAM,qBAAqB,GAAG,gDAAgD,CAAC;AACtF,2MAA2M;AAC3M,MAAM,CAAC,MAAM,qBAAqB,GAAG,0KAA0K,CAAC;AAChN,sIAAsI;AACtI,MAAM,CAAC,MAAM,iBAAiB,GAAG,sEAAsE,CAAC;AACxG,MAAM,CAAC,MAAM,uBAAuB,GAAG,sGAAsG,CAAC;AAC9I,MAAM,CAAC,MAAM,qBAAqB,GAAG,sGAAsG,CAAC;AAE5I,MAAM,CAAC,MAAM,iCAAiC,GAAG,2QAA2Q,CAAC;AAE7T,MAAM,CAAC,MAAM,2BAA2B,GAAG,4FAA4F,CAAC;AAExI,MAAM,CAAC,MAAM,+BAA+B,GAAG,yHAAyH,CAAC;AAEzK,4BAA4B;AAE5B,MAAM,CAAC,MAAM,iBAAiB,GAAG,uFAAuF,CAAC;AACzH,MAAM,CAAC,MAAM,2BAA2B,GAAG,iPAAiP,CAAC;AAC7R,MAAM,CAAC,MAAM,kBAAkB,GAAG,yGAAyG,CAAC;AAC5I,MAAM,CAAC,MAAM,sBAAsB,GAAG,uGAAuG,CAAC;AAC9I,MAAM,CAAC,MAAM,kBAAkB,GAAG,oDAAoD,CAAC;AAEvF,2BAA2B;AAE3B,MAAM,CAAC,MAAM,iBAAiB,GAAG,iDAAiD,CAAC;AACnF,MAAM,CAAC,MAAM,WAAW,GAAG,4HAA4H,CAAC;AACxJ,MAAM,CAAC,MAAM,mBAAmB,GAAG,gGAAgG,CAAC;AAEpI,oBAAoB;AAEpB,MAAM,CAAC,MAAM,eAAe,GAAG,qDAAqD,CAAC;AACrF,MAAM,CAAC,MAAM,kBAAkB,GAAG,gFAAgF,CAAC;AACnH,MAAM,CAAC,MAAM,aAAa,GAAG,6DAA6D,CAAC;AAC3F,MAAM,CAAC,MAAM,gBAAgB,GAAG,gEAAgE,CAAC;AAEjG,wEAAwE;AAExE,MAAM,CAAC,MAAM,eAAe,GAAG;;+FAEgE,CAAC;AAEhG,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;2BAGR,CAAC;AAE5B,wEAAwE;AAExE,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;;;sLAUkJ,CAAC;AAEvL,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;kKAKgI,CAAC;AAEnK,MAAM,CAAC,MAAM,oBAAoB,GAAG;;yGAEqE,CAAC;AAE1G,MAAM,CAAC,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;uCAgBQ,CAAC;AAExC,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;8GAI2E,CAAC;AAE/G,MAAM,CAAC,MAAM,qBAAqB,GAAG;kKAC6H,CAAC;AAEnK,MAAM,CAAC,MAAM,gBAAgB,GAAG;;2FAE2D,CAAC;AAE5F,MAAM,CAAC,MAAM,2BAA2B,GAAG;oJACyG,CAAC;AAErJ,MAAM,CAAC,MAAM,2BAA2B,GAAG;kLACuI,CAAC;AAEnL,MAAM,CAAC,MAAM,eAAe,GAAG;;oCAEK,CAAC;AAErC,MAAM,CAAC,MAAM,eAAe,GAAG;;oIAEqG,CAAC;AAErI,MAAM,CAAC,MAAM,aAAa,GAAG;;sFAEyD,CAAC;AAEvF,MAAM,CAAC,MAAM,qBAAqB,GAAG;;2FAEsD,CAAC;AAE5F,MAAM,CAAC,MAAM,gBAAgB,GAAG;;sCAEM,CAAC;AAEvC,wEAAwE;AAExE,MAAM,CAAC,MAAM,mBAAmB,GAAG,oCAAoC,CAAC;AACxE,MAAM,CAAC,MAAM,mBAAmB,GAAG,qCAAqC,CAAC;AACzE,MAAM,CAAC,MAAM,mBAAmB,GAAG;0FACuD,CAAC;AAE3F,wEAAwE;AAExE,MAAM,CAAC,MAAM,uBAAuB,GAAG,2JAA2J,CAAC;AACnM,MAAM,CAAC,MAAM,YAAY,GAAG,0HAA0H,CAAC;AACvJ,MAAM,CAAC,MAAM,SAAS,GAAG,+HAA+H,CAAC;AACzJ,MAAM,CAAC,MAAM,iBAAiB,GAAG,6CAA6C,CAAC;AAC/E,MAAM,CAAC,MAAM,gBAAgB,GAAG,4FAA4F,CAAC;AAC7H,MAAM,CAAC,MAAM,cAAc,GAAG,+FAA+F,CAAC;AAC9H,MAAM,CAAC,MAAM,oBAAoB,GAAG,oGAAoG,CAAC;AACzI,MAAM,CAAC,MAAM,aAAa,GAAG,oIAAoI,CAAC;AAClK,MAAM,CAAC,MAAM,sBAAsB,GAAG,8EAA8E,CAAC;AACrH,MAAM,CAAC,MAAM,sBAAsB,GAAG,kEAAkE,CAAC;AACzG,MAAM,CAAC,MAAM,eAAe,GAAG,2DAA2D,CAAC;AAC3F,MAAM,CAAC,MAAM,iBAAiB,GAAG,gEAAgE,CAAC;AAClG,MAAM,CAAC,MAAM,sBAAsB,GAAG,gFAAgF,CAAC;AACvH,MAAM,CAAC,MAAM,2BAA2B,GAAG,wHAAwH,CAAC;AACpK,MAAM,CAAC,MAAM,iBAAiB,GAAG,6FAA6F,CAAC;AAC/H,MAAM,CAAC,MAAM,qBAAqB,GAAG,oHAAoH,CAAC;AAC1J,MAAM,CAAC,MAAM,sBAAsB,GAAG,qHAAqH,CAAC;AAC5J,MAAM,CAAC,MAAM,0BAA0B,GAAG,4DAA4D,CAAC;AACvG,MAAM,CAAC,MAAM,mBAAmB,GAAG,wDAAwD,CAAC;AAC5F,MAAM,CAAC,MAAM,oBAAoB,GAAG,iEAAiE,CAAC;AACtG,MAAM,CAAC,MAAM,oBAAoB,GAAG,sEAAsE,CAAC;AAC3G,MAAM,CAAC,MAAM,oBAAoB,GAAG,kEAAkE,CAAC;AACvG,MAAM,CAAC,MAAM,uBAAuB,GAAG,iFAAiF,CAAC;AACzH,MAAM,CAAC,MAAM,sBAAsB,GAAG,yBAAyB,CAAC;AAChE,MAAM,CAAC,MAAM,sBAAsB,GAAG,uCAAuC,CAAC;AAC9E,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;mLASmJ,CAAC;AACpL,MAAM,CAAC,MAAM,oBAAoB,GAAG,+LAA+L,CAAC;AACpO,MAAM,CAAC,MAAM,cAAc,GAAG,oGAAoG,CAAC;AACnI,MAAM,CAAC,MAAM,wBAAwB,GAAG,6KAA6K,CAAC;AACtN,MAAM,CAAC,MAAM,0BAA0B,GAAG,+HAA+H,CAAC;AAC1K,MAAM,CAAC,MAAM,yBAAyB,GAAG,uRAAuR,CAAC;AACjU,MAAM,CAAC,MAAM,wBAAwB,GAAG,2dAA2d,CAAC;AACpgB,MAAM,CAAC,MAAM,2BAA2B,GAAG,wKAAwK,CAAC;AACpN,MAAM,CAAC,MAAM,2BAA2B,GAAG,sCAAsC,CAAC;AAClF,MAAM,CAAC,MAAM,oBAAoB,GAAG,yHAAyH,CAAC;AAC9J,MAAM,CAAC,MAAM,uBAAuB,GAAG,0GAA0G,CAAC;AAClJ,MAAM,CAAC,MAAM,2BAA2B,GAAG,sNAAsN,CAAC;AAClQ,MAAM,CAAC,MAAM,oBAAoB,GAAG,uEAAuE,CAAC;AAC5G,MAAM,CAAC,MAAM,4BAA4B,GAAG,8FAA8F,CAAC;AAC3I,MAAM,CAAC,MAAM,cAAc,GAAG,qIAAqI,CAAC;AACpK,MAAM,CAAC,MAAM,uBAAuB,GAAG,2FAA2F,CAAC;AACnI,MAAM,CAAC,MAAM,iBAAiB,GAAG,uHAAuH,CAAC;AAEzJ,MAAM,CAAC,MAAM,iBAAiB,GAAG,8EAA8E,CAAC;AAChH,MAAM,CAAC,MAAM,aAAa,GAAG,gGAAgG,CAAC;AAC9H,MAAM,CAAC,MAAM,iBAAiB,GAAG,2FAA2F,CAAC;AAE7H,wEAAwE;AAExE,MAAM,CAAC,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;uQAiBwO,CAAC;AAExQ,MAAM,CAAC,MAAM,eAAe,GAAG;;;;;;;;;4IAS6G,CAAC;AAE7I,MAAM,CAAC,MAAM,cAAc,GAAG;;;;2CAIa,CAAC;AAE5C,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;;mGAWmE,CAAC;AAEpG,MAAM,CAAC,MAAM,cAAc,GAAG,kGAAkG,CAAC;AAEjI,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;2FAGuD,CAAC;AAE5F,MAAM,CAAC,MAAM,qBAAqB,GAAG,8DAA8D,CAAC;AAEpG,MAAM,CAAC,MAAM,mBAAmB,GAAG,6EAA6E,CAAC;AAEjH,MAAM,CAAC,MAAM,cAAc,GAAG,0FAA0F,CAAC;AAEzH,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;EAalC,CAAC;AAEH,sEAAsE;AAEtE,MAAM,CAAC,MAAM,iBAAiB,GAAG,siBAAsiB,CAAC;AAExkB,MAAM,CAAC,MAAM,iBAAiB,GAAG,sOAAsO,CAAC;AAExQ,MAAM,CAAC,MAAM,eAAe,GAAG,yIAAyI,CAAC;AAEzK,MAAM,CAAC,MAAM,kBAAkB,GAAG,mMAAmM,CAAC;AAEtO,MAAM,CAAC,MAAM,kBAAkB,GAAG,4HAA4H,CAAC;AAE/J,MAAM,CAAC,MAAM,kBAAkB,GAAG,6EAA6E,CAAC;AAEhH,MAAM,CAAC,MAAM,yBAAyB,GAAG,sHAAsH,CAAC;AAEhK,MAAM,CAAC,MAAM,gBAAgB,GAAG,2CAA2C,CAAC;AAE5E,MAAM,CAAC,MAAM,uBAAuB,GAAG,yCAAyC,CAAC;AAEjF,MAAM,CAAC,MAAM,gBAAgB,GAAG,wNAAwN,CAAC;AAEzP,MAAM,CAAC,MAAM,cAAc,GAAG,0FAA0F,CAAC;AAEzH,MAAM,CAAC,MAAM,cAAc,GAAG,gxBAAgxB,CAAC;AAE/yB,uEAAuE;AAEvE,MAAM,CAAC,MAAM,0BAA0B,GAAG,mqBAAmqB,CAAC;AAE9sB,MAAM,CAAC,MAAM,wBAAwB,GAAG,yTAAyT,CAAC;AAElW,MAAM,CAAC,MAAM,iBAAiB,GAAG,yEAAyE,CAAC;AAE3G,MAAM,CAAC,MAAM,uBAAuB,GAAG,qHAAqH,CAAC;AAE7J,MAAM,CAAC,MAAM,yBAAyB,GAAG,8FAA8F,CAAC;AAExI,uEAAuE;AAEvE,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;;;CAUnC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oGA0G4D,CAAC;AAErG,MAAM,CAAC,MAAM,sBAAsB,GAAG,oSAAoS,CAAC;AAE3U,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;;;;;6DASsB,CAAC;AAE9D,MAAM,CAAC,MAAM,2BAA2B,GAAG;;;;;;wIAM6F,CAAC;AAEzI,MAAM,CAAC,MAAM,wBAAwB,GAAG,wSAAwS,CAAC;AAEjV,2EAA2E;AAC3E,EAAE;AACF,uEAAuE;AACvE,wEAAwE;AACxE,uEAAuE;AACvE,uEAAuE;AACvE,kEAAkE;AAClE,sEAAsE;AACtE,qBAAqB;AAErB,wCAAwC;AACxC,MAAM,CAAC,MAAM,mBAAmB,GAAG,4KAA4K,CAAC;AAEhN,MAAM,CAAC,MAAM,mBAAmB,GAAG,uMAAuM,CAAC;AAE3O,MAAM,CAAC,MAAM,cAAc,GAAG,kKAAkK,CAAC;AAEjM,MAAM,CAAC,MAAM,qBAAqB,GAAG,wOAAwO,CAAC;AAE9Q,uBAAuB;AACvB,MAAM,CAAC,MAAM,uBAAuB,GAAG,+YAA+Y,CAAC;AAEvb,MAAM,CAAC,MAAM,4BAA4B,GAAG,oUAAoU,CAAC;AAEjX,MAAM,CAAC,MAAM,yBAAyB,GAAG,qWAAqW,CAAC;AAE/Y,qBAAqB;AACrB,MAAM,CAAC,MAAM,qBAAqB,GAAG,6oBAA6oB,CAAC;AAEnrB,MAAM,CAAC,MAAM,0BAA0B,GAAG;;sXAE4U,CAAC;AAEvX,MAAM,CAAC,MAAM,qBAAqB,GAAG,0MAA0M,CAAC;AAEhP,MAAM,CAAC,MAAM,kBAAkB,GAAG,2EAA2E,CAAC;AAE9G,yBAAyB;AACzB,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;;sOAO8L,CAAC;AAEvO,MAAM,CAAC,MAAM,6BAA6B,GAAG;;+KAEkI,CAAC;AAEhL,MAAM,CAAC,MAAM,sBAAsB,GAAG,iEAAiE,CAAC;AAExG,MAAM,CAAC,MAAM,oBAAoB,GAAG,gOAAgO,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chaos.d.ts","sourceRoot":"","sources":["../../../src/registry/toolsets/chaos.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"chaos.d.ts","sourceRoot":"","sources":["../../../src/registry/toolsets/chaos.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAgB,MAAM,aAAa,CAAC;AA0dnE,eAAO,MAAM,YAAY,EAAE,iBAm4F1B,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { randomUUID } from "node:crypto";
|
|
2
|
+
import YAML from "yaml";
|
|
2
3
|
import { passthrough, ngExtract, chaosPageExtract, chaosExperimentListExtract, chaosInputSetListExtract, chaosAppMapPageExtract, chaosProbeListExtract, chaosInfraListExtract, chaosK8sInfraListExtract, chaosLoadTestListExtract, chaosLoadTestExtract, chaosHubListExtract, chaosDRTestListExtract, sdPageExtract, chaosRunTimeInputsExtract, chaosActionExtract, } from "../extractors.js";
|
|
3
4
|
import { descToolsetChaos,
|
|
4
5
|
// Resource descriptions
|
|
@@ -10,7 +11,7 @@ descRunExperiment, descStopExperiment, descDeleteExperiment, descEnableProbe, de
|
|
|
10
11
|
// Body schema descriptions
|
|
11
12
|
descBodyExperimentRun, descBodyNoBody, descBodyExperimentCreate, descBodyCreateFromTemplate, descBodyLoadtestDefinition, descBodyProbeEnable, descBodyProbeVerify, descBodyProbesInRun, descBodyProbeCreate,
|
|
12
13
|
// Field descriptions
|
|
13
|
-
descInputsetIdentity, descRuntimeInputs, descHubIdentity, descInfraType, descExperimentName, descExperimentIdentity, descInfraRef, descExperimentId, descInfraStatus, descLoadtestName, descLoadtestType, descLoadtestIdentity, descLoadtestDescription, descLoadtestTags, descLoadtestEnvId, descLoadtestInfraId, descLoadtestTargetType, descLoadtestTargetUrl, descLoadtestScript, descLoadtestUsers, descLoadtestDurationSec, descLoadtestRampUpSec, descLoadtestWorkerCount, descLoadtestScriptSource, descLoadtestScriptImage, descLoadtestScriptEntrypoint, descLoadtestLoadArgs, descHubIdentityExact, descHubName, descHubNameUpdate, descHubDescription, descHubDescriptionUpdate, descHubTags, descHubTagsReplace, descConnectorRef, descRepoName, descRepoBranch, descHubSearch, descIncludeAllScope, descTemplateSearch, descSortField, descSortAsc, descTags, descInfrastructure, descTemplateIdentity, descRevision, descRevision1, descRevision2, descRevisionToCompare, descFaultType, descFaultCategory, descFaultPermissions, descFaultIsEnterprise, descImportType, descExperimentDescription, descExperimentTags, descEntityTypeProbe, descEntityTypeAction, descEntityTypeFault, descPermissionsRequiredEnum, descOnlyTemplatisedFaults, descEnvironmentId, descK8sInfraStatus, descIncludeLegacyInfra, descSearchK8sInfra, descChaosEnabledInfraType, descInfraScope, descInfraAiEnabled, descSearchTermEnv, descSortEnv, descEnvironmentType, descGuardSearch, descGuardInfraType, descGuardTags, descGuardEnabled, descExperimentRunIdStop, descNotifyId, descForce, descIsEnabledFlag, descIsBulkUpdate, descVerifyFlag, descExperimentRunIds, descNotifyIds, descFaultIdentityParam, descIsEnterpriseFilter, descFaultSearch, descFaultListType, descFaultListInfraType, descFaultListInfrastructure, descFaultListTags, descFaultListCategory, descFaultListSortField, descFaultListSortAscending, descIsEnterpriseYaml, descIsEnterpriseVars, descIsEnterpriseRuns, descActionIdentityParam, descSearchActionsParam, descHubIdentityActions, descExperimentVariablesParam, descTasksParam, descEnvironmentIdCreate, descInfraIdCreate, descAccountIdBody, descOrgIdBody, descProjectIdBody, descSearchExperiments, descExperimentInfraId, descExperimentEnvironmentId, descExperimentIds, descExperimentStartDate, descExperimentEndDate, descExperimentTargetNetworkMapIds, descExperimentMyExperiments, descExperimentExcludeAutomation, descSearchProbes, descProbeIds, descProbeSortField, descProbeIdField, descProbeNameField, descProbePropertiesField, descRunPropertiesField, descDRTestSort, descCreateDRTest, descBodyDRTestCreate, descDRTestName, descDRTestIdentifier, descDRTestDescription, descDRTestObjective, descDRTestTags,
|
|
14
|
+
descInputsetIdentity, descRuntimeInputs, descHubIdentity, descInfraType, descExperimentName, descExperimentIdentity, descInfraRef, descExperimentId, descInfraStatus, descLoadtestName, descLoadtestType, descLoadtestIdentity, descLoadtestDescription, descLoadtestTags, descLoadtestEnvId, descLoadtestInfraId, descLoadtestTargetType, descLoadtestTargetUrl, descLoadtestScript, descLoadtestUsers, descLoadtestDurationSec, descLoadtestRampUpSec, descLoadtestWorkerCount, descLoadtestScriptSource, descLoadtestScriptImage, descLoadtestScriptEntrypoint, descLoadtestLoadArgs, descLoadtestHostUrl, descLoadtestRpsLimit, descLoadtestIterations, descLoadtestEnvVars, descHubIdentityExact, descHubName, descHubNameUpdate, descHubDescription, descHubDescriptionUpdate, descHubTags, descHubTagsReplace, descConnectorRef, descRepoName, descRepoBranch, descHubSearch, descIncludeAllScope, descTemplateSearch, descSortField, descSortAsc, descTags, descInfrastructure, descTemplateIdentity, descRevision, descRevision1, descRevision2, descRevisionToCompare, descFaultType, descFaultCategory, descFaultPermissions, descFaultIsEnterprise, descImportType, descExperimentDescription, descExperimentTags, descEntityTypeProbe, descEntityTypeAction, descEntityTypeFault, descPermissionsRequiredEnum, descOnlyTemplatisedFaults, descEnvironmentId, descK8sInfraStatus, descIncludeLegacyInfra, descSearchK8sInfra, descChaosEnabledInfraType, descInfraScope, descInfraAiEnabled, descSearchTermEnv, descSortEnv, descEnvironmentType, descGuardSearch, descGuardInfraType, descGuardTags, descGuardEnabled, descExperimentRunIdStop, descNotifyId, descForce, descIsEnabledFlag, descIsBulkUpdate, descVerifyFlag, descExperimentRunIds, descNotifyIds, descFaultIdentityParam, descIsEnterpriseFilter, descFaultSearch, descFaultListType, descFaultListInfraType, descFaultListInfrastructure, descFaultListTags, descFaultListCategory, descFaultListSortField, descFaultListSortAscending, descIsEnterpriseYaml, descIsEnterpriseVars, descIsEnterpriseRuns, descActionIdentityParam, descSearchActionsParam, descHubIdentityActions, descExperimentVariablesParam, descTasksParam, descEnvironmentIdCreate, descInfraIdCreate, descAccountIdBody, descOrgIdBody, descProjectIdBody, descSearchExperiments, descExperimentInfraId, descExperimentEnvironmentId, descExperimentIds, descExperimentStartDate, descExperimentEndDate, descExperimentTargetNetworkMapIds, descExperimentMyExperiments, descExperimentExcludeAutomation, descSearchProbes, descProbeIds, descProbeSortField, descProbeIdField, descProbeNameField, descProbePropertiesField, descRunPropertiesField, descDRTestSort, descCreateDRTest, descBodyDRTestCreate, descDRTestName, descDRTestIdentifier, descDRTestDescription, descDRTestObjective, descDRTestTags,
|
|
14
15
|
// Input set descriptions
|
|
15
16
|
descChaosInputSet, descListInputSets, descGetInputSet, descCreateInputSet, descUpdateInputSet, descDeleteInputSet, descInputSetIdentityField, descInputSetName, descInputSetDescription, descInputSetSpec, descIsIdentity,
|
|
16
17
|
// Component variable descriptions
|
|
@@ -59,6 +60,230 @@ function coerceBody(input) {
|
|
|
59
60
|
}
|
|
60
61
|
return raw;
|
|
61
62
|
}
|
|
63
|
+
/**
|
|
64
|
+
* Map ergonomic snake_case scalars to the canonical TemplateInput[] array the
|
|
65
|
+
* load-test backend expects. Only emits entries for values the caller provided
|
|
66
|
+
* (plus the three always-present run params and the K8s-only workerCount).
|
|
67
|
+
*/
|
|
68
|
+
function buildLoadtestInputs(b, opts) {
|
|
69
|
+
const inputs = [];
|
|
70
|
+
// Run params: always emitted (backend treats targetUsers as required).
|
|
71
|
+
const users = b.users != null ? b.users : 100;
|
|
72
|
+
const duration = b.duration_sec != null ? b.duration_sec : 600;
|
|
73
|
+
const rampUp = b.ramp_up_sec != null ? b.ramp_up_sec : 120;
|
|
74
|
+
inputs.push({ name: "targetUsers", value: users, type: "Integer", required: true });
|
|
75
|
+
inputs.push({ name: "durationSeconds", value: duration, type: "Integer" });
|
|
76
|
+
inputs.push({ name: "rampUpTimeSec", value: rampUp, type: "Integer" });
|
|
77
|
+
// workerCount is Kubernetes-only (0 = standalone, N > 0 = distributed).
|
|
78
|
+
if (opts.targetType === "kubernetes") {
|
|
79
|
+
const workerCount = b.worker_count != null ? b.worker_count : 0;
|
|
80
|
+
inputs.push({ name: "workerCount", value: workerCount, type: "Integer" });
|
|
81
|
+
}
|
|
82
|
+
// Target URL: present on every load test (backend treats it as the host under test).
|
|
83
|
+
const targetUrl = (b.target_url ?? b.targetUrl);
|
|
84
|
+
if (targetUrl != null) {
|
|
85
|
+
inputs.push({ name: "targetUrl", value: targetUrl, type: "String" });
|
|
86
|
+
}
|
|
87
|
+
// Image-mode tunables (Custom Image): scriptImage/scriptEntrypoint are
|
|
88
|
+
// mandatory in image mode (marked required), loadArgs is optional.
|
|
89
|
+
if (opts.scriptSource === "image") {
|
|
90
|
+
const scriptImage = (b.script_image ?? b.scriptImage);
|
|
91
|
+
if (scriptImage != null) {
|
|
92
|
+
inputs.push({ name: "scriptImage", value: scriptImage, type: "String", required: true });
|
|
93
|
+
}
|
|
94
|
+
const entrypoint = (b.script_entrypoint ?? b.scriptEntrypoint);
|
|
95
|
+
if (entrypoint != null) {
|
|
96
|
+
inputs.push({ name: "scriptEntrypoint", value: entrypoint, type: "String", required: true });
|
|
97
|
+
}
|
|
98
|
+
const loadArgs = (b.load_args ?? b.loadArgs);
|
|
99
|
+
if (loadArgs != null) {
|
|
100
|
+
inputs.push({ name: "loadArgs", value: loadArgs, type: "String" });
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
return inputs;
|
|
104
|
+
}
|
|
105
|
+
// ── K6-specific helpers ──────────────────────────────────────────────
|
|
106
|
+
// K6 is a Kubernetes-only load test runner. Script mode wraps the K6 JS source
|
|
107
|
+
// in a `toolConfig` object (rather than top-level `scriptContent` like Locust).
|
|
108
|
+
// Env vars and secret references live exclusively in `toolConfig.envVars`.
|
|
109
|
+
// Reserved K6 env-var names (case-insensitive). Mirrors
|
|
110
|
+
// loadTestManager/internal/domain/ReservedEnvVarNames; the frontend list is at
|
|
111
|
+
// hce-saas/web/src/services/loadTest/loadTestVariables.ts:337-372.
|
|
112
|
+
const RESERVED_K6_ENV_VAR_NAMES = new Set([
|
|
113
|
+
"RUN_ID", "LOAD_TEST_ID", "TARGET_USERS", "SPAWN_RATE", "SCRIPT_CONTENT_BASE64",
|
|
114
|
+
"TARGET_URL", "ACCOUNT_ID", "ORG_ID", "PROJECT_ID", "ENV_ID", "DURATION_SECONDS",
|
|
115
|
+
"CONTROL_PLANE_URL", "CONTROL_PLANE_TOKEN", "HARNESS_CUSTOM_VAR_NAMES",
|
|
116
|
+
"METRICS_PUSH_INTERVAL", "INFRA_ID", "ACCESS_KEY", "TENANT_ID",
|
|
117
|
+
"PYTHONPATH", "PATH", "HOME", "USER", "SHELL", "LANG", "TERM", "HOSTNAME",
|
|
118
|
+
"PWD", "LD_LIBRARY_PATH", "LD_PRELOAD", "TMPDIR", "TMP", "TEMP",
|
|
119
|
+
]);
|
|
120
|
+
const K6_ENV_VAR_KEY_REGEX = /^[A-Za-z_][A-Za-z0-9_]*$/;
|
|
121
|
+
// Build the HSM secret reference: account → "account.<id>", org → "org.<id>", project → "<id>".
|
|
122
|
+
// Matches the Harness UI convention (scope prefix encodes which secret manager the value lives in).
|
|
123
|
+
function buildSecretReference(secretId, scope) {
|
|
124
|
+
const prefix = scope === "account" ? "account." : scope === "org" ? "org." : "";
|
|
125
|
+
return `secrets.getValue("${prefix}${secretId}")`;
|
|
126
|
+
}
|
|
127
|
+
// Validate + project the structured env_vars input into the wire shape K6 expects.
|
|
128
|
+
// Each entry sets exactly one of:
|
|
129
|
+
// - { key, value } → literal env var
|
|
130
|
+
// - { key, secret_id, secret_scope?: "..." } → MCP builds the secrets.getValue(...) string
|
|
131
|
+
function buildK6EnvVars(raw) {
|
|
132
|
+
if (raw == null)
|
|
133
|
+
return [];
|
|
134
|
+
if (!Array.isArray(raw)) {
|
|
135
|
+
throw new Error("env_vars must be an array of {key, value | secret_id, secret_scope?} entries.");
|
|
136
|
+
}
|
|
137
|
+
const seen = new Set();
|
|
138
|
+
return raw.map((entry, idx) => {
|
|
139
|
+
const ev = entry;
|
|
140
|
+
const key = ev.key;
|
|
141
|
+
if (!key || typeof key !== "string") {
|
|
142
|
+
throw new Error(`env_vars[${idx}].key is required.`);
|
|
143
|
+
}
|
|
144
|
+
if (!K6_ENV_VAR_KEY_REGEX.test(key)) {
|
|
145
|
+
throw new Error(`env_vars[${idx}].key '${key}' is invalid: must match /^[A-Za-z_][A-Za-z0-9_]*$/.`);
|
|
146
|
+
}
|
|
147
|
+
if (RESERVED_K6_ENV_VAR_NAMES.has(key.toUpperCase())) {
|
|
148
|
+
throw new Error(`env_vars[${idx}].key '${key}' is a reserved name and cannot be used as a custom env var.`);
|
|
149
|
+
}
|
|
150
|
+
if (seen.has(key)) {
|
|
151
|
+
throw new Error(`env_vars[${idx}].key '${key}' is duplicated.`);
|
|
152
|
+
}
|
|
153
|
+
seen.add(key);
|
|
154
|
+
const hasValue = ev.value != null;
|
|
155
|
+
const hasSecretId = ev.secret_id != null;
|
|
156
|
+
if (hasValue === hasSecretId) {
|
|
157
|
+
throw new Error(`env_vars[${idx}] must set exactly one of 'value' (literal) or 'secret_id' (with optional secret_scope).`);
|
|
158
|
+
}
|
|
159
|
+
if (hasSecretId) {
|
|
160
|
+
const scopeRaw = ev.secret_scope ?? "project";
|
|
161
|
+
if (scopeRaw !== "account" && scopeRaw !== "org" && scopeRaw !== "project") {
|
|
162
|
+
throw new Error(`env_vars[${idx}].secret_scope '${scopeRaw}' must be 'account', 'org', or 'project'.`);
|
|
163
|
+
}
|
|
164
|
+
return { key, value: buildSecretReference(ev.secret_id, scopeRaw), secret: true };
|
|
165
|
+
}
|
|
166
|
+
return { key, value: String(ev.value) };
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
// Strip path/query/fragment, keep <protocol>//<host>. Mirrors K6LoadTestService's
|
|
170
|
+
// resolveBaseHost (web/src/services/loadTest/K6LoadTestService.ts:117-129).
|
|
171
|
+
function parseHostOrigin(rawUrl) {
|
|
172
|
+
if (!rawUrl)
|
|
173
|
+
return undefined;
|
|
174
|
+
try {
|
|
175
|
+
const u = new URL(rawUrl);
|
|
176
|
+
return `${u.protocol}//${u.host}`;
|
|
177
|
+
}
|
|
178
|
+
catch {
|
|
179
|
+
return rawUrl;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
// Build the K6 `toolConfig` object for script or image mode (UI mode is deferred).
|
|
183
|
+
// Script mode: enforces the mandatory `export default function` rule client-side so the
|
|
184
|
+
// agent gets a clear error before the API trip. Image mode: wires the prebuilt container
|
|
185
|
+
// image (+ optional entrypoint) into customImage. hostUrl / options / envVars are shared.
|
|
186
|
+
function buildK6ToolConfig(b, args) {
|
|
187
|
+
const hostUrl = b.host_url ??
|
|
188
|
+
b.hostUrl ??
|
|
189
|
+
parseHostOrigin(args.targetUrl);
|
|
190
|
+
const rpsLimit = b.rps_limit != null ? b.rps_limit : undefined;
|
|
191
|
+
const envVars = buildK6EnvVars(b.env_vars);
|
|
192
|
+
const options = {};
|
|
193
|
+
if (rpsLimit != null && rpsLimit > 0)
|
|
194
|
+
options.rpsLimit = rpsLimit;
|
|
195
|
+
// Build the mode-specific payload first; shared keys (hostUrl, options, envVars,
|
|
196
|
+
// iterations) are appended after so we get a stable key order matching the studio.
|
|
197
|
+
let toolConfig;
|
|
198
|
+
if (args.scriptSource === "image") {
|
|
199
|
+
// Custom Image: image + optional entrypoint live in toolConfig.customImage.
|
|
200
|
+
// Note: load_args is NOT part of customImage for K6 — it rides only in inputs[]
|
|
201
|
+
// (matches K6LoadTestService.ts:487-495 where customImage only has image/entrypoint).
|
|
202
|
+
const scriptImage = (b.script_image ?? b.scriptImage);
|
|
203
|
+
if (scriptImage == null) {
|
|
204
|
+
// Defensive — the early image-mode gate in bodyBuilder already throws this.
|
|
205
|
+
throw new Error("K6 image mode requires 'script_image'.");
|
|
206
|
+
}
|
|
207
|
+
const customImage = { image: scriptImage };
|
|
208
|
+
const entrypoint = (b.script_entrypoint ?? b.scriptEntrypoint);
|
|
209
|
+
if (entrypoint != null)
|
|
210
|
+
customImage.entrypoint = entrypoint;
|
|
211
|
+
toolConfig = { mode: "image", customImage };
|
|
212
|
+
}
|
|
213
|
+
else {
|
|
214
|
+
// Script mode: base64 JS source. Mandatory client-side rule (matches Harness UI:
|
|
215
|
+
// validateScriptContent at K6LoadTestService.ts:767-774). Substring check (not
|
|
216
|
+
// full AST) matches the UI exactly.
|
|
217
|
+
if (args.script == null) {
|
|
218
|
+
throw new Error("K6 script mode requires 'script' (the raw JavaScript K6 source).");
|
|
219
|
+
}
|
|
220
|
+
if (!args.script.includes("export default")) {
|
|
221
|
+
throw new Error("K6 script must export a default function (export default function ...).");
|
|
222
|
+
}
|
|
223
|
+
toolConfig = {
|
|
224
|
+
mode: "script",
|
|
225
|
+
scriptContent: Buffer.from(args.script, "utf8").toString("base64"),
|
|
226
|
+
};
|
|
227
|
+
// iterations is K6 script-mode-only (matches K6LoadTestService.ts:483-484).
|
|
228
|
+
const iterations = b.iterations != null ? b.iterations : undefined;
|
|
229
|
+
if (iterations != null && iterations > 0)
|
|
230
|
+
toolConfig.iterations = iterations;
|
|
231
|
+
}
|
|
232
|
+
if (hostUrl)
|
|
233
|
+
toolConfig.hostUrl = hostUrl;
|
|
234
|
+
if (Object.keys(options).length > 0)
|
|
235
|
+
toolConfig.options = options;
|
|
236
|
+
if (envVars.length > 0)
|
|
237
|
+
toolConfig.envVars = envVars;
|
|
238
|
+
return toolConfig;
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Build the canonical LoadTest YAML manifest. Mirrors the studio's
|
|
242
|
+
* formDataToManifest shape (kind: LoadTest, apiVersion: v1alpha1, spec.{...}).
|
|
243
|
+
*
|
|
244
|
+
* scriptContent inside the YAML is PLAIN TEXT (so the manifest is human-
|
|
245
|
+
* readable); only the JSON request body's top-level scriptContent is base64.
|
|
246
|
+
* Caller base64-encodes the returned string into the `yaml` request field.
|
|
247
|
+
*/
|
|
248
|
+
function buildLoadtestYamlManifest(args) {
|
|
249
|
+
const infraType = args.targetType === "kubernetes" ? "kubernetes" : "linux";
|
|
250
|
+
const manifest = {
|
|
251
|
+
kind: "LoadTest",
|
|
252
|
+
apiVersion: "v1alpha1",
|
|
253
|
+
name: args.name,
|
|
254
|
+
};
|
|
255
|
+
if (args.description)
|
|
256
|
+
manifest.description = args.description;
|
|
257
|
+
if (args.tags && args.tags.length)
|
|
258
|
+
manifest.tags = args.tags;
|
|
259
|
+
const spec = {
|
|
260
|
+
identity: args.identity,
|
|
261
|
+
toolType: args.toolType,
|
|
262
|
+
infraType,
|
|
263
|
+
targetType: args.targetType,
|
|
264
|
+
scriptSource: args.scriptSource,
|
|
265
|
+
};
|
|
266
|
+
// Locust inline only: readable scriptContent at the manifest root (plain text).
|
|
267
|
+
// K6 keeps the script inside spec.toolConfig instead.
|
|
268
|
+
if (args.toolType === "Locust" && args.scriptSource === "inline" && args.script) {
|
|
269
|
+
spec.scriptContent = args.script;
|
|
270
|
+
}
|
|
271
|
+
spec.infraId = args.infraIdentifier;
|
|
272
|
+
spec.envId = args.environmentIdentifier;
|
|
273
|
+
spec.inputs = args.inputs;
|
|
274
|
+
// K6: emit spec.toolConfig with PLAIN TEXT scriptContent (decode the base64 from
|
|
275
|
+
// the wire-shape toolConfig so the YAML view is human-readable). Other
|
|
276
|
+
// toolConfig keys (mode, hostUrl, options, envVars, iterations) pass through.
|
|
277
|
+
if (args.toolType === "K6" && args.k6ToolConfig) {
|
|
278
|
+
const tc = { ...args.k6ToolConfig };
|
|
279
|
+
if (typeof tc.scriptContent === "string" && args.script) {
|
|
280
|
+
tc.scriptContent = args.script; // plain text for YAML readability
|
|
281
|
+
}
|
|
282
|
+
spec.toolConfig = tc;
|
|
283
|
+
}
|
|
284
|
+
manifest.spec = spec;
|
|
285
|
+
return YAML.stringify(manifest);
|
|
286
|
+
}
|
|
62
287
|
export const chaosToolset = {
|
|
63
288
|
name: "chaos",
|
|
64
289
|
displayName: "Chaos Engineering",
|
|
@@ -1322,79 +1547,114 @@ export const chaosToolset = {
|
|
|
1322
1547
|
bodyBuilder: (input) => {
|
|
1323
1548
|
const b = coerceBody(input);
|
|
1324
1549
|
const name = b.name ?? "";
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
throw new Error(`Invalid load test name '${name}': only lowercase letters, numbers and dashes are allowed.`);
|
|
1550
|
+
if (!name) {
|
|
1551
|
+
throw new Error("name is required.");
|
|
1328
1552
|
}
|
|
1553
|
+
// identity is the slug-constrained key; auto-derive from name when omitted.
|
|
1554
|
+
// The display name is permissive (any non-empty string) — only the identity
|
|
1555
|
+
// must be a slug. We strip non-alphanumerics from name as a sensible default;
|
|
1556
|
+
// a fully-blank slug falls back to a UUID so we never write an empty id.
|
|
1329
1557
|
const slug = (s) => s.replace(/[^a-zA-Z0-9]/g, "");
|
|
1558
|
+
const identity = b.identity || slug(name) || randomUUID();
|
|
1559
|
+
if (!/^[a-zA-Z0-9_]+$/.test(identity)) {
|
|
1560
|
+
throw new Error(`Invalid identity '${identity}': only letters, numbers and underscores are allowed (derived from name when omitted).`);
|
|
1561
|
+
}
|
|
1330
1562
|
const targetType = b.target_type ?? "machine-chaos-linux";
|
|
1331
|
-
const
|
|
1332
|
-
const
|
|
1333
|
-
const
|
|
1334
|
-
const targetUrl = b.target_url ?? b.targetUrl;
|
|
1563
|
+
const environmentIdentifier = (b.environment_id ?? b.environmentIdentifier);
|
|
1564
|
+
const infraIdentifier = (b.infra_id ?? b.infraIdentifier);
|
|
1565
|
+
const targetUrl = (b.target_url ?? b.targetUrl);
|
|
1335
1566
|
const script = b.script;
|
|
1336
1567
|
const scriptImage = (b.script_image ?? b.scriptImage);
|
|
1337
|
-
//
|
|
1338
|
-
// "image" when an image is supplied, otherwise "inline" (Python script).
|
|
1568
|
+
// Explicit script_source wins, else infer "image" when an image is supplied.
|
|
1339
1569
|
const scriptSource = b.script_source ?? (scriptImage != null ? "image" : "inline");
|
|
1570
|
+
// Mode-specific required fields (fail loudly before we touch the wire).
|
|
1571
|
+
// Tool-agnostic message: Locust = Python locust source, K6 = JavaScript with 'export default'.
|
|
1572
|
+
// The K6-specific 'export default' rule is enforced later in buildK6ToolConfig.
|
|
1573
|
+
if (scriptSource === "inline" && script == null) {
|
|
1574
|
+
throw new Error("script is required when script_source='inline'.");
|
|
1575
|
+
}
|
|
1576
|
+
if (scriptSource === "image" && scriptImage == null) {
|
|
1577
|
+
throw new Error("script_image is required when script_source='image'.");
|
|
1578
|
+
}
|
|
1579
|
+
// Tool type: Locust (default) or K6. K6 is Kubernetes-only and supports
|
|
1580
|
+
// script and image modes (UI mode is deferred).
|
|
1581
|
+
const toolType = (b.tool_type ?? "Locust");
|
|
1582
|
+
if (toolType !== "Locust" && toolType !== "K6") {
|
|
1583
|
+
throw new Error(`tool_type '${toolType}' must be 'Locust' or 'K6'.`);
|
|
1584
|
+
}
|
|
1585
|
+
if (toolType === "K6" && targetType !== "kubernetes") {
|
|
1586
|
+
throw new Error("K6 load tests require target_type='kubernetes' (LinuxVM is not supported).");
|
|
1587
|
+
}
|
|
1588
|
+
// Normalise tags (accept array or comma-separated string; default []).
|
|
1589
|
+
const rawTags = b.tags;
|
|
1590
|
+
const tags = Array.isArray(rawTags)
|
|
1591
|
+
? rawTags
|
|
1592
|
+
: typeof rawTags === "string"
|
|
1593
|
+
? rawTags.split(",").map((t) => t.trim()).filter(Boolean)
|
|
1594
|
+
: [];
|
|
1595
|
+
// Build the canonical inputs[] array (well-known tunables → TemplateInput[]).
|
|
1596
|
+
// inputs[] is identical between Locust and K6 script/image modes.
|
|
1597
|
+
const inputs = buildLoadtestInputs(b, { targetType, scriptSource });
|
|
1598
|
+
// K6 wraps the script in a toolConfig object (no top-level scriptContent).
|
|
1599
|
+
// Built up-front so the same value drives both the JSON body and the YAML view.
|
|
1600
|
+
let k6ToolConfig;
|
|
1601
|
+
if (toolType === "K6") {
|
|
1602
|
+
k6ToolConfig = buildK6ToolConfig(b, { scriptSource, script, targetUrl });
|
|
1603
|
+
}
|
|
1604
|
+
// Build the canonical LoadTest YAML manifest, then base64-encode for the wire.
|
|
1605
|
+
// The manifest carries plain-text scriptContent (Locust inline) OR plain-text
|
|
1606
|
+
// toolConfig.scriptContent (K6), so the YAML view is human-readable; the JSON
|
|
1607
|
+
// body's base64 lives only on the wire.
|
|
1608
|
+
const yamlManifest = buildLoadtestYamlManifest({
|
|
1609
|
+
name,
|
|
1610
|
+
description: b.description,
|
|
1611
|
+
tags,
|
|
1612
|
+
identity,
|
|
1613
|
+
toolType,
|
|
1614
|
+
targetType,
|
|
1615
|
+
scriptSource,
|
|
1616
|
+
script,
|
|
1617
|
+
k6ToolConfig,
|
|
1618
|
+
environmentIdentifier: environmentIdentifier,
|
|
1619
|
+
infraIdentifier: infraIdentifier,
|
|
1620
|
+
inputs,
|
|
1621
|
+
});
|
|
1340
1622
|
const body = {
|
|
1341
|
-
identity
|
|
1623
|
+
identity,
|
|
1342
1624
|
name,
|
|
1625
|
+
description: b.description ?? "",
|
|
1626
|
+
tags,
|
|
1343
1627
|
environmentIdentifier,
|
|
1344
1628
|
infraIdentifier,
|
|
1345
|
-
targetType,
|
|
1346
|
-
toolType: b.tool_type ?? "Locust",
|
|
1347
|
-
targetUrl,
|
|
1348
1629
|
scriptSource,
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1630
|
+
targetType,
|
|
1631
|
+
toolType,
|
|
1632
|
+
inputs,
|
|
1633
|
+
yaml: Buffer.from(yamlManifest, "utf8").toString("base64"),
|
|
1352
1634
|
};
|
|
1353
|
-
//
|
|
1354
|
-
//
|
|
1355
|
-
//
|
|
1356
|
-
//
|
|
1357
|
-
//
|
|
1635
|
+
// Top-level scriptContent rules:
|
|
1636
|
+
// - Locust inline: base64 of the raw Python script.
|
|
1637
|
+
// - Locust image: omitted (script_image rides in inputs[]).
|
|
1638
|
+
// - K6 script: OMITTED at top level — the K6 script lives in
|
|
1639
|
+
// toolConfig.scriptContent only (top-level would be
|
|
1640
|
+
// treated as a Locust-style script and double-encoded).
|
|
1641
|
+
// - K6 image: not yet supported (rejected earlier).
|
|
1642
|
+
if (toolType === "Locust" && scriptSource === "inline") {
|
|
1643
|
+
body.scriptContent = Buffer.from(script, "utf8").toString("base64");
|
|
1644
|
+
}
|
|
1645
|
+
if (toolType === "K6" && k6ToolConfig) {
|
|
1646
|
+
body.toolConfig = k6ToolConfig;
|
|
1647
|
+
}
|
|
1648
|
+
// Emit snake_case aliases for the registry's required-field validator (which
|
|
1649
|
+
// checks the built body against the snake_case bodySchema field names). The
|
|
1650
|
+
// load-test backend reads the camelCase / inputs[] keys and ignores extras
|
|
1651
|
+
// (same pattern as chaos_action create).
|
|
1358
1652
|
if (environmentIdentifier != null)
|
|
1359
1653
|
body.environment_id = environmentIdentifier;
|
|
1360
1654
|
if (infraIdentifier != null)
|
|
1361
1655
|
body.infra_id = infraIdentifier;
|
|
1362
1656
|
if (targetUrl != null)
|
|
1363
1657
|
body.target_url = targetUrl;
|
|
1364
|
-
if (b.description != null)
|
|
1365
|
-
body.description = b.description;
|
|
1366
|
-
if (tags != null) {
|
|
1367
|
-
body.tags = Array.isArray(tags)
|
|
1368
|
-
? tags
|
|
1369
|
-
: tags.split(",").map((t) => t.trim()).filter(Boolean);
|
|
1370
|
-
}
|
|
1371
|
-
if (scriptSource === "image") {
|
|
1372
|
-
// Custom Image mode (Kubernetes): prebuilt container image as the source.
|
|
1373
|
-
if (scriptImage == null) {
|
|
1374
|
-
throw new Error("script_image is required when script_source='image'.");
|
|
1375
|
-
}
|
|
1376
|
-
body.scriptImage = scriptImage;
|
|
1377
|
-
const entrypoint = b.script_entrypoint ?? b.scriptEntrypoint;
|
|
1378
|
-
if (entrypoint != null)
|
|
1379
|
-
body.scriptEntrypoint = entrypoint;
|
|
1380
|
-
const loadArgs = b.load_args ?? b.loadArgs;
|
|
1381
|
-
if (loadArgs != null)
|
|
1382
|
-
body.loadArgs = loadArgs;
|
|
1383
|
-
}
|
|
1384
|
-
else {
|
|
1385
|
-
// Inline (Python script) mode: base64-encode the raw locust script.
|
|
1386
|
-
if (script == null) {
|
|
1387
|
-
throw new Error("script is required when script_source='inline' (the raw Python locust script).");
|
|
1388
|
-
}
|
|
1389
|
-
body.scriptContent = Buffer.from(script, "utf8").toString("base64");
|
|
1390
|
-
}
|
|
1391
|
-
// Kubernetes always carries a worker count (0 = standalone, N = distributed).
|
|
1392
|
-
if (targetType === "kubernetes") {
|
|
1393
|
-
const workerCount = b.worker_count != null ? b.worker_count : 0;
|
|
1394
|
-
body.variables = {
|
|
1395
|
-
workerCount: { type: "fixed", valueType: "int", value: workerCount },
|
|
1396
|
-
};
|
|
1397
|
-
}
|
|
1398
1658
|
return body;
|
|
1399
1659
|
},
|
|
1400
1660
|
responseExtractor: chaosLoadTestExtract,
|
|
@@ -1420,6 +1680,10 @@ export const chaosToolset = {
|
|
|
1420
1680
|
{ name: "duration_sec", type: "number", required: false, description: descLoadtestDurationSec },
|
|
1421
1681
|
{ name: "ramp_up_sec", type: "number", required: false, description: descLoadtestRampUpSec },
|
|
1422
1682
|
{ name: "worker_count", type: "number", required: false, description: descLoadtestWorkerCount },
|
|
1683
|
+
{ name: "host_url", type: "string", required: false, description: descLoadtestHostUrl },
|
|
1684
|
+
{ name: "rps_limit", type: "number", required: false, description: descLoadtestRpsLimit },
|
|
1685
|
+
{ name: "iterations", type: "number", required: false, description: descLoadtestIterations },
|
|
1686
|
+
{ name: "env_vars", type: "array", required: false, description: descLoadtestEnvVars },
|
|
1423
1687
|
],
|
|
1424
1688
|
},
|
|
1425
1689
|
},
|
|
@@ -1438,6 +1702,9 @@ export const chaosToolset = {
|
|
|
1438
1702
|
path: `${CHAOS_LOADTEST}/v1/load-tests/{loadtestId}/runs`,
|
|
1439
1703
|
operationPolicy: { risk: "high_write", retryPolicy: "do_not_retry" },
|
|
1440
1704
|
pathParams: { loadtest_id: "loadtestId" },
|
|
1705
|
+
// TODO(runtime-inputs): accept { values: TemplateInputMinimum[] } when runtime
|
|
1706
|
+
// inputs ('<+input>' sentinel) are added (see deferred follow-up plan). The empty
|
|
1707
|
+
// body is correct while runtime inputs are unsupported on the create side.
|
|
1441
1708
|
bodyBuilder: () => ({}),
|
|
1442
1709
|
responseExtractor: passthrough,
|
|
1443
1710
|
actionDescription: descRunLoadtest,
|