Skip to content

Commit 79da4d2

Browse files
mliptak0claude
andcommitted
HYPERFLEET-1024 - chore: merge upstream/main
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2 parents 4bab831 + 6f87b76 commit 79da4d2

14 files changed

Lines changed: 126 additions & 97 deletions

File tree

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1919

2020
- Release workflow now triggers automatically on push to main instead of requiring a manual tag push; auto-creates annotated tag from version in `main.tsp` and attaches all four schema artifacts (`core-openapi.yaml`, `core-swagger.yaml`, `gcp-openapi.yaml`, `gcp-swagger.yaml`)
2121
- Bumped `actions/checkout` and `actions/setup-node` to v6
22+
- Renamed aggregated condition `Available` to `LastKnownReconciled` in cluster and nodepool status conditions (HYPERFLEET-1017)
23+
- Updated condition examples and descriptions to reflect `LastKnownReconciled` semantics
24+
- Fixed typo `Avaliable``Available` in adapter example constants (HYPERFLEET-971)
25+
- Improved README.md structure to align with HyperFleet documentation standards
2226

2327
### Fixed
2428

aliases.tsp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
aliases-core.tsp
1+
aliases-gcp.tsp

models-core/cluster/example_cluster.tsp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,10 @@ const exampleCluster: Cluster = #{
3333
last_transition_time: "2021-01-01T10:00:00Z",
3434
},
3535
#{
36-
type: ConditionType.Available,
36+
type: ConditionType.LastKnownReconciled,
3737
status: ResourceConditionStatus.True,
38-
reason: ExampleAvailableReason,
39-
message: ExampleAvailableMessage,
38+
reason: ExampleLastKnownReconciledReason,
39+
message: ExampleLastKnownReconciledMessage,
4040
observed_generation: 1,
4141
created_time: "2021-01-01T10:00:00Z",
4242
last_updated_time: "2021-01-01T10:00:00Z",
@@ -101,10 +101,10 @@ const exampleDeletedCluster: Cluster = #{
101101
last_transition_time: "2021-01-01T10:00:00Z",
102102
},
103103
#{
104-
type: ConditionType.Available,
104+
type: ConditionType.LastKnownReconciled,
105105
status: ResourceConditionStatus.True,
106-
reason: ExampleAvailableReason,
107-
message: ExampleAvailableMessage,
106+
reason: ExampleLastKnownReconciledReason,
107+
message: ExampleLastKnownReconciledMessage,
108108
observed_generation: 2,
109109
created_time: "2021-01-01T10:00:00Z",
110110
last_updated_time: "2021-01-01T10:00:00Z",

models-core/nodepool/example_nodepool.tsp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,10 @@ const exampleNodePool: NodePool = #{
3838
last_transition_time: "2021-01-01T10:00:00Z",
3939
},
4040
#{
41-
type: ConditionType.Available,
41+
type: ConditionType.LastKnownReconciled,
4242
status: ResourceConditionStatus.True,
43-
reason: ExampleAvailableReason,
44-
message: ExampleAvailableMessage,
43+
reason: ExampleLastKnownReconciledReason,
44+
message: ExampleLastKnownReconciledMessage,
4545
observed_generation: 1,
4646
created_time: "2021-01-01T10:00:00Z",
4747
last_updated_time: "2021-01-01T10:00:00Z",
@@ -111,10 +111,10 @@ const exampleDeletedNodePool: NodePool = #{
111111
last_transition_time: "2021-01-01T10:00:00Z",
112112
},
113113
#{
114-
type: ConditionType.Available,
114+
type: ConditionType.LastKnownReconciled,
115115
status: ResourceConditionStatus.True,
116-
reason: ExampleAvailableReason,
117-
message: ExampleAvailableMessage,
116+
reason: ExampleLastKnownReconciledReason,
117+
message: ExampleLastKnownReconciledMessage,
118118
observed_generation: 2,
119119
created_time: "2021-01-01T10:00:00Z",
120120
last_updated_time: "2021-01-01T10:00:00Z",

