WorkflowSpec
spec直下の個々の属性の仕様
🟦 基本設定・全体制御に関する項目
entrypoint
Workflow の起点となるテンプレート名を指定。全体の実行開始点。
Workflow/Template両方で使える
templates
実行されるテンプレート群の定義(各ジョブ・ステップの定義本体)。
Workflow/Template両方で使える
arguments
entrypoint に渡すパラメータやアーティファクト。{{workflow.parameters.xxx}} 形式で参照される。
Workflow/Template両方で使える
Workflow/Template両方で使える
onExit
Workflow 全体の終了時に実行されるテンプレート(成功・失敗問わず必ず実行される後処理などに使う)。
Workflow/Template両方で使える
Workflow専用
suspend
trueにすると Workflow が suspend 状態になり、外部から resume されるまで実行されない。
Workflow専用
shutdown
Stop, Terminate など。実行中の Workflow をどのようにシャットダウンするか制御。
Workflow専用
🟨 Pod/リソースのスケジューリング・環境設定関連(PodSpecベース) Workflow/Template両方で使える
nodeSelector
キーバリューで特定ノードへのスケジューリングを指定。
Workflow/Template両方で使える
tolerations
Taints が付いたノードに Pod をスケジュールするための許容設定。
Workflow/Template両方で使える
hostNetwork
Pod でホストのネットワークを使用するかどうか。
Workflow/Template両方で使える
dnsPolicy, dnsConfig
DNS の解決方法、オプションの指定。
Workflow/Template両方で使える
hostAliases
/etc/hosts に追加される静的エントリを指定。
Workflow/Template両方で使える
schedulerName
使用するスケジューラの名前(デフォルトは default-scheduler)。
Workflow/Template両方で使える
securityContext
Pod レベルのセキュリティ属性(例:実行ユーザー、FSGroupなど)。
Workflow/Template両方で使える
serviceAccountName
実行される Pod が使用する Kubernetes の ServiceAccount(RBAC に影響)。
Workflow/Template両方で使える
automountServiceAccountToken
ServiceAccount のトークンを自動的にマウントするかどうか。
Workflow/Template両方で使える
podPriorityClassName, priority
スケジューラが使用する PriorityClass(Pod単位)と、コントローラによる Workflow 処理優先度。
Workflow/Template両方で使える
executor
Argo の executor コンテナ(テンプレート実行時に使われるサイドカー)に関する設定。
Workflow/Template両方で使える
podSpecPatch
PodSpec に対して strategic merge patch を適用する文字列。JSON Merge Patch 風の柔軟なカスタマイズに使える。
Workflow/Template両方で使える
podMetadata
Pod に付与されるラベルやアノテーションを設定。
Workflow/Template両方で使える
workflowMetadata
Workflow 自体に付けるメタデータ(Pod単位ではなくWorkflowオブジェクトに対するもの)。
Workflow/Template両方で使える
🟩 Podのライフサイクル管理 (Workflow専用)
artifactGC
完了した Workflow のアーティファクトを削除するかどうかの戦略。
Workflow専用
volumeClaimGC
PVC(ボリュームクレーム)の自動削除戦略。
Workflow専用
ttlStrategy
成功/失敗した Workflow を TTL に基づいて自動削除する。
Workflow専用
activeDeadlineSeconds
Workflow 全体の最大許容実行時間。超過すると強制終了される。
Workflow専用
🟥 ロギング・監視・メトリクス関連
archiveLogs
各コンテナのログをアーティファクトとして保存するかどうか。
Workflow専用
metrics
Workflow の実行に伴ってメトリクスを出力する設定。
Workflow/Template両方で使える
🟪 ボリューム関連
volumeClaimTemplates
テンプレートで使用される PVC を Workflow 開始時に自動作成。終了時に削除も可能。
Workflow/Template両方で使える
volumes
Workflow 内のテンプレートで使用可能な Volume を直接指定(ConfigMap、emptyDir など)。
Workflow/Template両方で使える
🟫 同期・並列実行に関する設定
synchronization
ミューテックス的な排他ロックの設定(特定のキーで排他実行など)。
Workflowに書かれることが多いが、Templateでも使える
📦 アーティファクト(入力/出力データ)関連
artifactRepositoryRef
使用する artifact repository(例:S3など)の設定を格納した ConfigMap を参照するためのフィールド。
Workflow専用
🧷 ライフサイクルフック
hooks
ステップの成功・失敗に関係なく実行されるフック処理。クリーンアップや通知などに使う。
Workflow/Template両方で使える