Lease

jumpstarter.dev/v1alpha1

Lease is the Schema for the leases API

Spec

Field

Type

Description

spec.allowDisabled

boolean

AllowDisabled permits leasing a disabled exporter when used with ExporterRef. When true and ExporterRef is set, the controller will allow leasing an exporter even if its spec.enabled field is false. This is useful for investigating broken exporters that have been administratively disabled. Ignored for selector-based leases (disabled exporters are always filtered out).

spec.beginTime

string

Requested start time. If omitted, lease starts when exporter is acquired. Immutable after lease starts (cannot change the past).

spec.clientRef

object

The client that is requesting the lease

spec.clientRef.name

string

Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names (default: ``)

spec.context

object

User-defined context metadata for the lease (e.g. build_id, image_digest, VCS ref). Immutable after creation. Maximum 8 entries; keys max 32 chars, values max 64 chars.

spec.duration

string

Duration of the lease. Must be positive when provided. Can be omitted (nil) when both BeginTime and EndTime are provided, in which case it’s calculated as EndTime - BeginTime.

spec.endTime

string

Requested end time. If specified with BeginTime, Duration is calculated. Can be updated to extend or shorten active leases.

spec.exporterRef

object

Optionally pin this lease to a specific exporter name.

spec.exporterRef.name

string

Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names (default: ``)

spec.release

boolean

The release flag requests the controller to end the lease now

spec.selector

object

The selector for the exporter to be used (default: {})

spec.selector.matchExpressions

array

matchExpressions is a list of label selector requirements. The requirements are ANDed.

spec.selector.matchLabels

object

matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is “key”, the operator is “In”, and the values array contains only “value”. The requirements are ANDed.

spec.sharedWith

array

List of client names that have shared access to this lease. Only the lease owner can modify this list.

spec.tags

object

User-defined tags for the lease. Immutable after creation. Maximum 10 entries. Keys must be simple names (no slashes) conforming to Kubernetes label rules.

Status

Field

Type

Description

status.beginTime

string

BeginTime is the actual start time of the lease.

status.conditions

array

Conditions represent the latest available observations of the lease state.

status.conditions[].lastTransitionTime

string

lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.

status.conditions[].message

string

message is a human readable message indicating details about the transition. This may be an empty string.

status.conditions[].observedGeneration

integer

observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.

status.conditions[].reason

string

reason contains a programmatic identifier indicating the reason for the condition’s last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.

status.conditions[].status

True | False | Unknown

status of the condition, one of True, False, Unknown.

status.conditions[].type

string

type of condition in CamelCase or in foo.example.com/CamelCase.

status.endTime

string

EndTime is the actual end time of the lease.

status.ended

boolean

Ended indicates whether the lease has been terminated.

status.exporterRef

object

ExporterRef is a reference to the exporter assigned to this lease.

status.exporterRef.name

string

Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names (default: ``)

status.priority

integer

Priority is the effective priority of the lease from the access policy.

status.sharedWith

array

SharedWith is the effective set of client names granted shared access to this lease. It is derived by the controller from Spec.SharedWith after evaluating exporter access policies; Spec.SharedWith remains the owner’s desired intent and is never mutated by the controller.

status.spotAccess

boolean

SpotAccess indicates whether this lease was granted with spot (preemptible) access.