legionio 0.3.0 → 0.3.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.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. metadata +8 -60
  3. data/.circleci/config.yml +0 -119
  4. data/.gitignore +0 -14
  5. data/.rspec +0 -2
  6. data/.rubocop.yml +0 -89
  7. data/CHANGELOG.md +0 -16
  8. data/Gemfile +0 -3
  9. data/LICENSE.txt +0 -21
  10. data/README.md +0 -46
  11. data/Rakefile +0 -38
  12. data/bin/console +0 -16
  13. data/bin/legion +0 -50
  14. data/bin/setup +0 -8
  15. data/bin/test +0 -32
  16. data/bitbucket-pipelines.yml +0 -55
  17. data/exe/legion +0 -50
  18. data/legion.gemspec +0 -59
  19. data/lib/legion.rb +0 -21
  20. data/lib/legion/exceptions/handled_task.rb +0 -6
  21. data/lib/legion/exceptions/invalidjson.rb +0 -5
  22. data/lib/legion/exceptions/missingargument.rb +0 -6
  23. data/lib/legion/exceptions/wrongtype.rb +0 -10
  24. data/lib/legion/exceptions/wrongtypes/array.rb +0 -8
  25. data/lib/legion/exceptions/wrongtypes/hash.rb +0 -8
  26. data/lib/legion/exceptions/wrongtypes/integer.rb +0 -8
  27. data/lib/legion/exceptions/wrongtypes/string.rb +0 -8
  28. data/lib/legion/extensions.rb +0 -164
  29. data/lib/legion/extensions/actors/base.rb +0 -49
  30. data/lib/legion/extensions/actors/every.rb +0 -48
  31. data/lib/legion/extensions/actors/loop.rb +0 -32
  32. data/lib/legion/extensions/actors/nothing.rb +0 -15
  33. data/lib/legion/extensions/actors/once.rb +0 -40
  34. data/lib/legion/extensions/actors/poll.rb +0 -88
  35. data/lib/legion/extensions/actors/subscription.rb +0 -130
  36. data/lib/legion/extensions/builders/actors.rb +0 -61
  37. data/lib/legion/extensions/builders/base.rb +0 -36
  38. data/lib/legion/extensions/builders/helpers.rb +0 -24
  39. data/lib/legion/extensions/builders/runners.rb +0 -53
  40. data/lib/legion/extensions/core.rb +0 -94
  41. data/lib/legion/extensions/data.rb +0 -10
  42. data/lib/legion/extensions/helpers/base.rb +0 -82
  43. data/lib/legion/extensions/helpers/core.rb +0 -41
  44. data/lib/legion/extensions/helpers/lex.rb +0 -20
  45. data/lib/legion/extensions/helpers/logger.rb +0 -47
  46. data/lib/legion/extensions/helpers/task.rb +0 -40
  47. data/lib/legion/extensions/helpers/transport.rb +0 -43
  48. data/lib/legion/extensions/transport.rb +0 -155
  49. data/lib/legion/process.rb +0 -126
  50. data/lib/legion/runner.rb +0 -55
  51. data/lib/legion/runner/log.rb +0 -10
  52. data/lib/legion/runner/status.rb +0 -69
  53. data/lib/legion/service.rb +0 -78
  54. data/lib/legion/supervision.rb +0 -15
  55. data/lib/legion/version.rb +0 -3
  56. data/settings/client.json +0 -23
@@ -1,78 +0,0 @@
1
- module Legion
2
- class Service
3
- def modules
4
- [Legion::Crypt, Legion::Transport, Legion::Cache, Legion::Data, Legion::Supervision].freeze
5
- end
6
-
7
- def initialize(transport: true, cache: true, data: true, supervision: true, extensions: true, crypt: true, log_level: 'info') # rubocop:disable Metrics/ParameterLists
8
- setup_logging(log_level: log_level)
9
- Legion::Logging.debug('Starting Legion::Service')
10
- setup_settings
11
- Legion::Logging.info("node name: #{Legion::Settings[:client][:name]}")
12
-
13
- if crypt
14
- require 'legion/crypt'
15
- Legion::Crypt.start
16
- end
17
-
18
- setup_transport if transport
19
-
20
- require 'legion/cache' if cache
21
-
22
- setup_data if data
23
-
24
- setup_supervision if supervision
25
- require 'legion/runner'
26
- load_extensions if extensions
27
-
28
- Legion::Crypt.cs if crypt
29
- Legion::Settings[:client][:ready] = true
30
- end
31
-
32
- def setup_data
33
- require 'legion/data'
34
- Legion::Settings.merge_settings(:data, Legion::Data::Settings.default)
35
- Legion::Data.setup
36
- end
37
-
38
- def setup_settings
39
- require 'legion/settings'
40
- Legion::Logging.debug('Loading Legion::Settings')
41
- Legion::Settings.load(config_dir: './settings')
42
- Legion::Logging.info('Legion::Settings Loaded')
43
- end
44
-
45
- def setup_logging(log_level: 'info', **_opts)
46
- require 'legion/logging'
47
- Legion::Logging.setup(log_level: log_level, level: log_level, trace: true)
48
- end
49
-
50
- def setup_transport
51
- require 'legion/transport'
52
- Legion::Settings.merge_settings('transport', Legion::Transport::Settings.default)
53
- Legion::Transport::Connection.setup
54
- end
55
-
56
- def setup_supervision
57
- require 'legion/supervision'
58
- @supervision = Legion::Supervision.setup
59
- end
60
-
61
- def shutdown
62
- Legion::Logging.info('Legion::Service.shutdown was called')
63
- @shutdown = true
64
- Legion::Settings[:client][:shutting_down] = true
65
- sleep(1)
66
- Legion::Extensions.shutdown
67
- Legion::Data.shutdown
68
- Legion::Cache.shutdown
69
- Legion::Transport::Connection.shutdown
70
- Legion::Crypt.shutdown
71
- end
72
-
73
- def load_extensions
74
- require 'legion/runner'
75
- Legion::Extensions.hook_extensions
76
- end
77
- end
78
- end
@@ -1,15 +0,0 @@
1
- module Legion
2
- module Supervision
3
- class << self
4
- attr_accessor :timer_tasks
5
-
6
- def setup
7
- @timer_tasks = Concurrent::AtomicReference.new([])
8
- @once_tasks = Concurrent::AtomicReference.new([])
9
- @loop_tasks = Concurrent::AtomicReference.new([])
10
- @poll_tasks = Concurrent::AtomicReference.new([])
11
- @subscriptions = Concurrent::AtomicReference.new([])
12
- end
13
- end
14
- end
15
- end
@@ -1,3 +0,0 @@
1
- module Legion
2
- VERSION = '0.3.0'.freeze
3
- end
@@ -1,23 +0,0 @@
1
- {
2
- "client": {
3
- "keepalive": {
4
- "thresholds": {
5
- "warning": 10
6
- }
7
- }
8
- },
9
- "data": {
10
- "connection": {
11
- "max_connections": 25
12
- }
13
- },
14
- "crypt": {
15
- "vault": {
16
- "read_cluster_secret": false,
17
- "connected": false,
18
- "renewer": false,
19
- "token": "s.660l1zqqjezPhPLo71tY7dsz",
20
- "protocol": "http"
21
- }
22
- }
23
- }