models-gcp/cluster/example_cluster.tsp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,10 @@ const exampleCluster: Cluster = #{
5555
last_transition_time: "2021-01-01T10:00:00Z",
5656
},
5757
#{
58-
type: ConditionType.Available,
58+
type: ConditionType.LastKnownReconciled,
5959
status: ResourceConditionStatus.True,
60-
reason: ExampleAvailableReason,
61-
message: ExampleAvailableMessage,
60+
reason: ExampleLastKnownReconciledReason,
61+
message: ExampleLastKnownReconciledMessage,
6262
observed_generation: 1,
6363
created_time: "2021-01-01T10:00:00Z",
6464
last_updated_time: "2021-01-01T10:00:00Z",
@@ -145,10 +145,10 @@ const exampleDeletedCluster: Cluster = #{
145145
last_transition_time: "2021-01-01T10:00:00Z",
146146
},
147147
#{
148-
type: ConditionType.Available,
148+
type: ConditionType.LastKnownReconciled,
149149
status: ResourceConditionStatus.True,
150-
reason: ExampleAvailableReason,
151-
message: ExampleAvailableMessage,
150+
reason: ExampleLastKnownReconciledReason,
151+
message: ExampleLastKnownReconciledMessage,
152152
observed_generation: 2,
153153
created_time: "2021-01-01T10:00:00Z",
154154
last_updated_time: "2021-01-01T10:00:00Z",

models-gcp/nodepool/example_nodepool.tsp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,10 @@ const exampleNodePool: NodePool = #{
6060
last_transition_time: "2021-01-01T10:00:00Z",
6161
},
6262
#{
63-
type: ConditionType.Available,
63+
type: ConditionType.LastKnownReconciled,
6464
status: ResourceConditionStatus.True,
65-
reason: ExampleAvailableReason,
66-
message: ExampleAvailableMessage,
65+
reason: ExampleLastKnownReconciledReason,
66+
message: ExampleLastKnownReconciledMessage,
6767
observed_generation: 1,
6868
created_time: "2021-01-01T10:00:00Z",
6969
last_updated_time: "2021-01-01T10:00:00Z",
@@ -155,10 +155,10 @@ const exampleDeletedNodePool: NodePool = #{
155155
last_transition_time: "2021-01-01T10:00:00Z",
156156
},
157157
#{
158-
type: ConditionType.Available,
158+
type: ConditionType.LastKnownReconciled,
159159
status: ResourceConditionStatus.True,
160-
reason: ExampleAvailableReason,
161-
message: ExampleAvailableMessage,
160+
reason: ExampleLastKnownReconciledReason,
161+
message: ExampleLastKnownReconciledMessage,
162162
observed_generation: 2,
163163
created_time: "2021-01-01T10:00:00Z",
164164
last_updated_time: "2021-01-01T10:00:00Z",

