swarm_cluster_cli_ope 0.3 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +6 -6
- data/README.md +2 -2
- data/lib/swarm_cluster_cli_ope/cli.rb +12 -7
- data/lib/swarm_cluster_cli_ope/configuration.rb +4 -1
- data/lib/swarm_cluster_cli_ope/sync_configs/env_configs.rb +18 -3
- data/lib/swarm_cluster_cli_ope/sync_configs/mysql.rb +3 -3
- data/lib/swarm_cluster_cli_ope/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3d344913376cd573bd0c65e8b1e13b21c22cea8da6765d5c96962bb8117a345b
|
4
|
+
data.tar.gz: aba83b091bb644491f7f2159c24ed5809d624713439037e368d874a7b702e2bf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 22e815330c638aead770d742b875961892650e73b68abed0b8fd897448d038ebbe4065a417073e9e4ce5039edaa40824eb617a43fa4200974cdb0363505fd83b
|
7
|
+
data.tar.gz: 63c7bff02ab029faf11f533a008f53b813381c0915524a501464ac75e52a24b3b930900af05c08d358945ea5587de1811eb93cdd2752cbe4bd3e22b1f8548962
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
swarm_cluster_cli_ope (0.3)
|
4
|
+
swarm_cluster_cli_ope (0.3.1)
|
5
5
|
activesupport
|
6
6
|
open4
|
7
7
|
thor (~> 1.0)
|
@@ -10,23 +10,23 @@ PATH
|
|
10
10
|
GEM
|
11
11
|
remote: https://rubygems.org/
|
12
12
|
specs:
|
13
|
-
activesupport (6.0.3)
|
13
|
+
activesupport (6.0.3.2)
|
14
14
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
15
15
|
i18n (>= 0.7, < 2)
|
16
16
|
minitest (~> 5.1)
|
17
17
|
tzinfo (~> 1.1)
|
18
18
|
zeitwerk (~> 2.2, >= 2.2.2)
|
19
|
-
concurrent-ruby (1.1.
|
20
|
-
i18n (1.8.
|
19
|
+
concurrent-ruby (1.1.7)
|
20
|
+
i18n (1.8.5)
|
21
21
|
concurrent-ruby (~> 1.0)
|
22
|
-
minitest (5.14.
|
22
|
+
minitest (5.14.2)
|
23
23
|
open4 (1.3.4)
|
24
24
|
rake (12.3.3)
|
25
25
|
thor (1.0.1)
|
26
26
|
thread_safe (0.3.6)
|
27
27
|
tzinfo (1.2.7)
|
28
28
|
thread_safe (~> 0.1)
|
29
|
-
zeitwerk (2.
|
29
|
+
zeitwerk (2.4.0)
|
30
30
|
|
31
31
|
PLATFORMS
|
32
32
|
ruby
|
data/README.md
CHANGED
@@ -131,12 +131,12 @@ Possibili CFGS per tipologia:
|
|
131
131
|
- service: "db" -> nome del servizio nel compose locale, DEFAULT: quello definito sopra
|
132
132
|
- mysql_password_env: "MYSQL_PASSWORD" -> variabile ambiente interna al servizio contenente PASSWORD, DEFAULT: MYSQL_PASSWORD
|
133
133
|
- mysql_user_env: "MYSQL_USER" -> variabile ambiente interna al servizio contenente USERNAME, DEFAULT: MYSQL_USER
|
134
|
-
-
|
134
|
+
- database_name_env: "MYSQL_DATABASE" -> variabile ambiente interna al servizio contenente NOME DB, DEFAULT: MYSQL_DATABASE
|
135
135
|
- remote: -> hash di configurazioni per il DB remoto
|
136
136
|
- service: "db" -> nome del servizio nel compose locale, DEFAULT: quello definito sopra
|
137
137
|
- mysql_password_env: "MYSQL_PASSWORD" -> variabile ambiente interna al servizio contenente PASSWORD, DEFAULT: MYSQL_PASSWORD
|
138
138
|
- mysql_user_env: "MYSQL_USER" -> variabile ambiente interna al servizio contenente USERNAME, DEFAULT: MYSQL_USER
|
139
|
-
-
|
139
|
+
- database_name_env: "MYSQL_DATABASE" -> variabile ambiente interna al servizio contenente NOME DB, DEFAULT: MYSQL_DATABASE
|
140
140
|
|
141
141
|
#### EXAMPLE:
|
142
142
|
Esempio di sincronizzazione di un file sqlite3 e una cartella
|
@@ -274,12 +274,12 @@ module SwarmClusterCliOpe
|
|
274
274
|
"service": "db" -> nome del servizio nel compose locale, DEFAULT: quello definito sopra
|
275
275
|
"mysql_password_env": "MYSQL_PASSWORD" -> variabile ambiente interna al servizio contenente PASSWORD, DEFAULT: MYSQL_PASSWORD
|
276
276
|
"mysql_user_env": "MYSQL_USER" -> variabile ambiente interna al servizio contenente USERNAME, DEFAULT: MYSQL_USER
|
277
|
-
"
|
277
|
+
"database_name_env": "MYSQL_DATABASE" -> variabile ambiente interna al servizio contenente NOME DB, DEFAULT: MYSQL_DATABASE
|
278
278
|
-- remote: -> hash di configurazioni per il DB remoto
|
279
279
|
"service": "db" -> nome del servizio nel compose locale, DEFAULT: quello definito sopra
|
280
280
|
"mysql_password_env": "MYSQL_PASSWORD" -> variabile ambiente interna al servizio contenente PASSWORD, DEFAULT: MYSQL_PASSWORD
|
281
281
|
"mysql_user_env": "MYSQL_USER" -> variabile ambiente interna al servizio contenente USERNAME, DEFAULT: MYSQL_USER
|
282
|
-
"
|
282
|
+
"database_name_env": "MYSQL_DATABASE" -> variabile ambiente interna al servizio contenente NOME DB, DEFAULT: MYSQL_DATABASE
|
283
283
|
|
284
284
|
|
285
285
|
EXAMPLE:
|
@@ -317,11 +317,16 @@ module SwarmClusterCliOpe
|
|
317
317
|
raise "ONLY [push|pull] action accepted"
|
318
318
|
end
|
319
319
|
cfgs.env(options[:environment]) do |cfgs|
|
320
|
-
cfgs.sync_configurations
|
321
|
-
|
322
|
-
say "
|
323
|
-
|
324
|
-
|
320
|
+
sync_cfgs = cfgs.sync_configurations
|
321
|
+
if sync_cfgs.empty?
|
322
|
+
say "Attenzione, configurazioni di sincronizzazione vuoto. Leggere la documentazione"
|
323
|
+
else
|
324
|
+
sync_cfgs.each do |sync|
|
325
|
+
say "----------->>>>>>"
|
326
|
+
say "[ #{sync.class.name} ]"
|
327
|
+
sync.send(direction)
|
328
|
+
say "<<<<<<-----------"
|
329
|
+
end
|
325
330
|
end
|
326
331
|
end
|
327
332
|
end
|
@@ -174,8 +174,11 @@ module SwarmClusterCliOpe
|
|
174
174
|
|
175
175
|
##
|
176
176
|
# Elenco di tutte le configurazioni di sincronizzazione
|
177
|
+
# @return [Array]
|
177
178
|
def sync_configurations
|
178
|
-
merged_configurations[:sync_configs]
|
179
|
+
cfgs = merged_configurations[:sync_configs]
|
180
|
+
return [] if cfgs.nil? or !cfgs.is_a?(Array)
|
181
|
+
cfgs.collect do |c|
|
179
182
|
|
180
183
|
case c[:how]
|
181
184
|
when 'sqlite3'
|
@@ -27,13 +27,28 @@ module SwarmClusterCliOpe
|
|
27
27
|
end
|
28
28
|
|
29
29
|
|
30
|
-
|
30
|
+
##
|
31
|
+
# Costruisce i metodi che restituiscono i valori delle configurazioni
|
32
|
+
#
|
33
|
+
# @param [String,Symbol] name -> nome della stringa con cui viene generato il metodo
|
34
|
+
# @param [String,Symbol] default_env -> nome env default nel caso non sia passato
|
35
|
+
# @param [String,Symbol] configuration_name -> nome della configurazione da utilizzare per estrapolare la configurazione
|
36
|
+
# in automatico viene tenuto conto se cercare per la versione
|
37
|
+
# con _env o senza....precedenza SENZA
|
38
|
+
def self.define_cfgs(name, default_env:, configuration_name:)
|
31
39
|
configuration_name ||= name
|
32
40
|
|
33
41
|
define_method(name) do
|
34
42
|
return self.instance_variable_get("@#{name}") if self.instance_variable_defined?("@#{name}")
|
35
|
-
|
36
|
-
|
43
|
+
|
44
|
+
#valore restituito direttamente dalla configurazione
|
45
|
+
if @configs.key?(configuration_name)
|
46
|
+
value = @configs["#{configuration_name}".to_sym]
|
47
|
+
else
|
48
|
+
env_var = @configs["#{configuration_name}_env".to_sym] || default_env
|
49
|
+
value = find_env_file_variable(env_var)
|
50
|
+
end
|
51
|
+
self.instance_variable_set("@#{name}", value)
|
37
52
|
end
|
38
53
|
|
39
54
|
end
|
@@ -41,9 +41,9 @@ module SwarmClusterCliOpe
|
|
41
41
|
# Classe interna che rappresenta le configurazioni del DB
|
42
42
|
class EnvConfigs < SwarmClusterCliOpe::SyncConfigs::EnvConfigs
|
43
43
|
|
44
|
-
define_cfgs :database_name,
|
45
|
-
define_cfgs :mysql_user,
|
46
|
-
define_cfgs :mysql_password,
|
44
|
+
define_cfgs :database_name, default_env: "MYSQL_DATABASE", configuration_name: :database_name
|
45
|
+
define_cfgs :mysql_user, default_env: "MYSQL_USER", configuration_name: :mysql_user
|
46
|
+
define_cfgs :mysql_password, default_env: "MYSQL_PASSWORD", configuration_name: :mysql_password
|
47
47
|
|
48
48
|
end
|
49
49
|
|