browserstack-node-sdk 1.27.3 → 1.28.1

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 (117) hide show
  1. package/ats/src/CFTemplates/aws-eks-cluster-dep.yaml +1 -1
  2. package/ats/src/cloudproviders/AWS.js +1 -0
  3. package/ats/src/cloudproviders/Azure.js +1 -0
  4. package/ats/src/cloudproviders/CloudProvider.js +1 -0
  5. package/ats/src/cloudproviders/GoogleCloudProvider.js +1 -0
  6. package/ats/src/cloudproviders/gcs.js +1 -0
  7. package/ats/src/cloudproviders/utils.js +1 -0
  8. package/ats/src/commands/configure.js +1 -1
  9. package/ats/src/commands/connect.js +1 -1
  10. package/ats/src/commands/connect_commands/grid.js +1 -1
  11. package/ats/src/commands/create.js +1 -1
  12. package/ats/src/commands/create_commands/grid.js +1 -1
  13. package/ats/src/commands/delete.js +1 -1
  14. package/ats/src/commands/delete_commands/grid.js +1 -1
  15. package/ats/src/commands/init.js +1 -1
  16. package/ats/src/commands/list.js +1 -1
  17. package/ats/src/commands/list_commands/grid_profiles.js +1 -1
  18. package/ats/src/commands/list_commands/grids.js +1 -1
  19. package/ats/src/config/constants.js +1 -1
  20. package/ats/src/config/logger.js +1 -1
  21. package/ats/src/index.js +1 -1
  22. package/ats/src/templates/azureresources/akscluster.json +134 -0
  23. package/ats/src/templates/azureresources/federatedidentityhub.json +50 -0
  24. package/ats/src/templates/azureresources/federatedidentitynode.json +50 -0
  25. package/ats/src/templates/azureresources/managedidentity.json +49 -0
  26. package/ats/src/templates/azureresources/storageaccount.json +92 -0
  27. package/ats/src/templates/cert-manager/cert-manager.yaml +1140 -0
  28. package/ats/src/templates/cert-manager/clusterissuer.yaml +21 -0
  29. package/ats/src/templates/cert-manager/crds.yaml +4468 -0
  30. package/ats/src/templates/default-service-account.yaml +5 -0
  31. package/ats/src/templates/gcpresources/KubeConfigTemplate.yaml +23 -0
  32. package/ats/src/templates/gcpresources/gkecluster.json +92 -0
  33. package/ats/src/templates/gcpresources/regionmap.json +198 -0
  34. package/ats/src/templates/hub-deployment.yaml +6 -0
  35. package/ats/src/templates/hub-service.yaml +1 -1
  36. package/ats/src/templates/ingress.yaml +20 -0
  37. package/ats/src/templates/nginx/helper.yaml +333 -0
  38. package/ats/src/templates/nginx/pods-and-services.yaml +315 -0
  39. package/ats/src/templates/nginx/private-pods-and-services.yaml +184 -0
  40. package/ats/src/utils/AWSUtils.js +1 -1
  41. package/ats/src/utils/createAutoscalerStack.js +1 -1
  42. package/ats/src/utils/createClusterStack.js +1 -1
  43. package/ats/src/utils/createk8sClient.js +1 -1
  44. package/ats/src/utils/deleteStack.js +1 -1
  45. package/ats/src/utils/gridComponents.js +1 -1
  46. package/ats/src/utils/hstUtils.js +1 -1
  47. package/ats/src/utils/instrumentationUtils.js +1 -1
  48. package/ats/src/utils/userInput.js +1 -1
  49. package/ats/src/utils/utilityMethods.js +1 -1
  50. package/ats/src/utils/webSocketUtils.js +1 -1
  51. package/package.json +1 -1
  52. package/src/bin/codeceptjs/BrowserStackPlugin.js +1 -1
  53. package/src/bin/codeceptjs/command.js +1 -1
  54. package/src/bin/cucumber-js/command.js +1 -1
  55. package/src/bin/cucumber-js/formatter/custom_formatter.js +1 -1
  56. package/src/bin/cucumber-js/formatter/custom_formatter_old_versions.js +1 -1
  57. package/src/bin/cucumber-js/test.setup.js +1 -1
  58. package/src/bin/cucumber-js/test_old.setup.js +1 -1
  59. package/src/bin/cucumber-js/timeout.setup.js +1 -1
  60. package/src/bin/jest/command.js +1 -1
  61. package/src/bin/jest/customEnvironment.js +1 -1
  62. package/src/bin/jest/customTestRunnerTemplate.js +1 -1
  63. package/src/bin/jest/jest.setup.js +1 -1
  64. package/src/bin/jest/test_before.setup.js +1 -1
  65. package/src/bin/launcher/launcher.js +1 -1
  66. package/src/bin/mocha/accessibility-automation/helper.js +1 -1
  67. package/src/bin/mocha/bstack-reporter/customReporter.js +1 -1
  68. package/src/bin/mocha/command.js +1 -1
  69. package/src/bin/mocha/test-observability/builderPatch.js +1 -1
  70. package/src/bin/mocha/test-observability/data-hooks.js +1 -1
  71. package/src/bin/mocha/test-observability/mochaUtils.js +1 -1
  72. package/src/bin/mocha/test.setup.js +1 -1
  73. package/src/bin/nightwatch/command.js +1 -1
  74. package/src/bin/playwright/accessibility-helper.js +1 -1
  75. package/src/bin/playwright/command.js +1 -1
  76. package/src/bin/playwright/globalSetup.js +1 -1
  77. package/src/bin/playwright/mock-process.js +1 -1
  78. package/src/bin/playwright/reporter/pwUtils.js +1 -1
  79. package/src/bin/playwright/reporter/reporter.js +1 -1
  80. package/src/bin/playwright/reporter/test-details.js +1 -1
  81. package/src/bin/runner.js +1 -1
  82. package/src/bin/setup.js +1 -1
  83. package/src/bin/test-runner/index.js +1 -1
  84. package/src/bin/test-runner/runTest.js +1 -1
  85. package/src/bin/test-runner/testWorker.js +1 -1
  86. package/src/bin/utils/constants.js +1 -1
  87. package/src/bin/utils/log4jsAppender.js +1 -1
  88. package/src/bin/utils/logPatcher.js +1 -1
  89. package/src/bin/utils/logReportingAPI.js +1 -1
  90. package/src/bin/vanilla-js/command.js +1 -1
  91. package/src/helpers/BrowserStackSetup.js +1 -1
  92. package/src/helpers/accessibility-automation/constants.js +1 -1
  93. package/src/helpers/accessibility-automation/helper.js +1 -1
  94. package/src/helpers/ats/constants.js +1 -0
  95. package/src/helpers/ats/helper.js +1 -0
  96. package/src/helpers/capsMapping.js +1 -1
  97. package/src/helpers/helper.js +1 -1
  98. package/src/helpers/logger.js +1 -1
  99. package/src/helpers/patchHelpers.js +1 -1
  100. package/src/helpers/percy/Percy.js +1 -0
  101. package/src/helpers/percy/PercyBinary.js +1 -0
  102. package/src/helpers/percy/PercyCaptureMap.js +1 -0
  103. package/src/helpers/percy/PercyCaptureModes.js +1 -0
  104. package/src/helpers/percy/PercySDK.js +1 -0
  105. package/src/helpers/percy/index.js +1 -0
  106. package/src/helpers/request-spy.js +1 -1
  107. package/src/helpers/setKeepAlive.js +1 -1
  108. package/src/helpers/test-observability/constants.js +1 -1
  109. package/src/helpers/test-observability/error-handler.js +1 -1
  110. package/src/helpers/test-observability/performance-tester.js +1 -1
  111. package/src/helpers/test-observability/requestQueueHandler.js +1 -1
  112. package/src/helpers/test-observability/sessionHandler.js +1 -1
  113. package/src/helpers/test-observability/utils.js +1 -1
  114. package/src/helpers/w3cMapping.js +1 -1
  115. package/src/hubAllocationMethods.js +1 -1
  116. package/src/index.js +1 -1
  117. package/ats/src/config/instanceTypes.json +0 -554
