souls 0.53.1 → 0.53.5

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: 7a1a57c0324e007ec27511a796ffeedbbf109b204b135f7440de0d80bfc03f72
4
- data.tar.gz: 1e1b39af5e114b039a3c55f0b18527ba0f356338b50e0302cc7f12643c6927e0
3
+ metadata.gz: e35280f32390cf55c390b73dbb3e344ab8de636460e5464e1b0ebe5a7830f562
4
+ data.tar.gz: 3a429067cc9388575fd606ba7d056d6072d1c9c0d63a8231c628c25855c80310
5
5
  SHA512:
6
- metadata.gz: 1a9b0bec6a228d558600dbea1453d3506fd7af254465eb5e75af1737f0ca87aba5268b7dcaa6df79d3a18268d842f79dcba1ac64fcd24ef5c5483e67bcc9fca9
7
- data.tar.gz: bcafca5703d11cbf7d3fd02fac9cf6d161babd9c58df0a8bdc8e0544d3bc1276119c6f28eb05c4621f226294a52f82ffd4e8026d487df95bd985447a6b1eb366
6
+ metadata.gz: 11eb6b2e3683f6dcdcf45312bbb8ead4ab569e5a999a51c54ca74d94f07c6e5fe1b5527eac12c8286b71b34533e01b5bf307b68b49c7821ebed53a7aa545a8ab
7
+ data.tar.gz: 58bbefc266178a10f8ee51bcc4f2b6ab203ad2dc6cd4fd84c169b9dd19e75178e64be2f1e0c6b00a5843184b08811685033d8c7e1a492bd4dfb8027e97418940
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- [![SOULs](https://storage.googleapis.com/souls/souls-ogp-vertical.jpg)](https://rubygems.org/gems/souls)
1
+ [![SOULs](https://souls.elsoul.nl/ogp.jpg)](https://souls.elsoul.nl)
2
2
 
3
3
  <p align="center">
4
4
  <a aria-label="Ruby logo" href="https://el-soul.com">
@@ -27,7 +27,7 @@ SOULs はサーバーレスフルスタックフレームワークです。柔
27
27
  SOULs バックエンドには `API` と `Worker` の 2 つのタイプがあります。
28
28
  `API` は主にデータをフロントエンドへ提供します。`Worker` は主に `タスク` の処理を行います
29
29
 
30
- ![画像](https://storage.googleapis.com/souls-bucket/imgs/souls-structure.jpg)
30
+ ![画像](https://souls.elsoul.nl/imgs/docs/SOULs.jpg)
31
31
 
32
32
  現在のバージョンでは SOULs `API` と `Worker` を Github Actions を使って Google Cloud Run へそれぞれデプロイします。
33
33
 
@@ -86,8 +86,6 @@ Check your GraphQL PlayGround
86
86
 
87
87
  (localhost:4000/playground)[localhost:4000/playground]
88
88
 
89
-
90
-
91
89
  ## Gemfile 自動更新アップデート
92
90
 
93
91
  `Gemfile`, `Gemfile.lock` を最新のバージョンに自動更新します。
@@ -96,11 +94,9 @@ Check your GraphQL PlayGround
96
94
  souls upgrade gemfile
97
95
  ```
98
96
 
99
-
100
97
  除外したい `gem` は `config/souls.rb` 内の
101
98
  `config.fixed_gems` の配列に追加します。
102
99
 
103
-
104
100
  ```ruby
105
101
  Souls.configure do |config|
106
102
  config.app = "souls-api"
@@ -113,15 +109,12 @@ Souls.configure do |config|
113
109
  end
114
110
  ```
115
111
 
116
-
117
-
118
112
  ## SOULs Serverless Application Framework Document
119
113
 
120
114
  SOULs サーバーレスアプリケーションフレームワーク
121
115
  ドキュメントはこちらから
122
- - [SOULs Document](https://souls.elsoul.nl/)
123
-
124
116
 
117
+ - [SOULs Document](https://souls.elsoul.nl/)
125
118
 
126
119
  ## Development
127
120
 
data/exe/souls CHANGED
@@ -12,7 +12,9 @@ begin
12
12
  "api",
13
13
  "create",
14
14
  "gcloud",
15
- "worker"
15
+ "worker",
16
+ "",
17
+ nil
16
18
  ].include?(souls_command)
17
19
  rescue StandardError
18
20
  raise(StandardError, "No confif! Please make `./config/souls.rb` File!")
@@ -8,6 +8,6 @@ module Souls
8
8
  desc "update [COMMAND]", "souls api update Commands"
9
9
  subcommand "update", Update
10
10
 
11
- map "g" => :generate
11
+ map g: :generate
12
12
  end
13
13
  end
@@ -32,6 +32,12 @@ module Souls
32
32
  raise(Thor::Error, e)
33
33
  end
34
34
 
35
+ desc "config_set", "gcloud config set"
36
+ def config_set
37
+ project_id = Souls.configuration.project_id
38
+ system("gcloud config set project #{project_id}")
39
+ end
40
+
35
41
  desc "enable_permissions", "Enable Google Cloud APIs for SOULs Framework"
36
42
  def enable_permissions
37
43
  system("gcloud services enable compute.googleapis.com")
@@ -13,8 +13,8 @@ module Souls
13
13
  end
14
14
 
15
15
  desc "list", "Show Google Cloud Run List"
16
- def list(project_id: "")
17
- project_id = Souls.configuration.project_id if project_id.blank?
16
+ def list
17
+ project_id = Souls.configuration.project_id
18
18
  system("gcloud run services list --project #{project_id} --platform managed")
19
19
  rescue Thor::Error => e
20
20
  raise(Thor::Error, e)
@@ -22,7 +22,9 @@ module Souls
22
22
 
23
23
  desc "get_endpoint", "Show Worker's Endpoint"
24
24
  def get_endpoint(worker_name: "")
25
- `gcloud run services list | grep #{worker_name} | awk '{print $4}'`
25
+ app_name = Souls.configuration.app
26
+ project_id = Souls.configuration.project_id
27
+ `gcloud run services list --project #{project_id} --platform managed | grep #{app_name}-souls-#{worker_name} | awk '{print $4}'`
26
28
  rescue Thor::Error => e
27
29
  raise(Thor::Error, e)
28
30
  end
@@ -2,6 +2,7 @@ module Souls
2
2
  class Sync < Thor
3
3
  desc "conf", "Sync config/souls.rb Endpoint with Google Cloud Run"
4
4
  def conf
5
+ Souls::Gcloud.new.config_set
5
6
  update_conf
6
7
  update_conf(strain: "api")
7
8
  puts(
@@ -36,7 +37,7 @@ module Souls
36
37
 
37
38
  new_line.write(" config.workers = [\n")
38
39
  workers.each_with_index do |worker, i|
39
- base_url = Souls::Gcloud::Run.new.get_endpoint(worker_name: worker[:name])
40
+ base_url = Souls::CloudRun.new.get_endpoint(worker_name: worker[:name])
40
41
  endpoint = Souls.configuration.endpoint
41
42
  if (i + 1) == workers.size
42
43
  new_line.write(<<-TEXT)
@@ -2,6 +2,7 @@ module Souls
2
2
  class Sync < Thor
3
3
  desc "pubsub", "Sync Worker Jobs & Google Cloud Pubsub Subscriptions"
4
4
  def pubsub
5
+ Souls::Gcloud.new.config_set
5
6
  get_topics(workers: get_workers)
6
7
  puts(Paint["All Jobs Synced with PubSub Subscription!", :green])
7
8
  rescue Thor::Error => e
@@ -11,6 +12,7 @@ module Souls
11
12
  private
12
13
 
13
14
  def get_topics(workers: {})
15
+ app_name = Souls.configuration.app
14
16
  project_id = Souls.configuration.project_id
15
17
  pubsub = Google::Cloud::Pubsub.new
16
18
  topics = pubsub.topics
@@ -20,6 +22,8 @@ module Souls
20
22
  topic.name.gsub("projects/#{project_id}/topics/", "")
21
23
  end
22
24
 
25
+ topic_names.select { |n| n.include?("#{app_name}_souls_") }
26
+
23
27
  topic_names.each do |name|
24
28
  value = workers[name.to_sym] || 0
25
29
  workers[name.to_sym] = value - 1
@@ -36,23 +40,29 @@ module Souls
36
40
  end
37
41
 
38
42
  def create_topic(topic_id: "mailer")
43
+ app_name = Souls.configuration.app
39
44
  pubsub = Google::Cloud::Pubsub.new
40
- topic = pubsub.create_topic(topic_id)
45
+ topic_name = "#{app_name}_souls_#{topic_id}"
46
+ topic = pubsub.create_topic(topic_name.to_s)
41
47
  puts("Topic #{topic.name} created.")
42
48
  end
43
49
 
44
50
  def delete_topic(topic_id: "mailer")
51
+ app_name = Souls.configuration.app
45
52
  pubsub = Google::Cloud::Pubsub.new
46
- topic = pubsub.topic(topic_id)
53
+ topic_name = "#{app_name}_souls_#{topic_id}"
54
+ topic = pubsub.topic(topic_name.to_s)
47
55
  topic.delete
48
- puts("Topic #{topic_id} deleted.")
56
+ puts("Topic #{topic_name} deleted.")
49
57
  end
50
58
 
51
59
  def create_push_subscription(topic_id: "mailer")
52
60
  require("#{Souls.get_mother_path}/config/souls")
53
61
  worker_name = topic_id.split("_")[0]
62
+ app_name = Souls.configuration.app
63
+ topic_name = "#{app_name}_souls_#{topic_id}"
54
64
 
55
- subscription_id = "#{topic_id}_sub"
65
+ subscription_id = "#{topic_name}_sub"
56
66
  endpoint = ""
57
67
  worker_paths = Souls.configuration.workers
58
68
  worker_paths.each do |worker|
data/lib/souls/cli.rb CHANGED
@@ -1,25 +1,25 @@
1
1
  require "souls"
2
2
  module Souls
3
3
  class CLI < Thor
4
- desc "api [COMMAND]", "souls api Commands"
4
+ desc "api [COMMAND]", "SOULs API Commands"
5
5
  subcommand "api", API
6
6
 
7
- desc "gcloud [COMMAND]", "souls gcloud Commands"
7
+ desc "gcloud [COMMAND]", "SOULs Gcloud Commands"
8
8
  subcommand "gcloud", Gcloud
9
9
 
10
- desc "docker [COMMAND]", "souls docker Commands"
10
+ desc "docker [COMMAND]", "SOULs Docker Commands"
11
11
  subcommand "docker", Docker
12
12
 
13
- desc "create [COMMAND]", "souls create worker $worker_name"
13
+ desc "create [COMMAND]", "SOULs Create Worker"
14
14
  subcommand "create", Create
15
15
 
16
- desc "sync", "souls sync Commands"
16
+ desc "sync", " SOULs Sync Commands"
17
17
  subcommand "sync", Sync
18
18
 
19
- desc "upgrade", "souls upgrade Commands"
19
+ desc "upgrade", "SOULs Upgrade Commands"
20
20
  subcommand "upgrade", Upgrade
21
21
 
22
- desc "worker [COMMAND]", "souls worker Commands"
22
+ desc "worker [COMMAND]", "SOULs Worker Commands"
23
23
  subcommand "worker", Worker
24
24
 
25
25
  # rubocop:disable Style/StringHashKeys
data/lib/souls/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  module Souls
2
- VERSION = "0.53.1".freeze
2
+ VERSION = "0.53.5".freeze
3
3
  public_constant :VERSION
4
4
  end
@@ -1 +1 @@
1
- 0.32.1
1
+ 0.32.5
@@ -1 +1 @@
1
- 0.32.1
1
+ 0.32.5
@@ -5,6 +5,6 @@ module Souls
5
5
  desc "generate [COMMAND]", "souls worker generate Commands"
6
6
  subcommand "generate", Generate
7
7
 
8
- map "g" => :generate
8
+ map g: :generate
9
9
  end
10
10
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: souls
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.53.1
4
+ version: 0.53.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - POPPIN-FUMI
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2021-09-16 00:00:00.000000000 Z
13
+ date: 2021-09-21 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activesupport