swarm_cluster_cli_ope 0.3 → 0.3.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 +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
|
|