renuo-cli 4.11.1 → 4.12.3

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 (49) hide show
  1. checksums.yaml +4 -4
  2. data/bin/renuo +1 -1
  3. data/lib/renuo/cli/{app → commands}/check_deploio_status.rb +21 -7
  4. data/lib/renuo/cli/{app → commands}/commit_leaderboard_stage.rb +16 -1
  5. data/lib/renuo/cli/{app → commands}/commit_leaderboard_sync.rb +18 -11
  6. data/lib/renuo/cli/{app → commands}/configure_semaphore.rb +15 -14
  7. data/lib/renuo/cli/{app → commands}/configure_sentry.rb +10 -4
  8. data/lib/renuo/cli/{app → commands}/create_aws_project.rb +27 -4
  9. data/lib/renuo/cli/{app → commands}/create_deploio_app.rb +22 -11
  10. data/lib/renuo/cli/{app → commands}/create_heroku_app.rb +10 -4
  11. data/lib/renuo/cli/commands/create_new_logins.rb +41 -0
  12. data/lib/renuo/cli/{app/github_pull_request_creator.rb → commands/create_pr.rb} +15 -6
  13. data/lib/renuo/cli/{app → commands}/create_slidev_presentation.rb +9 -10
  14. data/lib/renuo/cli/{app/name_display.rb → commands/display_name.rb} +20 -10
  15. data/lib/renuo/cli/{app → commands}/fetch_emails.rb +13 -11
  16. data/lib/renuo/cli/{app/secrets_fetcher.rb → commands/fetch_secrets.rb} +22 -6
  17. data/lib/renuo/cli/commands/generate_password.rb +15 -0
  18. data/lib/renuo/cli/{app → commands}/github_replace.rb +18 -1
  19. data/lib/renuo/cli/commands/heroku_users.rb +29 -0
  20. data/lib/renuo/cli/commands/list_large_git_files.rb +19 -0
  21. data/lib/renuo/cli/{app/release_project.rb → commands/release.rb} +11 -5
  22. data/lib/renuo/cli/{app → commands}/setup_uptimerobot.rb +12 -5
  23. data/lib/renuo/cli/{app/upgrade_laptop/upgrade_mac_os.rb → commands/upgrade_laptop.rb} +33 -6
  24. data/lib/renuo/cli/{app/services → services}/cloudfront_config_service.rb +1 -1
  25. data/lib/renuo/cli/{app/services → services}/renuo_cli_config.rb +1 -3
  26. data/lib/renuo/cli/{app/templates → templates}/semaphore/semaphore.yml.erb +0 -2
  27. data/lib/renuo/cli/version.rb +2 -2
  28. data/lib/renuo/cli.rb +32 -321
  29. metadata +39 -74
  30. data/lib/renuo/cli/app/create_new_logins.rb +0 -33
  31. data/lib/renuo/cli/app/generate_password.rb +0 -9
  32. data/lib/renuo/cli/app/heroku_apps.rb +0 -13
  33. data/lib/renuo/cli/app/heroku_users.rb +0 -15
  34. data/lib/renuo/cli/app/list_large_git_files.rb +0 -9
  35. data/lib/renuo/cli/app/local_storage.rb +0 -32
  36. data/lib/renuo/cli/app/package.json +0 -14
  37. data/lib/renuo/cli/app/secrets_initializer.rb +0 -17
  38. data/lib/renuo/cli/app/services/markdown_parser_service.rb +0 -32
  39. data/lib/renuo/cli/app/upgrade_laptop/upgrade_laptop_execution.rb +0 -40
  40. data/lib/renuo/cli/app/upgrade_laptop.rb +0 -22
  41. /data/lib/renuo/cli/{app → helpers}/command_helper.rb +0 -0
  42. /data/lib/renuo/cli/{app → helpers}/environments.rb +0 -0
  43. /data/lib/renuo/cli/{app → helpers}/renuo_version.rb +0 -0
  44. /data/lib/renuo/cli/{app/templates → templates}/semaphore/bin/cache_restore.erb +0 -0
  45. /data/lib/renuo/cli/{app/templates → templates}/semaphore/bin/cache_store.erb +0 -0
  46. /data/lib/renuo/cli/{app/templates → templates}/semaphore/notification.yml.erb +0 -0
  47. /data/lib/renuo/cli/{app/templates → templates}/semaphore/semaphore-deploy.yml.erb +0 -0
  48. /data/lib/renuo/cli/{app/templates → templates}/slidev/README.md.erb +0 -0
  49. /data/lib/renuo/cli/{app/templates → templates}/slidev/package.json.erb +0 -0
