kitsune-kit 0.1.0 → 0.1.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 57456c12dd12944d84cfd91365faf9997f14b6612ac9530e0d59612a2127f7c3
4
- data.tar.gz: 171c5324395c519e83c3ee95dc1fb301a93813113e3b95a01129c905be634525
3
+ metadata.gz: 72a0142a3c968422bbf176e7c9166607d0cdb77bb98ad7dea178465d432be628
4
+ data.tar.gz: 3231de17dda946adabd4f1ed6cc3811a03bcf42e61ffce251532871cabdb51c6
5
5
  SHA512:
6
- metadata.gz: 3aff57085a3a9d071c183a2d8ebfda9fd729f6a1ea6da7dc38436aaefca10e3d24001c6cdd6ae4aa8a76c71b7448f6b180724e3ed7014974c58c57bb9cb81eca
7
- data.tar.gz: c767d70f51be75dd80b6d8f111afb8d3c89fea9074337ff7df5eb66c83b96526ab52f4ac184988c5b28d9772ced5c9f67637467a94808f86b26f0fc26a57fbaf
6
+ metadata.gz: 0f29ff9c74c0b2bfd9c224077ef958e661f13795e59ffae3d4f81f23181a38546cbf192056a35d1888cbfa55606d067cd1ae2f615c5c988ef38e291ddd02a359
7
+ data.tar.gz: 4186a5914e1e8746691d01c2432591dc51e2b395ccd3c5b08b3bf95327d2be175fd36cf55eece21cc0872ad548789b6ba53a12a7644432f277df18aadabe21d0
data/README.md CHANGED
@@ -72,7 +72,7 @@ This will create the `.kitsune/` directory, multiple `.env` files, and the neces
72
72
 
73
73
  ## 🔧 Main Commands
74
74
 
75
- ### 🧱 Server Provisioning
75
+ ### 🏗️ Server Provisioning
76
76
 