models/clusters/model.tsp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ model ClusterStatus {
3535
* **Mandatory conditions**:
3636
* - `type: "Ready"` *(deprecated — use Reconciled)*: Whether all adapters report successfully at the current generation.
3737
* - `type: "Reconciled"`: Whether the resource's desired state has been fully reconciled by all adapters at the current generation.
38-
* - `type: "Available"`: Aggregated adapter result for a common observed_generation.
38+
* - `type: "LastKnownReconciled"`: Sticky cross-generation condition — stays True as long as all required adapters were reconciled at a common observed generation, even if a newer generation is being processed.
3939
*
4040
* These conditions are present immediately upon resource creation.
4141
*/

models/common/model.tsp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,8 @@ union ConditionType {
177177
string,
178178
Available: "Available",
179179
Ready: "Ready",
180-
Reconciled: "Reconciled"
180+
Reconciled: "Reconciled",
181+
LastKnownReconciled: "LastKnownReconciled"
181182
}
182183

183184
/**
@@ -243,8 +244,8 @@ model ResourceCondition {
243244
@format("date-time") last_updated_time: string;
244245
}
245246

246-
const ExampleAvailableReason: string = "All adapters reported Available True for the same generation";
247-
const ExampleAvailableMessage: string = "All adapters reported Available True for the same generation";
247+
const ExampleLastKnownReconciledReason: string = "All required adapters were reconciled at a common observed generation";
248+
const ExampleLastKnownReconciledMessage: string = "All required adapters were reconciled at a common observed generation";
248249
const ExampleReadyReason: string = "All adapters reported Available=True for the current generation";
249250
const ExampleReadyMessage: string = "All adapters reported Available=True for the current generation";
250251
const ExampleReconciledReason: string = "All required adapters reported Available=True or Finalized=True at the current generation";

models/nodepools/model.tsp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ model NodePoolStatus {
3232
* **Mandatory conditions**:
3333
* - `type: "Ready"` *(deprecated — use Reconciled)*: Whether all adapters report successfully at the current generation.
3434
* - `type: "Reconciled"`: Whether the resource's desired state has been fully reconciled by all adapters at the current generation.
35-
* - `type: "Available"`: Aggregated adapter result for a common observed_generation.
35+
* - `type: "LastKnownReconciled"`: Sticky cross-generation condition — stays True as long as all required adapters were reconciled at a common observed generation, even if a newer generation is being processed.
3636
*
3737
* These conditions are present immediately upon resource creation.
3838
*/

schemas/core/openapi.yaml

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ paths:
5050
5151
**Note**: The `status` object in the response is read-only and computed by the service.
5252
It is NOT part of the request body. Initially,
53-
status.conditions will include mandatory "Available", "Ready" and "Reconciled" conditions.
53+
status.conditions will include mandatory "LastKnownReconciled", "Ready" and "Reconciled" conditions.
5454
parameters: []
5555
responses:
5656
'201':
@@ -189,10 +189,10 @@ paths:
189189
created_time: '2021-01-01T10:00:00Z'
190190
last_updated_time: '2021-01-01T10:00:00Z'
191191
last_transition_time: '2021-01-01T10:00:00Z'
192-
- type: Available
192+
- type: LastKnownReconciled
193193
status: 'True'
194-
reason: All adapters reported Available True for the same generation
195-
message: All adapters reported Available True for the same generation
194+
reason: All required adapters were reconciled at a common observed generation
195+
message: All required adapters were reconciled at a common observed generation
196196
observed_generation: 2
197197
created_time: '2021-01-01T10:00:00Z'
198198
last_updated_time: '2021-01-01T10:00:00Z'
@@ -394,10 +394,10 @@ paths:
394394
created_time: '2021-01-01T10:00:00Z'
395395
last_updated_time: '2021-01-01T10:00:00Z'
396396
last_transition_time: '2021-01-01T10:00:00Z'
397-
- type: Available
397+
- type: LastKnownReconciled
398398
status: 'True'
399-
reason: All adapters reported Available True for the same generation
400-
message: All adapters reported Available True for the same generation
399+
reason: All required adapters were reconciled at a common observed generation
400+
message: All required adapters were reconciled at a common observed generation
401401
observed_generation: 2
402402
created_time: '2021-01-01T10:00:00Z'
403403
last_updated_time: '2021-01-01T10:00:00Z'
@@ -1146,10 +1146,10 @@ components:
11461146
created_time: '2021-01-01T10:00:00Z'
11471147
last_updated_time: '2021-01-01T10:00:00Z'
11481148
last_transition_time: '2021-01-01T10:00:00Z'
1149-
- type: Available
1149+
- type: LastKnownReconciled
11501150
status: 'True'
1151-
reason: All adapters reported Available True for the same generation
1152-
message: All adapters reported Available True for the same generation
1151+
reason: All required adapters were reconciled at a common observed generation
1152+
message: All required adapters were reconciled at a common observed generation
11531153
observed_generation: 1
11541154
created_time: '2021-01-01T10:00:00Z'
11551155
last_updated_time: '2021-01-01T10:00:00Z'
@@ -1270,7 +1270,7 @@ components:
12701270
**Mandatory conditions**:
12711271
- `type: "Ready"` *(deprecated — use Reconciled)*: Whether all adapters report successfully at the current generation.
12721272
- `type: "Reconciled"`: Whether the resource's desired state has been fully reconciled by all adapters at the current generation.
1273-
- `type: "Available"`: Aggregated adapter result for a common observed_generation.
1273+
- `type: "LastKnownReconciled"`: Sticky cross-generation condition — stays True as long as all required adapters were reconciled at a common observed generation, even if a newer generation is being processed.
12741274
12751275
These conditions are present immediately upon resource creation.
12761276
description: |-
@@ -1445,10 +1445,10 @@ components:
14451445
created_time: '2021-01-01T10:00:00Z'
14461446
last_updated_time: '2021-01-01T10:00:00Z'
14471447
last_transition_time: '2021-01-01T10:00:00Z'
1448-
- type: Available
1448+
- type: LastKnownReconciled
14491449
status: 'True'
1450-
reason: All adapters reported Available True for the same generation
1451-
message: All adapters reported Available True for the same generation
1450+
reason: All required adapters were reconciled at a common observed generation
1451+
message: All required adapters were reconciled at a common observed generation
14521452
observed_generation: 1
14531453
created_time: '2021-01-01T10:00:00Z'
14541454
last_updated_time: '2021-01-01T10:00:00Z'
@@ -1636,7 +1636,7 @@ components:
16361636
**Mandatory conditions**:
16371637
- `type: "Ready"` *(deprecated — use Reconciled)*: Whether all adapters report successfully at the current generation.
16381638
- `type: "Reconciled"`: Whether the resource's desired state has been fully reconciled by all adapters at the current generation.
1639-
- `type: "Available"`: Aggregated adapter result for a common observed_generation.
1639+
- `type: "LastKnownReconciled"`: Sticky cross-generation condition — stays True as long as all required adapters were reconciled at a common observed generation, even if a newer generation is being processed.
16401640
16411641
These conditions are present immediately upon resource creation.
16421642
description: |-

0 commit comments

Comments
 (0)