metadata CHANGED
@@ -1,28 +1,28 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: renuo-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.11.1
4
+ version: 4.12.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Renuo AG
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-02-21 00:00:00.000000000 Z
10
+ date: 2025-03-04 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: activesupport
14
14
  requirement: !ruby/object:Gem::Requirement
15
15
  requirements:
16
- - - "~>"
16
+ - - ">="
17
17
  - !ruby/object:Gem::Version
18
- version: 8.0.0
18
+ version: '7.1'
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
- - - "~>"
23
+ - - ">="
24
24
  - !ruby/object:Gem::Version
25
- version: 8.0.0
25
+ version: '7.1'
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: colorize
28
28
  requirement: !ruby/object:Gem::Requirement
@@ -65,34 +65,6 @@ dependencies:
65
65
  - - "~>"
66
66
  - !ruby/object:Gem::Version
67
67
  version: '1.1'
68
- - !ruby/object:Gem::Dependency
69
- name: redcarpet
70
- requirement: !ruby/object:Gem::Requirement
71
- requirements:
72
- - - "~>"
73
- - !ruby/object:Gem::Version
74
- version: '3.0'
75
- type: :runtime
76
- prerelease: false
77
- version_requirements: !ruby/object:Gem::Requirement
78
- requirements:
79
- - - "~>"
80
- - !ruby/object:Gem::Version
81
- version: '3.0'
82
- - !ruby/object:Gem::Dependency
83
- name: terminal-table
84
- requirement: !ruby/object:Gem::Requirement
85
- requirements:
86
- - - ">="
87
- - !ruby/object:Gem::Version
88
- version: '0'
89
- type: :runtime
90
- prerelease: false
91
- version_requirements: !ruby/object:Gem::Requirement
92
- requirements:
93
- - - ">="
94
- - !ruby/object:Gem::Version
95
- version: '0'
96
68
  description: The Renuo CLI automates some commonly used workflows by providing a command
97
69
  line interface.
98
70
  email:
@@ -106,46 +78,39 @@ files:
106
78
  - README.md
107
79
  - bin/renuo
108
80
  - lib/renuo/cli.rb
