Class: Captive::OneOffSpec
- Inherits:
-
Object
- Object
- Captive::OneOffSpec
- Defined in:
- lib/captive/one_off_spec.rb
Overview
Construit le manifeste Job one-off à partir du Deployment web courant.
Labels app:
Toujours un Job, même pour la console interactive : ttlSecondsAfterFinished laisse vivre le pod terminé — donc son log — quelques minutes après la sortie, ce qu'un Pod nu ne sait pas faire (pas de TTL sur un Pod).
Constant Summary collapse
- CONTAINER_NAME =
"one-off"- CONSOLE_DEADLINE_SECONDS =
4 * 3600
- RUN_DEADLINE_SECONDS =
3600- TTL_SECONDS =
600- PRODUCTION_NODE_AFFINITY =
{ "nodeAffinity" => { "requiredDuringSchedulingIgnoredDuringExecution" => { "nodeSelectorTerms" => [ { "matchExpressions" => [ { "key" => "captive.dev/workload", "operator" => "In", "values" => [ "production" ], }, ], }, ], }, }, }.freeze
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(app:, deployment:, command:, interactive: false, session: nil) ⇒ OneOffSpec
constructor
A new instance of OneOffSpec.
- #to_h ⇒ Object
Constructor Details
#initialize(app:, deployment:, command:, interactive: false, session: nil) ⇒ OneOffSpec
Returns a new instance of OneOffSpec.
34 35 36 37 38 39 40 |
# File 'lib/captive/one_off_spec.rb', line 34 def initialize(app:, deployment:, command:, interactive: false, session: nil) @app = app @deployment = deployment @command = Array(command) @interactive = interactive @session = session end |
Class Method Details
.live_logs_selector(app) ⇒ Object
48 49 50 |
# File 'lib/captive/one_off_spec.rb', line 48 def self.live_logs_selector(app) "app in (#{app},#{run_app_label(app)})" end |
.run_app_label(app) ⇒ Object
44 45 46 |
# File 'lib/captive/one_off_spec.rb', line 44 def self.run_app_label(app) "#{app}-run" end |
Instance Method Details
#to_h ⇒ Object
42 |
# File 'lib/captive/one_off_spec.rb', line 42 def to_h = job_manifest |