Exporter

jumpstarter.dev/v1alpha1

Exporter is the Schema for the exporters API

Spec

Field

Type

Description

spec.enabled

boolean

Enabled controls whether this exporter is eligible for lease assignment. When set to false, the controller will not assign new leases to this exporter. Useful for temporarily taking an exporter offline for maintenance without deleting it, or for graceful scale-down of virtual exporter pools. (default: True)

spec.username

string

Username is the identity of the exporter, used for authentication and authorization.

Status

Field

Type

Description

status.conditions

array

Conditions represent the latest available observations of the exporter 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.credential

object

Credential is a reference to the secret containing the exporter credentials.

status.credential.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.devices

array

Devices is the list of driver instances currently reported by the exporter.

status.devices[].labels

object

Labels are key-value pairs associated with the device.

status.devices[].parent_uuid

string

ParentUuid is the UUID of the parent device, if this is a child device.

status.devices[].uuid

string

Uuid is the unique identifier of the device within the exporter.

status.endpoint

string

Endpoint is the gRPC endpoint URL where the exporter is reachable.

status.exporterStatus

Unspecified | Offline | Available | BeforeLeaseHook | LeaseReady | AfterLeaseHook | BeforeLeaseHookFailed | AfterLeaseHookFailed

ExporterStatusValue is the current operational status reported by the exporter

status.lastSeen

string

LastSeen is the timestamp of the last communication from the exporter.

status.leaseHooks

object

LeaseHooks records how far the exporter got with the lifecycle hooks of its latest lease. It survives exporter restarts, so a restarted exporter neither repeats a finished beforeLease hook nor skips an owed afterLease hook. It is dropped when an exporter that does not record its lease hooks registers.

status.leaseHooks.afterLease

object

AfterLease is the afterLease hook’s state; unset until it starts.

status.leaseHooks.afterLease.attempts

integer

Attempts counts the times the hook was started; more than one means it was re-run after an exporter restart cut it off.

status.leaseHooks.afterLease.lastTransitionTime

string

LastTransitionTime is when the hook entered its current phase.

status.leaseHooks.afterLease.message

string

Message is the failure or skip reason, if any.

status.leaseHooks.afterLease.onFailure

warn | endLease | exit

OnFailure is the hook’s configured failure action when it ran.

status.leaseHooks.afterLease.phase

Running | Succeeded | Failed | Skipped

Phase of the hook. Running also covers a hook cut off by an exporter restart.

status.leaseHooks.beforeLease

object

BeforeLease is the beforeLease hook’s state; unset until it starts.

status.leaseHooks.beforeLease.attempts

integer

Attempts counts the times the hook was started; more than one means it was re-run after an exporter restart cut it off.

status.leaseHooks.beforeLease.lastTransitionTime

string

LastTransitionTime is when the hook entered its current phase.

status.leaseHooks.beforeLease.message

string

Message is the failure or skip reason, if any.

status.leaseHooks.beforeLease.onFailure

warn | endLease | exit

OnFailure is the hook’s configured failure action when it ran.

status.leaseHooks.beforeLease.phase

Running | Succeeded | Failed | Skipped

Phase of the hook. Running also covers a hook cut off by an exporter restart.

status.leaseHooks.clientName

string

ClientName is the client that held the lease. An afterLease hook that runs after the lease has ended (for example after an exporter restart) gets it.

status.leaseHooks.leaseRef

object

LeaseRef is the lease the hooks belong to.

status.leaseHooks.leaseRef.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.leaseHooks.leaseUID

string

LeaseUID is the UID of that lease. A lease name can be reused once the lease is deleted, so the name alone does not identify it.

status.leaseRef

object

LeaseRef is a reference to the lease currently assigned to this exporter.

status.leaseRef.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.recordsLeaseHooks

boolean

RecordsLeaseHooks is set when the exporter process that last registered records its lease hooks. Such an exporter is not assigned a new lease while its record owes an afterLease hook, whatever status it reports.

status.statusMessage

string

StatusMessage is an optional human-readable message describing the current state

status.tokenExpiresAt

string

TokenExpiresAt is the expiry time of the internal credential token.