quorate/services/mirrored-image/k8s/crd.yaml

142 lines
5.2 KiB
YAML
Raw Permalink Normal View History

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