77
77
  ```bash
78
78
  kit bootstrap execute
data/bin/kit CHANGED
@@ -1,6 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
2
  require "bundler/setup"
3
- require "dotenv/load"
4
3
  $LOAD_PATH.unshift File.expand_path("../lib", __dir__)
5
4
  require "kitsune/kit"
6
5
  require "kitsune/kit/cli"
@@ -1,4 +1,5 @@
1
1
  require "thor"
2
+ require "colorize"
2
3
  require_relative "env_loader"
3
4
  require_relative "commands/init"
4
5
  require_relative "commands/switch_env"
@@ -1,5 +1,5 @@
1
1
  require "thor"
2
- require "open3"
2
+ require "stringio"
3
3
  require_relative "../defaults"
4
4
  require_relative "../options_builder"
5
5
  require_relative "../provisioner"
@@ -78,18 +78,21 @@ module Kitsune
78
78
  end
79
79
 
80
80
  def fetch_droplet_ip
81
- output, status = Open3.capture2e("bin/kit provision create")
82
- unless status.success?
83
- abort "❌ Error fetching or creating droplet"
81
+ out = StringIO.new
82
+ $stdout = out
83
+ begin
84
+ Kitsune::Kit::CLI.start(["provision", "create"])
85
+ ensure
86
+ $stdout = STDOUT
84
87
  end
85
-
86
- ip = output.match(/(\d{1,3}\.){3}\d{1,3}/).to_s
87
- abort "❌ Could not detect droplet IP!" if ip.empty?
88
+
89
+ ip = out.string[/(\d{1,3}\.){3}\d{1,3}/]
90
+ abort "❌ Could not detect droplet IP!" if ip.nil? || ip.empty?
88
91
  ip
89
92
  end
90
93
 
91
94
  def run_cli(command, droplet_ip, filled_options)
92
- say "▶️ Running: kitsune kit #{command} --server-ip #{droplet_ip}", :blue
95
+ say "\n▶️ Running: kitsune kit #{command} --server-ip #{droplet_ip}", :blue
93
96
  subcommand, action = command.split(" ", 2)
94
97
  Kitsune::Kit::CLI.start([
95
98
  subcommand, action,
@@ -47,7 +47,7 @@ module Kitsune
47
47
  end
48
48
 
49
49
  def run_cli(command, filled_options)
50
- say "▶️ Running: kitsune kit #{command} --server-ip #{filled_options[:server_ip]}", :blue
50
+ say "\n▶️ Running: kitsune kit #{command} --server-ip #{filled_options[:server_ip]}", :blue
51
51
 
52
52
  subcommand, action = command.split(" ", 2)
53
53
  Kitsune::Kit::CLI.start([
@@ -86,6 +86,7 @@ module Kitsune
86
86
  sudo apt-get install -y "\${TARGET_PKGS[@]}"
87
87
  sudo touch "$AFTER_FILE" && echo " - marker created at $AFTER_FILE"
88
88
  else
89
+ echo "🔁 Already set up, ensuring latest"
89
90
  sudo apt-get update -y
90
91
  sudo apt-get install -y "\${TARGET_PKGS[@]}"
91
92
  echo "✅ Prerequisites are current"
@@ -168,7 +168,7 @@ module Kitsune
168
168
  success = true
169
169
  break
170
170
  else
171
- say "⏳ Attempt #{attempt}/#{max_attempts}: PostgreSQL not ready yet, retrying in 5 seconds...", :yellow
171
+ say "⏳ PostgreSQL not ready yet, retrying in 5 seconds... (#{attempt + 1}/#{max_attempts})", :yellow
172
172
  sleep 5
173
173
  end
174
174
  end
@@ -216,7 +216,7 @@ module Kitsune
216
216
  sudo ufw delete allow 5432 || true
217
217
  fi
218
218
  else
219
- echo "🔸 Nothing to rollback"
219
+ echo "💡 Nothing to rollback"
220
220
  fi
221
221
 
222
222
  echo "✅ Rollback completed"
@@ -1,5 +1,4 @@
1
1
  require "dotenv"
2
-
3
2
  module Kitsune
4
3
  module Kit
5
4
  class EnvLoader
@@ -19,7 +18,8 @@ module Kitsune
19
18
 
20
19
  if found
21
20
  Dotenv.load(found)
22
- puts "🧪 Loaded Kitsune environment from #{found}"
21
+ puts "🧪 Loaded Kitsune environment from #{found.light_cyan}"
22
+ puts "=======================================================================\n".light_cyan
23
23
  else
24
24
  puts "⚠️ No Kitsune infra config found for environment '#{env}' (looked for infra.#{env}.env and infra.env)"
25
25
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Kitsune
4
4
  module Kit
5
- VERSION = "0.1.0"
5
+ VERSION = "0.1.1"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,113 +1,169 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kitsune-kit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Omar Herrera
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-04-30 00:00:00.000000000 Z
11
+ date: 2025-05-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: net-ssh
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: '7.2'
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: '0'
26
+ version: '7.2'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: ed25519
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: '1.3'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: '1.3'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bcrypt_pbkdf
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: '1.1'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: '1.1'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: dotenv
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: '3.0'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '0'
68
+ version: '3.0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: droplet_kit
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ">="
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '0'
75
+ version: '3.17'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ">="
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '0'
82
+ version: '3.17'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: thor
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ">="
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '0'
89
+ version: '1.3'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ">="
94
+ - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '0'
96
+ version: '1.3'
97
+ - !ruby/object:Gem::Dependency
98
+ name: colorize
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 1.0.4
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 1.0.4
97
111
  - !ruby/object:Gem::Dependency
98
112
  name: pry
99
113
  requirement: !ruby/object:Gem::Requirement
100
114
  requirements:
101
- - - ">="
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '0.14'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '0.14'
125
+ - !ruby/object:Gem::Dependency
126
+ name: pry-stack_explorer
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: 0.6.0
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: 0.6.0
139
+ - !ruby/object:Gem::Dependency
140
+ name: rspec
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: '3.12'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: '3.12'
153
+ - !ruby/object:Gem::Dependency
154
+ name: aruba
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
102
158
  - !ruby/object:Gem::Version
103
- version: '0'
159
+ version: '2.2'
104
160
  type: :development
105
161
  prerelease: false
106
162
  version_requirements: !ruby/object:Gem::Requirement
107
163
  requirements:
108
- - - ">="
164
+ - - "~>"
109
165
  - !ruby/object:Gem::Version
110
- version: '0'
166
+ version: '2.2'
111
167
  description: Kitsune Kit is a CLI toolkit that automates the provisioning, configuration,
112
168
  and Docker setup of remote servers, especially tailored for Ruby developers using
113
169
  Kamal. Includes rollback features and multi-environment support.