neetob 0.5.69 → 0.5.77

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 (72) hide show
  1. checksums.yaml +4 -4
  2. data/.env +2 -1
  3. data/.neetoci/default.yml +1 -1
  4. data/.ruby-version +1 -1
  5. data/Gemfile.lock +44 -21
  6. data/README.md +11 -0
  7. data/bookmarks.md +113 -113
  8. data/data/github-labels.json +80 -45
  9. data/data/repo-team-leads.json +82 -0
  10. data/exe/neetob +1 -1
  11. data/lib/neetob/cli/base.rb +35 -5
  12. data/lib/neetob/cli/cloudflare/automatic_https_rewrites.rb +34 -0
  13. data/lib/neetob/cli/cloudflare/base.rb +2 -2
  14. data/lib/neetob/cli/cloudflare/commands.rb +7 -0
  15. data/lib/neetob/cli/github/active_record_doctor.rb +1 -1
  16. data/lib/neetob/cli/github/brakeman.rb +1 -1
  17. data/lib/neetob/cli/github/bundle_audit.rb +1 -1
  18. data/lib/neetob/cli/github/issues/helpers.rb +17 -4
  19. data/lib/neetob/cli/github/make_pr/base.rb +1 -1
  20. data/lib/neetob/cli/github/repositories/pull_requests.rb +19 -0
  21. data/lib/neetob/cli/github/repositories/team_leads.rb +34 -0
  22. data/lib/neetob/cli/github/unused_assets_audit.rb +5 -1
  23. data/lib/neetob/cli/monthly_audit/github_issue_creation.rb +57 -17
  24. data/lib/neetob/cli/monthly_audit/instances_and_addons/cloudflare/{bot_protection_enabled.rb → automatic_https_rewrites_is_enabled.rb} +11 -9
  25. data/lib/neetob/cli/monthly_audit/instances_and_addons/cloudflare/main.rb +2 -2
  26. data/lib/neetob/cli/monthly_audit/instances_and_addons/cronitor/setup_correctly_for_landing_pages.rb +3 -2
  27. data/lib/neetob/cli/monthly_audit/instances_and_addons/honeybadger/setup_correctly_for_apps.rb +28 -29
  28. data/lib/neetob/cli/monthly_audit/instances_and_addons/main.rb +5 -5
  29. data/lib/neetob/cli/monthly_audit/instances_and_addons/neeto_deploy_or_heroku/cloudfront_cdn_enabled.rb +0 -17
  30. data/lib/neetob/cli/monthly_audit/instances_and_addons/neeto_deploy_or_heroku/essential_environment_variables_set.rb +0 -15
  31. data/lib/neetob/cli/monthly_audit/instances_and_addons/neeto_deploy_or_heroku/main.rb +0 -3
  32. data/lib/neetob/cli/monthly_audit/instances_and_addons/neeto_deploy_or_heroku/scheduled_exports_enabled.rb +2 -4
  33. data/lib/neetob/cli/monthly_audit/instances_and_addons/neeto_deploy_or_heroku/ssl_certificates_over_thirty_days_from_expiry.rb +67 -34
  34. data/lib/neetob/cli/monthly_audit/misc/main.rb +1 -1
  35. data/lib/neetob/cli/monthly_audit/misc/sparkpost_sub_account_used_for_all_apps.rb +24 -18
  36. data/lib/neetob/cli/monthly_audit/security/code/active_record_doctor.rb +2 -2
  37. data/lib/neetob/cli/monthly_audit/security/code/brakeman.rb +7 -4
  38. data/lib/neetob/cli/monthly_audit/security/code/bundle_audit.rb +13 -4
  39. data/lib/neetob/cli/monthly_audit/security/code/fasterer.rb +2 -2
  40. data/lib/neetob/cli/monthly_audit/security/code/yarn_audit.rb +1 -1
  41. data/lib/neetob/cli/monthly_audit/security/github/dependabot_prs_merged.rb +20 -5
  42. data/lib/neetob/cli/monthly_audit/security/github/dependabot_turned_on.rb +25 -21
  43. data/lib/neetob/cli/neeto_deploy/autoscaling_config.rb +1 -1
  44. data/lib/neetob/cli/neeto_deploy/certificates.rb +1 -1
  45. data/lib/neetob/cli/neeto_deploy/commands.rb +7 -0
  46. data/lib/neetob/cli/neeto_deploy/config_vars/list.rb +1 -1
  47. data/lib/neetob/cli/neeto_deploy/config_vars/remove.rb +1 -1
  48. data/lib/neetob/cli/neeto_deploy/config_vars/upsert.rb +1 -1
  49. data/lib/neetob/cli/neeto_deploy/scheduled_exports.rb +1 -1
  50. data/lib/neetob/cli/neeto_deploy/unique_email_domains.rb +165 -0
  51. data/lib/neetob/cli/sre/base.rb +13 -13
  52. data/lib/neetob/cli/sre/check_essential_env.rb +7 -2
  53. data/lib/neetob/cli/sre/checklist.rb +2 -2
  54. data/lib/neetob/version.rb +1 -1
  55. data/neetob.gemspec +1 -1
  56. data/package.json +30 -0
  57. data/playwright.config.ts +39 -0
  58. data/scripts/config/.env.local +17 -0
  59. data/scripts/constants/auditData.ts +402 -0
  60. data/scripts/constants/routes.ts +30 -0
  61. data/scripts/constants/selectors.ts +4 -0
  62. data/scripts/constants/table.ts +30 -0
  63. data/scripts/constants/texts.ts +46 -0
  64. data/scripts/constants/userAgents.ts +14 -0
  65. data/scripts/utils/markdown.ts +23 -0
  66. data/scripts/workflows/dependabot.ts +104 -0
  67. data/scripts/workflows/honeybadger.ts +169 -0
  68. data/scripts/workflows/sparkpost.ts +204 -0
  69. data/tsconfig.json +35 -0
  70. data/yarn.lock +2216 -0
  71. metadata +24 -6
  72. data/lib/neetob/cli/monthly_audit/instances_and_addons/neeto_deploy_or_heroku/auto_scaling_enabled.rb +0 -67
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: neetob
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.69
4
+ version: 0.5.77
5
5
  platform: ruby
