{ "description": "ClusterImageSetAvailability is the Schema for the clusterimagesetavailabilities API.", "properties": { "apiVersion": { "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", "type": "string" }, "kind": { "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "type": "string" }, "metadata": { "type": "object" }, "spec": { "description": "ClusterImageSetAvailabilitySpec defines the desired monitoring configuration.", "properties": { "imageFilter": { "description": "ImageFilter selects which images to monitor.", "properties": { "exclude": { "items": { "type": "string" }, "type": "array" }, "include": { "items": { "type": "string" }, "type": "array" } }, "type": "object", "additionalProperties": false }, "unusedImageExpiry": { "description": "UnusedImageExpiry is how long to keep tracking an image after no Pod uses it.\nOnce elapsed the image is removed from status. Example: \"720h\" (30 days).\nZero means unused images are never removed.", "type": "string" } }, "type": "object", "additionalProperties": false }, "status": { "description": "ClusterImageSetAvailabilityStatus defines the observed state.", "properties": { "imageCount": { "description": "ImageCount is the total number of images currently being tracked.", "type": "integer" }, "images": { "items": { "description": "MonitoredImage holds the current availability state for a single image.", "properties": { "image": { "description": "Image is the full normalised image reference, e.g. \"docker.io/library/nginx:1.27\".", "type": "string" }, "lastError": { "description": "LastError contains the error message from the last failed check, if any.", "type": "string" }, "lastMonitor": { "description": "LastMonitor is the timestamp of the last availability check.\nNil means the image has not been checked yet.", "format": "date-time", "type": "string" }, "status": { "default": "Scheduled", "description": "Status is the result of the last availability check.", "enum": [ "Scheduled", "Available", "NotFound", "Unreachable", "InvalidAuth", "UnavailableSecret", "QuotaExceeded" ], "type": "string" }, "unusedSince": { "description": "UnusedSince is the timestamp when the last Pod referencing this image disappeared.\nNil means at least one Pod currently uses this image.", "format": "date-time", "type": "string" } }, "required": [ "image", "status" ], "type": "object", "additionalProperties": false }, "type": "array", "x-kubernetes-list-map-keys": [ "image" ], "x-kubernetes-list-type": "map" } }, "type": "object", "additionalProperties": false } }, "type": "object" }