Module: Legion::Extensions::Node::Runners::Crypt
- Includes:
- Helpers::Lex
- Defined in:
- lib/legion/extensions/node/runners/crypt.rb
Class Method Summary collapse
Instance Method Summary collapse
- #delete_public_key(name:, **_opts) ⇒ Object
- #push_cluster_secret(public_key:, queue_name:, **_opts) ⇒ Object
- #push_public_key(**_opts) ⇒ Object
- #receive_cluster_secret(message:, **opts) ⇒ Object
- #request_cluster_secret(**_opts) ⇒ Object
- #request_public_keys(**_opts) ⇒ Object
Class Method Details
.update_public_key(name:, public_key:, **_opts) ⇒ Object
12 13 14 15 16 |
# File 'lib/legion/extensions/node/runners/crypt.rb', line 12 def self.update_public_key(name:, public_key:, **_opts) log.debug 'update_public_key' Legion::Settings[:cluster][:public_keys][name] = public_key {} end |
Instance Method Details
#delete_public_key(name:, **_opts) ⇒ Object
18 19 20 21 22 |
# File 'lib/legion/extensions/node/runners/crypt.rb', line 18 def delete_public_key(name:, **_opts) log.debug 'delete_public_key' Legion::Settings[:cluster][:public_keys].delete(name) {} end |
#push_cluster_secret(public_key:, queue_name:, **_opts) ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/legion/extensions/node/runners/crypt.rb', line 37 def push_cluster_secret(public_key:, queue_name:, **_opts) log.debug 'push_cluster_secret' return {} unless Legion::Settings[:crypt][:cs_encrypt_ready] encrypted = Legion::Crypt.encrypt_from_keypair(pub_key: public_key, message: Legion::Settings[:crypt][:cluster_secret].to_s) legion = Legion::Crypt.encrypt('legion') Legion::Extensions::Node::Transport::Messages::PushClusterSecret.new(message: encrypted, queue_name: queue_name, validation_string: 'legion', encrypted_string: legion).publish {} end |
#push_public_key(**_opts) ⇒ Object
3 4 5 6 7 8 9 10 |
# File 'lib/legion/extensions/node/runners/crypt.rb', line 3 def push_public_key(**_opts) log.debug 'push_public_key' = { function: 'update_public_key', public_key: Base64.encode64(Legion::Crypt.public_key), **Legion::Settings[:client] } Legion::Extensions::Node::Transport::Messages::PublicKey.new().publish {} end |
#receive_cluster_secret(message:, **opts) ⇒ Object
51 52 53 54 55 56 57 |
# File 'lib/legion/extensions/node/runners/crypt.rb', line 51 def receive_cluster_secret(message:, **opts) log.debug 'receive_cluster_secret' Legion::Settings[:crypt][:cluster_secret] = Legion::Crypt.decrypt_from_keypair() Legion::Settings[:crypt][:encrypted_string] = opts[:encrypted_string] Legion::Settings[:crypt][:validation_string] = opts[:validation_string] {} end |
#request_cluster_secret(**_opts) ⇒ Object
31 32 33 34 35 |
# File 'lib/legion/extensions/node/runners/crypt.rb', line 31 def request_cluster_secret(**_opts) log.debug 'request_cluster_secret' Legion::Transport::Messages::RequestClusterSecret.new.publish {} end |
#request_public_keys(**_opts) ⇒ Object
24 25 26 27 28 29 |
# File 'lib/legion/extensions/node/runners/crypt.rb', line 24 def request_public_keys(**_opts) log.debug 'request_public_keys' = { function: 'push_public_key' } Legion::Extensions::Node::Transport::Messages::RequestPublicKeys.new().publish {} end |