From 2d3c7554adf8605f58506fde954d416932c50d2d Mon Sep 17 00:00:00 2001 From: Griffin Date: Mon, 11 Mar 2024 21:02:17 +0530 Subject: [PATCH 1/5] added command for makefile Signed-off-by: Griffin --- Makefile | 12 + lifecycle-operator/Makefile | 9 + .../chart/templates/keptnapp-crd.yaml | 351 - .../chart/templates/keptnappcontext-crd.yaml | 115 - .../keptnappcreationrequest-crd.yaml | 106 - .../chart/templates/keptnappversion-crd.yaml | 1269 --- .../chart/templates/keptnconfig-crd.yaml | 86 - .../chart/templates/keptnevaluation-crd.yaml | 558 - .../keptnevaluationdefinition-crd.yaml | 285 - .../chart/templates/keptntask-crd.yaml | 597 -- .../templates/keptntaskdefinition-crd.yaml | 3438 ------- .../chart/templates/keptnworkload-crd.yaml | 422 - .../templates/keptnworkloadversion-crd.yaml | 677 -- .../chart/templates/operator-crd.yaml | 8940 +++++++++++++++++ .../config/crd/kustomization.yaml | 10 + .../crd/patches/keptnappcontextsPatch.yaml | 3 + metrics-operator/Makefile | 9 + .../chart/templates/analysis-crd.yaml | 352 - .../templates/analysisdefinition-crd.yaml | 694 -- .../templates/analysisvaluetemplate-crd.yaml | 146 - .../chart/templates/keptnmetric-crd.yaml | 534 - .../templates/keptnmetricsprovider-crd.yaml | 219 - .../chart/templates/metricsOperator-crd.yaml | 1950 ++++ .../config/crd/kustomization.yaml | 10 + .../crd/patches/analysesMetricsPatch.yaml | 3 + 25 files changed, 10946 insertions(+), 9849 deletions(-) delete mode 100644 lifecycle-operator/chart/templates/keptnapp-crd.yaml delete mode 100644 lifecycle-operator/chart/templates/keptnappcontext-crd.yaml delete mode 100644 lifecycle-operator/chart/templates/keptnappcreationrequest-crd.yaml delete mode 100644 lifecycle-operator/chart/templates/keptnappversion-crd.yaml delete mode 100644 lifecycle-operator/chart/templates/keptnconfig-crd.yaml delete mode 100644 lifecycle-operator/chart/templates/keptnevaluation-crd.yaml delete mode 100644 lifecycle-operator/chart/templates/keptnevaluationdefinition-crd.yaml delete mode 100644 lifecycle-operator/chart/templates/keptntask-crd.yaml delete mode 100644 lifecycle-operator/chart/templates/keptntaskdefinition-crd.yaml delete mode 100644 lifecycle-operator/chart/templates/keptnworkload-crd.yaml delete mode 100644 lifecycle-operator/chart/templates/keptnworkloadversion-crd.yaml create mode 100644 lifecycle-operator/chart/templates/operator-crd.yaml create mode 100644 lifecycle-operator/config/crd/patches/keptnappcontextsPatch.yaml delete mode 100644 metrics-operator/chart/templates/analysis-crd.yaml delete mode 100644 metrics-operator/chart/templates/analysisdefinition-crd.yaml delete mode 100644 metrics-operator/chart/templates/analysisvaluetemplate-crd.yaml delete mode 100644 metrics-operator/chart/templates/keptnmetric-crd.yaml delete mode 100644 metrics-operator/chart/templates/keptnmetricsprovider-crd.yaml create mode 100644 metrics-operator/chart/templates/metricsOperator-crd.yaml create mode 100644 metrics-operator/config/crd/patches/analysesMetricsPatch.yaml diff --git a/Makefile b/Makefile index f29b5f9710..32aecced88 100644 --- a/Makefile +++ b/Makefile @@ -177,3 +177,15 @@ lint: metrics-operator-lint lint: certmanager-lint lint: operator-lint lint: scheduler-lint + +.PHONY: update-operator-helmcharts-docs +update-operator-helmcharts-docs: + $(MAKE) -C lifecycle-operator update-helmcharts + ./.github/scripts/generate-crd-docs/generate-crd-docs.sh + ./.github/scripts/generate-helm-docs.sh + +.PHONY: update-metrics-operator-helmcharts-docs +update-metrics-operator-helmcharts-docs: + $(MAKE) -C metrics-operator update-helmcharts + ./.github/scripts/generate-crd-docs/generate-crd-docs.sh + ./.github/scripts/generate-helm-docs.sh diff --git a/lifecycle-operator/Makefile b/lifecycle-operator/Makefile index 5d850b4436..2490f6c702 100644 --- a/lifecycle-operator/Makefile +++ b/lifecycle-operator/Makefile @@ -251,3 +251,12 @@ push-local: .PHONY: lint lint: ${GOPATH}/bin/golangci-lint run --config ../.golangci.yml -v + +##command to update chart/templates and docs +.PHONY: update-helmcharts +update-helmcharts: generate manifests + kustomize build config/crd > chart/templates/operator-crd.yaml + awk '/env: fake/ { print " cert-manager.io/inject-ca-from: '\''{{ .Release.Namespace }}/keptn-certs'\''"; print " {{- include \"common.annotations\" (dict \"context\" .) }}"; next } { print }' chart/templates/operator-crd.yaml > temp_file && mv temp_file chart/templates/operator-crd.yaml + awk '/putAnnotation: operator/ && !found { found=1; next } 1' chart/templates/operator-crd.yaml > chart/templates/temp && mv chart/templates/temp chart/templates/operator-crd.yaml + awk '/putAnnotation: operator/{print " {{- with .Values.global.caInjectionAnnotations }}"; print " {{- toYaml . | nindent 4 }}"; print " {{- end }}"; print " {{- include \"common.annotations\" ( dict \"context\" . ) }}"; next} 1' chart/templates/operator-crd.yaml > temp_file && mv temp_file chart/templates/operator-crd.yaml + awk '/putLabels: newLabel/{print "{{- include \"common.labels.standard\" (dict \"context\" .) | nindent 4 }}"; next} 1' chart/templates/operator-crd.yaml > temp_file && mv temp_file chart/templates/operator-crd.yaml \ No newline at end of file diff --git a/lifecycle-operator/chart/templates/keptnapp-crd.yaml b/lifecycle-operator/chart/templates/keptnapp-crd.yaml deleted file mode 100644 index b683303aad..0000000000 --- a/lifecycle-operator/chart/templates/keptnapp-crd.yaml +++ /dev/null @@ -1,351 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnapps.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.14.0 - {{- with .Values.global.caInjectionAnnotations }} - {{- toYaml . | nindent 4 }} - {{- end }} - {{- include "common.annotations" (dict "context" .) }} - labels: - app.kubernetes.io/part-of: keptn - crdGroup: lifecycle.keptn.sh - keptn.sh/inject-cert: "true" -{{- include "common.labels.standard" ( dict "context" . ) | nindent 4 }} -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: 'lifecycle-webhook-service' - namespace: '{{ .Release.Namespace }}' - path: /convert - conversionReviewVersions: - - v1 - group: lifecycle.keptn.sh - names: - kind: KeptnApp - listKind: KeptnAppList - plural: keptnapps - singular: keptnapp - scope: Namespaced - versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - description: KeptnApp is the Schema for the keptnapps API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: KeptnAppSpec defines the desired state of KeptnApp - properties: - postDeploymentEvaluations: - items: - type: string - type: array - postDeploymentTasks: - items: - type: string - type: array - preDeploymentEvaluations: - items: - type: string - type: array - preDeploymentTasks: - items: - type: string - type: array - version: - type: string - workloads: - items: - properties: - name: - type: string - version: - type: string - required: - - name - - version - type: object - type: array - required: - - version - type: object - status: - description: KeptnAppStatus defines the observed state of KeptnApp - properties: - currentVersion: - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - name: v1alpha2 - schema: - openAPIV3Schema: - description: KeptnApp is the Schema for the keptnapps API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: KeptnAppSpec defines the desired state of KeptnApp - properties: - postDeploymentEvaluations: - items: - type: string - type: array - postDeploymentTasks: - items: - type: string - type: array - preDeploymentEvaluations: - items: - type: string - type: array - preDeploymentTasks: - items: - type: string - type: array - revision: - default: 1 - type: integer - version: - type: string - workloads: - items: - properties: - name: - type: string - version: - type: string - required: - - name - - version - type: object - type: array - required: - - version - type: object - status: - description: KeptnAppStatus defines the observed state of KeptnApp - properties: - currentVersion: - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - name: v1alpha3 - schema: - openAPIV3Schema: - description: KeptnApp is the Schema for the keptnapps API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Spec describes the desired state of the KeptnApp. - properties: - postDeploymentEvaluations: - description: |- - PostDeploymentEvaluations is a list of all evaluations to be performed - during the post-deployment phase of the KeptnApp. - The items of this list refer to the names of KeptnEvaluationDefinitions - located in the same namespace as the KeptnApp, or in the Keptn namespace. - items: - type: string - type: array - postDeploymentTasks: - description: |- - PostDeploymentTasks is a list of all tasks to be performed during the post-deployment phase of the KeptnApp. - The items of this list refer to the names of KeptnTaskDefinitions - located in the same namespace as the KeptnApp, or in the Keptn namespace. - items: - type: string - type: array - preDeploymentEvaluations: - description: |- - PreDeploymentEvaluations is a list of all evaluations to be performed - during the pre-deployment phase of the KeptnApp. - The items of this list refer to the names of KeptnEvaluationDefinitions - located in the same namespace as the KeptnApp, or in the Keptn namespace. - items: - type: string - type: array - preDeploymentTasks: - description: |- - PreDeploymentTasks is a list of all tasks to be performed during the pre-deployment phase of the KeptnApp. - The items of this list refer to the names of KeptnTaskDefinitions - located in the same namespace as the KeptnApp, or in the Keptn namespace. - items: - type: string - type: array - revision: - default: 1 - description: |- - Revision can be modified to trigger another deployment of a KeptnApp of the same version. - This can be used for restarting a KeptnApp which failed to deploy, - e.g. due to a failed preDeploymentEvaluation/preDeploymentTask. - type: integer - version: - description: |- - Version defines the version of the application. For automatically created KeptnApps, - the version is a function of all KeptnWorkloads that are part of the KeptnApp. - type: string - workloads: - description: Workloads is a list of all KeptnWorkloads that are part - of the KeptnApp. - items: - description: KeptnWorkloadRef refers to a KeptnWorkload that is - part of a KeptnApp - properties: - name: - description: Name is the name of the KeptnWorkload. - type: string - version: - description: Version is the version of the KeptnWorkload. - type: string - required: - - name - - version - type: object - type: array - required: - - version - type: object - status: - description: Status describes the current state of the KeptnApp. - properties: - currentVersion: - description: CurrentVersion indicates the version that is currently - deployed or being reconciled. - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - name: v1beta1 - schema: - openAPIV3Schema: - description: KeptnApp is the Schema for the keptnapps API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Spec describes the desired state of the KeptnApp. - properties: - revision: - default: 1 - description: |- - Revision can be modified to trigger another deployment of a KeptnApp of the same version. - This can be used for restarting a KeptnApp which failed to deploy, - e.g. due to a failed preDeploymentEvaluation/preDeploymentTask. - type: integer - version: - description: |- - Version defines the version of the application. For automatically created KeptnApps, - the version is a function of all KeptnWorkloads that are part of the KeptnApp. - type: string - workloads: - description: Workloads is a list of all KeptnWorkloads that are part - of the KeptnApp. - items: - description: KeptnWorkloadRef refers to a KeptnWorkload that is - part of a KeptnApp - properties: - name: - description: Name is the name of the KeptnWorkload. - type: string - version: - description: Version is the version of the KeptnWorkload. - type: string - required: - - name - - version - type: object - type: array - required: - - version - type: object - status: - description: Status describes the current state of the KeptnApp. - properties: - currentVersion: - description: CurrentVersion indicates the version that is currently - deployed or being reconciled. - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} diff --git a/lifecycle-operator/chart/templates/keptnappcontext-crd.yaml b/lifecycle-operator/chart/templates/keptnappcontext-crd.yaml deleted file mode 100644 index be68c31288..0000000000 --- a/lifecycle-operator/chart/templates/keptnappcontext-crd.yaml +++ /dev/null @@ -1,115 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnappcontexts.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.14.0 - cert-manager.io/inject-ca-from: '{{ .Release.Namespace }}/keptn-certs' - {{- include "common.annotations" ( dict "context" . ) }} - labels: - app.kubernetes.io/part-of: keptn - crdGroup: lifecycle.keptn.sh - keptn.sh/inject-cert: "true" -{{- include "common.labels.standard" ( dict "context" . ) | nindent 4 }} -spec: - group: lifecycle.keptn.sh - names: - kind: KeptnAppContext - listKind: KeptnAppContextList - plural: keptnappcontexts - singular: keptnappcontext - scope: Namespaced - versions: - - name: v1beta1 - schema: - openAPIV3Schema: - description: KeptnAppContext is the Schema for the keptnappcontexts API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: KeptnAppContextSpec defines the desired state of KeptnAppContext - properties: - metadata: - additionalProperties: - type: string - description: Metadata contains additional key-value pairs for contextual - information. - type: object - postDeploymentEvaluations: - description: |- - PostDeploymentEvaluations is a list of all evaluations to be performed - during the post-deployment phase of the KeptnApp. - The items of this list refer to the names of KeptnEvaluationDefinitions - located in the same namespace as the KeptnApp, or in the Keptn namespace. - items: - type: string - type: array - postDeploymentTasks: - description: |- - PostDeploymentTasks is a list of all tasks to be performed during the post-deployment phase of the KeptnApp. - The items of this list refer to the names of KeptnTaskDefinitions - located in the same namespace as the KeptnApp, or in the Keptn namespace. - items: - type: string - type: array - preDeploymentEvaluations: - description: |- - PreDeploymentEvaluations is a list of all evaluations to be performed - during the pre-deployment phase of the KeptnApp. - The items of this list refer to the names of KeptnEvaluationDefinitions - located in the same namespace as the KeptnApp, or in the Keptn namespace. - items: - type: string - type: array - preDeploymentTasks: - description: |- - PreDeploymentTasks is a list of all tasks to be performed during the pre-deployment phase of the KeptnApp. - The items of this list refer to the names of KeptnTaskDefinitions - located in the same namespace as the KeptnApp, or in the Keptn namespace. - items: - type: string - type: array - promotionTasks: - description: |- - PromotionTasks is a list of all tasks to be performed during the promotion phase of the KeptnApp. - The items of this list refer to the names of KeptnTaskDefinitions - located in the same namespace as the KeptnApp, or in the Keptn namespace. - items: - type: string - type: array - spanLinks: - description: |- - SpanLinks are links to OpenTelemetry span IDs for tracking. These links establish relationships between spans across different services, enabling distributed tracing. - For more information on OpenTelemetry span links, refer to the documentation: https://opentelemetry.io/docs/concepts/signals/traces/#span-links - items: - type: string - type: array - type: object - status: - description: KeptnAppContextStatus defines the observed state of KeptnAppContext - properties: - status: - description: unused field - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} diff --git a/lifecycle-operator/chart/templates/keptnappcreationrequest-crd.yaml b/lifecycle-operator/chart/templates/keptnappcreationrequest-crd.yaml deleted file mode 100644 index fdb72f68bd..0000000000 --- a/lifecycle-operator/chart/templates/keptnappcreationrequest-crd.yaml +++ /dev/null @@ -1,106 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnappcreationrequests.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.14.0 - {{- with .Values.global.caInjectionAnnotations }} - {{- toYaml . | nindent 4 }} - {{- end }} - {{- include "common.annotations" ( dict "context" . ) }} - labels: - app.kubernetes.io/part-of: keptn - crdGroup: lifecycle.keptn.sh - keptn.sh/inject-cert: "true" -{{- include "common.labels.standard" ( dict "context" . ) | nindent 4 }} -spec: - group: lifecycle.keptn.sh - names: - kind: KeptnAppCreationRequest - listKind: KeptnAppCreationRequestList - plural: keptnappcreationrequests - singular: keptnappcreationrequest - scope: Namespaced - versions: - - name: v1alpha3 - schema: - openAPIV3Schema: - description: KeptnAppCreationRequest is the Schema for the keptnappcreationrequests - API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Spec describes the desired state of the KeptnAppCreationRequest. - properties: - appName: - description: AppName is the name of the KeptnApp the KeptnAppCreationRequest - should create if no user-defined object with that name is found. - type: string - required: - - appName - type: object - status: - description: Status describes the current state of the KeptnAppCreationRequest. - type: string - type: object - served: true - storage: false - subresources: - status: {} - - name: v1beta1 - schema: - openAPIV3Schema: - description: KeptnAppCreationRequest is the Schema for the keptnappcreationrequests - API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Spec describes the desired state of the KeptnAppCreationRequest. - properties: - appName: - description: AppName is the name of the KeptnApp the KeptnAppCreationRequest - should create if no user-defined object with that name is found. - type: string - required: - - appName - type: object - status: - description: Status describes the current state of the KeptnAppCreationRequest. - type: string - type: object - served: true - storage: true - subresources: - status: {} diff --git a/lifecycle-operator/chart/templates/keptnappversion-crd.yaml b/lifecycle-operator/chart/templates/keptnappversion-crd.yaml deleted file mode 100644 index 97234c2183..0000000000 --- a/lifecycle-operator/chart/templates/keptnappversion-crd.yaml +++ /dev/null @@ -1,1269 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnappversions.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.14.0 - {{- with .Values.global.caInjectionAnnotations }} - {{- toYaml . | nindent 4 }} - {{- end }} - {{- include "common.annotations" ( dict "context" . ) }} - labels: - app.kubernetes.io/part-of: keptn - crdGroup: lifecycle.keptn.sh - keptn.sh/inject-cert: "true" -{{- include "common.labels.standard" ( dict "context" . ) | nindent 4 }} -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: 'lifecycle-webhook-service' - namespace: '{{ .Release.Namespace }}' - path: /convert - conversionReviewVersions: - - v1 - group: lifecycle.keptn.sh - names: - kind: KeptnAppVersion - listKind: KeptnAppVersionList - plural: keptnappversions - shortNames: - - kav - singular: keptnappversion - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .spec.appName - name: AppName - type: string - - jsonPath: .spec.version - name: Version - type: string - - jsonPath: .status.currentPhase - name: Phase - type: string - - jsonPath: .status.preDeploymentStatus - name: PreDeploymentStatus - priority: 1 - type: string - - jsonPath: .status.preDeploymentEvaluationStatus - name: PreDeploymentEvaluationStatus - priority: 1 - type: string - - jsonPath: .status.workloadOverallStatus - name: WorkloadOverallStatus - priority: 1 - type: string - - jsonPath: .status.postDeploymentStatus - name: PostDeploymentStatus - priority: 1 - type: string - - jsonPath: .status.postDeploymentEvaluationStatus - name: PostDeploymentEvaluationStatus - priority: 1 - type: string - name: v1alpha1 - schema: - openAPIV3Schema: - description: KeptnAppVersion is the Schema for the keptnappversions API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: KeptnAppVersionSpec defines the desired state of KeptnAppVersion - properties: - appName: - type: string - postDeploymentEvaluations: - items: - type: string - type: array - postDeploymentTasks: - items: - type: string - type: array - preDeploymentEvaluations: - items: - type: string - type: array - preDeploymentTasks: - items: - type: string - type: array - previousVersion: - type: string - traceId: - additionalProperties: - type: string - type: object - version: - type: string - workloads: - items: - properties: - name: - type: string - version: - type: string - required: - - name - - version - type: object - type: array - required: - - appName - - version - type: object - status: - description: KeptnAppVersionStatus defines the observed state of KeptnAppVersion - properties: - currentPhase: - type: string - endTime: - format: date-time - type: string - phaseTraceIDs: - additionalProperties: - additionalProperties: - type: string - description: |- - MapCarrier is a TextMapCarrier that uses a map held in memory as a storage - medium for propagated key-value pairs. - type: object - description: PhaseTraceID is a map storing TraceIDs of OpenTelemetry - spans in lifecycle phases - type: object - postDeploymentEvaluationStatus: - default: Pending - description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - postDeploymentEvaluationTaskStatus: - items: - properties: - endTime: - format: date-time - type: string - evaluationDefinitionName: - type: string - evaluationName: - type: string - startTime: - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase - state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - type: object - type: array - postDeploymentStatus: - default: Pending - description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - postDeploymentTaskStatus: - items: - properties: - endTime: - format: date-time - type: string - startTime: - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase - state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - taskDefinitionName: - type: string - taskName: - type: string - type: object - type: array - preDeploymentEvaluationStatus: - default: Pending - description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - preDeploymentEvaluationTaskStatus: - items: - properties: - endTime: - format: date-time - type: string - evaluationDefinitionName: - type: string - evaluationName: - type: string - startTime: - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase - state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - type: object - type: array - preDeploymentStatus: - default: Pending - description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - preDeploymentTaskStatus: - items: - properties: - endTime: - format: date-time - type: string - startTime: - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase - state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - taskDefinitionName: - type: string - taskName: - type: string - type: object - type: array - startTime: - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - workloadOverallStatus: - default: Pending - description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - workloadStatus: - items: - properties: - status: - default: Pending - description: KeptnState is a string containing current Phase - state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - workload: - properties: - name: - type: string - version: - type: string - required: - - name - - version - type: object - type: object - type: array - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .spec.appName - name: AppName - type: string - - jsonPath: .spec.version - name: Version - type: string - - jsonPath: .status.currentPhase - name: Phase - type: string - - jsonPath: .status.preDeploymentStatus - name: PreDeploymentStatus - priority: 1 - type: string - - jsonPath: .status.preDeploymentEvaluationStatus - name: PreDeploymentEvaluationStatus - priority: 1 - type: string - - jsonPath: .status.workloadOverallStatus - name: WorkloadOverallStatus - priority: 1 - type: string - - jsonPath: .status.postDeploymentStatus - name: PostDeploymentStatus - priority: 1 - type: string - - jsonPath: .status.postDeploymentEvaluationStatus - name: PostDeploymentEvaluationStatus - priority: 1 - type: string - name: v1alpha2 - schema: - openAPIV3Schema: - description: KeptnAppVersion is the Schema for the keptnappversions API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: KeptnAppVersionSpec defines the desired state of KeptnAppVersion - properties: - appName: - type: string - postDeploymentEvaluations: - items: - type: string - type: array - postDeploymentTasks: - items: - type: string - type: array - preDeploymentEvaluations: - items: - type: string - type: array - preDeploymentTasks: - items: - type: string - type: array - previousVersion: - type: string - revision: - default: 1 - type: integer - traceId: - additionalProperties: - type: string - type: object - version: - type: string - workloads: - items: - properties: - name: - type: string - version: - type: string - required: - - name - - version - type: object - type: array - required: - - appName - - version - type: object - status: - description: KeptnAppVersionStatus defines the observed state of KeptnAppVersion - properties: - currentPhase: - type: string - endTime: - format: date-time - type: string - phaseTraceIDs: - additionalProperties: - additionalProperties: - type: string - description: |- - MapCarrier is a TextMapCarrier that uses a map held in memory as a storage - medium for propagated key-value pairs. - type: object - type: object - postDeploymentEvaluationStatus: - default: Pending - description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - postDeploymentEvaluationTaskStatus: - items: - properties: - definitionName: - description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition - type: string - endTime: - format: date-time - type: string - name: - description: Name is the name of the Evaluation/Task - type: string - startTime: - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase - state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - type: object - type: array - postDeploymentStatus: - default: Pending - description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - postDeploymentTaskStatus: - items: - properties: - definitionName: - description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition - type: string - endTime: - format: date-time - type: string - name: - description: Name is the name of the Evaluation/Task - type: string - startTime: - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase - state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - type: object - type: array - preDeploymentEvaluationStatus: - default: Pending - description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - preDeploymentEvaluationTaskStatus: - items: - properties: - definitionName: - description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition - type: string - endTime: - format: date-time - type: string - name: - description: Name is the name of the Evaluation/Task - type: string - startTime: - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase - state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - type: object - type: array - preDeploymentStatus: - default: Pending - description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - preDeploymentTaskStatus: - items: - properties: - definitionName: - description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition - type: string - endTime: - format: date-time - type: string - name: - description: Name is the name of the Evaluation/Task - type: string - startTime: - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase - state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - type: object - type: array - startTime: - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - workloadOverallStatus: - default: Pending - description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - workloadStatus: - items: - properties: - status: - default: Pending - description: KeptnState is a string containing current Phase - state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - workload: - properties: - name: - type: string - version: - type: string - required: - - name - - version - type: object - type: object - type: array - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .spec.appName - name: AppName - type: string - - jsonPath: .spec.version - name: Version - type: string - - jsonPath: .status.currentPhase - name: Phase - type: string - - jsonPath: .status.preDeploymentStatus - name: PreDeploymentStatus - priority: 1 - type: string - - jsonPath: .status.preDeploymentEvaluationStatus - name: PreDeploymentEvaluationStatus - priority: 1 - type: string - - jsonPath: .status.workloadOverallStatus - name: WorkloadOverallStatus - priority: 1 - type: string - - jsonPath: .status.postDeploymentStatus - name: PostDeploymentStatus - priority: 1 - type: string - - jsonPath: .status.postDeploymentEvaluationStatus - name: PostDeploymentEvaluationStatus - priority: 1 - type: string - name: v1alpha3 - schema: - openAPIV3Schema: - description: KeptnAppVersion is the Schema for the keptnappversions API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Spec describes the desired state of the KeptnAppVersion. - properties: - appName: - description: AppName is the name of the KeptnApp. - type: string - postDeploymentEvaluations: - description: |- - PostDeploymentEvaluations is a list of all evaluations to be performed - during the post-deployment phase of the KeptnApp. - The items of this list refer to the names of KeptnEvaluationDefinitions - located in the same namespace as the KeptnApp, or in the Keptn namespace. - items: - type: string - type: array - postDeploymentTasks: - description: |- - PostDeploymentTasks is a list of all tasks to be performed during the post-deployment phase of the KeptnApp. - The items of this list refer to the names of KeptnTaskDefinitions - located in the same namespace as the KeptnApp, or in the Keptn namespace. - items: - type: string - type: array - preDeploymentEvaluations: - description: |- - PreDeploymentEvaluations is a list of all evaluations to be performed - during the pre-deployment phase of the KeptnApp. - The items of this list refer to the names of KeptnEvaluationDefinitions - located in the same namespace as the KeptnApp, or in the Keptn namespace. - items: - type: string - type: array - preDeploymentTasks: - description: |- - PreDeploymentTasks is a list of all tasks to be performed during the pre-deployment phase of the KeptnApp. - The items of this list refer to the names of KeptnTaskDefinitions - located in the same namespace as the KeptnApp, or in the Keptn namespace. - items: - type: string - type: array - previousVersion: - description: PreviousVersion is the version of the KeptnApp that has - been deployed prior to this version. - type: string - revision: - default: 1 - description: |- - Revision can be modified to trigger another deployment of a KeptnApp of the same version. - This can be used for restarting a KeptnApp which failed to deploy, - e.g. due to a failed preDeploymentEvaluation/preDeploymentTask. - type: integer - traceId: - additionalProperties: - type: string - description: TraceId contains the OpenTelemetry trace ID. - type: object - version: - description: |- - Version defines the version of the application. For automatically created KeptnApps, - the version is a function of all KeptnWorkloads that are part of the KeptnApp. - type: string - workloads: - description: Workloads is a list of all KeptnWorkloads that are part - of the KeptnApp. - items: - description: KeptnWorkloadRef refers to a KeptnWorkload that is - part of a KeptnApp - properties: - name: - description: Name is the name of the KeptnWorkload. - type: string - version: - description: Version is the version of the KeptnWorkload. - type: string - required: - - name - - version - type: object - type: array - required: - - appName - - version - type: object - status: - description: Status describes the current state of the KeptnAppVersion. - properties: - currentPhase: - description: CurrentPhase indicates the current phase of the KeptnAppVersion. - type: string - endTime: - description: EndTime represents the time at which the deployment of - the KeptnAppVersion finished. - format: date-time - type: string - phaseTraceIDs: - additionalProperties: - additionalProperties: - type: string - description: |- - MapCarrier is a TextMapCarrier that uses a map held in memory as a storage - medium for propagated key-value pairs. - type: object - description: PhaseTraceIDs contains the trace IDs of the OpenTelemetry - spans of each phase of the KeptnAppVersion. - type: object - postDeploymentEvaluationStatus: - default: Pending - description: PostDeploymentEvaluationStatus indicates the current - status of the KeptnAppVersion's PostDeploymentEvaluation phase. - type: string - postDeploymentEvaluationTaskStatus: - description: PostDeploymentEvaluationTaskStatus indicates the current - state of each postDeploymentEvaluation of the KeptnAppVersion. - items: - properties: - definitionName: - description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition - type: string - endTime: - description: EndTime represents the time at which the Item (Evaluation/Task) - started. - format: date-time - type: string - name: - description: Name is the name of the Evaluation/Task - type: string - startTime: - description: StartTime represents the time at which the Item - (Evaluation/Task) started. - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase - state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - type: object - type: array - postDeploymentStatus: - default: Pending - description: PostDeploymentStatus indicates the current status of - the KeptnAppVersion's PostDeployment phase. - type: string - postDeploymentTaskStatus: - description: PostDeploymentTaskStatus indicates the current state - of each postDeploymentTask of the KeptnAppVersion. - items: - properties: - definitionName: - description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition - type: string - endTime: - description: EndTime represents the time at which the Item (Evaluation/Task) - started. - format: date-time - type: string - name: - description: Name is the name of the Evaluation/Task - type: string - startTime: - description: StartTime represents the time at which the Item - (Evaluation/Task) started. - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase - state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - type: object - type: array - preDeploymentEvaluationStatus: - default: Pending - description: PreDeploymentEvaluationStatus indicates the current status - of the KeptnAppVersion's PreDeploymentEvaluation phase. - type: string - preDeploymentEvaluationTaskStatus: - description: PreDeploymentEvaluationTaskStatus indicates the current - state of each preDeploymentEvaluation of the KeptnAppVersion. - items: - properties: - definitionName: - description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition - type: string - endTime: - description: EndTime represents the time at which the Item (Evaluation/Task) - started. - format: date-time - type: string - name: - description: Name is the name of the Evaluation/Task - type: string - startTime: - description: StartTime represents the time at which the Item - (Evaluation/Task) started. - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase - state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - type: object - type: array - preDeploymentStatus: - default: Pending - description: PreDeploymentStatus indicates the current status of the - KeptnAppVersion's PreDeployment phase. - type: string - preDeploymentTaskStatus: - description: PreDeploymentTaskStatus indicates the current state of - each preDeploymentTask of the KeptnAppVersion. - items: - properties: - definitionName: - description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition - type: string - endTime: - description: EndTime represents the time at which the Item (Evaluation/Task) - started. - format: date-time - type: string - name: - description: Name is the name of the Evaluation/Task - type: string - startTime: - description: StartTime represents the time at which the Item - (Evaluation/Task) started. - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase - state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - type: object - type: array - startTime: - description: StartTime represents the time at which the deployment - of the KeptnAppVersion started. - format: date-time - type: string - status: - default: Pending - description: Status represents the overall status of the KeptnAppVersion. - type: string - workloadOverallStatus: - default: Pending - description: WorkloadOverallStatus indicates the current status of - the KeptnAppVersion's Workload deployment phase. - type: string - workloadStatus: - description: WorkloadStatus contains the current status of each KeptnWorkload - that is part of the KeptnAppVersion. - items: - properties: - status: - default: Pending - description: Status indicates the current status of the KeptnWorkload. - type: string - workload: - description: Workload refers to a KeptnWorkload that is part - of the KeptnAppVersion. - properties: - name: - description: Name is the name of the KeptnWorkload. - type: string - version: - description: Version is the version of the KeptnWorkload. - type: string - required: - - name - - version - type: object - type: object - type: array - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .spec.appName - name: AppName - type: string - - jsonPath: .spec.version - name: Version - type: string - - jsonPath: .status.currentPhase - name: Phase - type: string - - jsonPath: .status.preDeploymentStatus - name: PreDeploymentStatus - priority: 1 - type: string - - jsonPath: .status.preDeploymentEvaluationStatus - name: PreDeploymentEvaluationStatus - priority: 1 - type: string - - jsonPath: .status.workloadOverallStatus - name: WorkloadOverallStatus - priority: 1 - type: string - - jsonPath: .status.postDeploymentStatus - name: PostDeploymentStatus - priority: 1 - type: string - - jsonPath: .status.postDeploymentEvaluationStatus - name: PostDeploymentEvaluationStatus - priority: 1 - type: string - - jsonPath: .status.promotionStatus - name: PromotionStatus - priority: 1 - type: string - name: v1beta1 - schema: - openAPIV3Schema: - description: KeptnAppVersion is the Schema for the keptnappversions API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Spec describes the desired state of the KeptnAppVersion. - properties: - appName: - description: AppName is the name of the KeptnApp. - type: string - metadata: - additionalProperties: - type: string - description: Metadata contains additional key-value pairs for contextual - information. - type: object - postDeploymentEvaluations: - description: |- - PostDeploymentEvaluations is a list of all evaluations to be performed - during the post-deployment phase of the KeptnApp. - The items of this list refer to the names of KeptnEvaluationDefinitions - located in the same namespace as the KeptnApp, or in the Keptn namespace. - items: - type: string - type: array - postDeploymentTasks: - description: |- - PostDeploymentTasks is a list of all tasks to be performed during the post-deployment phase of the KeptnApp. - The items of this list refer to the names of KeptnTaskDefinitions - located in the same namespace as the KeptnApp, or in the Keptn namespace. - items: - type: string - type: array - preDeploymentEvaluations: - description: |- - PreDeploymentEvaluations is a list of all evaluations to be performed - during the pre-deployment phase of the KeptnApp. - The items of this list refer to the names of KeptnEvaluationDefinitions - located in the same namespace as the KeptnApp, or in the Keptn namespace. - items: - type: string - type: array - preDeploymentTasks: - description: |- - PreDeploymentTasks is a list of all tasks to be performed during the pre-deployment phase of the KeptnApp. - The items of this list refer to the names of KeptnTaskDefinitions - located in the same namespace as the KeptnApp, or in the Keptn namespace. - items: - type: string - type: array - previousVersion: - description: PreviousVersion is the version of the KeptnApp that has - been deployed prior to this version. - type: string - promotionTasks: - description: |- - PromotionTasks is a list of all tasks to be performed during the promotion phase of the KeptnApp. - The items of this list refer to the names of KeptnTaskDefinitions - located in the same namespace as the KeptnApp, or in the Keptn namespace. - items: - type: string - type: array - revision: - default: 1 - description: |- - Revision can be modified to trigger another deployment of a KeptnApp of the same version. - This can be used for restarting a KeptnApp which failed to deploy, - e.g. due to a failed preDeploymentEvaluation/preDeploymentTask. - type: integer - spanLinks: - description: |- - SpanLinks are links to OpenTelemetry span IDs for tracking. These links establish relationships between spans across different services, enabling distributed tracing. - For more information on OpenTelemetry span links, refer to the documentation: https://opentelemetry.io/docs/concepts/signals/traces/#span-links - items: - type: string - type: array - traceId: - additionalProperties: - type: string - description: TraceId contains the OpenTelemetry trace ID. - type: object - version: - description: |- - Version defines the version of the application. For automatically created KeptnApps, - the version is a function of all KeptnWorkloads that are part of the KeptnApp. - type: string - workloads: - description: Workloads is a list of all KeptnWorkloads that are part - of the KeptnApp. - items: - description: KeptnWorkloadRef refers to a KeptnWorkload that is - part of a KeptnApp - properties: - name: - description: Name is the name of the KeptnWorkload. - type: string - version: - description: Version is the version of the KeptnWorkload. - type: string - required: - - name - - version - type: object - type: array - required: - - appName - - version - type: object - status: - description: Status describes the current state of the KeptnAppVersion. - properties: - currentPhase: - description: CurrentPhase indicates the current phase of the KeptnAppVersion. - type: string - endTime: - description: EndTime represents the time at which the deployment of - the KeptnAppVersion finished. - format: date-time - type: string - phaseTraceIDs: - additionalProperties: - additionalProperties: - type: string - description: |- - MapCarrier is a TextMapCarrier that uses a map held in memory as a storage - medium for propagated key-value pairs. - type: object - description: PhaseTraceIDs contains the trace IDs of the OpenTelemetry - spans of each phase of the KeptnAppVersion. - type: object - postDeploymentEvaluationStatus: - default: Pending - description: PostDeploymentEvaluationStatus indicates the current - status of the KeptnAppVersion's PostDeploymentEvaluation phase. - type: string - postDeploymentEvaluationTaskStatus: - description: PostDeploymentEvaluationTaskStatus indicates the current - state of each postDeploymentEvaluation of the KeptnAppVersion. - items: - properties: - definitionName: - description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition - type: string - endTime: - description: EndTime represents the time at which the Item (Evaluation/Task) - started. - format: date-time - type: string - name: - description: Name is the name of the Evaluation/Task - type: string - startTime: - description: StartTime represents the time at which the Item - (Evaluation/Task) started. - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase - state (Progressing/Succeeded/Failed/Unknown/Pending/Deprecated/Warning) - type: string - type: object - type: array - postDeploymentStatus: - default: Pending - description: PostDeploymentStatus indicates the current status of - the KeptnAppVersion's PostDeployment phase. - type: string - postDeploymentTaskStatus: - description: PostDeploymentTaskStatus indicates the current state - of each postDeploymentTask of the KeptnAppVersion. - items: - properties: - definitionName: - description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition - type: string - endTime: - description: EndTime represents the time at which the Item (Evaluation/Task) - started. - format: date-time - type: string - name: - description: Name is the name of the Evaluation/Task - type: string - startTime: - description: StartTime represents the time at which the Item - (Evaluation/Task) started. - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase - state (Progressing/Succeeded/Failed/Unknown/Pending/Deprecated/Warning) - type: string - type: object - type: array - preDeploymentEvaluationStatus: - default: Pending - description: PreDeploymentEvaluationStatus indicates the current status - of the KeptnAppVersion's PreDeploymentEvaluation phase. - type: string - preDeploymentEvaluationTaskStatus: - description: PreDeploymentEvaluationTaskStatus indicates the current - state of each preDeploymentEvaluation of the KeptnAppVersion. - items: - properties: - definitionName: - description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition - type: string - endTime: - description: EndTime represents the time at which the Item (Evaluation/Task) - started. - format: date-time - type: string - name: - description: Name is the name of the Evaluation/Task - type: string - startTime: - description: StartTime represents the time at which the Item - (Evaluation/Task) started. - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase - state (Progressing/Succeeded/Failed/Unknown/Pending/Deprecated/Warning) - type: string - type: object - type: array - preDeploymentStatus: - default: Pending - description: PreDeploymentStatus indicates the current status of the - KeptnAppVersion's PreDeployment phase. - type: string - preDeploymentTaskStatus: - description: PreDeploymentTaskStatus indicates the current state of - each preDeploymentTask of the KeptnAppVersion. - items: - properties: - definitionName: - description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition - type: string - endTime: - description: EndTime represents the time at which the Item (Evaluation/Task) - started. - format: date-time - type: string - name: - description: Name is the name of the Evaluation/Task - type: string - startTime: - description: StartTime represents the time at which the Item - (Evaluation/Task) started. - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase - state (Progressing/Succeeded/Failed/Unknown/Pending/Deprecated/Warning) - type: string - type: object - type: array - promotionStatus: - default: Pending - description: PromotionStatus indicates the current status of the KeptnAppVersion's - Promotion phase. - type: string - promotionTaskStatus: - description: PromotionTaskStatus indicates the current state of each - promotionTask of the KeptnAppVersion. - items: - properties: - definitionName: - description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition - type: string - endTime: - description: EndTime represents the time at which the Item (Evaluation/Task) - started. - format: date-time - type: string - name: - description: Name is the name of the Evaluation/Task - type: string - startTime: - description: StartTime represents the time at which the Item - (Evaluation/Task) started. - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase - state (Progressing/Succeeded/Failed/Unknown/Pending/Deprecated/Warning) - type: string - type: object - type: array - startTime: - description: StartTime represents the time at which the deployment - of the KeptnAppVersion started. - format: date-time - type: string - status: - default: Pending - description: Status represents the overall status of the KeptnAppVersion. - type: string - workloadOverallStatus: - default: Pending - description: WorkloadOverallStatus indicates the current status of - the KeptnAppVersion's Workload deployment phase. - type: string - workloadStatus: - description: WorkloadStatus contains the current status of each KeptnWorkload - that is part of the KeptnAppVersion. - items: - properties: - status: - default: Pending - description: Status indicates the current status of the KeptnWorkload. - type: string - workload: - description: Workload refers to a KeptnWorkload that is part - of the KeptnAppVersion. - properties: - name: - description: Name is the name of the KeptnWorkload. - type: string - version: - description: Version is the version of the KeptnWorkload. - type: string - required: - - name - - version - type: object - type: object - type: array - type: object - type: object - served: true - storage: true - subresources: - status: {} diff --git a/lifecycle-operator/chart/templates/keptnconfig-crd.yaml b/lifecycle-operator/chart/templates/keptnconfig-crd.yaml deleted file mode 100644 index 1978a0b7a6..0000000000 --- a/lifecycle-operator/chart/templates/keptnconfig-crd.yaml +++ /dev/null @@ -1,86 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnconfigs.options.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.14.0 - {{- with .Values.global.caInjectionAnnotations }} - {{- toYaml . | nindent 4 }} - {{- end }} - {{- include "common.annotations" ( dict "context" . ) }} - labels: - app.kubernetes.io/part-of: keptn - crdGroup: lifecycle.keptn.sh - keptn.sh/inject-cert: "true" -{{- include "common.labels.standard" ( dict "context" . ) | nindent 4 }} -spec: - group: options.keptn.sh - names: - kind: KeptnConfig - listKind: KeptnConfigList - plural: keptnconfigs - singular: keptnconfig - scope: Namespaced - versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - description: KeptnConfig is the Schema for the keptnconfigs API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: KeptnConfigSpec defines the desired state of KeptnConfig - properties: - OTelCollectorUrl: - description: OTelCollectorUrl can be used to set the Open Telemetry - collector that the lifecycle operator should use - type: string - blockDeployment: - default: true - description: |- - BlockDeployment is used to block the deployment of the application until the pre-deployment - tasks and evaluations succeed - type: boolean - cloudEventsEndpoint: - description: CloudEventsEndpoint can be used to set the endpoint where - Cloud Events should be posted by the lifecycle operator - type: string - keptnAppCreationRequestTimeoutSeconds: - default: 30 - description: |- - KeptnAppCreationRequestTimeoutSeconds is used to set the interval in which automatic app discovery - searches for workload to put into the same auto-generated KeptnApp - type: integer - observabilityTimeout: - default: 5m - description: |- - ObservabilityTimeout specifies the maximum time to observe the deployment phase of KeptnWorkload. - If the workload does not deploy successfully within this time frame, it will be - considered as failed. - pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ - type: string - type: object - status: - description: unused field - type: string - type: object - served: true - storage: true - subresources: - status: {} diff --git a/lifecycle-operator/chart/templates/keptnevaluation-crd.yaml b/lifecycle-operator/chart/templates/keptnevaluation-crd.yaml deleted file mode 100644 index cefe794fa7..0000000000 --- a/lifecycle-operator/chart/templates/keptnevaluation-crd.yaml +++ /dev/null @@ -1,558 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnevaluations.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.14.0 - {{- with .Values.global.caInjectionAnnotations }} - {{- toYaml . | nindent 4 }} - {{- end }} - {{- include "common.annotations" ( dict "context" . ) }} - labels: - app.kubernetes.io/part-of: keptn - crdGroup: lifecycle.keptn.sh - keptn.sh/inject-cert: "true" -{{- include "common.labels.standard" ( dict "context" . ) | nindent 4 }} -spec: - group: lifecycle.keptn.sh - names: - kind: KeptnEvaluation - listKind: KeptnEvaluationList - plural: keptnevaluations - shortNames: - - ke - singular: keptnevaluation - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .spec.appName - name: AppName - type: string - - jsonPath: .spec.appVersion - name: AppVersion - type: string - - jsonPath: .spec.workload - name: WorkloadName - type: string - - jsonPath: .spec.workloadVersion - name: WorkloadVersion - type: string - - jsonPath: .status.retryCount - name: RetryCount - type: string - - jsonPath: .status.evaluationStatus - name: EvaluationStatus - type: string - - jsonPath: .status.overallStatus - name: OverallStatus - type: string - name: v1alpha1 - schema: - openAPIV3Schema: - description: KeptnEvaluation is the Schema for the keptnevaluations API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: KeptnEvaluationSpec defines the desired state of KeptnEvaluation - properties: - appName: - type: string - appVersion: - type: string - checkType: - type: string - evaluationDefinition: - type: string - retries: - default: 10 - type: integer - retryInterval: - default: 5s - pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ - type: string - workload: - type: string - workloadVersion: - type: string - required: - - evaluationDefinition - - workloadVersion - type: object - status: - description: KeptnEvaluationStatus defines the observed state of KeptnEvaluation - properties: - endTime: - format: date-time - type: string - evaluationStatus: - additionalProperties: - properties: - message: - type: string - status: - description: KeptnState is a string containing current Phase - state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - value: - type: string - required: - - status - - value - type: object - type: object - overallStatus: - default: Pending - description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - retryCount: - default: 0 - type: integer - startTime: - format: date-time - type: string - required: - - evaluationStatus - - overallStatus - - retryCount - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .spec.appName - name: AppName - type: string - - jsonPath: .spec.appVersion - name: AppVersion - type: string - - jsonPath: .spec.workload - name: WorkloadName - type: string - - jsonPath: .spec.workloadVersion - name: WorkloadVersion - type: string - - jsonPath: .status.retryCount - name: RetryCount - type: string - - jsonPath: .status.evaluationStatus - name: EvaluationStatus - type: string - - jsonPath: .status.overallStatus - name: OverallStatus - type: string - name: v1alpha2 - schema: - openAPIV3Schema: - description: KeptnEvaluation is the Schema for the keptnevaluations API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: KeptnEvaluationSpec defines the desired state of KeptnEvaluation - properties: - appName: - type: string - appVersion: - type: string - checkType: - type: string - evaluationDefinition: - type: string - failAction: - type: string - retries: - default: 10 - type: integer - retryInterval: - default: 5s - pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ - type: string - workload: - type: string - workloadVersion: - type: string - required: - - evaluationDefinition - - workloadVersion - type: object - status: - description: KeptnEvaluationStatus defines the observed state of KeptnEvaluation - properties: - endTime: - format: date-time - type: string - evaluationStatus: - additionalProperties: - properties: - message: - type: string - status: - description: KeptnState is a string containing current Phase - state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - value: - type: string - required: - - status - - value - type: object - type: object - overallStatus: - default: Pending - description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - retryCount: - default: 0 - type: integer - startTime: - format: date-time - type: string - required: - - evaluationStatus - - overallStatus - - retryCount - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .spec.appName - name: AppName - type: string - - jsonPath: .spec.appVersion - name: AppVersion - type: string - - jsonPath: .spec.workload - name: WorkloadName - type: string - - jsonPath: .spec.workloadVersion - name: WorkloadVersion - type: string - - jsonPath: .status.retryCount - name: RetryCount - type: string - - jsonPath: .status.evaluationStatus - name: EvaluationStatus - type: string - - jsonPath: .status.overallStatus - name: OverallStatus - type: string - name: v1alpha3 - schema: - openAPIV3Schema: - description: KeptnEvaluation is the Schema for the keptnevaluations API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Spec describes the desired state of the KeptnEvaluation. - properties: - appName: - description: AppName defines the KeptnApp for which the KeptnEvaluation - is done. - type: string - appVersion: - description: AppVersion defines the version of the KeptnApp for which - the KeptnEvaluation is done. - type: string - checkType: - description: Type indicates whether the KeptnEvaluation is part of - the pre- or postDeployment phase. - type: string - evaluationDefinition: - description: |- - EvaluationDefinition refers to the name of the KeptnEvaluationDefinition - which includes the objectives for the KeptnEvaluation. - The KeptnEvaluationDefinition can be - located in the same namespace as the KeptnEvaluation, or in the Keptn namespace. - type: string - failAction: - type: string - retries: - default: 10 - description: |- - Retries indicates how many times the KeptnEvaluation can be attempted in the case of an error or - missed evaluation objective, before considering the KeptnEvaluation to be failed. - type: integer - retryInterval: - default: 5s - description: |- - RetryInterval specifies the interval at which the KeptnEvaluation is retried in the case of an error - or a missed objective. - pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ - type: string - workload: - description: Workload defines the KeptnWorkload for which the KeptnEvaluation - is done. - type: string - workloadVersion: - description: WorkloadVersion defines the version of the KeptnWorkload - for which the KeptnEvaluation is done. - type: string - required: - - evaluationDefinition - - workloadVersion - type: object - status: - description: Status describes the current state of the KeptnEvaluation. - properties: - endTime: - description: EndTime represents the time at which the KeptnEvaluation - finished. - format: date-time - type: string - evaluationStatus: - additionalProperties: - properties: - message: - description: |- - Message contains additional information about the evaluation of an objective. - This can include explanations about why an evaluation has failed (e.g. due to a missed objective), - or if there was any error during the evaluation of the objective. - type: string - status: - description: Status indicates the status of the objective being - evaluated. - type: string - value: - description: Value represents the value of the KeptnMetric being - evaluated. - type: string - required: - - status - - value - type: object - description: |- - EvaluationStatus describes the status of each objective of the KeptnEvaluationDefinition - referenced by the KeptnEvaluation. - type: object - overallStatus: - default: Pending - description: |- - OverallStatus describes the overall status of the KeptnEvaluation. The Overall status is derived - from the status of the individual objectives of the KeptnEvaluationDefinition - referenced by the KeptnEvaluation. - type: string - retryCount: - default: 0 - description: RetryCount indicates how many times the KeptnEvaluation - has been attempted already. - type: integer - startTime: - description: StartTime represents the time at which the KeptnEvaluation - started. - format: date-time - type: string - required: - - evaluationStatus - - overallStatus - - retryCount - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .spec.appName - name: AppName - type: string - - jsonPath: .spec.appVersion - name: AppVersion - type: string - - jsonPath: .spec.workload - name: WorkloadName - type: string - - jsonPath: .spec.workloadVersion - name: WorkloadVersion - type: string - - jsonPath: .status.retryCount - name: RetryCount - type: string - - jsonPath: .status.evaluationStatus - name: EvaluationStatus - type: string - - jsonPath: .status.overallStatus - name: OverallStatus - type: string - name: v1beta1 - schema: - openAPIV3Schema: - description: KeptnEvaluation is the Schema for the keptnevaluations API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Spec describes the desired state of the KeptnEvaluation. - properties: - appName: - description: AppName defines the KeptnApp for which the KeptnEvaluation - is done. - type: string - appVersion: - description: AppVersion defines the version of the KeptnApp for which - the KeptnEvaluation is done. - type: string - checkType: - description: Type indicates whether the KeptnEvaluation is part of - the pre- or postDeployment phase. - type: string - evaluationDefinition: - description: |- - EvaluationDefinition refers to the name of the KeptnEvaluationDefinition - which includes the objectives for the KeptnEvaluation. - The KeptnEvaluationDefinition can be - located in the same namespace as the KeptnEvaluation, or in the Keptn namespace. - type: string - failAction: - type: string - retries: - default: 10 - description: |- - Retries indicates how many times the KeptnEvaluation can be attempted in the case of an error or - missed evaluation objective, before considering the KeptnEvaluation to be failed. - type: integer - retryInterval: - default: 5s - description: |- - RetryInterval specifies the interval at which the KeptnEvaluation is retried in the case of an error - or a missed objective. - pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ - type: string - workload: - description: Workload defines the KeptnWorkload for which the KeptnEvaluation - is done. - type: string - workloadVersion: - description: WorkloadVersion defines the version of the KeptnWorkload - for which the KeptnEvaluation is done. - type: string - required: - - evaluationDefinition - - workloadVersion - type: object - status: - description: Status describes the current state of the KeptnEvaluation. - properties: - endTime: - description: EndTime represents the time at which the KeptnEvaluation - finished. - format: date-time - type: string - evaluationStatus: - additionalProperties: - properties: - message: - description: |- - Message contains additional information about the evaluation of an objective. - This can include explanations about why an evaluation has failed (e.g. due to a missed objective), - or if there was any error during the evaluation of the objective. - type: string - status: - description: Status indicates the status of the objective being - evaluated. - type: string - value: - description: Value represents the value of the KeptnMetric being - evaluated. - type: string - required: - - status - - value - type: object - description: |- - EvaluationStatus describes the status of each objective of the KeptnEvaluationDefinition - referenced by the KeptnEvaluation. - type: object - overallStatus: - default: Pending - description: |- - OverallStatus describes the overall status of the KeptnEvaluation. The Overall status is derived - from the status of the individual objectives of the KeptnEvaluationDefinition - referenced by the KeptnEvaluation. - type: string - retryCount: - default: 0 - description: RetryCount indicates how many times the KeptnEvaluation - has been attempted already. - type: integer - startTime: - description: StartTime represents the time at which the KeptnEvaluation - started. - format: date-time - type: string - required: - - evaluationStatus - - overallStatus - - retryCount - type: object - type: object - served: true - storage: true - subresources: - status: {} diff --git a/lifecycle-operator/chart/templates/keptnevaluationdefinition-crd.yaml b/lifecycle-operator/chart/templates/keptnevaluationdefinition-crd.yaml deleted file mode 100644 index b8f75102a6..0000000000 --- a/lifecycle-operator/chart/templates/keptnevaluationdefinition-crd.yaml +++ /dev/null @@ -1,285 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnevaluationdefinitions.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.14.0 - {{- with .Values.global.caInjectionAnnotations }} - {{- toYaml . | nindent 4 }} - {{- end }} - {{- include "common.annotations" ( dict "context" . ) }} - labels: - app.kubernetes.io/part-of: keptn - crdGroup: lifecycle.keptn.sh - keptn.sh/inject-cert: "true" -{{- include "common.labels.standard" ( dict "context" . ) | nindent 4 }} -spec: - group: lifecycle.keptn.sh - names: - kind: KeptnEvaluationDefinition - listKind: KeptnEvaluationDefinitionList - plural: keptnevaluationdefinitions - shortNames: - - ked - singular: keptnevaluationdefinition - scope: Namespaced - versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - description: KeptnEvaluationDefinition is the Schema for the keptnevaluationdefinitions - API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: KeptnEvaluationDefinitionSpec defines the desired state of - KeptnEvaluationDefinition - properties: - objectives: - items: - properties: - evaluationTarget: - type: string - name: - type: string - query: - type: string - required: - - evaluationTarget - - name - - query - type: object - type: array - source: - type: string - required: - - objectives - - source - type: object - status: - description: unused field - type: string - type: object - served: true - storage: false - subresources: - status: {} - - name: v1alpha2 - schema: - openAPIV3Schema: - description: KeptnEvaluationDefinition is the Schema for the keptnevaluationdefinitions - API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: KeptnEvaluationDefinitionSpec defines the desired state of - KeptnEvaluationDefinition - properties: - objectives: - items: - properties: - evaluationTarget: - type: string - name: - type: string - query: - type: string - required: - - evaluationTarget - - name - - query - type: object - type: array - source: - type: string - required: - - objectives - - source - type: object - status: - description: unused field - type: string - type: object - served: true - storage: false - subresources: - status: {} - - name: v1alpha3 - schema: - openAPIV3Schema: - description: KeptnEvaluationDefinition is the Schema for the keptnevaluationdefinitions - API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Spec describes the desired state of the KeptnEvaluationDefinition. - properties: - objectives: - description: |- - Objectives is a list of objectives that have to be met for a KeptnEvaluation referencing this - KeptnEvaluationDefinition to be successful. - items: - properties: - evaluationTarget: - description: |- - EvaluationTarget specifies the target value for the references KeptnMetric. - Needs to start with either '<' or '>', followed by the target value (e.g. '<10'). - type: string - keptnMetricRef: - description: KeptnMetricRef references the KeptnMetric that - should be evaluated. - properties: - name: - description: Name is the name of the referenced KeptnMetric. - type: string - namespace: - description: Namespace is the namespace where the referenced - KeptnMetric is located. - type: string - required: - - name - type: object - required: - - evaluationTarget - - keptnMetricRef - type: object - type: array - required: - - objectives - type: object - status: - description: unused field - type: string - type: object - served: true - storage: false - subresources: - status: {} - - name: v1beta1 - schema: - openAPIV3Schema: - description: KeptnEvaluationDefinition is the Schema for the keptnevaluationdefinitions - API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Spec describes the desired state of the KeptnEvaluationDefinition. - properties: - objectives: - description: |- - Objectives is a list of objectives that have to be met for a KeptnEvaluation referencing this - KeptnEvaluationDefinition to be successful. - items: - properties: - evaluationTarget: - description: |- - EvaluationTarget specifies the target value for the references KeptnMetric. - Needs to start with either '<' or '>', followed by the target value (e.g. '<10'). - type: string - keptnMetricRef: - description: KeptnMetricRef references the KeptnMetric that - should be evaluated. - properties: - name: - description: Name is the name of the referenced KeptnMetric. - type: string - namespace: - description: Namespace is the namespace where the referenced - KeptnMetric is located. - type: string - required: - - name - type: object - required: - - evaluationTarget - - keptnMetricRef - type: object - type: array - retries: - default: 10 - description: |- - Retries indicates how many times the KeptnEvaluation can be attempted in the case of an error or - missed evaluation objective, before considering the KeptnEvaluation to be failed. - type: integer - retryInterval: - default: 5s - description: |- - RetryInterval specifies the interval at which the KeptnEvaluation is retried in the case of an error - or a missed objective. - pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ - type: string - required: - - objectives - type: object - status: - description: unused field - type: string - type: object - served: true - storage: true - subresources: - status: {} diff --git a/lifecycle-operator/chart/templates/keptntask-crd.yaml b/lifecycle-operator/chart/templates/keptntask-crd.yaml deleted file mode 100644 index afc1bd857e..0000000000 --- a/lifecycle-operator/chart/templates/keptntask-crd.yaml +++ /dev/null @@ -1,597 +0,0 @@ ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptntasks.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.14.0 - {{- with .Values.global.caInjectionAnnotations }} - {{- toYaml . | nindent 4 }} - {{- end }} - {{- include "common.annotations" ( dict "context" . ) }} - labels: - app.kubernetes.io/part-of: keptn - crdGroup: lifecycle.keptn.sh - keptn.sh/inject-cert: "true" -{{- include "common.labels.standard" ( dict "context" . ) | nindent 4 }} -spec: - group: lifecycle.keptn.sh - names: - kind: KeptnTask - listKind: KeptnTaskList - plural: keptntasks - singular: keptntask - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .spec.app - name: AppName - type: string - - jsonPath: .spec.appVersion - name: AppVersion - type: string - - jsonPath: .spec.workload - name: WorkloadName - type: string - - jsonPath: .spec.workloadVersion - name: WorkloadVersion - type: string - - jsonPath: .status.jobName - name: Job Name - type: string - - jsonPath: .status.status - name: Status - type: string - name: v1alpha1 - schema: - openAPIV3Schema: - description: KeptnTask is the Schema for the keptntasks API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: KeptnTaskSpec defines the desired state of KeptnTask - properties: - app: - type: string - appVersion: - type: string - checkType: - type: string - context: - properties: - appName: - type: string - appVersion: - type: string - objectType: - type: string - taskType: - type: string - workloadName: - type: string - workloadVersion: - type: string - required: - - appName - - appVersion - - objectType - - taskType - - workloadName - - workloadVersion - type: object - parameters: - properties: - map: - additionalProperties: - type: string - type: object - type: object - secureParameters: - properties: - secret: - type: string - type: object - taskDefinition: - type: string - workload: - type: string - workloadVersion: - type: string - required: - - app - - appVersion - - context - - taskDefinition - - workload - - workloadVersion - type: object - status: - description: KeptnTaskStatus defines the observed state of KeptnTask - properties: - endTime: - format: date-time - type: string - jobName: - type: string - message: - type: string - startTime: - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .spec.app - name: AppName - type: string - - jsonPath: .spec.appVersion - name: AppVersion - type: string - - jsonPath: .spec.workload - name: WorkloadName - type: string - - jsonPath: .spec.workloadVersion - name: WorkloadVersion - type: string - - jsonPath: .status.jobName - name: Job Name - type: string - - jsonPath: .status.status - name: Status - type: string - name: v1alpha2 - schema: - openAPIV3Schema: - description: KeptnTask is the Schema for the keptntasks API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: KeptnTaskSpec defines the desired state of KeptnTask - properties: - app: - type: string - appVersion: - type: string - checkType: - type: string - context: - properties: - appName: - type: string - appVersion: - type: string - objectType: - type: string - taskType: - type: string - workloadName: - type: string - workloadVersion: - type: string - required: - - appName - - appVersion - - objectType - - taskType - - workloadName - - workloadVersion - type: object - parameters: - properties: - map: - additionalProperties: - type: string - type: object - type: object - secureParameters: - properties: - secret: - type: string - type: object - taskDefinition: - type: string - workload: - type: string - workloadVersion: - type: string - required: - - app - - appVersion - - context - - taskDefinition - - workload - - workloadVersion - type: object - status: - description: KeptnTaskStatus defines the observed state of KeptnTask - properties: - endTime: - format: date-time - type: string - jobName: - type: string - message: - type: string - startTime: - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .spec.app - name: AppName - type: string - - jsonPath: .spec.appVersion - name: AppVersion - type: string - - jsonPath: .spec.workload - name: WorkloadName - type: string - - jsonPath: .spec.workloadVersion - name: WorkloadVersion - type: string - - jsonPath: .status.jobName - name: Job Name - type: string - - jsonPath: .status.status - name: Status - type: string - name: v1alpha3 - schema: - openAPIV3Schema: - description: KeptnTask is the Schema for the keptntasks API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Spec describes the desired state of the KeptnTask. - properties: - checkType: - description: Type indicates whether the KeptnTask is part of the pre- - or postDeployment phase. - type: string - context: - description: Context contains contextual information about the task - execution. - properties: - appName: - description: AppName the name of the KeptnApp the KeptnTask is - being executed for. - type: string - appVersion: - description: AppVersion the version of the KeptnApp the KeptnTask - is being executed for. - type: string - objectType: - description: ObjectType indicates whether the KeptnTask is being - executed for a KeptnApp or KeptnWorkload. - type: string - taskType: - description: TaskType indicates whether the KeptnTask is part - of the pre- or postDeployment phase. - type: string - workloadName: - description: WorkloadName the name of the KeptnWorkload the KeptnTask - is being executed for. - type: string - workloadVersion: - description: WorkloadVersion the version of the KeptnWorkload - the KeptnTask is being executed for. - type: string - type: object - parameters: - description: Parameters contains parameters that will be passed to - the job that executes the task. - properties: - map: - additionalProperties: - type: string - description: |- - Inline contains the parameters that will be made available to the job - executing the KeptnTask via the 'DATA' environment variable. - The 'DATA' environment variable's content will be a json - encoded string containing all properties of the map provided. - type: object - type: object - retries: - default: 10 - description: |- - Retries indicates how many times the KeptnTask can be attempted in the case of an error - before considering the KeptnTask to be failed. - format: int32 - type: integer - secureParameters: - description: |- - SecureParameters contains secure parameters that will be passed to the job that executes the task. - These will be stored and accessed as secrets in the cluster. - properties: - secret: - description: |- - Secret contains the parameters that will be made available to the job - executing the KeptnTask via the 'SECRET_DATA' environment variable. - The 'SECRET_DATA' environment variable's content will the same as value of the 'SECRET_DATA' - key of the referenced secret. - type: string - type: object - taskDefinition: - description: |- - TaskDefinition refers to the name of the KeptnTaskDefinition - which includes the specification for the task to be performed. - The KeptnTaskDefinition can be - located in the same namespace as the KeptnTask, or in the Keptn namespace. - type: string - timeout: - default: 5m - description: |- - Timeout specifies the maximum time to wait for the task to be completed successfully. - If the task does not complete successfully within this time frame, it will be - considered to be failed. - pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ - type: string - required: - - taskDefinition - type: object - status: - description: Status describes the current state of the KeptnTask. - properties: - endTime: - description: EndTime represents the time at which the KeptnTask finished. - format: date-time - type: string - jobName: - description: JobName is the name of the Job executing the Task. - type: string - message: - description: Message contains information about unexpected errors - encountered during the execution of the KeptnTask. - type: string - reason: - description: Reason contains more information about the reason for - the last transition of the Job executing the KeptnTask. - type: string - startTime: - description: StartTime represents the time at which the KeptnTask - started. - format: date-time - type: string - status: - default: Pending - description: Status represents the overall state of the KeptnTask. - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .spec.app - name: AppName - type: string - - jsonPath: .spec.appVersion - name: AppVersion - type: string - - jsonPath: .spec.workload - name: WorkloadName - type: string - - jsonPath: .spec.workloadVersion - name: WorkloadVersion - type: string - - jsonPath: .status.jobName - name: Job Name - type: string - - jsonPath: .status.status - name: Status - type: string - name: v1beta1 - schema: - openAPIV3Schema: - description: KeptnTask is the Schema for the keptntasks API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Spec describes the desired state of the KeptnTask. - properties: - checkType: - description: Type indicates whether the KeptnTask is part of the pre- - or postDeployment phase. - type: string - context: - description: Context contains contextual information about the task - execution. - properties: - appName: - description: AppName the name of the KeptnApp the KeptnTask is - being executed for. - type: string - appVersion: - description: AppVersion the version of the KeptnApp the KeptnTask - is being executed for. - type: string - metadata: - additionalProperties: - type: string - description: Metadata contains additional key-value pairs for - contextual information. - type: object - objectType: - description: ObjectType indicates whether the KeptnTask is being - executed for a KeptnApp or KeptnWorkload. - type: string - taskType: - description: TaskType indicates whether the KeptnTask is part - of the pre- or postDeployment phase. - type: string - workloadName: - description: WorkloadName the name of the KeptnWorkload the KeptnTask - is being executed for. - type: string - workloadVersion: - description: WorkloadVersion the version of the KeptnWorkload - the KeptnTask is being executed for. - type: string - type: object - parameters: - description: Parameters contains parameters that will be passed to - the job that executes the task. - properties: - map: - additionalProperties: - type: string - description: |- - Inline contains the parameters that will be made available to the job - executing the KeptnTask via the 'DATA' environment variable. - The 'DATA' environment variable's content will be a json - encoded string containing all properties of the map provided. - type: object - type: object - retries: - default: 10 - description: |- - Retries indicates how many times the KeptnTask can be attempted in the case of an error - before considering the KeptnTask to be failed. - format: int32 - type: integer - secureParameters: - description: |- - SecureParameters contains secure parameters that will be passed to the job that executes the task. - These will be stored and accessed as secrets in the cluster. - properties: - secret: - description: |- - Secret contains the parameters that will be made available to the job - executing the KeptnTask via the 'SECRET_DATA' environment variable. - The 'SECRET_DATA' environment variable's content will the same as value of the 'SECRET_DATA' - key of the referenced secret. - type: string - type: object - taskDefinition: - description: |- - TaskDefinition refers to the name of the KeptnTaskDefinition - which includes the specification for the task to be performed. - The KeptnTaskDefinition can be - located in the same namespace as the KeptnTask, or in the Keptn namespace. - type: string - timeout: - default: 5m - description: |- - Timeout specifies the maximum time to wait for the task to be completed successfully. - If the task does not complete successfully within this time frame, it will be - considered to be failed. - pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ - type: string - required: - - taskDefinition - type: object - status: - description: Status describes the current state of the KeptnTask. - properties: - endTime: - description: EndTime represents the time at which the KeptnTask finished. - format: date-time - type: string - jobName: - description: JobName is the name of the Job executing the Task. - type: string - message: - description: Message contains information about unexpected errors - encountered during the execution of the KeptnTask. - type: string - reason: - description: Reason contains more information about the reason for - the last transition of the Job executing the KeptnTask. - type: string - startTime: - description: StartTime represents the time at which the KeptnTask - started. - format: date-time - type: string - status: - default: Pending - description: Status represents the overall state of the KeptnTask. - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} diff --git a/lifecycle-operator/chart/templates/keptntaskdefinition-crd.yaml b/lifecycle-operator/chart/templates/keptntaskdefinition-crd.yaml deleted file mode 100644 index 4c4b164b1a..0000000000 --- a/lifecycle-operator/chart/templates/keptntaskdefinition-crd.yaml +++ /dev/null @@ -1,3438 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptntaskdefinitions.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.14.0 - {{- with .Values.global.caInjectionAnnotations }} - {{- toYaml . | nindent 4 }} - {{- end }} - {{- include "common.annotations" ( dict "context" . ) }} - labels: - app.kubernetes.io/part-of: keptn - crdGroup: lifecycle.keptn.sh - keptn.sh/inject-cert: "true" -{{- include "common.labels.standard" ( dict "context" . ) | nindent 4 }} -spec: - group: lifecycle.keptn.sh - names: - kind: KeptnTaskDefinition - listKind: KeptnTaskDefinitionList - plural: keptntaskdefinitions - singular: keptntaskdefinition - scope: Namespaced - versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - description: KeptnTaskDefinition is the Schema for the keptntaskdefinitions - API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: KeptnTaskDefinitionSpec defines the desired state of KeptnTaskDefinition - properties: - function: - properties: - configMapRef: - properties: - name: - type: string - type: object - functionRef: - properties: - name: - type: string - type: object - httpRef: - properties: - url: - type: string - type: object - inline: - properties: - code: - type: string - type: object - parameters: - properties: - map: - additionalProperties: - type: string - type: object - type: object - secureParameters: - properties: - secret: - type: string - type: object - type: object - type: object - status: - description: KeptnTaskDefinitionStatus defines the observed state of KeptnTaskDefinition - properties: - function: - properties: - configMap: - type: string - type: object - type: object - type: object - served: true - storage: false - subresources: - status: {} - - name: v1alpha2 - schema: - openAPIV3Schema: - description: KeptnTaskDefinition is the Schema for the keptntaskdefinitions - API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: KeptnTaskDefinitionSpec defines the desired state of KeptnTaskDefinition - properties: - function: - properties: - configMapRef: - properties: - name: - type: string - type: object - functionRef: - properties: - name: - type: string - type: object - httpRef: - properties: - url: - type: string - type: object - inline: - properties: - code: - type: string - type: object - parameters: - properties: - map: - additionalProperties: - type: string - type: object - type: object - secureParameters: - properties: - secret: - type: string - type: object - type: object - type: object - status: - description: KeptnTaskDefinitionStatus defines the observed state of KeptnTaskDefinition - properties: - function: - properties: - configMap: - type: string - type: object - type: object - type: object - served: true - storage: false - subresources: - status: {} - - name: v1alpha3 - schema: - openAPIV3Schema: - description: KeptnTaskDefinition is the Schema for the keptntaskdefinitions - API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Spec describes the desired state of the KeptnTaskDefinition. - properties: - automountServiceAccountToken: - description: |- - AutomountServiceAccountToken allows to enable K8s to assign cluster API credentials to a pod, if set to false - the pod will decline the service account - properties: - type: - type: boolean - required: - - type - type: object - container: - description: Container contains the definition for the container that - is to be used in Job. - properties: - args: - description: |- - Arguments to the entrypoint. - The container image's CMD is used if this is not provided. - Variable references $(VAR_NAME) are expanded using the container's environment. If a variable - cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced - to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will - produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless - of whether the variable exists or not. Cannot be updated. - More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell - items: - type: string - type: array - command: - description: |- - Entrypoint array. Not executed within a shell. - The container image's ENTRYPOINT is used if this is not provided. - Variable references $(VAR_NAME) are expanded using the container's environment. If a variable - cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced - to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will - produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless - of whether the variable exists or not. Cannot be updated. - More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell - items: - type: string - type: array - env: - description: |- - List of environment variables to set in the container. - Cannot be updated. - items: - description: EnvVar represents an environment variable present - in a Container. - properties: - name: - description: Name of the environment variable. Must be a - C_IDENTIFIER. - type: string - value: - description: |- - Variable references $(VAR_NAME) are expanded - using the previously defined environment variables in the container and - any service environment variables. If a variable cannot be resolved, - the reference in the input string will be unchanged. Double $$ are reduced - to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. - "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". - Escaped references will never be expanded, regardless of whether the variable - exists or not. - Defaults to "". - type: string - valueFrom: - description: Source for the environment variable's value. - Cannot be used if value is not empty. - properties: - configMapKeyRef: - description: Selects a key of a ConfigMap. - properties: - key: - description: The key to select. - type: string - name: - description: |- - Name of the referent. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid? - type: string - optional: - description: Specify whether the ConfigMap or its - key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - fieldRef: - description: |- - Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, - spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. - properties: - apiVersion: - description: Version of the schema the FieldPath - is written in terms of, defaults to "v1". - type: string - fieldPath: - description: Path of the field to select in the - specified API version. - type: string - required: - - fieldPath - type: object - x-kubernetes-map-type: atomic - resourceFieldRef: - description: |- - Selects a resource of the container: only resources limits and requests - (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. - properties: - containerName: - description: 'Container name: required for volumes, - optional for env vars' - type: string - divisor: - anyOf: - - type: integer - - type: string - description: Specifies the output format of the - exposed resources, defaults to "1" - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - resource: - description: 'Required: resource to select' - type: string - required: - - resource - type: object - x-kubernetes-map-type: atomic - secretKeyRef: - description: Selects a key of a secret in the pod's - namespace - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: |- - Name of the referent. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid? - type: string - optional: - description: Specify whether the Secret or its key - must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - required: - - name - type: object - type: array - envFrom: - description: |- - List of sources to populate environment variables in the container. - The keys defined within a source must be a C_IDENTIFIER. All invalid keys - will be reported as an event when the container is starting. When a key exists in multiple - sources, the value associated with the last source will take precedence. - Values defined by an Env with a duplicate key will take precedence. - Cannot be updated. - items: - description: EnvFromSource represents the source of a set of - ConfigMaps - properties: - configMapRef: - description: The ConfigMap to select from - properties: - name: - description: |- - Name of the referent. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid? - type: string - optional: - description: Specify whether the ConfigMap must be defined - type: boolean - type: object - x-kubernetes-map-type: atomic - prefix: - description: An optional identifier to prepend to each key - in the ConfigMap. Must be a C_IDENTIFIER. - type: string - secretRef: - description: The Secret to select from - properties: - name: - description: |- - Name of the referent. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid? - type: string - optional: - description: Specify whether the Secret must be defined - type: boolean - type: object - x-kubernetes-map-type: atomic - type: object - type: array - image: - description: |- - Container image name. - More info: https://kubernetes.io/docs/concepts/containers/images - This field is optional to allow higher level config management to default or override - container images in workload controllers like Deployments and StatefulSets. - type: string - imagePullPolicy: - description: |- - Image pull policy. - One of Always, Never, IfNotPresent. - Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. - Cannot be updated. - More info: https://kubernetes.io/docs/concepts/containers/images#updating-images - type: string - lifecycle: - description: |- - Actions that the management system should take in response to container lifecycle events. - Cannot be updated. - properties: - postStart: - description: |- - PostStart is called immediately after a container is created. If the handler fails, - the container is terminated and restarted according to its restart policy. - Other management of the container blocks until the hook completes. - More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks - properties: - exec: - description: Exec specifies the action to take. - properties: - command: - description: |- - Command is the command line to execute inside the container, the working directory for the - command is root ('/') in the container's filesystem. The command is simply exec'd, it is - not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use - a shell, you need to explicitly call out to that shell. - Exit status of 0 is treated as live/healthy and non-zero is unhealthy. - items: - type: string - type: array - type: object - httpGet: - description: HTTPGet specifies the http request to perform. - properties: - host: - description: |- - Host name to connect to, defaults to the pod IP. You probably want to set - "Host" in httpHeaders instead. - type: string - httpHeaders: - description: Custom headers to set in the request. - HTTP allows repeated headers. - items: - description: HTTPHeader describes a custom header - to be used in HTTP probes - properties: - name: - description: |- - The header field name. - This will be canonicalized upon output, so case-variant names will be understood as the same header. - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: object - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: integer - - type: string - description: |- - Name or number of the port to access on the container. - Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - scheme: - description: |- - Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - type: object - tcpSocket: - description: |- - Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept - for the backward compatibility. There are no validation of this field and - lifecycle hooks will fail in runtime when tcp handler is specified. - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: integer - - type: string - description: |- - Number or name of the port to access on the container. - Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - required: - - port - type: object - type: object - preStop: - description: |- - PreStop is called immediately before a container is terminated due to an - API request or management event such as liveness/startup probe failure, - preemption, resource contention, etc. The handler is not called if the - container crashes or exits. The Pod's termination grace period countdown begins before the - PreStop hook is executed. Regardless of the outcome of the handler, the - container will eventually terminate within the Pod's termination grace - period (unless delayed by finalizers). Other management of the container blocks until the hook completes - or until the termination grace period is reached. - More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks - properties: - exec: - description: Exec specifies the action to take. - properties: - command: - description: |- - Command is the command line to execute inside the container, the working directory for the - command is root ('/') in the container's filesystem. The command is simply exec'd, it is - not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use - a shell, you need to explicitly call out to that shell. - Exit status of 0 is treated as live/healthy and non-zero is unhealthy. - items: - type: string - type: array - type: object - httpGet: - description: HTTPGet specifies the http request to perform. - properties: - host: - description: |- - Host name to connect to, defaults to the pod IP. You probably want to set - "Host" in httpHeaders instead. - type: string - httpHeaders: - description: Custom headers to set in the request. - HTTP allows repeated headers. - items: - description: HTTPHeader describes a custom header - to be used in HTTP probes - properties: - name: - description: |- - The header field name. - This will be canonicalized upon output, so case-variant names will be understood as the same header. - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: object - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: integer - - type: string - description: |- - Name or number of the port to access on the container. - Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - scheme: - description: |- - Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - type: object - tcpSocket: - description: |- - Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept - for the backward compatibility. There are no validation of this field and - lifecycle hooks will fail in runtime when tcp handler is specified. - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: integer - - type: string - description: |- - Number or name of the port to access on the container. - Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - required: - - port - type: object - type: object - type: object - livenessProbe: - description: |- - Periodic probe of container liveness. - Container will be restarted if the probe fails. - Cannot be updated. - More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes - properties: - exec: - description: Exec specifies the action to take. - properties: - command: - description: |- - Command is the command line to execute inside the container, the working directory for the - command is root ('/') in the container's filesystem. The command is simply exec'd, it is - not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use - a shell, you need to explicitly call out to that shell. - Exit status of 0 is treated as live/healthy and non-zero is unhealthy. - items: - type: string - type: array - type: object - failureThreshold: - description: |- - Minimum consecutive failures for the probe to be considered failed after having succeeded. - Defaults to 3. Minimum value is 1. - format: int32 - type: integer - grpc: - description: GRPC specifies an action involving a GRPC port. - properties: - port: - description: Port number of the gRPC service. Number must - be in the range 1 to 65535. - format: int32 - type: integer - service: - description: |- - Service is the name of the service to place in the gRPC HealthCheckRequest - (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). - - - If this is not specified, the default behavior is defined by gRPC. - type: string - required: - - port - type: object - httpGet: - description: HTTPGet specifies the http request to perform. - properties: - host: - description: |- - Host name to connect to, defaults to the pod IP. You probably want to set - "Host" in httpHeaders instead. - type: string - httpHeaders: - description: Custom headers to set in the request. HTTP - allows repeated headers. - items: - description: HTTPHeader describes a custom header to - be used in HTTP probes - properties: - name: - description: |- - The header field name. - This will be canonicalized upon output, so case-variant names will be understood as the same header. - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: object - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: integer - - type: string - description: |- - Name or number of the port to access on the container. - Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - scheme: - description: |- - Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - type: object - initialDelaySeconds: - description: |- - Number of seconds after the container has started before liveness probes are initiated. - More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes - format: int32 - type: integer - periodSeconds: - description: |- - How often (in seconds) to perform the probe. - Default to 10 seconds. Minimum value is 1. - format: int32 - type: integer - successThreshold: - description: |- - Minimum consecutive successes for the probe to be considered successful after having failed. - Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. - format: int32 - type: integer - tcpSocket: - description: TCPSocket specifies an action involving a TCP - port. - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: integer - - type: string - description: |- - Number or name of the port to access on the container. - Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - required: - - port - type: object - terminationGracePeriodSeconds: - description: |- - Optional duration in seconds the pod needs to terminate gracefully upon probe failure. - The grace period is the duration in seconds after the processes running in the pod are sent - a termination signal and the time when the processes are forcibly halted with a kill signal. - Set this value longer than the expected cleanup time for your process. - If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this - value overrides the value provided by the pod spec. - Value must be non-negative integer. The value zero indicates stop immediately via - the kill signal (no opportunity to shut down). - This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. - Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. - format: int64 - type: integer - timeoutSeconds: - description: |- - Number of seconds after which the probe times out. - Defaults to 1 second. Minimum value is 1. - More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes - format: int32 - type: integer - type: object - name: - description: |- - Name of the container specified as a DNS_LABEL. - Each container in a pod must have a unique name (DNS_LABEL). - Cannot be updated. - type: string - ports: - description: |- - List of ports to expose from the container. Not specifying a port here - DOES NOT prevent that port from being exposed. Any port which is - listening on the default "0.0.0.0" address inside a container will be - accessible from the network. - Modifying this array with strategic merge patch may corrupt the data. - For more information See https://github.com/kubernetes/kubernetes/issues/108255. - Cannot be updated. - items: - description: ContainerPort represents a network port in a single - container. - properties: - containerPort: - description: |- - Number of port to expose on the pod's IP address. - This must be a valid port number, 0 < x < 65536. - format: int32 - type: integer - hostIP: - description: What host IP to bind the external port to. - type: string - hostPort: - description: |- - Number of port to expose on the host. - If specified, this must be a valid port number, 0 < x < 65536. - If HostNetwork is specified, this must match ContainerPort. - Most containers do not need this. - format: int32 - type: integer - name: - description: |- - If specified, this must be an IANA_SVC_NAME and unique within the pod. Each - named port in a pod must have a unique name. Name for the port that can be - referred to by services. - type: string - protocol: - default: TCP - description: |- - Protocol for port. Must be UDP, TCP, or SCTP. - Defaults to "TCP". - type: string - required: - - containerPort - type: object - type: array - x-kubernetes-list-map-keys: - - containerPort - - protocol - x-kubernetes-list-type: map - readinessProbe: - description: |- - Periodic probe of container service readiness. - Container will be removed from service endpoints if the probe fails. - Cannot be updated. - More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes - properties: - exec: - description: Exec specifies the action to take. - properties: - command: - description: |- - Command is the command line to execute inside the container, the working directory for the - command is root ('/') in the container's filesystem. The command is simply exec'd, it is - not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use - a shell, you need to explicitly call out to that shell. - Exit status of 0 is treated as live/healthy and non-zero is unhealthy. - items: - type: string - type: array - type: object - failureThreshold: - description: |- - Minimum consecutive failures for the probe to be considered failed after having succeeded. - Defaults to 3. Minimum value is 1. - format: int32 - type: integer - grpc: - description: GRPC specifies an action involving a GRPC port. - properties: - port: - description: Port number of the gRPC service. Number must - be in the range 1 to 65535. - format: int32 - type: integer - service: - description: |- - Service is the name of the service to place in the gRPC HealthCheckRequest - (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). - - - If this is not specified, the default behavior is defined by gRPC. - type: string - required: - - port - type: object - httpGet: - description: HTTPGet specifies the http request to perform. - properties: - host: - description: |- - Host name to connect to, defaults to the pod IP. You probably want to set - "Host" in httpHeaders instead. - type: string - httpHeaders: - description: Custom headers to set in the request. HTTP - allows repeated headers. - items: - description: HTTPHeader describes a custom header to - be used in HTTP probes - properties: - name: - description: |- - The header field name. - This will be canonicalized upon output, so case-variant names will be understood as the same header. - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: object - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: integer - - type: string - description: |- - Name or number of the port to access on the container. - Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - scheme: - description: |- - Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - type: object - initialDelaySeconds: - description: |- - Number of seconds after the container has started before liveness probes are initiated. - More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes - format: int32 - type: integer - periodSeconds: - description: |- - How often (in seconds) to perform the probe. - Default to 10 seconds. Minimum value is 1. - format: int32 - type: integer - successThreshold: - description: |- - Minimum consecutive successes for the probe to be considered successful after having failed. - Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. - format: int32 - type: integer - tcpSocket: - description: TCPSocket specifies an action involving a TCP - port. - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: integer - - type: string - description: |- - Number or name of the port to access on the container. - Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - required: - - port - type: object - terminationGracePeriodSeconds: - description: |- - Optional duration in seconds the pod needs to terminate gracefully upon probe failure. - The grace period is the duration in seconds after the processes running in the pod are sent - a termination signal and the time when the processes are forcibly halted with a kill signal. - Set this value longer than the expected cleanup time for your process. - If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this - value overrides the value provided by the pod spec. - Value must be non-negative integer. The value zero indicates stop immediately via - the kill signal (no opportunity to shut down). - This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. - Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. - format: int64 - type: integer - timeoutSeconds: - description: |- - Number of seconds after which the probe times out. - Defaults to 1 second. Minimum value is 1. - More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes - format: int32 - type: integer - type: object - resizePolicy: - description: Resources resize policy for the container. - items: - description: ContainerResizePolicy represents resource resize - policy for the container. - properties: - resourceName: - description: |- - Name of the resource to which this resource resize policy applies. - Supported values: cpu, memory. - type: string - restartPolicy: - description: |- - Restart policy to apply when specified resource is resized. - If not specified, it defaults to NotRequired. - type: string - required: - - resourceName - - restartPolicy - type: object - type: array - x-kubernetes-list-type: atomic - resources: - description: |- - Compute Resources required by this container. - Cannot be updated. - More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ - properties: - claims: - description: |- - Claims lists the names of resources, defined in spec.resourceClaims, - that are used by this container. - - - This is an alpha field and requires enabling the - DynamicResourceAllocation feature gate. - - - This field is immutable. It can only be set for containers. - items: - description: ResourceClaim references one entry in PodSpec.ResourceClaims. - properties: - name: - description: |- - Name must match the name of one entry in pod.spec.resourceClaims of - the Pod where this field is used. It makes that resource available - inside a container. - type: string - required: - - name - type: object - type: array - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - limits: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - description: |- - Limits describes the maximum amount of compute resources allowed. - More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ - type: object - requests: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - description: |- - Requests describes the minimum amount of compute resources required. - If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, - otherwise to an implementation-defined value. Requests cannot exceed Limits. - More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ - type: object - type: object - restartPolicy: - description: |- - RestartPolicy defines the restart behavior of individual containers in a pod. - This field may only be set for init containers, and the only allowed value is "Always". - For non-init containers or when this field is not specified, - the restart behavior is defined by the Pod's restart policy and the container type. - Setting the RestartPolicy as "Always" for the init container will have the following effect: - this init container will be continually restarted on - exit until all regular containers have terminated. Once all regular - containers have completed, all init containers with restartPolicy "Always" - will be shut down. This lifecycle differs from normal init containers and - is often referred to as a "sidecar" container. Although this init - container still starts in the init container sequence, it does not wait - for the container to complete before proceeding to the next init - container. Instead, the next init container starts immediately after this - init container is started, or after any startupProbe has successfully - completed. - type: string - securityContext: - description: |- - SecurityContext defines the security options the container should be run with. - If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. - More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ - properties: - allowPrivilegeEscalation: - description: |- - AllowPrivilegeEscalation controls whether a process can gain more - privileges than its parent process. This bool directly controls if - the no_new_privs flag will be set on the container process. - AllowPrivilegeEscalation is true always when the container is: - 1) run as Privileged - 2) has CAP_SYS_ADMIN - Note that this field cannot be set when spec.os.name is windows. - type: boolean - capabilities: - description: |- - The capabilities to add/drop when running containers. - Defaults to the default set of capabilities granted by the container runtime. - Note that this field cannot be set when spec.os.name is windows. - properties: - add: - description: Added capabilities - items: - description: Capability represent POSIX capabilities - type - type: string - type: array - drop: - description: Removed capabilities - items: - description: Capability represent POSIX capabilities - type - type: string - type: array - type: object - privileged: - description: |- - Run container in privileged mode. - Processes in privileged containers are essentially equivalent to root on the host. - Defaults to false. - Note that this field cannot be set when spec.os.name is windows. - type: boolean - procMount: - description: |- - procMount denotes the type of proc mount to use for the containers. - The default is DefaultProcMount which uses the container runtime defaults for - readonly paths and masked paths. - This requires the ProcMountType feature flag to be enabled. - Note that this field cannot be set when spec.os.name is windows. - type: string - readOnlyRootFilesystem: - description: |- - Whether this container has a read-only root filesystem. - Default is false. - Note that this field cannot be set when spec.os.name is windows. - type: boolean - runAsGroup: - description: |- - The GID to run the entrypoint of the container process. - Uses runtime default if unset. - May also be set in PodSecurityContext. If set in both SecurityContext and - PodSecurityContext, the value specified in SecurityContext takes precedence. - Note that this field cannot be set when spec.os.name is windows. - format: int64 - type: integer - runAsNonRoot: - description: |- - Indicates that the container must run as a non-root user. - If true, the Kubelet will validate the image at runtime to ensure that it - does not run as UID 0 (root) and fail to start the container if it does. - If unset or false, no such validation will be performed. - May also be set in PodSecurityContext. If set in both SecurityContext and - PodSecurityContext, the value specified in SecurityContext takes precedence. - type: boolean - runAsUser: - description: |- - The UID to run the entrypoint of the container process. - Defaults to user specified in image metadata if unspecified. - May also be set in PodSecurityContext. If set in both SecurityContext and - PodSecurityContext, the value specified in SecurityContext takes precedence. - Note that this field cannot be set when spec.os.name is windows. - format: int64 - type: integer - seLinuxOptions: - description: |- - The SELinux context to be applied to the container. - If unspecified, the container runtime will allocate a random SELinux context for each - container. May also be set in PodSecurityContext. If set in both SecurityContext and - PodSecurityContext, the value specified in SecurityContext takes precedence. - Note that this field cannot be set when spec.os.name is windows. - properties: - level: - description: Level is SELinux level label that applies - to the container. - type: string - role: - description: Role is a SELinux role label that applies - to the container. - type: string - type: - description: Type is a SELinux type label that applies - to the container. - type: string - user: - description: User is a SELinux user label that applies - to the container. - type: string - type: object - seccompProfile: - description: |- - The seccomp options to use by this container. If seccomp options are - provided at both the pod & container level, the container options - override the pod options. - Note that this field cannot be set when spec.os.name is windows. - properties: - localhostProfile: - description: |- - localhostProfile indicates a profile defined in a file on the node should be used. - The profile must be preconfigured on the node to work. - Must be a descending path, relative to the kubelet's configured seccomp profile location. - Must be set if type is "Localhost". Must NOT be set for any other type. - type: string - type: - description: |- - type indicates which kind of seccomp profile will be applied. - Valid options are: - - - Localhost - a profile defined in a file on the node should be used. - RuntimeDefault - the container runtime default profile should be used. - Unconfined - no profile should be applied. - type: string - required: - - type - type: object - windowsOptions: - description: |- - The Windows specific settings applied to all containers. - If unspecified, the options from the PodSecurityContext will be used. - If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. - Note that this field cannot be set when spec.os.name is linux. - properties: - gmsaCredentialSpec: - description: |- - GMSACredentialSpec is where the GMSA admission webhook - (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the - GMSA credential spec named by the GMSACredentialSpecName field. - type: string - gmsaCredentialSpecName: - description: GMSACredentialSpecName is the name of the - GMSA credential spec to use. - type: string - hostProcess: - description: |- - HostProcess determines if a container should be run as a 'Host Process' container. - All of a Pod's containers must have the same effective HostProcess value - (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). - In addition, if HostProcess is true then HostNetwork must also be set to true. - type: boolean - runAsUserName: - description: |- - The UserName in Windows to run the entrypoint of the container process. - Defaults to the user specified in image metadata if unspecified. - May also be set in PodSecurityContext. If set in both SecurityContext and - PodSecurityContext, the value specified in SecurityContext takes precedence. - type: string - type: object - type: object - startupProbe: - description: |- - StartupProbe indicates that the Pod has successfully initialized. - If specified, no other probes are executed until this completes successfully. - If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. - This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, - when it might take a long time to load data or warm a cache, than during steady-state operation. - This cannot be updated. - More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes - properties: - exec: - description: Exec specifies the action to take. - properties: - command: - description: |- - Command is the command line to execute inside the container, the working directory for the - command is root ('/') in the container's filesystem. The command is simply exec'd, it is - not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use - a shell, you need to explicitly call out to that shell. - Exit status of 0 is treated as live/healthy and non-zero is unhealthy. - items: - type: string - type: array - type: object - failureThreshold: - description: |- - Minimum consecutive failures for the probe to be considered failed after having succeeded. - Defaults to 3. Minimum value is 1. - format: int32 - type: integer - grpc: - description: GRPC specifies an action involving a GRPC port. - properties: - port: - description: Port number of the gRPC service. Number must - be in the range 1 to 65535. - format: int32 - type: integer - service: - description: |- - Service is the name of the service to place in the gRPC HealthCheckRequest - (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). - - - If this is not specified, the default behavior is defined by gRPC. - type: string - required: - - port - type: object - httpGet: - description: HTTPGet specifies the http request to perform. - properties: - host: - description: |- - Host name to connect to, defaults to the pod IP. You probably want to set - "Host" in httpHeaders instead. - type: string - httpHeaders: - description: Custom headers to set in the request. HTTP - allows repeated headers. - items: - description: HTTPHeader describes a custom header to - be used in HTTP probes - properties: - name: - description: |- - The header field name. - This will be canonicalized upon output, so case-variant names will be understood as the same header. - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: object - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: integer - - type: string - description: |- - Name or number of the port to access on the container. - Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - scheme: - description: |- - Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - type: object - initialDelaySeconds: - description: |- - Number of seconds after the container has started before liveness probes are initiated. - More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes - format: int32 - type: integer - periodSeconds: - description: |- - How often (in seconds) to perform the probe. - Default to 10 seconds. Minimum value is 1. - format: int32 - type: integer - successThreshold: - description: |- - Minimum consecutive successes for the probe to be considered successful after having failed. - Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. - format: int32 - type: integer - tcpSocket: - description: TCPSocket specifies an action involving a TCP - port. - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: integer - - type: string - description: |- - Number or name of the port to access on the container. - Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - required: - - port - type: object - terminationGracePeriodSeconds: - description: |- - Optional duration in seconds the pod needs to terminate gracefully upon probe failure. - The grace period is the duration in seconds after the processes running in the pod are sent - a termination signal and the time when the processes are forcibly halted with a kill signal. - Set this value longer than the expected cleanup time for your process. - If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this - value overrides the value provided by the pod spec. - Value must be non-negative integer. The value zero indicates stop immediately via - the kill signal (no opportunity to shut down). - This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. - Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. - format: int64 - type: integer - timeoutSeconds: - description: |- - Number of seconds after which the probe times out. - Defaults to 1 second. Minimum value is 1. - More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes - format: int32 - type: integer - type: object - stdin: - description: |- - Whether this container should allocate a buffer for stdin in the container runtime. If this - is not set, reads from stdin in the container will always result in EOF. - Default is false. - type: boolean - stdinOnce: - description: |- - Whether the container runtime should close the stdin channel after it has been opened by - a single attach. When stdin is true the stdin stream will remain open across multiple attach - sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the - first client attaches to stdin, and then remains open and accepts data until the client disconnects, - at which time stdin is closed and remains closed until the container is restarted. If this - flag is false, a container processes that reads from stdin will never receive an EOF. - Default is false - type: boolean - terminationMessagePath: - description: |- - Optional: Path at which the file to which the container's termination message - will be written is mounted into the container's filesystem. - Message written is intended to be brief final status, such as an assertion failure message. - Will be truncated by the node if greater than 4096 bytes. The total message length across - all containers will be limited to 12kb. - Defaults to /dev/termination-log. - Cannot be updated. - type: string - terminationMessagePolicy: - description: |- - Indicate how the termination message should be populated. File will use the contents of - terminationMessagePath to populate the container status message on both success and failure. - FallbackToLogsOnError will use the last chunk of container log output if the termination - message file is empty and the container exited with an error. - The log output is limited to 2048 bytes or 80 lines, whichever is smaller. - Defaults to File. - Cannot be updated. - type: string - tty: - description: |- - Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. - Default is false. - type: boolean - volumeDevices: - description: volumeDevices is the list of block devices to be - used by the container. - items: - description: volumeDevice describes a mapping of a raw block - device within a container. - properties: - devicePath: - description: devicePath is the path inside of the container - that the device will be mapped to. - type: string - name: - description: name must match the name of a persistentVolumeClaim - in the pod - type: string - required: - - devicePath - - name - type: object - type: array - volumeMounts: - description: |- - Pod volumes to mount into the container's filesystem. - Cannot be updated. - items: - description: VolumeMount describes a mounting of a Volume within - a container. - properties: - mountPath: - description: |- - Path within the container at which the volume should be mounted. Must - not contain ':'. - type: string - mountPropagation: - description: |- - mountPropagation determines how mounts are propagated from the host - to container and the other way around. - When not set, MountPropagationNone is used. - This field is beta in 1.10. - type: string - name: - description: This must match the Name of a Volume. - type: string - readOnly: - description: |- - Mounted read-only if true, read-write otherwise (false or unspecified). - Defaults to false. - type: boolean - subPath: - description: |- - Path within the volume from which the container's volume should be mounted. - Defaults to "" (volume's root). - type: string - subPathExpr: - description: |- - Expanded path within the volume from which the container's volume should be mounted. - Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. - Defaults to "" (volume's root). - SubPathExpr and SubPath are mutually exclusive. - type: string - required: - - mountPath - - name - type: object - type: array - workingDir: - description: |- - Container's working directory. - If not specified, the container runtime's default will be used, which - might be configured in the container image. - Cannot be updated. - type: string - required: - - name - type: object - deno: - description: Deno contains the definition for the Deno function that - is to be executed in KeptnTasks. - properties: - cmdParameters: - description: CmdParameters contains parameters that will be passed - to the command - type: string - configMapRef: - description: |- - ConfigMapReference allows to reference a ConfigMap containing the code of the function. - When referencing a ConfigMap, the code of the function must be available as a value of the 'code' key - of the referenced ConfigMap. - properties: - name: - description: Name is the name of the referenced ConfigMap. - type: string - type: object - functionRef: - description: |- - FunctionReference allows to reference another KeptnTaskDefinition which contains the source code of the - function to be executes for KeptnTasks based on this KeptnTaskDefinition. This can be useful when you have - multiple KeptnTaskDefinitions that should execute the same logic, but each with different parameters. - properties: - name: - description: Name is the name of the referenced KeptnTaskDefinition. - type: string - type: object - httpRef: - description: HttpReference allows to point to an HTTP URL containing - the code of the function. - properties: - url: - description: Url is the URL containing the code of the function. - type: string - type: object - inline: - description: |- - Inline allows to specify the code that should be executed directly in the KeptnTaskDefinition, as a multi-line - string. - properties: - code: - description: Code contains the code of the function. - type: string - type: object - parameters: - description: Parameters contains parameters that will be passed - to the job that executes the task as env variables. - properties: - map: - additionalProperties: - type: string - description: |- - Inline contains the parameters that will be made available to the job - executing the KeptnTask via the 'DATA' environment variable. - The 'DATA' environment variable's content will be a json - encoded string containing all properties of the map provided. - type: object - type: object - secureParameters: - description: |- - SecureParameters contains secure parameters that will be passed to the job that executes the task. - These will be stored and accessed as secrets in the cluster. - properties: - secret: - description: |- - Secret contains the parameters that will be made available to the job - executing the KeptnTask via the 'SECRET_DATA' environment variable. - The 'SECRET_DATA' environment variable's content will the same as value of the 'SECRET_DATA' - key of the referenced secret. - type: string - type: object - type: object - function: - description: |- - Deprecated - Function contains the definition for the function that is to be executed in KeptnTasks. - properties: - cmdParameters: - description: CmdParameters contains parameters that will be passed - to the command - type: string - configMapRef: - description: |- - ConfigMapReference allows to reference a ConfigMap containing the code of the function. - When referencing a ConfigMap, the code of the function must be available as a value of the 'code' key - of the referenced ConfigMap. - properties: - name: - description: Name is the name of the referenced ConfigMap. - type: string - type: object - functionRef: - description: |- - FunctionReference allows to reference another KeptnTaskDefinition which contains the source code of the - function to be executes for KeptnTasks based on this KeptnTaskDefinition. This can be useful when you have - multiple KeptnTaskDefinitions that should execute the same logic, but each with different parameters. - properties: - name: - description: Name is the name of the referenced KeptnTaskDefinition. - type: string - type: object - httpRef: - description: HttpReference allows to point to an HTTP URL containing - the code of the function. - properties: - url: - description: Url is the URL containing the code of the function. - type: string - type: object - inline: - description: |- - Inline allows to specify the code that should be executed directly in the KeptnTaskDefinition, as a multi-line - string. - properties: - code: - description: Code contains the code of the function. - type: string - type: object - parameters: - description: Parameters contains parameters that will be passed - to the job that executes the task as env variables. - properties: - map: - additionalProperties: - type: string - description: |- - Inline contains the parameters that will be made available to the job - executing the KeptnTask via the 'DATA' environment variable. - The 'DATA' environment variable's content will be a json - encoded string containing all properties of the map provided. - type: object - type: object - secureParameters: - description: |- - SecureParameters contains secure parameters that will be passed to the job that executes the task. - These will be stored and accessed as secrets in the cluster. - properties: - secret: - description: |- - Secret contains the parameters that will be made available to the job - executing the KeptnTask via the 'SECRET_DATA' environment variable. - The 'SECRET_DATA' environment variable's content will the same as value of the 'SECRET_DATA' - key of the referenced secret. - type: string - type: object - type: object - imagePullSecrets: - description: ImagePullSecrets is an optional field to specify the - names of secrets to use for pulling container images - items: - description: |- - LocalObjectReference contains enough information to let you locate the - referenced object inside the same namespace. - properties: - name: - description: |- - Name of the referent. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid? - type: string - type: object - x-kubernetes-map-type: atomic - type: array - python: - description: Python contains the definition for the python function - that is to be executed in KeptnTasks. - properties: - cmdParameters: - description: CmdParameters contains parameters that will be passed - to the command - type: string - configMapRef: - description: |- - ConfigMapReference allows to reference a ConfigMap containing the code of the function. - When referencing a ConfigMap, the code of the function must be available as a value of the 'code' key - of the referenced ConfigMap. - properties: - name: - description: Name is the name of the referenced ConfigMap. - type: string - type: object - functionRef: - description: |- - FunctionReference allows to reference another KeptnTaskDefinition which contains the source code of the - function to be executes for KeptnTasks based on this KeptnTaskDefinition. This can be useful when you have - multiple KeptnTaskDefinitions that should execute the same logic, but each with different parameters. - properties: - name: - description: Name is the name of the referenced KeptnTaskDefinition. - type: string - type: object - httpRef: - description: HttpReference allows to point to an HTTP URL containing - the code of the function. - properties: - url: - description: Url is the URL containing the code of the function. - type: string - type: object - inline: - description: |- - Inline allows to specify the code that should be executed directly in the KeptnTaskDefinition, as a multi-line - string. - properties: - code: - description: Code contains the code of the function. - type: string - type: object - parameters: - description: Parameters contains parameters that will be passed - to the job that executes the task as env variables. - properties: - map: - additionalProperties: - type: string - description: |- - Inline contains the parameters that will be made available to the job - executing the KeptnTask via the 'DATA' environment variable. - The 'DATA' environment variable's content will be a json - encoded string containing all properties of the map provided. - type: object - type: object - secureParameters: - description: |- - SecureParameters contains secure parameters that will be passed to the job that executes the task. - These will be stored and accessed as secrets in the cluster. - properties: - secret: - description: |- - Secret contains the parameters that will be made available to the job - executing the KeptnTask via the 'SECRET_DATA' environment variable. - The 'SECRET_DATA' environment variable's content will the same as value of the 'SECRET_DATA' - key of the referenced secret. - type: string - type: object - type: object - retries: - default: 10 - description: |- - Retries specifies how many times a job executing the KeptnTaskDefinition should be restarted in the case - of an unsuccessful attempt. - format: int32 - type: integer - serviceAccount: - description: ServiceAccount specifies the service account to be used - in jobs to authenticate with the Kubernetes API and access cluster - resources. - properties: - name: - type: string - required: - - name - type: object - timeout: - default: 5m - description: |- - Timeout specifies the maximum time to wait for the task to be completed successfully. - If the task does not complete successfully within this time frame, it will be - considered to be failed. - pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ - type: string - ttlSecondsAfterFinished: - default: 300 - description: |- - TTLSecondsAfterFinished controller makes a job eligible to be cleaned up after it is finished. - The timer starts when the status shows up to be Complete or Failed. - format: int32 - type: integer - type: object - status: - description: Status describes the current state of the KeptnTaskDefinition. - properties: - function: - description: Function contains status information of the function - definition for the task. - properties: - configMap: - description: ConfigMap indicates the ConfigMap in which the function - code is stored. - type: string - type: object - type: object - type: object - served: true - storage: false - subresources: - status: {} - - name: v1beta1 - schema: - openAPIV3Schema: - description: KeptnTaskDefinition is the Schema for the keptntaskdefinitions - API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Spec describes the desired state of the KeptnTaskDefinition. - properties: - automountServiceAccountToken: - description: |- - AutomountServiceAccountToken allows to enable K8s to assign cluster API credentials to a pod, if set to false - the pod will decline the service account - properties: - type: - type: boolean - required: - - type - type: object - container: - description: Container contains the definition for the container that - is to be used in Job. - properties: - args: - description: |- - Arguments to the entrypoint. - The container image's CMD is used if this is not provided. - Variable references $(VAR_NAME) are expanded using the container's environment. If a variable - cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced - to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will - produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless - of whether the variable exists or not. Cannot be updated. - More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell - items: - type: string - type: array - command: - description: |- - Entrypoint array. Not executed within a shell. - The container image's ENTRYPOINT is used if this is not provided. - Variable references $(VAR_NAME) are expanded using the container's environment. If a variable - cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced - to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will - produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless - of whether the variable exists or not. Cannot be updated. - More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell - items: - type: string - type: array - env: - description: |- - List of environment variables to set in the container. - Cannot be updated. - items: - description: EnvVar represents an environment variable present - in a Container. - properties: - name: - description: Name of the environment variable. Must be a - C_IDENTIFIER. - type: string - value: - description: |- - Variable references $(VAR_NAME) are expanded - using the previously defined environment variables in the container and - any service environment variables. If a variable cannot be resolved, - the reference in the input string will be unchanged. Double $$ are reduced - to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. - "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". - Escaped references will never be expanded, regardless of whether the variable - exists or not. - Defaults to "". - type: string - valueFrom: - description: Source for the environment variable's value. - Cannot be used if value is not empty. - properties: - configMapKeyRef: - description: Selects a key of a ConfigMap. - properties: - key: - description: The key to select. - type: string - name: - description: |- - Name of the referent. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid? - type: string - optional: - description: Specify whether the ConfigMap or its - key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - fieldRef: - description: |- - Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, - spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. - properties: - apiVersion: - description: Version of the schema the FieldPath - is written in terms of, defaults to "v1". - type: string - fieldPath: - description: Path of the field to select in the - specified API version. - type: string - required: - - fieldPath - type: object - x-kubernetes-map-type: atomic - resourceFieldRef: - description: |- - Selects a resource of the container: only resources limits and requests - (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. - properties: - containerName: - description: 'Container name: required for volumes, - optional for env vars' - type: string - divisor: - anyOf: - - type: integer - - type: string - description: Specifies the output format of the - exposed resources, defaults to "1" - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - resource: - description: 'Required: resource to select' - type: string - required: - - resource - type: object - x-kubernetes-map-type: atomic - secretKeyRef: - description: Selects a key of a secret in the pod's - namespace - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: |- - Name of the referent. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid? - type: string - optional: - description: Specify whether the Secret or its key - must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - required: - - name - type: object - type: array - envFrom: - description: |- - List of sources to populate environment variables in the container. - The keys defined within a source must be a C_IDENTIFIER. All invalid keys - will be reported as an event when the container is starting. When a key exists in multiple - sources, the value associated with the last source will take precedence. - Values defined by an Env with a duplicate key will take precedence. - Cannot be updated. - items: - description: EnvFromSource represents the source of a set of - ConfigMaps - properties: - configMapRef: - description: The ConfigMap to select from - properties: - name: - description: |- - Name of the referent. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid? - type: string - optional: - description: Specify whether the ConfigMap must be defined - type: boolean - type: object - x-kubernetes-map-type: atomic - prefix: - description: An optional identifier to prepend to each key - in the ConfigMap. Must be a C_IDENTIFIER. - type: string - secretRef: - description: The Secret to select from - properties: - name: - description: |- - Name of the referent. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid? - type: string - optional: - description: Specify whether the Secret must be defined - type: boolean - type: object - x-kubernetes-map-type: atomic - type: object - type: array - image: - description: |- - Container image name. - More info: https://kubernetes.io/docs/concepts/containers/images - This field is optional to allow higher level config management to default or override - container images in workload controllers like Deployments and StatefulSets. - type: string - imagePullPolicy: - description: |- - Image pull policy. - One of Always, Never, IfNotPresent. - Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. - Cannot be updated. - More info: https://kubernetes.io/docs/concepts/containers/images#updating-images - type: string - lifecycle: - description: |- - Actions that the management system should take in response to container lifecycle events. - Cannot be updated. - properties: - postStart: - description: |- - PostStart is called immediately after a container is created. If the handler fails, - the container is terminated and restarted according to its restart policy. - Other management of the container blocks until the hook completes. - More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks - properties: - exec: - description: Exec specifies the action to take. - properties: - command: - description: |- - Command is the command line to execute inside the container, the working directory for the - command is root ('/') in the container's filesystem. The command is simply exec'd, it is - not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use - a shell, you need to explicitly call out to that shell. - Exit status of 0 is treated as live/healthy and non-zero is unhealthy. - items: - type: string - type: array - type: object - httpGet: - description: HTTPGet specifies the http request to perform. - properties: - host: - description: |- - Host name to connect to, defaults to the pod IP. You probably want to set - "Host" in httpHeaders instead. - type: string - httpHeaders: - description: Custom headers to set in the request. - HTTP allows repeated headers. - items: - description: HTTPHeader describes a custom header - to be used in HTTP probes - properties: - name: - description: |- - The header field name. - This will be canonicalized upon output, so case-variant names will be understood as the same header. - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: object - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: integer - - type: string - description: |- - Name or number of the port to access on the container. - Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - scheme: - description: |- - Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - type: object - tcpSocket: - description: |- - Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept - for the backward compatibility. There are no validation of this field and - lifecycle hooks will fail in runtime when tcp handler is specified. - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: integer - - type: string - description: |- - Number or name of the port to access on the container. - Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - required: - - port - type: object - type: object - preStop: - description: |- - PreStop is called immediately before a container is terminated due to an - API request or management event such as liveness/startup probe failure, - preemption, resource contention, etc. The handler is not called if the - container crashes or exits. The Pod's termination grace period countdown begins before the - PreStop hook is executed. Regardless of the outcome of the handler, the - container will eventually terminate within the Pod's termination grace - period (unless delayed by finalizers). Other management of the container blocks until the hook completes - or until the termination grace period is reached. - More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks - properties: - exec: - description: Exec specifies the action to take. - properties: - command: - description: |- - Command is the command line to execute inside the container, the working directory for the - command is root ('/') in the container's filesystem. The command is simply exec'd, it is - not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use - a shell, you need to explicitly call out to that shell. - Exit status of 0 is treated as live/healthy and non-zero is unhealthy. - items: - type: string - type: array - type: object - httpGet: - description: HTTPGet specifies the http request to perform. - properties: - host: - description: |- - Host name to connect to, defaults to the pod IP. You probably want to set - "Host" in httpHeaders instead. - type: string - httpHeaders: - description: Custom headers to set in the request. - HTTP allows repeated headers. - items: - description: HTTPHeader describes a custom header - to be used in HTTP probes - properties: - name: - description: |- - The header field name. - This will be canonicalized upon output, so case-variant names will be understood as the same header. - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: object - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: integer - - type: string - description: |- - Name or number of the port to access on the container. - Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - scheme: - description: |- - Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - type: object - tcpSocket: - description: |- - Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept - for the backward compatibility. There are no validation of this field and - lifecycle hooks will fail in runtime when tcp handler is specified. - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: integer - - type: string - description: |- - Number or name of the port to access on the container. - Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - required: - - port - type: object - type: object - type: object - livenessProbe: - description: |- - Periodic probe of container liveness. - Container will be restarted if the probe fails. - Cannot be updated. - More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes - properties: - exec: - description: Exec specifies the action to take. - properties: - command: - description: |- - Command is the command line to execute inside the container, the working directory for the - command is root ('/') in the container's filesystem. The command is simply exec'd, it is - not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use - a shell, you need to explicitly call out to that shell. - Exit status of 0 is treated as live/healthy and non-zero is unhealthy. - items: - type: string - type: array - type: object - failureThreshold: - description: |- - Minimum consecutive failures for the probe to be considered failed after having succeeded. - Defaults to 3. Minimum value is 1. - format: int32 - type: integer - grpc: - description: GRPC specifies an action involving a GRPC port. - properties: - port: - description: Port number of the gRPC service. Number must - be in the range 1 to 65535. - format: int32 - type: integer - service: - description: |- - Service is the name of the service to place in the gRPC HealthCheckRequest - (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). - - - If this is not specified, the default behavior is defined by gRPC. - type: string - required: - - port - type: object - httpGet: - description: HTTPGet specifies the http request to perform. - properties: - host: - description: |- - Host name to connect to, defaults to the pod IP. You probably want to set - "Host" in httpHeaders instead. - type: string - httpHeaders: - description: Custom headers to set in the request. HTTP - allows repeated headers. - items: - description: HTTPHeader describes a custom header to - be used in HTTP probes - properties: - name: - description: |- - The header field name. - This will be canonicalized upon output, so case-variant names will be understood as the same header. - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: object - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: integer - - type: string - description: |- - Name or number of the port to access on the container. - Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - scheme: - description: |- - Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - type: object - initialDelaySeconds: - description: |- - Number of seconds after the container has started before liveness probes are initiated. - More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes - format: int32 - type: integer - periodSeconds: - description: |- - How often (in seconds) to perform the probe. - Default to 10 seconds. Minimum value is 1. - format: int32 - type: integer - successThreshold: - description: |- - Minimum consecutive successes for the probe to be considered successful after having failed. - Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. - format: int32 - type: integer - tcpSocket: - description: TCPSocket specifies an action involving a TCP - port. - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: integer - - type: string - description: |- - Number or name of the port to access on the container. - Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - required: - - port - type: object - terminationGracePeriodSeconds: - description: |- - Optional duration in seconds the pod needs to terminate gracefully upon probe failure. - The grace period is the duration in seconds after the processes running in the pod are sent - a termination signal and the time when the processes are forcibly halted with a kill signal. - Set this value longer than the expected cleanup time for your process. - If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this - value overrides the value provided by the pod spec. - Value must be non-negative integer. The value zero indicates stop immediately via - the kill signal (no opportunity to shut down). - This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. - Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. - format: int64 - type: integer - timeoutSeconds: - description: |- - Number of seconds after which the probe times out. - Defaults to 1 second. Minimum value is 1. - More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes - format: int32 - type: integer - type: object - name: - description: |- - Name of the container specified as a DNS_LABEL. - Each container in a pod must have a unique name (DNS_LABEL). - Cannot be updated. - type: string - ports: - description: |- - List of ports to expose from the container. Not specifying a port here - DOES NOT prevent that port from being exposed. Any port which is - listening on the default "0.0.0.0" address inside a container will be - accessible from the network. - Modifying this array with strategic merge patch may corrupt the data. - For more information See https://github.com/kubernetes/kubernetes/issues/108255. - Cannot be updated. - items: - description: ContainerPort represents a network port in a single - container. - properties: - containerPort: - description: |- - Number of port to expose on the pod's IP address. - This must be a valid port number, 0 < x < 65536. - format: int32 - type: integer - hostIP: - description: What host IP to bind the external port to. - type: string - hostPort: - description: |- - Number of port to expose on the host. - If specified, this must be a valid port number, 0 < x < 65536. - If HostNetwork is specified, this must match ContainerPort. - Most containers do not need this. - format: int32 - type: integer - name: - description: |- - If specified, this must be an IANA_SVC_NAME and unique within the pod. Each - named port in a pod must have a unique name. Name for the port that can be - referred to by services. - type: string - protocol: - default: TCP - description: |- - Protocol for port. Must be UDP, TCP, or SCTP. - Defaults to "TCP". - type: string - required: - - containerPort - type: object - type: array - x-kubernetes-list-map-keys: - - containerPort - - protocol - x-kubernetes-list-type: map - readinessProbe: - description: |- - Periodic probe of container service readiness. - Container will be removed from service endpoints if the probe fails. - Cannot be updated. - More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes - properties: - exec: - description: Exec specifies the action to take. - properties: - command: - description: |- - Command is the command line to execute inside the container, the working directory for the - command is root ('/') in the container's filesystem. The command is simply exec'd, it is - not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use - a shell, you need to explicitly call out to that shell. - Exit status of 0 is treated as live/healthy and non-zero is unhealthy. - items: - type: string - type: array - type: object - failureThreshold: - description: |- - Minimum consecutive failures for the probe to be considered failed after having succeeded. - Defaults to 3. Minimum value is 1. - format: int32 - type: integer - grpc: - description: GRPC specifies an action involving a GRPC port. - properties: - port: - description: Port number of the gRPC service. Number must - be in the range 1 to 65535. - format: int32 - type: integer - service: - description: |- - Service is the name of the service to place in the gRPC HealthCheckRequest - (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). - - - If this is not specified, the default behavior is defined by gRPC. - type: string - required: - - port - type: object - httpGet: - description: HTTPGet specifies the http request to perform. - properties: - host: - description: |- - Host name to connect to, defaults to the pod IP. You probably want to set - "Host" in httpHeaders instead. - type: string - httpHeaders: - description: Custom headers to set in the request. HTTP - allows repeated headers. - items: - description: HTTPHeader describes a custom header to - be used in HTTP probes - properties: - name: - description: |- - The header field name. - This will be canonicalized upon output, so case-variant names will be understood as the same header. - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: object - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: integer - - type: string - description: |- - Name or number of the port to access on the container. - Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - scheme: - description: |- - Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - type: object - initialDelaySeconds: - description: |- - Number of seconds after the container has started before liveness probes are initiated. - More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes - format: int32 - type: integer - periodSeconds: - description: |- - How often (in seconds) to perform the probe. - Default to 10 seconds. Minimum value is 1. - format: int32 - type: integer - successThreshold: - description: |- - Minimum consecutive successes for the probe to be considered successful after having failed. - Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. - format: int32 - type: integer - tcpSocket: - description: TCPSocket specifies an action involving a TCP - port. - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: integer - - type: string - description: |- - Number or name of the port to access on the container. - Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - required: - - port - type: object - terminationGracePeriodSeconds: - description: |- - Optional duration in seconds the pod needs to terminate gracefully upon probe failure. - The grace period is the duration in seconds after the processes running in the pod are sent - a termination signal and the time when the processes are forcibly halted with a kill signal. - Set this value longer than the expected cleanup time for your process. - If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this - value overrides the value provided by the pod spec. - Value must be non-negative integer. The value zero indicates stop immediately via - the kill signal (no opportunity to shut down). - This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. - Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. - format: int64 - type: integer - timeoutSeconds: - description: |- - Number of seconds after which the probe times out. - Defaults to 1 second. Minimum value is 1. - More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes - format: int32 - type: integer - type: object - resizePolicy: - description: Resources resize policy for the container. - items: - description: ContainerResizePolicy represents resource resize - policy for the container. - properties: - resourceName: - description: |- - Name of the resource to which this resource resize policy applies. - Supported values: cpu, memory. - type: string - restartPolicy: - description: |- - Restart policy to apply when specified resource is resized. - If not specified, it defaults to NotRequired. - type: string - required: - - resourceName - - restartPolicy - type: object - type: array - x-kubernetes-list-type: atomic - resources: - description: |- - Compute Resources required by this container. - Cannot be updated. - More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ - properties: - claims: - description: |- - Claims lists the names of resources, defined in spec.resourceClaims, - that are used by this container. - - - This is an alpha field and requires enabling the - DynamicResourceAllocation feature gate. - - - This field is immutable. It can only be set for containers. - items: - description: ResourceClaim references one entry in PodSpec.ResourceClaims. - properties: - name: - description: |- - Name must match the name of one entry in pod.spec.resourceClaims of - the Pod where this field is used. It makes that resource available - inside a container. - type: string - required: - - name - type: object - type: array - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - limits: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - description: |- - Limits describes the maximum amount of compute resources allowed. - More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ - type: object - requests: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - description: |- - Requests describes the minimum amount of compute resources required. - If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, - otherwise to an implementation-defined value. Requests cannot exceed Limits. - More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ - type: object - type: object - restartPolicy: - description: |- - RestartPolicy defines the restart behavior of individual containers in a pod. - This field may only be set for init containers, and the only allowed value is "Always". - For non-init containers or when this field is not specified, - the restart behavior is defined by the Pod's restart policy and the container type. - Setting the RestartPolicy as "Always" for the init container will have the following effect: - this init container will be continually restarted on - exit until all regular containers have terminated. Once all regular - containers have completed, all init containers with restartPolicy "Always" - will be shut down. This lifecycle differs from normal init containers and - is often referred to as a "sidecar" container. Although this init - container still starts in the init container sequence, it does not wait - for the container to complete before proceeding to the next init - container. Instead, the next init container starts immediately after this - init container is started, or after any startupProbe has successfully - completed. - type: string - securityContext: - description: |- - SecurityContext defines the security options the container should be run with. - If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. - More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ - properties: - allowPrivilegeEscalation: - description: |- - AllowPrivilegeEscalation controls whether a process can gain more - privileges than its parent process. This bool directly controls if - the no_new_privs flag will be set on the container process. - AllowPrivilegeEscalation is true always when the container is: - 1) run as Privileged - 2) has CAP_SYS_ADMIN - Note that this field cannot be set when spec.os.name is windows. - type: boolean - capabilities: - description: |- - The capabilities to add/drop when running containers. - Defaults to the default set of capabilities granted by the container runtime. - Note that this field cannot be set when spec.os.name is windows. - properties: - add: - description: Added capabilities - items: - description: Capability represent POSIX capabilities - type - type: string - type: array - drop: - description: Removed capabilities - items: - description: Capability represent POSIX capabilities - type - type: string - type: array - type: object - privileged: - description: |- - Run container in privileged mode. - Processes in privileged containers are essentially equivalent to root on the host. - Defaults to false. - Note that this field cannot be set when spec.os.name is windows. - type: boolean - procMount: - description: |- - procMount denotes the type of proc mount to use for the containers. - The default is DefaultProcMount which uses the container runtime defaults for - readonly paths and masked paths. - This requires the ProcMountType feature flag to be enabled. - Note that this field cannot be set when spec.os.name is windows. - type: string - readOnlyRootFilesystem: - description: |- - Whether this container has a read-only root filesystem. - Default is false. - Note that this field cannot be set when spec.os.name is windows. - type: boolean - runAsGroup: - description: |- - The GID to run the entrypoint of the container process. - Uses runtime default if unset. - May also be set in PodSecurityContext. If set in both SecurityContext and - PodSecurityContext, the value specified in SecurityContext takes precedence. - Note that this field cannot be set when spec.os.name is windows. - format: int64 - type: integer - runAsNonRoot: - description: |- - Indicates that the container must run as a non-root user. - If true, the Kubelet will validate the image at runtime to ensure that it - does not run as UID 0 (root) and fail to start the container if it does. - If unset or false, no such validation will be performed. - May also be set in PodSecurityContext. If set in both SecurityContext and - PodSecurityContext, the value specified in SecurityContext takes precedence. - type: boolean - runAsUser: - description: |- - The UID to run the entrypoint of the container process. - Defaults to user specified in image metadata if unspecified. - May also be set in PodSecurityContext. If set in both SecurityContext and - PodSecurityContext, the value specified in SecurityContext takes precedence. - Note that this field cannot be set when spec.os.name is windows. - format: int64 - type: integer - seLinuxOptions: - description: |- - The SELinux context to be applied to the container. - If unspecified, the container runtime will allocate a random SELinux context for each - container. May also be set in PodSecurityContext. If set in both SecurityContext and - PodSecurityContext, the value specified in SecurityContext takes precedence. - Note that this field cannot be set when spec.os.name is windows. - properties: - level: - description: Level is SELinux level label that applies - to the container. - type: string - role: - description: Role is a SELinux role label that applies - to the container. - type: string - type: - description: Type is a SELinux type label that applies - to the container. - type: string - user: - description: User is a SELinux user label that applies - to the container. - type: string - type: object - seccompProfile: - description: |- - The seccomp options to use by this container. If seccomp options are - provided at both the pod & container level, the container options - override the pod options. - Note that this field cannot be set when spec.os.name is windows. - properties: - localhostProfile: - description: |- - localhostProfile indicates a profile defined in a file on the node should be used. - The profile must be preconfigured on the node to work. - Must be a descending path, relative to the kubelet's configured seccomp profile location. - Must be set if type is "Localhost". Must NOT be set for any other type. - type: string - type: - description: |- - type indicates which kind of seccomp profile will be applied. - Valid options are: - - - Localhost - a profile defined in a file on the node should be used. - RuntimeDefault - the container runtime default profile should be used. - Unconfined - no profile should be applied. - type: string - required: - - type - type: object - windowsOptions: - description: |- - The Windows specific settings applied to all containers. - If unspecified, the options from the PodSecurityContext will be used. - If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. - Note that this field cannot be set when spec.os.name is linux. - properties: - gmsaCredentialSpec: - description: |- - GMSACredentialSpec is where the GMSA admission webhook - (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the - GMSA credential spec named by the GMSACredentialSpecName field. - type: string - gmsaCredentialSpecName: - description: GMSACredentialSpecName is the name of the - GMSA credential spec to use. - type: string - hostProcess: - description: |- - HostProcess determines if a container should be run as a 'Host Process' container. - All of a Pod's containers must have the same effective HostProcess value - (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). - In addition, if HostProcess is true then HostNetwork must also be set to true. - type: boolean - runAsUserName: - description: |- - The UserName in Windows to run the entrypoint of the container process. - Defaults to the user specified in image metadata if unspecified. - May also be set in PodSecurityContext. If set in both SecurityContext and - PodSecurityContext, the value specified in SecurityContext takes precedence. - type: string - type: object - type: object - startupProbe: - description: |- - StartupProbe indicates that the Pod has successfully initialized. - If specified, no other probes are executed until this completes successfully. - If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. - This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, - when it might take a long time to load data or warm a cache, than during steady-state operation. - This cannot be updated. - More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes - properties: - exec: - description: Exec specifies the action to take. - properties: - command: - description: |- - Command is the command line to execute inside the container, the working directory for the - command is root ('/') in the container's filesystem. The command is simply exec'd, it is - not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use - a shell, you need to explicitly call out to that shell. - Exit status of 0 is treated as live/healthy and non-zero is unhealthy. - items: - type: string - type: array - type: object - failureThreshold: - description: |- - Minimum consecutive failures for the probe to be considered failed after having succeeded. - Defaults to 3. Minimum value is 1. - format: int32 - type: integer - grpc: - description: GRPC specifies an action involving a GRPC port. - properties: - port: - description: Port number of the gRPC service. Number must - be in the range 1 to 65535. - format: int32 - type: integer - service: - description: |- - Service is the name of the service to place in the gRPC HealthCheckRequest - (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). - - - If this is not specified, the default behavior is defined by gRPC. - type: string - required: - - port - type: object - httpGet: - description: HTTPGet specifies the http request to perform. - properties: - host: - description: |- - Host name to connect to, defaults to the pod IP. You probably want to set - "Host" in httpHeaders instead. - type: string - httpHeaders: - description: Custom headers to set in the request. HTTP - allows repeated headers. - items: - description: HTTPHeader describes a custom header to - be used in HTTP probes - properties: - name: - description: |- - The header field name. - This will be canonicalized upon output, so case-variant names will be understood as the same header. - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: object - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: integer - - type: string - description: |- - Name or number of the port to access on the container. - Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - scheme: - description: |- - Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - type: object - initialDelaySeconds: - description: |- - Number of seconds after the container has started before liveness probes are initiated. - More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes - format: int32 - type: integer - periodSeconds: - description: |- - How often (in seconds) to perform the probe. - Default to 10 seconds. Minimum value is 1. - format: int32 - type: integer - successThreshold: - description: |- - Minimum consecutive successes for the probe to be considered successful after having failed. - Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. - format: int32 - type: integer - tcpSocket: - description: TCPSocket specifies an action involving a TCP - port. - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: integer - - type: string - description: |- - Number or name of the port to access on the container. - Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - required: - - port - type: object - terminationGracePeriodSeconds: - description: |- - Optional duration in seconds the pod needs to terminate gracefully upon probe failure. - The grace period is the duration in seconds after the processes running in the pod are sent - a termination signal and the time when the processes are forcibly halted with a kill signal. - Set this value longer than the expected cleanup time for your process. - If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this - value overrides the value provided by the pod spec. - Value must be non-negative integer. The value zero indicates stop immediately via - the kill signal (no opportunity to shut down). - This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. - Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. - format: int64 - type: integer - timeoutSeconds: - description: |- - Number of seconds after which the probe times out. - Defaults to 1 second. Minimum value is 1. - More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes - format: int32 - type: integer - type: object - stdin: - description: |- - Whether this container should allocate a buffer for stdin in the container runtime. If this - is not set, reads from stdin in the container will always result in EOF. - Default is false. - type: boolean - stdinOnce: - description: |- - Whether the container runtime should close the stdin channel after it has been opened by - a single attach. When stdin is true the stdin stream will remain open across multiple attach - sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the - first client attaches to stdin, and then remains open and accepts data until the client disconnects, - at which time stdin is closed and remains closed until the container is restarted. If this - flag is false, a container processes that reads from stdin will never receive an EOF. - Default is false - type: boolean - terminationMessagePath: - description: |- - Optional: Path at which the file to which the container's termination message - will be written is mounted into the container's filesystem. - Message written is intended to be brief final status, such as an assertion failure message. - Will be truncated by the node if greater than 4096 bytes. The total message length across - all containers will be limited to 12kb. - Defaults to /dev/termination-log. - Cannot be updated. - type: string - terminationMessagePolicy: - description: |- - Indicate how the termination message should be populated. File will use the contents of - terminationMessagePath to populate the container status message on both success and failure. - FallbackToLogsOnError will use the last chunk of container log output if the termination - message file is empty and the container exited with an error. - The log output is limited to 2048 bytes or 80 lines, whichever is smaller. - Defaults to File. - Cannot be updated. - type: string - tty: - description: |- - Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. - Default is false. - type: boolean - volumeDevices: - description: volumeDevices is the list of block devices to be - used by the container. - items: - description: volumeDevice describes a mapping of a raw block - device within a container. - properties: - devicePath: - description: devicePath is the path inside of the container - that the device will be mapped to. - type: string - name: - description: name must match the name of a persistentVolumeClaim - in the pod - type: string - required: - - devicePath - - name - type: object - type: array - volumeMounts: - description: |- - Pod volumes to mount into the container's filesystem. - Cannot be updated. - items: - description: VolumeMount describes a mounting of a Volume within - a container. - properties: - mountPath: - description: |- - Path within the container at which the volume should be mounted. Must - not contain ':'. - type: string - mountPropagation: - description: |- - mountPropagation determines how mounts are propagated from the host - to container and the other way around. - When not set, MountPropagationNone is used. - This field is beta in 1.10. - type: string - name: - description: This must match the Name of a Volume. - type: string - readOnly: - description: |- - Mounted read-only if true, read-write otherwise (false or unspecified). - Defaults to false. - type: boolean - subPath: - description: |- - Path within the volume from which the container's volume should be mounted. - Defaults to "" (volume's root). - type: string - subPathExpr: - description: |- - Expanded path within the volume from which the container's volume should be mounted. - Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. - Defaults to "" (volume's root). - SubPathExpr and SubPath are mutually exclusive. - type: string - required: - - mountPath - - name - type: object - type: array - workingDir: - description: |- - Container's working directory. - If not specified, the container runtime's default will be used, which - might be configured in the container image. - Cannot be updated. - type: string - required: - - name - type: object - deno: - description: Deno contains the definition for the Deno function that - is to be executed in KeptnTasks. - properties: - cmdParameters: - description: CmdParameters contains parameters that will be passed - to the command - type: string - configMapRef: - description: |- - ConfigMapReference allows to reference a ConfigMap containing the code of the function. - When referencing a ConfigMap, the code of the function must be available as a value of the 'code' key - of the referenced ConfigMap. - properties: - name: - description: Name is the name of the referenced ConfigMap. - type: string - type: object - functionRef: - description: |- - FunctionReference allows to reference another KeptnTaskDefinition which contains the source code of the - function to be executes for KeptnTasks based on this KeptnTaskDefinition. This can be useful when you have - multiple KeptnTaskDefinitions that should execute the same logic, but each with different parameters. - properties: - name: - description: Name is the name of the referenced KeptnTaskDefinition. - type: string - type: object - httpRef: - description: HttpReference allows to point to an HTTP URL containing - the code of the function. - properties: - url: - description: Url is the URL containing the code of the function. - type: string - type: object - inline: - description: |- - Inline allows to specify the code that should be executed directly in the KeptnTaskDefinition, as a multi-line - string. - properties: - code: - description: Code contains the code of the function. - type: string - type: object - parameters: - description: Parameters contains parameters that will be passed - to the job that executes the task as env variables. - properties: - map: - additionalProperties: - type: string - description: |- - Inline contains the parameters that will be made available to the job - executing the KeptnTask via the 'DATA' environment variable. - The 'DATA' environment variable's content will be a json - encoded string containing all properties of the map provided. - type: object - type: object - secureParameters: - description: |- - SecureParameters contains secure parameters that will be passed to the job that executes the task. - These will be stored and accessed as secrets in the cluster. - properties: - secret: - description: |- - Secret contains the parameters that will be made available to the job - executing the KeptnTask via the 'SECRET_DATA' environment variable. - The 'SECRET_DATA' environment variable's content will the same as value of the 'SECRET_DATA' - key of the referenced secret. - type: string - type: object - type: object - function: - description: |- - Deprecated - Function contains the definition for the function that is to be executed in KeptnTasks. - properties: - cmdParameters: - description: CmdParameters contains parameters that will be passed - to the command - type: string - configMapRef: - description: |- - ConfigMapReference allows to reference a ConfigMap containing the code of the function. - When referencing a ConfigMap, the code of the function must be available as a value of the 'code' key - of the referenced ConfigMap. - properties: - name: - description: Name is the name of the referenced ConfigMap. - type: string - type: object - functionRef: - description: |- - FunctionReference allows to reference another KeptnTaskDefinition which contains the source code of the - function to be executes for KeptnTasks based on this KeptnTaskDefinition. This can be useful when you have - multiple KeptnTaskDefinitions that should execute the same logic, but each with different parameters. - properties: - name: - description: Name is the name of the referenced KeptnTaskDefinition. - type: string - type: object - httpRef: - description: HttpReference allows to point to an HTTP URL containing - the code of the function. - properties: - url: - description: Url is the URL containing the code of the function. - type: string - type: object - inline: - description: |- - Inline allows to specify the code that should be executed directly in the KeptnTaskDefinition, as a multi-line - string. - properties: - code: - description: Code contains the code of the function. - type: string - type: object - parameters: - description: Parameters contains parameters that will be passed - to the job that executes the task as env variables. - properties: - map: - additionalProperties: - type: string - description: |- - Inline contains the parameters that will be made available to the job - executing the KeptnTask via the 'DATA' environment variable. - The 'DATA' environment variable's content will be a json - encoded string containing all properties of the map provided. - type: object - type: object - secureParameters: - description: |- - SecureParameters contains secure parameters that will be passed to the job that executes the task. - These will be stored and accessed as secrets in the cluster. - properties: - secret: - description: |- - Secret contains the parameters that will be made available to the job - executing the KeptnTask via the 'SECRET_DATA' environment variable. - The 'SECRET_DATA' environment variable's content will the same as value of the 'SECRET_DATA' - key of the referenced secret. - type: string - type: object - type: object - imagePullSecrets: - description: ImagePullSecrets is an optional field to specify the - names of secrets to use for pulling container images - items: - description: |- - LocalObjectReference contains enough information to let you locate the - referenced object inside the same namespace. - properties: - name: - description: |- - Name of the referent. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid? - type: string - type: object - x-kubernetes-map-type: atomic - type: array - python: - description: Python contains the definition for the python function - that is to be executed in KeptnTasks. - properties: - cmdParameters: - description: CmdParameters contains parameters that will be passed - to the command - type: string - configMapRef: - description: |- - ConfigMapReference allows to reference a ConfigMap containing the code of the function. - When referencing a ConfigMap, the code of the function must be available as a value of the 'code' key - of the referenced ConfigMap. - properties: - name: - description: Name is the name of the referenced ConfigMap. - type: string - type: object - functionRef: - description: |- - FunctionReference allows to reference another KeptnTaskDefinition which contains the source code of the - function to be executes for KeptnTasks based on this KeptnTaskDefinition. This can be useful when you have - multiple KeptnTaskDefinitions that should execute the same logic, but each with different parameters. - properties: - name: - description: Name is the name of the referenced KeptnTaskDefinition. - type: string - type: object - httpRef: - description: HttpReference allows to point to an HTTP URL containing - the code of the function. - properties: - url: - description: Url is the URL containing the code of the function. - type: string - type: object - inline: - description: |- - Inline allows to specify the code that should be executed directly in the KeptnTaskDefinition, as a multi-line - string. - properties: - code: - description: Code contains the code of the function. - type: string - type: object - parameters: - description: Parameters contains parameters that will be passed - to the job that executes the task as env variables. - properties: - map: - additionalProperties: - type: string - description: |- - Inline contains the parameters that will be made available to the job - executing the KeptnTask via the 'DATA' environment variable. - The 'DATA' environment variable's content will be a json - encoded string containing all properties of the map provided. - type: object - type: object - secureParameters: - description: |- - SecureParameters contains secure parameters that will be passed to the job that executes the task. - These will be stored and accessed as secrets in the cluster. - properties: - secret: - description: |- - Secret contains the parameters that will be made available to the job - executing the KeptnTask via the 'SECRET_DATA' environment variable. - The 'SECRET_DATA' environment variable's content will the same as value of the 'SECRET_DATA' - key of the referenced secret. - type: string - type: object - type: object - retries: - default: 10 - description: |- - Retries specifies how many times a job executing the KeptnTaskDefinition should be restarted in the case - of an unsuccessful attempt. - format: int32 - type: integer - serviceAccount: - description: ServiceAccount specifies the service account to be used - in jobs to authenticate with the Kubernetes API and access cluster - resources. - properties: - name: - type: string - required: - - name - type: object - timeout: - default: 5m - description: |- - Timeout specifies the maximum time to wait for the task to be completed successfully. - If the task does not complete successfully within this time frame, it will be - considered to be failed. - pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ - type: string - ttlSecondsAfterFinished: - default: 300 - description: |- - TTLSecondsAfterFinished controller makes a job eligible to be cleaned up after it is finished. - The timer starts when the status shows up to be Complete or Failed. - format: int32 - type: integer - type: object - status: - description: Status describes the current state of the KeptnTaskDefinition. - properties: - function: - description: Function contains status information of the function - definition for the task. - properties: - configMap: - description: ConfigMap indicates the ConfigMap in which the function - code is stored. - type: string - type: object - type: object - type: object - served: true - storage: true - subresources: - status: {} diff --git a/lifecycle-operator/chart/templates/keptnworkload-crd.yaml b/lifecycle-operator/chart/templates/keptnworkload-crd.yaml deleted file mode 100644 index 6aec7c2506..0000000000 --- a/lifecycle-operator/chart/templates/keptnworkload-crd.yaml +++ /dev/null @@ -1,422 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnworkloads.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.14.0 - {{- with .Values.global.caInjectionAnnotations }} - {{- toYaml . | nindent 4 }} - {{- end }} - {{- include "common.annotations" ( dict "context" . ) }} - labels: - app.kubernetes.io/part-of: keptn - crdGroup: lifecycle.keptn.sh - keptn.sh/inject-cert: "true" -{{- include "common.labels.standard" ( dict "context" . ) | nindent 4 }} -spec: - group: lifecycle.keptn.sh - names: - kind: KeptnWorkload - listKind: KeptnWorkloadList - plural: keptnworkloads - singular: keptnworkload - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .spec.app - name: AppName - type: string - - jsonPath: .spec.version - name: Version - type: string - name: v1alpha1 - schema: - openAPIV3Schema: - description: KeptnWorkload is the Schema for the keptnworkloads API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: KeptnWorkloadSpec defines the desired state of KeptnWorkload - properties: - app: - type: string - postDeploymentEvaluations: - items: - type: string - type: array - postDeploymentTasks: - items: - type: string - type: array - preDeploymentEvaluations: - items: - type: string - type: array - preDeploymentTasks: - items: - type: string - type: array - resourceReference: - description: ResourceReference represents the parent resource of Workload - properties: - kind: - type: string - name: - type: string - uid: - description: |- - UID is a type that holds unique ID values, including UUIDs. Because we - don't ONLY use UUIDs, this is an alias to string. Being a type captures - intent and helps make sure that UIDs and names do not get conflated. - type: string - required: - - kind - - name - - uid - type: object - version: - type: string - required: - - app - - resourceReference - - version - type: object - status: - description: KeptnWorkloadStatus defines the observed state of KeptnWorkload - properties: - currentVersion: - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .spec.app - name: AppName - type: string - - jsonPath: .spec.version - name: Version - type: string - name: v1alpha2 - schema: - openAPIV3Schema: - description: KeptnWorkload is the Schema for the keptnworkloads API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: KeptnWorkloadSpec defines the desired state of KeptnWorkload - properties: - app: - type: string - postDeploymentEvaluations: - items: - type: string - type: array - postDeploymentTasks: - items: - type: string - type: array - preDeploymentEvaluations: - items: - type: string - type: array - preDeploymentTasks: - items: - type: string - type: array - resourceReference: - description: ResourceReference represents the parent resource of Workload - properties: - kind: - type: string - name: - type: string - uid: - description: |- - UID is a type that holds unique ID values, including UUIDs. Because we - don't ONLY use UUIDs, this is an alias to string. Being a type captures - intent and helps make sure that UIDs and names do not get conflated. - type: string - required: - - kind - - name - - uid - type: object - version: - type: string - required: - - app - - resourceReference - - version - type: object - status: - description: KeptnWorkloadStatus defines the observed state of KeptnWorkload - properties: - currentVersion: - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .spec.app - name: AppName - type: string - - jsonPath: .spec.version - name: Version - type: string - name: v1alpha3 - schema: - openAPIV3Schema: - description: KeptnWorkload is the Schema for the keptnworkloads API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Spec describes the desired state of the KeptnWorkload. - properties: - app: - description: AppName is the name of the KeptnApp containing the KeptnWorkload. - type: string - postDeploymentEvaluations: - description: |- - PostDeploymentEvaluations is a list of all evaluations to be performed - during the post-deployment phase of the KeptnWorkload. - The items of this list refer to the names of KeptnEvaluationDefinitions - located in the same namespace as the KeptnWorkload, or in the Keptn namespace. - items: - type: string - type: array - postDeploymentTasks: - description: |- - PostDeploymentTasks is a list of all tasks to be performed during the post-deployment phase of the KeptnWorkload. - The items of this list refer to the names of KeptnTaskDefinitions - located in the same namespace as the KeptnWorkload, or in the Keptn namespace. - items: - type: string - type: array - preDeploymentEvaluations: - description: |- - PreDeploymentEvaluations is a list of all evaluations to be performed - during the pre-deployment phase of the KeptnWorkload. - The items of this list refer to the names of KeptnEvaluationDefinitions - located in the same namespace as the KeptnWorkload, or in the Keptn namespace. - items: - type: string - type: array - preDeploymentTasks: - description: |- - PreDeploymentTasks is a list of all tasks to be performed during the pre-deployment phase of the KeptnWorkload. - The items of this list refer to the names of KeptnTaskDefinitions - located in the same namespace as the KeptnApp, or in the Keptn namespace. - items: - type: string - type: array - resourceReference: - description: |- - ResourceReference is a reference to the Kubernetes resource - (Deployment, DaemonSet, StatefulSet or ReplicaSet) the KeptnWorkload is representing. - properties: - kind: - type: string - name: - type: string - uid: - description: |- - UID is a type that holds unique ID values, including UUIDs. Because we - don't ONLY use UUIDs, this is an alias to string. Being a type captures - intent and helps make sure that UIDs and names do not get conflated. - type: string - required: - - kind - - name - - uid - type: object - version: - description: Version defines the version of the KeptnWorkload. - type: string - required: - - app - - resourceReference - - version - type: object - status: - description: Status describes the current state of the KeptnWorkload. - properties: - currentVersion: - description: CurrentVersion indicates the version that is currently - deployed or being reconciled. - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .spec.app - name: AppName - type: string - - jsonPath: .spec.version - name: Version - type: string - name: v1beta1 - schema: - openAPIV3Schema: - description: KeptnWorkload is the Schema for the keptnworkloads API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Spec describes the desired state of the KeptnWorkload. - properties: - app: - description: AppName is the name of the KeptnApp containing the KeptnWorkload. - type: string - metadata: - additionalProperties: - type: string - description: Metadata contains additional key-value pairs for contextual - information. - type: object - postDeploymentEvaluations: - description: |- - PostDeploymentEvaluations is a list of all evaluations to be performed - during the post-deployment phase of the KeptnWorkload. - The items of this list refer to the names of KeptnEvaluationDefinitions - located in the same namespace as the KeptnWorkload, or in the Keptn namespace. - items: - type: string - type: array - postDeploymentTasks: - description: |- - PostDeploymentTasks is a list of all tasks to be performed during the post-deployment phase of the KeptnWorkload. - The items of this list refer to the names of KeptnTaskDefinitions - located in the same namespace as the KeptnWorkload, or in the Keptn namespace. - items: - type: string - type: array - preDeploymentEvaluations: - description: |- - PreDeploymentEvaluations is a list of all evaluations to be performed - during the pre-deployment phase of the KeptnWorkload. - The items of this list refer to the names of KeptnEvaluationDefinitions - located in the same namespace as the KeptnWorkload, or in the Keptn namespace. - items: - type: string - type: array - preDeploymentTasks: - description: |- - PreDeploymentTasks is a list of all tasks to be performed during the pre-deployment phase of the KeptnWorkload. - The items of this list refer to the names of KeptnTaskDefinitions - located in the same namespace as the KeptnApp, or in the Keptn namespace. - items: - type: string - type: array - resourceReference: - description: |- - ResourceReference is a reference to the Kubernetes resource - (Deployment, DaemonSet, StatefulSet or ReplicaSet) the KeptnWorkload is representing. - properties: - kind: - type: string - name: - type: string - uid: - description: |- - UID is a type that holds unique ID values, including UUIDs. Because we - don't ONLY use UUIDs, this is an alias to string. Being a type captures - intent and helps make sure that UIDs and names do not get conflated. - type: string - required: - - kind - - name - - uid - type: object - version: - description: Version defines the version of the KeptnWorkload. - type: string - required: - - app - - resourceReference - - version - type: object - status: - description: Status describes the current state of the KeptnWorkload. - properties: - currentVersion: - description: CurrentVersion indicates the version that is currently - deployed or being reconciled. - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} diff --git a/lifecycle-operator/chart/templates/keptnworkloadversion-crd.yaml b/lifecycle-operator/chart/templates/keptnworkloadversion-crd.yaml deleted file mode 100644 index ec7a3f110a..0000000000 --- a/lifecycle-operator/chart/templates/keptnworkloadversion-crd.yaml +++ /dev/null @@ -1,677 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnworkloadversions.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.14.0 - {{- with .Values.global.caInjectionAnnotations }} - {{- toYaml . | nindent 4 }} - {{- end }} - {{- include "common.annotations" ( dict "context" . ) }} - labels: - app.kubernetes.io/part-of: keptn - crdGroup: lifecycle.keptn.sh - keptn.sh/inject-cert: "true" -{{- include "common.labels.standard" ( dict "context" . ) | nindent 4 }} -spec: - group: lifecycle.keptn.sh - names: - kind: KeptnWorkloadVersion - listKind: KeptnWorkloadVersionList - plural: keptnworkloadversions - shortNames: - - kwv - singular: keptnworkloadversion - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .spec.app - name: AppName - type: string - - jsonPath: .spec.workloadName - name: WorkloadName - type: string - - jsonPath: .spec.version - name: WorkloadVersion - type: string - - jsonPath: .status.currentPhase - name: Phase - type: string - - jsonPath: .status.preDeploymentStatus - name: PreDeploymentStatus - priority: 1 - type: string - - jsonPath: .status.preDeploymentEvaluationStatus - name: PreDeploymentEvaluationStatus - priority: 1 - type: string - - jsonPath: .status.deploymentStatus - name: DeploymentStatus - priority: 1 - type: string - - jsonPath: .status.postDeploymentStatus - name: PostDeploymentStatus - priority: 1 - type: string - - jsonPath: .status.postDeploymentEvaluationStatus - name: PostDeploymentEvaluationStatus - priority: 1 - type: string - name: v1alpha4 - schema: - openAPIV3Schema: - description: KeptnWorkloadVersion is the Schema for the keptnworkloadversions - API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Spec describes the desired state of the KeptnWorkloadVersion. - properties: - app: - description: AppName is the name of the KeptnApp containing the KeptnWorkload. - type: string - postDeploymentEvaluations: - description: |- - PostDeploymentEvaluations is a list of all evaluations to be performed - during the post-deployment phase of the KeptnWorkload. - The items of this list refer to the names of KeptnEvaluationDefinitions - located in the same namespace as the KeptnWorkload, or in the Keptn namespace. - items: - type: string - type: array - postDeploymentTasks: - description: |- - PostDeploymentTasks is a list of all tasks to be performed during the post-deployment phase of the KeptnWorkload. - The items of this list refer to the names of KeptnTaskDefinitions - located in the same namespace as the KeptnWorkload, or in the Keptn namespace. - items: - type: string - type: array - preDeploymentEvaluations: - description: |- - PreDeploymentEvaluations is a list of all evaluations to be performed - during the pre-deployment phase of the KeptnWorkload. - The items of this list refer to the names of KeptnEvaluationDefinitions - located in the same namespace as the KeptnWorkload, or in the Keptn namespace. - items: - type: string - type: array - preDeploymentTasks: - description: |- - PreDeploymentTasks is a list of all tasks to be performed during the pre-deployment phase of the KeptnWorkload. - The items of this list refer to the names of KeptnTaskDefinitions - located in the same namespace as the KeptnApp, or in the Keptn namespace. - items: - type: string - type: array - previousVersion: - description: PreviousVersion is the version of the KeptnWorkload that - has been deployed prior to this version. - type: string - resourceReference: - description: |- - ResourceReference is a reference to the Kubernetes resource - (Deployment, DaemonSet, StatefulSet or ReplicaSet) the KeptnWorkload is representing. - properties: - kind: - type: string - name: - type: string - uid: - description: |- - UID is a type that holds unique ID values, including UUIDs. Because we - don't ONLY use UUIDs, this is an alias to string. Being a type captures - intent and helps make sure that UIDs and names do not get conflated. - type: string - required: - - kind - - name - - uid - type: object - traceId: - additionalProperties: - type: string - description: TraceId contains the OpenTelemetry trace ID. - type: object - version: - description: Version defines the version of the KeptnWorkload. - type: string - workloadName: - description: WorkloadName is the name of the KeptnWorkload. - type: string - required: - - app - - resourceReference - - version - - workloadName - type: object - status: - description: Status describes the current state of the KeptnWorkloadVersion. - properties: - currentPhase: - description: |- - CurrentPhase indicates the current phase of the KeptnWorkloadVersion. This can be: - - PreDeploymentTasks - - PreDeploymentEvaluations - - Deployment - - PostDeploymentTasks - - PostDeploymentEvaluations - type: string - deploymentStatus: - default: Pending - description: DeploymentStatus indicates the current status of the - KeptnWorkloadVersion's Deployment phase. - type: string - endTime: - description: EndTime represents the time at which the deployment of - the KeptnWorkloadVersion finished. - format: date-time - type: string - phaseTraceIDs: - additionalProperties: - additionalProperties: - type: string - description: |- - MapCarrier is a TextMapCarrier that uses a map held in memory as a storage - medium for propagated key-value pairs. - type: object - description: PhaseTraceIDs contains the trace IDs of the OpenTelemetry - spans of each phase of the KeptnWorkloadVersion - type: object - postDeploymentEvaluationStatus: - default: Pending - description: PostDeploymentEvaluationStatus indicates the current - status of the KeptnWorkloadVersion's PostDeploymentEvaluation phase. - type: string - postDeploymentEvaluationTaskStatus: - description: PostDeploymentEvaluationTaskStatus indicates the current - state of each postDeploymentEvaluation of the KeptnWorkloadVersion. - items: - properties: - definitionName: - description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition - type: string - endTime: - description: EndTime represents the time at which the Item (Evaluation/Task) - started. - format: date-time - type: string - name: - description: Name is the name of the Evaluation/Task - type: string - startTime: - description: StartTime represents the time at which the Item - (Evaluation/Task) started. - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase - state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - type: object - type: array - postDeploymentStatus: - default: Pending - description: PostDeploymentStatus indicates the current status of - the KeptnWorkloadVersion's PostDeployment phase. - type: string - postDeploymentTaskStatus: - description: PostDeploymentTaskStatus indicates the current state - of each postDeploymentTask of the KeptnWorkloadVersion. - items: - properties: - definitionName: - description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition - type: string - endTime: - description: EndTime represents the time at which the Item (Evaluation/Task) - started. - format: date-time - type: string - name: - description: Name is the name of the Evaluation/Task - type: string - startTime: - description: StartTime represents the time at which the Item - (Evaluation/Task) started. - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase - state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - type: object - type: array - preDeploymentEvaluationStatus: - default: Pending - description: PreDeploymentEvaluationStatus indicates the current status - of the KeptnWorkloadVersion's PreDeploymentEvaluation phase. - type: string - preDeploymentEvaluationTaskStatus: - description: PreDeploymentEvaluationTaskStatus indicates the current - state of each preDeploymentEvaluation of the KeptnWorkloadVersion. - items: - properties: - definitionName: - description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition - type: string - endTime: - description: EndTime represents the time at which the Item (Evaluation/Task) - started. - format: date-time - type: string - name: - description: Name is the name of the Evaluation/Task - type: string - startTime: - description: StartTime represents the time at which the Item - (Evaluation/Task) started. - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase - state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - type: object - type: array - preDeploymentStatus: - default: Pending - description: PreDeploymentStatus indicates the current status of the - KeptnWorkloadVersion's PreDeployment phase. - type: string - preDeploymentTaskStatus: - description: PreDeploymentTaskStatus indicates the current state of - each preDeploymentTask of the KeptnWorkloadVersion. - items: - properties: - definitionName: - description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition - type: string - endTime: - description: EndTime represents the time at which the Item (Evaluation/Task) - started. - format: date-time - type: string - name: - description: Name is the name of the Evaluation/Task - type: string - startTime: - description: StartTime represents the time at which the Item - (Evaluation/Task) started. - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase - state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - type: object - type: array - startTime: - description: StartTime represents the time at which the deployment - of the KeptnWorkloadVersion started. - format: date-time - type: string - status: - default: Pending - description: Status represents the overall status of the KeptnWorkloadVersion. - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .spec.app - name: AppName - type: string - - jsonPath: .spec.workloadName - name: WorkloadName - type: string - - jsonPath: .spec.version - name: WorkloadVersion - type: string - - jsonPath: .status.currentPhase - name: Phase - type: string - - jsonPath: .status.preDeploymentStatus - name: PreDeploymentStatus - priority: 1 - type: string - - jsonPath: .status.preDeploymentEvaluationStatus - name: PreDeploymentEvaluationStatus - priority: 1 - type: string - - jsonPath: .status.deploymentStatus - name: DeploymentStatus - priority: 1 - type: string - - jsonPath: .status.postDeploymentStatus - name: PostDeploymentStatus - priority: 1 - type: string - - jsonPath: .status.postDeploymentEvaluationStatus - name: PostDeploymentEvaluationStatus - priority: 1 - type: string - name: v1beta1 - schema: - openAPIV3Schema: - description: KeptnWorkloadVersion is the Schema for the keptnworkloadversions - API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Spec describes the desired state of the KeptnWorkloadVersion. - properties: - app: - description: AppName is the name of the KeptnApp containing the KeptnWorkload. - type: string - metadata: - additionalProperties: - type: string - description: Metadata contains additional key-value pairs for contextual - information. - type: object - postDeploymentEvaluations: - description: |- - PostDeploymentEvaluations is a list of all evaluations to be performed - during the post-deployment phase of the KeptnWorkload. - The items of this list refer to the names of KeptnEvaluationDefinitions - located in the same namespace as the KeptnWorkload, or in the Keptn namespace. - items: - type: string - type: array - postDeploymentTasks: - description: |- - PostDeploymentTasks is a list of all tasks to be performed during the post-deployment phase of the KeptnWorkload. - The items of this list refer to the names of KeptnTaskDefinitions - located in the same namespace as the KeptnWorkload, or in the Keptn namespace. - items: - type: string - type: array - preDeploymentEvaluations: - description: |- - PreDeploymentEvaluations is a list of all evaluations to be performed - during the pre-deployment phase of the KeptnWorkload. - The items of this list refer to the names of KeptnEvaluationDefinitions - located in the same namespace as the KeptnWorkload, or in the Keptn namespace. - items: - type: string - type: array - preDeploymentTasks: - description: |- - PreDeploymentTasks is a list of all tasks to be performed during the pre-deployment phase of the KeptnWorkload. - The items of this list refer to the names of KeptnTaskDefinitions - located in the same namespace as the KeptnApp, or in the Keptn namespace. - items: - type: string - type: array - previousVersion: - description: PreviousVersion is the version of the KeptnWorkload that - has been deployed prior to this version. - type: string - resourceReference: - description: |- - ResourceReference is a reference to the Kubernetes resource - (Deployment, DaemonSet, StatefulSet or ReplicaSet) the KeptnWorkload is representing. - properties: - kind: - type: string - name: - type: string - uid: - description: |- - UID is a type that holds unique ID values, including UUIDs. Because we - don't ONLY use UUIDs, this is an alias to string. Being a type captures - intent and helps make sure that UIDs and names do not get conflated. - type: string - required: - - kind - - name - - uid - type: object - traceId: - additionalProperties: - type: string - description: TraceId contains the OpenTelemetry trace ID. - type: object - version: - description: Version defines the version of the KeptnWorkload. - type: string - workloadName: - description: WorkloadName is the name of the KeptnWorkload. - type: string - required: - - app - - resourceReference - - version - - workloadName - type: object - status: - description: Status describes the current state of the KeptnWorkloadVersion. - properties: - appContextMetadata: - additionalProperties: - type: string - description: AppContextMetadata contains metadata from the related - KeptnAppVersion. - type: object - currentPhase: - description: |- - CurrentPhase indicates the current phase of the KeptnWorkloadVersion. This can be: - - PreDeploymentTasks - - PreDeploymentEvaluations - - Deployment - - PostDeploymentTasks - - PostDeploymentEvaluations - type: string - deploymentStartTime: - description: DeploymentStartTime represents the start time of the - deployment phase - format: date-time - type: string - deploymentStatus: - default: Pending - description: DeploymentStatus indicates the current status of the - KeptnWorkloadVersion's Deployment phase. - type: string - endTime: - description: EndTime represents the time at which the deployment of - the KeptnWorkloadVersion finished. - format: date-time - type: string - phaseTraceIDs: - additionalProperties: - additionalProperties: - type: string - description: |- - MapCarrier is a TextMapCarrier that uses a map held in memory as a storage - medium for propagated key-value pairs. - type: object - description: PhaseTraceIDs contains the trace IDs of the OpenTelemetry - spans of each phase of the KeptnWorkloadVersion - type: object - postDeploymentEvaluationStatus: - default: Pending - description: PostDeploymentEvaluationStatus indicates the current - status of the KeptnWorkloadVersion's PostDeploymentEvaluation phase. - type: string - postDeploymentEvaluationTaskStatus: - description: PostDeploymentEvaluationTaskStatus indicates the current - state of each postDeploymentEvaluation of the KeptnWorkloadVersion. - items: - properties: - definitionName: - description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition - type: string - endTime: - description: EndTime represents the time at which the Item (Evaluation/Task) - started. - format: date-time - type: string - name: - description: Name is the name of the Evaluation/Task - type: string - startTime: - description: StartTime represents the time at which the Item - (Evaluation/Task) started. - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase - state (Progressing/Succeeded/Failed/Unknown/Pending/Deprecated/Warning) - type: string - type: object - type: array - postDeploymentStatus: - default: Pending - description: PostDeploymentStatus indicates the current status of - the KeptnWorkloadVersion's PostDeployment phase. - type: string - postDeploymentTaskStatus: - description: PostDeploymentTaskStatus indicates the current state - of each postDeploymentTask of the KeptnWorkloadVersion. - items: - properties: - definitionName: - description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition - type: string - endTime: - description: EndTime represents the time at which the Item (Evaluation/Task) - started. - format: date-time - type: string - name: - description: Name is the name of the Evaluation/Task - type: string - startTime: - description: StartTime represents the time at which the Item - (Evaluation/Task) started. - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase - state (Progressing/Succeeded/Failed/Unknown/Pending/Deprecated/Warning) - type: string - type: object - type: array - preDeploymentEvaluationStatus: - default: Pending - description: PreDeploymentEvaluationStatus indicates the current status - of the KeptnWorkloadVersion's PreDeploymentEvaluation phase. - type: string - preDeploymentEvaluationTaskStatus: - description: PreDeploymentEvaluationTaskStatus indicates the current - state of each preDeploymentEvaluation of the KeptnWorkloadVersion. - items: - properties: - definitionName: - description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition - type: string - endTime: - description: EndTime represents the time at which the Item (Evaluation/Task) - started. - format: date-time - type: string - name: - description: Name is the name of the Evaluation/Task - type: string - startTime: - description: StartTime represents the time at which the Item - (Evaluation/Task) started. - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase - state (Progressing/Succeeded/Failed/Unknown/Pending/Deprecated/Warning) - type: string - type: object - type: array - preDeploymentStatus: - default: Pending - description: PreDeploymentStatus indicates the current status of the - KeptnWorkloadVersion's PreDeployment phase. - type: string - preDeploymentTaskStatus: - description: PreDeploymentTaskStatus indicates the current state of - each preDeploymentTask of the KeptnWorkloadVersion. - items: - properties: - definitionName: - description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition - type: string - endTime: - description: EndTime represents the time at which the Item (Evaluation/Task) - started. - format: date-time - type: string - name: - description: Name is the name of the Evaluation/Task - type: string - startTime: - description: StartTime represents the time at which the Item - (Evaluation/Task) started. - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase - state (Progressing/Succeeded/Failed/Unknown/Pending/Deprecated/Warning) - type: string - type: object - type: array - startTime: - description: StartTime represents the time at which the deployment - of the KeptnWorkloadVersion started. - format: date-time - type: string - status: - default: Pending - description: Status represents the overall status of the KeptnWorkloadVersion. - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} diff --git a/lifecycle-operator/chart/templates/operator-crd.yaml b/lifecycle-operator/chart/templates/operator-crd.yaml new file mode 100644 index 0000000000..3a6240f97b --- /dev/null +++ b/lifecycle-operator/chart/templates/operator-crd.yaml @@ -0,0 +1,8940 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + cert-manager.io/inject-ca-from: '{{ .Release.Namespace }}/keptn-certs' + {{- include "common.annotations" (dict "context" .) }} + labels: + app.kubernetes.io/part-of: keptn + crdGroup: lifecycle.keptn.sh + keptn.sh/inject-cert: "true" +{{- include "common.labels.standard" (dict "context" .) | nindent 4 }} + name: keptnappcontexts.lifecycle.keptn.sh +spec: + group: lifecycle.keptn.sh + names: + kind: KeptnAppContext + listKind: KeptnAppContextList + plural: keptnappcontexts + singular: keptnappcontext + scope: Namespaced + versions: + - name: v1beta1 + schema: + openAPIV3Schema: + description: KeptnAppContext is the Schema for the keptnappcontexts API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: KeptnAppContextSpec defines the desired state of KeptnAppContext + properties: + metadata: + additionalProperties: + type: string + description: Metadata contains additional key-value pairs for contextual + information. + type: object + postDeploymentEvaluations: + description: |- + PostDeploymentEvaluations is a list of all evaluations to be performed + during the post-deployment phase of the KeptnApp. + The items of this list refer to the names of KeptnEvaluationDefinitions + located in the same namespace as the KeptnApp, or in the Keptn namespace. + items: + type: string + type: array + postDeploymentTasks: + description: |- + PostDeploymentTasks is a list of all tasks to be performed during the post-deployment phase of the KeptnApp. + The items of this list refer to the names of KeptnTaskDefinitions + located in the same namespace as the KeptnApp, or in the Keptn namespace. + items: + type: string + type: array + preDeploymentEvaluations: + description: |- + PreDeploymentEvaluations is a list of all evaluations to be performed + during the pre-deployment phase of the KeptnApp. + The items of this list refer to the names of KeptnEvaluationDefinitions + located in the same namespace as the KeptnApp, or in the Keptn namespace. + items: + type: string + type: array + preDeploymentTasks: + description: |- + PreDeploymentTasks is a list of all tasks to be performed during the pre-deployment phase of the KeptnApp. + The items of this list refer to the names of KeptnTaskDefinitions + located in the same namespace as the KeptnApp, or in the Keptn namespace. + items: + type: string + type: array + promotionTasks: + description: |- + PromotionTasks is a list of all tasks to be performed during the promotion phase of the KeptnApp. + The items of this list refer to the names of KeptnTaskDefinitions + located in the same namespace as the KeptnApp, or in the Keptn namespace. + items: + type: string + type: array + spanLinks: + description: |- + SpanLinks are links to OpenTelemetry span IDs for tracking. These links establish relationships between spans across different services, enabling distributed tracing. + For more information on OpenTelemetry span links, refer to the documentation: https://opentelemetry.io/docs/concepts/signals/traces/#span-links + items: + type: string + type: array + type: object + status: + description: KeptnAppContextStatus defines the observed state of KeptnAppContext + properties: + status: + description: unused field + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + {{- with .Values.global.caInjectionAnnotations }} + {{- toYaml . | nindent 4 }} + {{- end }} + {{- include "common.annotations" ( dict "context" . ) }} + labels: + app.kubernetes.io/part-of: keptn + crdGroup: lifecycle.keptn.sh + keptn.sh/inject-cert: "true" +{{- include "common.labels.standard" (dict "context" .) | nindent 4 }} + name: keptnappcreationrequests.lifecycle.keptn.sh +spec: + group: lifecycle.keptn.sh + names: + kind: KeptnAppCreationRequest + listKind: KeptnAppCreationRequestList + plural: keptnappcreationrequests + singular: keptnappcreationrequest + scope: Namespaced + versions: + - name: v1alpha3 + schema: + openAPIV3Schema: + description: KeptnAppCreationRequest is the Schema for the keptnappcreationrequests + API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Spec describes the desired state of the KeptnAppCreationRequest. + properties: + appName: + description: AppName is the name of the KeptnApp the KeptnAppCreationRequest + should create if no user-defined object with that name is found. + type: string + required: + - appName + type: object + status: + description: Status describes the current state of the KeptnAppCreationRequest. + type: string + type: object + served: true + storage: false + subresources: + status: {} + - name: v1beta1 + schema: + openAPIV3Schema: + description: KeptnAppCreationRequest is the Schema for the keptnappcreationrequests + API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Spec describes the desired state of the KeptnAppCreationRequest. + properties: + appName: + description: AppName is the name of the KeptnApp the KeptnAppCreationRequest + should create if no user-defined object with that name is found. + type: string + required: + - appName + type: object + status: + description: Status describes the current state of the KeptnAppCreationRequest. + type: string + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + {{- with .Values.global.caInjectionAnnotations }} + {{- toYaml . | nindent 4 }} + {{- end }} + {{- include "common.annotations" ( dict "context" . ) }} + labels: + app.kubernetes.io/part-of: keptn + crdGroup: lifecycle.keptn.sh + keptn.sh/inject-cert: "true" +{{- include "common.labels.standard" (dict "context" .) | nindent 4 }} + name: keptnapps.lifecycle.keptn.sh +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: lifecycle-webhook-service + namespace: system + path: /convert + conversionReviewVersions: + - v1 + group: lifecycle.keptn.sh + names: + kind: KeptnApp + listKind: KeptnAppList + plural: keptnapps + singular: keptnapp + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: KeptnApp is the Schema for the keptnapps API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: KeptnAppSpec defines the desired state of KeptnApp + properties: + postDeploymentEvaluations: + items: + type: string + type: array + postDeploymentTasks: + items: + type: string + type: array + preDeploymentEvaluations: + items: + type: string + type: array + preDeploymentTasks: + items: + type: string + type: array + version: + type: string + workloads: + items: + properties: + name: + type: string + version: + type: string + required: + - name + - version + type: object + type: array + required: + - version + type: object + status: + description: KeptnAppStatus defines the observed state of KeptnApp + properties: + currentVersion: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - name: v1alpha2 + schema: + openAPIV3Schema: + description: KeptnApp is the Schema for the keptnapps API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: KeptnAppSpec defines the desired state of KeptnApp + properties: + postDeploymentEvaluations: + items: + type: string + type: array + postDeploymentTasks: + items: + type: string + type: array + preDeploymentEvaluations: + items: + type: string + type: array + preDeploymentTasks: + items: + type: string + type: array + revision: + default: 1 + type: integer + version: + type: string + workloads: + items: + properties: + name: + type: string + version: + type: string + required: + - name + - version + type: object + type: array + required: + - version + type: object + status: + description: KeptnAppStatus defines the observed state of KeptnApp + properties: + currentVersion: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - name: v1alpha3 + schema: + openAPIV3Schema: + description: KeptnApp is the Schema for the keptnapps API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Spec describes the desired state of the KeptnApp. + properties: + postDeploymentEvaluations: + description: |- + PostDeploymentEvaluations is a list of all evaluations to be performed + during the post-deployment phase of the KeptnApp. + The items of this list refer to the names of KeptnEvaluationDefinitions + located in the same namespace as the KeptnApp, or in the Keptn namespace. + items: + type: string + type: array + postDeploymentTasks: + description: |- + PostDeploymentTasks is a list of all tasks to be performed during the post-deployment phase of the KeptnApp. + The items of this list refer to the names of KeptnTaskDefinitions + located in the same namespace as the KeptnApp, or in the Keptn namespace. + items: + type: string + type: array + preDeploymentEvaluations: + description: |- + PreDeploymentEvaluations is a list of all evaluations to be performed + during the pre-deployment phase of the KeptnApp. + The items of this list refer to the names of KeptnEvaluationDefinitions + located in the same namespace as the KeptnApp, or in the Keptn namespace. + items: + type: string + type: array + preDeploymentTasks: + description: |- + PreDeploymentTasks is a list of all tasks to be performed during the pre-deployment phase of the KeptnApp. + The items of this list refer to the names of KeptnTaskDefinitions + located in the same namespace as the KeptnApp, or in the Keptn namespace. + items: + type: string + type: array + revision: + default: 1 + description: |- + Revision can be modified to trigger another deployment of a KeptnApp of the same version. + This can be used for restarting a KeptnApp which failed to deploy, + e.g. due to a failed preDeploymentEvaluation/preDeploymentTask. + type: integer + version: + description: |- + Version defines the version of the application. For automatically created KeptnApps, + the version is a function of all KeptnWorkloads that are part of the KeptnApp. + type: string + workloads: + description: Workloads is a list of all KeptnWorkloads that are part + of the KeptnApp. + items: + description: KeptnWorkloadRef refers to a KeptnWorkload that is + part of a KeptnApp + properties: + name: + description: Name is the name of the KeptnWorkload. + type: string + version: + description: Version is the version of the KeptnWorkload. + type: string + required: + - name + - version + type: object + type: array + required: + - version + type: object + status: + description: Status describes the current state of the KeptnApp. + properties: + currentVersion: + description: CurrentVersion indicates the version that is currently + deployed or being reconciled. + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - name: v1beta1 + schema: + openAPIV3Schema: + description: KeptnApp is the Schema for the keptnapps API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Spec describes the desired state of the KeptnApp. + properties: + revision: + default: 1 + description: |- + Revision can be modified to trigger another deployment of a KeptnApp of the same version. + This can be used for restarting a KeptnApp which failed to deploy, + e.g. due to a failed preDeploymentEvaluation/preDeploymentTask. + type: integer + version: + description: |- + Version defines the version of the application. For automatically created KeptnApps, + the version is a function of all KeptnWorkloads that are part of the KeptnApp. + type: string + workloads: + description: Workloads is a list of all KeptnWorkloads that are part + of the KeptnApp. + items: + description: KeptnWorkloadRef refers to a KeptnWorkload that is + part of a KeptnApp + properties: + name: + description: Name is the name of the KeptnWorkload. + type: string + version: + description: Version is the version of the KeptnWorkload. + type: string + required: + - name + - version + type: object + type: array + required: + - version + type: object + status: + description: Status describes the current state of the KeptnApp. + properties: + currentVersion: + description: CurrentVersion indicates the version that is currently + deployed or being reconciled. + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + {{- with .Values.global.caInjectionAnnotations }} + {{- toYaml . | nindent 4 }} + {{- end }} + {{- include "common.annotations" ( dict "context" . ) }} + labels: + app.kubernetes.io/part-of: keptn + crdGroup: lifecycle.keptn.sh + keptn.sh/inject-cert: "true" +{{- include "common.labels.standard" (dict "context" .) | nindent 4 }} + name: keptnappversions.lifecycle.keptn.sh +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: lifecycle-webhook-service + namespace: system + path: /convert + conversionReviewVersions: + - v1 + group: lifecycle.keptn.sh + names: + kind: KeptnAppVersion + listKind: KeptnAppVersionList + plural: keptnappversions + shortNames: + - kav + singular: keptnappversion + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .spec.appName + name: AppName + type: string + - jsonPath: .spec.version + name: Version + type: string + - jsonPath: .status.currentPhase + name: Phase + type: string + - jsonPath: .status.preDeploymentStatus + name: PreDeploymentStatus + priority: 1 + type: string + - jsonPath: .status.preDeploymentEvaluationStatus + name: PreDeploymentEvaluationStatus + priority: 1 + type: string + - jsonPath: .status.workloadOverallStatus + name: WorkloadOverallStatus + priority: 1 + type: string + - jsonPath: .status.postDeploymentStatus + name: PostDeploymentStatus + priority: 1 + type: string + - jsonPath: .status.postDeploymentEvaluationStatus + name: PostDeploymentEvaluationStatus + priority: 1 + type: string + name: v1alpha1 + schema: + openAPIV3Schema: + description: KeptnAppVersion is the Schema for the keptnappversions API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: KeptnAppVersionSpec defines the desired state of KeptnAppVersion + properties: + appName: + type: string + postDeploymentEvaluations: + items: + type: string + type: array + postDeploymentTasks: + items: + type: string + type: array + preDeploymentEvaluations: + items: + type: string + type: array + preDeploymentTasks: + items: + type: string + type: array + previousVersion: + type: string + traceId: + additionalProperties: + type: string + type: object + version: + type: string + workloads: + items: + properties: + name: + type: string + version: + type: string + required: + - name + - version + type: object + type: array + required: + - appName + - version + type: object + status: + description: KeptnAppVersionStatus defines the observed state of KeptnAppVersion + properties: + currentPhase: + type: string + endTime: + format: date-time + type: string + phaseTraceIDs: + additionalProperties: + additionalProperties: + type: string + description: |- + MapCarrier is a TextMapCarrier that uses a map held in memory as a storage + medium for propagated key-value pairs. + type: object + description: PhaseTraceID is a map storing TraceIDs of OpenTelemetry + spans in lifecycle phases + type: object + postDeploymentEvaluationStatus: + default: Pending + description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + postDeploymentEvaluationTaskStatus: + items: + properties: + endTime: + format: date-time + type: string + evaluationDefinitionName: + type: string + evaluationName: + type: string + startTime: + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase + state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + type: object + type: array + postDeploymentStatus: + default: Pending + description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + postDeploymentTaskStatus: + items: + properties: + endTime: + format: date-time + type: string + startTime: + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase + state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + taskDefinitionName: + type: string + taskName: + type: string + type: object + type: array + preDeploymentEvaluationStatus: + default: Pending + description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + preDeploymentEvaluationTaskStatus: + items: + properties: + endTime: + format: date-time + type: string + evaluationDefinitionName: + type: string + evaluationName: + type: string + startTime: + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase + state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + type: object + type: array + preDeploymentStatus: + default: Pending + description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + preDeploymentTaskStatus: + items: + properties: + endTime: + format: date-time + type: string + startTime: + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase + state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + taskDefinitionName: + type: string + taskName: + type: string + type: object + type: array + startTime: + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + workloadOverallStatus: + default: Pending + description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + workloadStatus: + items: + properties: + status: + default: Pending + description: KeptnState is a string containing current Phase + state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + workload: + properties: + name: + type: string + version: + type: string + required: + - name + - version + type: object + type: object + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .spec.appName + name: AppName + type: string + - jsonPath: .spec.version + name: Version + type: string + - jsonPath: .status.currentPhase + name: Phase + type: string + - jsonPath: .status.preDeploymentStatus + name: PreDeploymentStatus + priority: 1 + type: string + - jsonPath: .status.preDeploymentEvaluationStatus + name: PreDeploymentEvaluationStatus + priority: 1 + type: string + - jsonPath: .status.workloadOverallStatus + name: WorkloadOverallStatus + priority: 1 + type: string + - jsonPath: .status.postDeploymentStatus + name: PostDeploymentStatus + priority: 1 + type: string + - jsonPath: .status.postDeploymentEvaluationStatus + name: PostDeploymentEvaluationStatus + priority: 1 + type: string + name: v1alpha2 + schema: + openAPIV3Schema: + description: KeptnAppVersion is the Schema for the keptnappversions API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: KeptnAppVersionSpec defines the desired state of KeptnAppVersion + properties: + appName: + type: string + postDeploymentEvaluations: + items: + type: string + type: array + postDeploymentTasks: + items: + type: string + type: array + preDeploymentEvaluations: + items: + type: string + type: array + preDeploymentTasks: + items: + type: string + type: array + previousVersion: + type: string + revision: + default: 1 + type: integer + traceId: + additionalProperties: + type: string + type: object + version: + type: string + workloads: + items: + properties: + name: + type: string + version: + type: string + required: + - name + - version + type: object + type: array + required: + - appName + - version + type: object + status: + description: KeptnAppVersionStatus defines the observed state of KeptnAppVersion + properties: + currentPhase: + type: string + endTime: + format: date-time + type: string + phaseTraceIDs: + additionalProperties: + additionalProperties: + type: string + description: |- + MapCarrier is a TextMapCarrier that uses a map held in memory as a storage + medium for propagated key-value pairs. + type: object + type: object + postDeploymentEvaluationStatus: + default: Pending + description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + postDeploymentEvaluationTaskStatus: + items: + properties: + definitionName: + description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition + type: string + endTime: + format: date-time + type: string + name: + description: Name is the name of the Evaluation/Task + type: string + startTime: + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase + state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + type: object + type: array + postDeploymentStatus: + default: Pending + description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + postDeploymentTaskStatus: + items: + properties: + definitionName: + description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition + type: string + endTime: + format: date-time + type: string + name: + description: Name is the name of the Evaluation/Task + type: string + startTime: + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase + state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + type: object + type: array + preDeploymentEvaluationStatus: + default: Pending + description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + preDeploymentEvaluationTaskStatus: + items: + properties: + definitionName: + description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition + type: string + endTime: + format: date-time + type: string + name: + description: Name is the name of the Evaluation/Task + type: string + startTime: + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase + state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + type: object + type: array + preDeploymentStatus: + default: Pending + description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + preDeploymentTaskStatus: + items: + properties: + definitionName: + description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition + type: string + endTime: + format: date-time + type: string + name: + description: Name is the name of the Evaluation/Task + type: string + startTime: + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase + state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + type: object + type: array + startTime: + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + workloadOverallStatus: + default: Pending + description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + workloadStatus: + items: + properties: + status: + default: Pending + description: KeptnState is a string containing current Phase + state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + workload: + properties: + name: + type: string + version: + type: string + required: + - name + - version + type: object + type: object + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .spec.appName + name: AppName + type: string + - jsonPath: .spec.version + name: Version + type: string + - jsonPath: .status.currentPhase + name: Phase + type: string + - jsonPath: .status.preDeploymentStatus + name: PreDeploymentStatus + priority: 1 + type: string + - jsonPath: .status.preDeploymentEvaluationStatus + name: PreDeploymentEvaluationStatus + priority: 1 + type: string + - jsonPath: .status.workloadOverallStatus + name: WorkloadOverallStatus + priority: 1 + type: string + - jsonPath: .status.postDeploymentStatus + name: PostDeploymentStatus + priority: 1 + type: string + - jsonPath: .status.postDeploymentEvaluationStatus + name: PostDeploymentEvaluationStatus + priority: 1 + type: string + name: v1alpha3 + schema: + openAPIV3Schema: + description: KeptnAppVersion is the Schema for the keptnappversions API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Spec describes the desired state of the KeptnAppVersion. + properties: + appName: + description: AppName is the name of the KeptnApp. + type: string + postDeploymentEvaluations: + description: |- + PostDeploymentEvaluations is a list of all evaluations to be performed + during the post-deployment phase of the KeptnApp. + The items of this list refer to the names of KeptnEvaluationDefinitions + located in the same namespace as the KeptnApp, or in the Keptn namespace. + items: + type: string + type: array + postDeploymentTasks: + description: |- + PostDeploymentTasks is a list of all tasks to be performed during the post-deployment phase of the KeptnApp. + The items of this list refer to the names of KeptnTaskDefinitions + located in the same namespace as the KeptnApp, or in the Keptn namespace. + items: + type: string + type: array + preDeploymentEvaluations: + description: |- + PreDeploymentEvaluations is a list of all evaluations to be performed + during the pre-deployment phase of the KeptnApp. + The items of this list refer to the names of KeptnEvaluationDefinitions + located in the same namespace as the KeptnApp, or in the Keptn namespace. + items: + type: string + type: array + preDeploymentTasks: + description: |- + PreDeploymentTasks is a list of all tasks to be performed during the pre-deployment phase of the KeptnApp. + The items of this list refer to the names of KeptnTaskDefinitions + located in the same namespace as the KeptnApp, or in the Keptn namespace. + items: + type: string + type: array + previousVersion: + description: PreviousVersion is the version of the KeptnApp that has + been deployed prior to this version. + type: string + revision: + default: 1 + description: |- + Revision can be modified to trigger another deployment of a KeptnApp of the same version. + This can be used for restarting a KeptnApp which failed to deploy, + e.g. due to a failed preDeploymentEvaluation/preDeploymentTask. + type: integer + traceId: + additionalProperties: + type: string + description: TraceId contains the OpenTelemetry trace ID. + type: object + version: + description: |- + Version defines the version of the application. For automatically created KeptnApps, + the version is a function of all KeptnWorkloads that are part of the KeptnApp. + type: string + workloads: + description: Workloads is a list of all KeptnWorkloads that are part + of the KeptnApp. + items: + description: KeptnWorkloadRef refers to a KeptnWorkload that is + part of a KeptnApp + properties: + name: + description: Name is the name of the KeptnWorkload. + type: string + version: + description: Version is the version of the KeptnWorkload. + type: string + required: + - name + - version + type: object + type: array + required: + - appName + - version + type: object + status: + description: Status describes the current state of the KeptnAppVersion. + properties: + currentPhase: + description: CurrentPhase indicates the current phase of the KeptnAppVersion. + type: string + endTime: + description: EndTime represents the time at which the deployment of + the KeptnAppVersion finished. + format: date-time + type: string + phaseTraceIDs: + additionalProperties: + additionalProperties: + type: string + description: |- + MapCarrier is a TextMapCarrier that uses a map held in memory as a storage + medium for propagated key-value pairs. + type: object + description: PhaseTraceIDs contains the trace IDs of the OpenTelemetry + spans of each phase of the KeptnAppVersion. + type: object + postDeploymentEvaluationStatus: + default: Pending + description: PostDeploymentEvaluationStatus indicates the current + status of the KeptnAppVersion's PostDeploymentEvaluation phase. + type: string + postDeploymentEvaluationTaskStatus: + description: PostDeploymentEvaluationTaskStatus indicates the current + state of each postDeploymentEvaluation of the KeptnAppVersion. + items: + properties: + definitionName: + description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition + type: string + endTime: + description: EndTime represents the time at which the Item (Evaluation/Task) + started. + format: date-time + type: string + name: + description: Name is the name of the Evaluation/Task + type: string + startTime: + description: StartTime represents the time at which the Item + (Evaluation/Task) started. + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase + state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + type: object + type: array + postDeploymentStatus: + default: Pending + description: PostDeploymentStatus indicates the current status of + the KeptnAppVersion's PostDeployment phase. + type: string + postDeploymentTaskStatus: + description: PostDeploymentTaskStatus indicates the current state + of each postDeploymentTask of the KeptnAppVersion. + items: + properties: + definitionName: + description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition + type: string + endTime: + description: EndTime represents the time at which the Item (Evaluation/Task) + started. + format: date-time + type: string + name: + description: Name is the name of the Evaluation/Task + type: string + startTime: + description: StartTime represents the time at which the Item + (Evaluation/Task) started. + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase + state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + type: object + type: array + preDeploymentEvaluationStatus: + default: Pending + description: PreDeploymentEvaluationStatus indicates the current status + of the KeptnAppVersion's PreDeploymentEvaluation phase. + type: string + preDeploymentEvaluationTaskStatus: + description: PreDeploymentEvaluationTaskStatus indicates the current + state of each preDeploymentEvaluation of the KeptnAppVersion. + items: + properties: + definitionName: + description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition + type: string + endTime: + description: EndTime represents the time at which the Item (Evaluation/Task) + started. + format: date-time + type: string + name: + description: Name is the name of the Evaluation/Task + type: string + startTime: + description: StartTime represents the time at which the Item + (Evaluation/Task) started. + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase + state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + type: object + type: array + preDeploymentStatus: + default: Pending + description: PreDeploymentStatus indicates the current status of the + KeptnAppVersion's PreDeployment phase. + type: string + preDeploymentTaskStatus: + description: PreDeploymentTaskStatus indicates the current state of + each preDeploymentTask of the KeptnAppVersion. + items: + properties: + definitionName: + description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition + type: string + endTime: + description: EndTime represents the time at which the Item (Evaluation/Task) + started. + format: date-time + type: string + name: + description: Name is the name of the Evaluation/Task + type: string + startTime: + description: StartTime represents the time at which the Item + (Evaluation/Task) started. + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase + state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + type: object + type: array + startTime: + description: StartTime represents the time at which the deployment + of the KeptnAppVersion started. + format: date-time + type: string + status: + default: Pending + description: Status represents the overall status of the KeptnAppVersion. + type: string + workloadOverallStatus: + default: Pending + description: WorkloadOverallStatus indicates the current status of + the KeptnAppVersion's Workload deployment phase. + type: string + workloadStatus: + description: WorkloadStatus contains the current status of each KeptnWorkload + that is part of the KeptnAppVersion. + items: + properties: + status: + default: Pending + description: Status indicates the current status of the KeptnWorkload. + type: string + workload: + description: Workload refers to a KeptnWorkload that is part + of the KeptnAppVersion. + properties: + name: + description: Name is the name of the KeptnWorkload. + type: string + version: + description: Version is the version of the KeptnWorkload. + type: string + required: + - name + - version + type: object + type: object + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .spec.appName + name: AppName + type: string + - jsonPath: .spec.version + name: Version + type: string + - jsonPath: .status.currentPhase + name: Phase + type: string + - jsonPath: .status.preDeploymentStatus + name: PreDeploymentStatus + priority: 1 + type: string + - jsonPath: .status.preDeploymentEvaluationStatus + name: PreDeploymentEvaluationStatus + priority: 1 + type: string + - jsonPath: .status.workloadOverallStatus + name: WorkloadOverallStatus + priority: 1 + type: string + - jsonPath: .status.postDeploymentStatus + name: PostDeploymentStatus + priority: 1 + type: string + - jsonPath: .status.postDeploymentEvaluationStatus + name: PostDeploymentEvaluationStatus + priority: 1 + type: string + - jsonPath: .status.promotionStatus + name: PromotionStatus + priority: 1 + type: string + name: v1beta1 + schema: + openAPIV3Schema: + description: KeptnAppVersion is the Schema for the keptnappversions API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Spec describes the desired state of the KeptnAppVersion. + properties: + appName: + description: AppName is the name of the KeptnApp. + type: string + metadata: + additionalProperties: + type: string + description: Metadata contains additional key-value pairs for contextual + information. + type: object + postDeploymentEvaluations: + description: |- + PostDeploymentEvaluations is a list of all evaluations to be performed + during the post-deployment phase of the KeptnApp. + The items of this list refer to the names of KeptnEvaluationDefinitions + located in the same namespace as the KeptnApp, or in the Keptn namespace. + items: + type: string + type: array + postDeploymentTasks: + description: |- + PostDeploymentTasks is a list of all tasks to be performed during the post-deployment phase of the KeptnApp. + The items of this list refer to the names of KeptnTaskDefinitions + located in the same namespace as the KeptnApp, or in the Keptn namespace. + items: + type: string + type: array + preDeploymentEvaluations: + description: |- + PreDeploymentEvaluations is a list of all evaluations to be performed + during the pre-deployment phase of the KeptnApp. + The items of this list refer to the names of KeptnEvaluationDefinitions + located in the same namespace as the KeptnApp, or in the Keptn namespace. + items: + type: string + type: array + preDeploymentTasks: + description: |- + PreDeploymentTasks is a list of all tasks to be performed during the pre-deployment phase of the KeptnApp. + The items of this list refer to the names of KeptnTaskDefinitions + located in the same namespace as the KeptnApp, or in the Keptn namespace. + items: + type: string + type: array + previousVersion: + description: PreviousVersion is the version of the KeptnApp that has + been deployed prior to this version. + type: string + promotionTasks: + description: |- + PromotionTasks is a list of all tasks to be performed during the promotion phase of the KeptnApp. + The items of this list refer to the names of KeptnTaskDefinitions + located in the same namespace as the KeptnApp, or in the Keptn namespace. + items: + type: string + type: array + revision: + default: 1 + description: |- + Revision can be modified to trigger another deployment of a KeptnApp of the same version. + This can be used for restarting a KeptnApp which failed to deploy, + e.g. due to a failed preDeploymentEvaluation/preDeploymentTask. + type: integer + spanLinks: + description: |- + SpanLinks are links to OpenTelemetry span IDs for tracking. These links establish relationships between spans across different services, enabling distributed tracing. + For more information on OpenTelemetry span links, refer to the documentation: https://opentelemetry.io/docs/concepts/signals/traces/#span-links + items: + type: string + type: array + traceId: + additionalProperties: + type: string + description: TraceId contains the OpenTelemetry trace ID. + type: object + version: + description: |- + Version defines the version of the application. For automatically created KeptnApps, + the version is a function of all KeptnWorkloads that are part of the KeptnApp. + type: string + workloads: + description: Workloads is a list of all KeptnWorkloads that are part + of the KeptnApp. + items: + description: KeptnWorkloadRef refers to a KeptnWorkload that is + part of a KeptnApp + properties: + name: + description: Name is the name of the KeptnWorkload. + type: string + version: + description: Version is the version of the KeptnWorkload. + type: string + required: + - name + - version + type: object + type: array + required: + - appName + - version + type: object + status: + description: Status describes the current state of the KeptnAppVersion. + properties: + currentPhase: + description: CurrentPhase indicates the current phase of the KeptnAppVersion. + type: string + endTime: + description: EndTime represents the time at which the deployment of + the KeptnAppVersion finished. + format: date-time + type: string + phaseTraceIDs: + additionalProperties: + additionalProperties: + type: string + description: |- + MapCarrier is a TextMapCarrier that uses a map held in memory as a storage + medium for propagated key-value pairs. + type: object + description: PhaseTraceIDs contains the trace IDs of the OpenTelemetry + spans of each phase of the KeptnAppVersion. + type: object + postDeploymentEvaluationStatus: + default: Pending + description: PostDeploymentEvaluationStatus indicates the current + status of the KeptnAppVersion's PostDeploymentEvaluation phase. + type: string + postDeploymentEvaluationTaskStatus: + description: PostDeploymentEvaluationTaskStatus indicates the current + state of each postDeploymentEvaluation of the KeptnAppVersion. + items: + properties: + definitionName: + description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition + type: string + endTime: + description: EndTime represents the time at which the Item (Evaluation/Task) + started. + format: date-time + type: string + name: + description: Name is the name of the Evaluation/Task + type: string + startTime: + description: StartTime represents the time at which the Item + (Evaluation/Task) started. + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase + state (Progressing/Succeeded/Failed/Unknown/Pending/Deprecated/Warning) + type: string + type: object + type: array + postDeploymentStatus: + default: Pending + description: PostDeploymentStatus indicates the current status of + the KeptnAppVersion's PostDeployment phase. + type: string + postDeploymentTaskStatus: + description: PostDeploymentTaskStatus indicates the current state + of each postDeploymentTask of the KeptnAppVersion. + items: + properties: + definitionName: + description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition + type: string + endTime: + description: EndTime represents the time at which the Item (Evaluation/Task) + started. + format: date-time + type: string + name: + description: Name is the name of the Evaluation/Task + type: string + startTime: + description: StartTime represents the time at which the Item + (Evaluation/Task) started. + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase + state (Progressing/Succeeded/Failed/Unknown/Pending/Deprecated/Warning) + type: string + type: object + type: array + preDeploymentEvaluationStatus: + default: Pending + description: PreDeploymentEvaluationStatus indicates the current status + of the KeptnAppVersion's PreDeploymentEvaluation phase. + type: string + preDeploymentEvaluationTaskStatus: + description: PreDeploymentEvaluationTaskStatus indicates the current + state of each preDeploymentEvaluation of the KeptnAppVersion. + items: + properties: + definitionName: + description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition + type: string + endTime: + description: EndTime represents the time at which the Item (Evaluation/Task) + started. + format: date-time + type: string + name: + description: Name is the name of the Evaluation/Task + type: string + startTime: + description: StartTime represents the time at which the Item + (Evaluation/Task) started. + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase + state (Progressing/Succeeded/Failed/Unknown/Pending/Deprecated/Warning) + type: string + type: object + type: array + preDeploymentStatus: + default: Pending + description: PreDeploymentStatus indicates the current status of the + KeptnAppVersion's PreDeployment phase. + type: string + preDeploymentTaskStatus: + description: PreDeploymentTaskStatus indicates the current state of + each preDeploymentTask of the KeptnAppVersion. + items: + properties: + definitionName: + description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition + type: string + endTime: + description: EndTime represents the time at which the Item (Evaluation/Task) + started. + format: date-time + type: string + name: + description: Name is the name of the Evaluation/Task + type: string + startTime: + description: StartTime represents the time at which the Item + (Evaluation/Task) started. + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase + state (Progressing/Succeeded/Failed/Unknown/Pending/Deprecated/Warning) + type: string + type: object + type: array + promotionStatus: + default: Pending + description: PromotionStatus indicates the current status of the KeptnAppVersion's + Promotion phase. + type: string + promotionTaskStatus: + description: PromotionTaskStatus indicates the current state of each + promotionTask of the KeptnAppVersion. + items: + properties: + definitionName: + description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition + type: string + endTime: + description: EndTime represents the time at which the Item (Evaluation/Task) + started. + format: date-time + type: string + name: + description: Name is the name of the Evaluation/Task + type: string + startTime: + description: StartTime represents the time at which the Item + (Evaluation/Task) started. + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase + state (Progressing/Succeeded/Failed/Unknown/Pending/Deprecated/Warning) + type: string + type: object + type: array + startTime: + description: StartTime represents the time at which the deployment + of the KeptnAppVersion started. + format: date-time + type: string + status: + default: Pending + description: Status represents the overall status of the KeptnAppVersion. + type: string + workloadOverallStatus: + default: Pending + description: WorkloadOverallStatus indicates the current status of + the KeptnAppVersion's Workload deployment phase. + type: string + workloadStatus: + description: WorkloadStatus contains the current status of each KeptnWorkload + that is part of the KeptnAppVersion. + items: + properties: + status: + default: Pending + description: Status indicates the current status of the KeptnWorkload. + type: string + workload: + description: Workload refers to a KeptnWorkload that is part + of the KeptnAppVersion. + properties: + name: + description: Name is the name of the KeptnWorkload. + type: string + version: + description: Version is the version of the KeptnWorkload. + type: string + required: + - name + - version + type: object + type: object + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + {{- with .Values.global.caInjectionAnnotations }} + {{- toYaml . | nindent 4 }} + {{- end }} + {{- include "common.annotations" ( dict "context" . ) }} + labels: + app.kubernetes.io/part-of: keptn + crdGroup: lifecycle.keptn.sh + keptn.sh/inject-cert: "true" +{{- include "common.labels.standard" (dict "context" .) | nindent 4 }} + name: keptnconfigs.options.keptn.sh +spec: + group: options.keptn.sh + names: + kind: KeptnConfig + listKind: KeptnConfigList + plural: keptnconfigs + singular: keptnconfig + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: KeptnConfig is the Schema for the keptnconfigs API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: KeptnConfigSpec defines the desired state of KeptnConfig + properties: + OTelCollectorUrl: + description: OTelCollectorUrl can be used to set the Open Telemetry + collector that the lifecycle operator should use + type: string + blockDeployment: + default: true + description: |- + BlockDeployment is used to block the deployment of the application until the pre-deployment + tasks and evaluations succeed + type: boolean + cloudEventsEndpoint: + description: CloudEventsEndpoint can be used to set the endpoint where + Cloud Events should be posted by the lifecycle operator + type: string + keptnAppCreationRequestTimeoutSeconds: + default: 30 + description: |- + KeptnAppCreationRequestTimeoutSeconds is used to set the interval in which automatic app discovery + searches for workload to put into the same auto-generated KeptnApp + type: integer + observabilityTimeout: + default: 5m + description: |- + ObservabilityTimeout specifies the maximum time to observe the deployment phase of KeptnWorkload. + If the workload does not deploy successfully within this time frame, it will be + considered as failed. + pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ + type: string + type: object + status: + description: unused field + type: string + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + {{- with .Values.global.caInjectionAnnotations }} + {{- toYaml . | nindent 4 }} + {{- end }} + {{- include "common.annotations" ( dict "context" . ) }} + labels: + app.kubernetes.io/part-of: keptn + crdGroup: lifecycle.keptn.sh + keptn.sh/inject-cert: "true" +{{- include "common.labels.standard" (dict "context" .) | nindent 4 }} + name: keptnevaluationdefinitions.lifecycle.keptn.sh +spec: + group: lifecycle.keptn.sh + names: + kind: KeptnEvaluationDefinition + listKind: KeptnEvaluationDefinitionList + plural: keptnevaluationdefinitions + shortNames: + - ked + singular: keptnevaluationdefinition + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: KeptnEvaluationDefinition is the Schema for the keptnevaluationdefinitions + API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: KeptnEvaluationDefinitionSpec defines the desired state of + KeptnEvaluationDefinition + properties: + objectives: + items: + properties: + evaluationTarget: + type: string + name: + type: string + query: + type: string + required: + - evaluationTarget + - name + - query + type: object + type: array + source: + type: string + required: + - objectives + - source + type: object + status: + description: unused field + type: string + type: object + served: true + storage: false + subresources: + status: {} + - name: v1alpha2 + schema: + openAPIV3Schema: + description: KeptnEvaluationDefinition is the Schema for the keptnevaluationdefinitions + API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: KeptnEvaluationDefinitionSpec defines the desired state of + KeptnEvaluationDefinition + properties: + objectives: + items: + properties: + evaluationTarget: + type: string + name: + type: string + query: + type: string + required: + - evaluationTarget + - name + - query + type: object + type: array + source: + type: string + required: + - objectives + - source + type: object + status: + description: unused field + type: string + type: object + served: true + storage: false + subresources: + status: {} + - name: v1alpha3 + schema: + openAPIV3Schema: + description: KeptnEvaluationDefinition is the Schema for the keptnevaluationdefinitions + API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Spec describes the desired state of the KeptnEvaluationDefinition. + properties: + objectives: + description: |- + Objectives is a list of objectives that have to be met for a KeptnEvaluation referencing this + KeptnEvaluationDefinition to be successful. + items: + properties: + evaluationTarget: + description: |- + EvaluationTarget specifies the target value for the references KeptnMetric. + Needs to start with either '<' or '>', followed by the target value (e.g. '<10'). + type: string + keptnMetricRef: + description: KeptnMetricRef references the KeptnMetric that + should be evaluated. + properties: + name: + description: Name is the name of the referenced KeptnMetric. + type: string + namespace: + description: Namespace is the namespace where the referenced + KeptnMetric is located. + type: string + required: + - name + type: object + required: + - evaluationTarget + - keptnMetricRef + type: object + type: array + required: + - objectives + type: object + status: + description: unused field + type: string + type: object + served: true + storage: false + subresources: + status: {} + - name: v1beta1 + schema: + openAPIV3Schema: + description: KeptnEvaluationDefinition is the Schema for the keptnevaluationdefinitions + API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Spec describes the desired state of the KeptnEvaluationDefinition. + properties: + objectives: + description: |- + Objectives is a list of objectives that have to be met for a KeptnEvaluation referencing this + KeptnEvaluationDefinition to be successful. + items: + properties: + evaluationTarget: + description: |- + EvaluationTarget specifies the target value for the references KeptnMetric. + Needs to start with either '<' or '>', followed by the target value (e.g. '<10'). + type: string + keptnMetricRef: + description: KeptnMetricRef references the KeptnMetric that + should be evaluated. + properties: + name: + description: Name is the name of the referenced KeptnMetric. + type: string + namespace: + description: Namespace is the namespace where the referenced + KeptnMetric is located. + type: string + required: + - name + type: object + required: + - evaluationTarget + - keptnMetricRef + type: object + type: array + retries: + default: 10 + description: |- + Retries indicates how many times the KeptnEvaluation can be attempted in the case of an error or + missed evaluation objective, before considering the KeptnEvaluation to be failed. + type: integer + retryInterval: + default: 5s + description: |- + RetryInterval specifies the interval at which the KeptnEvaluation is retried in the case of an error + or a missed objective. + pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ + type: string + required: + - objectives + type: object + status: + description: unused field + type: string + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + {{- with .Values.global.caInjectionAnnotations }} + {{- toYaml . | nindent 4 }} + {{- end }} + {{- include "common.annotations" ( dict "context" . ) }} + labels: + app.kubernetes.io/part-of: keptn + crdGroup: lifecycle.keptn.sh + keptn.sh/inject-cert: "true" +{{- include "common.labels.standard" (dict "context" .) | nindent 4 }} + name: keptnevaluationproviders.lifecycle.keptn.sh +spec: + group: lifecycle.keptn.sh + names: + kind: KeptnEvaluationProvider + listKind: KeptnEvaluationProviderList + plural: keptnevaluationproviders + shortNames: + - kep + singular: keptnevaluationprovider + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: KeptnEvaluationProvider is the Schema for the keptnevaluationproviders + API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: KeptnEvaluationProviderSpec defines the desired state of + KeptnEvaluationProvider + properties: + secretName: + type: string + targetServer: + type: string + required: + - targetServer + type: object + status: + description: unused field + type: string + type: object + served: true + storage: false + subresources: + status: {} + - name: v1alpha2 + schema: + openAPIV3Schema: + description: KeptnEvaluationProvider is the Schema for the keptnevaluationproviders + API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: KeptnEvaluationProviderSpec defines the desired state of + KeptnEvaluationProvider + properties: + secretKeyRef: + description: SecretKeySelector selects a key of a Secret. + properties: + key: + description: The key of the secret to select from. Must be a + valid secret key. + type: string + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + targetServer: + type: string + required: + - targetServer + type: object + status: + description: unused field + type: string + type: object + served: true + storage: false + subresources: + status: {} + - name: v1alpha3 + schema: + openAPIV3Schema: + description: KeptnEvaluationProvider is the Schema for the keptnevaluationproviders + API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: KeptnEvaluationProviderSpec defines the desired state of + KeptnEvaluationProvider + properties: + secretKeyRef: + description: SecretKeySelector selects a key of a Secret. + properties: + key: + description: The key of the secret to select from. Must be a + valid secret key. + type: string + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + targetServer: + type: string + required: + - targetServer + type: object + status: + description: unused field + type: string + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + {{- with .Values.global.caInjectionAnnotations }} + {{- toYaml . | nindent 4 }} + {{- end }} + {{- include "common.annotations" ( dict "context" . ) }} + labels: + app.kubernetes.io/part-of: keptn + crdGroup: lifecycle.keptn.sh + keptn.sh/inject-cert: "true" +{{- include "common.labels.standard" (dict "context" .) | nindent 4 }} + name: keptnevaluations.lifecycle.keptn.sh +spec: + group: lifecycle.keptn.sh + names: + kind: KeptnEvaluation + listKind: KeptnEvaluationList + plural: keptnevaluations + shortNames: + - ke + singular: keptnevaluation + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .spec.appName + name: AppName + type: string + - jsonPath: .spec.appVersion + name: AppVersion + type: string + - jsonPath: .spec.workload + name: WorkloadName + type: string + - jsonPath: .spec.workloadVersion + name: WorkloadVersion + type: string + - jsonPath: .status.retryCount + name: RetryCount + type: string + - jsonPath: .status.evaluationStatus + name: EvaluationStatus + type: string + - jsonPath: .status.overallStatus + name: OverallStatus + type: string + name: v1alpha1 + schema: + openAPIV3Schema: + description: KeptnEvaluation is the Schema for the keptnevaluations API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: KeptnEvaluationSpec defines the desired state of KeptnEvaluation + properties: + appName: + type: string + appVersion: + type: string + checkType: + type: string + evaluationDefinition: + type: string + failAction: + type: string + retries: + default: 10 + type: integer + retryInterval: + default: 5s + pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ + type: string + workload: + type: string + workloadVersion: + type: string + required: + - evaluationDefinition + - workloadVersion + type: object + status: + description: KeptnEvaluationStatus defines the observed state of KeptnEvaluation + properties: + endTime: + format: date-time + type: string + evaluationStatus: + additionalProperties: + properties: + message: + type: string + status: + description: KeptnState is a string containing current Phase + state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + value: + type: string + required: + - status + - value + type: object + type: object + overallStatus: + default: Pending + description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + retryCount: + default: 0 + type: integer + startTime: + format: date-time + type: string + required: + - evaluationStatus + - overallStatus + - retryCount + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .spec.appName + name: AppName + type: string + - jsonPath: .spec.appVersion + name: AppVersion + type: string + - jsonPath: .spec.workload + name: WorkloadName + type: string + - jsonPath: .spec.workloadVersion + name: WorkloadVersion + type: string + - jsonPath: .status.retryCount + name: RetryCount + type: string + - jsonPath: .status.evaluationStatus + name: EvaluationStatus + type: string + - jsonPath: .status.overallStatus + name: OverallStatus + type: string + name: v1alpha2 + schema: + openAPIV3Schema: + description: KeptnEvaluation is the Schema for the keptnevaluations API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: KeptnEvaluationSpec defines the desired state of KeptnEvaluation + properties: + appName: + type: string + appVersion: + type: string + checkType: + type: string + evaluationDefinition: + type: string + failAction: + type: string + retries: + default: 10 + type: integer + retryInterval: + default: 5s + pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ + type: string + workload: + type: string + workloadVersion: + type: string + required: + - evaluationDefinition + - workloadVersion + type: object + status: + description: KeptnEvaluationStatus defines the observed state of KeptnEvaluation + properties: + endTime: + format: date-time + type: string + evaluationStatus: + additionalProperties: + properties: + message: + type: string + status: + description: KeptnState is a string containing current Phase + state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + value: + type: string + required: + - status + - value + type: object + type: object + overallStatus: + default: Pending + description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + retryCount: + default: 0 + type: integer + startTime: + format: date-time + type: string + required: + - evaluationStatus + - overallStatus + - retryCount + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .spec.appName + name: AppName + type: string + - jsonPath: .spec.appVersion + name: AppVersion + type: string + - jsonPath: .spec.workload + name: WorkloadName + type: string + - jsonPath: .spec.workloadVersion + name: WorkloadVersion + type: string + - jsonPath: .status.retryCount + name: RetryCount + type: string + - jsonPath: .status.evaluationStatus + name: EvaluationStatus + type: string + - jsonPath: .status.overallStatus + name: OverallStatus + type: string + name: v1alpha3 + schema: + openAPIV3Schema: + description: KeptnEvaluation is the Schema for the keptnevaluations API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Spec describes the desired state of the KeptnEvaluation. + properties: + appName: + description: AppName defines the KeptnApp for which the KeptnEvaluation + is done. + type: string + appVersion: + description: AppVersion defines the version of the KeptnApp for which + the KeptnEvaluation is done. + type: string + checkType: + description: Type indicates whether the KeptnEvaluation is part of + the pre- or postDeployment phase. + type: string + evaluationDefinition: + description: |- + EvaluationDefinition refers to the name of the KeptnEvaluationDefinition + which includes the objectives for the KeptnEvaluation. + The KeptnEvaluationDefinition can be + located in the same namespace as the KeptnEvaluation, or in the Keptn namespace. + type: string + failAction: + type: string + retries: + default: 10 + description: |- + Retries indicates how many times the KeptnEvaluation can be attempted in the case of an error or + missed evaluation objective, before considering the KeptnEvaluation to be failed. + type: integer + retryInterval: + default: 5s + description: |- + RetryInterval specifies the interval at which the KeptnEvaluation is retried in the case of an error + or a missed objective. + pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ + type: string + workload: + description: Workload defines the KeptnWorkload for which the KeptnEvaluation + is done. + type: string + workloadVersion: + description: WorkloadVersion defines the version of the KeptnWorkload + for which the KeptnEvaluation is done. + type: string + required: + - evaluationDefinition + - workloadVersion + type: object + status: + description: Status describes the current state of the KeptnEvaluation. + properties: + endTime: + description: EndTime represents the time at which the KeptnEvaluation + finished. + format: date-time + type: string + evaluationStatus: + additionalProperties: + properties: + message: + description: |- + Message contains additional information about the evaluation of an objective. + This can include explanations about why an evaluation has failed (e.g. due to a missed objective), + or if there was any error during the evaluation of the objective. + type: string + status: + description: Status indicates the status of the objective being + evaluated. + type: string + value: + description: Value represents the value of the KeptnMetric being + evaluated. + type: string + required: + - status + - value + type: object + description: |- + EvaluationStatus describes the status of each objective of the KeptnEvaluationDefinition + referenced by the KeptnEvaluation. + type: object + overallStatus: + default: Pending + description: |- + OverallStatus describes the overall status of the KeptnEvaluation. The Overall status is derived + from the status of the individual objectives of the KeptnEvaluationDefinition + referenced by the KeptnEvaluation. + type: string + retryCount: + default: 0 + description: RetryCount indicates how many times the KeptnEvaluation + has been attempted already. + type: integer + startTime: + description: StartTime represents the time at which the KeptnEvaluation + started. + format: date-time + type: string + required: + - evaluationStatus + - overallStatus + - retryCount + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .spec.appName + name: AppName + type: string + - jsonPath: .spec.appVersion + name: AppVersion + type: string + - jsonPath: .spec.workload + name: WorkloadName + type: string + - jsonPath: .spec.workloadVersion + name: WorkloadVersion + type: string + - jsonPath: .status.retryCount + name: RetryCount + type: string + - jsonPath: .status.evaluationStatus + name: EvaluationStatus + type: string + - jsonPath: .status.overallStatus + name: OverallStatus + type: string + name: v1beta1 + schema: + openAPIV3Schema: + description: KeptnEvaluation is the Schema for the keptnevaluations API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Spec describes the desired state of the KeptnEvaluation. + properties: + appName: + description: AppName defines the KeptnApp for which the KeptnEvaluation + is done. + type: string + appVersion: + description: AppVersion defines the version of the KeptnApp for which + the KeptnEvaluation is done. + type: string + checkType: + description: Type indicates whether the KeptnEvaluation is part of + the pre- or postDeployment phase. + type: string + evaluationDefinition: + description: |- + EvaluationDefinition refers to the name of the KeptnEvaluationDefinition + which includes the objectives for the KeptnEvaluation. + The KeptnEvaluationDefinition can be + located in the same namespace as the KeptnEvaluation, or in the Keptn namespace. + type: string + retries: + default: 10 + description: |- + Retries indicates how many times the KeptnEvaluation can be attempted in the case of an error or + missed evaluation objective, before considering the KeptnEvaluation to be failed. + type: integer + retryInterval: + default: 5s + description: |- + RetryInterval specifies the interval at which the KeptnEvaluation is retried in the case of an error + or a missed objective. + pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ + type: string + workload: + description: Workload defines the KeptnWorkload for which the KeptnEvaluation + is done. + type: string + workloadVersion: + description: WorkloadVersion defines the version of the KeptnWorkload + for which the KeptnEvaluation is done. + type: string + required: + - evaluationDefinition + - workloadVersion + type: object + status: + description: Status describes the current state of the KeptnEvaluation. + properties: + endTime: + description: EndTime represents the time at which the KeptnEvaluation + finished. + format: date-time + type: string + evaluationStatus: + additionalProperties: + properties: + message: + description: |- + Message contains additional information about the evaluation of an objective. + This can include explanations about why an evaluation has failed (e.g. due to a missed objective), + or if there was any error during the evaluation of the objective. + type: string + status: + description: Status indicates the status of the objective being + evaluated. + type: string + value: + description: Value represents the value of the KeptnMetric being + evaluated. + type: string + required: + - status + - value + type: object + description: |- + EvaluationStatus describes the status of each objective of the KeptnEvaluationDefinition + referenced by the KeptnEvaluation. + type: object + overallStatus: + default: Pending + description: |- + OverallStatus describes the overall status of the KeptnEvaluation. The Overall status is derived + from the status of the individual objectives of the KeptnEvaluationDefinition + referenced by the KeptnEvaluation. + type: string + retryCount: + default: 0 + description: RetryCount indicates how many times the KeptnEvaluation + has been attempted already. + type: integer + startTime: + description: StartTime represents the time at which the KeptnEvaluation + started. + format: date-time + type: string + required: + - evaluationStatus + - overallStatus + - retryCount + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + {{- with .Values.global.caInjectionAnnotations }} + {{- toYaml . | nindent 4 }} + {{- end }} + {{- include "common.annotations" ( dict "context" . ) }} + labels: + app.kubernetes.io/part-of: keptn + crdGroup: lifecycle.keptn.sh + keptn.sh/inject-cert: "true" +{{- include "common.labels.standard" (dict "context" .) | nindent 4 }} + name: keptntaskdefinitions.lifecycle.keptn.sh +spec: + group: lifecycle.keptn.sh + names: + kind: KeptnTaskDefinition + listKind: KeptnTaskDefinitionList + plural: keptntaskdefinitions + singular: keptntaskdefinition + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: KeptnTaskDefinition is the Schema for the keptntaskdefinitions + API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: KeptnTaskDefinitionSpec defines the desired state of KeptnTaskDefinition + properties: + function: + properties: + configMapRef: + properties: + name: + type: string + type: object + functionRef: + properties: + name: + type: string + type: object + httpRef: + properties: + url: + type: string + type: object + inline: + properties: + code: + type: string + type: object + parameters: + properties: + map: + additionalProperties: + type: string + type: object + type: object + secureParameters: + properties: + secret: + type: string + type: object + type: object + type: object + status: + description: KeptnTaskDefinitionStatus defines the observed state of KeptnTaskDefinition + properties: + function: + properties: + configMap: + type: string + type: object + type: object + type: object + served: true + storage: false + subresources: + status: {} + - name: v1alpha2 + schema: + openAPIV3Schema: + description: KeptnTaskDefinition is the Schema for the keptntaskdefinitions + API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: KeptnTaskDefinitionSpec defines the desired state of KeptnTaskDefinition + properties: + function: + properties: + configMapRef: + properties: + name: + type: string + type: object + functionRef: + properties: + name: + type: string + type: object + httpRef: + properties: + url: + type: string + type: object + inline: + properties: + code: + type: string + type: object + parameters: + properties: + map: + additionalProperties: + type: string + type: object + type: object + secureParameters: + properties: + secret: + type: string + type: object + type: object + type: object + status: + description: KeptnTaskDefinitionStatus defines the observed state of KeptnTaskDefinition + properties: + function: + properties: + configMap: + type: string + type: object + type: object + type: object + served: true + storage: false + subresources: + status: {} + - name: v1alpha3 + schema: + openAPIV3Schema: + description: KeptnTaskDefinition is the Schema for the keptntaskdefinitions + API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Spec describes the desired state of the KeptnTaskDefinition. + properties: + automountServiceAccountToken: + description: |- + AutomountServiceAccountToken allows to enable K8s to assign cluster API credentials to a pod, if set to false + the pod will decline the service account + properties: + type: + type: boolean + required: + - type + type: object + container: + description: Container contains the definition for the container that + is to be used in Job. + properties: + args: + description: |- + Arguments to the entrypoint. + The container image's CMD is used if this is not provided. + Variable references $(VAR_NAME) are expanded using the container's environment. If a variable + cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will + produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless + of whether the variable exists or not. Cannot be updated. + More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell + items: + type: string + type: array + command: + description: |- + Entrypoint array. Not executed within a shell. + The container image's ENTRYPOINT is used if this is not provided. + Variable references $(VAR_NAME) are expanded using the container's environment. If a variable + cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will + produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless + of whether the variable exists or not. Cannot be updated. + More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell + items: + type: string + type: array + env: + description: |- + List of environment variables to set in the container. + Cannot be updated. + items: + description: EnvVar represents an environment variable present + in a Container. + properties: + name: + description: Name of the environment variable. Must be a + C_IDENTIFIER. + type: string + value: + description: |- + Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in the container and + any service environment variables. If a variable cannot be resolved, + the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless of whether the variable + exists or not. + Defaults to "". + type: string + valueFrom: + description: Source for the environment variable's value. + Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the ConfigMap or its + key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + description: |- + Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, + spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in the + specified API version. + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + resourceFieldRef: + description: |- + Selects a resource of the container: only resources limits and requests + (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of the + exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + description: Selects a key of a secret in the pod's + namespace + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the Secret or its key + must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + envFrom: + description: |- + List of sources to populate environment variables in the container. + The keys defined within a source must be a C_IDENTIFIER. All invalid keys + will be reported as an event when the container is starting. When a key exists in multiple + sources, the value associated with the last source will take precedence. + Values defined by an Env with a duplicate key will take precedence. + Cannot be updated. + items: + description: EnvFromSource represents the source of a set of + ConfigMaps + properties: + configMapRef: + description: The ConfigMap to select from + properties: + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the ConfigMap must be defined + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + description: An optional identifier to prepend to each key + in the ConfigMap. Must be a C_IDENTIFIER. + type: string + secretRef: + description: The Secret to select from + properties: + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the Secret must be defined + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + image: + description: |- + Container image name. + More info: https://kubernetes.io/docs/concepts/containers/images + This field is optional to allow higher level config management to default or override + container images in workload controllers like Deployments and StatefulSets. + type: string + imagePullPolicy: + description: |- + Image pull policy. + One of Always, Never, IfNotPresent. + Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. + Cannot be updated. + More info: https://kubernetes.io/docs/concepts/containers/images#updating-images + type: string + lifecycle: + description: |- + Actions that the management system should take in response to container lifecycle events. + Cannot be updated. + properties: + postStart: + description: |- + PostStart is called immediately after a container is created. If the handler fails, + the container is terminated and restarted according to its restart policy. + Other management of the container blocks until the hook completes. + More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + properties: + exec: + description: Exec specifies the action to take. + properties: + command: + description: |- + Command is the command line to execute inside the container, the working directory for the + command is root ('/') in the container's filesystem. The command is simply exec'd, it is + not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use + a shell, you need to explicitly call out to that shell. + Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + items: + type: string + type: array + type: object + httpGet: + description: HTTPGet specifies the http request to perform. + properties: + host: + description: |- + Host name to connect to, defaults to the pod IP. You probably want to set + "Host" in httpHeaders instead. + type: string + httpHeaders: + description: Custom headers to set in the request. + HTTP allows repeated headers. + items: + description: HTTPHeader describes a custom header + to be used in HTTP probes + properties: + name: + description: |- + The header field name. + This will be canonicalized upon output, so case-variant names will be understood as the same header. + type: string + value: + description: The header field value + type: string + required: + - name + - value + type: object + type: array + path: + description: Path to access on the HTTP server. + type: string + port: + anyOf: + - type: integer + - type: string + description: |- + Name or number of the port to access on the container. + Number must be in the range 1 to 65535. + Name must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + scheme: + description: |- + Scheme to use for connecting to the host. + Defaults to HTTP. + type: string + required: + - port + type: object + tcpSocket: + description: |- + Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept + for the backward compatibility. There are no validation of this field and + lifecycle hooks will fail in runtime when tcp handler is specified. + properties: + host: + description: 'Optional: Host name to connect to, defaults + to the pod IP.' + type: string + port: + anyOf: + - type: integer + - type: string + description: |- + Number or name of the port to access on the container. + Number must be in the range 1 to 65535. + Name must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + preStop: + description: |- + PreStop is called immediately before a container is terminated due to an + API request or management event such as liveness/startup probe failure, + preemption, resource contention, etc. The handler is not called if the + container crashes or exits. The Pod's termination grace period countdown begins before the + PreStop hook is executed. Regardless of the outcome of the handler, the + container will eventually terminate within the Pod's termination grace + period (unless delayed by finalizers). Other management of the container blocks until the hook completes + or until the termination grace period is reached. + More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + properties: + exec: + description: Exec specifies the action to take. + properties: + command: + description: |- + Command is the command line to execute inside the container, the working directory for the + command is root ('/') in the container's filesystem. The command is simply exec'd, it is + not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use + a shell, you need to explicitly call out to that shell. + Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + items: + type: string + type: array + type: object + httpGet: + description: HTTPGet specifies the http request to perform. + properties: + host: + description: |- + Host name to connect to, defaults to the pod IP. You probably want to set + "Host" in httpHeaders instead. + type: string + httpHeaders: + description: Custom headers to set in the request. + HTTP allows repeated headers. + items: + description: HTTPHeader describes a custom header + to be used in HTTP probes + properties: + name: + description: |- + The header field name. + This will be canonicalized upon output, so case-variant names will be understood as the same header. + type: string + value: + description: The header field value + type: string + required: + - name + - value + type: object + type: array + path: + description: Path to access on the HTTP server. + type: string + port: + anyOf: + - type: integer + - type: string + description: |- + Name or number of the port to access on the container. + Number must be in the range 1 to 65535. + Name must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + scheme: + description: |- + Scheme to use for connecting to the host. + Defaults to HTTP. + type: string + required: + - port + type: object + tcpSocket: + description: |- + Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept + for the backward compatibility. There are no validation of this field and + lifecycle hooks will fail in runtime when tcp handler is specified. + properties: + host: + description: 'Optional: Host name to connect to, defaults + to the pod IP.' + type: string + port: + anyOf: + - type: integer + - type: string + description: |- + Number or name of the port to access on the container. + Number must be in the range 1 to 65535. + Name must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + type: object + livenessProbe: + description: |- + Periodic probe of container liveness. + Container will be restarted if the probe fails. + Cannot be updated. + More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + properties: + exec: + description: Exec specifies the action to take. + properties: + command: + description: |- + Command is the command line to execute inside the container, the working directory for the + command is root ('/') in the container's filesystem. The command is simply exec'd, it is + not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use + a shell, you need to explicitly call out to that shell. + Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + items: + type: string + type: array + type: object + failureThreshold: + description: |- + Minimum consecutive failures for the probe to be considered failed after having succeeded. + Defaults to 3. Minimum value is 1. + format: int32 + type: integer + grpc: + description: GRPC specifies an action involving a GRPC port. + properties: + port: + description: Port number of the gRPC service. Number must + be in the range 1 to 65535. + format: int32 + type: integer + service: + description: |- + Service is the name of the service to place in the gRPC HealthCheckRequest + (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + + + If this is not specified, the default behavior is defined by gRPC. + type: string + required: + - port + type: object + httpGet: + description: HTTPGet specifies the http request to perform. + properties: + host: + description: |- + Host name to connect to, defaults to the pod IP. You probably want to set + "Host" in httpHeaders instead. + type: string + httpHeaders: + description: Custom headers to set in the request. HTTP + allows repeated headers. + items: + description: HTTPHeader describes a custom header to + be used in HTTP probes + properties: + name: + description: |- + The header field name. + This will be canonicalized upon output, so case-variant names will be understood as the same header. + type: string + value: + description: The header field value + type: string + required: + - name + - value + type: object + type: array + path: + description: Path to access on the HTTP server. + type: string + port: + anyOf: + - type: integer + - type: string + description: |- + Name or number of the port to access on the container. + Number must be in the range 1 to 65535. + Name must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + scheme: + description: |- + Scheme to use for connecting to the host. + Defaults to HTTP. + type: string + required: + - port + type: object + initialDelaySeconds: + description: |- + Number of seconds after the container has started before liveness probes are initiated. + More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + format: int32 + type: integer + periodSeconds: + description: |- + How often (in seconds) to perform the probe. + Default to 10 seconds. Minimum value is 1. + format: int32 + type: integer + successThreshold: + description: |- + Minimum consecutive successes for the probe to be considered successful after having failed. + Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + format: int32 + type: integer + tcpSocket: + description: TCPSocket specifies an action involving a TCP + port. + properties: + host: + description: 'Optional: Host name to connect to, defaults + to the pod IP.' + type: string + port: + anyOf: + - type: integer + - type: string + description: |- + Number or name of the port to access on the container. + Number must be in the range 1 to 65535. + Name must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + description: |- + Optional duration in seconds the pod needs to terminate gracefully upon probe failure. + The grace period is the duration in seconds after the processes running in the pod are sent + a termination signal and the time when the processes are forcibly halted with a kill signal. + Set this value longer than the expected cleanup time for your process. + If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this + value overrides the value provided by the pod spec. + Value must be non-negative integer. The value zero indicates stop immediately via + the kill signal (no opportunity to shut down). + This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. + Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + format: int64 + type: integer + timeoutSeconds: + description: |- + Number of seconds after which the probe times out. + Defaults to 1 second. Minimum value is 1. + More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + format: int32 + type: integer + type: object + name: + description: |- + Name of the container specified as a DNS_LABEL. + Each container in a pod must have a unique name (DNS_LABEL). + Cannot be updated. + type: string + ports: + description: |- + List of ports to expose from the container. Not specifying a port here + DOES NOT prevent that port from being exposed. Any port which is + listening on the default "0.0.0.0" address inside a container will be + accessible from the network. + Modifying this array with strategic merge patch may corrupt the data. + For more information See https://github.com/kubernetes/kubernetes/issues/108255. + Cannot be updated. + items: + description: ContainerPort represents a network port in a single + container. + properties: + containerPort: + description: |- + Number of port to expose on the pod's IP address. + This must be a valid port number, 0 < x < 65536. + format: int32 + type: integer + hostIP: + description: What host IP to bind the external port to. + type: string + hostPort: + description: |- + Number of port to expose on the host. + If specified, this must be a valid port number, 0 < x < 65536. + If HostNetwork is specified, this must match ContainerPort. + Most containers do not need this. + format: int32 + type: integer + name: + description: |- + If specified, this must be an IANA_SVC_NAME and unique within the pod. Each + named port in a pod must have a unique name. Name for the port that can be + referred to by services. + type: string + protocol: + default: TCP + description: |- + Protocol for port. Must be UDP, TCP, or SCTP. + Defaults to "TCP". + type: string + required: + - containerPort + type: object + type: array + x-kubernetes-list-map-keys: + - containerPort + - protocol + x-kubernetes-list-type: map + readinessProbe: + description: |- + Periodic probe of container service readiness. + Container will be removed from service endpoints if the probe fails. + Cannot be updated. + More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + properties: + exec: + description: Exec specifies the action to take. + properties: + command: + description: |- + Command is the command line to execute inside the container, the working directory for the + command is root ('/') in the container's filesystem. The command is simply exec'd, it is + not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use + a shell, you need to explicitly call out to that shell. + Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + items: + type: string + type: array + type: object + failureThreshold: + description: |- + Minimum consecutive failures for the probe to be considered failed after having succeeded. + Defaults to 3. Minimum value is 1. + format: int32 + type: integer + grpc: + description: GRPC specifies an action involving a GRPC port. + properties: + port: + description: Port number of the gRPC service. Number must + be in the range 1 to 65535. + format: int32 + type: integer + service: + description: |- + Service is the name of the service to place in the gRPC HealthCheckRequest + (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + + + If this is not specified, the default behavior is defined by gRPC. + type: string + required: + - port + type: object + httpGet: + description: HTTPGet specifies the http request to perform. + properties: + host: + description: |- + Host name to connect to, defaults to the pod IP. You probably want to set + "Host" in httpHeaders instead. + type: string + httpHeaders: + description: Custom headers to set in the request. HTTP + allows repeated headers. + items: + description: HTTPHeader describes a custom header to + be used in HTTP probes + properties: + name: + description: |- + The header field name. + This will be canonicalized upon output, so case-variant names will be understood as the same header. + type: string + value: + description: The header field value + type: string + required: + - name + - value + type: object + type: array + path: + description: Path to access on the HTTP server. + type: string + port: + anyOf: + - type: integer + - type: string + description: |- + Name or number of the port to access on the container. + Number must be in the range 1 to 65535. + Name must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + scheme: + description: |- + Scheme to use for connecting to the host. + Defaults to HTTP. + type: string + required: + - port + type: object + initialDelaySeconds: + description: |- + Number of seconds after the container has started before liveness probes are initiated. + More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + format: int32 + type: integer + periodSeconds: + description: |- + How often (in seconds) to perform the probe. + Default to 10 seconds. Minimum value is 1. + format: int32 + type: integer + successThreshold: + description: |- + Minimum consecutive successes for the probe to be considered successful after having failed. + Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + format: int32 + type: integer + tcpSocket: + description: TCPSocket specifies an action involving a TCP + port. + properties: + host: + description: 'Optional: Host name to connect to, defaults + to the pod IP.' + type: string + port: + anyOf: + - type: integer + - type: string + description: |- + Number or name of the port to access on the container. + Number must be in the range 1 to 65535. + Name must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + description: |- + Optional duration in seconds the pod needs to terminate gracefully upon probe failure. + The grace period is the duration in seconds after the processes running in the pod are sent + a termination signal and the time when the processes are forcibly halted with a kill signal. + Set this value longer than the expected cleanup time for your process. + If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this + value overrides the value provided by the pod spec. + Value must be non-negative integer. The value zero indicates stop immediately via + the kill signal (no opportunity to shut down). + This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. + Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + format: int64 + type: integer + timeoutSeconds: + description: |- + Number of seconds after which the probe times out. + Defaults to 1 second. Minimum value is 1. + More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + format: int32 + type: integer + type: object + resizePolicy: + description: Resources resize policy for the container. + items: + description: ContainerResizePolicy represents resource resize + policy for the container. + properties: + resourceName: + description: |- + Name of the resource to which this resource resize policy applies. + Supported values: cpu, memory. + type: string + restartPolicy: + description: |- + Restart policy to apply when specified resource is resized. + If not specified, it defaults to NotRequired. + type: string + required: + - resourceName + - restartPolicy + type: object + type: array + x-kubernetes-list-type: atomic + resources: + description: |- + Compute Resources required by this container. + Cannot be updated. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + properties: + claims: + description: |- + Claims lists the names of resources, defined in spec.resourceClaims, + that are used by this container. + + + This is an alpha field and requires enabling the + DynamicResourceAllocation feature gate. + + + This field is immutable. It can only be set for containers. + items: + description: ResourceClaim references one entry in PodSpec.ResourceClaims. + properties: + name: + description: |- + Name must match the name of one entry in pod.spec.resourceClaims of + the Pod where this field is used. It makes that resource available + inside a container. + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: |- + Limits describes the maximum amount of compute resources allowed. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: |- + Requests describes the minimum amount of compute resources required. + If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, + otherwise to an implementation-defined value. Requests cannot exceed Limits. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + type: object + type: object + restartPolicy: + description: |- + RestartPolicy defines the restart behavior of individual containers in a pod. + This field may only be set for init containers, and the only allowed value is "Always". + For non-init containers or when this field is not specified, + the restart behavior is defined by the Pod's restart policy and the container type. + Setting the RestartPolicy as "Always" for the init container will have the following effect: + this init container will be continually restarted on + exit until all regular containers have terminated. Once all regular + containers have completed, all init containers with restartPolicy "Always" + will be shut down. This lifecycle differs from normal init containers and + is often referred to as a "sidecar" container. Although this init + container still starts in the init container sequence, it does not wait + for the container to complete before proceeding to the next init + container. Instead, the next init container starts immediately after this + init container is started, or after any startupProbe has successfully + completed. + type: string + securityContext: + description: |- + SecurityContext defines the security options the container should be run with. + If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. + More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ + properties: + allowPrivilegeEscalation: + description: |- + AllowPrivilegeEscalation controls whether a process can gain more + privileges than its parent process. This bool directly controls if + the no_new_privs flag will be set on the container process. + AllowPrivilegeEscalation is true always when the container is: + 1) run as Privileged + 2) has CAP_SYS_ADMIN + Note that this field cannot be set when spec.os.name is windows. + type: boolean + capabilities: + description: |- + The capabilities to add/drop when running containers. + Defaults to the default set of capabilities granted by the container runtime. + Note that this field cannot be set when spec.os.name is windows. + properties: + add: + description: Added capabilities + items: + description: Capability represent POSIX capabilities + type + type: string + type: array + drop: + description: Removed capabilities + items: + description: Capability represent POSIX capabilities + type + type: string + type: array + type: object + privileged: + description: |- + Run container in privileged mode. + Processes in privileged containers are essentially equivalent to root on the host. + Defaults to false. + Note that this field cannot be set when spec.os.name is windows. + type: boolean + procMount: + description: |- + procMount denotes the type of proc mount to use for the containers. + The default is DefaultProcMount which uses the container runtime defaults for + readonly paths and masked paths. + This requires the ProcMountType feature flag to be enabled. + Note that this field cannot be set when spec.os.name is windows. + type: string + readOnlyRootFilesystem: + description: |- + Whether this container has a read-only root filesystem. + Default is false. + Note that this field cannot be set when spec.os.name is windows. + type: boolean + runAsGroup: + description: |- + The GID to run the entrypoint of the container process. + Uses runtime default if unset. + May also be set in PodSecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext takes precedence. + Note that this field cannot be set when spec.os.name is windows. + format: int64 + type: integer + runAsNonRoot: + description: |- + Indicates that the container must run as a non-root user. + If true, the Kubelet will validate the image at runtime to ensure that it + does not run as UID 0 (root) and fail to start the container if it does. + If unset or false, no such validation will be performed. + May also be set in PodSecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext takes precedence. + type: boolean + runAsUser: + description: |- + The UID to run the entrypoint of the container process. + Defaults to user specified in image metadata if unspecified. + May also be set in PodSecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext takes precedence. + Note that this field cannot be set when spec.os.name is windows. + format: int64 + type: integer + seLinuxOptions: + description: |- + The SELinux context to be applied to the container. + If unspecified, the container runtime will allocate a random SELinux context for each + container. May also be set in PodSecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext takes precedence. + Note that this field cannot be set when spec.os.name is windows. + properties: + level: + description: Level is SELinux level label that applies + to the container. + type: string + role: + description: Role is a SELinux role label that applies + to the container. + type: string + type: + description: Type is a SELinux type label that applies + to the container. + type: string + user: + description: User is a SELinux user label that applies + to the container. + type: string + type: object + seccompProfile: + description: |- + The seccomp options to use by this container. If seccomp options are + provided at both the pod & container level, the container options + override the pod options. + Note that this field cannot be set when spec.os.name is windows. + properties: + localhostProfile: + description: |- + localhostProfile indicates a profile defined in a file on the node should be used. + The profile must be preconfigured on the node to work. + Must be a descending path, relative to the kubelet's configured seccomp profile location. + Must be set if type is "Localhost". Must NOT be set for any other type. + type: string + type: + description: |- + type indicates which kind of seccomp profile will be applied. + Valid options are: + + + Localhost - a profile defined in a file on the node should be used. + RuntimeDefault - the container runtime default profile should be used. + Unconfined - no profile should be applied. + type: string + required: + - type + type: object + windowsOptions: + description: |- + The Windows specific settings applied to all containers. + If unspecified, the options from the PodSecurityContext will be used. + If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + Note that this field cannot be set when spec.os.name is linux. + properties: + gmsaCredentialSpec: + description: |- + GMSACredentialSpec is where the GMSA admission webhook + (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the + GMSA credential spec named by the GMSACredentialSpecName field. + type: string + gmsaCredentialSpecName: + description: GMSACredentialSpecName is the name of the + GMSA credential spec to use. + type: string + hostProcess: + description: |- + HostProcess determines if a container should be run as a 'Host Process' container. + All of a Pod's containers must have the same effective HostProcess value + (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). + In addition, if HostProcess is true then HostNetwork must also be set to true. + type: boolean + runAsUserName: + description: |- + The UserName in Windows to run the entrypoint of the container process. + Defaults to the user specified in image metadata if unspecified. + May also be set in PodSecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext takes precedence. + type: string + type: object + type: object + startupProbe: + description: |- + StartupProbe indicates that the Pod has successfully initialized. + If specified, no other probes are executed until this completes successfully. + If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. + This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, + when it might take a long time to load data or warm a cache, than during steady-state operation. + This cannot be updated. + More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + properties: + exec: + description: Exec specifies the action to take. + properties: + command: + description: |- + Command is the command line to execute inside the container, the working directory for the + command is root ('/') in the container's filesystem. The command is simply exec'd, it is + not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use + a shell, you need to explicitly call out to that shell. + Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + items: + type: string + type: array + type: object + failureThreshold: + description: |- + Minimum consecutive failures for the probe to be considered failed after having succeeded. + Defaults to 3. Minimum value is 1. + format: int32 + type: integer + grpc: + description: GRPC specifies an action involving a GRPC port. + properties: + port: + description: Port number of the gRPC service. Number must + be in the range 1 to 65535. + format: int32 + type: integer + service: + description: |- + Service is the name of the service to place in the gRPC HealthCheckRequest + (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + + + If this is not specified, the default behavior is defined by gRPC. + type: string + required: + - port + type: object + httpGet: + description: HTTPGet specifies the http request to perform. + properties: + host: + description: |- + Host name to connect to, defaults to the pod IP. You probably want to set + "Host" in httpHeaders instead. + type: string + httpHeaders: + description: Custom headers to set in the request. HTTP + allows repeated headers. + items: + description: HTTPHeader describes a custom header to + be used in HTTP probes + properties: + name: + description: |- + The header field name. + This will be canonicalized upon output, so case-variant names will be understood as the same header. + type: string + value: + description: The header field value + type: string + required: + - name + - value + type: object + type: array + path: + description: Path to access on the HTTP server. + type: string + port: + anyOf: + - type: integer + - type: string + description: |- + Name or number of the port to access on the container. + Number must be in the range 1 to 65535. + Name must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + scheme: + description: |- + Scheme to use for connecting to the host. + Defaults to HTTP. + type: string + required: + - port + type: object + initialDelaySeconds: + description: |- + Number of seconds after the container has started before liveness probes are initiated. + More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + format: int32 + type: integer + periodSeconds: + description: |- + How often (in seconds) to perform the probe. + Default to 10 seconds. Minimum value is 1. + format: int32 + type: integer + successThreshold: + description: |- + Minimum consecutive successes for the probe to be considered successful after having failed. + Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + format: int32 + type: integer + tcpSocket: + description: TCPSocket specifies an action involving a TCP + port. + properties: + host: + description: 'Optional: Host name to connect to, defaults + to the pod IP.' + type: string + port: + anyOf: + - type: integer + - type: string + description: |- + Number or name of the port to access on the container. + Number must be in the range 1 to 65535. + Name must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + description: |- + Optional duration in seconds the pod needs to terminate gracefully upon probe failure. + The grace period is the duration in seconds after the processes running in the pod are sent + a termination signal and the time when the processes are forcibly halted with a kill signal. + Set this value longer than the expected cleanup time for your process. + If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this + value overrides the value provided by the pod spec. + Value must be non-negative integer. The value zero indicates stop immediately via + the kill signal (no opportunity to shut down). + This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. + Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + format: int64 + type: integer + timeoutSeconds: + description: |- + Number of seconds after which the probe times out. + Defaults to 1 second. Minimum value is 1. + More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + format: int32 + type: integer + type: object + stdin: + description: |- + Whether this container should allocate a buffer for stdin in the container runtime. If this + is not set, reads from stdin in the container will always result in EOF. + Default is false. + type: boolean + stdinOnce: + description: |- + Whether the container runtime should close the stdin channel after it has been opened by + a single attach. When stdin is true the stdin stream will remain open across multiple attach + sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the + first client attaches to stdin, and then remains open and accepts data until the client disconnects, + at which time stdin is closed and remains closed until the container is restarted. If this + flag is false, a container processes that reads from stdin will never receive an EOF. + Default is false + type: boolean + terminationMessagePath: + description: |- + Optional: Path at which the file to which the container's termination message + will be written is mounted into the container's filesystem. + Message written is intended to be brief final status, such as an assertion failure message. + Will be truncated by the node if greater than 4096 bytes. The total message length across + all containers will be limited to 12kb. + Defaults to /dev/termination-log. + Cannot be updated. + type: string + terminationMessagePolicy: + description: |- + Indicate how the termination message should be populated. File will use the contents of + terminationMessagePath to populate the container status message on both success and failure. + FallbackToLogsOnError will use the last chunk of container log output if the termination + message file is empty and the container exited with an error. + The log output is limited to 2048 bytes or 80 lines, whichever is smaller. + Defaults to File. + Cannot be updated. + type: string + tty: + description: |- + Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. + Default is false. + type: boolean + volumeDevices: + description: volumeDevices is the list of block devices to be + used by the container. + items: + description: volumeDevice describes a mapping of a raw block + device within a container. + properties: + devicePath: + description: devicePath is the path inside of the container + that the device will be mapped to. + type: string + name: + description: name must match the name of a persistentVolumeClaim + in the pod + type: string + required: + - devicePath + - name + type: object + type: array + volumeMounts: + description: |- + Pod volumes to mount into the container's filesystem. + Cannot be updated. + items: + description: VolumeMount describes a mounting of a Volume within + a container. + properties: + mountPath: + description: |- + Path within the container at which the volume should be mounted. Must + not contain ':'. + type: string + mountPropagation: + description: |- + mountPropagation determines how mounts are propagated from the host + to container and the other way around. + When not set, MountPropagationNone is used. + This field is beta in 1.10. + type: string + name: + description: This must match the Name of a Volume. + type: string + readOnly: + description: |- + Mounted read-only if true, read-write otherwise (false or unspecified). + Defaults to false. + type: boolean + subPath: + description: |- + Path within the volume from which the container's volume should be mounted. + Defaults to "" (volume's root). + type: string + subPathExpr: + description: |- + Expanded path within the volume from which the container's volume should be mounted. + Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. + Defaults to "" (volume's root). + SubPathExpr and SubPath are mutually exclusive. + type: string + required: + - mountPath + - name + type: object + type: array + workingDir: + description: |- + Container's working directory. + If not specified, the container runtime's default will be used, which + might be configured in the container image. + Cannot be updated. + type: string + required: + - name + type: object + deno: + description: Deno contains the definition for the Deno function that + is to be executed in KeptnTasks. + properties: + cmdParameters: + description: CmdParameters contains parameters that will be passed + to the command + type: string + configMapRef: + description: |- + ConfigMapReference allows to reference a ConfigMap containing the code of the function. + When referencing a ConfigMap, the code of the function must be available as a value of the 'code' key + of the referenced ConfigMap. + properties: + name: + description: Name is the name of the referenced ConfigMap. + type: string + type: object + functionRef: + description: |- + FunctionReference allows to reference another KeptnTaskDefinition which contains the source code of the + function to be executes for KeptnTasks based on this KeptnTaskDefinition. This can be useful when you have + multiple KeptnTaskDefinitions that should execute the same logic, but each with different parameters. + properties: + name: + description: Name is the name of the referenced KeptnTaskDefinition. + type: string + type: object + httpRef: + description: HttpReference allows to point to an HTTP URL containing + the code of the function. + properties: + url: + description: Url is the URL containing the code of the function. + type: string + type: object + inline: + description: |- + Inline allows to specify the code that should be executed directly in the KeptnTaskDefinition, as a multi-line + string. + properties: + code: + description: Code contains the code of the function. + type: string + type: object + parameters: + description: Parameters contains parameters that will be passed + to the job that executes the task as env variables. + properties: + map: + additionalProperties: + type: string + description: |- + Inline contains the parameters that will be made available to the job + executing the KeptnTask via the 'DATA' environment variable. + The 'DATA' environment variable's content will be a json + encoded string containing all properties of the map provided. + type: object + type: object + secureParameters: + description: |- + SecureParameters contains secure parameters that will be passed to the job that executes the task. + These will be stored and accessed as secrets in the cluster. + properties: + secret: + description: |- + Secret contains the parameters that will be made available to the job + executing the KeptnTask via the 'SECRET_DATA' environment variable. + The 'SECRET_DATA' environment variable's content will the same as value of the 'SECRET_DATA' + key of the referenced secret. + type: string + type: object + type: object + function: + description: |- + Deprecated + Function contains the definition for the function that is to be executed in KeptnTasks. + properties: + cmdParameters: + description: CmdParameters contains parameters that will be passed + to the command + type: string + configMapRef: + description: |- + ConfigMapReference allows to reference a ConfigMap containing the code of the function. + When referencing a ConfigMap, the code of the function must be available as a value of the 'code' key + of the referenced ConfigMap. + properties: + name: + description: Name is the name of the referenced ConfigMap. + type: string + type: object + functionRef: + description: |- + FunctionReference allows to reference another KeptnTaskDefinition which contains the source code of the + function to be executes for KeptnTasks based on this KeptnTaskDefinition. This can be useful when you have + multiple KeptnTaskDefinitions that should execute the same logic, but each with different parameters. + properties: + name: + description: Name is the name of the referenced KeptnTaskDefinition. + type: string + type: object + httpRef: + description: HttpReference allows to point to an HTTP URL containing + the code of the function. + properties: + url: + description: Url is the URL containing the code of the function. + type: string + type: object + inline: + description: |- + Inline allows to specify the code that should be executed directly in the KeptnTaskDefinition, as a multi-line + string. + properties: + code: + description: Code contains the code of the function. + type: string + type: object + parameters: + description: Parameters contains parameters that will be passed + to the job that executes the task as env variables. + properties: + map: + additionalProperties: + type: string + description: |- + Inline contains the parameters that will be made available to the job + executing the KeptnTask via the 'DATA' environment variable. + The 'DATA' environment variable's content will be a json + encoded string containing all properties of the map provided. + type: object + type: object + secureParameters: + description: |- + SecureParameters contains secure parameters that will be passed to the job that executes the task. + These will be stored and accessed as secrets in the cluster. + properties: + secret: + description: |- + Secret contains the parameters that will be made available to the job + executing the KeptnTask via the 'SECRET_DATA' environment variable. + The 'SECRET_DATA' environment variable's content will the same as value of the 'SECRET_DATA' + key of the referenced secret. + type: string + type: object + type: object + imagePullSecrets: + description: ImagePullSecrets is an optional field to specify the + names of secrets to use for pulling container images + items: + description: |- + LocalObjectReference contains enough information to let you locate the + referenced object inside the same namespace. + properties: + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + type: object + x-kubernetes-map-type: atomic + type: array + python: + description: Python contains the definition for the python function + that is to be executed in KeptnTasks. + properties: + cmdParameters: + description: CmdParameters contains parameters that will be passed + to the command + type: string + configMapRef: + description: |- + ConfigMapReference allows to reference a ConfigMap containing the code of the function. + When referencing a ConfigMap, the code of the function must be available as a value of the 'code' key + of the referenced ConfigMap. + properties: + name: + description: Name is the name of the referenced ConfigMap. + type: string + type: object + functionRef: + description: |- + FunctionReference allows to reference another KeptnTaskDefinition which contains the source code of the + function to be executes for KeptnTasks based on this KeptnTaskDefinition. This can be useful when you have + multiple KeptnTaskDefinitions that should execute the same logic, but each with different parameters. + properties: + name: + description: Name is the name of the referenced KeptnTaskDefinition. + type: string + type: object + httpRef: + description: HttpReference allows to point to an HTTP URL containing + the code of the function. + properties: + url: + description: Url is the URL containing the code of the function. + type: string + type: object + inline: + description: |- + Inline allows to specify the code that should be executed directly in the KeptnTaskDefinition, as a multi-line + string. + properties: + code: + description: Code contains the code of the function. + type: string + type: object + parameters: + description: Parameters contains parameters that will be passed + to the job that executes the task as env variables. + properties: + map: + additionalProperties: + type: string + description: |- + Inline contains the parameters that will be made available to the job + executing the KeptnTask via the 'DATA' environment variable. + The 'DATA' environment variable's content will be a json + encoded string containing all properties of the map provided. + type: object + type: object + secureParameters: + description: |- + SecureParameters contains secure parameters that will be passed to the job that executes the task. + These will be stored and accessed as secrets in the cluster. + properties: + secret: + description: |- + Secret contains the parameters that will be made available to the job + executing the KeptnTask via the 'SECRET_DATA' environment variable. + The 'SECRET_DATA' environment variable's content will the same as value of the 'SECRET_DATA' + key of the referenced secret. + type: string + type: object + type: object + retries: + default: 10 + description: |- + Retries specifies how many times a job executing the KeptnTaskDefinition should be restarted in the case + of an unsuccessful attempt. + format: int32 + type: integer + serviceAccount: + description: ServiceAccount specifies the service account to be used + in jobs to authenticate with the Kubernetes API and access cluster + resources. + properties: + name: + type: string + required: + - name + type: object + timeout: + default: 5m + description: |- + Timeout specifies the maximum time to wait for the task to be completed successfully. + If the task does not complete successfully within this time frame, it will be + considered to be failed. + pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ + type: string + ttlSecondsAfterFinished: + default: 300 + description: |- + TTLSecondsAfterFinished controller makes a job eligible to be cleaned up after it is finished. + The timer starts when the status shows up to be Complete or Failed. + format: int32 + type: integer + type: object + status: + description: Status describes the current state of the KeptnTaskDefinition. + properties: + function: + description: Function contains status information of the function + definition for the task. + properties: + configMap: + description: ConfigMap indicates the ConfigMap in which the function + code is stored. + type: string + type: object + type: object + type: object + served: true + storage: false + subresources: + status: {} + - name: v1beta1 + schema: + openAPIV3Schema: + description: KeptnTaskDefinition is the Schema for the keptntaskdefinitions + API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Spec describes the desired state of the KeptnTaskDefinition. + properties: + automountServiceAccountToken: + description: |- + AutomountServiceAccountToken allows to enable K8s to assign cluster API credentials to a pod, if set to false + the pod will decline the service account + properties: + type: + type: boolean + required: + - type + type: object + container: + description: Container contains the definition for the container that + is to be used in Job. + properties: + args: + description: |- + Arguments to the entrypoint. + The container image's CMD is used if this is not provided. + Variable references $(VAR_NAME) are expanded using the container's environment. If a variable + cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will + produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless + of whether the variable exists or not. Cannot be updated. + More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell + items: + type: string + type: array + command: + description: |- + Entrypoint array. Not executed within a shell. + The container image's ENTRYPOINT is used if this is not provided. + Variable references $(VAR_NAME) are expanded using the container's environment. If a variable + cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will + produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless + of whether the variable exists or not. Cannot be updated. + More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell + items: + type: string + type: array + env: + description: |- + List of environment variables to set in the container. + Cannot be updated. + items: + description: EnvVar represents an environment variable present + in a Container. + properties: + name: + description: Name of the environment variable. Must be a + C_IDENTIFIER. + type: string + value: + description: |- + Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in the container and + any service environment variables. If a variable cannot be resolved, + the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless of whether the variable + exists or not. + Defaults to "". + type: string + valueFrom: + description: Source for the environment variable's value. + Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the ConfigMap or its + key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + description: |- + Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, + spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in the + specified API version. + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + resourceFieldRef: + description: |- + Selects a resource of the container: only resources limits and requests + (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of the + exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + description: Selects a key of a secret in the pod's + namespace + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the Secret or its key + must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + envFrom: + description: |- + List of sources to populate environment variables in the container. + The keys defined within a source must be a C_IDENTIFIER. All invalid keys + will be reported as an event when the container is starting. When a key exists in multiple + sources, the value associated with the last source will take precedence. + Values defined by an Env with a duplicate key will take precedence. + Cannot be updated. + items: + description: EnvFromSource represents the source of a set of + ConfigMaps + properties: + configMapRef: + description: The ConfigMap to select from + properties: + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the ConfigMap must be defined + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + description: An optional identifier to prepend to each key + in the ConfigMap. Must be a C_IDENTIFIER. + type: string + secretRef: + description: The Secret to select from + properties: + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the Secret must be defined + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + image: + description: |- + Container image name. + More info: https://kubernetes.io/docs/concepts/containers/images + This field is optional to allow higher level config management to default or override + container images in workload controllers like Deployments and StatefulSets. + type: string + imagePullPolicy: + description: |- + Image pull policy. + One of Always, Never, IfNotPresent. + Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. + Cannot be updated. + More info: https://kubernetes.io/docs/concepts/containers/images#updating-images + type: string + lifecycle: + description: |- + Actions that the management system should take in response to container lifecycle events. + Cannot be updated. + properties: + postStart: + description: |- + PostStart is called immediately after a container is created. If the handler fails, + the container is terminated and restarted according to its restart policy. + Other management of the container blocks until the hook completes. + More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + properties: + exec: + description: Exec specifies the action to take. + properties: + command: + description: |- + Command is the command line to execute inside the container, the working directory for the + command is root ('/') in the container's filesystem. The command is simply exec'd, it is + not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use + a shell, you need to explicitly call out to that shell. + Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + items: + type: string + type: array + type: object + httpGet: + description: HTTPGet specifies the http request to perform. + properties: + host: + description: |- + Host name to connect to, defaults to the pod IP. You probably want to set + "Host" in httpHeaders instead. + type: string + httpHeaders: + description: Custom headers to set in the request. + HTTP allows repeated headers. + items: + description: HTTPHeader describes a custom header + to be used in HTTP probes + properties: + name: + description: |- + The header field name. + This will be canonicalized upon output, so case-variant names will be understood as the same header. + type: string + value: + description: The header field value + type: string + required: + - name + - value + type: object + type: array + path: + description: Path to access on the HTTP server. + type: string + port: + anyOf: + - type: integer + - type: string + description: |- + Name or number of the port to access on the container. + Number must be in the range 1 to 65535. + Name must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + scheme: + description: |- + Scheme to use for connecting to the host. + Defaults to HTTP. + type: string + required: + - port + type: object + tcpSocket: + description: |- + Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept + for the backward compatibility. There are no validation of this field and + lifecycle hooks will fail in runtime when tcp handler is specified. + properties: + host: + description: 'Optional: Host name to connect to, defaults + to the pod IP.' + type: string + port: + anyOf: + - type: integer + - type: string + description: |- + Number or name of the port to access on the container. + Number must be in the range 1 to 65535. + Name must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + preStop: + description: |- + PreStop is called immediately before a container is terminated due to an + API request or management event such as liveness/startup probe failure, + preemption, resource contention, etc. The handler is not called if the + container crashes or exits. The Pod's termination grace period countdown begins before the + PreStop hook is executed. Regardless of the outcome of the handler, the + container will eventually terminate within the Pod's termination grace + period (unless delayed by finalizers). Other management of the container blocks until the hook completes + or until the termination grace period is reached. + More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + properties: + exec: + description: Exec specifies the action to take. + properties: + command: + description: |- + Command is the command line to execute inside the container, the working directory for the + command is root ('/') in the container's filesystem. The command is simply exec'd, it is + not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use + a shell, you need to explicitly call out to that shell. + Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + items: + type: string + type: array + type: object + httpGet: + description: HTTPGet specifies the http request to perform. + properties: + host: + description: |- + Host name to connect to, defaults to the pod IP. You probably want to set + "Host" in httpHeaders instead. + type: string + httpHeaders: + description: Custom headers to set in the request. + HTTP allows repeated headers. + items: + description: HTTPHeader describes a custom header + to be used in HTTP probes + properties: + name: + description: |- + The header field name. + This will be canonicalized upon output, so case-variant names will be understood as the same header. + type: string + value: + description: The header field value + type: string + required: + - name + - value + type: object + type: array + path: + description: Path to access on the HTTP server. + type: string + port: + anyOf: + - type: integer + - type: string + description: |- + Name or number of the port to access on the container. + Number must be in the range 1 to 65535. + Name must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + scheme: + description: |- + Scheme to use for connecting to the host. + Defaults to HTTP. + type: string + required: + - port + type: object + tcpSocket: + description: |- + Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept + for the backward compatibility. There are no validation of this field and + lifecycle hooks will fail in runtime when tcp handler is specified. + properties: + host: + description: 'Optional: Host name to connect to, defaults + to the pod IP.' + type: string + port: + anyOf: + - type: integer + - type: string + description: |- + Number or name of the port to access on the container. + Number must be in the range 1 to 65535. + Name must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + type: object + livenessProbe: + description: |- + Periodic probe of container liveness. + Container will be restarted if the probe fails. + Cannot be updated. + More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + properties: + exec: + description: Exec specifies the action to take. + properties: + command: + description: |- + Command is the command line to execute inside the container, the working directory for the + command is root ('/') in the container's filesystem. The command is simply exec'd, it is + not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use + a shell, you need to explicitly call out to that shell. + Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + items: + type: string + type: array + type: object + failureThreshold: + description: |- + Minimum consecutive failures for the probe to be considered failed after having succeeded. + Defaults to 3. Minimum value is 1. + format: int32 + type: integer + grpc: + description: GRPC specifies an action involving a GRPC port. + properties: + port: + description: Port number of the gRPC service. Number must + be in the range 1 to 65535. + format: int32 + type: integer + service: + description: |- + Service is the name of the service to place in the gRPC HealthCheckRequest + (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + + + If this is not specified, the default behavior is defined by gRPC. + type: string + required: + - port + type: object + httpGet: + description: HTTPGet specifies the http request to perform. + properties: + host: + description: |- + Host name to connect to, defaults to the pod IP. You probably want to set + "Host" in httpHeaders instead. + type: string + httpHeaders: + description: Custom headers to set in the request. HTTP + allows repeated headers. + items: + description: HTTPHeader describes a custom header to + be used in HTTP probes + properties: + name: + description: |- + The header field name. + This will be canonicalized upon output, so case-variant names will be understood as the same header. + type: string + value: + description: The header field value + type: string + required: + - name + - value + type: object + type: array + path: + description: Path to access on the HTTP server. + type: string + port: + anyOf: + - type: integer + - type: string + description: |- + Name or number of the port to access on the container. + Number must be in the range 1 to 65535. + Name must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + scheme: + description: |- + Scheme to use for connecting to the host. + Defaults to HTTP. + type: string + required: + - port + type: object + initialDelaySeconds: + description: |- + Number of seconds after the container has started before liveness probes are initiated. + More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + format: int32 + type: integer + periodSeconds: + description: |- + How often (in seconds) to perform the probe. + Default to 10 seconds. Minimum value is 1. + format: int32 + type: integer + successThreshold: + description: |- + Minimum consecutive successes for the probe to be considered successful after having failed. + Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + format: int32 + type: integer + tcpSocket: + description: TCPSocket specifies an action involving a TCP + port. + properties: + host: + description: 'Optional: Host name to connect to, defaults + to the pod IP.' + type: string + port: + anyOf: + - type: integer + - type: string + description: |- + Number or name of the port to access on the container. + Number must be in the range 1 to 65535. + Name must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + description: |- + Optional duration in seconds the pod needs to terminate gracefully upon probe failure. + The grace period is the duration in seconds after the processes running in the pod are sent + a termination signal and the time when the processes are forcibly halted with a kill signal. + Set this value longer than the expected cleanup time for your process. + If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this + value overrides the value provided by the pod spec. + Value must be non-negative integer. The value zero indicates stop immediately via + the kill signal (no opportunity to shut down). + This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. + Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + format: int64 + type: integer + timeoutSeconds: + description: |- + Number of seconds after which the probe times out. + Defaults to 1 second. Minimum value is 1. + More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + format: int32 + type: integer + type: object + name: + description: |- + Name of the container specified as a DNS_LABEL. + Each container in a pod must have a unique name (DNS_LABEL). + Cannot be updated. + type: string + ports: + description: |- + List of ports to expose from the container. Not specifying a port here + DOES NOT prevent that port from being exposed. Any port which is + listening on the default "0.0.0.0" address inside a container will be + accessible from the network. + Modifying this array with strategic merge patch may corrupt the data. + For more information See https://github.com/kubernetes/kubernetes/issues/108255. + Cannot be updated. + items: + description: ContainerPort represents a network port in a single + container. + properties: + containerPort: + description: |- + Number of port to expose on the pod's IP address. + This must be a valid port number, 0 < x < 65536. + format: int32 + type: integer + hostIP: + description: What host IP to bind the external port to. + type: string + hostPort: + description: |- + Number of port to expose on the host. + If specified, this must be a valid port number, 0 < x < 65536. + If HostNetwork is specified, this must match ContainerPort. + Most containers do not need this. + format: int32 + type: integer + name: + description: |- + If specified, this must be an IANA_SVC_NAME and unique within the pod. Each + named port in a pod must have a unique name. Name for the port that can be + referred to by services. + type: string + protocol: + default: TCP + description: |- + Protocol for port. Must be UDP, TCP, or SCTP. + Defaults to "TCP". + type: string + required: + - containerPort + type: object + type: array + x-kubernetes-list-map-keys: + - containerPort + - protocol + x-kubernetes-list-type: map + readinessProbe: + description: |- + Periodic probe of container service readiness. + Container will be removed from service endpoints if the probe fails. + Cannot be updated. + More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + properties: + exec: + description: Exec specifies the action to take. + properties: + command: + description: |- + Command is the command line to execute inside the container, the working directory for the + command is root ('/') in the container's filesystem. The command is simply exec'd, it is + not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use + a shell, you need to explicitly call out to that shell. + Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + items: + type: string + type: array + type: object + failureThreshold: + description: |- + Minimum consecutive failures for the probe to be considered failed after having succeeded. + Defaults to 3. Minimum value is 1. + format: int32 + type: integer + grpc: + description: GRPC specifies an action involving a GRPC port. + properties: + port: + description: Port number of the gRPC service. Number must + be in the range 1 to 65535. + format: int32 + type: integer + service: + description: |- + Service is the name of the service to place in the gRPC HealthCheckRequest + (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + + + If this is not specified, the default behavior is defined by gRPC. + type: string + required: + - port + type: object + httpGet: + description: HTTPGet specifies the http request to perform. + properties: + host: + description: |- + Host name to connect to, defaults to the pod IP. You probably want to set + "Host" in httpHeaders instead. + type: string + httpHeaders: + description: Custom headers to set in the request. HTTP + allows repeated headers. + items: + description: HTTPHeader describes a custom header to + be used in HTTP probes + properties: + name: + description: |- + The header field name. + This will be canonicalized upon output, so case-variant names will be understood as the same header. + type: string + value: + description: The header field value + type: string + required: + - name + - value + type: object + type: array + path: + description: Path to access on the HTTP server. + type: string + port: + anyOf: + - type: integer + - type: string + description: |- + Name or number of the port to access on the container. + Number must be in the range 1 to 65535. + Name must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + scheme: + description: |- + Scheme to use for connecting to the host. + Defaults to HTTP. + type: string + required: + - port + type: object + initialDelaySeconds: + description: |- + Number of seconds after the container has started before liveness probes are initiated. + More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + format: int32 + type: integer + periodSeconds: + description: |- + How often (in seconds) to perform the probe. + Default to 10 seconds. Minimum value is 1. + format: int32 + type: integer + successThreshold: + description: |- + Minimum consecutive successes for the probe to be considered successful after having failed. + Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + format: int32 + type: integer + tcpSocket: + description: TCPSocket specifies an action involving a TCP + port. + properties: + host: + description: 'Optional: Host name to connect to, defaults + to the pod IP.' + type: string + port: + anyOf: + - type: integer + - type: string + description: |- + Number or name of the port to access on the container. + Number must be in the range 1 to 65535. + Name must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + description: |- + Optional duration in seconds the pod needs to terminate gracefully upon probe failure. + The grace period is the duration in seconds after the processes running in the pod are sent + a termination signal and the time when the processes are forcibly halted with a kill signal. + Set this value longer than the expected cleanup time for your process. + If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this + value overrides the value provided by the pod spec. + Value must be non-negative integer. The value zero indicates stop immediately via + the kill signal (no opportunity to shut down). + This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. + Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + format: int64 + type: integer + timeoutSeconds: + description: |- + Number of seconds after which the probe times out. + Defaults to 1 second. Minimum value is 1. + More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + format: int32 + type: integer + type: object + resizePolicy: + description: Resources resize policy for the container. + items: + description: ContainerResizePolicy represents resource resize + policy for the container. + properties: + resourceName: + description: |- + Name of the resource to which this resource resize policy applies. + Supported values: cpu, memory. + type: string + restartPolicy: + description: |- + Restart policy to apply when specified resource is resized. + If not specified, it defaults to NotRequired. + type: string + required: + - resourceName + - restartPolicy + type: object + type: array + x-kubernetes-list-type: atomic + resources: + description: |- + Compute Resources required by this container. + Cannot be updated. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + properties: + claims: + description: |- + Claims lists the names of resources, defined in spec.resourceClaims, + that are used by this container. + + + This is an alpha field and requires enabling the + DynamicResourceAllocation feature gate. + + + This field is immutable. It can only be set for containers. + items: + description: ResourceClaim references one entry in PodSpec.ResourceClaims. + properties: + name: + description: |- + Name must match the name of one entry in pod.spec.resourceClaims of + the Pod where this field is used. It makes that resource available + inside a container. + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: |- + Limits describes the maximum amount of compute resources allowed. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: |- + Requests describes the minimum amount of compute resources required. + If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, + otherwise to an implementation-defined value. Requests cannot exceed Limits. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + type: object + type: object + restartPolicy: + description: |- + RestartPolicy defines the restart behavior of individual containers in a pod. + This field may only be set for init containers, and the only allowed value is "Always". + For non-init containers or when this field is not specified, + the restart behavior is defined by the Pod's restart policy and the container type. + Setting the RestartPolicy as "Always" for the init container will have the following effect: + this init container will be continually restarted on + exit until all regular containers have terminated. Once all regular + containers have completed, all init containers with restartPolicy "Always" + will be shut down. This lifecycle differs from normal init containers and + is often referred to as a "sidecar" container. Although this init + container still starts in the init container sequence, it does not wait + for the container to complete before proceeding to the next init + container. Instead, the next init container starts immediately after this + init container is started, or after any startupProbe has successfully + completed. + type: string + securityContext: + description: |- + SecurityContext defines the security options the container should be run with. + If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. + More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ + properties: + allowPrivilegeEscalation: + description: |- + AllowPrivilegeEscalation controls whether a process can gain more + privileges than its parent process. This bool directly controls if + the no_new_privs flag will be set on the container process. + AllowPrivilegeEscalation is true always when the container is: + 1) run as Privileged + 2) has CAP_SYS_ADMIN + Note that this field cannot be set when spec.os.name is windows. + type: boolean + capabilities: + description: |- + The capabilities to add/drop when running containers. + Defaults to the default set of capabilities granted by the container runtime. + Note that this field cannot be set when spec.os.name is windows. + properties: + add: + description: Added capabilities + items: + description: Capability represent POSIX capabilities + type + type: string + type: array + drop: + description: Removed capabilities + items: + description: Capability represent POSIX capabilities + type + type: string + type: array + type: object + privileged: + description: |- + Run container in privileged mode. + Processes in privileged containers are essentially equivalent to root on the host. + Defaults to false. + Note that this field cannot be set when spec.os.name is windows. + type: boolean + procMount: + description: |- + procMount denotes the type of proc mount to use for the containers. + The default is DefaultProcMount which uses the container runtime defaults for + readonly paths and masked paths. + This requires the ProcMountType feature flag to be enabled. + Note that this field cannot be set when spec.os.name is windows. + type: string + readOnlyRootFilesystem: + description: |- + Whether this container has a read-only root filesystem. + Default is false. + Note that this field cannot be set when spec.os.name is windows. + type: boolean + runAsGroup: + description: |- + The GID to run the entrypoint of the container process. + Uses runtime default if unset. + May also be set in PodSecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext takes precedence. + Note that this field cannot be set when spec.os.name is windows. + format: int64 + type: integer + runAsNonRoot: + description: |- + Indicates that the container must run as a non-root user. + If true, the Kubelet will validate the image at runtime to ensure that it + does not run as UID 0 (root) and fail to start the container if it does. + If unset or false, no such validation will be performed. + May also be set in PodSecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext takes precedence. + type: boolean + runAsUser: + description: |- + The UID to run the entrypoint of the container process. + Defaults to user specified in image metadata if unspecified. + May also be set in PodSecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext takes precedence. + Note that this field cannot be set when spec.os.name is windows. + format: int64 + type: integer + seLinuxOptions: + description: |- + The SELinux context to be applied to the container. + If unspecified, the container runtime will allocate a random SELinux context for each + container. May also be set in PodSecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext takes precedence. + Note that this field cannot be set when spec.os.name is windows. + properties: + level: + description: Level is SELinux level label that applies + to the container. + type: string + role: + description: Role is a SELinux role label that applies + to the container. + type: string + type: + description: Type is a SELinux type label that applies + to the container. + type: string + user: + description: User is a SELinux user label that applies + to the container. + type: string + type: object + seccompProfile: + description: |- + The seccomp options to use by this container. If seccomp options are + provided at both the pod & container level, the container options + override the pod options. + Note that this field cannot be set when spec.os.name is windows. + properties: + localhostProfile: + description: |- + localhostProfile indicates a profile defined in a file on the node should be used. + The profile must be preconfigured on the node to work. + Must be a descending path, relative to the kubelet's configured seccomp profile location. + Must be set if type is "Localhost". Must NOT be set for any other type. + type: string + type: + description: |- + type indicates which kind of seccomp profile will be applied. + Valid options are: + + + Localhost - a profile defined in a file on the node should be used. + RuntimeDefault - the container runtime default profile should be used. + Unconfined - no profile should be applied. + type: string + required: + - type + type: object + windowsOptions: + description: |- + The Windows specific settings applied to all containers. + If unspecified, the options from the PodSecurityContext will be used. + If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + Note that this field cannot be set when spec.os.name is linux. + properties: + gmsaCredentialSpec: + description: |- + GMSACredentialSpec is where the GMSA admission webhook + (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the + GMSA credential spec named by the GMSACredentialSpecName field. + type: string + gmsaCredentialSpecName: + description: GMSACredentialSpecName is the name of the + GMSA credential spec to use. + type: string + hostProcess: + description: |- + HostProcess determines if a container should be run as a 'Host Process' container. + All of a Pod's containers must have the same effective HostProcess value + (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). + In addition, if HostProcess is true then HostNetwork must also be set to true. + type: boolean + runAsUserName: + description: |- + The UserName in Windows to run the entrypoint of the container process. + Defaults to the user specified in image metadata if unspecified. + May also be set in PodSecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext takes precedence. + type: string + type: object + type: object + startupProbe: + description: |- + StartupProbe indicates that the Pod has successfully initialized. + If specified, no other probes are executed until this completes successfully. + If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. + This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, + when it might take a long time to load data or warm a cache, than during steady-state operation. + This cannot be updated. + More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + properties: + exec: + description: Exec specifies the action to take. + properties: + command: + description: |- + Command is the command line to execute inside the container, the working directory for the + command is root ('/') in the container's filesystem. The command is simply exec'd, it is + not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use + a shell, you need to explicitly call out to that shell. + Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + items: + type: string + type: array + type: object + failureThreshold: + description: |- + Minimum consecutive failures for the probe to be considered failed after having succeeded. + Defaults to 3. Minimum value is 1. + format: int32 + type: integer + grpc: + description: GRPC specifies an action involving a GRPC port. + properties: + port: + description: Port number of the gRPC service. Number must + be in the range 1 to 65535. + format: int32 + type: integer + service: + description: |- + Service is the name of the service to place in the gRPC HealthCheckRequest + (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + + + If this is not specified, the default behavior is defined by gRPC. + type: string + required: + - port + type: object + httpGet: + description: HTTPGet specifies the http request to perform. + properties: + host: + description: |- + Host name to connect to, defaults to the pod IP. You probably want to set + "Host" in httpHeaders instead. + type: string + httpHeaders: + description: Custom headers to set in the request. HTTP + allows repeated headers. + items: + description: HTTPHeader describes a custom header to + be used in HTTP probes + properties: + name: + description: |- + The header field name. + This will be canonicalized upon output, so case-variant names will be understood as the same header. + type: string + value: + description: The header field value + type: string + required: + - name + - value + type: object + type: array + path: + description: Path to access on the HTTP server. + type: string + port: + anyOf: + - type: integer + - type: string + description: |- + Name or number of the port to access on the container. + Number must be in the range 1 to 65535. + Name must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + scheme: + description: |- + Scheme to use for connecting to the host. + Defaults to HTTP. + type: string + required: + - port + type: object + initialDelaySeconds: + description: |- + Number of seconds after the container has started before liveness probes are initiated. + More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + format: int32 + type: integer + periodSeconds: + description: |- + How often (in seconds) to perform the probe. + Default to 10 seconds. Minimum value is 1. + format: int32 + type: integer + successThreshold: + description: |- + Minimum consecutive successes for the probe to be considered successful after having failed. + Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + format: int32 + type: integer + tcpSocket: + description: TCPSocket specifies an action involving a TCP + port. + properties: + host: + description: 'Optional: Host name to connect to, defaults + to the pod IP.' + type: string + port: + anyOf: + - type: integer + - type: string + description: |- + Number or name of the port to access on the container. + Number must be in the range 1 to 65535. + Name must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + description: |- + Optional duration in seconds the pod needs to terminate gracefully upon probe failure. + The grace period is the duration in seconds after the processes running in the pod are sent + a termination signal and the time when the processes are forcibly halted with a kill signal. + Set this value longer than the expected cleanup time for your process. + If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this + value overrides the value provided by the pod spec. + Value must be non-negative integer. The value zero indicates stop immediately via + the kill signal (no opportunity to shut down). + This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. + Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + format: int64 + type: integer + timeoutSeconds: + description: |- + Number of seconds after which the probe times out. + Defaults to 1 second. Minimum value is 1. + More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + format: int32 + type: integer + type: object + stdin: + description: |- + Whether this container should allocate a buffer for stdin in the container runtime. If this + is not set, reads from stdin in the container will always result in EOF. + Default is false. + type: boolean + stdinOnce: + description: |- + Whether the container runtime should close the stdin channel after it has been opened by + a single attach. When stdin is true the stdin stream will remain open across multiple attach + sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the + first client attaches to stdin, and then remains open and accepts data until the client disconnects, + at which time stdin is closed and remains closed until the container is restarted. If this + flag is false, a container processes that reads from stdin will never receive an EOF. + Default is false + type: boolean + terminationMessagePath: + description: |- + Optional: Path at which the file to which the container's termination message + will be written is mounted into the container's filesystem. + Message written is intended to be brief final status, such as an assertion failure message. + Will be truncated by the node if greater than 4096 bytes. The total message length across + all containers will be limited to 12kb. + Defaults to /dev/termination-log. + Cannot be updated. + type: string + terminationMessagePolicy: + description: |- + Indicate how the termination message should be populated. File will use the contents of + terminationMessagePath to populate the container status message on both success and failure. + FallbackToLogsOnError will use the last chunk of container log output if the termination + message file is empty and the container exited with an error. + The log output is limited to 2048 bytes or 80 lines, whichever is smaller. + Defaults to File. + Cannot be updated. + type: string + tty: + description: |- + Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. + Default is false. + type: boolean + volumeDevices: + description: volumeDevices is the list of block devices to be + used by the container. + items: + description: volumeDevice describes a mapping of a raw block + device within a container. + properties: + devicePath: + description: devicePath is the path inside of the container + that the device will be mapped to. + type: string + name: + description: name must match the name of a persistentVolumeClaim + in the pod + type: string + required: + - devicePath + - name + type: object + type: array + volumeMounts: + description: |- + Pod volumes to mount into the container's filesystem. + Cannot be updated. + items: + description: VolumeMount describes a mounting of a Volume within + a container. + properties: + mountPath: + description: |- + Path within the container at which the volume should be mounted. Must + not contain ':'. + type: string + mountPropagation: + description: |- + mountPropagation determines how mounts are propagated from the host + to container and the other way around. + When not set, MountPropagationNone is used. + This field is beta in 1.10. + type: string + name: + description: This must match the Name of a Volume. + type: string + readOnly: + description: |- + Mounted read-only if true, read-write otherwise (false or unspecified). + Defaults to false. + type: boolean + subPath: + description: |- + Path within the volume from which the container's volume should be mounted. + Defaults to "" (volume's root). + type: string + subPathExpr: + description: |- + Expanded path within the volume from which the container's volume should be mounted. + Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. + Defaults to "" (volume's root). + SubPathExpr and SubPath are mutually exclusive. + type: string + required: + - mountPath + - name + type: object + type: array + workingDir: + description: |- + Container's working directory. + If not specified, the container runtime's default will be used, which + might be configured in the container image. + Cannot be updated. + type: string + required: + - name + type: object + deno: + description: Deno contains the definition for the Deno function that + is to be executed in KeptnTasks. + properties: + cmdParameters: + description: CmdParameters contains parameters that will be passed + to the command + type: string + configMapRef: + description: |- + ConfigMapReference allows to reference a ConfigMap containing the code of the function. + When referencing a ConfigMap, the code of the function must be available as a value of the 'code' key + of the referenced ConfigMap. + properties: + name: + description: Name is the name of the referenced ConfigMap. + type: string + type: object + functionRef: + description: |- + FunctionReference allows to reference another KeptnTaskDefinition which contains the source code of the + function to be executes for KeptnTasks based on this KeptnTaskDefinition. This can be useful when you have + multiple KeptnTaskDefinitions that should execute the same logic, but each with different parameters. + properties: + name: + description: Name is the name of the referenced KeptnTaskDefinition. + type: string + type: object + httpRef: + description: HttpReference allows to point to an HTTP URL containing + the code of the function. + properties: + url: + description: Url is the URL containing the code of the function. + type: string + type: object + inline: + description: |- + Inline allows to specify the code that should be executed directly in the KeptnTaskDefinition, as a multi-line + string. + properties: + code: + description: Code contains the code of the function. + type: string + type: object + parameters: + description: Parameters contains parameters that will be passed + to the job that executes the task as env variables. + properties: + map: + additionalProperties: + type: string + description: |- + Inline contains the parameters that will be made available to the job + executing the KeptnTask via the 'DATA' environment variable. + The 'DATA' environment variable's content will be a json + encoded string containing all properties of the map provided. + type: object + type: object + secureParameters: + description: |- + SecureParameters contains secure parameters that will be passed to the job that executes the task. + These will be stored and accessed as secrets in the cluster. + properties: + secret: + description: |- + Secret contains the parameters that will be made available to the job + executing the KeptnTask via the 'SECRET_DATA' environment variable. + The 'SECRET_DATA' environment variable's content will the same as value of the 'SECRET_DATA' + key of the referenced secret. + type: string + type: object + type: object + function: + description: |- + Deprecated + Function contains the definition for the function that is to be executed in KeptnTasks. + properties: + cmdParameters: + description: CmdParameters contains parameters that will be passed + to the command + type: string + configMapRef: + description: |- + ConfigMapReference allows to reference a ConfigMap containing the code of the function. + When referencing a ConfigMap, the code of the function must be available as a value of the 'code' key + of the referenced ConfigMap. + properties: + name: + description: Name is the name of the referenced ConfigMap. + type: string + type: object + functionRef: + description: |- + FunctionReference allows to reference another KeptnTaskDefinition which contains the source code of the + function to be executes for KeptnTasks based on this KeptnTaskDefinition. This can be useful when you have + multiple KeptnTaskDefinitions that should execute the same logic, but each with different parameters. + properties: + name: + description: Name is the name of the referenced KeptnTaskDefinition. + type: string + type: object + httpRef: + description: HttpReference allows to point to an HTTP URL containing + the code of the function. + properties: + url: + description: Url is the URL containing the code of the function. + type: string + type: object + inline: + description: |- + Inline allows to specify the code that should be executed directly in the KeptnTaskDefinition, as a multi-line + string. + properties: + code: + description: Code contains the code of the function. + type: string + type: object + parameters: + description: Parameters contains parameters that will be passed + to the job that executes the task as env variables. + properties: + map: + additionalProperties: + type: string + description: |- + Inline contains the parameters that will be made available to the job + executing the KeptnTask via the 'DATA' environment variable. + The 'DATA' environment variable's content will be a json + encoded string containing all properties of the map provided. + type: object + type: object + secureParameters: + description: |- + SecureParameters contains secure parameters that will be passed to the job that executes the task. + These will be stored and accessed as secrets in the cluster. + properties: + secret: + description: |- + Secret contains the parameters that will be made available to the job + executing the KeptnTask via the 'SECRET_DATA' environment variable. + The 'SECRET_DATA' environment variable's content will the same as value of the 'SECRET_DATA' + key of the referenced secret. + type: string + type: object + type: object + imagePullSecrets: + description: ImagePullSecrets is an optional field to specify the + names of secrets to use for pulling container images + items: + description: |- + LocalObjectReference contains enough information to let you locate the + referenced object inside the same namespace. + properties: + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + type: object + x-kubernetes-map-type: atomic + type: array + python: + description: Python contains the definition for the python function + that is to be executed in KeptnTasks. + properties: + cmdParameters: + description: CmdParameters contains parameters that will be passed + to the command + type: string + configMapRef: + description: |- + ConfigMapReference allows to reference a ConfigMap containing the code of the function. + When referencing a ConfigMap, the code of the function must be available as a value of the 'code' key + of the referenced ConfigMap. + properties: + name: + description: Name is the name of the referenced ConfigMap. + type: string + type: object + functionRef: + description: |- + FunctionReference allows to reference another KeptnTaskDefinition which contains the source code of the + function to be executes for KeptnTasks based on this KeptnTaskDefinition. This can be useful when you have + multiple KeptnTaskDefinitions that should execute the same logic, but each with different parameters. + properties: + name: + description: Name is the name of the referenced KeptnTaskDefinition. + type: string + type: object + httpRef: + description: HttpReference allows to point to an HTTP URL containing + the code of the function. + properties: + url: + description: Url is the URL containing the code of the function. + type: string + type: object + inline: + description: |- + Inline allows to specify the code that should be executed directly in the KeptnTaskDefinition, as a multi-line + string. + properties: + code: + description: Code contains the code of the function. + type: string + type: object + parameters: + description: Parameters contains parameters that will be passed + to the job that executes the task as env variables. + properties: + map: + additionalProperties: + type: string + description: |- + Inline contains the parameters that will be made available to the job + executing the KeptnTask via the 'DATA' environment variable. + The 'DATA' environment variable's content will be a json + encoded string containing all properties of the map provided. + type: object + type: object + secureParameters: + description: |- + SecureParameters contains secure parameters that will be passed to the job that executes the task. + These will be stored and accessed as secrets in the cluster. + properties: + secret: + description: |- + Secret contains the parameters that will be made available to the job + executing the KeptnTask via the 'SECRET_DATA' environment variable. + The 'SECRET_DATA' environment variable's content will the same as value of the 'SECRET_DATA' + key of the referenced secret. + type: string + type: object + type: object + retries: + default: 10 + description: |- + Retries specifies how many times a job executing the KeptnTaskDefinition should be restarted in the case + of an unsuccessful attempt. + format: int32 + type: integer + serviceAccount: + description: ServiceAccount specifies the service account to be used + in jobs to authenticate with the Kubernetes API and access cluster + resources. + properties: + name: + type: string + required: + - name + type: object + timeout: + default: 5m + description: |- + Timeout specifies the maximum time to wait for the task to be completed successfully. + If the task does not complete successfully within this time frame, it will be + considered to be failed. + pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ + type: string + ttlSecondsAfterFinished: + default: 300 + description: |- + TTLSecondsAfterFinished controller makes a job eligible to be cleaned up after it is finished. + The timer starts when the status shows up to be Complete or Failed. + format: int32 + type: integer + type: object + status: + description: Status describes the current state of the KeptnTaskDefinition. + properties: + function: + description: Function contains status information of the function + definition for the task. + properties: + configMap: + description: ConfigMap indicates the ConfigMap in which the function + code is stored. + type: string + type: object + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + {{- with .Values.global.caInjectionAnnotations }} + {{- toYaml . | nindent 4 }} + {{- end }} + {{- include "common.annotations" ( dict "context" . ) }} + labels: + app.kubernetes.io/part-of: keptn + crdGroup: lifecycle.keptn.sh + keptn.sh/inject-cert: "true" +{{- include "common.labels.standard" (dict "context" .) | nindent 4 }} + name: keptntasks.lifecycle.keptn.sh +spec: + group: lifecycle.keptn.sh + names: + kind: KeptnTask + listKind: KeptnTaskList + plural: keptntasks + singular: keptntask + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .spec.app + name: AppName + type: string + - jsonPath: .spec.appVersion + name: AppVersion + type: string + - jsonPath: .spec.workload + name: WorkloadName + type: string + - jsonPath: .spec.workloadVersion + name: WorkloadVersion + type: string + - jsonPath: .status.jobName + name: Job Name + type: string + - jsonPath: .status.status + name: Status + type: string + name: v1alpha1 + schema: + openAPIV3Schema: + description: KeptnTask is the Schema for the keptntasks API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: KeptnTaskSpec defines the desired state of KeptnTask + properties: + app: + type: string + appVersion: + type: string + checkType: + type: string + context: + properties: + appName: + type: string + appVersion: + type: string + objectType: + type: string + taskType: + type: string + workloadName: + type: string + workloadVersion: + type: string + required: + - appName + - appVersion + - objectType + - taskType + - workloadName + - workloadVersion + type: object + parameters: + properties: + map: + additionalProperties: + type: string + type: object + type: object + secureParameters: + properties: + secret: + type: string + type: object + taskDefinition: + type: string + workload: + type: string + workloadVersion: + type: string + required: + - app + - appVersion + - context + - taskDefinition + - workload + - workloadVersion + type: object + status: + description: KeptnTaskStatus defines the observed state of KeptnTask + properties: + endTime: + format: date-time + type: string + jobName: + type: string + message: + type: string + startTime: + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .spec.app + name: AppName + type: string + - jsonPath: .spec.appVersion + name: AppVersion + type: string + - jsonPath: .spec.workload + name: WorkloadName + type: string + - jsonPath: .spec.workloadVersion + name: WorkloadVersion + type: string + - jsonPath: .status.jobName + name: Job Name + type: string + - jsonPath: .status.status + name: Status + type: string + name: v1alpha2 + schema: + openAPIV3Schema: + description: KeptnTask is the Schema for the keptntasks API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: KeptnTaskSpec defines the desired state of KeptnTask + properties: + app: + type: string + appVersion: + type: string + checkType: + type: string + context: + properties: + appName: + type: string + appVersion: + type: string + objectType: + type: string + taskType: + type: string + workloadName: + type: string + workloadVersion: + type: string + required: + - appName + - appVersion + - objectType + - taskType + - workloadName + - workloadVersion + type: object + parameters: + properties: + map: + additionalProperties: + type: string + type: object + type: object + secureParameters: + properties: + secret: + type: string + type: object + taskDefinition: + type: string + workload: + type: string + workloadVersion: + type: string + required: + - app + - appVersion + - context + - taskDefinition + - workload + - workloadVersion + type: object + status: + description: KeptnTaskStatus defines the observed state of KeptnTask + properties: + endTime: + format: date-time + type: string + jobName: + type: string + message: + type: string + startTime: + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .spec.app + name: AppName + type: string + - jsonPath: .spec.appVersion + name: AppVersion + type: string + - jsonPath: .spec.workload + name: WorkloadName + type: string + - jsonPath: .spec.workloadVersion + name: WorkloadVersion + type: string + - jsonPath: .status.jobName + name: Job Name + type: string + - jsonPath: .status.status + name: Status + type: string + name: v1alpha3 + schema: + openAPIV3Schema: + description: KeptnTask is the Schema for the keptntasks API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Spec describes the desired state of the KeptnTask. + properties: + checkType: + description: Type indicates whether the KeptnTask is part of the pre- + or postDeployment phase. + type: string + context: + description: Context contains contextual information about the task + execution. + properties: + appName: + description: AppName the name of the KeptnApp the KeptnTask is + being executed for. + type: string + appVersion: + description: AppVersion the version of the KeptnApp the KeptnTask + is being executed for. + type: string + objectType: + description: ObjectType indicates whether the KeptnTask is being + executed for a KeptnApp or KeptnWorkload. + type: string + taskType: + description: TaskType indicates whether the KeptnTask is part + of the pre- or postDeployment phase. + type: string + workloadName: + description: WorkloadName the name of the KeptnWorkload the KeptnTask + is being executed for. + type: string + workloadVersion: + description: WorkloadVersion the version of the KeptnWorkload + the KeptnTask is being executed for. + type: string + type: object + parameters: + description: Parameters contains parameters that will be passed to + the job that executes the task. + properties: + map: + additionalProperties: + type: string + description: |- + Inline contains the parameters that will be made available to the job + executing the KeptnTask via the 'DATA' environment variable. + The 'DATA' environment variable's content will be a json + encoded string containing all properties of the map provided. + type: object + type: object + retries: + default: 10 + description: |- + Retries indicates how many times the KeptnTask can be attempted in the case of an error + before considering the KeptnTask to be failed. + format: int32 + type: integer + secureParameters: + description: |- + SecureParameters contains secure parameters that will be passed to the job that executes the task. + These will be stored and accessed as secrets in the cluster. + properties: + secret: + description: |- + Secret contains the parameters that will be made available to the job + executing the KeptnTask via the 'SECRET_DATA' environment variable. + The 'SECRET_DATA' environment variable's content will the same as value of the 'SECRET_DATA' + key of the referenced secret. + type: string + type: object + taskDefinition: + description: |- + TaskDefinition refers to the name of the KeptnTaskDefinition + which includes the specification for the task to be performed. + The KeptnTaskDefinition can be + located in the same namespace as the KeptnTask, or in the Keptn namespace. + type: string + timeout: + default: 5m + description: |- + Timeout specifies the maximum time to wait for the task to be completed successfully. + If the task does not complete successfully within this time frame, it will be + considered to be failed. + pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ + type: string + required: + - taskDefinition + type: object + status: + description: Status describes the current state of the KeptnTask. + properties: + endTime: + description: EndTime represents the time at which the KeptnTask finished. + format: date-time + type: string + jobName: + description: JobName is the name of the Job executing the Task. + type: string + message: + description: Message contains information about unexpected errors + encountered during the execution of the KeptnTask. + type: string + reason: + description: Reason contains more information about the reason for + the last transition of the Job executing the KeptnTask. + type: string + startTime: + description: StartTime represents the time at which the KeptnTask + started. + format: date-time + type: string + status: + default: Pending + description: Status represents the overall state of the KeptnTask. + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .spec.app + name: AppName + type: string + - jsonPath: .spec.appVersion + name: AppVersion + type: string + - jsonPath: .spec.workload + name: WorkloadName + type: string + - jsonPath: .spec.workloadVersion + name: WorkloadVersion + type: string + - jsonPath: .status.jobName + name: Job Name + type: string + - jsonPath: .status.status + name: Status + type: string + name: v1beta1 + schema: + openAPIV3Schema: + description: KeptnTask is the Schema for the keptntasks API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Spec describes the desired state of the KeptnTask. + properties: + checkType: + description: Type indicates whether the KeptnTask is part of the pre- + or postDeployment phase. + type: string + context: + description: Context contains contextual information about the task + execution. + properties: + appName: + description: AppName the name of the KeptnApp the KeptnTask is + being executed for. + type: string + appVersion: + description: AppVersion the version of the KeptnApp the KeptnTask + is being executed for. + type: string + metadata: + additionalProperties: + type: string + description: Metadata contains additional key-value pairs for + contextual information. + type: object + objectType: + description: ObjectType indicates whether the KeptnTask is being + executed for a KeptnApp or KeptnWorkload. + type: string + taskType: + description: TaskType indicates whether the KeptnTask is part + of the pre- or postDeployment phase. + type: string + workloadName: + description: WorkloadName the name of the KeptnWorkload the KeptnTask + is being executed for. + type: string + workloadVersion: + description: WorkloadVersion the version of the KeptnWorkload + the KeptnTask is being executed for. + type: string + type: object + parameters: + description: Parameters contains parameters that will be passed to + the job that executes the task. + properties: + map: + additionalProperties: + type: string + description: |- + Inline contains the parameters that will be made available to the job + executing the KeptnTask via the 'DATA' environment variable. + The 'DATA' environment variable's content will be a json + encoded string containing all properties of the map provided. + type: object + type: object + retries: + default: 10 + description: |- + Retries indicates how many times the KeptnTask can be attempted in the case of an error + before considering the KeptnTask to be failed. + format: int32 + type: integer + secureParameters: + description: |- + SecureParameters contains secure parameters that will be passed to the job that executes the task. + These will be stored and accessed as secrets in the cluster. + properties: + secret: + description: |- + Secret contains the parameters that will be made available to the job + executing the KeptnTask via the 'SECRET_DATA' environment variable. + The 'SECRET_DATA' environment variable's content will the same as value of the 'SECRET_DATA' + key of the referenced secret. + type: string + type: object + taskDefinition: + description: |- + TaskDefinition refers to the name of the KeptnTaskDefinition + which includes the specification for the task to be performed. + The KeptnTaskDefinition can be + located in the same namespace as the KeptnTask, or in the Keptn namespace. + type: string + timeout: + default: 5m + description: |- + Timeout specifies the maximum time to wait for the task to be completed successfully. + If the task does not complete successfully within this time frame, it will be + considered to be failed. + pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ + type: string + required: + - taskDefinition + type: object + status: + description: Status describes the current state of the KeptnTask. + properties: + endTime: + description: EndTime represents the time at which the KeptnTask finished. + format: date-time + type: string + jobName: + description: JobName is the name of the Job executing the Task. + type: string + message: + description: Message contains information about unexpected errors + encountered during the execution of the KeptnTask. + type: string + reason: + description: Reason contains more information about the reason for + the last transition of the Job executing the KeptnTask. + type: string + startTime: + description: StartTime represents the time at which the KeptnTask + started. + format: date-time + type: string + status: + default: Pending + description: Status represents the overall state of the KeptnTask. + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + {{- with .Values.global.caInjectionAnnotations }} + {{- toYaml . | nindent 4 }} + {{- end }} + {{- include "common.annotations" ( dict "context" . ) }} + labels: + app.kubernetes.io/part-of: keptn + crdGroup: lifecycle.keptn.sh + keptn.sh/inject-cert: "true" +{{- include "common.labels.standard" (dict "context" .) | nindent 4 }} + name: keptnworkloadinstances.lifecycle.keptn.sh +spec: + group: lifecycle.keptn.sh + names: + kind: KeptnWorkloadInstance + listKind: KeptnWorkloadInstanceList + plural: keptnworkloadinstances + shortNames: + - kwi + singular: keptnworkloadinstance + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .spec.app + name: AppName + type: string + - jsonPath: .spec.workloadName + name: WorkloadName + type: string + - jsonPath: .spec.version + name: WorkloadVersion + type: string + - jsonPath: .status.currentPhase + name: Phase + type: string + - jsonPath: .status.preDeploymentStatus + name: PreDeploymentStatus + priority: 1 + type: string + - jsonPath: .status.preDeploymentEvaluationStatus + name: PreDeploymentEvaluationStatus + priority: 1 + type: string + - jsonPath: .status.deploymentStatus + name: DeploymentStatus + priority: 1 + type: string + - jsonPath: .status.postDeploymentStatus + name: PostDeploymentStatus + priority: 1 + type: string + - jsonPath: .status.postDeploymentEvaluationStatus + name: PostDeploymentEvaluationStatus + priority: 1 + type: string + name: v1alpha1 + schema: + openAPIV3Schema: + description: KeptnWorkloadInstance is the Schema for the keptnworkloadinstances + API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: KeptnWorkloadInstanceSpec defines the desired state of KeptnWorkloadInstance + properties: + app: + type: string + postDeploymentEvaluations: + items: + type: string + type: array + postDeploymentTasks: + items: + type: string + type: array + preDeploymentEvaluations: + items: + type: string + type: array + preDeploymentTasks: + items: + type: string + type: array + previousVersion: + type: string + resourceReference: + description: ResourceReference represents the parent resource of Workload + properties: + kind: + type: string + name: + type: string + uid: + description: |- + UID is a type that holds unique ID values, including UUIDs. Because we + don't ONLY use UUIDs, this is an alias to string. Being a type captures + intent and helps make sure that UIDs and names do not get conflated. + type: string + required: + - kind + - name + - uid + type: object + traceId: + additionalProperties: + type: string + type: object + version: + type: string + workloadName: + type: string + required: + - app + - resourceReference + - version + - workloadName + type: object + status: + description: KeptnWorkloadInstanceStatus defines the observed state of + KeptnWorkloadInstance + properties: + currentPhase: + type: string + deploymentStatus: + default: Pending + description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + endTime: + format: date-time + type: string + phaseTraceIDs: + additionalProperties: + additionalProperties: + type: string + description: |- + MapCarrier is a TextMapCarrier that uses a map held in memory as a storage + medium for propagated key-value pairs. + type: object + description: PhaseTraceID is a map storing TraceIDs of OpenTelemetry + spans in lifecycle phases + type: object + postDeploymentEvaluationStatus: + default: Pending + description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + postDeploymentEvaluationTaskStatus: + items: + properties: + endTime: + format: date-time + type: string + evaluationDefinitionName: + type: string + evaluationName: + type: string + startTime: + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase + state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + type: object + type: array + postDeploymentStatus: + default: Pending + description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + postDeploymentTaskStatus: + items: + properties: + endTime: + format: date-time + type: string + startTime: + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase + state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + taskDefinitionName: + type: string + taskName: + type: string + type: object + type: array + preDeploymentEvaluationStatus: + default: Pending + description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + preDeploymentEvaluationTaskStatus: + items: + properties: + endTime: + format: date-time + type: string + evaluationDefinitionName: + type: string + evaluationName: + type: string + startTime: + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase + state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + type: object + type: array + preDeploymentStatus: + default: Pending + description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + preDeploymentTaskStatus: + items: + properties: + endTime: + format: date-time + type: string + startTime: + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase + state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + taskDefinitionName: + type: string + taskName: + type: string + type: object + type: array + startTime: + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .spec.app + name: AppName + type: string + - jsonPath: .spec.workloadName + name: WorkloadName + type: string + - jsonPath: .spec.version + name: WorkloadVersion + type: string + - jsonPath: .status.currentPhase + name: Phase + type: string + - jsonPath: .status.preDeploymentStatus + name: PreDeploymentStatus + priority: 1 + type: string + - jsonPath: .status.preDeploymentEvaluationStatus + name: PreDeploymentEvaluationStatus + priority: 1 + type: string + - jsonPath: .status.deploymentStatus + name: DeploymentStatus + priority: 1 + type: string + - jsonPath: .status.postDeploymentStatus + name: PostDeploymentStatus + priority: 1 + type: string + - jsonPath: .status.postDeploymentEvaluationStatus + name: PostDeploymentEvaluationStatus + priority: 1 + type: string + name: v1alpha2 + schema: + openAPIV3Schema: + description: KeptnWorkloadInstance is the Schema for the keptnworkloadinstances + API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: KeptnWorkloadInstanceSpec defines the desired state of KeptnWorkloadInstance + properties: + app: + type: string + postDeploymentEvaluations: + items: + type: string + type: array + postDeploymentTasks: + items: + type: string + type: array + preDeploymentEvaluations: + items: + type: string + type: array + preDeploymentTasks: + items: + type: string + type: array + previousVersion: + type: string + resourceReference: + description: ResourceReference represents the parent resource of Workload + properties: + kind: + type: string + name: + type: string + uid: + description: |- + UID is a type that holds unique ID values, including UUIDs. Because we + don't ONLY use UUIDs, this is an alias to string. Being a type captures + intent and helps make sure that UIDs and names do not get conflated. + type: string + required: + - kind + - name + - uid + type: object + traceId: + additionalProperties: + type: string + type: object + version: + type: string + workloadName: + type: string + required: + - app + - resourceReference + - version + - workloadName + type: object + status: + description: KeptnWorkloadInstanceStatus defines the observed state of + KeptnWorkloadInstance + properties: + currentPhase: + type: string + deploymentStatus: + default: Pending + description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + endTime: + format: date-time + type: string + phaseTraceIDs: + additionalProperties: + additionalProperties: + type: string + description: |- + MapCarrier is a TextMapCarrier that uses a map held in memory as a storage + medium for propagated key-value pairs. + type: object + type: object + postDeploymentEvaluationStatus: + default: Pending + description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + postDeploymentEvaluationTaskStatus: + items: + properties: + definitionName: + description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition + type: string + endTime: + format: date-time + type: string + name: + description: Name is the name of the Evaluation/Task + type: string + startTime: + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase + state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + type: object + type: array + postDeploymentStatus: + default: Pending + description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + postDeploymentTaskStatus: + items: + properties: + definitionName: + description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition + type: string + endTime: + format: date-time + type: string + name: + description: Name is the name of the Evaluation/Task + type: string + startTime: + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase + state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + type: object + type: array + preDeploymentEvaluationStatus: + default: Pending + description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + preDeploymentEvaluationTaskStatus: + items: + properties: + definitionName: + description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition + type: string + endTime: + format: date-time + type: string + name: + description: Name is the name of the Evaluation/Task + type: string + startTime: + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase + state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + type: object + type: array + preDeploymentStatus: + default: Pending + description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + preDeploymentTaskStatus: + items: + properties: + definitionName: + description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition + type: string + endTime: + format: date-time + type: string + name: + description: Name is the name of the Evaluation/Task + type: string + startTime: + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase + state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + type: object + type: array + startTime: + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .spec.app + name: AppName + type: string + - jsonPath: .spec.workloadName + name: WorkloadName + type: string + - jsonPath: .spec.version + name: WorkloadVersion + type: string + - jsonPath: .status.currentPhase + name: Phase + type: string + - jsonPath: .status.preDeploymentStatus + name: PreDeploymentStatus + priority: 1 + type: string + - jsonPath: .status.preDeploymentEvaluationStatus + name: PreDeploymentEvaluationStatus + priority: 1 + type: string + - jsonPath: .status.deploymentStatus + name: DeploymentStatus + priority: 1 + type: string + - jsonPath: .status.postDeploymentStatus + name: PostDeploymentStatus + priority: 1 + type: string + - jsonPath: .status.postDeploymentEvaluationStatus + name: PostDeploymentEvaluationStatus + priority: 1 + type: string + name: v1alpha3 + schema: + openAPIV3Schema: + description: KeptnWorkloadInstance is the Schema for the keptnworkloadinstances + API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Spec describes the desired state of the KeptnWorkloadInstance. + properties: + app: + description: AppName is the name of the KeptnApp containing the KeptnWorkload. + type: string + postDeploymentEvaluations: + description: |- + PostDeploymentEvaluations is a list of all evaluations to be performed + during the post-deployment phase of the KeptnWorkload. + The items of this list refer to the names of KeptnEvaluationDefinitions + located in the same namespace as the KeptnWorkload, or in the Keptn namespace. + items: + type: string + type: array + postDeploymentTasks: + description: |- + PostDeploymentTasks is a list of all tasks to be performed during the post-deployment phase of the KeptnWorkload. + The items of this list refer to the names of KeptnTaskDefinitions + located in the same namespace as the KeptnWorkload, or in the Keptn namespace. + items: + type: string + type: array + preDeploymentEvaluations: + description: |- + PreDeploymentEvaluations is a list of all evaluations to be performed + during the pre-deployment phase of the KeptnWorkload. + The items of this list refer to the names of KeptnEvaluationDefinitions + located in the same namespace as the KeptnWorkload, or in the Keptn namespace. + items: + type: string + type: array + preDeploymentTasks: + description: |- + PreDeploymentTasks is a list of all tasks to be performed during the pre-deployment phase of the KeptnWorkload. + The items of this list refer to the names of KeptnTaskDefinitions + located in the same namespace as the KeptnApp, or in the Keptn namespace. + items: + type: string + type: array + previousVersion: + description: PreviousVersion is the version of the KeptnWorkload that + has been deployed prior to this version. + type: string + resourceReference: + description: |- + ResourceReference is a reference to the Kubernetes resource + (Deployment, DaemonSet, StatefulSet or ReplicaSet) the KeptnWorkload is representing. + properties: + kind: + type: string + name: + type: string + uid: + description: |- + UID is a type that holds unique ID values, including UUIDs. Because we + don't ONLY use UUIDs, this is an alias to string. Being a type captures + intent and helps make sure that UIDs and names do not get conflated. + type: string + required: + - kind + - name + - uid + type: object + traceId: + additionalProperties: + type: string + description: TraceId contains the OpenTelemetry trace ID. + type: object + version: + description: Version defines the version of the KeptnWorkload. + type: string + workloadName: + description: WorkloadName is the name of the KeptnWorkload. + type: string + required: + - app + - resourceReference + - version + - workloadName + type: object + status: + description: Status describes the current state of the KeptnWorkloadInstance. + properties: + currentPhase: + description: |- + CurrentPhase indicates the current phase of the KeptnWorkloadInstance. This can be: + - PreDeploymentTasks + - PreDeploymentEvaluations + - Deployment + - PostDeploymentTasks + - PostDeploymentEvaluations + type: string + deploymentStatus: + default: Pending + description: DeploymentStatus indicates the current status of the + KeptnWorkloadInstance's Deployment phase. + type: string + endTime: + description: EndTime represents the time at which the deployment of + the KeptnWorkloadInstance finished. + format: date-time + type: string + phaseTraceIDs: + additionalProperties: + additionalProperties: + type: string + description: |- + MapCarrier is a TextMapCarrier that uses a map held in memory as a storage + medium for propagated key-value pairs. + type: object + description: PhaseTraceIDs contains the trace IDs of the OpenTelemetry + spans of each phase of the KeptnWorkloadInstance + type: object + postDeploymentEvaluationStatus: + default: Pending + description: PostDeploymentEvaluationStatus indicates the current + status of the KeptnWorkloadInstance's PostDeploymentEvaluation phase. + type: string + postDeploymentEvaluationTaskStatus: + description: PostDeploymentEvaluationTaskStatus indicates the current + state of each postDeploymentEvaluation of the KeptnWorkloadInstance. + items: + properties: + definitionName: + description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition + type: string + endTime: + description: EndTime represents the time at which the Item (Evaluation/Task) + started. + format: date-time + type: string + name: + description: Name is the name of the Evaluation/Task + type: string + startTime: + description: StartTime represents the time at which the Item + (Evaluation/Task) started. + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase + state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + type: object + type: array + postDeploymentStatus: + default: Pending + description: PostDeploymentStatus indicates the current status of + the KeptnWorkloadInstance's PostDeployment phase. + type: string + postDeploymentTaskStatus: + description: PostDeploymentTaskStatus indicates the current state + of each postDeploymentTask of the KeptnWorkloadInstance. + items: + properties: + definitionName: + description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition + type: string + endTime: + description: EndTime represents the time at which the Item (Evaluation/Task) + started. + format: date-time + type: string + name: + description: Name is the name of the Evaluation/Task + type: string + startTime: + description: StartTime represents the time at which the Item + (Evaluation/Task) started. + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase + state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + type: object + type: array + preDeploymentEvaluationStatus: + default: Pending + description: PreDeploymentEvaluationStatus indicates the current status + of the KeptnWorkloadInstance's PreDeploymentEvaluation phase. + type: string + preDeploymentEvaluationTaskStatus: + description: PreDeploymentEvaluationTaskStatus indicates the current + state of each preDeploymentEvaluation of the KeptnWorkloadInstance. + items: + properties: + definitionName: + description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition + type: string + endTime: + description: EndTime represents the time at which the Item (Evaluation/Task) + started. + format: date-time + type: string + name: + description: Name is the name of the Evaluation/Task + type: string + startTime: + description: StartTime represents the time at which the Item + (Evaluation/Task) started. + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase + state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + type: object + type: array + preDeploymentStatus: + default: Pending + description: PreDeploymentStatus indicates the current status of the + KeptnWorkloadInstance's PreDeployment phase. + type: string + preDeploymentTaskStatus: + description: PreDeploymentTaskStatus indicates the current state of + each preDeploymentTask of the KeptnWorkloadInstance. + items: + properties: + definitionName: + description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition + type: string + endTime: + description: EndTime represents the time at which the Item (Evaluation/Task) + started. + format: date-time + type: string + name: + description: Name is the name of the Evaluation/Task + type: string + startTime: + description: StartTime represents the time at which the Item + (Evaluation/Task) started. + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase + state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + type: object + type: array + startTime: + description: StartTime represents the time at which the deployment + of the KeptnWorkloadInstance started. + format: date-time + type: string + status: + default: Pending + description: Status represents the overall status of the KeptnWorkloadInstance. + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + {{- with .Values.global.caInjectionAnnotations }} + {{- toYaml . | nindent 4 }} + {{- end }} + {{- include "common.annotations" ( dict "context" . ) }} + labels: + app.kubernetes.io/part-of: keptn + crdGroup: lifecycle.keptn.sh + keptn.sh/inject-cert: "true" +{{- include "common.labels.standard" (dict "context" .) | nindent 4 }} + name: keptnworkloads.lifecycle.keptn.sh +spec: + group: lifecycle.keptn.sh + names: + kind: KeptnWorkload + listKind: KeptnWorkloadList + plural: keptnworkloads + singular: keptnworkload + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .spec.app + name: AppName + type: string + - jsonPath: .spec.version + name: Version + type: string + name: v1alpha1 + schema: + openAPIV3Schema: + description: KeptnWorkload is the Schema for the keptnworkloads API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: KeptnWorkloadSpec defines the desired state of KeptnWorkload + properties: + app: + type: string + postDeploymentEvaluations: + items: + type: string + type: array + postDeploymentTasks: + items: + type: string + type: array + preDeploymentEvaluations: + items: + type: string + type: array + preDeploymentTasks: + items: + type: string + type: array + resourceReference: + description: ResourceReference represents the parent resource of Workload + properties: + kind: + type: string + name: + type: string + uid: + description: |- + UID is a type that holds unique ID values, including UUIDs. Because we + don't ONLY use UUIDs, this is an alias to string. Being a type captures + intent and helps make sure that UIDs and names do not get conflated. + type: string + required: + - kind + - name + - uid + type: object + version: + type: string + required: + - app + - resourceReference + - version + type: object + status: + description: KeptnWorkloadStatus defines the observed state of KeptnWorkload + properties: + currentVersion: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .spec.app + name: AppName + type: string + - jsonPath: .spec.version + name: Version + type: string + name: v1alpha2 + schema: + openAPIV3Schema: + description: KeptnWorkload is the Schema for the keptnworkloads API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: KeptnWorkloadSpec defines the desired state of KeptnWorkload + properties: + app: + type: string + postDeploymentEvaluations: + items: + type: string + type: array + postDeploymentTasks: + items: + type: string + type: array + preDeploymentEvaluations: + items: + type: string + type: array + preDeploymentTasks: + items: + type: string + type: array + resourceReference: + description: ResourceReference represents the parent resource of Workload + properties: + kind: + type: string + name: + type: string + uid: + description: |- + UID is a type that holds unique ID values, including UUIDs. Because we + don't ONLY use UUIDs, this is an alias to string. Being a type captures + intent and helps make sure that UIDs and names do not get conflated. + type: string + required: + - kind + - name + - uid + type: object + version: + type: string + required: + - app + - resourceReference + - version + type: object + status: + description: KeptnWorkloadStatus defines the observed state of KeptnWorkload + properties: + currentVersion: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .spec.app + name: AppName + type: string + - jsonPath: .spec.version + name: Version + type: string + name: v1alpha3 + schema: + openAPIV3Schema: + description: KeptnWorkload is the Schema for the keptnworkloads API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Spec describes the desired state of the KeptnWorkload. + properties: + app: + description: AppName is the name of the KeptnApp containing the KeptnWorkload. + type: string + postDeploymentEvaluations: + description: |- + PostDeploymentEvaluations is a list of all evaluations to be performed + during the post-deployment phase of the KeptnWorkload. + The items of this list refer to the names of KeptnEvaluationDefinitions + located in the same namespace as the KeptnWorkload, or in the Keptn namespace. + items: + type: string + type: array + postDeploymentTasks: + description: |- + PostDeploymentTasks is a list of all tasks to be performed during the post-deployment phase of the KeptnWorkload. + The items of this list refer to the names of KeptnTaskDefinitions + located in the same namespace as the KeptnWorkload, or in the Keptn namespace. + items: + type: string + type: array + preDeploymentEvaluations: + description: |- + PreDeploymentEvaluations is a list of all evaluations to be performed + during the pre-deployment phase of the KeptnWorkload. + The items of this list refer to the names of KeptnEvaluationDefinitions + located in the same namespace as the KeptnWorkload, or in the Keptn namespace. + items: + type: string + type: array + preDeploymentTasks: + description: |- + PreDeploymentTasks is a list of all tasks to be performed during the pre-deployment phase of the KeptnWorkload. + The items of this list refer to the names of KeptnTaskDefinitions + located in the same namespace as the KeptnApp, or in the Keptn namespace. + items: + type: string + type: array + resourceReference: + description: |- + ResourceReference is a reference to the Kubernetes resource + (Deployment, DaemonSet, StatefulSet or ReplicaSet) the KeptnWorkload is representing. + properties: + kind: + type: string + name: + type: string + uid: + description: |- + UID is a type that holds unique ID values, including UUIDs. Because we + don't ONLY use UUIDs, this is an alias to string. Being a type captures + intent and helps make sure that UIDs and names do not get conflated. + type: string + required: + - kind + - name + - uid + type: object + version: + description: Version defines the version of the KeptnWorkload. + type: string + required: + - app + - resourceReference + - version + type: object + status: + description: Status describes the current state of the KeptnWorkload. + properties: + currentVersion: + description: CurrentVersion indicates the version that is currently + deployed or being reconciled. + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .spec.app + name: AppName + type: string + - jsonPath: .spec.version + name: Version + type: string + name: v1beta1 + schema: + openAPIV3Schema: + description: KeptnWorkload is the Schema for the keptnworkloads API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Spec describes the desired state of the KeptnWorkload. + properties: + app: + description: AppName is the name of the KeptnApp containing the KeptnWorkload. + type: string + metadata: + additionalProperties: + type: string + description: Metadata contains additional key-value pairs for contextual + information. + type: object + postDeploymentEvaluations: + description: |- + PostDeploymentEvaluations is a list of all evaluations to be performed + during the post-deployment phase of the KeptnWorkload. + The items of this list refer to the names of KeptnEvaluationDefinitions + located in the same namespace as the KeptnWorkload, or in the Keptn namespace. + items: + type: string + type: array + postDeploymentTasks: + description: |- + PostDeploymentTasks is a list of all tasks to be performed during the post-deployment phase of the KeptnWorkload. + The items of this list refer to the names of KeptnTaskDefinitions + located in the same namespace as the KeptnWorkload, or in the Keptn namespace. + items: + type: string + type: array + preDeploymentEvaluations: + description: |- + PreDeploymentEvaluations is a list of all evaluations to be performed + during the pre-deployment phase of the KeptnWorkload. + The items of this list refer to the names of KeptnEvaluationDefinitions + located in the same namespace as the KeptnWorkload, or in the Keptn namespace. + items: + type: string + type: array + preDeploymentTasks: + description: |- + PreDeploymentTasks is a list of all tasks to be performed during the pre-deployment phase of the KeptnWorkload. + The items of this list refer to the names of KeptnTaskDefinitions + located in the same namespace as the KeptnApp, or in the Keptn namespace. + items: + type: string + type: array + resourceReference: + description: |- + ResourceReference is a reference to the Kubernetes resource + (Deployment, DaemonSet, StatefulSet or ReplicaSet) the KeptnWorkload is representing. + properties: + kind: + type: string + name: + type: string + uid: + description: |- + UID is a type that holds unique ID values, including UUIDs. Because we + don't ONLY use UUIDs, this is an alias to string. Being a type captures + intent and helps make sure that UIDs and names do not get conflated. + type: string + required: + - kind + - name + - uid + type: object + version: + description: Version defines the version of the KeptnWorkload. + type: string + required: + - app + - resourceReference + - version + type: object + status: + description: Status describes the current state of the KeptnWorkload. + properties: + currentVersion: + description: CurrentVersion indicates the version that is currently + deployed or being reconciled. + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + {{- with .Values.global.caInjectionAnnotations }} + {{- toYaml . | nindent 4 }} + {{- end }} + {{- include "common.annotations" ( dict "context" . ) }} + labels: + app.kubernetes.io/part-of: keptn + crdGroup: lifecycle.keptn.sh + keptn.sh/inject-cert: "true" +{{- include "common.labels.standard" (dict "context" .) | nindent 4 }} + name: keptnworkloadversions.lifecycle.keptn.sh +spec: + group: lifecycle.keptn.sh + names: + kind: KeptnWorkloadVersion + listKind: KeptnWorkloadVersionList + plural: keptnworkloadversions + shortNames: + - kwv + singular: keptnworkloadversion + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .spec.app + name: AppName + type: string + - jsonPath: .spec.workloadName + name: WorkloadName + type: string + - jsonPath: .spec.version + name: WorkloadVersion + type: string + - jsonPath: .status.currentPhase + name: Phase + type: string + - jsonPath: .status.preDeploymentStatus + name: PreDeploymentStatus + priority: 1 + type: string + - jsonPath: .status.preDeploymentEvaluationStatus + name: PreDeploymentEvaluationStatus + priority: 1 + type: string + - jsonPath: .status.deploymentStatus + name: DeploymentStatus + priority: 1 + type: string + - jsonPath: .status.postDeploymentStatus + name: PostDeploymentStatus + priority: 1 + type: string + - jsonPath: .status.postDeploymentEvaluationStatus + name: PostDeploymentEvaluationStatus + priority: 1 + type: string + name: v1alpha4 + schema: + openAPIV3Schema: + description: KeptnWorkloadVersion is the Schema for the keptnworkloadversions + API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Spec describes the desired state of the KeptnWorkloadVersion. + properties: + app: + description: AppName is the name of the KeptnApp containing the KeptnWorkload. + type: string + postDeploymentEvaluations: + description: |- + PostDeploymentEvaluations is a list of all evaluations to be performed + during the post-deployment phase of the KeptnWorkload. + The items of this list refer to the names of KeptnEvaluationDefinitions + located in the same namespace as the KeptnWorkload, or in the Keptn namespace. + items: + type: string + type: array + postDeploymentTasks: + description: |- + PostDeploymentTasks is a list of all tasks to be performed during the post-deployment phase of the KeptnWorkload. + The items of this list refer to the names of KeptnTaskDefinitions + located in the same namespace as the KeptnWorkload, or in the Keptn namespace. + items: + type: string + type: array + preDeploymentEvaluations: + description: |- + PreDeploymentEvaluations is a list of all evaluations to be performed + during the pre-deployment phase of the KeptnWorkload. + The items of this list refer to the names of KeptnEvaluationDefinitions + located in the same namespace as the KeptnWorkload, or in the Keptn namespace. + items: + type: string + type: array + preDeploymentTasks: + description: |- + PreDeploymentTasks is a list of all tasks to be performed during the pre-deployment phase of the KeptnWorkload. + The items of this list refer to the names of KeptnTaskDefinitions + located in the same namespace as the KeptnApp, or in the Keptn namespace. + items: + type: string + type: array + previousVersion: + description: PreviousVersion is the version of the KeptnWorkload that + has been deployed prior to this version. + type: string + resourceReference: + description: |- + ResourceReference is a reference to the Kubernetes resource + (Deployment, DaemonSet, StatefulSet or ReplicaSet) the KeptnWorkload is representing. + properties: + kind: + type: string + name: + type: string + uid: + description: |- + UID is a type that holds unique ID values, including UUIDs. Because we + don't ONLY use UUIDs, this is an alias to string. Being a type captures + intent and helps make sure that UIDs and names do not get conflated. + type: string + required: + - kind + - name + - uid + type: object + traceId: + additionalProperties: + type: string + description: TraceId contains the OpenTelemetry trace ID. + type: object + version: + description: Version defines the version of the KeptnWorkload. + type: string + workloadName: + description: WorkloadName is the name of the KeptnWorkload. + type: string + required: + - app + - resourceReference + - version + - workloadName + type: object + status: + description: Status describes the current state of the KeptnWorkloadVersion. + properties: + currentPhase: + description: |- + CurrentPhase indicates the current phase of the KeptnWorkloadVersion. This can be: + - PreDeploymentTasks + - PreDeploymentEvaluations + - Deployment + - PostDeploymentTasks + - PostDeploymentEvaluations + type: string + deploymentStatus: + default: Pending + description: DeploymentStatus indicates the current status of the + KeptnWorkloadVersion's Deployment phase. + type: string + endTime: + description: EndTime represents the time at which the deployment of + the KeptnWorkloadVersion finished. + format: date-time + type: string + phaseTraceIDs: + additionalProperties: + additionalProperties: + type: string + description: |- + MapCarrier is a TextMapCarrier that uses a map held in memory as a storage + medium for propagated key-value pairs. + type: object + description: PhaseTraceIDs contains the trace IDs of the OpenTelemetry + spans of each phase of the KeptnWorkloadVersion + type: object + postDeploymentEvaluationStatus: + default: Pending + description: PostDeploymentEvaluationStatus indicates the current + status of the KeptnWorkloadVersion's PostDeploymentEvaluation phase. + type: string + postDeploymentEvaluationTaskStatus: + description: PostDeploymentEvaluationTaskStatus indicates the current + state of each postDeploymentEvaluation of the KeptnWorkloadVersion. + items: + properties: + definitionName: + description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition + type: string + endTime: + description: EndTime represents the time at which the Item (Evaluation/Task) + started. + format: date-time + type: string + name: + description: Name is the name of the Evaluation/Task + type: string + startTime: + description: StartTime represents the time at which the Item + (Evaluation/Task) started. + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase + state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + type: object + type: array + postDeploymentStatus: + default: Pending + description: PostDeploymentStatus indicates the current status of + the KeptnWorkloadVersion's PostDeployment phase. + type: string + postDeploymentTaskStatus: + description: PostDeploymentTaskStatus indicates the current state + of each postDeploymentTask of the KeptnWorkloadVersion. + items: + properties: + definitionName: + description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition + type: string + endTime: + description: EndTime represents the time at which the Item (Evaluation/Task) + started. + format: date-time + type: string + name: + description: Name is the name of the Evaluation/Task + type: string + startTime: + description: StartTime represents the time at which the Item + (Evaluation/Task) started. + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase + state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + type: object + type: array + preDeploymentEvaluationStatus: + default: Pending + description: PreDeploymentEvaluationStatus indicates the current status + of the KeptnWorkloadVersion's PreDeploymentEvaluation phase. + type: string + preDeploymentEvaluationTaskStatus: + description: PreDeploymentEvaluationTaskStatus indicates the current + state of each preDeploymentEvaluation of the KeptnWorkloadVersion. + items: + properties: + definitionName: + description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition + type: string + endTime: + description: EndTime represents the time at which the Item (Evaluation/Task) + started. + format: date-time + type: string + name: + description: Name is the name of the Evaluation/Task + type: string + startTime: + description: StartTime represents the time at which the Item + (Evaluation/Task) started. + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase + state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + type: object + type: array + preDeploymentStatus: + default: Pending + description: PreDeploymentStatus indicates the current status of the + KeptnWorkloadVersion's PreDeployment phase. + type: string + preDeploymentTaskStatus: + description: PreDeploymentTaskStatus indicates the current state of + each preDeploymentTask of the KeptnWorkloadVersion. + items: + properties: + definitionName: + description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition + type: string + endTime: + description: EndTime represents the time at which the Item (Evaluation/Task) + started. + format: date-time + type: string + name: + description: Name is the name of the Evaluation/Task + type: string + startTime: + description: StartTime represents the time at which the Item + (Evaluation/Task) started. + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase + state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + type: object + type: array + startTime: + description: StartTime represents the time at which the deployment + of the KeptnWorkloadVersion started. + format: date-time + type: string + status: + default: Pending + description: Status represents the overall status of the KeptnWorkloadVersion. + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .spec.app + name: AppName + type: string + - jsonPath: .spec.workloadName + name: WorkloadName + type: string + - jsonPath: .spec.version + name: WorkloadVersion + type: string + - jsonPath: .status.currentPhase + name: Phase + type: string + - jsonPath: .status.preDeploymentStatus + name: PreDeploymentStatus + priority: 1 + type: string + - jsonPath: .status.preDeploymentEvaluationStatus + name: PreDeploymentEvaluationStatus + priority: 1 + type: string + - jsonPath: .status.deploymentStatus + name: DeploymentStatus + priority: 1 + type: string + - jsonPath: .status.postDeploymentStatus + name: PostDeploymentStatus + priority: 1 + type: string + - jsonPath: .status.postDeploymentEvaluationStatus + name: PostDeploymentEvaluationStatus + priority: 1 + type: string + name: v1beta1 + schema: + openAPIV3Schema: + description: KeptnWorkloadVersion is the Schema for the keptnworkloadversions + API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Spec describes the desired state of the KeptnWorkloadVersion. + properties: + app: + description: AppName is the name of the KeptnApp containing the KeptnWorkload. + type: string + metadata: + additionalProperties: + type: string + description: Metadata contains additional key-value pairs for contextual + information. + type: object + postDeploymentEvaluations: + description: |- + PostDeploymentEvaluations is a list of all evaluations to be performed + during the post-deployment phase of the KeptnWorkload. + The items of this list refer to the names of KeptnEvaluationDefinitions + located in the same namespace as the KeptnWorkload, or in the Keptn namespace. + items: + type: string + type: array + postDeploymentTasks: + description: |- + PostDeploymentTasks is a list of all tasks to be performed during the post-deployment phase of the KeptnWorkload. + The items of this list refer to the names of KeptnTaskDefinitions + located in the same namespace as the KeptnWorkload, or in the Keptn namespace. + items: + type: string + type: array + preDeploymentEvaluations: + description: |- + PreDeploymentEvaluations is a list of all evaluations to be performed + during the pre-deployment phase of the KeptnWorkload. + The items of this list refer to the names of KeptnEvaluationDefinitions + located in the same namespace as the KeptnWorkload, or in the Keptn namespace. + items: + type: string + type: array + preDeploymentTasks: + description: |- + PreDeploymentTasks is a list of all tasks to be performed during the pre-deployment phase of the KeptnWorkload. + The items of this list refer to the names of KeptnTaskDefinitions + located in the same namespace as the KeptnApp, or in the Keptn namespace. + items: + type: string + type: array + previousVersion: + description: PreviousVersion is the version of the KeptnWorkload that + has been deployed prior to this version. + type: string + resourceReference: + description: |- + ResourceReference is a reference to the Kubernetes resource + (Deployment, DaemonSet, StatefulSet or ReplicaSet) the KeptnWorkload is representing. + properties: + kind: + type: string + name: + type: string + uid: + description: |- + UID is a type that holds unique ID values, including UUIDs. Because we + don't ONLY use UUIDs, this is an alias to string. Being a type captures + intent and helps make sure that UIDs and names do not get conflated. + type: string + required: + - kind + - name + - uid + type: object + traceId: + additionalProperties: + type: string + description: TraceId contains the OpenTelemetry trace ID. + type: object + version: + description: Version defines the version of the KeptnWorkload. + type: string + workloadName: + description: WorkloadName is the name of the KeptnWorkload. + type: string + required: + - app + - resourceReference + - version + - workloadName + type: object + status: + description: Status describes the current state of the KeptnWorkloadVersion. + properties: + appContextMetadata: + additionalProperties: + type: string + description: AppContextMetadata contains metadata from the related + KeptnAppVersion. + type: object + currentPhase: + description: |- + CurrentPhase indicates the current phase of the KeptnWorkloadVersion. This can be: + - PreDeploymentTasks + - PreDeploymentEvaluations + - Deployment + - PostDeploymentTasks + - PostDeploymentEvaluations + type: string + deploymentStartTime: + description: DeploymentStartTime represents the start time of the + deployment phase + format: date-time + type: string + deploymentStatus: + default: Pending + description: DeploymentStatus indicates the current status of the + KeptnWorkloadVersion's Deployment phase. + type: string + endTime: + description: EndTime represents the time at which the deployment of + the KeptnWorkloadVersion finished. + format: date-time + type: string + phaseTraceIDs: + additionalProperties: + additionalProperties: + type: string + description: |- + MapCarrier is a TextMapCarrier that uses a map held in memory as a storage + medium for propagated key-value pairs. + type: object + description: PhaseTraceIDs contains the trace IDs of the OpenTelemetry + spans of each phase of the KeptnWorkloadVersion + type: object + postDeploymentEvaluationStatus: + default: Pending + description: PostDeploymentEvaluationStatus indicates the current + status of the KeptnWorkloadVersion's PostDeploymentEvaluation phase. + type: string + postDeploymentEvaluationTaskStatus: + description: PostDeploymentEvaluationTaskStatus indicates the current + state of each postDeploymentEvaluation of the KeptnWorkloadVersion. + items: + properties: + definitionName: + description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition + type: string + endTime: + description: EndTime represents the time at which the Item (Evaluation/Task) + started. + format: date-time + type: string + name: + description: Name is the name of the Evaluation/Task + type: string + startTime: + description: StartTime represents the time at which the Item + (Evaluation/Task) started. + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase + state (Progressing/Succeeded/Failed/Unknown/Pending/Deprecated/Warning) + type: string + type: object + type: array + postDeploymentStatus: + default: Pending + description: PostDeploymentStatus indicates the current status of + the KeptnWorkloadVersion's PostDeployment phase. + type: string + postDeploymentTaskStatus: + description: PostDeploymentTaskStatus indicates the current state + of each postDeploymentTask of the KeptnWorkloadVersion. + items: + properties: + definitionName: + description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition + type: string + endTime: + description: EndTime represents the time at which the Item (Evaluation/Task) + started. + format: date-time + type: string + name: + description: Name is the name of the Evaluation/Task + type: string + startTime: + description: StartTime represents the time at which the Item + (Evaluation/Task) started. + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase + state (Progressing/Succeeded/Failed/Unknown/Pending/Deprecated/Warning) + type: string + type: object + type: array + preDeploymentEvaluationStatus: + default: Pending + description: PreDeploymentEvaluationStatus indicates the current status + of the KeptnWorkloadVersion's PreDeploymentEvaluation phase. + type: string + preDeploymentEvaluationTaskStatus: + description: PreDeploymentEvaluationTaskStatus indicates the current + state of each preDeploymentEvaluation of the KeptnWorkloadVersion. + items: + properties: + definitionName: + description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition + type: string + endTime: + description: EndTime represents the time at which the Item (Evaluation/Task) + started. + format: date-time + type: string + name: + description: Name is the name of the Evaluation/Task + type: string + startTime: + description: StartTime represents the time at which the Item + (Evaluation/Task) started. + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase + state (Progressing/Succeeded/Failed/Unknown/Pending/Deprecated/Warning) + type: string + type: object + type: array + preDeploymentStatus: + default: Pending + description: PreDeploymentStatus indicates the current status of the + KeptnWorkloadVersion's PreDeployment phase. + type: string + preDeploymentTaskStatus: + description: PreDeploymentTaskStatus indicates the current state of + each preDeploymentTask of the KeptnWorkloadVersion. + items: + properties: + definitionName: + description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition + type: string + endTime: + description: EndTime represents the time at which the Item (Evaluation/Task) + started. + format: date-time + type: string + name: + description: Name is the name of the Evaluation/Task + type: string + startTime: + description: StartTime represents the time at which the Item + (Evaluation/Task) started. + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase + state (Progressing/Succeeded/Failed/Unknown/Pending/Deprecated/Warning) + type: string + type: object + type: array + startTime: + description: StartTime represents the time at which the deployment + of the KeptnWorkloadVersion started. + format: date-time + type: string + status: + default: Pending + description: Status represents the overall status of the KeptnWorkloadVersion. + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} diff --git a/lifecycle-operator/config/crd/kustomization.yaml b/lifecycle-operator/config/crd/kustomization.yaml index eb709e7b23..6ec9c02cf1 100644 --- a/lifecycle-operator/config/crd/kustomization.yaml +++ b/lifecycle-operator/config/crd/kustomization.yaml @@ -28,9 +28,19 @@ labels: app.kubernetes.io/part-of: keptn crdGroup: lifecycle.keptn.sh keptn.sh/inject-cert: "true" +commonAnnotations: + putAnnotation: operator +commonLabels: + putLabels: newLabel patches: - path: patches/webhook_in_lifecycle_keptnapps.yaml - path: patches/webhook_in_lifecycle_keptnappversions.yaml + - target: + group: apiextensions.k8s.io + version: v1 + name: keptnappcontexts.lifecycle.keptn.sh + kind: CustomResourceDefinition + path: patches/keptnappcontextsPatch.yaml # [WEBHOOK] To enable webhook, uncomment all the sections with [WEBHOOK] prefix. # patches here are for enabling the conversion webhook for each CRD # - path: patches/webhook_in_lifecycle_keptnworkloadinstances.yaml diff --git a/lifecycle-operator/config/crd/patches/keptnappcontextsPatch.yaml b/lifecycle-operator/config/crd/patches/keptnappcontextsPatch.yaml new file mode 100644 index 0000000000..d32a5370aa --- /dev/null +++ b/lifecycle-operator/config/crd/patches/keptnappcontextsPatch.yaml @@ -0,0 +1,3 @@ +- op: add # action + path: "/metadata/annotations/env" # adding a fake annotation and to be replaced with another one in helm templates + value: fake diff --git a/metrics-operator/Makefile b/metrics-operator/Makefile index c1b63546ed..acf399e839 100644 --- a/metrics-operator/Makefile +++ b/metrics-operator/Makefile @@ -214,3 +214,12 @@ push-local: .PHONY: lint lint: ${GOPATH}/bin/golangci-lint run --config ../.golangci.yml -v + +##command to update chart/templates and docs +.PHONY: update-helmcharts +update-helmcharts: generate manifests + kustomize build config/crd > chart/templates/metricsOperator-crd.yaml + awk '/putAnnotation: metrics-operator/{print " {{- with .Values.global.caInjectionAnnotations }}"; print " {{- toYaml . | nindent 4 }}"; print " {{- end }}"; print " {{- include \"common.annotations\" ( dict \"context\" . ) }}"; next} 1' chart/templates/metricsOperator-crd.yaml > temp_file && mv temp_file chart/templates/metricsOperator-crd.yaml + awk '/env: fake/ {print " cert-manager.io/inject-ca-from: '\''{{ .Release.Namespace }}/keptn-certs'\''"; next} 1' chart/templates/metricsOperator-crd.yaml > temp_file && mv temp_file chart/templates/metricsOperator-crd.yaml + awk '/putLabels: newLabel/ {print "{{- include \"common.labels.standard\" (dict \"context\" .) | nindent 4 }}"; next} 1' chart/templates/metricsOperator-crd.yaml > temp_file && mv temp_file chart/templates/metricsOperator-crd.yaml + diff --git a/metrics-operator/chart/templates/analysis-crd.yaml b/metrics-operator/chart/templates/analysis-crd.yaml deleted file mode 100644 index 698ce1c1ba..0000000000 --- a/metrics-operator/chart/templates/analysis-crd.yaml +++ /dev/null @@ -1,352 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: analyses.metrics.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.14.0 - {{- with .Values.global.caInjectionAnnotations }} - {{- toYaml . | nindent 4 }} - {{- end }} - {{- include "common.annotations" ( dict "context" . ) }} - labels: - app.kubernetes.io/part-of: keptn - crdGroup: metrics.keptn.sh - keptn.sh/inject-cert: "true" -{{- include "common.labels.standard" ( dict "context" . ) | nindent 4 }} -spec: - group: metrics.keptn.sh - names: - kind: Analysis - listKind: AnalysisList - plural: analyses - singular: analysis - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .spec.analysisDefinition.name - name: AnalysisDefinition - type: string - - jsonPath: .status.state - name: State - type: string - - jsonPath: .status.warning - name: Warning - type: string - - jsonPath: .status.pass - name: Pass - type: string - name: v1alpha3 - schema: - openAPIV3Schema: - description: Analysis is the Schema for the analyses API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: AnalysisSpec defines the desired state of Analysis - properties: - analysisDefinition: - description: AnalysisDefinition refers to the AnalysisDefinition, - a CRD that stores the AnalysisValuesTemplates - properties: - name: - description: Name defines the name of the referenced object - type: string - namespace: - description: Namespace defines the namespace of the referenced - object - type: string - required: - - name - type: object - args: - additionalProperties: - type: string - description: Args corresponds to a map of key/value pairs that can - be used to substitute placeholders in the AnalysisValueTemplate - query. i.e. for args foo:bar the query could be "query:percentile(95)?scope=tag(my_foo_label:{{.foo}})". - type: object - timeframe: - description: |- - Timeframe specifies the range for the corresponding query in the AnalysisValueTemplate. Please note that either - a combination of 'from' and 'to' or the 'recent' property may be set. If neither is set, the Analysis can - not be added to the cluster. - properties: - from: - description: From is the time of start for the query. This field - follows RFC3339 time format - format: date-time - type: string - recent: - description: |- - Recent describes a recent timeframe using a duration string. E.g. Setting this to '5m' provides an Analysis - for the last five minutes - pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ - type: string - to: - description: To is the time of end for the query. This field follows - RFC3339 time format - format: date-time - type: string - type: object - required: - - analysisDefinition - - timeframe - type: object - status: - description: AnalysisStatus stores the status of the overall analysis - returns also pass or warnings - properties: - pass: - description: Pass returns whether the SLO is satisfied - type: boolean - raw: - description: Raw contains the raw result of the SLO computation - type: string - state: - description: State describes the current state of the Analysis (Pending/Progressing/Completed) - type: string - storedValues: - additionalProperties: - description: ProviderResult stores reference of already collected - provider query associated to its objective template - properties: - errMsg: - description: ErrMsg stores any possible error at retrieval time - type: string - objectiveReference: - description: Objective store reference to corresponding objective - template - properties: - name: - description: Name defines the name of the referenced object - type: string - namespace: - description: Namespace defines the namespace of the referenced - object - type: string - required: - - name - type: object - query: - description: Query represents the executed query - type: string - value: - description: Value is the value the provider returned - type: string - type: object - description: StoredValues contains all analysis values that have already - been retrieved successfully - type: object - timeframe: - description: Timeframe describes the time frame which is evaluated - by the Analysis - properties: - from: - description: From is the time of start for the query. This field - follows RFC3339 time format - format: date-time - type: string - recent: - description: |- - Recent describes a recent timeframe using a duration string. E.g. Setting this to '5m' provides an Analysis - for the last five minutes - pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ - type: string - to: - description: To is the time of end for the query. This field follows - RFC3339 time format - format: date-time - type: string - type: object - warning: - description: Warning returns whether the analysis returned a warning - type: boolean - required: - - state - - timeframe - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .spec.analysisDefinition.name - name: AnalysisDefinition - type: string - - jsonPath: .status.state - name: State - type: string - - jsonPath: .status.warning - name: Warning - type: string - - jsonPath: .status.pass - name: Pass - type: string - name: v1beta1 - schema: - openAPIV3Schema: - description: Analysis is the Schema for the analyses API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: AnalysisSpec defines the desired state of Analysis - properties: - analysisDefinition: - description: AnalysisDefinition refers to the AnalysisDefinition, - a CRD that stores the AnalysisValuesTemplates - properties: - name: - description: Name defines the name of the referenced object - type: string - namespace: - description: Namespace defines the namespace of the referenced - object - type: string - required: - - name - type: object - args: - additionalProperties: - type: string - description: Args corresponds to a map of key/value pairs that can - be used to substitute placeholders in the AnalysisValueTemplate - query. i.e. for args foo:bar the query could be "query:percentile(95)?scope=tag(my_foo_label:{{.foo}})". - type: object - timeframe: - description: |- - Timeframe specifies the range for the corresponding query in the AnalysisValueTemplate. Please note that either - a combination of 'from' and 'to' or the 'recent' property may be set. If neither is set, the Analysis can - not be added to the cluster. - properties: - from: - description: From is the time of start for the query. This field - follows RFC3339 time format - format: date-time - type: string - recent: - description: |- - Recent describes a recent timeframe using a duration string. E.g. Setting this to '5m' provides an Analysis - for the last five minutes - pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ - type: string - to: - description: To is the time of end for the query. This field follows - RFC3339 time format - format: date-time - type: string - type: object - required: - - analysisDefinition - - timeframe - type: object - status: - description: AnalysisStatus stores the status of the overall analysis - returns also pass or warnings - properties: - pass: - description: Pass returns whether the SLO is satisfied - type: boolean - raw: - description: Raw contains the raw result of the SLO computation - type: string - state: - description: State describes the current state of the Analysis (Pending/Progressing/Completed) - type: string - storedValues: - additionalProperties: - description: ProviderResult stores reference of already collected - provider query associated to its objective template - properties: - errMsg: - description: ErrMsg stores any possible error at retrieval time - type: string - objectiveReference: - description: Objective store reference to corresponding objective - template - properties: - name: - description: Name defines the name of the referenced object - type: string - namespace: - description: Namespace defines the namespace of the referenced - object - type: string - required: - - name - type: object - query: - description: Query represents the executed query - type: string - value: - description: Value is the value the provider returned - type: string - type: object - description: StoredValues contains all analysis values that have already - been retrieved successfully - type: object - timeframe: - description: Timeframe describes the time frame which is evaluated - by the Analysis - properties: - from: - description: From is the time of start for the query. This field - follows RFC3339 time format - format: date-time - type: string - recent: - description: |- - Recent describes a recent timeframe using a duration string. E.g. Setting this to '5m' provides an Analysis - for the last five minutes - pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ - type: string - to: - description: To is the time of end for the query. This field follows - RFC3339 time format - format: date-time - type: string - type: object - warning: - description: Warning returns whether the analysis returned a warning - type: boolean - required: - - state - - timeframe - type: object - type: object - served: true - storage: true - subresources: - status: {} diff --git a/metrics-operator/chart/templates/analysisdefinition-crd.yaml b/metrics-operator/chart/templates/analysisdefinition-crd.yaml deleted file mode 100644 index 5e1a0bb121..0000000000 --- a/metrics-operator/chart/templates/analysisdefinition-crd.yaml +++ /dev/null @@ -1,694 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: analysisdefinitions.metrics.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.14.0 - {{- with .Values.global.caInjectionAnnotations }} - {{- toYaml . | nindent 4 }} - {{- end }} - {{- include "common.annotations" ( dict "context" . ) }} - labels: - app.kubernetes.io/part-of: keptn - crdGroup: metrics.keptn.sh - keptn.sh/inject-cert: "true" -{{- include "common.labels.standard" ( dict "context" . ) | nindent 4 }} -spec: - group: metrics.keptn.sh - names: - kind: AnalysisDefinition - listKind: AnalysisDefinitionList - plural: analysisdefinitions - singular: analysisdefinition - scope: Namespaced - versions: - - name: v1alpha3 - schema: - openAPIV3Schema: - description: AnalysisDefinition is the Schema for the analysisdefinitions - APIs - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: AnalysisDefinitionSpec defines the desired state of AnalysisDefinition - properties: - objectives: - description: Objectives defines a list of objectives to evaluate for - an analysis - items: - description: Objective defines an objective for analysis - properties: - analysisValueTemplateRef: - description: AnalysisValueTemplateRef refers to the appropriate - AnalysisValueTemplate - properties: - name: - description: Name defines the name of the referenced object - type: string - namespace: - description: Namespace defines the namespace of the referenced - object - type: string - required: - - name - type: object - keyObjective: - default: false - description: KeyObjective defines whether the whole analysis - fails when this objective's target is not met - type: boolean - target: - description: Target defines failure or warning criteria - properties: - failure: - description: Failure defines limits up to which an analysis - fails - properties: - equalTo: - description: EqualTo represents '==' operator - properties: - fixedValue: - anyOf: - - type: integer - - type: string - description: FixedValue defines the value for comparison - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - required: - - fixedValue - type: object - greaterThan: - description: GreaterThan represents '>' operator - properties: - fixedValue: - anyOf: - - type: integer - - type: string - description: FixedValue defines the value for comparison - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - required: - - fixedValue - type: object - greaterThanOrEqual: - description: GreaterThanOrEqual represents '>=' operator - properties: - fixedValue: - anyOf: - - type: integer - - type: string - description: FixedValue defines the value for comparison - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - required: - - fixedValue - type: object - inRange: - description: InRange represents operator checking the - value is inclusively in the defined range, e.g. 2 - <= x <= 5 - properties: - highBound: - anyOf: - - type: integer - - type: string - description: HighBound defines the higher bound - of the range - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - lowBound: - anyOf: - - type: integer - - type: string - description: LowBound defines the lower bound of - the range - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - required: - - highBound - - lowBound - type: object - lessThan: - description: LessThan represents '<' operator - properties: - fixedValue: - anyOf: - - type: integer - - type: string - description: FixedValue defines the value for comparison - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - required: - - fixedValue - type: object - lessThanOrEqual: - description: LessThanOrEqual represents '<=' operator - properties: - fixedValue: - anyOf: - - type: integer - - type: string - description: FixedValue defines the value for comparison - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - required: - - fixedValue - type: object - notInRange: - description: NotInRange represents operator checking - the value is exclusively out of the defined range, - e.g. x < 2 AND x > 5 - properties: - highBound: - anyOf: - - type: integer - - type: string - description: HighBound defines the higher bound - of the range - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - lowBound: - anyOf: - - type: integer - - type: string - description: LowBound defines the lower bound of - the range - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - required: - - highBound - - lowBound - type: object - type: object - warning: - description: Warning defines limits where the result does - not pass or fail - properties: - equalTo: - description: EqualTo represents '==' operator - properties: - fixedValue: - anyOf: - - type: integer - - type: string - description: FixedValue defines the value for comparison - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - required: - - fixedValue - type: object - greaterThan: - description: GreaterThan represents '>' operator - properties: - fixedValue: - anyOf: - - type: integer - - type: string - description: FixedValue defines the value for comparison - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - required: - - fixedValue - type: object - greaterThanOrEqual: - description: GreaterThanOrEqual represents '>=' operator - properties: - fixedValue: - anyOf: - - type: integer - - type: string - description: FixedValue defines the value for comparison - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - required: - - fixedValue - type: object - inRange: - description: InRange represents operator checking the - value is inclusively in the defined range, e.g. 2 - <= x <= 5 - properties: - highBound: - anyOf: - - type: integer - - type: string - description: HighBound defines the higher bound - of the range - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - lowBound: - anyOf: - - type: integer - - type: string - description: LowBound defines the lower bound of - the range - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - required: - - highBound - - lowBound - type: object - lessThan: - description: LessThan represents '<' operator - properties: - fixedValue: - anyOf: - - type: integer - - type: string - description: FixedValue defines the value for comparison - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - required: - - fixedValue - type: object - lessThanOrEqual: - description: LessThanOrEqual represents '<=' operator - properties: - fixedValue: - anyOf: - - type: integer - - type: string - description: FixedValue defines the value for comparison - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - required: - - fixedValue - type: object - notInRange: - description: NotInRange represents operator checking - the value is exclusively out of the defined range, - e.g. x < 2 AND x > 5 - properties: - highBound: - anyOf: - - type: integer - - type: string - description: HighBound defines the higher bound - of the range - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - lowBound: - anyOf: - - type: integer - - type: string - description: LowBound defines the lower bound of - the range - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - required: - - highBound - - lowBound - type: object - type: object - type: object - weight: - default: 1 - description: Weight can be used to emphasize the importance - of one Objective over the others - type: integer - required: - - analysisValueTemplateRef - type: object - type: array - totalScore: - description: TotalScore defines the required score for an analysis - to be successful - properties: - passPercentage: - description: PassPercentage defines the threshold to reach for - an analysis to pass - maximum: 100 - minimum: 0 - type: integer - warningPercentage: - description: WarningPercentage defines the threshold to reach - for an analysis to pass with a 'warning' status - maximum: 100 - minimum: 0 - type: integer - required: - - passPercentage - - warningPercentage - type: object - required: - - totalScore - type: object - status: - description: unused field - type: string - type: object - served: true - storage: false - subresources: - status: {} - - name: v1beta1 - schema: - openAPIV3Schema: - description: AnalysisDefinition is the Schema for the analysisdefinitions - APIs - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: AnalysisDefinitionSpec defines the desired state of AnalysisDefinition - properties: - objectives: - description: Objectives defines a list of objectives to evaluate for - an analysis - items: - description: Objective defines an objective for analysis - properties: - analysisValueTemplateRef: - description: AnalysisValueTemplateRef refers to the appropriate - AnalysisValueTemplate - properties: - name: - description: Name defines the name of the referenced object - type: string - namespace: - description: Namespace defines the namespace of the referenced - object - type: string - required: - - name - type: object - keyObjective: - default: false - description: KeyObjective defines whether the whole analysis - fails when this objective's target is not met - type: boolean - target: - description: Target defines failure or warning criteria - properties: - failure: - description: Failure defines limits up to which an analysis - fails - properties: - equalTo: - description: EqualTo represents '==' operator - properties: - fixedValue: - anyOf: - - type: integer - - type: string - description: FixedValue defines the value for comparison - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - required: - - fixedValue - type: object - greaterThan: - description: GreaterThan represents '>' operator - properties: - fixedValue: - anyOf: - - type: integer - - type: string - description: FixedValue defines the value for comparison - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - required: - - fixedValue - type: object - greaterThanOrEqual: - description: GreaterThanOrEqual represents '>=' operator - properties: - fixedValue: - anyOf: - - type: integer - - type: string - description: FixedValue defines the value for comparison - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - required: - - fixedValue - type: object - inRange: - description: InRange represents operator checking the - value is inclusively in the defined range, e.g. 2 - <= x <= 5 - properties: - highBound: - anyOf: - - type: integer - - type: string - description: HighBound defines the higher bound - of the range - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - lowBound: - anyOf: - - type: integer - - type: string - description: LowBound defines the lower bound of - the range - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - required: - - highBound - - lowBound - type: object - lessThan: - description: LessThan represents '<' operator - properties: - fixedValue: - anyOf: - - type: integer - - type: string - description: FixedValue defines the value for comparison - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - required: - - fixedValue - type: object - lessThanOrEqual: - description: LessThanOrEqual represents '<=' operator - properties: - fixedValue: - anyOf: - - type: integer - - type: string - description: FixedValue defines the value for comparison - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - required: - - fixedValue - type: object - notInRange: - description: NotInRange represents operator checking - the value is exclusively out of the defined range, - e.g. x < 2 AND x > 5 - properties: - highBound: - anyOf: - - type: integer - - type: string - description: HighBound defines the higher bound - of the range - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - lowBound: - anyOf: - - type: integer - - type: string - description: LowBound defines the lower bound of - the range - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - required: - - highBound - - lowBound - type: object - type: object - warning: - description: Warning defines limits where the result does - not pass or fail - properties: - equalTo: - description: EqualTo represents '==' operator - properties: - fixedValue: - anyOf: - - type: integer - - type: string - description: FixedValue defines the value for comparison - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - required: - - fixedValue - type: object - greaterThan: - description: GreaterThan represents '>' operator - properties: - fixedValue: - anyOf: - - type: integer - - type: string - description: FixedValue defines the value for comparison - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - required: - - fixedValue - type: object - greaterThanOrEqual: - description: GreaterThanOrEqual represents '>=' operator - properties: - fixedValue: - anyOf: - - type: integer - - type: string - description: FixedValue defines the value for comparison - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - required: - - fixedValue - type: object - inRange: - description: InRange represents operator checking the - value is inclusively in the defined range, e.g. 2 - <= x <= 5 - properties: - highBound: - anyOf: - - type: integer - - type: string - description: HighBound defines the higher bound - of the range - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - lowBound: - anyOf: - - type: integer - - type: string - description: LowBound defines the lower bound of - the range - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - required: - - highBound - - lowBound - type: object - lessThan: - description: LessThan represents '<' operator - properties: - fixedValue: - anyOf: - - type: integer - - type: string - description: FixedValue defines the value for comparison - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - required: - - fixedValue - type: object - lessThanOrEqual: - description: LessThanOrEqual represents '<=' operator - properties: - fixedValue: - anyOf: - - type: integer - - type: string - description: FixedValue defines the value for comparison - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - required: - - fixedValue - type: object - notInRange: - description: NotInRange represents operator checking - the value is exclusively out of the defined range, - e.g. x < 2 AND x > 5 - properties: - highBound: - anyOf: - - type: integer - - type: string - description: HighBound defines the higher bound - of the range - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - lowBound: - anyOf: - - type: integer - - type: string - description: LowBound defines the lower bound of - the range - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - required: - - highBound - - lowBound - type: object - type: object - type: object - weight: - default: 1 - description: Weight can be used to emphasize the importance - of one Objective over the others - type: integer - required: - - analysisValueTemplateRef - type: object - type: array - totalScore: - description: TotalScore defines the required score for an analysis - to be successful - properties: - passPercentage: - description: PassPercentage defines the threshold to reach for - an analysis to pass - maximum: 100 - minimum: 0 - type: integer - warningPercentage: - description: WarningPercentage defines the threshold to reach - for an analysis to pass with a 'warning' status - maximum: 100 - minimum: 0 - type: integer - required: - - passPercentage - - warningPercentage - type: object - required: - - totalScore - type: object - status: - description: unused field - type: string - type: object - served: true - storage: true - subresources: - status: {} diff --git a/metrics-operator/chart/templates/analysisvaluetemplate-crd.yaml b/metrics-operator/chart/templates/analysisvaluetemplate-crd.yaml deleted file mode 100644 index 135a796dbc..0000000000 --- a/metrics-operator/chart/templates/analysisvaluetemplate-crd.yaml +++ /dev/null @@ -1,146 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: analysisvaluetemplates.metrics.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.14.0 - {{- with .Values.global.caInjectionAnnotations }} - {{- toYaml . | nindent 4 }} - {{- end }} - {{- include "common.annotations" ( dict "context" . ) }} - labels: - app.kubernetes.io/part-of: keptn - crdGroup: metrics.keptn.sh - keptn.sh/inject-cert: "true" -{{- include "common.labels.standard" ( dict "context" . ) | nindent 4 }} -spec: - group: metrics.keptn.sh - names: - kind: AnalysisValueTemplate - listKind: AnalysisValueTemplateList - plural: analysisvaluetemplates - singular: analysisvaluetemplate - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .spec.provider.name - name: Provider - type: string - name: v1alpha3 - schema: - openAPIV3Schema: - description: AnalysisValueTemplate is the Schema for the analysisvaluetemplates - API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Spec contains the specification for the AnalysisValueTemplate - properties: - provider: - description: Provider refers to the KeptnMetricsProvider which should - be used to retrieve the data - properties: - name: - description: Name defines the name of the referenced object - type: string - namespace: - description: Namespace defines the namespace of the referenced - object - type: string - required: - - name - type: object - query: - description: |- - Query represents the query to be run. It can include placeholders that are defined using the go template - syntax. More info on go templating - https://pkg.go.dev/text/template - type: string - required: - - provider - - query - type: object - status: - description: unused field - type: string - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .spec.provider.name - name: Provider - type: string - name: v1beta1 - schema: - openAPIV3Schema: - description: AnalysisValueTemplate is the Schema for the analysisvaluetemplates - API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Spec contains the specification for the AnalysisValueTemplate - properties: - provider: - description: Provider refers to the KeptnMetricsProvider which should - be used to retrieve the data - properties: - name: - description: Name defines the name of the referenced object - type: string - namespace: - description: Namespace defines the namespace of the referenced - object - type: string - required: - - name - type: object - query: - description: |- - Query represents the query to be run. It can include placeholders that are defined using the go template - syntax. More info on go templating - https://pkg.go.dev/text/template - type: string - required: - - provider - - query - type: object - status: - description: unused field - type: string - type: object - served: true - storage: true - subresources: - status: {} diff --git a/metrics-operator/chart/templates/keptnmetric-crd.yaml b/metrics-operator/chart/templates/keptnmetric-crd.yaml deleted file mode 100644 index c6b903423f..0000000000 --- a/metrics-operator/chart/templates/keptnmetric-crd.yaml +++ /dev/null @@ -1,534 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnmetrics.metrics.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.14.0 - {{- with .Values.global.caInjectionAnnotations }} - {{- toYaml . | nindent 4 }} - {{- end }} - {{- include "common.annotations" ( dict "context" . ) }} - labels: - app.kubernetes.io/part-of: keptn - crdGroup: metrics.keptn.sh - keptn.sh/inject-cert: "true" -{{- include "common.labels.standard" ( dict "context" . ) | nindent 4 }} -spec: - group: metrics.keptn.sh - names: - kind: KeptnMetric - listKind: KeptnMetricList - plural: keptnmetrics - singular: keptnmetric - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .spec.provider.name - name: Provider - type: string - - jsonPath: .spec.query - name: Query - type: string - - jsonPath: .status.value - name: Value - type: string - name: v1alpha1 - schema: - openAPIV3Schema: - description: KeptnMetric is the Schema for the keptnmetrics API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: KeptnMetricSpec defines the desired state of KeptnMetric - properties: - fetchIntervalSeconds: - description: FetchIntervalSeconds represents the update frequency - in seconds that is used to update the metric - type: integer - provider: - description: Provider represents the provider object - properties: - name: - description: Name of the provider - type: string - required: - - name - type: object - query: - description: Query represents the query to be run - type: string - required: - - fetchIntervalSeconds - - provider - - query - type: object - status: - description: KeptnMetricStatus defines the observed state of KeptnMetric - properties: - lastUpdated: - description: LastUpdated represents the time when the status data - was last updated - format: date-time - type: string - rawValue: - description: RawValue represents the resulting value in raw format - format: byte - type: string - value: - description: Value represents the resulting value - type: string - required: - - lastUpdated - - rawValue - - value - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .spec.provider.name - name: Provider - type: string - - jsonPath: .spec.query - name: Query - type: string - - jsonPath: .status.value - name: Value - type: string - name: v1alpha2 - schema: - openAPIV3Schema: - description: KeptnMetric is the Schema for the keptnmetrics API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: KeptnMetricSpec defines the desired state of KeptnMetric - properties: - fetchIntervalSeconds: - description: FetchIntervalSeconds represents the update frequency - in seconds that is used to update the metric - type: integer - provider: - description: Provider represents the provider object - properties: - name: - description: Name of the provider - type: string - required: - - name - type: object - query: - description: Query represents the query to be run - type: string - required: - - fetchIntervalSeconds - - provider - - query - type: object - status: - description: KeptnMetricStatus defines the observed state of KeptnMetric - properties: - lastUpdated: - description: LastUpdated represents the time when the status data - was last updated - format: date-time - type: string - rawValue: - description: RawValue represents the resulting value in raw format - format: byte - type: string - value: - description: Value represents the resulting value - type: string - required: - - lastUpdated - - rawValue - - value - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .spec.provider.name - name: Provider - type: string - - jsonPath: .spec.query - name: Query - type: string - - jsonPath: .spec.range.interval - name: Interval - type: string - - jsonPath: .status.value - name: Value - type: string - name: v1alpha3 - schema: - openAPIV3Schema: - description: KeptnMetric is the Schema for the keptnmetrics API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: KeptnMetricSpec defines the desired state of KeptnMetric - properties: - fetchIntervalSeconds: - description: FetchIntervalSeconds represents the update frequency - in seconds that is used to update the metric - type: integer - provider: - description: Provider represents the provider object - properties: - name: - description: Name of the provider - type: string - required: - - name - type: object - query: - description: Query represents the query to be run - type: string - range: - description: Range represents the time range for which data is to - be queried - properties: - aggregation: - description: 'Aggregation defines the type of aggregation function - to be applied on the data. Accepted values: p90, p95, p99, max, - min, avg, median' - enum: - - p90 - - p95 - - p99 - - max - - min - - avg - - median - type: string - interval: - default: 5m - description: Interval specifies the duration of the time interval - for the data query - type: string - step: - description: Step represents the query resolution step width for - the data query - type: string - storedResults: - description: StoredResults indicates the upper limit of how many - past results should be stored in the status of a KeptnMetric - maximum: 255 - type: integer - type: object - required: - - fetchIntervalSeconds - - provider - - query - type: object - status: - description: KeptnMetricStatus defines the observed state of KeptnMetric - properties: - errMsg: - description: ErrMsg represents the error details when the query could - not be evaluated - type: string - intervalResults: - description: IntervalResults contain a slice of all the interval results - items: - properties: - errMsg: - description: ErrMsg represents the error details when the query - could not be evaluated - type: string - lastUpdated: - description: LastUpdated represents the time when the status - data was last updated - format: date-time - type: string - range: - description: Range represents the time range for which this - data was queried - properties: - aggregation: - description: 'Aggregation defines the type of aggregation - function to be applied on the data. Accepted values: p90, - p95, p99, max, min, avg, median' - enum: - - p90 - - p95 - - p99 - - max - - min - - avg - - median - type: string - interval: - default: 5m - description: Interval specifies the duration of the time - interval for the data query - type: string - step: - description: Step represents the query resolution step width - for the data query - type: string - storedResults: - description: StoredResults indicates the upper limit of - how many past results should be stored in the status of - a KeptnMetric - maximum: 255 - type: integer - type: object - value: - description: Value represents the resulting value - type: string - required: - - lastUpdated - - range - - value - type: object - type: array - lastUpdated: - description: LastUpdated represents the time when the status data - was last updated - format: date-time - type: string - rawValue: - description: RawValue represents the resulting value in raw format - format: byte - type: string - value: - description: Value represents the resulting value - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .spec.provider.name - name: Provider - type: string - - jsonPath: .spec.query - name: Query - type: string - - jsonPath: .spec.range.interval - name: Interval - type: string - - jsonPath: .status.value - name: Value - type: string - - jsonPath: .spec.range.step - name: Step - type: string - - jsonPath: .spec.range.aggregation - name: Aggregation - type: string - name: v1beta1 - schema: - openAPIV3Schema: - description: KeptnMetric is the Schema for the keptnmetrics API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: KeptnMetricSpec defines the desired state of KeptnMetric - properties: - fetchIntervalSeconds: - description: FetchIntervalSeconds represents the update frequency - in seconds that is used to update the metric - type: integer - provider: - description: Provider represents the provider object - properties: - name: - description: Name of the provider - type: string - required: - - name - type: object - query: - description: Query represents the query to be run - type: string - range: - description: Range represents the time range for which data is to - be queried - properties: - aggregation: - description: 'Aggregation defines the type of aggregation function - to be applied on the data. Accepted values: p90, p95, p99, max, - min, avg, median' - enum: - - p90 - - p95 - - p99 - - max - - min - - avg - - median - type: string - interval: - default: 5m - description: Interval specifies the duration of the time interval - for the data query - type: string - step: - description: Step represents the query resolution step width for - the data query - type: string - storedResults: - description: StoredResults indicates the upper limit of how many - past results should be stored in the status of a KeptnMetric - maximum: 255 - type: integer - type: object - required: - - fetchIntervalSeconds - - provider - - query - type: object - status: - description: KeptnMetricStatus defines the observed state of KeptnMetric - properties: - errMsg: - description: ErrMsg represents the error details when the query could - not be evaluated - type: string - intervalResults: - description: IntervalResults contain a slice of all the interval results - items: - properties: - errMsg: - description: ErrMsg represents the error details when the query - could not be evaluated - type: string - lastUpdated: - description: LastUpdated represents the time when the status - data was last updated - format: date-time - type: string - range: - description: Range represents the time range for which this - data was queried - properties: - aggregation: - description: 'Aggregation defines the type of aggregation - function to be applied on the data. Accepted values: p90, - p95, p99, max, min, avg, median' - enum: - - p90 - - p95 - - p99 - - max - - min - - avg - - median - type: string - interval: - default: 5m - description: Interval specifies the duration of the time - interval for the data query - type: string - step: - description: Step represents the query resolution step width - for the data query - type: string - storedResults: - description: StoredResults indicates the upper limit of - how many past results should be stored in the status of - a KeptnMetric - maximum: 255 - type: integer - type: object - value: - description: Value represents the resulting value - type: string - required: - - lastUpdated - - range - - value - type: object - type: array - lastUpdated: - description: LastUpdated represents the time when the status data - was last updated - format: date-time - type: string - rawValue: - description: RawValue represents the resulting value in raw format - format: byte - type: string - value: - description: Value represents the resulting value - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} diff --git a/metrics-operator/chart/templates/keptnmetricsprovider-crd.yaml b/metrics-operator/chart/templates/keptnmetricsprovider-crd.yaml deleted file mode 100644 index d7d21c6c9d..0000000000 --- a/metrics-operator/chart/templates/keptnmetricsprovider-crd.yaml +++ /dev/null @@ -1,219 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnmetricsproviders.metrics.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.14.0 - {{- with .Values.global.caInjectionAnnotations }} - {{- toYaml . | nindent 4 }} - {{- end }} - {{- include "common.annotations" ( dict "context" . ) }} - labels: - app.kubernetes.io/part-of: keptn - crdGroup: metrics.keptn.sh - keptn.sh/inject-cert: "true" -{{- include "common.labels.standard" ( dict "context" . ) | nindent 4 }} -spec: - group: metrics.keptn.sh - names: - kind: KeptnMetricsProvider - listKind: KeptnMetricsProviderList - plural: keptnmetricsproviders - shortNames: - - kmp - singular: keptnmetricsprovider - scope: Namespaced - versions: - - name: v1alpha2 - schema: - openAPIV3Schema: - description: KeptnMetricsProvider is the Schema for the keptnmetricsproviders - API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: KeptnMetricsProviderSpec defines the desired state of KeptnMetricsProvider - properties: - secretKeyRef: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must be a - valid secret key. - type: string - name: - description: |- - Name of the referent. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid? - type: string - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - targetServer: - type: string - required: - - targetServer - type: object - status: - description: unused field - type: string - type: object - served: true - storage: false - subresources: - status: {} - - name: v1alpha3 - schema: - openAPIV3Schema: - description: KeptnMetricsProvider is the Schema for the keptnmetricsproviders - API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: KeptnMetricsProviderSpec defines the desired state of KeptnMetricsProvider - properties: - secretKeyRef: - description: SecretKeyRef defines an optional secret for access credentials - to the metrics provider. - properties: - key: - description: The key of the secret to select from. Must be a - valid secret key. - type: string - name: - description: |- - Name of the referent. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid? - type: string - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - targetServer: - description: TargetServer defined the URL at which the metrics provider - is reachable with included port and protocol. - type: string - type: - description: Type represents the provider type. This can be one of - prometheus, dynatrace, datadog, dql. - pattern: prometheus|dynatrace|datadog|dql - type: string - required: - - targetServer - type: object - status: - description: unused field - type: string - type: object - served: true - storage: false - subresources: - status: {} - - name: v1beta1 - schema: - openAPIV3Schema: - description: KeptnMetricsProvider is the Schema for the keptnmetricsproviders - API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: KeptnMetricsProviderSpec defines the desired state of KeptnMetricsProvider - properties: - secretKeyRef: - description: SecretKeyRef defines an optional secret for access credentials - to the metrics provider. - properties: - key: - description: The key of the secret to select from. Must be a - valid secret key. - type: string - name: - description: |- - Name of the referent. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid? - type: string - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - targetServer: - description: TargetServer defines URL (including port and protocol) - at which the metrics provider is reachable. - type: string - type: - description: Type represents the provider type. This can be one of - prometheus, dynatrace, datadog, dql. - pattern: prometheus|dynatrace|datadog|dql - type: string - required: - - targetServer - type: object - status: - description: unused field - type: string - type: object - served: true - storage: true - subresources: - status: {} diff --git a/metrics-operator/chart/templates/metricsOperator-crd.yaml b/metrics-operator/chart/templates/metricsOperator-crd.yaml new file mode 100644 index 0000000000..4b2a6ff287 --- /dev/null +++ b/metrics-operator/chart/templates/metricsOperator-crd.yaml @@ -0,0 +1,1950 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + cert-manager.io/inject-ca-from: '{{ .Release.Namespace }}/keptn-certs' + {{- with .Values.global.caInjectionAnnotations }} + {{- toYaml . | nindent 4 }} + {{- end }} + {{- include "common.annotations" ( dict "context" . ) }} + labels: + app.kubernetes.io/part-of: keptn + crdGroup: metrics.keptn.sh + keptn.sh/inject-cert: "true" +{{- include "common.labels.standard" (dict "context" .) | nindent 4 }} + name: analyses.metrics.keptn.sh +spec: + group: metrics.keptn.sh + names: + kind: Analysis + listKind: AnalysisList + plural: analyses + singular: analysis + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .spec.analysisDefinition.name + name: AnalysisDefinition + type: string + - jsonPath: .status.state + name: State + type: string + - jsonPath: .status.warning + name: Warning + type: string + - jsonPath: .status.pass + name: Pass + type: string + name: v1alpha3 + schema: + openAPIV3Schema: + description: Analysis is the Schema for the analyses API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: AnalysisSpec defines the desired state of Analysis + properties: + analysisDefinition: + description: AnalysisDefinition refers to the AnalysisDefinition, + a CRD that stores the AnalysisValuesTemplates + properties: + name: + description: Name defines the name of the referenced object + type: string + namespace: + description: Namespace defines the namespace of the referenced + object + type: string + required: + - name + type: object + args: + additionalProperties: + type: string + description: Args corresponds to a map of key/value pairs that can + be used to substitute placeholders in the AnalysisValueTemplate + query. i.e. for args foo:bar the query could be "query:percentile(95)?scope=tag(my_foo_label:{{.foo}})". + type: object + timeframe: + description: |- + Timeframe specifies the range for the corresponding query in the AnalysisValueTemplate. Please note that either + a combination of 'from' and 'to' or the 'recent' property may be set. If neither is set, the Analysis can + not be added to the cluster. + properties: + from: + description: From is the time of start for the query. This field + follows RFC3339 time format + format: date-time + type: string + recent: + description: |- + Recent describes a recent timeframe using a duration string. E.g. Setting this to '5m' provides an Analysis + for the last five minutes + pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ + type: string + to: + description: To is the time of end for the query. This field follows + RFC3339 time format + format: date-time + type: string + type: object + required: + - analysisDefinition + - timeframe + type: object + status: + description: AnalysisStatus stores the status of the overall analysis + returns also pass or warnings + properties: + pass: + description: Pass returns whether the SLO is satisfied + type: boolean + raw: + description: Raw contains the raw result of the SLO computation + type: string + state: + description: State describes the current state of the Analysis (Pending/Progressing/Completed) + type: string + storedValues: + additionalProperties: + description: ProviderResult stores reference of already collected + provider query associated to its objective template + properties: + errMsg: + description: ErrMsg stores any possible error at retrieval time + type: string + objectiveReference: + description: Objective store reference to corresponding objective + template + properties: + name: + description: Name defines the name of the referenced object + type: string + namespace: + description: Namespace defines the namespace of the referenced + object + type: string + required: + - name + type: object + query: + description: Query represents the executed query + type: string + value: + description: Value is the value the provider returned + type: string + type: object + description: StoredValues contains all analysis values that have already + been retrieved successfully + type: object + timeframe: + description: Timeframe describes the time frame which is evaluated + by the Analysis + properties: + from: + description: From is the time of start for the query. This field + follows RFC3339 time format + format: date-time + type: string + recent: + description: |- + Recent describes a recent timeframe using a duration string. E.g. Setting this to '5m' provides an Analysis + for the last five minutes + pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ + type: string + to: + description: To is the time of end for the query. This field follows + RFC3339 time format + format: date-time + type: string + type: object + warning: + description: Warning returns whether the analysis returned a warning + type: boolean + required: + - state + - timeframe + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .spec.analysisDefinition.name + name: AnalysisDefinition + type: string + - jsonPath: .status.state + name: State + type: string + - jsonPath: .status.warning + name: Warning + type: string + - jsonPath: .status.pass + name: Pass + type: string + name: v1beta1 + schema: + openAPIV3Schema: + description: Analysis is the Schema for the analyses API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: AnalysisSpec defines the desired state of Analysis + properties: + analysisDefinition: + description: AnalysisDefinition refers to the AnalysisDefinition, + a CRD that stores the AnalysisValuesTemplates + properties: + name: + description: Name defines the name of the referenced object + type: string + namespace: + description: Namespace defines the namespace of the referenced + object + type: string + required: + - name + type: object + args: + additionalProperties: + type: string + description: Args corresponds to a map of key/value pairs that can + be used to substitute placeholders in the AnalysisValueTemplate + query. i.e. for args foo:bar the query could be "query:percentile(95)?scope=tag(my_foo_label:{{.foo}})". + type: object + timeframe: + description: |- + Timeframe specifies the range for the corresponding query in the AnalysisValueTemplate. Please note that either + a combination of 'from' and 'to' or the 'recent' property may be set. If neither is set, the Analysis can + not be added to the cluster. + properties: + from: + description: From is the time of start for the query. This field + follows RFC3339 time format + format: date-time + type: string + recent: + description: |- + Recent describes a recent timeframe using a duration string. E.g. Setting this to '5m' provides an Analysis + for the last five minutes + pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ + type: string + to: + description: To is the time of end for the query. This field follows + RFC3339 time format + format: date-time + type: string + type: object + required: + - analysisDefinition + - timeframe + type: object + status: + description: AnalysisStatus stores the status of the overall analysis + returns also pass or warnings + properties: + pass: + description: Pass returns whether the SLO is satisfied + type: boolean + raw: + description: Raw contains the raw result of the SLO computation + type: string + state: + description: State describes the current state of the Analysis (Pending/Progressing/Completed) + type: string + storedValues: + additionalProperties: + description: ProviderResult stores reference of already collected + provider query associated to its objective template + properties: + errMsg: + description: ErrMsg stores any possible error at retrieval time + type: string + objectiveReference: + description: Objective store reference to corresponding objective + template + properties: + name: + description: Name defines the name of the referenced object + type: string + namespace: + description: Namespace defines the namespace of the referenced + object + type: string + required: + - name + type: object + query: + description: Query represents the executed query + type: string + value: + description: Value is the value the provider returned + type: string + type: object + description: StoredValues contains all analysis values that have already + been retrieved successfully + type: object + timeframe: + description: Timeframe describes the time frame which is evaluated + by the Analysis + properties: + from: + description: From is the time of start for the query. This field + follows RFC3339 time format + format: date-time + type: string + recent: + description: |- + Recent describes a recent timeframe using a duration string. E.g. Setting this to '5m' provides an Analysis + for the last five minutes + pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ + type: string + to: + description: To is the time of end for the query. This field follows + RFC3339 time format + format: date-time + type: string + type: object + warning: + description: Warning returns whether the analysis returned a warning + type: boolean + required: + - state + - timeframe + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + {{- with .Values.global.caInjectionAnnotations }} + {{- toYaml . | nindent 4 }} + {{- end }} + {{- include "common.annotations" ( dict "context" . ) }} + labels: + app.kubernetes.io/part-of: keptn + crdGroup: metrics.keptn.sh + keptn.sh/inject-cert: "true" +{{- include "common.labels.standard" (dict "context" .) | nindent 4 }} + name: analysisdefinitions.metrics.keptn.sh +spec: + group: metrics.keptn.sh + names: + kind: AnalysisDefinition + listKind: AnalysisDefinitionList + plural: analysisdefinitions + singular: analysisdefinition + scope: Namespaced + versions: + - name: v1alpha3 + schema: + openAPIV3Schema: + description: AnalysisDefinition is the Schema for the analysisdefinitions + APIs + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: AnalysisDefinitionSpec defines the desired state of AnalysisDefinition + properties: + objectives: + description: Objectives defines a list of objectives to evaluate for + an analysis + items: + description: Objective defines an objective for analysis + properties: + analysisValueTemplateRef: + description: AnalysisValueTemplateRef refers to the appropriate + AnalysisValueTemplate + properties: + name: + description: Name defines the name of the referenced object + type: string + namespace: + description: Namespace defines the namespace of the referenced + object + type: string + required: + - name + type: object + keyObjective: + default: false + description: KeyObjective defines whether the whole analysis + fails when this objective's target is not met + type: boolean + target: + description: Target defines failure or warning criteria + properties: + failure: + description: Failure defines limits up to which an analysis + fails + properties: + equalTo: + description: EqualTo represents '==' operator + properties: + fixedValue: + anyOf: + - type: integer + - type: string + description: FixedValue defines the value for comparison + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + required: + - fixedValue + type: object + greaterThan: + description: GreaterThan represents '>' operator + properties: + fixedValue: + anyOf: + - type: integer + - type: string + description: FixedValue defines the value for comparison + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + required: + - fixedValue + type: object + greaterThanOrEqual: + description: GreaterThanOrEqual represents '>=' operator + properties: + fixedValue: + anyOf: + - type: integer + - type: string + description: FixedValue defines the value for comparison + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + required: + - fixedValue + type: object + inRange: + description: InRange represents operator checking the + value is inclusively in the defined range, e.g. 2 + <= x <= 5 + properties: + highBound: + anyOf: + - type: integer + - type: string + description: HighBound defines the higher bound + of the range + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + lowBound: + anyOf: + - type: integer + - type: string + description: LowBound defines the lower bound of + the range + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + required: + - highBound + - lowBound + type: object + lessThan: + description: LessThan represents '<' operator + properties: + fixedValue: + anyOf: + - type: integer + - type: string + description: FixedValue defines the value for comparison + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + required: + - fixedValue + type: object + lessThanOrEqual: + description: LessThanOrEqual represents '<=' operator + properties: + fixedValue: + anyOf: + - type: integer + - type: string + description: FixedValue defines the value for comparison + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + required: + - fixedValue + type: object + notInRange: + description: NotInRange represents operator checking + the value is exclusively out of the defined range, + e.g. x < 2 AND x > 5 + properties: + highBound: + anyOf: + - type: integer + - type: string + description: HighBound defines the higher bound + of the range + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + lowBound: + anyOf: + - type: integer + - type: string + description: LowBound defines the lower bound of + the range + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + required: + - highBound + - lowBound + type: object + type: object + warning: + description: Warning defines limits where the result does + not pass or fail + properties: + equalTo: + description: EqualTo represents '==' operator + properties: + fixedValue: + anyOf: + - type: integer + - type: string + description: FixedValue defines the value for comparison + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + required: + - fixedValue + type: object + greaterThan: + description: GreaterThan represents '>' operator + properties: + fixedValue: + anyOf: + - type: integer + - type: string + description: FixedValue defines the value for comparison + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + required: + - fixedValue + type: object + greaterThanOrEqual: + description: GreaterThanOrEqual represents '>=' operator + properties: + fixedValue: + anyOf: + - type: integer + - type: string + description: FixedValue defines the value for comparison + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + required: + - fixedValue + type: object + inRange: + description: InRange represents operator checking the + value is inclusively in the defined range, e.g. 2 + <= x <= 5 + properties: + highBound: + anyOf: + - type: integer + - type: string + description: HighBound defines the higher bound + of the range + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + lowBound: + anyOf: + - type: integer + - type: string + description: LowBound defines the lower bound of + the range + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + required: + - highBound + - lowBound + type: object + lessThan: + description: LessThan represents '<' operator + properties: + fixedValue: + anyOf: + - type: integer + - type: string + description: FixedValue defines the value for comparison + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + required: + - fixedValue + type: object + lessThanOrEqual: + description: LessThanOrEqual represents '<=' operator + properties: + fixedValue: + anyOf: + - type: integer + - type: string + description: FixedValue defines the value for comparison + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + required: + - fixedValue + type: object + notInRange: + description: NotInRange represents operator checking + the value is exclusively out of the defined range, + e.g. x < 2 AND x > 5 + properties: + highBound: + anyOf: + - type: integer + - type: string + description: HighBound defines the higher bound + of the range + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + lowBound: + anyOf: + - type: integer + - type: string + description: LowBound defines the lower bound of + the range + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + required: + - highBound + - lowBound + type: object + type: object + type: object + weight: + default: 1 + description: Weight can be used to emphasize the importance + of one Objective over the others + type: integer + required: + - analysisValueTemplateRef + type: object + type: array + totalScore: + description: TotalScore defines the required score for an analysis + to be successful + properties: + passPercentage: + description: PassPercentage defines the threshold to reach for + an analysis to pass + maximum: 100 + minimum: 0 + type: integer + warningPercentage: + description: WarningPercentage defines the threshold to reach + for an analysis to pass with a 'warning' status + maximum: 100 + minimum: 0 + type: integer + required: + - passPercentage + - warningPercentage + type: object + required: + - totalScore + type: object + status: + description: unused field + type: string + type: object + served: true + storage: false + subresources: + status: {} + - name: v1beta1 + schema: + openAPIV3Schema: + description: AnalysisDefinition is the Schema for the analysisdefinitions + APIs + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: AnalysisDefinitionSpec defines the desired state of AnalysisDefinition + properties: + objectives: + description: Objectives defines a list of objectives to evaluate for + an analysis + items: + description: Objective defines an objective for analysis + properties: + analysisValueTemplateRef: + description: AnalysisValueTemplateRef refers to the appropriate + AnalysisValueTemplate + properties: + name: + description: Name defines the name of the referenced object + type: string + namespace: + description: Namespace defines the namespace of the referenced + object + type: string + required: + - name + type: object + keyObjective: + default: false + description: KeyObjective defines whether the whole analysis + fails when this objective's target is not met + type: boolean + target: + description: Target defines failure or warning criteria + properties: + failure: + description: Failure defines limits up to which an analysis + fails + properties: + equalTo: + description: EqualTo represents '==' operator + properties: + fixedValue: + anyOf: + - type: integer + - type: string + description: FixedValue defines the value for comparison + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + required: + - fixedValue + type: object + greaterThan: + description: GreaterThan represents '>' operator + properties: + fixedValue: + anyOf: + - type: integer + - type: string + description: FixedValue defines the value for comparison + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + required: + - fixedValue + type: object + greaterThanOrEqual: + description: GreaterThanOrEqual represents '>=' operator + properties: + fixedValue: + anyOf: + - type: integer + - type: string + description: FixedValue defines the value for comparison + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + required: + - fixedValue + type: object + inRange: + description: InRange represents operator checking the + value is inclusively in the defined range, e.g. 2 + <= x <= 5 + properties: + highBound: + anyOf: + - type: integer + - type: string + description: HighBound defines the higher bound + of the range + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + lowBound: + anyOf: + - type: integer + - type: string + description: LowBound defines the lower bound of + the range + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + required: + - highBound + - lowBound + type: object + lessThan: + description: LessThan represents '<' operator + properties: + fixedValue: + anyOf: + - type: integer + - type: string + description: FixedValue defines the value for comparison + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + required: + - fixedValue + type: object + lessThanOrEqual: + description: LessThanOrEqual represents '<=' operator + properties: + fixedValue: + anyOf: + - type: integer + - type: string + description: FixedValue defines the value for comparison + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + required: + - fixedValue + type: object + notInRange: + description: NotInRange represents operator checking + the value is exclusively out of the defined range, + e.g. x < 2 AND x > 5 + properties: + highBound: + anyOf: + - type: integer + - type: string + description: HighBound defines the higher bound + of the range + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + lowBound: + anyOf: + - type: integer + - type: string + description: LowBound defines the lower bound of + the range + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + required: + - highBound + - lowBound + type: object + type: object + warning: + description: Warning defines limits where the result does + not pass or fail + properties: + equalTo: + description: EqualTo represents '==' operator + properties: + fixedValue: + anyOf: + - type: integer + - type: string + description: FixedValue defines the value for comparison + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + required: + - fixedValue + type: object + greaterThan: + description: GreaterThan represents '>' operator + properties: + fixedValue: + anyOf: + - type: integer + - type: string + description: FixedValue defines the value for comparison + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + required: + - fixedValue + type: object + greaterThanOrEqual: + description: GreaterThanOrEqual represents '>=' operator + properties: + fixedValue: + anyOf: + - type: integer + - type: string + description: FixedValue defines the value for comparison + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + required: + - fixedValue + type: object + inRange: + description: InRange represents operator checking the + value is inclusively in the defined range, e.g. 2 + <= x <= 5 + properties: + highBound: + anyOf: + - type: integer + - type: string + description: HighBound defines the higher bound + of the range + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + lowBound: + anyOf: + - type: integer + - type: string + description: LowBound defines the lower bound of + the range + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + required: + - highBound + - lowBound + type: object + lessThan: + description: LessThan represents '<' operator + properties: + fixedValue: + anyOf: + - type: integer + - type: string + description: FixedValue defines the value for comparison + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + required: + - fixedValue + type: object + lessThanOrEqual: + description: LessThanOrEqual represents '<=' operator + properties: + fixedValue: + anyOf: + - type: integer + - type: string + description: FixedValue defines the value for comparison + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + required: + - fixedValue + type: object + notInRange: + description: NotInRange represents operator checking + the value is exclusively out of the defined range, + e.g. x < 2 AND x > 5 + properties: + highBound: + anyOf: + - type: integer + - type: string + description: HighBound defines the higher bound + of the range + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + lowBound: + anyOf: + - type: integer + - type: string + description: LowBound defines the lower bound of + the range + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + required: + - highBound + - lowBound + type: object + type: object + type: object + weight: + default: 1 + description: Weight can be used to emphasize the importance + of one Objective over the others + type: integer + required: + - analysisValueTemplateRef + type: object + type: array + totalScore: + description: TotalScore defines the required score for an analysis + to be successful + properties: + passPercentage: + description: PassPercentage defines the threshold to reach for + an analysis to pass + maximum: 100 + minimum: 0 + type: integer + warningPercentage: + description: WarningPercentage defines the threshold to reach + for an analysis to pass with a 'warning' status + maximum: 100 + minimum: 0 + type: integer + required: + - passPercentage + - warningPercentage + type: object + required: + - totalScore + type: object + status: + description: unused field + type: string + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + {{- with .Values.global.caInjectionAnnotations }} + {{- toYaml . | nindent 4 }} + {{- end }} + {{- include "common.annotations" ( dict "context" . ) }} + labels: + app.kubernetes.io/part-of: keptn + crdGroup: metrics.keptn.sh + keptn.sh/inject-cert: "true" +{{- include "common.labels.standard" (dict "context" .) | nindent 4 }} + name: analysisvaluetemplates.metrics.keptn.sh +spec: + group: metrics.keptn.sh + names: + kind: AnalysisValueTemplate + listKind: AnalysisValueTemplateList + plural: analysisvaluetemplates + singular: analysisvaluetemplate + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .spec.provider.name + name: Provider + type: string + name: v1alpha3 + schema: + openAPIV3Schema: + description: AnalysisValueTemplate is the Schema for the analysisvaluetemplates + API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Spec contains the specification for the AnalysisValueTemplate + properties: + provider: + description: Provider refers to the KeptnMetricsProvider which should + be used to retrieve the data + properties: + name: + description: Name defines the name of the referenced object + type: string + namespace: + description: Namespace defines the namespace of the referenced + object + type: string + required: + - name + type: object + query: + description: |- + Query represents the query to be run. It can include placeholders that are defined using the go template + syntax. More info on go templating - https://pkg.go.dev/text/template + type: string + required: + - provider + - query + type: object + status: + description: unused field + type: string + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .spec.provider.name + name: Provider + type: string + name: v1beta1 + schema: + openAPIV3Schema: + description: AnalysisValueTemplate is the Schema for the analysisvaluetemplates + API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Spec contains the specification for the AnalysisValueTemplate + properties: + provider: + description: Provider refers to the KeptnMetricsProvider which should + be used to retrieve the data + properties: + name: + description: Name defines the name of the referenced object + type: string + namespace: + description: Namespace defines the namespace of the referenced + object + type: string + required: + - name + type: object + query: + description: |- + Query represents the query to be run. It can include placeholders that are defined using the go template + syntax. More info on go templating - https://pkg.go.dev/text/template + type: string + required: + - provider + - query + type: object + status: + description: unused field + type: string + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + {{- with .Values.global.caInjectionAnnotations }} + {{- toYaml . | nindent 4 }} + {{- end }} + {{- include "common.annotations" ( dict "context" . ) }} + labels: + app.kubernetes.io/part-of: keptn + crdGroup: metrics.keptn.sh + keptn.sh/inject-cert: "true" +{{- include "common.labels.standard" (dict "context" .) | nindent 4 }} + name: keptnmetrics.metrics.keptn.sh +spec: + group: metrics.keptn.sh + names: + kind: KeptnMetric + listKind: KeptnMetricList + plural: keptnmetrics + singular: keptnmetric + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .spec.provider.name + name: Provider + type: string + - jsonPath: .spec.query + name: Query + type: string + - jsonPath: .status.value + name: Value + type: string + name: v1alpha1 + schema: + openAPIV3Schema: + description: KeptnMetric is the Schema for the keptnmetrics API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: KeptnMetricSpec defines the desired state of KeptnMetric + properties: + fetchIntervalSeconds: + description: FetchIntervalSeconds represents the update frequency + in seconds that is used to update the metric + type: integer + provider: + description: Provider represents the provider object + properties: + name: + description: Name of the provider + type: string + required: + - name + type: object + query: + description: Query represents the query to be run + type: string + required: + - fetchIntervalSeconds + - provider + - query + type: object + status: + description: KeptnMetricStatus defines the observed state of KeptnMetric + properties: + lastUpdated: + description: LastUpdated represents the time when the status data + was last updated + format: date-time + type: string + rawValue: + description: RawValue represents the resulting value in raw format + format: byte + type: string + value: + description: Value represents the resulting value + type: string + required: + - lastUpdated + - rawValue + - value + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .spec.provider.name + name: Provider + type: string + - jsonPath: .spec.query + name: Query + type: string + - jsonPath: .status.value + name: Value + type: string + name: v1alpha2 + schema: + openAPIV3Schema: + description: KeptnMetric is the Schema for the keptnmetrics API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: KeptnMetricSpec defines the desired state of KeptnMetric + properties: + fetchIntervalSeconds: + description: FetchIntervalSeconds represents the update frequency + in seconds that is used to update the metric + type: integer + provider: + description: Provider represents the provider object + properties: + name: + description: Name of the provider + type: string + required: + - name + type: object + query: + description: Query represents the query to be run + type: string + required: + - fetchIntervalSeconds + - provider + - query + type: object + status: + description: KeptnMetricStatus defines the observed state of KeptnMetric + properties: + lastUpdated: + description: LastUpdated represents the time when the status data + was last updated + format: date-time + type: string + rawValue: + description: RawValue represents the resulting value in raw format + format: byte + type: string + value: + description: Value represents the resulting value + type: string + required: + - lastUpdated + - rawValue + - value + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .spec.provider.name + name: Provider + type: string + - jsonPath: .spec.query + name: Query + type: string + - jsonPath: .spec.range.interval + name: Interval + type: string + - jsonPath: .status.value + name: Value + type: string + name: v1alpha3 + schema: + openAPIV3Schema: + description: KeptnMetric is the Schema for the keptnmetrics API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: KeptnMetricSpec defines the desired state of KeptnMetric + properties: + fetchIntervalSeconds: + description: FetchIntervalSeconds represents the update frequency + in seconds that is used to update the metric + type: integer + provider: + description: Provider represents the provider object + properties: + name: + description: Name of the provider + type: string + required: + - name + type: object + query: + description: Query represents the query to be run + type: string + range: + description: Range represents the time range for which data is to + be queried + properties: + aggregation: + description: 'Aggregation defines the type of aggregation function + to be applied on the data. Accepted values: p90, p95, p99, max, + min, avg, median' + enum: + - p90 + - p95 + - p99 + - max + - min + - avg + - median + type: string + interval: + default: 5m + description: Interval specifies the duration of the time interval + for the data query + type: string + step: + description: Step represents the query resolution step width for + the data query + type: string + storedResults: + description: StoredResults indicates the upper limit of how many + past results should be stored in the status of a KeptnMetric + maximum: 255 + type: integer + type: object + required: + - fetchIntervalSeconds + - provider + - query + type: object + status: + description: KeptnMetricStatus defines the observed state of KeptnMetric + properties: + errMsg: + description: ErrMsg represents the error details when the query could + not be evaluated + type: string + intervalResults: + description: IntervalResults contain a slice of all the interval results + items: + properties: + errMsg: + description: ErrMsg represents the error details when the query + could not be evaluated + type: string + lastUpdated: + description: LastUpdated represents the time when the status + data was last updated + format: date-time + type: string + range: + description: Range represents the time range for which this + data was queried + properties: + aggregation: + description: 'Aggregation defines the type of aggregation + function to be applied on the data. Accepted values: p90, + p95, p99, max, min, avg, median' + enum: + - p90 + - p95 + - p99 + - max + - min + - avg + - median + type: string + interval: + default: 5m + description: Interval specifies the duration of the time + interval for the data query + type: string + step: + description: Step represents the query resolution step width + for the data query + type: string + storedResults: + description: StoredResults indicates the upper limit of + how many past results should be stored in the status of + a KeptnMetric + maximum: 255 + type: integer + type: object + value: + description: Value represents the resulting value + type: string + required: + - lastUpdated + - range + - value + type: object + type: array + lastUpdated: + description: LastUpdated represents the time when the status data + was last updated + format: date-time + type: string + rawValue: + description: RawValue represents the resulting value in raw format + format: byte + type: string + value: + description: Value represents the resulting value + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .spec.provider.name + name: Provider + type: string + - jsonPath: .spec.query + name: Query + type: string + - jsonPath: .spec.range.interval + name: Interval + type: string + - jsonPath: .status.value + name: Value + type: string + - jsonPath: .spec.range.step + name: Step + type: string + - jsonPath: .spec.range.aggregation + name: Aggregation + type: string + name: v1beta1 + schema: + openAPIV3Schema: + description: KeptnMetric is the Schema for the keptnmetrics API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: KeptnMetricSpec defines the desired state of KeptnMetric + properties: + fetchIntervalSeconds: + description: FetchIntervalSeconds represents the update frequency + in seconds that is used to update the metric + type: integer + provider: + description: Provider represents the provider object + properties: + name: + description: Name of the provider + type: string + required: + - name + type: object + query: + description: Query represents the query to be run + type: string + range: + description: Range represents the time range for which data is to + be queried + properties: + aggregation: + description: 'Aggregation defines the type of aggregation function + to be applied on the data. Accepted values: p90, p95, p99, max, + min, avg, median' + enum: + - p90 + - p95 + - p99 + - max + - min + - avg + - median + type: string + interval: + default: 5m + description: Interval specifies the duration of the time interval + for the data query + type: string + step: + description: Step represents the query resolution step width for + the data query + type: string + storedResults: + description: StoredResults indicates the upper limit of how many + past results should be stored in the status of a KeptnMetric + maximum: 255 + type: integer + type: object + required: + - fetchIntervalSeconds + - provider + - query + type: object + status: + description: KeptnMetricStatus defines the observed state of KeptnMetric + properties: + errMsg: + description: ErrMsg represents the error details when the query could + not be evaluated + type: string + intervalResults: + description: IntervalResults contain a slice of all the interval results + items: + properties: + errMsg: + description: ErrMsg represents the error details when the query + could not be evaluated + type: string + lastUpdated: + description: LastUpdated represents the time when the status + data was last updated + format: date-time + type: string + range: + description: Range represents the time range for which this + data was queried + properties: + aggregation: + description: 'Aggregation defines the type of aggregation + function to be applied on the data. Accepted values: p90, + p95, p99, max, min, avg, median' + enum: + - p90 + - p95 + - p99 + - max + - min + - avg + - median + type: string + interval: + default: 5m + description: Interval specifies the duration of the time + interval for the data query + type: string + step: + description: Step represents the query resolution step width + for the data query + type: string + storedResults: + description: StoredResults indicates the upper limit of + how many past results should be stored in the status of + a KeptnMetric + maximum: 255 + type: integer + type: object + value: + description: Value represents the resulting value + type: string + required: + - lastUpdated + - range + - value + type: object + type: array + lastUpdated: + description: LastUpdated represents the time when the status data + was last updated + format: date-time + type: string + rawValue: + description: RawValue represents the resulting value in raw format + format: byte + type: string + value: + description: Value represents the resulting value + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + {{- with .Values.global.caInjectionAnnotations }} + {{- toYaml . | nindent 4 }} + {{- end }} + {{- include "common.annotations" ( dict "context" . ) }} + labels: + app.kubernetes.io/part-of: keptn + crdGroup: metrics.keptn.sh + keptn.sh/inject-cert: "true" +{{- include "common.labels.standard" (dict "context" .) | nindent 4 }} + name: keptnmetricsproviders.metrics.keptn.sh +spec: + group: metrics.keptn.sh + names: + kind: KeptnMetricsProvider + listKind: KeptnMetricsProviderList + plural: keptnmetricsproviders + shortNames: + - kmp + singular: keptnmetricsprovider + scope: Namespaced + versions: + - name: v1alpha2 + schema: + openAPIV3Schema: + description: KeptnMetricsProvider is the Schema for the keptnmetricsproviders + API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: KeptnMetricsProviderSpec defines the desired state of KeptnMetricsProvider + properties: + secretKeyRef: + description: SecretKeySelector selects a key of a Secret. + properties: + key: + description: The key of the secret to select from. Must be a + valid secret key. + type: string + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + targetServer: + type: string + required: + - targetServer + type: object + status: + description: unused field + type: string + type: object + served: true + storage: false + subresources: + status: {} + - name: v1alpha3 + schema: + openAPIV3Schema: + description: KeptnMetricsProvider is the Schema for the keptnmetricsproviders + API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: KeptnMetricsProviderSpec defines the desired state of KeptnMetricsProvider + properties: + secretKeyRef: + description: SecretKeyRef defines an optional secret for access credentials + to the metrics provider. + properties: + key: + description: The key of the secret to select from. Must be a + valid secret key. + type: string + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + targetServer: + description: TargetServer defined the URL at which the metrics provider + is reachable with included port and protocol. + type: string + type: + description: Type represents the provider type. This can be one of + prometheus, dynatrace, datadog, dql. + pattern: prometheus|dynatrace|datadog|dql + type: string + required: + - targetServer + type: object + status: + description: unused field + type: string + type: object + served: true + storage: false + subresources: + status: {} + - name: v1beta1 + schema: + openAPIV3Schema: + description: KeptnMetricsProvider is the Schema for the keptnmetricsproviders + API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: KeptnMetricsProviderSpec defines the desired state of KeptnMetricsProvider + properties: + secretKeyRef: + description: SecretKeyRef defines an optional secret for access credentials + to the metrics provider. + properties: + key: + description: The key of the secret to select from. Must be a + valid secret key. + type: string + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + targetServer: + description: TargetServer defines URL (including port and protocol) + at which the metrics provider is reachable. + type: string + type: + description: Type represents the provider type. This can be one of + prometheus, dynatrace, datadog, dql. + pattern: prometheus|dynatrace|datadog|dql + type: string + required: + - targetServer + type: object + status: + description: unused field + type: string + type: object + served: true + storage: true + subresources: + status: {} diff --git a/metrics-operator/config/crd/kustomization.yaml b/metrics-operator/config/crd/kustomization.yaml index 5da9dc30f8..acd6d92680 100644 --- a/metrics-operator/config/crd/kustomization.yaml +++ b/metrics-operator/config/crd/kustomization.yaml @@ -21,7 +21,17 @@ labels: app.kubernetes.io/part-of: keptn crdGroup: metrics.keptn.sh keptn.sh/inject-cert: "true" +commonAnnotations: + putAnnotation: metrics-operator +commonLabels: + putLabels: newLabel patches: + - target: + group: apiextensions.k8s.io + version: v1 + name: analyses.metrics.keptn.sh + kind: CustomResourceDefinition + path: patches/analysesMetricsPatch.yaml # [WEBHOOK] To enable webhook, uncomment all the sections with [WEBHOOK] prefix. # patches here are for enabling the conversion webhook for each CRD # - path: patches/webhook_in_keptnmetricsproviders.yaml diff --git a/metrics-operator/config/crd/patches/analysesMetricsPatch.yaml b/metrics-operator/config/crd/patches/analysesMetricsPatch.yaml new file mode 100644 index 0000000000..d32a5370aa --- /dev/null +++ b/metrics-operator/config/crd/patches/analysesMetricsPatch.yaml @@ -0,0 +1,3 @@ +- op: add # action + path: "/metadata/annotations/env" # adding a fake annotation and to be replaced with another one in helm templates + value: fake From a18182067edde4d34b8a33414312ab7b584d5a60 Mon Sep 17 00:00:00 2001 From: Griffin Date: Thu, 14 Mar 2024 11:15:50 +0530 Subject: [PATCH 2/5] configured helm tests Signed-off-by: Griffin --- .../scripts/.helm-tests/default/result.yaml | 4040 ++++++++-------- .../.helm-tests/lifecycle-only/result.yaml | 4060 ++++++++--------- .../lifecycle-with-certs/result.yaml | 4026 ++++++++-------- .../result.yaml | 20 +- .../.helm-tests/metrics-only/result.yaml | 20 +- .../metrics-with-certs/result.yaml | 20 +- lifecycle-operator/Makefile | 5 +- .../chart/templates/operator-crd.yaml | 1035 +---- .../config/crd/kustomization.yaml | 4 +- metrics-operator/Makefile | 1 - .../chart/templates/metricsOperator-crd.yaml | 1 - .../config/crd/kustomization.yaml | 7 - .../crd/patches/analysesMetricsPatch.yaml | 3 - 13 files changed, 6103 insertions(+), 7139 deletions(-) delete mode 100644 metrics-operator/config/crd/patches/analysesMetricsPatch.yaml diff --git a/.github/scripts/.helm-tests/default/result.yaml b/.github/scripts/.helm-tests/default/result.yaml index c36b198db8..d258aa0476 100644 --- a/.github/scripts/.helm-tests/default/result.yaml +++ b/.github/scripts/.helm-tests/default/result.yaml @@ -130,11 +130,239 @@ data: webhook: port: 9443 --- -# Source: keptn/charts/lifecycleOperator/templates/keptnapp-crd.yaml +# Source: keptn/charts/lifecycleOperator/templates/operator-crd.yaml +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + cert-manager.io/inject-ca-from: 'helmtests/keptn-certs' + labels: + app.kubernetes.io/part-of: keptn + crdGroup: lifecycle.keptn.sh + keptn.sh/inject-cert: "true" + app.kubernetes.io/instance: keptn-test + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: lifecycle-operator + app.kubernetes.io/version: vmyversion + helm.sh/chart: lifecycle-operator-0.2.1 + name: keptnappcontexts.lifecycle.keptn.sh +spec: + group: lifecycle.keptn.sh + names: + kind: KeptnAppContext + listKind: KeptnAppContextList + plural: keptnappcontexts + singular: keptnappcontext + scope: Namespaced + versions: + - name: v1beta1 + schema: + openAPIV3Schema: + description: KeptnAppContext is the Schema for the keptnappcontexts API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: KeptnAppContextSpec defines the desired state of KeptnAppContext + properties: + metadata: + additionalProperties: + type: string + description: Metadata contains additional key-value pairs for contextual + information. + type: object + postDeploymentEvaluations: + description: |- + PostDeploymentEvaluations is a list of all evaluations to be performed + during the post-deployment phase of the KeptnApp. + The items of this list refer to the names of KeptnEvaluationDefinitions + located in the same namespace as the KeptnApp, or in the Keptn namespace. + items: + type: string + type: array + postDeploymentTasks: + description: |- + PostDeploymentTasks is a list of all tasks to be performed during the post-deployment phase of the KeptnApp. + The items of this list refer to the names of KeptnTaskDefinitions + located in the same namespace as the KeptnApp, or in the Keptn namespace. + items: + type: string + type: array + preDeploymentEvaluations: + description: |- + PreDeploymentEvaluations is a list of all evaluations to be performed + during the pre-deployment phase of the KeptnApp. + The items of this list refer to the names of KeptnEvaluationDefinitions + located in the same namespace as the KeptnApp, or in the Keptn namespace. + items: + type: string + type: array + preDeploymentTasks: + description: |- + PreDeploymentTasks is a list of all tasks to be performed during the pre-deployment phase of the KeptnApp. + The items of this list refer to the names of KeptnTaskDefinitions + located in the same namespace as the KeptnApp, or in the Keptn namespace. + items: + type: string + type: array + promotionTasks: + description: |- + PromotionTasks is a list of all tasks to be performed during the promotion phase of the KeptnApp. + The items of this list refer to the names of KeptnTaskDefinitions + located in the same namespace as the KeptnApp, or in the Keptn namespace. + items: + type: string + type: array + spanLinks: + description: |- + SpanLinks are links to OpenTelemetry span IDs for tracking. These links establish relationships between spans across different services, enabling distributed tracing. + For more information on OpenTelemetry span links, refer to the documentation: https://opentelemetry.io/docs/concepts/signals/traces/#span-links + items: + type: string + type: array + type: object + status: + description: KeptnAppContextStatus defines the observed state of KeptnAppContext + properties: + status: + description: unused field + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +# Source: keptn/charts/lifecycleOperator/templates/operator-crd.yaml +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + cert-manager.io/inject-ca-from: helmtests/keptn-certs + labels: + app.kubernetes.io/part-of: keptn + crdGroup: lifecycle.keptn.sh + keptn.sh/inject-cert: "true" + app.kubernetes.io/instance: keptn-test + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: lifecycle-operator + app.kubernetes.io/version: vmyversion + helm.sh/chart: lifecycle-operator-0.2.1 + name: keptnappcreationrequests.lifecycle.keptn.sh +spec: + group: lifecycle.keptn.sh + names: + kind: KeptnAppCreationRequest + listKind: KeptnAppCreationRequestList + plural: keptnappcreationrequests + singular: keptnappcreationrequest + scope: Namespaced + versions: + - name: v1alpha3 + schema: + openAPIV3Schema: + description: KeptnAppCreationRequest is the Schema for the keptnappcreationrequests + API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Spec describes the desired state of the KeptnAppCreationRequest. + properties: + appName: + description: AppName is the name of the KeptnApp the KeptnAppCreationRequest + should create if no user-defined object with that name is found. + type: string + required: + - appName + type: object + status: + description: Status describes the current state of the KeptnAppCreationRequest. + type: string + type: object + served: true + storage: false + subresources: + status: {} + - name: v1beta1 + schema: + openAPIV3Schema: + description: KeptnAppCreationRequest is the Schema for the keptnappcreationrequests + API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Spec describes the desired state of the KeptnAppCreationRequest. + properties: + appName: + description: AppName is the name of the KeptnApp the KeptnAppCreationRequest + should create if no user-defined object with that name is found. + type: string + required: + - appName + type: object + status: + description: Status describes the current state of the KeptnAppCreationRequest. + type: string + type: object + served: true + storage: true + subresources: + status: {} +--- +# Source: keptn/charts/lifecycleOperator/templates/operator-crd.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: keptnapps.lifecycle.keptn.sh annotations: controller-gen.kubebuilder.io/version: v0.14.0 cert-manager.io/inject-ca-from: helmtests/keptn-certs @@ -147,6 +375,7 @@ metadata: app.kubernetes.io/name: lifecycle-operator app.kubernetes.io/version: vmyversion helm.sh/chart: lifecycle-operator-0.2.1 + name: keptnapps.lifecycle.keptn.sh spec: conversion: strategy: Webhook @@ -484,14 +713,13 @@ spec: subresources: status: {} --- -# Source: keptn/charts/lifecycleOperator/templates/keptnappcontext-crd.yaml +# Source: keptn/charts/lifecycleOperator/templates/operator-crd.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: keptnappcontexts.lifecycle.keptn.sh annotations: controller-gen.kubebuilder.io/version: v0.14.0 - cert-manager.io/inject-ca-from: 'helmtests/keptn-certs' + cert-manager.io/inject-ca-from: helmtests/keptn-certs labels: app.kubernetes.io/part-of: keptn crdGroup: lifecycle.keptn.sh @@ -501,254 +729,26 @@ metadata: app.kubernetes.io/name: lifecycle-operator app.kubernetes.io/version: vmyversion helm.sh/chart: lifecycle-operator-0.2.1 + name: keptnappversions.lifecycle.keptn.sh spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: 'lifecycle-webhook-service' + namespace: 'helmtests' + path: /convert + conversionReviewVersions: + - v1 group: lifecycle.keptn.sh names: - kind: KeptnAppContext - listKind: KeptnAppContextList - plural: keptnappcontexts - singular: keptnappcontext - scope: Namespaced - versions: - - name: v1beta1 - schema: - openAPIV3Schema: - description: KeptnAppContext is the Schema for the keptnappcontexts API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: KeptnAppContextSpec defines the desired state of KeptnAppContext - properties: - metadata: - additionalProperties: - type: string - description: Metadata contains additional key-value pairs for contextual - information. - type: object - postDeploymentEvaluations: - description: |- - PostDeploymentEvaluations is a list of all evaluations to be performed - during the post-deployment phase of the KeptnApp. - The items of this list refer to the names of KeptnEvaluationDefinitions - located in the same namespace as the KeptnApp, or in the Keptn namespace. - items: - type: string - type: array - postDeploymentTasks: - description: |- - PostDeploymentTasks is a list of all tasks to be performed during the post-deployment phase of the KeptnApp. - The items of this list refer to the names of KeptnTaskDefinitions - located in the same namespace as the KeptnApp, or in the Keptn namespace. - items: - type: string - type: array - preDeploymentEvaluations: - description: |- - PreDeploymentEvaluations is a list of all evaluations to be performed - during the pre-deployment phase of the KeptnApp. - The items of this list refer to the names of KeptnEvaluationDefinitions - located in the same namespace as the KeptnApp, or in the Keptn namespace. - items: - type: string - type: array - preDeploymentTasks: - description: |- - PreDeploymentTasks is a list of all tasks to be performed during the pre-deployment phase of the KeptnApp. - The items of this list refer to the names of KeptnTaskDefinitions - located in the same namespace as the KeptnApp, or in the Keptn namespace. - items: - type: string - type: array - promotionTasks: - description: |- - PromotionTasks is a list of all tasks to be performed during the promotion phase of the KeptnApp. - The items of this list refer to the names of KeptnTaskDefinitions - located in the same namespace as the KeptnApp, or in the Keptn namespace. - items: - type: string - type: array - spanLinks: - description: |- - SpanLinks are links to OpenTelemetry span IDs for tracking. These links establish relationships between spans across different services, enabling distributed tracing. - For more information on OpenTelemetry span links, refer to the documentation: https://opentelemetry.io/docs/concepts/signals/traces/#span-links - items: - type: string - type: array - type: object - status: - description: KeptnAppContextStatus defines the observed state of KeptnAppContext - properties: - status: - description: unused field - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} ---- -# Source: keptn/charts/lifecycleOperator/templates/keptnappcreationrequest-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnappcreationrequests.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.14.0 - cert-manager.io/inject-ca-from: helmtests/keptn-certs - labels: - app.kubernetes.io/part-of: keptn - crdGroup: lifecycle.keptn.sh - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: vmyversion - helm.sh/chart: lifecycle-operator-0.2.1 -spec: - group: lifecycle.keptn.sh - names: - kind: KeptnAppCreationRequest - listKind: KeptnAppCreationRequestList - plural: keptnappcreationrequests - singular: keptnappcreationrequest - scope: Namespaced - versions: - - name: v1alpha3 - schema: - openAPIV3Schema: - description: KeptnAppCreationRequest is the Schema for the keptnappcreationrequests - API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Spec describes the desired state of the KeptnAppCreationRequest. - properties: - appName: - description: AppName is the name of the KeptnApp the KeptnAppCreationRequest - should create if no user-defined object with that name is found. - type: string - required: - - appName - type: object - status: - description: Status describes the current state of the KeptnAppCreationRequest. - type: string - type: object - served: true - storage: false - subresources: - status: {} - - name: v1beta1 - schema: - openAPIV3Schema: - description: KeptnAppCreationRequest is the Schema for the keptnappcreationrequests - API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Spec describes the desired state of the KeptnAppCreationRequest. - properties: - appName: - description: AppName is the name of the KeptnApp the KeptnAppCreationRequest - should create if no user-defined object with that name is found. - type: string - required: - - appName - type: object - status: - description: Status describes the current state of the KeptnAppCreationRequest. - type: string - type: object - served: true - storage: true - subresources: - status: {} ---- -# Source: keptn/charts/lifecycleOperator/templates/keptnappversion-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnappversions.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.14.0 - cert-manager.io/inject-ca-from: helmtests/keptn-certs - labels: - app.kubernetes.io/part-of: keptn - crdGroup: lifecycle.keptn.sh - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: vmyversion - helm.sh/chart: lifecycle-operator-0.2.1 -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: 'lifecycle-webhook-service' - namespace: 'helmtests' - path: /convert - conversionReviewVersions: - - v1 - group: lifecycle.keptn.sh - names: - kind: KeptnAppVersion - listKind: KeptnAppVersionList - plural: keptnappversions - shortNames: - - kav - singular: keptnappversion + kind: KeptnAppVersion + listKind: KeptnAppVersionList + plural: keptnappversions + shortNames: + - kav + singular: keptnappversion scope: Namespaced versions: - additionalPrinterColumns: @@ -1985,11 +1985,10 @@ spec: subresources: status: {} --- -# Source: keptn/charts/lifecycleOperator/templates/keptnconfig-crd.yaml +# Source: keptn/charts/lifecycleOperator/templates/operator-crd.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: keptnconfigs.options.keptn.sh annotations: controller-gen.kubebuilder.io/version: v0.14.0 cert-manager.io/inject-ca-from: helmtests/keptn-certs @@ -2002,6 +2001,7 @@ metadata: app.kubernetes.io/name: lifecycle-operator app.kubernetes.io/version: vmyversion helm.sh/chart: lifecycle-operator-0.2.1 + name: keptnconfigs.options.keptn.sh spec: group: options.keptn.sh names: @@ -2074,11 +2074,10 @@ spec: subresources: status: {} --- -# Source: keptn/charts/lifecycleOperator/templates/keptnevaluation-crd.yaml +# Source: keptn/charts/lifecycleOperator/templates/operator-crd.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: keptnevaluations.lifecycle.keptn.sh annotations: controller-gen.kubebuilder.io/version: v0.14.0 cert-manager.io/inject-ca-from: helmtests/keptn-certs @@ -2091,43 +2090,23 @@ metadata: app.kubernetes.io/name: lifecycle-operator app.kubernetes.io/version: vmyversion helm.sh/chart: lifecycle-operator-0.2.1 + name: keptnevaluationdefinitions.lifecycle.keptn.sh spec: group: lifecycle.keptn.sh names: - kind: KeptnEvaluation - listKind: KeptnEvaluationList - plural: keptnevaluations + kind: KeptnEvaluationDefinition + listKind: KeptnEvaluationDefinitionList + plural: keptnevaluationdefinitions shortNames: - - ke - singular: keptnevaluation + - ked + singular: keptnevaluationdefinition scope: Namespaced versions: - - additionalPrinterColumns: - - jsonPath: .spec.appName - name: AppName - type: string - - jsonPath: .spec.appVersion - name: AppVersion - type: string - - jsonPath: .spec.workload - name: WorkloadName - type: string - - jsonPath: .spec.workloadVersion - name: WorkloadVersion - type: string - - jsonPath: .status.retryCount - name: RetryCount - type: string - - jsonPath: .status.evaluationStatus - name: EvaluationStatus - type: string - - jsonPath: .status.overallStatus - name: OverallStatus - type: string - name: v1alpha1 + - name: v1alpha1 schema: openAPIV3Schema: - description: KeptnEvaluation is the Schema for the keptnevaluations API + description: KeptnEvaluationDefinition is the Schema for the keptnevaluationdefinitions + API properties: apiVersion: description: |- @@ -2147,99 +2126,43 @@ spec: metadata: type: object spec: - description: KeptnEvaluationSpec defines the desired state of KeptnEvaluation - properties: - appName: - type: string - appVersion: - type: string - checkType: - type: string - evaluationDefinition: - type: string - retries: - default: 10 - type: integer - retryInterval: - default: 5s - pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ - type: string - workload: - type: string - workloadVersion: - type: string - required: - - evaluationDefinition - - workloadVersion - type: object - status: - description: KeptnEvaluationStatus defines the observed state of KeptnEvaluation + description: KeptnEvaluationDefinitionSpec defines the desired state of + KeptnEvaluationDefinition properties: - endTime: - format: date-time - type: string - evaluationStatus: - additionalProperties: + objectives: + items: properties: - message: + evaluationTarget: type: string - status: - description: KeptnState is a string containing current Phase - state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + name: type: string - value: + query: type: string required: - - status - - value + - evaluationTarget + - name + - query type: object - type: object - overallStatus: - default: Pending - description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - retryCount: - default: 0 - type: integer - startTime: - format: date-time + type: array + source: type: string required: - - evaluationStatus - - overallStatus - - retryCount + - objectives + - source type: object + status: + description: unused field + type: string type: object served: true storage: false subresources: status: {} - - additionalPrinterColumns: - - jsonPath: .spec.appName - name: AppName - type: string - - jsonPath: .spec.appVersion - name: AppVersion - type: string - - jsonPath: .spec.workload - name: WorkloadName - type: string - - jsonPath: .spec.workloadVersion - name: WorkloadVersion - type: string - - jsonPath: .status.retryCount - name: RetryCount - type: string - - jsonPath: .status.evaluationStatus - name: EvaluationStatus - type: string - - jsonPath: .status.overallStatus - name: OverallStatus - type: string - name: v1alpha2 + - name: v1alpha2 schema: openAPIV3Schema: - description: KeptnEvaluation is the Schema for the keptnevaluations API + description: KeptnEvaluationDefinition is the Schema for the keptnevaluationdefinitions + API properties: apiVersion: description: |- @@ -2259,101 +2182,43 @@ spec: metadata: type: object spec: - description: KeptnEvaluationSpec defines the desired state of KeptnEvaluation - properties: - appName: - type: string - appVersion: - type: string - checkType: - type: string - evaluationDefinition: - type: string - failAction: - type: string - retries: - default: 10 - type: integer - retryInterval: - default: 5s - pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ - type: string - workload: - type: string - workloadVersion: - type: string - required: - - evaluationDefinition - - workloadVersion - type: object - status: - description: KeptnEvaluationStatus defines the observed state of KeptnEvaluation + description: KeptnEvaluationDefinitionSpec defines the desired state of + KeptnEvaluationDefinition properties: - endTime: - format: date-time - type: string - evaluationStatus: - additionalProperties: + objectives: + items: properties: - message: + evaluationTarget: type: string - status: - description: KeptnState is a string containing current Phase - state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + name: type: string - value: + query: type: string required: - - status - - value + - evaluationTarget + - name + - query type: object - type: object - overallStatus: - default: Pending - description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - retryCount: - default: 0 - type: integer - startTime: - format: date-time + type: array + source: type: string required: - - evaluationStatus - - overallStatus - - retryCount + - objectives + - source type: object + status: + description: unused field + type: string type: object served: true storage: false subresources: status: {} - - additionalPrinterColumns: - - jsonPath: .spec.appName - name: AppName - type: string - - jsonPath: .spec.appVersion - name: AppVersion - type: string - - jsonPath: .spec.workload - name: WorkloadName - type: string - - jsonPath: .spec.workloadVersion - name: WorkloadVersion - type: string - - jsonPath: .status.retryCount - name: RetryCount - type: string - - jsonPath: .status.evaluationStatus - name: EvaluationStatus - type: string - - jsonPath: .status.overallStatus - name: OverallStatus - type: string - name: v1alpha3 + - name: v1alpha3 schema: openAPIV3Schema: - description: KeptnEvaluation is the Schema for the keptnevaluations API + description: KeptnEvaluationDefinition is the Schema for the keptnevaluationdefinitions + API properties: apiVersion: description: |- @@ -2373,114 +2238,158 @@ spec: metadata: type: object spec: - description: Spec describes the desired state of the KeptnEvaluation. + description: Spec describes the desired state of the KeptnEvaluationDefinition. properties: - appName: - description: AppName defines the KeptnApp for which the KeptnEvaluation - is done. - type: string - appVersion: - description: AppVersion defines the version of the KeptnApp for which - the KeptnEvaluation is done. - type: string - checkType: - description: Type indicates whether the KeptnEvaluation is part of - the pre- or postDeployment phase. - type: string - evaluationDefinition: - description: |- - EvaluationDefinition refers to the name of the KeptnEvaluationDefinition - which includes the objectives for the KeptnEvaluation. - The KeptnEvaluationDefinition can be - located in the same namespace as the KeptnEvaluation, or in the Keptn namespace. - type: string - failAction: - type: string - retries: - default: 10 - description: |- - Retries indicates how many times the KeptnEvaluation can be attempted in the case of an error or - missed evaluation objective, before considering the KeptnEvaluation to be failed. - type: integer - retryInterval: - default: 5s + objectives: description: |- - RetryInterval specifies the interval at which the KeptnEvaluation is retried in the case of an error - or a missed objective. - pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ - type: string - workload: - description: Workload defines the KeptnWorkload for which the KeptnEvaluation - is done. - type: string - workloadVersion: - description: WorkloadVersion defines the version of the KeptnWorkload - for which the KeptnEvaluation is done. - type: string + Objectives is a list of objectives that have to be met for a KeptnEvaluation referencing this + KeptnEvaluationDefinition to be successful. + items: + properties: + evaluationTarget: + description: |- + EvaluationTarget specifies the target value for the references KeptnMetric. + Needs to start with either '<' or '>', followed by the target value (e.g. '<10'). + type: string + keptnMetricRef: + description: KeptnMetricRef references the KeptnMetric that + should be evaluated. + properties: + name: + description: Name is the name of the referenced KeptnMetric. + type: string + namespace: + description: Namespace is the namespace where the referenced + KeptnMetric is located. + type: string + required: + - name + type: object + required: + - evaluationTarget + - keptnMetricRef + type: object + type: array required: - - evaluationDefinition - - workloadVersion + - objectives type: object status: - description: Status describes the current state of the KeptnEvaluation. + description: unused field + type: string + type: object + served: true + storage: false + subresources: + status: {} + - name: v1beta1 + schema: + openAPIV3Schema: + description: KeptnEvaluationDefinition is the Schema for the keptnevaluationdefinitions + API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Spec describes the desired state of the KeptnEvaluationDefinition. properties: - endTime: - description: EndTime represents the time at which the KeptnEvaluation - finished. - format: date-time - type: string - evaluationStatus: - additionalProperties: + objectives: + description: |- + Objectives is a list of objectives that have to be met for a KeptnEvaluation referencing this + KeptnEvaluationDefinition to be successful. + items: properties: - message: + evaluationTarget: description: |- - Message contains additional information about the evaluation of an objective. - This can include explanations about why an evaluation has failed (e.g. due to a missed objective), - or if there was any error during the evaluation of the objective. - type: string - status: - description: Status indicates the status of the objective being - evaluated. - type: string - value: - description: Value represents the value of the KeptnMetric being - evaluated. + EvaluationTarget specifies the target value for the references KeptnMetric. + Needs to start with either '<' or '>', followed by the target value (e.g. '<10'). type: string + keptnMetricRef: + description: KeptnMetricRef references the KeptnMetric that + should be evaluated. + properties: + name: + description: Name is the name of the referenced KeptnMetric. + type: string + namespace: + description: Namespace is the namespace where the referenced + KeptnMetric is located. + type: string + required: + - name + type: object required: - - status - - value + - evaluationTarget + - keptnMetricRef type: object + type: array + retries: + default: 10 description: |- - EvaluationStatus describes the status of each objective of the KeptnEvaluationDefinition - referenced by the KeptnEvaluation. - type: object - overallStatus: - default: Pending - description: |- - OverallStatus describes the overall status of the KeptnEvaluation. The Overall status is derived - from the status of the individual objectives of the KeptnEvaluationDefinition - referenced by the KeptnEvaluation. - type: string - retryCount: - default: 0 - description: RetryCount indicates how many times the KeptnEvaluation - has been attempted already. + Retries indicates how many times the KeptnEvaluation can be attempted in the case of an error or + missed evaluation objective, before considering the KeptnEvaluation to be failed. type: integer - startTime: - description: StartTime represents the time at which the KeptnEvaluation - started. - format: date-time + retryInterval: + default: 5s + description: |- + RetryInterval specifies the interval at which the KeptnEvaluation is retried in the case of an error + or a missed objective. + pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ type: string required: - - evaluationStatus - - overallStatus - - retryCount + - objectives type: object + status: + description: unused field + type: string type: object served: true - storage: false + storage: true subresources: status: {} +--- +# Source: keptn/charts/lifecycleOperator/templates/operator-crd.yaml +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + cert-manager.io/inject-ca-from: helmtests/keptn-certs + labels: + app.kubernetes.io/part-of: keptn + crdGroup: lifecycle.keptn.sh + keptn.sh/inject-cert: "true" + app.kubernetes.io/instance: keptn-test + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: lifecycle-operator + app.kubernetes.io/version: vmyversion + helm.sh/chart: lifecycle-operator-0.2.1 + name: keptnevaluations.lifecycle.keptn.sh +spec: + group: lifecycle.keptn.sh + names: + kind: KeptnEvaluation + listKind: KeptnEvaluationList + plural: keptnevaluations + shortNames: + - ke + singular: keptnevaluation + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .spec.appName name: AppName @@ -2503,7 +2412,7 @@ spec: - jsonPath: .status.overallStatus name: OverallStatus type: string - name: v1beta1 + name: v1alpha1 schema: openAPIV3Schema: description: KeptnEvaluation is the Schema for the keptnevaluations API @@ -2526,102 +2435,61 @@ spec: metadata: type: object spec: - description: Spec describes the desired state of the KeptnEvaluation. + description: KeptnEvaluationSpec defines the desired state of KeptnEvaluation properties: appName: - description: AppName defines the KeptnApp for which the KeptnEvaluation - is done. type: string appVersion: - description: AppVersion defines the version of the KeptnApp for which - the KeptnEvaluation is done. type: string checkType: - description: Type indicates whether the KeptnEvaluation is part of - the pre- or postDeployment phase. type: string evaluationDefinition: - description: |- - EvaluationDefinition refers to the name of the KeptnEvaluationDefinition - which includes the objectives for the KeptnEvaluation. - The KeptnEvaluationDefinition can be - located in the same namespace as the KeptnEvaluation, or in the Keptn namespace. - type: string - failAction: type: string retries: default: 10 - description: |- - Retries indicates how many times the KeptnEvaluation can be attempted in the case of an error or - missed evaluation objective, before considering the KeptnEvaluation to be failed. type: integer retryInterval: default: 5s - description: |- - RetryInterval specifies the interval at which the KeptnEvaluation is retried in the case of an error - or a missed objective. pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ type: string workload: - description: Workload defines the KeptnWorkload for which the KeptnEvaluation - is done. type: string workloadVersion: - description: WorkloadVersion defines the version of the KeptnWorkload - for which the KeptnEvaluation is done. type: string required: - evaluationDefinition - workloadVersion type: object status: - description: Status describes the current state of the KeptnEvaluation. + description: KeptnEvaluationStatus defines the observed state of KeptnEvaluation properties: endTime: - description: EndTime represents the time at which the KeptnEvaluation - finished. format: date-time type: string evaluationStatus: additionalProperties: properties: message: - description: |- - Message contains additional information about the evaluation of an objective. - This can include explanations about why an evaluation has failed (e.g. due to a missed objective), - or if there was any error during the evaluation of the objective. type: string status: - description: Status indicates the status of the objective being - evaluated. + description: KeptnState is a string containing current Phase + state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) type: string value: - description: Value represents the value of the KeptnMetric being - evaluated. type: string required: - status - value type: object - description: |- - EvaluationStatus describes the status of each objective of the KeptnEvaluationDefinition - referenced by the KeptnEvaluation. type: object overallStatus: default: Pending - description: |- - OverallStatus describes the overall status of the KeptnEvaluation. The Overall status is derived - from the status of the individual objectives of the KeptnEvaluationDefinition - referenced by the KeptnEvaluation. + description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) type: string retryCount: default: 0 - description: RetryCount indicates how many times the KeptnEvaluation - has been attempted already. type: integer startTime: - description: StartTime represents the time at which the KeptnEvaluation - started. format: date-time type: string required: @@ -2631,43 +2499,35 @@ spec: type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -# Source: keptn/charts/lifecycleOperator/templates/keptnevaluationdefinition-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnevaluationdefinitions.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.14.0 - cert-manager.io/inject-ca-from: helmtests/keptn-certs - labels: - app.kubernetes.io/part-of: keptn - crdGroup: lifecycle.keptn.sh - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: vmyversion - helm.sh/chart: lifecycle-operator-0.2.1 -spec: - group: lifecycle.keptn.sh - names: - kind: KeptnEvaluationDefinition - listKind: KeptnEvaluationDefinitionList - plural: keptnevaluationdefinitions - shortNames: - - ked - singular: keptnevaluationdefinition - scope: Namespaced - versions: - - name: v1alpha1 + - additionalPrinterColumns: + - jsonPath: .spec.appName + name: AppName + type: string + - jsonPath: .spec.appVersion + name: AppVersion + type: string + - jsonPath: .spec.workload + name: WorkloadName + type: string + - jsonPath: .spec.workloadVersion + name: WorkloadVersion + type: string + - jsonPath: .status.retryCount + name: RetryCount + type: string + - jsonPath: .status.evaluationStatus + name: EvaluationStatus + type: string + - jsonPath: .status.overallStatus + name: OverallStatus + type: string + name: v1alpha2 schema: openAPIV3Schema: - description: KeptnEvaluationDefinition is the Schema for the keptnevaluationdefinitions - API + description: KeptnEvaluation is the Schema for the keptnevaluations API properties: apiVersion: description: |- @@ -2687,43 +2547,101 @@ spec: metadata: type: object spec: - description: KeptnEvaluationDefinitionSpec defines the desired state of - KeptnEvaluationDefinition + description: KeptnEvaluationSpec defines the desired state of KeptnEvaluation properties: - objectives: - items: + appName: + type: string + appVersion: + type: string + checkType: + type: string + evaluationDefinition: + type: string + failAction: + type: string + retries: + default: 10 + type: integer + retryInterval: + default: 5s + pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ + type: string + workload: + type: string + workloadVersion: + type: string + required: + - evaluationDefinition + - workloadVersion + type: object + status: + description: KeptnEvaluationStatus defines the observed state of KeptnEvaluation + properties: + endTime: + format: date-time + type: string + evaluationStatus: + additionalProperties: properties: - evaluationTarget: + message: type: string - name: + status: + description: KeptnState is a string containing current Phase + state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) type: string - query: + value: type: string required: - - evaluationTarget - - name - - query + - status + - value type: object - type: array - source: + type: object + overallStatus: + default: Pending + description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + retryCount: + default: 0 + type: integer + startTime: + format: date-time type: string required: - - objectives - - source + - evaluationStatus + - overallStatus + - retryCount type: object - status: - description: unused field - type: string type: object served: true storage: false subresources: status: {} - - name: v1alpha2 + - additionalPrinterColumns: + - jsonPath: .spec.appName + name: AppName + type: string + - jsonPath: .spec.appVersion + name: AppVersion + type: string + - jsonPath: .spec.workload + name: WorkloadName + type: string + - jsonPath: .spec.workloadVersion + name: WorkloadVersion + type: string + - jsonPath: .status.retryCount + name: RetryCount + type: string + - jsonPath: .status.evaluationStatus + name: EvaluationStatus + type: string + - jsonPath: .status.overallStatus + name: OverallStatus + type: string + name: v1alpha3 schema: openAPIV3Schema: - description: KeptnEvaluationDefinition is the Schema for the keptnevaluationdefinitions - API + description: KeptnEvaluation is the Schema for the keptnevaluations API properties: apiVersion: description: |- @@ -2743,110 +2661,140 @@ spec: metadata: type: object spec: - description: KeptnEvaluationDefinitionSpec defines the desired state of - KeptnEvaluationDefinition + description: Spec describes the desired state of the KeptnEvaluation. properties: - objectives: - items: + appName: + description: AppName defines the KeptnApp for which the KeptnEvaluation + is done. + type: string + appVersion: + description: AppVersion defines the version of the KeptnApp for which + the KeptnEvaluation is done. + type: string + checkType: + description: Type indicates whether the KeptnEvaluation is part of + the pre- or postDeployment phase. + type: string + evaluationDefinition: + description: |- + EvaluationDefinition refers to the name of the KeptnEvaluationDefinition + which includes the objectives for the KeptnEvaluation. + The KeptnEvaluationDefinition can be + located in the same namespace as the KeptnEvaluation, or in the Keptn namespace. + type: string + failAction: + type: string + retries: + default: 10 + description: |- + Retries indicates how many times the KeptnEvaluation can be attempted in the case of an error or + missed evaluation objective, before considering the KeptnEvaluation to be failed. + type: integer + retryInterval: + default: 5s + description: |- + RetryInterval specifies the interval at which the KeptnEvaluation is retried in the case of an error + or a missed objective. + pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ + type: string + workload: + description: Workload defines the KeptnWorkload for which the KeptnEvaluation + is done. + type: string + workloadVersion: + description: WorkloadVersion defines the version of the KeptnWorkload + for which the KeptnEvaluation is done. + type: string + required: + - evaluationDefinition + - workloadVersion + type: object + status: + description: Status describes the current state of the KeptnEvaluation. + properties: + endTime: + description: EndTime represents the time at which the KeptnEvaluation + finished. + format: date-time + type: string + evaluationStatus: + additionalProperties: properties: - evaluationTarget: + message: + description: |- + Message contains additional information about the evaluation of an objective. + This can include explanations about why an evaluation has failed (e.g. due to a missed objective), + or if there was any error during the evaluation of the objective. type: string - name: + status: + description: Status indicates the status of the objective being + evaluated. type: string - query: + value: + description: Value represents the value of the KeptnMetric being + evaluated. type: string required: - - evaluationTarget - - name - - query + - status + - value type: object - type: array - source: + description: |- + EvaluationStatus describes the status of each objective of the KeptnEvaluationDefinition + referenced by the KeptnEvaluation. + type: object + overallStatus: + default: Pending + description: |- + OverallStatus describes the overall status of the KeptnEvaluation. The Overall status is derived + from the status of the individual objectives of the KeptnEvaluationDefinition + referenced by the KeptnEvaluation. + type: string + retryCount: + default: 0 + description: RetryCount indicates how many times the KeptnEvaluation + has been attempted already. + type: integer + startTime: + description: StartTime represents the time at which the KeptnEvaluation + started. + format: date-time type: string required: - - objectives - - source + - evaluationStatus + - overallStatus + - retryCount type: object - status: - description: unused field - type: string type: object served: true storage: false subresources: status: {} - - name: v1alpha3 - schema: - openAPIV3Schema: - description: KeptnEvaluationDefinition is the Schema for the keptnevaluationdefinitions - API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Spec describes the desired state of the KeptnEvaluationDefinition. - properties: - objectives: - description: |- - Objectives is a list of objectives that have to be met for a KeptnEvaluation referencing this - KeptnEvaluationDefinition to be successful. - items: - properties: - evaluationTarget: - description: |- - EvaluationTarget specifies the target value for the references KeptnMetric. - Needs to start with either '<' or '>', followed by the target value (e.g. '<10'). - type: string - keptnMetricRef: - description: KeptnMetricRef references the KeptnMetric that - should be evaluated. - properties: - name: - description: Name is the name of the referenced KeptnMetric. - type: string - namespace: - description: Namespace is the namespace where the referenced - KeptnMetric is located. - type: string - required: - - name - type: object - required: - - evaluationTarget - - keptnMetricRef - type: object - type: array - required: - - objectives - type: object - status: - description: unused field - type: string - type: object - served: true - storage: false - subresources: - status: {} - - name: v1beta1 + - additionalPrinterColumns: + - jsonPath: .spec.appName + name: AppName + type: string + - jsonPath: .spec.appVersion + name: AppVersion + type: string + - jsonPath: .spec.workload + name: WorkloadName + type: string + - jsonPath: .spec.workloadVersion + name: WorkloadVersion + type: string + - jsonPath: .status.retryCount + name: RetryCount + type: string + - jsonPath: .status.evaluationStatus + name: EvaluationStatus + type: string + - jsonPath: .status.overallStatus + name: OverallStatus + type: string + name: v1beta1 schema: openAPIV3Schema: - description: KeptnEvaluationDefinition is the Schema for the keptnevaluationdefinitions - API + description: KeptnEvaluation is the Schema for the keptnevaluations API properties: apiVersion: description: |- @@ -2866,38 +2814,29 @@ spec: metadata: type: object spec: - description: Spec describes the desired state of the KeptnEvaluationDefinition. + description: Spec describes the desired state of the KeptnEvaluation. properties: - objectives: + appName: + description: AppName defines the KeptnApp for which the KeptnEvaluation + is done. + type: string + appVersion: + description: AppVersion defines the version of the KeptnApp for which + the KeptnEvaluation is done. + type: string + checkType: + description: Type indicates whether the KeptnEvaluation is part of + the pre- or postDeployment phase. + type: string + evaluationDefinition: description: |- - Objectives is a list of objectives that have to be met for a KeptnEvaluation referencing this - KeptnEvaluationDefinition to be successful. - items: - properties: - evaluationTarget: - description: |- - EvaluationTarget specifies the target value for the references KeptnMetric. - Needs to start with either '<' or '>', followed by the target value (e.g. '<10'). - type: string - keptnMetricRef: - description: KeptnMetricRef references the KeptnMetric that - should be evaluated. - properties: - name: - description: Name is the name of the referenced KeptnMetric. - type: string - namespace: - description: Namespace is the namespace where the referenced - KeptnMetric is located. - type: string - required: - - name - type: object - required: - - evaluationTarget - - keptnMetricRef - type: object - type: array + EvaluationDefinition refers to the name of the KeptnEvaluationDefinition + which includes the objectives for the KeptnEvaluation. + The KeptnEvaluationDefinition can be + located in the same namespace as the KeptnEvaluation, or in the Keptn namespace. + type: string + failAction: + type: string retries: default: 10 description: |- @@ -2911,23 +2850,83 @@ spec: or a missed objective. pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ type: string + workload: + description: Workload defines the KeptnWorkload for which the KeptnEvaluation + is done. + type: string + workloadVersion: + description: WorkloadVersion defines the version of the KeptnWorkload + for which the KeptnEvaluation is done. + type: string required: - - objectives + - evaluationDefinition + - workloadVersion type: object status: - description: unused field - type: string + description: Status describes the current state of the KeptnEvaluation. + properties: + endTime: + description: EndTime represents the time at which the KeptnEvaluation + finished. + format: date-time + type: string + evaluationStatus: + additionalProperties: + properties: + message: + description: |- + Message contains additional information about the evaluation of an objective. + This can include explanations about why an evaluation has failed (e.g. due to a missed objective), + or if there was any error during the evaluation of the objective. + type: string + status: + description: Status indicates the status of the objective being + evaluated. + type: string + value: + description: Value represents the value of the KeptnMetric being + evaluated. + type: string + required: + - status + - value + type: object + description: |- + EvaluationStatus describes the status of each objective of the KeptnEvaluationDefinition + referenced by the KeptnEvaluation. + type: object + overallStatus: + default: Pending + description: |- + OverallStatus describes the overall status of the KeptnEvaluation. The Overall status is derived + from the status of the individual objectives of the KeptnEvaluationDefinition + referenced by the KeptnEvaluation. + type: string + retryCount: + default: 0 + description: RetryCount indicates how many times the KeptnEvaluation + has been attempted already. + type: integer + startTime: + description: StartTime represents the time at which the KeptnEvaluation + started. + format: date-time + type: string + required: + - evaluationStatus + - overallStatus + - retryCount + type: object type: object served: true storage: true subresources: status: {} --- -# Source: keptn/charts/lifecycleOperator/templates/keptntask-crd.yaml +# Source: keptn/charts/lifecycleOperator/templates/operator-crd.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: keptntasks.lifecycle.keptn.sh annotations: controller-gen.kubebuilder.io/version: v0.14.0 cert-manager.io/inject-ca-from: helmtests/keptn-certs @@ -2940,38 +2939,21 @@ metadata: app.kubernetes.io/name: lifecycle-operator app.kubernetes.io/version: vmyversion helm.sh/chart: lifecycle-operator-0.2.1 + name: keptntaskdefinitions.lifecycle.keptn.sh spec: group: lifecycle.keptn.sh names: - kind: KeptnTask - listKind: KeptnTaskList - plural: keptntasks - singular: keptntask + kind: KeptnTaskDefinition + listKind: KeptnTaskDefinitionList + plural: keptntaskdefinitions + singular: keptntaskdefinition scope: Namespaced versions: - - additionalPrinterColumns: - - jsonPath: .spec.app - name: AppName - type: string - - jsonPath: .spec.appVersion - name: AppVersion - type: string - - jsonPath: .spec.workload - name: WorkloadName - type: string - - jsonPath: .spec.workloadVersion - name: WorkloadVersion - type: string - - jsonPath: .status.jobName - name: Job Name - type: string - - jsonPath: .status.status - name: Status - type: string - name: v1alpha1 + - name: v1alpha1 schema: openAPIV3Schema: - description: KeptnTask is the Schema for the keptntasks API + description: KeptnTaskDefinition is the Schema for the keptntaskdefinitions + API properties: apiVersion: description: |- @@ -2991,108 +2973,63 @@ spec: metadata: type: object spec: - description: KeptnTaskSpec defines the desired state of KeptnTask + description: KeptnTaskDefinitionSpec defines the desired state of KeptnTaskDefinition properties: - app: - type: string - appVersion: - type: string - checkType: - type: string - context: + function: properties: - appName: - type: string - appVersion: - type: string - objectType: - type: string - taskType: - type: string - workloadName: - type: string - workloadVersion: - type: string - required: - - appName - - appVersion - - objectType - - taskType - - workloadName - - workloadVersion - type: object - parameters: - properties: - map: - additionalProperties: - type: string + configMapRef: + properties: + name: + type: string + type: object + functionRef: + properties: + name: + type: string + type: object + httpRef: + properties: + url: + type: string + type: object + inline: + properties: + code: + type: string + type: object + parameters: + properties: + map: + additionalProperties: + type: string + type: object + type: object + secureParameters: + properties: + secret: + type: string type: object type: object - secureParameters: - properties: - secret: - type: string - type: object - taskDefinition: - type: string - workload: - type: string - workloadVersion: - type: string - required: - - app - - appVersion - - context - - taskDefinition - - workload - - workloadVersion type: object status: - description: KeptnTaskStatus defines the observed state of KeptnTask + description: KeptnTaskDefinitionStatus defines the observed state of KeptnTaskDefinition properties: - endTime: - format: date-time - type: string - jobName: - type: string - message: - type: string - startTime: - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string + function: + properties: + configMap: + type: string + type: object type: object type: object served: true storage: false subresources: status: {} - - additionalPrinterColumns: - - jsonPath: .spec.app - name: AppName - type: string - - jsonPath: .spec.appVersion - name: AppVersion - type: string - - jsonPath: .spec.workload - name: WorkloadName - type: string - - jsonPath: .spec.workloadVersion - name: WorkloadVersion - type: string - - jsonPath: .status.jobName - name: Job Name - type: string - - jsonPath: .status.status - name: Status - type: string - name: v1alpha2 + - name: v1alpha2 schema: openAPIV3Schema: - description: KeptnTask is the Schema for the keptntasks API + description: KeptnTaskDefinition is the Schema for the keptntaskdefinitions + API properties: apiVersion: description: |- @@ -3112,108 +3049,63 @@ spec: metadata: type: object spec: - description: KeptnTaskSpec defines the desired state of KeptnTask + description: KeptnTaskDefinitionSpec defines the desired state of KeptnTaskDefinition properties: - app: - type: string - appVersion: - type: string - checkType: - type: string - context: - properties: - appName: - type: string - appVersion: - type: string - objectType: - type: string - taskType: - type: string - workloadName: - type: string - workloadVersion: - type: string - required: - - appName - - appVersion - - objectType - - taskType - - workloadName - - workloadVersion - type: object - parameters: + function: properties: - map: - additionalProperties: - type: string + configMapRef: + properties: + name: + type: string + type: object + functionRef: + properties: + name: + type: string + type: object + httpRef: + properties: + url: + type: string + type: object + inline: + properties: + code: + type: string + type: object + parameters: + properties: + map: + additionalProperties: + type: string + type: object + type: object + secureParameters: + properties: + secret: + type: string type: object type: object - secureParameters: - properties: - secret: - type: string - type: object - taskDefinition: - type: string - workload: - type: string - workloadVersion: - type: string - required: - - app - - appVersion - - context - - taskDefinition - - workload - - workloadVersion type: object status: - description: KeptnTaskStatus defines the observed state of KeptnTask + description: KeptnTaskDefinitionStatus defines the observed state of KeptnTaskDefinition properties: - endTime: - format: date-time - type: string - jobName: - type: string - message: - type: string - startTime: - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string + function: + properties: + configMap: + type: string + type: object type: object type: object served: true storage: false subresources: status: {} - - additionalPrinterColumns: - - jsonPath: .spec.app - name: AppName - type: string - - jsonPath: .spec.appVersion - name: AppVersion - type: string - - jsonPath: .spec.workload - name: WorkloadName - type: string - - jsonPath: .spec.workloadVersion - name: WorkloadVersion - type: string - - jsonPath: .status.jobName - name: Job Name - type: string - - jsonPath: .status.status - name: Status - type: string - name: v1alpha3 + - name: v1alpha3 schema: openAPIV3Schema: - description: KeptnTask is the Schema for the keptntasks API + description: KeptnTaskDefinition is the Schema for the keptntaskdefinitions + API properties: apiVersion: description: |- @@ -3233,540 +3125,49 @@ spec: metadata: type: object spec: - description: Spec describes the desired state of the KeptnTask. + description: Spec describes the desired state of the KeptnTaskDefinition. properties: - checkType: - description: Type indicates whether the KeptnTask is part of the pre- - or postDeployment phase. - type: string - context: - description: Context contains contextual information about the task - execution. + automountServiceAccountToken: + description: |- + AutomountServiceAccountToken allows to enable K8s to assign cluster API credentials to a pod, if set to false + the pod will decline the service account properties: - appName: - description: AppName the name of the KeptnApp the KeptnTask is - being executed for. - type: string - appVersion: - description: AppVersion the version of the KeptnApp the KeptnTask - is being executed for. - type: string - objectType: - description: ObjectType indicates whether the KeptnTask is being - executed for a KeptnApp or KeptnWorkload. - type: string - taskType: - description: TaskType indicates whether the KeptnTask is part - of the pre- or postDeployment phase. - type: string - workloadName: - description: WorkloadName the name of the KeptnWorkload the KeptnTask - is being executed for. - type: string - workloadVersion: - description: WorkloadVersion the version of the KeptnWorkload - the KeptnTask is being executed for. - type: string - type: object - parameters: - description: Parameters contains parameters that will be passed to - the job that executes the task. - properties: - map: - additionalProperties: - type: string - description: |- - Inline contains the parameters that will be made available to the job - executing the KeptnTask via the 'DATA' environment variable. - The 'DATA' environment variable's content will be a json - encoded string containing all properties of the map provided. - type: object + type: + type: boolean + required: + - type type: object - retries: - default: 10 - description: |- - Retries indicates how many times the KeptnTask can be attempted in the case of an error - before considering the KeptnTask to be failed. - format: int32 - type: integer - secureParameters: - description: |- - SecureParameters contains secure parameters that will be passed to the job that executes the task. - These will be stored and accessed as secrets in the cluster. + container: + description: Container contains the definition for the container that + is to be used in Job. properties: - secret: + args: description: |- - Secret contains the parameters that will be made available to the job - executing the KeptnTask via the 'SECRET_DATA' environment variable. - The 'SECRET_DATA' environment variable's content will the same as value of the 'SECRET_DATA' - key of the referenced secret. - type: string - type: object - taskDefinition: - description: |- - TaskDefinition refers to the name of the KeptnTaskDefinition - which includes the specification for the task to be performed. - The KeptnTaskDefinition can be - located in the same namespace as the KeptnTask, or in the Keptn namespace. - type: string - timeout: - default: 5m - description: |- - Timeout specifies the maximum time to wait for the task to be completed successfully. - If the task does not complete successfully within this time frame, it will be - considered to be failed. - pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ - type: string - required: - - taskDefinition - type: object - status: - description: Status describes the current state of the KeptnTask. - properties: - endTime: - description: EndTime represents the time at which the KeptnTask finished. - format: date-time - type: string - jobName: - description: JobName is the name of the Job executing the Task. - type: string - message: - description: Message contains information about unexpected errors - encountered during the execution of the KeptnTask. - type: string - reason: - description: Reason contains more information about the reason for - the last transition of the Job executing the KeptnTask. - type: string - startTime: - description: StartTime represents the time at which the KeptnTask - started. - format: date-time - type: string - status: - default: Pending - description: Status represents the overall state of the KeptnTask. - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .spec.app - name: AppName - type: string - - jsonPath: .spec.appVersion - name: AppVersion - type: string - - jsonPath: .spec.workload - name: WorkloadName - type: string - - jsonPath: .spec.workloadVersion - name: WorkloadVersion - type: string - - jsonPath: .status.jobName - name: Job Name - type: string - - jsonPath: .status.status - name: Status - type: string - name: v1beta1 - schema: - openAPIV3Schema: - description: KeptnTask is the Schema for the keptntasks API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Spec describes the desired state of the KeptnTask. - properties: - checkType: - description: Type indicates whether the KeptnTask is part of the pre- - or postDeployment phase. - type: string - context: - description: Context contains contextual information about the task - execution. - properties: - appName: - description: AppName the name of the KeptnApp the KeptnTask is - being executed for. - type: string - appVersion: - description: AppVersion the version of the KeptnApp the KeptnTask - is being executed for. - type: string - metadata: - additionalProperties: - type: string - description: Metadata contains additional key-value pairs for - contextual information. - type: object - objectType: - description: ObjectType indicates whether the KeptnTask is being - executed for a KeptnApp or KeptnWorkload. - type: string - taskType: - description: TaskType indicates whether the KeptnTask is part - of the pre- or postDeployment phase. - type: string - workloadName: - description: WorkloadName the name of the KeptnWorkload the KeptnTask - is being executed for. - type: string - workloadVersion: - description: WorkloadVersion the version of the KeptnWorkload - the KeptnTask is being executed for. - type: string - type: object - parameters: - description: Parameters contains parameters that will be passed to - the job that executes the task. - properties: - map: - additionalProperties: + Arguments to the entrypoint. + The container image's CMD is used if this is not provided. + Variable references $(VAR_NAME) are expanded using the container's environment. If a variable + cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will + produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless + of whether the variable exists or not. Cannot be updated. + More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell + items: type: string + type: array + command: description: |- - Inline contains the parameters that will be made available to the job - executing the KeptnTask via the 'DATA' environment variable. - The 'DATA' environment variable's content will be a json - encoded string containing all properties of the map provided. - type: object - type: object - retries: - default: 10 - description: |- - Retries indicates how many times the KeptnTask can be attempted in the case of an error - before considering the KeptnTask to be failed. - format: int32 - type: integer - secureParameters: - description: |- - SecureParameters contains secure parameters that will be passed to the job that executes the task. - These will be stored and accessed as secrets in the cluster. - properties: - secret: - description: |- - Secret contains the parameters that will be made available to the job - executing the KeptnTask via the 'SECRET_DATA' environment variable. - The 'SECRET_DATA' environment variable's content will the same as value of the 'SECRET_DATA' - key of the referenced secret. - type: string - type: object - taskDefinition: - description: |- - TaskDefinition refers to the name of the KeptnTaskDefinition - which includes the specification for the task to be performed. - The KeptnTaskDefinition can be - located in the same namespace as the KeptnTask, or in the Keptn namespace. - type: string - timeout: - default: 5m - description: |- - Timeout specifies the maximum time to wait for the task to be completed successfully. - If the task does not complete successfully within this time frame, it will be - considered to be failed. - pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ - type: string - required: - - taskDefinition - type: object - status: - description: Status describes the current state of the KeptnTask. - properties: - endTime: - description: EndTime represents the time at which the KeptnTask finished. - format: date-time - type: string - jobName: - description: JobName is the name of the Job executing the Task. - type: string - message: - description: Message contains information about unexpected errors - encountered during the execution of the KeptnTask. - type: string - reason: - description: Reason contains more information about the reason for - the last transition of the Job executing the KeptnTask. - type: string - startTime: - description: StartTime represents the time at which the KeptnTask - started. - format: date-time - type: string - status: - default: Pending - description: Status represents the overall state of the KeptnTask. - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} ---- -# Source: keptn/charts/lifecycleOperator/templates/keptntaskdefinition-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptntaskdefinitions.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.14.0 - cert-manager.io/inject-ca-from: helmtests/keptn-certs - labels: - app.kubernetes.io/part-of: keptn - crdGroup: lifecycle.keptn.sh - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: vmyversion - helm.sh/chart: lifecycle-operator-0.2.1 -spec: - group: lifecycle.keptn.sh - names: - kind: KeptnTaskDefinition - listKind: KeptnTaskDefinitionList - plural: keptntaskdefinitions - singular: keptntaskdefinition - scope: Namespaced - versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - description: KeptnTaskDefinition is the Schema for the keptntaskdefinitions - API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: KeptnTaskDefinitionSpec defines the desired state of KeptnTaskDefinition - properties: - function: - properties: - configMapRef: - properties: - name: - type: string - type: object - functionRef: - properties: - name: - type: string - type: object - httpRef: - properties: - url: - type: string - type: object - inline: - properties: - code: - type: string - type: object - parameters: - properties: - map: - additionalProperties: - type: string - type: object - type: object - secureParameters: - properties: - secret: - type: string - type: object - type: object - type: object - status: - description: KeptnTaskDefinitionStatus defines the observed state of KeptnTaskDefinition - properties: - function: - properties: - configMap: - type: string - type: object - type: object - type: object - served: true - storage: false - subresources: - status: {} - - name: v1alpha2 - schema: - openAPIV3Schema: - description: KeptnTaskDefinition is the Schema for the keptntaskdefinitions - API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: KeptnTaskDefinitionSpec defines the desired state of KeptnTaskDefinition - properties: - function: - properties: - configMapRef: - properties: - name: - type: string - type: object - functionRef: - properties: - name: - type: string - type: object - httpRef: - properties: - url: - type: string - type: object - inline: - properties: - code: - type: string - type: object - parameters: - properties: - map: - additionalProperties: - type: string - type: object - type: object - secureParameters: - properties: - secret: - type: string - type: object - type: object - type: object - status: - description: KeptnTaskDefinitionStatus defines the observed state of KeptnTaskDefinition - properties: - function: - properties: - configMap: - type: string - type: object - type: object - type: object - served: true - storage: false - subresources: - status: {} - - name: v1alpha3 - schema: - openAPIV3Schema: - description: KeptnTaskDefinition is the Schema for the keptntaskdefinitions - API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Spec describes the desired state of the KeptnTaskDefinition. - properties: - automountServiceAccountToken: - description: |- - AutomountServiceAccountToken allows to enable K8s to assign cluster API credentials to a pod, if set to false - the pod will decline the service account - properties: - type: - type: boolean - required: - - type - type: object - container: - description: Container contains the definition for the container that - is to be used in Job. - properties: - args: - description: |- - Arguments to the entrypoint. - The container image's CMD is used if this is not provided. - Variable references $(VAR_NAME) are expanded using the container's environment. If a variable - cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced - to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will - produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless - of whether the variable exists or not. Cannot be updated. - More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell - items: - type: string - type: array - command: - description: |- - Entrypoint array. Not executed within a shell. - The container image's ENTRYPOINT is used if this is not provided. - Variable references $(VAR_NAME) are expanded using the container's environment. If a variable - cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced - to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will - produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless - of whether the variable exists or not. Cannot be updated. - More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell - items: - type: string - type: array - env: + Entrypoint array. Not executed within a shell. + The container image's ENTRYPOINT is used if this is not provided. + Variable references $(VAR_NAME) are expanded using the container's environment. If a variable + cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will + produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless + of whether the variable exists or not. Cannot be updated. + More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell + items: + type: string + type: array + env: description: |- List of environment variables to set in the container. Cannot be updated. @@ -6370,564 +5771,1153 @@ spec: type: object windowsOptions: description: |- - The Windows specific settings applied to all containers. - If unspecified, the options from the PodSecurityContext will be used. - If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. - Note that this field cannot be set when spec.os.name is linux. + The Windows specific settings applied to all containers. + If unspecified, the options from the PodSecurityContext will be used. + If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + Note that this field cannot be set when spec.os.name is linux. + properties: + gmsaCredentialSpec: + description: |- + GMSACredentialSpec is where the GMSA admission webhook + (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the + GMSA credential spec named by the GMSACredentialSpecName field. + type: string + gmsaCredentialSpecName: + description: GMSACredentialSpecName is the name of the + GMSA credential spec to use. + type: string + hostProcess: + description: |- + HostProcess determines if a container should be run as a 'Host Process' container. + All of a Pod's containers must have the same effective HostProcess value + (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). + In addition, if HostProcess is true then HostNetwork must also be set to true. + type: boolean + runAsUserName: + description: |- + The UserName in Windows to run the entrypoint of the container process. + Defaults to the user specified in image metadata if unspecified. + May also be set in PodSecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext takes precedence. + type: string + type: object + type: object + startupProbe: + description: |- + StartupProbe indicates that the Pod has successfully initialized. + If specified, no other probes are executed until this completes successfully. + If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. + This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, + when it might take a long time to load data or warm a cache, than during steady-state operation. + This cannot be updated. + More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + properties: + exec: + description: Exec specifies the action to take. + properties: + command: + description: |- + Command is the command line to execute inside the container, the working directory for the + command is root ('/') in the container's filesystem. The command is simply exec'd, it is + not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use + a shell, you need to explicitly call out to that shell. + Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + items: + type: string + type: array + type: object + failureThreshold: + description: |- + Minimum consecutive failures for the probe to be considered failed after having succeeded. + Defaults to 3. Minimum value is 1. + format: int32 + type: integer + grpc: + description: GRPC specifies an action involving a GRPC port. + properties: + port: + description: Port number of the gRPC service. Number must + be in the range 1 to 65535. + format: int32 + type: integer + service: + description: |- + Service is the name of the service to place in the gRPC HealthCheckRequest + (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + + + If this is not specified, the default behavior is defined by gRPC. + type: string + required: + - port + type: object + httpGet: + description: HTTPGet specifies the http request to perform. + properties: + host: + description: |- + Host name to connect to, defaults to the pod IP. You probably want to set + "Host" in httpHeaders instead. + type: string + httpHeaders: + description: Custom headers to set in the request. HTTP + allows repeated headers. + items: + description: HTTPHeader describes a custom header to + be used in HTTP probes + properties: + name: + description: |- + The header field name. + This will be canonicalized upon output, so case-variant names will be understood as the same header. + type: string + value: + description: The header field value + type: string + required: + - name + - value + type: object + type: array + path: + description: Path to access on the HTTP server. + type: string + port: + anyOf: + - type: integer + - type: string + description: |- + Name or number of the port to access on the container. + Number must be in the range 1 to 65535. + Name must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + scheme: + description: |- + Scheme to use for connecting to the host. + Defaults to HTTP. + type: string + required: + - port + type: object + initialDelaySeconds: + description: |- + Number of seconds after the container has started before liveness probes are initiated. + More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + format: int32 + type: integer + periodSeconds: + description: |- + How often (in seconds) to perform the probe. + Default to 10 seconds. Minimum value is 1. + format: int32 + type: integer + successThreshold: + description: |- + Minimum consecutive successes for the probe to be considered successful after having failed. + Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + format: int32 + type: integer + tcpSocket: + description: TCPSocket specifies an action involving a TCP + port. properties: - gmsaCredentialSpec: - description: |- - GMSACredentialSpec is where the GMSA admission webhook - (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the - GMSA credential spec named by the GMSACredentialSpecName field. - type: string - gmsaCredentialSpecName: - description: GMSACredentialSpecName is the name of the - GMSA credential spec to use. + host: + description: 'Optional: Host name to connect to, defaults + to the pod IP.' type: string - hostProcess: - description: |- - HostProcess determines if a container should be run as a 'Host Process' container. - All of a Pod's containers must have the same effective HostProcess value - (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). - In addition, if HostProcess is true then HostNetwork must also be set to true. - type: boolean - runAsUserName: + port: + anyOf: + - type: integer + - type: string description: |- - The UserName in Windows to run the entrypoint of the container process. - Defaults to the user specified in image metadata if unspecified. - May also be set in PodSecurityContext. If set in both SecurityContext and - PodSecurityContext, the value specified in SecurityContext takes precedence. - type: string + Number or name of the port to access on the container. + Number must be in the range 1 to 65535. + Name must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + required: + - port type: object + terminationGracePeriodSeconds: + description: |- + Optional duration in seconds the pod needs to terminate gracefully upon probe failure. + The grace period is the duration in seconds after the processes running in the pod are sent + a termination signal and the time when the processes are forcibly halted with a kill signal. + Set this value longer than the expected cleanup time for your process. + If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this + value overrides the value provided by the pod spec. + Value must be non-negative integer. The value zero indicates stop immediately via + the kill signal (no opportunity to shut down). + This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. + Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + format: int64 + type: integer + timeoutSeconds: + description: |- + Number of seconds after which the probe times out. + Defaults to 1 second. Minimum value is 1. + More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + format: int32 + type: integer type: object - startupProbe: + stdin: description: |- - StartupProbe indicates that the Pod has successfully initialized. - If specified, no other probes are executed until this completes successfully. - If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. - This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, - when it might take a long time to load data or warm a cache, than during steady-state operation. - This cannot be updated. - More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + Whether this container should allocate a buffer for stdin in the container runtime. If this + is not set, reads from stdin in the container will always result in EOF. + Default is false. + type: boolean + stdinOnce: + description: |- + Whether the container runtime should close the stdin channel after it has been opened by + a single attach. When stdin is true the stdin stream will remain open across multiple attach + sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the + first client attaches to stdin, and then remains open and accepts data until the client disconnects, + at which time stdin is closed and remains closed until the container is restarted. If this + flag is false, a container processes that reads from stdin will never receive an EOF. + Default is false + type: boolean + terminationMessagePath: + description: |- + Optional: Path at which the file to which the container's termination message + will be written is mounted into the container's filesystem. + Message written is intended to be brief final status, such as an assertion failure message. + Will be truncated by the node if greater than 4096 bytes. The total message length across + all containers will be limited to 12kb. + Defaults to /dev/termination-log. + Cannot be updated. + type: string + terminationMessagePolicy: + description: |- + Indicate how the termination message should be populated. File will use the contents of + terminationMessagePath to populate the container status message on both success and failure. + FallbackToLogsOnError will use the last chunk of container log output if the termination + message file is empty and the container exited with an error. + The log output is limited to 2048 bytes or 80 lines, whichever is smaller. + Defaults to File. + Cannot be updated. + type: string + tty: + description: |- + Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. + Default is false. + type: boolean + volumeDevices: + description: volumeDevices is the list of block devices to be + used by the container. + items: + description: volumeDevice describes a mapping of a raw block + device within a container. + properties: + devicePath: + description: devicePath is the path inside of the container + that the device will be mapped to. + type: string + name: + description: name must match the name of a persistentVolumeClaim + in the pod + type: string + required: + - devicePath + - name + type: object + type: array + volumeMounts: + description: |- + Pod volumes to mount into the container's filesystem. + Cannot be updated. + items: + description: VolumeMount describes a mounting of a Volume within + a container. + properties: + mountPath: + description: |- + Path within the container at which the volume should be mounted. Must + not contain ':'. + type: string + mountPropagation: + description: |- + mountPropagation determines how mounts are propagated from the host + to container and the other way around. + When not set, MountPropagationNone is used. + This field is beta in 1.10. + type: string + name: + description: This must match the Name of a Volume. + type: string + readOnly: + description: |- + Mounted read-only if true, read-write otherwise (false or unspecified). + Defaults to false. + type: boolean + subPath: + description: |- + Path within the volume from which the container's volume should be mounted. + Defaults to "" (volume's root). + type: string + subPathExpr: + description: |- + Expanded path within the volume from which the container's volume should be mounted. + Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. + Defaults to "" (volume's root). + SubPathExpr and SubPath are mutually exclusive. + type: string + required: + - mountPath + - name + type: object + type: array + workingDir: + description: |- + Container's working directory. + If not specified, the container runtime's default will be used, which + might be configured in the container image. + Cannot be updated. + type: string + required: + - name + type: object + deno: + description: Deno contains the definition for the Deno function that + is to be executed in KeptnTasks. + properties: + cmdParameters: + description: CmdParameters contains parameters that will be passed + to the command + type: string + configMapRef: + description: |- + ConfigMapReference allows to reference a ConfigMap containing the code of the function. + When referencing a ConfigMap, the code of the function must be available as a value of the 'code' key + of the referenced ConfigMap. properties: - exec: - description: Exec specifies the action to take. - properties: - command: - description: |- - Command is the command line to execute inside the container, the working directory for the - command is root ('/') in the container's filesystem. The command is simply exec'd, it is - not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use - a shell, you need to explicitly call out to that shell. - Exit status of 0 is treated as live/healthy and non-zero is unhealthy. - items: - type: string - type: array - type: object - failureThreshold: + name: + description: Name is the name of the referenced ConfigMap. + type: string + type: object + functionRef: + description: |- + FunctionReference allows to reference another KeptnTaskDefinition which contains the source code of the + function to be executes for KeptnTasks based on this KeptnTaskDefinition. This can be useful when you have + multiple KeptnTaskDefinitions that should execute the same logic, but each with different parameters. + properties: + name: + description: Name is the name of the referenced KeptnTaskDefinition. + type: string + type: object + httpRef: + description: HttpReference allows to point to an HTTP URL containing + the code of the function. + properties: + url: + description: Url is the URL containing the code of the function. + type: string + type: object + inline: + description: |- + Inline allows to specify the code that should be executed directly in the KeptnTaskDefinition, as a multi-line + string. + properties: + code: + description: Code contains the code of the function. + type: string + type: object + parameters: + description: Parameters contains parameters that will be passed + to the job that executes the task as env variables. + properties: + map: + additionalProperties: + type: string description: |- - Minimum consecutive failures for the probe to be considered failed after having succeeded. - Defaults to 3. Minimum value is 1. - format: int32 - type: integer - grpc: - description: GRPC specifies an action involving a GRPC port. - properties: - port: - description: Port number of the gRPC service. Number must - be in the range 1 to 65535. - format: int32 - type: integer - service: - description: |- - Service is the name of the service to place in the gRPC HealthCheckRequest - (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). - - - If this is not specified, the default behavior is defined by gRPC. - type: string - required: - - port - type: object - httpGet: - description: HTTPGet specifies the http request to perform. - properties: - host: - description: |- - Host name to connect to, defaults to the pod IP. You probably want to set - "Host" in httpHeaders instead. - type: string - httpHeaders: - description: Custom headers to set in the request. HTTP - allows repeated headers. - items: - description: HTTPHeader describes a custom header to - be used in HTTP probes - properties: - name: - description: |- - The header field name. - This will be canonicalized upon output, so case-variant names will be understood as the same header. - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: object - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: integer - - type: string - description: |- - Name or number of the port to access on the container. - Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - scheme: - description: |- - Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port + Inline contains the parameters that will be made available to the job + executing the KeptnTask via the 'DATA' environment variable. + The 'DATA' environment variable's content will be a json + encoded string containing all properties of the map provided. type: object - initialDelaySeconds: - description: |- - Number of seconds after the container has started before liveness probes are initiated. - More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes - format: int32 - type: integer - periodSeconds: + type: object + secureParameters: + description: |- + SecureParameters contains secure parameters that will be passed to the job that executes the task. + These will be stored and accessed as secrets in the cluster. + properties: + secret: description: |- - How often (in seconds) to perform the probe. - Default to 10 seconds. Minimum value is 1. - format: int32 - type: integer - successThreshold: + Secret contains the parameters that will be made available to the job + executing the KeptnTask via the 'SECRET_DATA' environment variable. + The 'SECRET_DATA' environment variable's content will the same as value of the 'SECRET_DATA' + key of the referenced secret. + type: string + type: object + type: object + function: + description: |- + Deprecated + Function contains the definition for the function that is to be executed in KeptnTasks. + properties: + cmdParameters: + description: CmdParameters contains parameters that will be passed + to the command + type: string + configMapRef: + description: |- + ConfigMapReference allows to reference a ConfigMap containing the code of the function. + When referencing a ConfigMap, the code of the function must be available as a value of the 'code' key + of the referenced ConfigMap. + properties: + name: + description: Name is the name of the referenced ConfigMap. + type: string + type: object + functionRef: + description: |- + FunctionReference allows to reference another KeptnTaskDefinition which contains the source code of the + function to be executes for KeptnTasks based on this KeptnTaskDefinition. This can be useful when you have + multiple KeptnTaskDefinitions that should execute the same logic, but each with different parameters. + properties: + name: + description: Name is the name of the referenced KeptnTaskDefinition. + type: string + type: object + httpRef: + description: HttpReference allows to point to an HTTP URL containing + the code of the function. + properties: + url: + description: Url is the URL containing the code of the function. + type: string + type: object + inline: + description: |- + Inline allows to specify the code that should be executed directly in the KeptnTaskDefinition, as a multi-line + string. + properties: + code: + description: Code contains the code of the function. + type: string + type: object + parameters: + description: Parameters contains parameters that will be passed + to the job that executes the task as env variables. + properties: + map: + additionalProperties: + type: string description: |- - Minimum consecutive successes for the probe to be considered successful after having failed. - Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. - format: int32 - type: integer - tcpSocket: - description: TCPSocket specifies an action involving a TCP - port. - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: integer - - type: string - description: |- - Number or name of the port to access on the container. - Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - required: - - port + Inline contains the parameters that will be made available to the job + executing the KeptnTask via the 'DATA' environment variable. + The 'DATA' environment variable's content will be a json + encoded string containing all properties of the map provided. type: object - terminationGracePeriodSeconds: - description: |- - Optional duration in seconds the pod needs to terminate gracefully upon probe failure. - The grace period is the duration in seconds after the processes running in the pod are sent - a termination signal and the time when the processes are forcibly halted with a kill signal. - Set this value longer than the expected cleanup time for your process. - If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this - value overrides the value provided by the pod spec. - Value must be non-negative integer. The value zero indicates stop immediately via - the kill signal (no opportunity to shut down). - This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. - Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. - format: int64 - type: integer - timeoutSeconds: + type: object + secureParameters: + description: |- + SecureParameters contains secure parameters that will be passed to the job that executes the task. + These will be stored and accessed as secrets in the cluster. + properties: + secret: description: |- - Number of seconds after which the probe times out. - Defaults to 1 second. Minimum value is 1. - More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes - format: int32 - type: integer + Secret contains the parameters that will be made available to the job + executing the KeptnTask via the 'SECRET_DATA' environment variable. + The 'SECRET_DATA' environment variable's content will the same as value of the 'SECRET_DATA' + key of the referenced secret. + type: string + type: object + type: object + imagePullSecrets: + description: ImagePullSecrets is an optional field to specify the + names of secrets to use for pulling container images + items: + description: |- + LocalObjectReference contains enough information to let you locate the + referenced object inside the same namespace. + properties: + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + type: object + x-kubernetes-map-type: atomic + type: array + python: + description: Python contains the definition for the python function + that is to be executed in KeptnTasks. + properties: + cmdParameters: + description: CmdParameters contains parameters that will be passed + to the command + type: string + configMapRef: + description: |- + ConfigMapReference allows to reference a ConfigMap containing the code of the function. + When referencing a ConfigMap, the code of the function must be available as a value of the 'code' key + of the referenced ConfigMap. + properties: + name: + description: Name is the name of the referenced ConfigMap. + type: string + type: object + functionRef: + description: |- + FunctionReference allows to reference another KeptnTaskDefinition which contains the source code of the + function to be executes for KeptnTasks based on this KeptnTaskDefinition. This can be useful when you have + multiple KeptnTaskDefinitions that should execute the same logic, but each with different parameters. + properties: + name: + description: Name is the name of the referenced KeptnTaskDefinition. + type: string type: object - stdin: - description: |- - Whether this container should allocate a buffer for stdin in the container runtime. If this - is not set, reads from stdin in the container will always result in EOF. - Default is false. - type: boolean - stdinOnce: + httpRef: + description: HttpReference allows to point to an HTTP URL containing + the code of the function. + properties: + url: + description: Url is the URL containing the code of the function. + type: string + type: object + inline: description: |- - Whether the container runtime should close the stdin channel after it has been opened by - a single attach. When stdin is true the stdin stream will remain open across multiple attach - sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the - first client attaches to stdin, and then remains open and accepts data until the client disconnects, - at which time stdin is closed and remains closed until the container is restarted. If this - flag is false, a container processes that reads from stdin will never receive an EOF. - Default is false - type: boolean - terminationMessagePath: + Inline allows to specify the code that should be executed directly in the KeptnTaskDefinition, as a multi-line + string. + properties: + code: + description: Code contains the code of the function. + type: string + type: object + parameters: + description: Parameters contains parameters that will be passed + to the job that executes the task as env variables. + properties: + map: + additionalProperties: + type: string + description: |- + Inline contains the parameters that will be made available to the job + executing the KeptnTask via the 'DATA' environment variable. + The 'DATA' environment variable's content will be a json + encoded string containing all properties of the map provided. + type: object + type: object + secureParameters: description: |- - Optional: Path at which the file to which the container's termination message - will be written is mounted into the container's filesystem. - Message written is intended to be brief final status, such as an assertion failure message. - Will be truncated by the node if greater than 4096 bytes. The total message length across - all containers will be limited to 12kb. - Defaults to /dev/termination-log. - Cannot be updated. + SecureParameters contains secure parameters that will be passed to the job that executes the task. + These will be stored and accessed as secrets in the cluster. + properties: + secret: + description: |- + Secret contains the parameters that will be made available to the job + executing the KeptnTask via the 'SECRET_DATA' environment variable. + The 'SECRET_DATA' environment variable's content will the same as value of the 'SECRET_DATA' + key of the referenced secret. + type: string + type: object + type: object + retries: + default: 10 + description: |- + Retries specifies how many times a job executing the KeptnTaskDefinition should be restarted in the case + of an unsuccessful attempt. + format: int32 + type: integer + serviceAccount: + description: ServiceAccount specifies the service account to be used + in jobs to authenticate with the Kubernetes API and access cluster + resources. + properties: + name: + type: string + required: + - name + type: object + timeout: + default: 5m + description: |- + Timeout specifies the maximum time to wait for the task to be completed successfully. + If the task does not complete successfully within this time frame, it will be + considered to be failed. + pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ + type: string + ttlSecondsAfterFinished: + default: 300 + description: |- + TTLSecondsAfterFinished controller makes a job eligible to be cleaned up after it is finished. + The timer starts when the status shows up to be Complete or Failed. + format: int32 + type: integer + type: object + status: + description: Status describes the current state of the KeptnTaskDefinition. + properties: + function: + description: Function contains status information of the function + definition for the task. + properties: + configMap: + description: ConfigMap indicates the ConfigMap in which the function + code is stored. + type: string + type: object + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +# Source: keptn/charts/lifecycleOperator/templates/operator-crd.yaml +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + cert-manager.io/inject-ca-from: helmtests/keptn-certs + labels: + app.kubernetes.io/part-of: keptn + crdGroup: lifecycle.keptn.sh + keptn.sh/inject-cert: "true" + app.kubernetes.io/instance: keptn-test + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: lifecycle-operator + app.kubernetes.io/version: vmyversion + helm.sh/chart: lifecycle-operator-0.2.1 + name: keptntasks.lifecycle.keptn.sh +spec: + group: lifecycle.keptn.sh + names: + kind: KeptnTask + listKind: KeptnTaskList + plural: keptntasks + singular: keptntask + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .spec.app + name: AppName + type: string + - jsonPath: .spec.appVersion + name: AppVersion + type: string + - jsonPath: .spec.workload + name: WorkloadName + type: string + - jsonPath: .spec.workloadVersion + name: WorkloadVersion + type: string + - jsonPath: .status.jobName + name: Job Name + type: string + - jsonPath: .status.status + name: Status + type: string + name: v1alpha1 + schema: + openAPIV3Schema: + description: KeptnTask is the Schema for the keptntasks API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: KeptnTaskSpec defines the desired state of KeptnTask + properties: + app: + type: string + appVersion: + type: string + checkType: + type: string + context: + properties: + appName: + type: string + appVersion: + type: string + objectType: + type: string + taskType: + type: string + workloadName: + type: string + workloadVersion: + type: string + required: + - appName + - appVersion + - objectType + - taskType + - workloadName + - workloadVersion + type: object + parameters: + properties: + map: + additionalProperties: + type: string + type: object + type: object + secureParameters: + properties: + secret: + type: string + type: object + taskDefinition: + type: string + workload: + type: string + workloadVersion: + type: string + required: + - app + - appVersion + - context + - taskDefinition + - workload + - workloadVersion + type: object + status: + description: KeptnTaskStatus defines the observed state of KeptnTask + properties: + endTime: + format: date-time + type: string + jobName: + type: string + message: + type: string + startTime: + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .spec.app + name: AppName + type: string + - jsonPath: .spec.appVersion + name: AppVersion + type: string + - jsonPath: .spec.workload + name: WorkloadName + type: string + - jsonPath: .spec.workloadVersion + name: WorkloadVersion + type: string + - jsonPath: .status.jobName + name: Job Name + type: string + - jsonPath: .status.status + name: Status + type: string + name: v1alpha2 + schema: + openAPIV3Schema: + description: KeptnTask is the Schema for the keptntasks API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: KeptnTaskSpec defines the desired state of KeptnTask + properties: + app: + type: string + appVersion: + type: string + checkType: + type: string + context: + properties: + appName: type: string - terminationMessagePolicy: - description: |- - Indicate how the termination message should be populated. File will use the contents of - terminationMessagePath to populate the container status message on both success and failure. - FallbackToLogsOnError will use the last chunk of container log output if the termination - message file is empty and the container exited with an error. - The log output is limited to 2048 bytes or 80 lines, whichever is smaller. - Defaults to File. - Cannot be updated. + appVersion: type: string - tty: - description: |- - Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. - Default is false. - type: boolean - volumeDevices: - description: volumeDevices is the list of block devices to be - used by the container. - items: - description: volumeDevice describes a mapping of a raw block - device within a container. - properties: - devicePath: - description: devicePath is the path inside of the container - that the device will be mapped to. - type: string - name: - description: name must match the name of a persistentVolumeClaim - in the pod - type: string - required: - - devicePath - - name - type: object - type: array - volumeMounts: - description: |- - Pod volumes to mount into the container's filesystem. - Cannot be updated. - items: - description: VolumeMount describes a mounting of a Volume within - a container. - properties: - mountPath: - description: |- - Path within the container at which the volume should be mounted. Must - not contain ':'. - type: string - mountPropagation: - description: |- - mountPropagation determines how mounts are propagated from the host - to container and the other way around. - When not set, MountPropagationNone is used. - This field is beta in 1.10. - type: string - name: - description: This must match the Name of a Volume. - type: string - readOnly: - description: |- - Mounted read-only if true, read-write otherwise (false or unspecified). - Defaults to false. - type: boolean - subPath: - description: |- - Path within the volume from which the container's volume should be mounted. - Defaults to "" (volume's root). - type: string - subPathExpr: - description: |- - Expanded path within the volume from which the container's volume should be mounted. - Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. - Defaults to "" (volume's root). - SubPathExpr and SubPath are mutually exclusive. - type: string - required: - - mountPath - - name - type: object - type: array - workingDir: - description: |- - Container's working directory. - If not specified, the container runtime's default will be used, which - might be configured in the container image. - Cannot be updated. + objectType: + type: string + taskType: + type: string + workloadName: + type: string + workloadVersion: + type: string + required: + - appName + - appVersion + - objectType + - taskType + - workloadName + - workloadVersion + type: object + parameters: + properties: + map: + additionalProperties: + type: string + type: object + type: object + secureParameters: + properties: + secret: + type: string + type: object + taskDefinition: + type: string + workload: + type: string + workloadVersion: + type: string + required: + - app + - appVersion + - context + - taskDefinition + - workload + - workloadVersion + type: object + status: + description: KeptnTaskStatus defines the observed state of KeptnTask + properties: + endTime: + format: date-time + type: string + jobName: + type: string + message: + type: string + startTime: + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .spec.app + name: AppName + type: string + - jsonPath: .spec.appVersion + name: AppVersion + type: string + - jsonPath: .spec.workload + name: WorkloadName + type: string + - jsonPath: .spec.workloadVersion + name: WorkloadVersion + type: string + - jsonPath: .status.jobName + name: Job Name + type: string + - jsonPath: .status.status + name: Status + type: string + name: v1alpha3 + schema: + openAPIV3Schema: + description: KeptnTask is the Schema for the keptntasks API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Spec describes the desired state of the KeptnTask. + properties: + checkType: + description: Type indicates whether the KeptnTask is part of the pre- + or postDeployment phase. + type: string + context: + description: Context contains contextual information about the task + execution. + properties: + appName: + description: AppName the name of the KeptnApp the KeptnTask is + being executed for. + type: string + appVersion: + description: AppVersion the version of the KeptnApp the KeptnTask + is being executed for. + type: string + objectType: + description: ObjectType indicates whether the KeptnTask is being + executed for a KeptnApp or KeptnWorkload. + type: string + taskType: + description: TaskType indicates whether the KeptnTask is part + of the pre- or postDeployment phase. + type: string + workloadName: + description: WorkloadName the name of the KeptnWorkload the KeptnTask + is being executed for. + type: string + workloadVersion: + description: WorkloadVersion the version of the KeptnWorkload + the KeptnTask is being executed for. type: string - required: - - name type: object - deno: - description: Deno contains the definition for the Deno function that - is to be executed in KeptnTasks. + parameters: + description: Parameters contains parameters that will be passed to + the job that executes the task. properties: - cmdParameters: - description: CmdParameters contains parameters that will be passed - to the command - type: string - configMapRef: - description: |- - ConfigMapReference allows to reference a ConfigMap containing the code of the function. - When referencing a ConfigMap, the code of the function must be available as a value of the 'code' key - of the referenced ConfigMap. - properties: - name: - description: Name is the name of the referenced ConfigMap. - type: string - type: object - functionRef: - description: |- - FunctionReference allows to reference another KeptnTaskDefinition which contains the source code of the - function to be executes for KeptnTasks based on this KeptnTaskDefinition. This can be useful when you have - multiple KeptnTaskDefinitions that should execute the same logic, but each with different parameters. - properties: - name: - description: Name is the name of the referenced KeptnTaskDefinition. - type: string - type: object - httpRef: - description: HttpReference allows to point to an HTTP URL containing - the code of the function. - properties: - url: - description: Url is the URL containing the code of the function. - type: string - type: object - inline: - description: |- - Inline allows to specify the code that should be executed directly in the KeptnTaskDefinition, as a multi-line - string. - properties: - code: - description: Code contains the code of the function. - type: string - type: object - parameters: - description: Parameters contains parameters that will be passed - to the job that executes the task as env variables. - properties: - map: - additionalProperties: - type: string - description: |- - Inline contains the parameters that will be made available to the job - executing the KeptnTask via the 'DATA' environment variable. - The 'DATA' environment variable's content will be a json - encoded string containing all properties of the map provided. - type: object - type: object - secureParameters: + map: + additionalProperties: + type: string description: |- - SecureParameters contains secure parameters that will be passed to the job that executes the task. - These will be stored and accessed as secrets in the cluster. - properties: - secret: - description: |- - Secret contains the parameters that will be made available to the job - executing the KeptnTask via the 'SECRET_DATA' environment variable. - The 'SECRET_DATA' environment variable's content will the same as value of the 'SECRET_DATA' - key of the referenced secret. - type: string + Inline contains the parameters that will be made available to the job + executing the KeptnTask via the 'DATA' environment variable. + The 'DATA' environment variable's content will be a json + encoded string containing all properties of the map provided. type: object type: object - function: + retries: + default: 10 description: |- - Deprecated - Function contains the definition for the function that is to be executed in KeptnTasks. + Retries indicates how many times the KeptnTask can be attempted in the case of an error + before considering the KeptnTask to be failed. + format: int32 + type: integer + secureParameters: + description: |- + SecureParameters contains secure parameters that will be passed to the job that executes the task. + These will be stored and accessed as secrets in the cluster. properties: - cmdParameters: - description: CmdParameters contains parameters that will be passed - to the command - type: string - configMapRef: - description: |- - ConfigMapReference allows to reference a ConfigMap containing the code of the function. - When referencing a ConfigMap, the code of the function must be available as a value of the 'code' key - of the referenced ConfigMap. - properties: - name: - description: Name is the name of the referenced ConfigMap. - type: string - type: object - functionRef: - description: |- - FunctionReference allows to reference another KeptnTaskDefinition which contains the source code of the - function to be executes for KeptnTasks based on this KeptnTaskDefinition. This can be useful when you have - multiple KeptnTaskDefinitions that should execute the same logic, but each with different parameters. - properties: - name: - description: Name is the name of the referenced KeptnTaskDefinition. - type: string - type: object - httpRef: - description: HttpReference allows to point to an HTTP URL containing - the code of the function. - properties: - url: - description: Url is the URL containing the code of the function. - type: string - type: object - inline: - description: |- - Inline allows to specify the code that should be executed directly in the KeptnTaskDefinition, as a multi-line - string. - properties: - code: - description: Code contains the code of the function. - type: string - type: object - parameters: - description: Parameters contains parameters that will be passed - to the job that executes the task as env variables. - properties: - map: - additionalProperties: - type: string - description: |- - Inline contains the parameters that will be made available to the job - executing the KeptnTask via the 'DATA' environment variable. - The 'DATA' environment variable's content will be a json - encoded string containing all properties of the map provided. - type: object - type: object - secureParameters: + secret: description: |- - SecureParameters contains secure parameters that will be passed to the job that executes the task. - These will be stored and accessed as secrets in the cluster. - properties: - secret: - description: |- - Secret contains the parameters that will be made available to the job - executing the KeptnTask via the 'SECRET_DATA' environment variable. - The 'SECRET_DATA' environment variable's content will the same as value of the 'SECRET_DATA' - key of the referenced secret. - type: string - type: object + Secret contains the parameters that will be made available to the job + executing the KeptnTask via the 'SECRET_DATA' environment variable. + The 'SECRET_DATA' environment variable's content will the same as value of the 'SECRET_DATA' + key of the referenced secret. + type: string type: object - imagePullSecrets: - description: ImagePullSecrets is an optional field to specify the - names of secrets to use for pulling container images - items: - description: |- - LocalObjectReference contains enough information to let you locate the - referenced object inside the same namespace. - properties: - name: - description: |- - Name of the referent. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid? - type: string - type: object - x-kubernetes-map-type: atomic - type: array - python: - description: Python contains the definition for the python function - that is to be executed in KeptnTasks. + taskDefinition: + description: |- + TaskDefinition refers to the name of the KeptnTaskDefinition + which includes the specification for the task to be performed. + The KeptnTaskDefinition can be + located in the same namespace as the KeptnTask, or in the Keptn namespace. + type: string + timeout: + default: 5m + description: |- + Timeout specifies the maximum time to wait for the task to be completed successfully. + If the task does not complete successfully within this time frame, it will be + considered to be failed. + pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ + type: string + required: + - taskDefinition + type: object + status: + description: Status describes the current state of the KeptnTask. + properties: + endTime: + description: EndTime represents the time at which the KeptnTask finished. + format: date-time + type: string + jobName: + description: JobName is the name of the Job executing the Task. + type: string + message: + description: Message contains information about unexpected errors + encountered during the execution of the KeptnTask. + type: string + reason: + description: Reason contains more information about the reason for + the last transition of the Job executing the KeptnTask. + type: string + startTime: + description: StartTime represents the time at which the KeptnTask + started. + format: date-time + type: string + status: + default: Pending + description: Status represents the overall state of the KeptnTask. + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .spec.app + name: AppName + type: string + - jsonPath: .spec.appVersion + name: AppVersion + type: string + - jsonPath: .spec.workload + name: WorkloadName + type: string + - jsonPath: .spec.workloadVersion + name: WorkloadVersion + type: string + - jsonPath: .status.jobName + name: Job Name + type: string + - jsonPath: .status.status + name: Status + type: string + name: v1beta1 + schema: + openAPIV3Schema: + description: KeptnTask is the Schema for the keptntasks API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Spec describes the desired state of the KeptnTask. + properties: + checkType: + description: Type indicates whether the KeptnTask is part of the pre- + or postDeployment phase. + type: string + context: + description: Context contains contextual information about the task + execution. properties: - cmdParameters: - description: CmdParameters contains parameters that will be passed - to the command + appName: + description: AppName the name of the KeptnApp the KeptnTask is + being executed for. type: string - configMapRef: - description: |- - ConfigMapReference allows to reference a ConfigMap containing the code of the function. - When referencing a ConfigMap, the code of the function must be available as a value of the 'code' key - of the referenced ConfigMap. - properties: - name: - description: Name is the name of the referenced ConfigMap. - type: string - type: object - functionRef: - description: |- - FunctionReference allows to reference another KeptnTaskDefinition which contains the source code of the - function to be executes for KeptnTasks based on this KeptnTaskDefinition. This can be useful when you have - multiple KeptnTaskDefinitions that should execute the same logic, but each with different parameters. - properties: - name: - description: Name is the name of the referenced KeptnTaskDefinition. - type: string - type: object - httpRef: - description: HttpReference allows to point to an HTTP URL containing - the code of the function. - properties: - url: - description: Url is the URL containing the code of the function. - type: string - type: object - inline: - description: |- - Inline allows to specify the code that should be executed directly in the KeptnTaskDefinition, as a multi-line - string. - properties: - code: - description: Code contains the code of the function. - type: string - type: object - parameters: - description: Parameters contains parameters that will be passed - to the job that executes the task as env variables. - properties: - map: - additionalProperties: - type: string - description: |- - Inline contains the parameters that will be made available to the job - executing the KeptnTask via the 'DATA' environment variable. - The 'DATA' environment variable's content will be a json - encoded string containing all properties of the map provided. - type: object + appVersion: + description: AppVersion the version of the KeptnApp the KeptnTask + is being executed for. + type: string + metadata: + additionalProperties: + type: string + description: Metadata contains additional key-value pairs for + contextual information. type: object - secureParameters: + objectType: + description: ObjectType indicates whether the KeptnTask is being + executed for a KeptnApp or KeptnWorkload. + type: string + taskType: + description: TaskType indicates whether the KeptnTask is part + of the pre- or postDeployment phase. + type: string + workloadName: + description: WorkloadName the name of the KeptnWorkload the KeptnTask + is being executed for. + type: string + workloadVersion: + description: WorkloadVersion the version of the KeptnWorkload + the KeptnTask is being executed for. + type: string + type: object + parameters: + description: Parameters contains parameters that will be passed to + the job that executes the task. + properties: + map: + additionalProperties: + type: string description: |- - SecureParameters contains secure parameters that will be passed to the job that executes the task. - These will be stored and accessed as secrets in the cluster. - properties: - secret: - description: |- - Secret contains the parameters that will be made available to the job - executing the KeptnTask via the 'SECRET_DATA' environment variable. - The 'SECRET_DATA' environment variable's content will the same as value of the 'SECRET_DATA' - key of the referenced secret. - type: string + Inline contains the parameters that will be made available to the job + executing the KeptnTask via the 'DATA' environment variable. + The 'DATA' environment variable's content will be a json + encoded string containing all properties of the map provided. type: object type: object retries: default: 10 description: |- - Retries specifies how many times a job executing the KeptnTaskDefinition should be restarted in the case - of an unsuccessful attempt. + Retries indicates how many times the KeptnTask can be attempted in the case of an error + before considering the KeptnTask to be failed. format: int32 type: integer - serviceAccount: - description: ServiceAccount specifies the service account to be used - in jobs to authenticate with the Kubernetes API and access cluster - resources. + secureParameters: + description: |- + SecureParameters contains secure parameters that will be passed to the job that executes the task. + These will be stored and accessed as secrets in the cluster. properties: - name: + secret: + description: |- + Secret contains the parameters that will be made available to the job + executing the KeptnTask via the 'SECRET_DATA' environment variable. + The 'SECRET_DATA' environment variable's content will the same as value of the 'SECRET_DATA' + key of the referenced secret. type: string - required: - - name type: object + taskDefinition: + description: |- + TaskDefinition refers to the name of the KeptnTaskDefinition + which includes the specification for the task to be performed. + The KeptnTaskDefinition can be + located in the same namespace as the KeptnTask, or in the Keptn namespace. + type: string timeout: default: 5m description: |- @@ -6936,26 +6926,36 @@ spec: considered to be failed. pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ type: string - ttlSecondsAfterFinished: - default: 300 - description: |- - TTLSecondsAfterFinished controller makes a job eligible to be cleaned up after it is finished. - The timer starts when the status shows up to be Complete or Failed. - format: int32 - type: integer + required: + - taskDefinition type: object status: - description: Status describes the current state of the KeptnTaskDefinition. + description: Status describes the current state of the KeptnTask. properties: - function: - description: Function contains status information of the function - definition for the task. - properties: - configMap: - description: ConfigMap indicates the ConfigMap in which the function - code is stored. - type: string - type: object + endTime: + description: EndTime represents the time at which the KeptnTask finished. + format: date-time + type: string + jobName: + description: JobName is the name of the Job executing the Task. + type: string + message: + description: Message contains information about unexpected errors + encountered during the execution of the KeptnTask. + type: string + reason: + description: Reason contains more information about the reason for + the last transition of the Job executing the KeptnTask. + type: string + startTime: + description: StartTime represents the time at which the KeptnTask + started. + format: date-time + type: string + status: + default: Pending + description: Status represents the overall state of the KeptnTask. + type: string type: object type: object served: true @@ -6963,11 +6963,10 @@ spec: subresources: status: {} --- -# Source: keptn/charts/lifecycleOperator/templates/keptnworkload-crd.yaml +# Source: keptn/charts/lifecycleOperator/templates/operator-crd.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: keptnworkloads.lifecycle.keptn.sh annotations: controller-gen.kubebuilder.io/version: v0.14.0 cert-manager.io/inject-ca-from: helmtests/keptn-certs @@ -6980,6 +6979,7 @@ metadata: app.kubernetes.io/name: lifecycle-operator app.kubernetes.io/version: vmyversion helm.sh/chart: lifecycle-operator-0.2.1 + name: keptnworkloads.lifecycle.keptn.sh spec: group: lifecycle.keptn.sh names: @@ -7388,11 +7388,10 @@ spec: subresources: status: {} --- -# Source: keptn/charts/lifecycleOperator/templates/keptnworkloadversion-crd.yaml +# Source: keptn/charts/lifecycleOperator/templates/operator-crd.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: keptnworkloadversions.lifecycle.keptn.sh annotations: controller-gen.kubebuilder.io/version: v0.14.0 cert-manager.io/inject-ca-from: helmtests/keptn-certs @@ -7405,6 +7404,7 @@ metadata: app.kubernetes.io/name: lifecycle-operator app.kubernetes.io/version: vmyversion helm.sh/chart: lifecycle-operator-0.2.1 + name: keptnworkloadversions.lifecycle.keptn.sh spec: group: lifecycle.keptn.sh names: @@ -8068,11 +8068,10 @@ spec: subresources: status: {} --- -# Source: keptn/charts/metricsOperator/templates/analysis-crd.yaml +# Source: keptn/charts/metricsOperator/templates/metricsOperator-crd.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: analyses.metrics.keptn.sh annotations: controller-gen.kubebuilder.io/version: v0.14.0 cert-manager.io/inject-ca-from: helmtests/keptn-certs @@ -8085,6 +8084,7 @@ metadata: app.kubernetes.io/name: metrics-operator app.kubernetes.io/version: vmyversion helm.sh/chart: metrics-operator-0.1.2 + name: analyses.metrics.keptn.sh spec: group: metrics.keptn.sh names: @@ -8423,11 +8423,10 @@ spec: subresources: status: {} --- -# Source: keptn/charts/metricsOperator/templates/analysisdefinition-crd.yaml +# Source: keptn/charts/metricsOperator/templates/metricsOperator-crd.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: analysisdefinitions.metrics.keptn.sh annotations: controller-gen.kubebuilder.io/version: v0.14.0 cert-manager.io/inject-ca-from: helmtests/keptn-certs @@ -8440,6 +8439,7 @@ metadata: app.kubernetes.io/name: metrics-operator app.kubernetes.io/version: vmyversion helm.sh/chart: metrics-operator-0.1.2 + name: analysisdefinitions.metrics.keptn.sh spec: group: metrics.keptn.sh names: @@ -9120,11 +9120,10 @@ spec: subresources: status: {} --- -# Source: keptn/charts/metricsOperator/templates/analysisvaluetemplate-crd.yaml +# Source: keptn/charts/metricsOperator/templates/metricsOperator-crd.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: analysisvaluetemplates.metrics.keptn.sh annotations: controller-gen.kubebuilder.io/version: v0.14.0 cert-manager.io/inject-ca-from: helmtests/keptn-certs @@ -9137,6 +9136,7 @@ metadata: app.kubernetes.io/name: metrics-operator app.kubernetes.io/version: vmyversion helm.sh/chart: metrics-operator-0.1.2 + name: analysisvaluetemplates.metrics.keptn.sh spec: group: metrics.keptn.sh names: @@ -9269,11 +9269,10 @@ spec: subresources: status: {} --- -# Source: keptn/charts/metricsOperator/templates/keptnmetric-crd.yaml +# Source: keptn/charts/metricsOperator/templates/metricsOperator-crd.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: keptnmetrics.metrics.keptn.sh annotations: controller-gen.kubebuilder.io/version: v0.14.0 cert-manager.io/inject-ca-from: helmtests/keptn-certs @@ -9286,6 +9285,7 @@ metadata: app.kubernetes.io/name: metrics-operator app.kubernetes.io/version: vmyversion helm.sh/chart: metrics-operator-0.1.2 + name: keptnmetrics.metrics.keptn.sh spec: group: metrics.keptn.sh names: @@ -9806,11 +9806,10 @@ spec: subresources: status: {} --- -# Source: keptn/charts/metricsOperator/templates/keptnmetricsprovider-crd.yaml +# Source: keptn/charts/metricsOperator/templates/metricsOperator-crd.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: keptnmetricsproviders.metrics.keptn.sh annotations: controller-gen.kubebuilder.io/version: v0.14.0 cert-manager.io/inject-ca-from: helmtests/keptn-certs @@ -9823,6 +9822,7 @@ metadata: app.kubernetes.io/name: metrics-operator app.kubernetes.io/version: vmyversion helm.sh/chart: metrics-operator-0.1.2 + name: keptnmetricsproviders.metrics.keptn.sh spec: group: metrics.keptn.sh names: diff --git a/.github/scripts/.helm-tests/lifecycle-only/result.yaml b/.github/scripts/.helm-tests/lifecycle-only/result.yaml index 8987aa621f..89a81d4cba 100644 --- a/.github/scripts/.helm-tests/lifecycle-only/result.yaml +++ b/.github/scripts/.helm-tests/lifecycle-only/result.yaml @@ -76,11 +76,239 @@ data: - name: KLCPermit schedulerName: keptn-scheduler --- -# Source: keptn/charts/lifecycleOperator/templates/keptnapp-crd.yaml +# Source: keptn/charts/lifecycleOperator/templates/operator-crd.yaml +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + cert-manager.io/inject-ca-from: 'helmtests/keptn-certs' + labels: + app.kubernetes.io/part-of: keptn + crdGroup: lifecycle.keptn.sh + keptn.sh/inject-cert: "true" + app.kubernetes.io/instance: keptn-test + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: lifecycle-operator + app.kubernetes.io/version: vmyversion + helm.sh/chart: lifecycle-operator-0.2.1 + name: keptnappcontexts.lifecycle.keptn.sh +spec: + group: lifecycle.keptn.sh + names: + kind: KeptnAppContext + listKind: KeptnAppContextList + plural: keptnappcontexts + singular: keptnappcontext + scope: Namespaced + versions: + - name: v1beta1 + schema: + openAPIV3Schema: + description: KeptnAppContext is the Schema for the keptnappcontexts API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: KeptnAppContextSpec defines the desired state of KeptnAppContext + properties: + metadata: + additionalProperties: + type: string + description: Metadata contains additional key-value pairs for contextual + information. + type: object + postDeploymentEvaluations: + description: |- + PostDeploymentEvaluations is a list of all evaluations to be performed + during the post-deployment phase of the KeptnApp. + The items of this list refer to the names of KeptnEvaluationDefinitions + located in the same namespace as the KeptnApp, or in the Keptn namespace. + items: + type: string + type: array + postDeploymentTasks: + description: |- + PostDeploymentTasks is a list of all tasks to be performed during the post-deployment phase of the KeptnApp. + The items of this list refer to the names of KeptnTaskDefinitions + located in the same namespace as the KeptnApp, or in the Keptn namespace. + items: + type: string + type: array + preDeploymentEvaluations: + description: |- + PreDeploymentEvaluations is a list of all evaluations to be performed + during the pre-deployment phase of the KeptnApp. + The items of this list refer to the names of KeptnEvaluationDefinitions + located in the same namespace as the KeptnApp, or in the Keptn namespace. + items: + type: string + type: array + preDeploymentTasks: + description: |- + PreDeploymentTasks is a list of all tasks to be performed during the pre-deployment phase of the KeptnApp. + The items of this list refer to the names of KeptnTaskDefinitions + located in the same namespace as the KeptnApp, or in the Keptn namespace. + items: + type: string + type: array + promotionTasks: + description: |- + PromotionTasks is a list of all tasks to be performed during the promotion phase of the KeptnApp. + The items of this list refer to the names of KeptnTaskDefinitions + located in the same namespace as the KeptnApp, or in the Keptn namespace. + items: + type: string + type: array + spanLinks: + description: |- + SpanLinks are links to OpenTelemetry span IDs for tracking. These links establish relationships between spans across different services, enabling distributed tracing. + For more information on OpenTelemetry span links, refer to the documentation: https://opentelemetry.io/docs/concepts/signals/traces/#span-links + items: + type: string + type: array + type: object + status: + description: KeptnAppContextStatus defines the observed state of KeptnAppContext + properties: + status: + description: unused field + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +# Source: keptn/charts/lifecycleOperator/templates/operator-crd.yaml +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + cert-manager.io/inject-ca-from: helmtests/keptn-certs + labels: + app.kubernetes.io/part-of: keptn + crdGroup: lifecycle.keptn.sh + keptn.sh/inject-cert: "true" + app.kubernetes.io/instance: keptn-test + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: lifecycle-operator + app.kubernetes.io/version: vmyversion + helm.sh/chart: lifecycle-operator-0.2.1 + name: keptnappcreationrequests.lifecycle.keptn.sh +spec: + group: lifecycle.keptn.sh + names: + kind: KeptnAppCreationRequest + listKind: KeptnAppCreationRequestList + plural: keptnappcreationrequests + singular: keptnappcreationrequest + scope: Namespaced + versions: + - name: v1alpha3 + schema: + openAPIV3Schema: + description: KeptnAppCreationRequest is the Schema for the keptnappcreationrequests + API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Spec describes the desired state of the KeptnAppCreationRequest. + properties: + appName: + description: AppName is the name of the KeptnApp the KeptnAppCreationRequest + should create if no user-defined object with that name is found. + type: string + required: + - appName + type: object + status: + description: Status describes the current state of the KeptnAppCreationRequest. + type: string + type: object + served: true + storage: false + subresources: + status: {} + - name: v1beta1 + schema: + openAPIV3Schema: + description: KeptnAppCreationRequest is the Schema for the keptnappcreationrequests + API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Spec describes the desired state of the KeptnAppCreationRequest. + properties: + appName: + description: AppName is the name of the KeptnApp the KeptnAppCreationRequest + should create if no user-defined object with that name is found. + type: string + required: + - appName + type: object + status: + description: Status describes the current state of the KeptnAppCreationRequest. + type: string + type: object + served: true + storage: true + subresources: + status: {} +--- +# Source: keptn/charts/lifecycleOperator/templates/operator-crd.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: keptnapps.lifecycle.keptn.sh annotations: controller-gen.kubebuilder.io/version: v0.14.0 cert-manager.io/inject-ca-from: helmtests/keptn-certs @@ -93,6 +321,7 @@ metadata: app.kubernetes.io/name: lifecycle-operator app.kubernetes.io/version: vmyversion helm.sh/chart: lifecycle-operator-0.2.1 + name: keptnapps.lifecycle.keptn.sh spec: conversion: strategy: Webhook @@ -430,14 +659,13 @@ spec: subresources: status: {} --- -# Source: keptn/charts/lifecycleOperator/templates/keptnappcontext-crd.yaml +# Source: keptn/charts/lifecycleOperator/templates/operator-crd.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: keptnappcontexts.lifecycle.keptn.sh annotations: controller-gen.kubebuilder.io/version: v0.14.0 - cert-manager.io/inject-ca-from: 'helmtests/keptn-certs' + cert-manager.io/inject-ca-from: helmtests/keptn-certs labels: app.kubernetes.io/part-of: keptn crdGroup: lifecycle.keptn.sh @@ -447,254 +675,26 @@ metadata: app.kubernetes.io/name: lifecycle-operator app.kubernetes.io/version: vmyversion helm.sh/chart: lifecycle-operator-0.2.1 + name: keptnappversions.lifecycle.keptn.sh spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: 'lifecycle-webhook-service' + namespace: 'helmtests' + path: /convert + conversionReviewVersions: + - v1 group: lifecycle.keptn.sh names: - kind: KeptnAppContext - listKind: KeptnAppContextList - plural: keptnappcontexts - singular: keptnappcontext - scope: Namespaced - versions: - - name: v1beta1 - schema: - openAPIV3Schema: - description: KeptnAppContext is the Schema for the keptnappcontexts API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: KeptnAppContextSpec defines the desired state of KeptnAppContext - properties: - metadata: - additionalProperties: - type: string - description: Metadata contains additional key-value pairs for contextual - information. - type: object - postDeploymentEvaluations: - description: |- - PostDeploymentEvaluations is a list of all evaluations to be performed - during the post-deployment phase of the KeptnApp. - The items of this list refer to the names of KeptnEvaluationDefinitions - located in the same namespace as the KeptnApp, or in the Keptn namespace. - items: - type: string - type: array - postDeploymentTasks: - description: |- - PostDeploymentTasks is a list of all tasks to be performed during the post-deployment phase of the KeptnApp. - The items of this list refer to the names of KeptnTaskDefinitions - located in the same namespace as the KeptnApp, or in the Keptn namespace. - items: - type: string - type: array - preDeploymentEvaluations: - description: |- - PreDeploymentEvaluations is a list of all evaluations to be performed - during the pre-deployment phase of the KeptnApp. - The items of this list refer to the names of KeptnEvaluationDefinitions - located in the same namespace as the KeptnApp, or in the Keptn namespace. - items: - type: string - type: array - preDeploymentTasks: - description: |- - PreDeploymentTasks is a list of all tasks to be performed during the pre-deployment phase of the KeptnApp. - The items of this list refer to the names of KeptnTaskDefinitions - located in the same namespace as the KeptnApp, or in the Keptn namespace. - items: - type: string - type: array - promotionTasks: - description: |- - PromotionTasks is a list of all tasks to be performed during the promotion phase of the KeptnApp. - The items of this list refer to the names of KeptnTaskDefinitions - located in the same namespace as the KeptnApp, or in the Keptn namespace. - items: - type: string - type: array - spanLinks: - description: |- - SpanLinks are links to OpenTelemetry span IDs for tracking. These links establish relationships between spans across different services, enabling distributed tracing. - For more information on OpenTelemetry span links, refer to the documentation: https://opentelemetry.io/docs/concepts/signals/traces/#span-links - items: - type: string - type: array - type: object - status: - description: KeptnAppContextStatus defines the observed state of KeptnAppContext - properties: - status: - description: unused field - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} ---- -# Source: keptn/charts/lifecycleOperator/templates/keptnappcreationrequest-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnappcreationrequests.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.14.0 - cert-manager.io/inject-ca-from: helmtests/keptn-certs - labels: - app.kubernetes.io/part-of: keptn - crdGroup: lifecycle.keptn.sh - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: vmyversion - helm.sh/chart: lifecycle-operator-0.2.1 -spec: - group: lifecycle.keptn.sh - names: - kind: KeptnAppCreationRequest - listKind: KeptnAppCreationRequestList - plural: keptnappcreationrequests - singular: keptnappcreationrequest - scope: Namespaced - versions: - - name: v1alpha3 - schema: - openAPIV3Schema: - description: KeptnAppCreationRequest is the Schema for the keptnappcreationrequests - API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Spec describes the desired state of the KeptnAppCreationRequest. - properties: - appName: - description: AppName is the name of the KeptnApp the KeptnAppCreationRequest - should create if no user-defined object with that name is found. - type: string - required: - - appName - type: object - status: - description: Status describes the current state of the KeptnAppCreationRequest. - type: string - type: object - served: true - storage: false - subresources: - status: {} - - name: v1beta1 - schema: - openAPIV3Schema: - description: KeptnAppCreationRequest is the Schema for the keptnappcreationrequests - API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Spec describes the desired state of the KeptnAppCreationRequest. - properties: - appName: - description: AppName is the name of the KeptnApp the KeptnAppCreationRequest - should create if no user-defined object with that name is found. - type: string - required: - - appName - type: object - status: - description: Status describes the current state of the KeptnAppCreationRequest. - type: string - type: object - served: true - storage: true - subresources: - status: {} ---- -# Source: keptn/charts/lifecycleOperator/templates/keptnappversion-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnappversions.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.14.0 - cert-manager.io/inject-ca-from: helmtests/keptn-certs - labels: - app.kubernetes.io/part-of: keptn - crdGroup: lifecycle.keptn.sh - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: vmyversion - helm.sh/chart: lifecycle-operator-0.2.1 -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: 'lifecycle-webhook-service' - namespace: 'helmtests' - path: /convert - conversionReviewVersions: - - v1 - group: lifecycle.keptn.sh - names: - kind: KeptnAppVersion - listKind: KeptnAppVersionList - plural: keptnappversions - shortNames: - - kav - singular: keptnappversion + kind: KeptnAppVersion + listKind: KeptnAppVersionList + plural: keptnappversions + shortNames: + - kav + singular: keptnappversion scope: Namespaced versions: - additionalPrinterColumns: @@ -1931,11 +1931,10 @@ spec: subresources: status: {} --- -# Source: keptn/charts/lifecycleOperator/templates/keptnconfig-crd.yaml +# Source: keptn/charts/lifecycleOperator/templates/operator-crd.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: keptnconfigs.options.keptn.sh annotations: controller-gen.kubebuilder.io/version: v0.14.0 cert-manager.io/inject-ca-from: helmtests/keptn-certs @@ -1948,6 +1947,7 @@ metadata: app.kubernetes.io/name: lifecycle-operator app.kubernetes.io/version: vmyversion helm.sh/chart: lifecycle-operator-0.2.1 + name: keptnconfigs.options.keptn.sh spec: group: options.keptn.sh names: @@ -2020,11 +2020,10 @@ spec: subresources: status: {} --- -# Source: keptn/charts/lifecycleOperator/templates/keptnevaluation-crd.yaml +# Source: keptn/charts/lifecycleOperator/templates/operator-crd.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: keptnevaluations.lifecycle.keptn.sh annotations: controller-gen.kubebuilder.io/version: v0.14.0 cert-manager.io/inject-ca-from: helmtests/keptn-certs @@ -2037,43 +2036,23 @@ metadata: app.kubernetes.io/name: lifecycle-operator app.kubernetes.io/version: vmyversion helm.sh/chart: lifecycle-operator-0.2.1 + name: keptnevaluationdefinitions.lifecycle.keptn.sh spec: group: lifecycle.keptn.sh names: - kind: KeptnEvaluation - listKind: KeptnEvaluationList - plural: keptnevaluations + kind: KeptnEvaluationDefinition + listKind: KeptnEvaluationDefinitionList + plural: keptnevaluationdefinitions shortNames: - - ke - singular: keptnevaluation + - ked + singular: keptnevaluationdefinition scope: Namespaced versions: - - additionalPrinterColumns: - - jsonPath: .spec.appName - name: AppName - type: string - - jsonPath: .spec.appVersion - name: AppVersion - type: string - - jsonPath: .spec.workload - name: WorkloadName - type: string - - jsonPath: .spec.workloadVersion - name: WorkloadVersion - type: string - - jsonPath: .status.retryCount - name: RetryCount - type: string - - jsonPath: .status.evaluationStatus - name: EvaluationStatus - type: string - - jsonPath: .status.overallStatus - name: OverallStatus - type: string - name: v1alpha1 + - name: v1alpha1 schema: openAPIV3Schema: - description: KeptnEvaluation is the Schema for the keptnevaluations API + description: KeptnEvaluationDefinition is the Schema for the keptnevaluationdefinitions + API properties: apiVersion: description: |- @@ -2093,99 +2072,43 @@ spec: metadata: type: object spec: - description: KeptnEvaluationSpec defines the desired state of KeptnEvaluation - properties: - appName: - type: string - appVersion: - type: string - checkType: - type: string - evaluationDefinition: - type: string - retries: - default: 10 - type: integer - retryInterval: - default: 5s - pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ - type: string - workload: - type: string - workloadVersion: - type: string - required: - - evaluationDefinition - - workloadVersion - type: object - status: - description: KeptnEvaluationStatus defines the observed state of KeptnEvaluation + description: KeptnEvaluationDefinitionSpec defines the desired state of + KeptnEvaluationDefinition properties: - endTime: - format: date-time - type: string - evaluationStatus: - additionalProperties: + objectives: + items: properties: - message: + evaluationTarget: type: string - status: - description: KeptnState is a string containing current Phase - state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + name: type: string - value: + query: type: string required: - - status - - value + - evaluationTarget + - name + - query type: object - type: object - overallStatus: - default: Pending - description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - retryCount: - default: 0 - type: integer - startTime: - format: date-time + type: array + source: type: string required: - - evaluationStatus - - overallStatus - - retryCount + - objectives + - source type: object + status: + description: unused field + type: string type: object served: true storage: false subresources: status: {} - - additionalPrinterColumns: - - jsonPath: .spec.appName - name: AppName - type: string - - jsonPath: .spec.appVersion - name: AppVersion - type: string - - jsonPath: .spec.workload - name: WorkloadName - type: string - - jsonPath: .spec.workloadVersion - name: WorkloadVersion - type: string - - jsonPath: .status.retryCount - name: RetryCount - type: string - - jsonPath: .status.evaluationStatus - name: EvaluationStatus - type: string - - jsonPath: .status.overallStatus - name: OverallStatus - type: string - name: v1alpha2 + - name: v1alpha2 schema: openAPIV3Schema: - description: KeptnEvaluation is the Schema for the keptnevaluations API + description: KeptnEvaluationDefinition is the Schema for the keptnevaluationdefinitions + API properties: apiVersion: description: |- @@ -2205,101 +2128,43 @@ spec: metadata: type: object spec: - description: KeptnEvaluationSpec defines the desired state of KeptnEvaluation - properties: - appName: - type: string - appVersion: - type: string - checkType: - type: string - evaluationDefinition: - type: string - failAction: - type: string - retries: - default: 10 - type: integer - retryInterval: - default: 5s - pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ - type: string - workload: - type: string - workloadVersion: - type: string - required: - - evaluationDefinition - - workloadVersion - type: object - status: - description: KeptnEvaluationStatus defines the observed state of KeptnEvaluation + description: KeptnEvaluationDefinitionSpec defines the desired state of + KeptnEvaluationDefinition properties: - endTime: - format: date-time - type: string - evaluationStatus: - additionalProperties: + objectives: + items: properties: - message: + evaluationTarget: type: string - status: - description: KeptnState is a string containing current Phase - state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + name: type: string - value: + query: type: string required: - - status - - value + - evaluationTarget + - name + - query type: object - type: object - overallStatus: - default: Pending - description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - retryCount: - default: 0 - type: integer - startTime: - format: date-time + type: array + source: type: string required: - - evaluationStatus - - overallStatus - - retryCount + - objectives + - source type: object + status: + description: unused field + type: string type: object served: true storage: false subresources: status: {} - - additionalPrinterColumns: - - jsonPath: .spec.appName - name: AppName - type: string - - jsonPath: .spec.appVersion - name: AppVersion - type: string - - jsonPath: .spec.workload - name: WorkloadName - type: string - - jsonPath: .spec.workloadVersion - name: WorkloadVersion - type: string - - jsonPath: .status.retryCount - name: RetryCount - type: string - - jsonPath: .status.evaluationStatus - name: EvaluationStatus - type: string - - jsonPath: .status.overallStatus - name: OverallStatus - type: string - name: v1alpha3 + - name: v1alpha3 schema: openAPIV3Schema: - description: KeptnEvaluation is the Schema for the keptnevaluations API + description: KeptnEvaluationDefinition is the Schema for the keptnevaluationdefinitions + API properties: apiVersion: description: |- @@ -2319,114 +2184,158 @@ spec: metadata: type: object spec: - description: Spec describes the desired state of the KeptnEvaluation. + description: Spec describes the desired state of the KeptnEvaluationDefinition. properties: - appName: - description: AppName defines the KeptnApp for which the KeptnEvaluation - is done. - type: string - appVersion: - description: AppVersion defines the version of the KeptnApp for which - the KeptnEvaluation is done. - type: string - checkType: - description: Type indicates whether the KeptnEvaluation is part of - the pre- or postDeployment phase. - type: string - evaluationDefinition: - description: |- - EvaluationDefinition refers to the name of the KeptnEvaluationDefinition - which includes the objectives for the KeptnEvaluation. - The KeptnEvaluationDefinition can be - located in the same namespace as the KeptnEvaluation, or in the Keptn namespace. - type: string - failAction: - type: string - retries: - default: 10 - description: |- - Retries indicates how many times the KeptnEvaluation can be attempted in the case of an error or - missed evaluation objective, before considering the KeptnEvaluation to be failed. - type: integer - retryInterval: - default: 5s + objectives: description: |- - RetryInterval specifies the interval at which the KeptnEvaluation is retried in the case of an error - or a missed objective. - pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ - type: string - workload: - description: Workload defines the KeptnWorkload for which the KeptnEvaluation - is done. - type: string - workloadVersion: - description: WorkloadVersion defines the version of the KeptnWorkload - for which the KeptnEvaluation is done. - type: string + Objectives is a list of objectives that have to be met for a KeptnEvaluation referencing this + KeptnEvaluationDefinition to be successful. + items: + properties: + evaluationTarget: + description: |- + EvaluationTarget specifies the target value for the references KeptnMetric. + Needs to start with either '<' or '>', followed by the target value (e.g. '<10'). + type: string + keptnMetricRef: + description: KeptnMetricRef references the KeptnMetric that + should be evaluated. + properties: + name: + description: Name is the name of the referenced KeptnMetric. + type: string + namespace: + description: Namespace is the namespace where the referenced + KeptnMetric is located. + type: string + required: + - name + type: object + required: + - evaluationTarget + - keptnMetricRef + type: object + type: array required: - - evaluationDefinition - - workloadVersion + - objectives type: object status: - description: Status describes the current state of the KeptnEvaluation. + description: unused field + type: string + type: object + served: true + storage: false + subresources: + status: {} + - name: v1beta1 + schema: + openAPIV3Schema: + description: KeptnEvaluationDefinition is the Schema for the keptnevaluationdefinitions + API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Spec describes the desired state of the KeptnEvaluationDefinition. properties: - endTime: - description: EndTime represents the time at which the KeptnEvaluation - finished. - format: date-time - type: string - evaluationStatus: - additionalProperties: + objectives: + description: |- + Objectives is a list of objectives that have to be met for a KeptnEvaluation referencing this + KeptnEvaluationDefinition to be successful. + items: properties: - message: + evaluationTarget: description: |- - Message contains additional information about the evaluation of an objective. - This can include explanations about why an evaluation has failed (e.g. due to a missed objective), - or if there was any error during the evaluation of the objective. - type: string - status: - description: Status indicates the status of the objective being - evaluated. - type: string - value: - description: Value represents the value of the KeptnMetric being - evaluated. + EvaluationTarget specifies the target value for the references KeptnMetric. + Needs to start with either '<' or '>', followed by the target value (e.g. '<10'). type: string + keptnMetricRef: + description: KeptnMetricRef references the KeptnMetric that + should be evaluated. + properties: + name: + description: Name is the name of the referenced KeptnMetric. + type: string + namespace: + description: Namespace is the namespace where the referenced + KeptnMetric is located. + type: string + required: + - name + type: object required: - - status - - value + - evaluationTarget + - keptnMetricRef type: object + type: array + retries: + default: 10 description: |- - EvaluationStatus describes the status of each objective of the KeptnEvaluationDefinition - referenced by the KeptnEvaluation. - type: object - overallStatus: - default: Pending - description: |- - OverallStatus describes the overall status of the KeptnEvaluation. The Overall status is derived - from the status of the individual objectives of the KeptnEvaluationDefinition - referenced by the KeptnEvaluation. - type: string - retryCount: - default: 0 - description: RetryCount indicates how many times the KeptnEvaluation - has been attempted already. + Retries indicates how many times the KeptnEvaluation can be attempted in the case of an error or + missed evaluation objective, before considering the KeptnEvaluation to be failed. type: integer - startTime: - description: StartTime represents the time at which the KeptnEvaluation - started. - format: date-time + retryInterval: + default: 5s + description: |- + RetryInterval specifies the interval at which the KeptnEvaluation is retried in the case of an error + or a missed objective. + pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ type: string required: - - evaluationStatus - - overallStatus - - retryCount + - objectives type: object + status: + description: unused field + type: string type: object served: true - storage: false + storage: true subresources: status: {} +--- +# Source: keptn/charts/lifecycleOperator/templates/operator-crd.yaml +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + cert-manager.io/inject-ca-from: helmtests/keptn-certs + labels: + app.kubernetes.io/part-of: keptn + crdGroup: lifecycle.keptn.sh + keptn.sh/inject-cert: "true" + app.kubernetes.io/instance: keptn-test + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: lifecycle-operator + app.kubernetes.io/version: vmyversion + helm.sh/chart: lifecycle-operator-0.2.1 + name: keptnevaluations.lifecycle.keptn.sh +spec: + group: lifecycle.keptn.sh + names: + kind: KeptnEvaluation + listKind: KeptnEvaluationList + plural: keptnevaluations + shortNames: + - ke + singular: keptnevaluation + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .spec.appName name: AppName @@ -2449,7 +2358,7 @@ spec: - jsonPath: .status.overallStatus name: OverallStatus type: string - name: v1beta1 + name: v1alpha1 schema: openAPIV3Schema: description: KeptnEvaluation is the Schema for the keptnevaluations API @@ -2472,102 +2381,61 @@ spec: metadata: type: object spec: - description: Spec describes the desired state of the KeptnEvaluation. + description: KeptnEvaluationSpec defines the desired state of KeptnEvaluation properties: appName: - description: AppName defines the KeptnApp for which the KeptnEvaluation - is done. type: string appVersion: - description: AppVersion defines the version of the KeptnApp for which - the KeptnEvaluation is done. type: string checkType: - description: Type indicates whether the KeptnEvaluation is part of - the pre- or postDeployment phase. type: string evaluationDefinition: - description: |- - EvaluationDefinition refers to the name of the KeptnEvaluationDefinition - which includes the objectives for the KeptnEvaluation. - The KeptnEvaluationDefinition can be - located in the same namespace as the KeptnEvaluation, or in the Keptn namespace. - type: string - failAction: type: string retries: default: 10 - description: |- - Retries indicates how many times the KeptnEvaluation can be attempted in the case of an error or - missed evaluation objective, before considering the KeptnEvaluation to be failed. type: integer retryInterval: default: 5s - description: |- - RetryInterval specifies the interval at which the KeptnEvaluation is retried in the case of an error - or a missed objective. pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ type: string workload: - description: Workload defines the KeptnWorkload for which the KeptnEvaluation - is done. type: string workloadVersion: - description: WorkloadVersion defines the version of the KeptnWorkload - for which the KeptnEvaluation is done. type: string required: - evaluationDefinition - workloadVersion type: object status: - description: Status describes the current state of the KeptnEvaluation. + description: KeptnEvaluationStatus defines the observed state of KeptnEvaluation properties: endTime: - description: EndTime represents the time at which the KeptnEvaluation - finished. format: date-time type: string evaluationStatus: additionalProperties: properties: message: - description: |- - Message contains additional information about the evaluation of an objective. - This can include explanations about why an evaluation has failed (e.g. due to a missed objective), - or if there was any error during the evaluation of the objective. type: string status: - description: Status indicates the status of the objective being - evaluated. + description: KeptnState is a string containing current Phase + state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) type: string value: - description: Value represents the value of the KeptnMetric being - evaluated. type: string required: - status - value type: object - description: |- - EvaluationStatus describes the status of each objective of the KeptnEvaluationDefinition - referenced by the KeptnEvaluation. type: object overallStatus: default: Pending - description: |- - OverallStatus describes the overall status of the KeptnEvaluation. The Overall status is derived - from the status of the individual objectives of the KeptnEvaluationDefinition - referenced by the KeptnEvaluation. + description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) type: string retryCount: default: 0 - description: RetryCount indicates how many times the KeptnEvaluation - has been attempted already. type: integer startTime: - description: StartTime represents the time at which the KeptnEvaluation - started. format: date-time type: string required: @@ -2577,43 +2445,35 @@ spec: type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -# Source: keptn/charts/lifecycleOperator/templates/keptnevaluationdefinition-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnevaluationdefinitions.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.14.0 - cert-manager.io/inject-ca-from: helmtests/keptn-certs - labels: - app.kubernetes.io/part-of: keptn - crdGroup: lifecycle.keptn.sh - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: vmyversion - helm.sh/chart: lifecycle-operator-0.2.1 -spec: - group: lifecycle.keptn.sh - names: - kind: KeptnEvaluationDefinition - listKind: KeptnEvaluationDefinitionList - plural: keptnevaluationdefinitions - shortNames: - - ked - singular: keptnevaluationdefinition - scope: Namespaced - versions: - - name: v1alpha1 + - additionalPrinterColumns: + - jsonPath: .spec.appName + name: AppName + type: string + - jsonPath: .spec.appVersion + name: AppVersion + type: string + - jsonPath: .spec.workload + name: WorkloadName + type: string + - jsonPath: .spec.workloadVersion + name: WorkloadVersion + type: string + - jsonPath: .status.retryCount + name: RetryCount + type: string + - jsonPath: .status.evaluationStatus + name: EvaluationStatus + type: string + - jsonPath: .status.overallStatus + name: OverallStatus + type: string + name: v1alpha2 schema: openAPIV3Schema: - description: KeptnEvaluationDefinition is the Schema for the keptnevaluationdefinitions - API + description: KeptnEvaluation is the Schema for the keptnevaluations API properties: apiVersion: description: |- @@ -2633,43 +2493,101 @@ spec: metadata: type: object spec: - description: KeptnEvaluationDefinitionSpec defines the desired state of - KeptnEvaluationDefinition + description: KeptnEvaluationSpec defines the desired state of KeptnEvaluation properties: - objectives: - items: + appName: + type: string + appVersion: + type: string + checkType: + type: string + evaluationDefinition: + type: string + failAction: + type: string + retries: + default: 10 + type: integer + retryInterval: + default: 5s + pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ + type: string + workload: + type: string + workloadVersion: + type: string + required: + - evaluationDefinition + - workloadVersion + type: object + status: + description: KeptnEvaluationStatus defines the observed state of KeptnEvaluation + properties: + endTime: + format: date-time + type: string + evaluationStatus: + additionalProperties: properties: - evaluationTarget: + message: type: string - name: + status: + description: KeptnState is a string containing current Phase + state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) type: string - query: + value: type: string required: - - evaluationTarget - - name - - query + - status + - value type: object - type: array - source: + type: object + overallStatus: + default: Pending + description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + retryCount: + default: 0 + type: integer + startTime: + format: date-time type: string required: - - objectives - - source + - evaluationStatus + - overallStatus + - retryCount type: object - status: - description: unused field - type: string type: object served: true storage: false subresources: status: {} - - name: v1alpha2 + - additionalPrinterColumns: + - jsonPath: .spec.appName + name: AppName + type: string + - jsonPath: .spec.appVersion + name: AppVersion + type: string + - jsonPath: .spec.workload + name: WorkloadName + type: string + - jsonPath: .spec.workloadVersion + name: WorkloadVersion + type: string + - jsonPath: .status.retryCount + name: RetryCount + type: string + - jsonPath: .status.evaluationStatus + name: EvaluationStatus + type: string + - jsonPath: .status.overallStatus + name: OverallStatus + type: string + name: v1alpha3 schema: openAPIV3Schema: - description: KeptnEvaluationDefinition is the Schema for the keptnevaluationdefinitions - API + description: KeptnEvaluation is the Schema for the keptnevaluations API properties: apiVersion: description: |- @@ -2689,110 +2607,140 @@ spec: metadata: type: object spec: - description: KeptnEvaluationDefinitionSpec defines the desired state of - KeptnEvaluationDefinition + description: Spec describes the desired state of the KeptnEvaluation. properties: - objectives: - items: + appName: + description: AppName defines the KeptnApp for which the KeptnEvaluation + is done. + type: string + appVersion: + description: AppVersion defines the version of the KeptnApp for which + the KeptnEvaluation is done. + type: string + checkType: + description: Type indicates whether the KeptnEvaluation is part of + the pre- or postDeployment phase. + type: string + evaluationDefinition: + description: |- + EvaluationDefinition refers to the name of the KeptnEvaluationDefinition + which includes the objectives for the KeptnEvaluation. + The KeptnEvaluationDefinition can be + located in the same namespace as the KeptnEvaluation, or in the Keptn namespace. + type: string + failAction: + type: string + retries: + default: 10 + description: |- + Retries indicates how many times the KeptnEvaluation can be attempted in the case of an error or + missed evaluation objective, before considering the KeptnEvaluation to be failed. + type: integer + retryInterval: + default: 5s + description: |- + RetryInterval specifies the interval at which the KeptnEvaluation is retried in the case of an error + or a missed objective. + pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ + type: string + workload: + description: Workload defines the KeptnWorkload for which the KeptnEvaluation + is done. + type: string + workloadVersion: + description: WorkloadVersion defines the version of the KeptnWorkload + for which the KeptnEvaluation is done. + type: string + required: + - evaluationDefinition + - workloadVersion + type: object + status: + description: Status describes the current state of the KeptnEvaluation. + properties: + endTime: + description: EndTime represents the time at which the KeptnEvaluation + finished. + format: date-time + type: string + evaluationStatus: + additionalProperties: properties: - evaluationTarget: + message: + description: |- + Message contains additional information about the evaluation of an objective. + This can include explanations about why an evaluation has failed (e.g. due to a missed objective), + or if there was any error during the evaluation of the objective. type: string - name: + status: + description: Status indicates the status of the objective being + evaluated. type: string - query: + value: + description: Value represents the value of the KeptnMetric being + evaluated. type: string required: - - evaluationTarget - - name - - query + - status + - value type: object - type: array - source: + description: |- + EvaluationStatus describes the status of each objective of the KeptnEvaluationDefinition + referenced by the KeptnEvaluation. + type: object + overallStatus: + default: Pending + description: |- + OverallStatus describes the overall status of the KeptnEvaluation. The Overall status is derived + from the status of the individual objectives of the KeptnEvaluationDefinition + referenced by the KeptnEvaluation. + type: string + retryCount: + default: 0 + description: RetryCount indicates how many times the KeptnEvaluation + has been attempted already. + type: integer + startTime: + description: StartTime represents the time at which the KeptnEvaluation + started. + format: date-time type: string required: - - objectives - - source + - evaluationStatus + - overallStatus + - retryCount type: object - status: - description: unused field - type: string type: object served: true storage: false subresources: status: {} - - name: v1alpha3 - schema: - openAPIV3Schema: - description: KeptnEvaluationDefinition is the Schema for the keptnevaluationdefinitions - API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Spec describes the desired state of the KeptnEvaluationDefinition. - properties: - objectives: - description: |- - Objectives is a list of objectives that have to be met for a KeptnEvaluation referencing this - KeptnEvaluationDefinition to be successful. - items: - properties: - evaluationTarget: - description: |- - EvaluationTarget specifies the target value for the references KeptnMetric. - Needs to start with either '<' or '>', followed by the target value (e.g. '<10'). - type: string - keptnMetricRef: - description: KeptnMetricRef references the KeptnMetric that - should be evaluated. - properties: - name: - description: Name is the name of the referenced KeptnMetric. - type: string - namespace: - description: Namespace is the namespace where the referenced - KeptnMetric is located. - type: string - required: - - name - type: object - required: - - evaluationTarget - - keptnMetricRef - type: object - type: array - required: - - objectives - type: object - status: - description: unused field - type: string - type: object - served: true - storage: false - subresources: - status: {} - - name: v1beta1 + - additionalPrinterColumns: + - jsonPath: .spec.appName + name: AppName + type: string + - jsonPath: .spec.appVersion + name: AppVersion + type: string + - jsonPath: .spec.workload + name: WorkloadName + type: string + - jsonPath: .spec.workloadVersion + name: WorkloadVersion + type: string + - jsonPath: .status.retryCount + name: RetryCount + type: string + - jsonPath: .status.evaluationStatus + name: EvaluationStatus + type: string + - jsonPath: .status.overallStatus + name: OverallStatus + type: string + name: v1beta1 schema: openAPIV3Schema: - description: KeptnEvaluationDefinition is the Schema for the keptnevaluationdefinitions - API + description: KeptnEvaluation is the Schema for the keptnevaluations API properties: apiVersion: description: |- @@ -2812,38 +2760,29 @@ spec: metadata: type: object spec: - description: Spec describes the desired state of the KeptnEvaluationDefinition. + description: Spec describes the desired state of the KeptnEvaluation. properties: - objectives: + appName: + description: AppName defines the KeptnApp for which the KeptnEvaluation + is done. + type: string + appVersion: + description: AppVersion defines the version of the KeptnApp for which + the KeptnEvaluation is done. + type: string + checkType: + description: Type indicates whether the KeptnEvaluation is part of + the pre- or postDeployment phase. + type: string + evaluationDefinition: description: |- - Objectives is a list of objectives that have to be met for a KeptnEvaluation referencing this - KeptnEvaluationDefinition to be successful. - items: - properties: - evaluationTarget: - description: |- - EvaluationTarget specifies the target value for the references KeptnMetric. - Needs to start with either '<' or '>', followed by the target value (e.g. '<10'). - type: string - keptnMetricRef: - description: KeptnMetricRef references the KeptnMetric that - should be evaluated. - properties: - name: - description: Name is the name of the referenced KeptnMetric. - type: string - namespace: - description: Namespace is the namespace where the referenced - KeptnMetric is located. - type: string - required: - - name - type: object - required: - - evaluationTarget - - keptnMetricRef - type: object - type: array + EvaluationDefinition refers to the name of the KeptnEvaluationDefinition + which includes the objectives for the KeptnEvaluation. + The KeptnEvaluationDefinition can be + located in the same namespace as the KeptnEvaluation, or in the Keptn namespace. + type: string + failAction: + type: string retries: default: 10 description: |- @@ -2857,23 +2796,83 @@ spec: or a missed objective. pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ type: string + workload: + description: Workload defines the KeptnWorkload for which the KeptnEvaluation + is done. + type: string + workloadVersion: + description: WorkloadVersion defines the version of the KeptnWorkload + for which the KeptnEvaluation is done. + type: string required: - - objectives + - evaluationDefinition + - workloadVersion type: object status: - description: unused field - type: string + description: Status describes the current state of the KeptnEvaluation. + properties: + endTime: + description: EndTime represents the time at which the KeptnEvaluation + finished. + format: date-time + type: string + evaluationStatus: + additionalProperties: + properties: + message: + description: |- + Message contains additional information about the evaluation of an objective. + This can include explanations about why an evaluation has failed (e.g. due to a missed objective), + or if there was any error during the evaluation of the objective. + type: string + status: + description: Status indicates the status of the objective being + evaluated. + type: string + value: + description: Value represents the value of the KeptnMetric being + evaluated. + type: string + required: + - status + - value + type: object + description: |- + EvaluationStatus describes the status of each objective of the KeptnEvaluationDefinition + referenced by the KeptnEvaluation. + type: object + overallStatus: + default: Pending + description: |- + OverallStatus describes the overall status of the KeptnEvaluation. The Overall status is derived + from the status of the individual objectives of the KeptnEvaluationDefinition + referenced by the KeptnEvaluation. + type: string + retryCount: + default: 0 + description: RetryCount indicates how many times the KeptnEvaluation + has been attempted already. + type: integer + startTime: + description: StartTime represents the time at which the KeptnEvaluation + started. + format: date-time + type: string + required: + - evaluationStatus + - overallStatus + - retryCount + type: object type: object served: true storage: true subresources: status: {} --- -# Source: keptn/charts/lifecycleOperator/templates/keptntask-crd.yaml +# Source: keptn/charts/lifecycleOperator/templates/operator-crd.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: keptntasks.lifecycle.keptn.sh annotations: controller-gen.kubebuilder.io/version: v0.14.0 cert-manager.io/inject-ca-from: helmtests/keptn-certs @@ -2886,38 +2885,21 @@ metadata: app.kubernetes.io/name: lifecycle-operator app.kubernetes.io/version: vmyversion helm.sh/chart: lifecycle-operator-0.2.1 + name: keptntaskdefinitions.lifecycle.keptn.sh spec: group: lifecycle.keptn.sh names: - kind: KeptnTask - listKind: KeptnTaskList - plural: keptntasks - singular: keptntask + kind: KeptnTaskDefinition + listKind: KeptnTaskDefinitionList + plural: keptntaskdefinitions + singular: keptntaskdefinition scope: Namespaced versions: - - additionalPrinterColumns: - - jsonPath: .spec.app - name: AppName - type: string - - jsonPath: .spec.appVersion - name: AppVersion - type: string - - jsonPath: .spec.workload - name: WorkloadName - type: string - - jsonPath: .spec.workloadVersion - name: WorkloadVersion - type: string - - jsonPath: .status.jobName - name: Job Name - type: string - - jsonPath: .status.status - name: Status - type: string - name: v1alpha1 + - name: v1alpha1 schema: openAPIV3Schema: - description: KeptnTask is the Schema for the keptntasks API + description: KeptnTaskDefinition is the Schema for the keptntaskdefinitions + API properties: apiVersion: description: |- @@ -2937,108 +2919,63 @@ spec: metadata: type: object spec: - description: KeptnTaskSpec defines the desired state of KeptnTask + description: KeptnTaskDefinitionSpec defines the desired state of KeptnTaskDefinition properties: - app: - type: string - appVersion: - type: string - checkType: - type: string - context: + function: properties: - appName: - type: string - appVersion: - type: string - objectType: - type: string - taskType: - type: string - workloadName: - type: string - workloadVersion: - type: string - required: - - appName - - appVersion - - objectType - - taskType - - workloadName - - workloadVersion - type: object - parameters: - properties: - map: - additionalProperties: - type: string + configMapRef: + properties: + name: + type: string + type: object + functionRef: + properties: + name: + type: string + type: object + httpRef: + properties: + url: + type: string + type: object + inline: + properties: + code: + type: string + type: object + parameters: + properties: + map: + additionalProperties: + type: string + type: object + type: object + secureParameters: + properties: + secret: + type: string type: object type: object - secureParameters: - properties: - secret: - type: string - type: object - taskDefinition: - type: string - workload: - type: string - workloadVersion: - type: string - required: - - app - - appVersion - - context - - taskDefinition - - workload - - workloadVersion type: object status: - description: KeptnTaskStatus defines the observed state of KeptnTask + description: KeptnTaskDefinitionStatus defines the observed state of KeptnTaskDefinition properties: - endTime: - format: date-time - type: string - jobName: - type: string - message: - type: string - startTime: - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string + function: + properties: + configMap: + type: string + type: object type: object type: object served: true storage: false subresources: status: {} - - additionalPrinterColumns: - - jsonPath: .spec.app - name: AppName - type: string - - jsonPath: .spec.appVersion - name: AppVersion - type: string - - jsonPath: .spec.workload - name: WorkloadName - type: string - - jsonPath: .spec.workloadVersion - name: WorkloadVersion - type: string - - jsonPath: .status.jobName - name: Job Name - type: string - - jsonPath: .status.status - name: Status - type: string - name: v1alpha2 + - name: v1alpha2 schema: openAPIV3Schema: - description: KeptnTask is the Schema for the keptntasks API + description: KeptnTaskDefinition is the Schema for the keptntaskdefinitions + API properties: apiVersion: description: |- @@ -3058,108 +2995,63 @@ spec: metadata: type: object spec: - description: KeptnTaskSpec defines the desired state of KeptnTask + description: KeptnTaskDefinitionSpec defines the desired state of KeptnTaskDefinition properties: - app: - type: string - appVersion: - type: string - checkType: - type: string - context: - properties: - appName: - type: string - appVersion: - type: string - objectType: - type: string - taskType: - type: string - workloadName: - type: string - workloadVersion: - type: string - required: - - appName - - appVersion - - objectType - - taskType - - workloadName - - workloadVersion - type: object - parameters: + function: properties: - map: - additionalProperties: - type: string + configMapRef: + properties: + name: + type: string + type: object + functionRef: + properties: + name: + type: string + type: object + httpRef: + properties: + url: + type: string + type: object + inline: + properties: + code: + type: string + type: object + parameters: + properties: + map: + additionalProperties: + type: string + type: object + type: object + secureParameters: + properties: + secret: + type: string type: object type: object - secureParameters: - properties: - secret: - type: string - type: object - taskDefinition: - type: string - workload: - type: string - workloadVersion: - type: string - required: - - app - - appVersion - - context - - taskDefinition - - workload - - workloadVersion type: object status: - description: KeptnTaskStatus defines the observed state of KeptnTask + description: KeptnTaskDefinitionStatus defines the observed state of KeptnTaskDefinition properties: - endTime: - format: date-time - type: string - jobName: - type: string - message: - type: string - startTime: - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string + function: + properties: + configMap: + type: string + type: object type: object type: object served: true storage: false subresources: status: {} - - additionalPrinterColumns: - - jsonPath: .spec.app - name: AppName - type: string - - jsonPath: .spec.appVersion - name: AppVersion - type: string - - jsonPath: .spec.workload - name: WorkloadName - type: string - - jsonPath: .spec.workloadVersion - name: WorkloadVersion - type: string - - jsonPath: .status.jobName - name: Job Name - type: string - - jsonPath: .status.status - name: Status - type: string - name: v1alpha3 + - name: v1alpha3 schema: openAPIV3Schema: - description: KeptnTask is the Schema for the keptntasks API + description: KeptnTaskDefinition is the Schema for the keptntaskdefinitions + API properties: apiVersion: description: |- @@ -3179,540 +3071,49 @@ spec: metadata: type: object spec: - description: Spec describes the desired state of the KeptnTask. + description: Spec describes the desired state of the KeptnTaskDefinition. properties: - checkType: - description: Type indicates whether the KeptnTask is part of the pre- - or postDeployment phase. - type: string - context: - description: Context contains contextual information about the task - execution. + automountServiceAccountToken: + description: |- + AutomountServiceAccountToken allows to enable K8s to assign cluster API credentials to a pod, if set to false + the pod will decline the service account properties: - appName: - description: AppName the name of the KeptnApp the KeptnTask is - being executed for. - type: string - appVersion: - description: AppVersion the version of the KeptnApp the KeptnTask - is being executed for. - type: string - objectType: - description: ObjectType indicates whether the KeptnTask is being - executed for a KeptnApp or KeptnWorkload. - type: string - taskType: - description: TaskType indicates whether the KeptnTask is part - of the pre- or postDeployment phase. - type: string - workloadName: - description: WorkloadName the name of the KeptnWorkload the KeptnTask - is being executed for. - type: string - workloadVersion: - description: WorkloadVersion the version of the KeptnWorkload - the KeptnTask is being executed for. - type: string - type: object - parameters: - description: Parameters contains parameters that will be passed to - the job that executes the task. - properties: - map: - additionalProperties: - type: string - description: |- - Inline contains the parameters that will be made available to the job - executing the KeptnTask via the 'DATA' environment variable. - The 'DATA' environment variable's content will be a json - encoded string containing all properties of the map provided. - type: object + type: + type: boolean + required: + - type type: object - retries: - default: 10 - description: |- - Retries indicates how many times the KeptnTask can be attempted in the case of an error - before considering the KeptnTask to be failed. - format: int32 - type: integer - secureParameters: - description: |- - SecureParameters contains secure parameters that will be passed to the job that executes the task. - These will be stored and accessed as secrets in the cluster. + container: + description: Container contains the definition for the container that + is to be used in Job. properties: - secret: + args: description: |- - Secret contains the parameters that will be made available to the job - executing the KeptnTask via the 'SECRET_DATA' environment variable. - The 'SECRET_DATA' environment variable's content will the same as value of the 'SECRET_DATA' - key of the referenced secret. - type: string - type: object - taskDefinition: - description: |- - TaskDefinition refers to the name of the KeptnTaskDefinition - which includes the specification for the task to be performed. - The KeptnTaskDefinition can be - located in the same namespace as the KeptnTask, or in the Keptn namespace. - type: string - timeout: - default: 5m - description: |- - Timeout specifies the maximum time to wait for the task to be completed successfully. - If the task does not complete successfully within this time frame, it will be - considered to be failed. - pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ - type: string - required: - - taskDefinition - type: object - status: - description: Status describes the current state of the KeptnTask. - properties: - endTime: - description: EndTime represents the time at which the KeptnTask finished. - format: date-time - type: string - jobName: - description: JobName is the name of the Job executing the Task. - type: string - message: - description: Message contains information about unexpected errors - encountered during the execution of the KeptnTask. - type: string - reason: - description: Reason contains more information about the reason for - the last transition of the Job executing the KeptnTask. - type: string - startTime: - description: StartTime represents the time at which the KeptnTask - started. - format: date-time - type: string - status: - default: Pending - description: Status represents the overall state of the KeptnTask. - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .spec.app - name: AppName - type: string - - jsonPath: .spec.appVersion - name: AppVersion - type: string - - jsonPath: .spec.workload - name: WorkloadName - type: string - - jsonPath: .spec.workloadVersion - name: WorkloadVersion - type: string - - jsonPath: .status.jobName - name: Job Name - type: string - - jsonPath: .status.status - name: Status - type: string - name: v1beta1 - schema: - openAPIV3Schema: - description: KeptnTask is the Schema for the keptntasks API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Spec describes the desired state of the KeptnTask. - properties: - checkType: - description: Type indicates whether the KeptnTask is part of the pre- - or postDeployment phase. - type: string - context: - description: Context contains contextual information about the task - execution. - properties: - appName: - description: AppName the name of the KeptnApp the KeptnTask is - being executed for. - type: string - appVersion: - description: AppVersion the version of the KeptnApp the KeptnTask - is being executed for. - type: string - metadata: - additionalProperties: - type: string - description: Metadata contains additional key-value pairs for - contextual information. - type: object - objectType: - description: ObjectType indicates whether the KeptnTask is being - executed for a KeptnApp or KeptnWorkload. - type: string - taskType: - description: TaskType indicates whether the KeptnTask is part - of the pre- or postDeployment phase. - type: string - workloadName: - description: WorkloadName the name of the KeptnWorkload the KeptnTask - is being executed for. - type: string - workloadVersion: - description: WorkloadVersion the version of the KeptnWorkload - the KeptnTask is being executed for. - type: string - type: object - parameters: - description: Parameters contains parameters that will be passed to - the job that executes the task. - properties: - map: - additionalProperties: + Arguments to the entrypoint. + The container image's CMD is used if this is not provided. + Variable references $(VAR_NAME) are expanded using the container's environment. If a variable + cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will + produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless + of whether the variable exists or not. Cannot be updated. + More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell + items: type: string + type: array + command: description: |- - Inline contains the parameters that will be made available to the job - executing the KeptnTask via the 'DATA' environment variable. - The 'DATA' environment variable's content will be a json - encoded string containing all properties of the map provided. - type: object - type: object - retries: - default: 10 - description: |- - Retries indicates how many times the KeptnTask can be attempted in the case of an error - before considering the KeptnTask to be failed. - format: int32 - type: integer - secureParameters: - description: |- - SecureParameters contains secure parameters that will be passed to the job that executes the task. - These will be stored and accessed as secrets in the cluster. - properties: - secret: - description: |- - Secret contains the parameters that will be made available to the job - executing the KeptnTask via the 'SECRET_DATA' environment variable. - The 'SECRET_DATA' environment variable's content will the same as value of the 'SECRET_DATA' - key of the referenced secret. - type: string - type: object - taskDefinition: - description: |- - TaskDefinition refers to the name of the KeptnTaskDefinition - which includes the specification for the task to be performed. - The KeptnTaskDefinition can be - located in the same namespace as the KeptnTask, or in the Keptn namespace. - type: string - timeout: - default: 5m - description: |- - Timeout specifies the maximum time to wait for the task to be completed successfully. - If the task does not complete successfully within this time frame, it will be - considered to be failed. - pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ - type: string - required: - - taskDefinition - type: object - status: - description: Status describes the current state of the KeptnTask. - properties: - endTime: - description: EndTime represents the time at which the KeptnTask finished. - format: date-time - type: string - jobName: - description: JobName is the name of the Job executing the Task. - type: string - message: - description: Message contains information about unexpected errors - encountered during the execution of the KeptnTask. - type: string - reason: - description: Reason contains more information about the reason for - the last transition of the Job executing the KeptnTask. - type: string - startTime: - description: StartTime represents the time at which the KeptnTask - started. - format: date-time - type: string - status: - default: Pending - description: Status represents the overall state of the KeptnTask. - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} ---- -# Source: keptn/charts/lifecycleOperator/templates/keptntaskdefinition-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptntaskdefinitions.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.14.0 - cert-manager.io/inject-ca-from: helmtests/keptn-certs - labels: - app.kubernetes.io/part-of: keptn - crdGroup: lifecycle.keptn.sh - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: vmyversion - helm.sh/chart: lifecycle-operator-0.2.1 -spec: - group: lifecycle.keptn.sh - names: - kind: KeptnTaskDefinition - listKind: KeptnTaskDefinitionList - plural: keptntaskdefinitions - singular: keptntaskdefinition - scope: Namespaced - versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - description: KeptnTaskDefinition is the Schema for the keptntaskdefinitions - API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: KeptnTaskDefinitionSpec defines the desired state of KeptnTaskDefinition - properties: - function: - properties: - configMapRef: - properties: - name: - type: string - type: object - functionRef: - properties: - name: - type: string - type: object - httpRef: - properties: - url: - type: string - type: object - inline: - properties: - code: - type: string - type: object - parameters: - properties: - map: - additionalProperties: - type: string - type: object - type: object - secureParameters: - properties: - secret: - type: string - type: object - type: object - type: object - status: - description: KeptnTaskDefinitionStatus defines the observed state of KeptnTaskDefinition - properties: - function: - properties: - configMap: - type: string - type: object - type: object - type: object - served: true - storage: false - subresources: - status: {} - - name: v1alpha2 - schema: - openAPIV3Schema: - description: KeptnTaskDefinition is the Schema for the keptntaskdefinitions - API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: KeptnTaskDefinitionSpec defines the desired state of KeptnTaskDefinition - properties: - function: - properties: - configMapRef: - properties: - name: - type: string - type: object - functionRef: - properties: - name: - type: string - type: object - httpRef: - properties: - url: - type: string - type: object - inline: - properties: - code: - type: string - type: object - parameters: - properties: - map: - additionalProperties: - type: string - type: object - type: object - secureParameters: - properties: - secret: - type: string - type: object - type: object - type: object - status: - description: KeptnTaskDefinitionStatus defines the observed state of KeptnTaskDefinition - properties: - function: - properties: - configMap: - type: string - type: object - type: object - type: object - served: true - storage: false - subresources: - status: {} - - name: v1alpha3 - schema: - openAPIV3Schema: - description: KeptnTaskDefinition is the Schema for the keptntaskdefinitions - API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Spec describes the desired state of the KeptnTaskDefinition. - properties: - automountServiceAccountToken: - description: |- - AutomountServiceAccountToken allows to enable K8s to assign cluster API credentials to a pod, if set to false - the pod will decline the service account - properties: - type: - type: boolean - required: - - type - type: object - container: - description: Container contains the definition for the container that - is to be used in Job. - properties: - args: - description: |- - Arguments to the entrypoint. - The container image's CMD is used if this is not provided. - Variable references $(VAR_NAME) are expanded using the container's environment. If a variable - cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced - to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will - produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless - of whether the variable exists or not. Cannot be updated. - More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell - items: - type: string - type: array - command: - description: |- - Entrypoint array. Not executed within a shell. - The container image's ENTRYPOINT is used if this is not provided. - Variable references $(VAR_NAME) are expanded using the container's environment. If a variable - cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced - to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will - produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless - of whether the variable exists or not. Cannot be updated. - More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell - items: - type: string - type: array - env: + Entrypoint array. Not executed within a shell. + The container image's ENTRYPOINT is used if this is not provided. + Variable references $(VAR_NAME) are expanded using the container's environment. If a variable + cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will + produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless + of whether the variable exists or not. Cannot be updated. + More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell + items: + type: string + type: array + env: description: |- List of environment variables to set in the container. Cannot be updated. @@ -6294,586 +5695,1175 @@ spec: override the pod options. Note that this field cannot be set when spec.os.name is windows. properties: - localhostProfile: - description: |- - localhostProfile indicates a profile defined in a file on the node should be used. - The profile must be preconfigured on the node to work. - Must be a descending path, relative to the kubelet's configured seccomp profile location. - Must be set if type is "Localhost". Must NOT be set for any other type. + localhostProfile: + description: |- + localhostProfile indicates a profile defined in a file on the node should be used. + The profile must be preconfigured on the node to work. + Must be a descending path, relative to the kubelet's configured seccomp profile location. + Must be set if type is "Localhost". Must NOT be set for any other type. + type: string + type: + description: |- + type indicates which kind of seccomp profile will be applied. + Valid options are: + + + Localhost - a profile defined in a file on the node should be used. + RuntimeDefault - the container runtime default profile should be used. + Unconfined - no profile should be applied. + type: string + required: + - type + type: object + windowsOptions: + description: |- + The Windows specific settings applied to all containers. + If unspecified, the options from the PodSecurityContext will be used. + If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + Note that this field cannot be set when spec.os.name is linux. + properties: + gmsaCredentialSpec: + description: |- + GMSACredentialSpec is where the GMSA admission webhook + (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the + GMSA credential spec named by the GMSACredentialSpecName field. + type: string + gmsaCredentialSpecName: + description: GMSACredentialSpecName is the name of the + GMSA credential spec to use. + type: string + hostProcess: + description: |- + HostProcess determines if a container should be run as a 'Host Process' container. + All of a Pod's containers must have the same effective HostProcess value + (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). + In addition, if HostProcess is true then HostNetwork must also be set to true. + type: boolean + runAsUserName: + description: |- + The UserName in Windows to run the entrypoint of the container process. + Defaults to the user specified in image metadata if unspecified. + May also be set in PodSecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext takes precedence. + type: string + type: object + type: object + startupProbe: + description: |- + StartupProbe indicates that the Pod has successfully initialized. + If specified, no other probes are executed until this completes successfully. + If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. + This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, + when it might take a long time to load data or warm a cache, than during steady-state operation. + This cannot be updated. + More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + properties: + exec: + description: Exec specifies the action to take. + properties: + command: + description: |- + Command is the command line to execute inside the container, the working directory for the + command is root ('/') in the container's filesystem. The command is simply exec'd, it is + not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use + a shell, you need to explicitly call out to that shell. + Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + items: + type: string + type: array + type: object + failureThreshold: + description: |- + Minimum consecutive failures for the probe to be considered failed after having succeeded. + Defaults to 3. Minimum value is 1. + format: int32 + type: integer + grpc: + description: GRPC specifies an action involving a GRPC port. + properties: + port: + description: Port number of the gRPC service. Number must + be in the range 1 to 65535. + format: int32 + type: integer + service: + description: |- + Service is the name of the service to place in the gRPC HealthCheckRequest + (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + + + If this is not specified, the default behavior is defined by gRPC. + type: string + required: + - port + type: object + httpGet: + description: HTTPGet specifies the http request to perform. + properties: + host: + description: |- + Host name to connect to, defaults to the pod IP. You probably want to set + "Host" in httpHeaders instead. + type: string + httpHeaders: + description: Custom headers to set in the request. HTTP + allows repeated headers. + items: + description: HTTPHeader describes a custom header to + be used in HTTP probes + properties: + name: + description: |- + The header field name. + This will be canonicalized upon output, so case-variant names will be understood as the same header. + type: string + value: + description: The header field value + type: string + required: + - name + - value + type: object + type: array + path: + description: Path to access on the HTTP server. + type: string + port: + anyOf: + - type: integer + - type: string + description: |- + Name or number of the port to access on the container. + Number must be in the range 1 to 65535. + Name must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + scheme: + description: |- + Scheme to use for connecting to the host. + Defaults to HTTP. + type: string + required: + - port + type: object + initialDelaySeconds: + description: |- + Number of seconds after the container has started before liveness probes are initiated. + More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + format: int32 + type: integer + periodSeconds: + description: |- + How often (in seconds) to perform the probe. + Default to 10 seconds. Minimum value is 1. + format: int32 + type: integer + successThreshold: + description: |- + Minimum consecutive successes for the probe to be considered successful after having failed. + Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + format: int32 + type: integer + tcpSocket: + description: TCPSocket specifies an action involving a TCP + port. + properties: + host: + description: 'Optional: Host name to connect to, defaults + to the pod IP.' type: string - type: + port: + anyOf: + - type: integer + - type: string description: |- - type indicates which kind of seccomp profile will be applied. - Valid options are: - - - Localhost - a profile defined in a file on the node should be used. - RuntimeDefault - the container runtime default profile should be used. - Unconfined - no profile should be applied. - type: string + Number or name of the port to access on the container. + Number must be in the range 1 to 65535. + Name must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true required: - - type + - port type: object - windowsOptions: + terminationGracePeriodSeconds: description: |- - The Windows specific settings applied to all containers. - If unspecified, the options from the PodSecurityContext will be used. - If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. - Note that this field cannot be set when spec.os.name is linux. - properties: - gmsaCredentialSpec: - description: |- - GMSACredentialSpec is where the GMSA admission webhook - (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the - GMSA credential spec named by the GMSACredentialSpecName field. - type: string - gmsaCredentialSpecName: - description: GMSACredentialSpecName is the name of the - GMSA credential spec to use. - type: string - hostProcess: - description: |- - HostProcess determines if a container should be run as a 'Host Process' container. - All of a Pod's containers must have the same effective HostProcess value - (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). - In addition, if HostProcess is true then HostNetwork must also be set to true. - type: boolean - runAsUserName: - description: |- - The UserName in Windows to run the entrypoint of the container process. - Defaults to the user specified in image metadata if unspecified. - May also be set in PodSecurityContext. If set in both SecurityContext and - PodSecurityContext, the value specified in SecurityContext takes precedence. - type: string - type: object + Optional duration in seconds the pod needs to terminate gracefully upon probe failure. + The grace period is the duration in seconds after the processes running in the pod are sent + a termination signal and the time when the processes are forcibly halted with a kill signal. + Set this value longer than the expected cleanup time for your process. + If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this + value overrides the value provided by the pod spec. + Value must be non-negative integer. The value zero indicates stop immediately via + the kill signal (no opportunity to shut down). + This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. + Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + format: int64 + type: integer + timeoutSeconds: + description: |- + Number of seconds after which the probe times out. + Defaults to 1 second. Minimum value is 1. + More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + format: int32 + type: integer type: object - startupProbe: + stdin: description: |- - StartupProbe indicates that the Pod has successfully initialized. - If specified, no other probes are executed until this completes successfully. - If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. - This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, - when it might take a long time to load data or warm a cache, than during steady-state operation. - This cannot be updated. - More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + Whether this container should allocate a buffer for stdin in the container runtime. If this + is not set, reads from stdin in the container will always result in EOF. + Default is false. + type: boolean + stdinOnce: + description: |- + Whether the container runtime should close the stdin channel after it has been opened by + a single attach. When stdin is true the stdin stream will remain open across multiple attach + sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the + first client attaches to stdin, and then remains open and accepts data until the client disconnects, + at which time stdin is closed and remains closed until the container is restarted. If this + flag is false, a container processes that reads from stdin will never receive an EOF. + Default is false + type: boolean + terminationMessagePath: + description: |- + Optional: Path at which the file to which the container's termination message + will be written is mounted into the container's filesystem. + Message written is intended to be brief final status, such as an assertion failure message. + Will be truncated by the node if greater than 4096 bytes. The total message length across + all containers will be limited to 12kb. + Defaults to /dev/termination-log. + Cannot be updated. + type: string + terminationMessagePolicy: + description: |- + Indicate how the termination message should be populated. File will use the contents of + terminationMessagePath to populate the container status message on both success and failure. + FallbackToLogsOnError will use the last chunk of container log output if the termination + message file is empty and the container exited with an error. + The log output is limited to 2048 bytes or 80 lines, whichever is smaller. + Defaults to File. + Cannot be updated. + type: string + tty: + description: |- + Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. + Default is false. + type: boolean + volumeDevices: + description: volumeDevices is the list of block devices to be + used by the container. + items: + description: volumeDevice describes a mapping of a raw block + device within a container. + properties: + devicePath: + description: devicePath is the path inside of the container + that the device will be mapped to. + type: string + name: + description: name must match the name of a persistentVolumeClaim + in the pod + type: string + required: + - devicePath + - name + type: object + type: array + volumeMounts: + description: |- + Pod volumes to mount into the container's filesystem. + Cannot be updated. + items: + description: VolumeMount describes a mounting of a Volume within + a container. + properties: + mountPath: + description: |- + Path within the container at which the volume should be mounted. Must + not contain ':'. + type: string + mountPropagation: + description: |- + mountPropagation determines how mounts are propagated from the host + to container and the other way around. + When not set, MountPropagationNone is used. + This field is beta in 1.10. + type: string + name: + description: This must match the Name of a Volume. + type: string + readOnly: + description: |- + Mounted read-only if true, read-write otherwise (false or unspecified). + Defaults to false. + type: boolean + subPath: + description: |- + Path within the volume from which the container's volume should be mounted. + Defaults to "" (volume's root). + type: string + subPathExpr: + description: |- + Expanded path within the volume from which the container's volume should be mounted. + Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. + Defaults to "" (volume's root). + SubPathExpr and SubPath are mutually exclusive. + type: string + required: + - mountPath + - name + type: object + type: array + workingDir: + description: |- + Container's working directory. + If not specified, the container runtime's default will be used, which + might be configured in the container image. + Cannot be updated. + type: string + required: + - name + type: object + deno: + description: Deno contains the definition for the Deno function that + is to be executed in KeptnTasks. + properties: + cmdParameters: + description: CmdParameters contains parameters that will be passed + to the command + type: string + configMapRef: + description: |- + ConfigMapReference allows to reference a ConfigMap containing the code of the function. + When referencing a ConfigMap, the code of the function must be available as a value of the 'code' key + of the referenced ConfigMap. properties: - exec: - description: Exec specifies the action to take. - properties: - command: - description: |- - Command is the command line to execute inside the container, the working directory for the - command is root ('/') in the container's filesystem. The command is simply exec'd, it is - not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use - a shell, you need to explicitly call out to that shell. - Exit status of 0 is treated as live/healthy and non-zero is unhealthy. - items: - type: string - type: array - type: object - failureThreshold: + name: + description: Name is the name of the referenced ConfigMap. + type: string + type: object + functionRef: + description: |- + FunctionReference allows to reference another KeptnTaskDefinition which contains the source code of the + function to be executes for KeptnTasks based on this KeptnTaskDefinition. This can be useful when you have + multiple KeptnTaskDefinitions that should execute the same logic, but each with different parameters. + properties: + name: + description: Name is the name of the referenced KeptnTaskDefinition. + type: string + type: object + httpRef: + description: HttpReference allows to point to an HTTP URL containing + the code of the function. + properties: + url: + description: Url is the URL containing the code of the function. + type: string + type: object + inline: + description: |- + Inline allows to specify the code that should be executed directly in the KeptnTaskDefinition, as a multi-line + string. + properties: + code: + description: Code contains the code of the function. + type: string + type: object + parameters: + description: Parameters contains parameters that will be passed + to the job that executes the task as env variables. + properties: + map: + additionalProperties: + type: string description: |- - Minimum consecutive failures for the probe to be considered failed after having succeeded. - Defaults to 3. Minimum value is 1. - format: int32 - type: integer - grpc: - description: GRPC specifies an action involving a GRPC port. - properties: - port: - description: Port number of the gRPC service. Number must - be in the range 1 to 65535. - format: int32 - type: integer - service: - description: |- - Service is the name of the service to place in the gRPC HealthCheckRequest - (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). - - - If this is not specified, the default behavior is defined by gRPC. - type: string - required: - - port - type: object - httpGet: - description: HTTPGet specifies the http request to perform. - properties: - host: - description: |- - Host name to connect to, defaults to the pod IP. You probably want to set - "Host" in httpHeaders instead. - type: string - httpHeaders: - description: Custom headers to set in the request. HTTP - allows repeated headers. - items: - description: HTTPHeader describes a custom header to - be used in HTTP probes - properties: - name: - description: |- - The header field name. - This will be canonicalized upon output, so case-variant names will be understood as the same header. - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: object - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: integer - - type: string - description: |- - Name or number of the port to access on the container. - Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - scheme: - description: |- - Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port + Inline contains the parameters that will be made available to the job + executing the KeptnTask via the 'DATA' environment variable. + The 'DATA' environment variable's content will be a json + encoded string containing all properties of the map provided. type: object - initialDelaySeconds: - description: |- - Number of seconds after the container has started before liveness probes are initiated. - More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes - format: int32 - type: integer - periodSeconds: + type: object + secureParameters: + description: |- + SecureParameters contains secure parameters that will be passed to the job that executes the task. + These will be stored and accessed as secrets in the cluster. + properties: + secret: description: |- - How often (in seconds) to perform the probe. - Default to 10 seconds. Minimum value is 1. - format: int32 - type: integer - successThreshold: + Secret contains the parameters that will be made available to the job + executing the KeptnTask via the 'SECRET_DATA' environment variable. + The 'SECRET_DATA' environment variable's content will the same as value of the 'SECRET_DATA' + key of the referenced secret. + type: string + type: object + type: object + function: + description: |- + Deprecated + Function contains the definition for the function that is to be executed in KeptnTasks. + properties: + cmdParameters: + description: CmdParameters contains parameters that will be passed + to the command + type: string + configMapRef: + description: |- + ConfigMapReference allows to reference a ConfigMap containing the code of the function. + When referencing a ConfigMap, the code of the function must be available as a value of the 'code' key + of the referenced ConfigMap. + properties: + name: + description: Name is the name of the referenced ConfigMap. + type: string + type: object + functionRef: + description: |- + FunctionReference allows to reference another KeptnTaskDefinition which contains the source code of the + function to be executes for KeptnTasks based on this KeptnTaskDefinition. This can be useful when you have + multiple KeptnTaskDefinitions that should execute the same logic, but each with different parameters. + properties: + name: + description: Name is the name of the referenced KeptnTaskDefinition. + type: string + type: object + httpRef: + description: HttpReference allows to point to an HTTP URL containing + the code of the function. + properties: + url: + description: Url is the URL containing the code of the function. + type: string + type: object + inline: + description: |- + Inline allows to specify the code that should be executed directly in the KeptnTaskDefinition, as a multi-line + string. + properties: + code: + description: Code contains the code of the function. + type: string + type: object + parameters: + description: Parameters contains parameters that will be passed + to the job that executes the task as env variables. + properties: + map: + additionalProperties: + type: string description: |- - Minimum consecutive successes for the probe to be considered successful after having failed. - Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. - format: int32 - type: integer - tcpSocket: - description: TCPSocket specifies an action involving a TCP - port. - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: integer - - type: string - description: |- - Number or name of the port to access on the container. - Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - required: - - port + Inline contains the parameters that will be made available to the job + executing the KeptnTask via the 'DATA' environment variable. + The 'DATA' environment variable's content will be a json + encoded string containing all properties of the map provided. type: object - terminationGracePeriodSeconds: - description: |- - Optional duration in seconds the pod needs to terminate gracefully upon probe failure. - The grace period is the duration in seconds after the processes running in the pod are sent - a termination signal and the time when the processes are forcibly halted with a kill signal. - Set this value longer than the expected cleanup time for your process. - If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this - value overrides the value provided by the pod spec. - Value must be non-negative integer. The value zero indicates stop immediately via - the kill signal (no opportunity to shut down). - This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. - Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. - format: int64 - type: integer - timeoutSeconds: + type: object + secureParameters: + description: |- + SecureParameters contains secure parameters that will be passed to the job that executes the task. + These will be stored and accessed as secrets in the cluster. + properties: + secret: description: |- - Number of seconds after which the probe times out. - Defaults to 1 second. Minimum value is 1. - More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes - format: int32 - type: integer + Secret contains the parameters that will be made available to the job + executing the KeptnTask via the 'SECRET_DATA' environment variable. + The 'SECRET_DATA' environment variable's content will the same as value of the 'SECRET_DATA' + key of the referenced secret. + type: string + type: object + type: object + imagePullSecrets: + description: ImagePullSecrets is an optional field to specify the + names of secrets to use for pulling container images + items: + description: |- + LocalObjectReference contains enough information to let you locate the + referenced object inside the same namespace. + properties: + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + type: object + x-kubernetes-map-type: atomic + type: array + python: + description: Python contains the definition for the python function + that is to be executed in KeptnTasks. + properties: + cmdParameters: + description: CmdParameters contains parameters that will be passed + to the command + type: string + configMapRef: + description: |- + ConfigMapReference allows to reference a ConfigMap containing the code of the function. + When referencing a ConfigMap, the code of the function must be available as a value of the 'code' key + of the referenced ConfigMap. + properties: + name: + description: Name is the name of the referenced ConfigMap. + type: string type: object - stdin: + functionRef: description: |- - Whether this container should allocate a buffer for stdin in the container runtime. If this - is not set, reads from stdin in the container will always result in EOF. - Default is false. - type: boolean - stdinOnce: + FunctionReference allows to reference another KeptnTaskDefinition which contains the source code of the + function to be executes for KeptnTasks based on this KeptnTaskDefinition. This can be useful when you have + multiple KeptnTaskDefinitions that should execute the same logic, but each with different parameters. + properties: + name: + description: Name is the name of the referenced KeptnTaskDefinition. + type: string + type: object + httpRef: + description: HttpReference allows to point to an HTTP URL containing + the code of the function. + properties: + url: + description: Url is the URL containing the code of the function. + type: string + type: object + inline: description: |- - Whether the container runtime should close the stdin channel after it has been opened by - a single attach. When stdin is true the stdin stream will remain open across multiple attach - sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the - first client attaches to stdin, and then remains open and accepts data until the client disconnects, - at which time stdin is closed and remains closed until the container is restarted. If this - flag is false, a container processes that reads from stdin will never receive an EOF. - Default is false - type: boolean - terminationMessagePath: + Inline allows to specify the code that should be executed directly in the KeptnTaskDefinition, as a multi-line + string. + properties: + code: + description: Code contains the code of the function. + type: string + type: object + parameters: + description: Parameters contains parameters that will be passed + to the job that executes the task as env variables. + properties: + map: + additionalProperties: + type: string + description: |- + Inline contains the parameters that will be made available to the job + executing the KeptnTask via the 'DATA' environment variable. + The 'DATA' environment variable's content will be a json + encoded string containing all properties of the map provided. + type: object + type: object + secureParameters: description: |- - Optional: Path at which the file to which the container's termination message - will be written is mounted into the container's filesystem. - Message written is intended to be brief final status, such as an assertion failure message. - Will be truncated by the node if greater than 4096 bytes. The total message length across - all containers will be limited to 12kb. - Defaults to /dev/termination-log. - Cannot be updated. + SecureParameters contains secure parameters that will be passed to the job that executes the task. + These will be stored and accessed as secrets in the cluster. + properties: + secret: + description: |- + Secret contains the parameters that will be made available to the job + executing the KeptnTask via the 'SECRET_DATA' environment variable. + The 'SECRET_DATA' environment variable's content will the same as value of the 'SECRET_DATA' + key of the referenced secret. + type: string + type: object + type: object + retries: + default: 10 + description: |- + Retries specifies how many times a job executing the KeptnTaskDefinition should be restarted in the case + of an unsuccessful attempt. + format: int32 + type: integer + serviceAccount: + description: ServiceAccount specifies the service account to be used + in jobs to authenticate with the Kubernetes API and access cluster + resources. + properties: + name: + type: string + required: + - name + type: object + timeout: + default: 5m + description: |- + Timeout specifies the maximum time to wait for the task to be completed successfully. + If the task does not complete successfully within this time frame, it will be + considered to be failed. + pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ + type: string + ttlSecondsAfterFinished: + default: 300 + description: |- + TTLSecondsAfterFinished controller makes a job eligible to be cleaned up after it is finished. + The timer starts when the status shows up to be Complete or Failed. + format: int32 + type: integer + type: object + status: + description: Status describes the current state of the KeptnTaskDefinition. + properties: + function: + description: Function contains status information of the function + definition for the task. + properties: + configMap: + description: ConfigMap indicates the ConfigMap in which the function + code is stored. + type: string + type: object + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +# Source: keptn/charts/lifecycleOperator/templates/operator-crd.yaml +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + cert-manager.io/inject-ca-from: helmtests/keptn-certs + labels: + app.kubernetes.io/part-of: keptn + crdGroup: lifecycle.keptn.sh + keptn.sh/inject-cert: "true" + app.kubernetes.io/instance: keptn-test + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: lifecycle-operator + app.kubernetes.io/version: vmyversion + helm.sh/chart: lifecycle-operator-0.2.1 + name: keptntasks.lifecycle.keptn.sh +spec: + group: lifecycle.keptn.sh + names: + kind: KeptnTask + listKind: KeptnTaskList + plural: keptntasks + singular: keptntask + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .spec.app + name: AppName + type: string + - jsonPath: .spec.appVersion + name: AppVersion + type: string + - jsonPath: .spec.workload + name: WorkloadName + type: string + - jsonPath: .spec.workloadVersion + name: WorkloadVersion + type: string + - jsonPath: .status.jobName + name: Job Name + type: string + - jsonPath: .status.status + name: Status + type: string + name: v1alpha1 + schema: + openAPIV3Schema: + description: KeptnTask is the Schema for the keptntasks API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: KeptnTaskSpec defines the desired state of KeptnTask + properties: + app: + type: string + appVersion: + type: string + checkType: + type: string + context: + properties: + appName: + type: string + appVersion: + type: string + objectType: + type: string + taskType: + type: string + workloadName: + type: string + workloadVersion: + type: string + required: + - appName + - appVersion + - objectType + - taskType + - workloadName + - workloadVersion + type: object + parameters: + properties: + map: + additionalProperties: + type: string + type: object + type: object + secureParameters: + properties: + secret: + type: string + type: object + taskDefinition: + type: string + workload: + type: string + workloadVersion: + type: string + required: + - app + - appVersion + - context + - taskDefinition + - workload + - workloadVersion + type: object + status: + description: KeptnTaskStatus defines the observed state of KeptnTask + properties: + endTime: + format: date-time + type: string + jobName: + type: string + message: + type: string + startTime: + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .spec.app + name: AppName + type: string + - jsonPath: .spec.appVersion + name: AppVersion + type: string + - jsonPath: .spec.workload + name: WorkloadName + type: string + - jsonPath: .spec.workloadVersion + name: WorkloadVersion + type: string + - jsonPath: .status.jobName + name: Job Name + type: string + - jsonPath: .status.status + name: Status + type: string + name: v1alpha2 + schema: + openAPIV3Schema: + description: KeptnTask is the Schema for the keptntasks API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: KeptnTaskSpec defines the desired state of KeptnTask + properties: + app: + type: string + appVersion: + type: string + checkType: + type: string + context: + properties: + appName: type: string - terminationMessagePolicy: - description: |- - Indicate how the termination message should be populated. File will use the contents of - terminationMessagePath to populate the container status message on both success and failure. - FallbackToLogsOnError will use the last chunk of container log output if the termination - message file is empty and the container exited with an error. - The log output is limited to 2048 bytes or 80 lines, whichever is smaller. - Defaults to File. - Cannot be updated. + appVersion: type: string - tty: - description: |- - Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. - Default is false. - type: boolean - volumeDevices: - description: volumeDevices is the list of block devices to be - used by the container. - items: - description: volumeDevice describes a mapping of a raw block - device within a container. - properties: - devicePath: - description: devicePath is the path inside of the container - that the device will be mapped to. - type: string - name: - description: name must match the name of a persistentVolumeClaim - in the pod - type: string - required: - - devicePath - - name - type: object - type: array - volumeMounts: - description: |- - Pod volumes to mount into the container's filesystem. - Cannot be updated. - items: - description: VolumeMount describes a mounting of a Volume within - a container. - properties: - mountPath: - description: |- - Path within the container at which the volume should be mounted. Must - not contain ':'. - type: string - mountPropagation: - description: |- - mountPropagation determines how mounts are propagated from the host - to container and the other way around. - When not set, MountPropagationNone is used. - This field is beta in 1.10. - type: string - name: - description: This must match the Name of a Volume. - type: string - readOnly: - description: |- - Mounted read-only if true, read-write otherwise (false or unspecified). - Defaults to false. - type: boolean - subPath: - description: |- - Path within the volume from which the container's volume should be mounted. - Defaults to "" (volume's root). - type: string - subPathExpr: - description: |- - Expanded path within the volume from which the container's volume should be mounted. - Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. - Defaults to "" (volume's root). - SubPathExpr and SubPath are mutually exclusive. - type: string - required: - - mountPath - - name - type: object - type: array - workingDir: - description: |- - Container's working directory. - If not specified, the container runtime's default will be used, which - might be configured in the container image. - Cannot be updated. + objectType: + type: string + taskType: + type: string + workloadName: + type: string + workloadVersion: + type: string + required: + - appName + - appVersion + - objectType + - taskType + - workloadName + - workloadVersion + type: object + parameters: + properties: + map: + additionalProperties: + type: string + type: object + type: object + secureParameters: + properties: + secret: + type: string + type: object + taskDefinition: + type: string + workload: + type: string + workloadVersion: + type: string + required: + - app + - appVersion + - context + - taskDefinition + - workload + - workloadVersion + type: object + status: + description: KeptnTaskStatus defines the observed state of KeptnTask + properties: + endTime: + format: date-time + type: string + jobName: + type: string + message: + type: string + startTime: + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .spec.app + name: AppName + type: string + - jsonPath: .spec.appVersion + name: AppVersion + type: string + - jsonPath: .spec.workload + name: WorkloadName + type: string + - jsonPath: .spec.workloadVersion + name: WorkloadVersion + type: string + - jsonPath: .status.jobName + name: Job Name + type: string + - jsonPath: .status.status + name: Status + type: string + name: v1alpha3 + schema: + openAPIV3Schema: + description: KeptnTask is the Schema for the keptntasks API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Spec describes the desired state of the KeptnTask. + properties: + checkType: + description: Type indicates whether the KeptnTask is part of the pre- + or postDeployment phase. + type: string + context: + description: Context contains contextual information about the task + execution. + properties: + appName: + description: AppName the name of the KeptnApp the KeptnTask is + being executed for. + type: string + appVersion: + description: AppVersion the version of the KeptnApp the KeptnTask + is being executed for. + type: string + objectType: + description: ObjectType indicates whether the KeptnTask is being + executed for a KeptnApp or KeptnWorkload. + type: string + taskType: + description: TaskType indicates whether the KeptnTask is part + of the pre- or postDeployment phase. + type: string + workloadName: + description: WorkloadName the name of the KeptnWorkload the KeptnTask + is being executed for. + type: string + workloadVersion: + description: WorkloadVersion the version of the KeptnWorkload + the KeptnTask is being executed for. type: string - required: - - name type: object - deno: - description: Deno contains the definition for the Deno function that - is to be executed in KeptnTasks. + parameters: + description: Parameters contains parameters that will be passed to + the job that executes the task. properties: - cmdParameters: - description: CmdParameters contains parameters that will be passed - to the command - type: string - configMapRef: - description: |- - ConfigMapReference allows to reference a ConfigMap containing the code of the function. - When referencing a ConfigMap, the code of the function must be available as a value of the 'code' key - of the referenced ConfigMap. - properties: - name: - description: Name is the name of the referenced ConfigMap. - type: string - type: object - functionRef: - description: |- - FunctionReference allows to reference another KeptnTaskDefinition which contains the source code of the - function to be executes for KeptnTasks based on this KeptnTaskDefinition. This can be useful when you have - multiple KeptnTaskDefinitions that should execute the same logic, but each with different parameters. - properties: - name: - description: Name is the name of the referenced KeptnTaskDefinition. - type: string - type: object - httpRef: - description: HttpReference allows to point to an HTTP URL containing - the code of the function. - properties: - url: - description: Url is the URL containing the code of the function. - type: string - type: object - inline: + map: + additionalProperties: + type: string description: |- - Inline allows to specify the code that should be executed directly in the KeptnTaskDefinition, as a multi-line - string. - properties: - code: - description: Code contains the code of the function. - type: string - type: object - parameters: - description: Parameters contains parameters that will be passed - to the job that executes the task as env variables. - properties: - map: - additionalProperties: - type: string - description: |- - Inline contains the parameters that will be made available to the job - executing the KeptnTask via the 'DATA' environment variable. - The 'DATA' environment variable's content will be a json - encoded string containing all properties of the map provided. - type: object + Inline contains the parameters that will be made available to the job + executing the KeptnTask via the 'DATA' environment variable. + The 'DATA' environment variable's content will be a json + encoded string containing all properties of the map provided. type: object - secureParameters: + type: object + retries: + default: 10 + description: |- + Retries indicates how many times the KeptnTask can be attempted in the case of an error + before considering the KeptnTask to be failed. + format: int32 + type: integer + secureParameters: + description: |- + SecureParameters contains secure parameters that will be passed to the job that executes the task. + These will be stored and accessed as secrets in the cluster. + properties: + secret: description: |- - SecureParameters contains secure parameters that will be passed to the job that executes the task. - These will be stored and accessed as secrets in the cluster. - properties: - secret: - description: |- - Secret contains the parameters that will be made available to the job - executing the KeptnTask via the 'SECRET_DATA' environment variable. - The 'SECRET_DATA' environment variable's content will the same as value of the 'SECRET_DATA' - key of the referenced secret. - type: string - type: object + Secret contains the parameters that will be made available to the job + executing the KeptnTask via the 'SECRET_DATA' environment variable. + The 'SECRET_DATA' environment variable's content will the same as value of the 'SECRET_DATA' + key of the referenced secret. + type: string type: object - function: + taskDefinition: description: |- - Deprecated - Function contains the definition for the function that is to be executed in KeptnTasks. + TaskDefinition refers to the name of the KeptnTaskDefinition + which includes the specification for the task to be performed. + The KeptnTaskDefinition can be + located in the same namespace as the KeptnTask, or in the Keptn namespace. + type: string + timeout: + default: 5m + description: |- + Timeout specifies the maximum time to wait for the task to be completed successfully. + If the task does not complete successfully within this time frame, it will be + considered to be failed. + pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ + type: string + required: + - taskDefinition + type: object + status: + description: Status describes the current state of the KeptnTask. + properties: + endTime: + description: EndTime represents the time at which the KeptnTask finished. + format: date-time + type: string + jobName: + description: JobName is the name of the Job executing the Task. + type: string + message: + description: Message contains information about unexpected errors + encountered during the execution of the KeptnTask. + type: string + reason: + description: Reason contains more information about the reason for + the last transition of the Job executing the KeptnTask. + type: string + startTime: + description: StartTime represents the time at which the KeptnTask + started. + format: date-time + type: string + status: + default: Pending + description: Status represents the overall state of the KeptnTask. + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .spec.app + name: AppName + type: string + - jsonPath: .spec.appVersion + name: AppVersion + type: string + - jsonPath: .spec.workload + name: WorkloadName + type: string + - jsonPath: .spec.workloadVersion + name: WorkloadVersion + type: string + - jsonPath: .status.jobName + name: Job Name + type: string + - jsonPath: .status.status + name: Status + type: string + name: v1beta1 + schema: + openAPIV3Schema: + description: KeptnTask is the Schema for the keptntasks API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Spec describes the desired state of the KeptnTask. + properties: + checkType: + description: Type indicates whether the KeptnTask is part of the pre- + or postDeployment phase. + type: string + context: + description: Context contains contextual information about the task + execution. properties: - cmdParameters: - description: CmdParameters contains parameters that will be passed - to the command + appName: + description: AppName the name of the KeptnApp the KeptnTask is + being executed for. + type: string + appVersion: + description: AppVersion the version of the KeptnApp the KeptnTask + is being executed for. type: string - configMapRef: - description: |- - ConfigMapReference allows to reference a ConfigMap containing the code of the function. - When referencing a ConfigMap, the code of the function must be available as a value of the 'code' key - of the referenced ConfigMap. - properties: - name: - description: Name is the name of the referenced ConfigMap. - type: string - type: object - functionRef: - description: |- - FunctionReference allows to reference another KeptnTaskDefinition which contains the source code of the - function to be executes for KeptnTasks based on this KeptnTaskDefinition. This can be useful when you have - multiple KeptnTaskDefinitions that should execute the same logic, but each with different parameters. - properties: - name: - description: Name is the name of the referenced KeptnTaskDefinition. - type: string - type: object - httpRef: - description: HttpReference allows to point to an HTTP URL containing - the code of the function. - properties: - url: - description: Url is the URL containing the code of the function. - type: string - type: object - inline: - description: |- - Inline allows to specify the code that should be executed directly in the KeptnTaskDefinition, as a multi-line - string. - properties: - code: - description: Code contains the code of the function. - type: string - type: object - parameters: - description: Parameters contains parameters that will be passed - to the job that executes the task as env variables. - properties: - map: - additionalProperties: - type: string - description: |- - Inline contains the parameters that will be made available to the job - executing the KeptnTask via the 'DATA' environment variable. - The 'DATA' environment variable's content will be a json - encoded string containing all properties of the map provided. - type: object - type: object - secureParameters: - description: |- - SecureParameters contains secure parameters that will be passed to the job that executes the task. - These will be stored and accessed as secrets in the cluster. - properties: - secret: - description: |- - Secret contains the parameters that will be made available to the job - executing the KeptnTask via the 'SECRET_DATA' environment variable. - The 'SECRET_DATA' environment variable's content will the same as value of the 'SECRET_DATA' - key of the referenced secret. - type: string + metadata: + additionalProperties: + type: string + description: Metadata contains additional key-value pairs for + contextual information. type: object + objectType: + description: ObjectType indicates whether the KeptnTask is being + executed for a KeptnApp or KeptnWorkload. + type: string + taskType: + description: TaskType indicates whether the KeptnTask is part + of the pre- or postDeployment phase. + type: string + workloadName: + description: WorkloadName the name of the KeptnWorkload the KeptnTask + is being executed for. + type: string + workloadVersion: + description: WorkloadVersion the version of the KeptnWorkload + the KeptnTask is being executed for. + type: string type: object - imagePullSecrets: - description: ImagePullSecrets is an optional field to specify the - names of secrets to use for pulling container images - items: - description: |- - LocalObjectReference contains enough information to let you locate the - referenced object inside the same namespace. - properties: - name: - description: |- - Name of the referent. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid? - type: string - type: object - x-kubernetes-map-type: atomic - type: array - python: - description: Python contains the definition for the python function - that is to be executed in KeptnTasks. + parameters: + description: Parameters contains parameters that will be passed to + the job that executes the task. properties: - cmdParameters: - description: CmdParameters contains parameters that will be passed - to the command - type: string - configMapRef: - description: |- - ConfigMapReference allows to reference a ConfigMap containing the code of the function. - When referencing a ConfigMap, the code of the function must be available as a value of the 'code' key - of the referenced ConfigMap. - properties: - name: - description: Name is the name of the referenced ConfigMap. - type: string - type: object - functionRef: - description: |- - FunctionReference allows to reference another KeptnTaskDefinition which contains the source code of the - function to be executes for KeptnTasks based on this KeptnTaskDefinition. This can be useful when you have - multiple KeptnTaskDefinitions that should execute the same logic, but each with different parameters. - properties: - name: - description: Name is the name of the referenced KeptnTaskDefinition. - type: string - type: object - httpRef: - description: HttpReference allows to point to an HTTP URL containing - the code of the function. - properties: - url: - description: Url is the URL containing the code of the function. - type: string - type: object - inline: - description: |- - Inline allows to specify the code that should be executed directly in the KeptnTaskDefinition, as a multi-line - string. - properties: - code: - description: Code contains the code of the function. - type: string - type: object - parameters: - description: Parameters contains parameters that will be passed - to the job that executes the task as env variables. - properties: - map: - additionalProperties: - type: string - description: |- - Inline contains the parameters that will be made available to the job - executing the KeptnTask via the 'DATA' environment variable. - The 'DATA' environment variable's content will be a json - encoded string containing all properties of the map provided. - type: object - type: object - secureParameters: + map: + additionalProperties: + type: string description: |- - SecureParameters contains secure parameters that will be passed to the job that executes the task. - These will be stored and accessed as secrets in the cluster. - properties: - secret: - description: |- - Secret contains the parameters that will be made available to the job - executing the KeptnTask via the 'SECRET_DATA' environment variable. - The 'SECRET_DATA' environment variable's content will the same as value of the 'SECRET_DATA' - key of the referenced secret. - type: string + Inline contains the parameters that will be made available to the job + executing the KeptnTask via the 'DATA' environment variable. + The 'DATA' environment variable's content will be a json + encoded string containing all properties of the map provided. type: object type: object retries: default: 10 description: |- - Retries specifies how many times a job executing the KeptnTaskDefinition should be restarted in the case - of an unsuccessful attempt. + Retries indicates how many times the KeptnTask can be attempted in the case of an error + before considering the KeptnTask to be failed. format: int32 type: integer - serviceAccount: - description: ServiceAccount specifies the service account to be used - in jobs to authenticate with the Kubernetes API and access cluster - resources. + secureParameters: + description: |- + SecureParameters contains secure parameters that will be passed to the job that executes the task. + These will be stored and accessed as secrets in the cluster. properties: - name: + secret: + description: |- + Secret contains the parameters that will be made available to the job + executing the KeptnTask via the 'SECRET_DATA' environment variable. + The 'SECRET_DATA' environment variable's content will the same as value of the 'SECRET_DATA' + key of the referenced secret. type: string - required: - - name type: object + taskDefinition: + description: |- + TaskDefinition refers to the name of the KeptnTaskDefinition + which includes the specification for the task to be performed. + The KeptnTaskDefinition can be + located in the same namespace as the KeptnTask, or in the Keptn namespace. + type: string timeout: default: 5m description: |- @@ -6882,26 +6872,36 @@ spec: considered to be failed. pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ type: string - ttlSecondsAfterFinished: - default: 300 - description: |- - TTLSecondsAfterFinished controller makes a job eligible to be cleaned up after it is finished. - The timer starts when the status shows up to be Complete or Failed. - format: int32 - type: integer + required: + - taskDefinition type: object status: - description: Status describes the current state of the KeptnTaskDefinition. + description: Status describes the current state of the KeptnTask. properties: - function: - description: Function contains status information of the function - definition for the task. - properties: - configMap: - description: ConfigMap indicates the ConfigMap in which the function - code is stored. - type: string - type: object + endTime: + description: EndTime represents the time at which the KeptnTask finished. + format: date-time + type: string + jobName: + description: JobName is the name of the Job executing the Task. + type: string + message: + description: Message contains information about unexpected errors + encountered during the execution of the KeptnTask. + type: string + reason: + description: Reason contains more information about the reason for + the last transition of the Job executing the KeptnTask. + type: string + startTime: + description: StartTime represents the time at which the KeptnTask + started. + format: date-time + type: string + status: + default: Pending + description: Status represents the overall state of the KeptnTask. + type: string type: object type: object served: true @@ -6909,11 +6909,10 @@ spec: subresources: status: {} --- -# Source: keptn/charts/lifecycleOperator/templates/keptnworkload-crd.yaml +# Source: keptn/charts/lifecycleOperator/templates/operator-crd.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: keptnworkloads.lifecycle.keptn.sh annotations: controller-gen.kubebuilder.io/version: v0.14.0 cert-manager.io/inject-ca-from: helmtests/keptn-certs @@ -6926,6 +6925,7 @@ metadata: app.kubernetes.io/name: lifecycle-operator app.kubernetes.io/version: vmyversion helm.sh/chart: lifecycle-operator-0.2.1 + name: keptnworkloads.lifecycle.keptn.sh spec: group: lifecycle.keptn.sh names: @@ -7334,11 +7334,10 @@ spec: subresources: status: {} --- -# Source: keptn/charts/lifecycleOperator/templates/keptnworkloadversion-crd.yaml +# Source: keptn/charts/lifecycleOperator/templates/operator-crd.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: keptnworkloadversions.lifecycle.keptn.sh annotations: controller-gen.kubebuilder.io/version: v0.14.0 cert-manager.io/inject-ca-from: helmtests/keptn-certs @@ -7351,6 +7350,7 @@ metadata: app.kubernetes.io/name: lifecycle-operator app.kubernetes.io/version: vmyversion helm.sh/chart: lifecycle-operator-0.2.1 + name: keptnworkloadversions.lifecycle.keptn.sh spec: group: lifecycle.keptn.sh names: diff --git a/.github/scripts/.helm-tests/lifecycle-with-certs/result.yaml b/.github/scripts/.helm-tests/lifecycle-with-certs/result.yaml index b2e548fcca..5fce6ce37c 100644 --- a/.github/scripts/.helm-tests/lifecycle-with-certs/result.yaml +++ b/.github/scripts/.helm-tests/lifecycle-with-certs/result.yaml @@ -100,11 +100,241 @@ data: - name: KLCPermit schedulerName: keptn-scheduler --- -# Source: keptn/charts/lifecycleOperator/templates/keptnapp-crd.yaml +# Source: keptn/charts/lifecycleOperator/templates/operator-crd.yaml +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + cert-manager.io/inject-ca-from: 'helmtests/keptn-certs' + test/jj: test + labels: + app.kubernetes.io/part-of: keptn + crdGroup: lifecycle.keptn.sh + keptn.sh/inject-cert: "true" + app.kubernetes.io/instance: keptn-test + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: lifecycle-operator + app.kubernetes.io/version: vmyversion + helm.sh/chart: lifecycle-operator-0.2.1 + name: keptnappcontexts.lifecycle.keptn.sh +spec: + group: lifecycle.keptn.sh + names: + kind: KeptnAppContext + listKind: KeptnAppContextList + plural: keptnappcontexts + singular: keptnappcontext + scope: Namespaced + versions: + - name: v1beta1 + schema: + openAPIV3Schema: + description: KeptnAppContext is the Schema for the keptnappcontexts API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: KeptnAppContextSpec defines the desired state of KeptnAppContext + properties: + metadata: + additionalProperties: + type: string + description: Metadata contains additional key-value pairs for contextual + information. + type: object + postDeploymentEvaluations: + description: |- + PostDeploymentEvaluations is a list of all evaluations to be performed + during the post-deployment phase of the KeptnApp. + The items of this list refer to the names of KeptnEvaluationDefinitions + located in the same namespace as the KeptnApp, or in the Keptn namespace. + items: + type: string + type: array + postDeploymentTasks: + description: |- + PostDeploymentTasks is a list of all tasks to be performed during the post-deployment phase of the KeptnApp. + The items of this list refer to the names of KeptnTaskDefinitions + located in the same namespace as the KeptnApp, or in the Keptn namespace. + items: + type: string + type: array + preDeploymentEvaluations: + description: |- + PreDeploymentEvaluations is a list of all evaluations to be performed + during the pre-deployment phase of the KeptnApp. + The items of this list refer to the names of KeptnEvaluationDefinitions + located in the same namespace as the KeptnApp, or in the Keptn namespace. + items: + type: string + type: array + preDeploymentTasks: + description: |- + PreDeploymentTasks is a list of all tasks to be performed during the pre-deployment phase of the KeptnApp. + The items of this list refer to the names of KeptnTaskDefinitions + located in the same namespace as the KeptnApp, or in the Keptn namespace. + items: + type: string + type: array + promotionTasks: + description: |- + PromotionTasks is a list of all tasks to be performed during the promotion phase of the KeptnApp. + The items of this list refer to the names of KeptnTaskDefinitions + located in the same namespace as the KeptnApp, or in the Keptn namespace. + items: + type: string + type: array + spanLinks: + description: |- + SpanLinks are links to OpenTelemetry span IDs for tracking. These links establish relationships between spans across different services, enabling distributed tracing. + For more information on OpenTelemetry span links, refer to the documentation: https://opentelemetry.io/docs/concepts/signals/traces/#span-links + items: + type: string + type: array + type: object + status: + description: KeptnAppContextStatus defines the observed state of KeptnAppContext + properties: + status: + description: unused field + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +# Source: keptn/charts/lifecycleOperator/templates/operator-crd.yaml +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + cert-manager.io/inject-ca-from: helmtests/keptn-certs + test/jj: test + labels: + app.kubernetes.io/part-of: keptn + crdGroup: lifecycle.keptn.sh + keptn.sh/inject-cert: "true" + app.kubernetes.io/instance: keptn-test + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: lifecycle-operator + app.kubernetes.io/version: vmyversion + helm.sh/chart: lifecycle-operator-0.2.1 + name: keptnappcreationrequests.lifecycle.keptn.sh +spec: + group: lifecycle.keptn.sh + names: + kind: KeptnAppCreationRequest + listKind: KeptnAppCreationRequestList + plural: keptnappcreationrequests + singular: keptnappcreationrequest + scope: Namespaced + versions: + - name: v1alpha3 + schema: + openAPIV3Schema: + description: KeptnAppCreationRequest is the Schema for the keptnappcreationrequests + API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Spec describes the desired state of the KeptnAppCreationRequest. + properties: + appName: + description: AppName is the name of the KeptnApp the KeptnAppCreationRequest + should create if no user-defined object with that name is found. + type: string + required: + - appName + type: object + status: + description: Status describes the current state of the KeptnAppCreationRequest. + type: string + type: object + served: true + storage: false + subresources: + status: {} + - name: v1beta1 + schema: + openAPIV3Schema: + description: KeptnAppCreationRequest is the Schema for the keptnappcreationrequests + API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Spec describes the desired state of the KeptnAppCreationRequest. + properties: + appName: + description: AppName is the name of the KeptnApp the KeptnAppCreationRequest + should create if no user-defined object with that name is found. + type: string + required: + - appName + type: object + status: + description: Status describes the current state of the KeptnAppCreationRequest. + type: string + type: object + served: true + storage: true + subresources: + status: {} +--- +# Source: keptn/charts/lifecycleOperator/templates/operator-crd.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: keptnapps.lifecycle.keptn.sh annotations: controller-gen.kubebuilder.io/version: v0.14.0 cert-manager.io/inject-ca-from: helmtests/keptn-certs @@ -118,6 +348,7 @@ metadata: app.kubernetes.io/name: lifecycle-operator app.kubernetes.io/version: vmyversion helm.sh/chart: lifecycle-operator-0.2.1 + name: keptnapps.lifecycle.keptn.sh spec: conversion: strategy: Webhook @@ -455,14 +686,13 @@ spec: subresources: status: {} --- -# Source: keptn/charts/lifecycleOperator/templates/keptnappcontext-crd.yaml +# Source: keptn/charts/lifecycleOperator/templates/operator-crd.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: keptnappcontexts.lifecycle.keptn.sh annotations: controller-gen.kubebuilder.io/version: v0.14.0 - cert-manager.io/inject-ca-from: 'helmtests/keptn-certs' + cert-manager.io/inject-ca-from: helmtests/keptn-certs test/jj: test labels: app.kubernetes.io/part-of: keptn @@ -473,256 +703,26 @@ metadata: app.kubernetes.io/name: lifecycle-operator app.kubernetes.io/version: vmyversion helm.sh/chart: lifecycle-operator-0.2.1 + name: keptnappversions.lifecycle.keptn.sh spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: 'lifecycle-webhook-service' + namespace: 'helmtests' + path: /convert + conversionReviewVersions: + - v1 group: lifecycle.keptn.sh names: - kind: KeptnAppContext - listKind: KeptnAppContextList - plural: keptnappcontexts - singular: keptnappcontext - scope: Namespaced - versions: - - name: v1beta1 - schema: - openAPIV3Schema: - description: KeptnAppContext is the Schema for the keptnappcontexts API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: KeptnAppContextSpec defines the desired state of KeptnAppContext - properties: - metadata: - additionalProperties: - type: string - description: Metadata contains additional key-value pairs for contextual - information. - type: object - postDeploymentEvaluations: - description: |- - PostDeploymentEvaluations is a list of all evaluations to be performed - during the post-deployment phase of the KeptnApp. - The items of this list refer to the names of KeptnEvaluationDefinitions - located in the same namespace as the KeptnApp, or in the Keptn namespace. - items: - type: string - type: array - postDeploymentTasks: - description: |- - PostDeploymentTasks is a list of all tasks to be performed during the post-deployment phase of the KeptnApp. - The items of this list refer to the names of KeptnTaskDefinitions - located in the same namespace as the KeptnApp, or in the Keptn namespace. - items: - type: string - type: array - preDeploymentEvaluations: - description: |- - PreDeploymentEvaluations is a list of all evaluations to be performed - during the pre-deployment phase of the KeptnApp. - The items of this list refer to the names of KeptnEvaluationDefinitions - located in the same namespace as the KeptnApp, or in the Keptn namespace. - items: - type: string - type: array - preDeploymentTasks: - description: |- - PreDeploymentTasks is a list of all tasks to be performed during the pre-deployment phase of the KeptnApp. - The items of this list refer to the names of KeptnTaskDefinitions - located in the same namespace as the KeptnApp, or in the Keptn namespace. - items: - type: string - type: array - promotionTasks: - description: |- - PromotionTasks is a list of all tasks to be performed during the promotion phase of the KeptnApp. - The items of this list refer to the names of KeptnTaskDefinitions - located in the same namespace as the KeptnApp, or in the Keptn namespace. - items: - type: string - type: array - spanLinks: - description: |- - SpanLinks are links to OpenTelemetry span IDs for tracking. These links establish relationships between spans across different services, enabling distributed tracing. - For more information on OpenTelemetry span links, refer to the documentation: https://opentelemetry.io/docs/concepts/signals/traces/#span-links - items: - type: string - type: array - type: object - status: - description: KeptnAppContextStatus defines the observed state of KeptnAppContext - properties: - status: - description: unused field - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} ---- -# Source: keptn/charts/lifecycleOperator/templates/keptnappcreationrequest-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnappcreationrequests.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.14.0 - cert-manager.io/inject-ca-from: helmtests/keptn-certs - test/jj: test - labels: - app.kubernetes.io/part-of: keptn - crdGroup: lifecycle.keptn.sh - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: vmyversion - helm.sh/chart: lifecycle-operator-0.2.1 -spec: - group: lifecycle.keptn.sh - names: - kind: KeptnAppCreationRequest - listKind: KeptnAppCreationRequestList - plural: keptnappcreationrequests - singular: keptnappcreationrequest - scope: Namespaced - versions: - - name: v1alpha3 - schema: - openAPIV3Schema: - description: KeptnAppCreationRequest is the Schema for the keptnappcreationrequests - API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Spec describes the desired state of the KeptnAppCreationRequest. - properties: - appName: - description: AppName is the name of the KeptnApp the KeptnAppCreationRequest - should create if no user-defined object with that name is found. - type: string - required: - - appName - type: object - status: - description: Status describes the current state of the KeptnAppCreationRequest. - type: string - type: object - served: true - storage: false - subresources: - status: {} - - name: v1beta1 - schema: - openAPIV3Schema: - description: KeptnAppCreationRequest is the Schema for the keptnappcreationrequests - API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Spec describes the desired state of the KeptnAppCreationRequest. - properties: - appName: - description: AppName is the name of the KeptnApp the KeptnAppCreationRequest - should create if no user-defined object with that name is found. - type: string - required: - - appName - type: object - status: - description: Status describes the current state of the KeptnAppCreationRequest. - type: string - type: object - served: true - storage: true - subresources: - status: {} ---- -# Source: keptn/charts/lifecycleOperator/templates/keptnappversion-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnappversions.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.14.0 - cert-manager.io/inject-ca-from: helmtests/keptn-certs - test/jj: test - labels: - app.kubernetes.io/part-of: keptn - crdGroup: lifecycle.keptn.sh - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: vmyversion - helm.sh/chart: lifecycle-operator-0.2.1 -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: 'lifecycle-webhook-service' - namespace: 'helmtests' - path: /convert - conversionReviewVersions: - - v1 - group: lifecycle.keptn.sh - names: - kind: KeptnAppVersion - listKind: KeptnAppVersionList - plural: keptnappversions - shortNames: - - kav - singular: keptnappversion + kind: KeptnAppVersion + listKind: KeptnAppVersionList + plural: keptnappversions + shortNames: + - kav + singular: keptnappversion scope: Namespaced versions: - additionalPrinterColumns: @@ -1959,11 +1959,10 @@ spec: subresources: status: {} --- -# Source: keptn/charts/lifecycleOperator/templates/keptnconfig-crd.yaml +# Source: keptn/charts/lifecycleOperator/templates/operator-crd.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: keptnconfigs.options.keptn.sh annotations: controller-gen.kubebuilder.io/version: v0.14.0 cert-manager.io/inject-ca-from: helmtests/keptn-certs @@ -1977,6 +1976,7 @@ metadata: app.kubernetes.io/name: lifecycle-operator app.kubernetes.io/version: vmyversion helm.sh/chart: lifecycle-operator-0.2.1 + name: keptnconfigs.options.keptn.sh spec: group: options.keptn.sh names: @@ -2049,11 +2049,10 @@ spec: subresources: status: {} --- -# Source: keptn/charts/lifecycleOperator/templates/keptnevaluation-crd.yaml +# Source: keptn/charts/lifecycleOperator/templates/operator-crd.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: keptnevaluations.lifecycle.keptn.sh annotations: controller-gen.kubebuilder.io/version: v0.14.0 cert-manager.io/inject-ca-from: helmtests/keptn-certs @@ -2067,43 +2066,23 @@ metadata: app.kubernetes.io/name: lifecycle-operator app.kubernetes.io/version: vmyversion helm.sh/chart: lifecycle-operator-0.2.1 + name: keptnevaluationdefinitions.lifecycle.keptn.sh spec: group: lifecycle.keptn.sh names: - kind: KeptnEvaluation - listKind: KeptnEvaluationList - plural: keptnevaluations + kind: KeptnEvaluationDefinition + listKind: KeptnEvaluationDefinitionList + plural: keptnevaluationdefinitions shortNames: - - ke - singular: keptnevaluation + - ked + singular: keptnevaluationdefinition scope: Namespaced versions: - - additionalPrinterColumns: - - jsonPath: .spec.appName - name: AppName - type: string - - jsonPath: .spec.appVersion - name: AppVersion - type: string - - jsonPath: .spec.workload - name: WorkloadName - type: string - - jsonPath: .spec.workloadVersion - name: WorkloadVersion - type: string - - jsonPath: .status.retryCount - name: RetryCount - type: string - - jsonPath: .status.evaluationStatus - name: EvaluationStatus - type: string - - jsonPath: .status.overallStatus - name: OverallStatus - type: string - name: v1alpha1 + - name: v1alpha1 schema: openAPIV3Schema: - description: KeptnEvaluation is the Schema for the keptnevaluations API + description: KeptnEvaluationDefinition is the Schema for the keptnevaluationdefinitions + API properties: apiVersion: description: |- @@ -2123,99 +2102,43 @@ spec: metadata: type: object spec: - description: KeptnEvaluationSpec defines the desired state of KeptnEvaluation - properties: - appName: - type: string - appVersion: - type: string - checkType: - type: string - evaluationDefinition: - type: string - retries: - default: 10 - type: integer - retryInterval: - default: 5s - pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ - type: string - workload: - type: string - workloadVersion: - type: string - required: - - evaluationDefinition - - workloadVersion - type: object - status: - description: KeptnEvaluationStatus defines the observed state of KeptnEvaluation + description: KeptnEvaluationDefinitionSpec defines the desired state of + KeptnEvaluationDefinition properties: - endTime: - format: date-time - type: string - evaluationStatus: - additionalProperties: + objectives: + items: properties: - message: + evaluationTarget: type: string - status: - description: KeptnState is a string containing current Phase - state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + name: type: string - value: + query: type: string required: - - status - - value + - evaluationTarget + - name + - query type: object - type: object - overallStatus: - default: Pending - description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - retryCount: - default: 0 - type: integer - startTime: - format: date-time + type: array + source: type: string required: - - evaluationStatus - - overallStatus - - retryCount + - objectives + - source type: object + status: + description: unused field + type: string type: object served: true storage: false subresources: status: {} - - additionalPrinterColumns: - - jsonPath: .spec.appName - name: AppName - type: string - - jsonPath: .spec.appVersion - name: AppVersion - type: string - - jsonPath: .spec.workload - name: WorkloadName - type: string - - jsonPath: .spec.workloadVersion - name: WorkloadVersion - type: string - - jsonPath: .status.retryCount - name: RetryCount - type: string - - jsonPath: .status.evaluationStatus - name: EvaluationStatus - type: string - - jsonPath: .status.overallStatus - name: OverallStatus - type: string - name: v1alpha2 + - name: v1alpha2 schema: openAPIV3Schema: - description: KeptnEvaluation is the Schema for the keptnevaluations API + description: KeptnEvaluationDefinition is the Schema for the keptnevaluationdefinitions + API properties: apiVersion: description: |- @@ -2235,101 +2158,43 @@ spec: metadata: type: object spec: - description: KeptnEvaluationSpec defines the desired state of KeptnEvaluation - properties: - appName: - type: string - appVersion: - type: string - checkType: - type: string - evaluationDefinition: - type: string - failAction: - type: string - retries: - default: 10 - type: integer - retryInterval: - default: 5s - pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ - type: string - workload: - type: string - workloadVersion: - type: string - required: - - evaluationDefinition - - workloadVersion - type: object - status: - description: KeptnEvaluationStatus defines the observed state of KeptnEvaluation + description: KeptnEvaluationDefinitionSpec defines the desired state of + KeptnEvaluationDefinition properties: - endTime: - format: date-time - type: string - evaluationStatus: - additionalProperties: + objectives: + items: properties: - message: + evaluationTarget: type: string - status: - description: KeptnState is a string containing current Phase - state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + name: type: string - value: + query: type: string required: - - status - - value + - evaluationTarget + - name + - query type: object - type: object - overallStatus: - default: Pending - description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - retryCount: - default: 0 - type: integer - startTime: - format: date-time + type: array + source: type: string required: - - evaluationStatus - - overallStatus - - retryCount + - objectives + - source type: object + status: + description: unused field + type: string type: object served: true storage: false subresources: status: {} - - additionalPrinterColumns: - - jsonPath: .spec.appName - name: AppName - type: string - - jsonPath: .spec.appVersion - name: AppVersion - type: string - - jsonPath: .spec.workload - name: WorkloadName - type: string - - jsonPath: .spec.workloadVersion - name: WorkloadVersion - type: string - - jsonPath: .status.retryCount - name: RetryCount - type: string - - jsonPath: .status.evaluationStatus - name: EvaluationStatus - type: string - - jsonPath: .status.overallStatus - name: OverallStatus - type: string - name: v1alpha3 + - name: v1alpha3 schema: openAPIV3Schema: - description: KeptnEvaluation is the Schema for the keptnevaluations API + description: KeptnEvaluationDefinition is the Schema for the keptnevaluationdefinitions + API properties: apiVersion: description: |- @@ -2349,114 +2214,159 @@ spec: metadata: type: object spec: - description: Spec describes the desired state of the KeptnEvaluation. + description: Spec describes the desired state of the KeptnEvaluationDefinition. properties: - appName: - description: AppName defines the KeptnApp for which the KeptnEvaluation - is done. - type: string - appVersion: - description: AppVersion defines the version of the KeptnApp for which - the KeptnEvaluation is done. - type: string - checkType: - description: Type indicates whether the KeptnEvaluation is part of - the pre- or postDeployment phase. - type: string - evaluationDefinition: - description: |- - EvaluationDefinition refers to the name of the KeptnEvaluationDefinition - which includes the objectives for the KeptnEvaluation. - The KeptnEvaluationDefinition can be - located in the same namespace as the KeptnEvaluation, or in the Keptn namespace. - type: string - failAction: - type: string - retries: - default: 10 - description: |- - Retries indicates how many times the KeptnEvaluation can be attempted in the case of an error or - missed evaluation objective, before considering the KeptnEvaluation to be failed. - type: integer - retryInterval: - default: 5s + objectives: description: |- - RetryInterval specifies the interval at which the KeptnEvaluation is retried in the case of an error - or a missed objective. - pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ - type: string - workload: - description: Workload defines the KeptnWorkload for which the KeptnEvaluation - is done. - type: string - workloadVersion: - description: WorkloadVersion defines the version of the KeptnWorkload - for which the KeptnEvaluation is done. - type: string + Objectives is a list of objectives that have to be met for a KeptnEvaluation referencing this + KeptnEvaluationDefinition to be successful. + items: + properties: + evaluationTarget: + description: |- + EvaluationTarget specifies the target value for the references KeptnMetric. + Needs to start with either '<' or '>', followed by the target value (e.g. '<10'). + type: string + keptnMetricRef: + description: KeptnMetricRef references the KeptnMetric that + should be evaluated. + properties: + name: + description: Name is the name of the referenced KeptnMetric. + type: string + namespace: + description: Namespace is the namespace where the referenced + KeptnMetric is located. + type: string + required: + - name + type: object + required: + - evaluationTarget + - keptnMetricRef + type: object + type: array required: - - evaluationDefinition - - workloadVersion + - objectives type: object status: - description: Status describes the current state of the KeptnEvaluation. + description: unused field + type: string + type: object + served: true + storage: false + subresources: + status: {} + - name: v1beta1 + schema: + openAPIV3Schema: + description: KeptnEvaluationDefinition is the Schema for the keptnevaluationdefinitions + API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Spec describes the desired state of the KeptnEvaluationDefinition. properties: - endTime: - description: EndTime represents the time at which the KeptnEvaluation - finished. - format: date-time - type: string - evaluationStatus: - additionalProperties: + objectives: + description: |- + Objectives is a list of objectives that have to be met for a KeptnEvaluation referencing this + KeptnEvaluationDefinition to be successful. + items: properties: - message: + evaluationTarget: description: |- - Message contains additional information about the evaluation of an objective. - This can include explanations about why an evaluation has failed (e.g. due to a missed objective), - or if there was any error during the evaluation of the objective. - type: string - status: - description: Status indicates the status of the objective being - evaluated. - type: string - value: - description: Value represents the value of the KeptnMetric being - evaluated. + EvaluationTarget specifies the target value for the references KeptnMetric. + Needs to start with either '<' or '>', followed by the target value (e.g. '<10'). type: string + keptnMetricRef: + description: KeptnMetricRef references the KeptnMetric that + should be evaluated. + properties: + name: + description: Name is the name of the referenced KeptnMetric. + type: string + namespace: + description: Namespace is the namespace where the referenced + KeptnMetric is located. + type: string + required: + - name + type: object required: - - status - - value + - evaluationTarget + - keptnMetricRef type: object + type: array + retries: + default: 10 description: |- - EvaluationStatus describes the status of each objective of the KeptnEvaluationDefinition - referenced by the KeptnEvaluation. - type: object - overallStatus: - default: Pending - description: |- - OverallStatus describes the overall status of the KeptnEvaluation. The Overall status is derived - from the status of the individual objectives of the KeptnEvaluationDefinition - referenced by the KeptnEvaluation. - type: string - retryCount: - default: 0 - description: RetryCount indicates how many times the KeptnEvaluation - has been attempted already. + Retries indicates how many times the KeptnEvaluation can be attempted in the case of an error or + missed evaluation objective, before considering the KeptnEvaluation to be failed. type: integer - startTime: - description: StartTime represents the time at which the KeptnEvaluation - started. - format: date-time + retryInterval: + default: 5s + description: |- + RetryInterval specifies the interval at which the KeptnEvaluation is retried in the case of an error + or a missed objective. + pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ type: string required: - - evaluationStatus - - overallStatus - - retryCount + - objectives type: object + status: + description: unused field + type: string type: object served: true - storage: false + storage: true subresources: status: {} +--- +# Source: keptn/charts/lifecycleOperator/templates/operator-crd.yaml +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + cert-manager.io/inject-ca-from: helmtests/keptn-certs + test/jj: test + labels: + app.kubernetes.io/part-of: keptn + crdGroup: lifecycle.keptn.sh + keptn.sh/inject-cert: "true" + app.kubernetes.io/instance: keptn-test + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: lifecycle-operator + app.kubernetes.io/version: vmyversion + helm.sh/chart: lifecycle-operator-0.2.1 + name: keptnevaluations.lifecycle.keptn.sh +spec: + group: lifecycle.keptn.sh + names: + kind: KeptnEvaluation + listKind: KeptnEvaluationList + plural: keptnevaluations + shortNames: + - ke + singular: keptnevaluation + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .spec.appName name: AppName @@ -2479,7 +2389,7 @@ spec: - jsonPath: .status.overallStatus name: OverallStatus type: string - name: v1beta1 + name: v1alpha1 schema: openAPIV3Schema: description: KeptnEvaluation is the Schema for the keptnevaluations API @@ -2502,102 +2412,61 @@ spec: metadata: type: object spec: - description: Spec describes the desired state of the KeptnEvaluation. + description: KeptnEvaluationSpec defines the desired state of KeptnEvaluation properties: appName: - description: AppName defines the KeptnApp for which the KeptnEvaluation - is done. type: string appVersion: - description: AppVersion defines the version of the KeptnApp for which - the KeptnEvaluation is done. type: string checkType: - description: Type indicates whether the KeptnEvaluation is part of - the pre- or postDeployment phase. type: string evaluationDefinition: - description: |- - EvaluationDefinition refers to the name of the KeptnEvaluationDefinition - which includes the objectives for the KeptnEvaluation. - The KeptnEvaluationDefinition can be - located in the same namespace as the KeptnEvaluation, or in the Keptn namespace. - type: string - failAction: type: string retries: default: 10 - description: |- - Retries indicates how many times the KeptnEvaluation can be attempted in the case of an error or - missed evaluation objective, before considering the KeptnEvaluation to be failed. type: integer retryInterval: default: 5s - description: |- - RetryInterval specifies the interval at which the KeptnEvaluation is retried in the case of an error - or a missed objective. pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ type: string workload: - description: Workload defines the KeptnWorkload for which the KeptnEvaluation - is done. type: string workloadVersion: - description: WorkloadVersion defines the version of the KeptnWorkload - for which the KeptnEvaluation is done. type: string required: - evaluationDefinition - workloadVersion type: object status: - description: Status describes the current state of the KeptnEvaluation. + description: KeptnEvaluationStatus defines the observed state of KeptnEvaluation properties: endTime: - description: EndTime represents the time at which the KeptnEvaluation - finished. format: date-time type: string evaluationStatus: additionalProperties: properties: message: - description: |- - Message contains additional information about the evaluation of an objective. - This can include explanations about why an evaluation has failed (e.g. due to a missed objective), - or if there was any error during the evaluation of the objective. type: string status: - description: Status indicates the status of the objective being - evaluated. + description: KeptnState is a string containing current Phase + state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) type: string value: - description: Value represents the value of the KeptnMetric being - evaluated. type: string required: - status - value type: object - description: |- - EvaluationStatus describes the status of each objective of the KeptnEvaluationDefinition - referenced by the KeptnEvaluation. type: object overallStatus: default: Pending - description: |- - OverallStatus describes the overall status of the KeptnEvaluation. The Overall status is derived - from the status of the individual objectives of the KeptnEvaluationDefinition - referenced by the KeptnEvaluation. + description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) type: string retryCount: default: 0 - description: RetryCount indicates how many times the KeptnEvaluation - has been attempted already. type: integer startTime: - description: StartTime represents the time at which the KeptnEvaluation - started. format: date-time type: string required: @@ -2607,44 +2476,35 @@ spec: type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -# Source: keptn/charts/lifecycleOperator/templates/keptnevaluationdefinition-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnevaluationdefinitions.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.14.0 - cert-manager.io/inject-ca-from: helmtests/keptn-certs - test/jj: test - labels: - app.kubernetes.io/part-of: keptn - crdGroup: lifecycle.keptn.sh - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: vmyversion - helm.sh/chart: lifecycle-operator-0.2.1 -spec: - group: lifecycle.keptn.sh - names: - kind: KeptnEvaluationDefinition - listKind: KeptnEvaluationDefinitionList - plural: keptnevaluationdefinitions - shortNames: - - ked - singular: keptnevaluationdefinition - scope: Namespaced - versions: - - name: v1alpha1 + - additionalPrinterColumns: + - jsonPath: .spec.appName + name: AppName + type: string + - jsonPath: .spec.appVersion + name: AppVersion + type: string + - jsonPath: .spec.workload + name: WorkloadName + type: string + - jsonPath: .spec.workloadVersion + name: WorkloadVersion + type: string + - jsonPath: .status.retryCount + name: RetryCount + type: string + - jsonPath: .status.evaluationStatus + name: EvaluationStatus + type: string + - jsonPath: .status.overallStatus + name: OverallStatus + type: string + name: v1alpha2 schema: openAPIV3Schema: - description: KeptnEvaluationDefinition is the Schema for the keptnevaluationdefinitions - API + description: KeptnEvaluation is the Schema for the keptnevaluations API properties: apiVersion: description: |- @@ -2664,43 +2524,101 @@ spec: metadata: type: object spec: - description: KeptnEvaluationDefinitionSpec defines the desired state of - KeptnEvaluationDefinition + description: KeptnEvaluationSpec defines the desired state of KeptnEvaluation properties: - objectives: - items: + appName: + type: string + appVersion: + type: string + checkType: + type: string + evaluationDefinition: + type: string + failAction: + type: string + retries: + default: 10 + type: integer + retryInterval: + default: 5s + pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ + type: string + workload: + type: string + workloadVersion: + type: string + required: + - evaluationDefinition + - workloadVersion + type: object + status: + description: KeptnEvaluationStatus defines the observed state of KeptnEvaluation + properties: + endTime: + format: date-time + type: string + evaluationStatus: + additionalProperties: properties: - evaluationTarget: + message: type: string - name: + status: + description: KeptnState is a string containing current Phase + state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) type: string - query: + value: type: string required: - - evaluationTarget - - name - - query + - status + - value type: object - type: array - source: + type: object + overallStatus: + default: Pending + description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + retryCount: + default: 0 + type: integer + startTime: + format: date-time type: string required: - - objectives - - source + - evaluationStatus + - overallStatus + - retryCount type: object - status: - description: unused field - type: string type: object served: true storage: false subresources: status: {} - - name: v1alpha2 + - additionalPrinterColumns: + - jsonPath: .spec.appName + name: AppName + type: string + - jsonPath: .spec.appVersion + name: AppVersion + type: string + - jsonPath: .spec.workload + name: WorkloadName + type: string + - jsonPath: .spec.workloadVersion + name: WorkloadVersion + type: string + - jsonPath: .status.retryCount + name: RetryCount + type: string + - jsonPath: .status.evaluationStatus + name: EvaluationStatus + type: string + - jsonPath: .status.overallStatus + name: OverallStatus + type: string + name: v1alpha3 schema: openAPIV3Schema: - description: KeptnEvaluationDefinition is the Schema for the keptnevaluationdefinitions - API + description: KeptnEvaluation is the Schema for the keptnevaluations API properties: apiVersion: description: |- @@ -2720,110 +2638,140 @@ spec: metadata: type: object spec: - description: KeptnEvaluationDefinitionSpec defines the desired state of - KeptnEvaluationDefinition + description: Spec describes the desired state of the KeptnEvaluation. properties: - objectives: - items: + appName: + description: AppName defines the KeptnApp for which the KeptnEvaluation + is done. + type: string + appVersion: + description: AppVersion defines the version of the KeptnApp for which + the KeptnEvaluation is done. + type: string + checkType: + description: Type indicates whether the KeptnEvaluation is part of + the pre- or postDeployment phase. + type: string + evaluationDefinition: + description: |- + EvaluationDefinition refers to the name of the KeptnEvaluationDefinition + which includes the objectives for the KeptnEvaluation. + The KeptnEvaluationDefinition can be + located in the same namespace as the KeptnEvaluation, or in the Keptn namespace. + type: string + failAction: + type: string + retries: + default: 10 + description: |- + Retries indicates how many times the KeptnEvaluation can be attempted in the case of an error or + missed evaluation objective, before considering the KeptnEvaluation to be failed. + type: integer + retryInterval: + default: 5s + description: |- + RetryInterval specifies the interval at which the KeptnEvaluation is retried in the case of an error + or a missed objective. + pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ + type: string + workload: + description: Workload defines the KeptnWorkload for which the KeptnEvaluation + is done. + type: string + workloadVersion: + description: WorkloadVersion defines the version of the KeptnWorkload + for which the KeptnEvaluation is done. + type: string + required: + - evaluationDefinition + - workloadVersion + type: object + status: + description: Status describes the current state of the KeptnEvaluation. + properties: + endTime: + description: EndTime represents the time at which the KeptnEvaluation + finished. + format: date-time + type: string + evaluationStatus: + additionalProperties: properties: - evaluationTarget: + message: + description: |- + Message contains additional information about the evaluation of an objective. + This can include explanations about why an evaluation has failed (e.g. due to a missed objective), + or if there was any error during the evaluation of the objective. type: string - name: + status: + description: Status indicates the status of the objective being + evaluated. type: string - query: + value: + description: Value represents the value of the KeptnMetric being + evaluated. type: string required: - - evaluationTarget - - name - - query + - status + - value type: object - type: array - source: + description: |- + EvaluationStatus describes the status of each objective of the KeptnEvaluationDefinition + referenced by the KeptnEvaluation. + type: object + overallStatus: + default: Pending + description: |- + OverallStatus describes the overall status of the KeptnEvaluation. The Overall status is derived + from the status of the individual objectives of the KeptnEvaluationDefinition + referenced by the KeptnEvaluation. + type: string + retryCount: + default: 0 + description: RetryCount indicates how many times the KeptnEvaluation + has been attempted already. + type: integer + startTime: + description: StartTime represents the time at which the KeptnEvaluation + started. + format: date-time type: string required: - - objectives - - source + - evaluationStatus + - overallStatus + - retryCount type: object - status: - description: unused field - type: string type: object served: true storage: false subresources: status: {} - - name: v1alpha3 - schema: - openAPIV3Schema: - description: KeptnEvaluationDefinition is the Schema for the keptnevaluationdefinitions - API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Spec describes the desired state of the KeptnEvaluationDefinition. - properties: - objectives: - description: |- - Objectives is a list of objectives that have to be met for a KeptnEvaluation referencing this - KeptnEvaluationDefinition to be successful. - items: - properties: - evaluationTarget: - description: |- - EvaluationTarget specifies the target value for the references KeptnMetric. - Needs to start with either '<' or '>', followed by the target value (e.g. '<10'). - type: string - keptnMetricRef: - description: KeptnMetricRef references the KeptnMetric that - should be evaluated. - properties: - name: - description: Name is the name of the referenced KeptnMetric. - type: string - namespace: - description: Namespace is the namespace where the referenced - KeptnMetric is located. - type: string - required: - - name - type: object - required: - - evaluationTarget - - keptnMetricRef - type: object - type: array - required: - - objectives - type: object - status: - description: unused field - type: string - type: object - served: true - storage: false - subresources: - status: {} - - name: v1beta1 + - additionalPrinterColumns: + - jsonPath: .spec.appName + name: AppName + type: string + - jsonPath: .spec.appVersion + name: AppVersion + type: string + - jsonPath: .spec.workload + name: WorkloadName + type: string + - jsonPath: .spec.workloadVersion + name: WorkloadVersion + type: string + - jsonPath: .status.retryCount + name: RetryCount + type: string + - jsonPath: .status.evaluationStatus + name: EvaluationStatus + type: string + - jsonPath: .status.overallStatus + name: OverallStatus + type: string + name: v1beta1 schema: openAPIV3Schema: - description: KeptnEvaluationDefinition is the Schema for the keptnevaluationdefinitions - API + description: KeptnEvaluation is the Schema for the keptnevaluations API properties: apiVersion: description: |- @@ -2843,38 +2791,29 @@ spec: metadata: type: object spec: - description: Spec describes the desired state of the KeptnEvaluationDefinition. + description: Spec describes the desired state of the KeptnEvaluation. properties: - objectives: + appName: + description: AppName defines the KeptnApp for which the KeptnEvaluation + is done. + type: string + appVersion: + description: AppVersion defines the version of the KeptnApp for which + the KeptnEvaluation is done. + type: string + checkType: + description: Type indicates whether the KeptnEvaluation is part of + the pre- or postDeployment phase. + type: string + evaluationDefinition: description: |- - Objectives is a list of objectives that have to be met for a KeptnEvaluation referencing this - KeptnEvaluationDefinition to be successful. - items: - properties: - evaluationTarget: - description: |- - EvaluationTarget specifies the target value for the references KeptnMetric. - Needs to start with either '<' or '>', followed by the target value (e.g. '<10'). - type: string - keptnMetricRef: - description: KeptnMetricRef references the KeptnMetric that - should be evaluated. - properties: - name: - description: Name is the name of the referenced KeptnMetric. - type: string - namespace: - description: Namespace is the namespace where the referenced - KeptnMetric is located. - type: string - required: - - name - type: object - required: - - evaluationTarget - - keptnMetricRef - type: object - type: array + EvaluationDefinition refers to the name of the KeptnEvaluationDefinition + which includes the objectives for the KeptnEvaluation. + The KeptnEvaluationDefinition can be + located in the same namespace as the KeptnEvaluation, or in the Keptn namespace. + type: string + failAction: + type: string retries: default: 10 description: |- @@ -2888,23 +2827,83 @@ spec: or a missed objective. pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ type: string + workload: + description: Workload defines the KeptnWorkload for which the KeptnEvaluation + is done. + type: string + workloadVersion: + description: WorkloadVersion defines the version of the KeptnWorkload + for which the KeptnEvaluation is done. + type: string required: - - objectives + - evaluationDefinition + - workloadVersion type: object status: - description: unused field - type: string + description: Status describes the current state of the KeptnEvaluation. + properties: + endTime: + description: EndTime represents the time at which the KeptnEvaluation + finished. + format: date-time + type: string + evaluationStatus: + additionalProperties: + properties: + message: + description: |- + Message contains additional information about the evaluation of an objective. + This can include explanations about why an evaluation has failed (e.g. due to a missed objective), + or if there was any error during the evaluation of the objective. + type: string + status: + description: Status indicates the status of the objective being + evaluated. + type: string + value: + description: Value represents the value of the KeptnMetric being + evaluated. + type: string + required: + - status + - value + type: object + description: |- + EvaluationStatus describes the status of each objective of the KeptnEvaluationDefinition + referenced by the KeptnEvaluation. + type: object + overallStatus: + default: Pending + description: |- + OverallStatus describes the overall status of the KeptnEvaluation. The Overall status is derived + from the status of the individual objectives of the KeptnEvaluationDefinition + referenced by the KeptnEvaluation. + type: string + retryCount: + default: 0 + description: RetryCount indicates how many times the KeptnEvaluation + has been attempted already. + type: integer + startTime: + description: StartTime represents the time at which the KeptnEvaluation + started. + format: date-time + type: string + required: + - evaluationStatus + - overallStatus + - retryCount + type: object type: object served: true storage: true subresources: status: {} --- -# Source: keptn/charts/lifecycleOperator/templates/keptntask-crd.yaml +# Source: keptn/charts/lifecycleOperator/templates/operator-crd.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: keptntasks.lifecycle.keptn.sh annotations: controller-gen.kubebuilder.io/version: v0.14.0 cert-manager.io/inject-ca-from: helmtests/keptn-certs @@ -2918,38 +2917,21 @@ metadata: app.kubernetes.io/name: lifecycle-operator app.kubernetes.io/version: vmyversion helm.sh/chart: lifecycle-operator-0.2.1 + name: keptntaskdefinitions.lifecycle.keptn.sh spec: group: lifecycle.keptn.sh names: - kind: KeptnTask - listKind: KeptnTaskList - plural: keptntasks - singular: keptntask + kind: KeptnTaskDefinition + listKind: KeptnTaskDefinitionList + plural: keptntaskdefinitions + singular: keptntaskdefinition scope: Namespaced versions: - - additionalPrinterColumns: - - jsonPath: .spec.app - name: AppName - type: string - - jsonPath: .spec.appVersion - name: AppVersion - type: string - - jsonPath: .spec.workload - name: WorkloadName - type: string - - jsonPath: .spec.workloadVersion - name: WorkloadVersion - type: string - - jsonPath: .status.jobName - name: Job Name - type: string - - jsonPath: .status.status - name: Status - type: string - name: v1alpha1 + - name: v1alpha1 schema: openAPIV3Schema: - description: KeptnTask is the Schema for the keptntasks API + description: KeptnTaskDefinition is the Schema for the keptntaskdefinitions + API properties: apiVersion: description: |- @@ -2969,108 +2951,63 @@ spec: metadata: type: object spec: - description: KeptnTaskSpec defines the desired state of KeptnTask + description: KeptnTaskDefinitionSpec defines the desired state of KeptnTaskDefinition properties: - app: - type: string - appVersion: - type: string - checkType: - type: string - context: + function: properties: - appName: - type: string - appVersion: - type: string - objectType: - type: string - taskType: - type: string - workloadName: - type: string - workloadVersion: - type: string - required: - - appName - - appVersion - - objectType - - taskType - - workloadName - - workloadVersion - type: object - parameters: - properties: - map: - additionalProperties: - type: string + configMapRef: + properties: + name: + type: string + type: object + functionRef: + properties: + name: + type: string + type: object + httpRef: + properties: + url: + type: string + type: object + inline: + properties: + code: + type: string + type: object + parameters: + properties: + map: + additionalProperties: + type: string + type: object + type: object + secureParameters: + properties: + secret: + type: string type: object type: object - secureParameters: - properties: - secret: - type: string - type: object - taskDefinition: - type: string - workload: - type: string - workloadVersion: - type: string - required: - - app - - appVersion - - context - - taskDefinition - - workload - - workloadVersion type: object status: - description: KeptnTaskStatus defines the observed state of KeptnTask + description: KeptnTaskDefinitionStatus defines the observed state of KeptnTaskDefinition properties: - endTime: - format: date-time - type: string - jobName: - type: string - message: - type: string - startTime: - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string + function: + properties: + configMap: + type: string + type: object type: object type: object served: true storage: false subresources: status: {} - - additionalPrinterColumns: - - jsonPath: .spec.app - name: AppName - type: string - - jsonPath: .spec.appVersion - name: AppVersion - type: string - - jsonPath: .spec.workload - name: WorkloadName - type: string - - jsonPath: .spec.workloadVersion - name: WorkloadVersion - type: string - - jsonPath: .status.jobName - name: Job Name - type: string - - jsonPath: .status.status - name: Status - type: string - name: v1alpha2 + - name: v1alpha2 schema: openAPIV3Schema: - description: KeptnTask is the Schema for the keptntasks API + description: KeptnTaskDefinition is the Schema for the keptntaskdefinitions + API properties: apiVersion: description: |- @@ -3090,108 +3027,63 @@ spec: metadata: type: object spec: - description: KeptnTaskSpec defines the desired state of KeptnTask + description: KeptnTaskDefinitionSpec defines the desired state of KeptnTaskDefinition properties: - app: - type: string - appVersion: - type: string - checkType: - type: string - context: - properties: - appName: - type: string - appVersion: - type: string - objectType: - type: string - taskType: - type: string - workloadName: - type: string - workloadVersion: - type: string - required: - - appName - - appVersion - - objectType - - taskType - - workloadName - - workloadVersion - type: object - parameters: + function: properties: - map: - additionalProperties: - type: string + configMapRef: + properties: + name: + type: string + type: object + functionRef: + properties: + name: + type: string + type: object + httpRef: + properties: + url: + type: string + type: object + inline: + properties: + code: + type: string + type: object + parameters: + properties: + map: + additionalProperties: + type: string + type: object + type: object + secureParameters: + properties: + secret: + type: string type: object type: object - secureParameters: - properties: - secret: - type: string - type: object - taskDefinition: - type: string - workload: - type: string - workloadVersion: - type: string - required: - - app - - appVersion - - context - - taskDefinition - - workload - - workloadVersion type: object status: - description: KeptnTaskStatus defines the observed state of KeptnTask + description: KeptnTaskDefinitionStatus defines the observed state of KeptnTaskDefinition properties: - endTime: - format: date-time - type: string - jobName: - type: string - message: - type: string - startTime: - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string + function: + properties: + configMap: + type: string + type: object type: object type: object served: true storage: false subresources: status: {} - - additionalPrinterColumns: - - jsonPath: .spec.app - name: AppName - type: string - - jsonPath: .spec.appVersion - name: AppVersion - type: string - - jsonPath: .spec.workload - name: WorkloadName - type: string - - jsonPath: .spec.workloadVersion - name: WorkloadVersion - type: string - - jsonPath: .status.jobName - name: Job Name - type: string - - jsonPath: .status.status - name: Status - type: string - name: v1alpha3 + - name: v1alpha3 schema: openAPIV3Schema: - description: KeptnTask is the Schema for the keptntasks API + description: KeptnTaskDefinition is the Schema for the keptntaskdefinitions + API properties: apiVersion: description: |- @@ -3211,541 +3103,49 @@ spec: metadata: type: object spec: - description: Spec describes the desired state of the KeptnTask. + description: Spec describes the desired state of the KeptnTaskDefinition. properties: - checkType: - description: Type indicates whether the KeptnTask is part of the pre- - or postDeployment phase. - type: string - context: - description: Context contains contextual information about the task - execution. + automountServiceAccountToken: + description: |- + AutomountServiceAccountToken allows to enable K8s to assign cluster API credentials to a pod, if set to false + the pod will decline the service account properties: - appName: - description: AppName the name of the KeptnApp the KeptnTask is - being executed for. - type: string - appVersion: - description: AppVersion the version of the KeptnApp the KeptnTask - is being executed for. - type: string - objectType: - description: ObjectType indicates whether the KeptnTask is being - executed for a KeptnApp or KeptnWorkload. - type: string - taskType: - description: TaskType indicates whether the KeptnTask is part - of the pre- or postDeployment phase. - type: string - workloadName: - description: WorkloadName the name of the KeptnWorkload the KeptnTask - is being executed for. - type: string - workloadVersion: - description: WorkloadVersion the version of the KeptnWorkload - the KeptnTask is being executed for. - type: string - type: object - parameters: - description: Parameters contains parameters that will be passed to - the job that executes the task. - properties: - map: - additionalProperties: - type: string - description: |- - Inline contains the parameters that will be made available to the job - executing the KeptnTask via the 'DATA' environment variable. - The 'DATA' environment variable's content will be a json - encoded string containing all properties of the map provided. - type: object + type: + type: boolean + required: + - type type: object - retries: - default: 10 - description: |- - Retries indicates how many times the KeptnTask can be attempted in the case of an error - before considering the KeptnTask to be failed. - format: int32 - type: integer - secureParameters: - description: |- - SecureParameters contains secure parameters that will be passed to the job that executes the task. - These will be stored and accessed as secrets in the cluster. + container: + description: Container contains the definition for the container that + is to be used in Job. properties: - secret: + args: description: |- - Secret contains the parameters that will be made available to the job - executing the KeptnTask via the 'SECRET_DATA' environment variable. - The 'SECRET_DATA' environment variable's content will the same as value of the 'SECRET_DATA' - key of the referenced secret. - type: string - type: object - taskDefinition: - description: |- - TaskDefinition refers to the name of the KeptnTaskDefinition - which includes the specification for the task to be performed. - The KeptnTaskDefinition can be - located in the same namespace as the KeptnTask, or in the Keptn namespace. - type: string - timeout: - default: 5m - description: |- - Timeout specifies the maximum time to wait for the task to be completed successfully. - If the task does not complete successfully within this time frame, it will be - considered to be failed. - pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ - type: string - required: - - taskDefinition - type: object - status: - description: Status describes the current state of the KeptnTask. - properties: - endTime: - description: EndTime represents the time at which the KeptnTask finished. - format: date-time - type: string - jobName: - description: JobName is the name of the Job executing the Task. - type: string - message: - description: Message contains information about unexpected errors - encountered during the execution of the KeptnTask. - type: string - reason: - description: Reason contains more information about the reason for - the last transition of the Job executing the KeptnTask. - type: string - startTime: - description: StartTime represents the time at which the KeptnTask - started. - format: date-time - type: string - status: - default: Pending - description: Status represents the overall state of the KeptnTask. - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .spec.app - name: AppName - type: string - - jsonPath: .spec.appVersion - name: AppVersion - type: string - - jsonPath: .spec.workload - name: WorkloadName - type: string - - jsonPath: .spec.workloadVersion - name: WorkloadVersion - type: string - - jsonPath: .status.jobName - name: Job Name - type: string - - jsonPath: .status.status - name: Status - type: string - name: v1beta1 - schema: - openAPIV3Schema: - description: KeptnTask is the Schema for the keptntasks API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Spec describes the desired state of the KeptnTask. - properties: - checkType: - description: Type indicates whether the KeptnTask is part of the pre- - or postDeployment phase. - type: string - context: - description: Context contains contextual information about the task - execution. - properties: - appName: - description: AppName the name of the KeptnApp the KeptnTask is - being executed for. - type: string - appVersion: - description: AppVersion the version of the KeptnApp the KeptnTask - is being executed for. - type: string - metadata: - additionalProperties: - type: string - description: Metadata contains additional key-value pairs for - contextual information. - type: object - objectType: - description: ObjectType indicates whether the KeptnTask is being - executed for a KeptnApp or KeptnWorkload. - type: string - taskType: - description: TaskType indicates whether the KeptnTask is part - of the pre- or postDeployment phase. - type: string - workloadName: - description: WorkloadName the name of the KeptnWorkload the KeptnTask - is being executed for. - type: string - workloadVersion: - description: WorkloadVersion the version of the KeptnWorkload - the KeptnTask is being executed for. - type: string - type: object - parameters: - description: Parameters contains parameters that will be passed to - the job that executes the task. - properties: - map: - additionalProperties: + Arguments to the entrypoint. + The container image's CMD is used if this is not provided. + Variable references $(VAR_NAME) are expanded using the container's environment. If a variable + cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will + produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless + of whether the variable exists or not. Cannot be updated. + More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell + items: type: string + type: array + command: description: |- - Inline contains the parameters that will be made available to the job - executing the KeptnTask via the 'DATA' environment variable. - The 'DATA' environment variable's content will be a json - encoded string containing all properties of the map provided. - type: object - type: object - retries: - default: 10 - description: |- - Retries indicates how many times the KeptnTask can be attempted in the case of an error - before considering the KeptnTask to be failed. - format: int32 - type: integer - secureParameters: - description: |- - SecureParameters contains secure parameters that will be passed to the job that executes the task. - These will be stored and accessed as secrets in the cluster. - properties: - secret: - description: |- - Secret contains the parameters that will be made available to the job - executing the KeptnTask via the 'SECRET_DATA' environment variable. - The 'SECRET_DATA' environment variable's content will the same as value of the 'SECRET_DATA' - key of the referenced secret. - type: string - type: object - taskDefinition: - description: |- - TaskDefinition refers to the name of the KeptnTaskDefinition - which includes the specification for the task to be performed. - The KeptnTaskDefinition can be - located in the same namespace as the KeptnTask, or in the Keptn namespace. - type: string - timeout: - default: 5m - description: |- - Timeout specifies the maximum time to wait for the task to be completed successfully. - If the task does not complete successfully within this time frame, it will be - considered to be failed. - pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ - type: string - required: - - taskDefinition - type: object - status: - description: Status describes the current state of the KeptnTask. - properties: - endTime: - description: EndTime represents the time at which the KeptnTask finished. - format: date-time - type: string - jobName: - description: JobName is the name of the Job executing the Task. - type: string - message: - description: Message contains information about unexpected errors - encountered during the execution of the KeptnTask. - type: string - reason: - description: Reason contains more information about the reason for - the last transition of the Job executing the KeptnTask. - type: string - startTime: - description: StartTime represents the time at which the KeptnTask - started. - format: date-time - type: string - status: - default: Pending - description: Status represents the overall state of the KeptnTask. - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} ---- -# Source: keptn/charts/lifecycleOperator/templates/keptntaskdefinition-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptntaskdefinitions.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.14.0 - cert-manager.io/inject-ca-from: helmtests/keptn-certs - test/jj: test - labels: - app.kubernetes.io/part-of: keptn - crdGroup: lifecycle.keptn.sh - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: vmyversion - helm.sh/chart: lifecycle-operator-0.2.1 -spec: - group: lifecycle.keptn.sh - names: - kind: KeptnTaskDefinition - listKind: KeptnTaskDefinitionList - plural: keptntaskdefinitions - singular: keptntaskdefinition - scope: Namespaced - versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - description: KeptnTaskDefinition is the Schema for the keptntaskdefinitions - API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: KeptnTaskDefinitionSpec defines the desired state of KeptnTaskDefinition - properties: - function: - properties: - configMapRef: - properties: - name: - type: string - type: object - functionRef: - properties: - name: - type: string - type: object - httpRef: - properties: - url: - type: string - type: object - inline: - properties: - code: - type: string - type: object - parameters: - properties: - map: - additionalProperties: - type: string - type: object - type: object - secureParameters: - properties: - secret: - type: string - type: object - type: object - type: object - status: - description: KeptnTaskDefinitionStatus defines the observed state of KeptnTaskDefinition - properties: - function: - properties: - configMap: - type: string - type: object - type: object - type: object - served: true - storage: false - subresources: - status: {} - - name: v1alpha2 - schema: - openAPIV3Schema: - description: KeptnTaskDefinition is the Schema for the keptntaskdefinitions - API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: KeptnTaskDefinitionSpec defines the desired state of KeptnTaskDefinition - properties: - function: - properties: - configMapRef: - properties: - name: - type: string - type: object - functionRef: - properties: - name: - type: string - type: object - httpRef: - properties: - url: - type: string - type: object - inline: - properties: - code: - type: string - type: object - parameters: - properties: - map: - additionalProperties: - type: string - type: object - type: object - secureParameters: - properties: - secret: - type: string - type: object - type: object - type: object - status: - description: KeptnTaskDefinitionStatus defines the observed state of KeptnTaskDefinition - properties: - function: - properties: - configMap: - type: string - type: object - type: object - type: object - served: true - storage: false - subresources: - status: {} - - name: v1alpha3 - schema: - openAPIV3Schema: - description: KeptnTaskDefinition is the Schema for the keptntaskdefinitions - API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Spec describes the desired state of the KeptnTaskDefinition. - properties: - automountServiceAccountToken: - description: |- - AutomountServiceAccountToken allows to enable K8s to assign cluster API credentials to a pod, if set to false - the pod will decline the service account - properties: - type: - type: boolean - required: - - type - type: object - container: - description: Container contains the definition for the container that - is to be used in Job. - properties: - args: - description: |- - Arguments to the entrypoint. - The container image's CMD is used if this is not provided. - Variable references $(VAR_NAME) are expanded using the container's environment. If a variable - cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced - to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will - produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless - of whether the variable exists or not. Cannot be updated. - More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell - items: - type: string - type: array - command: - description: |- - Entrypoint array. Not executed within a shell. - The container image's ENTRYPOINT is used if this is not provided. - Variable references $(VAR_NAME) are expanded using the container's environment. If a variable - cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced - to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will - produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless - of whether the variable exists or not. Cannot be updated. - More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell - items: - type: string - type: array - env: + Entrypoint array. Not executed within a shell. + The container image's ENTRYPOINT is used if this is not provided. + Variable references $(VAR_NAME) are expanded using the container's environment. If a variable + cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will + produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless + of whether the variable exists or not. Cannot be updated. + More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell + items: + type: string + type: array + env: description: |- List of environment variables to set in the container. Cannot be updated. @@ -6349,564 +5749,1154 @@ spec: type: object windowsOptions: description: |- - The Windows specific settings applied to all containers. - If unspecified, the options from the PodSecurityContext will be used. - If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. - Note that this field cannot be set when spec.os.name is linux. + The Windows specific settings applied to all containers. + If unspecified, the options from the PodSecurityContext will be used. + If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + Note that this field cannot be set when spec.os.name is linux. + properties: + gmsaCredentialSpec: + description: |- + GMSACredentialSpec is where the GMSA admission webhook + (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the + GMSA credential spec named by the GMSACredentialSpecName field. + type: string + gmsaCredentialSpecName: + description: GMSACredentialSpecName is the name of the + GMSA credential spec to use. + type: string + hostProcess: + description: |- + HostProcess determines if a container should be run as a 'Host Process' container. + All of a Pod's containers must have the same effective HostProcess value + (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). + In addition, if HostProcess is true then HostNetwork must also be set to true. + type: boolean + runAsUserName: + description: |- + The UserName in Windows to run the entrypoint of the container process. + Defaults to the user specified in image metadata if unspecified. + May also be set in PodSecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext takes precedence. + type: string + type: object + type: object + startupProbe: + description: |- + StartupProbe indicates that the Pod has successfully initialized. + If specified, no other probes are executed until this completes successfully. + If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. + This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, + when it might take a long time to load data or warm a cache, than during steady-state operation. + This cannot be updated. + More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + properties: + exec: + description: Exec specifies the action to take. + properties: + command: + description: |- + Command is the command line to execute inside the container, the working directory for the + command is root ('/') in the container's filesystem. The command is simply exec'd, it is + not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use + a shell, you need to explicitly call out to that shell. + Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + items: + type: string + type: array + type: object + failureThreshold: + description: |- + Minimum consecutive failures for the probe to be considered failed after having succeeded. + Defaults to 3. Minimum value is 1. + format: int32 + type: integer + grpc: + description: GRPC specifies an action involving a GRPC port. + properties: + port: + description: Port number of the gRPC service. Number must + be in the range 1 to 65535. + format: int32 + type: integer + service: + description: |- + Service is the name of the service to place in the gRPC HealthCheckRequest + (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + + + If this is not specified, the default behavior is defined by gRPC. + type: string + required: + - port + type: object + httpGet: + description: HTTPGet specifies the http request to perform. + properties: + host: + description: |- + Host name to connect to, defaults to the pod IP. You probably want to set + "Host" in httpHeaders instead. + type: string + httpHeaders: + description: Custom headers to set in the request. HTTP + allows repeated headers. + items: + description: HTTPHeader describes a custom header to + be used in HTTP probes + properties: + name: + description: |- + The header field name. + This will be canonicalized upon output, so case-variant names will be understood as the same header. + type: string + value: + description: The header field value + type: string + required: + - name + - value + type: object + type: array + path: + description: Path to access on the HTTP server. + type: string + port: + anyOf: + - type: integer + - type: string + description: |- + Name or number of the port to access on the container. + Number must be in the range 1 to 65535. + Name must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + scheme: + description: |- + Scheme to use for connecting to the host. + Defaults to HTTP. + type: string + required: + - port + type: object + initialDelaySeconds: + description: |- + Number of seconds after the container has started before liveness probes are initiated. + More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + format: int32 + type: integer + periodSeconds: + description: |- + How often (in seconds) to perform the probe. + Default to 10 seconds. Minimum value is 1. + format: int32 + type: integer + successThreshold: + description: |- + Minimum consecutive successes for the probe to be considered successful after having failed. + Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + format: int32 + type: integer + tcpSocket: + description: TCPSocket specifies an action involving a TCP + port. properties: - gmsaCredentialSpec: - description: |- - GMSACredentialSpec is where the GMSA admission webhook - (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the - GMSA credential spec named by the GMSACredentialSpecName field. - type: string - gmsaCredentialSpecName: - description: GMSACredentialSpecName is the name of the - GMSA credential spec to use. + host: + description: 'Optional: Host name to connect to, defaults + to the pod IP.' type: string - hostProcess: - description: |- - HostProcess determines if a container should be run as a 'Host Process' container. - All of a Pod's containers must have the same effective HostProcess value - (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). - In addition, if HostProcess is true then HostNetwork must also be set to true. - type: boolean - runAsUserName: + port: + anyOf: + - type: integer + - type: string description: |- - The UserName in Windows to run the entrypoint of the container process. - Defaults to the user specified in image metadata if unspecified. - May also be set in PodSecurityContext. If set in both SecurityContext and - PodSecurityContext, the value specified in SecurityContext takes precedence. - type: string + Number or name of the port to access on the container. + Number must be in the range 1 to 65535. + Name must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + required: + - port type: object + terminationGracePeriodSeconds: + description: |- + Optional duration in seconds the pod needs to terminate gracefully upon probe failure. + The grace period is the duration in seconds after the processes running in the pod are sent + a termination signal and the time when the processes are forcibly halted with a kill signal. + Set this value longer than the expected cleanup time for your process. + If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this + value overrides the value provided by the pod spec. + Value must be non-negative integer. The value zero indicates stop immediately via + the kill signal (no opportunity to shut down). + This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. + Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + format: int64 + type: integer + timeoutSeconds: + description: |- + Number of seconds after which the probe times out. + Defaults to 1 second. Minimum value is 1. + More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + format: int32 + type: integer type: object - startupProbe: + stdin: description: |- - StartupProbe indicates that the Pod has successfully initialized. - If specified, no other probes are executed until this completes successfully. - If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. - This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, - when it might take a long time to load data or warm a cache, than during steady-state operation. - This cannot be updated. - More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + Whether this container should allocate a buffer for stdin in the container runtime. If this + is not set, reads from stdin in the container will always result in EOF. + Default is false. + type: boolean + stdinOnce: + description: |- + Whether the container runtime should close the stdin channel after it has been opened by + a single attach. When stdin is true the stdin stream will remain open across multiple attach + sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the + first client attaches to stdin, and then remains open and accepts data until the client disconnects, + at which time stdin is closed and remains closed until the container is restarted. If this + flag is false, a container processes that reads from stdin will never receive an EOF. + Default is false + type: boolean + terminationMessagePath: + description: |- + Optional: Path at which the file to which the container's termination message + will be written is mounted into the container's filesystem. + Message written is intended to be brief final status, such as an assertion failure message. + Will be truncated by the node if greater than 4096 bytes. The total message length across + all containers will be limited to 12kb. + Defaults to /dev/termination-log. + Cannot be updated. + type: string + terminationMessagePolicy: + description: |- + Indicate how the termination message should be populated. File will use the contents of + terminationMessagePath to populate the container status message on both success and failure. + FallbackToLogsOnError will use the last chunk of container log output if the termination + message file is empty and the container exited with an error. + The log output is limited to 2048 bytes or 80 lines, whichever is smaller. + Defaults to File. + Cannot be updated. + type: string + tty: + description: |- + Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. + Default is false. + type: boolean + volumeDevices: + description: volumeDevices is the list of block devices to be + used by the container. + items: + description: volumeDevice describes a mapping of a raw block + device within a container. + properties: + devicePath: + description: devicePath is the path inside of the container + that the device will be mapped to. + type: string + name: + description: name must match the name of a persistentVolumeClaim + in the pod + type: string + required: + - devicePath + - name + type: object + type: array + volumeMounts: + description: |- + Pod volumes to mount into the container's filesystem. + Cannot be updated. + items: + description: VolumeMount describes a mounting of a Volume within + a container. + properties: + mountPath: + description: |- + Path within the container at which the volume should be mounted. Must + not contain ':'. + type: string + mountPropagation: + description: |- + mountPropagation determines how mounts are propagated from the host + to container and the other way around. + When not set, MountPropagationNone is used. + This field is beta in 1.10. + type: string + name: + description: This must match the Name of a Volume. + type: string + readOnly: + description: |- + Mounted read-only if true, read-write otherwise (false or unspecified). + Defaults to false. + type: boolean + subPath: + description: |- + Path within the volume from which the container's volume should be mounted. + Defaults to "" (volume's root). + type: string + subPathExpr: + description: |- + Expanded path within the volume from which the container's volume should be mounted. + Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. + Defaults to "" (volume's root). + SubPathExpr and SubPath are mutually exclusive. + type: string + required: + - mountPath + - name + type: object + type: array + workingDir: + description: |- + Container's working directory. + If not specified, the container runtime's default will be used, which + might be configured in the container image. + Cannot be updated. + type: string + required: + - name + type: object + deno: + description: Deno contains the definition for the Deno function that + is to be executed in KeptnTasks. + properties: + cmdParameters: + description: CmdParameters contains parameters that will be passed + to the command + type: string + configMapRef: + description: |- + ConfigMapReference allows to reference a ConfigMap containing the code of the function. + When referencing a ConfigMap, the code of the function must be available as a value of the 'code' key + of the referenced ConfigMap. properties: - exec: - description: Exec specifies the action to take. - properties: - command: - description: |- - Command is the command line to execute inside the container, the working directory for the - command is root ('/') in the container's filesystem. The command is simply exec'd, it is - not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use - a shell, you need to explicitly call out to that shell. - Exit status of 0 is treated as live/healthy and non-zero is unhealthy. - items: - type: string - type: array - type: object - failureThreshold: + name: + description: Name is the name of the referenced ConfigMap. + type: string + type: object + functionRef: + description: |- + FunctionReference allows to reference another KeptnTaskDefinition which contains the source code of the + function to be executes for KeptnTasks based on this KeptnTaskDefinition. This can be useful when you have + multiple KeptnTaskDefinitions that should execute the same logic, but each with different parameters. + properties: + name: + description: Name is the name of the referenced KeptnTaskDefinition. + type: string + type: object + httpRef: + description: HttpReference allows to point to an HTTP URL containing + the code of the function. + properties: + url: + description: Url is the URL containing the code of the function. + type: string + type: object + inline: + description: |- + Inline allows to specify the code that should be executed directly in the KeptnTaskDefinition, as a multi-line + string. + properties: + code: + description: Code contains the code of the function. + type: string + type: object + parameters: + description: Parameters contains parameters that will be passed + to the job that executes the task as env variables. + properties: + map: + additionalProperties: + type: string description: |- - Minimum consecutive failures for the probe to be considered failed after having succeeded. - Defaults to 3. Minimum value is 1. - format: int32 - type: integer - grpc: - description: GRPC specifies an action involving a GRPC port. - properties: - port: - description: Port number of the gRPC service. Number must - be in the range 1 to 65535. - format: int32 - type: integer - service: - description: |- - Service is the name of the service to place in the gRPC HealthCheckRequest - (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). - - - If this is not specified, the default behavior is defined by gRPC. - type: string - required: - - port - type: object - httpGet: - description: HTTPGet specifies the http request to perform. - properties: - host: - description: |- - Host name to connect to, defaults to the pod IP. You probably want to set - "Host" in httpHeaders instead. - type: string - httpHeaders: - description: Custom headers to set in the request. HTTP - allows repeated headers. - items: - description: HTTPHeader describes a custom header to - be used in HTTP probes - properties: - name: - description: |- - The header field name. - This will be canonicalized upon output, so case-variant names will be understood as the same header. - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: object - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: integer - - type: string - description: |- - Name or number of the port to access on the container. - Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - scheme: - description: |- - Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port + Inline contains the parameters that will be made available to the job + executing the KeptnTask via the 'DATA' environment variable. + The 'DATA' environment variable's content will be a json + encoded string containing all properties of the map provided. type: object - initialDelaySeconds: - description: |- - Number of seconds after the container has started before liveness probes are initiated. - More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes - format: int32 - type: integer - periodSeconds: + type: object + secureParameters: + description: |- + SecureParameters contains secure parameters that will be passed to the job that executes the task. + These will be stored and accessed as secrets in the cluster. + properties: + secret: description: |- - How often (in seconds) to perform the probe. - Default to 10 seconds. Minimum value is 1. - format: int32 - type: integer - successThreshold: + Secret contains the parameters that will be made available to the job + executing the KeptnTask via the 'SECRET_DATA' environment variable. + The 'SECRET_DATA' environment variable's content will the same as value of the 'SECRET_DATA' + key of the referenced secret. + type: string + type: object + type: object + function: + description: |- + Deprecated + Function contains the definition for the function that is to be executed in KeptnTasks. + properties: + cmdParameters: + description: CmdParameters contains parameters that will be passed + to the command + type: string + configMapRef: + description: |- + ConfigMapReference allows to reference a ConfigMap containing the code of the function. + When referencing a ConfigMap, the code of the function must be available as a value of the 'code' key + of the referenced ConfigMap. + properties: + name: + description: Name is the name of the referenced ConfigMap. + type: string + type: object + functionRef: + description: |- + FunctionReference allows to reference another KeptnTaskDefinition which contains the source code of the + function to be executes for KeptnTasks based on this KeptnTaskDefinition. This can be useful when you have + multiple KeptnTaskDefinitions that should execute the same logic, but each with different parameters. + properties: + name: + description: Name is the name of the referenced KeptnTaskDefinition. + type: string + type: object + httpRef: + description: HttpReference allows to point to an HTTP URL containing + the code of the function. + properties: + url: + description: Url is the URL containing the code of the function. + type: string + type: object + inline: + description: |- + Inline allows to specify the code that should be executed directly in the KeptnTaskDefinition, as a multi-line + string. + properties: + code: + description: Code contains the code of the function. + type: string + type: object + parameters: + description: Parameters contains parameters that will be passed + to the job that executes the task as env variables. + properties: + map: + additionalProperties: + type: string description: |- - Minimum consecutive successes for the probe to be considered successful after having failed. - Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. - format: int32 - type: integer - tcpSocket: - description: TCPSocket specifies an action involving a TCP - port. - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: integer - - type: string - description: |- - Number or name of the port to access on the container. - Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - required: - - port + Inline contains the parameters that will be made available to the job + executing the KeptnTask via the 'DATA' environment variable. + The 'DATA' environment variable's content will be a json + encoded string containing all properties of the map provided. type: object - terminationGracePeriodSeconds: - description: |- - Optional duration in seconds the pod needs to terminate gracefully upon probe failure. - The grace period is the duration in seconds after the processes running in the pod are sent - a termination signal and the time when the processes are forcibly halted with a kill signal. - Set this value longer than the expected cleanup time for your process. - If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this - value overrides the value provided by the pod spec. - Value must be non-negative integer. The value zero indicates stop immediately via - the kill signal (no opportunity to shut down). - This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. - Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. - format: int64 - type: integer - timeoutSeconds: + type: object + secureParameters: + description: |- + SecureParameters contains secure parameters that will be passed to the job that executes the task. + These will be stored and accessed as secrets in the cluster. + properties: + secret: description: |- - Number of seconds after which the probe times out. - Defaults to 1 second. Minimum value is 1. - More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes - format: int32 - type: integer + Secret contains the parameters that will be made available to the job + executing the KeptnTask via the 'SECRET_DATA' environment variable. + The 'SECRET_DATA' environment variable's content will the same as value of the 'SECRET_DATA' + key of the referenced secret. + type: string + type: object + type: object + imagePullSecrets: + description: ImagePullSecrets is an optional field to specify the + names of secrets to use for pulling container images + items: + description: |- + LocalObjectReference contains enough information to let you locate the + referenced object inside the same namespace. + properties: + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + type: object + x-kubernetes-map-type: atomic + type: array + python: + description: Python contains the definition for the python function + that is to be executed in KeptnTasks. + properties: + cmdParameters: + description: CmdParameters contains parameters that will be passed + to the command + type: string + configMapRef: + description: |- + ConfigMapReference allows to reference a ConfigMap containing the code of the function. + When referencing a ConfigMap, the code of the function must be available as a value of the 'code' key + of the referenced ConfigMap. + properties: + name: + description: Name is the name of the referenced ConfigMap. + type: string type: object - stdin: + functionRef: description: |- - Whether this container should allocate a buffer for stdin in the container runtime. If this - is not set, reads from stdin in the container will always result in EOF. - Default is false. - type: boolean - stdinOnce: + FunctionReference allows to reference another KeptnTaskDefinition which contains the source code of the + function to be executes for KeptnTasks based on this KeptnTaskDefinition. This can be useful when you have + multiple KeptnTaskDefinitions that should execute the same logic, but each with different parameters. + properties: + name: + description: Name is the name of the referenced KeptnTaskDefinition. + type: string + type: object + httpRef: + description: HttpReference allows to point to an HTTP URL containing + the code of the function. + properties: + url: + description: Url is the URL containing the code of the function. + type: string + type: object + inline: description: |- - Whether the container runtime should close the stdin channel after it has been opened by - a single attach. When stdin is true the stdin stream will remain open across multiple attach - sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the - first client attaches to stdin, and then remains open and accepts data until the client disconnects, - at which time stdin is closed and remains closed until the container is restarted. If this - flag is false, a container processes that reads from stdin will never receive an EOF. - Default is false - type: boolean - terminationMessagePath: + Inline allows to specify the code that should be executed directly in the KeptnTaskDefinition, as a multi-line + string. + properties: + code: + description: Code contains the code of the function. + type: string + type: object + parameters: + description: Parameters contains parameters that will be passed + to the job that executes the task as env variables. + properties: + map: + additionalProperties: + type: string + description: |- + Inline contains the parameters that will be made available to the job + executing the KeptnTask via the 'DATA' environment variable. + The 'DATA' environment variable's content will be a json + encoded string containing all properties of the map provided. + type: object + type: object + secureParameters: description: |- - Optional: Path at which the file to which the container's termination message - will be written is mounted into the container's filesystem. - Message written is intended to be brief final status, such as an assertion failure message. - Will be truncated by the node if greater than 4096 bytes. The total message length across - all containers will be limited to 12kb. - Defaults to /dev/termination-log. - Cannot be updated. + SecureParameters contains secure parameters that will be passed to the job that executes the task. + These will be stored and accessed as secrets in the cluster. + properties: + secret: + description: |- + Secret contains the parameters that will be made available to the job + executing the KeptnTask via the 'SECRET_DATA' environment variable. + The 'SECRET_DATA' environment variable's content will the same as value of the 'SECRET_DATA' + key of the referenced secret. + type: string + type: object + type: object + retries: + default: 10 + description: |- + Retries specifies how many times a job executing the KeptnTaskDefinition should be restarted in the case + of an unsuccessful attempt. + format: int32 + type: integer + serviceAccount: + description: ServiceAccount specifies the service account to be used + in jobs to authenticate with the Kubernetes API and access cluster + resources. + properties: + name: + type: string + required: + - name + type: object + timeout: + default: 5m + description: |- + Timeout specifies the maximum time to wait for the task to be completed successfully. + If the task does not complete successfully within this time frame, it will be + considered to be failed. + pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ + type: string + ttlSecondsAfterFinished: + default: 300 + description: |- + TTLSecondsAfterFinished controller makes a job eligible to be cleaned up after it is finished. + The timer starts when the status shows up to be Complete or Failed. + format: int32 + type: integer + type: object + status: + description: Status describes the current state of the KeptnTaskDefinition. + properties: + function: + description: Function contains status information of the function + definition for the task. + properties: + configMap: + description: ConfigMap indicates the ConfigMap in which the function + code is stored. + type: string + type: object + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +# Source: keptn/charts/lifecycleOperator/templates/operator-crd.yaml +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + cert-manager.io/inject-ca-from: helmtests/keptn-certs + test/jj: test + labels: + app.kubernetes.io/part-of: keptn + crdGroup: lifecycle.keptn.sh + keptn.sh/inject-cert: "true" + app.kubernetes.io/instance: keptn-test + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: lifecycle-operator + app.kubernetes.io/version: vmyversion + helm.sh/chart: lifecycle-operator-0.2.1 + name: keptntasks.lifecycle.keptn.sh +spec: + group: lifecycle.keptn.sh + names: + kind: KeptnTask + listKind: KeptnTaskList + plural: keptntasks + singular: keptntask + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .spec.app + name: AppName + type: string + - jsonPath: .spec.appVersion + name: AppVersion + type: string + - jsonPath: .spec.workload + name: WorkloadName + type: string + - jsonPath: .spec.workloadVersion + name: WorkloadVersion + type: string + - jsonPath: .status.jobName + name: Job Name + type: string + - jsonPath: .status.status + name: Status + type: string + name: v1alpha1 + schema: + openAPIV3Schema: + description: KeptnTask is the Schema for the keptntasks API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: KeptnTaskSpec defines the desired state of KeptnTask + properties: + app: + type: string + appVersion: + type: string + checkType: + type: string + context: + properties: + appName: + type: string + appVersion: + type: string + objectType: + type: string + taskType: + type: string + workloadName: + type: string + workloadVersion: + type: string + required: + - appName + - appVersion + - objectType + - taskType + - workloadName + - workloadVersion + type: object + parameters: + properties: + map: + additionalProperties: + type: string + type: object + type: object + secureParameters: + properties: + secret: + type: string + type: object + taskDefinition: + type: string + workload: + type: string + workloadVersion: + type: string + required: + - app + - appVersion + - context + - taskDefinition + - workload + - workloadVersion + type: object + status: + description: KeptnTaskStatus defines the observed state of KeptnTask + properties: + endTime: + format: date-time + type: string + jobName: + type: string + message: + type: string + startTime: + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .spec.app + name: AppName + type: string + - jsonPath: .spec.appVersion + name: AppVersion + type: string + - jsonPath: .spec.workload + name: WorkloadName + type: string + - jsonPath: .spec.workloadVersion + name: WorkloadVersion + type: string + - jsonPath: .status.jobName + name: Job Name + type: string + - jsonPath: .status.status + name: Status + type: string + name: v1alpha2 + schema: + openAPIV3Schema: + description: KeptnTask is the Schema for the keptntasks API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: KeptnTaskSpec defines the desired state of KeptnTask + properties: + app: + type: string + appVersion: + type: string + checkType: + type: string + context: + properties: + appName: type: string - terminationMessagePolicy: - description: |- - Indicate how the termination message should be populated. File will use the contents of - terminationMessagePath to populate the container status message on both success and failure. - FallbackToLogsOnError will use the last chunk of container log output if the termination - message file is empty and the container exited with an error. - The log output is limited to 2048 bytes or 80 lines, whichever is smaller. - Defaults to File. - Cannot be updated. + appVersion: type: string - tty: - description: |- - Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. - Default is false. - type: boolean - volumeDevices: - description: volumeDevices is the list of block devices to be - used by the container. - items: - description: volumeDevice describes a mapping of a raw block - device within a container. - properties: - devicePath: - description: devicePath is the path inside of the container - that the device will be mapped to. - type: string - name: - description: name must match the name of a persistentVolumeClaim - in the pod - type: string - required: - - devicePath - - name - type: object - type: array - volumeMounts: - description: |- - Pod volumes to mount into the container's filesystem. - Cannot be updated. - items: - description: VolumeMount describes a mounting of a Volume within - a container. - properties: - mountPath: - description: |- - Path within the container at which the volume should be mounted. Must - not contain ':'. - type: string - mountPropagation: - description: |- - mountPropagation determines how mounts are propagated from the host - to container and the other way around. - When not set, MountPropagationNone is used. - This field is beta in 1.10. - type: string - name: - description: This must match the Name of a Volume. - type: string - readOnly: - description: |- - Mounted read-only if true, read-write otherwise (false or unspecified). - Defaults to false. - type: boolean - subPath: - description: |- - Path within the volume from which the container's volume should be mounted. - Defaults to "" (volume's root). - type: string - subPathExpr: - description: |- - Expanded path within the volume from which the container's volume should be mounted. - Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. - Defaults to "" (volume's root). - SubPathExpr and SubPath are mutually exclusive. - type: string - required: - - mountPath - - name - type: object - type: array - workingDir: - description: |- - Container's working directory. - If not specified, the container runtime's default will be used, which - might be configured in the container image. - Cannot be updated. + objectType: + type: string + taskType: + type: string + workloadName: + type: string + workloadVersion: + type: string + required: + - appName + - appVersion + - objectType + - taskType + - workloadName + - workloadVersion + type: object + parameters: + properties: + map: + additionalProperties: + type: string + type: object + type: object + secureParameters: + properties: + secret: + type: string + type: object + taskDefinition: + type: string + workload: + type: string + workloadVersion: + type: string + required: + - app + - appVersion + - context + - taskDefinition + - workload + - workloadVersion + type: object + status: + description: KeptnTaskStatus defines the observed state of KeptnTask + properties: + endTime: + format: date-time + type: string + jobName: + type: string + message: + type: string + startTime: + format: date-time + type: string + status: + default: Pending + description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .spec.app + name: AppName + type: string + - jsonPath: .spec.appVersion + name: AppVersion + type: string + - jsonPath: .spec.workload + name: WorkloadName + type: string + - jsonPath: .spec.workloadVersion + name: WorkloadVersion + type: string + - jsonPath: .status.jobName + name: Job Name + type: string + - jsonPath: .status.status + name: Status + type: string + name: v1alpha3 + schema: + openAPIV3Schema: + description: KeptnTask is the Schema for the keptntasks API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Spec describes the desired state of the KeptnTask. + properties: + checkType: + description: Type indicates whether the KeptnTask is part of the pre- + or postDeployment phase. + type: string + context: + description: Context contains contextual information about the task + execution. + properties: + appName: + description: AppName the name of the KeptnApp the KeptnTask is + being executed for. + type: string + appVersion: + description: AppVersion the version of the KeptnApp the KeptnTask + is being executed for. + type: string + objectType: + description: ObjectType indicates whether the KeptnTask is being + executed for a KeptnApp or KeptnWorkload. + type: string + taskType: + description: TaskType indicates whether the KeptnTask is part + of the pre- or postDeployment phase. + type: string + workloadName: + description: WorkloadName the name of the KeptnWorkload the KeptnTask + is being executed for. + type: string + workloadVersion: + description: WorkloadVersion the version of the KeptnWorkload + the KeptnTask is being executed for. type: string - required: - - name type: object - deno: - description: Deno contains the definition for the Deno function that - is to be executed in KeptnTasks. + parameters: + description: Parameters contains parameters that will be passed to + the job that executes the task. properties: - cmdParameters: - description: CmdParameters contains parameters that will be passed - to the command - type: string - configMapRef: - description: |- - ConfigMapReference allows to reference a ConfigMap containing the code of the function. - When referencing a ConfigMap, the code of the function must be available as a value of the 'code' key - of the referenced ConfigMap. - properties: - name: - description: Name is the name of the referenced ConfigMap. - type: string - type: object - functionRef: - description: |- - FunctionReference allows to reference another KeptnTaskDefinition which contains the source code of the - function to be executes for KeptnTasks based on this KeptnTaskDefinition. This can be useful when you have - multiple KeptnTaskDefinitions that should execute the same logic, but each with different parameters. - properties: - name: - description: Name is the name of the referenced KeptnTaskDefinition. - type: string - type: object - httpRef: - description: HttpReference allows to point to an HTTP URL containing - the code of the function. - properties: - url: - description: Url is the URL containing the code of the function. - type: string - type: object - inline: + map: + additionalProperties: + type: string description: |- - Inline allows to specify the code that should be executed directly in the KeptnTaskDefinition, as a multi-line - string. - properties: - code: - description: Code contains the code of the function. - type: string - type: object - parameters: - description: Parameters contains parameters that will be passed - to the job that executes the task as env variables. - properties: - map: - additionalProperties: - type: string - description: |- - Inline contains the parameters that will be made available to the job - executing the KeptnTask via the 'DATA' environment variable. - The 'DATA' environment variable's content will be a json - encoded string containing all properties of the map provided. - type: object + Inline contains the parameters that will be made available to the job + executing the KeptnTask via the 'DATA' environment variable. + The 'DATA' environment variable's content will be a json + encoded string containing all properties of the map provided. type: object - secureParameters: + type: object + retries: + default: 10 + description: |- + Retries indicates how many times the KeptnTask can be attempted in the case of an error + before considering the KeptnTask to be failed. + format: int32 + type: integer + secureParameters: + description: |- + SecureParameters contains secure parameters that will be passed to the job that executes the task. + These will be stored and accessed as secrets in the cluster. + properties: + secret: description: |- - SecureParameters contains secure parameters that will be passed to the job that executes the task. - These will be stored and accessed as secrets in the cluster. - properties: - secret: - description: |- - Secret contains the parameters that will be made available to the job - executing the KeptnTask via the 'SECRET_DATA' environment variable. - The 'SECRET_DATA' environment variable's content will the same as value of the 'SECRET_DATA' - key of the referenced secret. - type: string - type: object + Secret contains the parameters that will be made available to the job + executing the KeptnTask via the 'SECRET_DATA' environment variable. + The 'SECRET_DATA' environment variable's content will the same as value of the 'SECRET_DATA' + key of the referenced secret. + type: string type: object - function: + taskDefinition: description: |- - Deprecated - Function contains the definition for the function that is to be executed in KeptnTasks. + TaskDefinition refers to the name of the KeptnTaskDefinition + which includes the specification for the task to be performed. + The KeptnTaskDefinition can be + located in the same namespace as the KeptnTask, or in the Keptn namespace. + type: string + timeout: + default: 5m + description: |- + Timeout specifies the maximum time to wait for the task to be completed successfully. + If the task does not complete successfully within this time frame, it will be + considered to be failed. + pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ + type: string + required: + - taskDefinition + type: object + status: + description: Status describes the current state of the KeptnTask. + properties: + endTime: + description: EndTime represents the time at which the KeptnTask finished. + format: date-time + type: string + jobName: + description: JobName is the name of the Job executing the Task. + type: string + message: + description: Message contains information about unexpected errors + encountered during the execution of the KeptnTask. + type: string + reason: + description: Reason contains more information about the reason for + the last transition of the Job executing the KeptnTask. + type: string + startTime: + description: StartTime represents the time at which the KeptnTask + started. + format: date-time + type: string + status: + default: Pending + description: Status represents the overall state of the KeptnTask. + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .spec.app + name: AppName + type: string + - jsonPath: .spec.appVersion + name: AppVersion + type: string + - jsonPath: .spec.workload + name: WorkloadName + type: string + - jsonPath: .spec.workloadVersion + name: WorkloadVersion + type: string + - jsonPath: .status.jobName + name: Job Name + type: string + - jsonPath: .status.status + name: Status + type: string + name: v1beta1 + schema: + openAPIV3Schema: + description: KeptnTask is the Schema for the keptntasks API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More 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. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Spec describes the desired state of the KeptnTask. + properties: + checkType: + description: Type indicates whether the KeptnTask is part of the pre- + or postDeployment phase. + type: string + context: + description: Context contains contextual information about the task + execution. properties: - cmdParameters: - description: CmdParameters contains parameters that will be passed - to the command + appName: + description: AppName the name of the KeptnApp the KeptnTask is + being executed for. + type: string + appVersion: + description: AppVersion the version of the KeptnApp the KeptnTask + is being executed for. type: string - configMapRef: - description: |- - ConfigMapReference allows to reference a ConfigMap containing the code of the function. - When referencing a ConfigMap, the code of the function must be available as a value of the 'code' key - of the referenced ConfigMap. - properties: - name: - description: Name is the name of the referenced ConfigMap. - type: string - type: object - functionRef: - description: |- - FunctionReference allows to reference another KeptnTaskDefinition which contains the source code of the - function to be executes for KeptnTasks based on this KeptnTaskDefinition. This can be useful when you have - multiple KeptnTaskDefinitions that should execute the same logic, but each with different parameters. - properties: - name: - description: Name is the name of the referenced KeptnTaskDefinition. - type: string - type: object - httpRef: - description: HttpReference allows to point to an HTTP URL containing - the code of the function. - properties: - url: - description: Url is the URL containing the code of the function. - type: string - type: object - inline: - description: |- - Inline allows to specify the code that should be executed directly in the KeptnTaskDefinition, as a multi-line - string. - properties: - code: - description: Code contains the code of the function. - type: string - type: object - parameters: - description: Parameters contains parameters that will be passed - to the job that executes the task as env variables. - properties: - map: - additionalProperties: - type: string - description: |- - Inline contains the parameters that will be made available to the job - executing the KeptnTask via the 'DATA' environment variable. - The 'DATA' environment variable's content will be a json - encoded string containing all properties of the map provided. - type: object - type: object - secureParameters: - description: |- - SecureParameters contains secure parameters that will be passed to the job that executes the task. - These will be stored and accessed as secrets in the cluster. - properties: - secret: - description: |- - Secret contains the parameters that will be made available to the job - executing the KeptnTask via the 'SECRET_DATA' environment variable. - The 'SECRET_DATA' environment variable's content will the same as value of the 'SECRET_DATA' - key of the referenced secret. - type: string + metadata: + additionalProperties: + type: string + description: Metadata contains additional key-value pairs for + contextual information. type: object + objectType: + description: ObjectType indicates whether the KeptnTask is being + executed for a KeptnApp or KeptnWorkload. + type: string + taskType: + description: TaskType indicates whether the KeptnTask is part + of the pre- or postDeployment phase. + type: string + workloadName: + description: WorkloadName the name of the KeptnWorkload the KeptnTask + is being executed for. + type: string + workloadVersion: + description: WorkloadVersion the version of the KeptnWorkload + the KeptnTask is being executed for. + type: string type: object - imagePullSecrets: - description: ImagePullSecrets is an optional field to specify the - names of secrets to use for pulling container images - items: - description: |- - LocalObjectReference contains enough information to let you locate the - referenced object inside the same namespace. - properties: - name: - description: |- - Name of the referent. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid? - type: string - type: object - x-kubernetes-map-type: atomic - type: array - python: - description: Python contains the definition for the python function - that is to be executed in KeptnTasks. + parameters: + description: Parameters contains parameters that will be passed to + the job that executes the task. properties: - cmdParameters: - description: CmdParameters contains parameters that will be passed - to the command - type: string - configMapRef: - description: |- - ConfigMapReference allows to reference a ConfigMap containing the code of the function. - When referencing a ConfigMap, the code of the function must be available as a value of the 'code' key - of the referenced ConfigMap. - properties: - name: - description: Name is the name of the referenced ConfigMap. - type: string - type: object - functionRef: - description: |- - FunctionReference allows to reference another KeptnTaskDefinition which contains the source code of the - function to be executes for KeptnTasks based on this KeptnTaskDefinition. This can be useful when you have - multiple KeptnTaskDefinitions that should execute the same logic, but each with different parameters. - properties: - name: - description: Name is the name of the referenced KeptnTaskDefinition. - type: string - type: object - httpRef: - description: HttpReference allows to point to an HTTP URL containing - the code of the function. - properties: - url: - description: Url is the URL containing the code of the function. - type: string - type: object - inline: - description: |- - Inline allows to specify the code that should be executed directly in the KeptnTaskDefinition, as a multi-line - string. - properties: - code: - description: Code contains the code of the function. - type: string - type: object - parameters: - description: Parameters contains parameters that will be passed - to the job that executes the task as env variables. - properties: - map: - additionalProperties: - type: string - description: |- - Inline contains the parameters that will be made available to the job - executing the KeptnTask via the 'DATA' environment variable. - The 'DATA' environment variable's content will be a json - encoded string containing all properties of the map provided. - type: object - type: object - secureParameters: + map: + additionalProperties: + type: string description: |- - SecureParameters contains secure parameters that will be passed to the job that executes the task. - These will be stored and accessed as secrets in the cluster. - properties: - secret: - description: |- - Secret contains the parameters that will be made available to the job - executing the KeptnTask via the 'SECRET_DATA' environment variable. - The 'SECRET_DATA' environment variable's content will the same as value of the 'SECRET_DATA' - key of the referenced secret. - type: string + Inline contains the parameters that will be made available to the job + executing the KeptnTask via the 'DATA' environment variable. + The 'DATA' environment variable's content will be a json + encoded string containing all properties of the map provided. type: object type: object retries: default: 10 description: |- - Retries specifies how many times a job executing the KeptnTaskDefinition should be restarted in the case - of an unsuccessful attempt. + Retries indicates how many times the KeptnTask can be attempted in the case of an error + before considering the KeptnTask to be failed. format: int32 type: integer - serviceAccount: - description: ServiceAccount specifies the service account to be used - in jobs to authenticate with the Kubernetes API and access cluster - resources. + secureParameters: + description: |- + SecureParameters contains secure parameters that will be passed to the job that executes the task. + These will be stored and accessed as secrets in the cluster. properties: - name: + secret: + description: |- + Secret contains the parameters that will be made available to the job + executing the KeptnTask via the 'SECRET_DATA' environment variable. + The 'SECRET_DATA' environment variable's content will the same as value of the 'SECRET_DATA' + key of the referenced secret. type: string - required: - - name type: object + taskDefinition: + description: |- + TaskDefinition refers to the name of the KeptnTaskDefinition + which includes the specification for the task to be performed. + The KeptnTaskDefinition can be + located in the same namespace as the KeptnTask, or in the Keptn namespace. + type: string timeout: default: 5m description: |- @@ -6915,26 +6905,36 @@ spec: considered to be failed. pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$ type: string - ttlSecondsAfterFinished: - default: 300 - description: |- - TTLSecondsAfterFinished controller makes a job eligible to be cleaned up after it is finished. - The timer starts when the status shows up to be Complete or Failed. - format: int32 - type: integer + required: + - taskDefinition type: object status: - description: Status describes the current state of the KeptnTaskDefinition. + description: Status describes the current state of the KeptnTask. properties: - function: - description: Function contains status information of the function - definition for the task. - properties: - configMap: - description: ConfigMap indicates the ConfigMap in which the function - code is stored. - type: string - type: object + endTime: + description: EndTime represents the time at which the KeptnTask finished. + format: date-time + type: string + jobName: + description: JobName is the name of the Job executing the Task. + type: string + message: + description: Message contains information about unexpected errors + encountered during the execution of the KeptnTask. + type: string + reason: + description: Reason contains more information about the reason for + the last transition of the Job executing the KeptnTask. + type: string + startTime: + description: StartTime represents the time at which the KeptnTask + started. + format: date-time + type: string + status: + default: Pending + description: Status represents the overall state of the KeptnTask. + type: string type: object type: object served: true @@ -6942,11 +6942,10 @@ spec: subresources: status: {} --- -# Source: keptn/charts/lifecycleOperator/templates/keptnworkload-crd.yaml +# Source: keptn/charts/lifecycleOperator/templates/operator-crd.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: keptnworkloads.lifecycle.keptn.sh annotations: controller-gen.kubebuilder.io/version: v0.14.0 cert-manager.io/inject-ca-from: helmtests/keptn-certs @@ -6960,6 +6959,7 @@ metadata: app.kubernetes.io/name: lifecycle-operator app.kubernetes.io/version: vmyversion helm.sh/chart: lifecycle-operator-0.2.1 + name: keptnworkloads.lifecycle.keptn.sh spec: group: lifecycle.keptn.sh names: @@ -7368,11 +7368,10 @@ spec: subresources: status: {} --- -# Source: keptn/charts/lifecycleOperator/templates/keptnworkloadversion-crd.yaml +# Source: keptn/charts/lifecycleOperator/templates/operator-crd.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: keptnworkloadversions.lifecycle.keptn.sh annotations: controller-gen.kubebuilder.io/version: v0.14.0 cert-manager.io/inject-ca-from: helmtests/keptn-certs @@ -7386,6 +7385,7 @@ metadata: app.kubernetes.io/name: lifecycle-operator app.kubernetes.io/version: vmyversion helm.sh/chart: lifecycle-operator-0.2.1 + name: keptnworkloadversions.lifecycle.keptn.sh spec: group: lifecycle.keptn.sh names: diff --git a/.github/scripts/.helm-tests/metrics-only-with-apiservice-disabled/result.yaml b/.github/scripts/.helm-tests/metrics-only-with-apiservice-disabled/result.yaml index 875504806e..df7a81b5ee 100644 --- a/.github/scripts/.helm-tests/metrics-only-with-apiservice-disabled/result.yaml +++ b/.github/scripts/.helm-tests/metrics-only-with-apiservice-disabled/result.yaml @@ -42,11 +42,10 @@ data: webhook: port: 9443 --- -# Source: keptn/charts/metricsOperator/templates/analysis-crd.yaml +# Source: keptn/charts/metricsOperator/templates/metricsOperator-crd.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: analyses.metrics.keptn.sh annotations: controller-gen.kubebuilder.io/version: v0.14.0 cert-manager.io/inject-ca-from: helmtests/keptn-certs @@ -60,6 +59,7 @@ metadata: app.kubernetes.io/name: metrics-operator app.kubernetes.io/version: vmyversion helm.sh/chart: metrics-operator-0.1.2 + name: analyses.metrics.keptn.sh spec: group: metrics.keptn.sh names: @@ -398,11 +398,10 @@ spec: subresources: status: {} --- -# Source: keptn/charts/metricsOperator/templates/analysisdefinition-crd.yaml +# Source: keptn/charts/metricsOperator/templates/metricsOperator-crd.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: analysisdefinitions.metrics.keptn.sh annotations: controller-gen.kubebuilder.io/version: v0.14.0 cert-manager.io/inject-ca-from: helmtests/keptn-certs @@ -416,6 +415,7 @@ metadata: app.kubernetes.io/name: metrics-operator app.kubernetes.io/version: vmyversion helm.sh/chart: metrics-operator-0.1.2 + name: analysisdefinitions.metrics.keptn.sh spec: group: metrics.keptn.sh names: @@ -1096,11 +1096,10 @@ spec: subresources: status: {} --- -# Source: keptn/charts/metricsOperator/templates/analysisvaluetemplate-crd.yaml +# Source: keptn/charts/metricsOperator/templates/metricsOperator-crd.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: analysisvaluetemplates.metrics.keptn.sh annotations: controller-gen.kubebuilder.io/version: v0.14.0 cert-manager.io/inject-ca-from: helmtests/keptn-certs @@ -1114,6 +1113,7 @@ metadata: app.kubernetes.io/name: metrics-operator app.kubernetes.io/version: vmyversion helm.sh/chart: metrics-operator-0.1.2 + name: analysisvaluetemplates.metrics.keptn.sh spec: group: metrics.keptn.sh names: @@ -1246,11 +1246,10 @@ spec: subresources: status: {} --- -# Source: keptn/charts/metricsOperator/templates/keptnmetric-crd.yaml +# Source: keptn/charts/metricsOperator/templates/metricsOperator-crd.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: keptnmetrics.metrics.keptn.sh annotations: controller-gen.kubebuilder.io/version: v0.14.0 cert-manager.io/inject-ca-from: helmtests/keptn-certs @@ -1264,6 +1263,7 @@ metadata: app.kubernetes.io/name: metrics-operator app.kubernetes.io/version: vmyversion helm.sh/chart: metrics-operator-0.1.2 + name: keptnmetrics.metrics.keptn.sh spec: group: metrics.keptn.sh names: @@ -1784,11 +1784,10 @@ spec: subresources: status: {} --- -# Source: keptn/charts/metricsOperator/templates/keptnmetricsprovider-crd.yaml +# Source: keptn/charts/metricsOperator/templates/metricsOperator-crd.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: keptnmetricsproviders.metrics.keptn.sh annotations: controller-gen.kubebuilder.io/version: v0.14.0 cert-manager.io/inject-ca-from: helmtests/keptn-certs @@ -1802,6 +1801,7 @@ metadata: app.kubernetes.io/name: metrics-operator app.kubernetes.io/version: vmyversion helm.sh/chart: metrics-operator-0.1.2 + name: keptnmetricsproviders.metrics.keptn.sh spec: group: metrics.keptn.sh names: diff --git a/.github/scripts/.helm-tests/metrics-only/result.yaml b/.github/scripts/.helm-tests/metrics-only/result.yaml index 2c6c5633d8..07a9b1a751 100644 --- a/.github/scripts/.helm-tests/metrics-only/result.yaml +++ b/.github/scripts/.helm-tests/metrics-only/result.yaml @@ -42,11 +42,10 @@ data: webhook: port: 9443 --- -# Source: keptn/charts/metricsOperator/templates/analysis-crd.yaml +# Source: keptn/charts/metricsOperator/templates/metricsOperator-crd.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: analyses.metrics.keptn.sh annotations: controller-gen.kubebuilder.io/version: v0.14.0 cert-manager.io/inject-ca-from: helmtests/keptn-certs @@ -60,6 +59,7 @@ metadata: app.kubernetes.io/name: metrics-operator app.kubernetes.io/version: vmyversion helm.sh/chart: metrics-operator-0.1.2 + name: analyses.metrics.keptn.sh spec: group: metrics.keptn.sh names: @@ -398,11 +398,10 @@ spec: subresources: status: {} --- -# Source: keptn/charts/metricsOperator/templates/analysisdefinition-crd.yaml +# Source: keptn/charts/metricsOperator/templates/metricsOperator-crd.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: analysisdefinitions.metrics.keptn.sh annotations: controller-gen.kubebuilder.io/version: v0.14.0 cert-manager.io/inject-ca-from: helmtests/keptn-certs @@ -416,6 +415,7 @@ metadata: app.kubernetes.io/name: metrics-operator app.kubernetes.io/version: vmyversion helm.sh/chart: metrics-operator-0.1.2 + name: analysisdefinitions.metrics.keptn.sh spec: group: metrics.keptn.sh names: @@ -1096,11 +1096,10 @@ spec: subresources: status: {} --- -# Source: keptn/charts/metricsOperator/templates/analysisvaluetemplate-crd.yaml +# Source: keptn/charts/metricsOperator/templates/metricsOperator-crd.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: analysisvaluetemplates.metrics.keptn.sh annotations: controller-gen.kubebuilder.io/version: v0.14.0 cert-manager.io/inject-ca-from: helmtests/keptn-certs @@ -1114,6 +1113,7 @@ metadata: app.kubernetes.io/name: metrics-operator app.kubernetes.io/version: vmyversion helm.sh/chart: metrics-operator-0.1.2 + name: analysisvaluetemplates.metrics.keptn.sh spec: group: metrics.keptn.sh names: @@ -1246,11 +1246,10 @@ spec: subresources: status: {} --- -# Source: keptn/charts/metricsOperator/templates/keptnmetric-crd.yaml +# Source: keptn/charts/metricsOperator/templates/metricsOperator-crd.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: keptnmetrics.metrics.keptn.sh annotations: controller-gen.kubebuilder.io/version: v0.14.0 cert-manager.io/inject-ca-from: helmtests/keptn-certs @@ -1264,6 +1263,7 @@ metadata: app.kubernetes.io/name: metrics-operator app.kubernetes.io/version: vmyversion helm.sh/chart: metrics-operator-0.1.2 + name: keptnmetrics.metrics.keptn.sh spec: group: metrics.keptn.sh names: @@ -1784,11 +1784,10 @@ spec: subresources: status: {} --- -# Source: keptn/charts/metricsOperator/templates/keptnmetricsprovider-crd.yaml +# Source: keptn/charts/metricsOperator/templates/metricsOperator-crd.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: keptnmetricsproviders.metrics.keptn.sh annotations: controller-gen.kubebuilder.io/version: v0.14.0 cert-manager.io/inject-ca-from: helmtests/keptn-certs @@ -1802,6 +1801,7 @@ metadata: app.kubernetes.io/name: metrics-operator app.kubernetes.io/version: vmyversion helm.sh/chart: metrics-operator-0.1.2 + name: keptnmetricsproviders.metrics.keptn.sh spec: group: metrics.keptn.sh names: diff --git a/.github/scripts/.helm-tests/metrics-with-certs/result.yaml b/.github/scripts/.helm-tests/metrics-with-certs/result.yaml index 1538d1b491..a33b1f137f 100644 --- a/.github/scripts/.helm-tests/metrics-with-certs/result.yaml +++ b/.github/scripts/.helm-tests/metrics-with-certs/result.yaml @@ -53,11 +53,10 @@ data: webhook: port: 9443 --- -# Source: keptn/charts/metricsOperator/templates/analysis-crd.yaml +# Source: keptn/charts/metricsOperator/templates/metricsOperator-crd.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: analyses.metrics.keptn.sh annotations: controller-gen.kubebuilder.io/version: v0.14.0 cert-manager.io/inject-ca-from: helmtests/keptn-certs @@ -70,6 +69,7 @@ metadata: app.kubernetes.io/name: metrics-operator app.kubernetes.io/version: vmyversion helm.sh/chart: metrics-operator-0.1.2 + name: analyses.metrics.keptn.sh spec: group: metrics.keptn.sh names: @@ -408,11 +408,10 @@ spec: subresources: status: {} --- -# Source: keptn/charts/metricsOperator/templates/analysisdefinition-crd.yaml +# Source: keptn/charts/metricsOperator/templates/metricsOperator-crd.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: analysisdefinitions.metrics.keptn.sh annotations: controller-gen.kubebuilder.io/version: v0.14.0 cert-manager.io/inject-ca-from: helmtests/keptn-certs @@ -425,6 +424,7 @@ metadata: app.kubernetes.io/name: metrics-operator app.kubernetes.io/version: vmyversion helm.sh/chart: metrics-operator-0.1.2 + name: analysisdefinitions.metrics.keptn.sh spec: group: metrics.keptn.sh names: @@ -1105,11 +1105,10 @@ spec: subresources: status: {} --- -# Source: keptn/charts/metricsOperator/templates/analysisvaluetemplate-crd.yaml +# Source: keptn/charts/metricsOperator/templates/metricsOperator-crd.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: analysisvaluetemplates.metrics.keptn.sh annotations: controller-gen.kubebuilder.io/version: v0.14.0 cert-manager.io/inject-ca-from: helmtests/keptn-certs @@ -1122,6 +1121,7 @@ metadata: app.kubernetes.io/name: metrics-operator app.kubernetes.io/version: vmyversion helm.sh/chart: metrics-operator-0.1.2 + name: analysisvaluetemplates.metrics.keptn.sh spec: group: metrics.keptn.sh names: @@ -1254,11 +1254,10 @@ spec: subresources: status: {} --- -# Source: keptn/charts/metricsOperator/templates/keptnmetric-crd.yaml +# Source: keptn/charts/metricsOperator/templates/metricsOperator-crd.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: keptnmetrics.metrics.keptn.sh annotations: controller-gen.kubebuilder.io/version: v0.14.0 cert-manager.io/inject-ca-from: helmtests/keptn-certs @@ -1271,6 +1270,7 @@ metadata: app.kubernetes.io/name: metrics-operator app.kubernetes.io/version: vmyversion helm.sh/chart: metrics-operator-0.1.2 + name: keptnmetrics.metrics.keptn.sh spec: group: metrics.keptn.sh names: @@ -1791,11 +1791,10 @@ spec: subresources: status: {} --- -# Source: keptn/charts/metricsOperator/templates/keptnmetricsprovider-crd.yaml +# Source: keptn/charts/metricsOperator/templates/metricsOperator-crd.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: keptnmetricsproviders.metrics.keptn.sh annotations: controller-gen.kubebuilder.io/version: v0.14.0 cert-manager.io/inject-ca-from: helmtests/keptn-certs @@ -1808,6 +1807,7 @@ metadata: app.kubernetes.io/name: metrics-operator app.kubernetes.io/version: vmyversion helm.sh/chart: metrics-operator-0.1.2 + name: keptnmetricsproviders.metrics.keptn.sh spec: group: metrics.keptn.sh names: diff --git a/lifecycle-operator/Makefile b/lifecycle-operator/Makefile index 2490f6c702..a343cd1cc5 100644 --- a/lifecycle-operator/Makefile +++ b/lifecycle-operator/Makefile @@ -259,4 +259,7 @@ update-helmcharts: generate manifests awk '/env: fake/ { print " cert-manager.io/inject-ca-from: '\''{{ .Release.Namespace }}/keptn-certs'\''"; print " {{- include \"common.annotations\" (dict \"context\" .) }}"; next } { print }' chart/templates/operator-crd.yaml > temp_file && mv temp_file chart/templates/operator-crd.yaml awk '/putAnnotation: operator/ && !found { found=1; next } 1' chart/templates/operator-crd.yaml > chart/templates/temp && mv chart/templates/temp chart/templates/operator-crd.yaml awk '/putAnnotation: operator/{print " {{- with .Values.global.caInjectionAnnotations }}"; print " {{- toYaml . | nindent 4 }}"; print " {{- end }}"; print " {{- include \"common.annotations\" ( dict \"context\" . ) }}"; next} 1' chart/templates/operator-crd.yaml > temp_file && mv temp_file chart/templates/operator-crd.yaml - awk '/putLabels: newLabel/{print "{{- include \"common.labels.standard\" (dict \"context\" .) | nindent 4 }}"; next} 1' chart/templates/operator-crd.yaml > temp_file && mv temp_file chart/templates/operator-crd.yaml \ No newline at end of file + awk '/putLabels: newLabel/{print "{{- include \"common.labels.standard\" (dict \"context\" .) | nindent 4 }}"; next} 1' chart/templates/operator-crd.yaml > temp_file && mv temp_file chart/templates/operator-crd.yaml + awk '{gsub("name: lifecycle-webhook-service", "name: '\''lifecycle-webhook-service'\''")}1' chart/templates/operator-crd.yaml > tmp_file && mv tmp_file chart/templates/operator-crd.yaml + awk '{gsub(/namespace: system/, "namespace: '\''{{ .Release.Namespace }}'\''")}1' chart/templates/operator-crd.yaml > tmp_file && mv tmp_file chart/templates/operator-crd.yaml + diff --git a/lifecycle-operator/chart/templates/operator-crd.yaml b/lifecycle-operator/chart/templates/operator-crd.yaml index 3a6240f97b..17b4f9ce7e 100644 --- a/lifecycle-operator/chart/templates/operator-crd.yaml +++ b/lifecycle-operator/chart/templates/operator-crd.yaml @@ -242,8 +242,8 @@ spec: webhook: clientConfig: service: - name: lifecycle-webhook-service - namespace: system + name: 'lifecycle-webhook-service' + namespace: '{{ .Release.Namespace }}' path: /convert conversionReviewVersions: - v1 @@ -594,8 +594,8 @@ spec: webhook: clientConfig: service: - name: lifecycle-webhook-service - namespace: system + name: 'lifecycle-webhook-service' + namespace: '{{ .Release.Namespace }}' path: /convert conversionReviewVersions: - v1 @@ -2218,195 +2218,6 @@ spec: --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.14.0 - {{- with .Values.global.caInjectionAnnotations }} - {{- toYaml . | nindent 4 }} - {{- end }} - {{- include "common.annotations" ( dict "context" . ) }} - labels: - app.kubernetes.io/part-of: keptn - crdGroup: lifecycle.keptn.sh - keptn.sh/inject-cert: "true" -{{- include "common.labels.standard" (dict "context" .) | nindent 4 }} - name: keptnevaluationproviders.lifecycle.keptn.sh -spec: - group: lifecycle.keptn.sh - names: - kind: KeptnEvaluationProvider - listKind: KeptnEvaluationProviderList - plural: keptnevaluationproviders - shortNames: - - kep - singular: keptnevaluationprovider - scope: Namespaced - versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - description: KeptnEvaluationProvider is the Schema for the keptnevaluationproviders - API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: KeptnEvaluationProviderSpec defines the desired state of - KeptnEvaluationProvider - properties: - secretName: - type: string - targetServer: - type: string - required: - - targetServer - type: object - status: - description: unused field - type: string - type: object - served: true - storage: false - subresources: - status: {} - - name: v1alpha2 - schema: - openAPIV3Schema: - description: KeptnEvaluationProvider is the Schema for the keptnevaluationproviders - API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: KeptnEvaluationProviderSpec defines the desired state of - KeptnEvaluationProvider - properties: - secretKeyRef: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must be a - valid secret key. - type: string - name: - description: |- - Name of the referent. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid? - type: string - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - targetServer: - type: string - required: - - targetServer - type: object - status: - description: unused field - type: string - type: object - served: true - storage: false - subresources: - status: {} - - name: v1alpha3 - schema: - openAPIV3Schema: - description: KeptnEvaluationProvider is the Schema for the keptnevaluationproviders - API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: KeptnEvaluationProviderSpec defines the desired state of - KeptnEvaluationProvider - properties: - secretKeyRef: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must be a - valid secret key. - type: string - name: - description: |- - Name of the referent. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid? - type: string - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - targetServer: - type: string - required: - - targetServer - type: object - status: - description: unused field - type: string - type: object - served: true - storage: true - subresources: - status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.14.0 @@ -7002,844 +6813,6 @@ spec: --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.14.0 - {{- with .Values.global.caInjectionAnnotations }} - {{- toYaml . | nindent 4 }} - {{- end }} - {{- include "common.annotations" ( dict "context" . ) }} - labels: - app.kubernetes.io/part-of: keptn - crdGroup: lifecycle.keptn.sh - keptn.sh/inject-cert: "true" -{{- include "common.labels.standard" (dict "context" .) | nindent 4 }} - name: keptnworkloadinstances.lifecycle.keptn.sh -spec: - group: lifecycle.keptn.sh - names: - kind: KeptnWorkloadInstance - listKind: KeptnWorkloadInstanceList - plural: keptnworkloadinstances - shortNames: - - kwi - singular: keptnworkloadinstance - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .spec.app - name: AppName - type: string - - jsonPath: .spec.workloadName - name: WorkloadName - type: string - - jsonPath: .spec.version - name: WorkloadVersion - type: string - - jsonPath: .status.currentPhase - name: Phase - type: string - - jsonPath: .status.preDeploymentStatus - name: PreDeploymentStatus - priority: 1 - type: string - - jsonPath: .status.preDeploymentEvaluationStatus - name: PreDeploymentEvaluationStatus - priority: 1 - type: string - - jsonPath: .status.deploymentStatus - name: DeploymentStatus - priority: 1 - type: string - - jsonPath: .status.postDeploymentStatus - name: PostDeploymentStatus - priority: 1 - type: string - - jsonPath: .status.postDeploymentEvaluationStatus - name: PostDeploymentEvaluationStatus - priority: 1 - type: string - name: v1alpha1 - schema: - openAPIV3Schema: - description: KeptnWorkloadInstance is the Schema for the keptnworkloadinstances - API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: KeptnWorkloadInstanceSpec defines the desired state of KeptnWorkloadInstance - properties: - app: - type: string - postDeploymentEvaluations: - items: - type: string - type: array - postDeploymentTasks: - items: - type: string - type: array - preDeploymentEvaluations: - items: - type: string - type: array - preDeploymentTasks: - items: - type: string - type: array - previousVersion: - type: string - resourceReference: - description: ResourceReference represents the parent resource of Workload - properties: - kind: - type: string - name: - type: string - uid: - description: |- - UID is a type that holds unique ID values, including UUIDs. Because we - don't ONLY use UUIDs, this is an alias to string. Being a type captures - intent and helps make sure that UIDs and names do not get conflated. - type: string - required: - - kind - - name - - uid - type: object - traceId: - additionalProperties: - type: string - type: object - version: - type: string - workloadName: - type: string - required: - - app - - resourceReference - - version - - workloadName - type: object - status: - description: KeptnWorkloadInstanceStatus defines the observed state of - KeptnWorkloadInstance - properties: - currentPhase: - type: string - deploymentStatus: - default: Pending - description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - endTime: - format: date-time - type: string - phaseTraceIDs: - additionalProperties: - additionalProperties: - type: string - description: |- - MapCarrier is a TextMapCarrier that uses a map held in memory as a storage - medium for propagated key-value pairs. - type: object - description: PhaseTraceID is a map storing TraceIDs of OpenTelemetry - spans in lifecycle phases - type: object - postDeploymentEvaluationStatus: - default: Pending - description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - postDeploymentEvaluationTaskStatus: - items: - properties: - endTime: - format: date-time - type: string - evaluationDefinitionName: - type: string - evaluationName: - type: string - startTime: - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase - state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - type: object - type: array - postDeploymentStatus: - default: Pending - description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - postDeploymentTaskStatus: - items: - properties: - endTime: - format: date-time - type: string - startTime: - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase - state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - taskDefinitionName: - type: string - taskName: - type: string - type: object - type: array - preDeploymentEvaluationStatus: - default: Pending - description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - preDeploymentEvaluationTaskStatus: - items: - properties: - endTime: - format: date-time - type: string - evaluationDefinitionName: - type: string - evaluationName: - type: string - startTime: - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase - state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - type: object - type: array - preDeploymentStatus: - default: Pending - description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - preDeploymentTaskStatus: - items: - properties: - endTime: - format: date-time - type: string - startTime: - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase - state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - taskDefinitionName: - type: string - taskName: - type: string - type: object - type: array - startTime: - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .spec.app - name: AppName - type: string - - jsonPath: .spec.workloadName - name: WorkloadName - type: string - - jsonPath: .spec.version - name: WorkloadVersion - type: string - - jsonPath: .status.currentPhase - name: Phase - type: string - - jsonPath: .status.preDeploymentStatus - name: PreDeploymentStatus - priority: 1 - type: string - - jsonPath: .status.preDeploymentEvaluationStatus - name: PreDeploymentEvaluationStatus - priority: 1 - type: string - - jsonPath: .status.deploymentStatus - name: DeploymentStatus - priority: 1 - type: string - - jsonPath: .status.postDeploymentStatus - name: PostDeploymentStatus - priority: 1 - type: string - - jsonPath: .status.postDeploymentEvaluationStatus - name: PostDeploymentEvaluationStatus - priority: 1 - type: string - name: v1alpha2 - schema: - openAPIV3Schema: - description: KeptnWorkloadInstance is the Schema for the keptnworkloadinstances - API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: KeptnWorkloadInstanceSpec defines the desired state of KeptnWorkloadInstance - properties: - app: - type: string - postDeploymentEvaluations: - items: - type: string - type: array - postDeploymentTasks: - items: - type: string - type: array - preDeploymentEvaluations: - items: - type: string - type: array - preDeploymentTasks: - items: - type: string - type: array - previousVersion: - type: string - resourceReference: - description: ResourceReference represents the parent resource of Workload - properties: - kind: - type: string - name: - type: string - uid: - description: |- - UID is a type that holds unique ID values, including UUIDs. Because we - don't ONLY use UUIDs, this is an alias to string. Being a type captures - intent and helps make sure that UIDs and names do not get conflated. - type: string - required: - - kind - - name - - uid - type: object - traceId: - additionalProperties: - type: string - type: object - version: - type: string - workloadName: - type: string - required: - - app - - resourceReference - - version - - workloadName - type: object - status: - description: KeptnWorkloadInstanceStatus defines the observed state of - KeptnWorkloadInstance - properties: - currentPhase: - type: string - deploymentStatus: - default: Pending - description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - endTime: - format: date-time - type: string - phaseTraceIDs: - additionalProperties: - additionalProperties: - type: string - description: |- - MapCarrier is a TextMapCarrier that uses a map held in memory as a storage - medium for propagated key-value pairs. - type: object - type: object - postDeploymentEvaluationStatus: - default: Pending - description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - postDeploymentEvaluationTaskStatus: - items: - properties: - definitionName: - description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition - type: string - endTime: - format: date-time - type: string - name: - description: Name is the name of the Evaluation/Task - type: string - startTime: - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase - state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - type: object - type: array - postDeploymentStatus: - default: Pending - description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - postDeploymentTaskStatus: - items: - properties: - definitionName: - description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition - type: string - endTime: - format: date-time - type: string - name: - description: Name is the name of the Evaluation/Task - type: string - startTime: - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase - state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - type: object - type: array - preDeploymentEvaluationStatus: - default: Pending - description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - preDeploymentEvaluationTaskStatus: - items: - properties: - definitionName: - description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition - type: string - endTime: - format: date-time - type: string - name: - description: Name is the name of the Evaluation/Task - type: string - startTime: - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase - state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - type: object - type: array - preDeploymentStatus: - default: Pending - description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - preDeploymentTaskStatus: - items: - properties: - definitionName: - description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition - type: string - endTime: - format: date-time - type: string - name: - description: Name is the name of the Evaluation/Task - type: string - startTime: - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase - state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - type: object - type: array - startTime: - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .spec.app - name: AppName - type: string - - jsonPath: .spec.workloadName - name: WorkloadName - type: string - - jsonPath: .spec.version - name: WorkloadVersion - type: string - - jsonPath: .status.currentPhase - name: Phase - type: string - - jsonPath: .status.preDeploymentStatus - name: PreDeploymentStatus - priority: 1 - type: string - - jsonPath: .status.preDeploymentEvaluationStatus - name: PreDeploymentEvaluationStatus - priority: 1 - type: string - - jsonPath: .status.deploymentStatus - name: DeploymentStatus - priority: 1 - type: string - - jsonPath: .status.postDeploymentStatus - name: PostDeploymentStatus - priority: 1 - type: string - - jsonPath: .status.postDeploymentEvaluationStatus - name: PostDeploymentEvaluationStatus - priority: 1 - type: string - name: v1alpha3 - schema: - openAPIV3Schema: - description: KeptnWorkloadInstance is the Schema for the keptnworkloadinstances - API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More 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. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Spec describes the desired state of the KeptnWorkloadInstance. - properties: - app: - description: AppName is the name of the KeptnApp containing the KeptnWorkload. - type: string - postDeploymentEvaluations: - description: |- - PostDeploymentEvaluations is a list of all evaluations to be performed - during the post-deployment phase of the KeptnWorkload. - The items of this list refer to the names of KeptnEvaluationDefinitions - located in the same namespace as the KeptnWorkload, or in the Keptn namespace. - items: - type: string - type: array - postDeploymentTasks: - description: |- - PostDeploymentTasks is a list of all tasks to be performed during the post-deployment phase of the KeptnWorkload. - The items of this list refer to the names of KeptnTaskDefinitions - located in the same namespace as the KeptnWorkload, or in the Keptn namespace. - items: - type: string - type: array - preDeploymentEvaluations: - description: |- - PreDeploymentEvaluations is a list of all evaluations to be performed - during the pre-deployment phase of the KeptnWorkload. - The items of this list refer to the names of KeptnEvaluationDefinitions - located in the same namespace as the KeptnWorkload, or in the Keptn namespace. - items: - type: string - type: array - preDeploymentTasks: - description: |- - PreDeploymentTasks is a list of all tasks to be performed during the pre-deployment phase of the KeptnWorkload. - The items of this list refer to the names of KeptnTaskDefinitions - located in the same namespace as the KeptnApp, or in the Keptn namespace. - items: - type: string - type: array - previousVersion: - description: PreviousVersion is the version of the KeptnWorkload that - has been deployed prior to this version. - type: string - resourceReference: - description: |- - ResourceReference is a reference to the Kubernetes resource - (Deployment, DaemonSet, StatefulSet or ReplicaSet) the KeptnWorkload is representing. - properties: - kind: - type: string - name: - type: string - uid: - description: |- - UID is a type that holds unique ID values, including UUIDs. Because we - don't ONLY use UUIDs, this is an alias to string. Being a type captures - intent and helps make sure that UIDs and names do not get conflated. - type: string - required: - - kind - - name - - uid - type: object - traceId: - additionalProperties: - type: string - description: TraceId contains the OpenTelemetry trace ID. - type: object - version: - description: Version defines the version of the KeptnWorkload. - type: string - workloadName: - description: WorkloadName is the name of the KeptnWorkload. - type: string - required: - - app - - resourceReference - - version - - workloadName - type: object - status: - description: Status describes the current state of the KeptnWorkloadInstance. - properties: - currentPhase: - description: |- - CurrentPhase indicates the current phase of the KeptnWorkloadInstance. This can be: - - PreDeploymentTasks - - PreDeploymentEvaluations - - Deployment - - PostDeploymentTasks - - PostDeploymentEvaluations - type: string - deploymentStatus: - default: Pending - description: DeploymentStatus indicates the current status of the - KeptnWorkloadInstance's Deployment phase. - type: string - endTime: - description: EndTime represents the time at which the deployment of - the KeptnWorkloadInstance finished. - format: date-time - type: string - phaseTraceIDs: - additionalProperties: - additionalProperties: - type: string - description: |- - MapCarrier is a TextMapCarrier that uses a map held in memory as a storage - medium for propagated key-value pairs. - type: object - description: PhaseTraceIDs contains the trace IDs of the OpenTelemetry - spans of each phase of the KeptnWorkloadInstance - type: object - postDeploymentEvaluationStatus: - default: Pending - description: PostDeploymentEvaluationStatus indicates the current - status of the KeptnWorkloadInstance's PostDeploymentEvaluation phase. - type: string - postDeploymentEvaluationTaskStatus: - description: PostDeploymentEvaluationTaskStatus indicates the current - state of each postDeploymentEvaluation of the KeptnWorkloadInstance. - items: - properties: - definitionName: - description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition - type: string - endTime: - description: EndTime represents the time at which the Item (Evaluation/Task) - started. - format: date-time - type: string - name: - description: Name is the name of the Evaluation/Task - type: string - startTime: - description: StartTime represents the time at which the Item - (Evaluation/Task) started. - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase - state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - type: object - type: array - postDeploymentStatus: - default: Pending - description: PostDeploymentStatus indicates the current status of - the KeptnWorkloadInstance's PostDeployment phase. - type: string - postDeploymentTaskStatus: - description: PostDeploymentTaskStatus indicates the current state - of each postDeploymentTask of the KeptnWorkloadInstance. - items: - properties: - definitionName: - description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition - type: string - endTime: - description: EndTime represents the time at which the Item (Evaluation/Task) - started. - format: date-time - type: string - name: - description: Name is the name of the Evaluation/Task - type: string - startTime: - description: StartTime represents the time at which the Item - (Evaluation/Task) started. - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase - state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - type: object - type: array - preDeploymentEvaluationStatus: - default: Pending - description: PreDeploymentEvaluationStatus indicates the current status - of the KeptnWorkloadInstance's PreDeploymentEvaluation phase. - type: string - preDeploymentEvaluationTaskStatus: - description: PreDeploymentEvaluationTaskStatus indicates the current - state of each preDeploymentEvaluation of the KeptnWorkloadInstance. - items: - properties: - definitionName: - description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition - type: string - endTime: - description: EndTime represents the time at which the Item (Evaluation/Task) - started. - format: date-time - type: string - name: - description: Name is the name of the Evaluation/Task - type: string - startTime: - description: StartTime represents the time at which the Item - (Evaluation/Task) started. - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase - state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - type: object - type: array - preDeploymentStatus: - default: Pending - description: PreDeploymentStatus indicates the current status of the - KeptnWorkloadInstance's PreDeployment phase. - type: string - preDeploymentTaskStatus: - description: PreDeploymentTaskStatus indicates the current state of - each preDeploymentTask of the KeptnWorkloadInstance. - items: - properties: - definitionName: - description: DefinitionName is the name of the EvaluationDefinition/TaskDefinition - type: string - endTime: - description: EndTime represents the time at which the Item (Evaluation/Task) - started. - format: date-time - type: string - name: - description: Name is the name of the Evaluation/Task - type: string - startTime: - description: StartTime represents the time at which the Item - (Evaluation/Task) started. - format: date-time - type: string - status: - default: Pending - description: KeptnState is a string containing current Phase - state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - type: string - type: object - type: array - startTime: - description: StartTime represents the time at which the deployment - of the KeptnWorkloadInstance started. - format: date-time - type: string - status: - default: Pending - description: Status represents the overall status of the KeptnWorkloadInstance. - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.14.0 diff --git a/lifecycle-operator/config/crd/kustomization.yaml b/lifecycle-operator/config/crd/kustomization.yaml index 6ec9c02cf1..4a950492db 100644 --- a/lifecycle-operator/config/crd/kustomization.yaml +++ b/lifecycle-operator/config/crd/kustomization.yaml @@ -6,10 +6,10 @@ resources: - bases/lifecycle.keptn.sh_keptntasks.yaml - bases/lifecycle.keptn.sh_keptnapps.yaml - bases/lifecycle.keptn.sh_keptnworkloads.yaml - - bases/lifecycle.keptn.sh_keptnworkloadinstances.yaml + # - bases/lifecycle.keptn.sh_keptnworkloadinstances.yaml - bases/lifecycle.keptn.sh_keptnappversions.yaml - bases/lifecycle.keptn.sh_keptnevaluationdefinitions.yaml - - bases/lifecycle.keptn.sh_keptnevaluationproviders.yaml + # - bases/lifecycle.keptn.sh_keptnevaluationproviders.yaml - bases/lifecycle.keptn.sh_keptnevaluations.yaml - bases/options.keptn.sh_keptnconfigs.yaml - bases/lifecycle.keptn.sh_keptnappcreationrequests.yaml diff --git a/metrics-operator/Makefile b/metrics-operator/Makefile index acf399e839..91422abc06 100644 --- a/metrics-operator/Makefile +++ b/metrics-operator/Makefile @@ -220,6 +220,5 @@ lint: update-helmcharts: generate manifests kustomize build config/crd > chart/templates/metricsOperator-crd.yaml awk '/putAnnotation: metrics-operator/{print " {{- with .Values.global.caInjectionAnnotations }}"; print " {{- toYaml . | nindent 4 }}"; print " {{- end }}"; print " {{- include \"common.annotations\" ( dict \"context\" . ) }}"; next} 1' chart/templates/metricsOperator-crd.yaml > temp_file && mv temp_file chart/templates/metricsOperator-crd.yaml - awk '/env: fake/ {print " cert-manager.io/inject-ca-from: '\''{{ .Release.Namespace }}/keptn-certs'\''"; next} 1' chart/templates/metricsOperator-crd.yaml > temp_file && mv temp_file chart/templates/metricsOperator-crd.yaml awk '/putLabels: newLabel/ {print "{{- include \"common.labels.standard\" (dict \"context\" .) | nindent 4 }}"; next} 1' chart/templates/metricsOperator-crd.yaml > temp_file && mv temp_file chart/templates/metricsOperator-crd.yaml diff --git a/metrics-operator/chart/templates/metricsOperator-crd.yaml b/metrics-operator/chart/templates/metricsOperator-crd.yaml index 4b2a6ff287..415e7e9ee2 100644 --- a/metrics-operator/chart/templates/metricsOperator-crd.yaml +++ b/metrics-operator/chart/templates/metricsOperator-crd.yaml @@ -3,7 +3,6 @@ kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.14.0 - cert-manager.io/inject-ca-from: '{{ .Release.Namespace }}/keptn-certs' {{- with .Values.global.caInjectionAnnotations }} {{- toYaml . | nindent 4 }} {{- end }} diff --git a/metrics-operator/config/crd/kustomization.yaml b/metrics-operator/config/crd/kustomization.yaml index acd6d92680..5c69befc5a 100644 --- a/metrics-operator/config/crd/kustomization.yaml +++ b/metrics-operator/config/crd/kustomization.yaml @@ -25,13 +25,6 @@ commonAnnotations: putAnnotation: metrics-operator commonLabels: putLabels: newLabel -patches: - - target: - group: apiextensions.k8s.io - version: v1 - name: analyses.metrics.keptn.sh - kind: CustomResourceDefinition - path: patches/analysesMetricsPatch.yaml # [WEBHOOK] To enable webhook, uncomment all the sections with [WEBHOOK] prefix. # patches here are for enabling the conversion webhook for each CRD # - path: patches/webhook_in_keptnmetricsproviders.yaml diff --git a/metrics-operator/config/crd/patches/analysesMetricsPatch.yaml b/metrics-operator/config/crd/patches/analysesMetricsPatch.yaml deleted file mode 100644 index d32a5370aa..0000000000 --- a/metrics-operator/config/crd/patches/analysesMetricsPatch.yaml +++ /dev/null @@ -1,3 +0,0 @@ -- op: add # action - path: "/metadata/annotations/env" # adding a fake annotation and to be replaced with another one in helm templates - value: fake From 836a7d338b6ddd0b7b6724611d796521e9c5ba3a Mon Sep 17 00:00:00 2001 From: Griffin Date: Thu, 14 Mar 2024 13:54:11 +0530 Subject: [PATCH 3/5] spell check Signed-off-by: Griffin --- .github/actions/spelling/expect.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/actions/spelling/expect.txt b/.github/actions/spelling/expect.txt index cd4c047659..b720dbe514 100644 --- a/.github/actions/spelling/expect.txt +++ b/.github/actions/spelling/expect.txt @@ -690,3 +690,6 @@ yourregistry GOGC otelcol serviceapp +gsub +helmcharts + From f1ae99a5cf94324a72f82f3abf52ac81b8527fbd Mon Sep 17 00:00:00 2001 From: Griffin Date: Sun, 17 Mar 2024 19:58:14 +0530 Subject: [PATCH 4/5] fixed conflicts Signed-off-by: Griffin --- .github/scripts/.helm-tests/default/result.yaml | 12 ++++++------ .../scripts/.helm-tests/lifecycle-only/result.yaml | 12 ++++++------ .../.helm-tests/lifecycle-with-certs/result.yaml | 12 ++++++------ 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/.github/scripts/.helm-tests/default/result.yaml b/.github/scripts/.helm-tests/default/result.yaml index 6e4eaac4f2..c4e9cce4a7 100644 --- a/.github/scripts/.helm-tests/default/result.yaml +++ b/.github/scripts/.helm-tests/default/result.yaml @@ -145,7 +145,7 @@ metadata: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: lifecycle-operator app.kubernetes.io/version: vmyversion - helm.sh/chart: lifecycle-operator-0.2.1 + helm.sh/chart: lifecycle-operator-0.2.2 name: keptnappcontexts.lifecycle.keptn.sh spec: group: lifecycle.keptn.sh @@ -265,7 +265,7 @@ metadata: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: lifecycle-operator app.kubernetes.io/version: vmyversion - helm.sh/chart: lifecycle-operator-0.2.1 + helm.sh/chart: lifecycle-operator-0.2.2 name: keptnappcreationrequests.lifecycle.keptn.sh spec: group: lifecycle.keptn.sh @@ -2377,7 +2377,7 @@ metadata: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: lifecycle-operator app.kubernetes.io/version: vmyversion - helm.sh/chart: lifecycle-operator-0.2.1 + helm.sh/chart: lifecycle-operator-0.2.2 name: keptnevaluations.lifecycle.keptn.sh spec: group: lifecycle.keptn.sh @@ -2445,6 +2445,8 @@ spec: type: string evaluationDefinition: type: string + failAction: + type: string retries: default: 10 type: integer @@ -2835,8 +2837,6 @@ spec: The KeptnEvaluationDefinition can be located in the same namespace as the KeptnEvaluation, or in the Keptn namespace. type: string - failAction: - type: string retries: default: 10 description: |- @@ -6379,7 +6379,7 @@ metadata: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: lifecycle-operator app.kubernetes.io/version: vmyversion - helm.sh/chart: lifecycle-operator-0.2.1 + helm.sh/chart: lifecycle-operator-0.2.2 name: keptntasks.lifecycle.keptn.sh spec: group: lifecycle.keptn.sh diff --git a/.github/scripts/.helm-tests/lifecycle-only/result.yaml b/.github/scripts/.helm-tests/lifecycle-only/result.yaml index 9833d8c3d6..6c178008bf 100644 --- a/.github/scripts/.helm-tests/lifecycle-only/result.yaml +++ b/.github/scripts/.helm-tests/lifecycle-only/result.yaml @@ -91,7 +91,7 @@ metadata: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: lifecycle-operator app.kubernetes.io/version: vmyversion - helm.sh/chart: lifecycle-operator-0.2.1 + helm.sh/chart: lifecycle-operator-0.2.2 name: keptnappcontexts.lifecycle.keptn.sh spec: group: lifecycle.keptn.sh @@ -211,7 +211,7 @@ metadata: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: lifecycle-operator app.kubernetes.io/version: vmyversion - helm.sh/chart: lifecycle-operator-0.2.1 + helm.sh/chart: lifecycle-operator-0.2.2 name: keptnappcreationrequests.lifecycle.keptn.sh spec: group: lifecycle.keptn.sh @@ -2323,7 +2323,7 @@ metadata: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: lifecycle-operator app.kubernetes.io/version: vmyversion - helm.sh/chart: lifecycle-operator-0.2.1 + helm.sh/chart: lifecycle-operator-0.2.2 name: keptnevaluations.lifecycle.keptn.sh spec: group: lifecycle.keptn.sh @@ -2391,6 +2391,8 @@ spec: type: string evaluationDefinition: type: string + failAction: + type: string retries: default: 10 type: integer @@ -2781,8 +2783,6 @@ spec: The KeptnEvaluationDefinition can be located in the same namespace as the KeptnEvaluation, or in the Keptn namespace. type: string - failAction: - type: string retries: default: 10 description: |- @@ -6325,7 +6325,7 @@ metadata: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: lifecycle-operator app.kubernetes.io/version: vmyversion - helm.sh/chart: lifecycle-operator-0.2.1 + helm.sh/chart: lifecycle-operator-0.2.2 name: keptntasks.lifecycle.keptn.sh spec: group: lifecycle.keptn.sh diff --git a/.github/scripts/.helm-tests/lifecycle-with-certs/result.yaml b/.github/scripts/.helm-tests/lifecycle-with-certs/result.yaml index 458a1ee9bc..333e15f615 100644 --- a/.github/scripts/.helm-tests/lifecycle-with-certs/result.yaml +++ b/.github/scripts/.helm-tests/lifecycle-with-certs/result.yaml @@ -116,7 +116,7 @@ metadata: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: lifecycle-operator app.kubernetes.io/version: vmyversion - helm.sh/chart: lifecycle-operator-0.2.1 + helm.sh/chart: lifecycle-operator-0.2.2 name: keptnappcontexts.lifecycle.keptn.sh spec: group: lifecycle.keptn.sh @@ -237,7 +237,7 @@ metadata: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: lifecycle-operator app.kubernetes.io/version: vmyversion - helm.sh/chart: lifecycle-operator-0.2.1 + helm.sh/chart: lifecycle-operator-0.2.2 name: keptnappcreationrequests.lifecycle.keptn.sh spec: group: lifecycle.keptn.sh @@ -2354,7 +2354,7 @@ metadata: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: lifecycle-operator app.kubernetes.io/version: vmyversion - helm.sh/chart: lifecycle-operator-0.2.1 + helm.sh/chart: lifecycle-operator-0.2.2 name: keptnevaluations.lifecycle.keptn.sh spec: group: lifecycle.keptn.sh @@ -2422,6 +2422,8 @@ spec: type: string evaluationDefinition: type: string + failAction: + type: string retries: default: 10 type: integer @@ -2812,8 +2814,6 @@ spec: The KeptnEvaluationDefinition can be located in the same namespace as the KeptnEvaluation, or in the Keptn namespace. type: string - failAction: - type: string retries: default: 10 description: |- @@ -6358,7 +6358,7 @@ metadata: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: lifecycle-operator app.kubernetes.io/version: vmyversion - helm.sh/chart: lifecycle-operator-0.2.1 + helm.sh/chart: lifecycle-operator-0.2.2 name: keptntasks.lifecycle.keptn.sh spec: group: lifecycle.keptn.sh From f1711dccb1a67ef1d98437ac1ca85d2d7b594b68 Mon Sep 17 00:00:00 2001 From: Griffin Date: Sun, 17 Mar 2024 20:15:19 +0530 Subject: [PATCH 5/5] spell check Signed-off-by: Griffin --- .github/actions/spelling/expect.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/actions/spelling/expect.txt b/.github/actions/spelling/expect.txt index 4c3e6fc8d9..e82c6c3eb1 100644 --- a/.github/actions/spelling/expect.txt +++ b/.github/actions/spelling/expect.txt @@ -694,3 +694,5 @@ Yash yml YOURNAME yourregistry +gsub +helmcharts