109
- - lib/renuo/cli/app/check_deploio_status.rb
110
- - lib/renuo/cli/app/command_helper.rb
111
- - lib/renuo/cli/app/commit_leaderboard_stage.rb
112
- - lib/renuo/cli/app/commit_leaderboard_sync.rb
113
- - lib/renuo/cli/app/configure_semaphore.rb
114
- - lib/renuo/cli/app/configure_sentry.rb
115
- - lib/renuo/cli/app/create_aws_project.rb
116
- - lib/renuo/cli/app/create_deploio_app.rb
117
- - lib/renuo/cli/app/create_heroku_app.rb
118
- - lib/renuo/cli/app/create_new_logins.rb
119
- - lib/renuo/cli/app/create_slidev_presentation.rb
120
- - lib/renuo/cli/app/environments.rb
121
- - lib/renuo/cli/app/fetch_emails.rb
122
- - lib/renuo/cli/app/generate_password.rb
123
- - lib/renuo/cli/app/github_pull_request_creator.rb
124
- - lib/renuo/cli/app/github_replace.rb
125
- - lib/renuo/cli/app/heroku_apps.rb
126
- - lib/renuo/cli/app/heroku_users.rb
127
- - lib/renuo/cli/app/list_large_git_files.rb
128
- - lib/renuo/cli/app/local_storage.rb
129
- - lib/renuo/cli/app/name_display.rb
130
- - lib/renuo/cli/app/package.json
131
- - lib/renuo/cli/app/release_project.rb
132
- - lib/renuo/cli/app/renuo_version.rb
133
- - lib/renuo/cli/app/secrets_fetcher.rb
134
- - lib/renuo/cli/app/secrets_initializer.rb
135
- - lib/renuo/cli/app/services/cloudfront_config_service.rb
136
- - lib/renuo/cli/app/services/markdown_parser_service.rb
137
- - lib/renuo/cli/app/services/renuo_cli_config.rb
138
- - lib/renuo/cli/app/setup_uptimerobot.rb
139
- - lib/renuo/cli/app/templates/semaphore/bin/cache_restore.erb
140
- - lib/renuo/cli/app/templates/semaphore/bin/cache_store.erb
141
- - lib/renuo/cli/app/templates/semaphore/notification.yml.erb
142
- - lib/renuo/cli/app/templates/semaphore/semaphore-deploy.yml.erb
143
- - lib/renuo/cli/app/templates/semaphore/semaphore.yml.erb
144
- - lib/renuo/cli/app/templates/slidev/README.md.erb
145
- - lib/renuo/cli/app/templates/slidev/package.json.erb
146
- - lib/renuo/cli/app/upgrade_laptop.rb
147
- - lib/renuo/cli/app/upgrade_laptop/upgrade_laptop_execution.rb
148
- - lib/renuo/cli/app/upgrade_laptop/upgrade_mac_os.rb
81
+ - lib/renuo/cli/commands/check_deploio_status.rb
82
+ - lib/renuo/cli/commands/commit_leaderboard_stage.rb
83
+ - lib/renuo/cli/commands/commit_leaderboard_sync.rb
84
+ - lib/renuo/cli/commands/configure_semaphore.rb
85
+ - lib/renuo/cli/commands/configure_sentry.rb
86
+ - lib/renuo/cli/commands/create_aws_project.rb
87
+ - lib/renuo/cli/commands/create_deploio_app.rb
88
+ - lib/renuo/cli/commands/create_heroku_app.rb
89
+ - lib/renuo/cli/commands/create_new_logins.rb
90
+ - lib/renuo/cli/commands/create_pr.rb
91
+ - lib/renuo/cli/commands/create_slidev_presentation.rb
92
+ - lib/renuo/cli/commands/display_name.rb
93
+ - lib/renuo/cli/commands/fetch_emails.rb
94
+ - lib/renuo/cli/commands/fetch_secrets.rb
95
+ - lib/renuo/cli/commands/generate_password.rb
96
+ - lib/renuo/cli/commands/github_replace.rb
97
+ - lib/renuo/cli/commands/heroku_users.rb
98
+ - lib/renuo/cli/commands/list_large_git_files.rb
99
+ - lib/renuo/cli/commands/release.rb
100
+ - lib/renuo/cli/commands/setup_uptimerobot.rb
101
+ - lib/renuo/cli/commands/upgrade_laptop.rb
102
+ - lib/renuo/cli/helpers/command_helper.rb
103
+ - lib/renuo/cli/helpers/environments.rb
104
+ - lib/renuo/cli/helpers/renuo_version.rb
105
+ - lib/renuo/cli/services/cloudfront_config_service.rb
106
+ - lib/renuo/cli/services/renuo_cli_config.rb
107
+ - lib/renuo/cli/templates/semaphore/bin/cache_restore.erb
108
+ - lib/renuo/cli/templates/semaphore/bin/cache_store.erb
109
+ - lib/renuo/cli/templates/semaphore/notification.yml.erb
110
+ - lib/renuo/cli/templates/semaphore/semaphore-deploy.yml.erb
111
+ - lib/renuo/cli/templates/semaphore/semaphore.yml.erb
112
+ - lib/renuo/cli/templates/slidev/README.md.erb
113
+ - lib/renuo/cli/templates/slidev/package.json.erb
149
114
  - lib/renuo/cli/version.rb
150
115
  homepage: https://github.com/renuo/renuo-cli
151
116
  licenses:
