browserstack-node-sdk 1.27.2 → 1.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ats/src/CFTemplates/aws-eks-cluster-dep.yaml +1 -1
- package/ats/src/cloudproviders/AWS.js +1 -0
- package/ats/src/cloudproviders/Azure.js +1 -0
- package/ats/src/cloudproviders/CloudProvider.js +1 -0
- package/ats/src/cloudproviders/GoogleCloudProvider.js +1 -0
- package/ats/src/cloudproviders/gcs.js +1 -0
- package/ats/src/cloudproviders/utils.js +1 -0
- package/ats/src/commands/configure.js +1 -1
- package/ats/src/commands/connect.js +1 -1
- package/ats/src/commands/connect_commands/grid.js +1 -1
- package/ats/src/commands/create.js +1 -1
- package/ats/src/commands/create_commands/grid.js +1 -1
- package/ats/src/commands/delete.js +1 -1
- package/ats/src/commands/delete_commands/grid.js +1 -1
- package/ats/src/commands/init.js +1 -1
- package/ats/src/commands/list.js +1 -1
- package/ats/src/commands/list_commands/grid_profiles.js +1 -1
- package/ats/src/commands/list_commands/grids.js +1 -1
- package/ats/src/config/constants.js +1 -1
- package/ats/src/config/logger.js +1 -1
- package/ats/src/index.js +1 -1
- package/ats/src/templates/azureresources/akscluster.json +134 -0
- package/ats/src/templates/azureresources/federatedidentityhub.json +50 -0
- package/ats/src/templates/azureresources/federatedidentitynode.json +50 -0
- package/ats/src/templates/azureresources/managedidentity.json +49 -0
- package/ats/src/templates/azureresources/storageaccount.json +92 -0
- package/ats/src/templates/cert-manager/cert-manager.yaml +1140 -0
- package/ats/src/templates/cert-manager/clusterissuer.yaml +21 -0
- package/ats/src/templates/cert-manager/crds.yaml +4468 -0
- package/ats/src/templates/default-service-account.yaml +5 -0
- package/ats/src/templates/gcpresources/KubeConfigTemplate.yaml +23 -0
- package/ats/src/templates/gcpresources/gkecluster.json +92 -0
- package/ats/src/templates/gcpresources/regionmap.json +198 -0
- package/ats/src/templates/hub-deployment.yaml +6 -0
- package/ats/src/templates/hub-service.yaml +1 -1
- package/ats/src/templates/ingress.yaml +20 -0
- package/ats/src/templates/nginx/helper.yaml +333 -0
- package/ats/src/templates/nginx/pods-and-services.yaml +315 -0
- package/ats/src/templates/nginx/private-pods-and-services.yaml +184 -0
- package/ats/src/utils/AWSUtils.js +1 -1
- package/ats/src/utils/createAutoscalerStack.js +1 -1
- package/ats/src/utils/createClusterStack.js +1 -1
- package/ats/src/utils/createk8sClient.js +1 -1
- package/ats/src/utils/deleteStack.js +1 -1
- package/ats/src/utils/gridComponents.js +1 -1
- package/ats/src/utils/hstUtils.js +1 -1
- package/ats/src/utils/instrumentationUtils.js +1 -1
- package/ats/src/utils/userInput.js +1 -1
- package/ats/src/utils/utilityMethods.js +1 -1
- package/ats/src/utils/webSocketUtils.js +1 -1
- package/package.json +1 -1
- package/src/bin/codeceptjs/BrowserStackPlugin.js +1 -1
- package/src/bin/codeceptjs/command.js +1 -1
- package/src/bin/cucumber-js/command.js +1 -1
- package/src/bin/cucumber-js/formatter/custom_formatter.js +1 -1
- package/src/bin/cucumber-js/formatter/custom_formatter_old_versions.js +1 -1
- package/src/bin/cucumber-js/test.setup.js +1 -1
- package/src/bin/cucumber-js/test_old.setup.js +1 -1
- package/src/bin/cucumber-js/timeout.setup.js +1 -1
- package/src/bin/jest/command.js +1 -1
- package/src/bin/jest/customEnvironment.js +1 -1
- package/src/bin/jest/customTestRunnerTemplate.js +1 -1
- package/src/bin/jest/jest.setup.js +1 -1
- package/src/bin/jest/test_before.setup.js +1 -1
- package/src/bin/launcher/launcher.js +1 -1
- package/src/bin/mocha/accessibility-automation/helper.js +1 -1
- package/src/bin/mocha/bstack-reporter/customReporter.js +1 -1
- package/src/bin/mocha/command.js +1 -1
- package/src/bin/mocha/test-observability/builderPatch.js +1 -1
- package/src/bin/mocha/test-observability/data-hooks.js +1 -1
- package/src/bin/mocha/test-observability/mochaUtils.js +1 -1
- package/src/bin/mocha/test.setup.js +1 -1
- package/src/bin/nightwatch/command.js +1 -1
- package/src/bin/playwright/accessibility-helper.js +1 -1
- package/src/bin/playwright/command.js +1 -1
- package/src/bin/playwright/globalSetup.js +1 -1
- package/src/bin/playwright/mock-process.js +1 -1
- package/src/bin/playwright/reporter/pwUtils.js +1 -1
- package/src/bin/playwright/reporter/reporter.js +1 -1
- package/src/bin/playwright/reporter/test-details.js +1 -1
- package/src/bin/runner.js +1 -1
- package/src/bin/setup.js +1 -1
- package/src/bin/test-runner/index.js +1 -1
- package/src/bin/test-runner/runTest.js +1 -1
- package/src/bin/test-runner/testWorker.js +1 -1
- package/src/bin/utils/constants.js +1 -1
- package/src/bin/utils/log4jsAppender.js +1 -1
- package/src/bin/utils/logPatcher.js +1 -1
- package/src/bin/utils/logReportingAPI.js +1 -1
- package/src/bin/vanilla-js/command.js +1 -1
- package/src/helpers/BrowserStackSetup.js +1 -1
- package/src/helpers/accessibility-automation/constants.js +1 -1
- package/src/helpers/accessibility-automation/helper.js +1 -1
- package/src/helpers/ats/constants.js +1 -0
- package/src/helpers/ats/helper.js +1 -0
- package/src/helpers/capsMapping.js +1 -1
- package/src/helpers/helper.js +1 -1
- package/src/helpers/logger.js +1 -1
- package/src/helpers/patchHelpers.js +1 -1
- package/src/helpers/request-spy.js +1 -1
- package/src/helpers/setKeepAlive.js +1 -1
- package/src/helpers/test-observability/constants.js +1 -1
- package/src/helpers/test-observability/error-handler.js +1 -1
- package/src/helpers/test-observability/performance-tester.js +1 -1
- package/src/helpers/test-observability/requestQueueHandler.js +1 -1
- package/src/helpers/test-observability/sessionHandler.js +1 -1
- package/src/helpers/test-observability/utils.js +1 -1
- package/src/helpers/w3cMapping.js +1 -1
- package/src/hubAllocationMethods.js +1 -1
- package/src/index.js +1 -1
- package/ats/src/config/instanceTypes.json +0 -554
|
@@ -1 +1 @@
|
|
|
1
|
-
var
|
|
1
|
+
var a17_0xd4ce62=a17_0x48c4;(function(_0x4b1ae5,_0x307019){var _0xc29b2b=a17_0x48c4,_0x30ebb1=_0x4b1ae5();while(!![]){try{var _0x308383=parseInt(_0xc29b2b(0xcd))/0x1*(-parseInt(_0xc29b2b(0x88))/0x2)+parseInt(_0xc29b2b(0xb2))/0x3*(-parseInt(_0xc29b2b(0xc1))/0x4)+-parseInt(_0xc29b2b(0xd3))/0x5+parseInt(_0xc29b2b(0xa7))/0x6*(-parseInt(_0xc29b2b(0xaa))/0x7)+-parseInt(_0xc29b2b(0x9f))/0x8*(-parseInt(_0xc29b2b(0xbf))/0x9)+-parseInt(_0xc29b2b(0xce))/0xa+-parseInt(_0xc29b2b(0x98))/0xb*(-parseInt(_0xc29b2b(0xc0))/0xc);if(_0x308383===_0x307019)break;else _0x30ebb1['push'](_0x30ebb1['shift']());}catch(_0x46617f){_0x30ebb1['push'](_0x30ebb1['shift']());}}}(a17_0x55e8,0xd5ecd),require(a17_0xd4ce62(0xa2))[a17_0xd4ce62(0xc7)](),exports['DASHBOARD_ENDPOINT']=process[a17_0xd4ce62(0xbc)][a17_0xd4ce62(0xbb)]||a17_0xd4ce62(0xb9),exports[a17_0xd4ce62(0xc3)]=process['env']['BS_API_URL']||a17_0xd4ce62(0x99),exports[a17_0xd4ce62(0x9c)]=process['env'][a17_0xd4ce62(0x9c)]||a17_0xd4ce62(0xba),exports[a17_0xd4ce62(0xae)]='wss://'+this[a17_0xd4ce62(0x9c)]+a17_0xd4ce62(0xb5),exports[a17_0xd4ce62(0xab)]='credentials',exports[a17_0xd4ce62(0x97)]=a17_0xd4ce62(0xa3),exports[a17_0xd4ce62(0xb0)]=a17_0xd4ce62(0xb8),exports[a17_0xd4ce62(0x96)]=a17_0xd4ce62(0x89),exports[a17_0xd4ce62(0xa1)]='BSTACK-ATS-CLUSTER',exports['CLUSTER_AUTOSCALER_STACK_NAME']=a17_0xd4ce62(0x9d),exports[a17_0xd4ce62(0xb7)]=a17_0xd4ce62(0xa6),exports['GCP']=a17_0xd4ce62(0xb3));var a17_0x2db23a={};function a17_0x55e8(){var _0x1342b3=['CP_CONFIG_FILE','\x0aThis\x20command\x20will\x20take\x20you\x20through\x20the\x20initialisation\x20of\x20BrowserStack\x20CLI.','CLI_RUN_FINISHED','WS_ENDPOINT','list','DEFAULT_GRID_NAME','Value','3AehyTs','gcp','RESOURCES','/ws?username=<UsernamePlaceholder>&password=<PasswordPlaceholder>','resourceInfo','AZURE','high-scale-grid','grid.browserstack.com','grid-api.browserstack.com','DASHBOARD_ENDPOINT','env','\x0aCreate\x20and\x20Manage\x20scalable\x20browser\x20automation\x20grids\x20for\x20Functional\x20Testing.','info','5040513QXgZAA','50217240HGwSMc','4501516ANJaOe','COMMON_HST_TAGS','BS_API_URL','create','NULL','BrowserStack','config','delete','LINK_MESSAGE','\x0aThis\x20command\x20will\x20list\x20down\x20the\x20grids\x20created.','\x0aThis\x20command\x20will\x20list\x20down\x20the\x20resources\x20created\x20on\x20Automate\x20TurboScale.','\x0a\x0aFind\x20more\x20information\x20at:\x20https://browserstack.com/docs/automate-turboscale/references/browserstack-cli','1jMOsZn','14982470HQYUPc','cliRunStarted','[REDACTED]','WS_EVENTS','\x0aThis\x20command\x20will\x20take\x20you\x20through\x20the\x20configuration\x20of\x20BrowserStack\x20CLI.','5109100vDAWmh','messageTypes','global_registry','1695170ZCwUBt','aws','HST_CLUSTER_TAGS','log','gridUrl','gridProfile','ERROR','GRID_URL','BrowserStack-Automate-TurboScale','Use\x20\x22browserstack-cli\x20ats\x20<command_group>\x20-h/--help\x22\x20for\x20more\x20options\x20available\x20about\x20Automate\x20TurboScale.','INFO','SUPPORTED_CLOUD_PROVIDERS','warning','\x0aThis\x20will\x20connect\x20the\x20grid\x20with\x20existing\x20VPC.','AWS','IAM_USER_NAME','11xaZsYy','api.browserstack.com','LOG','\x0aThis\x20command\x20will\x20list\x20down\x20the\x20grid\x20profiles\x20created.','AG_API_URL','BSTACK-ATS-CLUSTER-AUTOSCALER','HELP_FOOTER_MESSAGE','24zVwilP','UNKNOWN','CLUSTER_DEP_STACK_NAME','dotenv','BrowserStackIAMUser','CLI_ARGS_REGEX','\x0aThis\x20will\x20help\x20delete\x20the\x20Automation\x20grid.','azure','138CxIbbe','cliRunFinished','RAW_ARGS_REGEX','150857XUtNLF'];a17_0x55e8=function(){return _0x1342b3;};return a17_0x55e8();}a17_0x2db23a['Key']='browserstack:managedBy',a17_0x2db23a[a17_0xd4ce62(0xb1)]='BrowserStack';function a17_0x48c4(_0x5c6791,_0x42a302){var _0x55e855=a17_0x55e8();return a17_0x48c4=function(_0x48c41e,_0x4ee9d5){_0x48c41e=_0x48c41e-0x87;var _0x425e74=_0x55e855[_0x48c41e];return _0x425e74;},a17_0x48c4(_0x5c6791,_0x42a302);}var a17_0x4c8fa1={};a17_0x4c8fa1['Key']='browserstack:service',a17_0x4c8fa1['Value']=a17_0xd4ce62(0x90),exports[a17_0xd4ce62(0xc2)]=[a17_0x2db23a,a17_0x4c8fa1];var a17_0x501fe6={};a17_0x501fe6['browserstack:managedBy']=a17_0xd4ce62(0xc6),a17_0x501fe6['browserstack:service']=a17_0xd4ce62(0x90),exports[a17_0xd4ce62(0x8a)]=a17_0x501fe6,exports[a17_0xd4ce62(0x93)]=[this[a17_0xd4ce62(0x96)]];var a17_0x1efc19={};a17_0x1efc19[a17_0xd4ce62(0x9a)]=a17_0xd4ce62(0x8b),a17_0x1efc19[a17_0xd4ce62(0xb4)]=a17_0xd4ce62(0xb6),a17_0x1efc19[a17_0xd4ce62(0x8f)]=a17_0xd4ce62(0x8c),a17_0x1efc19['CLI_RUN_STARTED']=a17_0xd4ce62(0xcf),a17_0x1efc19[a17_0xd4ce62(0xad)]=a17_0xd4ce62(0xa8),exports[a17_0xd4ce62(0xd1)]=a17_0x1efc19,exports[a17_0xd4ce62(0x87)]={},exports[a17_0xd4ce62(0xc9)]=a17_0xd4ce62(0xcc);var a17_0x1d9883={};a17_0x1d9883['root']=a17_0xd4ce62(0xbd)+this[a17_0xd4ce62(0xc9)],a17_0x1d9883['init']=a17_0xd4ce62(0xac)+this[a17_0xd4ce62(0xc9)],a17_0x1d9883['configure']=a17_0xd4ce62(0xd2)+this[a17_0xd4ce62(0xc9)],a17_0x1d9883[a17_0xd4ce62(0xc4)]='\x0aThis\x20will\x20help\x20create\x20a\x20new\x20Automation\x20grid.'+this[a17_0xd4ce62(0xc9)],a17_0x1d9883[a17_0xd4ce62(0xaf)]={},a17_0x1d9883[a17_0xd4ce62(0xc8)]=a17_0xd4ce62(0xa5)+this[a17_0xd4ce62(0xc9)],a17_0x1d9883['connect']=a17_0xd4ce62(0x95)+this[a17_0xd4ce62(0xc9)],a17_0x1d9883[a17_0xd4ce62(0xaf)]['root']=a17_0xd4ce62(0xcb)+this[a17_0xd4ce62(0xc9)],a17_0x1d9883[a17_0xd4ce62(0xaf)]['grid']=a17_0xd4ce62(0xca)+this['LINK_MESSAGE'],a17_0x1d9883[a17_0xd4ce62(0xaf)][a17_0xd4ce62(0x8d)]=a17_0xd4ce62(0x9b)+this['LINK_MESSAGE'],exports['HELP_HEADER_MESSAGE']=a17_0x1d9883,exports[a17_0xd4ce62(0x9e)]=a17_0xd4ce62(0x91);var a17_0x1c1881={};a17_0x1c1881['SUCCESS']='success',a17_0x1c1881[a17_0xd4ce62(0x8e)]='error',a17_0x1c1881[a17_0xd4ce62(0x92)]=a17_0xd4ce62(0xbe),a17_0x1c1881['WARNING']=a17_0xd4ce62(0x94),a17_0x1c1881[a17_0xd4ce62(0xa0)]='unknown',a17_0x1c1881[a17_0xd4ce62(0xc5)]=null,exports[a17_0xd4ce62(0xd4)]=a17_0x1c1881,exports[a17_0xd4ce62(0xa4)]=/(?<=("u"|"username"|"k"|"key") *: *)"[^,}]*/g,exports[a17_0xd4ce62(0xa9)]=/(?<=("-u"|"-username"|"-k"|"-key") *, *)"[^,\]]*/g,exports['REDACTED']=a17_0xd4ce62(0xd0);
|
package/ats/src/config/logger.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a18_0x27b8d3=a18_0x3ed6;(function(_0x5d757e,_0x1a6cbd){const _0x7a372b=a18_0x3ed6,_0x3d6b0d=_0x5d757e();while(!![]){try{const _0x428c32=parseInt(_0x7a372b(0x15f))/0x1+parseInt(_0x7a372b(0x165))/0x2+-parseInt(_0x7a372b(0x167))/0x3*(-parseInt(_0x7a372b(0x16e))/0x4)+-parseInt(_0x7a372b(0x173))/0x5+-parseInt(_0x7a372b(0x170))/0x6+parseInt(_0x7a372b(0x169))/0x7*(parseInt(_0x7a372b(0x178))/0x8)+-parseInt(_0x7a372b(0x16a))/0x9*(parseInt(_0x7a372b(0x16b))/0xa);if(_0x428c32===_0x1a6cbd)break;else _0x3d6b0d['push'](_0x3d6b0d['shift']());}catch(_0x2d5ffe){_0x3d6b0d['push'](_0x3d6b0d['shift']());}}}(a18_0x4a79,0x441ba));function a18_0x3ed6(_0x5efaba,_0x3cd7d4){const _0x4a7950=a18_0x4a79();return a18_0x3ed6=function(_0x3ed6d2,_0x211aa0){_0x3ed6d2=_0x3ed6d2-0x15b;let _0x3144e3=_0x4a7950[_0x3ed6d2];return _0x3144e3;},a18_0x3ed6(_0x5efaba,_0x3cd7d4);}const winston=require(a18_0x27b8d3(0x15d)),fs=require('fs'),path=require(a18_0x27b8d3(0x16f)),logDir=a18_0x27b8d3(0x175);function a18_0x4a79(){const _0xcd5e1e=['748562kLMDyD','\x20-\x20','3327EBXojE','join','1491CNlYeq','253881oeDxnu','90rNvGyS','YYYY-MM-DD\x20HH:mm:ss','usage.log','796KihKzg','path','3268272ZUpLyH','printf','File','2191470wznQNS','console.info','log','message','transports','17904wGYdCa','createLogger','format','timestamp','winston','Console','444191VhAQrE','logger','combine','fileLogger','name','level'];a18_0x4a79=function(){return _0xcd5e1e;};return a18_0x4a79();}!fs['existsSync'](logDir)&&fs['mkdirSync'](logDir);const a18_0xcabaf0={};a18_0xcabaf0[a18_0x27b8d3(0x15b)]=a18_0x27b8d3(0x16c);const a18_0x19c272={};a18_0x19c272[a18_0x27b8d3(0x164)]=!![];const a18_0x3d29cd={};a18_0x3d29cd[a18_0x27b8d3(0x163)]=a18_0x27b8d3(0x174),exports[a18_0x27b8d3(0x160)]=new winston[(a18_0x27b8d3(0x179))]({'format':winston[a18_0x27b8d3(0x15b)][a18_0x27b8d3(0x161)](winston[a18_0x27b8d3(0x15b)][a18_0x27b8d3(0x15c)](a18_0xcabaf0),winston[a18_0x27b8d3(0x15b)]['colorize'](a18_0x19c272),winston[a18_0x27b8d3(0x15b)][a18_0x27b8d3(0x171)](_0x54ea3d=>_0x54ea3d[a18_0x27b8d3(0x15c)]+a18_0x27b8d3(0x166)+_0x54ea3d[a18_0x27b8d3(0x164)]+':\x20'+_0x54ea3d[a18_0x27b8d3(0x176)])),'transports':[new winston['transports'][(a18_0x27b8d3(0x15e))](a18_0x3d29cd),new winston[(a18_0x27b8d3(0x177))]['File']({'filename':path[a18_0x27b8d3(0x168)](logDir,'events.log'),'level':'debug'})]});const winstonFileLoggerParams={'transports':[new winston[(a18_0x27b8d3(0x177))][(a18_0x27b8d3(0x172))]({'filename':path['join'](logDir,a18_0x27b8d3(0x16d)),'level':'debug'})]};exports[a18_0x27b8d3(0x162)]=new winston[(a18_0x27b8d3(0x179))](winstonFileLoggerParams);
|
package/ats/src/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
'use strict';const
|
|
2
|
+
'use strict';const a19_0x4c69df=a19_0x1e77;(function(_0x24a714,_0x7f2b5){const _0x5159e6=a19_0x1e77,_0x4812de=_0x24a714();while(!![]){try{const _0x257d53=-parseInt(_0x5159e6(0x12a))/0x1*(parseInt(_0x5159e6(0x129))/0x2)+-parseInt(_0x5159e6(0x11f))/0x3+parseInt(_0x5159e6(0x127))/0x4+parseInt(_0x5159e6(0x130))/0x5*(-parseInt(_0x5159e6(0x12f))/0x6)+parseInt(_0x5159e6(0x11e))/0x7*(parseInt(_0x5159e6(0x126))/0x8)+parseInt(_0x5159e6(0x121))/0x9*(parseInt(_0x5159e6(0x11c))/0xa)+parseInt(_0x5159e6(0x128))/0xb;if(_0x257d53===_0x7f2b5)break;else _0x4812de['push'](_0x4812de['shift']());}catch(_0x5f1125){_0x4812de['push'](_0x4812de['shift']());}}}(a19_0x1930,0xbb151));function a19_0x1e77(_0x1bda30,_0x494eb0){const _0x193071=a19_0x1930();return a19_0x1e77=function(_0x1e7740,_0x370456){_0x1e7740=_0x1e7740-0x11c;let _0x18d1a0=_0x193071[_0x1e7740];return _0x18d1a0;},a19_0x1e77(_0x1bda30,_0x494eb0);}function a19_0x1930(){const _0x3eab23=['demandCommand','357bNeDOW','4439496PGPTPC','commandDir','675qDIDwp','usage','AqTxW','commands','exports','204248FJGpEd','958200WKSTbL','15151224NqsQXd','2hScqCX','386602RJKiBD','AWS_SDK_JS_SUPPRESS_MAINTENANCE_MODE_MESSAGE','root','epilogue','env','6orZZQj','5133835wtsnWg','./config/constants','MxMwJ','98730svgQDF'];a19_0x1930=function(){return _0x3eab23;};return a19_0x1930();}const {HELP_FOOTER_MESSAGE,HELP_HEADER_MESSAGE}=require(a19_0x4c69df(0x131));process[a19_0x4c69df(0x12e)][a19_0x4c69df(0x12b)]=0x1;function run(_0x35439d){const _0x53cb9c=a19_0x4c69df,_0x3abd03={};_0x3abd03[_0x53cb9c(0x132)]=_0x53cb9c(0x124),_0x3abd03[_0x53cb9c(0x123)]='help';const _0x3a9355=_0x3abd03;_0x35439d[_0x53cb9c(0x122)](HELP_HEADER_MESSAGE[_0x53cb9c(0x12c)])[_0x53cb9c(0x120)](_0x3a9355['MxMwJ'])[_0x53cb9c(0x11d)]()['help'](_0x3a9355[_0x53cb9c(0x123)])[_0x53cb9c(0x12d)](HELP_FOOTER_MESSAGE);}module[a19_0x4c69df(0x125)]=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
|
+
}
|