3131 name : v1alpha1
3232 schema :
3333 openAPIV3Schema :
34- description : ConditionalTTL is the Schema for the conditionalttls API
34+ description : " ConditionalTTL allows one to declare a set of conditions under
35+ which a set of resources should be deleted. \n The ConditionalTTL's controller
36+ will track the statuses of its referenced Targets, periodically re-evaluating
37+ the declared conditions for deletion."
3538 properties :
3639 apiVersion :
3740 description : ' APIVersion defines the versioned schema of this representation
@@ -46,30 +49,39 @@ spec:
4649 metadata :
4750 type : object
4851 spec :
49- description : ConditionalTTLSpec defines the desired state of ConditionalTTL
52+ description : ConditionalTTLSpec represents the configuration for a ConditionalTTL
53+ object. A ConditionalTTL's specification is the union of conditions
54+ under which deletion begins and actions to be taken during it.
5055 properties :
5156 cloudEventSink :
52- description : ' TODO: validate https? protocol'
57+ description : Optional http(s) address the controller should send a
58+ [Cloud Event](https://github.com/cloudevents/spec/blob/main/cloudevents/spec.md)
59+ to after deletion takes place.
5360 type : string
5461 conditions :
62+ description : Optional list of [Common Expression Language](https://github.com/google/cel-spec)
63+ conditions which should all evaluate to true before deletion takes
64+ place.
5565 items :
5666 type : string
5767 type : array
5868 helm :
59- description : HelmConfig defines the helm release associated with the
60- targetted resources and whether the release should be deleted.
69+ description : ' Optional: Allows a ConditionalTTL to refer to and possibly
70+ delete a Helm release, usually the release responsible for creating
71+ the targets of the ConditionalTTL.'
6172 properties :
6273 delete :
6374 description : Delete specifies whether the Helm release should
64- be deleted whenever the ConditionalTTL is triggered .
75+ be deleted.
6576 type : boolean
6677 release :
67- description : Release is the Helm release name.
78+ description : The Helm Release name.
6879 type : string
6980 type : object
7081 retry :
71- description : RetryConfig defines how the controller will retry the
72- condition.
82+ description : Specifies how the controller should retry the evaluation
83+ of conditions. This field is required when the list of conditions
84+ is not empty.
7385 properties :
7486 period :
7587 description : Period defines how long the controller should wait
@@ -80,30 +92,32 @@ spec:
8092 - period
8193 type : object
8294 targets :
95+ description : List of targets the ConditionalTTL is interested in deleting
96+ or that are needed for evaluating the conditions under which deletion
97+ should take place.
8398 items :
8499 description : Target declares how to find one or more resources related
85- to the ConditionalTTL. Targets are watched in order to trigger
86- a reevaluation of the conditions and, when the ConditionalTTl
87- is triggered they might be deleted by the controller.
100+ to the ConditionalTTL, whether they should be deleted and whether
101+ they are necessary for evaluating the set of conditions.
88102 properties :
89103 delete :
90- description : Delete specifies whether this target group should
104+ description : Delete indicates whether this target group should
91105 be deleted when the ConditionalTTL is triggered.
92106 type : boolean
93107 includeWhenEvaluating :
94- description : IncludeWhenEvaluating specifies whether this target
108+ description : IncludeWhenEvaluating indicates whether this target
95109 group should be included in the CEL evaluation context.
96110 type : boolean
97111 name :
98- description : Name identifies this target group and identifies
99- the target current state when evaluating the CEL conditions.
112+ description : Name identifies this target group and is used to
113+ refer to its state when evaluating the set of conditions.
100114 The name `time` is invalid and is included by default during
101115 evaluation.
102116 pattern : ^[^t].*|t($|[^i]).*|ti($|[^m]).*|tim($|[^e]).*|time.+
103117 type : string
104118 reference :
105119 description : Reference declares how to find either a single
106- object, through its name, or a collection, through LabelSelectors .
120+ object, using its name, or a collection, using a LabelSelector .
107121 properties :
108122 apiVersion :
109123 description : ' APIVersion defines the versioned schema of
@@ -178,15 +192,15 @@ spec:
178192 type : object
179193 type : array
180194 ttl :
181- description : TTL specifies the minimum duration the target objects
182- will last
195+ description : Duration the controller should wait relative to the ConditionalTTL's
196+ CreationTime before starting deletion.
183197 format : duration
184198 type : string
185199 required :
186200 - ttl
187201 type : object
188202 status :
189- description : ConditionalTTLStatus defines the observed state of ConditionalTTL
203+ description : ConditionalTTLStatus defines the observed state of ConditionalTTL.
190204 properties :
191205 conditions :
192206 items :
@@ -265,11 +279,15 @@ spec:
265279 items :
266280 properties :
267281 delete :
282+ description : Delete matches `.spec.targets.delete` for the target
283+ identified by `name`.
268284 type : boolean
269285 includeWhenEvaluating :
286+ description : IncludeWhenEvaluating matches `.spec.targets.includeWhenEvaluating`
287+ for the target identified by `name`.
270288 type : boolean
271289 name :
272- description : Name matches the declared name on Spec.Targets .
290+ description : Name is the target name as declared on `spec.targets` .
273291 type : string
274292 state :
275293 description : State is the observed state of the target on the
0 commit comments