legion-data 0.1.1 → 0.2.0

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.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +2 -0
  3. data/legion-data.gemspec +2 -2
  4. data/lib/legion/data.rb +55 -35
  5. data/lib/legion/data/connection.rb +52 -19
  6. data/lib/legion/data/connections/base.rb +19 -3
  7. data/lib/legion/data/connections/mysql2.rb +2 -17
  8. data/lib/legion/data/connections/mysql_base.rb +1 -1
  9. data/lib/legion/data/migration.rb +7 -20
  10. data/lib/legion/data/migrations/002_add_users.rb +17 -0
  11. data/lib/legion/data/migrations/003_add_groups.rb +16 -0
  12. data/lib/legion/data/migrations/004_add_chains.rb +25 -0
  13. data/lib/legion/data/migrations/005_add_envs.rb +24 -0
  14. data/lib/legion/data/migrations/006_add_dcs.rb +24 -0
  15. data/lib/legion/data/migrations/007_add_nodes.rb +26 -0
  16. data/lib/legion/data/migrations/008_add_settings.rb +18 -0
  17. data/lib/legion/data/migrations/009_add_extensions.rb +25 -0
  18. data/lib/legion/data/migrations/010_add_runners.rb +21 -0
  19. data/lib/legion/data/migrations/011_add_functions.rb +29 -0
  20. data/lib/legion/data/migrations/012_add_tasks.rb +25 -0
  21. data/lib/legion/data/migrations/013_add_task_logs.rb +17 -0
  22. data/lib/legion/data/migrations/014_add_relationships.rb +27 -0
  23. data/lib/legion/data/model.rb +24 -26
  24. data/lib/legion/data/models/chain.rb +2 -1
  25. data/lib/legion/data/models/datacenter.rb +2 -1
  26. data/lib/legion/data/models/environment.rb +2 -1
  27. data/lib/legion/data/models/extension.rb +13 -0
  28. data/lib/legion/data/models/function.rb +7 -4
  29. data/lib/legion/data/models/group.rb +10 -0
  30. data/lib/legion/data/models/namespace.rb +3 -1
  31. data/lib/legion/data/models/node.rb +1 -1
  32. data/lib/legion/data/models/relationship.rb +3 -1
  33. data/lib/legion/data/models/runner.rb +17 -0
  34. data/lib/legion/data/models/setting.rb +10 -0
  35. data/lib/legion/data/models/task.rb +2 -1
  36. data/lib/legion/data/models/task_log.rb +0 -1
  37. data/lib/legion/data/models/user.rb +10 -0
  38. data/lib/legion/data/settings.rb +62 -0
  39. data/lib/legion/data/version.rb +1 -1
  40. metadata +29 -26
  41. data/lib/legion/data/migrations/002_add_chains_table.rb +0 -21
  42. data/lib/legion/data/migrations/003_add_datacenters_table.rb +0 -21
  43. data/lib/legion/data/migrations/004_add_envs_table.rb +0 -21
  44. data/lib/legion/data/migrations/005_add_functions_table.rb +0 -25
  45. data/lib/legion/data/migrations/006_add_namespaces_table.rb +0 -24
  46. data/lib/legion/data/migrations/007_add_nodes_table.rb +0 -22
  47. data/lib/legion/data/migrations/008_add_relationships_table.rb +0 -28
  48. data/lib/legion/data/migrations/009_add_task_logs_table.rb +0 -17
  49. data/lib/legion/data/migrations/010_add_tasks_table.rb +0 -20
  50. data/lib/legion/data/migrations/011_add_users_and_groups.rb +0 -28
  51. data/lib/legion/data/migrations/012_foreign_keys_users_and_groups.rb +0 -42
  52. data/lib/legion/data/migrations/013_function_foreign_keys.rb +0 -10
  53. data/lib/legion/data/migrations/014_nodes_foreign_keys.rb +0 -12
  54. data/lib/legion/data/migrations/015_relationships_foreign_keys.rb +0 -14
  55. data/lib/legion/data/migrations/016_tasks_foreign_keys.rb +0 -22
  56. data/lib/legion/data/migrations/017_add_relationship_to_tasks.rb +0 -14
@@ -3,7 +3,6 @@
3
3
  module Legion
4
4
  module Data
5
5
  module Model
6
- # Used for accessing legion.task_logs
7
6
  class TaskLog < Sequel::Model
8
7
  many_to_one :task
