Reservation
A Reservation gives one holder the use of one Telescope. Activation runs when spec.start arrives, or at once with no start. Deactivation runs when spec.end arrives, or when the Reservation is deleted, and it runs the deactivation procedures, such as parking the mount, warming the cameras, and closing the dust caps, before it stops the pods. status.steps lists every step and its state.
spec
The telescope, the holder, and the times.
| Field | Type | Required | Description |
|---|---|---|---|
telescope |
string | yes | The name of the Telescope to reserve. It cannot change after the reservation is created. Pattern: ^[a-z0-9]([-a-z0-9.]*[a-z0-9])?$. |
holder |
string | yes | Who uses the telescope: a person’s desktop client, or a Session of astrophotography-operator. |
start |
string | no | When activation begins, as an RFC 3339 time. Optional. With no start, activation begins when the reservation is created. |
end |
string | no | When deactivation begins, as an RFC 3339 time. Optional. With no end, the reservation lasts until it is deleted. |
status
What the operator observes. The operator writes it, and a person reads it.
| Field | Type | Required | Description |
|---|---|---|---|
observedGeneration |
integer | no | The metadata.generation of the spec that the operator last acted on. |
phase |
string | no | The reservation’s state in one word. Scheduled: waiting for spec.start. Activating: the activation steps run. Ready: the telescope is ready, and endpoint names its server. Deactivating: the deactivation steps run. Released: the deactivation steps are done, and the devices are safe to power off. Failed: a step failed, and the Ready condition names it. One of: Scheduled, Activating, Ready, Deactivating, Released, Failed. |
step |
string | no | The step that runs now, or the step that failed. It is empty while the phase is Ready or Released. One of: Wait, StartSite, PowerOn, StartDevices, Connect, Configure, Activation, StartGuider, Abort, Deactivation, StopGuider, Disconnect, StopDevices, PowerOff, StopSite. |
steps |
[]object | no | Every step, in the order it runs. The activation steps are Wait, StartSite, PowerOn, StartDevices, Connect, Configure, Activation, and StartGuider, and the list holds them from the start. The deactivation steps are Abort, Deactivation, StopGuider, Disconnect, StopDevices, PowerOff, and StopSite, and the list holds them from when deactivation begins. A step starts only when the step before it is Done or Skipped. |
endpoint |
object | no | The telescope’s INDI server, while the phase is Ready. KStars connects to its host and port. |
conditions |
[]object | no | Ready is True while the phase is Ready, so kubectl wait --for=condition=Ready waits for the telescope. When a step fails, it is False and its message names the step and the device. SafeToPowerOff is True when the deactivation steps are done. |
status.steps[]
One step.
| Field | Type | Required | Description |
|---|---|---|---|
name |
string | yes | The step’s name. One of: Wait, StartSite, PowerOn, StartDevices, Connect, Configure, Activation, StartGuider, Abort, Deactivation, StopGuider, Disconnect, StopDevices, PowerOff, StopSite. |
state |
string | yes | The step’s progress: Pending, Running, Done, Failed, or Skipped when it has nothing to do. One of: Pending, Running, Done, Failed, Skipped. |
startTime |
string | no | When the step began to run. |
stopTime |
string | no | When the step ended. |
summary |
string | no | What the step waits for or did. It names the device when one device holds the step up. |
actions |
[]object | no | The actions of the procedures that the Activation or Deactivation step waited on, each with the resource it belongs to. The resource’s status.procedures holds the same record. |
status.steps[].actions[]
One action of one resource.
| Field | Type | Required | Description |
|---|---|---|---|
kind |
string | yes | The kind of the resource. |
name |
string | yes | The name of the resource. |
action |
string | yes | The action as its YAML reads, such as state: Parked or cool: -10 °C within 0.5 °C. |
state |
string | yes | The action’s progress: Pending, Running, Done, Failed, or Skipped when it had nothing to do. One of: Pending, Running, Done, Failed, Skipped. |
startTime |
string | no | When the action began to run. |
stopTime |
string | no | When the action ended. |
summary |
string | no | What the action waits for or did. |
status.endpoint
The telescope’s INDI server, while the phase is Ready. KStars connects to its host and port.
| Field | Type | Required | Description |
|---|---|---|---|
service |
string | yes | The name of the server’s Service. |
host |
string | yes | The Service’s DNS name in the cluster. |
port |
integer | yes | The INDI port of the Service, 7624. |
status.conditions[]
One condition, in the shape of metav1.Condition.
| Field | Type | Required | Description |
|---|---|---|---|
type |
string | yes | The condition’s name, such as Ready. |
status |
string | yes | Whether the condition holds: True, False, or Unknown. One of: True, False, Unknown. |
observedGeneration |
integer | no | The metadata.generation of the spec that the condition reflects. |
reason |
string | yes | One word in CamelCase for the cause. |
message |
string | yes | The cause, for a person to read. It can be empty. |
lastTransitionTime |
string | yes | When status last changed. A write with the same status keeps this time. |