@heroku/skynet 1.9.5 → 1.9.6
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 +2 -2
- package/commands/{whitelist → allowlist}/add.js +7 -7
- package/commands/{whitelist → allowlist}/remove.js +6 -6
- package/commands/{whitelists.js → allowlists.js} +4 -4
- package/commands/deprovision.js +1 -1
- package/commands/suspend/app-owner.js +1 -1
- package/commands/suspend/user.js +1 -1
- package/index.js +3 -3
- package/lib/skynet.js +3 -3
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@ Use Skynet from Heroku CLI
|
|
|
6
6
|
Most Skynet CLI commands require sudo and only the folowing teams are authrozied to use Skynet CLI:
|
|
7
7
|
* heroku-secops
|
|
8
8
|
* heroku-security
|
|
9
|
-
* heroku-support
|
|
9
|
+
* heroku-support
|
|
10
10
|
* heroku-cedar
|
|
11
11
|
* heroku-dogwood
|
|
12
12
|
|
|
@@ -97,7 +97,7 @@ $ heroku sudo skynet::unsuspend::user -u xyz@heroku.com
|
|
|
97
97
|
|
|
98
98
|
### Publishing to `npm`
|
|
99
99
|
* Request access to the NPM Heroku Organization using [this form](https://securityorg.force.com/IntakeApp/s/?entityCode=HerokuAccess&si=a1i3A0000007euiQAA).
|
|
100
|
-
* Request write access to @
|
|
100
|
+
* Request write access to @heroku/skynet package by sending email to dzhuo@salesforce.com.
|
|
101
101
|
* Publish the package:
|
|
102
102
|
|
|
103
103
|
```
|
|
@@ -7,29 +7,29 @@ async function run (context) {
|
|
|
7
7
|
await cli.action(
|
|
8
8
|
`adding ${cli.color.cyan(
|
|
9
9
|
context.flags.value
|
|
10
|
-
)} to
|
|
11
|
-
skynet.
|
|
10
|
+
)} to allowlist with ${cli.color.cyan(context.flags.notes)}`,
|
|
11
|
+
skynet.addAllowlist(context.flags.value, context.flags.notes)
|
|
12
12
|
)
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
module.exports = {
|
|
16
16
|
topic: 'skynet',
|
|
17
|
-
command: '
|
|
18
|
-
description: 'adds an app or user to the
|
|
17
|
+
command: 'allowlist:add',
|
|
18
|
+
description: 'adds an app or user to the allowlist',
|
|
19
19
|
help: `Examples:
|
|
20
|
-
$ heroku skynet:
|
|
20
|
+
$ heroku skynet:allowlist:add -v foo@bar.com -n Additional info`,
|
|
21
21
|
flags: [
|
|
22
22
|
{
|
|
23
23
|
name: 'value',
|
|
24
24
|
char: 'v',
|
|
25
|
-
description: 'app name or user email to
|
|
25
|
+
description: 'app name or user email to allowlist',
|
|
26
26
|
hasValue: true,
|
|
27
27
|
required: true
|
|
28
28
|
},
|
|
29
29
|
{
|
|
30
30
|
name: 'notes',
|
|
31
31
|
char: 'n',
|
|
32
|
-
description: 'additional information for the
|
|
32
|
+
description: 'additional information for the allowlist entry',
|
|
33
33
|
hasValue: true,
|
|
34
34
|
required: true
|
|
35
35
|
}
|
|
@@ -5,22 +5,22 @@ const SkynetAPI = require('../../lib/skynet')
|
|
|
5
5
|
async function run (context) {
|
|
6
6
|
const skynet = new SkynetAPI(context.auth.password)
|
|
7
7
|
await cli.action(
|
|
8
|
-
`removing ${cli.color.cyan(context.flags.value)} from
|
|
9
|
-
skynet.
|
|
8
|
+
`removing ${cli.color.cyan(context.flags.value)} from allowlist`,
|
|
9
|
+
skynet.removeAllowlist(context.flags.value)
|
|
10
10
|
)
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
module.exports = {
|
|
14
14
|
topic: 'skynet',
|
|
15
|
-
command: '
|
|
16
|
-
description: 'Remove user or app from the
|
|
15
|
+
command: 'allowlist:remove',
|
|
16
|
+
description: 'Remove user or app from the allowlist',
|
|
17
17
|
help: `Examples:
|
|
18
|
-
$ heroku skynet:
|
|
18
|
+
$ heroku skynet:allowlist:remove -v foo@bar.com`,
|
|
19
19
|
flags: [
|
|
20
20
|
{
|
|
21
21
|
name: 'value',
|
|
22
22
|
char: 'v',
|
|
23
|
-
description: 'app name or user email to remove from
|
|
23
|
+
description: 'app name or user email to remove from allowlist',
|
|
24
24
|
hasValue: true,
|
|
25
25
|
required: true
|
|
26
26
|
}
|
|
@@ -4,7 +4,7 @@ const SkynetAPI = require('../lib/skynet')
|
|
|
4
4
|
|
|
5
5
|
async function run (context) {
|
|
6
6
|
const skynet = new SkynetAPI(context.auth.password)
|
|
7
|
-
let response = await skynet.
|
|
7
|
+
let response = await skynet.allowlists()
|
|
8
8
|
response = JSON.parse(response)
|
|
9
9
|
if (Object.keys(response).length > 0) {
|
|
10
10
|
cli.table(response, {
|
|
@@ -21,10 +21,10 @@ async function run (context) {
|
|
|
21
21
|
|
|
22
22
|
module.exports = {
|
|
23
23
|
topic: 'skynet',
|
|
24
|
-
command: '
|
|
25
|
-
description: '
|
|
24
|
+
command: 'allowlists',
|
|
25
|
+
description: 'allowlists used by skynet',
|
|
26
26
|
help: `Examples:
|
|
27
|
-
$ heroku skynet:
|
|
27
|
+
$ heroku skynet:allowlists`,
|
|
28
28
|
flags: [],
|
|
29
29
|
run: command(run)
|
|
30
30
|
}
|
package/commands/deprovision.js
CHANGED
|
@@ -34,7 +34,7 @@ module.exports = {
|
|
|
34
34
|
{ name: 'user', char: 'u', description: 'user to deprovision', hasValue: true },
|
|
35
35
|
{ name: 'category', char: 'c', description: 'suspension category', hasValue: true, required: true },
|
|
36
36
|
{ name: 'notes', char: 'n', description: 'suspend notes', hasValue: true, required: true },
|
|
37
|
-
{ name: 'bypass', description: 'bypass the
|
|
37
|
+
{ name: 'bypass', description: 'bypass the allowlist', hasValue: false, required: false },
|
|
38
38
|
{ name: 'notify', description: 'send user suspension email notification', hasValue: false, required: false },
|
|
39
39
|
{ name: 'no-notify', description: 'skip user suspension email notification', hasValue: false, required: false }
|
|
40
40
|
],
|
|
@@ -50,7 +50,7 @@ module.exports = {
|
|
|
50
50
|
{ name: 'infile', char: 'i', description: 'file of apps that require owner suspension', hasValue: true },
|
|
51
51
|
{ name: 'category', char: 'c', description: 'suspension category', hasValue: true, required: true },
|
|
52
52
|
{ name: 'notes', char: 'n', description: 'suspend notes', hasValue: true, required: true },
|
|
53
|
-
{ name: 'bypass', description: 'bypass the
|
|
53
|
+
{ name: 'bypass', description: 'bypass the allowlist', hasValue: false, required: false }
|
|
54
54
|
],
|
|
55
55
|
run: command(run)
|
|
56
56
|
}
|
package/commands/suspend/user.js
CHANGED
|
@@ -69,7 +69,7 @@ module.exports = {
|
|
|
69
69
|
{ name: 'infile', char: 'i', description: 'file of users to suspend', hasValue: true },
|
|
70
70
|
{ name: 'category', char: 'c', description: 'suspension category', hasValue: true, required: true },
|
|
71
71
|
{ name: 'notes', char: 'n', description: 'suspend notes', hasValue: true, required: true },
|
|
72
|
-
{ name: 'bypass', description: 'bypass the
|
|
72
|
+
{ name: 'bypass', description: 'bypass the allowlist', hasValue: false, required: false },
|
|
73
73
|
{ name: 'no-notify', description: 'skip user suspension email notification', hasValue: false, required: false },
|
|
74
74
|
{ name: 'notify', description: 'send user suspension email notification', hasValue: false, required: false },
|
|
75
75
|
{ name: 'unverify', description: 'unverifies a user account, removes all billing info', hasValue: false, required: false }
|
package/index.js
CHANGED
|
@@ -14,8 +14,8 @@ exports.commands = [
|
|
|
14
14
|
require('./commands/unsuspend/user.js'),
|
|
15
15
|
require('./commands/deprovision.js'),
|
|
16
16
|
require('./commands/categories.js'),
|
|
17
|
-
require('./commands/
|
|
18
|
-
require('./commands/
|
|
19
|
-
require('./commands/
|
|
17
|
+
require('./commands/allowlist/add.js'),
|
|
18
|
+
require('./commands/allowlist/remove.js'),
|
|
19
|
+
require('./commands/allowlists.js'),
|
|
20
20
|
require('./commands/suspensions.js')
|
|
21
21
|
]
|
package/lib/skynet.js
CHANGED
|
@@ -32,13 +32,13 @@ module.exports = class SkynetAPI {
|
|
|
32
32
|
})
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
allowlists () {
|
|
36
36
|
return this.request('/whitelist', {
|
|
37
37
|
method: 'GET'
|
|
38
38
|
})
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
addAllowlist (appOrUserEmail, notes) {
|
|
42
42
|
const body = {
|
|
43
43
|
value: appOrUserEmail,
|
|
44
44
|
notes: notes
|
|
@@ -51,7 +51,7 @@ module.exports = class SkynetAPI {
|
|
|
51
51
|
})
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
|
|
54
|
+
removeAllowlist (appOrUserEmail) {
|
|
55
55
|
return this.request(`/whitelist/${appOrUserEmail}`, {
|
|
56
56
|
method: 'DELETE',
|
|
57
57
|
body: {},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@heroku/skynet",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.6",
|
|
4
4
|
"description": "use Skynet from Heroku CLI",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"author": "Bob Argenbright @byt3smith",
|
|
@@ -23,16 +23,16 @@
|
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
25
|
"acorn": "^6.4.1",
|
|
26
|
-
"minimist": ">=1.2.
|
|
27
|
-
"mocha": "^9.
|
|
26
|
+
"minimist": ">=1.2.6",
|
|
27
|
+
"mocha": "^9.2.2",
|
|
28
28
|
"mockdate": "^2.0.1",
|
|
29
29
|
"nock": "^12.0.3",
|
|
30
|
-
"np": "^7.
|
|
30
|
+
"np": "^7.6.3",
|
|
31
31
|
"standard": "^16.0.4",
|
|
32
32
|
"unexpected": "^12.0.3"
|
|
33
33
|
},
|
|
34
34
|
"scripts": {
|
|
35
|
-
"test": "mocha && standard",
|
|
35
|
+
"test": "mocha --recursive && standard",
|
|
36
36
|
"release": "np --no-yarn"
|
|
37
37
|
}
|
|
38
38
|
}
|