souls 0.35.0 → 0.35.1

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: a5811e7d1669c33a4c847ce4a8cc1d39983e1764faac97712fd63287c8cd1b6b
4
- data.tar.gz: d26cdd9dc0e0c1973b237b23ad0060bfe773c8e43ed56ef7fdef4323a87223af
3
+ metadata.gz: b8625ab69f5ec380190e85dab85d3f009bad3491fdd918bfa8a005638ef6ddf6
4
+ data.tar.gz: e5cc98017cf840f7949ed4d874e034873003037b14a55404c8a2b371bbca2ae0
5
5
  SHA512:
6
- metadata.gz: 7c0574be87356a6329d6b0dd3ff3ad1eb7cb31044bccc6d68399ce35548cddb758bb553e0ba80b290d2b0c241a997a8ee1bc489a82e84cf8da323d0413c5a302
7
- data.tar.gz: 8eae9a2a555476d8cf6a3a0749c612dbaba7735d4df9fb11803291303b5f5c52549e7d207b90cd7f07a848bc6543c0bf701966a04629904e80bb6d768b7cd03f
6
+ metadata.gz: 9fddd29570fb4b28f582a2b7cae62526937ffc6d62317b88a3557c13745894127175974a6a67b6fe605947afaf48c97122c7c892e4999a374c5c792a0e030e97
7
+ data.tar.gz: 7b77d8ce7a9a246f3559de23c140898a4eb28c61904063eec0a4b5afb2ebeea83460d84053ffece3dcfc863f3bd1bcc48fe0f1f03f18c983a1f25116b3666406
@@ -0,0 +1,67 @@
1
+ module Souls
2
+ module Gcloud
3
+ module Compute
4
+ class << self
5
+ def create_network(app_name: "")
6
+ app_name = Souls.configuration.app if app_name.blank?
7
+ system("gcloud compute networks create #{app_name}")
8
+ end
9
+
10
+ def create_firewall_tcp(app_name: "", range: "10.124.0.0/28")
11
+ app_name = Souls.configuration.app if app_name.blank?
12
+ system(
13
+ "gcloud compute firewall-rules create #{app_name} \
14
+ --network #{app_name} --allow tcp,udp,icmp --source-ranges #{range}"
15
+ )
16
+ end
17
+
18
+ def create_firewall_ssh(app_name: "")
19
+ app_name = Souls.configuration.app if app_name.blank?
20
+ system(
21
+ "gcloud compute firewall-rules create #{app_name}-ssh --network #{app_name} \
22
+ --allow tcp:22,tcp:3389,icmp"
23
+ )
24
+ end
25
+
26
+ def create_subnet(app_name: "", region: "asia-northeast1", range: "10.124.0.0/28")
27
+ app_name = Souls.configuration.app if app_name.blank?
28
+ system(
29
+ "gcloud compute networks subnets create #{app_name}-subnet
30
+ --range=#{range} --network=#{app_name} --region=#{region}"
31
+ )
32
+ end
33
+
34
+ def create_connector(app_name: "", region: "asia-northeast1")
35
+ app_name = Souls.configuration.app if app_name.blank?
36
+ project_id = Souls.configuration.app if project_id.blank?
37
+ system(
38
+ "gcloud compute networks vpc-access connectors create #{app_name}-connector \
39
+ --region=#{region} \
40
+ --subnet-project=#{project_id} \
41
+ --subnet=#{app_name}-subnet"
42
+ )
43
+ end
44
+
45
+ def create_external_ip(app_name: "", region: "asia-northeast1")
46
+ app_name = Souls.configuration.app if app_name.blank?
47
+ system("gcloud compute addresses create #{app_name}-worker-ip --region=#{region}")
48
+ end
49
+
50
+ def create_nat(app_name: "", region: "asia-northeast1")
51
+ app_name = Souls.configuration.app if app_name.blank?
52
+ system(
53
+ "gcloud compute routers nats create #{app_name}-worker-nat \
54
+ --router=#{app_name}-router \
55
+ --region=#{region} \
56
+ --nat-custom-subnet-ip-ranges=#{app_name}-subnet \
57
+ --nat-external-ip-pool=#{app_name}-worker-ip"
58
+ )
59
+ end
60
+
61
+ def network_list
62
+ system("gcloud compute network list")
63
+ end
64
+ end
65
+ end
66
+ end
67
+ end
@@ -2,6 +2,7 @@ require_relative "./iam/index"
2
2
  require_relative "./pubsub/index"
3
3
  require_relative "./run/index"
4
4
  require_relative "./sql/index"
5
+ require_relative "./compute/index"
5
6
 
6
7
  module Souls
7
8
  module Gcloud
data/lib/souls/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  module Souls
2
- VERSION = "0.35.0".freeze
2
+ VERSION = "0.35.1".freeze
3
3
  public_constant :VERSION
4
4
  end
@@ -1 +1 @@
1
- 0.14.0
1
+ 0.14.1
@@ -1 +1 @@
1
- 0.14.0
1
+ 0.14.1
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: souls
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.35.0
4
+ version: 0.35.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - POPPIN-FUMI
8
8
  - KishiTheMechanic
9
9
  - James Neve
10
- autorequire:
10
+ autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2021-08-29 00:00:00.000000000 Z
13
+ date: 2021-08-30 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activesupport
@@ -126,6 +126,7 @@ files:
126
126
  - lib/souls/api/update/rspec_resolver.rb
127
127
  - lib/souls/api/update/type.rb
128
128
  - lib/souls/cli/docker/index.rb
129
+ - lib/souls/cli/gcloud/compute/index.rb
129
130
  - lib/souls/cli/gcloud/iam/index.rb
130
131
  - lib/souls/cli/gcloud/index.rb
131
132
  - lib/souls/cli/gcloud/pubsub/index.rb
@@ -156,7 +157,7 @@ metadata:
156
157
  homepage_uri: https://souls.elsoul.nl
157
158
  source_code_uri: https://github.com/elsoul/souls
158
159
  changelog_uri: https://github.com/elsoul/souls
159
- post_install_message:
160
+ post_install_message:
160
161
  rdoc_options: []
161
162
  require_paths:
162
163
  - lib
@@ -172,7 +173,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
172
173
  version: '0'
173
174
  requirements: []
174
175
  rubygems_version: 3.2.22
175
- signing_key:
176
+ signing_key:
176
177
  specification_version: 4
177
178
  summary: SOULs はサーバーレスフルスタックフレームワークです。柔軟な Ruby GraphQL API と Worker はルーティングの必要がありません。
178
179
  クラウド環境への自動デプロイ、CI/CD ワークフローを標準装備。開発者がビジネスロジックに集中し、楽しくコードが書けるような環境を目指しています。