9
8
  many_to_one :node
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Legion
4
+ module Data
5
+ module Model
6
+ class User < Sequel::Model
7
+ end
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,62 @@
1
+ module Legion
2
+ module Data
3
+ module Settings
4
+ def self.default
5
+ {
6
+ connected: false,
7
+ cache: cache,
8
+ connection: connection,
9
+ creds: creds,
10
+ migrations: migrations,
11
+ models: models
12
+
13
+ }
14
+ end
15
+
16
+ def self.models
17
+ {
18
+ continue_on_load_fail: false,
19
+ autoload: true
20
+ }
21
+ end
22
+
23
+ def self.migrations
24
+ {
25
+ continue_on_fail: false,
26
+ auto_migrate: true,
27
+ ran: false,
28
+ version: nil
29
+ }
30
+ end
31
+
32
+ def self.connection
33
+ {
34
+ log: false,
35
+ log_connection_info: false,
36
+ log_warn_duration: 1,
37
+ sql_log_level: 'debug',
38
+ max_connections: 32
39
+ }
40
+ end
41
+
42
+ def self.creds
43
+ {
44
+ username: 'legion',
45
+ password: 'legion',
46
+ database: 'legion',
47
+ host: '127.0.0.1',
48
+ port: 3306,
49
+ debug: false
50
+ }
51
+ end
52
+
53
+ def self.cache
54
+ {
55
+ connected: false,
56
+ auto_enable: Legion::Settings[:cache][:connected],
57
+ ttl: 60
58
+ }
59
+ end
60
+ end
61
+ end
62
+ end
@@ -1,5 +1,5 @@
1
1
  module Legion
2
2
  module Data
3
- VERSION = '0.1.1'.freeze
3
+ VERSION = '0.2.0'.freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: legion-data
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Esity
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-12-16 00:00:00.000000000 Z
11
+ date: 2020-02-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -154,30 +154,30 @@ dependencies:
154
154
  name: legion-logging
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
- - - "~>"
157
+ - - ">="
158
158
  - !ruby/object:Gem::Version
159
- version: '0.1'
159
+ version: '0'
160
160
  type: :runtime
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
- - - "~>"
164
+ - - ">="
165
165
  - !ruby/object:Gem::Version
166
- version: '0.1'
166
+ version: '0'
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: legion-settings
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
- - - "~>"
171
+ - - ">="
172
172
  - !ruby/object:Gem::Version
173
- version: '0.1'
173
+ version: '0'
174
174
  type: :runtime
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
- - - "~>"
178
+ - - ">="
179
179
  - !ruby/object:Gem::Version
180
- version: '0.1'
180
+ version: '0'
181
181
  - !ruby/object:Gem::Dependency
182
182
  name: mysql2
183
183
  requirement: !ruby/object:Gem::Requirement
@@ -234,32 +234,35 @@ files:
234
234
  - lib/legion/data/connections/mysql_base.rb
235
235
  - lib/legion/data/migration.rb
236
236
  - lib/legion/data/migrations/001_add_schema_columns.rb
237
- - lib/legion/data/migrations/002_add_chains_table.rb
238
- - lib/legion/data/migrations/003_add_datacenters_table.rb
239
- - lib/legion/data/migrations/004_add_envs_table.rb
240
- - lib/legion/data/migrations/005_add_functions_table.rb
241
- - lib/legion/data/migrations/006_add_namespaces_table.rb
242
- - lib/legion/data/migrations/007_add_nodes_table.rb
243
- - lib/legion/data/migrations/008_add_relationships_table.rb
244
- - lib/legion/data/migrations/009_add_task_logs_table.rb
245
- - lib/legion/data/migrations/010_add_tasks_table.rb
246
- - lib/legion/data/migrations/011_add_users_and_groups.rb
247
- - lib/legion/data/migrations/012_foreign_keys_users_and_groups.rb
248
- - lib/legion/data/migrations/013_function_foreign_keys.rb
249
- - lib/legion/data/migrations/014_nodes_foreign_keys.rb
250
- - lib/legion/data/migrations/015_relationships_foreign_keys.rb
251
- - lib/legion/data/migrations/016_tasks_foreign_keys.rb
252
- - lib/legion/data/migrations/017_add_relationship_to_tasks.rb
237
+ - lib/legion/data/migrations/002_add_users.rb
238
+ - lib/legion/data/migrations/003_add_groups.rb
239
+ - lib/legion/data/migrations/004_add_chains.rb
240
+ - lib/legion/data/migrations/005_add_envs.rb
241
+ - lib/legion/data/migrations/006_add_dcs.rb
242
+ - lib/legion/data/migrations/007_add_nodes.rb
243
+ - lib/legion/data/migrations/008_add_settings.rb
244
+ - lib/legion/data/migrations/009_add_extensions.rb
245
+ - lib/legion/data/migrations/010_add_runners.rb
246
+ - lib/legion/data/migrations/011_add_functions.rb
247
+ - lib/legion/data/migrations/012_add_tasks.rb
248
+ - lib/legion/data/migrations/013_add_task_logs.rb
249
+ - lib/legion/data/migrations/014_add_relationships.rb
253
250
  - lib/legion/data/model.rb
