Skip to content

Commit 71e9676

Browse files
committed
slave -> emissary renaming & upgrade axios
1 parent 62bdedb commit 71e9676

File tree

18 files changed

+100
-102
lines changed

18 files changed

+100
-102
lines changed

.eslintignore

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
.gitignore
22
.git/
3-
cloud/app-slave-provisioner/node_modules/
3+
cloud/app-emissary-provisioner/node_modules/
44
cloud/s2-deprovisioner/node_modules/
5-
local/app-slave-provisioner/node_modules/
5+
local/app-emissary-provisioner/node_modules/
66
local/selenium-standalone-provisioner/node_modules/
77
local/s2-deprovisioner/node_modules/
88
sam-app/

.vscode/launch.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@
1515
"protocol": "inspector",
1616
"stopOnEntry": false
1717
}, {
18-
"name": "app-slave-provisioner",
18+
"name": "app-emissary-provisioner",
1919
"type": "node",
2020
"request": "attach",
2121
"address": "localhost",
2222
"port": 5858,
23-
"localRoot": "${workspaceFolder}/local/app-slave-provisioner",
23+
"localRoot": "${workspaceFolder}/local/app-emissary-provisioner",
2424
"remoteRoot": "/var/task",
2525
"protocol": "inspector",
2626
"stopOnEntry": false

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@ lambda functions of <a href="https://purpleteam-labs.com/" title="purpleteam">pu
2323
<tr>
2424
<td>Top Level</td>
2525
<td>selenium<br>provisioner</td>
26-
<td>app-slave<br>provisioner</td>
26+
<td>app-emissary<br>provisioner</td>
2727
<td>s2<br>deprovisioner</td>
28-
<td>app-slave<br>provisioner</td>
28+
<td>app-emissary<br>provisioner</td>
2929
<td>s2<br>deprovisioner</td>
3030
</tr>
3131
<tr>
@@ -36,13 +36,13 @@ lambda functions of <a href="https://purpleteam-labs.com/" title="purpleteam">pu
3636
<a href="https://snyk.io/test/github/purpleteam-labs/purpleteam-lambda?targetFile=/local/selenium-standalone-provisioner/package.json"><img src="https://snyk.io/test/github/purpleteam-labs/purpleteam-lambda/badge.svg?targetFile=/local/selenium-standalone-provisioner/package.json" alt="Known Vulnerabilities" data-canonical-src="https://snyk.io/test/github/purpleteam-labs/purpleteam-lambda?targetFile=/local/selenium-standalone-provisioner/package.json" style="max-width:100%;"></a>
3737
</td>
3838
<td style="width:16.66%;">
39-
<a href="https://snyk.io/test/github/purpleteam-labs/purpleteam-lambda?targetFile=/local/app-slave-provisioner/package.json"><img src="https://snyk.io/test/github/purpleteam-labs/purpleteam-lambda/badge.svg?targetFile=/local/app-slave-provisioner/package.json" alt="Known Vulnerabilities" data-canonical-src="https://snyk.io/test/github/purpleteam-labs/purpleteam-lambda?targetFile=/local/app-slave-provisioner/package.json" style="max-width:100%;"></a>
39+
<a href="https://snyk.io/test/github/purpleteam-labs/purpleteam-lambda?targetFile=/local/app-emissary-provisioner/package.json"><img src="https://snyk.io/test/github/purpleteam-labs/purpleteam-lambda/badge.svg?targetFile=/local/app-emissary-provisioner/package.json" alt="Known Vulnerabilities" data-canonical-src="https://snyk.io/test/github/purpleteam-labs/purpleteam-lambda?targetFile=/local/app-emissary-provisioner/package.json" style="max-width:100%;"></a>
4040
</td>
4141
<td style="width:16.66%;">
4242
<a href="https://snyk.io/test/github/purpleteam-labs/purpleteam-lambda?targetFile=/local/s2-deprovisioner/package.json"><img src="https://snyk.io/test/github/purpleteam-labs/purpleteam-lambda/badge.svg?targetFile=/local/s2-deprovisioner/package.json" alt="Known Vulnerabilities" data-canonical-src="https://snyk.io/test/github/purpleteam-labs/purpleteam-lambda?targetFile=/local/s2-deprovisioner/package.json" style="max-width:100%;"></a>
4343
</td>
4444
<td style="width:16.66%;">
45-
<a href="https://snyk.io/test/github/purpleteam-labs/purpleteam-lambda?targetFile=/cloud/app-slave-provisioner/package.json"><img src="https://snyk.io/test/github/purpleteam-labs/purpleteam-lambda/badge.svg?targetFile=/cloud/app-slave-provisioner/package.json" alt="Known Vulnerabilities" data-canonical-src="https://snyk.io/test/github/purpleteam-labs/purpleteam-lambda?targetFile=/cloud/app-slave-provisioner/package.json" style="max-width:100%;"></a>
45+
<a href="https://snyk.io/test/github/purpleteam-labs/purpleteam-lambda?targetFile=/cloud/app-emissary-provisioner/package.json"><img src="https://snyk.io/test/github/purpleteam-labs/purpleteam-lambda/badge.svg?targetFile=/cloud/app-emissary-provisioner/package.json" alt="Known Vulnerabilities" data-canonical-src="https://snyk.io/test/github/purpleteam-labs/purpleteam-lambda?targetFile=/cloud/app-emissary-provisioner/package.json" style="max-width:100%;"></a>
4646
</td>
4747
<td style="width:16.66%;">
4848
<a href="https://snyk.io/test/github/purpleteam-labs/purpleteam-lambda?targetFile=/cloud/s2-deprovisioner/package.json"><img src="https://snyk.io/test/github/purpleteam-labs/purpleteam-lambda/badge.svg?targetFile=/cloud/s2-deprovisioner/package.json" alt="Known Vulnerabilities" data-canonical-src="https://snyk.io/test/github/purpleteam-labs/purpleteam-lambda?targetFile=/cloud/s2-deprovisioner/package.json" style="max-width:100%;"></a>

cloud/app-slave-provisioner/index.js renamed to cloud/app-emissary-provisioner/index.js

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ internals.promiseAllTimeout = async (promises, timeout, resolvePartial = true) =
6767
}));
6868

