| Concepts |
The terms the Hot Cell documentation uses: cell, supervisor, worker, slot, operation, client, tool, payload, inputs and outputs, and codes. |
| Request lifecycle |
What happens between a call to perform_in_hotcell and its answer, step by step. |
| Client API |
HotCell.register and its options, HotCell::Client, the errors a bad call raises, the boot checks, diagnosis, and the group the application shares with a cell. |
| Operation API |
HotCell::Operation's class and instance methods, run_tool, and the Input and Output descriptors that perform receives. |
| Response codes |
Every failure code and kill cause, whether each is permanent or transient, the exception classes the client raises, and what Active Storage records. |
| Container |
Building the cell's image, every container flag and what it does, bounding OpenMP, and checking an accessory before and after a deploy. |
| Scratch |
Where a cell stages files: the tmpfs, named volume, and host-mount layouts, and the boot sweep. |
| Cell settings |
HotCell.limits: the scheduling settings and request limits with their defaults, the environment variables, the load order, and development mode. |
| Tuning |
Which measurement sets each cell number, the constraints between the numbers, and how to use bin/load. |
| Observability |
Recommended alerts, the perform.hot_cell notification, the application log line, Yabeda metrics, cell metrics, the cell log schema, and the healthchecks. |
| Conformance |
What bin/conformance checks about a cell image, and what it cannot check. |
| Active Storage operations |
The Active Storage client classes, the cell operations that serve them, how their failures are retried, and the limits each declares. |
| ImageMagick |
ImageMagick's MAGICK_* resource limits, how they interact with a cell, and the formulas to set them. |
| Legacy client |
HotCell::Client::Legacy, the dependency-free client for legacy Ruby versions: its options, the failures it raises, and how it differs from hotcell-client. |