Module: HybridPlatformsConductor::Deployer::ConfigDSLExtension
- Defined in:
- lib/hybrid_platforms_conductor/deployer.rb
Overview
Extend the Config DSL
Instance Attribute Summary collapse
-
#deployment_logs ⇒ Object
readonly
List of log plugins.
-
#packaging_timeout_secs ⇒ Object
readonly
Integer: Timeout (in seconds) for packaging repositories.
-
#retriable_errors ⇒ Object
readonly
List of retriable errors.
-
#secrets_readers ⇒ Object
readonly
List of secrets reader plugins.
Instance Method Summary collapse
-
#init_deployer_config ⇒ Object
Mixin initializer.
-
#packaging_timeout(packaging_timeout_secs) ⇒ Object
Set the packaging timeout.
-
#read_secrets_from(*secrets_readers) ⇒ Object
Set the secrets readers.
-
#retry_deploy_for_errors_on_stderr(errors) ⇒ Object
Mark some errors on stderr to be retriable during a deploy.
-
#retry_deploy_for_errors_on_stdout(errors) ⇒ Object
Mark some errors on stdout to be retriable during a deploy.
-
#send_logs_to(*log_plugins) ⇒ Object
Set the deployment log plugins to be used.
Instance Attribute Details
#deployment_logs ⇒ Object (readonly)
List of log plugins. Each info has the following properties:
-
nodes_selectors_stack (Array<Object>): Stack of nodes selectors impacted by this rule.
-
log_plugins (Array<Symbol>): List of log plugins to be used to store deployment logs.
Array< Hash<Symbol, Object> >
32 33 34 |
# File 'lib/hybrid_platforms_conductor/deployer.rb', line 32 def deployment_logs @deployment_logs end |
#packaging_timeout_secs ⇒ Object (readonly)
Integer: Timeout (in seconds) for packaging repositories
41 42 43 |
# File 'lib/hybrid_platforms_conductor/deployer.rb', line 41 def packaging_timeout_secs @packaging_timeout_secs end |
#retriable_errors ⇒ Object (readonly)
List of retriable errors. Each info has the following properties:
-
nodes_selectors_stack (Array<Object>): Stack of nodes selectors impacted by those errors
-
errors_on_stdout (Array<String or Regexp>): List of errors match (as exact string match or using a regexp) to check against stdout
-
errors_on_stderr (Array<String or Regexp>): List of errors match (as exact string match or using a regexp) to check against stderr
26 27 28 |
# File 'lib/hybrid_platforms_conductor/deployer.rb', line 26 def retriable_errors @retriable_errors end |
#secrets_readers ⇒ Object (readonly)
List of secrets reader plugins. Each info has the following properties:
-
nodes_selectors_stack (Array<Object>): Stack of nodes selectors impacted by this rule.
-
secrets_readers (Array<Symbol>): List of log plugins to be used to store deployment logs.
Array< Hash<Symbol, Object> >
38 39 40 |
# File 'lib/hybrid_platforms_conductor/deployer.rb', line 38 def secrets_readers @secrets_readers end |
Instance Method Details
#init_deployer_config ⇒ Object
Mixin initializer
44 45 46 47 48 49 50 51 52 53 |
# File 'lib/hybrid_platforms_conductor/deployer.rb', line 44 def init_deployer_config @packaging_timeout_secs = 60 # List of retriable errors. Each info has the following properties: # * *nodes_selectors_stack* (Array<Object>): Stack of nodes selectors impacted by those errors # * *errors_on_stdout* (Array<String or Regexp>): List of errors match (as exact string match or using a regexp) to check against stdout # * *errors_on_stderr* (Array<String or Regexp>): List of errors match (as exact string match or using a regexp) to check against stderr @retriable_errors = [] @deployment_logs = [] @secrets_readers = [] end |
#packaging_timeout(packaging_timeout_secs) ⇒ Object
Set the packaging timeout
- Parameters
-
packaging_timeout_secs (Integer): The packaging timeout, in seconds
59 60 61 |
# File 'lib/hybrid_platforms_conductor/deployer.rb', line 59 def packaging_timeout(packaging_timeout_secs) @packaging_timeout_secs = packaging_timeout_secs end |
#read_secrets_from(*secrets_readers) ⇒ Object
Set the secrets readers
- Parameters
-
secrets_readers (Symbol or Array<Symbol>): The list of (or single) secrets readers plugins to be used
100 101 102 103 104 105 |
# File 'lib/hybrid_platforms_conductor/deployer.rb', line 100 def read_secrets_from(*secrets_readers) @secrets_readers << { nodes_selectors_stack: current_nodes_selectors_stack, secrets_readers: secrets_readers.flatten } end |
#retry_deploy_for_errors_on_stderr(errors) ⇒ Object
Mark some errors on stderr to be retriable during a deploy
- Parameters
-
errors (String, Regexp or Array<String or Regexp>): Single (or list of) errors matching pattern (either as exact string match or using a regexp).
78 79 80 81 82 83 |
# File 'lib/hybrid_platforms_conductor/deployer.rb', line 78 def retry_deploy_for_errors_on_stderr(errors) @retriable_errors << { errors_on_stderr: errors.is_a?(Array) ? errors : [errors], nodes_selectors_stack: current_nodes_selectors_stack } end |
#retry_deploy_for_errors_on_stdout(errors) ⇒ Object
Mark some errors on stdout to be retriable during a deploy
- Parameters
-
errors (String, Regexp or Array<String or Regexp>): Single (or list of) errors matching pattern (either as exact string match or using a regexp).
67 68 69 70 71 72 |
# File 'lib/hybrid_platforms_conductor/deployer.rb', line 67 def retry_deploy_for_errors_on_stdout(errors) @retriable_errors << { errors_on_stdout: errors.is_a?(Array) ? errors : [errors], nodes_selectors_stack: current_nodes_selectors_stack } end |
#send_logs_to(*log_plugins) ⇒ Object
Set the deployment log plugins to be used
- Parameters
-
log_plugins (Symbol or Array<Symbol>): The list of (or single) log plugins to be used
89 90 91 92 93 94 |
# File 'lib/hybrid_platforms_conductor/deployer.rb', line 89 def send_logs_to(*log_plugins) @deployment_logs << { nodes_selectors_stack: current_nodes_selectors_stack, log_plugins: log_plugins.flatten } end |