Size the internal image registry from image streams, tags retained, shared base layers and daily build churn.
A container registry is content-addressed, so it stores each layer once no matter how many images reference it. A second tag of the same application therefore costs only its application layers, not the whole image. Build churn is what actually fills registries: CI produces new layers all day and they persist until the pruner's retention window expires. Registry storage is the most commonly under-sized persistent volume in an OpenShift cluster, and a full registry breaks builds and deployments simultaneously — while an aggressive pruner breaks rollbacks instead.
OpenShift Registry Storage
storage = (streams × (image + (tags − 1) × unique layer bytes) + builds per day × retention × unique layer bytes) × (1 + overhead), where unique layer bytes = image × (1 − shared base share).
storage = (streams × (image + (tags − 1) × unique layer bytes) + builds per day × retention × unique layer bytes) × (1 + overhead), where unique layer bytes = image × (1 − shared base share). A container registry is content-addressed, so it stores each layer once no matter how many images reference it. A second tag of the same application therefore costs only its application layers, not the whole image. Build churn is what actually fills registries: CI produces new layers all day and they persist until the pruner's retention window expires.
Registry storage is the most commonly under-sized persistent volume in an OpenShift cluster, and a full registry breaks builds and deployments simultaneously — while an aggressive pruner breaks rollbacks instead.
This calculator takes 7 inputs: Image streams, Compressed image size, Image made of shared base layers, Tags retained per stream, Builds per day, Prune retention window, Metadata and filesystem overhead. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.
Steady-state image storage is bounded by streams times tags, but build churn is unbounded until the pruner runs. Thirty builds a day retained for a fortnight can hold more storage than every tagged release in the registry combined.