OpticalTrain

An OpticalTrain is one light path: an OpticalTube, and the devices behind it, which name the train in their spec.opticalTrain. The operator writes each camera’s ACTIVE_DEVICES from its train, so the train sets which mount, focuser, filter wheel, and rotator the camera snoops.

spec

The train’s place and its tube.

Field Type Required Description
telescope string yes The name of the Telescope that the train is on. Pattern: ^[a-z0-9]([-a-z0-9.]*[a-z0-9])?$.
opticalTube string yes The name of the OpticalTube that collects the train’s light. Two trains can name one tube. Pattern: ^[a-z0-9]([-a-z0-9.]*[a-z0-9])?$.

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.
conditions []object no ParentFound is False when the Telescope, its Observatory, or the OpticalTube does not exist.
devices []object no Each device whose spec.opticalTrain names this train.

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.

status.devices[]

One device, with its phase.

Field Type Required Description
kind string yes The device’s kind. One of: Mount, Camera, FilterWheel, Focuser, Rotator, DustCap, FlatPanel, PolarAligner, GPS, Dome, WeatherStation, SkyQualityMeter, Switch, Receiver.
name string yes The device’s name.
phase string no The device’s status.phase. One of: Inventory, Idle, Starting, Connecting, Connected, Disconnecting, Error.