ocean_kit 0.1.6 → 0.1.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 42ede6cb8e3013e2811666c8be0eb81e1519ec1a613364a511839f25b6789ab9
4
- data.tar.gz: 203f1b609829a882768a36f79a7efffb9b25707c71bbba0cefb86681d0498184
3
+ metadata.gz: e56758dbb6997beaaf3d41ee3c9a5522141d7867f48911b6d137d1262887b89e
4
+ data.tar.gz: d863b404fd0f3a23c57fbe7ea1ebef79434e7ea4dea9d116b24cf171e52e9902
5
5
  SHA512:
6
- metadata.gz: 78e8239b700e48e14480fb69430e156a2baf10893858130d7fe67a6e8e65b215de951308f1d73713cd3284742caaf9edf156d1e75c5eb5978a27a57b9c9c94bb
7
- data.tar.gz: 3c5344925df8decdc54dfa18f0f781d5e964d42af0d2f33776ad80c33b7b4448d05e2e1f2540600509dc347ec3032d5435068c953b357e13b5afab4a568c8bec
6
+ metadata.gz: dd0f095267d7fd7b06ae1ef103e1b47fd290a50258e0e959de0cfd890b62feb6631b6b8176901bdb6d58b2e689769be514fa645e4cac763af83797ca73074f7e
7
+ data.tar.gz: f56d1c507cf56e33666406e8a6813fb86a256b1bedf2784cd1057e0344d62e6ce5f465512e6ef03ed287099c0adb97c4aae8f4fda87f674ba69d49abe1bde57b
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ocean_kit (0.1.5)
4
+ ocean_kit (0.1.7)
5
5
  droplet_kit (~> 3.16, >= 3.16.1)
6
6
  pastel
7
7
  thor (~> 1.2)
@@ -34,3 +34,11 @@ end
34
34
  def add_ssh_rule(rules_array)
35
35
  rules_array << {protocol: "tcp", ports: "22", sources: {addresses: ["0.0.0.0/0", "::/0"]}}
36
36
  end
37
+
38
+ def add_http_rule(rules_array)
39
+ rules_array << {protocol: "tcp", ports: "80", sources: {addresses: ["0.0.0.0/0", "::/0"]}}
40
+ end
41
+
42
+ def remove_http_rule(rules_array)
43
+ rules_array.delete_if { |r| r[:ports] == "80" }
44
+ end
@@ -68,5 +68,31 @@ module OceanKit
68
68
  puts pastel.red.bold("Error: #{e.message}")
69
69
  end
70
70
  end
71
+
72
+ desc "enable port 80", "Enable HTTP on given firewall"
73
+ def enable_http(number)
74
+ firewall = fetch_firewall(number)
75
+ inbound_rules = firewall_inbound_rules(firewall)
76
+ firewall.inbound_rules = add_http_rule(inbound_rules)
77
+ begin
78
+ update_firewall(firewall)
79
+ puts pastel.green.bold("HTTP enabled on firewall #{firewall.name}")
80
+ rescue DropletKit::Error => e
81
+ puts pastel.red.bold("Error: #{e.message}")
82
+ end
83
+ end
84
+
85
+ desc "disable_http [firewall_number]", "Disable HTTP on given firewall"
86
+ def disable_http(number)
87
+ firewall = fetch_firewall(number)
88
+ inbound_rules = firewall_inbound_rules(firewall)
89
+ firewall.inbound_rules = remove_http_rule(inbound_rules)
90
+ begin
91
+ update_firewall(firewall)
92
+ puts pastel.green.bold("HTTP disabled on firewall #{firewall.name}")
93
+ rescue DropletKit::Error => e
94
+ puts pastel.red.bold("Error: #{e.message}")
95
+ end
96
+ end
71
97
  end
72
98
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module OceanKit
4
- VERSION = "0.1.6"
4
+ VERSION = "0.1.7"
5
5
  end
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.6
4
+ version: 0.1.7
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-28 00:00:00.000000000 Z
11
+ date: 2022-04-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -111,7 +111,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
111
111
  - !ruby/object:Gem::Version
112
112
  version: '0'
113
113
  requirements: []
114
- rubygems_version: 3.3.7
114
+ rubygems_version: 3.3.10
115
115
  signing_key:
116
116
  specification_version: 4
117
117
  summary: Digital Ocean CLI Kit