254
251
  - lib/legion/data/models/chain.rb
255
252
  - lib/legion/data/models/datacenter.rb
256
253
  - lib/legion/data/models/environment.rb
254
+ - lib/legion/data/models/extension.rb
257
255
  - lib/legion/data/models/function.rb
256
+ - lib/legion/data/models/group.rb
258
257
  - lib/legion/data/models/namespace.rb
259
258
  - lib/legion/data/models/node.rb
260
259
  - lib/legion/data/models/relationship.rb
260
+ - lib/legion/data/models/runner.rb
261
+ - lib/legion/data/models/setting.rb
261
262
  - lib/legion/data/models/task.rb
262
263
  - lib/legion/data/models/task_log.rb
264
+ - lib/legion/data/models/user.rb
265
+ - lib/legion/data/settings.rb
263
266
  - lib/legion/data/version.rb
264
267
  homepage: https://bitbucket.org/legion-io/legion-data
265
268
  licenses: []
@@ -1,21 +0,0 @@
1
- Sequel.migration do
2
- up do
3
- run "CREATE TABLE `chains` (
4
- `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
5
- `name` varchar(128) NOT NULL DEFAULT '',
6
- `active` tinyint(1) unsigned DEFAULT '1',
7
- `version` int(11) unsigned NOT NULL DEFAULT '1',
8
- `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
9
- `updated_at` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
10
- `user_owner` int(11) unsigned DEFAULT NULL,
11
- `group_owner` int(11) unsigned DEFAULT NULL,
12
- PRIMARY KEY (`id`),
13
- UNIQUE KEY `name` (`name`),
14
- KEY `active` (`active`)
15
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8;"
16
- end
17
-
18
- down do
19
- drop_table :chains
20
- end
21
- end
@@ -1,21 +0,0 @@
1
- Sequel.migration do
2
- up do
3
- run "CREATE TABLE `datacenters` (
4
- `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
5
- `active` tinyint(1) unsigned NOT NULL DEFAULT '1',
6
- `version` int(11) unsigned NOT NULL DEFAULT '1',
7
- `name` varchar(128) NOT NULL DEFAULT '',
8
- `user_owner` int(11) unsigned DEFAULT NULL,
9
- `group_owner` int(11) unsigned DEFAULT NULL,
10
- `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
11
- `updated_at` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
12
- PRIMARY KEY (`id`),
13
- UNIQUE KEY `name` (`name`),
14
- KEY `active` (`active`)
15
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8;"
16
- end
17
-
18
- down do
19
- drop_table :datacenters
20
- end
21
- end
@@ -1,21 +0,0 @@
1
- Sequel.migration do
2
- up do
3
- run "CREATE TABLE `environments` (
4
- `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
5
- `name` varchar(128) NOT NULL DEFAULT '',
6
- `active` tinyint(1) unsigned NOT NULL DEFAULT '1',
7
- `version` int(11) unsigned NOT NULL DEFAULT '1',
8
- `user_owner` int(11) unsigned DEFAULT NULL,
9
- `group_owner` int(11) unsigned DEFAULT NULL,
10
- `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
11
- `updated_at` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
12
- PRIMARY KEY (`id`),
13
- UNIQUE KEY `name` (`name`),
14
- KEY `active` (`active`)
15
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8;"
16
- end
17
-
18
- down do
19
- drop_table :environments
20
- end
21
- end
@@ -1,25 +0,0 @@
1
- Sequel.migration do
2
- up do
3
- run "CREATE TABLE `functions` (
4
- `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
5
- `active` tinyint(1) unsigned NOT NULL DEFAULT '1',
6
- `version` int(11) unsigned NOT NULL DEFAULT '1',
7
- `name` varchar(128) NOT NULL DEFAULT '',
8
- `namespace_id` int(11) unsigned NOT NULL,
9
- `args` text,
10
- `user_owner` int(11) unsigned DEFAULT NULL,
11
- `group_owner` int(11) unsigned DEFAULT NULL,
12
- `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
13
- `updated_at` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
14
- PRIMARY KEY (`id`),
15
- UNIQUE KEY `namespace_id` (`namespace_id`,`name`),
16
- KEY `active` (`active`),
17
- KEY `namespace` (`namespace_id`),
18
- KEY `name` (`name`)
19
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8;"
20
- end
21
-
22
- down do
23
- drop_table :functionss
24
- end
25
- end
@@ -1,24 +0,0 @@
1
- Sequel.migration do
2
- up do
3
- run "CREATE TABLE `namespaces` (
4
- `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
5
- `active` tinyint(1) unsigned NOT NULL DEFAULT '1',
6
- `namespace` varchar(128) NOT NULL DEFAULT '',
7
- `queue` varchar(128) NOT NULL DEFAULT '',
8
- `uri` varchar(128) DEFAULT NULL,
9
- `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
10
- `updated_at` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
11
- `group_owner` int(11) unsigned DEFAULT NULL,
12
- `user_owner` int(11) unsigned DEFAULT NULL,
13
- PRIMARY KEY (`id`),
14
- UNIQUE KEY `namespace` (`namespace`),
15
- KEY `active` (`active`),
16
- KEY `queue` (`queue`),
17
- KEY `uri` (`uri`)
18
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8;"
19
- end
20
-
21
- down do
22
- drop_table :namespaces
23
- end
24
- end
@@ -1,22 +0,0 @@
1
- Sequel.migration do
2
- up do
3
- run "CREATE TABLE `nodes` (
4
- `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
5
- `active` tinyint(1) unsigned NOT NULL DEFAULT '1',
6
- `name` varchar(128) NOT NULL DEFAULT '',
7
- `datacenter_id` int(11) unsigned DEFAULT NULL,
8
- `environment_id` int(11) unsigned DEFAULT NULL,
9
- `status` varchar(255) NOT NULL DEFAULT 'unknown',
10
- `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
11
- `updated_at` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
12
- PRIMARY KEY (`id`),
13
- UNIQUE KEY `name` (`name`),
14
- KEY `active` (`active`),
15
- KEY `status` (`status`)
16
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8;"
17
- end
18
-
19
- down do
20
- drop_table :nodes
21
- end
22
- end
@@ -1,28 +0,0 @@
1
- Sequel.migration do
2
- up do
3
- run "CREATE TABLE `relationships` (
4
- `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
5
- `active` tinyint(1) unsigned NOT NULL DEFAULT '1',
6
- `name` varchar(128) DEFAULT NULL,
7
- `chain_id` int(11) unsigned DEFAULT NULL,
8
- `trigger_id` int(11) unsigned NOT NULL,
9
- `action_id` int(11) unsigned NOT NULL,
10
- `delay` int(11) unsigned NOT NULL DEFAULT '0',
11
- `conditions` text,
12
- `transformation` text,
13
- `version` tinyint(5) unsigned NOT NULL DEFAULT '1',
14
- `created_timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
15
- `updated_timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
16
- `group_owner` int(11) unsigned DEFAULT NULL,
17
- `user_owner` int(11) unsigned DEFAULT NULL,
18
- PRIMARY KEY (`id`),
19
- KEY `active` (`active`),
20
- KEY `name` (`name`),
21
- KEY `deplay` (`delay`)
22
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8;"
23
- end
24
-
25
- down do
26
- drop_table :relationships
27
- end
28
- end
@@ -1,17 +0,0 @@
1
- Sequel.migration do
2
- up do
3
- run "CREATE TABLE `task_logs` (
4
- `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
5
- `task_id` int(11) unsigned NOT NULL,
6
- `node_id` int(11) unsigned NOT NULL,
7
- `log` text,
8
- `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
9
- `updated_at` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
10
- PRIMARY KEY (`id`)
11
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8;"
12
- end
13
-
14
- down do
15
- drop_table :task_logs
16
- end
17
- end
@@ -1,20 +0,0 @@
1
- Sequel.migration do
2
- up do
3
- run "CREATE TABLE `tasks` (
4
- `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
5
- `status` varchar(64) NOT NULL DEFAULT 'created',
6
- `payload` text,
7
- `parent_id` int(11) unsigned DEFAULT NULL,
8
- `master_id` int(11) unsigned DEFAULT NULL,
9
- `version` tinyint(5) NOT NULL DEFAULT '1',
10
- `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
11
- `updated_at` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
12
- PRIMARY KEY (`id`),
13
- KEY `status` (`status`)
14
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8;"
15
- end
16
-
17
- down do
18
- drop_table :tasks
19
- end
20
- end
@@ -1,28 +0,0 @@
1
- Sequel.migration do
2
- up do
3
- run "CREATE TABLE `users` (
4
- `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
5
- `active` tinyint(1) unsigned DEFAULT '1',
6
- `name` varchar(128) DEFAULT NULL,
7
- `version` tinyint(5) unsigned NOT NULL DEFAULT '1',
8
- `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
9
- `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
10
- PRIMARY KEY (`id`)
11
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8;"
12
-
13
- run "CREATE TABLE `groups` (
14
- `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
15
- `active` tinyint(1) unsigned DEFAULT '1',
16
- `name` varchar(128) DEFAULT NULL,
17
- `version` tinyint(5) unsigned NOT NULL DEFAULT '1',
18
- `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
19
- `updated_at` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
20
- PRIMARY KEY (`id`)
21
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8;"
22
- end
23
-
24
- down do
25
- drop_table :groups
26
- drop_table :users
27
- end
28
- end