souls 0.35.0 → 0.35.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: 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 ワークフローを標準装備。開発者がビジネスロジックに集中し、楽しくコードが書けるような環境を目指しています。