1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
//! K8s-style resource model.
//!
//! ```text
//! ┌─────────────────────────────────────────────────────────┐
//! │ Task │
//! │ │
//! │ ObjectMeta TaskSpec TaskStatus │
//! │ ├─ id: TaskId ├─ slot ├─ phase │
//! │ ├─ resource_version ├─ kind ├─ attempt │
//! │ ├─ created_at ├─ timeout ├─ error │
//! │ └─ updated_at ├─ restart └─ exit_code │
//! │ ├─ backoff │
//! │ ├─ admission │
//! │ ├─ runner_selector │
//! │ └─ labels │
//! └─────────────────────────────────────────────────────────┘
//! ```
//!
//! | Type | Role |
//! |---------------------|-----------------------------------------------------|
//! | [`Task`] | Top-level resource = metadata + spec + status |
//! | [`ObjectMeta`] | Identity, versioning, timestamps |
//! | [`TaskSpec`] | Desired state - what to run, how to supervise |
//! | [`TaskSpecBuilder`] | Validated builder for [`TaskSpec`] |
//! | [`TaskRun`] | Record of a single task execution attempt |
//! | [`TaskStatus`] | Observed state - phase, attempt count, last error |
pub use ;
pub use ObjectMeta;
pub use TaskStatus;
pub use Task;
pub use TaskRun;