apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: name: mirroredimages.mirror.quorate.dev spec: group: mirror.quorate.dev names: kind: MirroredImage listKind: MirroredImageList plural: mirroredimages singular: mirroredimage scope: Namespaced versions: - name: v1alpha1 served: true storage: true subresources: status: {} schema: openAPIV3Schema: type: object required: [spec] properties: apiVersion: type: string kind: type: string metadata: type: object spec: type: object required: [upstream, policy, digests] properties: upstream: type: string minLength: 1 policy: type: object required: [rejectAtOrAbove] properties: rejectAtOrAbove: type: string enum: [Unknown, Negligible, Low, Medium, High, Critical] digests: type: array x-kubernetes-list-type: map x-kubernetes-list-map-keys: [digest] items: type: object required: [digest] properties: digest: type: string pattern: ^sha256:[0-9a-f]{64}$ tag: type: string maxLength: 128 pattern: ^[A-Za-z0-9_][A-Za-z0-9_.-]{0,127}$ status: type: object properties: observedGeneration: type: integer format: int64 message: type: string lastHandledRetry: type: string maxLength: 63 pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ digests: type: array x-kubernetes-list-type: map x-kubernetes-list-map-keys: [digest] items: type: object required: [digest] properties: digest: type: string pattern: ^sha256:[0-9a-f]{64}$ tag: type: string maxLength: 128 pattern: ^[A-Za-z0-9_][A-Za-z0-9_.-]{0,127}$ prepare: type: object required: [workflowName, phase, generation] properties: workflowName: type: string maxLength: 63 pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ retryOf: type: string maxLength: 63 pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ phase: type: string enum: [Pending, Running, Succeeded, Failed, Error] generation: type: integer format: int64 scan: type: string enum: [Pending, Accepted, Rejected] promotion: type: object required: [workflowName, phase, generation] properties: workflowName: type: string maxLength: 63 pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ retryOf: type: string maxLength: 63 pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ phase: type: string enum: [Pending, Running, Succeeded, Failed, Error] generation: type: integer format: int64 cleanup: type: object required: [workflowName, phase, generation] properties: workflowName: type: string maxLength: 63 pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ retryOf: type: string maxLength: 63 pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ phase: type: string enum: [Pending, Running, Succeeded, Failed, Error] generation: type: integer format: int64