@@ -1,33 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class CreateNewLogins
4
- include CommandHelper
5
-
6
- @logins = [{ name: "Sentry", sign_up_url: "https://sentry.io/organizations/renuo/members/new/",
7
- steps: ["Click on add new Member"] },
8
- { name: "NewRelic", sign_up_url: "https://rpm.newrelic.com/",
9
- steps: ["Click on Renuo", "Account Settings > Add user"] }]
10
-
11
- def run
12
- @logins.each do |login|
13
- say login[:name].yellow
14
- login[:steps].each_with_index do |step, index|
15
- say "\t#{index + 1}. #{step}"
16
- end
17
- open_site login[:sign_up_url]
18
- end
19
- say "every thing is set up".green
20
- end
21
-
22
- private
23
-
24
- def open_site(website)
25
- open_path(website)
26
- wait_to_continue
27
- end
28
-
29
- def wait_to_continue
30
- system "read -n 1 -s -p 'Press any key to continue...'"
31
- say "\n"
32
- end
33
- end
@@ -1,9 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "securerandom"
4
-
5
- class GeneratePassword
6
- def run
7
- say SecureRandom.base64(200).gsub(%r{[+/=]}, "")[0...100]
8
- end
9
- end
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class HerokuApps
4
- def run
5
- JSON.parse(run_command).pluck("name")
6
- end
7
-
8
- private
9
-
10
- def run_command
11
- `heroku apps --json`
12
- end
13
- end
@@ -1,15 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "heroku_apps"
4
-
5
- class HerokuUsers
6
- def run(args)
7
- action, email_address = args
8
- abort(">> action is either add or remove") unless %w[add remove].include? action
9
- abort(">> specify an email address") unless email_address
10
- heroku_apps = HerokuApps.new.run
11
- heroku_apps.each do |app|
12
- say "heroku access:#{action} #{email_address} --app #{app}"
13
- end
14
- end
15
- end
@@ -1,9 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class ListLargeGitFiles
4
- def run
5
- cmd = 'bash -c "join -o \'1.1 1.2 2.3\' <(git rev-list --objects --all | sort) ' \
6
- '<(git verify-pack -v objects/pack/*.idx | sort -k3 -n | tail -5 | sort) | sort -k3 -n"'
7
- puts `#{cmd}`
8
- end
9
- end
@@ -1,32 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "json"
4
-
5
- class LocalStorage
6
- def store(key, value)
7
- setup
8
- config = load_config
9
- config[key.to_s] = value
10
- write_config(config)
11
- end
12
-
13
- def load(key)
14
- config = load_config
15
- config[key.to_s]
16
- end
17
-
18
- private
19
-
20
- def load_config
21
- JSON.parse(File.read(".local_storage"))
22
- end
23
-
24
- def write_config(config)
25
- File.write(".local_storage", config.to_json)
26
- File.chmod(0o600, ".local_storage")
27
- end
28
-
29
- def setup
30
- write_config({}) unless File.exist? ".local_storage"
31
- end
32
- end
@@ -1,14 +0,0 @@
1
- {
2
- "name": "app",
3
- "version": "1.0.0",
4
- "description": "",
5
- "main": "index.js",
6
- "scripts": {
7
- "test": "echo \"Error: no test specified\" && exit 1"
8
- },
9
- "repository": {
10
- "type": "git",
11
- "url": "https://github.com/renuo/renuo-cli.git"
12
- },
13
- "private": true
14
- }
@@ -1,17 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "yaml"
4
- require "fileutils"
5
- require "json"
6
-
7
- class SecretsInitializer
8
- def self.run(private_vault_link)
9
- abort("Config file #{SecretsFetcher::CONFIG_FILE} already exists.") if File.exist?(SecretsFetcher::CONFIG_FILE)
10
-
11
- File.write(SecretsFetcher::CONFIG_FILE, generate_config_file(private_vault_link))
12
- end
13
-
14
- def self.generate_config_file(private_vault_link)
15
- { "items" => [{ "private_link" => private_vault_link, "files" => [], "env_variables" => [] }] }.to_yaml
16
- end
17
- end
@@ -1,32 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "redcarpet"
4
-
5
- class MarkdownParserService
6
- class ListExtractor < Redcarpet::Render::Base
7
- attr_reader :files
8
-
9
- def list(_contents, _list_type)
10
- @next_is_hint = true
11
- ""
12
- end
13
-
14
- def list_item(text, _list_type)
15
- @files ||= []
16
- if @next_is_hint
17
- @files.last.unshift text.strip
18
- @next_is_hint = false
19
- else
20
- @files << [text.strip]
21
- end
22
- ""
23
- end
24
- end
25
-
26
- def parse_markdown(markdown_text)
27
- renderer = ListExtractor.new
28
- markdown = Redcarpet::Markdown.new(renderer)
29
- markdown.render(markdown_text)
30
- renderer.files
31
- end
32
- end
@@ -1,40 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class UpgradeLaptopExecution
4
- include CommandHelper
5
-
6
- def initialize(upgrade_mac_os)
7
- @upgrade_mac_os = upgrade_mac_os
8
- end
9
-
10
- def run
11
- upgrade_apps
12
- upgrade_mac_os
13
- upgrade_brew unless mac_os_upgrade_needs_a_restart?
14
- end
15
-
16
- private
17
-
18
- def upgrade_apps
19
- setup_mas
20
- run_command "mas upgrade"
21
- end
22
-
23
- def setup_mas
24
- `which mas || brew install mas`
25
- end
26
-
27
- def upgrade_mac_os
28
- @upgrade_mac_os.run
29
- end
30
-
31
- def mac_os_upgrade_needs_a_restart?
32
- @upgrade_mac_os.reboot_required?
33
- end
34
-
35
- def upgrade_brew
36
- run_command "brew update"
37
- run_command "brew upgrade"
38
- run_command "brew cleanup"
39
- end
40
- end
@@ -1,22 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "command_helper"
4
- require_relative "upgrade_laptop/upgrade_laptop_execution"
5
- require_relative "upgrade_laptop/upgrade_mac_os"
6
-
7
- class UpgradeLaptop
8
- def run
9
- say_hi
10
- run_upgrade
11
- end
12
-
13
- private
14
-
15
- def say_hi
16
- say "Start Update"
17
- end
18
-
19
- def run_upgrade
20
- UpgradeLaptopExecution.new(UpgradeMacOS.new).run
21
- end
22
- end
File without changes
File without changes
File without changes