legionio 0.3.0 → 0.3.5

Sign up to get free protection for your applications and to get access to all the features.
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
- }