6
6
  authors:
7
7
  - Udai Gupta
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-06-26 00:00:00.000000000 Z
11
+ date: 2026-01-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.3.0
19
+ version: 1.5.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 1.3.0
26
+ version: 1.5.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: octokit
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -211,6 +211,7 @@ files:
211
211
  - data/config-vars-list.json
212
212
  - data/config-vars-upsert.json
213
213
  - data/github-labels.json
214
+ - data/repo-team-leads.json
214
215
  - docs/development.md
215
216
  - docs/testing.md
216
217
  - exe/neetob
@@ -220,6 +221,7 @@ files:
220
221
  - lib/neetob/cli.rb
221
222
  - lib/neetob/cli/base.rb
222
223
  - lib/neetob/cli/cloudflare/always_use_https.rb
224
+ - lib/neetob/cli/cloudflare/automatic_https_rewrites.rb
223
225
  - lib/neetob/cli/cloudflare/base.rb
224
226
  - lib/neetob/cli/cloudflare/bot_fight_mode.rb
225
227
  - lib/neetob/cli/cloudflare/commands.rb
@@ -262,6 +264,7 @@ files:
262
264
  - lib/neetob/cli/github/protect_branch.rb
263
265
  - lib/neetob/cli/github/repositories/get_security_details.rb
264
266
  - lib/neetob/cli/github/repositories/pull_requests.rb
267
+ - lib/neetob/cli/github/repositories/team_leads.rb
265
268
  - lib/neetob/cli/github/search.rb
266
269
  - lib/neetob/cli/github/unused_assets_audit.rb
267
270
  - lib/neetob/cli/github/yarn_audit.rb
@@ -290,7 +293,7 @@ files:
290
293
  - lib/neetob/cli/monthly_audit/databases/uuid_primary_key.rb
291
294
  - lib/neetob/cli/monthly_audit/github_issue_creation.rb
292
295
  - lib/neetob/cli/monthly_audit/instances_and_addons/cloudflare/always_use_https_is_enabled.rb
293
- - lib/neetob/cli/monthly_audit/instances_and_addons/cloudflare/bot_protection_enabled.rb
296
+ - lib/neetob/cli/monthly_audit/instances_and_addons/cloudflare/automatic_https_rewrites_is_enabled.rb
294
297
  - lib/neetob/cli/monthly_audit/instances_and_addons/cloudflare/dns_entry_has_proxy_status.rb
295
298
  - lib/neetob/cli/monthly_audit/instances_and_addons/cloudflare/main.rb
296
299
  - lib/neetob/cli/monthly_audit/instances_and_addons/cloudflare/minimum_tls_version_is_one_point_two.rb
@@ -303,7 +306,6 @@ files:
303
306
  - lib/neetob/cli/monthly_audit/instances_and_addons/honeybadger/main.rb
304
307
  - lib/neetob/cli/monthly_audit/instances_and_addons/honeybadger/setup_correctly_for_apps.rb
305
308
  - lib/neetob/cli/monthly_audit/instances_and_addons/main.rb
306
- - lib/neetob/cli/monthly_audit/instances_and_addons/neeto_deploy_or_heroku/auto_scaling_enabled.rb
307
309
  - lib/neetob/cli/monthly_audit/instances_and_addons/neeto_deploy_or_heroku/cloudfront_cdn_enabled.rb
