ocean_kit 0.1.3 → 0.1.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.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +12 -6
- data/exe/ocean_kit +2 -0
- data/lib/ocean_kit/helpers/client.rb +11 -3
- data/lib/ocean_kit/helpers/console.rb +12 -0
- data/lib/ocean_kit/resources/base.rb +2 -0
- data/lib/ocean_kit/resources/config.rb +21 -0
- data/lib/ocean_kit/resources/droplets.rb +21 -0
- data/lib/ocean_kit/resources/firewalls.rb +1 -1
- data/lib/ocean_kit/version.rb +1 -1
- data/lib/ocean_kit.rb +7 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 42ede6cb8e3013e2811666c8be0eb81e1519ec1a613364a511839f25b6789ab9
|
4
|
+
data.tar.gz: 203f1b609829a882768a36f79a7efffb9b25707c71bbba0cefb86681d0498184
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 78e8239b700e48e14480fb69430e156a2baf10893858130d7fe67a6e8e65b215de951308f1d73713cd3284742caaf9edf156d1e75c5eb5978a27a57b9c9c94bb
|
7
|
+
data.tar.gz: 3c5344925df8decdc54dfa18f0f781d5e964d42af0d2f33776ad80c33b7b4448d05e2e1f2540600509dc347ec3032d5435068c953b357e13b5afab4a568c8bec
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -24,11 +24,17 @@ Or install it yourself as:
|
|
24
24
|
|
25
25
|
- The file should have the following format:
|
26
26
|
|
27
|
-
|
28
|
-
|
29
|
-
|
27
|
+
```yml
|
28
|
+
digital_ocean_token: your_digital_ocean_personal_access_token
|
29
|
+
```
|
30
30
|
|
31
|
-
|
31
|
+
- You can also generate the file and folder by running:
|
32
|
+
|
33
|
+
```bash
|
34
|
+
$ ocean_kit config setup
|
35
|
+
```
|
36
|
+
|
37
|
+
For a full list of available commands run
|
32
38
|
|
33
39
|
```
|
34
40
|
$ ocean_kit
|
@@ -55,7 +61,7 @@ Commands:
|
|
55
61
|
ocean_kit firewalls enable_all_ssh # Enables SSH on all firewalls
|
56
62
|
ocean_kit firewalls enable_ssh [firewall_number] # Enable SSH on given firewall
|
57
63
|
ocean_kit firewalls help [COMMAND] # Describe subcommands or one specific subcommand
|
58
|
-
ocean_kit firewalls list # Lists all firewalls
|
64
|
+
ocean_kit firewalls list # Lists all firewalls.
|
59
65
|
```
|
60
66
|
|
61
67
|
## Development
|
@@ -66,7 +72,7 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
|
|
66
72
|
|
67
73
|
## Contributing
|
68
74
|
|
69
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/
|
75
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/leopolicastro/ocean_kit. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/leopolicastro/ocean_kit/blob/main/CODE_OF_CONDUCT.md).
|
70
76
|
|
71
77
|
- Currently only has very basic functionality to list firewalls, and enable or disable ssh on them.
|
72
78
|
|
data/exe/ocean_kit
CHANGED
@@ -5,8 +5,16 @@ def do_client
|
|
5
5
|
end
|
6
6
|
|
7
7
|
def access_token
|
8
|
-
credentials_file = YAML.load(File.read(File.expand_path("~/.ocean_kit/credentials.yml")))
|
9
8
|
credentials_file["digital_ocean_token"]
|
10
|
-
|
11
|
-
|
9
|
+
end
|
10
|
+
|
11
|
+
def credentials_file
|
12
|
+
YAML.load(File.read(File.expand_path("~/.ocean_kit/credentials.yml")))
|
13
|
+
end
|
14
|
+
|
15
|
+
def check_credentials_file
|
16
|
+
if credentials_file.nil?
|
17
|
+
puts pastel.red.bold("Error: credentials file not found. Please run `ocean_kit config setup` first.")
|
18
|
+
exit 1
|
19
|
+
end
|
12
20
|
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OceanKit
|
4
|
+
class Config < Thor
|
5
|
+
desc "setup", "Setup OceanKit environment"
|
6
|
+
def setup
|
7
|
+
# First create the ~/.ocean_kit directory if it doesn't exist
|
8
|
+
Dir.mkdir(File.expand_path("~/.ocean_kit")) unless File.directory?(File.expand_path("~/.ocean_kit"))
|
9
|
+
# Next create the credentials.yml file if it doesn't exist
|
10
|
+
unless File.file?(File.expand_path("~/.ocean_kit/credentials.yml"))
|
11
|
+
File.write(File.expand_path("~/.ocean_kit/credentials.yml"), <<~YAML)
|
12
|
+
---
|
13
|
+
digital_ocean_token: <YOUR_DIGITAL_OCEAN_TOKEN>
|
14
|
+
|
15
|
+
YAML
|
16
|
+
end
|
17
|
+
puts pastel.green.bold("Successfully setup OceanKit environment.")
|
18
|
+
puts pastel.white.bold("Please add your Digital Ocean personal access token your credentials in ~/.ocean_kit/credentials.yml") if access_token.nil?
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OceanKit
|
4
|
+
class Droplets < Thor
|
5
|
+
desc "list", "Lists all droplers."
|
6
|
+
def list
|
7
|
+
puts underline_text("Droplets:\n")
|
8
|
+
do_client.droplets.all.each_with_index do |droplet, index|
|
9
|
+
puts "------------------------------\n"
|
10
|
+
|
11
|
+
puts pastel.white.bold "#: ", pastel.clear.white(index + 1)
|
12
|
+
puts pastel.white.bold "Name: ", pastel.clear.white(droplet.name)
|
13
|
+
puts pastel.white.bold "ID: ", pastel.clear.white(droplet.id)
|
14
|
+
puts pastel.white.bold "Public IP: ", pastel.clear.white(droplet.networks.v4.first.ip_address)
|
15
|
+
puts pastel.white.bold "Region: ", pastel.clear.white(droplet.region.slug)
|
16
|
+
puts pastel.white.bold "Status: ", pastel.clear.white(droplet.status)
|
17
|
+
puts pastel.white.bold "Created: ", pastel.clear.white(droplet.created_at)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
data/lib/ocean_kit/version.rb
CHANGED
data/lib/ocean_kit.rb
CHANGED
@@ -11,7 +11,13 @@ require_relative "./ocean_kit/helpers/base"
|
|
11
11
|
|
12
12
|
module OceanKit
|
13
13
|
class Client < Thor
|
14
|
-
desc "
|
14
|
+
desc "config SUBCOMMAND ...ARGS", "Create OceanKit folder and credentials.yml file"
|
15
|
+
subcommand "config", Config
|
16
|
+
|
17
|
+
desc "droplets SUBCOMMAND ...ARGS", "manage your Digital Ocean droplets"
|
18
|
+
subcommand "droplets", Droplets
|
19
|
+
|
20
|
+
desc "firewalls SUBCOMMAND ...ARGS", "manage your Digital Ocean firewalls"
|
15
21
|
subcommand "firewalls", Firewalls
|
16
22
|
end
|
17
23
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ocean_kit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Leo Policastro
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-03-
|
11
|
+
date: 2022-03-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -83,6 +83,8 @@ files:
|
|
83
83
|
- lib/ocean_kit/helpers/console.rb
|
84
84
|
- lib/ocean_kit/helpers/firewalls.rb
|
85
85
|
- lib/ocean_kit/resources/base.rb
|
86
|
+
- lib/ocean_kit/resources/config.rb
|
87
|
+
- lib/ocean_kit/resources/droplets.rb
|
86
88
|
- lib/ocean_kit/resources/firewalls.rb
|
87
89
|
- lib/ocean_kit/version.rb
|
88
90
|
- ocean_kit.gemspec
|