6969

70-
internals.deploySlaves = async (dTOItems, {
70+
internals.deployEmissaries = async (dTOItems, {
7171
invokedFunctionArn, clientContext: {
7272
Custom: {
7373
customer,
@@ -79,7 +79,7 @@ internals.deploySlaves = async (dTOItems, {
7979
const { promiseAllTimeout, s2ProvisioningTimeout } = internals;
8080
const result = { items: undefined, error: undefined };
8181
// Doc: [Lambda Environment Variables](https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html)
82-
console.info(`provisionAppSlaves invoked for pt customer: ${customer}.`);
82+
console.info(`provisionAppEmissaries invoked for pt customer: ${customer}.`);
8383
console.info(`The customerClusterArn is: ${customerClusterArn}`);
8484
console.info(`The Account Id is: ${invokedFunctionArn.split(':')[4]}`);
8585
console.info(`The serviceDiscoveryServices are ${JSON.stringify(serviceDiscoveryServices)}`);
@@ -105,20 +105,20 @@ internals.deploySlaves = async (dTOItems, {
105105
const itemClone = { ...cV };
106106
const browserNumber = numberOfBrowsersToAdd[itemClone.browser] - (runningCountOfBrowsersLeftToAdd[itemClone.browser] - 1);
107107
runningCountOfBrowsersLeftToAdd[itemClone.browser] -= 1;
108-
itemClone.appSlaveContainerName = `appslave-zap-${itemClone.browser}-${browserNumber}`;
109-
itemClone.appSlaveTaskDefinition = `s2_app_slave_zap_${itemClone.browser}_${browserNumber}`;
110-
itemClone.appEcsServiceName = `s2_app_slave_zap_${itemClone.browser}_${browserNumber}_${customer}`;
111-
itemClone.appServiceDiscoveryServiceArn = `${serviceDiscoveryServiceArnPrefix}${serviceDiscoveryServices[`s2_app_slave_zap_${itemClone.browser}_${browserNumber}`]}`;
108+
itemClone.appEmissaryContainerName = `appemissary-zap-${itemClone.browser}-${browserNumber}`;
109+
itemClone.appEmissaryTaskDefinition = `s2_app_emissary_zap_${itemClone.browser}_${browserNumber}`;
110+
itemClone.appEcsServiceName = `s2_app_emissary_zap_${itemClone.browser}_${browserNumber}_${customer}`;
111+
itemClone.appServiceDiscoveryServiceArn = `${serviceDiscoveryServiceArnPrefix}${serviceDiscoveryServices[`s2_app_emissary_zap_${itemClone.browser}_${browserNumber}`]}`;
112112
itemClone.seleniumContainerName = `seleniumstandalone-${itemClone.browser}-${browserNumber}`;
113-
itemClone.seleniumTaskDefinition = `s2_app_slave_selenium_${itemClone.browser}_${browserNumber}`;
114-
itemClone.seleniumEcsServiceName = `s2_app_slave_selenium_${itemClone.browser}_${browserNumber}_${customer}`;
115-
itemClone.seleniumServiceDiscoveryServiceArn = `${serviceDiscoveryServiceArnPrefix}${serviceDiscoveryServices[`s2_app_slave_selenium_${itemClone.browser}_${browserNumber}`]}`;
113+
itemClone.seleniumTaskDefinition = `s2_app_emissary_selenium_${itemClone.browser}_${browserNumber}`;
114+
itemClone.seleniumEcsServiceName = `s2_app_emissary_selenium_${itemClone.browser}_${browserNumber}_${customer}`;
115+
itemClone.seleniumServiceDiscoveryServiceArn = `${serviceDiscoveryServiceArnPrefix}${serviceDiscoveryServices[`s2_app_emissary_selenium_${itemClone.browser}_${browserNumber}`]}`;
116116
return itemClone;
117117
});
118118
console.info(`The value of itemsWithExtras is: ${JSON.stringify(itemsWithExtras)}`);
119119
const appItemsWithExtras = itemsWithExtras.map((item) => ({
120-
containerName: item.appSlaveContainerName,
121-
taskDefinition: item.appSlaveTaskDefinition,
120+
containerName: item.appEmissaryContainerName,
121+
taskDefinition: item.appEmissaryTaskDefinition,
122122
ecsServiceName: item.appEcsServiceName,
123123
serviceDiscoveryServiceArn: item.appServiceDiscoveryServiceArn,
124124
containerPort: 8080
@@ -149,7 +149,7 @@ internals.deploySlaves = async (dTOItems, {
149149
try {
150150
const resolved = await promiseAllTimeout(promisedResponses, s2ProvisioningTimeout);
151151
console.info(`The data objects returned from calling ecs.createService were: ${JSON.stringify(resolved)}`);
152-
resolved.every((e) => !e) && (result.error = 'Timeout exceeded: App Slave container(s) took too long to start. Although they timed out, they may have still started.');
152+
resolved.every((e) => !e) && (result.error = 'Timeout exceeded: App Emissary container(s) took too long to start. Although they timed out, they may have still started.');
153153
} catch (e) {
154154
console.error('Exception occurred, details follow:');
155155
console.error(e);
@@ -163,20 +163,20 @@ internals.deploySlaves = async (dTOItems, {
163163
}
164164

165165
result.items = itemsWithExtras.map((testSession) => {
166-
const { appSlaveTaskDefinition, seleniumTaskDefinition, ...itemsForConsumer } = testSession;
166+
const { appEmissaryTaskDefinition, seleniumTaskDefinition, ...itemsForConsumer } = testSession;
167167
return itemsForConsumer;
168168
});
169169

170170
return result;
171171
};
172172

173173
// Doc: context: https://docs.aws.amazon.com/lambda/latest/dg/nodejs-context.html
174-
exports.provisionAppSlaves = async (event, context) => {
174+
exports.provisionAppEmissaries = async (event, context) => {
175175
internals.s2ProvisioningTimeout = process.env.S2_PROVISIONING_TIMEOUT * 1000;
176176
const { provisionViaLambdaDto: { items } } = event;
177-
const { deploySlaves, printEnv } = internals;
177+
const { deployEmissaries, printEnv } = internals;
178178
printEnv();
179-
const result = await deploySlaves(items, context);
179+
const result = await deployEmissaries(items, context);
180180

181181
console.info(`The resulting items were: ${JSON.stringify(result.items)}`);
182182

cloud/app-slave-provisioner/package-lock.json renamed to cloud/app-emissary-provisioner/package-lock.json

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cloud/app-slave-provisioner/package.json renamed to cloud/app-emissary-provisioner/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
2-
"name": "app-slave-provisioner",
2+
"name": "app-emissary-provisioner",
33
"version": "0.1.0-alpha.1",
4-
"description": "purpleteam app-slave provisioner for cloud environment",
4+
"description": "purpleteam app-emissary provisioner for cloud environment",
55
"main": "index.js",
66
"repository": "https://github.com/purpleteam-labs/purpleteam-lambda",
77
"author": "Kim Carter",

cloud/s2-deprovisioner/package-lock.json

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

local/app-slave-provisioner/index.js renamed to local/app-emissary-provisioner/index.js

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -66,36 +66,36 @@ internals.promiseAllTimeout = async (promises, timeout, resolvePartial = true) =
6666
}));
6767

6868

69-
internals.deploySlaves = async (dTOItems) => {
69+
internals.deployEmissaries = async (dTOItems) => {
7070
const { promiseAllTimeout, s2ProvisioningTimeout } = internals;
71-
const numberOfRequestedSlaves = dTOItems.length;
71+
const numberOfRequestedEmissaries = dTOItems.length;
7272
const result = { items: undefined, error: undefined };
7373

74-
if (numberOfRequestedSlaves < 1 || numberOfRequestedSlaves > 12) throw new Error(`The number of app-slaves requested was: ${numberOfRequestedSlaves}. The supported number of Test Sessions is from 1-12 inclusive.`);
74+
if (numberOfRequestedEmissaries < 1 || numberOfRequestedEmissaries > 12) throw new Error(`The number of app-emissaries requested was: ${numberOfRequestedEmissaries}. The supported number of Test Sessions is from 1-12 inclusive.`);
7575

7676
// timeout in axios is for response times only, if the end-point is down, it will still take a long time. So we just wrap the actual request.
7777
const http = axios.create({ /* default is 0 (no timeout) */ baseURL: 'http://docker-compose-ui:5000/api/v1', headers: { 'Content-type': 'application/json' } });
7878

79-
const promisedResponse = http.put('/services', { service: 'zap', project: 'app-slave', num: numberOfRequestedSlaves });
79+
const promisedResponse = http.put('/services', { service: 'zap', project: 'app-emissary', num: numberOfRequestedEmissaries });
8080
const resolved = await promiseAllTimeout([promisedResponse], s2ProvisioningTimeout);
8181

82-
!resolved[0] && (result.error = 'Timeout exceeded: App Slave container(s) took too long to start. Although they timed out, they may have still started. Also check that docker-compose-ui is up.');
82+
!resolved[0] && (result.error = 'Timeout exceeded: App Emissary container(s) took too long to start. Although they timed out, they may have still started. Also check that docker-compose-ui is up.');
8383

8484
result.items = dTOItems.map((cV, i) => {
8585
const itemClone = { ...cV };
86-
itemClone.appSlaveContainerName = `appslave_zap_${i + 1}`;
86+
itemClone.appEmissaryContainerName = `appemissary_zap_${i + 1}`;
8787
return itemClone;
8888
});
8989

9090
return result;
9191
};
9292

93-
exports.provisionAppSlaves = async (event, context) => { // eslint-disable-line no-unused-vars
93+
exports.provisionAppEmissaries = async (event, context) => { // eslint-disable-line no-unused-vars
9494
internals.s2ProvisioningTimeout = process.env.S2_PROVISIONING_TIMEOUT * 1000;
9595
const { provisionViaLambdaDto: { items } } = event;
96-
const { deploySlaves, printEnv } = internals;
96+
const { deployEmissaries, printEnv } = internals;
9797
printEnv();
98-
const result = await deploySlaves(items);
98+
const result = await deployEmissaries(items);
9999

100100
const response = {
101101
// 'statusCode': 200,

local/app-slave-provisioner/package-lock.json renamed to local/app-emissary-provisioner/package-lock.json

Lines changed: 11 additions & 12 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

local/app-slave-provisioner/package.json renamed to local/app-emissary-provisioner/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
{
2-
"name": "app-slave-provisioner",
2+
"name": "app-emissary-provisioner",
33
"version": "0.1.0-alpha.1",
4-
"description": "purpleteam app-slave provisioner for local environment",
4+
"description": "purpleteam app-emissary provisioner for local environment",
55
"main": "index.js",
66
"repository": "https://github.com/purpleteam-labs/purpleteam-lambda",
77
"author": "Kim Carter",
88
"license": "AGPL-3.0-only",
99
"dependencies": {
10-
"axios": "^0.21.0"
10+
"axios": "^0.21.1"
1111
},
1212
"scripts": {
1313
"deps": "npm-check",

0 commit comments

Comments
 (0)