308
310
  - lib/neetob/cli/monthly_audit/instances_and_addons/neeto_deploy_or_heroku/essential_environment_variables_set.rb
309
311
  - lib/neetob/cli/monthly_audit/instances_and_addons/neeto_deploy_or_heroku/main.rb
@@ -333,6 +335,7 @@ files:
333
335
  - lib/neetob/cli/neeto_deploy/config_vars/remove.rb
334
336
  - lib/neetob/cli/neeto_deploy/config_vars/upsert.rb
335
337
  - lib/neetob/cli/neeto_deploy/scheduled_exports.rb
338
+ - lib/neetob/cli/neeto_deploy/unique_email_domains.rb
336
339
  - lib/neetob/cli/redirections/check.rb
337
340
  - lib/neetob/cli/redirections/commands.rb
338
341
  - lib/neetob/cli/sre/base.rb
@@ -354,8 +357,23 @@ files:
354
357
  - lib/neetob/version.rb
355
358
  - neetob.gemspec
356
359
  - overcommit.yml
360
+ - package.json
361
+ - playwright.config.ts
357
362
  - scripts/add_label_to_milestone_issues.sh
363
+ - scripts/config/.env.local
364
+ - scripts/constants/auditData.ts
365
+ - scripts/constants/routes.ts
366
+ - scripts/constants/selectors.ts
367
+ - scripts/constants/table.ts
368
+ - scripts/constants/texts.ts
369
+ - scripts/constants/userAgents.ts
358
370
  - scripts/delete_unused_assets.rb
371
+ - scripts/utils/markdown.ts
372
+ - scripts/workflows/dependabot.ts
373
+ - scripts/workflows/honeybadger.ts
374
+ - scripts/workflows/sparkpost.ts
375
+ - tsconfig.json
376
+ - yarn.lock
359
377
  homepage: https://github.com/bigbinary/neetob
360
378
  licenses:
361
379
  - MIT
@@ -1,67 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "../../github_issue_creation"
4
-
5
- module Neetob
6
- class CLI
7
- module MonthlyAudit
8
- module InstancesAndAddons
9
- module NeetoDeployOrHeroku
10
- class AutoScalingEnabled < CLI::Base
11
- def initialize
12
- super()
13
- end
14
-
15
- def run
16
- ui.success "### 3.1.4. Checking whether auto-scaling is enabled"
17
-
18
- apps_data = [["App", "Autoscaling config", "Comments", "Audit Passed"]]
19
- ui.info("\n", print_to_audit_log: false)
20
- last_comment = nil
21
- Neetob::CLI::Sre::Base::APPS_LIST[:neetodeploy].select { |app| app.include?("production") }.each do |app|
22
- ui.info("Checking auto_scaling config for #{app}", print_to_audit_log: false)
23
- autoscaling_config_result = Neetob::CLI::NeetoDeploy::AutoscalingConfig.new(app).run
24
- audit_passed = nil
25
- comments = nil
26
- autoscaling_config = nil
27
- repo = app.gsub("-production", "")
28
- if autoscaling_config_result.is_a?(Hash) && autoscaling_config_result["error"] == "Forbidden"
29
- audit_passed = "No"
30
- comments = "You do not have permission to access the config for this app."
31
- else
32
- autoscaling_config = JSON.parse(autoscaling_config_result.gsub("=>", ":"))
33
- autoscaling_turned_on_for_web = autoscaling_config["web"]
34
-
35
- audit_passed = autoscaling_turned_on_for_web ? "Yes" : "No"
36
- if audit_passed == "No"
37
- comments = "Auto-scaling is not enabled for web dynos."
38
- issue_url = GithubIssueCreation.new.create_issue(
39
- repo:, title: "Enable auto scaling for web dynos",
40
- description: comments)
41
- audit_passed += " #{issue_url}"
42
- same_as_last_comment = comments == last_comment
43
- last_comment = comments
44
- comments = "''" if same_as_last_comment
45
- end
46
- end
47
- apps_data << [app, autoscaling_config, comments, audit_passed]
48
- end
49
- Neetob::CLI::Sre::Base::APPS_LIST[:heroku].select { |app| app.include?("production") }.each do |app|
50
- ui.info("Checking auto_scaling config for #{app}", print_to_audit_log: false)
51
- autoscaling_config_result = Neetob::CLI::Heroku::AutoscalingConfig.new(app).run
52
- comments = nil
53
-
54
- audit_passed = autoscaling_config_result[:judoscale_addon_enabled] ? "Yes" : "No"
55
- if audit_passed == "No"
56
- comments = "Judoscale addon is not enabled"
57
- end
58
- apps_data << [app, autoscaling_config_result, comments, audit_passed]
59
- end
60
- ui.print_table(apps_data)
61
- end
62
- end
63
- end
64
- end
65
- end
66
- end
67
- end