Repository for dip
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

337 lines
14 KiB

{{- if .Values.omjobOperator.enabled }}
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: omjobs.pipelines.openmetadata.org
spec:
group: pipelines.openmetadata.org
versions:
- name: v1
served: true
storage: true
schema:
openAPIV3Schema:
type: object
properties:
spec:
type: object
properties:
mainPodSpec:
type: object
description: "Pod specification for the main ingestion job"
properties:
image:
type: string
description: "Container image for the ingestion job"
imagePullPolicy:
type: string
description: "Image pull policy"
enum: ["Always", "Never", "IfNotPresent"]
default: "IfNotPresent"
imagePullSecrets:
type: array
items:
type: object
properties:
name:
type: string
serviceAccountName:
type: string
description: "Service account name for the pod"
command:
type: array
items:
type: string
description: "Command to execute in the container"
env:
type: array
items:
type: object
properties:
name:
type: string
description: "Name of the environment variable"
value:
type: string
description: "Direct value of the environment variable"
valueFrom:
type: object
description: "Source for the environment variable value"
properties:
configMapKeyRef:
type: object
description: "Reference to a key in a ConfigMap"
properties:
name:
type: string
description: "Name of the ConfigMap"
key:
type: string
description: "Key in the ConfigMap"
optional:
type: boolean
description: "Whether the ConfigMap must exist"
required:
- name
- key
secretKeyRef:
type: object
description: "Reference to a key in a Secret"
properties:
name:
type: string
description: "Name of the Secret"
key:
type: string
description: "Key in the Secret"
optional:
type: boolean
description: "Whether the Secret must exist"
required:
- name
- key
fieldRef:
type: object
description: "Reference to a field in the pod"
properties:
apiVersion:
type: string
description: "API version of the field reference"
fieldPath:
type: string
description: "Path to the field"
required:
- fieldPath
resourceFieldRef:
type: object
description: "Reference to a resource field"
properties:
containerName:
type: string
description: "Name of the container"
resource:
type: string
description: "Resource to select"
divisor:
type: string
description: "Divisor for the resource"
required:
- resource
required:
- name
resources:
type: object
properties:
requests:
type: object
additionalProperties:
type: string
limits:
type: object
additionalProperties:
type: string
description: "Resource requirements for the container"
nodeSelector:
type: object
additionalProperties:
type: string
securityContext:
type: object
x-kubernetes-preserve-unknown-fields: true
description: "Security context for the pod"
labels:
type: object
additionalProperties:
type: string
annotations:
type: object
additionalProperties:
type: string
required: ["image", "serviceAccountName", "command"]
exitHandlerSpec:
type: object
description: "Pod specification for the exit handler job (runs after main pod completes)"
properties:
image:
type: string
description: "Container image for the exit handler"
imagePullPolicy:
type: string
description: "Image pull policy"
enum: ["Always", "Never", "IfNotPresent"]
default: "IfNotPresent"
command:
type: array
items:
type: string
description: "Command to execute in the exit handler container"
env:
type: array
items:
type: object
properties:
name:
type: string
description: "Name of the environment variable"
value:
type: string
description: "Direct value of the environment variable"
valueFrom:
type: object
description: "Source for the environment variable value"
properties:
configMapKeyRef:
type: object
description: "Reference to a key in a ConfigMap"
properties:
name:
type: string
description: "Name of the ConfigMap"
key:
type: string
description: "Key in the ConfigMap"
optional:
type: boolean
description: "Whether the ConfigMap must exist"
required:
- name
- key
secretKeyRef:
type: object
description: "Reference to a key in a Secret"
properties:
name:
type: string
description: "Name of the Secret"
key:
type: string
description: "Key in the Secret"
optional:
type: boolean
description: "Whether the Secret must exist"
required:
- name
- key
fieldRef:
type: object
description: "Reference to a field in the pod"
properties:
apiVersion:
type: string
description: "API version of the field reference"
fieldPath:
type: string
description: "Path to the field"
required:
- fieldPath
resourceFieldRef:
type: object
description: "Reference to a resource field"
properties:
containerName:
type: string
description: "Name of the container"
resource:
type: string
description: "Resource to select"
divisor:
type: string
description: "Divisor for the resource"
required:
- resource
required:
- name
resources:
type: object
properties:
requests:
type: object
additionalProperties:
type: string
limits:
type: object
additionalProperties:
type: string
description: "Resource requirements for the exit handler container"
serviceAccountName:
type: string
description: "Service account name for the exit handler pod"
nodeSelector:
type: object
additionalProperties:
type: string
imagePullSecrets:
type: array
items:
type: object
properties:
name:
type: string
securityContext:
type: object
x-kubernetes-preserve-unknown-fields: true
description: "Security context for the exit handler pod"
labels:
type: object
additionalProperties:
type: string
annotations:
type: object
additionalProperties:
type: string
required: ["image", "command"]
ttlSecondsAfterFinished:
type: integer
description: "Time in seconds to keep pods after completion"
default: 86400
required: ["mainPodSpec"]
status:
type: object
properties:
phase:
type: string
description: "Current phase of the OMJob"
enum: ["Pending", "Running", "ExitHandlerRunning", "Succeeded", "Failed"]
mainPodName:
type: string
description: "Name of the main pod"
exitHandlerPodName:
type: string
description: "Name of the exit handler pod"
startTime:
type: string
format: date-time
description: "Time when the job started"
completionTime:
type: string
format: date-time
description: "Time when the job completed"
message:
type: string
description: "Human-readable message about the current status"
mainPodExitCode:
type: integer
description: "Exit code of the main pod"
subresources:
status: {}
additionalPrinterColumns:
- name: Phase
type: string
jsonPath: .status.phase
- name: Main Pod
type: string
jsonPath: .status.mainPodName
- name: Exit Handler
type: string
jsonPath: .status.exitHandlerPodName
- name: Age
type: date
jsonPath: .metadata.creationTimestamp
scope: Namespaced
names:
plural: omjobs
singular: omjob
kind: OMJob
shortNames:
- omj
{{- end }}