neetob 0.5.69 → 0.5.92
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.
Potentially problematic release.
This version of neetob might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/.env +2 -1
- data/.neetoci/default.yml +1 -1
- data/.ruby-version +1 -1
- data/Gemfile.lock +47 -22
- data/README.md +65 -50
- data/bookmarks.md +113 -113
- data/data/github-labels.json +80 -45
- data/data/repo-team-leads.json +82 -0
- data/docs/development.md +1 -1
- data/docs/testing.md +1 -1
- data/exe/neetob +1 -1
- data/lib/neetob/cli/base.rb +37 -7
- data/lib/neetob/cli/cloudflare/automatic_https_rewrites.rb +34 -0
- data/lib/neetob/cli/cloudflare/base.rb +3 -3
- data/lib/neetob/cli/cloudflare/commands.rb +7 -0
- data/lib/neetob/cli/fetchorupdate_repos/execute.rb +10 -4
- data/lib/neetob/cli/github/active_record_doctor.rb +1 -1
- data/lib/neetob/cli/github/brakeman.rb +1 -1
- data/lib/neetob/cli/github/bundle_audit.rb +1 -1
- data/lib/neetob/cli/github/gems/release.rb +1 -1
- data/lib/neetob/cli/github/issues/create_product_sub_issues.rb +1 -1
- data/lib/neetob/cli/github/issues/helpers.rb +17 -4
- data/lib/neetob/cli/github/make_pr/base.rb +2 -2
- data/lib/neetob/cli/github/protect_branch.rb +1 -1
- data/lib/neetob/cli/github/repositories/pull_requests.rb +19 -0
- data/lib/neetob/cli/github/repositories/team_leads.rb +34 -0
- data/lib/neetob/cli/github/unused_assets_audit.rb +99 -23
- data/lib/neetob/cli/github/yarn_audit.rb +1 -1
- data/lib/neetob/cli/heroku/base.rb +1 -1
- data/lib/neetob/cli/monthly_audit/commands.rb +2 -1
- data/lib/neetob/cli/monthly_audit/github_issue_creation.rb +80 -18
- data/lib/neetob/cli/monthly_audit/instances_and_addons/cloudflare/always_use_https_is_enabled.rb +1 -1
- data/lib/neetob/cli/monthly_audit/instances_and_addons/cloudflare/{bot_protection_enabled.rb → automatic_https_rewrites_is_enabled.rb} +11 -9
- data/lib/neetob/cli/monthly_audit/instances_and_addons/cloudflare/cdn_dns_entry_has_proxy_disabled.rb +62 -0
- data/lib/neetob/cli/monthly_audit/instances_and_addons/cloudflare/main.rb +7 -4
- data/lib/neetob/cli/monthly_audit/instances_and_addons/cloudflare/minimum_tls_version_is_one_point_two.rb +1 -1
- data/lib/neetob/cli/monthly_audit/instances_and_addons/cloudflare/spf_records_are_valid.rb +1 -1
- data/lib/neetob/cli/monthly_audit/instances_and_addons/cloudflare/{dns_entry_has_proxy_status.rb → wildcard_dns_entry_has_proxy_enabled.rb} +2 -2
- data/lib/neetob/cli/monthly_audit/instances_and_addons/cronitor/setup_correctly_for_landing_pages.rb +3 -2
- data/lib/neetob/cli/monthly_audit/instances_and_addons/honeybadger/setup_correctly_for_apps.rb +28 -29
- data/lib/neetob/cli/monthly_audit/instances_and_addons/main.rb +9 -4
- data/lib/neetob/cli/monthly_audit/instances_and_addons/neeto_deploy_or_heroku/cloudfront_cdn_enabled.rb +0 -17
- data/lib/neetob/cli/monthly_audit/instances_and_addons/neeto_deploy_or_heroku/essential_environment_variables_set.rb +0 -15
- data/lib/neetob/cli/monthly_audit/instances_and_addons/neeto_deploy_or_heroku/main.rb +0 -3
- data/lib/neetob/cli/monthly_audit/instances_and_addons/neeto_deploy_or_heroku/scheduled_exports_enabled.rb +2 -4
- data/lib/neetob/cli/monthly_audit/instances_and_addons/neeto_deploy_or_heroku/ssl_certificates_over_thirty_days_from_expiry.rb +67 -34
- data/lib/neetob/cli/monthly_audit/instances_and_addons/neeto_status/constants.rb +16 -0
- data/lib/neetob/cli/monthly_audit/instances_and_addons/neeto_status/main.rb +23 -0
- data/lib/neetob/cli/monthly_audit/instances_and_addons/neeto_status/up_and_has_neetocal_text.rb +98 -0
- data/lib/neetob/cli/monthly_audit/misc/main.rb +1 -1
- data/lib/neetob/cli/monthly_audit/misc/sparkpost_sub_account_used_for_all_apps.rb +24 -18
- data/lib/neetob/cli/monthly_audit/perform.rb +7 -2
- data/lib/neetob/cli/monthly_audit/security/code/active_record_doctor.rb +2 -2
- data/lib/neetob/cli/monthly_audit/security/code/brakeman.rb +7 -4
- data/lib/neetob/cli/monthly_audit/security/code/bundle_audit.rb +173 -12
- data/lib/neetob/cli/monthly_audit/security/code/fasterer.rb +2 -2
- data/lib/neetob/cli/monthly_audit/security/code/yarn_audit.rb +374 -16
- data/lib/neetob/cli/monthly_audit/security/github/dependabot_prs_merged.rb +20 -5
- data/lib/neetob/cli/monthly_audit/security/github/dependabot_turned_on.rb +25 -21
- data/lib/neetob/cli/neeto_deploy/autoscaling_config.rb +1 -1
- data/lib/neetob/cli/neeto_deploy/certificates.rb +1 -1
- data/lib/neetob/cli/neeto_deploy/commands.rb +7 -0
- data/lib/neetob/cli/neeto_deploy/config_vars/list.rb +1 -1
- data/lib/neetob/cli/neeto_deploy/config_vars/remove.rb +1 -1
- data/lib/neetob/cli/neeto_deploy/config_vars/upsert.rb +1 -1
- data/lib/neetob/cli/neeto_deploy/scheduled_exports.rb +1 -1
- data/lib/neetob/cli/neeto_deploy/unique_email_domains.rb +165 -0
- data/lib/neetob/cli/sre/base.rb +13 -13
- data/lib/neetob/cli/sre/check_essential_env.rb +10 -4
- data/lib/neetob/cli/sre/checklist.rb +2 -2
- data/lib/neetob/cli/users/audit.rb +1 -1
- data/lib/neetob/cli/users/commits.rb +1 -1
- data/lib/neetob/cli.rb +6 -0
- data/lib/neetob/exception_handler.rb +1 -1
- data/lib/neetob/version.rb +1 -1
- data/neetob.gemspec +5 -4
- data/package.json +30 -0
- data/playwright.config.ts +39 -0
- data/scripts/config/.env.local +17 -0
- data/scripts/constants/auditData.ts +402 -0
- data/scripts/constants/routes.ts +30 -0
- data/scripts/constants/selectors.ts +4 -0
- data/scripts/constants/table.ts +30 -0
- data/scripts/constants/texts.ts +46 -0
- data/scripts/constants/userAgents.ts +14 -0
- data/scripts/utils/markdown.ts +23 -0
- data/scripts/workflows/dependabot.ts +104 -0
- data/scripts/workflows/honeybadger.ts +169 -0
- data/scripts/workflows/sparkpost.ts +204 -0
- data/tsconfig.json +35 -0
- data/yarn.lock +2216 -0
- metadata +47 -11
- data/lib/neetob/cli/monthly_audit/instances_and_addons/neeto_deploy_or_heroku/auto_scaling_enabled.rb +0 -67
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 272effa1363abebcc226f9aef2998f1f98c184a3653ff3f3e82d18cb3c899e0c
|
|
4
|
+
data.tar.gz: 15550b5d184601bfb80ca53eeadd8991ddd77347d32921d88a3ce6df7151975a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 87c0d98afdb1f42f48db39ebb9f68290b14d9601e727d35d63abce8fb4ba73ad1a0605ef8defefc30012979ba9d0e2307cb8be2e532df3dd6f2a11fc910f1e54
|
|
7
|
+
data.tar.gz: 20e1ea805c64c305f9b33dd61fa369f6afb3ab146cd91d185b1753667b84846de3d199b096606f42e27493566a0c95e319e288bed283346dd5b228e07d1ebc02
|
data/.env
CHANGED
|
@@ -2,6 +2,7 @@ AUTH_PARAMS='{"provider": "github","client_id": "Ov23lio2YRvQdc3SOdHN","grant_ty
|
|
|
2
2
|
CLOUDFLARE_API_KEY='Bearer SPJSRAtx5kIIFzeBNb9X2G0PBZWF-pDhRr1gr77A'
|
|
3
3
|
CRONITOR_ONE_API_KEY='00e1d2ad9d104967af53d42a52b76a1f'
|
|
4
4
|
CRONITOR_THREE_API_KEY='989733e0eb87407b83ecef6e31768f28'
|
|
5
|
+
NEETO_TOWER_AUTH_TOKEN = "3196ce62de10f78da223e95760dd6c03523cd78204b4d8dc8bb119faf8847adceb70aadce1289ffd8e6232afb3a764c60a75feb024ab937de989322f4e64a335"
|
|
5
6
|
|
|
6
7
|
NEETOENGAGEHELP__NEETOKB_API_KEY="Yrg68NBakBkbQHqc56hdpZBHYHxvFTo8DWKWpGFgDHj4edi3"
|
|
7
8
|
NEETOCOURSEHELP__NEETOKB_API_KEY="Sq18czzmZZVEqvKwq2CqqtPAmPLuaPEUe162aTtedYmtNH3z"
|
|
@@ -625,4 +626,4 @@ NEETOCODEHELP__NEETODEPLOY_API_KEY="cK2bd9QejDdggzXKqWrnAR6LLS8PCT21cL3wPhWJq5K9
|
|
|
625
626
|
NEETOINVOICEHELP__NEETODEPLOY_API_KEY="XhuYQf9YbttZBiyZT4cu9pE7EyRV3agJQw5vqrWTpaC3E1LH"
|
|
626
627
|
NEETOAUTHHELP__NEETODEPLOY_API_KEY="sBySKUznp1d9v9vhcd5kzgJqMHPwLGwbGRWueKFMpkB65Sbn"
|
|
627
628
|
NEETOCOURSEHELP__NEETODEPLOY_API_KEY="3tDtxzjxycrsYndV2td5EY8PnsbaPr9zXRn85XQXyECyYuf5"
|
|
628
|
-
NEETOPLAYDASHHELP__NEETODEPLOY_API_KEY="jJgqPJ3xSqa2SnHDbUieCnMwtTNohmDrEYEw6ctULta7STMo"
|
|
629
|
+
NEETOPLAYDASHHELP__NEETODEPLOY_API_KEY="jJgqPJ3xSqa2SnHDbUieCnMwtTNohmDrEYEw6ctULta7STMo"
|
data/.neetoci/default.yml
CHANGED
data/.ruby-version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
3.3.
|
|
1
|
+
3.3.10
|
data/Gemfile.lock
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
neetob (0.5.
|
|
4
|
+
neetob (0.5.92)
|
|
5
5
|
actionview
|
|
6
6
|
activesupport
|
|
7
7
|
brakeman (~> 5.0)
|
|
8
8
|
chronic
|
|
9
|
+
csv
|
|
9
10
|
dotenv (~> 2.8.1)
|
|
10
11
|
launchy (~> 2.5.0)
|
|
11
12
|
neeto-compliance
|
|
@@ -13,7 +14,7 @@ PATH
|
|
|
13
14
|
octokit (~> 4.0)
|
|
14
15
|
pry
|
|
15
16
|
terminal-table (~> 3.0.2)
|
|
16
|
-
thor (~> 1.
|
|
17
|
+
thor (~> 1.5.0)
|
|
17
18
|
|
|
18
19
|
GEM
|
|
19
20
|
remote: https://O6Ts9-SVDaUZpHMRs2CpJp22RwbETDE@gems.neeto.com/
|
|
@@ -128,12 +129,30 @@ GEM
|
|
|
128
129
|
minitest (>= 5.1)
|
|
129
130
|
mutex_m
|
|
130
131
|
tzinfo (~> 2.0)
|
|
131
|
-
addressable (2.8.
|
|
132
|
-
public_suffix (>= 2.0.2, <
|
|
132
|
+
addressable (2.8.8)
|
|
133
|
+
public_suffix (>= 2.0.2, < 8.0)
|
|
133
134
|
ansi (1.5.0)
|
|
134
135
|
ast (2.4.2)
|
|
135
|
-
|
|
136
|
-
|
|
136
|
+
aws-eventstream (1.4.0)
|
|
137
|
+
aws-partitions (1.1209.0)
|
|
138
|
+
aws-sdk-cloudwatchlogs (1.138.0)
|
|
139
|
+
aws-sdk-core (~> 3, >= 3.241.4)
|
|
140
|
+
aws-sigv4 (~> 1.5)
|
|
141
|
+
aws-sdk-cognitoidentity (1.85.0)
|
|
142
|
+
aws-sdk-core (~> 3, >= 3.241.4)
|
|
143
|
+
aws-sigv4 (~> 1.5)
|
|
144
|
+
aws-sdk-core (3.241.4)
|
|
145
|
+
aws-eventstream (~> 1, >= 1.3.0)
|
|
146
|
+
aws-partitions (~> 1, >= 1.992.0)
|
|
147
|
+
aws-sigv4 (~> 1.9)
|
|
148
|
+
base64
|
|
149
|
+
bigdecimal
|
|
150
|
+
jmespath (~> 1, >= 1.6.1)
|
|
151
|
+
logger
|
|
152
|
+
aws-sigv4 (1.12.1)
|
|
153
|
+
aws-eventstream (~> 1, >= 1.0.2)
|
|
154
|
+
base64 (0.3.0)
|
|
155
|
+
bigdecimal (4.0.1)
|
|
137
156
|
brakeman (5.4.1)
|
|
138
157
|
builder (3.3.0)
|
|
139
158
|
bullet (8.0.0)
|
|
@@ -154,6 +173,7 @@ GEM
|
|
|
154
173
|
unicode (>= 0.4.4.5)
|
|
155
174
|
css_parser (1.21.0)
|
|
156
175
|
addressable
|
|
176
|
+
csv (3.3.5)
|
|
157
177
|
database_cleaner (2.1.0)
|
|
158
178
|
database_cleaner-active_record (>= 2, < 3)
|
|
159
179
|
database_cleaner-active_record (2.2.0)
|
|
@@ -203,12 +223,13 @@ GEM
|
|
|
203
223
|
irb (1.14.2)
|
|
204
224
|
rdoc (>= 4.0.0)
|
|
205
225
|
reline (>= 0.4.2)
|
|
226
|
+
jmespath (1.6.2)
|
|
206
227
|
json (2.6.3)
|
|
207
228
|
jwt (2.9.3)
|
|
208
229
|
base64
|
|
209
230
|
launchy (2.5.2)
|
|
210
231
|
addressable (~> 2.8)
|
|
211
|
-
logger (1.
|
|
232
|
+
logger (1.7.0)
|
|
212
233
|
loofah (2.23.1)
|
|
213
234
|
crass (~> 1.0.2)
|
|
214
235
|
nokogiri (>= 1.12.0)
|
|
@@ -220,7 +241,7 @@ GEM
|
|
|
220
241
|
marcel (1.0.4)
|
|
221
242
|
method_source (1.1.0)
|
|
222
243
|
mini_mime (1.1.5)
|
|
223
|
-
mini_portile2 (2.8.
|
|
244
|
+
mini_portile2 (2.8.9)
|
|
224
245
|
minitest (5.25.4)
|
|
225
246
|
minitest-reporters (1.5.0)
|
|
226
247
|
ansi
|
|
@@ -230,22 +251,25 @@ GEM
|
|
|
230
251
|
mixpanel-ruby (2.3.0)
|
|
231
252
|
mocha (2.7.1)
|
|
232
253
|
ruby2_keywords (>= 0.0.5)
|
|
233
|
-
multi_xml (0.
|
|
234
|
-
bigdecimal (
|
|
254
|
+
multi_xml (0.8.1)
|
|
255
|
+
bigdecimal (>= 3.1, < 5)
|
|
235
256
|
multipart-post (2.4.1)
|
|
236
257
|
mutex_m (0.3.0)
|
|
237
|
-
neetodeploy (1.1.
|
|
258
|
+
neetodeploy (1.1.24)
|
|
259
|
+
aws-sdk-cloudwatchlogs
|
|
260
|
+
aws-sdk-cognitoidentity
|
|
238
261
|
colorize
|
|
239
262
|
dotenv (~> 2.8.1)
|
|
240
263
|
httparty (~> 0.21.0)
|
|
241
264
|
launchy (~> 2.5.0)
|
|
265
|
+
rexml
|
|
242
266
|
terminal-table (~> 3.0.2)
|
|
243
|
-
thor (~> 1.
|
|
267
|
+
thor (~> 1.5.0)
|
|
244
268
|
tty-spinner
|
|
245
269
|
websocket-eventmachine-client
|
|
246
270
|
net-http (0.6.0)
|
|
247
271
|
uri
|
|
248
|
-
net-imap (0.5.
|
|
272
|
+
net-imap (0.5.7)
|
|
249
273
|
date
|
|
250
274
|
net-protocol
|
|
251
275
|
net-pop (0.1.2)
|
|
@@ -255,12 +279,12 @@ GEM
|
|
|
255
279
|
net-smtp (0.5.0)
|
|
256
280
|
net-protocol
|
|
257
281
|
nio4r (2.7.4)
|
|
258
|
-
nokogiri (1.18.
|
|
282
|
+
nokogiri (1.18.9)
|
|
259
283
|
mini_portile2 (~> 2.8.2)
|
|
260
284
|
racc (~> 1.4)
|
|
261
|
-
nokogiri (1.18.
|
|
285
|
+
nokogiri (1.18.9-x86_64-darwin)
|
|
262
286
|
racc (~> 1.4)
|
|
263
|
-
nokogiri (1.18.
|
|
287
|
+
nokogiri (1.18.9-x86_64-linux-gnu)
|
|
264
288
|
racc (~> 1.4)
|
|
265
289
|
oauth2 (2.0.9)
|
|
266
290
|
faraday (>= 0.17.3, < 3.0)
|
|
@@ -307,12 +331,12 @@ GEM
|
|
|
307
331
|
psych (5.2.1)
|
|
308
332
|
date
|
|
309
333
|
stringio
|
|
310
|
-
public_suffix (
|
|
334
|
+
public_suffix (7.0.2)
|
|
311
335
|
pundit (2.4.0)
|
|
312
336
|
activesupport (>= 3.0.0)
|
|
313
337
|
raabro (1.4.0)
|
|
314
338
|
racc (1.8.1)
|
|
315
|
-
rack (3.1.
|
|
339
|
+
rack (3.1.18)
|
|
316
340
|
rack-attack (6.7.0)
|
|
317
341
|
rack (>= 1.0, < 4)
|
|
318
342
|
rack-cors (2.0.2)
|
|
@@ -323,7 +347,8 @@ GEM
|
|
|
323
347
|
base64 (>= 0.1.0)
|
|
324
348
|
logger (>= 1.6.0)
|
|
325
349
|
rack (>= 3.0.0, < 4)
|
|
326
|
-
rack-session (2.
|
|
350
|
+
rack-session (2.1.1)
|
|
351
|
+
base64 (>= 0.1.0)
|
|
327
352
|
rack (>= 3.0.0)
|
|
328
353
|
rack-test (2.1.0)
|
|
329
354
|
rack (>= 1.3)
|
|
@@ -377,7 +402,7 @@ GEM
|
|
|
377
402
|
io-console (~> 0.5)
|
|
378
403
|
request_store (1.7.0)
|
|
379
404
|
rack (>= 1.4)
|
|
380
|
-
rexml (3.4.
|
|
405
|
+
rexml (3.4.4)
|
|
381
406
|
rinku (2.0.6)
|
|
382
407
|
rubocop (1.39.0)
|
|
383
408
|
json (~> 2.3)
|
|
@@ -435,7 +460,7 @@ GEM
|
|
|
435
460
|
stringio (3.1.2)
|
|
436
461
|
terminal-table (3.0.2)
|
|
437
462
|
unicode-display_width (>= 1.1.1, < 3)
|
|
438
|
-
thor (1.
|
|
463
|
+
thor (1.5.0)
|
|
439
464
|
tilt (2.4.0)
|
|
440
465
|
timeout (0.4.3)
|
|
441
466
|
tty-cursor (0.7.1)
|
|
@@ -449,7 +474,7 @@ GEM
|
|
|
449
474
|
unicode (0.4.4.5)
|
|
450
475
|
unicode-display_width (2.6.0)
|
|
451
476
|
uniform_notifier (1.16.0)
|
|
452
|
-
uri (1.0.
|
|
477
|
+
uri (1.0.4)
|
|
453
478
|
version_gem (1.1.4)
|
|
454
479
|
webmock (3.24.0)
|
|
455
480
|
addressable (>= 2.8.0)
|
data/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# neetob
|
|
2
2
|
|
|
3
|
-
The `neetob` gem gives a different set of commands for interacting with
|
|
3
|
+
The `neetob` gem gives a different set of commands for interacting with GitHub repos, Heroku instances, neetoDeploy instances and other tools to manage the workflow of neeto products.
|
|
4
4
|
|
|
5
5
|
## Table of Contents
|
|
6
6
|
|
|
@@ -8,7 +8,8 @@ The `neetob` gem gives a different set of commands for interacting with Github r
|
|
|
8
8
|
1. [Installing neetob for use](#installing-neetob-for-use)
|
|
9
9
|
2. [Installing neetob for development](docs/development.md)
|
|
10
10
|
2. [Source of truth](#source-of-truth)
|
|
11
|
-
3. [
|
|
11
|
+
3. [Make Repos Uptodate](#make-repos-uptodate)
|
|
12
|
+
4. [Working with GitHub](#working-with-github)
|
|
12
13
|
1. [Issues](#issues)
|
|
13
14
|
2. [Labels](#labels)
|
|
14
15
|
3. [Search](#search)
|
|
@@ -17,30 +18,30 @@ The `neetob` gem gives a different set of commands for interacting with Github r
|
|
|
17
18
|
6. [Make PR](#make-pr)
|
|
18
19
|
7. [Gems](#gems)
|
|
19
20
|
8. [Login](#login)
|
|
20
|
-
|
|
21
|
+
5. [Working with Heroku](#working-with-heroku)
|
|
21
22
|
1. [Config Vars](#config-vars)
|
|
22
23
|
2. [Access](#access)
|
|
23
24
|
3. [Execute](#execute)
|
|
24
|
-
|
|
25
|
+
6. [Working with neetoDeploy](#working-with-neetodeploy)
|
|
25
26
|
1. [Config Vars](#config-vars)
|
|
26
27
|
2. [Autoscaling](#autoscaling)
|
|
27
|
-
|
|
28
|
+
3. [Unique email domains](#unique-email-domains)
|
|
29
|
+
7. [Working with Cloudflare](#working-with-cloudflare)
|
|
28
30
|
1. [SSL Mode](#ssl-mode)
|
|
29
31
|
2. [Minimum TLS Version](#minimum-tls-version)
|
|
30
32
|
3. [Always Use HTTPS](#always-use-https)
|
|
31
33
|
4. [Verify SPF](#verify-spf)
|
|
32
34
|
5. [Bot Protection Mode](#bot-protection-mode)
|
|
33
35
|
6. [DNS Proxy Status](#dns-proxy-status)
|
|
34
|
-
|
|
36
|
+
8. [Working with SRE helpers](#working-with-sre-helpers)
|
|
35
37
|
1. [Checking essential environment variables](#checking-essential-environment-variables)
|
|
36
|
-
|
|
38
|
+
9. [Working with Users](#working-with-users)
|
|
37
39
|
1. [Audit](#audit)
|
|
38
40
|
2. [Commits](#commits)
|
|
39
|
-
9. [Make Repos Uptodate](#make-repos-uptodate)
|
|
40
41
|
10. [Working with neeto Repos](#working-with-neeto-repos)
|
|
41
|
-
|
|
42
|
+
1. [Audit](#audit-1)
|
|
42
43
|
11. [Working with local Repos](#working-with-local-repos)
|
|
43
|
-
|
|
44
|
+
1. [ls](#ls)
|
|
44
45
|
12. [Working with workspace permissions](#working-with-workspace-permissions)
|
|
45
46
|
1. [Add user to all apps of a specific help workspace](#add-user-to-all-apps-of-a-specific-help-workspace)
|
|
46
47
|
2. [Add user to all neeto help workspaces for a specific app](#add-user-to-all-neeto-help-workspaces-for-a-specific-app)
|
|
@@ -62,7 +63,7 @@ Use the `help` keyword to access a list of all the available commands and option
|
|
|
62
63
|
neetob help
|
|
63
64
|
|
|
64
65
|
Commands:
|
|
65
|
-
neetob github # Interact with any resource in
|
|
66
|
+
neetob github # Interact with any resource in GitHub
|
|
66
67
|
neetob help [COMMAND] # Describe available commands or one specific command
|
|
67
68
|
neetob heroku # Interact with any resource in Heroku
|
|
68
69
|
neetob users # Interact with the contributors of neeto apps
|
|
@@ -86,7 +87,27 @@ The commands within `neetob` should be used with caution, as improper usage may
|
|
|
86
87
|
|
|
87
88
|
## Source of truth
|
|
88
89
|
|
|
89
|
-
This [list of repos](https://github.com/
|
|
90
|
+
This [list of repos](https://github.com/neetozone/neeto-compliance/blob/main/data/neeto_repos.json) is used as the "source of truth".
|
|
91
|
+
|
|
92
|
+
## Make Repos Uptodate
|
|
93
|
+
|
|
94
|
+
The `make_repos_uptodate` command updates all neeto repos.
|
|
95
|
+
|
|
96
|
+
```sh
|
|
97
|
+
neetob make_repos_uptodate
|
|
98
|
+
|
|
99
|
+
# Update all neeto repos by passing the value `all` to`--repos` option
|
|
100
|
+
neetob make_repos_uptodate --repos "all"
|
|
101
|
+
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Executing the above mentioned command will check and clone all the missing neeto repos in the current working directory and will update all of them to the latest version. After the execution of command the directories will look something like this:
|
|
105
|
+
|
|
106
|
+
```
|
|
107
|
+
neeto-chat-web
|
|
108
|
+
neeto-desk-web
|
|
109
|
+
neeto-kb-web
|
|
110
|
+
```
|
|
90
111
|
|
|
91
112
|
## Passing list of heroku apps as option
|
|
92
113
|
|
|
@@ -126,7 +147,7 @@ neetob github issues list --count --state open --assignee none --repos "neeto-*-
|
|
|
126
147
|
neetob github issues list --count --label bug --state open --assignee none \
|
|
127
148
|
--repos "neeto-*-staging"
|
|
128
149
|
|
|
129
|
-
# Creates an issue in
|
|
150
|
+
# Creates an issue in multiple GitHub repos in one shot
|
|
130
151
|
# You will be prompted to enter issue title, description etc.
|
|
131
152
|
neetob github issues create --repos "neeto-*-web"
|
|
132
153
|
|
|
@@ -139,13 +160,13 @@ neetob github issues create --repos "nanos"
|
|
|
139
160
|
|
|
140
161
|
### Labels
|
|
141
162
|
|
|
142
|
-
The `labels` command provides an interface for interacting with
|
|
163
|
+
The `labels` command provides an interface for interacting with GitHub labels.
|
|
143
164
|
|
|
144
165
|
```sh
|
|
145
|
-
# Lists the details of all the labels in the
|
|
166
|
+
# Lists the details of all the labels in the GitHub repo
|
|
146
167
|
neetob github labels list --repos "neeto-*-staging"
|
|
147
168
|
|
|
148
|
-
# Provides the details for a specific label in the
|
|
169
|
+
# Provides the details for a specific label in the GitHub repo
|
|
149
170
|
neetob github labels show --name priority --repos "neeto-*-staging"
|
|
150
171
|
|
|
151
172
|
# Changes the name of the label
|
|
@@ -163,11 +184,11 @@ neetob github labels upsert --path ~/Desktop/labels.json --repos "neeto-*-stagin
|
|
|
163
184
|
neetob github labels upsert --name UI --color 8250df --description \
|
|
164
185
|
"UI work needed" --repos "all"
|
|
165
186
|
|
|
166
|
-
# Deletes the given labels from the
|
|
187
|
+
# Deletes the given labels from the GitHub repos
|
|
167
188
|
neetob github labels delete --labels "High Priority" "Priority 1" "bug" \
|
|
168
189
|
--repos "neeto-*-staging"
|
|
169
190
|
|
|
170
|
-
# Deletes all the labels from the
|
|
191
|
+
# Deletes all the labels from the GitHub repos
|
|
171
192
|
neetob github labels delete_all --repos "neeto-*-staging"
|
|
172
193
|
```
|
|
173
194
|
|
|
@@ -205,6 +226,8 @@ We can pass the `--replace` option to replace all found instances of the keyword
|
|
|
205
226
|
### Brakeman
|
|
206
227
|
|
|
207
228
|
Run [brakeman](https://brakemanscanner.org/) on neeto repos & create issues wherever any security vulnerabilities are found.
|
|
229
|
+
Again this command will create GitHub issues if security issues
|
|
230
|
+
are found.
|
|
208
231
|
|
|
209
232
|
```sh
|
|
210
233
|
neetob github brakeman --repos "neeto-*-web"
|
|
@@ -240,18 +263,18 @@ neetob github protect_branch --branch main --path ~/Desktop/branch-protection-ru
|
|
|
240
263
|
|
|
241
264
|
We can also pass the value `all` to the option `--repos` with the above mentioned command so that the
|
|
242
265
|
branch protection rules can be updated for
|
|
243
|
-
all [neeto repos](https://github.com/
|
|
266
|
+
all [neeto repos](https://github.com/neetozone/neeto-compliance/blob/main/data/neeto_repos.json).
|
|
244
267
|
|
|
245
268
|
```sh
|
|
246
269
|
neetob github protect_branch --branch main --path ~/Desktop/branch-protection-rules.json \
|
|
247
270
|
--repos "all"
|
|
248
271
|
```
|
|
249
272
|
|
|
250
|
-
**Note:** Unfortunately, utilizing the
|
|
273
|
+
**Note:** Unfortunately, utilizing the GitHub API, we are unable to update the `Require deployments to succeed before merging` rule, as it is currently not defined as a parameter within the API. For further information on available options to update different branch protection rules, kindly refer to the official GitHub [documentation](https://docs.github.com/en/rest/branches/branch-protection#update-branch-protection).
|
|
251
274
|
|
|
252
275
|
### Make PR
|
|
253
276
|
|
|
254
|
-
The `make-pr` command creates pull requests across
|
|
277
|
+
The `make-pr` command creates pull requests across GitHub repos.
|
|
255
278
|
|
|
256
279
|
```sh
|
|
257
280
|
# The `compliance-fix` command runs `bundle install` and
|
|
@@ -290,7 +313,7 @@ neetob github gems release --nanos neeto-monitor-ruby neeto-bugtrap-ruby
|
|
|
290
313
|
|
|
291
314
|
### Login
|
|
292
315
|
|
|
293
|
-
Authenticate through your browser and update your
|
|
316
|
+
Authenticate through your browser and update your GitHub access token by utilizing the `login` command.
|
|
294
317
|
|
|
295
318
|
```sh
|
|
296
319
|
neetob github login
|
|
@@ -417,7 +440,7 @@ neetob heroku execute -c "Sidekiq::Cron::Job.destroy \"server_side_worker\"" --a
|
|
|
417
440
|
"neeto-*-staging" --rails
|
|
418
441
|
```
|
|
419
442
|
|
|
420
|
-
## Working with
|
|
443
|
+
## Working with NeetoDeploy
|
|
421
444
|
|
|
422
445
|
Utilize the `help` command to list all the available subcommands under the `NeetoDeploy` module for interacting with the neetoDeploy resources.
|
|
423
446
|
|
|
@@ -497,6 +520,16 @@ This command will print whether or not autoscaling is enabled for all the proces
|
|
|
497
520
|
{"release"=>false, "web"=>true, "worker"=>true}
|
|
498
521
|
```
|
|
499
522
|
|
|
523
|
+
### Unique email domains
|
|
524
|
+
|
|
525
|
+
Fetch the list of unique email domains for an app deployed on neetoDeploy. This inspects recently active users (last ~6 months) using app-specific activity and prints unique domains.
|
|
526
|
+
|
|
527
|
+
```sh
|
|
528
|
+
neetob neetodeploy unique_email_domains -a neeto-kb-web-production
|
|
529
|
+
```
|
|
530
|
+
|
|
531
|
+
Note: You must be logged in to neetoDeploy and have access to the app. If you see an access error, run `neetodeploy login` and try again.
|
|
532
|
+
|
|
500
533
|
## Working with Cloudflare
|
|
501
534
|
|
|
502
535
|
The `cloudflare` command interacts with resources in Cloudflare. For all the following commands you need to pass `CLOUDFLARE_API_KEY` as an environment variable.
|
|
@@ -635,26 +668,6 @@ neetob users commits --author udai1931 --duration 6.months --apps neeto-kb-web
|
|
|
635
668
|
neetob users commits --author udai1931 --duration 6.months --apps "all"
|
|
636
669
|
```
|
|
637
670
|
|
|
638
|
-
## Make Repos Uptodate
|
|
639
|
-
|
|
640
|
-
The `make_repos_uptodate` command updates all neeto repos.
|
|
641
|
-
|
|
642
|
-
```sh
|
|
643
|
-
neetob make_repos_uptodate
|
|
644
|
-
|
|
645
|
-
# Update all neeto repos by passing the value `all` to`--repos` option
|
|
646
|
-
neetob make_repos_uptodate --repos "all"
|
|
647
|
-
|
|
648
|
-
```
|
|
649
|
-
|
|
650
|
-
Executing the above mentioned command will check and clone all the missing neeto repos in the current working directory and will update all of them to the latest version. After the execution of command the directories will look something like this:
|
|
651
|
-
|
|
652
|
-
```
|
|
653
|
-
neeto-chat-web
|
|
654
|
-
neeto-desk-web
|
|
655
|
-
neeto-kb-web
|
|
656
|
-
```
|
|
657
|
-
|
|
658
671
|
## Working with neeto Repos
|
|
659
672
|
|
|
660
673
|
The `code` command interacts with the remote neeto repos.
|
|
@@ -689,18 +702,20 @@ neetob local ls --dir app/controllers --apps "neeto-*-web"
|
|
|
689
702
|
|
|
690
703
|
## Working with workspace permissions
|
|
691
704
|
|
|
692
|
-
### Add user to all
|
|
705
|
+
### Add user to all neeto products of a specific help workspace
|
|
693
706
|
|
|
694
|
-
The `add_member_to_all_apps` command adds a user to all
|
|
707
|
+
The `add_member_to_all_apps` command adds a user to all neeto products of a specific help workspace.
|
|
695
708
|
|
|
696
709
|
```
|
|
697
|
-
neetob workspace_permission add_member_to_all_apps --workspace=neetocoursehelp
|
|
710
|
+
neetob workspace_permission add_member_to_all_apps --workspace=neetocoursehelp \
|
|
711
|
+
--email=oliver@example.com --role=Admin
|
|
698
712
|
```
|
|
699
713
|
|
|
700
|
-
### Add user to all neeto help
|
|
701
|
-
|
|
702
|
-
The `add_member_to_all_workspaces` command adds a user to all neeto help workspaces for a specific app
|
|
714
|
+
### Add user to all neeto help products for a given subdomain
|
|
703
715
|
|
|
716
|
+
For example the below command will add user to `neetocalhelp.neetokb.com`, `neetocalhelp.neetocal.com`,
|
|
717
|
+
`neetocalhelp.neetodesk.com` etc.
|
|
704
718
|
```
|
|
705
|
-
neetob workspace_permission add_member_to_all_workspaces --app=neetocal
|
|
719
|
+
neetob workspace_permission add_member_to_all_workspaces --app=neetocal \
|
|
720
|
+
--email=oliver@example.com --role=Admin
|
|
706
721
|
```
|