@@ -1 +1 @@
1
- var a11_0x52270a=a11_0x46f7;(function(_0x89988c,_0x2bad2f){var _0x48369b=a11_0x46f7,_0x15ba79=_0x89988c();while(!![]){try{var _0x526cdf=-parseInt(_0x48369b(0xfc))/0x1+-parseInt(_0x48369b(0xf6))/0x2*(parseInt(_0x48369b(0xf9))/0x3)+-parseInt(_0x48369b(0xee))/0x4*(-parseInt(_0x48369b(0xf8))/0x5)+-parseInt(_0x48369b(0x115))/0x6*(-parseInt(_0x48369b(0x12a))/0x7)+parseInt(_0x48369b(0x10b))/0x8*(parseInt(_0x48369b(0xec))/0x9)+-parseInt(_0x48369b(0xeb))/0xa+parseInt(_0x48369b(0x105))/0xb;if(_0x526cdf===_0x2bad2f)break;else _0x15ba79['push'](_0x15ba79['shift']());}catch(_0x283857){_0x15ba79['push'](_0x15ba79['shift']());}}}(a11_0x3915,0x6ce3d),require(a11_0x52270a(0xef))[a11_0x52270a(0x10a)](),exports[a11_0x52270a(0xff)]=process['env'][a11_0x52270a(0xff)]||a11_0x52270a(0x10e),exports[a11_0x52270a(0x138)]=process[a11_0x52270a(0x135)]['BS_API_URL']||a11_0x52270a(0x103),exports[a11_0x52270a(0x11e)]=process['env'][a11_0x52270a(0x11e)]||'grid-api.browserstack.com',exports[a11_0x52270a(0x128)]=a11_0x52270a(0x12e)+this['AG_API_URL']+a11_0x52270a(0x116),exports['CP_CONFIG_FILE']=a11_0x52270a(0x13a),exports['IAM_USER_NAME']=a11_0x52270a(0xe9),exports[a11_0x52270a(0xf5)]=a11_0x52270a(0x11d),exports['AWS']=a11_0x52270a(0xfb),exports[a11_0x52270a(0xfd)]=a11_0x52270a(0xf7),exports[a11_0x52270a(0x11c)]=a11_0x52270a(0xf2));var a11_0x10dbb7={};a11_0x10dbb7[a11_0x52270a(0x117)]=a11_0x52270a(0xfe),a11_0x10dbb7[a11_0x52270a(0x123)]=a11_0x52270a(0x126);var a11_0xceab5c={};function a11_0x3915(){var _0x86b348=['CLI_RUN_STARTED','Value','connect','success','BrowserStack','LOG','WS_ENDPOINT','LINK_MESSAGE','91ZRmCbf','Use\x20\x22browserstack-cli\x20ats\x20<command_group>\x20-h/--help\x22\x20for\x20more\x20options\x20available\x20about\x20Automate\x20{TurboScale}.','\x0a\x0aFind\x20more\x20information\x20at:\x20https://browserstack.com/docs/automate-turboscale/references/browserstack-cli','error','wss://','delete','configure','global_registry','grid','RESOURCES','COMMON_HST_TAGS','env','HELP_FOOTER_MESSAGE','SUPPORTED_CLOUD_PROVIDERS','BS_API_URL','\x0aCreate\x20and\x20Manage\x20scalable\x20browser\x20automation\x20grids\x20for\x20Functional\x20Testing.','credentials','\x0aThis\x20command\x20will\x20take\x20you\x20through\x20the\x20configuration\x20of\x20BrowserStack\x20CLI.','BrowserStackIAMUser','log','7148240KbKXMP','369XsIvNL','cliRunFinished','24FldXfI','dotenv','list','\x0aThis\x20command\x20will\x20list\x20down\x20the\x20resources\x20created\x20on\x20Automate\x20{TurboScale}.','BSTACK-ATS-CLUSTER-AUTOSCALER','\x0aThis\x20command\x20will\x20list\x20down\x20the\x20grids\x20created.','messageTypes','DEFAULT_GRID_NAME','226Bhpuaf','BSTACK-ATS-CLUSTER','210605rpVQTK','14229XtugbM','RAW_ARGS_REGEX','aws','788425PlJrSL','CLUSTER_DEP_STACK_NAME','browserstack:managedBy','DASHBOARD_ENDPOINT','\x0aThis\x20will\x20help\x20create\x20a\x20new\x20Automation\x20grid.','\x0aThis\x20will\x20connect\x20the\x20grid\x20with\x20existing\x20VPC.','WARNING','api.browserstack.com','BrowserStack-Automate-TurboScale','7427640cdRfeY','REDACTED','WS_EVENTS','init','warning','config','157448GhbGnq','\x0aThis\x20command\x20will\x20take\x20you\x20through\x20the\x20initialisation\x20of\x20BrowserStack\x20CLI.','info','grid.browserstack.com','GRID_URL','ERROR','AWS_INSTANCE_TYPE_LIST','browserstack:service','create','INFO','346308BsAOvx','/ws?username=<UsernamePlaceholder>&password=<PasswordPlaceholder>','Key','CLI_RUN_FINISHED','unknown','SUCCESS','gridProfile','CLUSTER_AUTOSCALER_STACK_NAME','high-scale-grid','AG_API_URL','[REDACTED]','HST_CLUSTER_TAGS','root'];a11_0x3915=function(){return _0x86b348;};return a11_0x3915();}a11_0xceab5c[a11_0x52270a(0x117)]=a11_0x52270a(0x112),a11_0xceab5c[a11_0x52270a(0x123)]=a11_0x52270a(0x104),exports[a11_0x52270a(0x134)]=[a11_0x10dbb7,a11_0xceab5c];var a11_0x414f5f={};a11_0x414f5f[a11_0x52270a(0xfe)]=a11_0x52270a(0x126),a11_0x414f5f[a11_0x52270a(0x112)]=a11_0x52270a(0x104),exports[a11_0x52270a(0x120)]=a11_0x414f5f,exports[a11_0x52270a(0x137)]=[this['AWS']];var a11_0x7d3865={};a11_0x7d3865[a11_0x52270a(0x127)]=a11_0x52270a(0xea),a11_0x7d3865[a11_0x52270a(0x133)]='resourceInfo',a11_0x7d3865[a11_0x52270a(0x10f)]='gridUrl',a11_0x7d3865[a11_0x52270a(0x122)]='cliRunStarted',a11_0x7d3865[a11_0x52270a(0x118)]=a11_0x52270a(0xed),exports[a11_0x52270a(0x107)]=a11_0x7d3865,exports[a11_0x52270a(0x131)]={},exports['LINK_MESSAGE']=a11_0x52270a(0x12c);var a11_0x147d81={};a11_0x147d81[a11_0x52270a(0x121)]=a11_0x52270a(0x139)+this[a11_0x52270a(0x129)],a11_0x147d81[a11_0x52270a(0x108)]=a11_0x52270a(0x10c)+this[a11_0x52270a(0x129)],a11_0x147d81[a11_0x52270a(0x130)]=a11_0x52270a(0xe8)+this[a11_0x52270a(0x129)],a11_0x147d81[a11_0x52270a(0x113)]=a11_0x52270a(0x100)+this[a11_0x52270a(0x129)],a11_0x147d81[a11_0x52270a(0xf0)]={},a11_0x147d81[a11_0x52270a(0x12f)]='\x0aThis\x20will\x20help\x20delete\x20the\x20Automation\x20grid.'+this[a11_0x52270a(0x129)],a11_0x147d81[a11_0x52270a(0x124)]=a11_0x52270a(0x101)+this['LINK_MESSAGE'],a11_0x147d81[a11_0x52270a(0xf0)][a11_0x52270a(0x121)]=a11_0x52270a(0xf1)+this['LINK_MESSAGE'],a11_0x147d81[a11_0x52270a(0xf0)][a11_0x52270a(0x132)]=a11_0x52270a(0xf3)+this['LINK_MESSAGE'],a11_0x147d81[a11_0x52270a(0xf0)][a11_0x52270a(0x11b)]='\x0aThis\x20command\x20will\x20list\x20down\x20the\x20grid\x20profiles\x20created.'+this[a11_0x52270a(0x129)],exports['HELP_HEADER_MESSAGE']=a11_0x147d81,exports[a11_0x52270a(0x136)]=a11_0x52270a(0x12b);var a11_0x58f6c4={};function a11_0x46f7(_0x43a3d2,_0x4d9ac8){var _0x3915cc=a11_0x3915();return a11_0x46f7=function(_0x46f779,_0x17ca9a){_0x46f779=_0x46f779-0xe8;var _0x1f0536=_0x3915cc[_0x46f779];return _0x1f0536;},a11_0x46f7(_0x43a3d2,_0x4d9ac8);}a11_0x58f6c4[a11_0x52270a(0x11a)]=a11_0x52270a(0x125),a11_0x58f6c4[a11_0x52270a(0x110)]=a11_0x52270a(0x12d),a11_0x58f6c4[a11_0x52270a(0x114)]=a11_0x52270a(0x10d),a11_0x58f6c4[a11_0x52270a(0x102)]=a11_0x52270a(0x109),a11_0x58f6c4['UNKNOWN']=a11_0x52270a(0x119),a11_0x58f6c4['NULL']=null,exports[a11_0x52270a(0xf4)]=a11_0x58f6c4,exports['CLI_ARGS_REGEX']=/(?<=("u"|"username"|"k"|"key") *: *)"[^,}]*/g,exports[a11_0x52270a(0xfa)]=/(?<=("-u"|"-username"|"-k"|"-key") *, *)"[^,\]]*/g,exports[a11_0x52270a(0x106)]=a11_0x52270a(0x11f),exports[a11_0x52270a(0x111)]=require('./instanceTypes.json');
1
+ function a17_0x342e(){var _0x3bc9a2=['success','CLUSTER_AUTOSCALER_STACK_NAME','10AjCPPu','BSTACK-ATS-CLUSTER-AUTOSCALER','browserstack:service','DASHBOARD_ENDPOINT','COMMON_HST_TAGS','grid-api.browserstack.com','\x0aCreate\x20and\x20Manage\x20scalable\x20browser\x20automation\x20grids\x20for\x20Functional\x20Testing.','unknown','\x0aThis\x20command\x20will\x20list\x20down\x20the\x20resources\x20created\x20on\x20Automate\x20TurboScale.','credentials','cliRunFinished','GCP','messageTypes','LINK_MESSAGE','\x0aThis\x20will\x20help\x20create\x20a\x20new\x20Automation\x20grid.','BrowserStackIAMUser','gridUrl','[REDACTED]','118920AEhcwm','grid.browserstack.com','INFO','LOG','AWS','76017PBiFrk','Key','\x0a\x0aFind\x20more\x20information\x20at:\x20https://browserstack.com/docs/automate-turboscale/references/browserstack-cli','BSTACK-ATS-CLUSTER','AG_API_URL','80qYrunk','REDACTED','browserstack:managedBy','118908uWevSs','20956884OllIlr','1134696xPetqc','WS_EVENTS','HELP_FOOTER_MESSAGE','GRID_URL','warning','\x0aThis\x20will\x20help\x20delete\x20the\x20Automation\x20grid.','ERROR','WARNING','connect','env','2hVkrJy','wss://','configure','log','HST_CLUSTER_TAGS','global_registry','RESOURCES','DEFAULT_GRID_NAME','\x0aThis\x20command\x20will\x20list\x20down\x20the\x20grid\x20profiles\x20created.','BrowserStack','CLI_RUN_FINISHED','Value','cliRunStarted','CLI_RUN_STARTED','\x0aThis\x20command\x20will\x20take\x20you\x20through\x20the\x20initialisation\x20of\x20BrowserStack\x20CLI.','init','grid','gcp','BrowserStack-Automate-TurboScale','45hEbgKk','root','aws','NULL','825032tswLZz','create','UNKNOWN','info','/ws?username=<UsernamePlaceholder>&password=<PasswordPlaceholder>','list','\x0aThis\x20command\x20will\x20take\x20you\x20through\x20the\x20configuration\x20of\x20BrowserStack\x20CLI.','BS_API_URL','168uyLVdi','IAM_USER_NAME','SUPPORTED_CLOUD_PROVIDERS','SUCCESS','azure','RAW_ARGS_REGEX','828883rkoreW'];a17_0x342e=function(){return _0x3bc9a2;};return a17_0x342e();}var a17_0x17c1de=a17_0x4b4a;(function(_0x22b97e,_0x326172){var _0x4d0be0=a17_0x4b4a,_0x3a0cc6=_0x22b97e();while(!![]){try{var _0x4b7538=parseInt(_0x4d0be0(0x9f))/0x1+parseInt(_0x4d0be0(0xb3))/0x2*(-parseInt(_0x4d0be0(0x9a))/0x3)+-parseInt(_0x4d0be0(0xca))/0x4*(-parseInt(_0x4d0be0(0x88))/0x5)+-parseInt(_0x4d0be0(0xa7))/0x6*(parseInt(_0x4d0be0(0x7f))/0x7)+-parseInt(_0x4d0be0(0xa9))/0x8*(parseInt(_0x4d0be0(0xc6))/0x9)+parseInt(_0x4d0be0(0xa4))/0xa*(-parseInt(_0x4d0be0(0x85))/0xb)+parseInt(_0x4d0be0(0xa8))/0xc;if(_0x4b7538===_0x326172)break;else _0x3a0cc6['push'](_0x3a0cc6['shift']());}catch(_0x17805f){_0x3a0cc6['push'](_0x3a0cc6['shift']());}}}(a17_0x342e,0x6386b),require('dotenv')['config'](),exports[a17_0x17c1de(0x8b)]=process[a17_0x17c1de(0xb2)][a17_0x17c1de(0x8b)]||a17_0x17c1de(0x9b),exports[a17_0x17c1de(0x7e)]=process[a17_0x17c1de(0xb2)][a17_0x17c1de(0x7e)]||'api.browserstack.com',exports[a17_0x17c1de(0xa3)]=process[a17_0x17c1de(0xb2)]['AG_API_URL']||a17_0x17c1de(0x8d),exports['WS_ENDPOINT']=a17_0x17c1de(0xb4)+this[a17_0x17c1de(0xa3)]+a17_0x17c1de(0xce),exports['CP_CONFIG_FILE']=a17_0x17c1de(0x91),exports[a17_0x17c1de(0x80)]=a17_0x17c1de(0x97),exports[a17_0x17c1de(0xba)]='high-scale-grid',exports[a17_0x17c1de(0x9e)]=a17_0x17c1de(0xc8),exports['CLUSTER_DEP_STACK_NAME']=a17_0x17c1de(0xa2),exports[a17_0x17c1de(0x87)]=a17_0x17c1de(0x89),exports['AZURE']=a17_0x17c1de(0x83),exports[a17_0x17c1de(0x93)]=a17_0x17c1de(0xc4));var a17_0x4474b4={};a17_0x4474b4[a17_0x17c1de(0xa0)]='browserstack:managedBy',a17_0x4474b4[a17_0x17c1de(0xbe)]='BrowserStack';var a17_0x38c8a3={};a17_0x38c8a3['Key']=a17_0x17c1de(0x8a),a17_0x38c8a3[a17_0x17c1de(0xbe)]=a17_0x17c1de(0xc5),exports[a17_0x17c1de(0x8c)]=[a17_0x4474b4,a17_0x38c8a3];var a17_0x52456a={};a17_0x52456a[a17_0x17c1de(0xa6)]=a17_0x17c1de(0xbc),a17_0x52456a[a17_0x17c1de(0x8a)]=a17_0x17c1de(0xc5),exports[a17_0x17c1de(0xb7)]=a17_0x52456a,exports[a17_0x17c1de(0x81)]=[this[a17_0x17c1de(0x9e)]];var a17_0xe3074a={};a17_0xe3074a[a17_0x17c1de(0x9d)]=a17_0x17c1de(0xb6),a17_0xe3074a[a17_0x17c1de(0xb9)]='resourceInfo',a17_0xe3074a[a17_0x17c1de(0xac)]=a17_0x17c1de(0x98),a17_0xe3074a[a17_0x17c1de(0xc0)]=a17_0x17c1de(0xbf),a17_0xe3074a[a17_0x17c1de(0xbd)]=a17_0x17c1de(0x92),exports[a17_0x17c1de(0xaa)]=a17_0xe3074a,exports[a17_0x17c1de(0xb8)]={},exports[a17_0x17c1de(0x95)]=a17_0x17c1de(0xa1);function a17_0x4b4a(_0x4eebe9,_0x1eee9b){var _0x342ed5=a17_0x342e();return a17_0x4b4a=function(_0x4b4a56,_0x4427a0){_0x4b4a56=_0x4b4a56-0x7e;var _0x5dee6a=_0x342ed5[_0x4b4a56];return _0x5dee6a;},a17_0x4b4a(_0x4eebe9,_0x1eee9b);}var a17_0x405f8a={};a17_0x405f8a[a17_0x17c1de(0xc7)]=a17_0x17c1de(0x8e)+this[a17_0x17c1de(0x95)],a17_0x405f8a[a17_0x17c1de(0xc2)]=a17_0x17c1de(0xc1)+this[a17_0x17c1de(0x95)],a17_0x405f8a[a17_0x17c1de(0xb5)]=a17_0x17c1de(0xd0)+this[a17_0x17c1de(0x95)],a17_0x405f8a[a17_0x17c1de(0xcb)]=a17_0x17c1de(0x96)+this[a17_0x17c1de(0x95)],a17_0x405f8a[a17_0x17c1de(0xcf)]={},a17_0x405f8a['delete']=a17_0x17c1de(0xae)+this[a17_0x17c1de(0x95)],a17_0x405f8a[a17_0x17c1de(0xb1)]='\x0aThis\x20will\x20connect\x20the\x20grid\x20with\x20existing\x20VPC.'+this[a17_0x17c1de(0x95)],a17_0x405f8a[a17_0x17c1de(0xcf)][a17_0x17c1de(0xc7)]=a17_0x17c1de(0x90)+this['LINK_MESSAGE'],a17_0x405f8a[a17_0x17c1de(0xcf)][a17_0x17c1de(0xc3)]='\x0aThis\x20command\x20will\x20list\x20down\x20the\x20grids\x20created.'+this[a17_0x17c1de(0x95)],a17_0x405f8a[a17_0x17c1de(0xcf)]['gridProfile']=a17_0x17c1de(0xbb)+this[a17_0x17c1de(0x95)],exports['HELP_HEADER_MESSAGE']=a17_0x405f8a,exports[a17_0x17c1de(0xab)]='Use\x20\x22browserstack-cli\x20ats\x20<command_group>\x20-h/--help\x22\x20for\x20more\x20options\x20available\x20about\x20Automate\x20TurboScale.';var a17_0x4f5038={};a17_0x4f5038[a17_0x17c1de(0x82)]=a17_0x17c1de(0x86),a17_0x4f5038[a17_0x17c1de(0xaf)]='error',a17_0x4f5038[a17_0x17c1de(0x9c)]=a17_0x17c1de(0xcd),a17_0x4f5038[a17_0x17c1de(0xb0)]=a17_0x17c1de(0xad),a17_0x4f5038[a17_0x17c1de(0xcc)]=a17_0x17c1de(0x8f),a17_0x4f5038[a17_0x17c1de(0xc9)]=null,exports[a17_0x17c1de(0x94)]=a17_0x4f5038,exports['CLI_ARGS_REGEX']=/(?<=("u"|"username"|"k"|"key") *: *)"[^,}]*/g,exports[a17_0x17c1de(0x84)]=/(?<=("-u"|"-username"|"-k"|"-key") *, *)"[^,\]]*/g,exports[a17_0x17c1de(0xa5)]=a17_0x17c1de(0x99);
@@ -1 +1 @@
1
- function a12_0x5620(){const _0x24d19d=['path','683OWarTA','File','6089930hzhKCr','name','transports','usage.log','logger','688rOfjzK','timestamp','console.info','createLogger','148902WUQbqh','printf','level','\x20-\x20','events.log','5243967iIHLxN','winston','format','4qhMIDw','1086ZEMixS','1533448LGygaB','Console','YYYY-MM-DD\x20HH:mm:ss','17890EgdNwA','existsSync','fileLogger','join','colorize','3547964vEajlf'];a12_0x5620=function(){return _0x24d19d;};return a12_0x5620();}const a12_0x482f50=a12_0x5ad0;(function(_0x83a6d0,_0x3a9c91){const _0x1b3dd6=a12_0x5ad0,_0x42402f=_0x83a6d0();while(!![]){try{const _0xdbf953=-parseInt(_0x1b3dd6(0x143))/0x1*(-parseInt(_0x1b3dd6(0x12b))/0x2)+parseInt(_0x1b3dd6(0x12f))/0x3*(parseInt(_0x1b3dd6(0x137))/0x4)+parseInt(_0x1b3dd6(0x13c))/0x5*(-parseInt(_0x1b3dd6(0x138))/0x6)+parseInt(_0x1b3dd6(0x141))/0x7+parseInt(_0x1b3dd6(0x139))/0x8+-parseInt(_0x1b3dd6(0x134))/0x9+parseInt(_0x1b3dd6(0x145))/0xa;if(_0xdbf953===_0x3a9c91)break;else _0x42402f['push'](_0x42402f['shift']());}catch(_0x492fe9){_0x42402f['push'](_0x42402f['shift']());}}}(a12_0x5620,0x58567));const winston=require(a12_0x482f50(0x135)),fs=require('fs'),path=require(a12_0x482f50(0x142)),logDir='log';!fs[a12_0x482f50(0x13d)](logDir)&&fs['mkdirSync'](logDir);const a12_0x52aaa9={};a12_0x52aaa9[a12_0x482f50(0x136)]=a12_0x482f50(0x13b);const a12_0x27618c={};a12_0x27618c[a12_0x482f50(0x131)]=!![];function a12_0x5ad0(_0x1dd8f2,_0x3dad88){const _0x5620a6=a12_0x5620();return a12_0x5ad0=function(_0x5ad0f1,_0x360dcf){_0x5ad0f1=_0x5ad0f1-0x12b;let _0x19da35=_0x5620a6[_0x5ad0f1];return _0x19da35;},a12_0x5ad0(_0x1dd8f2,_0x3dad88);}const a12_0x10e071={};a12_0x10e071[a12_0x482f50(0x146)]=a12_0x482f50(0x12d),exports[a12_0x482f50(0x149)]=new winston[(a12_0x482f50(0x12e))]({'format':winston[a12_0x482f50(0x136)]['combine'](winston['format'][a12_0x482f50(0x12c)](a12_0x52aaa9),winston['format'][a12_0x482f50(0x140)](a12_0x27618c),winston[a12_0x482f50(0x136)][a12_0x482f50(0x130)](_0x522c7a=>_0x522c7a[a12_0x482f50(0x12c)]+a12_0x482f50(0x132)+_0x522c7a['level']+':\x20'+_0x522c7a['message'])),'transports':[new winston[(a12_0x482f50(0x147))][(a12_0x482f50(0x13a))](a12_0x10e071),new winston[(a12_0x482f50(0x147))]['File']({'filename':path['join'](logDir,a12_0x482f50(0x133)),'level':'debug'})]});const winstonFileLoggerParams={'transports':[new winston[(a12_0x482f50(0x147))][(a12_0x482f50(0x144))]({'filename':path[a12_0x482f50(0x13f)](logDir,a12_0x482f50(0x148)),'level':'debug'})]};exports[a12_0x482f50(0x13e)]=new winston[(a12_0x482f50(0x12e))](winstonFileLoggerParams);
1
+ const a18_0x6d3000=a18_0x3911;(function(_0x273127,_0x694ee8){const _0x8b13f0=a18_0x3911,_0x406dbe=_0x273127();while(!![]){try{const _0x3e8695=-parseInt(_0x8b13f0(0x12c))/0x1*(parseInt(_0x8b13f0(0x11e))/0x2)+parseInt(_0x8b13f0(0x12b))/0x3+-parseInt(_0x8b13f0(0x118))/0x4*(parseInt(_0x8b13f0(0x125))/0x5)+parseInt(_0x8b13f0(0x11c))/0x6*(-parseInt(_0x8b13f0(0x12d))/0x7)+-parseInt(_0x8b13f0(0x133))/0x8*(-parseInt(_0x8b13f0(0x11f))/0x9)+parseInt(_0x8b13f0(0x12a))/0xa+-parseInt(_0x8b13f0(0x114))/0xb;if(_0x3e8695===_0x694ee8)break;else _0x406dbe['push'](_0x406dbe['shift']());}catch(_0x238011){_0x406dbe['push'](_0x406dbe['shift']());}}}(a18_0xdeae,0x5d499));const winston=require('winston'),fs=require('fs'),path=require(a18_0x6d3000(0x117)),logDir=a18_0x6d3000(0x129);!fs[a18_0x6d3000(0x11b)](logDir)&&fs['mkdirSync'](logDir);const a18_0x5879cd={};function a18_0x3911(_0x4f040f,_0x14a332){const _0xdeaed7=a18_0xdeae();return a18_0x3911=function(_0x3911d4,_0x26d044){_0x3911d4=_0x3911d4-0x112;let _0x3fc0c0=_0xdeaed7[_0x3911d4];return _0x3fc0c0;},a18_0x3911(_0x4f040f,_0x14a332);}a18_0x5879cd['format']=a18_0x6d3000(0x122);const a18_0x4fba92={};function a18_0xdeae(){const _0x18fdba=['colorize','logger','YYYY-MM-DD\x20HH:mm:ss','printf','message','2088830HKINrn','debug','\x20-\x20','usage.log','log','2637350haapkz','1763679DfeqIN','1jQpcHi','7wnVkOn','join','createLogger','transports','events.log','fileLogger','64xyPybG','File','Console','1186130yRynuL','level','timestamp','path','4GDAPXZ','combine','format','existsSync','596898PgIdVQ','name','939864lqrwrQ','703674WYmcNf'];a18_0xdeae=function(){return _0x18fdba;};return a18_0xdeae();}a18_0x4fba92[a18_0x6d3000(0x115)]=!![];const a18_0x142047={};a18_0x142047[a18_0x6d3000(0x11d)]='console.info',exports[a18_0x6d3000(0x121)]=new winston[(a18_0x6d3000(0x12f))]({'format':winston[a18_0x6d3000(0x11a)][a18_0x6d3000(0x119)](winston[a18_0x6d3000(0x11a)][a18_0x6d3000(0x116)](a18_0x5879cd),winston[a18_0x6d3000(0x11a)][a18_0x6d3000(0x120)](a18_0x4fba92),winston[a18_0x6d3000(0x11a)][a18_0x6d3000(0x123)](_0x344a2f=>_0x344a2f['timestamp']+a18_0x6d3000(0x127)+_0x344a2f[a18_0x6d3000(0x115)]+':\x20'+_0x344a2f[a18_0x6d3000(0x124)])),'transports':[new winston[(a18_0x6d3000(0x130))][(a18_0x6d3000(0x113))](a18_0x142047),new winston['transports'][(a18_0x6d3000(0x112))]({'filename':path[a18_0x6d3000(0x12e)](logDir,a18_0x6d3000(0x131)),'level':'debug'})]});const winstonFileLoggerParams={'transports':[new winston['transports'][(a18_0x6d3000(0x112))]({'filename':path[a18_0x6d3000(0x12e)](logDir,a18_0x6d3000(0x128)),'level':a18_0x6d3000(0x126)})]};exports[a18_0x6d3000(0x132)]=new winston[(a18_0x6d3000(0x12f))](winstonFileLoggerParams);
package/ats/src/index.js CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- 'use strict';const a13_0x28d146=a13_0x4c91;(function(_0x8d428a,_0x16f91b){const _0x23095d=a13_0x4c91,_0x24ed7f=_0x8d428a();while(!![]){try{const _0x2eb99d=-parseInt(_0x23095d(0x117))/0x1*(parseInt(_0x23095d(0x11e))/0x2)+parseInt(_0x23095d(0x11f))/0x3*(parseInt(_0x23095d(0x116))/0x4)+parseInt(_0x23095d(0x11c))/0x5*(-parseInt(_0x23095d(0x12a))/0x6)+parseInt(_0x23095d(0x12e))/0x7+-parseInt(_0x23095d(0x122))/0x8+-parseInt(_0x23095d(0x129))/0x9*(parseInt(_0x23095d(0x120))/0xa)+parseInt(_0x23095d(0x127))/0xb*(parseInt(_0x23095d(0x125))/0xc);if(_0x2eb99d===_0x16f91b)break;else _0x24ed7f['push'](_0x24ed7f['shift']());}catch(_0x1e5c82){_0x24ed7f['push'](_0x24ed7f['shift']());}}}(a13_0x399e,0x58b9a));function a13_0x4c91(_0x7759d0,_0x36ed0a){const _0x399e1e=a13_0x399e();return a13_0x4c91=function(_0x4c9133,_0x55101){_0x4c9133=_0x4c9133-0x116;let _0x32023f=_0x399e1e[_0x4c9133];return _0x32023f;},a13_0x4c91(_0x7759d0,_0x36ed0a);}const {HELP_FOOTER_MESSAGE,HELP_HEADER_MESSAGE}=require(a13_0x28d146(0x11a));process[a13_0x28d146(0x12b)][a13_0x28d146(0x124)]=0x1;function run(_0x25edc0){const _0xf98a86=a13_0x28d146,_0x44a81a={};_0x44a81a[_0xf98a86(0x126)]=_0xf98a86(0x121),_0x44a81a[_0xf98a86(0x12c)]='help';const _0x2a1b8a=_0x44a81a;_0x25edc0[_0xf98a86(0x11d)](HELP_HEADER_MESSAGE[_0xf98a86(0x118)])[_0xf98a86(0x12d)](_0x2a1b8a['delBn'])[_0xf98a86(0x123)]()[_0xf98a86(0x119)](_0x2a1b8a[_0xf98a86(0x12c)])[_0xf98a86(0x128)](HELP_FOOTER_MESSAGE);}module[a13_0x28d146(0x11b)]=run;function a13_0x399e(){const _0x54b327=['env','BXhTd','commandDir','379281WMGROj','46300ArrXWF','73jYWLTJ','root','help','./config/constants','exports','80gkdYGo','usage','7294lXhZlX','33wGQdda','295110hBrodO','commands','1133536ETMqDc','demandCommand','AWS_SDK_JS_SUPPRESS_MAINTENANCE_MODE_MESSAGE','24ztfGro','delBn','7440884XEWnJM','epilogue','81BMBHOw','186546biuLmU'];a13_0x399e=function(){return _0x54b327;};return a13_0x399e();}
2
+ 'use strict';const a19_0x5131b9=a19_0x2b69;(function(_0x415296,_0x15b4fd){const _0x3d163c=a19_0x2b69,_0xe993ff=_0x415296();while(!![]){try{const _0x5b5970=-parseInt(_0x3d163c(0x1f8))/0x1+-parseInt(_0x3d163c(0x1f0))/0x2+parseInt(_0x3d163c(0x1fe))/0x3+-parseInt(_0x3d163c(0x1ff))/0x4+parseInt(_0x3d163c(0x1f9))/0x5*(-parseInt(_0x3d163c(0x1fd))/0x6)+parseInt(_0x3d163c(0x1f6))/0x7*(-parseInt(_0x3d163c(0x1f1))/0x8)+parseInt(_0x3d163c(0x1ef))/0x9*(parseInt(_0x3d163c(0x1fa))/0xa);if(_0x5b5970===_0x15b4fd)break;else _0xe993ff['push'](_0xe993ff['shift']());}catch(_0x5c1d7c){_0xe993ff['push'](_0xe993ff['shift']());}}}(a19_0x3a44,0xd5c66));const {HELP_FOOTER_MESSAGE,HELP_HEADER_MESSAGE}=require(a19_0x5131b9(0x1fc));process[a19_0x5131b9(0x1f4)][a19_0x5131b9(0x1ee)]=0x1;function run(_0x3bedcd){const _0x374719=a19_0x5131b9,_0x48f5e7={};_0x48f5e7['FuNYo']=_0x374719(0x1fb),_0x48f5e7['hhIWQ']=_0x374719(0x201);const _0x3975c7=_0x48f5e7;_0x3bedcd['usage'](HELP_HEADER_MESSAGE['root'])[_0x374719(0x1f5)](_0x3975c7['FuNYo'])[_0x374719(0x1f7)]()[_0x374719(0x201)](_0x3975c7[_0x374719(0x1f2)])[_0x374719(0x200)](HELP_FOOTER_MESSAGE);}function a19_0x2b69(_0xb63b80,_0x488f9d){const _0x3a447e=a19_0x3a44();return a19_0x2b69=function(_0x2b6998,_0x5dcda8){_0x2b6998=_0x2b6998-0x1ee;let _0x312e29=_0x3a447e[_0x2b6998];return _0x312e29;},a19_0x2b69(_0xb63b80,_0x488f9d);}function a19_0x3a44(){const _0x321fdc=['63XfLjnw','2656322BdysGz','5143880dZWxyy','hhIWQ','exports','env','commandDir','14ikiGKv','demandCommand','63037PaQYLR','30iyYaIS','7127170imJIrp','commands','./config/constants','867906mgkxeJ','3323703kyYQMO','6704896YbuqyE','epilogue','help','AWS_SDK_JS_SUPPRESS_MAINTENANCE_MODE_MESSAGE'];a19_0x3a44=function(){return _0x321fdc;};return a19_0x3a44();}module[a19_0x5131b9(0x1f3)]=run;
@@ -0,0 +1,134 @@
1
+ {
2
+ "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
3
+ "contentVersion": "1.0.0.0",
4
+ "parameters": {
5
+ "clusterName": {
6
+ "type": "string",
7
+ "metadata": {
8
+ "description": "The name of the Managed Cluster resource."
9
+ }
10
+ },
11
+ "location": {
12
+ "type": "string",
13
+ "metadata": {
14
+ "description": "The location of AKS resource."
15
+ }
16
+ },
17
+ "userInstanceType": {
18
+ "type": "string",
19
+ "defaultValue": "Standard_D8_v5",
20
+ "metadata": {
21
+ "description": "Disk size (in GiB) to provision for each of the agent pool nodes. This value ranges from 0 to 1023. Specifying 0 will apply the default disk size for that agentVMSize."
22
+ }
23
+ },
24
+ "osDiskSizeGB": {
25
+ "type": "int",
26
+ "defaultValue": 30,
27
+ "metadata": {
28
+ "description": "Disk size (in GiB) to provision for each of the agent pool nodes. This value ranges from 0 to 1023. Specifying 0 will apply the default disk size for that agentVMSize."
29
+ }
30
+ },
31
+ "userMaxNodes": {
32
+ "type": "int",
33
+ "defaultValue": 1,
34
+ "metadata": {
35
+ "description": "Maximum num of nodes running in a node pool"
36
+ }
37
+ },
38
+ "userMinNodes": {
39
+ "type": "int",
40
+ "defaultValue": 1,
41
+ "metadata": {
42
+ "description": "Minimum num of nodes running in a node pool"
43
+ }
44
+ }
45
+ },
46
+ "resources": [
47
+ {
48
+ "apiVersion": "2023-04-01",
49
+ "dependsOn": [],
50
+ "type": "Microsoft.ContainerService/managedClusters",
51
+ "location": "[parameters('location')]",
52
+ "name": "[parameters('clusterName')]",
53
+ "properties": {
54
+ "dnsPrefix": "[concat(parameters('clusterName'), '-dns')]",
55
+ "kubernetesVersion": "1.26.6",
56
+ "enableRBAC": true,
57
+ "agentPoolProfiles": [
58
+ {
59
+ "name": "agentpool",
60
+ "osDiskSizeGB": "[parameters('osDiskSizeGB')]",
61
+ "count": "[parameters('userMinNodes')]",
62
+ "enableAutoScaling": true,
63
+ "minCount": "[parameters('userMinNodes')]",
64
+ "maxCount": "[parameters('userMaxNodes')]",
65
+ "vmSize": "[parameters('userInstanceType')]",
66
+ "osType": "Linux",
67
+ "storageProfile": "ManagedDisks",
68
+ "type": "VirtualMachineScaleSets",
69
+ "mode": "System",
70
+ "maxPods": 100,
71
+ "availabilityZones": [
72
+ "1",
73
+ "2",
74
+ "3"
75
+ ],
76
+ "enableNodePublicIP": false,
77
+ "tags": {
78
+ "browserstack:managedBy": "BrowserStack"
79
+ }
80
+ }
81
+ ],
82
+ "networkProfile": {
83
+ "loadBalancerSku": "standard",
84
+ "networkPlugin": "kubenet",
85
+ "networkPolicy": "calico"
86
+ },
87
+ "autoUpgradeProfile": {
88
+ "upgradeChannel": "none"
89
+ },
90
+ "disableLocalAccounts": false,
91
+ "aadProfile": {
92
+ "managed": true,
93
+ "adminGroupObjectIDs": [],
94
+ "enableAzureRBAC": true
95
+ },
96
+ "apiServerAccessProfile": {
97
+ "enablePrivateCluster": false
98
+ },
99
+ "addonProfiles": {
100
+ "azurepolicy": {
101
+ "enabled": false
102
+ },
103
+ "azureKeyvaultSecretsProvider": {
104
+ "enabled": false,
105
+ "config": null
106
+ }
107
+ },
108
+ "oidcIssuerProfile": {
109
+ "enabled": true
110
+ },
111
+ "securityProfile": {
112
+ "workloadIdentity": {
113
+ "enabled": true
114
+ }
115
+ },
116
+ "upgradePolicy": {
117
+ "automaticOSUpgradePolicy": {
118
+ "enableAutomaticOSUpgrade": false
119
+ }
120
+ }
121
+ },
122
+ "tags": {
123
+ "browserstack:managedBy": "BrowserStack"
124
+ },
125
+ "sku": {
126
+ "name": "Base",
127
+ "tier": "Standard"
128
+ },
129
+ "identity": {
130
+ "type": "SystemAssigned"
131
+ }
132
+ }
133
+ ]
134
+ }
@@ -0,0 +1,50 @@
1
+ {
2
+ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
3
+ "contentVersion": "1.0.0.0",
4
+ "parameters": {
5
+ "clusterName": {
6
+ "type": "string",
7
+ "metadata": {
8
+ "description": "The name of the Managed Cluster resource."
9
+ }
10
+ },
11
+ "oidcIssuer": {
12
+ "type": "string",
13
+ "metadata": {
14
+ "description": "OIDC Issuer of AKS Cluster"
15
+ }
16
+ },
17
+ "gridName": {
18
+ "type": "string",
19
+ "metadata": {
20
+ "description": "Grid Name"
21
+ }
22
+ }
23
+ },
24
+ "variables": {
25
+ "managedIdentityName": "[concat('turboscale-managed-identity-', parameters('clusterName'))]"
26
+ },
27
+ "resources": [
28
+ {
29
+ "type": "Microsoft.ManagedIdentity/userAssignedIdentities",
30
+ "apiVersion": "2022-01-31-preview",
31
+ "name": "[variables('managedIdentityName')]",
32
+ "location": "[resourceGroup().location]"
33
+ },
34
+ {
35
+ "type": "Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials",
36
+ "apiVersion": "2022-01-31-preview",
37
+ "name": "[concat(variables('managedIdentityName'), '/turboscale-federated-identity-hub-', parameters('gridName'))]",
38
+ "dependsOn": [
39
+ "[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', variables('managedIdentityName'))]"
40
+ ],
41
+ "properties": {
42
+ "issuer": "[parameters('oidcIssuer')]",
43
+ "subject": "[concat('system:serviceaccount:', parameters('gridName'), ':default')]",
44
+ "audiences": [
45
+ "api://AzureADTokenExchange"
46
+ ]
47
+ }
48
+ }
49
+ ]
50
+ }
@@ -0,0 +1,50 @@
1
+ {
2
+ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
3
+ "contentVersion": "1.0.0.0",
4
+ "parameters": {
5
+ "clusterName": {
6
+ "type": "string",
7
+ "metadata": {
8
+ "description": "The name of the Managed Cluster resource."
9
+ }
10
+ },
11
+ "oidcIssuer": {
12
+ "type": "string",
13
+ "metadata": {
14
+ "description": "OIDC Issuer of AKS Cluster"
15
+ }
16
+ },
17
+ "gridName": {
18
+ "type": "string",
19
+ "metadata": {
20
+ "description": "Grid Name"
21
+ }
22
+ }
23
+ },
24
+ "variables": {
25
+ "managedIdentityName": "[concat('turboscale-managed-identity-', parameters('clusterName'))]"
26
+ },
27
+ "resources": [
28
+ {
29
+ "type": "Microsoft.ManagedIdentity/userAssignedIdentities",
30
+ "apiVersion": "2022-01-31-preview",
31
+ "name": "[variables('managedIdentityName')]",
32
+ "location": "[resourceGroup().location]"
33
+ },
34
+ {
35
+ "type": "Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials",
36
+ "apiVersion": "2022-01-31-preview",
37
+ "name": "[concat(variables('managedIdentityName'), '/turboscale-federated-identity-node-', parameters('gridName'))]",
38
+ "dependsOn": [
39
+ "[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', variables('managedIdentityName'))]"
40
+ ],
41
+ "properties": {
42
+ "issuer": "[parameters('oidcIssuer')]",
43
+ "subject": "[concat('system:serviceaccount:', parameters('gridName'), ':browser-node')]",
44
+ "audiences": [
45
+ "api://AzureADTokenExchange"
46
+ ]
47
+ }
48
+ }
49
+ ]
50
+ }
@@ -0,0 +1,49 @@
1
+ {
2
+ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
3
+ "contentVersion": "1.0.0.0",
4
+ "parameters": {
5
+ "clusterName": {
6
+ "type": "string",
7
+ "metadata": {
8
+ "description": "The name of the Managed Cluster resource."
9
+ }
10
+ }
11
+ },
12
+ "variables": {
13
+ "managedIdentityName": "[concat('turboscale-managed-identity-', parameters('clusterName'))]",
14
+ "BlobDataContributorRoleDefinitionId": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'ba92f5b4-2d11-453d-a403-e96b0029c9fe')]",
15
+ "DelegatorRoleDefinitionId": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'db58b8e5-c6ad-4a2a-8342-4190687cbf4a')]"
16
+ },
17
+ "resources": [
18
+ {
19
+ "type": "Microsoft.ManagedIdentity/userAssignedIdentities",
20
+ "apiVersion": "2023-01-31",
21
+ "name": "[variables('managedIdentityName')]",
22
+ "location": "[resourceGroup().location]"
23
+ },
24
+ {
25
+ "type": "Microsoft.Authorization/roleAssignments",
26
+ "apiVersion": "2020-08-01-preview",
27
+ "name": "[guid(resourceGroup().id, resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', variables('managedIdentityName')), variables('DelegatorRoleDefinitionId'))]",
28
+ "location": "[resourceGroup().location]",
29
+ "properties": {
30
+ "principalType": "ServicePrincipal",
31
+ "roleDefinitionId": "[variables('DelegatorRoleDefinitionId')]",
32
+ "principalId": "[reference(resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', variables('managedIdentityName')), '2023-01-31').principalId]",
33
+ "scope": "[concat('/subscriptions/', subscription().subscriptionId, '/resourceGroups/', resourceGroup().name)]"
34
+ }
35
+ },
36
+ {
37
+ "type": "Microsoft.Authorization/roleAssignments",
38
+ "apiVersion": "2020-08-01-preview",
39
+ "name": "[guid(resourceGroup().id, resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', variables('managedIdentityName')), variables('BlobDataContributorRoleDefinitionId'))]",
40
+ "location": "[resourceGroup().location]",
41
+ "properties": {
42
+ "principalType": "ServicePrincipal",
43
+ "roleDefinitionId": "[variables('BlobDataContributorRoleDefinitionId')]",
44
+ "principalId": "[reference(resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', variables('managedIdentityName')), '2023-01-31').principalId]",
45
+ "scope": "[concat('/subscriptions/', subscription().subscriptionId, '/resourceGroups/', resourceGroup().name)]"
46
+ }
47
+ }
48
+ ]
49
+ }
@@ -0,0 +1,92 @@
1
+ {
2
+ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
3
+ "contentVersion": "1.0.0.0",
4
+ "parameters": {
5
+ "storageAccountName": {
6
+ "type": "string",
7
+ "metadata": {
8
+ "description": "Storage account name"
9
+ }
10
+ }
11
+ },
12
+ "resources": [
13
+ {
14
+ "type": "Microsoft.Storage/storageAccounts",
15
+ "apiVersion": "2021-04-01",
16
+ "name": "[parameters('storageAccountName')]",
17
+ "location": "[resourceGroup().location]",
18
+ "sku": {
19
+ "name": "Standard_RAGRS",
20
+ "tier": "Standard"
21
+ },
22
+ "kind": "StorageV2",
23
+ "properties": {
24
+ "allowCrossTenantReplication": false,
25
+ "minimumTlsVersion": "TLS1_0",
26
+ "allowBlobPublicAccess": false,
27
+ "networkAcls": {
28
+ "bypass": "AzureServices",
29
+ "virtualNetworkRules": [],
30
+ "ipRules": [],
31
+ "defaultAction": "Allow"
32
+ },
33
+ "supportsHttpsTrafficOnly": true,
34
+ "encryption": {
35
+ "services": {
36
+ "file": {
37
+ "keyType": "Account",
38
+ "enabled": true
39
+ },
40
+ "table": {
41
+ "keyType": "Account",
42
+ "enabled": true
43
+ },
44
+ "blob": {
45
+ "keyType": "Account",
46
+ "enabled": true
47
+ }
48
+ },
49
+ "keySource": "Microsoft.Storage"
50
+ },
51
+ "accessTier": "Hot"
52
+ }
53
+ },
54
+ {
55
+ "type": "Microsoft.Storage/storageAccounts/blobServices",
56
+ "apiVersion": "2021-04-01",
57
+ "name": "[concat(parameters('storageAccountName'), '/default')]",
58
+ "dependsOn": [
59
+ "[resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccountName'))]"
60
+ ],
61
+ "sku": {
62
+ "name": "Standard_RAGRS",
63
+ "tier": "Standard"
64
+ },
65
+ "properties": {
66
+ "cors": {
67
+ "corsRules": [
68
+ {
69
+ "allowedOrigins": [
70
+ "*"
71
+ ],
72
+ "allowedMethods": [
73
+ "GET"
74
+ ],
75
+ "maxAgeInSeconds": 0,
76
+ "exposedHeaders": [
77
+ ""
78
+ ],
79
+ "allowedHeaders": [
80
+ "*"
81
+ ]
82
+ }
83
+ ]
84
+ },
85
+ "deleteRetentionPolicy": {
86
+ "allowPermanentDelete": false,
87
+ "enabled": false
88
+ }
89
+ }
90
+ }
91
+ ]
92
+ }