diff --git a/.chainsaw-local.yaml b/.chainsaw-local.yaml deleted file mode 100755 index 4ada6c2d04..0000000000 --- a/.chainsaw-local.yaml +++ /dev/null @@ -1,11 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/kyverno/chainsaw/main/.schemas/json/configuration-chainsaw-v1alpha1.json -apiVersion: chainsaw.kyverno.io/v1alpha1 -kind: Configuration -metadata: - name: configuration-local -spec: - template: true - timeouts: - assert: 5m - cleanup: 5m - error: 5m diff --git a/.chainsaw.yaml b/.chainsaw.yaml deleted file mode 100755 index d5afb9f657..0000000000 --- a/.chainsaw.yaml +++ /dev/null @@ -1,13 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/kyverno/chainsaw/main/.schemas/json/configuration-chainsaw-v1alpha1.json -apiVersion: chainsaw.kyverno.io/v1alpha1 -kind: Configuration -metadata: - name: configuration -spec: - skipDelete: true - template: true - timeouts: - assert: 6m40s - cleanup: 6m40s - error: 6m40s - exec: 6m40s diff --git a/.github/.kubescape/controls-inputs.json b/.github/.kubescape/controls-inputs.json deleted file mode 100644 index 237dde98ca..0000000000 --- a/.github/.kubescape/controls-inputs.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "imageRepositoryAllowList": [ - "ecr.*amazonaws.com", - ".*.gcr.io", - "*.ghcr.io", - ".*azurecr.io", - "docker.io", - "ghcr.io" - ], - "max_critical_vulnerabilities": [ - "5" - ], - "max_high_vulnerabilities": [ - "10" - ], - "memory_limit_max": [], - "memory_limit_min": [], - "memory_request_max": [], - "memory_request_min": [], - "publicRegistries": [ - "registry.hub.docker.com" - ], - "recommendedLabels": [ - "app", - "tier", - "phase", - "version", - "owner", - "env" - ], - "sensitiveInterfaces": [ - "nifi", - "argo-server", - "weave-scope-app", - "kubeflow", - "kubernetes-dashboard" - ], - "sensitiveKeyNames": [ - "aws_access_key_id", - "aws_secret_access_key", - "azure_batchai_storage_account", - "azure_batchai_storage_key", - "azure_batch_account", - "azure_batch_key", - "secret", - "key", - "password", - "pwd", - "token", - "jwt", - "bearer", - "credential" - ], - "sensitiveValues": [ - "BEGIN \\w+ PRIVATE KEY", - "PRIVATE KEY", - "eyJhbGciO", - "JWT", - "Bearer", - "_key_", - "_secret_" - ], - "sensitiveValuesAllowed": [], - "servicesNames": [ - "nifi-service", - "argo-server", - "minio", - "postgres", - "workflow-controller-metrics", - "weave-scope-app", - "kubernetes-dashboard" - ], - "untrustedRegistries": [], - "wlKnownNames": [ - "coredns", - "kube-proxy", - "event-exporter-gke", - "kube-dns", - "17-default-backend", - "metrics-server", - "ca-audit", - "ca-dashboard-aggregator", - "ca-notification-server", - "ca-ocimage", - "ca-oracle", - "ca-posture", - "ca-rbac", - "ca-vuln-scan", - "ca-webhook", - "ca-websocket", - "clair-clair" - ] -} diff --git a/.github/.kubescape/exceptions.json b/.github/.kubescape/exceptions.json deleted file mode 100644 index b6191b4078..0000000000 --- a/.github/.kubescape/exceptions.json +++ /dev/null @@ -1,223 +0,0 @@ -[ - { - "name": "ignore-cluster-role-can-get-secrets", - "policyType": "postureExceptionPolicy", - "actions": [ - "alertOnly" - ], - "resources": [ - { - "designatorType": "Attributes", - "attributes": { - "kind": "ServiceAccount", - "name": "lifecycle-operator" - } - } - ], - "posturePolicies": [ - { - "controlID": "C-0015" - } - ] - }, - { - "name": "ignore-auto-mounting-of-service-account-tokens", - "policyType": "postureExceptionPolicy", - "actions": [ - "alertOnly" - ], - "resources": [ - { - "designatorType": "Attributes", - "attributes": { - "kind": ".*" - } - } - ], - "posturePolicies": [ - { - "controlID": "C-0034" - } - ] - }, - { - "name": "ignore-access-container-service-account", - "policyType": "postureExceptionPolicy", - "actions": [ - "alertOnly" - ], - "resources": [ - { - "designatorType": "Attributes", - "attributes": { - "kind": ".*" - } - } - ], - "posturePolicies": [ - { - "controlID": "C-0053" - } - ] - }, - { - "name": "ignore-validating-webhook-alert", - "policyType": "postureExceptionPolicy", - "actions": [ - "alertOnly" - ], - "resources": [ - { - "designatorType": "Attributes", - "attributes": { - "kind": ".*" - } - } - ], - "posturePolicies": [ - { - "controlID": "C-0036" - } - ] - }, - { - "name": "coreDNS poisoning", - "policyType": "postureExceptionPolicy", - "actions": [ - "alertOnly" - ], - "resources": [ - { - "designatorType": "Attributes", - "attributes": { - "kind": "ServiceAccount", - "name": "metrics-operator" - } - }, - { - "designatorType": "Attributes", - "attributes": { - "kind": "ServiceAccount", - "name": "lifecycle-operator" - } - }, - { - "designatorType": "Attributes", - "attributes": { - "kind": "ServiceAccount", - "name": "certificate-operator" - } - } - ], - "posturePolicies": [ - { - "controlID": "C-0037" - } - ] - }, - { - "name": "data destruction", - "policyType": "postureExceptionPolicy", - "actions": [ - "alertOnly" - ], - "resources": [ - { - "designatorType": "Attributes", - "attributes": { - "kind": "ServiceAccount", - "name": "lifecycle-operator" - } - } - ], - "posturePolicies": [ - { - "controlID": "C-0007" - } - ] - }, - { - "name": "malicious webhooks", - "policyType": "postureExceptionPolicy", - "actions": [ - "alertOnly" - ], - "resources": [ - { - "designatorType": "Attributes", - "attributes": { - "kind": "MutatingWebhookConfiguration", - "name": "lifecycle-mutating-webhook-configuration" - } - } - ], - "posturePolicies": [ - { - "controlID": "C-0039" - } - ] - }, - { - "name": "server running 2222", - "policyType": "postureExceptionPolicy", - "actions": [ - "alertOnly" - ], - "resources": [ - { - "designatorType": "Attributes", - "attributes": { - "kind": "Deployment", - "name": "lifecycle-operator" - } - } - ], - "posturePolicies": [ - { - "controlID": "C-0042" - } - ] - }, - { - "name": "unsigned images", - "policyType": "postureExceptionPolicy", - "actions": [ - "alertOnly" - ], - "resources": [ - { - "designatorType": "Attributes", - "attributes": { - "kind": "Deployment" - } - } - ], - "posturePolicies": [ - { - "controlID": "C-0237" - } - ] - }, - { - "name": "ignore-wrongly-found-key-env-vars", - "policyType": "postureExceptionPolicy", - "actions": [ - "alertOnly" - ], - "resources": [ - { - "designatorType": "Attributes", - "attributes": { - "kind": "Deployment", - "name": "certificate-operator" - } - } - ], - "posturePolicies": [ - { - "controlID": "C-0012" - } - ] - } -] - diff --git a/.github/actions/deploy-keptn-on-cluster/action.yml b/.github/actions/deploy-keptn-on-cluster/action.yml deleted file mode 100644 index d5fd252411..0000000000 --- a/.github/actions/deploy-keptn-on-cluster/action.yml +++ /dev/null @@ -1,109 +0,0 @@ -name: "Deploy Keptn on GH cluster" -description: "Creates a Kind cluster and deploys Keptn" -inputs: - kind-version: - required: false - description: "Version of kind that should be used" - # renovate: datasource=github-releases depName=kubernetes-sigs/kind - default: "v0.24.0" - k8s-version: - required: false - description: "Kubernetes version that should be used" - # renovate: datasource=github-releases depName=kubernetes/kubernetes - default: "v1.31.0" - runtime_tag: - description: "Tag for the runner image" - required: true - cluster-name: - required: false - description: "Name of the kind cluster" - default: "test-cluster" - values-file: - required: false - description: "Values file used for Keptn installation configuration" - default: "values.yaml" - cert-manager-io-enabled: - required: false - description: "Decides whether to use cert-manager.io" - default: "cert_manager_io_off" -runs: - using: "composite" - steps: - - name: Set up Go 1.x - uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # v5 - with: - go-version: ${{ env.GO_VERSION }} - cache: true - cache-dependency-path: '**/go.sum' - check-latest: true - - - name: Download artifacts - uses: actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806 # v4 - with: - path: ~/download/artifacts - - - name: "Create single kind Cluster" - uses: helm/kind-action@a1b0e391336a6ee6713a0583f8c6240d70863de3 # v1.12.0 - with: - cluster_name: ${{ inputs.cluster-name }} - version: ${{ inputs.kind-version }} - node_image: "kindest/node:${{ inputs.k8s-version }}" - kubectl_version: ${{ inputs.k8s-version }} - - - name: Import images in k3d - shell: bash - run: | - cd ~/download/artifacts - for image in $(ls | grep image.tar); - do - echo "Importing image: $image" - kind load image-archive $image/$image -n ${{ inputs.cluster-name }} - done - - - name: Install cert-manager.io - if: inputs.cert-manager-io-enabled == 'cert_manager_io_on' - env: - # renovate: datasource=github-releases depName=cert-manager/cert-manager - CERT_MANAGER_IO_VERSION: "v1.16.5" - shell: bash - run: | - kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/$CERT_MANAGER_IO_VERSION/cert-manager.yaml - kubectl wait --for=condition=Available deployment/cert-manager-webhook -n cert-manager --timeout=120s - kubectl wait --for=condition=ready pod -l app=webhook -n cert-manager --timeout=60s - - kubectl create ns keptn-system - kubectl apply -f .github/actions/deploy-keptn-on-cluster/values/certificate.yaml - - - name: Install Keptn with helm - env: - RELEASE_REGISTRY: "localhost:5000/keptn" - shell: bash - run: | - echo "Installing Keptn using helm" - helm version - - helm repo add keptn "https://charts.lifecycle.keptn.sh" - helm repo update - - for chart_dir in ./lifecycle-operator/chart \ - ./metrics-operator/chart \ - ./keptn-cert-manager/chart \ - ./chart; do - cd "$chart_dir" - echo "updating charts for" $chart_dir - helm dependency update - helm dependency build - cd - # Return to the previous directory - done - - cd .github/actions/deploy-keptn-on-cluster - - export TAG=${{ inputs.runtime_tag }} - envsubst < values/${{ inputs.values-file }} > tmp.yaml - - echo "installing with values.yaml file:" - cat tmp.yaml - - helm install -n keptn-system --create-namespace keptn ../../../chart \ - --values ./tmp.yaml \ - --debug --wait --timeout 1m diff --git a/.github/actions/deploy-keptn-on-cluster/values/certificate.yaml b/.github/actions/deploy-keptn-on-cluster/values/certificate.yaml deleted file mode 100644 index 61e5e38015..0000000000 --- a/.github/actions/deploy-keptn-on-cluster/values/certificate.yaml +++ /dev/null @@ -1,23 +0,0 @@ -apiVersion: cert-manager.io/v1 -kind: Certificate -metadata: - name: keptn-certs - namespace: keptn-system -spec: - dnsNames: - - lifecycle-webhook-service.keptn-system.svc - - lifecycle-webhook-service.keptn-system.svc.cluster.local - - metrics-webhook-service.keptn-system.svc - - metrics-webhook-service.keptn-system.svc.cluster.local - issuerRef: - kind: Issuer - name: keptn-selfsigned-issuer - secretName: keptn-certs ---- -apiVersion: cert-manager.io/v1 -kind: Issuer -metadata: - name: keptn-selfsigned-issuer - namespace: keptn-system -spec: - selfSigned: {} diff --git a/.github/actions/deploy-keptn-on-cluster/values/values-integration-allowed-namespaces.yaml b/.github/actions/deploy-keptn-on-cluster/values/values-integration-allowed-namespaces.yaml deleted file mode 100644 index 4b6bf8df08..0000000000 --- a/.github/actions/deploy-keptn-on-cluster/values/values-integration-allowed-namespaces.yaml +++ /dev/null @@ -1,19 +0,0 @@ -global: - imageRegistry: "localhost:5000" - -certManager: - imagePullPolicy: Never - image: - tag: $TAG - -metricsOperator: - enabled: false - -lifecycleOperator: - imagePullPolicy: Never - image: - tag: $TAG - env: - functionRunnerImage: localhost:5000/keptn/deno-runtime:$TAG - pythonRunnerImage: localhost:5000/keptn/python-runtime:$TAG - allowedNamespaces: [allowed-ns-test] diff --git a/.github/actions/deploy-keptn-on-cluster/values/values-integration-cert-manager.yaml b/.github/actions/deploy-keptn-on-cluster/values/values-integration-cert-manager.yaml deleted file mode 100644 index 8a6dd831b7..0000000000 --- a/.github/actions/deploy-keptn-on-cluster/values/values-integration-cert-manager.yaml +++ /dev/null @@ -1,18 +0,0 @@ -global: - imageRegistry: "localhost:5000" - -certManager: - imagePullPolicy: Never - image: - tag: $TAG - -metricsOperator: - enabled: false - -lifecycleOperator: - imagePullPolicy: Never - image: - tag: $TAG - env: - functionRunnerImage: localhost:5000/keptn/deno-runtime:$TAG - pythonRunnerImage: localhost:5000/keptn/python-runtime:$TAG diff --git a/.github/actions/deploy-keptn-on-cluster/values/values-integration-cert_manager_io_off.yaml b/.github/actions/deploy-keptn-on-cluster/values/values-integration-cert_manager_io_off.yaml deleted file mode 100644 index 9d7033a607..0000000000 --- a/.github/actions/deploy-keptn-on-cluster/values/values-integration-cert_manager_io_off.yaml +++ /dev/null @@ -1,21 +0,0 @@ -global: - imageRegistry: "localhost:5000" - -certManager: - imagePullPolicy: Never - image: - tag: $TAG - -metricsOperator: - imagePullPolicy: Never - image: - tag: $TAG - -lifecycleOperator: - promotionTasksEnabled: true - imagePullPolicy: Never - image: - tag: $TAG - env: - functionRunnerImage: localhost:5000/keptn/deno-runtime:$TAG - pythonRunnerImage: localhost:5000/keptn/python-runtime:$TAG diff --git a/.github/actions/deploy-keptn-on-cluster/values/values-integration-cert_manager_io_on.yaml b/.github/actions/deploy-keptn-on-cluster/values/values-integration-cert_manager_io_on.yaml deleted file mode 100644 index 17750ebe1b..0000000000 --- a/.github/actions/deploy-keptn-on-cluster/values/values-integration-cert_manager_io_on.yaml +++ /dev/null @@ -1,19 +0,0 @@ -global: - imageRegistry: "localhost:5000" - certManagerEnabled: false - caInjectionAnnotations: - cert-manager.io/inject-ca-from: keptn-system/keptn-certs - -metricsOperator: - imagePullPolicy: Never - image: - tag: $TAG - -lifecycleOperator: - promotionTasksEnabled: true - imagePullPolicy: Never - image: - tag: $TAG - env: - functionRunnerImage: localhost:5000/keptn/deno-runtime:$TAG - pythonRunnerImage: localhost:5000/keptn/python-runtime:$TAG diff --git a/.github/actions/deploy-keptn-on-cluster/values/values-integration-lifecycle.yaml b/.github/actions/deploy-keptn-on-cluster/values/values-integration-lifecycle.yaml deleted file mode 100644 index 74b27eab46..0000000000 --- a/.github/actions/deploy-keptn-on-cluster/values/values-integration-lifecycle.yaml +++ /dev/null @@ -1,19 +0,0 @@ -global: - imageRegistry: "localhost:5000" - -certManager: - imagePullPolicy: Never - image: - tag: $TAG - -metricsOperator: - enabled: false - -lifecycleOperator: - promotionTasksEnabled: true - imagePullPolicy: Never - image: - tag: $TAG - env: - functionRunnerImage: localhost:5000/keptn/deno-runtime:$TAG - pythonRunnerImage: localhost:5000/keptn/python-runtime:$TAG diff --git a/.github/actions/deploy-keptn-on-cluster/values/values-integration-metrics.yaml b/.github/actions/deploy-keptn-on-cluster/values/values-integration-metrics.yaml deleted file mode 100644 index 706b0db5c9..0000000000 --- a/.github/actions/deploy-keptn-on-cluster/values/values-integration-metrics.yaml +++ /dev/null @@ -1,15 +0,0 @@ -global: - imageRegistry: "localhost:5000" - -certManager: - imagePullPolicy: Never - image: - tag: $TAG - -metricsOperator: - imagePullPolicy: Never - image: - tag: $TAG - -lifecycleOperator: - enabled: false diff --git a/.github/actions/deploy-keptn-on-cluster/values/values.yaml b/.github/actions/deploy-keptn-on-cluster/values/values.yaml deleted file mode 100644 index 50c978d19d..0000000000 --- a/.github/actions/deploy-keptn-on-cluster/values/values.yaml +++ /dev/null @@ -1,20 +0,0 @@ -global: - imageRegistry: "localhost:5000" - -certManager: - imagePullPolicy: Never - image: - tag: $TAG -metricsOperator: - imagePullPolicy: Never - image: - tag: $TAG - -lifecycleOperator: - promotionTasksEnabled: true - imagePullPolicy: Never - image: - tag: $TAG - env: - functionRunnerImage: localhost:5000/keptn/deno-runtime:$TAG - pythonRunnerImage: localhost:5000/keptn/python-runtime:$TAG diff --git a/.github/actions/deploy-prometheus-on-cluster/action.yml b/.github/actions/deploy-prometheus-on-cluster/action.yml deleted file mode 100644 index 23309e2cf8..0000000000 --- a/.github/actions/deploy-prometheus-on-cluster/action.yml +++ /dev/null @@ -1,24 +0,0 @@ -name: "Deploy Prometheus on GH cluster" -description: "Deploys and exposes Prometheus on GH cluster" -runs: - using: "composite" - steps: - - name: Install and expose Prometheus - shell: bash - run: | - make install-prometheus - - kubectl -n monitoring port-forward svc/prometheus-k8s 9090 & - kubectl -n monitoring port-forward svc/node-exporter 9100 & - - # wait for port 9090 to become available - while ! nc -vz localhost 9090 > /dev/null 2>&1 ; do - echo "Sleeping until port-forward for Prometheus at port 9090 is ready..." - sleep 5 - done - - # wait until node exporter is available - while ! nc -vz localhost 9100 > /dev/null 2>&1 ; do - echo "Sleeping until port-forward for node exporter at port 9100 is ready..." - sleep 5 - done diff --git a/.github/actions/markdown-lint-rules/admonition.js b/.github/actions/markdown-lint-rules/admonition.js deleted file mode 100644 index 2778fc6498..0000000000 --- a/.github/actions/markdown-lint-rules/admonition.js +++ /dev/null @@ -1,93 +0,0 @@ -// @ts-check - -"use strict"; - -module.exports = { - "names": [ "github-admonition" ], - "description": "asdfg", - "information": new URL( - "https://github.com/aepfli/markdownlint-rule-max-one-sentence-per-line" - ), - "tags": [ "admonition" ], - "function": (params, onError) => { - const admonitions = params.config.admonitions || [ "Note", "Warning" ]; - const admonitionStart = params.config.start || "> **"; - const admonitionEnd = params.config.end ||"**"; - - const atBeginningRegex = - new RegExp("^([\\n\\t ]*)(.*)(" + - admonitions.join("|") + - ")(:?\\*\\*)", "im"); - - const atBeginning = - (relevantToken) => { - const check = atBeginningRegex.exec(relevantToken.line); - if (check && (check[2] !== "> **" || - !admonitions.includes(check[3]) || - check[4] !== "**")) { - const lengthForReplacement = - check[2].length + check[3].length + check[4].length; - const position = check[1].length + 1; - onError({ - "lineNumber": relevantToken.lineNumber, - "detail": relevantToken.line.substr(0, 10), - "fixInfo": { - "lineNumber": relevantToken.lineNumber, - "editColumn": position, - "deleteCount": lengthForReplacement, - // eslint-disable-next-line max-len - "insertText": admonitionStart + check[3].charAt(0).toUpperCase() + check[3].slice(1).toLowerCase() + admonitionEnd - } - }); - } - }; - - const wholeLineRegex = - new RegExp("^([\\n\\t ]*)(.*)(" + - admonitions.join("|") + - "):?(.*)(\\*\\*)", "im"); - - const wholeLine = - (relevantToken) => { - const check = wholeLineRegex - .exec(relevantToken.line); - if (check && (check[2] !== "> **" || - !admonitions.includes(check[3]) || - check[5] !== "**")) { - const position = check[1] ? check[1].length + 1 : 1; - - const lengthForReplacement = relevantToken.line.length - position + 1; - const replacement = admonitionStart + - check[3].charAt(0).toUpperCase() + check[3].slice(1).toLowerCase() + - admonitionEnd + - check[4]; - - onError({ - "lineNumber": relevantToken.lineNumber, - "detail": relevantToken.line.substr(0, 10), - "fixInfo": { - "lineNumber": relevantToken.lineNumber, - "editColumn": position, - "deleteCount": lengthForReplacement, - - "insertText": replacement - } - }); - } - }; - - const relevantTokens = []; - for (let i = 0; i < params.tokens.length; i++) { - const token = params.tokens[i]; - if (token.type === "paragraph_open" && - params.tokens[i + 1].type === "inline") { - relevantTokens.push(params.tokens[i + 1]); - } - } - - for (const relevantToken of relevantTokens) { - atBeginning(relevantToken); - wholeLine(relevantToken); - } - } -}; diff --git a/.github/actions/markdown-lint-rules/max-one-sentence-per-line.js b/.github/actions/markdown-lint-rules/max-one-sentence-per-line.js deleted file mode 100644 index acd1a9ac12..0000000000 --- a/.github/actions/markdown-lint-rules/max-one-sentence-per-line.js +++ /dev/null @@ -1,100 +0,0 @@ -// @ts-check - -"use strict"; - -const indentFor = (string, indentation) => { - // eslint-disable-next-line max-len - const regex = new RegExp("^(?(" + indentation + ")*)(?- |> |>|\\* |\\d+\\. )?"); - const match = regex.exec(string); - if (!match) { - return ""; - } - let indentSize = 0; - if (match.groups.indents) { - indentSize = match.groups.indents.length / indentation.length; - } - if (match.groups.adds) { - if (match.groups.adds.includes(">")) { - return indentation.repeat(indentSize) + match.groups.adds; - } - indentSize++; - } - return indentation.repeat(indentSize); -}; - -const isAfterIgnoredWord = (ignoredWords, line, i) => { - for (const ignoredWord of ignoredWords) { - const lastWordInLine = line.substring(i - ignoredWord.length, i); - if (ignoredWord === lastWordInLine.toLowerCase()) { - return true; - } - } - - return false; -}; - -module.exports = { - "names": [ "max-one-sentence-per-line" ], - "description": "Max 1 sentence should be on a line", - "information": new URL( - "https://github.com/aepfli/markdownlint-rule-max-one-sentence-per-line" - ), - "tags": [ "sentences" ], - "function": (params, onError) => { - - const ignoredWords = params.config.ignored_words || - [ "ie", "i.e", "eg", "e.g", "etc", "ex" ]; - const lineEndings = params.config.line_endings || [ ".", "?", "!" ]; - const sentenceStartRegex = params.config.sentence_start || - "^\\s+(\\w|[*_'\"])"; - const contextSize = Number(params.config.context_length || 14); - const indentation = params.config.indentation || " "; - - const sentenceStart = new RegExp(sentenceStartRegex); - - const relevantTokens = []; - for (let i = 0; i < params.tokens.length; i++) { - const token = params.tokens[i]; - if (token.type === "paragraph_open" && - params.tokens[i + 1].type === "inline") { - relevantTokens.push(params.tokens[i + 1]); - } - } - - for (const relevantToken of relevantTokens) { - - for (const token of relevantToken.children) { - const lineNumber = token.lineNumber; - if (token.type === "text") { - const content = token.content; - for (let i = 0; i < content.length - 2; i += 1) { - - if (lineEndings.includes(content[i])) { - const sentence = sentenceStart.exec(content.substr(i + 1)); - if ( - sentence !== null && - !isAfterIgnoredWord(ignoredWords, content, i) - ) { - const spaces = sentence[1]; - const pointInLine = token.line.indexOf(content) + i; - onError({ - "lineNumber": lineNumber, - "detail": null, - // eslint-disable-next-line max-len - "context": content.substr(Math.max(0, i - (contextSize / 2)), contextSize), - "range": [ pointInLine, spaces.length ], "fixInfo": { - "lineNumber": lineNumber, - "editColumn": pointInLine + 2, - "deleteCount": spaces.length, - // eslint-disable-next-line max-len - "insertText": "\n" + indentFor(relevantToken.line, indentation) - } - }); - } - } - } - } - } - } - } -}; diff --git a/.github/actions/spelling/excludes.txt b/.github/actions/spelling/excludes.txt deleted file mode 100644 index 3843a4f8c2..0000000000 --- a/.github/actions/spelling/excludes.txt +++ /dev/null @@ -1,31 +0,0 @@ -(?:^|/)(?i)LICENSE -/package-lock\.json$ -/swagger-ui/ -\.editorconfig$ -\.gif$ -\.gitkeep$ -\.ico$ -\.jpg$ -\.map$ -\.mod$ -\.npmrc$ -\.png$ -\.sav$ -\.sum$ -\.svg$ -\.ttf$ -\.xlf$ -\.zip$ -^\.github/actions/spelling -^\.github/scripts/\.helm-tests/[a-zA-Z0-9-]+/result.ya?ml -^\Qdocs/layouts/partials/hooks/body-end.html\E$ -^dashboards/grafana/configmap/.*\.ya?ml -^dashboards/grafana/import/.*\.json -^examples/support/observability/assets/ -^examples/support/observability/config/ -^test/prometheus/ -_test\.go$ -CHANGELOG.md -CODEOWNERS -CONTRIBUTORS.md -ignore$ diff --git a/.github/actions/spelling/expect.txt b/.github/actions/spelling/expect.txt deleted file mode 100644 index b5b26d0592..0000000000 --- a/.github/actions/spelling/expect.txt +++ /dev/null @@ -1,698 +0,0 @@ -activemetricsobject -addprefix -afero -agardner -agg -Akshay -alices -alnum -amannn -amazonaws -amo -analysiscontroller -analysisdef -analysisdefinition -analysisdefinitionlist -analysisdefinitionlog -analysisdefinitionspec -analysislist -Analysislog -analysismetrics -analysispool -analysisspec -analysisstatus -analysistypes -analysisvaluetemplate -analysisvaluetemplatelist -analysisvaluetemplatespec -anchore -Anene -annadreal -apicommon -apierr -apierrors -apilifecycle -apiservice -APIURL -apk -appcontext -appcreationrequest -APPNAME -appv -appversion -aquasecurity -architecting -ARCHS -argocd -argoproj -ARMO -artifacthub -asdfg -authurl -automerge -automountserviceaccounttokenspec -autoplay -autoprovision -autoscaler -azurecr -Bacher -bacherfl -badanalysis -badmetric -badtaskdefinition -Baral -basecmd -batchai -baz -benbjohnson -Bhalodiya -bitnami -blogs -Buf -BUILDENVVAR -BUILDKIT -BUILDPLATFORM -buildx -cainjection -carryforward -certificatehandler -certmanager -certwebhook -chainsaw -changefreq -Chans -Checkmarx -cil -clientgoscheme -cloudevents -clt -clusterrole -clusterrolebinding -cmp -cncf -codecov -codeql -codespace -COMMONENVVAR -configmap -configmapref -configmapreference -containedctx -containerspec -contextdata -controllercommon -controllererrors -controlleroptions -controllerutil -coredns -CORS -coverpkg -coverprofile -cowsay -crd -crdkustomizeresource -crdkustomizewebhookpatch -crt -ctrlclient -ctrlcommon -ctx -curlcontainer -curlimages -currentcolor -CURRENTVERSION -customresourcedefinitions -cwd -cyclomatic -cytopia -daemonset -dario -databranch -datadog -datasource -davidanson -dawidd -dco -dct -ddca -debian -Deconstructed -deepcopy -deno -denoland -deploymentduration -deploymentinterval -deploymentstate -deploymenttrace -dflags -distroless -dnf -Dockerfiles -docsy -donath -dql -DTAPI -dtclient -Dubaj -dupl -dynamicinformer -dynatrace -ecr -elastic -elasticsearch -elif -ENABLEGITINFO -endblock -endgroup -envconfig -envsubst -envtest -errorlint -Etco -evaluatemetrics -evaluationdefinition -evaluationhandler -evaluationstatus -evaluationstatusitem -Eventf -eventfilter -eventobject -Eventqueue -eventsender -exampleuser -extrahead -fakeclient -fetchintervalseconds -fieldpath -fieldref -finalizer -fluxcd -flyout -fontawesome -ftp -fullname -functionref -functionreference -functionspec -functionstatus -funlen -Fxq -gaurav -gci -Generatable -getenv -getopt -gexec -gha -ghrs -ghtoken -ginkgotypes -giscus -Gitlab -gitops -gitrepository -gke -glasskube -gms -GOBIN -gocognit -gocyclo -gofmt -GOGC -golangci -gomega -gomod -Gondwal -goodanalysis -goodmetric -goodtaskdefinition -google -googleapis -gotk -govulncheck -Grabner -grafana -graphql -groupversion -GSo -gstatic -gtm -GVK -GVKR -healthz -hellopy -helloworldtask -helmtests -helperfunctions -horizontalpodautoscalers -hpa -hsla -htmltest -httpref -httpreference -HUGOx -IAnalysis -ICertificate -IConfig -IEvaluation -IEvent -ifdef -ifeq -ifile -ifndef -IHandler -imagepullsecret -IManager -IMeter -inclusivity -Infof -inlinehilite -inlines -Intelli -intervalresult -iobjective -IOperator -IProviders -IRound -Isitobservable -ISpan -ITarget -itemstatus -ITracer -jaegertracing -javascripts -jetstack -jgehrcke -Jhb -jsonschema -jwt -kacr -kav -kebabcase -keda -kelseyhightower -keptn -keptnapp -keptnappcontext -keptnappcontextlist -keptnappcontextspec -keptnappcontextstatus -keptnappcreationrequest -keptnappcreationrequestlist -keptnappcreationrequestspec -keptnappdemo -keptnapplications -keptnapplist -keptnappspec -keptnappstatus -keptnappversion -keptnappversionlist -keptnappversionspec -keptnappversionstatus -keptnconfig -keptnconfiglist -keptnconfigspec -keptncontext -keptncontroller -keptndemo -keptndemoapp -keptnevaluation -keptnevaluationdefinition -keptnevaluationdefinitionlist -keptnevaluationdefinitionspec -keptnevaluationlist -keptnevaluationprovider -keptnevaluationspec -keptnevaluationstatus -keptnfn -keptnmetric -keptnmetriclist -keptnmetriclog -keptnmetricreference -keptnmetricspec -keptnmetricsprovider -keptnmetricsproviderlist -keptnmetricsproviderspec -keptnmetricstatus -keptnprommetrics -keptnsandbox -keptnserver -keptnstate -keptntask -keptntaskdefinition -keptntaskdefinitionlist -keptntaskdefinitionlog -keptntaskdefinitionspec -keptntaskdefinitionstatus -keptntasklist -keptntaskspec -keptntaskstatus -keptnwebhookcertificate -keptnwebhookcontroller -keptnworkload -keptnworkloadinstance -keptnworkloadinstancelist -keptnworkloadinstancespec -keptnworkloadinstancestatus -keptnworkloadlist -keptnworkloadref -keptnworkloadspec -keptnworkloadstatus -keptnworkloadversion -keptnworkloadversionlist -keptnworkloadversionspec -keptnworkloadversionstatus -kics -klakegg -klc -klog -Klogr -klt -kmp -kmprovider -kubebuilder -kubeconform -kubeflow -kubescape -kubeutils -kustomization -kustomize -kustomizeconfig -kwds -kwi -kwv -kyverno -lastword -Lato -LFC -Lifcycle -lifecyclekeptnsh -linenums -linkedin -linkedtrace -livenessprobe -loadtests -LOCALBIN -logf -logr -lte -makefiles -markdownfiles -markdownlint -markdownlintignore -matryer -maxdepth -MDL -Meha -mergo -metricsapi -metricscontroller -metricskeptnsh -metricsobject -metricsprovider -metricsserver -metricstypes -Miglinci -mindepth -minio -mkdocs -mlc -mockserver -moq -mowies -mpod -multigroup -mutatingwebhookconfigurations -mwc -mwh -myblog -mycert -mydata -myhost -myotherdata -myotheruser -mypysecret -myrep -mysecret -myservice -myuser -myversion -netlify -nifi -nilnil -nindent -noctx -nodename -nolint -nonroot -noreply -nsa -oac -oauth -objectmeta -objectreference -objref -objs -oci -ocimage -odubaj -odubajdt -oidc -ojsonpath -oldstatus -onsi -opencontainers -openfeature -Openshift -opentelemetry -opentracing -operatorcommon -operatorvalue -optionskeptnsh -ossf -otel -otelcol -otelprom -otelsdk -otelurl -otlp -otlptrace -otlptracegrpc -OUTDIR -overriden -owide -oyaml -PARAMSx -PDTR -pepicons -perc -phaseitem -phasetraceid -pid -pipefail -pmig -poc -podtato -podtatohead -podtatometric -podtetohead -Pointlist -POSTDEPLOYMENTEVALUATIONSTATUS -POSTDEPLOYMENTSTATUS -postgres -prebuilt -Predeployment -PREDEPLOYMENTEVALUATIONSTATUS -PREDEPLOYMENTSTATUS -prepostdeployment -prepostevaluation -previousversion -printargs -printcolumn -privs -proj -promapi -prome -promhttp -providerref -providerresult -pyfunction -pygments -pymdown -pymdownx -pyyaml -Rakshit -rangespec -rangevalue -readinessprobe -readyz -Reale -realpath -redis -refcache -remediations -replicasets -resourcereference -revisionhistorylimit -Rexed -rgb -RLock -roadmap -rolebinding -rollme -roundtripper -rst -rtd -runhelloworld -RUnlock -runsendevent -runtimes -runtimespec -Sambhav -sampleuser -sbom -scaledobject -schedulinggates -sclient -screenshot -sdkmetric -sdktest -secureparameters -selfsigned -semconv -sendserviceaccount -serrors -serviceaccount -serviceaccountspec -serviceport -setuptools -Shandilya -shellcheck -SHELLFLAGS -Shivang -shortcode -sigstore -simpleapp -simplenode -simplenodeservice -sitemap -sli -slisslos -slo -softprops -sonarcloud -spanhandler -spanid -spanitem -spdx -spdxjson -spf -squidfunk -sre -staceypotter -stakeholders -statefulset -statefultest -stdouttrace -storageversion -sts -subchart -subfolders -substitue -substr -Sudipto -superfences -superinterval -SVCNAME -sync'ed -TARGETARCH -TARGETOS -taskcontext -taskdef -taskdefinition -taskparameters -taskstatus -Tato -Tekton -templ -templated -testanalysis -testcertificate -testcommon -testmetrics -testreg -tgz -thanos -thisthatdc -thschue -timeblock -timeframe -Timerange -timeseries -timespan -timezone -tmp -tocstop -toml -totalscore -tplvalues -traceid -traceparent -tracerfactory -tracetest -trivy -trunc -ttlsecondsafterfinished -ttlsecondstask -twemoji -typeof -UIDs -Umre -undeploy -unmarshal -unmarshalling -urlset -usr -utilruntime -Utkarsh -validatingwebhookconfigurations -vanalysis -vanalysisdefinition -Vec -versioned -versioning -virtualenv -visualise -visualised -vkeptnmetric -vkeptntaskdefinition -vnd -vwc -vwh -webhookcainjection -webhookmanager -webhooknamespaces -website -whalesay -whitespaces -Wiesinger -wjdp -wli -Wls -wordpress -workdir -workflows -WORKLOADNAME -WORKLOADOVERALLSTATUS -workloadsstate -workloadstatus -workloadversion -xbhj -xxxx -XXXXXXXXXXXXXXXXXXXXXXXX -Yadav -yannh -Yash -yml -YOURNAME -yourregistry -youtube diff --git a/.github/actions/spelling/patterns.txt b/.github/actions/spelling/patterns.txt deleted file mode 100644 index ab5ebd6986..0000000000 --- a/.github/actions/spelling/patterns.txt +++ /dev/null @@ -1,118 +0,0 @@ -# Automatically suggested patterns -# https/http/file urls -(?:\b(?:https?|ftp|file)://)[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|] - -# version suffix v# -(?:(?<=[A-Z]{2})V|(?<=[a-z]{2}|[A-Z]{2})v)\d+(?:\b|(?=[a-zA-Z_])) - -# GitHub SHAs (markdown) -(?:\[`?[0-9a-f]+`?\]\(https:/|)/(?:www\.|)github\.com(?:/[^/\s"]+){2,}(?:/[^/\s")]+)(?:[0-9a-f]+(?:[-0-9a-zA-Z/#.]*|)\b|) - -# hex runs -\b[0-9a-fA-F]{16,}\b - -# GitHub SHA refs -\[([0-9a-f]+)\]\(https://(?:www\.|)github.com/[-\w]+/[-\w]+/commit/\g{-1}[0-9a-f]* - -# IServiceProvider / isAThing -\b(?:I|isA)(?=(?:[A-Z][a-z]{2,})+\b) - -# base64 encoded content, possibly wrapped in mime -(?:^|[\s=;:?])[-a-zA-Z=;:/0-9+]{50,}(?:[\s=;:?]|$) - -# githubusercontent -/[-a-z0-9]+\.githubusercontent\.com/[-a-zA-Z0-9?&=_\/.]* - -# uuid: -\b[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}\b - -# hex digits including css/html color classes: -(?:[\\0][xX]|\\u|[uU]\+|#x?|\%23)[0-9_a-fA-FgGrR]*?[a-fA-FgGrR]{2,}[0-9_a-fA-FgGrR]*(?:[uUlL]{0,3}|[iu]\d+)\b - -# While you could try to match `http://` and `https://` by using `s?` in `https?://`, sometimes there -# YouTube url -\b(?:(?:www\.|)youtube\.com|youtu.be)/(?:channel/|embed/|user/|playlist\?list=|watch\?v=|v/|)[-a-zA-Z0-9?&=_%]* - -# shields.io -\bshields\.io/[-\w/%?=&.:+;,]* - -# go install -go install(?:\s+[a-z]+\.[-@\w/.]+)+ - -# URL escaped characters -\%[0-9A-F][A-F] - -# Compiler flags (Unix, Java/Scala) -# Use if you have things like `-Pdocker` and want to treat them as `docker` -(?:^|[\t ,>"'`=(])-(?:(?:J-|)[DPWXY]|[Llf])(?=[A-Z]{2,}|[A-Z][a-z]|[a-z]{2,}) - -# Compiler flags (Windows / PowerShell) -# This is a subset of the more general compiler flags pattern. -# It avoids matching `-Path` to prevent it from being treated as `ath` -(?:^|[\t ,"'`=(])-(?:[DPL](?=[A-Z]{2,})|[WXYlf](?=[A-Z]{2,}|[A-Z][a-z]|[a-z]{2,})) - -# Slack -\bslack\.com/[-0-9a-zA-Z/_~?&=.]* - -# css url wrappings -\burl\([^)]+\) - -# Wikipedia -\ben\.wikipedia\.org/wiki/[-\w%.#]+ - -# assign regex -= /[^*]*?(?:[a-z]{3,}|[A-Z]{3,}|[A-Z][a-z]{2,}).*/ - -# regex choice -\(\?:[^)]+\|[^)]+\) - -# kubernetes pod status lists -# https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase -\w+(?:-\w+)+\s+\d+/\d+\s+(?:Running|Pending|Succeeded|Failed|Unknown)\s+ - -# kubernetes object suffix --[0-9a-f]{10}-\w{5}\s - -# base64 encoded content -([`'"])[-a-zA-Z=;:/0-9+]+=\g{-1} - -# vs devops -\bvisualstudio.com(?::443|)/[-\w/?=%&.]* - -# YouTube image -\bimg\.youtube\.com/vi/[-a-zA-Z0-9?&=_]* - -# medium -\bmedium\.com/\@?[^/\s"]+/[-\w]+ - -# Twitter status -\btwitter\.com/[^/\s"')]*(?:/status/\d+(?:\?[-_0-9a-zA-Z&=]*|)|) - -# sha-... -- uses a fancy capture -(\\?['"]|")[0-9a-f]{40,}\g{-1} - -# bearer auth -(['"])Bear[e][r] .*?\g{-1} - -# Time Zones -\b(?:Africa|Atlantic|America|Antarctica|Asia|Australia|Europe|Indian|Pacific)(?:/\w+)+ - -# tar arguments -\b(?:\\n|)g?tar(?:\.exe|)(?:(?:\s+--[-a-zA-Z]+|\s+-[a-zA-Z]+|\s[ABGJMOPRSUWZacdfh-pr-xz]+\b)(?:=[^ ]*|))+ - -# hugo youtube links -\{\{\< youtube [a-zA-Z0-9\-]+ \>\}\}$ - -# tls certs -LS0[a-zA-Z0-9]+ - -# k8s CRD validation patterns -pattern\: .*$ - -# data-category-id from Giscus integration -data-category-id=\".*\"$ -data-repo-id=\".*\"$ - -# GA tag -G-[A-Z0-9]+ -\$ diff --git a/.github/kics-config.yml b/.github/kics-config.yml deleted file mode 100644 index 58b36221fc..0000000000 --- a/.github/kics-config.yml +++ /dev/null @@ -1,24 +0,0 @@ -exclude-queries: - # query IDs can be found here: https://docs.kics.io/latest/queries/all-queries/ - # The queries below are excluded because they are not relevant or not needed for this project - - 48471392-d4d0-47c0-b135-cdec95eb3eef # Service Account Token Automount Not Disabled - - 48a5beba-e4c0-4584-a2aa-e6894e4cf424 # Pod or Container Without ResourceQuota - - b7bca5c4-1dab-4c2c-8cbe-3050b9d59b14 # RBAC Roles with Read Secrets Permissions - - 4a20ebac-1060-4c81-95d1-1f7f620e983b # Pod or Container Without LimitRange - - 056ac60e-fe07-4acc-9b34-8e1d51716ab9 # ServiceAccount Allows Access Secrets - - aee3c7d2-a811-4201-90c7-11c028be9a46 # Container Requests Not Equal To It's Limits - - 8b36775e-183d-4d46-b0f7-96a6f34a723f # Missing AppArmor Profile - - 6b896afb-ca07-467a-b256-1a0077a1c08e # RBAC Wildcard In Rule - -exclude-results: - # Similarity IDs can be found in the JSON result file of kics - - 76f0ba03bcaf9f6e0ff8660beaebff55f74f1d89e38b6831c2b7b468a3dc764b # RBAC Roles with Read Secrets Permissions - - f88463cc96ec0165f0c1d83c279ff2658b8a8bd8adb2aaaf79f64a230df88504 # RBAC Roles with Read Secrets Permissions - - c4886e7b8193614214e9626539430632e8d90cb58499932a82c924266c05d118 # RBAC Roles with Read Secrets Permissions - -no-color: false -no-progress: true -preview-lines: 5 -silent: false -verbose: true -disable-full-descriptions: false diff --git a/.github/labeler.yml b/.github/labeler.yml deleted file mode 100644 index 3a8336dee6..0000000000 --- a/.github/labeler.yml +++ /dev/null @@ -1,32 +0,0 @@ -documentation: - - changed-files: - - any-glob-to-any-file: - - docs/**/* - - "**/*.md" - -lifecycle-operator: - - changed-files: - - any-glob-to-any-file: - - lifecycle-operator/**/* - -metrics-operator: - - changed-files: - - any-glob-to-any-file: - - metrics-operator/**/* - -cert-manager: - - changed-files: - - any-glob-to-any-file: - - keptn-cert-manager/**/* - -ops: - - changed-files: - - any-glob-to-any-file: - - .github/**/* - - netlify.toml - - .markdownlint-cli2.yml - -helm: - - changed-files: - - any-glob-to-any-file: - - helm/**/* diff --git a/.github/mlc_config.json b/.github/mlc_config.json deleted file mode 100644 index ad02270f3f..0000000000 --- a/.github/mlc_config.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "ignorePatterns": [ - { - "pattern": "^http://localhost" - }, - { - "pattern": "^/images/why-keptn" - }, - { - "pattern": "^../assets/" - }, - { - "pattern": "^https?://twitter.com" - } - ], - "timeout": "20s", - "retryOn429": true, - "retryCount": 5, - "fallbackRetryDelay": "30s" -} \ No newline at end of file diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md deleted file mode 100644 index 753383a7f6..0000000000 --- a/.github/pull_request_template.md +++ /dev/null @@ -1,64 +0,0 @@ - - - - - -# Description - -Please include a short summary of the changes and the related issue. -Please also include relevant motivation and context. -List any dependencies that are required for this change. - -Fixes # (issue) - -# How to test - -Please describe how to run the tests that you ran to verify your changes. -Provide instructions so we can reproduce. -Please also provide information about any automatic tests that you added. - -- [ ] Manual Test A -- [ ] Unit Test B -- [ ] Integration Test C - -# Checklist - -- [ ] My PR fulfills the Definition of Done of the corresponding issue and not more (or parts if the issue is separated - into multiple PRs) -- [ ] I used descriptive commit messages to help reviewers understand my thought process -- [ ] I signed off all my commits according to the Developer Certificate of Origin (DCO) - see [Contribution Guide](https://lifecycle.keptn.sh/contribute/docs/contribution-guidelines) -- [ ] My PR title is formatted according to the semantic PR conventions described in - the [Contribution Guide](https://lifecycle.keptn.sh/contribute/docs/contribution-guidelines) -- [ ] My code follows the style guidelines of this project (golangci-lint passes, YAMLLint passes) -- [ ] I regenerated the auto-generated docs for Helm and the CRD documentation (if applicable) -- [ ] I have performed a self-review of my code -- [ ] I have made corresponding changes to the documentation (if needed) -- [ ] My changes result in all-green PR checks (first-time contributors need to ask a maintainer to approve their test runs) -- [ ] New and existing unit and integration tests pass locally with my changes - - - - -# Summary - -Please include a short summary of the changes and the related issue. -Please also include relevant motivation and context. -List any dependencies that are required for this change. - -Fixes # (issue) - -# Checks - -- [ ] My PR fulfills the Definition of Done of the corresponding issue and not more (or parts if the issue is separated - into multiple PRs) -- [ ] I used descriptive commit messages to help reviewers understand my thought process -- [ ] I signed off all my commits according to the Developer Certificate of Origin (DCO)( - see [Contribution Guide](https://lifecycle.keptn.sh/contribute/docs/contribution-guidelines)) -- [ ] My PR title is formatted according to the semantic PR conventions described in - the [Contribution Guide](https://lifecycle.keptn.sh/contribute/docs/contribution-guidelines) -- [ ] My content follows the style guidelines of this project (YAMLLint, markdown-lint) -- [ ] I regenerated the auto-generated docs for Helm and the CRD documentation (if applicable) -- [ ] I have performed a self-review of my content including grammar and typo errors and also checked the rendered page - from the Netlify deploy preview -- [ ] My changes result in all-green PR checks (first-time contributors need to ask a maintainer to approve their test runs) diff --git a/.github/scripts/.helm-tests/Openshift/result.yaml b/.github/scripts/.helm-tests/Openshift/result.yaml deleted file mode 100644 index 96476d8a08..0000000000 --- a/.github/scripts/.helm-tests/Openshift/result.yaml +++ /dev/null @@ -1,15495 +0,0 @@ ---- -# Source: keptn/charts/certManager/templates/service-account.yaml -apiVersion: v1 -kind: ServiceAccount -metadata: - name: certificate-operator - namespace: "helmtests" - labels: - app.kubernetes.io/component: rbac - app.kubernetes.io/part-of: keptn - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: cert-manager - app.kubernetes.io/version: v3.0.0 - helm.sh/chart: cert-manager-0.3.0 ---- -# Source: keptn/charts/lifecycleOperator/templates/deployment.yaml -apiVersion: v1 -kind: ServiceAccount -metadata: - name: lifecycle-operator - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-service-account.yaml -apiVersion: v1 -kind: ServiceAccount -metadata: - name: metrics-operator - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-manager-config.yaml -apiVersion: v1 -kind: ConfigMap -metadata: - name: lifecycle-manager-config - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -data: - controller_manager_config.yaml: | - apiVersion: controller-runtime.sigs.k8s.io/v1alpha1 - health: - healthProbeBindAddress: ":8081" - kind: ControllerManagerConfig - leaderElection: - leaderElect: true - resourceName: "6b866dd9.keptn.sh" - metrics: - bindAddress: "127.0.0.1:8080" - webhook: - port: 9443 ---- -# Source: keptn/charts/metricsOperator/templates/metrics-manager-config.yaml -apiVersion: v1 -kind: ConfigMap -metadata: - name: metrics-operator-config - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -data: - controller_manager_config.yaml: | - apiVersion: controller-runtime.sigs.k8s.io/v1alpha1 - health: - healthProbeBindAddress: ":8081" - kind: ControllerManagerConfig - leaderElection: - leaderElect: true - resourceName: "3f8532ca.keptn.sh" - metrics: - bindAddress: "127.0.0.1:8080" - webhook: - port: 9443 ---- -# Source: keptn/charts/lifecycleOperator/templates/keptnapp-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnapps.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: 'lifecycle-webhook-service' - namespace: 'helmtests' - path: /convert - conversionReviewVersions: - - v1 - group: lifecycle.keptn.sh - names: - kind: KeptnApp - listKind: KeptnAppList - plural: keptnapps - singular: keptnapp - scope: Namespaced - versions: - - name: v1 - 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: {} - - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/lifecycleOperator/templates/keptnappcontext-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnappcontexts.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -spec: - group: lifecycle.keptn.sh - names: - kind: KeptnAppContext - listKind: KeptnAppContextList - plural: keptnappcontexts - singular: keptnappcontext - scope: Namespaced - versions: - - name: v1 - 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: {} - - 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: false - 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.16.5 - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -spec: - group: lifecycle.keptn.sh - names: - kind: KeptnAppCreationRequest - listKind: KeptnAppCreationRequestList - plural: keptnappcreationrequests - singular: keptnappcreationrequest - scope: Namespaced - versions: - - name: v1 - 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: {} - - 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: false - 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.16.5 - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -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 - 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 - - jsonPath: .status.promotionStatus - name: PromotionStatus - priority: 1 - type: string - name: v1 - 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: {} - - 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 - 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: - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/lifecycleOperator/templates/keptnconfig-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnconfigs.options.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -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: {} ---- -# Source: keptn/charts/lifecycleOperator/templates/keptnevaluation-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnevaluations.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -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: v1 - 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: {} - - 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: 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.16.5 - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -spec: - group: lifecycle.keptn.sh - names: - kind: KeptnEvaluationDefinition - listKind: KeptnEvaluationDefinitionList - plural: keptnevaluationdefinitions - shortNames: - - ked - singular: keptnevaluationdefinition - scope: Namespaced - versions: - - name: v1 - 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: {} - - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/lifecycleOperator/templates/keptntask-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptntasks.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -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: v1 - 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: {} - - 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: false - 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.16.5 - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -spec: - group: lifecycle.keptn.sh - names: - kind: KeptnTaskDefinition - listKind: KeptnTaskDefinitionList - plural: keptntaskdefinitions - singular: keptntaskdefinition - scope: Namespaced - versions: - - name: v1 - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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 - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - type: string - optional: - description: Specify whether the Secret must be defined - type: boolean - type: object - x-kubernetes-map-type: atomic - type: object - type: array - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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 - sleep: - description: Sleep represents the duration that the container - should sleep before being terminated. - properties: - seconds: - description: Seconds is the number of seconds to sleep. - format: int64 - type: integer - required: - - seconds - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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 - sleep: - description: Sleep represents the duration that the container - should sleep before being terminated. - properties: - seconds: - description: Seconds is the number of seconds to sleep. - format: int64 - type: integer - required: - - seconds - 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 - x-kubernetes-list-type: atomic - 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: - default: "" - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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: - default: "" - 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 - x-kubernetes-list-type: atomic - 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 - request: - description: |- - Request is the name chosen for a request in the referenced claim. - If empty, everything from the claim is made available, otherwise - only the result of this request. - 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 - appArmorProfile: - description: |- - appArmorProfile is the AppArmor options to use by this container. If set, this profile - overrides the pod's appArmorProfile. - Note that this field cannot be set when spec.os.name is windows. - properties: - localhostProfile: - description: |- - localhostProfile indicates a profile loaded on the node that should be used. - The profile must be preconfigured on the node to work. - Must match the loaded name of the profile. - Must be set if and only if type is "Localhost". - type: string - type: - description: |- - type indicates which kind of AppArmor profile will be applied. - Valid options are: - Localhost - a profile pre-loaded on the node. - RuntimeDefault - the container runtime's default profile. - Unconfined - no AppArmor enforcement. - type: string - required: - - type - type: object - 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 - x-kubernetes-list-type: atomic - drop: - description: Removed capabilities - items: - description: Capability represent POSIX capabilities - type - type: string - type: array - x-kubernetes-list-type: atomic - 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 value is Default 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 - x-kubernetes-list-type: atomic - 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: - default: "" - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-map-keys: - - devicePath - x-kubernetes-list-type: map - 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. - When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified - (which defaults to None). - 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 - recursiveReadOnly: - description: |- - RecursiveReadOnly specifies whether read-only mounts should be handled - recursively. - - If ReadOnly is false, this field has no meaning and must be unspecified. - - If ReadOnly is true, and this field is set to Disabled, the mount is not made - recursively read-only. If this field is set to IfPossible, the mount is made - recursively read-only, if it is supported by the container runtime. If this - field is set to Enabled, the mount is made recursively read-only if it is - supported by the container runtime, otherwise the pod will not be started and - an error will be generated to indicate the reason. - - If this field is set to IfPossible or Enabled, MountPropagation must be set to - None (or be unspecified, which defaults to None). - - If this field is not specified, it is treated as an equivalent of Disabled. - type: string - 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 - x-kubernetes-list-map-keys: - - mountPath - x-kubernetes-list-type: map - 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 - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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: {} - - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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 - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - type: string - optional: - description: Specify whether the Secret must be defined - type: boolean - type: object - x-kubernetes-map-type: atomic - type: object - type: array - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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 - sleep: - description: Sleep represents the duration that the container - should sleep before being terminated. - properties: - seconds: - description: Seconds is the number of seconds to sleep. - format: int64 - type: integer - required: - - seconds - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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 - sleep: - description: Sleep represents the duration that the container - should sleep before being terminated. - properties: - seconds: - description: Seconds is the number of seconds to sleep. - format: int64 - type: integer - required: - - seconds - 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 - x-kubernetes-list-type: atomic - 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: - default: "" - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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: - default: "" - 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 - x-kubernetes-list-type: atomic - 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 - request: - description: |- - Request is the name chosen for a request in the referenced claim. - If empty, everything from the claim is made available, otherwise - only the result of this request. - 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 - appArmorProfile: - description: |- - appArmorProfile is the AppArmor options to use by this container. If set, this profile - overrides the pod's appArmorProfile. - Note that this field cannot be set when spec.os.name is windows. - properties: - localhostProfile: - description: |- - localhostProfile indicates a profile loaded on the node that should be used. - The profile must be preconfigured on the node to work. - Must match the loaded name of the profile. - Must be set if and only if type is "Localhost". - type: string - type: - description: |- - type indicates which kind of AppArmor profile will be applied. - Valid options are: - Localhost - a profile pre-loaded on the node. - RuntimeDefault - the container runtime's default profile. - Unconfined - no AppArmor enforcement. - type: string - required: - - type - type: object - 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 - x-kubernetes-list-type: atomic - drop: - description: Removed capabilities - items: - description: Capability represent POSIX capabilities - type - type: string - type: array - x-kubernetes-list-type: atomic - 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 value is Default 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 - x-kubernetes-list-type: atomic - 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: - default: "" - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-map-keys: - - devicePath - x-kubernetes-list-type: map - 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. - When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified - (which defaults to None). - 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 - recursiveReadOnly: - description: |- - RecursiveReadOnly specifies whether read-only mounts should be handled - recursively. - - If ReadOnly is false, this field has no meaning and must be unspecified. - - If ReadOnly is true, and this field is set to Disabled, the mount is not made - recursively read-only. If this field is set to IfPossible, the mount is made - recursively read-only, if it is supported by the container runtime. If this - field is set to Enabled, the mount is made recursively read-only if it is - supported by the container runtime, otherwise the pod will not be started and - an error will be generated to indicate the reason. - - If this field is set to IfPossible or Enabled, MountPropagation must be set to - None (or be unspecified, which defaults to None). - - If this field is not specified, it is treated as an equivalent of Disabled. - type: string - 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 - x-kubernetes-list-map-keys: - - mountPath - x-kubernetes-list-type: map - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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 - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - type: string - optional: - description: Specify whether the Secret must be defined - type: boolean - type: object - x-kubernetes-map-type: atomic - type: object - type: array - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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 - sleep: - description: Sleep represents the duration that the container - should sleep before being terminated. - properties: - seconds: - description: Seconds is the number of seconds to sleep. - format: int64 - type: integer - required: - - seconds - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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 - sleep: - description: Sleep represents the duration that the container - should sleep before being terminated. - properties: - seconds: - description: Seconds is the number of seconds to sleep. - format: int64 - type: integer - required: - - seconds - 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 - x-kubernetes-list-type: atomic - 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: - default: "" - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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: - default: "" - 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 - x-kubernetes-list-type: atomic - 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 - request: - description: |- - Request is the name chosen for a request in the referenced claim. - If empty, everything from the claim is made available, otherwise - only the result of this request. - 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 - appArmorProfile: - description: |- - appArmorProfile is the AppArmor options to use by this container. If set, this profile - overrides the pod's appArmorProfile. - Note that this field cannot be set when spec.os.name is windows. - properties: - localhostProfile: - description: |- - localhostProfile indicates a profile loaded on the node that should be used. - The profile must be preconfigured on the node to work. - Must match the loaded name of the profile. - Must be set if and only if type is "Localhost". - type: string - type: - description: |- - type indicates which kind of AppArmor profile will be applied. - Valid options are: - Localhost - a profile pre-loaded on the node. - RuntimeDefault - the container runtime's default profile. - Unconfined - no AppArmor enforcement. - type: string - required: - - type - type: object - 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 - x-kubernetes-list-type: atomic - drop: - description: Removed capabilities - items: - description: Capability represent POSIX capabilities - type - type: string - type: array - x-kubernetes-list-type: atomic - 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 value is Default 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 - x-kubernetes-list-type: atomic - 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: - default: "" - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-map-keys: - - devicePath - x-kubernetes-list-type: map - 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. - When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified - (which defaults to None). - 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 - recursiveReadOnly: - description: |- - RecursiveReadOnly specifies whether read-only mounts should be handled - recursively. - - If ReadOnly is false, this field has no meaning and must be unspecified. - - If ReadOnly is true, and this field is set to Disabled, the mount is not made - recursively read-only. If this field is set to IfPossible, the mount is made - recursively read-only, if it is supported by the container runtime. If this - field is set to Enabled, the mount is made recursively read-only if it is - supported by the container runtime, otherwise the pod will not be started and - an error will be generated to indicate the reason. - - If this field is set to IfPossible or Enabled, MountPropagation must be set to - None (or be unspecified, which defaults to None). - - If this field is not specified, it is treated as an equivalent of Disabled. - type: string - 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 - x-kubernetes-list-map-keys: - - mountPath - x-kubernetes-list-type: map - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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: {} ---- -# Source: keptn/charts/lifecycleOperator/templates/keptnworkload-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnworkloads.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -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: v1 - 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: {} - - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/lifecycleOperator/templates/keptnworkloadversion-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnworkloadversions.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -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: v1 - 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: {} - - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/metricsOperator/templates/analysis-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: analyses.metrics.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - labels: - app.kubernetes.io/part-of: keptn - crdGroup: metrics.keptn.sh - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -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: v1 - 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:)". - 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: {} - - 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:)". - 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:)". - 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: {} ---- -# Source: keptn/charts/metricsOperator/templates/analysisdefinition-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: analysisdefinitions.metrics.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - labels: - app.kubernetes.io/part-of: keptn - crdGroup: metrics.keptn.sh - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -spec: - group: metrics.keptn.sh - names: - kind: AnalysisDefinition - listKind: AnalysisDefinitionList - plural: analysisdefinitions - singular: analysisdefinition - scope: Namespaced - versions: - - name: v1 - 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: {} - - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/metricsOperator/templates/analysisvaluetemplate-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: analysisvaluetemplates.metrics.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - labels: - app.kubernetes.io/part-of: keptn - crdGroup: metrics.keptn.sh - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -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: v1 - 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: {} - - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/metricsOperator/templates/keptnmetric-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnmetrics.metrics.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - labels: - app.kubernetes.io/part-of: keptn - crdGroup: metrics.keptn.sh - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -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: .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: v1 - 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: {} - - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/metricsOperator/templates/keptnmetricsprovider-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnmetricsproviders.metrics.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - labels: - app.kubernetes.io/part-of: keptn - crdGroup: metrics.keptn.sh - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -spec: - group: metrics.keptn.sh - names: - kind: KeptnMetricsProvider - listKind: KeptnMetricsProviderList - plural: keptnmetricsproviders - shortNames: - - kmp - singular: keptnmetricsprovider - scope: Namespaced - versions: - - name: v1 - 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: - insecureSkipTlsVerify: - default: false - description: InsecureSkipTlsVerify skips verification of the tls certificate - when fetching metrics - type: boolean - 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 - 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 - cortex, datadog, dql, dynatrace, prometheus, elastic or thanos. - pattern: cortex|datadog|dql|dynatrace|prometheus|elastic|thanos - type: string - required: - - targetServer - type: object - status: - description: unused field - type: string - type: object - served: true - storage: true - subresources: - status: {} - - 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 - 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 - 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 - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/certManager/templates/certificate-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: certificate-operator-role - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: cert-manager - app.kubernetes.io/version: v3.0.0 - helm.sh/chart: cert-manager-0.3.0 -rules: -- apiGroups: - - admissionregistration.k8s.io - resources: - - mutatingwebhookconfigurations - - validatingwebhookconfigurations - verbs: - - get - - list - - patch - - update - - watch -- apiGroups: - - apiextensions.k8s.io - resources: - - customresourcedefinitions - verbs: - - get - - list - - patch - - update - - watch -- apiGroups: - - apps - resources: - - deployments - verbs: - - get - - list - - watch ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: lifecycle-operator-role - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -rules: -- apiGroups: - - "" - resources: - - configmaps - verbs: - - create - - get - - list - - update - - watch -- apiGroups: - - "" - resources: - - deployments - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - "" - resources: - - events - verbs: - - create - - patch - - watch -- apiGroups: - - "" - resources: - - namespaces - verbs: - - get - - list - - watch -- apiGroups: - - "" - resources: - - pods - verbs: - - get - - list - - update - - watch -- apiGroups: - - "" - resources: - - secrets - verbs: - - get -- apiGroups: - - apps - resources: - - daemonsets - - deployments - - replicasets - - statefulsets - verbs: - - get - - list - - watch -- apiGroups: - - argoproj.io - resources: - - rollouts - verbs: - - get - - list - - watch -- apiGroups: - - batch - resources: - - jobs - verbs: - - create - - get - - list - - update - - watch -- apiGroups: - - batch - resources: - - jobs/status - verbs: - - get - - list -- apiGroups: - - lifecycle.keptn.sh - resources: - - keptnappcontexts - - keptnevaluationdefinitions - verbs: - - get - - list - - watch -- apiGroups: - - lifecycle.keptn.sh - resources: - - keptnappcreationrequests - - keptnapps - - keptnappversion - - keptnappversions - - keptnevaluations - - keptntaskdefinitions - - keptntasks - - keptnworkloads - - keptnworkloadversions - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - lifecycle.keptn.sh - resources: - - keptnappcreationrequests/finalizers - - keptnapps/finalizers - - keptnappversion/finalizers - - keptnappversions/finalizers - - keptnevaluations/finalizers - - keptntaskdefinitions/finalizers - - keptntasks/finalizers - - keptnworkloads/finalizers - - keptnworkloadversions/finalizers - verbs: - - update -- apiGroups: - - lifecycle.keptn.sh - resources: - - keptnappcreationrequests/status - - keptnapps/status - - keptnappversion/status - - keptnappversions/status - - keptnevaluations/status - - keptntaskdefinitions/status - - keptntasks/status - - keptnworkloads/status - - keptnworkloadversions/status - verbs: - - get - - patch - - update -- apiGroups: - - metrics.keptn.sh - resources: - - keptnmetrics - verbs: - - get - - list - - watch -- apiGroups: - - options.keptn.sh - resources: - - keptnconfigs - verbs: - - get - - list - - watch -- apiGroups: - - options.keptn.sh - resources: - - keptnconfigs/status - verbs: - - get ---- -# Source: keptn/charts/lifecycleOperator/templates/server-resources-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: keptn-test-lifecycleOperator-server-resources - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -rules: -- apiGroups: - - custom.metrics.k8s.io - resources: - - '*' - verbs: - - '*' ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: metrics-operator-role - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -rules: - - apiGroups: - - "" - resources: - - configmaps - verbs: - - get - - list - - watch - - apiGroups: - - "" - resources: - - secrets - verbs: - - get - - apiGroups: - - metrics.keptn.sh - resources: - - analyses - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - metrics.keptn.sh - resources: - - analyses/finalizers - - keptnmetrics/finalizers - verbs: - - update - - apiGroups: - - metrics.keptn.sh - resources: - - analyses/status - - keptnmetrics/status - verbs: - - get - - patch - - update - - apiGroups: - - metrics.keptn.sh - resources: - - analysisdefinitions - - analysisvaluetemplates - - keptnmetrics - - keptnmetricsproviders - - providers - verbs: - - get - - list - - watch ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-server-resources-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: metrics-operator-server-resources - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -rules: -- apiGroups: - - custom.metrics.k8s.io - resources: - - '*' - verbs: - - get - - list - - watch ---- -# Source: keptn/charts/certManager/templates/certificate-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: certificate-operator-rolebinding - namespace: "helmtests" - labels: - app.kubernetes.io/component: rbac - app.kubernetes.io/created-by: certificate-operator - app.kubernetes.io/part-of: keptn - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: cert-manager - app.kubernetes.io/version: v3.0.0 - helm.sh/chart: cert-manager-0.3.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: 'certificate-operator-role' -subjects: -- kind: ServiceAccount - name: 'certificate-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: lifecycle-operator-rolebinding - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: 'lifecycle-operator-role' -subjects: -- kind: ServiceAccount - name: 'lifecycle-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-hpa-controller-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: metrics-operator-hpa-controller - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: 'metrics-operator-server-resources' -subjects: -- kind: ServiceAccount - name: horizontal-pod-autoscaler - namespace: 'helmtests' ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: metrics-operator-rolebinding - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: 'metrics-operator-role' -subjects: - - kind: ServiceAccount - name: 'metrics-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/metricsOperator/templates/system-auth-delegator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: system-auth-delegator - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: system:auth-delegator -subjects: -- kind: ServiceAccount - name: 'metrics-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/certManager/templates/certificate-operator-leader-election-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: certificate-operator-leader-election-role - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: cert-manager - app.kubernetes.io/version: v3.0.0 - helm.sh/chart: cert-manager-0.3.0 -rules: -- apiGroups: - - "" - resources: - - configmaps - verbs: - - get - - list - - watch - - create - - update - - patch - - delete -- apiGroups: - - coordination.k8s.io - resources: - - leases - verbs: - - get - - list - - watch - - create - - update - - patch - - delete -- apiGroups: - - "" - resources: - - events - verbs: - - create - - patch ---- -# Source: keptn/charts/certManager/templates/certificate-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: certificate-operator-role - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: cert-manager - app.kubernetes.io/version: v3.0.0 - helm.sh/chart: cert-manager-0.3.0 -rules: -- apiGroups: - - "" - resources: - - secrets - verbs: - - create - - list - - watch -- apiGroups: - - "" - resourceNames: - - keptn-certs - resources: - - secrets - verbs: - - get - - patch - - update ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-operator-leader-election-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: lifecycle-operator-leader-election-role - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -rules: -- apiGroups: - - "" - resources: - - configmaps - verbs: - - get - - list - - watch - - create - - update - - patch - - delete -- apiGroups: - - coordination.k8s.io - resources: - - leases - verbs: - - get - - list - - watch - - create - - update - - patch - - delete -- apiGroups: - - "" - resources: - - events - verbs: - - create - - patch ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-leader-election-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: metrics-operator-leader-election-role - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -rules: -- apiGroups: - - "" - resources: - - configmaps - verbs: - - get - - list - - watch - - create - - update - - patch - - delete -- apiGroups: - - coordination.k8s.io - resources: - - leases - verbs: - - get - - list - - watch - - create - - update - - patch - - delete -- apiGroups: - - "" - resources: - - events - verbs: - - create - - patch ---- -# Source: keptn/charts/certManager/templates/certificate-operator-leader-election-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: certificate-operator-leader-election-rolebinding - namespace: "helmtests" - labels: - app.kubernetes.io/component: rbac - app.kubernetes.io/created-by: certificate-operator - app.kubernetes.io/part-of: keptn - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: cert-manager - app.kubernetes.io/version: v3.0.0 - helm.sh/chart: cert-manager-0.3.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: 'certificate-operator-leader-election-role' -subjects: - - kind: ServiceAccount - name: 'certificate-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/certManager/templates/certificate-operator-role-binding-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: certificate-operator-role-binding - namespace: "helmtests" - labels: - app.kubernetes.io/component: rbac - app.kubernetes.io/created-by: certificate-operator - app.kubernetes.io/part-of: keptn - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: cert-manager - app.kubernetes.io/version: v3.0.0 - helm.sh/chart: cert-manager-0.3.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: 'certificate-operator-role' -subjects: -- kind: ServiceAccount - name: 'certificate-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-operator-leader-election-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: lifecycle-operator-leader-election-rolebinding - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: 'lifecycle-operator-leader-election-role' -subjects: -- kind: ServiceAccount - name: 'lifecycle-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: lifecycle-operator-rolebinding - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: 'lifecycle-operator-role' -subjects: -- kind: ServiceAccount - name: 'lifecycle-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-leader-election-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: metrics-operator-leader-election-rolebinding - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: 'metrics-operator-leader-election-role' -subjects: -- kind: ServiceAccount - name: 'metrics-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: metrics-operator-rolebinding - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: 'metrics-operator-role' -subjects: - - kind: ServiceAccount - name: 'metrics-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-operator-metrics-service.yaml -apiVersion: v1 -kind: Service -metadata: - name: lifecycle-operator-metrics-service - namespace: "helmtests" - labels: - control-plane: lifecycle-operator - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -spec: - type: ClusterIP - selector: - control-plane: lifecycle-operator - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/instance: keptn-test - ports: - - name: metrics - port: 2222 - protocol: TCP - targetPort: metrics ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-webhook-service.yaml -apiVersion: v1 -kind: Service -metadata: - name: lifecycle-webhook-service - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -spec: - type: ClusterIP - selector: - control-plane: lifecycle-operator - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/instance: keptn-test - ports: - - port: 443 - protocol: TCP - targetPort: 9443 ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-service.yaml -apiVersion: v1 -kind: Service -metadata: - name: metrics-operator-service - namespace: "helmtests" - labels: - control-plane: metrics-operator - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -spec: - type: ClusterIP - selector: - control-plane: metrics-operator - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/instance: keptn-test - ports: - - name: https - port: 8443 - protocol: TCP - targetPort: https - - name: custom-metrics - port: 443 - targetPort: custom-metrics - - name: metrics - port: 9999 - protocol: TCP - targetPort: metrics ---- -# Source: keptn/charts/metricsOperator/templates/metrics-webhook-service.yaml -apiVersion: v1 -kind: Service -metadata: - name: metrics-webhook-service - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -spec: - type: ClusterIP - selector: - control-plane: metrics-operator - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/instance: keptn-test - ports: - - port: 443 - protocol: TCP - targetPort: 9443 ---- -# Source: keptn/charts/certManager/templates/deployment.yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: certificate-operator - namespace: "helmtests" - labels: - app.kubernetes.io/component: keptn-cert-manager - app.kubernetes.io/part-of: keptn - control-plane: certificate-operator - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: cert-manager - app.kubernetes.io/version: v3.0.0 - helm.sh/chart: cert-manager-0.3.0 -spec: - replicas: 1 - selector: - matchLabels: - control-plane: certificate-operator - app.kubernetes.io/name: cert-manager - app.kubernetes.io/instance: keptn-test - template: - metadata: - labels: - control-plane: certificate-operator - app.kubernetes.io/name: cert-manager - app.kubernetes.io/instance: keptn-test - annotations: - kubectl.kubernetes.io/default-container: certificate-operator - spec: - containers: - - args: - - --leader-elect - command: - - /manager - env: - - name: NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: LABEL_SELECTOR_KEY - value: "keptn.sh/inject-cert" - - name: LABEL_SELECTOR_VALUE - value: "true" - - name: KUBERNETES_CLUSTER_DOMAIN - value: cluster.local - image: ghcr.io/keptn/certificate-operator:v3.0.0 - imagePullPolicy: IfNotPresent - name: certificate-operator - resources: - limits: - cpu: 25m - memory: 64Mi - requests: - cpu: 5m - memory: 16Mi - securityContext: - allowPrivilegeEscalation: false - capabilities: - drop: - - ALL - readOnlyRootFilesystem: true - seccompProfile: - type: RuntimeDefault - livenessProbe: - httpGet: - path: /healthz - port: 8081 - initialDelaySeconds: 15 - periodSeconds: 20 - readinessProbe: - httpGet: - path: /readyz - port: 8081 - initialDelaySeconds: 5 - periodSeconds: 10 - - securityContext: - runAsNonRoot: true - serviceAccountName: certificate-operator - terminationGracePeriodSeconds: 10 ---- -# Source: keptn/charts/lifecycleOperator/templates/deployment.yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: lifecycle-operator - namespace: "helmtests" - labels: - app.kubernetes.io/part-of: keptn - control-plane: lifecycle-operator - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -spec: - replicas: 1 - selector: - matchLabels: - control-plane: lifecycle-operator - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/instance: keptn-test - template: - metadata: - labels: - control-plane: lifecycle-operator - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/instance: keptn-test - annotations: - kubectl.kubernetes.io/default-container: lifecycle-operator - metrics.dynatrace.com/port: "2222" - metrics.dynatrace.com/scrape: "true" - spec: - containers: - - args: - - --leader-elect - command: - - /manager - env: - - name: POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: FUNCTION_RUNNER_IMAGE - value: "ghcr.io/keptn/deno-runtime:v3.0.1" - - name: PYTHON_RUNNER_IMAGE - value: "ghcr.io/keptn/python-runtime:v1.0.8" - - name: KEPTN_APP_CONTROLLER_LOG_LEVEL - value: "0" - - name: KEPTN_APP_CREATION_REQUEST_CONTROLLER_LOG_LEVEL - value: "0" - - name: KEPTN_APP_VERSION_CONTROLLER_LOG_LEVEL - value: "0" - - name: KEPTN_EVALUATION_CONTROLLER_LOG_LEVEL - value: "0" - - name: KEPTN_TASK_CONTROLLER_LOG_LEVEL - value: "0" - - name: KEPTN_TASK_DEFINITION_CONTROLLER_LOG_LEVEL - value: "0" - - name: KEPTN_WORKLOAD_CONTROLLER_LOG_LEVEL - value: "0" - - name: KEPTN_WORKLOAD_VERSION_CONTROLLER_LOG_LEVEL - value: "0" - - name: KEPTN_DORA_METRICS_PORT - value: "2222" - - name: OPTIONS_CONTROLLER_LOG_LEVEL - value: "0" - - name: PROMOTION_TASKS_ENABLED - value: "false" - - name: KUBERNETES_CLUSTER_DOMAIN - value: cluster.local - - name: CERT_MANAGER_ENABLED - value: "true" - image: ghcr.io/keptn/lifecycle-operator:v2.0.0 - imagePullPolicy: IfNotPresent - name: lifecycle-operator - ports: - - containerPort: 9443 - name: webhook-server - protocol: TCP - - containerPort: 2222 - name: metrics - protocol: TCP - resources: - limits: - cpu: 500m - memory: 128Mi - requests: - cpu: 5m - memory: 64Mi - securityContext: - allowPrivilegeEscalation: false - capabilities: - drop: - - ALL - privileged: false - runAsNonRoot: true - seccompProfile: - type: RuntimeDefault - volumeMounts: - - name: keptn-certs - mountPath: /tmp/webhook/certs/ - livenessProbe: - httpGet: - path: /healthz - port: 8081 - initialDelaySeconds: 15 - periodSeconds: 20 - readinessProbe: - httpGet: - path: /readyz - port: 8081 - initialDelaySeconds: 5 - periodSeconds: 10 - - securityContext: - runAsNonRoot: true - serviceAccountName: lifecycle-operator - terminationGracePeriodSeconds: 10 - hostNetwork: false - volumes: - - name: keptn-certs - secret: - secretName: keptn-certs ---- -# Source: keptn/charts/metricsOperator/templates/deployment.yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: metrics-operator - namespace: "helmtests" - labels: - app.kubernetes.io/part-of: keptn - app.kubernetes.io/component: metrics-operator - control-plane: metrics-operator - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -spec: - replicas: 1 - selector: - matchLabels: - control-plane: metrics-operator - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/instance: keptn-test - template: - metadata: - labels: - control-plane: metrics-operator - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/instance: keptn-test - annotations: - kubectl.kubernetes.io/default-container: metrics-operator - spec: - containers: - - args: - - webhook-server - - --leader-elect - - --adapter-port=6443 - - --adapter-certs-dir=/tmp/metrics-adapter/serving-certs - - --v=10 - command: - - /manager - env: - - name: POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: EXPOSE_KEPTN_METRICS - value: "true" - - name: ENABLE_CUSTOM_METRICS_API_SERVICE - value: "true" - - name: METRICS_CONTROLLER_LOG_LEVEL - value: "0" - - name: ANALYSIS_CONTROLLER_LOG_LEVEL - value: "0" - - name: KUBERNETES_CLUSTER_DOMAIN - value: cluster.local - - name: CERT_MANAGER_ENABLED - value: "true" - image: ghcr.io/keptn/metrics-operator:v2.1.0 - imagePullPolicy: IfNotPresent - name: metrics-operator - ports: - - containerPort: 9443 - name: webhook-server - protocol: TCP - - containerPort: 9999 - name: metrics - protocol: TCP - - containerPort: 6443 - name: custom-metrics - protocol: TCP - resources: - limits: - cpu: 500m - memory: 128Mi - requests: - cpu: 10m - memory: 64Mi - securityContext: - allowPrivilegeEscalation: false - capabilities: - drop: - - ALL - privileged: false - runAsNonRoot: true - seccompProfile: - type: RuntimeDefault - volumeMounts: - - mountPath: /tmp/metrics-adapter/serving-certs - name: adapter-certs-dir - - name: keptn-certs - mountPath: /tmp/webhook/certs/ - livenessProbe: - httpGet: - path: /healthz - port: 8081 - initialDelaySeconds: 15 - periodSeconds: 20 - readinessProbe: - httpGet: - path: /readyz - port: 8081 - initialDelaySeconds: 5 - periodSeconds: 10 - - securityContext: - runAsNonRoot: true - serviceAccountName: metrics-operator - terminationGracePeriodSeconds: 10 - volumes: - - emptyDir: {} - name: adapter-certs-dir - - name: keptn-certs - secret: - secretName: keptn-certs ---- -# Source: keptn/charts/metricsOperator/templates/v1beta1.custom.metrics.k8s.io.yaml -apiVersion: apiregistration.k8s.io/v1 -kind: APIService -metadata: - name: v1beta1.custom.metrics.k8s.io - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -spec: - group: custom.metrics.k8s.io - groupPriorityMinimum: 100 - insecureSkipTLSVerify: true - service: - name: 'metrics-operator-service' - namespace: 'helmtests' - version: v1beta1 - versionPriority: 100 ---- -# Source: keptn/charts/metricsOperator/templates/v1beta2.custom.metrics.k8s.io.yaml -apiVersion: apiregistration.k8s.io/v1 -kind: APIService -metadata: - name: v1beta2.custom.metrics.k8s.io - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -spec: - group: custom.metrics.k8s.io - groupPriorityMinimum: 100 - insecureSkipTLSVerify: true - service: - name: 'metrics-operator-service' - namespace: 'helmtests' - version: v1beta2 - versionPriority: 200 ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-mutating-webhook-configuration.yaml -apiVersion: admissionregistration.k8s.io/v1 -kind: MutatingWebhookConfiguration -metadata: - name: lifecycle-mutating-webhook-configuration - labels: - keptn.sh/inject-cert: "true" - app.kubernetes.io/part-of: "keptn" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -webhooks: -- admissionReviewVersions: - - v1 - clientConfig: - service: - name: 'lifecycle-webhook-service' - namespace: 'helmtests' - path: /mutate-v1-pod - failurePolicy: Fail - name: mpod.keptn.sh - namespaceSelector: - matchExpressions: - - key: control-plane - operator: NotIn - values: - - lifecycle-operator - - key: kubernetes.io/metadata.name - operator: NotIn - values: ["cert-manager","keptn-system","observability","monitoring"] - - key: kubernetes.io/metadata.name - operator: NotIn - values: - - 'helmtests' - - kube-system - - kube-public - - kube-node-lease - rules: - - apiGroups: - - "" - apiVersions: - - v1 - operations: - - CREATE - - UPDATE - resources: - - pods - sideEffects: None ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-validating-webhook-configuration.yaml -apiVersion: admissionregistration.k8s.io/v1 -kind: ValidatingWebhookConfiguration -metadata: - name: lifecycle-validating-webhook-configuration - labels: - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -webhooks: -- admissionReviewVersions: - - v1 - clientConfig: - service: - name: 'lifecycle-webhook-service' - namespace: 'helmtests' - path: /validate-lifecycle-keptn-sh-v1-keptntaskdefinition - failurePolicy: Fail - name: vkeptntaskdefinition.kb.io - rules: - - apiGroups: - - lifecycle.keptn.sh - apiVersions: - - v1 - operations: - - CREATE - - UPDATE - resources: - - keptntaskdefinitions - sideEffects: None ---- -# Source: keptn/charts/metricsOperator/templates/metrics-validating-webhook-configuration.yaml -apiVersion: admissionregistration.k8s.io/v1 -kind: ValidatingWebhookConfiguration -metadata: - name: metrics-validating-webhook-configuration - labels: - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -webhooks: -- admissionReviewVersions: - - v1 - clientConfig: - service: - name: 'metrics-webhook-service' - namespace: 'helmtests' - path: /validate-metrics-keptn-sh-v1-keptnmetric - failurePolicy: Fail - name: vkeptnmetric.kb.io - rules: - - apiGroups: - - metrics.keptn.sh - apiVersions: - - v1 - operations: - - CREATE - - UPDATE - resources: - - keptnmetrics - sideEffects: None -- admissionReviewVersions: - - v1 - clientConfig: - service: - name: 'metrics-webhook-service' - namespace: 'helmtests' - path: /validate-metrics-keptn-sh-v1-analysis - failurePolicy: Fail - name: vanalysis.kb.io - rules: - - apiGroups: - - metrics.keptn.sh - apiVersions: - - v1 - operations: - - CREATE - - UPDATE - resources: - - analyses - sideEffects: None -- admissionReviewVersions: - - v1 - clientConfig: - service: - name: 'metrics-webhook-service' - namespace: 'helmtests' - path: /validate-metrics-keptn-sh-v1-analysisdefinition - failurePolicy: Fail - name: vanalysisdefinition.kb.io - rules: - - apiGroups: - - metrics.keptn.sh - apiVersions: - - v1 - operations: - - CREATE - - UPDATE - resources: - - analysisdefinitions - sideEffects: None diff --git a/.github/scripts/.helm-tests/Openshift/values.yaml b/.github/scripts/.helm-tests/Openshift/values.yaml deleted file mode 100644 index 27a59bdd09..0000000000 --- a/.github/scripts/.helm-tests/Openshift/values.yaml +++ /dev/null @@ -1,3 +0,0 @@ -global: - openShift: - enabled: true diff --git a/.github/scripts/.helm-tests/certificates-only/result.yaml b/.github/scripts/.helm-tests/certificates-only/result.yaml deleted file mode 100644 index 8cd97be6c7..0000000000 --- a/.github/scripts/.helm-tests/certificates-only/result.yaml +++ /dev/null @@ -1,292 +0,0 @@ ---- -# Source: keptn/charts/certManager/templates/service-account.yaml -apiVersion: v1 -kind: ServiceAccount -metadata: - name: certificate-operator - namespace: "helmtests" - labels: - app.kubernetes.io/component: rbac - app.kubernetes.io/part-of: keptn - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: cert-manager - app.kubernetes.io/version: v3.0.0 - helm.sh/chart: cert-manager-0.3.0 ---- -# Source: keptn/charts/certManager/templates/certificate-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: certificate-operator-role - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: cert-manager - app.kubernetes.io/version: v3.0.0 - helm.sh/chart: cert-manager-0.3.0 -rules: -- apiGroups: - - admissionregistration.k8s.io - resources: - - mutatingwebhookconfigurations - - validatingwebhookconfigurations - verbs: - - get - - list - - patch - - update - - watch -- apiGroups: - - apiextensions.k8s.io - resources: - - customresourcedefinitions - verbs: - - get - - list - - patch - - update - - watch -- apiGroups: - - apps - resources: - - deployments - verbs: - - get - - list - - watch ---- -# Source: keptn/charts/certManager/templates/certificate-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: certificate-operator-rolebinding - namespace: "helmtests" - labels: - app.kubernetes.io/component: rbac - app.kubernetes.io/created-by: certificate-operator - app.kubernetes.io/part-of: keptn - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: cert-manager - app.kubernetes.io/version: v3.0.0 - helm.sh/chart: cert-manager-0.3.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: 'certificate-operator-role' -subjects: -- kind: ServiceAccount - name: 'certificate-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/certManager/templates/certificate-operator-leader-election-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: certificate-operator-leader-election-role - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: cert-manager - app.kubernetes.io/version: v3.0.0 - helm.sh/chart: cert-manager-0.3.0 -rules: -- apiGroups: - - "" - resources: - - configmaps - verbs: - - get - - list - - watch - - create - - update - - patch - - delete -- apiGroups: - - coordination.k8s.io - resources: - - leases - verbs: - - get - - list - - watch - - create - - update - - patch - - delete -- apiGroups: - - "" - resources: - - events - verbs: - - create - - patch ---- -# Source: keptn/charts/certManager/templates/certificate-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: certificate-operator-role - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: cert-manager - app.kubernetes.io/version: v3.0.0 - helm.sh/chart: cert-manager-0.3.0 -rules: -- apiGroups: - - "" - resources: - - secrets - verbs: - - create - - list - - watch -- apiGroups: - - "" - resourceNames: - - keptn-certs - resources: - - secrets - verbs: - - get - - patch - - update ---- -# Source: keptn/charts/certManager/templates/certificate-operator-leader-election-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: certificate-operator-leader-election-rolebinding - namespace: "helmtests" - labels: - app.kubernetes.io/component: rbac - app.kubernetes.io/created-by: certificate-operator - app.kubernetes.io/part-of: keptn - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: cert-manager - app.kubernetes.io/version: v3.0.0 - helm.sh/chart: cert-manager-0.3.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: 'certificate-operator-leader-election-role' -subjects: - - kind: ServiceAccount - name: 'certificate-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/certManager/templates/certificate-operator-role-binding-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: certificate-operator-role-binding - namespace: "helmtests" - labels: - app.kubernetes.io/component: rbac - app.kubernetes.io/created-by: certificate-operator - app.kubernetes.io/part-of: keptn - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: cert-manager - app.kubernetes.io/version: v3.0.0 - helm.sh/chart: cert-manager-0.3.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: 'certificate-operator-role' -subjects: -- kind: ServiceAccount - name: 'certificate-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/certManager/templates/deployment.yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: certificate-operator - namespace: "helmtests" - labels: - app.kubernetes.io/component: keptn-cert-manager - app.kubernetes.io/part-of: keptn - control-plane: certificate-operator - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: cert-manager - app.kubernetes.io/version: v3.0.0 - helm.sh/chart: cert-manager-0.3.0 -spec: - replicas: 1 - selector: - matchLabels: - control-plane: certificate-operator - app.kubernetes.io/name: cert-manager - app.kubernetes.io/instance: keptn-test - template: - metadata: - labels: - control-plane: certificate-operator - app.kubernetes.io/name: cert-manager - app.kubernetes.io/instance: keptn-test - annotations: - kubectl.kubernetes.io/default-container: certificate-operator - spec: - containers: - - args: - - --leader-elect - command: - - /manager - env: - - name: NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: LABEL_SELECTOR_KEY - value: "keptn.sh/inject-cert" - - name: LABEL_SELECTOR_VALUE - value: "true" - - name: KUBERNETES_CLUSTER_DOMAIN - value: cluster.local - image: ghcr.io/keptn/certificate-operator:v0.0.0 - imagePullPolicy: IfNotPresent - name: certificate-operator - resources: - limits: - cpu: 25m - memory: 64Mi - requests: - cpu: 5m - memory: 16Mi - securityContext: - allowPrivilegeEscalation: false - capabilities: - drop: - - ALL - readOnlyRootFilesystem: true - runAsGroup: 65532 - runAsUser: 65532 - seccompProfile: - type: RuntimeDefault - livenessProbe: - httpGet: - path: /healthz - port: 8081 - initialDelaySeconds: 15 - periodSeconds: 20 - readinessProbe: - httpGet: - path: /readyz - port: 8081 - initialDelaySeconds: 5 - periodSeconds: 10 - - securityContext: - runAsNonRoot: true - serviceAccountName: certificate-operator - terminationGracePeriodSeconds: 10 diff --git a/.github/scripts/.helm-tests/certificates-only/values.yaml b/.github/scripts/.helm-tests/certificates-only/values.yaml deleted file mode 100644 index d3811b953e..0000000000 --- a/.github/scripts/.helm-tests/certificates-only/values.yaml +++ /dev/null @@ -1,7 +0,0 @@ -certManager: - image: - tag: v0.0.0 -lifecycleOperator: - enabled: false -metricsOperator: - enabled: false diff --git a/.github/scripts/.helm-tests/default/result.yaml b/.github/scripts/.helm-tests/default/result.yaml deleted file mode 100644 index 027f90ebda..0000000000 --- a/.github/scripts/.helm-tests/default/result.yaml +++ /dev/null @@ -1,15501 +0,0 @@ ---- -# Source: keptn/charts/certManager/templates/service-account.yaml -apiVersion: v1 -kind: ServiceAccount -metadata: - name: certificate-operator - namespace: "helmtests" - labels: - app.kubernetes.io/component: rbac - app.kubernetes.io/part-of: keptn - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: cert-manager - app.kubernetes.io/version: v3.0.0 - helm.sh/chart: cert-manager-0.3.0 ---- -# Source: keptn/charts/lifecycleOperator/templates/deployment.yaml -apiVersion: v1 -kind: ServiceAccount -metadata: - name: lifecycle-operator - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-service-account.yaml -apiVersion: v1 -kind: ServiceAccount -metadata: - name: metrics-operator - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-manager-config.yaml -apiVersion: v1 -kind: ConfigMap -metadata: - name: lifecycle-manager-config - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -data: - controller_manager_config.yaml: | - apiVersion: controller-runtime.sigs.k8s.io/v1alpha1 - health: - healthProbeBindAddress: ":8081" - kind: ControllerManagerConfig - leaderElection: - leaderElect: true - resourceName: "6b866dd9.keptn.sh" - metrics: - bindAddress: "127.0.0.1:8080" - webhook: - port: 9443 ---- -# Source: keptn/charts/metricsOperator/templates/metrics-manager-config.yaml -apiVersion: v1 -kind: ConfigMap -metadata: - name: metrics-operator-config - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -data: - controller_manager_config.yaml: | - apiVersion: controller-runtime.sigs.k8s.io/v1alpha1 - health: - healthProbeBindAddress: ":8081" - kind: ControllerManagerConfig - leaderElection: - leaderElect: true - resourceName: "3f8532ca.keptn.sh" - metrics: - bindAddress: "127.0.0.1:8080" - webhook: - port: 9443 ---- -# Source: keptn/charts/lifecycleOperator/templates/keptnapp-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnapps.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: 'lifecycle-webhook-service' - namespace: 'helmtests' - path: /convert - conversionReviewVersions: - - v1 - group: lifecycle.keptn.sh - names: - kind: KeptnApp - listKind: KeptnAppList - plural: keptnapps - singular: keptnapp - scope: Namespaced - versions: - - name: v1 - 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: {} - - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/lifecycleOperator/templates/keptnappcontext-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnappcontexts.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -spec: - group: lifecycle.keptn.sh - names: - kind: KeptnAppContext - listKind: KeptnAppContextList - plural: keptnappcontexts - singular: keptnappcontext - scope: Namespaced - versions: - - name: v1 - 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: {} - - 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: false - 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.16.5 - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -spec: - group: lifecycle.keptn.sh - names: - kind: KeptnAppCreationRequest - listKind: KeptnAppCreationRequestList - plural: keptnappcreationrequests - singular: keptnappcreationrequest - scope: Namespaced - versions: - - name: v1 - 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: {} - - 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: false - 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.16.5 - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -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 - 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 - - jsonPath: .status.promotionStatus - name: PromotionStatus - priority: 1 - type: string - name: v1 - 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: {} - - 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 - 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: - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/lifecycleOperator/templates/keptnconfig-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnconfigs.options.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -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: {} ---- -# Source: keptn/charts/lifecycleOperator/templates/keptnevaluation-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnevaluations.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -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: v1 - 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: {} - - 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: 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.16.5 - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -spec: - group: lifecycle.keptn.sh - names: - kind: KeptnEvaluationDefinition - listKind: KeptnEvaluationDefinitionList - plural: keptnevaluationdefinitions - shortNames: - - ked - singular: keptnevaluationdefinition - scope: Namespaced - versions: - - name: v1 - 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: {} - - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/lifecycleOperator/templates/keptntask-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptntasks.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -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: v1 - 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: {} - - 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: false - 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.16.5 - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -spec: - group: lifecycle.keptn.sh - names: - kind: KeptnTaskDefinition - listKind: KeptnTaskDefinitionList - plural: keptntaskdefinitions - singular: keptntaskdefinition - scope: Namespaced - versions: - - name: v1 - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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 - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - type: string - optional: - description: Specify whether the Secret must be defined - type: boolean - type: object - x-kubernetes-map-type: atomic - type: object - type: array - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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 - sleep: - description: Sleep represents the duration that the container - should sleep before being terminated. - properties: - seconds: - description: Seconds is the number of seconds to sleep. - format: int64 - type: integer - required: - - seconds - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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 - sleep: - description: Sleep represents the duration that the container - should sleep before being terminated. - properties: - seconds: - description: Seconds is the number of seconds to sleep. - format: int64 - type: integer - required: - - seconds - 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 - x-kubernetes-list-type: atomic - 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: - default: "" - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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: - default: "" - 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 - x-kubernetes-list-type: atomic - 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 - request: - description: |- - Request is the name chosen for a request in the referenced claim. - If empty, everything from the claim is made available, otherwise - only the result of this request. - 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 - appArmorProfile: - description: |- - appArmorProfile is the AppArmor options to use by this container. If set, this profile - overrides the pod's appArmorProfile. - Note that this field cannot be set when spec.os.name is windows. - properties: - localhostProfile: - description: |- - localhostProfile indicates a profile loaded on the node that should be used. - The profile must be preconfigured on the node to work. - Must match the loaded name of the profile. - Must be set if and only if type is "Localhost". - type: string - type: - description: |- - type indicates which kind of AppArmor profile will be applied. - Valid options are: - Localhost - a profile pre-loaded on the node. - RuntimeDefault - the container runtime's default profile. - Unconfined - no AppArmor enforcement. - type: string - required: - - type - type: object - 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 - x-kubernetes-list-type: atomic - drop: - description: Removed capabilities - items: - description: Capability represent POSIX capabilities - type - type: string - type: array - x-kubernetes-list-type: atomic - 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 value is Default 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 - x-kubernetes-list-type: atomic - 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: - default: "" - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-map-keys: - - devicePath - x-kubernetes-list-type: map - 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. - When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified - (which defaults to None). - 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 - recursiveReadOnly: - description: |- - RecursiveReadOnly specifies whether read-only mounts should be handled - recursively. - - If ReadOnly is false, this field has no meaning and must be unspecified. - - If ReadOnly is true, and this field is set to Disabled, the mount is not made - recursively read-only. If this field is set to IfPossible, the mount is made - recursively read-only, if it is supported by the container runtime. If this - field is set to Enabled, the mount is made recursively read-only if it is - supported by the container runtime, otherwise the pod will not be started and - an error will be generated to indicate the reason. - - If this field is set to IfPossible or Enabled, MountPropagation must be set to - None (or be unspecified, which defaults to None). - - If this field is not specified, it is treated as an equivalent of Disabled. - type: string - 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 - x-kubernetes-list-map-keys: - - mountPath - x-kubernetes-list-type: map - 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 - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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: {} - - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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 - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - type: string - optional: - description: Specify whether the Secret must be defined - type: boolean - type: object - x-kubernetes-map-type: atomic - type: object - type: array - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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 - sleep: - description: Sleep represents the duration that the container - should sleep before being terminated. - properties: - seconds: - description: Seconds is the number of seconds to sleep. - format: int64 - type: integer - required: - - seconds - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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 - sleep: - description: Sleep represents the duration that the container - should sleep before being terminated. - properties: - seconds: - description: Seconds is the number of seconds to sleep. - format: int64 - type: integer - required: - - seconds - 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 - x-kubernetes-list-type: atomic - 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: - default: "" - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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: - default: "" - 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 - x-kubernetes-list-type: atomic - 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 - request: - description: |- - Request is the name chosen for a request in the referenced claim. - If empty, everything from the claim is made available, otherwise - only the result of this request. - 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 - appArmorProfile: - description: |- - appArmorProfile is the AppArmor options to use by this container. If set, this profile - overrides the pod's appArmorProfile. - Note that this field cannot be set when spec.os.name is windows. - properties: - localhostProfile: - description: |- - localhostProfile indicates a profile loaded on the node that should be used. - The profile must be preconfigured on the node to work. - Must match the loaded name of the profile. - Must be set if and only if type is "Localhost". - type: string - type: - description: |- - type indicates which kind of AppArmor profile will be applied. - Valid options are: - Localhost - a profile pre-loaded on the node. - RuntimeDefault - the container runtime's default profile. - Unconfined - no AppArmor enforcement. - type: string - required: - - type - type: object - 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 - x-kubernetes-list-type: atomic - drop: - description: Removed capabilities - items: - description: Capability represent POSIX capabilities - type - type: string - type: array - x-kubernetes-list-type: atomic - 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 value is Default 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 - x-kubernetes-list-type: atomic - 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: - default: "" - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-map-keys: - - devicePath - x-kubernetes-list-type: map - 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. - When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified - (which defaults to None). - 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 - recursiveReadOnly: - description: |- - RecursiveReadOnly specifies whether read-only mounts should be handled - recursively. - - If ReadOnly is false, this field has no meaning and must be unspecified. - - If ReadOnly is true, and this field is set to Disabled, the mount is not made - recursively read-only. If this field is set to IfPossible, the mount is made - recursively read-only, if it is supported by the container runtime. If this - field is set to Enabled, the mount is made recursively read-only if it is - supported by the container runtime, otherwise the pod will not be started and - an error will be generated to indicate the reason. - - If this field is set to IfPossible or Enabled, MountPropagation must be set to - None (or be unspecified, which defaults to None). - - If this field is not specified, it is treated as an equivalent of Disabled. - type: string - 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 - x-kubernetes-list-map-keys: - - mountPath - x-kubernetes-list-type: map - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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 - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - type: string - optional: - description: Specify whether the Secret must be defined - type: boolean - type: object - x-kubernetes-map-type: atomic - type: object - type: array - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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 - sleep: - description: Sleep represents the duration that the container - should sleep before being terminated. - properties: - seconds: - description: Seconds is the number of seconds to sleep. - format: int64 - type: integer - required: - - seconds - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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 - sleep: - description: Sleep represents the duration that the container - should sleep before being terminated. - properties: - seconds: - description: Seconds is the number of seconds to sleep. - format: int64 - type: integer - required: - - seconds - 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 - x-kubernetes-list-type: atomic - 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: - default: "" - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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: - default: "" - 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 - x-kubernetes-list-type: atomic - 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 - request: - description: |- - Request is the name chosen for a request in the referenced claim. - If empty, everything from the claim is made available, otherwise - only the result of this request. - 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 - appArmorProfile: - description: |- - appArmorProfile is the AppArmor options to use by this container. If set, this profile - overrides the pod's appArmorProfile. - Note that this field cannot be set when spec.os.name is windows. - properties: - localhostProfile: - description: |- - localhostProfile indicates a profile loaded on the node that should be used. - The profile must be preconfigured on the node to work. - Must match the loaded name of the profile. - Must be set if and only if type is "Localhost". - type: string - type: - description: |- - type indicates which kind of AppArmor profile will be applied. - Valid options are: - Localhost - a profile pre-loaded on the node. - RuntimeDefault - the container runtime's default profile. - Unconfined - no AppArmor enforcement. - type: string - required: - - type - type: object - 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 - x-kubernetes-list-type: atomic - drop: - description: Removed capabilities - items: - description: Capability represent POSIX capabilities - type - type: string - type: array - x-kubernetes-list-type: atomic - 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 value is Default 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 - x-kubernetes-list-type: atomic - 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: - default: "" - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-map-keys: - - devicePath - x-kubernetes-list-type: map - 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. - When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified - (which defaults to None). - 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 - recursiveReadOnly: - description: |- - RecursiveReadOnly specifies whether read-only mounts should be handled - recursively. - - If ReadOnly is false, this field has no meaning and must be unspecified. - - If ReadOnly is true, and this field is set to Disabled, the mount is not made - recursively read-only. If this field is set to IfPossible, the mount is made - recursively read-only, if it is supported by the container runtime. If this - field is set to Enabled, the mount is made recursively read-only if it is - supported by the container runtime, otherwise the pod will not be started and - an error will be generated to indicate the reason. - - If this field is set to IfPossible or Enabled, MountPropagation must be set to - None (or be unspecified, which defaults to None). - - If this field is not specified, it is treated as an equivalent of Disabled. - type: string - 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 - x-kubernetes-list-map-keys: - - mountPath - x-kubernetes-list-type: map - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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: {} ---- -# Source: keptn/charts/lifecycleOperator/templates/keptnworkload-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnworkloads.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -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: v1 - 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: {} - - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/lifecycleOperator/templates/keptnworkloadversion-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnworkloadversions.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -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: v1 - 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: {} - - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/metricsOperator/templates/analysis-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: analyses.metrics.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - labels: - app.kubernetes.io/part-of: keptn - crdGroup: metrics.keptn.sh - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -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: v1 - 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:)". - 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: {} - - 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:)". - 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:)". - 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: {} ---- -# Source: keptn/charts/metricsOperator/templates/analysisdefinition-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: analysisdefinitions.metrics.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - labels: - app.kubernetes.io/part-of: keptn - crdGroup: metrics.keptn.sh - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -spec: - group: metrics.keptn.sh - names: - kind: AnalysisDefinition - listKind: AnalysisDefinitionList - plural: analysisdefinitions - singular: analysisdefinition - scope: Namespaced - versions: - - name: v1 - 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: {} - - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/metricsOperator/templates/analysisvaluetemplate-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: analysisvaluetemplates.metrics.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - labels: - app.kubernetes.io/part-of: keptn - crdGroup: metrics.keptn.sh - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -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: v1 - 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: {} - - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/metricsOperator/templates/keptnmetric-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnmetrics.metrics.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - labels: - app.kubernetes.io/part-of: keptn - crdGroup: metrics.keptn.sh - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -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: .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: v1 - 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: {} - - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/metricsOperator/templates/keptnmetricsprovider-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnmetricsproviders.metrics.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - labels: - app.kubernetes.io/part-of: keptn - crdGroup: metrics.keptn.sh - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -spec: - group: metrics.keptn.sh - names: - kind: KeptnMetricsProvider - listKind: KeptnMetricsProviderList - plural: keptnmetricsproviders - shortNames: - - kmp - singular: keptnmetricsprovider - scope: Namespaced - versions: - - name: v1 - 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: - insecureSkipTlsVerify: - default: false - description: InsecureSkipTlsVerify skips verification of the tls certificate - when fetching metrics - type: boolean - 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 - 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 - cortex, datadog, dql, dynatrace, prometheus, elastic or thanos. - pattern: cortex|datadog|dql|dynatrace|prometheus|elastic|thanos - type: string - required: - - targetServer - type: object - status: - description: unused field - type: string - type: object - served: true - storage: true - subresources: - status: {} - - 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 - 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 - 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 - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/certManager/templates/certificate-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: certificate-operator-role - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: cert-manager - app.kubernetes.io/version: v3.0.0 - helm.sh/chart: cert-manager-0.3.0 -rules: -- apiGroups: - - admissionregistration.k8s.io - resources: - - mutatingwebhookconfigurations - - validatingwebhookconfigurations - verbs: - - get - - list - - patch - - update - - watch -- apiGroups: - - apiextensions.k8s.io - resources: - - customresourcedefinitions - verbs: - - get - - list - - patch - - update - - watch -- apiGroups: - - apps - resources: - - deployments - verbs: - - get - - list - - watch ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: lifecycle-operator-role - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -rules: -- apiGroups: - - "" - resources: - - configmaps - verbs: - - create - - get - - list - - update - - watch -- apiGroups: - - "" - resources: - - deployments - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - "" - resources: - - events - verbs: - - create - - patch - - watch -- apiGroups: - - "" - resources: - - namespaces - verbs: - - get - - list - - watch -- apiGroups: - - "" - resources: - - pods - verbs: - - get - - list - - update - - watch -- apiGroups: - - "" - resources: - - secrets - verbs: - - get -- apiGroups: - - apps - resources: - - daemonsets - - deployments - - replicasets - - statefulsets - verbs: - - get - - list - - watch -- apiGroups: - - argoproj.io - resources: - - rollouts - verbs: - - get - - list - - watch -- apiGroups: - - batch - resources: - - jobs - verbs: - - create - - get - - list - - update - - watch -- apiGroups: - - batch - resources: - - jobs/status - verbs: - - get - - list -- apiGroups: - - lifecycle.keptn.sh - resources: - - keptnappcontexts - - keptnevaluationdefinitions - verbs: - - get - - list - - watch -- apiGroups: - - lifecycle.keptn.sh - resources: - - keptnappcreationrequests - - keptnapps - - keptnappversion - - keptnappversions - - keptnevaluations - - keptntaskdefinitions - - keptntasks - - keptnworkloads - - keptnworkloadversions - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - lifecycle.keptn.sh - resources: - - keptnappcreationrequests/finalizers - - keptnapps/finalizers - - keptnappversion/finalizers - - keptnappversions/finalizers - - keptnevaluations/finalizers - - keptntaskdefinitions/finalizers - - keptntasks/finalizers - - keptnworkloads/finalizers - - keptnworkloadversions/finalizers - verbs: - - update -- apiGroups: - - lifecycle.keptn.sh - resources: - - keptnappcreationrequests/status - - keptnapps/status - - keptnappversion/status - - keptnappversions/status - - keptnevaluations/status - - keptntaskdefinitions/status - - keptntasks/status - - keptnworkloads/status - - keptnworkloadversions/status - verbs: - - get - - patch - - update -- apiGroups: - - metrics.keptn.sh - resources: - - keptnmetrics - verbs: - - get - - list - - watch -- apiGroups: - - options.keptn.sh - resources: - - keptnconfigs - verbs: - - get - - list - - watch -- apiGroups: - - options.keptn.sh - resources: - - keptnconfigs/status - verbs: - - get ---- -# Source: keptn/charts/lifecycleOperator/templates/server-resources-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: keptn-test-lifecycleOperator-server-resources - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -rules: -- apiGroups: - - custom.metrics.k8s.io - resources: - - '*' - verbs: - - '*' ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: metrics-operator-role - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -rules: - - apiGroups: - - "" - resources: - - configmaps - verbs: - - get - - list - - watch - - apiGroups: - - "" - resources: - - secrets - verbs: - - get - - apiGroups: - - metrics.keptn.sh - resources: - - analyses - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - metrics.keptn.sh - resources: - - analyses/finalizers - - keptnmetrics/finalizers - verbs: - - update - - apiGroups: - - metrics.keptn.sh - resources: - - analyses/status - - keptnmetrics/status - verbs: - - get - - patch - - update - - apiGroups: - - metrics.keptn.sh - resources: - - analysisdefinitions - - analysisvaluetemplates - - keptnmetrics - - keptnmetricsproviders - - providers - verbs: - - get - - list - - watch ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-server-resources-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: metrics-operator-server-resources - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -rules: -- apiGroups: - - custom.metrics.k8s.io - resources: - - '*' - verbs: - - get - - list - - watch ---- -# Source: keptn/charts/certManager/templates/certificate-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: certificate-operator-rolebinding - namespace: "helmtests" - labels: - app.kubernetes.io/component: rbac - app.kubernetes.io/created-by: certificate-operator - app.kubernetes.io/part-of: keptn - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: cert-manager - app.kubernetes.io/version: v3.0.0 - helm.sh/chart: cert-manager-0.3.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: 'certificate-operator-role' -subjects: -- kind: ServiceAccount - name: 'certificate-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: lifecycle-operator-rolebinding - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: 'lifecycle-operator-role' -subjects: -- kind: ServiceAccount - name: 'lifecycle-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-hpa-controller-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: metrics-operator-hpa-controller - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: 'metrics-operator-server-resources' -subjects: -- kind: ServiceAccount - name: horizontal-pod-autoscaler - namespace: 'helmtests' ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: metrics-operator-rolebinding - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: 'metrics-operator-role' -subjects: - - kind: ServiceAccount - name: 'metrics-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/metricsOperator/templates/system-auth-delegator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: system-auth-delegator - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: system:auth-delegator -subjects: -- kind: ServiceAccount - name: 'metrics-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/certManager/templates/certificate-operator-leader-election-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: certificate-operator-leader-election-role - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: cert-manager - app.kubernetes.io/version: v3.0.0 - helm.sh/chart: cert-manager-0.3.0 -rules: -- apiGroups: - - "" - resources: - - configmaps - verbs: - - get - - list - - watch - - create - - update - - patch - - delete -- apiGroups: - - coordination.k8s.io - resources: - - leases - verbs: - - get - - list - - watch - - create - - update - - patch - - delete -- apiGroups: - - "" - resources: - - events - verbs: - - create - - patch ---- -# Source: keptn/charts/certManager/templates/certificate-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: certificate-operator-role - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: cert-manager - app.kubernetes.io/version: v3.0.0 - helm.sh/chart: cert-manager-0.3.0 -rules: -- apiGroups: - - "" - resources: - - secrets - verbs: - - create - - list - - watch -- apiGroups: - - "" - resourceNames: - - keptn-certs - resources: - - secrets - verbs: - - get - - patch - - update ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-operator-leader-election-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: lifecycle-operator-leader-election-role - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -rules: -- apiGroups: - - "" - resources: - - configmaps - verbs: - - get - - list - - watch - - create - - update - - patch - - delete -- apiGroups: - - coordination.k8s.io - resources: - - leases - verbs: - - get - - list - - watch - - create - - update - - patch - - delete -- apiGroups: - - "" - resources: - - events - verbs: - - create - - patch ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-leader-election-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: metrics-operator-leader-election-role - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -rules: -- apiGroups: - - "" - resources: - - configmaps - verbs: - - get - - list - - watch - - create - - update - - patch - - delete -- apiGroups: - - coordination.k8s.io - resources: - - leases - verbs: - - get - - list - - watch - - create - - update - - patch - - delete -- apiGroups: - - "" - resources: - - events - verbs: - - create - - patch ---- -# Source: keptn/charts/certManager/templates/certificate-operator-leader-election-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: certificate-operator-leader-election-rolebinding - namespace: "helmtests" - labels: - app.kubernetes.io/component: rbac - app.kubernetes.io/created-by: certificate-operator - app.kubernetes.io/part-of: keptn - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: cert-manager - app.kubernetes.io/version: v3.0.0 - helm.sh/chart: cert-manager-0.3.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: 'certificate-operator-leader-election-role' -subjects: - - kind: ServiceAccount - name: 'certificate-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/certManager/templates/certificate-operator-role-binding-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: certificate-operator-role-binding - namespace: "helmtests" - labels: - app.kubernetes.io/component: rbac - app.kubernetes.io/created-by: certificate-operator - app.kubernetes.io/part-of: keptn - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: cert-manager - app.kubernetes.io/version: v3.0.0 - helm.sh/chart: cert-manager-0.3.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: 'certificate-operator-role' -subjects: -- kind: ServiceAccount - name: 'certificate-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-operator-leader-election-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: lifecycle-operator-leader-election-rolebinding - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: 'lifecycle-operator-leader-election-role' -subjects: -- kind: ServiceAccount - name: 'lifecycle-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: lifecycle-operator-rolebinding - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: 'lifecycle-operator-role' -subjects: -- kind: ServiceAccount - name: 'lifecycle-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-leader-election-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: metrics-operator-leader-election-rolebinding - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: 'metrics-operator-leader-election-role' -subjects: -- kind: ServiceAccount - name: 'metrics-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: metrics-operator-rolebinding - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: 'metrics-operator-role' -subjects: - - kind: ServiceAccount - name: 'metrics-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-operator-metrics-service.yaml -apiVersion: v1 -kind: Service -metadata: - name: lifecycle-operator-metrics-service - namespace: "helmtests" - labels: - control-plane: lifecycle-operator - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -spec: - type: ClusterIP - selector: - control-plane: lifecycle-operator - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/instance: keptn-test - ports: - - name: metrics - port: 2222 - protocol: TCP - targetPort: metrics ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-webhook-service.yaml -apiVersion: v1 -kind: Service -metadata: - name: lifecycle-webhook-service - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -spec: - type: ClusterIP - selector: - control-plane: lifecycle-operator - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/instance: keptn-test - ports: - - port: 443 - protocol: TCP - targetPort: 9443 ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-service.yaml -apiVersion: v1 -kind: Service -metadata: - name: metrics-operator-service - namespace: "helmtests" - labels: - control-plane: metrics-operator - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -spec: - type: ClusterIP - selector: - control-plane: metrics-operator - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/instance: keptn-test - ports: - - name: https - port: 8443 - protocol: TCP - targetPort: https - - name: custom-metrics - port: 443 - targetPort: custom-metrics - - name: metrics - port: 9999 - protocol: TCP - targetPort: metrics ---- -# Source: keptn/charts/metricsOperator/templates/metrics-webhook-service.yaml -apiVersion: v1 -kind: Service -metadata: - name: metrics-webhook-service - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -spec: - type: ClusterIP - selector: - control-plane: metrics-operator - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/instance: keptn-test - ports: - - port: 443 - protocol: TCP - targetPort: 9443 ---- -# Source: keptn/charts/certManager/templates/deployment.yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: certificate-operator - namespace: "helmtests" - labels: - app.kubernetes.io/component: keptn-cert-manager - app.kubernetes.io/part-of: keptn - control-plane: certificate-operator - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: cert-manager - app.kubernetes.io/version: v3.0.0 - helm.sh/chart: cert-manager-0.3.0 -spec: - replicas: 1 - selector: - matchLabels: - control-plane: certificate-operator - app.kubernetes.io/name: cert-manager - app.kubernetes.io/instance: keptn-test - template: - metadata: - labels: - control-plane: certificate-operator - app.kubernetes.io/name: cert-manager - app.kubernetes.io/instance: keptn-test - annotations: - kubectl.kubernetes.io/default-container: certificate-operator - spec: - containers: - - args: - - --leader-elect - command: - - /manager - env: - - name: NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: LABEL_SELECTOR_KEY - value: "keptn.sh/inject-cert" - - name: LABEL_SELECTOR_VALUE - value: "true" - - name: KUBERNETES_CLUSTER_DOMAIN - value: cluster.local - image: ghcr.io/keptn/certificate-operator:v0.0.0 - imagePullPolicy: IfNotPresent - name: certificate-operator - resources: - limits: - cpu: 25m - memory: 64Mi - requests: - cpu: 5m - memory: 16Mi - securityContext: - allowPrivilegeEscalation: false - capabilities: - drop: - - ALL - readOnlyRootFilesystem: true - runAsGroup: 65532 - runAsUser: 65532 - seccompProfile: - type: RuntimeDefault - livenessProbe: - httpGet: - path: /healthz - port: 8081 - initialDelaySeconds: 15 - periodSeconds: 20 - readinessProbe: - httpGet: - path: /readyz - port: 8081 - initialDelaySeconds: 5 - periodSeconds: 10 - - securityContext: - runAsNonRoot: true - serviceAccountName: certificate-operator - terminationGracePeriodSeconds: 10 ---- -# Source: keptn/charts/lifecycleOperator/templates/deployment.yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: lifecycle-operator - namespace: "helmtests" - labels: - app.kubernetes.io/part-of: keptn - control-plane: lifecycle-operator - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -spec: - replicas: 1 - selector: - matchLabels: - control-plane: lifecycle-operator - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/instance: keptn-test - template: - metadata: - labels: - control-plane: lifecycle-operator - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/instance: keptn-test - annotations: - kubectl.kubernetes.io/default-container: lifecycle-operator - metrics.dynatrace.com/port: "2222" - metrics.dynatrace.com/scrape: "true" - spec: - containers: - - args: - - --leader-elect - command: - - /manager - env: - - name: POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: FUNCTION_RUNNER_IMAGE - value: "ghcr.io/keptn/deno-runtime:v3.0.1" - - name: PYTHON_RUNNER_IMAGE - value: "ghcr.io/keptn/python-runtime:v1.0.8" - - name: KEPTN_APP_CONTROLLER_LOG_LEVEL - value: "0" - - name: KEPTN_APP_CREATION_REQUEST_CONTROLLER_LOG_LEVEL - value: "0" - - name: KEPTN_APP_VERSION_CONTROLLER_LOG_LEVEL - value: "0" - - name: KEPTN_EVALUATION_CONTROLLER_LOG_LEVEL - value: "0" - - name: KEPTN_TASK_CONTROLLER_LOG_LEVEL - value: "0" - - name: KEPTN_TASK_DEFINITION_CONTROLLER_LOG_LEVEL - value: "0" - - name: KEPTN_WORKLOAD_CONTROLLER_LOG_LEVEL - value: "0" - - name: KEPTN_WORKLOAD_VERSION_CONTROLLER_LOG_LEVEL - value: "0" - - name: KEPTN_DORA_METRICS_PORT - value: "2222" - - name: OPTIONS_CONTROLLER_LOG_LEVEL - value: "0" - - name: PROMOTION_TASKS_ENABLED - value: "false" - - name: KUBERNETES_CLUSTER_DOMAIN - value: cluster.local - - name: CERT_MANAGER_ENABLED - value: "true" - image: ghcr.io/keptn/lifecycle-operator:v0.0.0 - imagePullPolicy: Never - name: lifecycle-operator - ports: - - containerPort: 9443 - name: webhook-server - protocol: TCP - - containerPort: 2222 - name: metrics - protocol: TCP - resources: - limits: - cpu: 500m - memory: 128Mi - requests: - cpu: 5m - memory: 64Mi - securityContext: - allowPrivilegeEscalation: false - capabilities: - drop: - - ALL - privileged: false - runAsGroup: 65532 - runAsUser: 65532 - runAsNonRoot: true - seccompProfile: - type: RuntimeDefault - volumeMounts: - - name: keptn-certs - mountPath: /tmp/webhook/certs/ - livenessProbe: - httpGet: - path: /healthz - port: 8081 - initialDelaySeconds: 15 - periodSeconds: 20 - readinessProbe: - httpGet: - path: /readyz - port: 8081 - initialDelaySeconds: 5 - periodSeconds: 10 - - securityContext: - runAsNonRoot: true - serviceAccountName: lifecycle-operator - terminationGracePeriodSeconds: 10 - hostNetwork: false - volumes: - - name: keptn-certs - secret: - secretName: keptn-certs ---- -# Source: keptn/charts/metricsOperator/templates/deployment.yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: metrics-operator - namespace: "helmtests" - labels: - app.kubernetes.io/part-of: keptn - app.kubernetes.io/component: metrics-operator - control-plane: metrics-operator - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -spec: - replicas: 1 - selector: - matchLabels: - control-plane: metrics-operator - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/instance: keptn-test - template: - metadata: - labels: - control-plane: metrics-operator - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/instance: keptn-test - annotations: - kubectl.kubernetes.io/default-container: metrics-operator - spec: - containers: - - args: - - webhook-server - - --leader-elect - - --adapter-port=6443 - - --adapter-certs-dir=/tmp/metrics-adapter/serving-certs - - --v=10 - command: - - /manager - env: - - name: POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: EXPOSE_KEPTN_METRICS - value: "true" - - name: ENABLE_CUSTOM_METRICS_API_SERVICE - value: "true" - - name: METRICS_CONTROLLER_LOG_LEVEL - value: "0" - - name: ANALYSIS_CONTROLLER_LOG_LEVEL - value: "0" - - name: KUBERNETES_CLUSTER_DOMAIN - value: cluster.local - - name: CERT_MANAGER_ENABLED - value: "true" - image: ghcr.io/keptn/metrics-operator:v0.0.0 - imagePullPolicy: IfNotPresent - name: metrics-operator - ports: - - containerPort: 9443 - name: webhook-server - protocol: TCP - - containerPort: 9999 - name: metrics - protocol: TCP - - containerPort: 6443 - name: custom-metrics - protocol: TCP - resources: - limits: - cpu: 500m - memory: 128Mi - requests: - cpu: 10m - memory: 64Mi - securityContext: - allowPrivilegeEscalation: false - capabilities: - drop: - - ALL - privileged: false - runAsGroup: 65532 - runAsUser: 65532 - runAsNonRoot: true - seccompProfile: - type: RuntimeDefault - volumeMounts: - - mountPath: /tmp/metrics-adapter/serving-certs - name: adapter-certs-dir - - name: keptn-certs - mountPath: /tmp/webhook/certs/ - livenessProbe: - httpGet: - path: /healthz - port: 8081 - initialDelaySeconds: 15 - periodSeconds: 20 - readinessProbe: - httpGet: - path: /readyz - port: 8081 - initialDelaySeconds: 5 - periodSeconds: 10 - - securityContext: - runAsNonRoot: true - serviceAccountName: metrics-operator - terminationGracePeriodSeconds: 10 - volumes: - - emptyDir: {} - name: adapter-certs-dir - - name: keptn-certs - secret: - secretName: keptn-certs ---- -# Source: keptn/charts/metricsOperator/templates/v1beta1.custom.metrics.k8s.io.yaml -apiVersion: apiregistration.k8s.io/v1 -kind: APIService -metadata: - name: v1beta1.custom.metrics.k8s.io - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -spec: - group: custom.metrics.k8s.io - groupPriorityMinimum: 100 - insecureSkipTLSVerify: true - service: - name: 'metrics-operator-service' - namespace: 'helmtests' - version: v1beta1 - versionPriority: 100 ---- -# Source: keptn/charts/metricsOperator/templates/v1beta2.custom.metrics.k8s.io.yaml -apiVersion: apiregistration.k8s.io/v1 -kind: APIService -metadata: - name: v1beta2.custom.metrics.k8s.io - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -spec: - group: custom.metrics.k8s.io - groupPriorityMinimum: 100 - insecureSkipTLSVerify: true - service: - name: 'metrics-operator-service' - namespace: 'helmtests' - version: v1beta2 - versionPriority: 200 ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-mutating-webhook-configuration.yaml -apiVersion: admissionregistration.k8s.io/v1 -kind: MutatingWebhookConfiguration -metadata: - name: lifecycle-mutating-webhook-configuration - labels: - keptn.sh/inject-cert: "true" - app.kubernetes.io/part-of: "keptn" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -webhooks: -- admissionReviewVersions: - - v1 - clientConfig: - service: - name: 'lifecycle-webhook-service' - namespace: 'helmtests' - path: /mutate-v1-pod - failurePolicy: Fail - name: mpod.keptn.sh - namespaceSelector: - matchExpressions: - - key: control-plane - operator: NotIn - values: - - lifecycle-operator - - key: kubernetes.io/metadata.name - operator: NotIn - values: ["cert-manager","keptn-system","observability","monitoring"] - - key: kubernetes.io/metadata.name - operator: NotIn - values: - - 'helmtests' - - kube-system - - kube-public - - kube-node-lease - rules: - - apiGroups: - - "" - apiVersions: - - v1 - operations: - - CREATE - - UPDATE - resources: - - pods - sideEffects: None ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-validating-webhook-configuration.yaml -apiVersion: admissionregistration.k8s.io/v1 -kind: ValidatingWebhookConfiguration -metadata: - name: lifecycle-validating-webhook-configuration - labels: - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -webhooks: -- admissionReviewVersions: - - v1 - clientConfig: - service: - name: 'lifecycle-webhook-service' - namespace: 'helmtests' - path: /validate-lifecycle-keptn-sh-v1-keptntaskdefinition - failurePolicy: Fail - name: vkeptntaskdefinition.kb.io - rules: - - apiGroups: - - lifecycle.keptn.sh - apiVersions: - - v1 - operations: - - CREATE - - UPDATE - resources: - - keptntaskdefinitions - sideEffects: None ---- -# Source: keptn/charts/metricsOperator/templates/metrics-validating-webhook-configuration.yaml -apiVersion: admissionregistration.k8s.io/v1 -kind: ValidatingWebhookConfiguration -metadata: - name: metrics-validating-webhook-configuration - labels: - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -webhooks: -- admissionReviewVersions: - - v1 - clientConfig: - service: - name: 'metrics-webhook-service' - namespace: 'helmtests' - path: /validate-metrics-keptn-sh-v1-keptnmetric - failurePolicy: Fail - name: vkeptnmetric.kb.io - rules: - - apiGroups: - - metrics.keptn.sh - apiVersions: - - v1 - operations: - - CREATE - - UPDATE - resources: - - keptnmetrics - sideEffects: None -- admissionReviewVersions: - - v1 - clientConfig: - service: - name: 'metrics-webhook-service' - namespace: 'helmtests' - path: /validate-metrics-keptn-sh-v1-analysis - failurePolicy: Fail - name: vanalysis.kb.io - rules: - - apiGroups: - - metrics.keptn.sh - apiVersions: - - v1 - operations: - - CREATE - - UPDATE - resources: - - analyses - sideEffects: None -- admissionReviewVersions: - - v1 - clientConfig: - service: - name: 'metrics-webhook-service' - namespace: 'helmtests' - path: /validate-metrics-keptn-sh-v1-analysisdefinition - failurePolicy: Fail - name: vanalysisdefinition.kb.io - rules: - - apiGroups: - - metrics.keptn.sh - apiVersions: - - v1 - operations: - - CREATE - - UPDATE - resources: - - analysisdefinitions - sideEffects: None diff --git a/.github/scripts/.helm-tests/default/values.yaml b/.github/scripts/.helm-tests/default/values.yaml deleted file mode 100644 index 6d02007ac9..0000000000 --- a/.github/scripts/.helm-tests/default/values.yaml +++ /dev/null @@ -1,12 +0,0 @@ -certManager: - image: - tag: v0.0.0 -lifecycleOperator: - enabled: true - image: - tag: v0.0.0 - imagePullPolicy: Never -metricsOperator: - enabled: true - image: - tag: v0.0.0 diff --git a/.github/scripts/.helm-tests/lifecycle-only/result.yaml b/.github/scripts/.helm-tests/lifecycle-only/result.yaml deleted file mode 100644 index 700bb6dd74..0000000000 --- a/.github/scripts/.helm-tests/lifecycle-only/result.yaml +++ /dev/null @@ -1,11875 +0,0 @@ ---- -# Source: keptn/charts/lifecycleOperator/templates/deployment.yaml -apiVersion: v1 -kind: ServiceAccount -metadata: - name: lifecycle-operator - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-manager-config.yaml -apiVersion: v1 -kind: ConfigMap -metadata: - name: lifecycle-manager-config - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -data: - controller_manager_config.yaml: | - apiVersion: controller-runtime.sigs.k8s.io/v1alpha1 - health: - healthProbeBindAddress: ":8081" - kind: ControllerManagerConfig - leaderElection: - leaderElect: true - resourceName: "6b866dd9.keptn.sh" - metrics: - bindAddress: "127.0.0.1:8080" - webhook: - port: 9443 ---- -# Source: keptn/charts/lifecycleOperator/templates/keptnapp-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnapps.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: 'lifecycle-webhook-service' - namespace: 'helmtests' - path: /convert - conversionReviewVersions: - - v1 - group: lifecycle.keptn.sh - names: - kind: KeptnApp - listKind: KeptnAppList - plural: keptnapps - singular: keptnapp - scope: Namespaced - versions: - - name: v1 - 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: {} - - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/lifecycleOperator/templates/keptnappcontext-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnappcontexts.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -spec: - group: lifecycle.keptn.sh - names: - kind: KeptnAppContext - listKind: KeptnAppContextList - plural: keptnappcontexts - singular: keptnappcontext - scope: Namespaced - versions: - - name: v1 - 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: {} - - 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: false - 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.16.5 - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -spec: - group: lifecycle.keptn.sh - names: - kind: KeptnAppCreationRequest - listKind: KeptnAppCreationRequestList - plural: keptnappcreationrequests - singular: keptnappcreationrequest - scope: Namespaced - versions: - - name: v1 - 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: {} - - 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: false - 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.16.5 - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -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 - 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 - - jsonPath: .status.promotionStatus - name: PromotionStatus - priority: 1 - type: string - name: v1 - 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: {} - - 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 - 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: - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/lifecycleOperator/templates/keptnconfig-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnconfigs.options.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -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: {} ---- -# Source: keptn/charts/lifecycleOperator/templates/keptnevaluation-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnevaluations.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -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: v1 - 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: {} - - 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: 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.16.5 - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -spec: - group: lifecycle.keptn.sh - names: - kind: KeptnEvaluationDefinition - listKind: KeptnEvaluationDefinitionList - plural: keptnevaluationdefinitions - shortNames: - - ked - singular: keptnevaluationdefinition - scope: Namespaced - versions: - - name: v1 - 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: {} - - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/lifecycleOperator/templates/keptntask-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptntasks.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -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: v1 - 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: {} - - 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: false - 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.16.5 - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -spec: - group: lifecycle.keptn.sh - names: - kind: KeptnTaskDefinition - listKind: KeptnTaskDefinitionList - plural: keptntaskdefinitions - singular: keptntaskdefinition - scope: Namespaced - versions: - - name: v1 - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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 - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - type: string - optional: - description: Specify whether the Secret must be defined - type: boolean - type: object - x-kubernetes-map-type: atomic - type: object - type: array - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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 - sleep: - description: Sleep represents the duration that the container - should sleep before being terminated. - properties: - seconds: - description: Seconds is the number of seconds to sleep. - format: int64 - type: integer - required: - - seconds - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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 - sleep: - description: Sleep represents the duration that the container - should sleep before being terminated. - properties: - seconds: - description: Seconds is the number of seconds to sleep. - format: int64 - type: integer - required: - - seconds - 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 - x-kubernetes-list-type: atomic - 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: - default: "" - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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: - default: "" - 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 - x-kubernetes-list-type: atomic - 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 - request: - description: |- - Request is the name chosen for a request in the referenced claim. - If empty, everything from the claim is made available, otherwise - only the result of this request. - 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 - appArmorProfile: - description: |- - appArmorProfile is the AppArmor options to use by this container. If set, this profile - overrides the pod's appArmorProfile. - Note that this field cannot be set when spec.os.name is windows. - properties: - localhostProfile: - description: |- - localhostProfile indicates a profile loaded on the node that should be used. - The profile must be preconfigured on the node to work. - Must match the loaded name of the profile. - Must be set if and only if type is "Localhost". - type: string - type: - description: |- - type indicates which kind of AppArmor profile will be applied. - Valid options are: - Localhost - a profile pre-loaded on the node. - RuntimeDefault - the container runtime's default profile. - Unconfined - no AppArmor enforcement. - type: string - required: - - type - type: object - 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 - x-kubernetes-list-type: atomic - drop: - description: Removed capabilities - items: - description: Capability represent POSIX capabilities - type - type: string - type: array - x-kubernetes-list-type: atomic - 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 value is Default 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 - x-kubernetes-list-type: atomic - 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: - default: "" - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-map-keys: - - devicePath - x-kubernetes-list-type: map - 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. - When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified - (which defaults to None). - 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 - recursiveReadOnly: - description: |- - RecursiveReadOnly specifies whether read-only mounts should be handled - recursively. - - If ReadOnly is false, this field has no meaning and must be unspecified. - - If ReadOnly is true, and this field is set to Disabled, the mount is not made - recursively read-only. If this field is set to IfPossible, the mount is made - recursively read-only, if it is supported by the container runtime. If this - field is set to Enabled, the mount is made recursively read-only if it is - supported by the container runtime, otherwise the pod will not be started and - an error will be generated to indicate the reason. - - If this field is set to IfPossible or Enabled, MountPropagation must be set to - None (or be unspecified, which defaults to None). - - If this field is not specified, it is treated as an equivalent of Disabled. - type: string - 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 - x-kubernetes-list-map-keys: - - mountPath - x-kubernetes-list-type: map - 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 - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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: {} - - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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 - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - type: string - optional: - description: Specify whether the Secret must be defined - type: boolean - type: object - x-kubernetes-map-type: atomic - type: object - type: array - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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 - sleep: - description: Sleep represents the duration that the container - should sleep before being terminated. - properties: - seconds: - description: Seconds is the number of seconds to sleep. - format: int64 - type: integer - required: - - seconds - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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 - sleep: - description: Sleep represents the duration that the container - should sleep before being terminated. - properties: - seconds: - description: Seconds is the number of seconds to sleep. - format: int64 - type: integer - required: - - seconds - 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 - x-kubernetes-list-type: atomic - 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: - default: "" - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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: - default: "" - 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 - x-kubernetes-list-type: atomic - 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 - request: - description: |- - Request is the name chosen for a request in the referenced claim. - If empty, everything from the claim is made available, otherwise - only the result of this request. - 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 - appArmorProfile: - description: |- - appArmorProfile is the AppArmor options to use by this container. If set, this profile - overrides the pod's appArmorProfile. - Note that this field cannot be set when spec.os.name is windows. - properties: - localhostProfile: - description: |- - localhostProfile indicates a profile loaded on the node that should be used. - The profile must be preconfigured on the node to work. - Must match the loaded name of the profile. - Must be set if and only if type is "Localhost". - type: string - type: - description: |- - type indicates which kind of AppArmor profile will be applied. - Valid options are: - Localhost - a profile pre-loaded on the node. - RuntimeDefault - the container runtime's default profile. - Unconfined - no AppArmor enforcement. - type: string - required: - - type - type: object - 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 - x-kubernetes-list-type: atomic - drop: - description: Removed capabilities - items: - description: Capability represent POSIX capabilities - type - type: string - type: array - x-kubernetes-list-type: atomic - 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 value is Default 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 - x-kubernetes-list-type: atomic - 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: - default: "" - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-map-keys: - - devicePath - x-kubernetes-list-type: map - 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. - When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified - (which defaults to None). - 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 - recursiveReadOnly: - description: |- - RecursiveReadOnly specifies whether read-only mounts should be handled - recursively. - - If ReadOnly is false, this field has no meaning and must be unspecified. - - If ReadOnly is true, and this field is set to Disabled, the mount is not made - recursively read-only. If this field is set to IfPossible, the mount is made - recursively read-only, if it is supported by the container runtime. If this - field is set to Enabled, the mount is made recursively read-only if it is - supported by the container runtime, otherwise the pod will not be started and - an error will be generated to indicate the reason. - - If this field is set to IfPossible or Enabled, MountPropagation must be set to - None (or be unspecified, which defaults to None). - - If this field is not specified, it is treated as an equivalent of Disabled. - type: string - 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 - x-kubernetes-list-map-keys: - - mountPath - x-kubernetes-list-type: map - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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 - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - type: string - optional: - description: Specify whether the Secret must be defined - type: boolean - type: object - x-kubernetes-map-type: atomic - type: object - type: array - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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 - sleep: - description: Sleep represents the duration that the container - should sleep before being terminated. - properties: - seconds: - description: Seconds is the number of seconds to sleep. - format: int64 - type: integer - required: - - seconds - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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 - sleep: - description: Sleep represents the duration that the container - should sleep before being terminated. - properties: - seconds: - description: Seconds is the number of seconds to sleep. - format: int64 - type: integer - required: - - seconds - 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 - x-kubernetes-list-type: atomic - 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: - default: "" - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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: - default: "" - 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 - x-kubernetes-list-type: atomic - 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 - request: - description: |- - Request is the name chosen for a request in the referenced claim. - If empty, everything from the claim is made available, otherwise - only the result of this request. - 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 - appArmorProfile: - description: |- - appArmorProfile is the AppArmor options to use by this container. If set, this profile - overrides the pod's appArmorProfile. - Note that this field cannot be set when spec.os.name is windows. - properties: - localhostProfile: - description: |- - localhostProfile indicates a profile loaded on the node that should be used. - The profile must be preconfigured on the node to work. - Must match the loaded name of the profile. - Must be set if and only if type is "Localhost". - type: string - type: - description: |- - type indicates which kind of AppArmor profile will be applied. - Valid options are: - Localhost - a profile pre-loaded on the node. - RuntimeDefault - the container runtime's default profile. - Unconfined - no AppArmor enforcement. - type: string - required: - - type - type: object - 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 - x-kubernetes-list-type: atomic - drop: - description: Removed capabilities - items: - description: Capability represent POSIX capabilities - type - type: string - type: array - x-kubernetes-list-type: atomic - 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 value is Default 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 - x-kubernetes-list-type: atomic - 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: - default: "" - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-map-keys: - - devicePath - x-kubernetes-list-type: map - 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. - When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified - (which defaults to None). - 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 - recursiveReadOnly: - description: |- - RecursiveReadOnly specifies whether read-only mounts should be handled - recursively. - - If ReadOnly is false, this field has no meaning and must be unspecified. - - If ReadOnly is true, and this field is set to Disabled, the mount is not made - recursively read-only. If this field is set to IfPossible, the mount is made - recursively read-only, if it is supported by the container runtime. If this - field is set to Enabled, the mount is made recursively read-only if it is - supported by the container runtime, otherwise the pod will not be started and - an error will be generated to indicate the reason. - - If this field is set to IfPossible or Enabled, MountPropagation must be set to - None (or be unspecified, which defaults to None). - - If this field is not specified, it is treated as an equivalent of Disabled. - type: string - 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 - x-kubernetes-list-map-keys: - - mountPath - x-kubernetes-list-type: map - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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: {} ---- -# Source: keptn/charts/lifecycleOperator/templates/keptnworkload-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnworkloads.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -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: v1 - 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: {} - - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/lifecycleOperator/templates/keptnworkloadversion-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnworkloadversions.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -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: v1 - 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: {} - - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: lifecycle-operator-role - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -rules: -- apiGroups: - - "" - resources: - - configmaps - verbs: - - create - - get - - list - - update - - watch -- apiGroups: - - "" - resources: - - deployments - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - "" - resources: - - events - verbs: - - create - - patch - - watch -- apiGroups: - - "" - resources: - - namespaces - verbs: - - get - - list - - watch -- apiGroups: - - "" - resources: - - pods - verbs: - - get - - list - - update - - watch -- apiGroups: - - "" - resources: - - secrets - verbs: - - get -- apiGroups: - - apps - resources: - - daemonsets - - deployments - - replicasets - - statefulsets - verbs: - - get - - list - - watch -- apiGroups: - - argoproj.io - resources: - - rollouts - verbs: - - get - - list - - watch -- apiGroups: - - batch - resources: - - jobs - verbs: - - create - - get - - list - - update - - watch -- apiGroups: - - batch - resources: - - jobs/status - verbs: - - get - - list -- apiGroups: - - lifecycle.keptn.sh - resources: - - keptnappcontexts - - keptnevaluationdefinitions - verbs: - - get - - list - - watch -- apiGroups: - - lifecycle.keptn.sh - resources: - - keptnappcreationrequests - - keptnapps - - keptnappversion - - keptnappversions - - keptnevaluations - - keptntaskdefinitions - - keptntasks - - keptnworkloads - - keptnworkloadversions - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - lifecycle.keptn.sh - resources: - - keptnappcreationrequests/finalizers - - keptnapps/finalizers - - keptnappversion/finalizers - - keptnappversions/finalizers - - keptnevaluations/finalizers - - keptntaskdefinitions/finalizers - - keptntasks/finalizers - - keptnworkloads/finalizers - - keptnworkloadversions/finalizers - verbs: - - update -- apiGroups: - - lifecycle.keptn.sh - resources: - - keptnappcreationrequests/status - - keptnapps/status - - keptnappversion/status - - keptnappversions/status - - keptnevaluations/status - - keptntaskdefinitions/status - - keptntasks/status - - keptnworkloads/status - - keptnworkloadversions/status - verbs: - - get - - patch - - update -- apiGroups: - - metrics.keptn.sh - resources: - - keptnmetrics - verbs: - - get - - list - - watch -- apiGroups: - - options.keptn.sh - resources: - - keptnconfigs - verbs: - - get - - list - - watch -- apiGroups: - - options.keptn.sh - resources: - - keptnconfigs/status - verbs: - - get ---- -# Source: keptn/charts/lifecycleOperator/templates/server-resources-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: keptn-test-lifecycleOperator-server-resources - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -rules: -- apiGroups: - - custom.metrics.k8s.io - resources: - - '*' - verbs: - - '*' ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: lifecycle-operator-rolebinding - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: 'lifecycle-operator-role' -subjects: -- kind: ServiceAccount - name: 'lifecycle-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-operator-leader-election-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: lifecycle-operator-leader-election-role - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -rules: -- apiGroups: - - "" - resources: - - configmaps - verbs: - - get - - list - - watch - - create - - update - - patch - - delete -- apiGroups: - - coordination.k8s.io - resources: - - leases - verbs: - - get - - list - - watch - - create - - update - - patch - - delete -- apiGroups: - - "" - resources: - - events - verbs: - - create - - patch ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-operator-leader-election-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: lifecycle-operator-leader-election-rolebinding - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: 'lifecycle-operator-leader-election-role' -subjects: -- kind: ServiceAccount - name: 'lifecycle-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: lifecycle-operator-rolebinding - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: 'lifecycle-operator-role' -subjects: -- kind: ServiceAccount - name: 'lifecycle-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-operator-metrics-service.yaml -apiVersion: v1 -kind: Service -metadata: - name: lifecycle-operator-metrics-service - namespace: "helmtests" - labels: - control-plane: lifecycle-operator - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -spec: - type: ClusterIP - selector: - control-plane: lifecycle-operator - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/instance: keptn-test - ports: - - name: metrics - port: 2222 - protocol: TCP - targetPort: metrics ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-webhook-service.yaml -apiVersion: v1 -kind: Service -metadata: - name: lifecycle-webhook-service - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -spec: - type: ClusterIP - selector: - control-plane: lifecycle-operator - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/instance: keptn-test - ports: - - port: 443 - protocol: TCP - targetPort: 9443 ---- -# Source: keptn/charts/lifecycleOperator/templates/deployment.yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: lifecycle-operator - namespace: "helmtests" - labels: - app.kubernetes.io/part-of: keptn - control-plane: lifecycle-operator - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -spec: - replicas: 1 - selector: - matchLabels: - control-plane: lifecycle-operator - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/instance: keptn-test - template: - metadata: - labels: - control-plane: lifecycle-operator - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/instance: keptn-test - annotations: - kubectl.kubernetes.io/default-container: lifecycle-operator - metrics.dynatrace.com/port: "2222" - metrics.dynatrace.com/scrape: "true" - spec: - containers: - - args: - - --leader-elect - command: - - /manager - env: - - name: POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: FUNCTION_RUNNER_IMAGE - value: "ghcr.io/keptn/deno-runtime:v3.0.1" - - name: PYTHON_RUNNER_IMAGE - value: "ghcr.io/keptn/python-runtime:v1.0.8" - - name: KEPTN_APP_CONTROLLER_LOG_LEVEL - value: "0" - - name: KEPTN_APP_CREATION_REQUEST_CONTROLLER_LOG_LEVEL - value: "0" - - name: KEPTN_APP_VERSION_CONTROLLER_LOG_LEVEL - value: "0" - - name: KEPTN_EVALUATION_CONTROLLER_LOG_LEVEL - value: "0" - - name: KEPTN_TASK_CONTROLLER_LOG_LEVEL - value: "0" - - name: KEPTN_TASK_DEFINITION_CONTROLLER_LOG_LEVEL - value: "0" - - name: KEPTN_WORKLOAD_CONTROLLER_LOG_LEVEL - value: "0" - - name: KEPTN_WORKLOAD_VERSION_CONTROLLER_LOG_LEVEL - value: "0" - - name: KEPTN_DORA_METRICS_PORT - value: "2222" - - name: OPTIONS_CONTROLLER_LOG_LEVEL - value: "0" - - name: PROMOTION_TASKS_ENABLED - value: "true" - - name: KUBERNETES_CLUSTER_DOMAIN - value: cluster.local - - name: CERT_MANAGER_ENABLED - value: "false" - image: ghcr.io/busybox:1.37 - imagePullPolicy: Always - name: lifecycle-operator - ports: - - containerPort: 9443 - name: webhook-server - protocol: TCP - - containerPort: 2222 - name: metrics - protocol: TCP - resources: - limits: - cpu: 500m - memory: 128Mi - requests: - cpu: 5m - memory: 64Mi - securityContext: - allowPrivilegeEscalation: false - capabilities: - drop: - - ALL - privileged: false - runAsGroup: 65532 - runAsUser: 65532 - runAsNonRoot: true - seccompProfile: - type: RuntimeDefault - volumeMounts: - - name: keptn-certs - mountPath: /tmp/webhook/certs/ - livenessProbe: - httpGet: - path: /healthz - port: 8081 - initialDelaySeconds: 15 - periodSeconds: 20 - readinessProbe: - httpGet: - path: /readyz - port: 8081 - initialDelaySeconds: 5 - periodSeconds: 10 - - securityContext: - runAsNonRoot: true - serviceAccountName: lifecycle-operator - terminationGracePeriodSeconds: 10 - hostNetwork: true - volumes: - - name: keptn-certs - secret: - secretName: keptn-certs ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-mutating-webhook-configuration.yaml -apiVersion: admissionregistration.k8s.io/v1 -kind: MutatingWebhookConfiguration -metadata: - name: lifecycle-mutating-webhook-configuration - labels: - keptn.sh/inject-cert: "true" - app.kubernetes.io/part-of: "keptn" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -webhooks: -- admissionReviewVersions: - - v1 - clientConfig: - service: - name: 'lifecycle-webhook-service' - namespace: 'helmtests' - path: /mutate-v1-pod - failurePolicy: Fail - name: mpod.keptn.sh - namespaceSelector: - matchExpressions: - - key: control-plane - operator: NotIn - values: - - lifecycle-operator - - key: kubernetes.io/metadata.name - operator: NotIn - values: ["foo","bar"] - - key: kubernetes.io/metadata.name - operator: NotIn - values: - - 'helmtests' - - kube-system - - kube-public - - kube-node-lease - rules: - - apiGroups: - - "" - apiVersions: - - v1 - operations: - - CREATE - - UPDATE - resources: - - pods - sideEffects: None ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-validating-webhook-configuration.yaml -apiVersion: admissionregistration.k8s.io/v1 -kind: ValidatingWebhookConfiguration -metadata: - name: lifecycle-validating-webhook-configuration - labels: - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -webhooks: -- admissionReviewVersions: - - v1 - clientConfig: - service: - name: 'lifecycle-webhook-service' - namespace: 'helmtests' - path: /validate-lifecycle-keptn-sh-v1-keptntaskdefinition - failurePolicy: Fail - name: vkeptntaskdefinition.kb.io - rules: - - apiGroups: - - lifecycle.keptn.sh - apiVersions: - - v1 - operations: - - CREATE - - UPDATE - resources: - - keptntaskdefinitions - sideEffects: None diff --git a/.github/scripts/.helm-tests/lifecycle-only/values.yaml b/.github/scripts/.helm-tests/lifecycle-only/values.yaml deleted file mode 100644 index d01ead3ad8..0000000000 --- a/.github/scripts/.helm-tests/lifecycle-only/values.yaml +++ /dev/null @@ -1,16 +0,0 @@ -global: - certManagerEnabled: false - -lifecycleOperator: - enabled: true - promotionTasksEnabled: true - image: - repository: busybox - tag: 1.37 - imagePullPolicy: Always - hostNetwork: true - deniedNamespaces: ["foo", "bar"] - -metricsOperator: - enabled: false - imagePullSecrets: [] diff --git a/.github/scripts/.helm-tests/lifecycle-with-certs/result.yaml b/.github/scripts/.helm-tests/lifecycle-with-certs/result.yaml deleted file mode 100644 index be5487d46b..0000000000 --- a/.github/scripts/.helm-tests/lifecycle-with-certs/result.yaml +++ /dev/null @@ -1,12167 +0,0 @@ ---- -# Source: keptn/charts/certManager/templates/service-account.yaml -apiVersion: v1 -kind: ServiceAccount -metadata: - name: certificate-operator - namespace: "helmtests" - labels: - app.kubernetes.io/component: rbac - app.kubernetes.io/part-of: keptn - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: cert-manager - app.kubernetes.io/version: v3.0.0 - helm.sh/chart: cert-manager-0.3.0 ---- -# Source: keptn/charts/lifecycleOperator/templates/deployment.yaml -apiVersion: v1 -kind: ServiceAccount -metadata: - name: lifecycle-operator - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-manager-config.yaml -apiVersion: v1 -kind: ConfigMap -metadata: - name: lifecycle-manager-config - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -data: - controller_manager_config.yaml: | - apiVersion: controller-runtime.sigs.k8s.io/v1alpha1 - health: - healthProbeBindAddress: ":8081" - kind: ControllerManagerConfig - leaderElection: - leaderElect: true - resourceName: "6b866dd9.keptn.sh" - metrics: - bindAddress: "127.0.0.1:8080" - webhook: - port: 9443 ---- -# Source: keptn/charts/lifecycleOperator/templates/keptnapp-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnapps.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: 'lifecycle-webhook-service' - namespace: 'helmtests' - path: /convert - conversionReviewVersions: - - v1 - group: lifecycle.keptn.sh - names: - kind: KeptnApp - listKind: KeptnAppList - plural: keptnapps - singular: keptnapp - scope: Namespaced - versions: - - name: v1 - 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: {} - - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/lifecycleOperator/templates/keptnappcontext-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnappcontexts.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -spec: - group: lifecycle.keptn.sh - names: - kind: KeptnAppContext - listKind: KeptnAppContextList - plural: keptnappcontexts - singular: keptnappcontext - scope: Namespaced - versions: - - name: v1 - 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: {} - - 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: false - 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.16.5 - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -spec: - group: lifecycle.keptn.sh - names: - kind: KeptnAppCreationRequest - listKind: KeptnAppCreationRequestList - plural: keptnappcreationrequests - singular: keptnappcreationrequest - scope: Namespaced - versions: - - name: v1 - 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: {} - - 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: false - 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.16.5 - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -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 - 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 - - jsonPath: .status.promotionStatus - name: PromotionStatus - priority: 1 - type: string - name: v1 - 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: {} - - 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 - 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: - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/lifecycleOperator/templates/keptnconfig-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnconfigs.options.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -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: {} ---- -# Source: keptn/charts/lifecycleOperator/templates/keptnevaluation-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnevaluations.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -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: v1 - 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: {} - - 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: 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.16.5 - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -spec: - group: lifecycle.keptn.sh - names: - kind: KeptnEvaluationDefinition - listKind: KeptnEvaluationDefinitionList - plural: keptnevaluationdefinitions - shortNames: - - ked - singular: keptnevaluationdefinition - scope: Namespaced - versions: - - name: v1 - 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: {} - - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/lifecycleOperator/templates/keptntask-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptntasks.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -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: v1 - 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: {} - - 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: false - 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.16.5 - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -spec: - group: lifecycle.keptn.sh - names: - kind: KeptnTaskDefinition - listKind: KeptnTaskDefinitionList - plural: keptntaskdefinitions - singular: keptntaskdefinition - scope: Namespaced - versions: - - name: v1 - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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 - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - type: string - optional: - description: Specify whether the Secret must be defined - type: boolean - type: object - x-kubernetes-map-type: atomic - type: object - type: array - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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 - sleep: - description: Sleep represents the duration that the container - should sleep before being terminated. - properties: - seconds: - description: Seconds is the number of seconds to sleep. - format: int64 - type: integer - required: - - seconds - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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 - sleep: - description: Sleep represents the duration that the container - should sleep before being terminated. - properties: - seconds: - description: Seconds is the number of seconds to sleep. - format: int64 - type: integer - required: - - seconds - 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 - x-kubernetes-list-type: atomic - 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: - default: "" - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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: - default: "" - 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 - x-kubernetes-list-type: atomic - 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 - request: - description: |- - Request is the name chosen for a request in the referenced claim. - If empty, everything from the claim is made available, otherwise - only the result of this request. - 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 - appArmorProfile: - description: |- - appArmorProfile is the AppArmor options to use by this container. If set, this profile - overrides the pod's appArmorProfile. - Note that this field cannot be set when spec.os.name is windows. - properties: - localhostProfile: - description: |- - localhostProfile indicates a profile loaded on the node that should be used. - The profile must be preconfigured on the node to work. - Must match the loaded name of the profile. - Must be set if and only if type is "Localhost". - type: string - type: - description: |- - type indicates which kind of AppArmor profile will be applied. - Valid options are: - Localhost - a profile pre-loaded on the node. - RuntimeDefault - the container runtime's default profile. - Unconfined - no AppArmor enforcement. - type: string - required: - - type - type: object - 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 - x-kubernetes-list-type: atomic - drop: - description: Removed capabilities - items: - description: Capability represent POSIX capabilities - type - type: string - type: array - x-kubernetes-list-type: atomic - 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 value is Default 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 - x-kubernetes-list-type: atomic - 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: - default: "" - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-map-keys: - - devicePath - x-kubernetes-list-type: map - 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. - When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified - (which defaults to None). - 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 - recursiveReadOnly: - description: |- - RecursiveReadOnly specifies whether read-only mounts should be handled - recursively. - - If ReadOnly is false, this field has no meaning and must be unspecified. - - If ReadOnly is true, and this field is set to Disabled, the mount is not made - recursively read-only. If this field is set to IfPossible, the mount is made - recursively read-only, if it is supported by the container runtime. If this - field is set to Enabled, the mount is made recursively read-only if it is - supported by the container runtime, otherwise the pod will not be started and - an error will be generated to indicate the reason. - - If this field is set to IfPossible or Enabled, MountPropagation must be set to - None (or be unspecified, which defaults to None). - - If this field is not specified, it is treated as an equivalent of Disabled. - type: string - 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 - x-kubernetes-list-map-keys: - - mountPath - x-kubernetes-list-type: map - 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 - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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: {} - - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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 - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - type: string - optional: - description: Specify whether the Secret must be defined - type: boolean - type: object - x-kubernetes-map-type: atomic - type: object - type: array - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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 - sleep: - description: Sleep represents the duration that the container - should sleep before being terminated. - properties: - seconds: - description: Seconds is the number of seconds to sleep. - format: int64 - type: integer - required: - - seconds - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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 - sleep: - description: Sleep represents the duration that the container - should sleep before being terminated. - properties: - seconds: - description: Seconds is the number of seconds to sleep. - format: int64 - type: integer - required: - - seconds - 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 - x-kubernetes-list-type: atomic - 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: - default: "" - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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: - default: "" - 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 - x-kubernetes-list-type: atomic - 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 - request: - description: |- - Request is the name chosen for a request in the referenced claim. - If empty, everything from the claim is made available, otherwise - only the result of this request. - 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 - appArmorProfile: - description: |- - appArmorProfile is the AppArmor options to use by this container. If set, this profile - overrides the pod's appArmorProfile. - Note that this field cannot be set when spec.os.name is windows. - properties: - localhostProfile: - description: |- - localhostProfile indicates a profile loaded on the node that should be used. - The profile must be preconfigured on the node to work. - Must match the loaded name of the profile. - Must be set if and only if type is "Localhost". - type: string - type: - description: |- - type indicates which kind of AppArmor profile will be applied. - Valid options are: - Localhost - a profile pre-loaded on the node. - RuntimeDefault - the container runtime's default profile. - Unconfined - no AppArmor enforcement. - type: string - required: - - type - type: object - 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 - x-kubernetes-list-type: atomic - drop: - description: Removed capabilities - items: - description: Capability represent POSIX capabilities - type - type: string - type: array - x-kubernetes-list-type: atomic - 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 value is Default 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 - x-kubernetes-list-type: atomic - 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: - default: "" - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-map-keys: - - devicePath - x-kubernetes-list-type: map - 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. - When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified - (which defaults to None). - 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 - recursiveReadOnly: - description: |- - RecursiveReadOnly specifies whether read-only mounts should be handled - recursively. - - If ReadOnly is false, this field has no meaning and must be unspecified. - - If ReadOnly is true, and this field is set to Disabled, the mount is not made - recursively read-only. If this field is set to IfPossible, the mount is made - recursively read-only, if it is supported by the container runtime. If this - field is set to Enabled, the mount is made recursively read-only if it is - supported by the container runtime, otherwise the pod will not be started and - an error will be generated to indicate the reason. - - If this field is set to IfPossible or Enabled, MountPropagation must be set to - None (or be unspecified, which defaults to None). - - If this field is not specified, it is treated as an equivalent of Disabled. - type: string - 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 - x-kubernetes-list-map-keys: - - mountPath - x-kubernetes-list-type: map - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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 - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - type: string - optional: - description: Specify whether the Secret must be defined - type: boolean - type: object - x-kubernetes-map-type: atomic - type: object - type: array - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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 - sleep: - description: Sleep represents the duration that the container - should sleep before being terminated. - properties: - seconds: - description: Seconds is the number of seconds to sleep. - format: int64 - type: integer - required: - - seconds - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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 - sleep: - description: Sleep represents the duration that the container - should sleep before being terminated. - properties: - seconds: - description: Seconds is the number of seconds to sleep. - format: int64 - type: integer - required: - - seconds - 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 - x-kubernetes-list-type: atomic - 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: - default: "" - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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: - default: "" - 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 - x-kubernetes-list-type: atomic - 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 - request: - description: |- - Request is the name chosen for a request in the referenced claim. - If empty, everything from the claim is made available, otherwise - only the result of this request. - 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 - appArmorProfile: - description: |- - appArmorProfile is the AppArmor options to use by this container. If set, this profile - overrides the pod's appArmorProfile. - Note that this field cannot be set when spec.os.name is windows. - properties: - localhostProfile: - description: |- - localhostProfile indicates a profile loaded on the node that should be used. - The profile must be preconfigured on the node to work. - Must match the loaded name of the profile. - Must be set if and only if type is "Localhost". - type: string - type: - description: |- - type indicates which kind of AppArmor profile will be applied. - Valid options are: - Localhost - a profile pre-loaded on the node. - RuntimeDefault - the container runtime's default profile. - Unconfined - no AppArmor enforcement. - type: string - required: - - type - type: object - 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 - x-kubernetes-list-type: atomic - drop: - description: Removed capabilities - items: - description: Capability represent POSIX capabilities - type - type: string - type: array - x-kubernetes-list-type: atomic - 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 value is Default 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 - x-kubernetes-list-type: atomic - 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: - default: "" - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-map-keys: - - devicePath - x-kubernetes-list-type: map - 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. - When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified - (which defaults to None). - 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 - recursiveReadOnly: - description: |- - RecursiveReadOnly specifies whether read-only mounts should be handled - recursively. - - If ReadOnly is false, this field has no meaning and must be unspecified. - - If ReadOnly is true, and this field is set to Disabled, the mount is not made - recursively read-only. If this field is set to IfPossible, the mount is made - recursively read-only, if it is supported by the container runtime. If this - field is set to Enabled, the mount is made recursively read-only if it is - supported by the container runtime, otherwise the pod will not be started and - an error will be generated to indicate the reason. - - If this field is set to IfPossible or Enabled, MountPropagation must be set to - None (or be unspecified, which defaults to None). - - If this field is not specified, it is treated as an equivalent of Disabled. - type: string - 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 - x-kubernetes-list-map-keys: - - mountPath - x-kubernetes-list-type: map - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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: {} ---- -# Source: keptn/charts/lifecycleOperator/templates/keptnworkload-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnworkloads.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -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: v1 - 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: {} - - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/lifecycleOperator/templates/keptnworkloadversion-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnworkloadversions.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -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: v1 - 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: {} - - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/certManager/templates/certificate-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: certificate-operator-role - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: cert-manager - app.kubernetes.io/version: v3.0.0 - helm.sh/chart: cert-manager-0.3.0 -rules: -- apiGroups: - - admissionregistration.k8s.io - resources: - - mutatingwebhookconfigurations - - validatingwebhookconfigurations - verbs: - - get - - list - - patch - - update - - watch -- apiGroups: - - apiextensions.k8s.io - resources: - - customresourcedefinitions - verbs: - - get - - list - - patch - - update - - watch -- apiGroups: - - apps - resources: - - deployments - verbs: - - get - - list - - watch ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: lifecycle-operator-role - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -rules: -- apiGroups: - - "" - resources: - - configmaps - verbs: - - create - - get - - list - - update - - watch -- apiGroups: - - "" - resources: - - deployments - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - "" - resources: - - events - verbs: - - create - - patch - - watch -- apiGroups: - - "" - resources: - - namespaces - verbs: - - get - - list - - watch -- apiGroups: - - "" - resources: - - pods - verbs: - - get - - list - - update - - watch -- apiGroups: - - "" - resources: - - secrets - verbs: - - get -- apiGroups: - - apps - resources: - - daemonsets - - deployments - - replicasets - - statefulsets - verbs: - - get - - list - - watch -- apiGroups: - - argoproj.io - resources: - - rollouts - verbs: - - get - - list - - watch -- apiGroups: - - batch - resources: - - jobs - verbs: - - create - - get - - list - - update - - watch -- apiGroups: - - batch - resources: - - jobs/status - verbs: - - get - - list -- apiGroups: - - lifecycle.keptn.sh - resources: - - keptnappcontexts - - keptnevaluationdefinitions - verbs: - - get - - list - - watch -- apiGroups: - - lifecycle.keptn.sh - resources: - - keptnappcreationrequests - - keptnapps - - keptnappversion - - keptnappversions - - keptnevaluations - - keptntaskdefinitions - - keptntasks - - keptnworkloads - - keptnworkloadversions - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - lifecycle.keptn.sh - resources: - - keptnappcreationrequests/finalizers - - keptnapps/finalizers - - keptnappversion/finalizers - - keptnappversions/finalizers - - keptnevaluations/finalizers - - keptntaskdefinitions/finalizers - - keptntasks/finalizers - - keptnworkloads/finalizers - - keptnworkloadversions/finalizers - verbs: - - update -- apiGroups: - - lifecycle.keptn.sh - resources: - - keptnappcreationrequests/status - - keptnapps/status - - keptnappversion/status - - keptnappversions/status - - keptnevaluations/status - - keptntaskdefinitions/status - - keptntasks/status - - keptnworkloads/status - - keptnworkloadversions/status - verbs: - - get - - patch - - update -- apiGroups: - - metrics.keptn.sh - resources: - - keptnmetrics - verbs: - - get - - list - - watch -- apiGroups: - - options.keptn.sh - resources: - - keptnconfigs - verbs: - - get - - list - - watch -- apiGroups: - - options.keptn.sh - resources: - - keptnconfigs/status - verbs: - - get ---- -# Source: keptn/charts/lifecycleOperator/templates/server-resources-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: keptn-test-lifecycleOperator-server-resources - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -rules: -- apiGroups: - - custom.metrics.k8s.io - resources: - - '*' - verbs: - - '*' ---- -# Source: keptn/charts/certManager/templates/certificate-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: certificate-operator-rolebinding - namespace: "helmtests" - labels: - app.kubernetes.io/component: rbac - app.kubernetes.io/created-by: certificate-operator - app.kubernetes.io/part-of: keptn - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: cert-manager - app.kubernetes.io/version: v3.0.0 - helm.sh/chart: cert-manager-0.3.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: 'certificate-operator-role' -subjects: -- kind: ServiceAccount - name: 'certificate-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: lifecycle-operator-rolebinding - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: 'lifecycle-operator-role' -subjects: -- kind: ServiceAccount - name: 'lifecycle-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/certManager/templates/certificate-operator-leader-election-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: certificate-operator-leader-election-role - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: cert-manager - app.kubernetes.io/version: v3.0.0 - helm.sh/chart: cert-manager-0.3.0 -rules: -- apiGroups: - - "" - resources: - - configmaps - verbs: - - get - - list - - watch - - create - - update - - patch - - delete -- apiGroups: - - coordination.k8s.io - resources: - - leases - verbs: - - get - - list - - watch - - create - - update - - patch - - delete -- apiGroups: - - "" - resources: - - events - verbs: - - create - - patch ---- -# Source: keptn/charts/certManager/templates/certificate-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: certificate-operator-role - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: cert-manager - app.kubernetes.io/version: v3.0.0 - helm.sh/chart: cert-manager-0.3.0 -rules: -- apiGroups: - - "" - resources: - - secrets - verbs: - - create - - list - - watch -- apiGroups: - - "" - resourceNames: - - keptn-certs - resources: - - secrets - verbs: - - get - - patch - - update ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-operator-leader-election-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: lifecycle-operator-leader-election-role - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -rules: -- apiGroups: - - "" - resources: - - configmaps - verbs: - - get - - list - - watch - - create - - update - - patch - - delete -- apiGroups: - - coordination.k8s.io - resources: - - leases - verbs: - - get - - list - - watch - - create - - update - - patch - - delete -- apiGroups: - - "" - resources: - - events - verbs: - - create - - patch ---- -# Source: keptn/charts/certManager/templates/certificate-operator-leader-election-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: certificate-operator-leader-election-rolebinding - namespace: "helmtests" - labels: - app.kubernetes.io/component: rbac - app.kubernetes.io/created-by: certificate-operator - app.kubernetes.io/part-of: keptn - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: cert-manager - app.kubernetes.io/version: v3.0.0 - helm.sh/chart: cert-manager-0.3.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: 'certificate-operator-leader-election-role' -subjects: - - kind: ServiceAccount - name: 'certificate-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/certManager/templates/certificate-operator-role-binding-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: certificate-operator-role-binding - namespace: "helmtests" - labels: - app.kubernetes.io/component: rbac - app.kubernetes.io/created-by: certificate-operator - app.kubernetes.io/part-of: keptn - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: cert-manager - app.kubernetes.io/version: v3.0.0 - helm.sh/chart: cert-manager-0.3.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: 'certificate-operator-role' -subjects: -- kind: ServiceAccount - name: 'certificate-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-operator-leader-election-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: lifecycle-operator-leader-election-rolebinding - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: 'lifecycle-operator-leader-election-role' -subjects: -- kind: ServiceAccount - name: 'lifecycle-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: lifecycle-operator-rolebinding - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: 'lifecycle-operator-role' -subjects: -- kind: ServiceAccount - name: 'lifecycle-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-operator-metrics-service.yaml -apiVersion: v1 -kind: Service -metadata: - name: lifecycle-operator-metrics-service - namespace: "helmtests" - labels: - control-plane: lifecycle-operator - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -spec: - type: ClusterIP - selector: - control-plane: lifecycle-operator - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/instance: keptn-test - ports: - - name: metrics - port: 2222 - protocol: TCP - targetPort: metrics ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-webhook-service.yaml -apiVersion: v1 -kind: Service -metadata: - name: lifecycle-webhook-service - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -spec: - type: ClusterIP - selector: - control-plane: lifecycle-operator - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/instance: keptn-test - ports: - - port: 443 - protocol: TCP - targetPort: 9443 ---- -# Source: keptn/charts/certManager/templates/deployment.yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: certificate-operator - namespace: "helmtests" - labels: - app.kubernetes.io/component: keptn-cert-manager - app.kubernetes.io/part-of: keptn - control-plane: certificate-operator - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: cert-manager - app.kubernetes.io/version: v3.0.0 - helm.sh/chart: cert-manager-0.3.0 -spec: - replicas: 1 - selector: - matchLabels: - control-plane: certificate-operator - app.kubernetes.io/name: cert-manager - app.kubernetes.io/instance: keptn-test - template: - metadata: - labels: - control-plane: certificate-operator - app.kubernetes.io/name: cert-manager - app.kubernetes.io/instance: keptn-test - annotations: - kubectl.kubernetes.io/default-container: certificate-operator - spec: - containers: - - args: - - --leader-elect - command: - - /manager - env: - - name: NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: LABEL_SELECTOR_KEY - value: "keptn.sh/inject-cert" - - name: LABEL_SELECTOR_VALUE - value: "true" - - name: KUBERNETES_CLUSTER_DOMAIN - value: cluster.local - image: ghcr.io/keptn/certificate-operator:v0.0.0 - imagePullPolicy: IfNotPresent - name: certificate-operator - resources: - limits: - cpu: 25m - memory: 64Mi - requests: - cpu: 5m - memory: 16Mi - securityContext: - allowPrivilegeEscalation: false - capabilities: - drop: - - ALL - readOnlyRootFilesystem: true - runAsGroup: 65532 - runAsUser: 65532 - seccompProfile: - type: RuntimeDefault - livenessProbe: - httpGet: - path: /healthz - port: 8081 - initialDelaySeconds: 15 - periodSeconds: 20 - readinessProbe: - httpGet: - path: /readyz - port: 8081 - initialDelaySeconds: 5 - periodSeconds: 10 - - securityContext: - runAsNonRoot: true - serviceAccountName: certificate-operator - terminationGracePeriodSeconds: 10 ---- -# Source: keptn/charts/lifecycleOperator/templates/deployment.yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: lifecycle-operator - namespace: "helmtests" - labels: - app.kubernetes.io/part-of: keptn - control-plane: lifecycle-operator - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -spec: - replicas: 1 - selector: - matchLabels: - control-plane: lifecycle-operator - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/instance: keptn-test - template: - metadata: - labels: - control-plane: lifecycle-operator - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/instance: keptn-test - annotations: - kubectl.kubernetes.io/default-container: lifecycle-operator - metrics.dynatrace.com/port: "2222" - metrics.dynatrace.com/scrape: "true" - spec: - containers: - - args: - - --leader-elect - command: - - /manager - env: - - name: POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: FUNCTION_RUNNER_IMAGE - value: "ghcr.io/keptn/deno-runtime:v3.0.1" - - name: PYTHON_RUNNER_IMAGE - value: "ghcr.io/keptn/python-runtime:v1.0.8" - - name: KEPTN_APP_CONTROLLER_LOG_LEVEL - value: "0" - - name: KEPTN_APP_CREATION_REQUEST_CONTROLLER_LOG_LEVEL - value: "0" - - name: KEPTN_APP_VERSION_CONTROLLER_LOG_LEVEL - value: "0" - - name: KEPTN_EVALUATION_CONTROLLER_LOG_LEVEL - value: "0" - - name: KEPTN_TASK_CONTROLLER_LOG_LEVEL - value: "0" - - name: KEPTN_TASK_DEFINITION_CONTROLLER_LOG_LEVEL - value: "0" - - name: KEPTN_WORKLOAD_CONTROLLER_LOG_LEVEL - value: "0" - - name: KEPTN_WORKLOAD_VERSION_CONTROLLER_LOG_LEVEL - value: "0" - - name: KEPTN_DORA_METRICS_PORT - value: "2222" - - name: OPTIONS_CONTROLLER_LOG_LEVEL - value: "0" - - name: PROMOTION_TASKS_ENABLED - value: "false" - - name: KUBERNETES_CLUSTER_DOMAIN - value: cluster.local - - name: CERT_MANAGER_ENABLED - value: "true" - image: ghcr.io/keptn/lifecycle-operator:v0.0.0 - imagePullPolicy: Never - name: lifecycle-operator - ports: - - containerPort: 9443 - name: webhook-server - protocol: TCP - - containerPort: 2222 - name: metrics - protocol: TCP - resources: - limits: - cpu: 500m - memory: 128Mi - requests: - cpu: 5m - memory: 64Mi - securityContext: - allowPrivilegeEscalation: false - capabilities: - drop: - - ALL - privileged: false - runAsGroup: 65532 - runAsUser: 65532 - runAsNonRoot: true - seccompProfile: - type: RuntimeDefault - volumeMounts: - - name: keptn-certs - mountPath: /tmp/webhook/certs/ - livenessProbe: - httpGet: - path: /healthz - port: 8081 - initialDelaySeconds: 15 - periodSeconds: 20 - readinessProbe: - httpGet: - path: /readyz - port: 8081 - initialDelaySeconds: 5 - periodSeconds: 10 - - securityContext: - runAsNonRoot: true - serviceAccountName: lifecycle-operator - terminationGracePeriodSeconds: 10 - hostNetwork: false - volumes: - - name: keptn-certs - secret: - secretName: keptn-certs ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-mutating-webhook-configuration.yaml -apiVersion: admissionregistration.k8s.io/v1 -kind: MutatingWebhookConfiguration -metadata: - name: lifecycle-mutating-webhook-configuration - labels: - keptn.sh/inject-cert: "true" - app.kubernetes.io/part-of: "keptn" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -webhooks: -- admissionReviewVersions: - - v1 - clientConfig: - service: - name: 'lifecycle-webhook-service' - namespace: 'helmtests' - path: /mutate-v1-pod - failurePolicy: Fail - name: mpod.keptn.sh - namespaceSelector: - matchExpressions: - - key: control-plane - operator: NotIn - values: - - lifecycle-operator - - key: kubernetes.io/metadata.name - operator: NotIn - values: ["cert-manager","keptn-system","observability","monitoring"] - - key: kubernetes.io/metadata.name - operator: NotIn - values: - - 'helmtests' - - kube-system - - kube-public - - kube-node-lease - rules: - - apiGroups: - - "" - apiVersions: - - v1 - operations: - - CREATE - - UPDATE - resources: - - pods - sideEffects: None ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-validating-webhook-configuration.yaml -apiVersion: admissionregistration.k8s.io/v1 -kind: ValidatingWebhookConfiguration -metadata: - name: lifecycle-validating-webhook-configuration - labels: - 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: v2.0.0 - helm.sh/chart: lifecycle-operator-0.6.0 -webhooks: -- admissionReviewVersions: - - v1 - clientConfig: - service: - name: 'lifecycle-webhook-service' - namespace: 'helmtests' - path: /validate-lifecycle-keptn-sh-v1-keptntaskdefinition - failurePolicy: Fail - name: vkeptntaskdefinition.kb.io - rules: - - apiGroups: - - lifecycle.keptn.sh - apiVersions: - - v1 - operations: - - CREATE - - UPDATE - resources: - - keptntaskdefinitions - sideEffects: None diff --git a/.github/scripts/.helm-tests/lifecycle-with-certs/values.yaml b/.github/scripts/.helm-tests/lifecycle-with-certs/values.yaml deleted file mode 100644 index a580a2db90..0000000000 --- a/.github/scripts/.helm-tests/lifecycle-with-certs/values.yaml +++ /dev/null @@ -1,10 +0,0 @@ -certManager: - image: - tag: v0.0.0 -lifecycleOperator: - enabled: true - image: - tag: v0.0.0 - imagePullPolicy: Never -metricsOperator: - enabled: false diff --git a/.github/scripts/.helm-tests/local-global-precedence/result.yaml b/.github/scripts/.helm-tests/local-global-precedence/result.yaml deleted file mode 100644 index e60cc4b6e6..0000000000 --- a/.github/scripts/.helm-tests/local-global-precedence/result.yaml +++ /dev/null @@ -1,15828 +0,0 @@ ---- -# Source: keptn/charts/certManager/templates/service-account.yaml -apiVersion: v1 -kind: ServiceAccount -metadata: - name: certificate-operator - namespace: "helmtests" - annotations: - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - labels: - app.kubernetes.io/component: rbac - app.kubernetes.io/part-of: keptn - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: cert-manager - app.kubernetes.io/version: v3.0.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: cert-manager-0.3.0 ---- -# Source: keptn/charts/lifecycleOperator/templates/deployment.yaml -apiVersion: v1 -kind: ServiceAccount -metadata: - name: lifecycle-operator - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: lifecycle-operator-0.6.0 - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-service-account.yaml -apiVersion: v1 -kind: ServiceAccount -metadata: - name: metrics-operator - namespace: "helmtests" - annotations: - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: metrics-operator-0.5.0 ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-manager-config.yaml -apiVersion: v1 -kind: ConfigMap -metadata: - name: lifecycle-manager-config - namespace: "helmtests" - annotations: - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: lifecycle-operator-0.6.0 -data: - controller_manager_config.yaml: | - apiVersion: controller-runtime.sigs.k8s.io/v1alpha1 - health: - healthProbeBindAddress: ":8081" - kind: ControllerManagerConfig - leaderElection: - leaderElect: true - resourceName: "6b866dd9.keptn.sh" - metrics: - bindAddress: "127.0.0.1:8080" - webhook: - port: 9443 ---- -# Source: keptn/charts/metricsOperator/templates/metrics-manager-config.yaml -apiVersion: v1 -kind: ConfigMap -metadata: - name: metrics-operator-config - namespace: "helmtests" - annotations: - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: metrics-operator-0.5.0 -data: - controller_manager_config.yaml: | - apiVersion: controller-runtime.sigs.k8s.io/v1alpha1 - health: - healthProbeBindAddress: ":8081" - kind: ControllerManagerConfig - leaderElection: - leaderElect: true - resourceName: "3f8532ca.keptn.sh" - metrics: - bindAddress: "127.0.0.1:8080" - webhook: - port: 9443 ---- -# Source: keptn/charts/lifecycleOperator/templates/keptnapp-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnapps.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - caAnnotation1: hi - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - 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: v2.0.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: lifecycle-operator-0.6.0 -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: 'lifecycle-webhook-service' - namespace: 'helmtests' - path: /convert - conversionReviewVersions: - - v1 - group: lifecycle.keptn.sh - names: - kind: KeptnApp - listKind: KeptnAppList - plural: keptnapps - singular: keptnapp - scope: Namespaced - versions: - - name: v1 - 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: {} - - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/lifecycleOperator/templates/keptnappcontext-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnappcontexts.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - cert-manager.io/inject-ca-from: 'helmtests/keptn-certs' - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - 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: v2.0.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: lifecycle-operator-0.6.0 -spec: - group: lifecycle.keptn.sh - names: - kind: KeptnAppContext - listKind: KeptnAppContextList - plural: keptnappcontexts - singular: keptnappcontext - scope: Namespaced - versions: - - name: v1 - 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: {} - - 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: false - 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.16.5 - caAnnotation1: hi - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - 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: v2.0.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: lifecycle-operator-0.6.0 -spec: - group: lifecycle.keptn.sh - names: - kind: KeptnAppCreationRequest - listKind: KeptnAppCreationRequestList - plural: keptnappcreationrequests - singular: keptnappcreationrequest - scope: Namespaced - versions: - - name: v1 - 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: {} - - 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: false - 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.16.5 - caAnnotation1: hi - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - 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: v2.0.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: lifecycle-operator-0.6.0 -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 - 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 - - jsonPath: .status.promotionStatus - name: PromotionStatus - priority: 1 - type: string - name: v1 - 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: {} - - 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 - 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: - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/lifecycleOperator/templates/keptnconfig-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnconfigs.options.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - caAnnotation1: hi - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - 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: v2.0.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: lifecycle-operator-0.6.0 -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: {} ---- -# Source: keptn/charts/lifecycleOperator/templates/keptnevaluation-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnevaluations.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - caAnnotation1: hi - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - 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: v2.0.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: lifecycle-operator-0.6.0 -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: v1 - 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: {} - - 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: 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.16.5 - caAnnotation1: hi - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - 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: v2.0.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: lifecycle-operator-0.6.0 -spec: - group: lifecycle.keptn.sh - names: - kind: KeptnEvaluationDefinition - listKind: KeptnEvaluationDefinitionList - plural: keptnevaluationdefinitions - shortNames: - - ked - singular: keptnevaluationdefinition - scope: Namespaced - versions: - - name: v1 - 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: {} - - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/lifecycleOperator/templates/keptntask-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptntasks.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - caAnnotation1: hi - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - 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: v2.0.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: lifecycle-operator-0.6.0 -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: v1 - 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: {} - - 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: false - 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.16.5 - caAnnotation1: hi - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - 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: v2.0.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: lifecycle-operator-0.6.0 -spec: - group: lifecycle.keptn.sh - names: - kind: KeptnTaskDefinition - listKind: KeptnTaskDefinitionList - plural: keptntaskdefinitions - singular: keptntaskdefinition - scope: Namespaced - versions: - - name: v1 - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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 - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - type: string - optional: - description: Specify whether the Secret must be defined - type: boolean - type: object - x-kubernetes-map-type: atomic - type: object - type: array - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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 - sleep: - description: Sleep represents the duration that the container - should sleep before being terminated. - properties: - seconds: - description: Seconds is the number of seconds to sleep. - format: int64 - type: integer - required: - - seconds - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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 - sleep: - description: Sleep represents the duration that the container - should sleep before being terminated. - properties: - seconds: - description: Seconds is the number of seconds to sleep. - format: int64 - type: integer - required: - - seconds - 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 - x-kubernetes-list-type: atomic - 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: - default: "" - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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: - default: "" - 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 - x-kubernetes-list-type: atomic - 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 - request: - description: |- - Request is the name chosen for a request in the referenced claim. - If empty, everything from the claim is made available, otherwise - only the result of this request. - 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 - appArmorProfile: - description: |- - appArmorProfile is the AppArmor options to use by this container. If set, this profile - overrides the pod's appArmorProfile. - Note that this field cannot be set when spec.os.name is windows. - properties: - localhostProfile: - description: |- - localhostProfile indicates a profile loaded on the node that should be used. - The profile must be preconfigured on the node to work. - Must match the loaded name of the profile. - Must be set if and only if type is "Localhost". - type: string - type: - description: |- - type indicates which kind of AppArmor profile will be applied. - Valid options are: - Localhost - a profile pre-loaded on the node. - RuntimeDefault - the container runtime's default profile. - Unconfined - no AppArmor enforcement. - type: string - required: - - type - type: object - 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 - x-kubernetes-list-type: atomic - drop: - description: Removed capabilities - items: - description: Capability represent POSIX capabilities - type - type: string - type: array - x-kubernetes-list-type: atomic - 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 value is Default 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 - x-kubernetes-list-type: atomic - 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: - default: "" - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-map-keys: - - devicePath - x-kubernetes-list-type: map - 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. - When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified - (which defaults to None). - 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 - recursiveReadOnly: - description: |- - RecursiveReadOnly specifies whether read-only mounts should be handled - recursively. - - If ReadOnly is false, this field has no meaning and must be unspecified. - - If ReadOnly is true, and this field is set to Disabled, the mount is not made - recursively read-only. If this field is set to IfPossible, the mount is made - recursively read-only, if it is supported by the container runtime. If this - field is set to Enabled, the mount is made recursively read-only if it is - supported by the container runtime, otherwise the pod will not be started and - an error will be generated to indicate the reason. - - If this field is set to IfPossible or Enabled, MountPropagation must be set to - None (or be unspecified, which defaults to None). - - If this field is not specified, it is treated as an equivalent of Disabled. - type: string - 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 - x-kubernetes-list-map-keys: - - mountPath - x-kubernetes-list-type: map - 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 - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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: {} - - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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 - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - type: string - optional: - description: Specify whether the Secret must be defined - type: boolean - type: object - x-kubernetes-map-type: atomic - type: object - type: array - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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 - sleep: - description: Sleep represents the duration that the container - should sleep before being terminated. - properties: - seconds: - description: Seconds is the number of seconds to sleep. - format: int64 - type: integer - required: - - seconds - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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 - sleep: - description: Sleep represents the duration that the container - should sleep before being terminated. - properties: - seconds: - description: Seconds is the number of seconds to sleep. - format: int64 - type: integer - required: - - seconds - 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 - x-kubernetes-list-type: atomic - 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: - default: "" - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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: - default: "" - 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 - x-kubernetes-list-type: atomic - 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 - request: - description: |- - Request is the name chosen for a request in the referenced claim. - If empty, everything from the claim is made available, otherwise - only the result of this request. - 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 - appArmorProfile: - description: |- - appArmorProfile is the AppArmor options to use by this container. If set, this profile - overrides the pod's appArmorProfile. - Note that this field cannot be set when spec.os.name is windows. - properties: - localhostProfile: - description: |- - localhostProfile indicates a profile loaded on the node that should be used. - The profile must be preconfigured on the node to work. - Must match the loaded name of the profile. - Must be set if and only if type is "Localhost". - type: string - type: - description: |- - type indicates which kind of AppArmor profile will be applied. - Valid options are: - Localhost - a profile pre-loaded on the node. - RuntimeDefault - the container runtime's default profile. - Unconfined - no AppArmor enforcement. - type: string - required: - - type - type: object - 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 - x-kubernetes-list-type: atomic - drop: - description: Removed capabilities - items: - description: Capability represent POSIX capabilities - type - type: string - type: array - x-kubernetes-list-type: atomic - 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 value is Default 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 - x-kubernetes-list-type: atomic - 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: - default: "" - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-map-keys: - - devicePath - x-kubernetes-list-type: map - 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. - When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified - (which defaults to None). - 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 - recursiveReadOnly: - description: |- - RecursiveReadOnly specifies whether read-only mounts should be handled - recursively. - - If ReadOnly is false, this field has no meaning and must be unspecified. - - If ReadOnly is true, and this field is set to Disabled, the mount is not made - recursively read-only. If this field is set to IfPossible, the mount is made - recursively read-only, if it is supported by the container runtime. If this - field is set to Enabled, the mount is made recursively read-only if it is - supported by the container runtime, otherwise the pod will not be started and - an error will be generated to indicate the reason. - - If this field is set to IfPossible or Enabled, MountPropagation must be set to - None (or be unspecified, which defaults to None). - - If this field is not specified, it is treated as an equivalent of Disabled. - type: string - 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 - x-kubernetes-list-map-keys: - - mountPath - x-kubernetes-list-type: map - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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 - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - type: string - optional: - description: Specify whether the Secret must be defined - type: boolean - type: object - x-kubernetes-map-type: atomic - type: object - type: array - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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 - sleep: - description: Sleep represents the duration that the container - should sleep before being terminated. - properties: - seconds: - description: Seconds is the number of seconds to sleep. - format: int64 - type: integer - required: - - seconds - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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 - sleep: - description: Sleep represents the duration that the container - should sleep before being terminated. - properties: - seconds: - description: Seconds is the number of seconds to sleep. - format: int64 - type: integer - required: - - seconds - 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 - x-kubernetes-list-type: atomic - 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: - default: "" - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-type: atomic - 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: - default: "" - 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 - x-kubernetes-list-type: atomic - 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 - request: - description: |- - Request is the name chosen for a request in the referenced claim. - If empty, everything from the claim is made available, otherwise - only the result of this request. - 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 - appArmorProfile: - description: |- - appArmorProfile is the AppArmor options to use by this container. If set, this profile - overrides the pod's appArmorProfile. - Note that this field cannot be set when spec.os.name is windows. - properties: - localhostProfile: - description: |- - localhostProfile indicates a profile loaded on the node that should be used. - The profile must be preconfigured on the node to work. - Must match the loaded name of the profile. - Must be set if and only if type is "Localhost". - type: string - type: - description: |- - type indicates which kind of AppArmor profile will be applied. - Valid options are: - Localhost - a profile pre-loaded on the node. - RuntimeDefault - the container runtime's default profile. - Unconfined - no AppArmor enforcement. - type: string - required: - - type - type: object - 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 - x-kubernetes-list-type: atomic - drop: - description: Removed capabilities - items: - description: Capability represent POSIX capabilities - type - type: string - type: array - x-kubernetes-list-type: atomic - 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 value is Default 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 - x-kubernetes-list-type: atomic - 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: - default: "" - 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 - x-kubernetes-list-type: atomic - 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 - x-kubernetes-list-map-keys: - - devicePath - x-kubernetes-list-type: map - 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. - When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified - (which defaults to None). - 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 - recursiveReadOnly: - description: |- - RecursiveReadOnly specifies whether read-only mounts should be handled - recursively. - - If ReadOnly is false, this field has no meaning and must be unspecified. - - If ReadOnly is true, and this field is set to Disabled, the mount is not made - recursively read-only. If this field is set to IfPossible, the mount is made - recursively read-only, if it is supported by the container runtime. If this - field is set to Enabled, the mount is made recursively read-only if it is - supported by the container runtime, otherwise the pod will not be started and - an error will be generated to indicate the reason. - - If this field is set to IfPossible or Enabled, MountPropagation must be set to - None (or be unspecified, which defaults to None). - - If this field is not specified, it is treated as an equivalent of Disabled. - type: string - 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 - x-kubernetes-list-map-keys: - - mountPath - x-kubernetes-list-type: map - 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: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - 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: {} ---- -# Source: keptn/charts/lifecycleOperator/templates/keptnworkload-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnworkloads.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - caAnnotation1: hi - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - 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: v2.0.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: lifecycle-operator-0.6.0 -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: v1 - 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: {} - - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/lifecycleOperator/templates/keptnworkloadversion-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnworkloadversions.lifecycle.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - caAnnotation1: hi - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - 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: v2.0.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: lifecycle-operator-0.6.0 -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: v1 - 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: {} - - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/metricsOperator/templates/analysis-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: analyses.metrics.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - caAnnotation1: hi - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - labels: - app.kubernetes.io/part-of: keptn - crdGroup: metrics.keptn.sh - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: metrics-operator-0.5.0 -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: v1 - 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:)". - 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: {} - - 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:)". - 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:)". - 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: {} ---- -# Source: keptn/charts/metricsOperator/templates/analysisdefinition-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: analysisdefinitions.metrics.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - caAnnotation1: hi - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - labels: - app.kubernetes.io/part-of: keptn - crdGroup: metrics.keptn.sh - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: metrics-operator-0.5.0 -spec: - group: metrics.keptn.sh - names: - kind: AnalysisDefinition - listKind: AnalysisDefinitionList - plural: analysisdefinitions - singular: analysisdefinition - scope: Namespaced - versions: - - name: v1 - 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: {} - - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/metricsOperator/templates/analysisvaluetemplate-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: analysisvaluetemplates.metrics.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - caAnnotation1: hi - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - labels: - app.kubernetes.io/part-of: keptn - crdGroup: metrics.keptn.sh - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: metrics-operator-0.5.0 -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: v1 - 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: {} - - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/metricsOperator/templates/keptnmetric-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnmetrics.metrics.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - caAnnotation1: hi - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - labels: - app.kubernetes.io/part-of: keptn - crdGroup: metrics.keptn.sh - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: metrics-operator-0.5.0 -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: .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: v1 - 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: {} - - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/metricsOperator/templates/keptnmetricsprovider-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnmetricsproviders.metrics.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - caAnnotation1: hi - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - labels: - app.kubernetes.io/part-of: keptn - crdGroup: metrics.keptn.sh - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: metrics-operator-0.5.0 -spec: - group: metrics.keptn.sh - names: - kind: KeptnMetricsProvider - listKind: KeptnMetricsProviderList - plural: keptnmetricsproviders - shortNames: - - kmp - singular: keptnmetricsprovider - scope: Namespaced - versions: - - name: v1 - 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: - insecureSkipTlsVerify: - default: false - description: InsecureSkipTlsVerify skips verification of the tls certificate - when fetching metrics - type: boolean - 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 - 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 - cortex, datadog, dql, dynatrace, prometheus, elastic or thanos. - pattern: cortex|datadog|dql|dynatrace|prometheus|elastic|thanos - type: string - required: - - targetServer - type: object - status: - description: unused field - type: string - type: object - served: true - storage: true - subresources: - status: {} - - 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 - 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 - 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 - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/certManager/templates/certificate-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: certificate-operator-role - namespace: "helmtests" - annotations: - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: cert-manager - app.kubernetes.io/version: v3.0.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: cert-manager-0.3.0 -rules: -- apiGroups: - - admissionregistration.k8s.io - resources: - - mutatingwebhookconfigurations - - validatingwebhookconfigurations - verbs: - - get - - list - - patch - - update - - watch -- apiGroups: - - apiextensions.k8s.io - resources: - - customresourcedefinitions - verbs: - - get - - list - - patch - - update - - watch -- apiGroups: - - apps - resources: - - deployments - verbs: - - get - - list - - watch ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: lifecycle-operator-role - namespace: "helmtests" - annotations: - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: lifecycle-operator-0.6.0 -rules: -- apiGroups: - - "" - resources: - - configmaps - verbs: - - create - - get - - list - - update - - watch -- apiGroups: - - "" - resources: - - deployments - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - "" - resources: - - events - verbs: - - create - - patch - - watch -- apiGroups: - - "" - resources: - - namespaces - verbs: - - get - - list - - watch -- apiGroups: - - "" - resources: - - pods - verbs: - - get - - list - - update - - watch -- apiGroups: - - "" - resources: - - secrets - verbs: - - get -- apiGroups: - - apps - resources: - - daemonsets - - deployments - - replicasets - - statefulsets - verbs: - - get - - list - - watch -- apiGroups: - - argoproj.io - resources: - - rollouts - verbs: - - get - - list - - watch -- apiGroups: - - batch - resources: - - jobs - verbs: - - create - - get - - list - - update - - watch -- apiGroups: - - batch - resources: - - jobs/status - verbs: - - get - - list -- apiGroups: - - lifecycle.keptn.sh - resources: - - keptnappcontexts - - keptnevaluationdefinitions - verbs: - - get - - list - - watch -- apiGroups: - - lifecycle.keptn.sh - resources: - - keptnappcreationrequests - - keptnapps - - keptnappversion - - keptnappversions - - keptnevaluations - - keptntaskdefinitions - - keptntasks - - keptnworkloads - - keptnworkloadversions - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - lifecycle.keptn.sh - resources: - - keptnappcreationrequests/finalizers - - keptnapps/finalizers - - keptnappversion/finalizers - - keptnappversions/finalizers - - keptnevaluations/finalizers - - keptntaskdefinitions/finalizers - - keptntasks/finalizers - - keptnworkloads/finalizers - - keptnworkloadversions/finalizers - verbs: - - update -- apiGroups: - - lifecycle.keptn.sh - resources: - - keptnappcreationrequests/status - - keptnapps/status - - keptnappversion/status - - keptnappversions/status - - keptnevaluations/status - - keptntaskdefinitions/status - - keptntasks/status - - keptnworkloads/status - - keptnworkloadversions/status - verbs: - - get - - patch - - update -- apiGroups: - - metrics.keptn.sh - resources: - - keptnmetrics - verbs: - - get - - list - - watch -- apiGroups: - - options.keptn.sh - resources: - - keptnconfigs - verbs: - - get - - list - - watch -- apiGroups: - - options.keptn.sh - resources: - - keptnconfigs/status - verbs: - - get ---- -# Source: keptn/charts/lifecycleOperator/templates/server-resources-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: keptn-test-lifecycleOperator-server-resources - namespace: "helmtests" - annotations: - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: lifecycle-operator-0.6.0 -rules: -- apiGroups: - - custom.metrics.k8s.io - resources: - - '*' - verbs: - - '*' ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: metrics-operator-role - namespace: "helmtests" - annotations: - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: metrics-operator-0.5.0 -rules: - - apiGroups: - - "" - resources: - - configmaps - verbs: - - get - - list - - watch - - apiGroups: - - "" - resources: - - secrets - verbs: - - get - - apiGroups: - - metrics.keptn.sh - resources: - - analyses - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - metrics.keptn.sh - resources: - - analyses/finalizers - - keptnmetrics/finalizers - verbs: - - update - - apiGroups: - - metrics.keptn.sh - resources: - - analyses/status - - keptnmetrics/status - verbs: - - get - - patch - - update - - apiGroups: - - metrics.keptn.sh - resources: - - analysisdefinitions - - analysisvaluetemplates - - keptnmetrics - - keptnmetricsproviders - - providers - verbs: - - get - - list - - watch ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-server-resources-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: metrics-operator-server-resources - namespace: "helmtests" - annotations: - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: metrics-operator-0.5.0 -rules: -- apiGroups: - - custom.metrics.k8s.io - resources: - - '*' - verbs: - - get - - list - - watch ---- -# Source: keptn/charts/certManager/templates/certificate-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: certificate-operator-rolebinding - namespace: "helmtests" - annotations: - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - labels: - app.kubernetes.io/component: rbac - app.kubernetes.io/created-by: certificate-operator - app.kubernetes.io/part-of: keptn - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: cert-manager - app.kubernetes.io/version: v3.0.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: cert-manager-0.3.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: 'certificate-operator-role' -subjects: -- kind: ServiceAccount - name: 'certificate-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: lifecycle-operator-rolebinding - namespace: "helmtests" - annotations: - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: lifecycle-operator-0.6.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: 'lifecycle-operator-role' -subjects: -- kind: ServiceAccount - name: 'lifecycle-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-hpa-controller-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: metrics-operator-hpa-controller - namespace: "helmtests" - annotations: - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: metrics-operator-0.5.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: 'metrics-operator-server-resources' -subjects: -- kind: ServiceAccount - name: horizontal-pod-autoscaler - namespace: 'helmtests' ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: metrics-operator-rolebinding - namespace: "helmtests" - annotations: - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: metrics-operator-0.5.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: 'metrics-operator-role' -subjects: - - kind: ServiceAccount - name: 'metrics-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/metricsOperator/templates/system-auth-delegator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: system-auth-delegator - namespace: "helmtests" - annotations: - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: metrics-operator-0.5.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: system:auth-delegator -subjects: -- kind: ServiceAccount - name: 'metrics-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/certManager/templates/certificate-operator-leader-election-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: certificate-operator-leader-election-role - namespace: "helmtests" - annotations: - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: cert-manager - app.kubernetes.io/version: v3.0.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: cert-manager-0.3.0 -rules: -- apiGroups: - - "" - resources: - - configmaps - verbs: - - get - - list - - watch - - create - - update - - patch - - delete -- apiGroups: - - coordination.k8s.io - resources: - - leases - verbs: - - get - - list - - watch - - create - - update - - patch - - delete -- apiGroups: - - "" - resources: - - events - verbs: - - create - - patch ---- -# Source: keptn/charts/certManager/templates/certificate-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: certificate-operator-role - namespace: "helmtests" - annotations: - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: cert-manager - app.kubernetes.io/version: v3.0.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: cert-manager-0.3.0 -rules: -- apiGroups: - - "" - resources: - - secrets - verbs: - - create - - list - - watch -- apiGroups: - - "" - resourceNames: - - keptn-certs - resources: - - secrets - verbs: - - get - - patch - - update ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-operator-leader-election-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: lifecycle-operator-leader-election-role - namespace: "helmtests" - annotations: - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: lifecycle-operator-0.6.0 -rules: -- apiGroups: - - "" - resources: - - configmaps - verbs: - - get - - list - - watch - - create - - update - - patch - - delete -- apiGroups: - - coordination.k8s.io - resources: - - leases - verbs: - - get - - list - - watch - - create - - update - - patch - - delete -- apiGroups: - - "" - resources: - - events - verbs: - - create - - patch ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-leader-election-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: metrics-operator-leader-election-role - namespace: "helmtests" - annotations: - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: metrics-operator-0.5.0 -rules: -- apiGroups: - - "" - resources: - - configmaps - verbs: - - get - - list - - watch - - create - - update - - patch - - delete -- apiGroups: - - coordination.k8s.io - resources: - - leases - verbs: - - get - - list - - watch - - create - - update - - patch - - delete -- apiGroups: - - "" - resources: - - events - verbs: - - create - - patch ---- -# Source: keptn/charts/certManager/templates/certificate-operator-leader-election-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: certificate-operator-leader-election-rolebinding - namespace: "helmtests" - annotations: - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - labels: - app.kubernetes.io/component: rbac - app.kubernetes.io/created-by: certificate-operator - app.kubernetes.io/part-of: keptn - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: cert-manager - app.kubernetes.io/version: v3.0.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: cert-manager-0.3.0 - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: 'certificate-operator-leader-election-role' -subjects: - - kind: ServiceAccount - name: 'certificate-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/certManager/templates/certificate-operator-role-binding-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: certificate-operator-role-binding - namespace: "helmtests" - annotations: - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - labels: - app.kubernetes.io/component: rbac - app.kubernetes.io/created-by: certificate-operator - app.kubernetes.io/part-of: keptn - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: cert-manager - app.kubernetes.io/version: v3.0.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: cert-manager-0.3.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: 'certificate-operator-role' -subjects: -- kind: ServiceAccount - name: 'certificate-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-operator-leader-election-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: lifecycle-operator-leader-election-rolebinding - namespace: "helmtests" - annotations: - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: lifecycle-operator-0.6.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: 'lifecycle-operator-leader-election-role' -subjects: -- kind: ServiceAccount - name: 'lifecycle-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: lifecycle-operator-rolebinding - namespace: "helmtests" - annotations: - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: lifecycle-operator-0.6.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: 'lifecycle-operator-role' -subjects: -- kind: ServiceAccount - name: 'lifecycle-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-leader-election-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: metrics-operator-leader-election-rolebinding - namespace: "helmtests" - annotations: - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: metrics-operator-0.5.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: 'metrics-operator-leader-election-role' -subjects: -- kind: ServiceAccount - name: 'metrics-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: metrics-operator-rolebinding - namespace: "helmtests" - annotations: - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: metrics-operator-0.5.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: 'metrics-operator-role' -subjects: - - kind: ServiceAccount - name: 'metrics-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-operator-metrics-service.yaml -apiVersion: v1 -kind: Service -metadata: - name: lifecycle-operator-metrics-service - namespace: "helmtests" - annotations: - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - labels: - control-plane: lifecycle-operator - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: lifecycle-operator-0.6.0 -spec: - type: ClusterIP - selector: - control-plane: lifecycle-operator - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/instance: keptn-test - ports: - - name: metrics - port: 2222 - protocol: TCP - targetPort: metrics ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-webhook-service.yaml -apiVersion: v1 -kind: Service -metadata: - name: lifecycle-webhook-service - namespace: "helmtests" - annotations: - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: lifecycle-operator-0.6.0 -spec: - type: ClusterIP - selector: - control-plane: lifecycle-operator - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/instance: keptn-test - ports: - - port: 443 - protocol: TCP - targetPort: 9443 ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-service.yaml -apiVersion: v1 -kind: Service -metadata: - name: metrics-operator-service - namespace: "helmtests" - annotations: - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - labels: - control-plane: metrics-operator - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: metrics-operator-0.5.0 -spec: - type: ClusterIP - selector: - control-plane: metrics-operator - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/instance: keptn-test - ports: - - name: https - port: 8443 - protocol: TCP - targetPort: https - - name: custom-metrics - port: 443 - targetPort: custom-metrics - - name: metrics - port: 9999 - protocol: TCP - targetPort: metrics ---- -# Source: keptn/charts/metricsOperator/templates/metrics-webhook-service.yaml -apiVersion: v1 -kind: Service -metadata: - name: metrics-webhook-service - namespace: "helmtests" - annotations: - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: metrics-operator-0.5.0 -spec: - type: ClusterIP - selector: - control-plane: metrics-operator - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/instance: keptn-test - ports: - - port: 443 - protocol: TCP - targetPort: 9443 ---- -# Source: keptn/charts/certManager/templates/deployment.yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: certificate-operator - namespace: "helmtests" - annotations: - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - labels: - app.kubernetes.io/component: keptn-cert-manager - app.kubernetes.io/part-of: keptn - control-plane: certificate-operator - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: cert-manager - app.kubernetes.io/version: v3.0.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: cert-manager-0.3.0 -spec: - replicas: 1 - selector: - matchLabels: - control-plane: certificate-operator - app.kubernetes.io/name: cert-manager - app.kubernetes.io/instance: keptn-test - template: - metadata: - labels: - control-plane: certificate-operator - app.kubernetes.io/name: cert-manager - app.kubernetes.io/instance: keptn-test - annotations: - kubectl.kubernetes.io/default-container: certificate-operator - spec: - containers: - - args: - - --leader-elect - command: - - /manager - env: - - name: NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: LABEL_SELECTOR_KEY - value: "keptn.sh/inject-cert" - - name: LABEL_SELECTOR_VALUE - value: "true" - - name: KUBERNETES_CLUSTER_DOMAIN - value: cluster.local - image: local-registry.io/keptn/certificate-operator:v3.0.0 - imagePullPolicy: Always - name: certificate-operator - resources: - limits: - cpu: 25m - memory: 64Mi - requests: - cpu: 5m - memory: 16Mi - securityContext: - allowPrivilegeEscalation: false - capabilities: - drop: - - ALL - readOnlyRootFilesystem: true - runAsGroup: 65532 - runAsUser: 65532 - seccompProfile: - type: RuntimeDefault - livenessProbe: - httpGet: - path: /healthz - port: 8081 - initialDelaySeconds: 15 - periodSeconds: 20 - readinessProbe: - httpGet: - path: /readyz - port: 8081 - initialDelaySeconds: 5 - periodSeconds: 10 - imagePullSecrets: - - name: registry-secret - - name: second-secret - securityContext: - runAsNonRoot: true - serviceAccountName: certificate-operator - terminationGracePeriodSeconds: 10 ---- -# Source: keptn/charts/lifecycleOperator/templates/deployment.yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: lifecycle-operator - namespace: "helmtests" - labels: - app.kubernetes.io/part-of: keptn - control-plane: lifecycle-operator - 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: v2.0.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: lifecycle-operator-0.6.0 - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local -spec: - replicas: 1 - selector: - matchLabels: - control-plane: lifecycle-operator - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/instance: keptn-test - template: - metadata: - labels: - control-plane: lifecycle-operator - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/instance: keptn-test - annotations: - kubectl.kubernetes.io/default-container: lifecycle-operator - metrics.dynatrace.com/port: "2222" - metrics.dynatrace.com/scrape: "true" - spec: - containers: - - args: - - --leader-elect - command: - - /manager - env: - - name: POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: FUNCTION_RUNNER_IMAGE - value: "ghcr.io/keptn/deno-runtime:v3.0.1" - - name: PYTHON_RUNNER_IMAGE - value: "ghcr.io/keptn/python-runtime:v1.0.8" - - name: KEPTN_APP_CONTROLLER_LOG_LEVEL - value: "0" - - name: KEPTN_APP_CREATION_REQUEST_CONTROLLER_LOG_LEVEL - value: "0" - - name: KEPTN_APP_VERSION_CONTROLLER_LOG_LEVEL - value: "0" - - name: KEPTN_EVALUATION_CONTROLLER_LOG_LEVEL - value: "0" - - name: KEPTN_TASK_CONTROLLER_LOG_LEVEL - value: "0" - - name: KEPTN_TASK_DEFINITION_CONTROLLER_LOG_LEVEL - value: "0" - - name: KEPTN_WORKLOAD_CONTROLLER_LOG_LEVEL - value: "0" - - name: KEPTN_WORKLOAD_VERSION_CONTROLLER_LOG_LEVEL - value: "0" - - name: KEPTN_DORA_METRICS_PORT - value: "2222" - - name: OPTIONS_CONTROLLER_LOG_LEVEL - value: "0" - - name: PROMOTION_TASKS_ENABLED - value: "false" - - name: KUBERNETES_CLUSTER_DOMAIN - value: cluster.local - - name: CERT_MANAGER_ENABLED - value: "true" - image: local-registry.io/keptn/lifecycle-operator:v2.0.0 - imagePullPolicy: Never - name: lifecycle-operator - ports: - - containerPort: 9443 - name: webhook-server - protocol: TCP - - containerPort: 2222 - name: metrics - protocol: TCP - resources: - limits: - cpu: 500m - memory: 128Mi - requests: - cpu: 5m - memory: 64Mi - securityContext: - allowPrivilegeEscalation: false - capabilities: - drop: - - ALL - privileged: false - runAsGroup: 65532 - runAsUser: 65532 - runAsNonRoot: true - seccompProfile: - type: RuntimeDefault - volumeMounts: - - name: keptn-certs - mountPath: /tmp/webhook/certs/ - livenessProbe: - httpGet: - path: /healthz - port: 8081 - initialDelaySeconds: 15 - periodSeconds: 20 - readinessProbe: - httpGet: - path: /readyz - port: 8081 - initialDelaySeconds: 5 - periodSeconds: 10 - imagePullSecrets: - - name: registry-secret - - name: second-secret - securityContext: - runAsNonRoot: true - serviceAccountName: lifecycle-operator - terminationGracePeriodSeconds: 10 - hostNetwork: false - volumes: - - name: keptn-certs - secret: - secretName: keptn-certs ---- -# Source: keptn/charts/metricsOperator/templates/deployment.yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: metrics-operator - namespace: "helmtests" - annotations: - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - labels: - app.kubernetes.io/part-of: keptn - app.kubernetes.io/component: metrics-operator - control-plane: metrics-operator - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: metrics-operator-0.5.0 -spec: - replicas: 1 - selector: - matchLabels: - control-plane: metrics-operator - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/instance: keptn-test - template: - metadata: - labels: - control-plane: metrics-operator - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/instance: keptn-test - annotations: - kubectl.kubernetes.io/default-container: metrics-operator - spec: - containers: - - args: - - webhook-server - - --leader-elect - - --adapter-port=6443 - - --adapter-certs-dir=/tmp/metrics-adapter/serving-certs - - --v=10 - command: - - /manager - env: - - name: POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: EXPOSE_KEPTN_METRICS - value: "true" - - name: ENABLE_CUSTOM_METRICS_API_SERVICE - value: "true" - - name: METRICS_CONTROLLER_LOG_LEVEL - value: "0" - - name: ANALYSIS_CONTROLLER_LOG_LEVEL - value: "0" - - name: KUBERNETES_CLUSTER_DOMAIN - value: cluster.local - - name: CERT_MANAGER_ENABLED - value: "true" - image: local-registry.io/keptn/metrics-operator:v2.1.0 - imagePullPolicy: Never - name: metrics-operator - ports: - - containerPort: 9443 - name: webhook-server - protocol: TCP - - containerPort: 9999 - name: metrics - protocol: TCP - - containerPort: 6443 - name: custom-metrics - protocol: TCP - resources: - limits: - cpu: 500m - memory: 128Mi - requests: - cpu: 10m - memory: 64Mi - securityContext: - allowPrivilegeEscalation: false - capabilities: - drop: - - ALL - privileged: false - runAsGroup: 65532 - runAsUser: 65532 - runAsNonRoot: true - seccompProfile: - type: RuntimeDefault - volumeMounts: - - mountPath: /tmp/metrics-adapter/serving-certs - name: adapter-certs-dir - - name: keptn-certs - mountPath: /tmp/webhook/certs/ - livenessProbe: - httpGet: - path: /healthz - port: 8081 - initialDelaySeconds: 15 - periodSeconds: 20 - readinessProbe: - httpGet: - path: /readyz - port: 8081 - initialDelaySeconds: 5 - periodSeconds: 10 - imagePullSecrets: - - name: registry-secret - - name: second-secret - securityContext: - runAsNonRoot: true - serviceAccountName: metrics-operator - terminationGracePeriodSeconds: 10 - volumes: - - emptyDir: {} - name: adapter-certs-dir - - name: keptn-certs - secret: - secretName: keptn-certs ---- -# Source: keptn/charts/metricsOperator/templates/v1beta1.custom.metrics.k8s.io.yaml -apiVersion: apiregistration.k8s.io/v1 -kind: APIService -metadata: - name: v1beta1.custom.metrics.k8s.io - namespace: "helmtests" - annotations: - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: metrics-operator-0.5.0 -spec: - group: custom.metrics.k8s.io - groupPriorityMinimum: 100 - insecureSkipTLSVerify: true - service: - name: 'metrics-operator-service' - namespace: 'helmtests' - version: v1beta1 - versionPriority: 100 ---- -# Source: keptn/charts/metricsOperator/templates/v1beta2.custom.metrics.k8s.io.yaml -apiVersion: apiregistration.k8s.io/v1 -kind: APIService -metadata: - name: v1beta2.custom.metrics.k8s.io - namespace: "helmtests" - annotations: - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: metrics-operator-0.5.0 -spec: - group: custom.metrics.k8s.io - groupPriorityMinimum: 100 - insecureSkipTLSVerify: true - service: - name: 'metrics-operator-service' - namespace: 'helmtests' - version: v1beta2 - versionPriority: 200 ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-mutating-webhook-configuration.yaml -apiVersion: admissionregistration.k8s.io/v1 -kind: MutatingWebhookConfiguration -metadata: - name: lifecycle-mutating-webhook-configuration - annotations: - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - caAnnotation1: hi - labels: - keptn.sh/inject-cert: "true" - app.kubernetes.io/part-of: "keptn" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: lifecycle-operator - app.kubernetes.io/version: v2.0.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: lifecycle-operator-0.6.0 -webhooks: -- admissionReviewVersions: - - v1 - clientConfig: - service: - name: 'lifecycle-webhook-service' - namespace: 'helmtests' - path: /mutate-v1-pod - failurePolicy: Fail - name: mpod.keptn.sh - namespaceSelector: - matchExpressions: - - key: control-plane - operator: NotIn - values: - - lifecycle-operator - - key: kubernetes.io/metadata.name - operator: NotIn - values: ["cert-manager","keptn-system","observability","monitoring"] - - key: kubernetes.io/metadata.name - operator: NotIn - values: - - 'helmtests' - - kube-system - - kube-public - - kube-node-lease - rules: - - apiGroups: - - "" - apiVersions: - - v1 - operations: - - CREATE - - UPDATE - resources: - - pods - sideEffects: None ---- -# Source: keptn/charts/lifecycleOperator/templates/lifecycle-validating-webhook-configuration.yaml -apiVersion: admissionregistration.k8s.io/v1 -kind: ValidatingWebhookConfiguration -metadata: - name: lifecycle-validating-webhook-configuration - annotations: - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - caAnnotation1: hi - labels: - 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: v2.0.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: lifecycle-operator-0.6.0 -webhooks: -- admissionReviewVersions: - - v1 - clientConfig: - service: - name: 'lifecycle-webhook-service' - namespace: 'helmtests' - path: /validate-lifecycle-keptn-sh-v1-keptntaskdefinition - failurePolicy: Fail - name: vkeptntaskdefinition.kb.io - rules: - - apiGroups: - - lifecycle.keptn.sh - apiVersions: - - v1 - operations: - - CREATE - - UPDATE - resources: - - keptntaskdefinitions - sideEffects: None ---- -# Source: keptn/charts/metricsOperator/templates/metrics-validating-webhook-configuration.yaml -apiVersion: admissionregistration.k8s.io/v1 -kind: ValidatingWebhookConfiguration -metadata: - name: metrics-validating-webhook-configuration - annotations: - globalAnnotation1: test1 - globalAnnotation2: test2 - test-annotation: local - caAnnotation1: hi - labels: - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - globalLabel1: test1 - globalLabel2: test2 - helm.sh/chart: metrics-operator-0.5.0 -webhooks: -- admissionReviewVersions: - - v1 - clientConfig: - service: - name: 'metrics-webhook-service' - namespace: 'helmtests' - path: /validate-metrics-keptn-sh-v1-keptnmetric - failurePolicy: Fail - name: vkeptnmetric.kb.io - rules: - - apiGroups: - - metrics.keptn.sh - apiVersions: - - v1 - operations: - - CREATE - - UPDATE - resources: - - keptnmetrics - sideEffects: None -- admissionReviewVersions: - - v1 - clientConfig: - service: - name: 'metrics-webhook-service' - namespace: 'helmtests' - path: /validate-metrics-keptn-sh-v1-analysis - failurePolicy: Fail - name: vanalysis.kb.io - rules: - - apiGroups: - - metrics.keptn.sh - apiVersions: - - v1 - operations: - - CREATE - - UPDATE - resources: - - analyses - sideEffects: None -- admissionReviewVersions: - - v1 - clientConfig: - service: - name: 'metrics-webhook-service' - namespace: 'helmtests' - path: /validate-metrics-keptn-sh-v1-analysisdefinition - failurePolicy: Fail - name: vanalysisdefinition.kb.io - rules: - - apiGroups: - - metrics.keptn.sh - apiVersions: - - v1 - operations: - - CREATE - - UPDATE - resources: - - analysisdefinitions - sideEffects: None diff --git a/.github/scripts/.helm-tests/local-global-precedence/values.yaml b/.github/scripts/.helm-tests/local-global-precedence/values.yaml deleted file mode 100644 index 4bfb18c7f3..0000000000 --- a/.github/scripts/.helm-tests/local-global-precedence/values.yaml +++ /dev/null @@ -1,32 +0,0 @@ -lifecycleOperator: - annotations: - test-annotation: "local" # will be used - image: - registry: "local-registry.io" # will be used - imagePullPolicy: Never # will be used -metricsOperator: - annotations: - test-annotation: "local" # will be used - image: - registry: "local-registry.io" # will be used - imagePullPolicy: Never # will be used -certManager: - annotations: - test-annotation: "local" # will be used - image: - registry: "local-registry.io" # will be used -global: - imageRegistry: "global-registry.io" # will not be used - imagePullSecrets: - - name: registry-secret - - second-secret - imagePullPolicy: Always # will not be used - commonLabels: - globalLabel1: test1 # will be used - globalLabel2: test2 # will be used - commonAnnotations: - globalAnnotation1: test1 # will be used - globalAnnotation2: test2 # will be used - test-annotation: "global" # will not be used - caInjectionAnnotations: - caAnnotation1: hi # will be used 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 deleted file mode 100644 index 282e24c0ef..0000000000 --- a/.github/scripts/.helm-tests/metrics-only-with-apiservice-disabled/result.yaml +++ /dev/null @@ -1,3269 +0,0 @@ ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-service-account.yaml -apiVersion: v1 -kind: ServiceAccount -metadata: - name: metrics-operator - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 ---- -# Source: keptn/charts/metricsOperator/templates/metrics-manager-config.yaml -apiVersion: v1 -kind: ConfigMap -metadata: - name: metrics-operator-config - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -data: - controller_manager_config.yaml: | - apiVersion: controller-runtime.sigs.k8s.io/v1alpha1 - health: - healthProbeBindAddress: ":8081" - kind: ControllerManagerConfig - leaderElection: - leaderElect: true - resourceName: "3f8532ca.keptn.sh" - metrics: - bindAddress: "127.0.0.1:8080" - webhook: - port: 9443 ---- -# Source: keptn/charts/metricsOperator/templates/analysis-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: analyses.metrics.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - labels: - app.kubernetes.io/part-of: keptn - crdGroup: metrics.keptn.sh - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -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: v1 - 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:)". - 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: {} - - 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:)". - 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:)". - 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: {} ---- -# Source: keptn/charts/metricsOperator/templates/analysisdefinition-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: analysisdefinitions.metrics.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - labels: - app.kubernetes.io/part-of: keptn - crdGroup: metrics.keptn.sh - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -spec: - group: metrics.keptn.sh - names: - kind: AnalysisDefinition - listKind: AnalysisDefinitionList - plural: analysisdefinitions - singular: analysisdefinition - scope: Namespaced - versions: - - name: v1 - 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: {} - - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/metricsOperator/templates/analysisvaluetemplate-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: analysisvaluetemplates.metrics.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - labels: - app.kubernetes.io/part-of: keptn - crdGroup: metrics.keptn.sh - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -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: v1 - 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: {} - - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/metricsOperator/templates/keptnmetric-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnmetrics.metrics.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - labels: - app.kubernetes.io/part-of: keptn - crdGroup: metrics.keptn.sh - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -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: .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: v1 - 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: {} - - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/metricsOperator/templates/keptnmetricsprovider-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnmetricsproviders.metrics.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - labels: - app.kubernetes.io/part-of: keptn - crdGroup: metrics.keptn.sh - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -spec: - group: metrics.keptn.sh - names: - kind: KeptnMetricsProvider - listKind: KeptnMetricsProviderList - plural: keptnmetricsproviders - shortNames: - - kmp - singular: keptnmetricsprovider - scope: Namespaced - versions: - - name: v1 - 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: - insecureSkipTlsVerify: - default: false - description: InsecureSkipTlsVerify skips verification of the tls certificate - when fetching metrics - type: boolean - 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 - 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 - cortex, datadog, dql, dynatrace, prometheus, elastic or thanos. - pattern: cortex|datadog|dql|dynatrace|prometheus|elastic|thanos - type: string - required: - - targetServer - type: object - status: - description: unused field - type: string - type: object - served: true - storage: true - subresources: - status: {} - - 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 - 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 - 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 - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: metrics-operator-role - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -rules: - - apiGroups: - - "" - resources: - - configmaps - verbs: - - get - - list - - watch - - apiGroups: - - "" - resources: - - secrets - verbs: - - get - - apiGroups: - - metrics.keptn.sh - resources: - - analyses - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - metrics.keptn.sh - resources: - - analyses/finalizers - - keptnmetrics/finalizers - verbs: - - update - - apiGroups: - - metrics.keptn.sh - resources: - - analyses/status - - keptnmetrics/status - verbs: - - get - - patch - - update - - apiGroups: - - metrics.keptn.sh - resources: - - analysisdefinitions - - analysisvaluetemplates - - keptnmetrics - - keptnmetricsproviders - - providers - verbs: - - get - - list - - watch ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-server-resources-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: metrics-operator-server-resources - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -rules: -- apiGroups: - - custom.metrics.k8s.io - resources: - - '*' - verbs: - - get - - list - - watch ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: metrics-operator-rolebinding - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: 'metrics-operator-role' -subjects: - - kind: ServiceAccount - name: 'metrics-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/metricsOperator/templates/system-auth-delegator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: system-auth-delegator - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: system:auth-delegator -subjects: -- kind: ServiceAccount - name: 'metrics-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-leader-election-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: metrics-operator-leader-election-role - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -rules: -- apiGroups: - - "" - resources: - - configmaps - verbs: - - get - - list - - watch - - create - - update - - patch - - delete -- apiGroups: - - coordination.k8s.io - resources: - - leases - verbs: - - get - - list - - watch - - create - - update - - patch - - delete -- apiGroups: - - "" - resources: - - events - verbs: - - create - - patch ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-leader-election-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: metrics-operator-leader-election-rolebinding - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: 'metrics-operator-leader-election-role' -subjects: -- kind: ServiceAccount - name: 'metrics-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: metrics-operator-rolebinding - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: 'metrics-operator-role' -subjects: - - kind: ServiceAccount - name: 'metrics-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-service.yaml -apiVersion: v1 -kind: Service -metadata: - name: metrics-operator-service - namespace: "helmtests" - labels: - control-plane: metrics-operator - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -spec: - type: ClusterIP - selector: - control-plane: metrics-operator - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/instance: keptn-test - ports: - - name: https - port: 8443 - protocol: TCP - targetPort: https - - name: custom-metrics - port: 443 - targetPort: custom-metrics - - name: metrics - port: 9999 - protocol: TCP - targetPort: metrics ---- -# Source: keptn/charts/metricsOperator/templates/metrics-webhook-service.yaml -apiVersion: v1 -kind: Service -metadata: - name: metrics-webhook-service - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -spec: - type: ClusterIP - selector: - control-plane: metrics-operator - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/instance: keptn-test - ports: - - port: 443 - protocol: TCP - targetPort: 9443 ---- -# Source: keptn/charts/metricsOperator/templates/deployment.yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: metrics-operator - namespace: "helmtests" - labels: - app.kubernetes.io/part-of: keptn - app.kubernetes.io/component: metrics-operator - control-plane: metrics-operator - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -spec: - replicas: 1 - selector: - matchLabels: - control-plane: metrics-operator - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/instance: keptn-test - template: - metadata: - labels: - control-plane: metrics-operator - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/instance: keptn-test - annotations: - kubectl.kubernetes.io/default-container: metrics-operator - spec: - containers: - - args: - - webhook-server - - --leader-elect - - --adapter-port=6443 - - --adapter-certs-dir=/tmp/metrics-adapter/serving-certs - - --v=10 - command: - - /manager - env: - - name: POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: EXPOSE_KEPTN_METRICS - value: "true" - - name: ENABLE_CUSTOM_METRICS_API_SERVICE - value: "false" - - name: METRICS_CONTROLLER_LOG_LEVEL - value: "0" - - name: ANALYSIS_CONTROLLER_LOG_LEVEL - value: "0" - - name: KUBERNETES_CLUSTER_DOMAIN - value: cluster.local - - name: CERT_MANAGER_ENABLED - value: "false" - image: ghcr.io/keptn/metrics-operator:v0.0.0 - imagePullPolicy: Always - name: metrics-operator - ports: - - containerPort: 9443 - name: webhook-server - protocol: TCP - - containerPort: 9999 - name: metrics - protocol: TCP - - containerPort: 6443 - name: custom-metrics - protocol: TCP - resources: - limits: - cpu: 500m - memory: 128Mi - requests: - cpu: 10m - memory: 64Mi - securityContext: - allowPrivilegeEscalation: false - capabilities: - drop: - - ALL - privileged: false - runAsGroup: 65532 - runAsUser: 65532 - runAsNonRoot: true - seccompProfile: - type: RuntimeDefault - volumeMounts: - - mountPath: /tmp/metrics-adapter/serving-certs - name: adapter-certs-dir - - name: keptn-certs - mountPath: /tmp/webhook/certs/ - livenessProbe: - httpGet: - path: /healthz - port: 8081 - initialDelaySeconds: 15 - periodSeconds: 20 - readinessProbe: - httpGet: - path: /readyz - port: 8081 - initialDelaySeconds: 5 - periodSeconds: 10 - - securityContext: - runAsNonRoot: true - serviceAccountName: metrics-operator - terminationGracePeriodSeconds: 10 - volumes: - - emptyDir: {} - name: adapter-certs-dir - - name: keptn-certs - secret: - secretName: keptn-certs ---- -# Source: keptn/charts/metricsOperator/templates/metrics-validating-webhook-configuration.yaml -apiVersion: admissionregistration.k8s.io/v1 -kind: ValidatingWebhookConfiguration -metadata: - name: metrics-validating-webhook-configuration - labels: - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -webhooks: -- admissionReviewVersions: - - v1 - clientConfig: - service: - name: 'metrics-webhook-service' - namespace: 'helmtests' - path: /validate-metrics-keptn-sh-v1-keptnmetric - failurePolicy: Fail - name: vkeptnmetric.kb.io - rules: - - apiGroups: - - metrics.keptn.sh - apiVersions: - - v1 - operations: - - CREATE - - UPDATE - resources: - - keptnmetrics - sideEffects: None -- admissionReviewVersions: - - v1 - clientConfig: - service: - name: 'metrics-webhook-service' - namespace: 'helmtests' - path: /validate-metrics-keptn-sh-v1-analysis - failurePolicy: Fail - name: vanalysis.kb.io - rules: - - apiGroups: - - metrics.keptn.sh - apiVersions: - - v1 - operations: - - CREATE - - UPDATE - resources: - - analyses - sideEffects: None -- admissionReviewVersions: - - v1 - clientConfig: - service: - name: 'metrics-webhook-service' - namespace: 'helmtests' - path: /validate-metrics-keptn-sh-v1-analysisdefinition - failurePolicy: Fail - name: vanalysisdefinition.kb.io - rules: - - apiGroups: - - metrics.keptn.sh - apiVersions: - - v1 - operations: - - CREATE - - UPDATE - resources: - - analysisdefinitions - sideEffects: None diff --git a/.github/scripts/.helm-tests/metrics-only-with-apiservice-disabled/values.yaml b/.github/scripts/.helm-tests/metrics-only-with-apiservice-disabled/values.yaml deleted file mode 100644 index 7244b9774a..0000000000 --- a/.github/scripts/.helm-tests/metrics-only-with-apiservice-disabled/values.yaml +++ /dev/null @@ -1,12 +0,0 @@ -lifecycleOperator: - enabled: false -metricsOperator: - enabled: true - image: - tag: v0.0.0 - imagePullPolicy: Always - customMetricsAPIService: - enabled: "false" - -global: - certManagerEnabled: false diff --git a/.github/scripts/.helm-tests/metrics-only/result.yaml b/.github/scripts/.helm-tests/metrics-only/result.yaml deleted file mode 100644 index 05b13c9dcf..0000000000 --- a/.github/scripts/.helm-tests/metrics-only/result.yaml +++ /dev/null @@ -1,3334 +0,0 @@ ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-service-account.yaml -apiVersion: v1 -kind: ServiceAccount -metadata: - name: metrics-operator - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 ---- -# Source: keptn/charts/metricsOperator/templates/metrics-manager-config.yaml -apiVersion: v1 -kind: ConfigMap -metadata: - name: metrics-operator-config - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -data: - controller_manager_config.yaml: | - apiVersion: controller-runtime.sigs.k8s.io/v1alpha1 - health: - healthProbeBindAddress: ":8081" - kind: ControllerManagerConfig - leaderElection: - leaderElect: true - resourceName: "3f8532ca.keptn.sh" - metrics: - bindAddress: "127.0.0.1:8080" - webhook: - port: 9443 ---- -# Source: keptn/charts/metricsOperator/templates/analysis-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: analyses.metrics.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - labels: - app.kubernetes.io/part-of: keptn - crdGroup: metrics.keptn.sh - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -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: v1 - 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:)". - 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: {} - - 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:)". - 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:)". - 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: {} ---- -# Source: keptn/charts/metricsOperator/templates/analysisdefinition-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: analysisdefinitions.metrics.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - labels: - app.kubernetes.io/part-of: keptn - crdGroup: metrics.keptn.sh - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -spec: - group: metrics.keptn.sh - names: - kind: AnalysisDefinition - listKind: AnalysisDefinitionList - plural: analysisdefinitions - singular: analysisdefinition - scope: Namespaced - versions: - - name: v1 - 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: {} - - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/metricsOperator/templates/analysisvaluetemplate-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: analysisvaluetemplates.metrics.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - labels: - app.kubernetes.io/part-of: keptn - crdGroup: metrics.keptn.sh - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -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: v1 - 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: {} - - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/metricsOperator/templates/keptnmetric-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnmetrics.metrics.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - labels: - app.kubernetes.io/part-of: keptn - crdGroup: metrics.keptn.sh - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -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: .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: v1 - 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: {} - - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/metricsOperator/templates/keptnmetricsprovider-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnmetricsproviders.metrics.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - labels: - app.kubernetes.io/part-of: keptn - crdGroup: metrics.keptn.sh - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -spec: - group: metrics.keptn.sh - names: - kind: KeptnMetricsProvider - listKind: KeptnMetricsProviderList - plural: keptnmetricsproviders - shortNames: - - kmp - singular: keptnmetricsprovider - scope: Namespaced - versions: - - name: v1 - 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: - insecureSkipTlsVerify: - default: false - description: InsecureSkipTlsVerify skips verification of the tls certificate - when fetching metrics - type: boolean - 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 - 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 - cortex, datadog, dql, dynatrace, prometheus, elastic or thanos. - pattern: cortex|datadog|dql|dynatrace|prometheus|elastic|thanos - type: string - required: - - targetServer - type: object - status: - description: unused field - type: string - type: object - served: true - storage: true - subresources: - status: {} - - 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 - 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 - 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 - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: metrics-operator-role - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -rules: - - apiGroups: - - "" - resources: - - configmaps - verbs: - - get - - list - - watch - - apiGroups: - - "" - resources: - - secrets - verbs: - - get - - apiGroups: - - metrics.keptn.sh - resources: - - analyses - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - metrics.keptn.sh - resources: - - analyses/finalizers - - keptnmetrics/finalizers - verbs: - - update - - apiGroups: - - metrics.keptn.sh - resources: - - analyses/status - - keptnmetrics/status - verbs: - - get - - patch - - update - - apiGroups: - - metrics.keptn.sh - resources: - - analysisdefinitions - - analysisvaluetemplates - - keptnmetrics - - keptnmetricsproviders - - providers - verbs: - - get - - list - - watch ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-server-resources-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: metrics-operator-server-resources - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -rules: -- apiGroups: - - custom.metrics.k8s.io - resources: - - '*' - verbs: - - get - - list - - watch ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-hpa-controller-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: metrics-operator-hpa-controller - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: 'metrics-operator-server-resources' -subjects: -- kind: ServiceAccount - name: horizontal-pod-autoscaler - namespace: 'helmtests' ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: metrics-operator-rolebinding - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: 'metrics-operator-role' -subjects: - - kind: ServiceAccount - name: 'metrics-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/metricsOperator/templates/system-auth-delegator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: system-auth-delegator - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: system:auth-delegator -subjects: -- kind: ServiceAccount - name: 'metrics-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-leader-election-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: metrics-operator-leader-election-role - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -rules: -- apiGroups: - - "" - resources: - - configmaps - verbs: - - get - - list - - watch - - create - - update - - patch - - delete -- apiGroups: - - coordination.k8s.io - resources: - - leases - verbs: - - get - - list - - watch - - create - - update - - patch - - delete -- apiGroups: - - "" - resources: - - events - verbs: - - create - - patch ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-leader-election-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: metrics-operator-leader-election-rolebinding - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: 'metrics-operator-leader-election-role' -subjects: -- kind: ServiceAccount - name: 'metrics-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: metrics-operator-rolebinding - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: 'metrics-operator-role' -subjects: - - kind: ServiceAccount - name: 'metrics-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-service.yaml -apiVersion: v1 -kind: Service -metadata: - name: metrics-operator-service - namespace: "helmtests" - labels: - control-plane: metrics-operator - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -spec: - type: ClusterIP - selector: - control-plane: metrics-operator - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/instance: keptn-test - ports: - - name: https - port: 8443 - protocol: TCP - targetPort: https - - name: custom-metrics - port: 443 - targetPort: custom-metrics - - name: metrics - port: 9999 - protocol: TCP - targetPort: metrics ---- -# Source: keptn/charts/metricsOperator/templates/metrics-webhook-service.yaml -apiVersion: v1 -kind: Service -metadata: - name: metrics-webhook-service - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -spec: - type: ClusterIP - selector: - control-plane: metrics-operator - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/instance: keptn-test - ports: - - port: 443 - protocol: TCP - targetPort: 9443 ---- -# Source: keptn/charts/metricsOperator/templates/deployment.yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: metrics-operator - namespace: "helmtests" - labels: - app.kubernetes.io/part-of: keptn - app.kubernetes.io/component: metrics-operator - control-plane: metrics-operator - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -spec: - replicas: 1 - selector: - matchLabels: - control-plane: metrics-operator - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/instance: keptn-test - template: - metadata: - labels: - control-plane: metrics-operator - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/instance: keptn-test - annotations: - kubectl.kubernetes.io/default-container: metrics-operator - spec: - containers: - - args: - - webhook-server - - --leader-elect - - --adapter-port=6443 - - --adapter-certs-dir=/tmp/metrics-adapter/serving-certs - - --v=10 - command: - - /manager - env: - - name: POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: EXPOSE_KEPTN_METRICS - value: "true" - - name: ENABLE_CUSTOM_METRICS_API_SERVICE - value: "true" - - name: METRICS_CONTROLLER_LOG_LEVEL - value: "0" - - name: ANALYSIS_CONTROLLER_LOG_LEVEL - value: "0" - - name: KUBERNETES_CLUSTER_DOMAIN - value: cluster.local - - name: CERT_MANAGER_ENABLED - value: "false" - image: ghcr.io/keptn/metrics-operator:v0.0.0 - imagePullPolicy: IfNotPresent - name: metrics-operator - ports: - - containerPort: 9443 - name: webhook-server - protocol: TCP - - containerPort: 9999 - name: metrics - protocol: TCP - - containerPort: 6443 - name: custom-metrics - protocol: TCP - resources: - limits: - cpu: 500m - memory: 128Mi - requests: - cpu: 10m - memory: 64Mi - securityContext: - allowPrivilegeEscalation: false - capabilities: - drop: - - ALL - privileged: false - runAsGroup: 65532 - runAsUser: 65532 - runAsNonRoot: true - seccompProfile: - type: RuntimeDefault - volumeMounts: - - mountPath: /tmp/metrics-adapter/serving-certs - name: adapter-certs-dir - - name: keptn-certs - mountPath: /tmp/webhook/certs/ - livenessProbe: - httpGet: - path: /healthz - port: 8081 - initialDelaySeconds: 15 - periodSeconds: 20 - readinessProbe: - httpGet: - path: /readyz - port: 8081 - initialDelaySeconds: 5 - periodSeconds: 10 - - securityContext: - runAsNonRoot: true - serviceAccountName: metrics-operator - terminationGracePeriodSeconds: 10 - volumes: - - emptyDir: {} - name: adapter-certs-dir - - name: keptn-certs - secret: - secretName: keptn-certs ---- -# Source: keptn/charts/metricsOperator/templates/v1beta1.custom.metrics.k8s.io.yaml -apiVersion: apiregistration.k8s.io/v1 -kind: APIService -metadata: - name: v1beta1.custom.metrics.k8s.io - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -spec: - group: custom.metrics.k8s.io - groupPriorityMinimum: 100 - insecureSkipTLSVerify: true - service: - name: 'metrics-operator-service' - namespace: 'helmtests' - version: v1beta1 - versionPriority: 100 ---- -# Source: keptn/charts/metricsOperator/templates/v1beta2.custom.metrics.k8s.io.yaml -apiVersion: apiregistration.k8s.io/v1 -kind: APIService -metadata: - name: v1beta2.custom.metrics.k8s.io - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -spec: - group: custom.metrics.k8s.io - groupPriorityMinimum: 100 - insecureSkipTLSVerify: true - service: - name: 'metrics-operator-service' - namespace: 'helmtests' - version: v1beta2 - versionPriority: 200 ---- -# Source: keptn/charts/metricsOperator/templates/metrics-validating-webhook-configuration.yaml -apiVersion: admissionregistration.k8s.io/v1 -kind: ValidatingWebhookConfiguration -metadata: - name: metrics-validating-webhook-configuration - labels: - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -webhooks: -- admissionReviewVersions: - - v1 - clientConfig: - service: - name: 'metrics-webhook-service' - namespace: 'helmtests' - path: /validate-metrics-keptn-sh-v1-keptnmetric - failurePolicy: Fail - name: vkeptnmetric.kb.io - rules: - - apiGroups: - - metrics.keptn.sh - apiVersions: - - v1 - operations: - - CREATE - - UPDATE - resources: - - keptnmetrics - sideEffects: None -- admissionReviewVersions: - - v1 - clientConfig: - service: - name: 'metrics-webhook-service' - namespace: 'helmtests' - path: /validate-metrics-keptn-sh-v1-analysis - failurePolicy: Fail - name: vanalysis.kb.io - rules: - - apiGroups: - - metrics.keptn.sh - apiVersions: - - v1 - operations: - - CREATE - - UPDATE - resources: - - analyses - sideEffects: None -- admissionReviewVersions: - - v1 - clientConfig: - service: - name: 'metrics-webhook-service' - namespace: 'helmtests' - path: /validate-metrics-keptn-sh-v1-analysisdefinition - failurePolicy: Fail - name: vanalysisdefinition.kb.io - rules: - - apiGroups: - - metrics.keptn.sh - apiVersions: - - v1 - operations: - - CREATE - - UPDATE - resources: - - analysisdefinitions - sideEffects: None diff --git a/.github/scripts/.helm-tests/metrics-only/values.yaml b/.github/scripts/.helm-tests/metrics-only/values.yaml deleted file mode 100644 index b57f4282d3..0000000000 --- a/.github/scripts/.helm-tests/metrics-only/values.yaml +++ /dev/null @@ -1,9 +0,0 @@ -lifecycleOperator: - enabled: false -metricsOperator: - enabled: true - image: - tag: v0.0.0 - -global: - certManagerEnabled: false diff --git a/.github/scripts/.helm-tests/metrics-with-certs/result.yaml b/.github/scripts/.helm-tests/metrics-with-certs/result.yaml deleted file mode 100644 index 73dc72e984..0000000000 --- a/.github/scripts/.helm-tests/metrics-with-certs/result.yaml +++ /dev/null @@ -1,3626 +0,0 @@ ---- -# Source: keptn/charts/certManager/templates/service-account.yaml -apiVersion: v1 -kind: ServiceAccount -metadata: - name: certificate-operator - namespace: "helmtests" - labels: - app.kubernetes.io/component: rbac - app.kubernetes.io/part-of: keptn - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: cert-manager - app.kubernetes.io/version: v3.0.0 - helm.sh/chart: cert-manager-0.3.0 ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-service-account.yaml -apiVersion: v1 -kind: ServiceAccount -metadata: - name: metrics-operator - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 ---- -# Source: keptn/charts/metricsOperator/templates/metrics-manager-config.yaml -apiVersion: v1 -kind: ConfigMap -metadata: - name: metrics-operator-config - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -data: - controller_manager_config.yaml: | - apiVersion: controller-runtime.sigs.k8s.io/v1alpha1 - health: - healthProbeBindAddress: ":8081" - kind: ControllerManagerConfig - leaderElection: - leaderElect: true - resourceName: "3f8532ca.keptn.sh" - metrics: - bindAddress: "127.0.0.1:8080" - webhook: - port: 9443 ---- -# Source: keptn/charts/metricsOperator/templates/analysis-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: analyses.metrics.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - labels: - app.kubernetes.io/part-of: keptn - crdGroup: metrics.keptn.sh - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -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: v1 - 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:)". - 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: {} - - 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:)". - 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:)". - 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: {} ---- -# Source: keptn/charts/metricsOperator/templates/analysisdefinition-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: analysisdefinitions.metrics.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - labels: - app.kubernetes.io/part-of: keptn - crdGroup: metrics.keptn.sh - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -spec: - group: metrics.keptn.sh - names: - kind: AnalysisDefinition - listKind: AnalysisDefinitionList - plural: analysisdefinitions - singular: analysisdefinition - scope: Namespaced - versions: - - name: v1 - 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: {} - - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/metricsOperator/templates/analysisvaluetemplate-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: analysisvaluetemplates.metrics.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - labels: - app.kubernetes.io/part-of: keptn - crdGroup: metrics.keptn.sh - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -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: v1 - 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: {} - - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/metricsOperator/templates/keptnmetric-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnmetrics.metrics.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - labels: - app.kubernetes.io/part-of: keptn - crdGroup: metrics.keptn.sh - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -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: .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: v1 - 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: {} - - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/metricsOperator/templates/keptnmetricsprovider-crd.yaml -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: keptnmetricsproviders.metrics.keptn.sh - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - labels: - app.kubernetes.io/part-of: keptn - crdGroup: metrics.keptn.sh - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -spec: - group: metrics.keptn.sh - names: - kind: KeptnMetricsProvider - listKind: KeptnMetricsProviderList - plural: keptnmetricsproviders - shortNames: - - kmp - singular: keptnmetricsprovider - scope: Namespaced - versions: - - name: v1 - 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: - insecureSkipTlsVerify: - default: false - description: InsecureSkipTlsVerify skips verification of the tls certificate - when fetching metrics - type: boolean - 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 - 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 - cortex, datadog, dql, dynatrace, prometheus, elastic or thanos. - pattern: cortex|datadog|dql|dynatrace|prometheus|elastic|thanos - type: string - required: - - targetServer - type: object - status: - description: unused field - type: string - type: object - served: true - storage: true - subresources: - status: {} - - 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 - 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 - 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 - 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: false - subresources: - status: {} ---- -# Source: keptn/charts/certManager/templates/certificate-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: certificate-operator-role - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: cert-manager - app.kubernetes.io/version: v3.0.0 - helm.sh/chart: cert-manager-0.3.0 -rules: -- apiGroups: - - admissionregistration.k8s.io - resources: - - mutatingwebhookconfigurations - - validatingwebhookconfigurations - verbs: - - get - - list - - patch - - update - - watch -- apiGroups: - - apiextensions.k8s.io - resources: - - customresourcedefinitions - verbs: - - get - - list - - patch - - update - - watch -- apiGroups: - - apps - resources: - - deployments - verbs: - - get - - list - - watch ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: metrics-operator-role - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -rules: - - apiGroups: - - "" - resources: - - configmaps - verbs: - - get - - list - - watch - - apiGroups: - - "" - resources: - - secrets - verbs: - - get - - apiGroups: - - metrics.keptn.sh - resources: - - analyses - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - metrics.keptn.sh - resources: - - analyses/finalizers - - keptnmetrics/finalizers - verbs: - - update - - apiGroups: - - metrics.keptn.sh - resources: - - analyses/status - - keptnmetrics/status - verbs: - - get - - patch - - update - - apiGroups: - - metrics.keptn.sh - resources: - - analysisdefinitions - - analysisvaluetemplates - - keptnmetrics - - keptnmetricsproviders - - providers - verbs: - - get - - list - - watch ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-server-resources-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: metrics-operator-server-resources - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -rules: -- apiGroups: - - custom.metrics.k8s.io - resources: - - '*' - verbs: - - get - - list - - watch ---- -# Source: keptn/charts/certManager/templates/certificate-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: certificate-operator-rolebinding - namespace: "helmtests" - labels: - app.kubernetes.io/component: rbac - app.kubernetes.io/created-by: certificate-operator - app.kubernetes.io/part-of: keptn - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: cert-manager - app.kubernetes.io/version: v3.0.0 - helm.sh/chart: cert-manager-0.3.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: 'certificate-operator-role' -subjects: -- kind: ServiceAccount - name: 'certificate-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-hpa-controller-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: metrics-operator-hpa-controller - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: 'metrics-operator-server-resources' -subjects: -- kind: ServiceAccount - name: horizontal-pod-autoscaler - namespace: 'helmtests' ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: metrics-operator-rolebinding - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: 'metrics-operator-role' -subjects: - - kind: ServiceAccount - name: 'metrics-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/metricsOperator/templates/system-auth-delegator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: system-auth-delegator - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: system:auth-delegator -subjects: -- kind: ServiceAccount - name: 'metrics-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/certManager/templates/certificate-operator-leader-election-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: certificate-operator-leader-election-role - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: cert-manager - app.kubernetes.io/version: v3.0.0 - helm.sh/chart: cert-manager-0.3.0 -rules: -- apiGroups: - - "" - resources: - - configmaps - verbs: - - get - - list - - watch - - create - - update - - patch - - delete -- apiGroups: - - coordination.k8s.io - resources: - - leases - verbs: - - get - - list - - watch - - create - - update - - patch - - delete -- apiGroups: - - "" - resources: - - events - verbs: - - create - - patch ---- -# Source: keptn/charts/certManager/templates/certificate-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: certificate-operator-role - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: cert-manager - app.kubernetes.io/version: v3.0.0 - helm.sh/chart: cert-manager-0.3.0 -rules: -- apiGroups: - - "" - resources: - - secrets - verbs: - - create - - list - - watch -- apiGroups: - - "" - resourceNames: - - keptn-certs - resources: - - secrets - verbs: - - get - - patch - - update ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-leader-election-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: metrics-operator-leader-election-role - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -rules: -- apiGroups: - - "" - resources: - - configmaps - verbs: - - get - - list - - watch - - create - - update - - patch - - delete -- apiGroups: - - coordination.k8s.io - resources: - - leases - verbs: - - get - - list - - watch - - create - - update - - patch - - delete -- apiGroups: - - "" - resources: - - events - verbs: - - create - - patch ---- -# Source: keptn/charts/certManager/templates/certificate-operator-leader-election-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: certificate-operator-leader-election-rolebinding - namespace: "helmtests" - labels: - app.kubernetes.io/component: rbac - app.kubernetes.io/created-by: certificate-operator - app.kubernetes.io/part-of: keptn - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: cert-manager - app.kubernetes.io/version: v3.0.0 - helm.sh/chart: cert-manager-0.3.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: 'certificate-operator-leader-election-role' -subjects: - - kind: ServiceAccount - name: 'certificate-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/certManager/templates/certificate-operator-role-binding-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: certificate-operator-role-binding - namespace: "helmtests" - labels: - app.kubernetes.io/component: rbac - app.kubernetes.io/created-by: certificate-operator - app.kubernetes.io/part-of: keptn - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: cert-manager - app.kubernetes.io/version: v3.0.0 - helm.sh/chart: cert-manager-0.3.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: 'certificate-operator-role' -subjects: -- kind: ServiceAccount - name: 'certificate-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-leader-election-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: metrics-operator-leader-election-rolebinding - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: 'metrics-operator-leader-election-role' -subjects: -- kind: ServiceAccount - name: 'metrics-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-rbac.yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: metrics-operator-rolebinding - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: 'metrics-operator-role' -subjects: - - kind: ServiceAccount - name: 'metrics-operator' - namespace: 'helmtests' ---- -# Source: keptn/charts/metricsOperator/templates/metrics-operator-service.yaml -apiVersion: v1 -kind: Service -metadata: - name: metrics-operator-service - namespace: "helmtests" - labels: - control-plane: metrics-operator - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -spec: - type: ClusterIP - selector: - control-plane: metrics-operator - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/instance: keptn-test - ports: - - name: https - port: 8443 - protocol: TCP - targetPort: https - - name: custom-metrics - port: 443 - targetPort: custom-metrics - - name: metrics - port: 9999 - protocol: TCP - targetPort: metrics ---- -# Source: keptn/charts/metricsOperator/templates/metrics-webhook-service.yaml -apiVersion: v1 -kind: Service -metadata: - name: metrics-webhook-service - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -spec: - type: ClusterIP - selector: - control-plane: metrics-operator - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/instance: keptn-test - ports: - - port: 443 - protocol: TCP - targetPort: 9443 ---- -# Source: keptn/charts/certManager/templates/deployment.yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: certificate-operator - namespace: "helmtests" - labels: - app.kubernetes.io/component: keptn-cert-manager - app.kubernetes.io/part-of: keptn - control-plane: certificate-operator - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: cert-manager - app.kubernetes.io/version: v3.0.0 - helm.sh/chart: cert-manager-0.3.0 -spec: - replicas: 1 - selector: - matchLabels: - control-plane: certificate-operator - app.kubernetes.io/name: cert-manager - app.kubernetes.io/instance: keptn-test - template: - metadata: - labels: - control-plane: certificate-operator - app.kubernetes.io/name: cert-manager - app.kubernetes.io/instance: keptn-test - annotations: - kubectl.kubernetes.io/default-container: certificate-operator - spec: - containers: - - args: - - --leader-elect - command: - - /manager - env: - - name: NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: LABEL_SELECTOR_KEY - value: "keptn.sh/inject-cert" - - name: LABEL_SELECTOR_VALUE - value: "true" - - name: KUBERNETES_CLUSTER_DOMAIN - value: cluster.local - image: ghcr.io/keptn/certificate-operator:v0.0.0 - imagePullPolicy: IfNotPresent - name: certificate-operator - resources: - limits: - cpu: 25m - memory: 64Mi - requests: - cpu: 5m - memory: 16Mi - securityContext: - allowPrivilegeEscalation: false - capabilities: - drop: - - ALL - readOnlyRootFilesystem: true - runAsGroup: 65532 - runAsUser: 65532 - seccompProfile: - type: RuntimeDefault - livenessProbe: - httpGet: - path: /healthz - port: 8081 - initialDelaySeconds: 15 - periodSeconds: 20 - readinessProbe: - httpGet: - path: /readyz - port: 8081 - initialDelaySeconds: 5 - periodSeconds: 10 - - securityContext: - runAsNonRoot: true - serviceAccountName: certificate-operator - terminationGracePeriodSeconds: 10 ---- -# Source: keptn/charts/metricsOperator/templates/deployment.yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: metrics-operator - namespace: "helmtests" - labels: - app.kubernetes.io/part-of: keptn - app.kubernetes.io/component: metrics-operator - control-plane: metrics-operator - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -spec: - replicas: 1 - selector: - matchLabels: - control-plane: metrics-operator - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/instance: keptn-test - template: - metadata: - labels: - control-plane: metrics-operator - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/instance: keptn-test - annotations: - kubectl.kubernetes.io/default-container: metrics-operator - spec: - containers: - - args: - - webhook-server - - --leader-elect - - --adapter-port=6443 - - --adapter-certs-dir=/tmp/metrics-adapter/serving-certs - - --v=10 - command: - - /manager - env: - - name: POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: EXPOSE_KEPTN_METRICS - value: "true" - - name: ENABLE_CUSTOM_METRICS_API_SERVICE - value: "true" - - name: METRICS_CONTROLLER_LOG_LEVEL - value: "0" - - name: ANALYSIS_CONTROLLER_LOG_LEVEL - value: "0" - - name: KUBERNETES_CLUSTER_DOMAIN - value: cluster.local - - name: CERT_MANAGER_ENABLED - value: "true" - image: ghcr.io/keptn/metrics-operator:v0.0.0 - imagePullPolicy: IfNotPresent - name: metrics-operator - ports: - - containerPort: 9443 - name: webhook-server - protocol: TCP - - containerPort: 9999 - name: metrics - protocol: TCP - - containerPort: 6443 - name: custom-metrics - protocol: TCP - resources: - limits: - cpu: 500m - memory: 128Mi - requests: - cpu: 10m - memory: 64Mi - securityContext: - allowPrivilegeEscalation: false - capabilities: - drop: - - ALL - privileged: false - runAsGroup: 65532 - runAsUser: 65532 - runAsNonRoot: true - seccompProfile: - type: RuntimeDefault - volumeMounts: - - mountPath: /tmp/metrics-adapter/serving-certs - name: adapter-certs-dir - - name: keptn-certs - mountPath: /tmp/webhook/certs/ - livenessProbe: - httpGet: - path: /healthz - port: 8081 - initialDelaySeconds: 15 - periodSeconds: 20 - readinessProbe: - httpGet: - path: /readyz - port: 8081 - initialDelaySeconds: 5 - periodSeconds: 10 - - securityContext: - runAsNonRoot: true - serviceAccountName: metrics-operator - terminationGracePeriodSeconds: 10 - volumes: - - emptyDir: {} - name: adapter-certs-dir - - name: keptn-certs - secret: - secretName: keptn-certs ---- -# Source: keptn/charts/metricsOperator/templates/v1beta1.custom.metrics.k8s.io.yaml -apiVersion: apiregistration.k8s.io/v1 -kind: APIService -metadata: - name: v1beta1.custom.metrics.k8s.io - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -spec: - group: custom.metrics.k8s.io - groupPriorityMinimum: 100 - insecureSkipTLSVerify: true - service: - name: 'metrics-operator-service' - namespace: 'helmtests' - version: v1beta1 - versionPriority: 100 ---- -# Source: keptn/charts/metricsOperator/templates/v1beta2.custom.metrics.k8s.io.yaml -apiVersion: apiregistration.k8s.io/v1 -kind: APIService -metadata: - name: v1beta2.custom.metrics.k8s.io - namespace: "helmtests" - labels: - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -spec: - group: custom.metrics.k8s.io - groupPriorityMinimum: 100 - insecureSkipTLSVerify: true - service: - name: 'metrics-operator-service' - namespace: 'helmtests' - version: v1beta2 - versionPriority: 200 ---- -# Source: keptn/charts/metricsOperator/templates/metrics-validating-webhook-configuration.yaml -apiVersion: admissionregistration.k8s.io/v1 -kind: ValidatingWebhookConfiguration -metadata: - name: metrics-validating-webhook-configuration - labels: - keptn.sh/inject-cert: "true" - app.kubernetes.io/instance: keptn-test - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: metrics-operator - app.kubernetes.io/version: v2.1.0 - helm.sh/chart: metrics-operator-0.5.0 -webhooks: -- admissionReviewVersions: - - v1 - clientConfig: - service: - name: 'metrics-webhook-service' - namespace: 'helmtests' - path: /validate-metrics-keptn-sh-v1-keptnmetric - failurePolicy: Fail - name: vkeptnmetric.kb.io - rules: - - apiGroups: - - metrics.keptn.sh - apiVersions: - - v1 - operations: - - CREATE - - UPDATE - resources: - - keptnmetrics - sideEffects: None -- admissionReviewVersions: - - v1 - clientConfig: - service: - name: 'metrics-webhook-service' - namespace: 'helmtests' - path: /validate-metrics-keptn-sh-v1-analysis - failurePolicy: Fail - name: vanalysis.kb.io - rules: - - apiGroups: - - metrics.keptn.sh - apiVersions: - - v1 - operations: - - CREATE - - UPDATE - resources: - - analyses - sideEffects: None -- admissionReviewVersions: - - v1 - clientConfig: - service: - name: 'metrics-webhook-service' - namespace: 'helmtests' - path: /validate-metrics-keptn-sh-v1-analysisdefinition - failurePolicy: Fail - name: vanalysisdefinition.kb.io - rules: - - apiGroups: - - metrics.keptn.sh - apiVersions: - - v1 - operations: - - CREATE - - UPDATE - resources: - - analysisdefinitions - sideEffects: None diff --git a/.github/scripts/.helm-tests/metrics-with-certs/values.yaml b/.github/scripts/.helm-tests/metrics-with-certs/values.yaml deleted file mode 100644 index ffb33398f1..0000000000 --- a/.github/scripts/.helm-tests/metrics-with-certs/values.yaml +++ /dev/null @@ -1,9 +0,0 @@ -certManager: - image: - tag: v0.0.0 -lifecycleOperator: - enabled: false -metricsOperator: - enabled: true - image: - tag: v0.0.0 diff --git a/.github/scripts/create-reports-full.sh b/.github/scripts/create-reports-full.sh deleted file mode 100755 index 4324b04aa0..0000000000 --- a/.github/scripts/create-reports-full.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/bash - -logsDir="logs" - -# shellcheck source=report_utils.sh -source report-utils.sh - -# Go through each namespace in the cluster -for namespace in $(kubectl get namespaces -o jsonpath='{.items[*].metadata.name}'); do - - mkdir -p "$logsDir/$namespace" - createResourceReport "$logsDir/$namespace" "$namespace" "Pods" true - createResourceReport "$logsDir/$namespace" "$namespace" "Deployments" false - createResourceReport "$logsDir/$namespace" "$namespace" "Daemonsets" false - createResourceReport "$logsDir/$namespace" "$namespace" "Statefulsets" false - createResourceReport "$logsDir/$namespace" "$namespace" "Jobs" false - createResourceReport "$logsDir/$namespace" "$namespace" "ConfigMaps" false - createResourceReport "$logsDir/$namespace" "$namespace" "KeptnApp" false - createResourceReport "$logsDir/$namespace" "$namespace" "KeptnAppVersion" false - createResourceReport "$logsDir/$namespace" "$namespace" "KeptnEvaluationDefinition" false - createResourceReport "$logsDir/$namespace" "$namespace" "KeptnEvaluationProvider" false - createResourceReport "$logsDir/$namespace" "$namespace" "KeptnEvaluation" false - createResourceReport "$logsDir/$namespace" "$namespace" "KeptnTaskDefinition" false - createResourceReport "$logsDir/$namespace" "$namespace" "KeptnTask" false - createResourceReport "$logsDir/$namespace" "$namespace" "KeptnWorkload" false - createResourceReport "$logsDir/$namespace" "$namespace" "KeptnWorkloadVersion" false - createResourceReport "$logsDir/$namespace" "$namespace" "KeptnMetric" false - createResourceReport "$logsDir/$namespace" "$namespace" "KeptnMetricsProvider" false - -done diff --git a/.github/scripts/create-reports-toolkit.sh b/.github/scripts/create-reports-toolkit.sh deleted file mode 100755 index 26d8fd3905..0000000000 --- a/.github/scripts/create-reports-toolkit.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash - -logsDir="logs" - -# shellcheck source=report_utils.sh -source report-utils.sh - -# Go through each namespace in the cluster -for namespace in $(kubectl get namespaces -o jsonpath='{.items[*].metadata.name}'); do - - mkdir -p "$logsDir/$namespace" - createResourceReport "$logsDir/$namespace" "$namespace" "Pods" true - createResourceReport "$logsDir/$namespace" "$namespace" "Deployments" false - createResourceReport "$logsDir/$namespace" "$namespace" "Daemonsets" false - createResourceReport "$logsDir/$namespace" "$namespace" "Statefulsets" false - createResourceReport "$logsDir/$namespace" "$namespace" "Jobs" false - -done diff --git a/.github/scripts/generate-crd-docs/crd-docs-generator-config-lifecycle-v1alpha4.yaml b/.github/scripts/generate-crd-docs/crd-docs-generator-config-lifecycle-v1alpha4.yaml deleted file mode 100644 index 9488598ef8..0000000000 --- a/.github/scripts/generate-crd-docs/crd-docs-generator-config-lifecycle-v1alpha4.yaml +++ /dev/null @@ -1,32 +0,0 @@ -processor: - useRawDocstring: true - ignoreFields: - - "TypeMeta$" - - "KeptnPhase$" -render: - kubernetesVersion: 1.28 - knownTypes: - - name: ResourceReference - package: github.com/keptn/lifecycle-toolkit/lifecycle-operator/apis/lifecycle/v1alpha3 - link: ../v1alpha3/index.md#resourcereference - - name: ItemStatus - package: github.com/keptn/lifecycle-toolkit/lifecycle-operator/apis/lifecycle/v1alpha3 - link: ../v1alpha3/index.md#itemstatus - - name: KeptnState - package: github.com/keptn/lifecycle-toolkit/lifecycle-operator/apis/lifecycle/v1alpha3/common - link: ../v1alpha3/index.md#keptnstate - - name: PhaseTraceID - package: github.com/keptn/lifecycle-toolkit/lifecycle-operator/apis/lifecycle/v1alpha3/common - link: ../v1alpha3/index.md#phasetraceid - - name: Quantity - package: "k8s.io/apimachinery/pkg/api/resource" - link: https://pkg.go.dev/k8s.io/apimachinery/pkg/api/resource#Quantity - - name: Time - package: "k8s.io/apimachinery/pkg/apis/meta/v1" - link: https://pkg.go.dev/k8s.io/apimachinery/pkg/apis/meta/v1#Time - - name: Duration - package: "k8s.io/apimachinery/pkg/apis/meta/v1" - link: https://pkg.go.dev/k8s.io/apimachinery/pkg/apis/meta/v1#Duration - - name: MapCarrier - package: "go.opentelemetry.io/otel/propagation" - link: https://pkg.go.dev/go.opentelemetry.io/otel/propagation#MapCarrier diff --git a/.github/scripts/generate-crd-docs/crd-docs-generator-config.yaml b/.github/scripts/generate-crd-docs/crd-docs-generator-config.yaml deleted file mode 100644 index 9bc40d5208..0000000000 --- a/.github/scripts/generate-crd-docs/crd-docs-generator-config.yaml +++ /dev/null @@ -1,26 +0,0 @@ -processor: - useRawDocstring: true - ignoreTypes: - - "EmptyStatus$" - - "KeptnEvaluationProvider$" - - "KeptnEvaluationProviderList$" - - "KeptnPhase$" - ignoreFields: - - "TypeMeta$" - - "EmptyStatus$" - - "KeptnPhase$" -render: - kubernetesVersion: 1.28 - knownTypes: - - name: Quantity - package: "k8s.io/apimachinery/pkg/api/resource" - link: https://pkg.go.dev/k8s.io/apimachinery/pkg/api/resource#Quantity - - name: Time - package: "k8s.io/apimachinery/pkg/apis/meta/v1" - link: https://pkg.go.dev/k8s.io/apimachinery/pkg/apis/meta/v1#Time - - name: Duration - package: "k8s.io/apimachinery/pkg/apis/meta/v1" - link: https://pkg.go.dev/k8s.io/apimachinery/pkg/apis/meta/v1#Duration - - name: MapCarrier - package: "go.opentelemetry.io/otel/propagation" - link: https://pkg.go.dev/go.opentelemetry.io/otel/propagation#MapCarrier diff --git a/.github/scripts/generate-crd-docs/generate-crd-docs.sh b/.github/scripts/generate-crd-docs/generate-crd-docs.sh deleted file mode 100755 index 75cf00ecc8..0000000000 --- a/.github/scripts/generate-crd-docs/generate-crd-docs.sh +++ /dev/null @@ -1,127 +0,0 @@ -#!/bin/bash - -# CRD docs auto generation script -# -# This script goes through all API definitions in the lifecycle-operator/apis folder -# and generates docs from code for each API group and version -# -# Inputs: None - -# renovate: datasource=github-releases depName=elastic/crd-ref-docs -GENERATOR_VERSION=v0.1.0 -API_DOMAIN="keptn.sh" -OPERATOR_API_ROOT='lifecycle-operator/apis/' -METRICS_API_ROOT='metrics-operator/api/' -TEMPLATE_DIR='.github/scripts/generate-crd-docs/templates' -RENDERER='markdown' -RENDERER_CONFIG_FILE_TEMPLATE_PATH='.github/scripts/generate-crd-docs/crd-docs-generator-config' -RENDERER_CONFIG_FILE=$RENDERER_CONFIG_FILE_TEMPLATE_PATH'.yaml' -PATH=$PATH:$(go env GOPATH)/bin -DOCS_PATH=./docs/docs/reference/api-reference/ - -echo "Checking if code generator tool is installed..." -if ! test -s crd-ref-docs; then - echo "Docs generator is not installed, installing now..." - go install github.com/elastic/crd-ref-docs@${GENERATOR_VERSION} -else - echo "Docs generator is installed, continuing..." -fi - -echo "Running CRD docs auto-generator..." - -for api_group in "$OPERATOR_API_ROOT"*; do - - sanitized_api_group="${api_group#$OPERATOR_API_ROOT}" - INDEX_PATH="$DOCS_PATH$sanitized_api_group" - - if [ ! -f "$INDEX_PATH/index.md" ]; then - echo "API group index file doesn't exist for group $sanitized_api_group. Creating it now..." - # Use sanitized_api_group and make first char uppercase - API_GROUP="$(tr '[:lower:]' '[:upper:]' <<< "${sanitized_api_group:0:1}")${sanitized_api_group:1}" - export API_GROUP - mkdir -p "$INDEX_PATH" - envsubst < './.github/scripts/generate-crd-docs/templates/index-template.md' > "$INDEX_PATH/index.md" - unset API_GROUP - fi - for api_version in "$api_group"/*; do - sanitized_api_version="${api_version#$OPERATOR_API_ROOT$sanitized_api_group/}" - - OUTPUT_PATH="$DOCS_PATH$sanitized_api_group/$sanitized_api_version" - - renderer_config_file="$RENDERER_CONFIG_FILE_TEMPLATE_PATH-$sanitized_api_group-$sanitized_api_version.yaml" - if [ ! -f "$renderer_config_file" ]; then - echo "Using default configuration..." - renderer_config_file=$RENDERER_CONFIG_FILE - else - echo "Using API version specific configuration..." - fi - - - echo "Arguments:" - echo "TEMPLATE_DIR: $TEMPLATE_DIR" - echo "OPERATOR_API_ROOT: $OPERATOR_API_ROOT" - echo "API_GROUP: $sanitized_api_group" - echo "API_VERSION: $sanitized_api_version" - echo "RENDERER: $RENDERER" - echo "RENDERER_CONFIG_FILE: $renderer_config_file" - echo "OUTPUT_PATH: $OUTPUT_PATH/index.md" - - echo "Creating docs folder $OUTPUT_PATH..." - mkdir -p "$OUTPUT_PATH" - - echo "Generating CRD docs for $sanitized_api_group.$API_DOMAIN/$sanitized_api_version..." - # max-depth should be bumped when the number of nested structures of CRDs will exceed 10 - crd-ref-docs \ - --templates-dir "$TEMPLATE_DIR" \ - --source-path="./$api_version" \ - --renderer="$RENDERER" \ - --config "$renderer_config_file" \ - --max-depth 15 \ - --output-path "$OUTPUT_PATH/index.md" - echo "---------------------" - done -done - -# Metrics API - - -sanitized_api_group="metrics" -INDEX_PATH="$DOCS_PATH$sanitized_api_group" - -if [ ! -f "$INDEX_PATH/index.md" ]; then - echo "API group index file doesn't exist for group $sanitized_api_group. Creating it now..." - # Use sanitized_api_group and make first char uppercase - API_GROUP="$(tr '[:lower:]' '[:upper:]' <<< "${sanitized_api_group:0:1}")${sanitized_api_group:1}" - export API_GROUP - mkdir -p "$INDEX_PATH" - envsubst < './.github/scripts/generate-crd-docs/templates/index-template.md' > "$INDEX_PATH/index.md" - unset API_GROUP -fi - -for api_version in "$METRICS_API_ROOT"*; do - sanitized_api_version="${api_version#$METRICS_API_ROOT}" - OUTPUT_PATH="$DOCS_PATH$sanitized_api_group/$sanitized_api_version" - - echo "Arguments:" - echo "TEMPLATE_DIR: $TEMPLATE_DIR" - echo "METRICS_API_ROOT: $METRICS_API_ROOT" - echo "API_GROUP: $sanitized_api_group" - echo "API_VERSION: $sanitized_api_version" - echo "RENDERER: $RENDERER" - echo "RENDERER_CONFIG_FILE: $RENDERER_CONFIG_FILE" - echo "OUTPUT_PATH: $OUTPUT_PATH/index.md" - - echo "Creating docs folder $OUTPUT_PATH..." - mkdir -p "$OUTPUT_PATH" - - echo "Generating CRD docs for $sanitized_api_group.$API_DOMAIN/$sanitized_api_version..." - # max-depth should be bumped when the number of nested structures of CRDs will exceed 10 - crd-ref-docs \ - --templates-dir "$TEMPLATE_DIR" \ - --source-path="./$api_version" \ - --renderer="$RENDERER" \ - --config "$RENDERER_CONFIG_FILE" \ - --max-depth 15 \ - --output-path "$OUTPUT_PATH/index.md" - echo "---------------------" -done diff --git a/.github/scripts/generate-crd-docs/templates/gv_details.tpl b/.github/scripts/generate-crd-docs/templates/gv_details.tpl deleted file mode 100644 index 30ad0d7518..0000000000 --- a/.github/scripts/generate-crd-docs/templates/gv_details.tpl +++ /dev/null @@ -1,19 +0,0 @@ -{{- define "gvDetails" -}} -{{- $gv := . -}} - -## {{ $gv.GroupVersionString }} - -{{ $gv.Doc }} - -{{- if $gv.Kinds }} -### Resource Types -{{- range $gv.SortedKinds }} -- {{ $gv.TypeForKind . | markdownRenderTypeLink }} -{{- end }} -{{ end }} - -{{ range $gv.SortedTypes }} -{{ template "type" . }} -{{ end }} - -{{- end -}} diff --git a/.github/scripts/generate-crd-docs/templates/gv_list.tpl b/.github/scripts/generate-crd-docs/templates/gv_list.tpl deleted file mode 100644 index 874620b760..0000000000 --- a/.github/scripts/generate-crd-docs/templates/gv_list.tpl +++ /dev/null @@ -1,21 +0,0 @@ -{{- define "gvList" -}} -{{- $groupVersions := . -}} -{{- $groupVersion := index $groupVersions 0 -}} - -# {{ $groupVersion.Version }} - -Reference information for {{ $groupVersion.GroupVersionString }} - - - -## Packages -{{- range $groupVersions }} -- {{ markdownRenderGVLink . }} -{{- end }} - -{{ range $groupVersions }} -{{ template "gvDetails" . }} -{{ end }} - -{{- end -}} - diff --git a/.github/scripts/generate-crd-docs/templates/index-template.md b/.github/scripts/generate-crd-docs/templates/index-template.md deleted file mode 100644 index 50890159a9..0000000000 --- a/.github/scripts/generate-crd-docs/templates/index-template.md +++ /dev/null @@ -1,3 +0,0 @@ -# $API_GROUP API - -Reference information about the $API_GROUP API. diff --git a/.github/scripts/generate-crd-docs/templates/type.tpl b/.github/scripts/generate-crd-docs/templates/type.tpl deleted file mode 100644 index 2886efafc2..0000000000 --- a/.github/scripts/generate-crd-docs/templates/type.tpl +++ /dev/null @@ -1,46 +0,0 @@ -{{- define "type" -}} -{{- $type := . -}} -{{- if markdownShouldRenderType $type -}} - -#### {{ $type.Name }} - -{{ if $type.IsAlias }}_Underlying type:_ _{{ markdownRenderTypeLink $type.UnderlyingType }}_{{ end }} - -{{ $type.Doc }} - -{{ if $type.Validation -}} -_Validation:_ -{{- range $type.Validation }} -- {{ . }} -{{- end }} -{{- end }} - -{{ if $type.References -}} -_Appears in:_ -{{- range $type.SortedReferences }} -- {{ markdownRenderTypeLink . }} -{{- end }} -{{- end }} - -{{ if $type.Members -}} -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -{{ if $type.GVK -}} -| `apiVersion` _string_ | `{{ $type.GVK.Group }}/{{ $type.GVK.Version }}` | | | | -| `kind` _string_ | `{{ $type.GVK.Kind }}` | | | | -{{ end -}} - -{{ range $type.Members -}} -| `{{ .Name }}` {{ if .Type.IsAlias }}_{{ markdownRenderTypeLink .Type.UnderlyingType }}_{{else}}_{{ markdownRenderType .Type }}_{{ end }} | {{ template "type_members" . }} | -{{- if index .Markers "kubebuilder:default" -}} -{{- with index (index .Markers "kubebuilder:default") 0 -}} - {{ .Value -}} -{{ end -}} -{{ end -}} -| {{ if index .Markers "optional" }}✓{{ else }}x{{ end }} | {{ range .Validation -}} {{ . }}
{{ end }} | -{{ end }} - -{{- end -}} -{{- end -}} - -{{- end -}} diff --git a/.github/scripts/generate-crd-docs/templates/type_members.tpl b/.github/scripts/generate-crd-docs/templates/type_members.tpl deleted file mode 100644 index 621f64a9ea..0000000000 --- a/.github/scripts/generate-crd-docs/templates/type_members.tpl +++ /dev/null @@ -1,8 +0,0 @@ -{{- define "type_members" -}} -{{- $field := . -}} -{{- if and (eq $field.Name "metadata") (eq $field.Type.String "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta") -}} -Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). -{{- else -}} -{{ markdownRenderFieldDoc $field.Doc }} -{{- end -}} -{{- end -}} diff --git a/.github/scripts/generate-helm-docs.sh b/.github/scripts/generate-helm-docs.sh deleted file mode 100755 index ac5fb4fe12..0000000000 --- a/.github/scripts/generate-helm-docs.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash - -# Readme generator for Keptn Helm Chart -# -# This script will install the readme generator if it's not installed already -# and then it will generate the readme from the local helm values -# -# Dependencies: -# Node >=16 - -# renovate: datasource=github-releases depName=bitnami-labs/readme-generator-for-helm -GENERATOR_VERSION="2.6.1" - -echo "Checking if readme generator is installed already..." -if [[ $(npm list -g | grep -c "readme-generator-for-helm@${GENERATOR_VERSION}") -eq 0 ]]; then - echo "Readme Generator v${GENERATOR_VERSION} not installed, installing now..." - git clone https://github.com/bitnami-labs/readme-generator-for-helm.git - cd ./readme-generator-for-helm || exit - git checkout ${GENERATOR_VERSION} - npm ci - cd .. - npm install -g ./readme-generator-for-helm -else - echo "Readme Generator is already installed, continuing..." -fi - -echo "Generating Keptn readme now..." -readme-generator --values=./chart/values.yaml --readme=./chart/README.md - -echo "Generating lifecycle operator readme now..." -readme-generator --values=./lifecycle-operator/chart/values.yaml --readme=./lifecycle-operator/chart/README.md - -echo "Generating keptn cert manager readme now..." -readme-generator --values=./keptn-cert-manager/chart/values.yaml --readme=./keptn-cert-manager/chart/README.md - -echo "Generating keptn metrics operator readme now..." -readme-generator --values=./metrics-operator/chart/values.yaml --readme=./metrics-operator/chart/README.md - -# Please be aware, the readme file needs to exist and needs to have a Parameters section, as only this section will be re-generated diff --git a/.github/scripts/generate-helm-results.sh b/.github/scripts/generate-helm-results.sh deleted file mode 100755 index e155396d78..0000000000 --- a/.github/scripts/generate-helm-results.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/bash - -echo "re-generating Helm test results" -tests=$(find ./.github/scripts/.helm-tests -maxdepth 1 -mindepth 1 -type d ) - -# shellcheck source=.github/scripts/helm-utils.sh -source .github/scripts/helm-utils.sh - -performHelmRepoUpdate - -for test in $tests -do - echo "Re-generating $test" - helm template keptn-test --namespace helmtests -f $test/values.yaml ./chart > $test/result.yaml -done diff --git a/.github/scripts/helm-test.sh b/.github/scripts/helm-test.sh deleted file mode 100755 index 131e29c055..0000000000 --- a/.github/scripts/helm-test.sh +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/bash - -# Keptn Helm Testing -# -# This script supports the comparison of standard values and expected templated results to helm chart -# it is used to make sure changes to the chart are intentional and produce expected outcomes - -# shellcheck source=./.github/scripts/helm-utils.sh -source ./.github/scripts/helm-utils.sh - -echo "running Helm tests" - tests=$(find ./.github/scripts/.helm-tests -maxdepth 1 -mindepth 1 -type d ) - - errors=0 - successful=0 - failures="" - - performHelmRepoUpdate - - for test in $tests - do - echo "Testing $test" - helm template keptn-test --namespace helmtests -f $test/values.yaml ./chart > $test/helm_tests_output.yaml - if [ $? -ne 0 ] - then - echo "Error: helm template failed for test in $test" - errors=$((errors + 1)) - failures+="\n test $test failed" - else - diff -u "$test/helm_tests_output.yaml" "$test/result.yaml" - if [ $? -ne 0 ] - then - echo "Error: test in $test not successful" - errors=$((errors + 1)) - failures+="\n test $test failed" - else - echo "Info: test in $test successful" - successful=$((successful + 1)) - fi - fi - done - - echo "run $((errors + successful)) tests: successful $successful, errors $errors" - echo -e $failures - if [ $errors -gt 0 ] - then - exit 1 - fi diff --git a/.github/scripts/helm-utils.sh b/.github/scripts/helm-utils.sh deleted file mode 100755 index 7e28636fe1..0000000000 --- a/.github/scripts/helm-utils.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash - -performHelmRepoUpdate () { - helm repo add keptn "https://charts.lifecycle.keptn.sh" - helm repo update - - for chart_dir in ./lifecycle-operator/chart \ - ./metrics-operator/chart \ - ./keptn-cert-manager/chart \ - ./chart; do - # shellcheck disable=SC2164 - cd "$chart_dir" - echo "updating charts for" $chart_dir - helm dependency update - helm dependency build - # shellcheck disable=SC2164 - cd - # Return to the previous directory - done -} diff --git a/.github/scripts/keptnevaluationprovider_migrator.sh b/.github/scripts/keptnevaluationprovider_migrator.sh deleted file mode 100755 index a40592b1b9..0000000000 --- a/.github/scripts/keptnevaluationprovider_migrator.sh +++ /dev/null @@ -1,75 +0,0 @@ -#!/bin/bash - -getNamespaces() { - out=$(kubectl get ns -o name) - for n in $out - do - nn=${n#"namespace/"} - namespaces+=("$nn") - done -} - -getProvidersOfNamespace() { - out=$(kubectl get keptnevaluationproviders -o name -n "$1") - for n in $out - do - nn=${n#"keptnevaluationprovider.lifecycle.keptn.sh/"} - providers+=("$nn -n $1") - done -} - -echo -e "------------------------------\n" -echo -e "Migrating manifests.\n" -echo -e "------------------------------\n" - -declare -a namespaces -declare -a providers - -DATE=$(date +%s) -MANIFESTS_FILE="manifests-$DATE.yaml" - -getNamespaces - -for n in "${namespaces[@]}" -do - getProvidersOfNamespace "$n" -done - -for n in "${providers[@]}" -do - echo "---" >> $MANIFESTS_FILE - kubectl get keptnevaluationproviders $n -oyaml >> $MANIFESTS_FILE -done - -sed -i 's#lifecycle\.keptn\.sh/v1alpha2#metrics\.keptn\.sh/v1#g' $MANIFESTS_FILE -sed -i 's/KeptnEvaluationProvider/KeptnMetricsProvider/g' $MANIFESTS_FILE - -echo -e "------------------------------\n" -echo -e "Manifests migrated successfully.\n" -echo -e "To review the newly created manifests, check ./$MANIFESTS_FILE file.\n" -echo -e "------------------------------\n" - -read -p "Do you want to apply the newly created KeptnMetricsProvider resources? [y/N]" -n 1 -r -echo -e "\n" -if [[ $REPLY =~ ^[Yy]$ ]] -then - kubectl apply -f $MANIFESTS_FILE - echo -e "\nManifests applied.\n" -else - echo -e "Manifests not applied.\n" -fi - -echo -e "------------------------------\n" - -read -p "Do you want to delete the old KeptnEvaluationProvider resources? [y/N]" -n 1 -r -echo -e "\n" -if [[ $REPLY =~ ^[Yy]$ ]] -then - for n in "${providers[@]}" - do - kubectl delete keptnevaluationproviders $n - done - echo -e "\nResources deleted.\n" -else - echo -e "Resources not deleted.\n" -fi diff --git a/.github/scripts/report-utils.sh b/.github/scripts/report-utils.sh deleted file mode 100755 index 3b7519af29..0000000000 --- a/.github/scripts/report-utils.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/bash - -ignore="--ignore-not-found" - -createResourceReport () { - path=$1 - namespace=$2 - resource=$3 - withLogs=$4 - - mkdir -p "$path/$resource" - - kubectl get "$resource" -n "$namespace" "$ignore" > "$path/$resource/list-$resource.txt" - - for r in $(kubectl get "$resource" -n "$namespace" "$ignore" -o jsonpath='{.items[*].metadata.name}'); do - kubectl describe "$resource/$r" -n "$namespace" > "$path/$resource/$r-describe.txt" - - if $withLogs ; then - kubectl logs "$resource/$r" --all-containers=true -n "$namespace" > "$path/$resource/$r-logs.txt" - fi - done -} diff --git a/.github/workflows/CI.yaml b/.github/workflows/CI.yaml deleted file mode 100644 index f27cea65cd..0000000000 --- a/.github/workflows/CI.yaml +++ /dev/null @@ -1,320 +0,0 @@ -name: CI -on: - push: - branches: - - 'main' - - '[0-9]+.[1-9][0-9]*.x' - pull_request: - branches: - - 'main' - - '[0-9]+.[1-9][0-9]*.x' - - 'epic/*' - paths-ignore: - - "docs/**" - - "**.md" - - "netlify.toml" - - "mkdocs.yml" - - ".github/actions/spelling/*" - -# Declare default permissions as read only. -permissions: read-all - -env: - GO_VERSION: "~1.23" - # renovate: datasource=github-releases depName=kubernetes-sigs/controller-tools - CONTROLLER_TOOLS_VERSION: "v0.16.5" - ENVTEST_K8S_VERSION: "1.27.0" -defaults: - run: - shell: bash - -jobs: - prepare_ci_run: - name: Prepare CI Run - runs-on: ubuntu-24.04 - outputs: - GIT_SHA: ${{ steps.extract_branch.outputs.GIT_SHA }} - BRANCH: ${{ steps.extract_branch.outputs.BRANCH }} - BRANCH_SLUG: ${{ steps.extract_branch.outputs.BRANCH_SLUG }} - DATETIME: ${{ steps.get_datetime.outputs.DATETIME }} - BUILD_TIME: ${{ steps.get_datetime.outputs.BUILD_TIME }} - NON_FORKED_AND_NON_ROBOT_RUN: ${{ steps.get_run_type.outputs.NON_FORKED_AND_NON_ROBOT_RUN }} - - steps: - - name: Check out code - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - - name: Extract branch name - id: extract_branch - uses: keptn/gh-action-extract-branch-name@6ca4fe061da10c66b2d7341fd1fb12962ad911b2 - - - name: Get current date and time - id: get_datetime - run: | - DATETIME=$(date +'%Y%m%d%H%M') - BUILD_TIME=$(date -u "+%F_%T") - echo "DATETIME=$DATETIME" >> "$GITHUB_OUTPUT" - echo "BUILD_TIME=$BUILD_TIME" >> "$GITHUB_OUTPUT" - - - name: Get workflow run type - id: get_run_type - env: - NON_FORKED_AND_NON_ROBOT_RUN: > - ${{ - ( github.actor != 'renovate[bot]' && github.actor != 'dependabot[bot]' ) && - ( github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository ) - }} - run: | - echo "github.actor != 'renovate[bot]' = ${{ github.actor != 'renovate[bot]' }}" - echo "github.actor != 'dependabot[bot]' = ${{ github.actor != 'dependabot[bot]' }}" - echo "github.event_name == 'push' = ${{ github.event_name == 'push' }}" - echo "github.event.pull_request.head.repo.full_name == github.repository = \ - ${{ github.event.pull_request.head.repo.full_name == github.repository }}" - echo "NON_FORKED_AND_NON_ROBOT_RUN = $NON_FORKED_AND_NON_ROBOT_RUN" - echo "NON_FORKED_AND_NON_ROBOT_RUN=$NON_FORKED_AND_NON_ROBOT_RUN" >> "$GITHUB_OUTPUT" - - test: - name: Unit Tests - needs: prepare_ci_run - runs-on: ubuntu-24.04 - strategy: - matrix: - config: - - name: "lifecycle-operator" - folder: "lifecycle-operator/" - - name: "metrics-operator" - folder: "metrics-operator/" - - name: "certificate-operator" - folder: "keptn-cert-manager/" - steps: - - name: Check out code - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - - name: Set up Go 1.x - uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # v5 - with: - go-version: ${{ env.GO_VERSION }} - cache: true - cache-dependency-path: '${{ matrix.config.folder }}go.sum' - check-latest: true - - - name: Unit Test ${{ matrix.config.name }} - working-directory: ./${{ matrix.config.folder }} - run: make unit-test - - - name: Report code coverage - uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 - with: - flags: ${{ matrix.config.name }} - token: ${{ secrets.CODECOV_TOKEN }} - - build_image: - name: Build Docker Image - needs: prepare_ci_run - runs-on: ubuntu-24.04 - env: - BRANCH: ${{ needs.prepare_ci_run.outputs.BRANCH }} - DATETIME: ${{ needs.prepare_ci_run.outputs.DATETIME }} - BUILD_TIME: ${{ needs.prepare_ci_run.outputs.BUILD_TIME }} - GIT_SHA: ${{ needs.prepare_ci_run.outputs.GIT_SHA }} - RELEASE_REGISTRY: "localhost:5000/keptn" - DOCKER_BUILD_SUMMARY: "false" - DOCKER_BUILD_RECORD_UPLOAD: "false" - strategy: - matrix: - config: - - name: "lifecycle-operator" - folder: "lifecycle-operator/" - - name: "metrics-operator" - folder: "metrics-operator/" - - name: "deno-runtime" - folder: "runtimes/deno-runtime/" - - name: "python-runtime" - folder: "runtimes/python-runtime/" - - name: "certificate-operator" - folder: "keptn-cert-manager/" - steps: - - name: Check out code - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - - name: Cache build tools - id: cache-build-tools - uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4 - with: - path: ./${{ matrix.config.folder }}bin - key: build-tools-${{ github.ref_name }} - - - name: Set up Docker Buildx - id: buildx - uses: docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2 # v3 - - - name: Build Docker Image - uses: docker/build-push-action@471d1dc4e07e5cdedd4c2171150001c434f0b7a4 # v6.15.0 - with: - context: ${{ matrix.config.folder }} - platforms: linux/amd64,linux/arm64 - target: production - tags: | - ${{ env.RELEASE_REGISTRY }}/${{ matrix.config.name }}:dev-${{ env.DATETIME }} - build-args: | - GIT_HASH=${{ env.GIT_SHA }} - RELEASE_VERSION=dev-${{ env.DATETIME }} - BUILD_TIME=${{ env.BUILD_TIME }} - CONTROLLER_TOOLS_VERSION=${{ env.CONTROLLER_TOOLS_VERSION }} - builder: ${{ steps.buildx.outputs.name }} - push: false - cache-from: type=gha,scope=${{ github.ref_name }}-${{ matrix.config.name }} - cache-to: type=gha,scope=${{ github.ref_name }}-${{ matrix.config.name }} - outputs: type=oci,dest=/tmp/${{ matrix.config.name }}-image.tar - - - name: Upload image as artifact - uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1 - with: - name: ${{ matrix.config.name }}-image.tar - path: /tmp/${{ matrix.config.name }}-image.tar - - image_tag: - name: Store tag of the built images - needs: prepare_ci_run - runs-on: ubuntu-24.04 - env: - DATETIME: ${{ needs.prepare_ci_run.outputs.DATETIME }} - steps: - - name: Create empty file to store image tag - run: echo "" > tag - - - name: Upload tag for tests - uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1 - with: - name: dev-${{ env.DATETIME }} - path: tag - - component_tests: - name: Component Tests - needs: prepare_ci_run - uses: ./.github/workflows/component-test.yml - secrets: - CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - - integration_tests: - name: Integration Tests - needs: - - prepare_ci_run - - build_image - strategy: - matrix: - cert-manager-io-enabled: [cert_manager_io_on, cert_manager_io_off] - with: - runtime_tag: dev-${{ needs.prepare_ci_run.outputs.DATETIME }} - cert-manager-io-enabled: ${{ matrix.cert-manager-io-enabled }} - uses: ./.github/workflows/integration-test.yml - - integration_tests_allowed_namespaces: - name: Integration Tests Allowed Namespaces - needs: - - prepare_ci_run - - build_image - with: - runtime_tag: dev-${{ needs.prepare_ci_run.outputs.DATETIME }} - type: allowed-namespaces - uses: ./.github/workflows/integration-test-component.yml - - integration_tests_lifecycle: - name: Integration Tests Lifecycle - needs: - - prepare_ci_run - - build_image - with: - runtime_tag: dev-${{ needs.prepare_ci_run.outputs.DATETIME }} - type: lifecycle - uses: ./.github/workflows/integration-test-component.yml - - integration_tests_metrics: - name: Integration Tests Metrics - needs: - - prepare_ci_run - - build_image - with: - runtime_tag: dev-${{ needs.prepare_ci_run.outputs.DATETIME }} - type: metrics - uses: ./.github/workflows/integration-test-component.yml - - integration_tests_cert_manager: - name: Integration Tests Cert Manager - needs: - - prepare_ci_run - - build_image - with: - runtime_tag: dev-${{ needs.prepare_ci_run.outputs.DATETIME }} - type: cert-manager - uses: ./.github/workflows/integration-test-component.yml - - load-tests: - name: Load Tests - needs: [prepare_ci_run, build_image] - with: - runtime_tag: dev-${{ needs.prepare_ci_run.outputs.DATETIME }} - uses: ./.github/workflows/load-test.yml - - e2e_tests: - name: End to End Tests - needs: [prepare_ci_run, build_image] - with: - runtime_tag: dev-${{ needs.prepare_ci_run.outputs.DATETIME }} - uses: ./.github/workflows/e2e-test.yml - - helm_charts_publish: - name: Publish helm chart changes to charts repo - if: github.event_name == 'push' && needs.prepare_ci_run.outputs.NON_FORKED_AND_NON_ROBOT_RUN == 'true' - needs: [prepare_ci_run, build_image] - strategy: - matrix: - config: - - name: keptn - path: chart - - name: keptn-lifecycle-operator - path: lifecycle-operator/chart - - name: keptn-metrics-operator - path: metrics-operator/chart - - name: keptn-cert-manager - path: keptn-cert-manager/chart - runs-on: ubuntu-24.04 - steps: - - name: Check out keptn repo - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - - name: Check out helm-charts repo - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - with: - repository: 'keptn/lifecycle-toolkit-charts' - path: ./helm-charts-repository - token: ${{ secrets.KEPTN_BOT_TOKEN }} - - - name: Substitue local paths with official chart URL - if: matrix.config.name == 'keptn' - working-directory: ./${{ matrix.config.path }} - run: | - # substitute local charts path with official ones - yq -i '.dependencies.[].repository = "https://charts.lifecycle.keptn.sh"' ./Chart.yaml - # update Chart.lock files - helm repo add keptn https://charts.lifecycle.keptn.sh - helm repo update - helm dependency update - helm dependency build - - - name: Copy chart from keptn to helm repo - run: rsync -av --delete --exclude='charts/*.tgz' ./${{ matrix.config.path }}/ ./helm-charts-repository/charts/${{ matrix.config.name }}/ - - - name: Create Pull Request - uses: peter-evans/create-pull-request@5e914681df9dc83aa4e4905692ca88beb2f9e91f # v7.0.5 - with: - token: ${{ secrets.KEPTN_BOT_TOKEN }} - path: ./helm-charts-repository - commit-message: "feat: update ${{ matrix.config.name }} helm chart" - signoff: true - branch: chart-update-${{ matrix.config.name }} - delete-branch: true - base: main - title: "Update ${{ matrix.config.name }} Helm chart" - body: | - :robot: **This is an automated PR for updating and releasing Helm charts from keptn/lifecycle-toolkit!** :robot: diff --git a/.github/workflows/component-test.yml b/.github/workflows/component-test.yml deleted file mode 100644 index 02a68b41dd..0000000000 --- a/.github/workflows/component-test.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: Component Tests -on: - workflow_call: - secrets: - CODECOV_TOKEN: - required: false - -# Declare default permissions as read only. -permissions: read-all - -env: - GO_VERSION: "~1.23" -defaults: - run: - shell: bash -jobs: - component_tests: - name: Component Tests - runs-on: ubuntu-24.04 - steps: - - name: Check out code - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - - name: Set up Go 1.x - uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # v5 - with: - go-version: ${{ env.GO_VERSION }} - cache: true - cache-dependency-path: 'lifecycle-operator/go.sum' - check-latest: true - - - name: Execute Component Tests - working-directory: lifecycle-operator - run: make component-test - - - name: Report code coverage - uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 - with: - flags: component-tests - token: ${{ secrets.CODECOV_TOKEN }} diff --git a/.github/workflows/e2e-test.yml b/.github/workflows/e2e-test.yml deleted file mode 100644 index 88ba1316b9..0000000000 --- a/.github/workflows/e2e-test.yml +++ /dev/null @@ -1,51 +0,0 @@ -name: E2E-Test -on: - workflow_call: - inputs: - runtime_tag: - description: "Tag for the runner image" - type: "string" - required: true - -# Declare default permissions as read only. -permissions: read-all - -env: - GO_VERSION: "~1.23" -defaults: - run: - shell: bash - -jobs: - run-e2e-test: - name: Run E2E Tests - runs-on: ubuntu-24.04 - strategy: - matrix: - config: - - name: "lifecycle-operator" - folder: "lifecycle-operator/" - steps: - - name: Check out code - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - - name: Setup cluster - uses: ./.github/actions/deploy-keptn-on-cluster - with: - runtime_tag: ${{ inputs.runtime_tag }} - - - name: Run E2E Tests ${{ matrix.config.name }} - working-directory: ${{ matrix.config.folder }} - run: make e2e-test - - - name: Create reports ${{ matrix.config.name }} - if: always() - working-directory: ./.github/scripts - run: ./create-reports-toolkit.sh - - - name: Upload ${{ matrix.config.name }} cluster logs - if: always() - uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1 - with: - name: logs-e2e-tests-${{ matrix.config.name }} - path: .github/scripts/logs diff --git a/.github/workflows/github-repo-stats.yml b/.github/workflows/github-repo-stats.yml deleted file mode 100644 index cf731c9d3c..0000000000 --- a/.github/workflows/github-repo-stats.yml +++ /dev/null @@ -1,24 +0,0 @@ -name: "Repo Stats" - -on: - schedule: - # Run this once per day, towards the end of the day for keeping the most - # recent data point most meaningful (hours are interpreted in UTC). - - cron: "0 23 * * *" - workflow_dispatch: - # Allow for running this manually. - - # Declare default permissions as read only. -permissions: read-all - -jobs: - snapshot: - name: github-repo-stats - runs-on: ubuntu-latest - steps: - - name: run-ghrs - # Use latest release. - uses: jgehrcke/github-repo-stats@306db38ad131cab2aa5f2cd3062bf6f8aa78c1aa # v1.4.2 - with: - databranch: github-repo-stats - ghtoken: ${{ secrets.KEPTN_BOT_TOKEN }} diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml deleted file mode 100644 index a812c05dd6..0000000000 --- a/.github/workflows/golangci-lint.yml +++ /dev/null @@ -1,54 +0,0 @@ -name: golangci-lint -on: - push: - branches: - - 'main' - - '[0-9]+.[1-9][0-9]*.x' - pull_request: - branches: - - 'main' - - '[0-9]+.[1-9][0-9]*.x' - paths: - - "**.go" - - "**/go.mod" - - "**/go.sum" - - ".golangci.yml" - - ".github/workflows/golangci-lint.yml" - - "!docs/**" - -# Declare default permissions as read only. -permissions: read-all - -env: - # renovate: datasource=github-releases depName=golangci/golangci-lint - GOLANGCI_LINT_VERSION: "v1.61.0" - GO_VERSION: "~1.23" -jobs: - golangci-lint: - name: golangci-lint - runs-on: ubuntu-24.04 - strategy: - fail-fast: false - matrix: - config: - - name: "lifecycle-operator" - folder: "lifecycle-operator/" - - name: "metrics-operator" - folder: "metrics-operator/" - - name: "certificate-operator" - folder: "keptn-cert-manager/" - steps: - - name: Check out code - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - - uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # v5 - with: - go-version: ${{ env.GO_VERSION }} - check-latest: true - - - name: golangci-lint - uses: golangci/golangci-lint-action@4696ba8babb6127d732c3c6dde519db15edab9ea # v6 - with: - working-directory: ${{ matrix.config.folder }} - version: ${{ env.GOLANGCI_LINT_VERSION }} - args: --config ../.golangci.yml -v diff --git a/.github/workflows/htmltest.yaml b/.github/workflows/htmltest.yaml deleted file mode 100644 index 2eb53a6b2b..0000000000 --- a/.github/workflows/htmltest.yaml +++ /dev/null @@ -1,41 +0,0 @@ -name: HtmlTest - -on: - push: - branches: - - 'main' - - '[0-9]+.[1-9][0-9]*.x' - paths: - - 'docs/**' - pull_request: - branches: - - 'main' - - '[0-9]+.[1-9][0-9]*.x' - paths: - - 'docs/**' - -# Declare default permissions as read only. -permissions: read-all - -jobs: - htmltest: - # The type of runner that the job will run on - runs-on: ubuntu-latest - - # Steps represent a sequence of tasks that will be executed as part of the job - steps: - # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - with: - submodules: true - fetch-depth: 0 - - - name: Cache HTMLTest packages - uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4 - with: - path: | - tmp/.htmltest - key: htmltest-${{ hashFiles('tmp/.htmltest/refcache.json') }} - - - name: Check HTML - run: make htmltest diff --git a/.github/workflows/integration-test-component.yml b/.github/workflows/integration-test-component.yml deleted file mode 100644 index 849fcc581c..0000000000 --- a/.github/workflows/integration-test-component.yml +++ /dev/null @@ -1,57 +0,0 @@ -name: Integration-Test-Component -on: - workflow_call: - inputs: - runtime_tag: - description: "Tag for the deno and python runner images" - type: "string" - required: true - type: - description: "Type of the tests that are going to be executed" - type: "string" - required: true - -# Declare default permissions as read only. -permissions: read-all - -env: - GO_VERSION: "~1.23" -defaults: - run: - shell: bash - -jobs: - run-integration-test-component: - name: Run Chainsaw Tests - runs-on: ubuntu-24.04 - steps: - - name: Check out code - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - - name: Setup cluster - uses: ./.github/actions/deploy-keptn-on-cluster - with: - runtime_tag: ${{ inputs.runtime_tag }} - values-file: values-integration-${{ inputs.type }}.yaml - - - name: Install and expose Prometheus - uses: ./.github/actions/deploy-prometheus-on-cluster - - - name: Install Chainsaw - uses: kyverno/action-install-chainsaw@d311eacde764f806c9658574ff64c9c3b21f8397 # v0.2.11 - - - name: Run Integration Tests ${{ inputs.type }} - working-directory: . - run: make integration-test-${{ inputs.type }} - - - name: Create reports - if: failure() - working-directory: ./.github/scripts - run: ./create-reports-full.sh - - - name: Upload cluster logs - if: failure() - uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1 - with: - name: logs-integration-tests-${{ inputs.type }} - path: .github/scripts/logs diff --git a/.github/workflows/integration-test.yml b/.github/workflows/integration-test.yml deleted file mode 100644 index df9a1c0181..0000000000 --- a/.github/workflows/integration-test.yml +++ /dev/null @@ -1,58 +0,0 @@ -name: Integration-Test -on: - workflow_call: - inputs: - runtime_tag: - description: "Tag for the deno and python runner images" - type: "string" - required: true - cert-manager-io-enabled: - description: "Decides whether to use cert-manager.io" - type: "string" - default: "cert_manager_io_off" - -# Declare default permissions as read only. -permissions: read-all - -env: - GO_VERSION: "~1.23" -defaults: - run: - shell: bash - -jobs: - run-integration-test: - name: Run Chainsaw Tests - runs-on: ubuntu-24.04 - steps: - - name: Check out code - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - - name: Setup cluster - uses: ./.github/actions/deploy-keptn-on-cluster - with: - runtime_tag: ${{ inputs.runtime_tag }} - values-file: values-integration-${{ inputs.cert-manager-io-enabled }}.yaml - cert-manager-io-enabled: ${{ inputs.cert-manager-io-enabled }} - - - name: Install and expose Prometheus - uses: ./.github/actions/deploy-prometheus-on-cluster - - - name: Install Chainsaw - uses: kyverno/action-install-chainsaw@d311eacde764f806c9658574ff64c9c3b21f8397 # v0.2.11 - - - name: Run Integration Tests - working-directory: . - run: make integration-test - - - name: Create reports - if: failure() - working-directory: ./.github/scripts - run: ./create-reports-full.sh - - - name: Upload cluster logs - if: failure() - uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1 - with: - name: logs-integration-tests-${{ inputs.cert-manager-io-enabled }} - path: .github/scripts/logs diff --git a/.github/workflows/load-test.yml b/.github/workflows/load-test.yml deleted file mode 100644 index 40a8ec0983..0000000000 --- a/.github/workflows/load-test.yml +++ /dev/null @@ -1,75 +0,0 @@ -name: Load Tests -on: - workflow_call: - inputs: - runtime_tag: - description: "Tag for the runner images" - type: "string" - required: true - -# Declare default permissions as read only. -permissions: read-all - -env: - GO_VERSION: "~1.23" - # renovate: datasource=github-tags depName=cloud-bulldozer/kube-burner - KUBE_BURNER_VERSION: "v1.7.13" -defaults: - run: - shell: bash - -jobs: - run-load-test: - name: Run load Tests - runs-on: ubuntu-24.04 - steps: - - name: Check out code - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - - name: Cache build tools - id: cache-build-tools - uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4 - with: - path: /usr/local/bin/kube-burner - key: kube-burner-${{ env.KUBE_BURNER_VERSION }} - - - name: Setup cluster - uses: ./.github/actions/deploy-keptn-on-cluster - with: - runtime_tag: ${{ inputs.runtime_tag }} - - - name: Install and expose Prometheus - uses: ./.github/actions/deploy-prometheus-on-cluster - - - name: Download kube-burner - env: - BASE_URL: https://github.com/cloud-bulldozer/kube-burner/releases - run: | - curl -fL \ - "${BASE_URL}/download/${{ env.KUBE_BURNER_VERSION }}/kube-burner-V${KUBE_BURNER_VERSION#v}-linux-x86_64.tar.gz" \ - -o kube-burner-${KUBE_BURNER_VERSION#v}-Linux-x86_64.tar.gz - tar -xf kube-burner-${KUBE_BURNER_VERSION#v}-Linux-x86_64.tar.gz - mv kube-burner /usr/local/bin - sleep 60 # wait to have the node exporter ready already with 60s of data before starting the test - - - name: Run load Tests - run: make load-test - - - name: Upload results - if: always() - uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1 - with: - name: load-tests-results - path: ./collected-metrics - - - name: Create reports - if: failure() - working-directory: ./.github/scripts - run: ./create-reports-toolkit.sh - - - name: Upload cluster logs - if: failure() - uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1 - with: - name: logs-load-tests - path: .github/scripts/logs diff --git a/.github/workflows/markdown-checks.yaml b/.github/workflows/markdown-checks.yaml deleted file mode 100644 index 8a4801981f..0000000000 --- a/.github/workflows/markdown-checks.yaml +++ /dev/null @@ -1,103 +0,0 @@ -name: Markdown checks - -on: - push: - branches: - - 'main' - - '[0-9]+.[1-9][0-9]*.x' - paths: - - '**.md' - - 'lifecycle-operator/apis/**' - - 'metrics-operator/api/**' - pull_request: - branches: - - 'main' - - '[0-9]+.[1-9][0-9]*.x' - paths: - - '**.md' - - 'lifecycle-operator/apis/**' - - 'metrics-operator/api/**' - -# Declare default permissions as read only. -permissions: read-all - -env: - GO_VERSION: "~1.23" - -defaults: - run: - shell: bash - -jobs: - markdown-link-check: - runs-on: ubuntu-24.04 - steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - uses: gaurav-nelson/github-action-markdown-link-check@5c5dfc0ac2e225883c0e5f03a85311ec2830d368 # v1 - with: - config-file: '.github/mlc_config.json' - use-verbose-mode: true - use-quiet-mode: true - folder-path: 'examples,docs' - file-path: 'README.md' - - markdown-lint: - runs-on: ubuntu-24.04 - steps: - - name: Check out code - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - - name: Run TOC generation - run: | - FILES=`find . -type f -name '*.md' -not -path './.github/*' -not -path './node_modules/*' | sort` - for f in $FILES; do - if grep -q '' $$f; then - echo "Checking TOC for ${f}"; - npx markdown-toc --no-first-h1 --no-stripHeadingTags -i ${f} || exit 1; - else - echo Skipping ${f}; - fi; - done - - - name: Check TOC - run: | - git diff --exit-code '*.md' || \ - (echo "Table of Contents is out of date. Please update the following files: $(git diff --name-status --exit-code)" && exit 1) - - - name: Lint Markdown files - run: make markdownlint - - check-crd-docs: - name: Check CRD auto-generated docs - runs-on: ubuntu-24.04 - steps: - - name: Check out code - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - - name: Set up Go 1.x - uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # v5 - with: - go-version: ${{ env.GO_VERSION }} - check-latest: true - cache: false - - - name: Copy old docs - run: | - cp -R ./docs/docs/reference/api-reference ./docs/docs/reference/api-reference-old - - - name: Run docs generator - run: ./.github/scripts/generate-crd-docs/generate-crd-docs.sh - - - name: Check if docs are up to date - run: | - if ! diff -rq ./docs/docs/reference/api-reference ./docs/docs/reference/api-reference-old &>/dev/null; then - echo "The CRD docs have changes that are not reflected in the docs pages." - echo "Please use ./.github/scripts/generate-crd-docs/generate-crd-docs.sh to re-generate the docs." - echo "" - echo "=========== Diff ===========" - diff -ru ./docs/docs/reference/api-reference ./docs/docs/reference/api-reference-old - exit 1 - else - echo "" - echo "CRD docs are up to date!" - fi diff --git a/.github/workflows/release-examples.yml b/.github/workflows/release-examples.yml deleted file mode 100644 index 4034040197..0000000000 --- a/.github/workflows/release-examples.yml +++ /dev/null @@ -1,59 +0,0 @@ -name: Release Examples - -on: - workflow_call: - inputs: - tag_name: - description: "Tag for the release being created" - type: "string" - required: true - examples_dir: - description: "Root directory of the examples" - type: "string" - required: false - default: "./tmp/examples/" - dry_run: - description: "Flag for testing" - type: "boolean" - default: false - required: false - -# Declare default permissions as read only. -permissions: read-all - -jobs: - release-examples: - runs-on: ubuntu-24.04 - steps: - - name: Checkout - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - - name: Checkout examples repo - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - with: - repository: keptn-sandbox/lifecycle-toolkit-examples - path: ${{ inputs.examples_dir }} - token: ${{ secrets.KEPTN_BOT_TOKEN }} - - - name: Get Latest Release Information - uses: octokit/request-action@dad4362715b7fb2ddedf9772c8670824af564f0d # v2.4.0 - id: latest_release - with: - route: GET /repos/:owner/:repository/releases/latest - repository: lifecycle-toolkit - owner: keptn - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Move old latest release examples folder - if: ${{ fromJson(steps.latest_release.outputs.data).tag_name == inputs.tag_name }} - run: cp -R ./examples/* "${{ inputs.examples_dir }}" - - - name: Push content - if: inputs.dry_run != true - uses: EndBug/add-and-commit@a94899bca583c204427a224a7af87c02f9b325d5 # v9 - with: - default_author: github_actions - cwd: ${{ inputs.examples_dir }} - message: "feat: release examples ${{ inputs.tag_name }}" - tag: "${{ inputs.tag_name }}" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml deleted file mode 100644 index 3c1022ece2..0000000000 --- a/.github/workflows/release.yml +++ /dev/null @@ -1,250 +0,0 @@ -name: Release Please - -on: - push: - branches: - - main - - "[0-9]+.[0-9]+.x" - workflow_dispatch: - - # Declare default permissions as read only. -permissions: read-all - -defaults: - run: - shell: bash - -env: - GO_VERSION: "~1.23" - # renovate: datasource=github-releases depName=kubernetes-sigs/controller-tools - CONTROLLER_TOOLS_VERSION: "v0.16.5" - PUBLISHABLE_ITEMS: '[".","lifecycle-operator","metrics-operator","keptn-cert-manager","runtimes/deno-runtime","runtimes/python-runtime"]' - -jobs: - release-please: - runs-on: ubuntu-24.04 - outputs: - keptn-release-created: ${{ steps.release.outputs.release_created }} - keptn-tag-name: ${{ steps.release.outputs.tag_name }} - cert-manager-release-created: ${{ steps.release.outputs.keptn-cert-manager--release_created }} - cert-manager-tag-name: ${{ steps.release.outputs.keptn-cert-manager--tag_name }} - metrics-operator-release-created: ${{ steps.release.outputs.metrics-operator--release_created }} - metrics-operator-tag-name: ${{ steps.release.outputs.metrics-operator--tag_name }} - releases-created: ${{ steps.release.outputs.releases_created }} - build-matrix: ${{ steps.build-matrix.outputs.result }} - GIT_SHA: ${{ steps.extract_branch.outputs.GIT_SHA }} - DATETIME: ${{ steps.get_datetime.outputs.DATETIME }} - BUILD_TIME: ${{ steps.get_datetime.outputs.BUILD_TIME }} - steps: - - name: Checkout - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - - name: Extract branch name - id: extract_branch - uses: keptn/gh-action-extract-branch-name@6ca4fe061da10c66b2d7341fd1fb12962ad911b2 - - - name: Get current date and time - id: get_datetime - run: | - DATETIME=$(date +'%Y%m%d%H%M') - BUILD_TIME=$(date -u "+%F_%T") - echo "DATETIME=$DATETIME" >> "$GITHUB_OUTPUT" - echo "BUILD_TIME=$BUILD_TIME" >> "$GITHUB_OUTPUT" - - - name: Run release please - uses: googleapis/release-please-action@a02a34c4d625f9be7cb89156071d8567266a2445 # v4.2.0 - id: release - with: - token: ${{ secrets.KEPTN_BOT_TOKEN }} - - - name: Debug info - env: - CHANGED_ITEMS: ${{ steps.release.outputs.paths_released }} - KEPTN_TAG: ${{ steps.release.outputs.tag_name }} - PATHS_RELEASED: ${{ steps.release.outputs.paths_released }} - ARTIFACT_TAG_NAME: ${{ steps.release.outputs[format('{0}--tag_name', fromJson(steps.release.outputs.paths_released)[0])] }} - FULL_RELEASE_OUTPUT: ${{ toJSON(steps.release.outputs) }} - run: | - echo "PATHS_RELEASE_JSON: ${PATHS_RELEASE_JSON}" - echo "FULL RELEASE OUTPUT: ${FULL_RELEASE_OUTPUT}" - echo "CHANGED_ITEMS: ${CHANGED_ITEMS}" - echo "KEPTN_TAG: ${KEPTN_TAG}" - echo "ARTIFACT_TAG_NAME: ${ARTIFACT_TAG_NAME}" - echo "PATHS_RELEASED: ${PATHS_RELEASED}" - echo "CERT_MANAGER_TAG_NAME: ${{ steps.release.outputs.keptn-cert-manager--tag_name }}" - echo "KEPTN_TAG_NAME: ${{ steps.release.outputs.tag_name }}" - echo "METRICS_OPERATOR_TAG_NAME: ${{ steps.release.outputs.metrics-operator--tag_name }}" - - - name: Create release matrix - id: build-matrix - uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7 - env: - CHANGED_ITEMS: ${{ steps.release.outputs.paths_released }} - KEPTN_TAG: ${{ steps.release.outputs.tag_name }} - ARTIFACT_TAG_NAME: ${{ steps.release.outputs[format('{0}--tag_name', fromJson(steps.release.outputs.paths_released)[0])] }} - with: - script: | - const changedItems = JSON.parse(process.env.CHANGED_ITEMS || '[]'); - console.log("changed items", changedItems); - const eligibleItems = JSON.parse(process.env.PUBLISHABLE_ITEMS || '[]'); - console.log("eligible items", eligibleItems); - const itemsToPublish = changedItems.filter(i => eligibleItems.includes(i)); - console.log("items to publish", itemsToPublish); - - console.log("setting up build matrix..."); - const releaseMatrix = []; - itemsToPublish.forEach(item => { - switch (item) { - case "lifecycle-operator": - case "metrics-operator": - releaseMatrix.push({ - name: item, - folder: item, - tagName: process.env.ARTIFACT_TAG_NAME - }); - break; - case "keptn-cert-manager": - releaseMatrix.push({ - name: "certificate-operator", - folder: item, - tagName: process.env.ARTIFACT_TAG_NAME - }); - break; - case "runtimes/deno-runtime": - case "runtimes/python-runtime": - releaseMatrix.push({ - name: item.replace("runtimes/", ""), - folder: item, - tagName: process.env.ARTIFACT_TAG_NAME - }); - break; - case ".": - default: - break; - } - }); - console.log("release matrix: " + JSON.stringify({ config: releaseMatrix })); - return releaseMatrix.length > 0 ? { config: releaseMatrix } : {}; - - build-release: - if: needs.release-please.outputs.releases-created == 'true' && needs.release-please.outputs.build-matrix != '{}' - needs: - - release-please - strategy: - matrix: ${{ fromJson(needs.release-please.outputs.build-matrix) }} - runs-on: ubuntu-24.04 - permissions: - contents: write - packages: write - id-token: write - env: - IMAGE_NAME: ghcr.io/keptn/${{ matrix.config.name }} - DATETIME: ${{ needs.release-please.outputs.DATETIME }} - BUILD_TIME: ${{ needs.release-please.outputs.BUILD_TIME }} - GIT_SHA: ${{ needs.release-please.outputs.GIT_SHA }} - DOCKER_BUILD_SUMMARY: "false" - DOCKER_BUILD_RECORD_UPLOAD: "false" - steps: - - name: Checkout - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - with: - submodules: recursive - - - name: Set up Docker Buildx - id: buildx - uses: docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2 # v3 - - - name: Login to GitHub Container Registry - uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0 - with: - registry: "ghcr.io" - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Set up Cosign - uses: sigstore/cosign-installer@d7d6bc7722e3daa8354c50bcb52f4837da5e9b6a # v3.8.1 - - - name: Clean up image tag - id: clean-image-tag - env: - IMAGE_TAG: ${{ matrix.config.tagName }} - run: | - # Remove artifact prefix from tag so that we get clean image tags - temp="${IMAGE_TAG##keptn-}" - temp="${temp##cert-manager-}" - temp="${temp##python-runtime-}" - temp="${temp##deno-runtime-}" - temp="${temp##lifecycle-operator-}" - echo "IMAGE_TAG=${temp##metrics-operator-}" >> "$GITHUB_OUTPUT" - - - name: Build Docker Image - id: docker_build_image - uses: docker/build-push-action@471d1dc4e07e5cdedd4c2171150001c434f0b7a4 # v6.15.0 - with: - context: ${{ matrix.config.folder }} - platforms: linux/amd64,linux/arm64 - target: production - tags: | - ${{ env.IMAGE_NAME }}:${{ steps.clean-image-tag.outputs.IMAGE_TAG }} - build-args: | - GIT_HASH=${{ env.GIT_SHA }} - RELEASE_VERSION=dev-${{ env.DATETIME }} - BUILD_TIME=${{ env.BUILD_TIME }} - CONTROLLER_TOOLS_VERSION=${{ env.CONTROLLER_TOOLS_VERSION }} - builder: ${{ steps.buildx.outputs.name }} - push: true - provenance: mode=max - cache-from: type=gha,scope=${{ github.ref_name }}-${{ matrix.config.name }} - cache-to: type=gha,scope=${{ github.ref_name }}-${{ matrix.config.name }} - - - name: Sign container image - env: - IMAGE_DIGEST: ${{ steps.docker_build_image.outputs.digest }} - run: | - cosign sign --yes ${{ env.IMAGE_NAME }}@${{ env.IMAGE_DIGEST }} - cosign verify \ - --certificate-identity-regexp="https://github.com/keptn/lifecycle-toolkit/.*" \ - --certificate-oidc-issuer="https://token.actions.githubusercontent.com" \ - ${{ env.IMAGE_NAME }}@${{ env.IMAGE_DIGEST }} - - - name: Generate SBOM - uses: anchore/sbom-action@f325610c9f50a54015d37c8d16cb3b0e2c8f4de0 # v0.18.0 - with: - image: ${{ env.IMAGE_NAME }}:${{ steps.clean-image-tag.outputs.IMAGE_TAG }} - artifact-name: sbom-${{ matrix.config.name }} - output-file: ./sbom-${{ matrix.config.name }}.spdx.json - - - name: Attach SBOM to release - uses: softprops/action-gh-release@c95fe1489396fe8a9eb87c0abf8aa5b2ef267fda # v2.2.1 - with: - tag_name: ${{ matrix.config.tagName }} - files: ./sbom-${{ matrix.config.name }}.spdx.json - - - name: Attest the Image with SBOM - env: - IMAGE_DIGEST: ${{ steps.docker_build_image.outputs.digest }} - run: | - echo "Attesting SBOM for this release and image..." - cosign attest --yes --type spdxjson --predicate ./sbom-${{ matrix.config.name }}.spdx.json ${{ env.IMAGE_NAME }}@${{ env.IMAGE_DIGEST }} - echo "Verifying that the attestation worked..." - cosign verify-attestation --type spdxjson \ - --certificate-identity-regexp="https://github.com/keptn/lifecycle-toolkit/.*" \ - --certificate-oidc-issuer="https://token.actions.githubusercontent.com" \ - --output-file ./cosign-attest-output.json \ - ${{ env.IMAGE_NAME }}@${{ env.IMAGE_DIGEST }} - - - name: Upload verification log as artifact - uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1 - with: - name: cosign-attest-verification-log - path: ./cosign-attest-output.json - - update-examples: - name: Update examples - needs: - - release-please - if: needs.release-please.outputs.keptn-release-created == 'true' - with: - tag_name: ${{ needs.release-please.outputs.keptn-tag-name }} - uses: ./.github/workflows/release-examples.yml - secrets: inherit diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml deleted file mode 100644 index faa9789782..0000000000 --- a/.github/workflows/scorecard.yml +++ /dev/null @@ -1,73 +0,0 @@ -# This workflow uses actions that are not certified by GitHub. They are provided -# by a third-party and are governed by separate terms of service, privacy -# policy, and support documentation. - -name: Scorecard supply-chain security -on: - # For Branch-Protection check. Only the default branch is supported. See - # https://github.com/ossf/scorecard/blob/main/docs/checks.md#branch-protection - branch_protection_rule: - # To guarantee Maintained check is occasionally updated. See - # https://github.com/ossf/scorecard/blob/main/docs/checks.md#maintained - schedule: - - cron: '29 6 * * 3' - push: - branches: - - "main" - -# Declare default permissions as read only. -permissions: read-all - -jobs: - analysis: - name: Scorecard analysis - runs-on: ubuntu-latest - permissions: - # Needed to upload the results to code-scanning dashboard. - security-events: write - # Needed to publish results and get a badge (see publish_results below). - id-token: write - # Uncomment the permissions below if installing in a private repository. - # contents: read - # actions: read - - steps: - - name: "Checkout code" - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - with: - persist-credentials: false - - - name: "Run analysis" - uses: ossf/scorecard-action@62b2cac7ed8198b15735ed49ab1e5cf35480ba46 # v2.4.0 - with: - results_file: results.sarif - results_format: sarif - # (Optional) "write" PAT token. Uncomment the `repo_token` line below if: - # - you want to enable the Branch-Protection check on a *public* repository, or - # - you are installing Scorecard on a *private* repository - # To create the PAT, follow the steps in https://github.com/ossf/scorecard-action#authentication-with-pat. - # repo_token: ${{ secrets.SCORECARD_TOKEN }} - - # Public repositories: - # - Publish results to OpenSSF REST API for easy access by consumers - # - Allows the repository to include the Scorecard badge. - # - See https://github.com/ossf/scorecard-action#publishing-results. - # For private repositories: - # - `publish_results` will always be set to `false`, regardless - # of the value entered here. - publish_results: true - - # Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF - # format to the repository Actions tab. - - name: "Upload artifact" - uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1 - with: - name: SARIF file - path: results.sarif - retention-days: 5 - - # Upload the results to GitHub's code scanning dashboard. - - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@6bb031afdd8eb862ea3fc1848194185e076637e5 # v3.28.11 - with: - sarif_file: results.sarif diff --git a/.github/workflows/security-scans.yml b/.github/workflows/security-scans.yml deleted file mode 100644 index 2c5ff8a343..0000000000 --- a/.github/workflows/security-scans.yml +++ /dev/null @@ -1,302 +0,0 @@ -name: "Security Scans" -on: - schedule: - - cron: '0 3 * * 1' # run tests at 1 AM (UTC), every monday (1) - workflow_dispatch: - inputs: - branch: - description: 'Take CI build artifacts from branch (e.g., master, release-x.y.z)' - required: true - default: 'main' - -# Declare default permissions as read only. -permissions: read-all - -defaults: - run: - shell: bash - -env: - GO_VERSION: "~1.23" - -jobs: - prepare-security-scans: - name: "Prepare Security Scans" - runs-on: ubuntu-24.04 - steps: - - name: Determine Target Branch - id: determine_branch - run: | - if [[ "${{ github.event.inputs.branch }}" != "" ]]; then - # branch was manually set by user -> probably a workflow_dispatch action - BRANCH=${{ github.event.inputs.branch }} - echo "Using $BRANCH as target branch" - else - BRANCH='main' - fi - echo "BRANCH=$(echo ${BRANCH})" >> $GITHUB_OUTPUT - - - name: Find latest successful run ID - id: last_run_id - env: - BRANCH: ${{ steps.determine_branch.outputs.BRANCH }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - RUN_ID=$(\ - curl -sL \ - -H 'Accept: application/vnd.github.v3+json' \ - -H "Authorization: token $GITHUB_TOKEN" \ - "api.github.com/repos/${{ github.repository }}/actions/workflows/CI.yaml/runs?branch=$BRANCH" | \ - jq '[.workflow_runs[] | select( - (.head_commit != null) and ( .conclusion == "success" ) - )][0] | .id') - echo "Run ID that will be used to download artifacts from: $RUN_ID" - echo "RUN_ID=$RUN_ID" >> $GITHUB_OUTPUT - - - name: Download all artifacts from last successful build of target branch - uses: dawidd6/action-download-artifact@09f2f74827fd3a8607589e5ad7f9398816f540fe # v3.1.4 - id: download_artifacts_push - with: - # Download last successful artifact from a CI build - github_token: ${{ secrets.GITHUB_TOKEN }} - workflow: CI.yaml - run_id: ${{ steps.last_run_id.outputs.RUN_ID }} - # directory where to extract artifacts to - path: ./dist - - - name: Upload tag - uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1 - with: - name: tag - path: | - ./dist/dev-*/ - - - name: Upload images - uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1 - with: - name: images - path: | - ./dist/*-image.tar/ - - security-scans: - name: "Security Scans" - needs: prepare-security-scans - runs-on: ubuntu-24.04 - strategy: - fail-fast: false - matrix: - include: - - tool: "kics" - - tool: "kubeconform" - # renovate: datasource=github-releases depName=yannh/kubeconform - version: "v0.5.0" - - tool: "kubescape" - kubescape-framework: "nsa" - - tool: "kubescape" - kubescape-framework: "mitre" - - tool: "kubescape" - kubescape-framework: "ARMOBest" - steps: - - name: Set up Go - if: matrix.tool == 'kubeconform' - uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # v5 - with: - go-version: ${{ env.GO_VERSION }} - check-latest: true - cache: false - - - name: Check out code - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - with: - fetch-depth: 0 - submodules: 'true' - - - name: Download tag - id: download_manifests - uses: actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806 # v4 - with: - name: tag - path: tag - - - name: Setup helm charts - run: | - helm repo add keptn "https://charts.lifecycle.keptn.sh" - helm repo update - - for chart_dir in ./lifecycle-operator/chart \ - ./metrics-operator/chart \ - ./keptn-cert-manager/chart \ - ./chart; do - cd "$chart_dir" - echo "updating charts for" $chart_dir - helm dependency update - helm dependency build - cd - # Return to the previous directory - done - - - name: Generate manifests - run: | - # Fetch tag of the images - export TAG=$(ls tag/) - echo "$TAG" - mkdir scans - envsubst < .github/actions/deploy-keptn-on-cluster/values/values.yaml > tmp.yaml - echo "used values.yaml file:" - cat tmp.yaml - - helm template keptn-test --namespace helmtests -f tmp.yaml ./chart > ./scans/result.yaml - - - name: KICS Scan - if: matrix.tool == 'kics' - uses: Checkmarx/kics-github-action@94469746ec2c43de89a42fb9d2a80070f5d25b16 # v2.1.3 - with: - path: scans - config_path: .github/kics-config.yml - fail_on: high,medium - output_formats: json,sarif - - - name: Upload KICS results - if: always() && matrix.tool == 'kics' - uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1 - with: - name: kics-results - path: results.json - - - name: Kubeconform Scan - if: matrix.tool == 'kubeconform' - run: | - echo "::group::Kubeconform installation" - go install github.com/yannh/kubeconform/cmd/kubeconform@${{ matrix.version }} - echo "::endgroup::" - - cd lifecycle-operator/config/default - sed -i 's/\- ..\/crd//' kustomization.yaml && kustomize build ./ > /tmp/lifecycle-operator-manifest.yaml - cd ../crd && kustomize build ./ > /tmp/crds.yaml - cd ../../../metrics-operator/config/default - sed -i 's/\- ..\/crd//' kustomization.yaml && kustomize build ./ > /tmp/metrics-operator-manifest.yaml - - curl -s https://raw.githubusercontent.com/yannh/kubeconform/${{ matrix.version }}/scripts/openapi2jsonschema.py > /tmp/openapi2jsonschema.py - mkdir -p /tmp/schema && cd /tmp/schema - python3 ../openapi2jsonschema.py ../crds.yaml - cd .. && \ - echo "---" >> lifecycle-operator-manifest.yaml && \ - cat lifecycle-operator-manifest.yaml metrics-operator-manifest.yaml > manifest.yaml - kubeconform \ - -schema-location default \ - -schema-location './schema/{{ .ResourceKind }}_{{ .ResourceAPIVersion }}.json' \ - -schema-location \ - 'https://raw.githubusercontent.com/datreeio/CRDs-catalog/main/cert-manager.io/{{.ResourceKind}}_{{.ResourceAPIVersion}}.json' \ - -summary manifest.yaml - - - name: Kubescape Scan - if: matrix.tool == 'kubescape' - env: - FAILURE_PERCENTAGE: 10 - run: | - echo "::group::Kubescape installation" - curl -s https://raw.githubusercontent.com/kubescape/kubescape/master/install.sh | /bin/bash - export PATH=$PATH:/home/runner/.kubescape/bin - echo "::endgroup::" - # Docs on how to configure exceptions: https://hub.armosec.io/docs/exceptions - kubescape scan framework ${{ matrix.kubescape-framework }} \ - -v -t ${{ env.FAILURE_PERCENTAGE }} \ - --exceptions ./.github/.kubescape/exceptions.json \ - --controls-config ./.github/.kubescape/controls-inputs.json scans \ - --enable-color - - trivy: - name: Trivy - runs-on: ubuntu-24.04 - needs: prepare-security-scans - strategy: - fail-fast: false - matrix: - image: - - "deno-runtime" - - "python-runtime" - - "lifecycle-operator" - - "metrics-operator" - - "certificate-operator" - steps: - - name: Check out code - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - with: - fetch-depth: 0 - submodules: 'true' - - - name: Download images - id: download_images - uses: actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806 # v4 - with: - name: images - path: images - - - name: Untar OCI image - run: | - tar -xvf images/${{ matrix.image }}-image.tar/${{ matrix.image }}-image.tar -C images/${{ matrix.image }}-image.tar/ - - - name: Trivy image scan - uses: aquasecurity/trivy-action@6c175e9c4083a92bbca2f9724c8a5e33bc2d97a5 # 0.30.0 - with: - input: "images/${{ matrix.image }}-image.tar" - severity: 'CRITICAL,HIGH' - exit-code: '1' - - govulncheck: - name: Govulncheck - runs-on: ubuntu-24.04 - strategy: - fail-fast: false - matrix: - artifact: - - "lifecycle-operator" - - "metrics-operator" - - "keptn-cert-manager" - steps: - - name: Set up Go 1.x - uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # v5 - with: - cache-dependency-path: ${{ matrix.artifact }}/go.sum - go-version: ${{ env.GO_VERSION }} - check-latest: true - - - name: Checkout Code - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - - name: Install govulncheck - run: go install golang.org/x/vuln/cmd/govulncheck@latest - - - name: Check for vulnerabilities - working-directory: ./${{ matrix.artifact }} - run: govulncheck ./... - - create_issue: - name: Create GitHub Issue - runs-on: ubuntu-24.04 - needs: [security-scans, govulncheck, trivy] - if: failure() && github.event_name == 'schedule' - steps: - - name: Formulate bug issue - id: formulate_bug_issue - run: | - # create a markdown file that contains details about the error - echo "---" > security-scan-failure.md - echo "title: 'Security Scan failed'" >> security-scan-failure.md - echo "labels: 'security'" >> security-scan-failure.md - echo "---" >> security-scan-failure.md - echo "" >> security-scan-failure.md - echo "* Link to run: $GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID" >> security-scan-failure.md - if [[ $GITHUB_EVENT_NAME == 'schedule' ]]; then - echo "* Triggered by: Scheduled build" >> security-scan-failure.md - else - echo "* Triggered by: @$GITHUB_ACTOR" >> security-scan-failure.md - fi - echo "" >> security-scan-failure.md - echo "Note: This issue was auto-generated from [security-scan.yml](.github/workflows/security-scan.yml)" >> security-scan-failure.md - - - name: Create issue if versions differ - uses: JasonEtco/create-an-issue@1b14a70e4d8dc185e5cc76d3bec9eab20257b2c5 # v2.9.2 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - filename: security-scan-failure.md diff --git a/.github/workflows/set-date.yml b/.github/workflows/set-date.yml deleted file mode 100644 index e377951c37..0000000000 --- a/.github/workflows/set-date.yml +++ /dev/null @@ -1,118 +0,0 @@ -name: Set the Date in the project - -on: - issues: - types: [assigned, closed] - -# Declare default permissions as read only. -permissions: read-all - -jobs: - set_date: - runs-on: ubuntu-24.04 - steps: - - name: Get project data - env: - GITHUB_TOKEN: ${{ secrets.KEPTN_BOT_PROJECT_TOKEN }} - ORGANIZATION: keptn - PROJECT_NUMBER: 18 - run: | - gh api graphql -f query=' - query($org: String!, $number: Int!) { - organization(login: $org){ - projectV2(number: $number) { - id - fields(first:20) { - nodes { - ... on ProjectV2Field { - id - name - } - ... on ProjectV2SingleSelectField { - id - name - options { - id - name - } - } - } - } - } - } - }' -f org=$ORGANIZATION -F number=$PROJECT_NUMBER > project_data.json - echo 'PROJECT_ID='$(jq '.data.organization.projectV2.id' project_data.json) >> $GITHUB_ENV - echo 'START_DATE_FIELD_ID='$(jq '.data.organization.projectV2.fields.nodes[] | select(.name== "Start Date") | .id' project_data.json) \ - >> $GITHUB_ENV - echo 'END_DATE_FIELD_ID='$(jq '.data.organization.projectV2.fields.nodes[] | select(.name== "End Date") | .id' project_data.json) \ - >> $GITHUB_ENV - - - name: Get date - run: echo "DATE=$(date +"%Y-%m-%d")" >> $GITHUB_ENV - - - name: Add item id - env: - GITHUB_TOKEN: ${{ secrets.KEPTN_BOT_PROJECT_TOKEN }} - ISSUE_ID: ${{ github.event.issue.node_id }} - run: | - item_id="$( gh api graphql -f query=' - mutation($project:ID!, $issue:ID!) { - addProjectV2ItemById(input: {projectId: $project, contentId: $issue}) { - item { - id - } - } - }' -f project=$PROJECT_ID -f issue=$ISSUE_ID --jq '.data.addProjectV2ItemById.item.id')" - echo 'ITEM_ID='$item_id >> $GITHUB_ENV - - - name: Set Start Date - env: - GITHUB_TOKEN: ${{ secrets.KEPTN_BOT_PROJECT_TOKEN }} - if: github.event.action == 'assigned' - run: | - gh api graphql -f query=' - mutation ( - $project: ID! - $item: ID! - $date_field: ID! - $date_value: Date! - ) { - set_start_date: updateProjectV2ItemFieldValue(input: { - projectId: $project - itemId: $item - fieldId: $date_field - value: { - date: $date_value - } - }) { - projectV2Item { - id - } - } - }' -f project=$PROJECT_ID -f item=$ITEM_ID -f date_field=$START_DATE_FIELD_ID -f date_value=$DATE - - - name: Set End Date - env: - GITHUB_TOKEN: ${{ secrets.KEPTN_BOT_PROJECT_TOKEN }} - if: github.event.action == 'closed' - run: | - gh api graphql -f query=' - mutation ( - $project: ID! - $item: ID! - $date_field: ID! - $date_value: Date! - ) { - set_end_date: updateProjectV2ItemFieldValue(input: { - projectId: $project - itemId: $item - fieldId: $date_field - value: { - date: $date_value - } - }) { - projectV2Item { - id - } - } - }' -f project=$PROJECT_ID -f item=$ITEM_ID -f date_field=$END_DATE_FIELD_ID -f date_value=$DATE diff --git a/.github/workflows/spell-checker.yml b/.github/workflows/spell-checker.yml deleted file mode 100644 index 7ec61c34a9..0000000000 --- a/.github/workflows/spell-checker.yml +++ /dev/null @@ -1,62 +0,0 @@ -name: Spell Checker -on: - pull_request_target: - branches: - - "main" - - "page" - types: - - 'opened' - - 'reopened' - - 'synchronize' - -# Declare default permissions as read only. -permissions: read-all - -jobs: - spelling: - name: Check Spelling - permissions: - contents: read - pull-requests: read - actions: read - outputs: - followup: ${{ steps.spelling.outputs.followup }} - runs-on: ubuntu-24.04 - concurrency: - group: spelling-${{ github.event.pull_request.number || github.ref }} - # note: If you use only_check_changed_files, you do not want cancel-in-progress - cancel-in-progress: true - steps: - - name: check-spelling - id: spelling - uses: check-spelling/check-spelling@67debf50669c7fc76fc8f5d7f996384535a72b77 # v0.0.24 - with: - suppress_push_for_open_pull_request: ${{ github.actor != 'dependabot[bot]' && github.actor != 'renovate[bot]' && 1 }} - checkout: true - check_file_names: 1 - spell_check_this: check-spelling/spell-check-this@main - post_comment: 0 - use_magic_file: 1 - report-timing: 1 - warnings: - bad-regex - binary-file - deprecated-feature - large-file - limited-references - no-newline-at-eof - noisy-file - non-alpha-in-dictionary - token-is-substring - unexpected-line-ending - whitespace-in-dictionary - minified-file - unsupported-configuration - no-files-to-check - use_sarif: false - extra_dictionary_limit: 20 - extra_dictionaries: - cspell:software-terms/dict/softwareTerms.txt - cspell:k8s/dict/k8s.txt - cspell:golang/dict/go.txt - cspell:html/dict/html.txt diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml deleted file mode 100644 index 82b9fb9213..0000000000 --- a/.github/workflows/stale.yml +++ /dev/null @@ -1,52 +0,0 @@ -name: "Handle stale issues/PRs" - -on: - schedule: - - cron: "0 3 * * *" - workflow_dispatch: - -permissions: - issues: write - pull-requests: write - -jobs: - stale: - runs-on: ubuntu-latest - steps: - - uses: actions/stale@5bef64f19d7facfb25b37b414482c7164d639639 # v9 - with: - days-before-stale: 60 - days-before-close: 7 - exempt-issue-labels: "pinned,security,future,help wanted,integrations,known issue,known-limitation,Epic,area:security,never-stale" - exempt-pr-labels: "pinned,security,future,help wanted,integrations,known issue,known-limitation,Epic,area:security,never-stale" - exempt-all-milestones: true - stale-issue-message: | - This issue has been automatically marked as stale because it has not had recent activity. It will be - closed if no further activity occurs. Thank you for your contributions. - stale-pr-message: | - This PR has been automatically marked as stale because it has not had recent activity. It will be - closed if no further activity occurs. Thank you for your contributions. - - stale-good-first-issues: - runs-on: ubuntu-latest - steps: - - uses: actions/stale@5bef64f19d7facfb25b37b414482c7164d639639 # v9 - with: - days-before-stale: 21 - stale-issue-message: | - This issue will be unassigned in 1 week if no further activity is seen. - If you are active please provide an update on the status of the issue and if you would like to continue - working on it. - include-only-assigned: true - remove-stale-when-updated: true - only-issue-labels: 'good first issue' - stale-issue-label: 'update-requested' - - - uses: actions/stale@5bef64f19d7facfb25b37b414482c7164d639639 # v9 - with: - days-before-stale: 28 - stale-issue-message: | - This issue will be labelled 'to be unassigned' because no response has been encountered. - include-only-assigned: true - only-issue-labels: 'good first issue' - stale-issue-label: 'to be unassigned' diff --git a/.github/workflows/update-labels.yml b/.github/workflows/update-labels.yml deleted file mode 100644 index 9f0163dfd2..0000000000 --- a/.github/workflows/update-labels.yml +++ /dev/null @@ -1,19 +0,0 @@ -name: Set PR Labels - -on: - pull_request_target: - - # Declare default permissions as read only. -permissions: read-all - -jobs: - set-labels: - permissions: - contents: read - pull-requests: write - runs-on: ubuntu-24.04 - steps: - - name: Update Labels - uses: actions/labeler@8558fd74291d67161a8a78ce36a881fa63b766a9 # v5 - with: - sync-labels: true diff --git a/.github/workflows/validate-helm-chart.yml b/.github/workflows/validate-helm-chart.yml deleted file mode 100644 index e5e083ad34..0000000000 --- a/.github/workflows/validate-helm-chart.yml +++ /dev/null @@ -1,79 +0,0 @@ -name: Validate Helm Chart -on: - push: - branches: - - 'main' - - '[0-9]+.[1-9][0-9]*.x' - paths: - - "**/chart/**" - pull_request: - branches: - - 'main' - - '[0-9]+.[1-9][0-9]*.x' - paths: - - "**/chart/**" - -# Declare default permissions as read only. -permissions: read-all - -defaults: - run: - shell: bash -jobs: - check-helm-docs: - name: Check helm documentation values - runs-on: ubuntu-24.04 - strategy: - matrix: - config: - - name: keptn - path: chart - - name: keptn-lifecycle-operator - path: lifecycle-operator/chart - - name: keptn-metrics-operator - path: metrics-operator/chart - - name: keptn-cert-manager - path: keptn-cert-manager/chart - steps: - - name: Check out code - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - - name: Set up Node - uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4.3.0 - with: - node-version: 16 - - - name: Install readme generator - run: | - git clone https://github.com/bitnami-labs/readme-generator-for-helm.git - cd ./readme-generator-for-helm - npm ci - npm install --location=global ./ - cd .. - - - name: Check if Helm doc is up to date for ${{ matrix.config.name }} - run: | - cd ./${{ matrix.config.path }}/ - cp ./README.md ./README-old.md - readme-generator --values=./values.yaml --readme=./README.md - if ! cmp --quiet ./README-old.md ./README.md; then - echo "The Helm values for ${{ matrix.config.name }} have changes that are not reflected in the readme." - echo "Please use ./.github/scripts/generate-helm-docs.sh to re-generate the docs." - echo "" - echo "=========== Diff ===========" - diff -u ./README-old.md ./README.md - exit 1 - else - echo "" - echo "Helm values documentation for ${{ matrix.config.name }} is correct!" - fi - - helm-tests: - name: Run helm tests - runs-on: ubuntu-24.04 - steps: - - name: Check out code - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - - name: Check if Helm template is up to date - run: make helm-test diff --git a/.github/workflows/validate-semantic-pr.yml b/.github/workflows/validate-semantic-pr.yml deleted file mode 100644 index 6591be0fdb..0000000000 --- a/.github/workflows/validate-semantic-pr.yml +++ /dev/null @@ -1,65 +0,0 @@ -name: Semantic PR Validation -on: - pull_request_target: - types: - - opened - - edited - - synchronize - -# Declare default permissions as read only. -permissions: read-all - -defaults: - run: - shell: bash -jobs: - validate: - runs-on: ubuntu-24.04 - steps: - - name: Validate Pull Request - uses: amannn/action-semantic-pull-request@0723387faaf9b38adef4775cd42cfd5155ed6017 # v5.5.3 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - # Configure which types are allowed. - # Default: https://github.com/commitizen/conventional-commit-types - types: | - feat - fix - build - chore - ci - docs - perf - refactor - revert - style - test - deps - scopes: | - main - helm-chart - lifecycle-operator - cert-manager - metrics-operator - deno-runtime - python-runtime - dashboards - examples - # Configure that a scope must always be provided. - requireScope: false - # When using "Squash and merge" on a PR with only one commit, GitHub - # will suggest using that commit message instead of the PR title for the - # merge commit, and it's easy to commit this by mistake. Enable this option - # to also validate the commit message for one commit PRs. - validateSingleCommit: false - # Configure additional validation for the subject based on a regex. - # This ensures the subject doesn't start with an uppercase character. - subjectPattern: ^(?![A-Z]).+$ - # If `subjectPattern` is configured, you can use this property to override - # the default error message that is shown when the pattern doesn't match. - # The variables `subject` and `title` can be used within the message. - subjectPatternError: | - The subject "{subject}" found in the pull request title "{title}" - didn't match the configured pattern. Please ensure that the subject - doesn't start with an uppercase character. diff --git a/.github/workflows/yaml-checks.yaml b/.github/workflows/yaml-checks.yaml deleted file mode 100644 index 501ac5d1a0..0000000000 --- a/.github/workflows/yaml-checks.yaml +++ /dev/null @@ -1,33 +0,0 @@ -name: YAML checks - -on: - push: - branches: - - 'main' - - '[0-9]+.[1-9][0-9]*.x' - - 'epic/*' - paths: - - '**.yaml' - - '**.yml' - - '.yamllint' - pull_request: - branches: - - 'main' - - '[0-9]+.[1-9][0-9]*.x' - - 'epic/*' - paths: - - '**.yaml' - - '**.yml' - - '.yamllint' - -# Declare default permissions as read only. -permissions: read-all - -jobs: - yamllint: - runs-on: ubuntu-24.04 - steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - - name: Lint YAML files - run: make yamllint diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 55b505b797..0000000000 --- a/.gitignore +++ /dev/null @@ -1,53 +0,0 @@ -bin/ -site/ -.cache/ -tmp/ - -# Binaries for programs and plugins -*.exe -*.exe~ -*.dll -*.so -*.dylib - -# Test binary, built with `go test -c` -*.test - -# Output of the go coverage tool, specifically when used with LiteIDE -*.out - -#Autogenerated k8s configs -kubeconfig - -# Dependency directories (remove the comment below to include it) -# vendor/ - -.idea/ -.dccache* - -manifests/ -/lifecycle-operator/config/rendered/release.yaml -/metrics-operator/config/rendered/release.yaml -/keptn-cert-manager/config/rendered/release.yaml -# macOS -.DS_Store - -/examples/observability/assets/backups/ -/dashboards/grafana/output/ - -## Kubebuilder -**/kubebuilder -/docs/tmp/ -/docs/release/ -/docs/.hugo_build.lock -/docs/resources/_gen -/docs/public -node_modules - -# Helm readme generator project -readme-generator-for-helm/ -/out.yaml -/test.yaml -**helm_tests_output.yaml - -/docs/site diff --git a/.golangci.yml b/.golangci.yml deleted file mode 100644 index fba4ea357f..0000000000 --- a/.golangci.yml +++ /dev/null @@ -1,33 +0,0 @@ -run: - timeout: 5m -linters: - enable: - - gofmt # Gofmt checks whether code was gofmt-ed. By default, this tool runs with -s option to check for code simplification - - gci # Gci controls golang package import order and makes it always deterministic. - - errorlint # errorlint can be used to find code that will cause problems with the error wrapping scheme introduced in Go 1.13. - - containedctx # containedctx is a linter that detects struct contained context.Context field - - dogsled # Checks assignments with too many blank identifiers (e.g. x, , , _, := f()) - - nilnil # Checks that there is no simultaneous return of nil error and an invalid value. - - noctx # noctx finds sending http request without context.Context - - gocyclo # measure cyclomatic complexity - - gocognit # measure cognitive complexity - - funlen # limit function length - - dupl # Detect code duplication - -issues: - exclude-rules: - - linters: - - containedctx - - gocyclo - - gocognit - - funlen - path: _test\.go - -linters-settings: - gocyclo: - min-complexity: 10 - gocognit: - min-complexity: 20 - funlen: - lines: 120 - statements: 120 diff --git a/.markdownlint-cli2.yaml b/.markdownlint-cli2.yaml deleted file mode 100644 index 21d8c774a3..0000000000 --- a/.markdownlint-cli2.yaml +++ /dev/null @@ -1,23 +0,0 @@ -config: - ul-indent: - indent: 4 - line-length: - line_length: 120 - tables: false - code_blocks: false - code-block-style: - style: fenced - no-inline-html: - allowed_elements: - - details - - summary - github-admonition: true - max-one-sentence-per-line: true - -customRules: - - ".github/actions/markdown-lint-rules/max-one-sentence-per-line.js" - -ignores: - - "**/CHANGELOG.md" - - "node_modules" - - "readme-generator-for-helm" diff --git a/.readthedocs.yaml b/.readthedocs.yaml deleted file mode 100644 index 5ede592a0c..0000000000 --- a/.readthedocs.yaml +++ /dev/null @@ -1,27 +0,0 @@ -# .readthedocs.yaml -# Read the Docs configuration file -# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details - -# Required -version: "2" - -# Set the OS, Python version and other tools you might need -build: - os: ubuntu-22.04 - tools: - python: "3.11" - commands: - - python -m virtualenv $READTHEDOCS_VIRTUALENV_PATH - - python -m pip install --upgrade --no-cache-dir pip setuptools - - python -m pip install --upgrade --no-cache-dir mkdocs - - python -m pip install --exists-action=w --no-cache-dir -r requirements.txt - - cat mkdocs.yml - - python -m mkdocs build --clean --site-dir $READTHEDOCS_OUTPUT/html --config-file mkdocs.yml --strict - -mkdocs: - configuration: mkdocs.yml - fail_on_warning: true - -python: - install: - - requirements: requirements.txt diff --git a/.release-please-manifest.json b/.release-please-manifest.json deleted file mode 100644 index 28a9816e32..0000000000 --- a/.release-please-manifest.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - ".": "2.5.0", - "keptn-cert-manager": "3.0.0", - "runtimes/python-runtime": "1.0.8", - "runtimes/deno-runtime": "3.0.1", - "lifecycle-operator": "2.0.0", - "metrics-operator": "2.1.0" -} diff --git a/.sonarcloud.properties b/.sonarcloud.properties deleted file mode 100644 index d5468a2159..0000000000 --- a/.sonarcloud.properties +++ /dev/null @@ -1,23 +0,0 @@ -sonar.projectKey=keptn_lifecycle-toolkit -sonar.projectName=lifecycle-toolkit -sonar.exclusions=test/chainsaw/**/*.yaml,\ - docs/docs/**/*.yaml,\ - test/prometheus/**/*.yaml,\ - examples/**/*.yaml -sonar.cpd.exclusions= **/*_test.go,\ - lifecycle-operator/apis/lifecycle/v1alpha1/**/*.go,\ - lifecycle-operator/apis/lifecycle/v1alpha2/**/*.go,\ - lifecycle-operator/apis/lifecycle/v1alpha3/**/*.go,\ - lifecycle-operator/apis/lifecycle/v1alpha4/**/*.go,\ - lifecycle-operator/apis/lifecycle/v1beta1/**/*.go,\ - lifecycle-operator/apis/lifecycle/v1/**/*.go,\ - metrics-operator/api/v1alpha1/**/*.go,\ - metrics-operator/api/v1alpha2/**/*.go,\ - metrics-operator/api/v1alpha3/**/*.go,\ - metrics-operator/api/v1beta1/**/*.go,\ - metrics-operator/api/v1/**/*.go,\ - **/zz_generated.deepcopy.go,\ - **/fake/**/*.go -sonar.go.exclusions=**/vendor/**,\ - **/*_test.go,\ - **/fake/**/*.go diff --git a/.trivyignore b/.trivyignore deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/.yamllint b/.yamllint deleted file mode 100644 index 9227d9a18c..0000000000 --- a/.yamllint +++ /dev/null @@ -1,49 +0,0 @@ -extends: default - -ignore: | - docs/tmp/ - docs/public/ - test/prometheus - **/rendered/release.yaml - examples/support/observability/config/prometheus - dashboards/grafana - lifecycle-operator/config/crd/bases/* - metrics-operator/config/crd/bases/* - keptn-cert-manager/config/crd/bases/* - lifecycle-operator/config/rbac/role.yaml - metrics-operator/config/rbac/role.yaml - keptn-cert-manager/config/rbac/role.yaml - helm/chart - metrics-operator/chart - keptn-cert-manager/chart - lifecycle-operator/chart - .github/scripts/.helm-tests - -rules: - braces: enable - brackets: enable - colons: enable - commas: enable - comments: - min-spaces-from-content: 1 - comments-indentation: enable - document-end: disable - document-start: disable - empty-lines: enable - hyphens: enable - indentation: - spaces: 2 - indent-sequences: true - check-multi-line-strings: false - key-duplicates: enable - key-ordering: disable - line-length: - max: 155 - new-line-at-end-of-file: enable - new-lines: enable - octal-values: enable - quoted-strings: disable - trailing-spaces: enable - truthy: - level: error - allowed-values: ['true', 'false', 'on'] diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index 8fa0f7bacf..0000000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,2189 +0,0 @@ -# Changelog - -## [2.5.0](https://github.com/keptn/lifecycle-toolkit/compare/keptn-v2.4.0...keptn-v2.5.0) (2025-03-19) - - -### Features - -* adding Elastic as a metrics provider ([#3890](https://github.com/keptn/lifecycle-toolkit/issues/3890)) ([1802600](https://github.com/keptn/lifecycle-toolkit/commit/1802600c7aa73d3a67025a6b3b17df920460f669)) - - -### Other - -* backport Keptn helm chart version ([#3859](https://github.com/keptn/lifecycle-toolkit/issues/3859)) ([1f16c91](https://github.com/keptn/lifecycle-toolkit/commit/1f16c9176362c8984d08569024d676a19ecd24e8)) -* bump metrics-operator Helm chart ([#3899](https://github.com/keptn/lifecycle-toolkit/issues/3899)) ([d8ad7bb](https://github.com/keptn/lifecycle-toolkit/commit/d8ad7bb083fdc69c81b5478aeff7e518724d62de)) -* release metrics-operator 2.1.0 ([#3858](https://github.com/keptn/lifecycle-toolkit/issues/3858)) ([73bbba2](https://github.com/keptn/lifecycle-toolkit/commit/73bbba208ca6184a0406fd2e251472f22e2d4463)) - - -### Docs - -* add css change to remove back button when screen size is reduced ([#3873](https://github.com/keptn/lifecycle-toolkit/issues/3873)) ([9a6dbc9](https://github.com/keptn/lifecycle-toolkit/commit/9a6dbc9fd7550f547452705cdf36fae18ee21d97)) -* fix broken link ([#3874](https://github.com/keptn/lifecycle-toolkit/issues/3874)) ([1a7e6fa](https://github.com/keptn/lifecycle-toolkit/commit/1a7e6fa2cb0590a222b976e58aa4a78bfa13ddd5)) -* new landing page design ([#3870](https://github.com/keptn/lifecycle-toolkit/issues/3870)) ([4659fed](https://github.com/keptn/lifecycle-toolkit/commit/4659fed50f7dab6992a343051fabbef16b17dc9f)) - - -### Dependency Updates - -* update github actions ([#3877](https://github.com/keptn/lifecycle-toolkit/issues/3877)) ([7eb3337](https://github.com/keptn/lifecycle-toolkit/commit/7eb333753901584ac283a40da503394e1d8edfd5)) -* update github/codeql-action action to v3.27.1 ([#3861](https://github.com/keptn/lifecycle-toolkit/issues/3861)) ([ea484b8](https://github.com/keptn/lifecycle-toolkit/commit/ea484b87d6cbc56c938e64dad433214429536383)) - -## [2.4.0](https://github.com/keptn/lifecycle-toolkit/compare/keptn-v2.3.0...keptn-v2.4.0) (2024-11-11) - - -### ⚠ BREAKING CHANGES - -* **lifecycle-operator:** The Lifecycle Operator helm chart was adapted after removal of the Keptn Scheduler and many Helm values were simplified, please double check your values files and adapt them accordingly. -* The Keptn Scheduler was removed and therefore support for Kubernetes 1.26 and lower was dropped. -* remove Keptn scheduler ([#3821](https://github.com/keptn/lifecycle-toolkit/issues/3821)) - -### Bug Fixes - -* **lifecycle-operator:** remove scheduler from helm charts ([#3855](https://github.com/keptn/lifecycle-toolkit/issues/3855)) ([fd78a53](https://github.com/keptn/lifecycle-toolkit/commit/fd78a536c1131ca57b0e8e7929a6c382b34e47b8)) - - -### Other - -* bump helm chart versions ([#3857](https://github.com/keptn/lifecycle-toolkit/issues/3857)) ([1873178](https://github.com/keptn/lifecycle-toolkit/commit/1873178a28878c0a12ce00e20a8e62d105068fe5)) -* polish helm charts ([#3853](https://github.com/keptn/lifecycle-toolkit/issues/3853)) ([17fa47b](https://github.com/keptn/lifecycle-toolkit/commit/17fa47b16fb43bb627a466e999851bc1f225e878)) -* release cert-manager 3.0.0 ([#3819](https://github.com/keptn/lifecycle-toolkit/issues/3819)) ([f3aac6a](https://github.com/keptn/lifecycle-toolkit/commit/f3aac6a691aefc721ced5e5681729b235e19a64c)) -* release deno-runtime 3.0.1 ([#3833](https://github.com/keptn/lifecycle-toolkit/issues/3833)) ([a4a99dc](https://github.com/keptn/lifecycle-toolkit/commit/a4a99dcd98addb9ecb05025195b9438a975165a0)) -* release lifecycle-operator 2.0.0 ([#3818](https://github.com/keptn/lifecycle-toolkit/issues/3818)) ([3c671ee](https://github.com/keptn/lifecycle-toolkit/commit/3c671ee8030e0badcfa0caa3bfe649fbc86386f0)) -* release metrics-operator 2.0.0 ([#3820](https://github.com/keptn/lifecycle-toolkit/issues/3820)) ([8247c33](https://github.com/keptn/lifecycle-toolkit/commit/8247c3355b4dcd4b2640ec349d67082b3986488c)) -* release python-runtime 1.0.7 ([#3822](https://github.com/keptn/lifecycle-toolkit/issues/3822)) ([1bbde40](https://github.com/keptn/lifecycle-toolkit/commit/1bbde406d6b1879d67ee48c792e84662f44744ec)) -* release python-runtime 1.0.8 ([#3845](https://github.com/keptn/lifecycle-toolkit/issues/3845)) ([96a0a27](https://github.com/keptn/lifecycle-toolkit/commit/96a0a271e7901ea170b290871a45eef723509fcd)) -* remove Keptn scheduler ([#3821](https://github.com/keptn/lifecycle-toolkit/issues/3821)) ([de3a0e7](https://github.com/keptn/lifecycle-toolkit/commit/de3a0e7a17c8c16ab350188d5235ca6b435c6ba5)) - - -### Docs - -* remove Keptn scheduler ([#3826](https://github.com/keptn/lifecycle-toolkit/issues/3826)) ([cb01b09](https://github.com/keptn/lifecycle-toolkit/commit/cb01b09ec5ec079595e5d64de70c541b432f4de0)) - - -### Dependency Updates - -* bump mockserver to v5.15.0 ([#3825](https://github.com/keptn/lifecycle-toolkit/issues/3825)) ([5be9abe](https://github.com/keptn/lifecycle-toolkit/commit/5be9abef60efcd82c7d719874561ea82830c78b5)) -* **lifecycle-operator:** bump python and deno runtime images ([#3852](https://github.com/keptn/lifecycle-toolkit/issues/3852)) ([140498b](https://github.com/keptn/lifecycle-toolkit/commit/140498ba922640ee76d8a8a7330056e721eb8193)) -* update anchore/sbom-action action to v0.17.7 ([#3839](https://github.com/keptn/lifecycle-toolkit/issues/3839)) ([80882e1](https://github.com/keptn/lifecycle-toolkit/commit/80882e11a2cbde75fa0b445ed21946edef8e938b)) -* update check-spelling/check-spelling action to v0.0.24 ([#3827](https://github.com/keptn/lifecycle-toolkit/issues/3827)) ([9de9e44](https://github.com/keptn/lifecycle-toolkit/commit/9de9e44125cc65fe63c5e2efd1930ca8c85c8d82)) -* update dependency pymdown-extensions to v10.12 ([#3831](https://github.com/keptn/lifecycle-toolkit/issues/3831)) ([3dc5d8b](https://github.com/keptn/lifecycle-toolkit/commit/3dc5d8b125df8238876baf2efe35fc23b41d244d)) -* update github actions (patch) ([#3817](https://github.com/keptn/lifecycle-toolkit/issues/3817)) ([5a09dfa](https://github.com/keptn/lifecycle-toolkit/commit/5a09dfa1e24256a737ff751493b65fa49d7b03e6)) -* update squidfunk/mkdocs-material to v9.5.43 (patch) ([#3830](https://github.com/keptn/lifecycle-toolkit/issues/3830)) ([06abb69](https://github.com/keptn/lifecycle-toolkit/commit/06abb6963173dd5e16d033a280a2916d435338c7)) -* update squidfunk/mkdocs-material to v9.5.44 (patch) ([#3841](https://github.com/keptn/lifecycle-toolkit/issues/3841)) ([bcd369b](https://github.com/keptn/lifecycle-toolkit/commit/bcd369bde0b753427648e49922b206e9d3ed10ac)) - -## [2.3.0](https://github.com/keptn/lifecycle-toolkit/compare/keptn-v2.2.0...keptn-v2.3.0) (2024-11-04) - - -### Features - -* add support for Kubernetes v1.31 ([#3785](https://github.com/keptn/lifecycle-toolkit/issues/3785)) ([2c5ba22](https://github.com/keptn/lifecycle-toolkit/commit/2c5ba22537e6e583c631aff78eca9b737c6bd69f)) - - -### Other - -* bump runtime versions ([#3813](https://github.com/keptn/lifecycle-toolkit/issues/3813)) ([e03976d](https://github.com/keptn/lifecycle-toolkit/commit/e03976d1e2a7f8e28f1a107d0a8b44b615764f40)) -* release cert-manager 2.2.2 ([#3658](https://github.com/keptn/lifecycle-toolkit/issues/3658)) ([8c76404](https://github.com/keptn/lifecycle-toolkit/commit/8c76404b9af0dc48245b0b70b1234bbd54270ccc)) -* release deno-runtime 3.0.0 ([#3722](https://github.com/keptn/lifecycle-toolkit/issues/3722)) ([e91b31d](https://github.com/keptn/lifecycle-toolkit/commit/e91b31dd031899e5d197bf26ccae2ef39d2b208a)) -* release lifecycle-operator 1.2.0 ([#3715](https://github.com/keptn/lifecycle-toolkit/issues/3715)) ([95ba5e8](https://github.com/keptn/lifecycle-toolkit/commit/95ba5e86fd45b35176a66d062c7827116551164c)) -* release metrics-operator 1.1.1 ([#3714](https://github.com/keptn/lifecycle-toolkit/issues/3714)) ([a6b177d](https://github.com/keptn/lifecycle-toolkit/commit/a6b177d699a039ee17b9bddfbeee00be5c55a059)) -* release python-runtime 1.0.7 ([#3721](https://github.com/keptn/lifecycle-toolkit/issues/3721)) ([929c291](https://github.com/keptn/lifecycle-toolkit/commit/929c291ea3df3b7381dd955a92bce93fcf2dd8b7)) -* release scheduler 1.0.2 ([#3709](https://github.com/keptn/lifecycle-toolkit/issues/3709)) ([8bf4406](https://github.com/keptn/lifecycle-toolkit/commit/8bf4406c5ad236558781773ad7ebafcc2cc937ed)) - - -### Docs - -* add code annotations in analysis reference page ([#3815](https://github.com/keptn/lifecycle-toolkit/issues/3815)) ([b29c059](https://github.com/keptn/lifecycle-toolkit/commit/b29c059f652f05654a9ae3bce5685dd60b8a2dd8)) -* clarify OTel collector usage in getting started guide ([#3775](https://github.com/keptn/lifecycle-toolkit/issues/3775)) ([489f593](https://github.com/keptn/lifecycle-toolkit/commit/489f593d81527d2fa8e460654c74397811ed6a60)) -* explain that part-of and name annotations are concatenated ([#3778](https://github.com/keptn/lifecycle-toolkit/issues/3778)) ([59a19cc](https://github.com/keptn/lifecycle-toolkit/commit/59a19cc993932205b6ea3f0b80aa81e63846ddd0)) -* remove unneeded docs ([#3744](https://github.com/keptn/lifecycle-toolkit/issues/3744)) ([883fd33](https://github.com/keptn/lifecycle-toolkit/commit/883fd33db0b10a8680665246be2b81f377eee372)) - - -### Dependency Updates - -* bump umbrella chart dependencies ([#3816](https://github.com/keptn/lifecycle-toolkit/issues/3816)) ([302150a](https://github.com/keptn/lifecycle-toolkit/commit/302150a60b07c88d9d1fe6412dfb91f89fb36c7f)) -* update actions/cache digest to 3624ceb ([#3747](https://github.com/keptn/lifecycle-toolkit/issues/3747)) ([ce72154](https://github.com/keptn/lifecycle-toolkit/commit/ce72154d71f385086b9565fb91837579e6ed9f77)) -* update actions/checkout action to v4.2.1 ([#3752](https://github.com/keptn/lifecycle-toolkit/issues/3752)) ([6f70aed](https://github.com/keptn/lifecycle-toolkit/commit/6f70aed7c65fe9ccc440060e805d2a6b99623a05)) -* update actions/setup-node action to v4.0.4 ([#3749](https://github.com/keptn/lifecycle-toolkit/issues/3749)) ([747d497](https://github.com/keptn/lifecycle-toolkit/commit/747d497b785509aba57f4d108c626ee0285e7905)) -* update actions/upload-artifact action to v4.4.3 ([#3753](https://github.com/keptn/lifecycle-toolkit/issues/3753)) ([f689ee8](https://github.com/keptn/lifecycle-toolkit/commit/f689ee820721d3a4217316381e5eab6118e10f81)) -* update all golang.org/x packages ([#3729](https://github.com/keptn/lifecycle-toolkit/issues/3729)) ([d0a22de](https://github.com/keptn/lifecycle-toolkit/commit/d0a22deacb3af85c95e07c9b4d2d91120b7c07ca)) -* update anchore/sbom-action action to v0.17.3 ([#3756](https://github.com/keptn/lifecycle-toolkit/issues/3756)) ([d4ee352](https://github.com/keptn/lifecycle-toolkit/commit/d4ee352fdfa8bf99cbcc3ae522577bff031c52bc)) -* update anchore/sbom-action action to v0.17.5 ([#3774](https://github.com/keptn/lifecycle-toolkit/issues/3774)) ([e0f9309](https://github.com/keptn/lifecycle-toolkit/commit/e0f93091cb4263d6961ec5bca4a2e02f165101fa)) -* update aquasecurity/trivy-action action to v0.27.0 ([#3759](https://github.com/keptn/lifecycle-toolkit/issues/3759)) ([a7420dd](https://github.com/keptn/lifecycle-toolkit/commit/a7420dd3a323909e3984367bcd91e913635aa627)) -* update busybox docker tag ([#3760](https://github.com/keptn/lifecycle-toolkit/issues/3760)) ([6bb6fe7](https://github.com/keptn/lifecycle-toolkit/commit/6bb6fe7b0a889c87a03b057e041a009c711215bc)) -* update checkmarx/kics-github-action action to v2.1.3 ([#3750](https://github.com/keptn/lifecycle-toolkit/issues/3750)) ([a5200b0](https://github.com/keptn/lifecycle-toolkit/commit/a5200b01f45917c8906538ab72ff5ef333d9db2c)) -* update codecov/codecov-action action to v4.6.0 ([#3764](https://github.com/keptn/lifecycle-toolkit/issues/3764)) ([c14b71f](https://github.com/keptn/lifecycle-toolkit/commit/c14b71ffee75f9a40e9c8aad8982ff9917b1a99c)) -* update dependency cert-manager/cert-manager to v1.15.3 ([#3689](https://github.com/keptn/lifecycle-toolkit/issues/3689)) ([c97ff34](https://github.com/keptn/lifecycle-toolkit/commit/c97ff340d7df1c6bb14d9001d8f1654df4b837dd)) -* update dependency cert-manager/cert-manager to v1.16.1 ([#3772](https://github.com/keptn/lifecycle-toolkit/issues/3772)) ([6906d49](https://github.com/keptn/lifecycle-toolkit/commit/6906d49f2c31665993807e0950ce8a48dacb5deb)) -* update dependency kubernetes-sigs/controller-tools to v0.16.2 ([#3700](https://github.com/keptn/lifecycle-toolkit/issues/3700)) ([a0ff0ed](https://github.com/keptn/lifecycle-toolkit/commit/a0ff0ed8eccb9ef0da275f5a1bcce010d058ad7c)) -* update dependency kubernetes-sigs/controller-tools to v0.16.4 ([#3733](https://github.com/keptn/lifecycle-toolkit/issues/3733)) ([a3dca53](https://github.com/keptn/lifecycle-toolkit/commit/a3dca534108788fb47c73e21a48f791070fddb31)) -* update dependency kubernetes-sigs/kustomize to v5.5.0 ([#3793](https://github.com/keptn/lifecycle-toolkit/issues/3793)) ([62ff5ac](https://github.com/keptn/lifecycle-toolkit/commit/62ff5ac84966ab3dcbf1a640133a47e7301479bd)) -* update dependency mkdocs to v1.6.1 ([#3723](https://github.com/keptn/lifecycle-toolkit/issues/3723)) ([fce5d4d](https://github.com/keptn/lifecycle-toolkit/commit/fce5d4dbb612fe0db07b619156ef96ebbe72640b)) -* update dependency mkdocs-git-revision-date-localized-plugin to v1.2.9 ([#3731](https://github.com/keptn/lifecycle-toolkit/issues/3731)) ([bd9a08c](https://github.com/keptn/lifecycle-toolkit/commit/bd9a08c60a0a2b28db8e2f8da35e5bf4be073194)) -* update dependency mkdocs-git-revision-date-localized-plugin to v1.3.0 ([#3789](https://github.com/keptn/lifecycle-toolkit/issues/3789)) ([34d7bc2](https://github.com/keptn/lifecycle-toolkit/commit/34d7bc2a10f6df1bca99a09f26b99089e8fccb77)) -* update dependency mkdocs-include-markdown-plugin to v7 ([#3803](https://github.com/keptn/lifecycle-toolkit/issues/3803)) ([32b2bea](https://github.com/keptn/lifecycle-toolkit/commit/32b2bea3e0b5cd70a41d1847d2dad93aa5afd347)) -* update dependency pymdown-extensions to v10.11.2 ([#3765](https://github.com/keptn/lifecycle-toolkit/issues/3765)) ([61d4217](https://github.com/keptn/lifecycle-toolkit/commit/61d421742a33539a5f8ec5eb1fee90e1321a43e3)) -* update dependency ubuntu to v24 ([#3762](https://github.com/keptn/lifecycle-toolkit/issues/3762)) ([8ea1e4f](https://github.com/keptn/lifecycle-toolkit/commit/8ea1e4f1022e5c35d182fb21f3f73fb59c1d9cd7)) -* update docker/build-push-action action to v6.7.0 ([#3701](https://github.com/keptn/lifecycle-toolkit/issues/3701)) ([9a3b312](https://github.com/keptn/lifecycle-toolkit/commit/9a3b312e8dbbeb431643385754f1e265446e68d4)) -* update docker/build-push-action action to v6.9.0 ([#3766](https://github.com/keptn/lifecycle-toolkit/issues/3766)) ([7c40499](https://github.com/keptn/lifecycle-toolkit/commit/7c40499175196be8e4fd9afdeed6bad962eb24c5)) -* update docker/setup-buildx-action digest to c47758b ([#3748](https://github.com/keptn/lifecycle-toolkit/issues/3748)) ([5944b8f](https://github.com/keptn/lifecycle-toolkit/commit/5944b8ff35f6b3f0abb419e3c903eeed771e720a)) -* update github actions ([#3786](https://github.com/keptn/lifecycle-toolkit/issues/3786)) ([f5a40e1](https://github.com/keptn/lifecycle-toolkit/commit/f5a40e163f85c810b21bd81f00b344e8cb7869ac)) -* update github actions (patch) ([#3787](https://github.com/keptn/lifecycle-toolkit/issues/3787)) ([fbe06bf](https://github.com/keptn/lifecycle-toolkit/commit/fbe06bf5a937ed831ff6765419c070f027072cac)) -* update github/codeql-action action to v3.26.12 ([#3734](https://github.com/keptn/lifecycle-toolkit/issues/3734)) ([d8823b4](https://github.com/keptn/lifecycle-toolkit/commit/d8823b4e95d24e9871cfc685bf3a164e29e5fb7c)) -* update github/codeql-action action to v3.26.13 ([#3773](https://github.com/keptn/lifecycle-toolkit/issues/3773)) ([86fb627](https://github.com/keptn/lifecycle-toolkit/commit/86fb627e96eb906b810ab7e8b4735eb3a19b8f50)) -* update github/codeql-action action to v3.26.6 ([#3671](https://github.com/keptn/lifecycle-toolkit/issues/3671)) ([5175942](https://github.com/keptn/lifecycle-toolkit/commit/5175942c11ec20969487dbbed3a62e61e51606a6)) -* update golangci/golangci-lint-action digest to 971e284 ([#3755](https://github.com/keptn/lifecycle-toolkit/issues/3755)) ([b36c199](https://github.com/keptn/lifecycle-toolkit/commit/b36c1992d31d513bc1813966d6a14d62225f3ef9)) -* update kubebuilder and k8s packages ([#3806](https://github.com/keptn/lifecycle-toolkit/issues/3806)) ([7b92373](https://github.com/keptn/lifecycle-toolkit/commit/7b92373b2110c28dec82d576747f821d47a98bb2)) -* update kyverno/action-install-chainsaw action to v0.2.11 ([#3736](https://github.com/keptn/lifecycle-toolkit/issues/3736)) ([de4191d](https://github.com/keptn/lifecycle-toolkit/commit/de4191df608f5faf0f0695c41779937ae523bffa)) -* update octokit/request-action action to v2.4.0 ([#3767](https://github.com/keptn/lifecycle-toolkit/issues/3767)) ([9b18918](https://github.com/keptn/lifecycle-toolkit/commit/9b189186b609a12ea257e246955c0e0e84ff9bbe)) -* update peter-evans/create-pull-request action to v7 ([#3763](https://github.com/keptn/lifecycle-toolkit/issues/3763)) ([5511dec](https://github.com/keptn/lifecycle-toolkit/commit/5511dec2b33443496506e3ccb2f478f5f9cc1817)) -* update sigstore/cosign-installer action to v3.7.0 ([#3761](https://github.com/keptn/lifecycle-toolkit/issues/3761)) ([20d8a89](https://github.com/keptn/lifecycle-toolkit/commit/20d8a8926cc51e2a7aea6c0d3ef3ac89da25efa6)) -* update squidfunk/mkdocs-material to v9.5.34 (patch) ([#3726](https://github.com/keptn/lifecycle-toolkit/issues/3726)) ([fd63432](https://github.com/keptn/lifecycle-toolkit/commit/fd6343269d7a1e1923f3a50125fdda84dc8ba71f)) -* update squidfunk/mkdocs-material to v9.5.40 (patch) ([#3751](https://github.com/keptn/lifecycle-toolkit/issues/3751)) ([0c5bf38](https://github.com/keptn/lifecycle-toolkit/commit/0c5bf38c6a23e6ec16d02f7506d07091b6a721cd)) -* update squidfunk/mkdocs-material to v9.5.42 (patch) ([#3788](https://github.com/keptn/lifecycle-toolkit/issues/3788)) ([f1fc74b](https://github.com/keptn/lifecycle-toolkit/commit/f1fc74ba71a02888475bf25ba42eff229513ef6e)) - -## [2.2.0](https://github.com/keptn/lifecycle-toolkit/compare/keptn-v2.1.0...keptn-v2.2.0) (2024-08-27) - - -### Features - -* **metrics-operator:** introduce insecureSkipTlsVerify parameter ([#3711](https://github.com/keptn/lifecycle-toolkit/issues/3711)) ([c51c5e4](https://github.com/keptn/lifecycle-toolkit/commit/c51c5e406cefef87dc1f22daf1555fe8ecb70158)) - - -### Other - -* bump helm chart version ([#3665](https://github.com/keptn/lifecycle-toolkit/issues/3665)) ([ff62ede](https://github.com/keptn/lifecycle-toolkit/commit/ff62ede9f55f9545f98ceb1e7d8122478fa7033e)) -* release lifecycle-operator 1.1.1 ([#3664](https://github.com/keptn/lifecycle-toolkit/issues/3664)) ([e688c73](https://github.com/keptn/lifecycle-toolkit/commit/e688c73853f3136a2e2646be85a31a2a67caa0dc)) -* release metrics-operator 1.1.0 ([#3661](https://github.com/keptn/lifecycle-toolkit/issues/3661)) ([24191f8](https://github.com/keptn/lifecycle-toolkit/commit/24191f8024c75582f0936226fe6ad5671d0dc7d7)) -* update helm chart versions ([#3713](https://github.com/keptn/lifecycle-toolkit/issues/3713)) ([e052c92](https://github.com/keptn/lifecycle-toolkit/commit/e052c927cdb83215dfc2724e259f8fd72988a0a2)) - - -### Dependency Updates - -* update actions/upload-artifact action to v4.3.6 ([#3670](https://github.com/keptn/lifecycle-toolkit/issues/3670)) ([0d5c60f](https://github.com/keptn/lifecycle-toolkit/commit/0d5c60f48fac850dedbab72ebf6be17636bb76c5)) -* update anchore/sbom-action action to v0.17.2 ([#3687](https://github.com/keptn/lifecycle-toolkit/issues/3687)) ([2484e49](https://github.com/keptn/lifecycle-toolkit/commit/2484e495594de62d970a263d2b86ff9738c9e3e4)) -* update checkmarx/kics-github-action action to v2.1.2 ([#3688](https://github.com/keptn/lifecycle-toolkit/issues/3688)) ([8178ac5](https://github.com/keptn/lifecycle-toolkit/commit/8178ac5c8146b0b01f95854d44146e4903101026)) -* update dependency mkdocs-git-revision-date-localized-plugin to v1.2.7 ([#3690](https://github.com/keptn/lifecycle-toolkit/issues/3690)) ([c2fc3b6](https://github.com/keptn/lifecycle-toolkit/commit/c2fc3b69ff402d383eac9365999222e0f4e118d6)) -* update dependency mkdocs-include-markdown-plugin to v6.2.2 ([#3691](https://github.com/keptn/lifecycle-toolkit/issues/3691)) ([759443a](https://github.com/keptn/lifecycle-toolkit/commit/759443a181dae03ca8066b4dcf5574e1b23f114d)) -* update sigstore/cosign-installer action to v3.6.0 ([#3706](https://github.com/keptn/lifecycle-toolkit/issues/3706)) ([29e1614](https://github.com/keptn/lifecycle-toolkit/commit/29e16143218d9bec85af039595a90ebfbc402ee2)) -* update squidfunk/mkdocs-material to v9.5.33 (patch) ([#3697](https://github.com/keptn/lifecycle-toolkit/issues/3697)) ([605ebe1](https://github.com/keptn/lifecycle-toolkit/commit/605ebe16323e75744a5119da1b2099ca892d2bb7)) - -## [2.1.0](https://github.com/keptn/lifecycle-toolkit/compare/keptn-v2.0.0...keptn-v2.1.0) (2024-08-06) - - -### Features - -* **helm-chart:** ability to set hostNetwork for lifecycle operator deployment ([#3500](https://github.com/keptn/lifecycle-toolkit/issues/3500)) ([c08bb07](https://github.com/keptn/lifecycle-toolkit/commit/c08bb07f9e59c6488062e76d09ff9dcff4311102)) -* **lifecycle-operator:** introduce RestApiEnabled parameter in KeptnConfig ([#3620](https://github.com/keptn/lifecycle-toolkit/issues/3620)) ([1ab1f14](https://github.com/keptn/lifecycle-toolkit/commit/1ab1f14c290b0edbb473c33620a25e5ca706cb74)) - - -### Bug Fixes - -* **examples:** helm values overide format and dashboard fix ([#3562](https://github.com/keptn/lifecycle-toolkit/issues/3562)) ([f5a820f](https://github.com/keptn/lifecycle-toolkit/commit/f5a820f7016e5203c9c370b57ccc02225ee4e455)) - - -### Other - -* attest provenance for images ([#3421](https://github.com/keptn/lifecycle-toolkit/issues/3421)) ([ba4f5a5](https://github.com/keptn/lifecycle-toolkit/commit/ba4f5a5d9992e0df44ca64b18778c5c62d57b1bf)) -* backport helm chart versions ([#3662](https://github.com/keptn/lifecycle-toolkit/issues/3662)) ([81320a5](https://github.com/keptn/lifecycle-toolkit/commit/81320a534f52cf16d3e59c76b451c92b3502b35f)) -* backport umbrella helm chart version ([#3465](https://github.com/keptn/lifecycle-toolkit/issues/3465)) ([29219c3](https://github.com/keptn/lifecycle-toolkit/commit/29219c35d1df61c304005a2bbcb221ad65ee9eae)) -* bump keptn-cert-manager chart version ([#3657](https://github.com/keptn/lifecycle-toolkit/issues/3657)) ([9bcc0d1](https://github.com/keptn/lifecycle-toolkit/commit/9bcc0d1633a6e0a731d8fd831b8e8c5e7ab1995f)) -* bump metrics-operator chart version ([#3660](https://github.com/keptn/lifecycle-toolkit/issues/3660)) ([600151d](https://github.com/keptn/lifecycle-toolkit/commit/600151d9fb858bc3adbc0e9eb97b8e0f2da6a3c5)) -* release cert-manager 2.2.1 ([#3462](https://github.com/keptn/lifecycle-toolkit/issues/3462)) ([f5af26c](https://github.com/keptn/lifecycle-toolkit/commit/f5af26c10f4db3ba75e3959ad03fdff422a0d06b)) -* release deno-runtime 2.0.5 ([#3509](https://github.com/keptn/lifecycle-toolkit/issues/3509)) ([088f091](https://github.com/keptn/lifecycle-toolkit/commit/088f09152e02fe7496a2ccc46256123e194ff704)) -* release lifecycle-operator 1.1.0 ([#3463](https://github.com/keptn/lifecycle-toolkit/issues/3463)) ([175533d](https://github.com/keptn/lifecycle-toolkit/commit/175533d235d9a9aca37b4e5606b0aa473d6c057b)) -* release metrics-operator 1.0.2 ([#3464](https://github.com/keptn/lifecycle-toolkit/issues/3464)) ([b43ee93](https://github.com/keptn/lifecycle-toolkit/commit/b43ee93370135474ad138449c2e7257e06cbc1e5)) -* release python-runtime 1.0.6 ([#3565](https://github.com/keptn/lifecycle-toolkit/issues/3565)) ([b00c619](https://github.com/keptn/lifecycle-toolkit/commit/b00c61966e5f2da90488a19f0e38d9c6b2257a56)) -* release scheduler 1.0.1 ([#3475](https://github.com/keptn/lifecycle-toolkit/issues/3475)) ([e7fbfed](https://github.com/keptn/lifecycle-toolkit/commit/e7fbfede6e455f13f545d31e92a480883d544841)) - - -### Docs - -* adapt release dates of blogposts ([#3530](https://github.com/keptn/lifecycle-toolkit/issues/3530)) ([38931ff](https://github.com/keptn/lifecycle-toolkit/commit/38931ff98a65dde5707086f692f9e864fb50b239)) -* add blog post about using Keptn within Argo Workflows ([#3487](https://github.com/keptn/lifecycle-toolkit/issues/3487)) ([6434efc](https://github.com/keptn/lifecycle-toolkit/commit/6434efc0bd0bc43a6d6e203b13aa03d1308c676a)) -* add troubleshooting section for installation of custom metrics API Service ([#3613](https://github.com/keptn/lifecycle-toolkit/issues/3613)) ([490b2be](https://github.com/keptn/lifecycle-toolkit/commit/490b2be51dc5259de4296e55fc9dac93e1c1d23c)) -* added container section ([#3580](https://github.com/keptn/lifecycle-toolkit/issues/3580)) ([b45e2f3](https://github.com/keptn/lifecycle-toolkit/commit/b45e2f35f26d1c6878abcaa68fb3de03708a86d1)) -* fix some broken links ([#3647](https://github.com/keptn/lifecycle-toolkit/issues/3647)) ([b1dd064](https://github.com/keptn/lifecycle-toolkit/commit/b1dd064934b9bf5654cac0b948dcc0ff6ad2b39b)) -* fix vCluster broken link ([#3544](https://github.com/keptn/lifecycle-toolkit/issues/3544)) ([950f242](https://github.com/keptn/lifecycle-toolkit/commit/950f24255eec72a9e0b5345cee28605a3fb0d4ec)) -* introduce blogpost of ArgoCD and Keptn integration ([#3521](https://github.com/keptn/lifecycle-toolkit/issues/3521)) ([1a34801](https://github.com/keptn/lifecycle-toolkit/commit/1a34801a89459dd5dcfe635c58676eb558c2e717)) -* move Flux use-case Keptn resources to v1 ([#3471](https://github.com/keptn/lifecycle-toolkit/issues/3471)) ([97ee68c](https://github.com/keptn/lifecycle-toolkit/commit/97ee68cec45822049f9ea3608c78c6f81a47501d)) -* moved cert manager to global ([#3560](https://github.com/keptn/lifecycle-toolkit/issues/3560)) ([9f143b0](https://github.com/keptn/lifecycle-toolkit/commit/9f143b0481507242e11cfff70e478fc27dffeb22)) -* removed the note from analysis guide ([#3573](https://github.com/keptn/lifecycle-toolkit/issues/3573)) ([ef2cd08](https://github.com/keptn/lifecycle-toolkit/commit/ef2cd0819e7ab1019533b7c037274c32baa35375)) -* troubleshooting shifted ([#3561](https://github.com/keptn/lifecycle-toolkit/issues/3561)) ([cc65f8e](https://github.com/keptn/lifecycle-toolkit/commit/cc65f8e95b12e1dc18d02a898e6262e99b1d8497)) -* update release checklist to verify reflection of breaking changes in helm charts ([#3543](https://github.com/keptn/lifecycle-toolkit/issues/3543)) ([c6ce5bc](https://github.com/keptn/lifecycle-toolkit/commit/c6ce5bcc0405a6538a3d1484c540347b7104cf09)) -* update using-keptn-analyses-in-argo-workflows.md ([#3571](https://github.com/keptn/lifecycle-toolkit/issues/3571)) ([cdc8ec8](https://github.com/keptn/lifecycle-toolkit/commit/cdc8ec82eb4c57f823713bf0d3abb801bd3439ef)) -* updated contribution guidelines for website ([#3559](https://github.com/keptn/lifecycle-toolkit/issues/3559)) ([65211fe](https://github.com/keptn/lifecycle-toolkit/commit/65211fed1854b548ece60deaad3a7315855e0d24)) - - -### Dependency Updates - -* migrate to new release-please-action repo ([#3656](https://github.com/keptn/lifecycle-toolkit/issues/3656)) ([82be5e1](https://github.com/keptn/lifecycle-toolkit/commit/82be5e1427cdab3f4c67f7758e41ecbe4766e2df)) -* update actions/checkout action to v4.1.4 ([#3479](https://github.com/keptn/lifecycle-toolkit/issues/3479)) ([6e126a9](https://github.com/keptn/lifecycle-toolkit/commit/6e126a9930b2f939ef1c2d7106a020265186b69d)) -* update actions/checkout action to v4.1.5 ([#3501](https://github.com/keptn/lifecycle-toolkit/issues/3501)) ([bf8d387](https://github.com/keptn/lifecycle-toolkit/commit/bf8d3870abaf8ca3fff79e5b4f7d563b254b17b0)) -* update actions/checkout action to v4.1.6 ([#3527](https://github.com/keptn/lifecycle-toolkit/issues/3527)) ([37e9c8d](https://github.com/keptn/lifecycle-toolkit/commit/37e9c8d2ff0e4dda4dc472a4b998684dad53d2c0)) -* update actions/checkout action to v4.1.7 ([#3566](https://github.com/keptn/lifecycle-toolkit/issues/3566)) ([1899e6b](https://github.com/keptn/lifecycle-toolkit/commit/1899e6b01a77253efde5310839979f11d0664b17)) -* update actions/download-artifact digest to 65a9edc ([#3467](https://github.com/keptn/lifecycle-toolkit/issues/3467)) ([c3a104d](https://github.com/keptn/lifecycle-toolkit/commit/c3a104d3ced511a5daa7d5863fbb25e9e7fbb87e)) -* update actions/download-artifact digest to fa0a91b ([#3583](https://github.com/keptn/lifecycle-toolkit/issues/3583)) ([2991ac1](https://github.com/keptn/lifecycle-toolkit/commit/2991ac1446bcc49364111bb119a343a350940d7c)) -* update actions/setup-go digest to 0a12ed9 ([#3584](https://github.com/keptn/lifecycle-toolkit/issues/3584)) ([e5c41d9](https://github.com/keptn/lifecycle-toolkit/commit/e5c41d921c83770539dc04d4d06269ae66379fc0)) -* update actions/setup-go digest to cdcb360 ([#3492](https://github.com/keptn/lifecycle-toolkit/issues/3492)) ([e603b0a](https://github.com/keptn/lifecycle-toolkit/commit/e603b0a2dd1e1e221c7c3335943a890458deb77b)) -* update actions/setup-node action to v4.0.3 ([#3599](https://github.com/keptn/lifecycle-toolkit/issues/3599)) ([92fd1d1](https://github.com/keptn/lifecycle-toolkit/commit/92fd1d19499784aa1aa88f51b0781ccdefb7a081)) -* update actions/upload-artifact action to v4.3.4 ([#3600](https://github.com/keptn/lifecycle-toolkit/issues/3600)) ([416c79c](https://github.com/keptn/lifecycle-toolkit/commit/416c79ccca0d46cbf56237df63fca4f26126e488)) -* update actions/upload-artifact digest to 0b2256b ([#3585](https://github.com/keptn/lifecycle-toolkit/issues/3585)) ([7b78011](https://github.com/keptn/lifecycle-toolkit/commit/7b7801192b1b17a7b2384063bd979a9f49d57368)) -* update actions/upload-artifact to v4.3.5 ([#3629](https://github.com/keptn/lifecycle-toolkit/issues/3629)) ([2ce8774](https://github.com/keptn/lifecycle-toolkit/commit/2ce877444932958bb43030597c4fe9331a7a2792)) -* update actions/upload-artifact to v4.3.5 ([#3644](https://github.com/keptn/lifecycle-toolkit/issues/3644)) ([ec0ed50](https://github.com/keptn/lifecycle-toolkit/commit/ec0ed501679b008ddd3079290aa34bdf316980bc)) -* update amannn/action-semantic-pull-request action to v5.5.2 ([#3476](https://github.com/keptn/lifecycle-toolkit/issues/3476)) ([d9a61e1](https://github.com/keptn/lifecycle-toolkit/commit/d9a61e1b96a8b1daee8f07472165b02054f113e6)) -* update amannn/action-semantic-pull-request action to v5.5.3 ([#3601](https://github.com/keptn/lifecycle-toolkit/issues/3601)) ([6a68806](https://github.com/keptn/lifecycle-toolkit/commit/6a68806cf7051d2b0f3f0e17290d7157be73ad7f)) -* update anchore/sbom-action action to v0.15.11 ([#3483](https://github.com/keptn/lifecycle-toolkit/issues/3483)) ([9e220b5](https://github.com/keptn/lifecycle-toolkit/commit/9e220b5bdacc6b75c7909c3d155f61e7c1fdc129)) -* update anchore/sbom-action action to v0.17.0 ([#3539](https://github.com/keptn/lifecycle-toolkit/issues/3539)) ([62fbccd](https://github.com/keptn/lifecycle-toolkit/commit/62fbccd07bbe380f22974ad66d63c290be2a4b8a)) -* update aquasecurity/trivy-action action to v0.23.0 ([#3570](https://github.com/keptn/lifecycle-toolkit/issues/3570)) ([1bde488](https://github.com/keptn/lifecycle-toolkit/commit/1bde48810c708be8a74340a90f41c0714503529e)) -* update aquasecurity/trivy-action action to v0.24.0 ([#3608](https://github.com/keptn/lifecycle-toolkit/issues/3608)) ([73f0a1d](https://github.com/keptn/lifecycle-toolkit/commit/73f0a1d8d21b3179fdcbb5bc75ed59249825dc85)) -* update checkmarx/kics-github-action action to v2 ([#3470](https://github.com/keptn/lifecycle-toolkit/issues/3470)) ([7418fcd](https://github.com/keptn/lifecycle-toolkit/commit/7418fcd4242408b11983837939b852622e8efe9c)) -* update checkmarx/kics-github-action action to v2.1.1 ([#3575](https://github.com/keptn/lifecycle-toolkit/issues/3575)) ([6594946](https://github.com/keptn/lifecycle-toolkit/commit/6594946e72328f305fcae4e6b40d278604ad4bff)) -* update codecov/codecov-action action to v4.3.1 ([#3498](https://github.com/keptn/lifecycle-toolkit/issues/3498)) ([ba7b4a9](https://github.com/keptn/lifecycle-toolkit/commit/ba7b4a919b5107fcbb09cfe8ee1d1cb8aeedea39)) -* update codecov/codecov-action action to v4.5.0 ([#3576](https://github.com/keptn/lifecycle-toolkit/issues/3576)) ([91e640d](https://github.com/keptn/lifecycle-toolkit/commit/91e640db65918fb97cfcf33f28db39bd319d8e9e)) -* update dependency bitnami-labs/readme-generator-for-helm to v2.6.1 ([#3472](https://github.com/keptn/lifecycle-toolkit/issues/3472)) ([67b0140](https://github.com/keptn/lifecycle-toolkit/commit/67b0140f06cefe89dc274d45cbb39a14803371d2)) -* update dependency cert-manager/cert-manager to v1.15.2 ([#3634](https://github.com/keptn/lifecycle-toolkit/issues/3634)) ([416d0ae](https://github.com/keptn/lifecycle-toolkit/commit/416d0aea5a302ee16edce65a32522e99507d2ba0)) -* update dependency cloud-bulldozer/kube-burner to v1.7.13 ([#3648](https://github.com/keptn/lifecycle-toolkit/issues/3648)) ([523c7dd](https://github.com/keptn/lifecycle-toolkit/commit/523c7dd99135abe80b986196d5af220cb5476b19)) -* update dependency elastic/crd-ref-docs to v0.1.0 ([#3625](https://github.com/keptn/lifecycle-toolkit/issues/3625)) ([996f6ad](https://github.com/keptn/lifecycle-toolkit/commit/996f6ad45d6ec86ff0aea3978936b925e5fd12f3)) -* update dependency golangci/golangci-lint to v1.59.1 ([#3631](https://github.com/keptn/lifecycle-toolkit/issues/3631)) ([29c7c1c](https://github.com/keptn/lifecycle-toolkit/commit/29c7c1cdab7ca4d95fd89622fc07f50d557c9e9c)) -* update dependency kubernetes-sigs/kustomize to v5.4.2 ([#3548](https://github.com/keptn/lifecycle-toolkit/issues/3548)) ([fdecc9b](https://github.com/keptn/lifecycle-toolkit/commit/fdecc9b44c52a69407310dd85240b355a6b56c6e)) -* update dependency kubernetes-sigs/kustomize to v5.4.3 ([#3617](https://github.com/keptn/lifecycle-toolkit/issues/3617)) ([8e583ab](https://github.com/keptn/lifecycle-toolkit/commit/8e583ab22897eb8039c4038d0f85081c0f1a3a79)) -* update dependency mkdocs-git-revision-date-localized-plugin to v1.2.5 ([#3494](https://github.com/keptn/lifecycle-toolkit/issues/3494)) ([5ac40f3](https://github.com/keptn/lifecycle-toolkit/commit/5ac40f3567ec7e1e6b396467657f6df63b0b7b77)) -* update dependency mkdocs-git-revision-date-localized-plugin to v1.2.6 ([#3549](https://github.com/keptn/lifecycle-toolkit/issues/3549)) ([59bc16a](https://github.com/keptn/lifecycle-toolkit/commit/59bc16a8bf67ad3a7d066409ccfb48fd7468ba31)) -* update dependency mkdocs-include-markdown-plugin to v6.0.6 ([#3502](https://github.com/keptn/lifecycle-toolkit/issues/3502)) ([d706379](https://github.com/keptn/lifecycle-toolkit/commit/d706379164fd5e36cb6e8fee747ace5f5d4b79b9)) -* update dependency mkdocs-include-markdown-plugin to v6.0.7 ([#3550](https://github.com/keptn/lifecycle-toolkit/issues/3550)) ([8cec6a9](https://github.com/keptn/lifecycle-toolkit/commit/8cec6a99966d070736b88b668d871ce50f23566a)) -* update dependency mkdocs-include-markdown-plugin to v6.2.1 ([#3610](https://github.com/keptn/lifecycle-toolkit/issues/3610)) ([d8fa147](https://github.com/keptn/lifecycle-toolkit/commit/d8fa1471c8550bd04b58c5251ca8bfed919d39a0)) -* update dependency mkdocs-material to v9.5.29 ([#3602](https://github.com/keptn/lifecycle-toolkit/issues/3602)) ([571f087](https://github.com/keptn/lifecycle-toolkit/commit/571f08793a78c190f85a29210c9d3b475f534883)) -* update dependency mkdocs-material to v9.5.30 ([#3622](https://github.com/keptn/lifecycle-toolkit/issues/3622)) ([2dbcd0b](https://github.com/keptn/lifecycle-toolkit/commit/2dbcd0b0023240cb82de1a8ae56d087bafbacf90)) -* update dependency pymdown-extensions to v10.8.1 ([#3488](https://github.com/keptn/lifecycle-toolkit/issues/3488)) ([e048679](https://github.com/keptn/lifecycle-toolkit/commit/e048679b0b2d95bdd71b4545ef620e6be0bfac20)) -* update dependency pymdown-extensions to v10.9 ([#3626](https://github.com/keptn/lifecycle-toolkit/issues/3626)) ([8092164](https://github.com/keptn/lifecycle-toolkit/commit/8092164819ace65e2484e944592953012564d1b4)) -* update docker/build-push-action action to v5.4.0 ([#3611](https://github.com/keptn/lifecycle-toolkit/issues/3611)) ([ad050f8](https://github.com/keptn/lifecycle-toolkit/commit/ad050f828c3ec09dca3890a582aa21a51fbbc881)) -* update docker/build-push-action action to v6 ([#3642](https://github.com/keptn/lifecycle-toolkit/issues/3642)) ([fe9438c](https://github.com/keptn/lifecycle-toolkit/commit/fe9438c6cbbecfa1e1539ede900087825c4bc143)) -* update docker/login-action action to v3.3.0 ([#3632](https://github.com/keptn/lifecycle-toolkit/issues/3632)) ([a27ffcf](https://github.com/keptn/lifecycle-toolkit/commit/a27ffcf186a5644caf88b49cd39eca0e927f3991)) -* update docker/setup-buildx-action digest to 4fd8129 ([#3586](https://github.com/keptn/lifecycle-toolkit/issues/3586)) ([56d68f0](https://github.com/keptn/lifecycle-toolkit/commit/56d68f01b8668c41502669896bb1fe502bb94b1c)) -* update docker/setup-buildx-action digest to 988b5a0 ([#3614](https://github.com/keptn/lifecycle-toolkit/issues/3614)) ([db3a053](https://github.com/keptn/lifecycle-toolkit/commit/db3a053051429cbb2b4b1e5589309c117c6cdf68)) -* update github/codeql-action action to v3.25.10 ([#3567](https://github.com/keptn/lifecycle-toolkit/issues/3567)) ([c03cbf6](https://github.com/keptn/lifecycle-toolkit/commit/c03cbf638136000ee1c16665e7236a21abd09532)) -* update github/codeql-action action to v3.25.12 ([#3603](https://github.com/keptn/lifecycle-toolkit/issues/3603)) ([8604a66](https://github.com/keptn/lifecycle-toolkit/commit/8604a662a0f16c4df6362f8c1941d1d868c3822f)) -* update github/codeql-action action to v3.25.15 ([#3618](https://github.com/keptn/lifecycle-toolkit/issues/3618)) ([4d94907](https://github.com/keptn/lifecycle-toolkit/commit/4d949071875ecf1beeee5727f675e80b76f381f1)) -* update github/codeql-action action to v3.25.3 ([#3485](https://github.com/keptn/lifecycle-toolkit/issues/3485)) ([aa3f328](https://github.com/keptn/lifecycle-toolkit/commit/aa3f328019009903fe26e04850abc2e162dcfb1f)) -* update github/codeql-action action to v3.25.5 ([#3511](https://github.com/keptn/lifecycle-toolkit/issues/3511)) ([e246f2f](https://github.com/keptn/lifecycle-toolkit/commit/e246f2f0c359cb1a6378d46257156b8e28bf96e5)) -* update github/codeql-action action to v3.25.8 ([#3532](https://github.com/keptn/lifecycle-toolkit/issues/3532)) ([beb48d9](https://github.com/keptn/lifecycle-toolkit/commit/beb48d95bfd8dee935eda5cd422bfbc9b9941c8a)) -* update golang docker tag to v1.22.5 ([#3315](https://github.com/keptn/lifecycle-toolkit/issues/3315)) ([0d7a613](https://github.com/keptn/lifecycle-toolkit/commit/0d7a613997697ba4db937f5e6193bc23c6b34551)) -* update golangci/golangci-lint-action action to v6 ([#3643](https://github.com/keptn/lifecycle-toolkit/issues/3643)) ([e06002f](https://github.com/keptn/lifecycle-toolkit/commit/e06002ffbffc7585bf0ab45f706e4a36407533e7)) -* update golangci/golangci-lint-action digest to d6238b0 ([#3469](https://github.com/keptn/lifecycle-toolkit/issues/3469)) ([0c7ecac](https://github.com/keptn/lifecycle-toolkit/commit/0c7ecac8f9f15ee6e0b0823eeded6776de1d0f80)) -* update google-github-actions/release-please-action digest to e4dc86b ([#3515](https://github.com/keptn/lifecycle-toolkit/issues/3515)) ([975b712](https://github.com/keptn/lifecycle-toolkit/commit/975b712a797b7e4e7ed5df6f0fa5141ba6ceacb3)) -* update helm/kind-action action to v1.10.0 ([#3477](https://github.com/keptn/lifecycle-toolkit/issues/3477)) ([9186087](https://github.com/keptn/lifecycle-toolkit/commit/9186087470bf64757fe9e84aadf003d23211dcb3)) -* update kyverno/action-install-chainsaw action to v0.2.0 ([#3505](https://github.com/keptn/lifecycle-toolkit/issues/3505)) ([69b8978](https://github.com/keptn/lifecycle-toolkit/commit/69b897827079e72d8323de69f558d5368ca24491)) -* update kyverno/action-install-chainsaw action to v0.2.3 ([#3533](https://github.com/keptn/lifecycle-toolkit/issues/3533)) ([622ebef](https://github.com/keptn/lifecycle-toolkit/commit/622ebef6e03ae9d06a150a66ddc13d67e12ff2df)) -* update kyverno/action-install-chainsaw action to v0.2.4 ([#3553](https://github.com/keptn/lifecycle-toolkit/issues/3553)) ([ada23b5](https://github.com/keptn/lifecycle-toolkit/commit/ada23b5ef877de5be2022648e44d772058438283)) -* update kyverno/action-install-chainsaw action to v0.2.5 ([#3574](https://github.com/keptn/lifecycle-toolkit/issues/3574)) ([a5fd07e](https://github.com/keptn/lifecycle-toolkit/commit/a5fd07ed15a44bb26b0d0bc540ef2cf28b675ea4)) -* update kyverno/action-install-chainsaw action to v0.2.6 ([#3587](https://github.com/keptn/lifecycle-toolkit/issues/3587)) ([ce54663](https://github.com/keptn/lifecycle-toolkit/commit/ce5466352077320b98d346ad9d6c13a691c827ff)) -* update kyverno/action-install-chainsaw action to v0.2.7 ([#3619](https://github.com/keptn/lifecycle-toolkit/issues/3619)) ([4eae3d0](https://github.com/keptn/lifecycle-toolkit/commit/4eae3d0f2e8b9b9c2ce3d75f031c8305b991445c)) -* update kyverno/action-install-chainsaw action to v0.2.8 ([#3630](https://github.com/keptn/lifecycle-toolkit/issues/3630)) ([740a703](https://github.com/keptn/lifecycle-toolkit/commit/740a70349d9d89bfe136a110d88da4859f47b74b)) -* update octokit/request-action action to v2.3.1 ([#3524](https://github.com/keptn/lifecycle-toolkit/issues/3524)) ([f6bce3b](https://github.com/keptn/lifecycle-toolkit/commit/f6bce3b85f7dbf95b9df3d79c7c873cd2903a4b1)) -* update ossf/scorecard-action action to v2.3.3 ([#3525](https://github.com/keptn/lifecycle-toolkit/issues/3525)) ([3cc37b4](https://github.com/keptn/lifecycle-toolkit/commit/3cc37b41478931d6bf032714c96f160b101e3f75)) -* update ossf/scorecard-action action to v2.4.0 ([#3633](https://github.com/keptn/lifecycle-toolkit/issues/3633)) ([95f9f8e](https://github.com/keptn/lifecycle-toolkit/commit/95f9f8e944fe8db19eebea3485656c5b2572566e)) -* update peter-evans/create-pull-request action to v6.0.5 ([#3486](https://github.com/keptn/lifecycle-toolkit/issues/3486)) ([6428ccb](https://github.com/keptn/lifecycle-toolkit/commit/6428ccbd57e4f0730ea8d42c553d61c571b05ede)) -* update peter-evans/create-pull-request action to v6.1.0 ([#3641](https://github.com/keptn/lifecycle-toolkit/issues/3641)) ([623e30f](https://github.com/keptn/lifecycle-toolkit/commit/623e30fe1ac8898c086a3d678aa167b85edafb27)) -* update python and deno runtimes ([#3655](https://github.com/keptn/lifecycle-toolkit/issues/3655)) ([41f1cbe](https://github.com/keptn/lifecycle-toolkit/commit/41f1cbebb8fd4ef85130bf7771bb599c17b88f5d)) -* update softprops/action-gh-release action to v2.0.5 ([#3536](https://github.com/keptn/lifecycle-toolkit/issues/3536)) ([d6000b7](https://github.com/keptn/lifecycle-toolkit/commit/d6000b78f505f84500e2913c7aa66323f625bd73)) -* update softprops/action-gh-release action to v2.0.6 ([#3569](https://github.com/keptn/lifecycle-toolkit/issues/3569)) ([e62d1fa](https://github.com/keptn/lifecycle-toolkit/commit/e62d1fa259691fe9d670918a7090b7c6faa0c1eb)) -* update softprops/action-gh-release action to v2.0.8 ([#3623](https://github.com/keptn/lifecycle-toolkit/issues/3623)) ([639b04f](https://github.com/keptn/lifecycle-toolkit/commit/639b04fbad564cf6e2b01233fc82ef6055018ff8)) -* update squidfunk/mkdocs-material to v9.5.20 (patch) ([#3490](https://github.com/keptn/lifecycle-toolkit/issues/3490)) ([f75b03c](https://github.com/keptn/lifecycle-toolkit/commit/f75b03cafd73a53363c02bcd1980bfee4d8f0a3d)) -* update squidfunk/mkdocs-material to v9.5.21 (patch) ([#3499](https://github.com/keptn/lifecycle-toolkit/issues/3499)) ([6f0d9c3](https://github.com/keptn/lifecycle-toolkit/commit/6f0d9c385f81ef0e912608d8a3f60b8ab346b8dd)) -* update squidfunk/mkdocs-material to v9.5.25 (patch) ([#3537](https://github.com/keptn/lifecycle-toolkit/issues/3537)) ([8cde438](https://github.com/keptn/lifecycle-toolkit/commit/8cde43860ed1b4314a094fe1eca8bea6b3007d3f)) -* update squidfunk/mkdocs-material to v9.5.27 (patch) ([#3556](https://github.com/keptn/lifecycle-toolkit/issues/3556)) ([5034443](https://github.com/keptn/lifecycle-toolkit/commit/50344438d50d93a4d6db7c6cb7d7e8d69a439793)) -* update squidfunk/mkdocs-material to v9.5.31 (patch) ([#3649](https://github.com/keptn/lifecycle-toolkit/issues/3649)) ([6270cc4](https://github.com/keptn/lifecycle-toolkit/commit/6270cc43e642ea86bf0e0fcefcfbfffad90afe30)) - -## [2.0.0](https://github.com/keptn/lifecycle-toolkit/compare/keptn-v2.0.0-rc.2...keptn-v2.0.0) (2024-04-24) - - -### Features - -* add Thanos metrics provider ([#3358](https://github.com/keptn/lifecycle-toolkit/issues/3358)) ([7cc1622](https://github.com/keptn/lifecycle-toolkit/commit/7cc1622edc1c7e6ffa138389df2b7e15f1c2b8db)) -* **helm-chart:** make charts Openshift compliant ([#3415](https://github.com/keptn/lifecycle-toolkit/issues/3415)) ([32f077a](https://github.com/keptn/lifecycle-toolkit/commit/32f077aa875d591d5b17eca01b2e75cafeaae44d)) -* **lifecycle-operator:** introduce v1 API version ([#3344](https://github.com/keptn/lifecycle-toolkit/issues/3344)) ([1d851c5](https://github.com/keptn/lifecycle-toolkit/commit/1d851c5d72d6a1cf4678b838bd5176c2de89ece7)) -* **lifecycle-operator:** move API HUB version to v1 ([#3350](https://github.com/keptn/lifecycle-toolkit/issues/3350)) ([eed393b](https://github.com/keptn/lifecycle-toolkit/commit/eed393b859000866ecc271d117b9971c3693cfda)) -* **metrics-operator:** introduce v1 API version ([#3266](https://github.com/keptn/lifecycle-toolkit/issues/3266)) ([d034a4f](https://github.com/keptn/lifecycle-toolkit/commit/d034a4f4abbbff31596bc790842a4ba765e82e1e)) -* **metrics-operator:** support Cortex metrics provider ([#3361](https://github.com/keptn/lifecycle-toolkit/issues/3361)) ([8f0c9ca](https://github.com/keptn/lifecycle-toolkit/commit/8f0c9ca2ec677ee04a33e938b64cc72c059a6df2)) -* **metrics-operator:** use v1 API in operator logic ([#3269](https://github.com/keptn/lifecycle-toolkit/issues/3269)) ([e9a584b](https://github.com/keptn/lifecycle-toolkit/commit/e9a584bc28ce6306362c722fed8849f5d5be0bda)) - - -### Bug Fixes - -* **dashboards:** fix formatting of Keptn Applications dashboard ([#3426](https://github.com/keptn/lifecycle-toolkit/issues/3426)) ([6012bd7](https://github.com/keptn/lifecycle-toolkit/commit/6012bd7326a0e6117b865e0565e5b8e5ce7f61ce)) -* introduce missing Role into keptn-cert-manager helm charts ([#3435](https://github.com/keptn/lifecycle-toolkit/issues/3435)) ([16afdaa](https://github.com/keptn/lifecycle-toolkit/commit/16afdaaf4ae56179d0f725ae9f9e9ae96709f042)) - - -### Other - -* backport release helm chart versions ([#3460](https://github.com/keptn/lifecycle-toolkit/issues/3460)) ([95d6809](https://github.com/keptn/lifecycle-toolkit/commit/95d6809272eeb2b981b63f3718c4e799fc72b743)) -* bump helm umbrella chart version ([#3461](https://github.com/keptn/lifecycle-toolkit/issues/3461)) ([b34d314](https://github.com/keptn/lifecycle-toolkit/commit/b34d3142789c5919b9d45cf6e7cd2787dc93cc60)) -* bump runtime versions to latest released ([#3455](https://github.com/keptn/lifecycle-toolkit/issues/3455)) ([4034df7](https://github.com/keptn/lifecycle-toolkit/commit/4034df773a97d59cb758e82ccb5ab12ddab97fad)) -* **lifecycle-operator:** clean up unused API logic ([#3351](https://github.com/keptn/lifecycle-toolkit/issues/3351)) ([016dc07](https://github.com/keptn/lifecycle-toolkit/commit/016dc07236785d7bcfbccfe2a806b70e1ec44421)) -* **lifecycle-operator:** remove deprecated fields in KeptnTaskDefinition ([#3345](https://github.com/keptn/lifecycle-toolkit/issues/3345)) ([15a8ae3](https://github.com/keptn/lifecycle-toolkit/commit/15a8ae3394fe1347434dda87764b86c8cefc1637)) -* release cert-manager 2.2.0 ([#3304](https://github.com/keptn/lifecycle-toolkit/issues/3304)) ([16cd285](https://github.com/keptn/lifecycle-toolkit/commit/16cd28547a61cca8cc2b405a158a80cdeeb493a3)) -* release deno-runtime 2.0.4 ([#3370](https://github.com/keptn/lifecycle-toolkit/issues/3370)) ([a73d757](https://github.com/keptn/lifecycle-toolkit/commit/a73d75784fc3c499dd65aa056162a3714478f9a3)) -* release lifecycle-operator 1.0.0 ([#3305](https://github.com/keptn/lifecycle-toolkit/issues/3305)) ([4f30690](https://github.com/keptn/lifecycle-toolkit/commit/4f3069015302348398735800671361071a5592a1)) -* release metrics-operator 1.0.0 ([#3306](https://github.com/keptn/lifecycle-toolkit/issues/3306)) ([9c79379](https://github.com/keptn/lifecycle-toolkit/commit/9c793795061de27d200d4c54af3eee313776b171)) -* release metrics-operator 1.0.1 ([#3459](https://github.com/keptn/lifecycle-toolkit/issues/3459)) ([3fe22cd](https://github.com/keptn/lifecycle-toolkit/commit/3fe22cd3d459407b7d2d05d739c979d3258ad6f9)) -* release python-runtime 1.0.5 ([#3417](https://github.com/keptn/lifecycle-toolkit/issues/3417)) ([d2f28d8](https://github.com/keptn/lifecycle-toolkit/commit/d2f28d8329bf4385487815be79e3f17ec5febc81)) -* release scheduler 1.0.0 ([#3332](https://github.com/keptn/lifecycle-toolkit/issues/3332)) ([e344511](https://github.com/keptn/lifecycle-toolkit/commit/e34451104bd16b104dd309ec398c98f542ff6295)) - - -### Docs - -* adapt custom sitemap.xml ([#3420](https://github.com/keptn/lifecycle-toolkit/issues/3420)) ([5825cc9](https://github.com/keptn/lifecycle-toolkit/commit/5825cc990e49da0141c22b0c8418b82b24b550e4)) -* adapt goals of Keptn in README ([#3293](https://github.com/keptn/lifecycle-toolkit/issues/3293)) ([d4cf6d0](https://github.com/keptn/lifecycle-toolkit/commit/d4cf6d07688c747f3d429370e26a7e1accd05c05)) -* add blog post for multi-stage delivery ([#3352](https://github.com/keptn/lifecycle-toolkit/issues/3352)) ([15ccf05](https://github.com/keptn/lifecycle-toolkit/commit/15ccf054216a560fb7d3cc44c12b1e7725bc1ced)) -* add glasskube as an alternative installation method ([#3362](https://github.com/keptn/lifecycle-toolkit/issues/3362)) ([b75a004](https://github.com/keptn/lifecycle-toolkit/commit/b75a00448a0c60c805e6766640a5bd85a20e5aab)) -* add namespace restriction info ([#3335](https://github.com/keptn/lifecycle-toolkit/issues/3335)) ([52f33a6](https://github.com/keptn/lifecycle-toolkit/commit/52f33a676812d33751065467c13f286d51b3323a)) -* add use case page for KEDA ([#3349](https://github.com/keptn/lifecycle-toolkit/issues/3349)) ([3ebd454](https://github.com/keptn/lifecycle-toolkit/commit/3ebd45438b57c6274861228e681b2148439bb113)) -* clarify Argo vs Keptn applications ([#3385](https://github.com/keptn/lifecycle-toolkit/issues/3385)) ([d8ec137](https://github.com/keptn/lifecycle-toolkit/commit/d8ec1371e000d45f5d059d35da2ebf2ee070fd33)) -* create use-case for integration with Flux ([#3380](https://github.com/keptn/lifecycle-toolkit/issues/3380)) ([3b093bc](https://github.com/keptn/lifecycle-toolkit/commit/3b093bc5b8c020d06d624f008ea18cbc18835ae6)) -* fix info about %include for sample files ([#3246](https://github.com/keptn/lifecycle-toolkit/issues/3246)) ([bc1ead5](https://github.com/keptn/lifecycle-toolkit/commit/bc1ead54a0c262415ab41c21b92501e368756ab8)) -* fix local docs link in contrib guide ([#3357](https://github.com/keptn/lifecycle-toolkit/issues/3357)) ([25d5c06](https://github.com/keptn/lifecycle-toolkit/commit/25d5c064c2cc343922b84992cdc30ef45d35db0f)) -* fix missing registry and selector from example podtatohead ([#3321](https://github.com/keptn/lifecycle-toolkit/issues/3321)) ([c0c4fb4](https://github.com/keptn/lifecycle-toolkit/commit/c0c4fb45a234bb73c8580b3c21e061d4b7182c89)) -* fix some readme links ([#3348](https://github.com/keptn/lifecycle-toolkit/issues/3348)) ([7ee20a1](https://github.com/keptn/lifecycle-toolkit/commit/7ee20a19eac66306e99fce3db5beafae6ad2ee2e)) -* fix vCluster link ([#3438](https://github.com/keptn/lifecycle-toolkit/issues/3438)) ([8ae127c](https://github.com/keptn/lifecycle-toolkit/commit/8ae127c145f8740161495d6074da2697755e8b18)) -* how to create a blog post ([#3285](https://github.com/keptn/lifecycle-toolkit/issues/3285)) ([835f949](https://github.com/keptn/lifecycle-toolkit/commit/835f94955751cd2c9a9c018676ff49f0dcff02ca)) -* improve CRD reference intro paragraphs ([#3320](https://github.com/keptn/lifecycle-toolkit/issues/3320)) ([cbdb373](https://github.com/keptn/lifecycle-toolkit/commit/cbdb373dc8978c8b04bb759a9533a181ce43070f)) -* improve guide page section ([#3170](https://github.com/keptn/lifecycle-toolkit/issues/3170)) ([445abf3](https://github.com/keptn/lifecycle-toolkit/commit/445abf3bfd581bf87d4809a7c470bf866874c25d)) -* improve landing pages for Contrib Guide ([#3342](https://github.com/keptn/lifecycle-toolkit/issues/3342)) ([77b2c6d](https://github.com/keptn/lifecycle-toolkit/commit/77b2c6d333023ac1a84f4680df8796a3e1eac571)) -* introduce custom robots.txt and sitemap.xml files ([#3418](https://github.com/keptn/lifecycle-toolkit/issues/3418)) ([0f38104](https://github.com/keptn/lifecycle-toolkit/commit/0f3810407faa5bf8c74e9ae6a745aec101ca1b6c)) -* move golangci-lint info to contribute/software ([#3368](https://github.com/keptn/lifecycle-toolkit/issues/3368)) ([a3d48eb](https://github.com/keptn/lifecycle-toolkit/commit/a3d48eb927bc9f53df5fe73453636965411149ab)) -* move to v1 metrics API ([#3323](https://github.com/keptn/lifecycle-toolkit/issues/3323)) ([5daef98](https://github.com/keptn/lifecycle-toolkit/commit/5daef98ff9142677f4bba2184d58b95a8a69f803)) -* move webhook section from README to docs ([#3314](https://github.com/keptn/lifecycle-toolkit/issues/3314)) ([e0cac27](https://github.com/keptn/lifecycle-toolkit/commit/e0cac274d409528dbc5fdac53f6d8056a11c9ab1)) -* remove details docs intro, fix some links ([#3322](https://github.com/keptn/lifecycle-toolkit/issues/3322)) ([d9bc5e5](https://github.com/keptn/lifecycle-toolkit/commit/d9bc5e5eeac0daf75ab562ce2545e9b9aa7ead50)) -* remove install/upgrade info using manifests ([#3324](https://github.com/keptn/lifecycle-toolkit/issues/3324)) ([535ab8a](https://github.com/keptn/lifecycle-toolkit/commit/535ab8a0f0b137129dcd4440f6c448624d2f2076)) -* replace exercise for metrics getting-started ([#2878](https://github.com/keptn/lifecycle-toolkit/issues/2878)) ([6a673a5](https://github.com/keptn/lifecycle-toolkit/commit/6a673a5668f74710e0654490fe4e22fff678746d)) -* replace reference to version with revision in App CRDRef ([#3312](https://github.com/keptn/lifecycle-toolkit/issues/3312)) ([08680f8](https://github.com/keptn/lifecycle-toolkit/commit/08680f8ecd3f200e85d12056ae9ef192fbb47680)) -* temporary disable mkdocs social plugin ([#3369](https://github.com/keptn/lifecycle-toolkit/issues/3369)) ([6600cca](https://github.com/keptn/lifecycle-toolkit/commit/6600cca3a9255c6d9ab70d197413b38e3a2c2c18)) -* update contribute/docs section ([#3366](https://github.com/keptn/lifecycle-toolkit/issues/3366)) ([95eb17e](https://github.com/keptn/lifecycle-toolkit/commit/95eb17e39046907479a5ae4b0152c84d96db97f8)) -* use "Keptn Maintainer" for blog authors ([#3381](https://github.com/keptn/lifecycle-toolkit/issues/3381)) ([5092e91](https://github.com/keptn/lifecycle-toolkit/commit/5092e91d852733fb680ce21726ebb779dacf1b5c)) -* use v1 lifecycle API version in documentation ([#3355](https://github.com/keptn/lifecycle-toolkit/issues/3355)) ([38f69ca](https://github.com/keptn/lifecycle-toolkit/commit/38f69ca6d67a4086d6cfdee588fb77cddeea31e4)) - - -### Dependency Updates - -* update actions/cache digest to 0c45773 ([#3299](https://github.com/keptn/lifecycle-toolkit/issues/3299)) ([db980d7](https://github.com/keptn/lifecycle-toolkit/commit/db980d7517e2b8367cb3f5ac20ae580e5ead64a2)) -* update actions/checkout action to v4 ([#3251](https://github.com/keptn/lifecycle-toolkit/issues/3251)) ([c3ef392](https://github.com/keptn/lifecycle-toolkit/commit/c3ef392c58bcf2ae86418869cf6cf83be4fc792d)) -* update actions/checkout action to v4.1.3 ([#3447](https://github.com/keptn/lifecycle-toolkit/issues/3447)) ([c1ebf40](https://github.com/keptn/lifecycle-toolkit/commit/c1ebf4083bc14d49ce62cf671231beba7f8cffca)) -* update actions/download-artifact digest to 8caf195 ([#3439](https://github.com/keptn/lifecycle-toolkit/issues/3439)) ([7663256](https://github.com/keptn/lifecycle-toolkit/commit/7663256400a01b839eabb3e1d35e15d9cd5a7aa8)) -* update actions/download-artifact digest to 9c19ed7 ([#3445](https://github.com/keptn/lifecycle-toolkit/issues/3445)) ([a04e91e](https://github.com/keptn/lifecycle-toolkit/commit/a04e91eb1e1cf4d1b48e39eac94cb222cd74e6fd)) -* update actions/upload-artifact action to v4 ([#3329](https://github.com/keptn/lifecycle-toolkit/issues/3329)) ([c5e32c5](https://github.com/keptn/lifecycle-toolkit/commit/c5e32c55290753ed516e42f3c1ea261c9abf2e4f)) -* update actions/upload-artifact action to v4.3.2 ([#3448](https://github.com/keptn/lifecycle-toolkit/issues/3448)) ([0f34a58](https://github.com/keptn/lifecycle-toolkit/commit/0f34a587539928e60bab3655fa8a817a929dc578)) -* update actions/upload-artifact action to v4.3.3 ([#3451](https://github.com/keptn/lifecycle-toolkit/issues/3451)) ([9853cec](https://github.com/keptn/lifecycle-toolkit/commit/9853cec782c7d828a3ce489ffc290181f83a2f96)) -* update actions/upload-artifact digest to 1746f4a ([#3440](https://github.com/keptn/lifecycle-toolkit/issues/3440)) ([3062e9d](https://github.com/keptn/lifecycle-toolkit/commit/3062e9d142f4ac7c0fd7b1ddfada35fa9d7ef793)) -* update actions/upload-artifact digest to 6546280 ([#3446](https://github.com/keptn/lifecycle-toolkit/issues/3446)) ([c5d2b99](https://github.com/keptn/lifecycle-toolkit/commit/c5d2b99d4501de5c59e49486a8f636566d88f1b7)) -* update anchore/sbom-action action to v0.15.10 ([#3373](https://github.com/keptn/lifecycle-toolkit/issues/3373)) ([d7a9990](https://github.com/keptn/lifecycle-toolkit/commit/d7a9990d4a73deba9906e919e1bd7c73abd53630)) -* update aquasecurity/trivy-action action to v0.19.0 ([#3375](https://github.com/keptn/lifecycle-toolkit/issues/3375)) ([2f09319](https://github.com/keptn/lifecycle-toolkit/commit/2f09319a13428ea629e098c70f48e7057a12d274)) -* update codecov/codecov-action action to v4.2.0 ([#3393](https://github.com/keptn/lifecycle-toolkit/issues/3393)) ([edcc588](https://github.com/keptn/lifecycle-toolkit/commit/edcc588ddfee1cdf928e9758f9ef58f5dc5b2a91)) -* update codecov/codecov-action action to v4.3.0 ([#3424](https://github.com/keptn/lifecycle-toolkit/issues/3424)) ([134b5ec](https://github.com/keptn/lifecycle-toolkit/commit/134b5ecdb135db557d1283c4dc9d2f8d6369873c)) -* update codecov/codecov-action digest to c16abc2 ([#3353](https://github.com/keptn/lifecycle-toolkit/issues/3353)) ([fb73bfc](https://github.com/keptn/lifecycle-toolkit/commit/fb73bfc7d0e30382ac79051456d74497e9e1df0f)) -* update davidanson/markdownlint-cli2-rules docker tag to v0.13.0 ([#3390](https://github.com/keptn/lifecycle-toolkit/issues/3390)) ([f8209e3](https://github.com/keptn/lifecycle-toolkit/commit/f8209e3f5c204878f8707437f4c0a6c3c6e408cc)) -* update dawidd6/action-download-artifact action to v3.1.4 ([#3325](https://github.com/keptn/lifecycle-toolkit/issues/3325)) ([fb782b3](https://github.com/keptn/lifecycle-toolkit/commit/fb782b32fdd847e502c422fe8ab2565033911eba)) -* update dependency elastic/crd-ref-docs to v0.0.12 ([#3337](https://github.com/keptn/lifecycle-toolkit/issues/3337)) ([9882f5a](https://github.com/keptn/lifecycle-toolkit/commit/9882f5a0576fde16ab8b22635f2fcd6e5b7f4e7a)) -* update dependency kubernetes-sigs/kustomize to v5.4.1 ([#3394](https://github.com/keptn/lifecycle-toolkit/issues/3394)) ([2dda172](https://github.com/keptn/lifecycle-toolkit/commit/2dda17232aab5542929a5fa73378cd2399a2f5e5)) -* update dependency mkdocs-include-markdown-plugin to v6.0.5 ([#3365](https://github.com/keptn/lifecycle-toolkit/issues/3365)) ([647c87e](https://github.com/keptn/lifecycle-toolkit/commit/647c87ef1a42082c36f3b3457a7ca3f0dabe0f3e)) -* update dependency pymdown-extensions to v10.8 ([#3454](https://github.com/keptn/lifecycle-toolkit/issues/3454)) ([616d36e](https://github.com/keptn/lifecycle-toolkit/commit/616d36ea9353c1ad4539278a17edf25654c5d89d)) -* update docker/build-push-action action to v5.3.0 ([#3264](https://github.com/keptn/lifecycle-toolkit/issues/3264)) ([f42892e](https://github.com/keptn/lifecycle-toolkit/commit/f42892e4d8a906f50ebab4dd766f2e331139cc6d)) -* update docker/setup-buildx-action digest to d70bba7 ([#3399](https://github.com/keptn/lifecycle-toolkit/issues/3399)) ([57a2733](https://github.com/keptn/lifecycle-toolkit/commit/57a273319d4794305f428eafe95acbe0128f80df)) -* update github/codeql-action action to v2.24.7 ([#3280](https://github.com/keptn/lifecycle-toolkit/issues/3280)) ([b262a53](https://github.com/keptn/lifecycle-toolkit/commit/b262a532a1a5681219e82735190492409d2d6928)) -* update github/codeql-action action to v3 ([#3330](https://github.com/keptn/lifecycle-toolkit/issues/3330)) ([2adf738](https://github.com/keptn/lifecycle-toolkit/commit/2adf738bdfa39331f0356f8cde79184ac2132e97)) -* update github/codeql-action action to v3.24.10 ([#3402](https://github.com/keptn/lifecycle-toolkit/issues/3402)) ([7dda584](https://github.com/keptn/lifecycle-toolkit/commit/7dda5843928a5fdfae2dba9c4e66255f6eb05e67)) -* update github/codeql-action action to v3.24.8 ([#3338](https://github.com/keptn/lifecycle-toolkit/issues/3338)) ([5ab203e](https://github.com/keptn/lifecycle-toolkit/commit/5ab203e4bdbad43cce888ebe231332b9334f048e)) -* update github/codeql-action action to v3.24.9 ([#3347](https://github.com/keptn/lifecycle-toolkit/issues/3347)) ([5291004](https://github.com/keptn/lifecycle-toolkit/commit/52910041ad20a2d4c450420fb5105f4ed9f94370)) -* update github/codeql-action action to v3.25.0 ([#3442](https://github.com/keptn/lifecycle-toolkit/issues/3442)) ([f88cd2d](https://github.com/keptn/lifecycle-toolkit/commit/f88cd2d49ef7389246729c551e82a18da39132aa)) -* update github/codeql-action action to v3.25.1 ([#3449](https://github.com/keptn/lifecycle-toolkit/issues/3449)) ([e68c168](https://github.com/keptn/lifecycle-toolkit/commit/e68c168d34b28909ca208c5fab8a9a55aa8e0d09)) -* update github/codeql-action action to v3.25.2 ([#3452](https://github.com/keptn/lifecycle-toolkit/issues/3452)) ([3444217](https://github.com/keptn/lifecycle-toolkit/commit/3444217c09150540fad9ccb2c55ebdb16c37b22c)) -* update google-github-actions/release-please-action action to v4 ([#2630](https://github.com/keptn/lifecycle-toolkit/issues/2630)) ([f2d5248](https://github.com/keptn/lifecycle-toolkit/commit/f2d524871e58734a0c92ae5ded071f604fa22f00)) -* update kyverno/action-install-chainsaw action to v0.1.9 ([#3301](https://github.com/keptn/lifecycle-toolkit/issues/3301)) ([63bf68b](https://github.com/keptn/lifecycle-toolkit/commit/63bf68be59ddc70cf05f823da45a00aa7e13649d)) -* update octokit/request-action action to v2.2.0 ([#3327](https://github.com/keptn/lifecycle-toolkit/issues/3327)) ([a1e73de](https://github.com/keptn/lifecycle-toolkit/commit/a1e73de6d76bb81de4bec1e0f927230d9d51e228)) -* update octokit/request-action action to v2.3.0 ([#3396](https://github.com/keptn/lifecycle-toolkit/issues/3396)) ([4a694ff](https://github.com/keptn/lifecycle-toolkit/commit/4a694ff5b7d6667725835c043460656d71fb93cb)) -* update ossf/scorecard-action action to v2.3.1 ([#3328](https://github.com/keptn/lifecycle-toolkit/issues/3328)) ([7dcaa69](https://github.com/keptn/lifecycle-toolkit/commit/7dcaa690db131733c8ba716ecbadfc51692d94a3)) -* update peter-evans/create-pull-request action to v6.0.3 ([#3423](https://github.com/keptn/lifecycle-toolkit/issues/3423)) ([7c57c49](https://github.com/keptn/lifecycle-toolkit/commit/7c57c49b8ed8a71c69a25ecea0191734ea70439e)) -* update peter-evans/create-pull-request action to v6.0.4 ([#3450](https://github.com/keptn/lifecycle-toolkit/issues/3450)) ([93d94db](https://github.com/keptn/lifecycle-toolkit/commit/93d94dbe50b72cd825a3647aa61a9e025e15a95f)) -* update sigstore/cosign-installer action to v3.5.0 ([#3431](https://github.com/keptn/lifecycle-toolkit/issues/3431)) ([fbc586b](https://github.com/keptn/lifecycle-toolkit/commit/fbc586b91833ebfc8c9ebc7d1dab9a0cef0b63b0)) -* update softprops/action-gh-release action to v2 ([#3331](https://github.com/keptn/lifecycle-toolkit/issues/3331)) ([d45ad4f](https://github.com/keptn/lifecycle-toolkit/commit/d45ad4ff75d0152d76f8b758af980d5095f4cd02)) -* update squidfunk/mkdocs-material (patch) ([#3378](https://github.com/keptn/lifecycle-toolkit/issues/3378)) ([d0cb713](https://github.com/keptn/lifecycle-toolkit/commit/d0cb7139be94fa4779f083c6fbae57fb13d8f542)) -* update squidfunk/mkdocs-material to v9.5.14 (patch) ([#3317](https://github.com/keptn/lifecycle-toolkit/issues/3317)) ([7527d28](https://github.com/keptn/lifecycle-toolkit/commit/7527d28f83a5473f0e5e8de98baf1b9ab7f7c762)) -* update squidfunk/mkdocs-material to v9.5.15 (patch) ([#3354](https://github.com/keptn/lifecycle-toolkit/issues/3354)) ([0bb3645](https://github.com/keptn/lifecycle-toolkit/commit/0bb36452b673363e3b1caaba0f164041e337415e)) -* update squidfunk/mkdocs-material to v9.5.18 (patch) ([#3428](https://github.com/keptn/lifecycle-toolkit/issues/3428)) ([48a3f49](https://github.com/keptn/lifecycle-toolkit/commit/48a3f49d23cfe235fb2e733440fcb6cfcf71cb0a)) - -## [2.0.0-rc.2](https://github.com/keptn/lifecycle-toolkit/compare/keptn-v2.0.0-rc.1...keptn-v2.0.0-rc.2) (2024-03-20) - - -### Bug Fixes - -* assert keptn-cert-manager integration test more precisely ([#3258](https://github.com/keptn/lifecycle-toolkit/issues/3258)) ([7536579](https://github.com/keptn/lifecycle-toolkit/commit/7536579d56968c2c99e02ba9a5f94094c13bc07b)) -* **helm-chart:** introduce cert volumes to metrics and lifecycle operators ([#3247](https://github.com/keptn/lifecycle-toolkit/issues/3247)) ([b7744dd](https://github.com/keptn/lifecycle-toolkit/commit/b7744dd36289b9d7c843f1679481830a843f90ac)) -* **metrics-operator:** remove duplicated CA injection annotations ([#3232](https://github.com/keptn/lifecycle-toolkit/issues/3232)) ([c1472be](https://github.com/keptn/lifecycle-toolkit/commit/c1472be33a74d5df1f4231ff6c5e449b83e40402)) -* **python-runtime:** bump libexpat to v2.6.2 ([#3276](https://github.com/keptn/lifecycle-toolkit/issues/3276)) ([8ceae7e](https://github.com/keptn/lifecycle-toolkit/commit/8ceae7ef11443aea87d8c87e5643a987d3479f32)) - - -### Other - -* add promotion counter to grafana dashboard for apps ([#3204](https://github.com/keptn/lifecycle-toolkit/issues/3204)) ([0966ff6](https://github.com/keptn/lifecycle-toolkit/commit/0966ff66164cb54a7bd3ea826044db3c6692f99d)) -* add roadmap headline to readme ([#3193](https://github.com/keptn/lifecycle-toolkit/issues/3193)) ([e97dfd0](https://github.com/keptn/lifecycle-toolkit/commit/e97dfd01e393d75ef2613b427cc12b294ea08277)) -* backport helm release versions ([#3241](https://github.com/keptn/lifecycle-toolkit/issues/3241)) ([074bb16](https://github.com/keptn/lifecycle-toolkit/commit/074bb165a9a70c8daa187f215f2dd74f3159b95d)) -* bump elastic/crd-ref-docs to 0.0.11 to enable validation field in docs ([#3068](https://github.com/keptn/lifecycle-toolkit/issues/3068)) ([ef57804](https://github.com/keptn/lifecycle-toolkit/commit/ef57804354ef1b48ab3b5045d6aedad222a24bac)) -* bump Go base images and pipelines version to 1.21 ([#3218](https://github.com/keptn/lifecycle-toolkit/issues/3218)) ([de01ca4](https://github.com/keptn/lifecycle-toolkit/commit/de01ca493b307d8c27701552549b982e22281a2e)) -* bump helm charts versions ([#3303](https://github.com/keptn/lifecycle-toolkit/issues/3303)) ([19cbe9f](https://github.com/keptn/lifecycle-toolkit/commit/19cbe9fda082015d4a61d23c1276d599f6370cec)) -* bump Keptn version ([#3307](https://github.com/keptn/lifecycle-toolkit/issues/3307)) ([a541521](https://github.com/keptn/lifecycle-toolkit/commit/a541521ef38b06e232757613c68bc8f792bad523)) -* increase CLOMonitor score ([#3190](https://github.com/keptn/lifecycle-toolkit/issues/3190)) ([fa317ea](https://github.com/keptn/lifecycle-toolkit/commit/fa317ea705b913dbc11491e1217b9c75bb7f79c8)) -* introduce script to re-generate helm results ([#3297](https://github.com/keptn/lifecycle-toolkit/issues/3297)) ([7644cd7](https://github.com/keptn/lifecycle-toolkit/commit/7644cd7ab7811685418e5c6a549cae0583ddfcad)) -* **lifecycle-operator:** remove failAction parameter from KeptnEvaluation helm charts ([#3275](https://github.com/keptn/lifecycle-toolkit/issues/3275)) ([fffc75b](https://github.com/keptn/lifecycle-toolkit/commit/fffc75baf6d665d9de25a437177f5866d0040d63)) -* pin GHA deps, set default readonly in GHA ([#3205](https://github.com/keptn/lifecycle-toolkit/issues/3205)) ([d5d9c0c](https://github.com/keptn/lifecycle-toolkit/commit/d5d9c0cd2a29a20e3e4025a21be4bde4e014e3cf)) -* release cert-manager 2.1.1 ([#3182](https://github.com/keptn/lifecycle-toolkit/issues/3182)) ([ce8192f](https://github.com/keptn/lifecycle-toolkit/commit/ce8192f64000f3bb0468f1552b4335f9d0b8126b)) -* release deno-runtime 2.0.3 ([#3173](https://github.com/keptn/lifecycle-toolkit/issues/3173)) ([2271c8c](https://github.com/keptn/lifecycle-toolkit/commit/2271c8ca3e457cb744f6f692465be32c3a698598)) -* release lifecycle-operator 0.9.2 ([#3181](https://github.com/keptn/lifecycle-toolkit/issues/3181)) ([1289d8a](https://github.com/keptn/lifecycle-toolkit/commit/1289d8a89d5731ebf3e3cb9b0282b9271935a5a3)) -* release metrics-operator 0.9.3 ([#3183](https://github.com/keptn/lifecycle-toolkit/issues/3183)) ([dce666f](https://github.com/keptn/lifecycle-toolkit/commit/dce666f00fee716b9837055d46c421f922cb7652)) -* release python-runtime 1.0.4 ([#3277](https://github.com/keptn/lifecycle-toolkit/issues/3277)) ([4a9f940](https://github.com/keptn/lifecycle-toolkit/commit/4a9f940ce66b092cfceecc416bb806c23ef8eab6)) -* release scheduler 0.9.2 ([#3228](https://github.com/keptn/lifecycle-toolkit/issues/3228)) ([998c6a9](https://github.com/keptn/lifecycle-toolkit/commit/998c6a9c0e6f11713b99113420276436be694159)) -* remove not found docker repo ([#3249](https://github.com/keptn/lifecycle-toolkit/issues/3249)) ([2222e77](https://github.com/keptn/lifecycle-toolkit/commit/2222e777a3c686332d5d84913f11562423d9e3e5)) -* use binding in keptn metric test ([#3172](https://github.com/keptn/lifecycle-toolkit/issues/3172)) ([4e93ce2](https://github.com/keptn/lifecycle-toolkit/commit/4e93ce22f9d2b38c19d564d5788a04beb77ca1e9)) - - -### Docs - -* add Example section to KeptnTask CRD ref ([#3187](https://github.com/keptn/lifecycle-toolkit/issues/3187)) ([95fdd03](https://github.com/keptn/lifecycle-toolkit/commit/95fdd03fe26a44538106d1c450b6e14bd59c11b1)) -* add glasskube keptn integration blog post ([#3267](https://github.com/keptn/lifecycle-toolkit/issues/3267)) ([a35a629](https://github.com/keptn/lifecycle-toolkit/commit/a35a629f4081ec6f21771a8a3bc788bddb39a398)) -* add info and example about metadata k/v list ([#3287](https://github.com/keptn/lifecycle-toolkit/issues/3287)) ([707377c](https://github.com/keptn/lifecycle-toolkit/commit/707377c7549cfc1f7040e1710d770dc23b6bb385)) -* add missing span link to example ([#3286](https://github.com/keptn/lifecycle-toolkit/issues/3286)) ([7ddf94c](https://github.com/keptn/lifecycle-toolkit/commit/7ddf94c32a4ca0dd95790a8fb7606bc68d381ec7)) -* correct container image reference to dockerhub ([#3219](https://github.com/keptn/lifecycle-toolkit/issues/3219)) ([23f6543](https://github.com/keptn/lifecycle-toolkit/commit/23f6543e7bb921dda678341b98270093d0353ee9)) -* corrected grammatical error in Keptn Metrics ([#3210](https://github.com/keptn/lifecycle-toolkit/issues/3210)) ([f447619](https://github.com/keptn/lifecycle-toolkit/commit/f447619719b4dbbe01a504e4295ba18bea3e822d)) -* create tutorial for Keptn contributions with GitHub Codespaces ([#3213](https://github.com/keptn/lifecycle-toolkit/issues/3213)) ([37611d3](https://github.com/keptn/lifecycle-toolkit/commit/37611d33fda8ac11cb685ccfcd6b04e0e5525bfb)) -* deploy Keptn via ArgoCD ([#3256](https://github.com/keptn/lifecycle-toolkit/issues/3256)) ([b1eae61](https://github.com/keptn/lifecycle-toolkit/commit/b1eae610eaf49f85318f1d968f8da30db62ac53c)) -* document formatting quirks of MkDocs and markdownlint ([#3034](https://github.com/keptn/lifecycle-toolkit/issues/3034)) ([fb882b0](https://github.com/keptn/lifecycle-toolkit/commit/fb882b08fcc81c04647f382dcb2c351a2919f29f)) -* implemented steps from tutorial video on Codespaces page ([#3257](https://github.com/keptn/lifecycle-toolkit/issues/3257)) ([fc07a5f](https://github.com/keptn/lifecycle-toolkit/commit/fc07a5f6bb9131d4ab9c751204b50c348d94202b)) -* new blog post for release candidate ([#3209](https://github.com/keptn/lifecycle-toolkit/issues/3209)) ([2e0f449](https://github.com/keptn/lifecycle-toolkit/commit/2e0f449ccaaa9843abf55eb8c5e739db8b3a1f9c)) -* reduce blogpost title length to fit into social card ([#3294](https://github.com/keptn/lifecycle-toolkit/issues/3294)) ([15717bd](https://github.com/keptn/lifecycle-toolkit/commit/15717bd5deae2593f4ac96bd92c68d4934c038fc)) -* remove duplicated sections from README ([#3227](https://github.com/keptn/lifecycle-toolkit/issues/3227)) ([8f212f5](https://github.com/keptn/lifecycle-toolkit/commit/8f212f5ff2461df2fb8a6cbcf374f57b72b68dbf)) -* remove outdated architecture section from readme ([#3291](https://github.com/keptn/lifecycle-toolkit/issues/3291)) ([9ede4f4](https://github.com/keptn/lifecycle-toolkit/commit/9ede4f443dcedb629816e9d43ebb58d41ceed046)) - - -### Dependency Updates - -* bump python and deno runtimes to latest version ([#3295](https://github.com/keptn/lifecycle-toolkit/issues/3295)) ([65616cd](https://github.com/keptn/lifecycle-toolkit/commit/65616cd2ac9da98c755e28d3f045750e582172f4)) -* update actions/checkout action to v3.6.0 ([#3197](https://github.com/keptn/lifecycle-toolkit/issues/3197)) ([6331f8d](https://github.com/keptn/lifecycle-toolkit/commit/6331f8d58d51edfe153ce6de011db8e03ae2bdf6)) -* update actions/upload-artifact action to v3.1.3 ([#3194](https://github.com/keptn/lifecycle-toolkit/issues/3194)) ([2a3765a](https://github.com/keptn/lifecycle-toolkit/commit/2a3765ad4fa0cfdf06b6fa8ecfb6e2468cedc869)) -* update anchore/sbom-action action to v0.15.9 ([#3261](https://github.com/keptn/lifecycle-toolkit/issues/3261)) ([bf0be0a](https://github.com/keptn/lifecycle-toolkit/commit/bf0be0ad3801c5ce4454b273eb4bbd4ed02476a0)) -* update dawidd6/action-download-artifact action to v3.1.3 ([#3289](https://github.com/keptn/lifecycle-toolkit/issues/3289)) ([bbd5d8a](https://github.com/keptn/lifecycle-toolkit/commit/bbd5d8a01dfe8506d8051ba493cf00e9b27ed5bd)) -* update dependency pymdown-extensions to v10.7.1 ([#3273](https://github.com/keptn/lifecycle-toolkit/issues/3273)) ([9b61e84](https://github.com/keptn/lifecycle-toolkit/commit/9b61e84f009f709032d502713c1330abd903fb11)) -* update docker/login-action digest to e92390c ([#3259](https://github.com/keptn/lifecycle-toolkit/issues/3259)) ([256515c](https://github.com/keptn/lifecycle-toolkit/commit/256515cebc5fd86783703cc7831e8cc0153e4b80)) -* update docker/setup-buildx-action digest to 2b51285 ([#3271](https://github.com/keptn/lifecycle-toolkit/issues/3271)) ([e51103b](https://github.com/keptn/lifecycle-toolkit/commit/e51103bdf61b2b1fccbc961fa31bae862507fb22)) -* update github/codeql-action/upload-sarif action to v2.24.6 ([#3221](https://github.com/keptn/lifecycle-toolkit/issues/3221)) ([b2284b4](https://github.com/keptn/lifecycle-toolkit/commit/b2284b48609d7a394a646f69317e679afd50437a)) -* update ossf/scorecard-action action to v2.1.3 ([#3196](https://github.com/keptn/lifecycle-toolkit/issues/3196)) ([f4d284d](https://github.com/keptn/lifecycle-toolkit/commit/f4d284de4c1c69eeff52eaca472bd5a09914ae29)) -* update peter-evans/create-pull-request digest to 70a41ab ([#3260](https://github.com/keptn/lifecycle-toolkit/issues/3260)) ([af68e23](https://github.com/keptn/lifecycle-toolkit/commit/af68e23d0b3bdf29769044bf513bc2ec10699467)) -* update squidfunk/mkdocs-material to v9.5.13 (patch) ([#3198](https://github.com/keptn/lifecycle-toolkit/issues/3198)) ([f9eae91](https://github.com/keptn/lifecycle-toolkit/commit/f9eae916cf17702450a6ee6cdd215a87c6742b3f)) - -## [2.0.0-rc.1](https://github.com/keptn/lifecycle-toolkit/compare/keptn-v0.10.0...keptn-v2.0.0-rc.1) (2024-03-05) - - -### Features - -* add global value for imagePullPolicy ([#2807](https://github.com/keptn/lifecycle-toolkit/issues/2807)) ([5596d12](https://github.com/keptn/lifecycle-toolkit/commit/5596d1252b164e469aa122c0ebda8526ccbca888)) -* **lifecycle-operator:** adapt WorkloadVersionReconciler logic to use ObservabilityTimeout for workload deployment ([#3160](https://github.com/keptn/lifecycle-toolkit/issues/3160)) ([e98d10e](https://github.com/keptn/lifecycle-toolkit/commit/e98d10eb8f038f3cfd8bf373a8731417c1811f45)) -* **lifecycle-operator:** add feature flag for enabling promotion tasks ([#3055](https://github.com/keptn/lifecycle-toolkit/issues/3055)) ([d4044c1](https://github.com/keptn/lifecycle-toolkit/commit/d4044c1c1a6fc9126aac456ba6e3bca05a5d541e)) -* **lifecycle-operator:** implement promotion task ([#3057](https://github.com/keptn/lifecycle-toolkit/issues/3057)) ([e165600](https://github.com/keptn/lifecycle-toolkit/commit/e165600ac59c018e115915bebbcce50fbd5a7e5b)) -* **lifecycle-operator:** introduce a possibility to configure number of retries and interval for KeptnEvaluationDefinition ([#3141](https://github.com/keptn/lifecycle-toolkit/issues/3141)) ([65f7327](https://github.com/keptn/lifecycle-toolkit/commit/65f73275d9b6112aba0844fd42c773ed26de2867)) -* **lifecycle-operator:** introduce blockDeployment parameter into KeptnConfig ([#3111](https://github.com/keptn/lifecycle-toolkit/issues/3111)) ([ab5b89d](https://github.com/keptn/lifecycle-toolkit/commit/ab5b89d963fe78b15c8951cecda1a6c25a190a8f)) -* **lifecycle-operator:** introduce non-blocking deployment functionality for application lifecycle ([#3113](https://github.com/keptn/lifecycle-toolkit/issues/3113)) ([bf78974](https://github.com/keptn/lifecycle-toolkit/commit/bf78974ba9ac11ecb3a21585193822671cd7c325)) -* **lifecycle-operator:** introduce ObservabilityTimeout parameter in KeptnConfig ([#3149](https://github.com/keptn/lifecycle-toolkit/issues/3149)) ([79de15e](https://github.com/keptn/lifecycle-toolkit/commit/79de15e94c1e006db970a4bd3ac5def72a1f82c4)) -* **lifecycle-operator:** introduce ObservabilityTimeout parameter in KeptnWorkload ([#3153](https://github.com/keptn/lifecycle-toolkit/issues/3153)) ([0e88438](https://github.com/keptn/lifecycle-toolkit/commit/0e8843828a7d0f495e19c545a698f54ecb5ec8cc)) -* **lifecycle-operator:** introduce promotionTask parameters in KeptnAppContext ([#3056](https://github.com/keptn/lifecycle-toolkit/issues/3056)) ([c2c3af3](https://github.com/keptn/lifecycle-toolkit/commit/c2c3af3ee3f7576a4a6e9e79c8f02c9e93eea6b4)) - - -### Other - -* bump chainsaw ([#3136](https://github.com/keptn/lifecycle-toolkit/issues/3136)) ([829e684](https://github.com/keptn/lifecycle-toolkit/commit/829e6841a9336f1800bc4b70a4c819fd700884b6)) -* bump chainsaw version ([#3101](https://github.com/keptn/lifecycle-toolkit/issues/3101)) ([f6f3ba5](https://github.com/keptn/lifecycle-toolkit/commit/f6f3ba55186f97dc2b0018e3a79d01b0c9ea7b4c)) -* bump Keptn version ([#3184](https://github.com/keptn/lifecycle-toolkit/issues/3184)) ([4e85dcc](https://github.com/keptn/lifecycle-toolkit/commit/4e85dccadff066611e0c37e05892a275507585b1)) -* enable Google Tag Manager for the Keptn website ([#3098](https://github.com/keptn/lifecycle-toolkit/issues/3098)) ([3887255](https://github.com/keptn/lifecycle-toolkit/commit/3887255bee29aa5b2c738447ed8a0b1b9263da5d)) -* improve CLOMonitor score ([#3088](https://github.com/keptn/lifecycle-toolkit/issues/3088)) ([66299d7](https://github.com/keptn/lifecycle-toolkit/commit/66299d7f4eb92b53359bc906e293e39b440e465a)) -* **lifecycle-operator:** remove unused FailAction parameter from KeptnEvaluation ([#3138](https://github.com/keptn/lifecycle-toolkit/issues/3138)) ([4febd99](https://github.com/keptn/lifecycle-toolkit/commit/4febd992682290473823d6cb8d826533e8dcef76)) -* **lifecycle-operator:** revert unused ObservabilityTimeout parameter from KeptnWorkload ([#3163](https://github.com/keptn/lifecycle-toolkit/issues/3163)) ([7b68ac8](https://github.com/keptn/lifecycle-toolkit/commit/7b68ac8df2fb317e2099a498aa995369f547f5d1)) -* merge dependency for mkdocs-material ([#3053](https://github.com/keptn/lifecycle-toolkit/issues/3053)) ([4eeac27](https://github.com/keptn/lifecycle-toolkit/commit/4eeac278ce20a2bfa2b378b0c74638aeea6cd5be)) -* release cert-manager 2.1.0 ([#2994](https://github.com/keptn/lifecycle-toolkit/issues/2994)) ([cc21f79](https://github.com/keptn/lifecycle-toolkit/commit/cc21f79096624a1439ceb367b9c05313cd8a3bc5)) -* release deno-runtime 2.0.2 ([#2977](https://github.com/keptn/lifecycle-toolkit/issues/2977)) ([97b4aec](https://github.com/keptn/lifecycle-toolkit/commit/97b4aec6bd2d850a04d1e78e076d53775426af9e)) -* release lifecycle-operator 0.9.1 ([#2992](https://github.com/keptn/lifecycle-toolkit/issues/2992)) ([781ab47](https://github.com/keptn/lifecycle-toolkit/commit/781ab475fe17ae6683cd70ef68806eea280e56eb)) -* release metrics-operator 0.9.2 ([#2993](https://github.com/keptn/lifecycle-toolkit/issues/2993)) ([6c050a5](https://github.com/keptn/lifecycle-toolkit/commit/6c050a5b62dc2a2a7e10b61b0dbb98b31b5058da)) -* release python-runtime 1.0.3 ([#2998](https://github.com/keptn/lifecycle-toolkit/issues/2998)) ([678cddd](https://github.com/keptn/lifecycle-toolkit/commit/678cddd2ef1693023aaf99cf8bba435b0c6856a1)) -* release scheduler 0.9.1 ([#3022](https://github.com/keptn/lifecycle-toolkit/issues/3022)) ([aeafbb9](https://github.com/keptn/lifecycle-toolkit/commit/aeafbb992b8844f561d7a9992e7210765a5baf49)) -* replace kuttl tests with chainsaw ([#3000](https://github.com/keptn/lifecycle-toolkit/issues/3000)) ([2f77ae8](https://github.com/keptn/lifecycle-toolkit/commit/2f77ae8867b14bb887e4fa17098e1d05cf763cf3)) -* update chart dependencies ([#3179](https://github.com/keptn/lifecycle-toolkit/issues/3179)) ([b8efdd5](https://github.com/keptn/lifecycle-toolkit/commit/b8efdd50002231a06bac9c5ab02fcdbadea4c60d)) -* update release checklist ([#3176](https://github.com/keptn/lifecycle-toolkit/issues/3176)) ([aeb6773](https://github.com/keptn/lifecycle-toolkit/commit/aeb677397559f0dd4d7537e66d887bebd774e52f)) -* upgrade chainsaw and remove a couple of kubectl/envsubst calls ([#3021](https://github.com/keptn/lifecycle-toolkit/issues/3021)) ([f0e23dd](https://github.com/keptn/lifecycle-toolkit/commit/f0e23ddcda9d69e6a1ae9108f34a29493c61c3ec)) - - -### Docs - -* add content tabs in code examples in reference section ([#3005](https://github.com/keptn/lifecycle-toolkit/issues/3005)) ([cf0c170](https://github.com/keptn/lifecycle-toolkit/commit/cf0c170d4d6f90346c0fe2ec2308baf7f413da0b)) -* add excerpts to blog posts ([#3008](https://github.com/keptn/lifecycle-toolkit/issues/3008)) ([fa911ae](https://github.com/keptn/lifecycle-toolkit/commit/fa911aeb2de314914a5e2ac45c30d98e659964ac)) -* add release checklist to contribution guide ([#3042](https://github.com/keptn/lifecycle-toolkit/issues/3042)) ([68094ab](https://github.com/keptn/lifecycle-toolkit/commit/68094ab59cdabcc178eccb1dd143dfdd0d257c3b)) -* add use cases to intro page ([#3180](https://github.com/keptn/lifecycle-toolkit/issues/3180)) ([a8397cb](https://github.com/keptn/lifecycle-toolkit/commit/a8397cb7b4088db2bfc02777dbfa32197b0fef49)) -* added Sticky navigation tabs feature ([#3078](https://github.com/keptn/lifecycle-toolkit/issues/3078)) ([a852ed9](https://github.com/keptn/lifecycle-toolkit/commit/a852ed9e50d6e79321a19173dbb79a0afea897c5)) -* document how to write create new keptnmetricsprovider ([#2939](https://github.com/keptn/lifecycle-toolkit/issues/2939)) ([c4359ba](https://github.com/keptn/lifecycle-toolkit/commit/c4359ba1bcef9bfac9292289f189238eb23f8ef3)) -* document promotion task feature ([#3058](https://github.com/keptn/lifecycle-toolkit/issues/3058)) ([20dc748](https://github.com/keptn/lifecycle-toolkit/commit/20dc7488e27863012e5ec73e7e0b9299250a1e98)) -* fix formatting for KeptnTaskDefinition crd-ref ([#3016](https://github.com/keptn/lifecycle-toolkit/issues/3016)) ([dcae871](https://github.com/keptn/lifecycle-toolkit/commit/dcae8713990343a13547c686acffbe7ca043b5ad)) -* fix formatting for KeptnTaskDefinition fields ([#3007](https://github.com/keptn/lifecycle-toolkit/issues/3007)) ([0e66bf8](https://github.com/keptn/lifecycle-toolkit/commit/0e66bf842600e0a7567dc55619c8d2e88176ba7d)) -* fix generation of underlying types ([#3150](https://github.com/keptn/lifecycle-toolkit/issues/3150)) ([a387a88](https://github.com/keptn/lifecycle-toolkit/commit/a387a88d3ad249e9eee34c43e3e391bc3709dab4)) -* fix indentation issues and adjust linter rules ([#3028](https://github.com/keptn/lifecycle-toolkit/issues/3028)) ([034dae3](https://github.com/keptn/lifecycle-toolkit/commit/034dae357ae8b51c75479a81560abbf1fb0a1798)) -* fix referenced slack channel ([#3039](https://github.com/keptn/lifecycle-toolkit/issues/3039)) ([cf2e074](https://github.com/keptn/lifecycle-toolkit/commit/cf2e07458446f84f4a32385690f610b5b8e22200)) -* fix typo ([#3065](https://github.com/keptn/lifecycle-toolkit/issues/3065)) ([fa9dae3](https://github.com/keptn/lifecycle-toolkit/commit/fa9dae37c364f8302002a003b3d789133433fc5f)) -* fix wrong indentation of analysis status field in CRD reference ([#3162](https://github.com/keptn/lifecycle-toolkit/issues/3162)) ([1804716](https://github.com/keptn/lifecycle-toolkit/commit/1804716e7288b0ad6441a11b0f0ae928305a0eb8)) -* guide for multi stage delivery ([#3080](https://github.com/keptn/lifecycle-toolkit/issues/3080)) ([fedb29f](https://github.com/keptn/lifecycle-toolkit/commit/fedb29fe0277946d255e82aeaa8663eec1838630)) -* lifecycle-operator non-blocking deployment functionality ([#3123](https://github.com/keptn/lifecycle-toolkit/issues/3123)) ([392d93f](https://github.com/keptn/lifecycle-toolkit/commit/392d93fdb23f08f4060d75a966061c57dd4fdfde)) -* move all keptn.sh links to /stable ([#3029](https://github.com/keptn/lifecycle-toolkit/issues/3029)) ([b68f833](https://github.com/keptn/lifecycle-toolkit/commit/b68f833eca4951c550e39280e5b3f4f3d07a04fd)) -* protect nested lists from markdownlint in technologies.md ([#3020](https://github.com/keptn/lifecycle-toolkit/issues/3020)) ([0574e97](https://github.com/keptn/lifecycle-toolkit/commit/0574e97a66632b120fee2bd1f7f8dcd47eb2de72)) -* remove disabled linter ([#3084](https://github.com/keptn/lifecycle-toolkit/issues/3084)) ([0bb9a36](https://github.com/keptn/lifecycle-toolkit/commit/0bb9a366d7d138592e3d8ad4326415dd12a4261f)) -* remove duplicated paragraph from Analysis CRD docs ([#3161](https://github.com/keptn/lifecycle-toolkit/issues/3161)) ([34b3aeb](https://github.com/keptn/lifecycle-toolkit/commit/34b3aeb58b331c667ce5db2b66f11bd1567a6e5a)) -* remove wrong documentation on lifecycle of single Pods ([#3148](https://github.com/keptn/lifecycle-toolkit/issues/3148)) ([17841c6](https://github.com/keptn/lifecycle-toolkit/commit/17841c600d9a07caf220e61ec54252982fe18914)) -* rephrase migration guide to propagate propagation feature ([#3099](https://github.com/keptn/lifecycle-toolkit/issues/3099)) ([4593a82](https://github.com/keptn/lifecycle-toolkit/commit/4593a82ba49eefddfbd94538d23aef5277a34f13)) -* review keptntaskdefinition examples ([#3085](https://github.com/keptn/lifecycle-toolkit/issues/3085)) ([d0a0c43](https://github.com/keptn/lifecycle-toolkit/commit/d0a0c4348459624f0659db5d1d5484db3335f314)) -* update keptn state descriptions in our CRDs ([#3124](https://github.com/keptn/lifecycle-toolkit/issues/3124)) ([d87b288](https://github.com/keptn/lifecycle-toolkit/commit/d87b288b8e88a34908228a2e3bae8686857f680c)) - - -### Dependency Updates - -* update actions/setup-node action to v4.0.2 ([#3030](https://github.com/keptn/lifecycle-toolkit/issues/3030)) ([cdde947](https://github.com/keptn/lifecycle-toolkit/commit/cdde94721e14e61b5a8d6af04d9557e2a6d44591)) -* update anchore/sbom-action action to v0.15.8 ([#2912](https://github.com/keptn/lifecycle-toolkit/issues/2912)) ([ce57993](https://github.com/keptn/lifecycle-toolkit/commit/ce57993825ec68200476a94455bbbf535f94251f)) -* update aquasecurity/trivy-action action to v0.17.0 ([#2667](https://github.com/keptn/lifecycle-toolkit/issues/2667)) ([aa2c72c](https://github.com/keptn/lifecycle-toolkit/commit/aa2c72c345458ac58e782373fe3a6593f1fc2a99)) -* update aquasecurity/trivy-action action to v0.18.0 ([#3157](https://github.com/keptn/lifecycle-toolkit/issues/3157)) ([de077c7](https://github.com/keptn/lifecycle-toolkit/commit/de077c7b31e88fcf3f88b8e2a7407959f32d05d9)) -* update codecov/codecov-action action to v4 ([#2987](https://github.com/keptn/lifecycle-toolkit/issues/2987)) ([58007c7](https://github.com/keptn/lifecycle-toolkit/commit/58007c745bcebb037d3249223ac8b49d73a4aba0)) -* update dawidd6/action-download-artifact action to v3.1.1 ([#3074](https://github.com/keptn/lifecycle-toolkit/issues/3074)) ([2f4c6e6](https://github.com/keptn/lifecycle-toolkit/commit/2f4c6e6e6bc0553d6fb0e674ea05c7c892507ee9)) -* update dawidd6/action-download-artifact action to v3.1.2 ([#3117](https://github.com/keptn/lifecycle-toolkit/issues/3117)) ([c846e93](https://github.com/keptn/lifecycle-toolkit/commit/c846e934c0df25f45505cb1dfcb8ff62fd3ec9e7)) -* update dependency mkdocs-material to v9.5.9 ([#3032](https://github.com/keptn/lifecycle-toolkit/issues/3032)) ([a46cf11](https://github.com/keptn/lifecycle-toolkit/commit/a46cf11f4328fc49813a961d4ea77acfeb92d8ca)) -* update ghcr.io/keptn/deno-runtime docker tag to v2.0.2 ([#3156](https://github.com/keptn/lifecycle-toolkit/issues/3156)) ([4452584](https://github.com/keptn/lifecycle-toolkit/commit/445258414a093646c5eadf893220cfcbc953dd5b)) -* update ghcr.io/keptn/python-runtime docker tag to v1.0.3 ([#3152](https://github.com/keptn/lifecycle-toolkit/issues/3152)) ([85d8fd0](https://github.com/keptn/lifecycle-toolkit/commit/85d8fd0b12cf05a9b73bb54b4904ad80f3cc4214)) -* update github artifact actions to v4 (major) ([#3094](https://github.com/keptn/lifecycle-toolkit/issues/3094)) ([962e632](https://github.com/keptn/lifecycle-toolkit/commit/962e632135295061773fba13438f3f46e3aebe86)) -* update golangci/golangci-lint-action action to v4 ([#3102](https://github.com/keptn/lifecycle-toolkit/issues/3102)) ([db0ab24](https://github.com/keptn/lifecycle-toolkit/commit/db0ab24e46af9a8e70dd2a3f67f2dd3cca665573)) -* update helm/kind-action action to v1.9.0 ([#3063](https://github.com/keptn/lifecycle-toolkit/issues/3063)) ([5289bec](https://github.com/keptn/lifecycle-toolkit/commit/5289becf9f87cf45e2bed8b8a9d1b09bd2783646)) -* update jasonetco/create-an-issue action to v2.9.2 ([#3071](https://github.com/keptn/lifecycle-toolkit/issues/3071)) ([f2509ff](https://github.com/keptn/lifecycle-toolkit/commit/f2509ff619f9a72094442c89e1eafb00fd90e428)) -* update kyverno/action-install-chainsaw action to v0.1.3 ([#3009](https://github.com/keptn/lifecycle-toolkit/issues/3009)) ([fd8eac0](https://github.com/keptn/lifecycle-toolkit/commit/fd8eac01979770229589c696f6e53287514fb11e)) -* update sigstore/cosign-installer action to v3.4.0 ([#2985](https://github.com/keptn/lifecycle-toolkit/issues/2985)) ([50c43fa](https://github.com/keptn/lifecycle-toolkit/commit/50c43fa7cde5bd90f429df0f8b274a24189be0ee)) -* update squidfunk/mkdocs-material docker tag to v9.5.8 ([#3001](https://github.com/keptn/lifecycle-toolkit/issues/3001)) ([7e2ff8b](https://github.com/keptn/lifecycle-toolkit/commit/7e2ff8baeb97e9980825169fd5e3961182f17706)) -* update squidfunk/mkdocs-material to v9.5.10 (patch) ([#3075](https://github.com/keptn/lifecycle-toolkit/issues/3075)) ([40b0f7d](https://github.com/keptn/lifecycle-toolkit/commit/40b0f7d51c9550cb66230b664e76dc677111beab)) -* update squidfunk/mkdocs-material to v9.5.11 (patch) ([#3116](https://github.com/keptn/lifecycle-toolkit/issues/3116)) ([a4f4eef](https://github.com/keptn/lifecycle-toolkit/commit/a4f4eeff5c091d93380855d2d81121ec0d8cfc3b)) -* update squidfunk/mkdocs-material to v9.5.12 (patch) ([#3151](https://github.com/keptn/lifecycle-toolkit/issues/3151)) ([542e540](https://github.com/keptn/lifecycle-toolkit/commit/542e54076d7e5b5078153a1760c08c83f0be89e0)) - -## [0.10.0](https://github.com/keptn/lifecycle-toolkit/compare/keptn-v0.9.0...keptn-v0.10.0) (2024-02-08) - - -### ⚠ BREAKING CHANGES - -* **lifecycle-operator:** Pre/Post evaluations and tasks for an application are now defined in the newly introduced `KeptnAppContext` instead of the `KeptnApp` CRD. `KeptnApps` are now fully managed by the operator and are not intended to be created by the user. The version of a `KeptnApp` will be automatically derived as a function of all workloads that belong to the same application. -* **lifecycle-operator:** move API HUB version to v1beta1 ([#2772](https://github.com/keptn/lifecycle-toolkit/issues/2772)) -* **lifecycle-operator:** The environment variable `OTEL_COLLECTOR_URL` is not supported in the lifecycle-operator anymore, and the OTel collector URL is now only set via the `spec.OTelCollectorUrl` property of the `KeptnConfig` CRD. This means that, in order to use Keptn's OpenTelemetry capabilities, the `spec.OtelCollectorUrl` needs to be specified in the `KeptnConfig` resource. -* rename KLT to Keptn ([#2554](https://github.com/keptn/lifecycle-toolkit/issues/2554)) -* **lifecycle-operator:** The environment variable giving deno and python runtime access to context information has been renamed from `CONTEXT` to `KEPTN_CONTEXT` -* **metrics-operator:** Metrics APIs were updated to version `v1beta1` (without changing any behaviour), since they are more stable now. Resources using any of the alpha versions are no longer supported. Please update your resources manually to the new API version after you upgraded Keptn. -* **metrics-operator:** The Analysis feature is officially released! Learn more about [here](https://lifecycle.keptn.sh/docs/implementing/slo/). - -### Features - -* adapt code to use KeptnWorkloadVersion instead of KeptnWorkloadInstance ([#2255](https://github.com/keptn/lifecycle-toolkit/issues/2255)) ([c06fae1](https://github.com/keptn/lifecycle-toolkit/commit/c06fae13daa2aa98a3daf71abafe0e8ce4e5f4a3)) -* add `step` and `aggregation` fields for `kubectl get KeptnMetric` ([#2556](https://github.com/keptn/lifecycle-toolkit/issues/2556)) ([abe00fc](https://github.com/keptn/lifecycle-toolkit/commit/abe00fc337eafbb65f510e4864984094288e4f6b)) -* add configurable service account to KeptnTasks ([#2254](https://github.com/keptn/lifecycle-toolkit/issues/2254)) ([e7db66f](https://github.com/keptn/lifecycle-toolkit/commit/e7db66f91a638759d9d95ef34fa22f59a8a37f9d)) -* configure spell checker github action ([#2316](https://github.com/keptn/lifecycle-toolkit/issues/2316)) ([fe7904d](https://github.com/keptn/lifecycle-toolkit/commit/fe7904dd669c92ed43e938b4cc2f61b673144b5a)) -* create new Keptn umbrella Helm chart ([#2214](https://github.com/keptn/lifecycle-toolkit/issues/2214)) ([41bd47b](https://github.com/keptn/lifecycle-toolkit/commit/41bd47b7748c4d645243a4dae165651bbfd3533f)) -* generalize helm chart ([#2282](https://github.com/keptn/lifecycle-toolkit/issues/2282)) ([81334eb](https://github.com/keptn/lifecycle-toolkit/commit/81334ebec4d8afda27902b6e854c4c637a3daa87)) -* introduce configurable support of cert-manager.io CA injection ([#2811](https://github.com/keptn/lifecycle-toolkit/issues/2811)) ([d6d83c7](https://github.com/keptn/lifecycle-toolkit/commit/d6d83c7f67a18a4b30aabe774a8fa2c93399f301)) -* introduce configurable TTLSecondsAfterFinished for tasks ([#2404](https://github.com/keptn/lifecycle-toolkit/issues/2404)) ([8341dbf](https://github.com/keptn/lifecycle-toolkit/commit/8341dbf256b23d342226b9c44a2057e4fd775854)) -* **lifecycle-operator:** add context metadata and traceParent of current phase to tasks ([#2858](https://github.com/keptn/lifecycle-toolkit/issues/2858)) ([0798406](https://github.com/keptn/lifecycle-toolkit/commit/0798406108b545e8f7debceae5dc1cb28f0a8d11)) -* **lifecycle-operator:** add helm chart for lifecycle operator ([#2200](https://github.com/keptn/lifecycle-toolkit/issues/2200)) ([9f0853f](https://github.com/keptn/lifecycle-toolkit/commit/9f0853fca2b92c9636e76dc77666148d86078af7)) -* **lifecycle-operator:** add Helm value for DORA metrics port ([#2571](https://github.com/keptn/lifecycle-toolkit/issues/2571)) ([bf472a3](https://github.com/keptn/lifecycle-toolkit/commit/bf472a34efcda14ccb78869aa141a8cd981f4839)) -* **lifecycle-operator:** add option to exclude additional namespaces ([#2536](https://github.com/keptn/lifecycle-toolkit/issues/2536)) ([fd42ac7](https://github.com/keptn/lifecycle-toolkit/commit/fd42ac7325927fa6f2f0cfe6875f055fd2cd1be0)) -* **lifecycle-operator:** automatically decide for scheduler installation based on k8s version ([#2212](https://github.com/keptn/lifecycle-toolkit/issues/2212)) ([25976ea](https://github.com/keptn/lifecycle-toolkit/commit/25976ead3fb1d95634ee3a00a7d37b3e98b2ec06)) -* **lifecycle-operator:** introduce keptnappcontext crd ([#2769](https://github.com/keptn/lifecycle-toolkit/issues/2769)) ([4e7751a](https://github.com/keptn/lifecycle-toolkit/commit/4e7751ae7344d8334db5bd8e6e4463e87eb3314b)) -* **lifecycle-operator:** introduce option to enable lifecycle orchestration only for specific namespaces ([#2244](https://github.com/keptn/lifecycle-toolkit/issues/2244)) ([12caf03](https://github.com/keptn/lifecycle-toolkit/commit/12caf031d336c7a34e495b36daccb5ec3524ae49)) -* **lifecycle-operator:** introduce v1alpha4 API version for KeptnWorkloadInstance ([#2250](https://github.com/keptn/lifecycle-toolkit/issues/2250)) ([d95dc10](https://github.com/keptn/lifecycle-toolkit/commit/d95dc1037ce22296aff65d6ad6fa420e96172d5d)) -* **lifecycle-operator:** move API HUB version to v1beta1 ([#2772](https://github.com/keptn/lifecycle-toolkit/issues/2772)) ([5d7ebbd](https://github.com/keptn/lifecycle-toolkit/commit/5d7ebbdc2ef55714e62dd8ad8b600a1098f9adef)) -* **lifecycle-operator:** propagate KeptnAppVersion Context Metadata to KeptnWorkloadVersion span ([#2859](https://github.com/keptn/lifecycle-toolkit/issues/2859)) ([5c14bf5](https://github.com/keptn/lifecycle-toolkit/commit/5c14bf59e813db10f953ea019c8d61d7ec2e8f6d)) -* **lifecycle-operator:** propagate metadata from deployment annotations ([#2832](https://github.com/keptn/lifecycle-toolkit/issues/2832)) ([6f700ce](https://github.com/keptn/lifecycle-toolkit/commit/6f700ce453ff1c26f353bc5e109c8b3e1840b283)) -* **lifecycle-operator:** rename CONTEXT to KEPTN_CONTEXT in task runtimes ([#2521](https://github.com/keptn/lifecycle-toolkit/issues/2521)) ([a7322bd](https://github.com/keptn/lifecycle-toolkit/commit/a7322bd9266fa1589d77b06675d70d1a9e6c29ac)) -* **lifecycle-operator:** support imagePullSecrets in KeptnTaskDefinitions ([#2549](https://github.com/keptn/lifecycle-toolkit/issues/2549)) ([c71d868](https://github.com/keptn/lifecycle-toolkit/commit/c71d86864ba48a82d9f66d57e93521d99c426970)) -* **lifecycle-operator:** support linked spans in KeptnAppVersion ([#2833](https://github.com/keptn/lifecycle-toolkit/issues/2833)) ([36e19b2](https://github.com/keptn/lifecycle-toolkit/commit/36e19b2a9f9706722a05bd13e46340bd68922265)) -* **metrics-operator:** add helm value to disable APIService installation ([#2607](https://github.com/keptn/lifecycle-toolkit/issues/2607)) ([ec40ce8](https://github.com/keptn/lifecycle-toolkit/commit/ec40ce85cb116cdde11df91e358625d5c0eb0aba)) -* **metrics-operator:** introduce v1beta1 API version ([#2467](https://github.com/keptn/lifecycle-toolkit/issues/2467)) ([97acdbf](https://github.com/keptn/lifecycle-toolkit/commit/97acdbff522c99d0b050b123fd8e632c4bf0d29a)) -* **metrics-operator:** release Analysis feature ([#2457](https://github.com/keptn/lifecycle-toolkit/issues/2457)) ([fb1f4ac](https://github.com/keptn/lifecycle-toolkit/commit/fb1f4ac72ef9548454dcbfde382793ddaef7f7f1)) -* **metrics-operator:** use v1beta1 in operator logic ([94f17c1](https://github.com/keptn/lifecycle-toolkit/commit/94f17c1535213a5c93e87c85bf321612cdc1d765)) -* move helm docs into values files ([#2281](https://github.com/keptn/lifecycle-toolkit/issues/2281)) ([bd1a37b](https://github.com/keptn/lifecycle-toolkit/commit/bd1a37b324e25d07e88e7c4d1ad8150a7b3d4dac)) - - -### Bug Fixes - -* **cert-manager:** exclude CRDs from cache to avoid excessive memory usage ([#2258](https://github.com/keptn/lifecycle-toolkit/issues/2258)) ([5176a4c](https://github.com/keptn/lifecycle-toolkit/commit/5176a4c90372945288026c1445db8200690f51ad)) -* change klt to keptn for annotations and certs ([#2229](https://github.com/keptn/lifecycle-toolkit/issues/2229)) ([608a75e](https://github.com/keptn/lifecycle-toolkit/commit/608a75ebb73006b82b370b40e86b83ee874764e8)) -* helm charts image registry, image pull policy and install action ([#2361](https://github.com/keptn/lifecycle-toolkit/issues/2361)) ([76ed884](https://github.com/keptn/lifecycle-toolkit/commit/76ed884498971c87c48cdab6fea822dfcf3e6e2f)) -* helm test ([#2232](https://github.com/keptn/lifecycle-toolkit/issues/2232)) ([12b056d](https://github.com/keptn/lifecycle-toolkit/commit/12b056d65b49b22cfd6a0deb94918ffeed008a91)) -* **helm-chart:** remove double templating of annotations ([#2770](https://github.com/keptn/lifecycle-toolkit/issues/2770)) ([b7a1d29](https://github.com/keptn/lifecycle-toolkit/commit/b7a1d291223eddd9ac83425c71c8c1a515f25f58)) -* **lifecycle-operator:** introduce separate controller for removing scheduling gates from pods ([#2946](https://github.com/keptn/lifecycle-toolkit/issues/2946)) ([9fa3770](https://github.com/keptn/lifecycle-toolkit/commit/9fa3770bbf3a2a2374993144df4fa469837aa7a0)) -* links for api docs ([#2557](https://github.com/keptn/lifecycle-toolkit/issues/2557)) ([84f5588](https://github.com/keptn/lifecycle-toolkit/commit/84f5588a0d8687e7266d4c772ec36650fdf4524e)) -* **scheduler:** ignore OTel security issue in scheduler ([#2364](https://github.com/keptn/lifecycle-toolkit/issues/2364)) ([a10594f](https://github.com/keptn/lifecycle-toolkit/commit/a10594f1be702dc1cbfd0b3a3326953c807dc08b)) -* security issues ([#2481](https://github.com/keptn/lifecycle-toolkit/issues/2481)) ([c538504](https://github.com/keptn/lifecycle-toolkit/commit/c53850481e1d7d161f2865801d563925426ee462)) - - -### Other - -* adapt helm chart pipeline to substitue local paths before syncing with charts repository ([#2397](https://github.com/keptn/lifecycle-toolkit/issues/2397)) ([045b359](https://github.com/keptn/lifecycle-toolkit/commit/045b359218ba66dde85b87cb16d784bc4384183a)) -* adapt helm charts to the new Keptn naming ([#2564](https://github.com/keptn/lifecycle-toolkit/issues/2564)) ([9ee4583](https://github.com/keptn/lifecycle-toolkit/commit/9ee45834bfa4dcedcbe99362d5d58b9febe3caae)) -* add config file for ReadTheDocs ([#2599](https://github.com/keptn/lifecycle-toolkit/issues/2599)) ([3c9b97a](https://github.com/keptn/lifecycle-toolkit/commit/3c9b97a2061d289c076e58c9372716eab740c865)) -* add config for spell checker action, fix typos ([#2443](https://github.com/keptn/lifecycle-toolkit/issues/2443)) ([eac178f](https://github.com/keptn/lifecycle-toolkit/commit/eac178f650962208449553086d54d26d27fa4da3)) -* add copyright disclaimer to website ([#2877](https://github.com/keptn/lifecycle-toolkit/issues/2877)) ([213e93d](https://github.com/keptn/lifecycle-toolkit/commit/213e93d5b9e2b12ca3a31e272fb8ce5079b0869c)) -* add example of values.yaml ([#2400](https://github.com/keptn/lifecycle-toolkit/issues/2400)) ([b7105db](https://github.com/keptn/lifecycle-toolkit/commit/b7105db6bc9ffa269405ec47986920e03cdab029)) -* add google analytics tag to docs page ([#2870](https://github.com/keptn/lifecycle-toolkit/issues/2870)) ([f676f12](https://github.com/keptn/lifecycle-toolkit/commit/f676f12d5cef91510e6047c05d529da4e231cc61)) -* add KeptnApp migration script ([#2959](https://github.com/keptn/lifecycle-toolkit/issues/2959)) ([7311422](https://github.com/keptn/lifecycle-toolkit/commit/7311422791f5429fa77ac18da857e4f14b502eba)) -* add metrics operator docs file to release please config ([88b597f](https://github.com/keptn/lifecycle-toolkit/commit/88b597f680cd026806b095cab5168ba147452aa3)) -* add more dictionaries to spell checker action ([#2449](https://github.com/keptn/lifecycle-toolkit/issues/2449)) ([3ad38bf](https://github.com/keptn/lifecycle-toolkit/commit/3ad38bf38a727f6127e91203a53d5b5df5278ec8)) -* add NOTES to helm chart ([#2345](https://github.com/keptn/lifecycle-toolkit/issues/2345)) ([994952b](https://github.com/keptn/lifecycle-toolkit/commit/994952b102fb1de5b1d6f462632596e1263d8575)) -* backport updated install page ([#2517](https://github.com/keptn/lifecycle-toolkit/issues/2517)) ([a5aa98a](https://github.com/keptn/lifecycle-toolkit/commit/a5aa98a314ba2661d3d39379c7a9d84b60ed4e0c)) -* bump helm chart dependencies ([#2991](https://github.com/keptn/lifecycle-toolkit/issues/2991)) ([49ee351](https://github.com/keptn/lifecycle-toolkit/commit/49ee3511fd6e425ac095bd7f16ecd1dae6258eb0)) -* bump keptn-cert-manager version in helm charts ([#2802](https://github.com/keptn/lifecycle-toolkit/issues/2802)) ([681a050](https://github.com/keptn/lifecycle-toolkit/commit/681a0507020aedcd86a0321ab7230f8072f62f0b)) -* **cert-manager:** improve logging ([#2279](https://github.com/keptn/lifecycle-toolkit/issues/2279)) ([859459d](https://github.com/keptn/lifecycle-toolkit/commit/859459d88f43c0e0d87d656986d586454c4f01bc)) -* changed all ref to v1beta1 in docs links ([#2957](https://github.com/keptn/lifecycle-toolkit/issues/2957)) ([281c502](https://github.com/keptn/lifecycle-toolkit/commit/281c5028e121b272732589de825cbd8580a32b90)) -* clean up deprecated API resources from helm charts ([#2800](https://github.com/keptn/lifecycle-toolkit/issues/2800)) ([43d092d](https://github.com/keptn/lifecycle-toolkit/commit/43d092d17f852d60f4e29a2887128b33a3fd2764)) -* clean up unused volumes ([#2638](https://github.com/keptn/lifecycle-toolkit/issues/2638)) ([32be4db](https://github.com/keptn/lifecycle-toolkit/commit/32be4db7ed35676967148fdc93cbe1a378220afa)) -* downgrade download artifact action ([#2771](https://github.com/keptn/lifecycle-toolkit/issues/2771)) ([fd7b534](https://github.com/keptn/lifecycle-toolkit/commit/fd7b5349d2609dfbad66a04e3e94648fe94a4e97)) -* enable chainsaw integration tests ([#2882](https://github.com/keptn/lifecycle-toolkit/issues/2882)) ([66ae056](https://github.com/keptn/lifecycle-toolkit/commit/66ae05692b260cee689a43721fd3b1e1802de936)) -* enable HTMLTest debug logging ([#2924](https://github.com/keptn/lifecycle-toolkit/issues/2924)) ([c7ee4fb](https://github.com/keptn/lifecycle-toolkit/commit/c7ee4fbaf30f222137162f82fc76aae43801d284)) -* enable markdownlint for new/old docs folder ([#2840](https://github.com/keptn/lifecycle-toolkit/issues/2840)) ([7de5919](https://github.com/keptn/lifecycle-toolkit/commit/7de591952723ff1e20a8bfe38db4d807022d79aa)) -* enable renovate on helm test files ([#2370](https://github.com/keptn/lifecycle-toolkit/issues/2370)) ([54b36c9](https://github.com/keptn/lifecycle-toolkit/commit/54b36c9a3dc55b1407f3e73c4e399d17cdf65cf0)) -* enable renovate on helm test files ([#2372](https://github.com/keptn/lifecycle-toolkit/issues/2372)) ([0ef5eaf](https://github.com/keptn/lifecycle-toolkit/commit/0ef5eafaa7b2cac057b1a569d70af0bf9917768e)) -* exclude busybox from renovate update ([#2518](https://github.com/keptn/lifecycle-toolkit/issues/2518)) ([6f72328](https://github.com/keptn/lifecycle-toolkit/commit/6f72328f589d0f5ea08792c2e649747007de6466)) -* fix auto-generated API docs having wrong metadata info ([#2927](https://github.com/keptn/lifecycle-toolkit/issues/2927)) ([a28d037](https://github.com/keptn/lifecycle-toolkit/commit/a28d037492672a229f6b867782c0231b51ba4911)) -* fix helm chart sync workflow ([#2407](https://github.com/keptn/lifecycle-toolkit/issues/2407)) ([0bd6ea9](https://github.com/keptn/lifecycle-toolkit/commit/0bd6ea92abb6d034bad0efab07c558ab70607843)) -* fix makefile lint targets ([#2920](https://github.com/keptn/lifecycle-toolkit/issues/2920)) ([affafff](https://github.com/keptn/lifecycle-toolkit/commit/affafff8adc0b3b231f9a646b257cef792c9878f)) -* fix PR template location and filename ([#2387](https://github.com/keptn/lifecycle-toolkit/issues/2387)) ([d70721f](https://github.com/keptn/lifecycle-toolkit/commit/d70721f6880f61f8b08b5c3bbd22236a8157e5b5)) -* fix renovate config ([#2466](https://github.com/keptn/lifecycle-toolkit/issues/2466)) ([1765f4b](https://github.com/keptn/lifecycle-toolkit/commit/1765f4bd4f54db6406e55ec7ae06fe38391e61f9)) -* fix sonarcloud duplication detections in API folders ([#2828](https://github.com/keptn/lifecycle-toolkit/issues/2828)) ([731b9d4](https://github.com/keptn/lifecycle-toolkit/commit/731b9d4e3948a063bec8308fbad3ff2e11c4817e)) -* fix yq command for helm chart sync ([#2406](https://github.com/keptn/lifecycle-toolkit/issues/2406)) ([55c7562](https://github.com/keptn/lifecycle-toolkit/commit/55c756214099b92b58997820ea80d0ba3458ff6c)) -* **helm-chart:** generate umbrella chart lock ([#2391](https://github.com/keptn/lifecycle-toolkit/issues/2391)) ([55e12d4](https://github.com/keptn/lifecycle-toolkit/commit/55e12d4a6c3b5cd0fbb2cd6b8b8d29f2b7c8c500)) -* improve docs release ([#2420](https://github.com/keptn/lifecycle-toolkit/issues/2420)) ([edf6f91](https://github.com/keptn/lifecycle-toolkit/commit/edf6f91d00808b68f28f2c9166ec223522c169cb)) -* introduce dev environment setup for documentation ([#2609](https://github.com/keptn/lifecycle-toolkit/issues/2609)) ([bc0f1d3](https://github.com/keptn/lifecycle-toolkit/commit/bc0f1d3290d7d9a59c79c33d45dfb7d4eee05ffb)) -* **lifecycle-operator:** introduce v1beta1 lifecycle API ([#2640](https://github.com/keptn/lifecycle-toolkit/issues/2640)) ([11b7ea2](https://github.com/keptn/lifecycle-toolkit/commit/11b7ea2bbf6fc22dc781fdf1e7afdde1b6b54035)) -* **lifecycle-operator:** propagate Context Metadata to KeptnAppVersion ([#2848](https://github.com/keptn/lifecycle-toolkit/issues/2848)) ([5fac158](https://github.com/keptn/lifecycle-toolkit/commit/5fac158a7ffed67f7502fe03683138d717ea1acd)) -* **lifecycle-operator:** remove `OTEL_COLLECTOR_URL` env var in favour of related option in `KeptnConfig` CRD ([#2593](https://github.com/keptn/lifecycle-toolkit/issues/2593)) ([df0a5b4](https://github.com/keptn/lifecycle-toolkit/commit/df0a5b4a9ec04326a044bc5a79a6babf54a13363)) -* **lifecycle-operator:** remove pre post deploy task evaluation v1beta1 ([#2782](https://github.com/keptn/lifecycle-toolkit/issues/2782)) ([6e992d7](https://github.com/keptn/lifecycle-toolkit/commit/6e992d72313792d7e3024fd99599ca8658c98737)) -* migrate integration to chainsaw (part 1) ([#2973](https://github.com/keptn/lifecycle-toolkit/issues/2973)) ([b9b2418](https://github.com/keptn/lifecycle-toolkit/commit/b9b2418b27311c4ad9dc7b6f1df4c72336b36358)) -* migrate testanalysis to chainsaw ([#2961](https://github.com/keptn/lifecycle-toolkit/issues/2961)) ([5d30371](https://github.com/keptn/lifecycle-toolkit/commit/5d303717290c179f047b91cfac18be5ec4766f10)) -* migrate testcertificate and testmetrics to chainsaw ([#2942](https://github.com/keptn/lifecycle-toolkit/issues/2942)) ([62e667c](https://github.com/keptn/lifecycle-toolkit/commit/62e667c1d99501191b970cc7313f28f156f6eaac)) -* move kuttl tests in sub folder ([#2914](https://github.com/keptn/lifecycle-toolkit/issues/2914)) ([c2cb744](https://github.com/keptn/lifecycle-toolkit/commit/c2cb744d2246cf821aead426fcb72dce1cc46dbe)) -* re-generate API docs ([#2829](https://github.com/keptn/lifecycle-toolkit/issues/2829)) ([a1183cf](https://github.com/keptn/lifecycle-toolkit/commit/a1183cfacb08b40747891aec5b6652e758e4034c)) -* re-generate CRD manifests ([#2830](https://github.com/keptn/lifecycle-toolkit/issues/2830)) ([c0b1942](https://github.com/keptn/lifecycle-toolkit/commit/c0b1942e8f2ddd177776ed681432016d81805724)) -* release cert-manager 1.2.0 ([#2007](https://github.com/keptn/lifecycle-toolkit/issues/2007)) ([a6d2c47](https://github.com/keptn/lifecycle-toolkit/commit/a6d2c470b2764f2d6befaf2db9ada3c58b6602c3)) -* release cert-manager 2.0.0 ([#2358](https://github.com/keptn/lifecycle-toolkit/issues/2358)) ([f42bb71](https://github.com/keptn/lifecycle-toolkit/commit/f42bb7182ba801fb27e288a74fb731c343b8392e)) -* release deno-runtime 1.0.2 ([#2008](https://github.com/keptn/lifecycle-toolkit/issues/2008)) ([d354861](https://github.com/keptn/lifecycle-toolkit/commit/d35486106bee7c044ba3703f5ff9abd22ef5ee3e)) -* release deno-runtime 2.0.0 ([#2416](https://github.com/keptn/lifecycle-toolkit/issues/2416)) ([e616292](https://github.com/keptn/lifecycle-toolkit/commit/e616292922e08dbcf6d918d1d2c52a348f884cf7)) -* release deno-runtime 2.0.1 ([#2967](https://github.com/keptn/lifecycle-toolkit/issues/2967)) ([beb8cc1](https://github.com/keptn/lifecycle-toolkit/commit/beb8cc1e085e4ba8734017339821d6da1e602ac8)) -* release klt 0.9.0 ([#2056](https://github.com/keptn/lifecycle-toolkit/issues/2056)) ([66668f5](https://github.com/keptn/lifecycle-toolkit/commit/66668f50f3acc0ec410426e1474483a9b21e99d8)) -* release lifecycle-operator 0.8.3 ([#2075](https://github.com/keptn/lifecycle-toolkit/issues/2075)) ([e66d340](https://github.com/keptn/lifecycle-toolkit/commit/e66d3404bd64679e29937d78b25c8953a8737577)) -* release lifecycle-operator 0.9.0 ([#2392](https://github.com/keptn/lifecycle-toolkit/issues/2392)) ([b89babe](https://github.com/keptn/lifecycle-toolkit/commit/b89babe38743ab6b122ac9a7b3102a3e9e21066e)) -* release metrics-operator 0.8.3 ([#2053](https://github.com/keptn/lifecycle-toolkit/issues/2053)) ([d4d7a83](https://github.com/keptn/lifecycle-toolkit/commit/d4d7a832b89c4abe6a23a6a07f3b60d85f619fdf)) -* release metrics-operator 0.9.0 ([#2393](https://github.com/keptn/lifecycle-toolkit/issues/2393)) ([9c5c549](https://github.com/keptn/lifecycle-toolkit/commit/9c5c54919269d890a6b426d21ffa18961fa08088)) -* release metrics-operator 0.9.1 ([#2789](https://github.com/keptn/lifecycle-toolkit/issues/2789)) ([a43f429](https://github.com/keptn/lifecycle-toolkit/commit/a43f429a4a69f16cfa4a2c8908cfd260c3a6eff6)) -* release python-runtime 1.0.1 ([#2024](https://github.com/keptn/lifecycle-toolkit/issues/2024)) ([f3bbb96](https://github.com/keptn/lifecycle-toolkit/commit/f3bbb967e4aa9d9d0120137ffd9205787dc8cb8f)) -* release python-runtime 1.0.2 ([#2591](https://github.com/keptn/lifecycle-toolkit/issues/2591)) ([45ee412](https://github.com/keptn/lifecycle-toolkit/commit/45ee412a98340b02f4ae72935372bbeb9e25c7d0)) -* release scheduler 0.8.3 ([#2076](https://github.com/keptn/lifecycle-toolkit/issues/2076)) ([b6cf199](https://github.com/keptn/lifecycle-toolkit/commit/b6cf1990133bcfb3b562e90181d343c1f6945546)) -* release scheduler 0.9.0 ([#2401](https://github.com/keptn/lifecycle-toolkit/issues/2401)) ([37dcb6f](https://github.com/keptn/lifecycle-toolkit/commit/37dcb6f4730477d927fe2b742c9e28848de3c7d2)) -* remove manifests usage from security-scans ([#2334](https://github.com/keptn/lifecycle-toolkit/issues/2334)) ([5b0a29f](https://github.com/keptn/lifecycle-toolkit/commit/5b0a29f9c039d7a8b37c02e81b415768519594e4)) -* remove performance-test workflow and relative makefile entry ([#2706](https://github.com/keptn/lifecycle-toolkit/issues/2706)) ([8599276](https://github.com/keptn/lifecycle-toolkit/commit/859927698453bbd1f718b347c73f70da6596713f)) -* remove test images from renovate config ([#2373](https://github.com/keptn/lifecycle-toolkit/issues/2373)) ([513e064](https://github.com/keptn/lifecycle-toolkit/commit/513e06460863d6842e13d0615d9081dfa24f5114)) -* rename Keptn default namespace to 'keptn-system' ([#2565](https://github.com/keptn/lifecycle-toolkit/issues/2565)) ([aec1148](https://github.com/keptn/lifecycle-toolkit/commit/aec11489451ab1b0bcd69a6b90b0d45f69c5df7c)) -* rename KLT to Keptn ([#2554](https://github.com/keptn/lifecycle-toolkit/issues/2554)) ([15b0ac0](https://github.com/keptn/lifecycle-toolkit/commit/15b0ac0b36b8081b85b63f36e94b00065bcc8b22)) -* revert Chart.yaml to point to local repositories ([#2394](https://github.com/keptn/lifecycle-toolkit/issues/2394)) ([ff3bdb1](https://github.com/keptn/lifecycle-toolkit/commit/ff3bdb10652a16064b0ed3c5b0c66ccf83e426f1)) -* revert docs update through release please, remove annotations ([#2979](https://github.com/keptn/lifecycle-toolkit/issues/2979)) ([73b927a](https://github.com/keptn/lifecycle-toolkit/commit/73b927ad291a79131cf43c2f3e1c91633c845346)) -* revert elastic/crd-ref-docs back to 0.0.9 ([#2355](https://github.com/keptn/lifecycle-toolkit/issues/2355)) ([bb378ad](https://github.com/keptn/lifecycle-toolkit/commit/bb378ade081d0f6e9f8df207d30bde8c447295b7)) -* revert helm charts bump ([#2806](https://github.com/keptn/lifecycle-toolkit/issues/2806)) ([2e85214](https://github.com/keptn/lifecycle-toolkit/commit/2e85214ecd6112e9f9af750d9bde2d491dc8ae73)) -* set up giscus comment integration for docs page ([#2837](https://github.com/keptn/lifecycle-toolkit/issues/2837)) ([863dc95](https://github.com/keptn/lifecycle-toolkit/commit/863dc95e99f35e4d5763d154177bd0cb52771396)) -* set up MkDocs ([#2603](https://github.com/keptn/lifecycle-toolkit/issues/2603)) ([fbd4601](https://github.com/keptn/lifecycle-toolkit/commit/fbd46012932b0d84da19a10ff2138d496d3b3b2f)) -* update cert-manager chart versions ([#2359](https://github.com/keptn/lifecycle-toolkit/issues/2359)) ([a9da96a](https://github.com/keptn/lifecycle-toolkit/commit/a9da96ad3cb62024fff9e408392018a75307d723)) -* update pipelines to work with new helm charts ([#2228](https://github.com/keptn/lifecycle-toolkit/issues/2228)) ([ddee725](https://github.com/keptn/lifecycle-toolkit/commit/ddee725e70c832d75f346336fe08d4c0cea4d956)) -* update release please config to work with umbrella chart ([#2357](https://github.com/keptn/lifecycle-toolkit/issues/2357)) ([6ff3a5f](https://github.com/keptn/lifecycle-toolkit/commit/6ff3a5f64e394504fd5e7b67f0ac0a608428c1be)) -* update renovate config to ignore test repos ([#2451](https://github.com/keptn/lifecycle-toolkit/issues/2451)) ([8bf50a6](https://github.com/keptn/lifecycle-toolkit/commit/8bf50a64b0b75f4bb0b8a5d53a813761c6ad1782)) -* update renovate file to allow more makefile regex patterns, pin markdownlint version ([#2510](https://github.com/keptn/lifecycle-toolkit/issues/2510)) ([32f49c1](https://github.com/keptn/lifecycle-toolkit/commit/32f49c1b9b8ca92c91d7f0fcb8bd3dd93ca92b7f)) -* update Task CRD reference page for v1beta1 ([#2935](https://github.com/keptn/lifecycle-toolkit/issues/2935)) ([0bd7cf9](https://github.com/keptn/lifecycle-toolkit/commit/0bd7cf90bb80fdaa21a848bc2ba3cb080554b50e)) -* update to crd generator to v0.0.10 ([#2329](https://github.com/keptn/lifecycle-toolkit/issues/2329)) ([525ae03](https://github.com/keptn/lifecycle-toolkit/commit/525ae03725f374d0b056c6da2fd7af3e4062f7a2)) -* update umbrella chart dependencies ([#2369](https://github.com/keptn/lifecycle-toolkit/issues/2369)) ([92a5578](https://github.com/keptn/lifecycle-toolkit/commit/92a557833a5f41803b0ecca6ce877c2f9c1f6dd5)) -* upgrade helm chart versions ([#2801](https://github.com/keptn/lifecycle-toolkit/issues/2801)) ([ad26093](https://github.com/keptn/lifecycle-toolkit/commit/ad2609373c4819fc560766e64bc032fcfd801889)) -* use different image for opengraph metadata ([#2515](https://github.com/keptn/lifecycle-toolkit/issues/2515)) ([cd3633d](https://github.com/keptn/lifecycle-toolkit/commit/cd3633d132f86401909d73b87b5ba2df798eecd4)) -* use new search engine ID ([#2546](https://github.com/keptn/lifecycle-toolkit/issues/2546)) ([6a88c0a](https://github.com/keptn/lifecycle-toolkit/commit/6a88c0a5cccc8cf7057bec2f4c4d1e24f28a7a93)) -* use templated values in install action and security workflow ([#2366](https://github.com/keptn/lifecycle-toolkit/issues/2366)) ([ecbf054](https://github.com/keptn/lifecycle-toolkit/commit/ecbf054e5a75702dacfcc90c15b7803a86476bfa)) - - -### Docs - -* adapt day 2 operations guide ([#2936](https://github.com/keptn/lifecycle-toolkit/issues/2936)) ([f9a72b9](https://github.com/keptn/lifecycle-toolkit/commit/f9a72b93f4bc7f19a78c4967140eab26756c0f43)) -* adapt docs contrib guide to have up-to-date info and correct formatting ([#2705](https://github.com/keptn/lifecycle-toolkit/issues/2705)) ([2f0e4fa](https://github.com/keptn/lifecycle-toolkit/commit/2f0e4fa044ff8d21eaabeaba587d05b84e4cd909)) -* adapt landing page with better fitting titles and links ([#2336](https://github.com/keptn/lifecycle-toolkit/issues/2336)) ([a56d6e0](https://github.com/keptn/lifecycle-toolkit/commit/a56d6e079a606a05a8f2681b096fc0a1be99c15f)) -* adapt lifecycle-management and observability getting started guides to use KeptnAppContext ([#2880](https://github.com/keptn/lifecycle-toolkit/issues/2880)) ([f49b65a](https://github.com/keptn/lifecycle-toolkit/commit/f49b65a69c9de47824b84368a0ab8c7804e5c9a3)) -* adapt SLI and SLO converters in migration guide ([#2533](https://github.com/keptn/lifecycle-toolkit/issues/2533)) ([540ca90](https://github.com/keptn/lifecycle-toolkit/commit/540ca90121f00fc175dec2c017fcc3e7b7eee09d)) -* add analysis blog post ([#2701](https://github.com/keptn/lifecycle-toolkit/issues/2701)) ([dac8e3a](https://github.com/keptn/lifecycle-toolkit/commit/dac8e3a0b2d563a8b8dae92bd959c4bc11130599)) -* add content to all section index pages ([#2645](https://github.com/keptn/lifecycle-toolkit/issues/2645)) ([928b546](https://github.com/keptn/lifecycle-toolkit/commit/928b546884763afb052198ffd7f51b0909c13c9b)) -* add documentation for keptn.sh/container annotation ([#2500](https://github.com/keptn/lifecycle-toolkit/issues/2500)) ([0578587](https://github.com/keptn/lifecycle-toolkit/commit/0578587190895e451eb51bcecd700b5a4eaeaddb)) -* add documentation for the refinement process in the contribute guide ([#2779](https://github.com/keptn/lifecycle-toolkit/issues/2779)) ([4521e89](https://github.com/keptn/lifecycle-toolkit/commit/4521e894dbbf08be2de02299ffd03bcdeb9740aa)) -* add example files for day 2 operations docs PR ([#2365](https://github.com/keptn/lifecycle-toolkit/issues/2365)) ([7cdcada](https://github.com/keptn/lifecycle-toolkit/commit/7cdcada16540a0d2e6e0d89f3ee821bd5f443dd2)) -* add Google verification ([#2719](https://github.com/keptn/lifecycle-toolkit/issues/2719)) ([370bd22](https://github.com/keptn/lifecycle-toolkit/commit/370bd22755d2ef686369dffa7787110d16d5d284)) -* add info on how to run kuttl tests ([#2805](https://github.com/keptn/lifecycle-toolkit/issues/2805)) ([536d443](https://github.com/keptn/lifecycle-toolkit/commit/536d443d331930a2d446aea4e0390eb2ba20b1aa)) -* add installation tips and tricks page ([#2442](https://github.com/keptn/lifecycle-toolkit/issues/2442)) ([d3b7256](https://github.com/keptn/lifecycle-toolkit/commit/d3b7256008767c0c0db3136d9c54a205b1e3ab3d)) -* add instructions on how to update a workload ([#2278](https://github.com/keptn/lifecycle-toolkit/issues/2278)) ([c900772](https://github.com/keptn/lifecycle-toolkit/commit/c90077244c4de64e5330d0507c014edb27891f03)) -* add KeptnApp reference in getting started ([#2202](https://github.com/keptn/lifecycle-toolkit/issues/2202)) ([a15b038](https://github.com/keptn/lifecycle-toolkit/commit/a15b038e1219a1f135fc3c17e74a6f576f4988f4)) -* add KeptnAppContext ref page; update KeptnApp ref page ([#2894](https://github.com/keptn/lifecycle-toolkit/issues/2894)) ([43c2ccb](https://github.com/keptn/lifecycle-toolkit/commit/43c2ccbcab6664acc2bb9c8bd6991de44c75fba9)) -* add KeptnTask ref page; enhance guide chapter for keptn-no-k8s ([#2103](https://github.com/keptn/lifecycle-toolkit/issues/2103)) ([066be3e](https://github.com/keptn/lifecycle-toolkit/commit/066be3e70bad96256a422c73af08a9384213c4e1)) -* add links to most workload word occurrences ([#2327](https://github.com/keptn/lifecycle-toolkit/issues/2327)) ([398ad06](https://github.com/keptn/lifecycle-toolkit/commit/398ad06aa8371fb6052719696c5e4fa5b1f42e34)) -* add links to official Grafana documentation for creating and modifying dashboards ([#2539](https://github.com/keptn/lifecycle-toolkit/issues/2539)) ([6f2c18a](https://github.com/keptn/lifecycle-toolkit/commit/6f2c18afa87b61a560e14c0e60886355fe70b09f)) -* add missing namespace to app CRD reference page ([#2629](https://github.com/keptn/lifecycle-toolkit/issues/2629)) ([1d940b6](https://github.com/keptn/lifecycle-toolkit/commit/1d940b65d853668fd0097e4b40e689a6eba9bb41)) -* add MkDocs header override to enable version dropdown menu ([#2611](https://github.com/keptn/lifecycle-toolkit/issues/2611)) ([c0087b9](https://github.com/keptn/lifecycle-toolkit/commit/c0087b9010af473019e66048d480855aae171b94)) -* add multiple metrics field descriptions to KeptnMetric CRD ref ([#2964](https://github.com/keptn/lifecycle-toolkit/issues/2964)) ([edb188d](https://github.com/keptn/lifecycle-toolkit/commit/edb188d9246492e03f847dff5451f4847391bdd8)) -* add new blog post "Keptn 2023 in review" ([#2861](https://github.com/keptn/lifecycle-toolkit/issues/2861)) ([b31ea78](https://github.com/keptn/lifecycle-toolkit/commit/b31ea7840dae1c395db25f9c7348c2676e235a6e)) -* add required labels to required CRD fields (Analysis, AnalysisDefinition, AnalysisValueTemplate) ([#2356](https://github.com/keptn/lifecycle-toolkit/issues/2356)) ([8b6bc79](https://github.com/keptn/lifecycle-toolkit/commit/8b6bc79a608826466859721d162fdb558030407b)) -* add required labels to required CRD fields (KeptnApp, KeptnConfig, KeptnEvaluationDefinition) ([#2390](https://github.com/keptn/lifecycle-toolkit/issues/2390)) ([5c7b0cd](https://github.com/keptn/lifecycle-toolkit/commit/5c7b0cde841dc5cb260410049cdcebc81934f736)) -* add required labels to required CRD fields (KeptnTask, KeptnMetric, KeptnMetricsProvider, KeptnTaskDefintion) ([#2388](https://github.com/keptn/lifecycle-toolkit/issues/2388)) ([0e39c0e](https://github.com/keptn/lifecycle-toolkit/commit/0e39c0eeab93cc75796848ae1b43dbae9044dea6)) -* add spell-checker to contributing docs ([#2504](https://github.com/keptn/lifecycle-toolkit/issues/2504)) ([d2c6f85](https://github.com/keptn/lifecycle-toolkit/commit/d2c6f85ad35e6be8e57661f6f0d4b1bf1dbc6444)) -* add staceypotter to blog post authors ([#2862](https://github.com/keptn/lifecycle-toolkit/issues/2862)) ([63583da](https://github.com/keptn/lifecycle-toolkit/commit/63583da6b0eefe51e0b21cb7c1db2559e612b006)) -* add umbrella charts blog post ([#2709](https://github.com/keptn/lifecycle-toolkit/issues/2709)) ([a51ecdc](https://github.com/keptn/lifecycle-toolkit/commit/a51ecdc84082227c5738a6cc7953339e9ad58a92)) -* add yaml snippet for keptnMetric Provider ([#2756](https://github.com/keptn/lifecycle-toolkit/issues/2756)) ([217542e](https://github.com/keptn/lifecycle-toolkit/commit/217542e749915291bf66370a09490ddffc8ef12b)) -* adjust open graph metadata ([#2437](https://github.com/keptn/lifecycle-toolkit/issues/2437)) ([1779751](https://github.com/keptn/lifecycle-toolkit/commit/1779751e75a6866fac6f6cd15118e757996ee122)) -* alphabetize crd-ref section ([#2589](https://github.com/keptn/lifecycle-toolkit/issues/2589)) ([08c9469](https://github.com/keptn/lifecycle-toolkit/commit/08c94694764f1ecbcb7cda80c1bcee1b28ce1b78)) -* analysis feature in 0.9.0 ([#2424](https://github.com/keptn/lifecycle-toolkit/issues/2424)) ([a6e6a60](https://github.com/keptn/lifecycle-toolkit/commit/a6e6a60456ef6a9227f786d8da499bf95667f177)) -* analysis for non-k8s deployments ([#2778](https://github.com/keptn/lifecycle-toolkit/issues/2778)) ([8e52eda](https://github.com/keptn/lifecycle-toolkit/commit/8e52edad99831fc0ba9cdb2eb99a6b889b1bfb49)) -* begin official word list for Keptn documentation ([#2049](https://github.com/keptn/lifecycle-toolkit/issues/2049)) ([a656512](https://github.com/keptn/lifecycle-toolkit/commit/a656512e6a8da2580c0fdeae93d7d7fd3360934b)) -* bold rendering only for folders ([#2333](https://github.com/keptn/lifecycle-toolkit/issues/2333)) ([e0a2c05](https://github.com/keptn/lifecycle-toolkit/commit/e0a2c053c16021401b57e132b569aab800cad57e)) -* brief info about contributing ref pages ([#2446](https://github.com/keptn/lifecycle-toolkit/issues/2446)) ([910b43a](https://github.com/keptn/lifecycle-toolkit/commit/910b43aeb2abec927046a70df82a25d584c54758)) -* capitalize keptnmetric && update keptnMetric and KeptnMetricsProvider apiVersion ([#2746](https://github.com/keptn/lifecycle-toolkit/issues/2746)) ([4269aad](https://github.com/keptn/lifecycle-toolkit/commit/4269aad777fbd7e45c03794032492a59649d8dfc)) -* change Analysis blog post title to fit into social cards ([#2911](https://github.com/keptn/lifecycle-toolkit/issues/2911)) ([bcb5d31](https://github.com/keptn/lifecycle-toolkit/commit/bcb5d312ec3b376a991ba0b1a94aef4e20c434d6)) -* clarify referenced titles in intro ([#2384](https://github.com/keptn/lifecycle-toolkit/issues/2384)) ([25a0c2c](https://github.com/keptn/lifecycle-toolkit/commit/25a0c2cdd313336438fcae0dd59fe4ea293c454e)) -* clarify scheduler architecture info ([#2389](https://github.com/keptn/lifecycle-toolkit/issues/2389)) ([4618def](https://github.com/keptn/lifecycle-toolkit/commit/4618def40b01e1e4f968e8cd7a1fd08619b7d788)) -* combine API and CRD reference index pages into one ([#2849](https://github.com/keptn/lifecycle-toolkit/issues/2849)) ([9681cde](https://github.com/keptn/lifecycle-toolkit/commit/9681cdef3bad90deae22be9c329f5a4ea95d7d41)) -* copy content to new docs engine ([#2605](https://github.com/keptn/lifecycle-toolkit/issues/2605)) ([7a4239f](https://github.com/keptn/lifecycle-toolkit/commit/7a4239fe39e4b05f5de4c19afef5a6615f60e0f4)) -* correct getting-started info about using KeptnConfig ([#2326](https://github.com/keptn/lifecycle-toolkit/issues/2326)) ([7e57ee1](https://github.com/keptn/lifecycle-toolkit/commit/7e57ee1db59262c33eb1d5fe2a079a3d8cc61fbb)) -* document Secret configuration for KeptnMetricsProvider types ([#2642](https://github.com/keptn/lifecycle-toolkit/issues/2642)) ([23ea98e](https://github.com/keptn/lifecycle-toolkit/commit/23ea98ef8d43d7ae7fd20dbdf19b844507f2fcd0)) -* edit Analysis guide page ([#2199](https://github.com/keptn/lifecycle-toolkit/issues/2199)) ([942842b](https://github.com/keptn/lifecycle-toolkit/commit/942842bcfac37d6892168ebcfa87c6131912ebb7)) -* edit lifecycle management getting started ([#2602](https://github.com/keptn/lifecycle-toolkit/issues/2602)) ([580a927](https://github.com/keptn/lifecycle-toolkit/commit/580a927e4609073be2a30f2bd7616af2387f01d4)) -* edits/xrefs for keptnapp migration ([#2944](https://github.com/keptn/lifecycle-toolkit/issues/2944)) ([45a56d1](https://github.com/keptn/lifecycle-toolkit/commit/45a56d13b19b6262eec401716ded97053a324860)) -* enable and setup blog plugin ([#2691](https://github.com/keptn/lifecycle-toolkit/issues/2691)) ([7769270](https://github.com/keptn/lifecycle-toolkit/commit/7769270483b95b65ca71973b739a66c32de4dcd8)) -* enable google custom search engine for production ([#2335](https://github.com/keptn/lifecycle-toolkit/issues/2335)) ([2ff15a2](https://github.com/keptn/lifecycle-toolkit/commit/2ff15a27e397ca8358f35d812a4c2b14c01c204a)) -* explain quantity data type for analysis targets ([#2615](https://github.com/keptn/lifecycle-toolkit/issues/2615)) ([1df7c66](https://github.com/keptn/lifecycle-toolkit/commit/1df7c662ba30315aa68cf04721863835df7417e5)) -* fix AnalysisValueTemplate query in blog post ([#2773](https://github.com/keptn/lifecycle-toolkit/issues/2773)) ([bdd3285](https://github.com/keptn/lifecycle-toolkit/commit/bdd32853fdcae55425b9009345746b7f1221bdf3)) -* fix broken code block styling ([#2819](https://github.com/keptn/lifecycle-toolkit/issues/2819)) ([017e681](https://github.com/keptn/lifecycle-toolkit/commit/017e681abe95ab420bcee6a2e12c000477544100)) -* fix broken link ([71f98b4](https://github.com/keptn/lifecycle-toolkit/commit/71f98b40ba5e37be70152152cd520da636458a5c)) -* fix broken link ([#2879](https://github.com/keptn/lifecycle-toolkit/issues/2879)) ([7175d11](https://github.com/keptn/lifecycle-toolkit/commit/7175d118c05e20101a992a51bafefc358ed555ac)) -* fix context comparison and improve introduction for clarity ([#2839](https://github.com/keptn/lifecycle-toolkit/issues/2839)) ([1955083](https://github.com/keptn/lifecycle-toolkit/commit/1955083762b4da34258dddb56ba2e81226252c30)) -* fix context information in guides ([#2902](https://github.com/keptn/lifecycle-toolkit/issues/2902)) ([9095a00](https://github.com/keptn/lifecycle-toolkit/commit/9095a003925b82ec3e1da72099f7c84d66ae59fe)) -* fix embedded file ([#2616](https://github.com/keptn/lifecycle-toolkit/issues/2616)) ([18db99b](https://github.com/keptn/lifecycle-toolkit/commit/18db99ba61002fa1d18f79714cecd0dbd632565c)) -* fix formatting in CRD reference pages ([#2954](https://github.com/keptn/lifecycle-toolkit/issues/2954)) ([634e055](https://github.com/keptn/lifecycle-toolkit/commit/634e0554b9579846510e46c5008108a448df261d)) -* fix grammatically incorrect line 2023-keptn-year-in-review.md ([#2904](https://github.com/keptn/lifecycle-toolkit/issues/2904)) ([6443137](https://github.com/keptn/lifecycle-toolkit/commit/64431370efd06aafcfe37b41d0121b69dd751ebf)) -* fix image ref ([#2198](https://github.com/keptn/lifecycle-toolkit/issues/2198)) ([d1c9ffa](https://github.com/keptn/lifecycle-toolkit/commit/d1c9ffa662906efce90b6630a6f78f5cae752202)) -* fix left frame title for keptn-no-k8s ([#2803](https://github.com/keptn/lifecycle-toolkit/issues/2803)) ([e16d60e](https://github.com/keptn/lifecycle-toolkit/commit/e16d60e1cb2db0e833e8bb08c3b1aa51298e14a1)) -* fix Synopsis for KeptnTask CRD reference page ([#2945](https://github.com/keptn/lifecycle-toolkit/issues/2945)) ([c72bde4](https://github.com/keptn/lifecycle-toolkit/commit/c72bde44e98fb0cfceefbfcce0f95a06577f5c01)) -* fix the navigation to Keptn v1 Docs ([#2676](https://github.com/keptn/lifecycle-toolkit/issues/2676)) ([14b1adf](https://github.com/keptn/lifecycle-toolkit/commit/14b1adf631b7f5f031bfa70f2af81bf2b9374133)) -* fix typo ([#2542](https://github.com/keptn/lifecycle-toolkit/issues/2542)) ([79700e6](https://github.com/keptn/lifecycle-toolkit/commit/79700e6d16910d87b41981b4509bd3a4b6d56d06)) -* fix typo in analysis.md ([#2295](https://github.com/keptn/lifecycle-toolkit/issues/2295)) ([779f720](https://github.com/keptn/lifecycle-toolkit/commit/779f7206a83b9d25fc7209ffa7d484f31fac8b92)) -* fix weights for contrib/docs files ([#2503](https://github.com/keptn/lifecycle-toolkit/issues/2503)) ([e96a10c](https://github.com/keptn/lifecycle-toolkit/commit/e96a10c2a8cfe340f3ff8c1a07837618735b29ef)) -* format/polish metric*, analysis*, config ([#2960](https://github.com/keptn/lifecycle-toolkit/issues/2960)) ([293179f](https://github.com/keptn/lifecycle-toolkit/commit/293179fa0c00f160c6c0c78fbb36acb8c47f71cb)) -* guide instructions to create KeptnMetric resource ([#2381](https://github.com/keptn/lifecycle-toolkit/issues/2381)) ([372892d](https://github.com/keptn/lifecycle-toolkit/commit/372892d94dcd9fdfbd96b0537f21f4589f7f37c0)) -* how to make Keptn work with vCluster ([#2382](https://github.com/keptn/lifecycle-toolkit/issues/2382)) ([20c6f1e](https://github.com/keptn/lifecycle-toolkit/commit/20c6f1e32ff17b5b9381765540473a7201340e28)) -* how to migrate quality gates to Keptn Analysis feature ([#2251](https://github.com/keptn/lifecycle-toolkit/issues/2251)) ([c1166ff](https://github.com/keptn/lifecycle-toolkit/commit/c1166ff5cbc19ee19cb4f4ef5cd29dce2d923c18)) -* how to use software dev environment ([#2127](https://github.com/keptn/lifecycle-toolkit/issues/2127)) ([dc6a651](https://github.com/keptn/lifecycle-toolkit/commit/dc6a6519ca4d7e595971d91af3684b5d25e92fa4)) -* improve HPA user guide ([#2540](https://github.com/keptn/lifecycle-toolkit/issues/2540)) ([841214c](https://github.com/keptn/lifecycle-toolkit/commit/841214c5bf3c6882c07e248d80cfb518b689aac3)) -* interim landing page ([#2672](https://github.com/keptn/lifecycle-toolkit/issues/2672)) ([3248deb](https://github.com/keptn/lifecycle-toolkit/commit/3248debac2e9eefe2c2a3e139f1a2ddc62ca81fe)) -* introduce KeptnApp to KeptnAppContext migration guide ([#2851](https://github.com/keptn/lifecycle-toolkit/issues/2851)) ([7e71022](https://github.com/keptn/lifecycle-toolkit/commit/7e71022637859be217d352a19f4a6fb0da8fc69d)) -* introduce uninstall page ([#2543](https://github.com/keptn/lifecycle-toolkit/issues/2543)) ([33c7ecc](https://github.com/keptn/lifecycle-toolkit/commit/33c7ecc2ab47a05926430e2c4ea137bbc5c6253f)) -* last minute polish ([#2988](https://github.com/keptn/lifecycle-toolkit/issues/2988)) ([6a397b4](https://github.com/keptn/lifecycle-toolkit/commit/6a397b43e78666e7ca0dcd1d63fccfdadc0de6a4)) -* link to contrib guide from docs-new/CONTRIBUTING.md ([#2758](https://github.com/keptn/lifecycle-toolkit/issues/2758)) ([442eb46](https://github.com/keptn/lifecycle-toolkit/commit/442eb462d51b98f915ffa2614e255ce488f1101f)) -* migrate old Keptn links to new URL ([#2604](https://github.com/keptn/lifecycle-toolkit/issues/2604)) ([ca1d96b](https://github.com/keptn/lifecycle-toolkit/commit/ca1d96b8ef30e5ab8b4ea7b0b1d25765fc560344)) -* more comments for tasks-non-k8s-apps ([#2293](https://github.com/keptn/lifecycle-toolkit/issues/2293)) ([9f0e4aa](https://github.com/keptn/lifecycle-toolkit/commit/9f0e4aa18eb2ed0308d7b2bfd4127dcf31870f23)) -* move auto-generated API reference to /reference folder ([#2544](https://github.com/keptn/lifecycle-toolkit/issues/2544)) ([149f26c](https://github.com/keptn/lifecycle-toolkit/commit/149f26c647d5fe931d25f545bc08f973b5bafa0a)) -* move docs branch sections from readme to contrib guide ([#1902](https://github.com/keptn/lifecycle-toolkit/issues/1902)) ([1965c16](https://github.com/keptn/lifecycle-toolkit/commit/1965c160a87ae42c0e1586647cb9d3059c6495c6)) -* move docs-tooling into repo ([#2460](https://github.com/keptn/lifecycle-toolkit/issues/2460)) ([d69989e](https://github.com/keptn/lifecycle-toolkit/commit/d69989e647966ffc44f7e17c43c9b18cea228f0b)) -* move publishing info to contribute guide ([#2227](https://github.com/keptn/lifecycle-toolkit/issues/2227)) ([c31a1bb](https://github.com/keptn/lifecycle-toolkit/commit/c31a1bb0008c2b8db864cdc502a8c90908503ca2)) -* ref pages for Analysis CRDs ([#2277](https://github.com/keptn/lifecycle-toolkit/issues/2277)) ([6a6de3a](https://github.com/keptn/lifecycle-toolkit/commit/6a6de3afdc7eeebc7d1950a44c7f5a7bf945e5c3)) -* refine info about configuring Grafana/Jaeger ([#2315](https://github.com/keptn/lifecycle-toolkit/issues/2315)) ([35590d9](https://github.com/keptn/lifecycle-toolkit/commit/35590d9adaf7f33fda6f35e6181f8a43b56e51fe)) -* remove custom label from migration KeptnApp sample ([#2940](https://github.com/keptn/lifecycle-toolkit/issues/2940)) ([6f75f51](https://github.com/keptn/lifecycle-toolkit/commit/6f75f519fdbaf99ca232e54710aad4acc4f88391)) -* remove duplicated DORA section from otel.md ([#2511](https://github.com/keptn/lifecycle-toolkit/issues/2511)) ([d89fed3](https://github.com/keptn/lifecycle-toolkit/commit/d89fed3b9c26782057f5ae8f8c85e054ea4bbf86)) -* remove empty and outdated pages ([#2332](https://github.com/keptn/lifecycle-toolkit/issues/2332)) ([3077e31](https://github.com/keptn/lifecycle-toolkit/commit/3077e31f7bc315da86949f65abcf2ea16dca4b6a)) -* remove folders with single index files ([#2617](https://github.com/keptn/lifecycle-toolkit/issues/2617)) ([634c3fa](https://github.com/keptn/lifecycle-toolkit/commit/634c3fa78e2a7f006788feb5b7369d7a96084dc9)) -* remove indentation to fix code blocks ([#2751](https://github.com/keptn/lifecycle-toolkit/issues/2751)) ([9807986](https://github.com/keptn/lifecycle-toolkit/commit/98079866fd19e100e3e63ba28bcdc47aca98546b)) -* remove k8s job from word list examples ([#2649](https://github.com/keptn/lifecycle-toolkit/issues/2649)) ([2cf0c96](https://github.com/keptn/lifecycle-toolkit/commit/2cf0c96460a119c467b6b667e5d7c8851c547456)) -* remove manifest install instructions ([#2395](https://github.com/keptn/lifecycle-toolkit/issues/2395)) ([c64f99e](https://github.com/keptn/lifecycle-toolkit/commit/c64f99e4184d0052982f5860a1ebd2ed6e82526d)) -* remove old docs folder and replace with new one ([#2825](https://github.com/keptn/lifecycle-toolkit/issues/2825)) ([e795c5a](https://github.com/keptn/lifecycle-toolkit/commit/e795c5a6845ca1fb19ea31239e42bac7a6a4f042)) -* remove old observability and orchestrate get-started guides ([#2583](https://github.com/keptn/lifecycle-toolkit/issues/2583)) ([9a6dc86](https://github.com/keptn/lifecycle-toolkit/commit/9a6dc868ded2f5bd10169ebce45710ff76ae48b9)) -* remove Scarf transparent pixels ([#2590](https://github.com/keptn/lifecycle-toolkit/issues/2590)) ([95851fa](https://github.com/keptn/lifecycle-toolkit/commit/95851fa52cb3a6565a4b52ae0e8b00dcc9861a3b)) -* remove square brackets from contribute/general/technologies ([#2745](https://github.com/keptn/lifecycle-toolkit/issues/2745)) ([47d573f](https://github.com/keptn/lifecycle-toolkit/commit/47d573f812ce9e65f00855a72db31efee9e1e1e4)) -* remove test post blog post from docs ([#2730](https://github.com/keptn/lifecycle-toolkit/issues/2730)) ([14cd12e](https://github.com/keptn/lifecycle-toolkit/commit/14cd12e29c2ae731cc06bc1ec365c0c9cc7c16fa)) -* rename "tasks" page, delete section from "Tutorials" ([#2088](https://github.com/keptn/lifecycle-toolkit/issues/2088)) ([8e5dd76](https://github.com/keptn/lifecycle-toolkit/commit/8e5dd769c30b9eee5630777d294d9fe983544c0c)) -* rename blog post file after renaming title ([#2913](https://github.com/keptn/lifecycle-toolkit/issues/2913)) ([90afcc7](https://github.com/keptn/lifecycle-toolkit/commit/90afcc710639935470866457ef2c5ea069027039)) -* replace remaining embeds with includes ([#2941](https://github.com/keptn/lifecycle-toolkit/issues/2941)) ([ff45589](https://github.com/keptn/lifecycle-toolkit/commit/ff4558921679fe37124a0e0d5aaef8468a52f857)) -* restructure content ([#2522](https://github.com/keptn/lifecycle-toolkit/issues/2522)) ([c2d8bd9](https://github.com/keptn/lifecycle-toolkit/commit/c2d8bd933228b7b9f7e19356ab395add1804b737)) -* restructure getting-started section ([#2294](https://github.com/keptn/lifecycle-toolkit/issues/2294)) ([8c56087](https://github.com/keptn/lifecycle-toolkit/commit/8c56087177aa3c1906cbfa9955b071165d81fe16)) -* restructure info on tasks and evaluations ([#2639](https://github.com/keptn/lifecycle-toolkit/issues/2639)) ([aa1abf0](https://github.com/keptn/lifecycle-toolkit/commit/aa1abf089966e674dacdf0b2d442135999367961)) -* restructure KeptnTaskDefinition, clarify httpRef and functionRef ([#2138](https://github.com/keptn/lifecycle-toolkit/issues/2138)) ([e2c5583](https://github.com/keptn/lifecycle-toolkit/commit/e2c5583735cb748998f781a22d2307b20c01f132)) -* restructure migration section ([#2867](https://github.com/keptn/lifecycle-toolkit/issues/2867)) ([9f34c7d](https://github.com/keptn/lifecycle-toolkit/commit/9f34c7d0d33e8dc904b20ac4e46b6ae795d213bc)) -* surround embedded yaml files with backticks ([#2704](https://github.com/keptn/lifecycle-toolkit/issues/2704)) ([16fba9d](https://github.com/keptn/lifecycle-toolkit/commit/16fba9d0e4c8df91513aca0c7472e6fd4d5d2cc4)) -* tweaks to intro material for Keptn landing page ([#2221](https://github.com/keptn/lifecycle-toolkit/issues/2221)) ([286e38b](https://github.com/keptn/lifecycle-toolkit/commit/286e38bef45cb3bd9b00bfc8405f721a13953375)) -* unify styling of implementing folder ([#2398](https://github.com/keptn/lifecycle-toolkit/issues/2398)) ([70cff9f](https://github.com/keptn/lifecycle-toolkit/commit/70cff9ff4a90b33ebfa2eb84ccccf473b290562d)) -* update components section ([#2712](https://github.com/keptn/lifecycle-toolkit/issues/2712)) ([a1330ee](https://github.com/keptn/lifecycle-toolkit/commit/a1330eededef719b999d08a2fb0626246387ebad)) -* update content in Evaluations and Task guides with KeptnAppContext ([#2948](https://github.com/keptn/lifecycle-toolkit/issues/2948)) ([5f0a064](https://github.com/keptn/lifecycle-toolkit/commit/5f0a0642f7641b6336a51d3c2ee2b5a4587a48ce)) -* update guides for auto app discovery and restartable apps ([#2915](https://github.com/keptn/lifecycle-toolkit/issues/2915)) ([30cb573](https://github.com/keptn/lifecycle-toolkit/commit/30cb573da1be9492f5ba318610afb205bde0a999)) -* update HtmlTest and API docs generator for new docs page ([#2651](https://github.com/keptn/lifecycle-toolkit/issues/2651)) ([74f3cf9](https://github.com/keptn/lifecycle-toolkit/commit/74f3cf90012ddcf6d249a32bc83f608b4e8ab2b1)) -* update link to Slack channel ([#2749](https://github.com/keptn/lifecycle-toolkit/issues/2749)) ([14b470b](https://github.com/keptn/lifecycle-toolkit/commit/14b470bb9a70edc36b66c347c71528ff9b6f18e5)) -* update list of primary doc folders/titles ([#2445](https://github.com/keptn/lifecycle-toolkit/issues/2445)) ([6085e7e](https://github.com/keptn/lifecycle-toolkit/commit/6085e7e13969cb900c6169b453636d2267aee2c8)) -* update word-list with new practices for k8s terms ([#2537](https://github.com/keptn/lifecycle-toolkit/issues/2537)) ([5c5b078](https://github.com/keptn/lifecycle-toolkit/commit/5c5b078dd083c080630f591007332cffa36563e5)) -* upgrade Keptn to Helm from a manifest installation ([#2270](https://github.com/keptn/lifecycle-toolkit/issues/2270)) ([cfb7641](https://github.com/keptn/lifecycle-toolkit/commit/cfb7641ca2ea871e9b22327ee2ab538399c188ed)) -* use metrics v1beta1 API version ([#2496](https://github.com/keptn/lifecycle-toolkit/issues/2496)) ([57c548d](https://github.com/keptn/lifecycle-toolkit/commit/57c548d790eb4e39c32c0159f98be1fb57ae43c5)) -* xrefs, formatting for KeptnApp and KeptnAppContext ref pages ([#2952](https://github.com/keptn/lifecycle-toolkit/issues/2952)) ([0c49cf2](https://github.com/keptn/lifecycle-toolkit/commit/0c49cf22d60b1785179cd51d769129a6bdd67c5a)) - - -### Dependency Updates - -* update actions/cache action to v4 ([#2866](https://github.com/keptn/lifecycle-toolkit/issues/2866)) ([fa5d98e](https://github.com/keptn/lifecycle-toolkit/commit/fa5d98e7dda363afe1261babb75301d82beade23)) -* update actions/checkout action to v4 ([#2502](https://github.com/keptn/lifecycle-toolkit/issues/2502)) ([6445bb4](https://github.com/keptn/lifecycle-toolkit/commit/6445bb4ae0140d31248caf1f56e887a98763ed50)) -* update actions/github-script action to v7 ([#2488](https://github.com/keptn/lifecycle-toolkit/issues/2488)) ([bdc0cd9](https://github.com/keptn/lifecycle-toolkit/commit/bdc0cd94e88d998df69abb943dc40a4e87765eff)) -* update actions/labeler action to v5 ([#2644](https://github.com/keptn/lifecycle-toolkit/issues/2644)) ([5c4643b](https://github.com/keptn/lifecycle-toolkit/commit/5c4643b7dff26aeedf525f6172d05d226d2812de)) -* update actions/setup-go action to v5 ([#2654](https://github.com/keptn/lifecycle-toolkit/issues/2654)) ([167c625](https://github.com/keptn/lifecycle-toolkit/commit/167c62558eed17ed6e8a29d07af55a2f2b6cdbf7)) -* update actions/setup-node action to v4 ([#2341](https://github.com/keptn/lifecycle-toolkit/issues/2341)) ([ebe8b26](https://github.com/keptn/lifecycle-toolkit/commit/ebe8b26cfa8c5d9bd0f1b6691c3c4d1f72387c29)) -* update actions/setup-node action to v4.0.1 ([#2693](https://github.com/keptn/lifecycle-toolkit/issues/2693)) ([dc4a162](https://github.com/keptn/lifecycle-toolkit/commit/dc4a16264ec770d552c933d77885adfde7de63ce)) -* update actions/stale action to v9 ([#2669](https://github.com/keptn/lifecycle-toolkit/issues/2669)) ([601a053](https://github.com/keptn/lifecycle-toolkit/commit/601a0531c73d22c6f643b0ea88cced1fa4a8f3ff)) -* update amannn/action-semantic-pull-request action to v5.4.0 ([#2422](https://github.com/keptn/lifecycle-toolkit/issues/2422)) ([69817bd](https://github.com/keptn/lifecycle-toolkit/commit/69817bd989766cff315a7db8051f35bfc41c129d)) -* update anchore/sbom-action action to v0.15.0 ([#2560](https://github.com/keptn/lifecycle-toolkit/issues/2560)) ([ec7ac2c](https://github.com/keptn/lifecycle-toolkit/commit/ec7ac2c3205644108aca501eda410f41e4e1f0fd)) -* update anchore/sbom-action action to v0.15.1 ([#2643](https://github.com/keptn/lifecycle-toolkit/issues/2643)) ([8a66fc3](https://github.com/keptn/lifecycle-toolkit/commit/8a66fc353a30cd83b044fe0c5c99c1300a6ad5b2)) -* update anchore/sbom-action action to v0.15.2 ([#2762](https://github.com/keptn/lifecycle-toolkit/issues/2762)) ([00e1417](https://github.com/keptn/lifecycle-toolkit/commit/00e1417d989169759581bfd5339a25a70fce211e)) -* update anchore/sbom-action action to v0.15.3 ([#2784](https://github.com/keptn/lifecycle-toolkit/issues/2784)) ([48018c1](https://github.com/keptn/lifecycle-toolkit/commit/48018c1a7578adaf464ba19e317896866c1d2501)) -* update anchore/sbom-action action to v0.15.4 ([#2852](https://github.com/keptn/lifecycle-toolkit/issues/2852)) ([0188534](https://github.com/keptn/lifecycle-toolkit/commit/0188534788955f9b683169398d7175bf8326ef44)) -* update anchore/sbom-action action to v0.15.5 ([#2863](https://github.com/keptn/lifecycle-toolkit/issues/2863)) ([1cfaedf](https://github.com/keptn/lifecycle-toolkit/commit/1cfaedf203f93b771a56b42defc8550fef084094)) -* update aquasecurity/trivy-action action to v0.13.0 ([#2349](https://github.com/keptn/lifecycle-toolkit/issues/2349)) ([c58a4f7](https://github.com/keptn/lifecycle-toolkit/commit/c58a4f7f7c89bde541b06f1dd6459d8e57a2cf65)) -* update aquasecurity/trivy-action action to v0.13.1 ([#2403](https://github.com/keptn/lifecycle-toolkit/issues/2403)) ([aa6bacc](https://github.com/keptn/lifecycle-toolkit/commit/aa6bacc15aa1a246db786bd561f33cd76a9130e6)) -* update aquasecurity/trivy-action action to v0.14.0 ([#2475](https://github.com/keptn/lifecycle-toolkit/issues/2475)) ([6967bfa](https://github.com/keptn/lifecycle-toolkit/commit/6967bfa7e0784f608a682b2f8ae90beb82834e09)) -* update aquasecurity/trivy-action action to v0.15.0 ([#2653](https://github.com/keptn/lifecycle-toolkit/issues/2653)) ([3409e1b](https://github.com/keptn/lifecycle-toolkit/commit/3409e1b038785f8040a0073f6f6dcc8c8f52ee1b)) -* update artifact upload and download actions to v4 ([#2696](https://github.com/keptn/lifecycle-toolkit/issues/2696)) ([da02f6a](https://github.com/keptn/lifecycle-toolkit/commit/da02f6a0b701683352bd0d9ca54da2ddf05185fb)) -* update davidanson/markdownlint-cli2-rules docker tag to v0.11.0 ([#2561](https://github.com/keptn/lifecycle-toolkit/issues/2561)) ([cf64d4b](https://github.com/keptn/lifecycle-toolkit/commit/cf64d4b1bf328da4a425fa22e98a91b081cabfb4)) -* update davidanson/markdownlint-cli2-rules docker tag to v0.12.0 ([#2792](https://github.com/keptn/lifecycle-toolkit/issues/2792)) ([4a110cf](https://github.com/keptn/lifecycle-toolkit/commit/4a110cff0aa9c09c6723c961342c732bb9472455)) -* update dawidd6/action-download-artifact action to v3 ([#2687](https://github.com/keptn/lifecycle-toolkit/issues/2687)) ([6fbedf9](https://github.com/keptn/lifecycle-toolkit/commit/6fbedf922f327394c1d9e0501eaba8446a82724a)) -* update dependency bitnami-labs/readme-generator-for-helm to v2.5.2 ([#2264](https://github.com/keptn/lifecycle-toolkit/issues/2264)) ([874ade7](https://github.com/keptn/lifecycle-toolkit/commit/874ade7e88d32cea814b145d9846360248b45e00)) -* update dependency bitnami-labs/readme-generator-for-helm to v2.6.0 ([#2307](https://github.com/keptn/lifecycle-toolkit/issues/2307)) ([ed7c385](https://github.com/keptn/lifecycle-toolkit/commit/ed7c3853a0994ba0664df17effa99575b99a1bef)) -* update dependency cloud-bulldozer/kube-burner to v1.7.10 ([#2338](https://github.com/keptn/lifecycle-toolkit/issues/2338)) ([59c494b](https://github.com/keptn/lifecycle-toolkit/commit/59c494b0227b7e463459d9b19ba595fb020f36fc)) -* update dependency cloud-bulldozer/kube-burner to v1.7.11 ([#2477](https://github.com/keptn/lifecycle-toolkit/issues/2477)) ([0173d6e](https://github.com/keptn/lifecycle-toolkit/commit/0173d6e4014587df25b5249c858b2d61c7466f5f)) -* update dependency cloud-bulldozer/kube-burner to v1.7.9 ([#2265](https://github.com/keptn/lifecycle-toolkit/issues/2265)) ([9ea0046](https://github.com/keptn/lifecycle-toolkit/commit/9ea00469fe7cb2f2bf7a4aea114c96c66bc94f9a)) -* update dependency elastic/crd-ref-docs to v0.0.10 ([#2339](https://github.com/keptn/lifecycle-toolkit/issues/2339)) ([7c0730f](https://github.com/keptn/lifecycle-toolkit/commit/7c0730fc2893ac5cf5ac22f61b2bd62c27544a08)) -* update dependency golangci/golangci-lint to v1.55.0 ([#2314](https://github.com/keptn/lifecycle-toolkit/issues/2314)) ([979b379](https://github.com/keptn/lifecycle-toolkit/commit/979b379d71ab94fb1c813b223e417c58d6db9449)) -* update dependency golangci/golangci-lint to v1.55.1 ([#2340](https://github.com/keptn/lifecycle-toolkit/issues/2340)) ([aca5bac](https://github.com/keptn/lifecycle-toolkit/commit/aca5bac03252fe329b0ca56892b1b2dc10866a49)) -* update dependency golangci/golangci-lint to v1.55.2 ([#2430](https://github.com/keptn/lifecycle-toolkit/issues/2430)) ([d4d5c53](https://github.com/keptn/lifecycle-toolkit/commit/d4d5c534960094653e7739dd779e616a2fa2e4cf)) -* update dependency kubernetes-sigs/kustomize to v5.2.1 ([#2308](https://github.com/keptn/lifecycle-toolkit/issues/2308)) ([6653a47](https://github.com/keptn/lifecycle-toolkit/commit/6653a47d4156c0e60aa471f11a643a2664669023)) -* update dependency kubernetes-sigs/kustomize to v5.3.0 ([#2659](https://github.com/keptn/lifecycle-toolkit/issues/2659)) ([8877921](https://github.com/keptn/lifecycle-toolkit/commit/8877921b8be3052ce61a4f8decd96537c93df27a)) -* update dependency mkdocs-git-revision-date-localized-plugin to v1.2.2 ([#2722](https://github.com/keptn/lifecycle-toolkit/issues/2722)) ([fbd62ce](https://github.com/keptn/lifecycle-toolkit/commit/fbd62cee26799c87bdeb6dd5d44aadbe12e10650)) -* update dependency mkdocs-git-revision-date-localized-plugin to v1.2.4 ([#2972](https://github.com/keptn/lifecycle-toolkit/issues/2972)) ([6a5e77c](https://github.com/keptn/lifecycle-toolkit/commit/6a5e77c6529b680fd86245df8bdee90be4ead49d)) -* update dependency mkdocs-material to v9.4.14 ([#2612](https://github.com/keptn/lifecycle-toolkit/issues/2612)) ([3d92d92](https://github.com/keptn/lifecycle-toolkit/commit/3d92d927d7d9b9e7b5c21549ea762e9d874d4f6a)) -* update dependency mkdocs-material to v9.5.0 ([#2660](https://github.com/keptn/lifecycle-toolkit/issues/2660)) ([1b638bf](https://github.com/keptn/lifecycle-toolkit/commit/1b638bfd8cfae0209402e5da8aadffd562cbbd00)) -* update dependency mkdocs-material to v9.5.1 ([#2666](https://github.com/keptn/lifecycle-toolkit/issues/2666)) ([0eb5c0c](https://github.com/keptn/lifecycle-toolkit/commit/0eb5c0c1748f5f10d6abd7e24094f803d7e0e7f5)) -* update dependency mkdocs-material to v9.5.2 ([#2678](https://github.com/keptn/lifecycle-toolkit/issues/2678)) ([6e0f08b](https://github.com/keptn/lifecycle-toolkit/commit/6e0f08bdd890880fc1f648985f61da84b005143c)) -* update dependency mkdocs-material to v9.5.3 ([#2733](https://github.com/keptn/lifecycle-toolkit/issues/2733)) ([9296984](https://github.com/keptn/lifecycle-toolkit/commit/9296984a676ab9ae4282748eb04417589df3410c)) -* update dependency mkdocs-material to v9.5.4 ([#2841](https://github.com/keptn/lifecycle-toolkit/issues/2841)) ([2c3d4b2](https://github.com/keptn/lifecycle-toolkit/commit/2c3d4b2fc80358ee4b060d49c2c691b460dc258a)) -* update dependency mkdocs-material to v9.5.5 ([#2889](https://github.com/keptn/lifecycle-toolkit/issues/2889)) ([6b8fa4b](https://github.com/keptn/lifecycle-toolkit/commit/6b8fa4b8f28b606218f8d6f391d16736bd937e77)) -* update dependency mkdocs-material to v9.5.7 ([#2929](https://github.com/keptn/lifecycle-toolkit/issues/2929)) ([c3047ae](https://github.com/keptn/lifecycle-toolkit/commit/c3047ae56c0db2459bcbd757cf1d3bd392535d07)) -* update dependency mkdocs-material-extensions to v1.3.1 ([#2613](https://github.com/keptn/lifecycle-toolkit/issues/2613)) ([94ac783](https://github.com/keptn/lifecycle-toolkit/commit/94ac7836cb9e2f98919d707b84ea9261f99e8333)) -* update dependency postcss-cli to v11 ([#2655](https://github.com/keptn/lifecycle-toolkit/issues/2655)) ([1923683](https://github.com/keptn/lifecycle-toolkit/commit/19236836c1c2eaac5f94c248510cc4e54e1d2663)) -* update dependency pymdown-extensions to v10.5 ([#2614](https://github.com/keptn/lifecycle-toolkit/issues/2614)) ([127c2fd](https://github.com/keptn/lifecycle-toolkit/commit/127c2fd1059cb18ce52e4bfbaa5e8288958a7561)) -* update dependency pymdown-extensions to v10.7 ([#2763](https://github.com/keptn/lifecycle-toolkit/issues/2763)) ([9d46413](https://github.com/keptn/lifecycle-toolkit/commit/9d4641311f194fca5cf6055f37b41731db9475de)) -* update ghcr.io/keptn/deno-runtime docker tag to v1.0.2 ([#2367](https://github.com/keptn/lifecycle-toolkit/issues/2367)) ([6c17203](https://github.com/keptn/lifecycle-toolkit/commit/6c1720356fab6b4a9d1c0dae30e76e6d5c135c70)) -* update ghcr.io/keptn/deno-runtime docker tag to v2 ([#2969](https://github.com/keptn/lifecycle-toolkit/issues/2969)) ([ea3e77d](https://github.com/keptn/lifecycle-toolkit/commit/ea3e77da83cb1d170e10329ecafcc837a03ee095)) -* update ghcr.io/keptn/python-runtime docker tag to v1.0.1 ([#2368](https://github.com/keptn/lifecycle-toolkit/issues/2368)) ([134191a](https://github.com/keptn/lifecycle-toolkit/commit/134191a523c6d278771ad1f3421e4ae68dad4de9)) -* update ghcr.io/keptn/python-runtime docker tag to v1.0.2 ([#2968](https://github.com/keptn/lifecycle-toolkit/issues/2968)) ([ae7d394](https://github.com/keptn/lifecycle-toolkit/commit/ae7d3943c8aee315273eda0c13909a1cc8cb4b52)) -* update ghcr.io/keptn/scheduler docker tag to v0.8.3 ([#2374](https://github.com/keptn/lifecycle-toolkit/issues/2374)) ([16a4a14](https://github.com/keptn/lifecycle-toolkit/commit/16a4a147905fe19b319010e880730ee46e6c5965)) -* update module github.com/go-logr/logr to v1.3.0 ([#2346](https://github.com/keptn/lifecycle-toolkit/issues/2346)) ([bc06204](https://github.com/keptn/lifecycle-toolkit/commit/bc06204b97c765d0f5664fd66f441af86f21e191)) -* update module golang.org/x/net to v0.16.0 ([#2249](https://github.com/keptn/lifecycle-toolkit/issues/2249)) ([e89ea71](https://github.com/keptn/lifecycle-toolkit/commit/e89ea71bc1a2d69828179c64ffe3c34ce359dd94)) -* update module golang.org/x/net to v0.17.0 ([#2267](https://github.com/keptn/lifecycle-toolkit/issues/2267)) ([8443874](https://github.com/keptn/lifecycle-toolkit/commit/8443874254cda9e5f4c662cab1a3e5e3b3277435)) -* update module golang.org/x/net to v0.18.0 ([#2479](https://github.com/keptn/lifecycle-toolkit/issues/2479)) ([6ddd8ee](https://github.com/keptn/lifecycle-toolkit/commit/6ddd8eeec5eabb0c67b5a7b9965a34368f62c8d5)) -* update module k8s.io/apimachinery to v0.28.3 ([#2298](https://github.com/keptn/lifecycle-toolkit/issues/2298)) ([f2f8dfe](https://github.com/keptn/lifecycle-toolkit/commit/f2f8dfec6e47517f2c476d6425c22db875f9bd3c)) -* update module k8s.io/apimachinery to v0.28.4 ([#2514](https://github.com/keptn/lifecycle-toolkit/issues/2514)) ([c25c236](https://github.com/keptn/lifecycle-toolkit/commit/c25c236ecc37dc1f33b75a172cee2422bdb416ba)) -* update module sigs.k8s.io/controller-runtime to v0.16.3 ([#2306](https://github.com/keptn/lifecycle-toolkit/issues/2306)) ([3d634a7](https://github.com/keptn/lifecycle-toolkit/commit/3d634a79996be6cb50805c745c51309c2f091a61)) -* update peter-evans/create-pull-request action to v6 ([#2950](https://github.com/keptn/lifecycle-toolkit/issues/2950)) ([7673b7f](https://github.com/keptn/lifecycle-toolkit/commit/7673b7ff9d094bcf968b627fe66069204c807cb3)) -* update sigstore/cosign-installer action to v3.2.0 ([#2476](https://github.com/keptn/lifecycle-toolkit/issues/2476)) ([28bed76](https://github.com/keptn/lifecycle-toolkit/commit/28bed767861f4bd2232a52e29454d28aca07c620)) -* update sigstore/cosign-installer action to v3.3.0 ([#2682](https://github.com/keptn/lifecycle-toolkit/issues/2682)) ([087a9ce](https://github.com/keptn/lifecycle-toolkit/commit/087a9ceb7d41b28bfd9c0ec04e764c1d6b467092)) -* update squidfunk/mkdocs-material docker tag to v9.5.1 ([#2658](https://github.com/keptn/lifecycle-toolkit/issues/2658)) ([50ca821](https://github.com/keptn/lifecycle-toolkit/commit/50ca821c76786e1c78b256d41b0c28b7d8933ac8)) -* update squidfunk/mkdocs-material docker tag to v9.5.2 ([#2674](https://github.com/keptn/lifecycle-toolkit/issues/2674)) ([b50e48a](https://github.com/keptn/lifecycle-toolkit/commit/b50e48a8ea29cec0f43f711ead5e2acf6d3e040b)) -* update squidfunk/mkdocs-material docker tag to v9.5.3 ([#2728](https://github.com/keptn/lifecycle-toolkit/issues/2728)) ([b283c26](https://github.com/keptn/lifecycle-toolkit/commit/b283c26f124b3b88dc2cf1062258d03a7efe2002)) -* update squidfunk/mkdocs-material docker tag to v9.5.4 ([#2842](https://github.com/keptn/lifecycle-toolkit/issues/2842)) ([5977a4d](https://github.com/keptn/lifecycle-toolkit/commit/5977a4d807ef65d8e49670dd2040b38403f28611)) -* update squidfunk/mkdocs-material docker tag to v9.5.5 ([#2887](https://github.com/keptn/lifecycle-toolkit/issues/2887)) ([b847841](https://github.com/keptn/lifecycle-toolkit/commit/b847841cc23d7bf7e2eaff1b8f83ca3cd6f23fdf)) -* update squidfunk/mkdocs-material docker tag to v9.5.7 ([#2905](https://github.com/keptn/lifecycle-toolkit/issues/2905)) ([f2d18e6](https://github.com/keptn/lifecycle-toolkit/commit/f2d18e60a307b2ed6e981cfba11f0d616fa8d1ee)) - - -### CI - -* remove some folders from release-please monorepo setup ([#2834](https://github.com/keptn/lifecycle-toolkit/issues/2834)) ([fecf56b](https://github.com/keptn/lifecycle-toolkit/commit/fecf56b96e692e772263f385d8a73aa41ad3d304)) - -## [0.9.0](https://github.com/keptn/lifecycle-toolkit/compare/klt-v0.8.2...klt-v0.9.0) (2023-10-31) - - -### Features - -* adapt code to use KeptnWorkloadVersion instead of KeptnWorkloadInstance ([#2255](https://github.com/keptn/lifecycle-toolkit/issues/2255)) ([c06fae1](https://github.com/keptn/lifecycle-toolkit/commit/c06fae13daa2aa98a3daf71abafe0e8ce4e5f4a3)) -* add test and lint cmd to makefiles ([#2176](https://github.com/keptn/lifecycle-toolkit/issues/2176)) ([c55e0a9](https://github.com/keptn/lifecycle-toolkit/commit/c55e0a9f368c82ad3032eb676edd59e68b29fad6)) -* **cert-manager:** add helm chart for cert manager ([#2192](https://github.com/keptn/lifecycle-toolkit/issues/2192)) ([b3b68fa](https://github.com/keptn/lifecycle-toolkit/commit/b3b68faebce0d12ce5c355c1136cc26282d06265)) -* create new Keptn umbrella Helm chart ([#2214](https://github.com/keptn/lifecycle-toolkit/issues/2214)) ([41bd47b](https://github.com/keptn/lifecycle-toolkit/commit/41bd47b7748c4d645243a4dae165651bbfd3533f)) -* generalize helm chart ([#2282](https://github.com/keptn/lifecycle-toolkit/issues/2282)) ([81334eb](https://github.com/keptn/lifecycle-toolkit/commit/81334ebec4d8afda27902b6e854c4c637a3daa87)) -* **lifecycle-operator:** add helm chart for lifecycle operator ([#2200](https://github.com/keptn/lifecycle-toolkit/issues/2200)) ([9f0853f](https://github.com/keptn/lifecycle-toolkit/commit/9f0853fca2b92c9636e76dc77666148d86078af7)) -* **lifecycle-operator:** automatically decide for scheduler installation based on k8s version ([#2212](https://github.com/keptn/lifecycle-toolkit/issues/2212)) ([25976ea](https://github.com/keptn/lifecycle-toolkit/commit/25976ead3fb1d95634ee3a00a7d37b3e98b2ec06)) -* **lifecycle-operator:** introduce metric showing readiness of operator ([#2152](https://github.com/keptn/lifecycle-toolkit/issues/2152)) ([c0e3f48](https://github.com/keptn/lifecycle-toolkit/commit/c0e3f48dd0e34084c7d2d8e469e73c3f2865ea48)) -* **lifecycle-operator:** introduce option to enable lifecycle orchestration only for specific namespaces ([#2244](https://github.com/keptn/lifecycle-toolkit/issues/2244)) ([12caf03](https://github.com/keptn/lifecycle-toolkit/commit/12caf031d336c7a34e495b36daccb5ec3524ae49)) -* **lifecycle-operator:** introduce v1alpha4 API version for KeptnWorkloadInstance ([#2250](https://github.com/keptn/lifecycle-toolkit/issues/2250)) ([d95dc10](https://github.com/keptn/lifecycle-toolkit/commit/d95dc1037ce22296aff65d6ad6fa420e96172d5d)) -* **metrics-operator:** add basicauth to prometheus provider ([#2154](https://github.com/keptn/lifecycle-toolkit/issues/2154)) ([bab605e](https://github.com/keptn/lifecycle-toolkit/commit/bab605e39f40df79d615532fc7592f0bd809993d)) -* **metrics-operator:** add helm chart for metrics operator ([#2189](https://github.com/keptn/lifecycle-toolkit/issues/2189)) ([a5ae3de](https://github.com/keptn/lifecycle-toolkit/commit/a5ae3ded2229444c1a8e6c3d3ebc5abbcb7187e3)) -* **metrics-operator:** add query to the analysis result ([#2188](https://github.com/keptn/lifecycle-toolkit/issues/2188)) ([233aac4](https://github.com/keptn/lifecycle-toolkit/commit/233aac4e91c44f663db08e4827fa0aa693556ed7)) -* **metrics-operator:** add support for user-friendly duration string for specifying time frame ([#2147](https://github.com/keptn/lifecycle-toolkit/issues/2147)) ([34e5384](https://github.com/keptn/lifecycle-toolkit/commit/34e5384bb434836658a7bf375c4fc8de765023b6)) -* **metrics-operator:** expose analysis results as Prometheus Metric ([#2137](https://github.com/keptn/lifecycle-toolkit/issues/2137)) ([47b756c](https://github.com/keptn/lifecycle-toolkit/commit/47b756c7dc146709e9a1378e89592b9a2cdbbae5)) -* **metrics-operator:** remove omitempty tags to get complete representation of AnalysisResult ([#2078](https://github.com/keptn/lifecycle-toolkit/issues/2078)) ([a08b9ca](https://github.com/keptn/lifecycle-toolkit/commit/a08b9cae35a4e1ac224d6cb76b64003363c6e915)) -* move helm docs into values files ([#2281](https://github.com/keptn/lifecycle-toolkit/issues/2281)) ([bd1a37b](https://github.com/keptn/lifecycle-toolkit/commit/bd1a37b324e25d07e88e7c4d1ad8150a7b3d4dac)) -* support scheduling gates in integration tests ([#2149](https://github.com/keptn/lifecycle-toolkit/issues/2149)) ([3ff67d5](https://github.com/keptn/lifecycle-toolkit/commit/3ff67d5632f287613f337c7418aa5e28e616d536)) -* update `KeptnMetric` to store multiple metrics in status ([#1900](https://github.com/keptn/lifecycle-toolkit/issues/1900)) ([2252b2d](https://github.com/keptn/lifecycle-toolkit/commit/2252b2daa5b26e7335a72ac4cd42086de50c0279)) - - -### Bug Fixes - -* add 404 page to the docs ([#2071](https://github.com/keptn/lifecycle-toolkit/issues/2071)) ([7e6b2e5](https://github.com/keptn/lifecycle-toolkit/commit/7e6b2e531d22740743ef929b8176a8bc86574753)) -* add uid fields to Grafana dashboard datasources ([#2085](https://github.com/keptn/lifecycle-toolkit/issues/2085)) ([4a4af79](https://github.com/keptn/lifecycle-toolkit/commit/4a4af79dde98f4b8b3899e044800ae5e33a0e0d0)) -* change klt to keptn for annotations and certs ([#2229](https://github.com/keptn/lifecycle-toolkit/issues/2229)) ([608a75e](https://github.com/keptn/lifecycle-toolkit/commit/608a75ebb73006b82b370b40e86b83ee874764e8)) -* helm charts image registry, image pull policy and install action ([#2361](https://github.com/keptn/lifecycle-toolkit/issues/2361)) ([76ed884](https://github.com/keptn/lifecycle-toolkit/commit/76ed884498971c87c48cdab6fea822dfcf3e6e2f)) -* helm test ([#2232](https://github.com/keptn/lifecycle-toolkit/issues/2232)) ([12b056d](https://github.com/keptn/lifecycle-toolkit/commit/12b056d65b49b22cfd6a0deb94918ffeed008a91)) -* **metrics-operator:** add missing AnalysisDefinition validation webhook to helm templates ([#2173](https://github.com/keptn/lifecycle-toolkit/issues/2173)) ([98097e6](https://github.com/keptn/lifecycle-toolkit/commit/98097e655413bcd80df454726bb47ab5b19108b8)) -* **metrics-operator:** fix panic due to write attempt on closed channel ([#2119](https://github.com/keptn/lifecycle-toolkit/issues/2119)) ([33eb9d7](https://github.com/keptn/lifecycle-toolkit/commit/33eb9d7da65dc012f1da5fdc27b1c33f88be210f)) -* **metrics-operator:** flush status when analysis is finished ([#2122](https://github.com/keptn/lifecycle-toolkit/issues/2122)) ([276b609](https://github.com/keptn/lifecycle-toolkit/commit/276b6094af7af4646d2fb9cba884e2c60eec4e97)) -* **metrics-operator:** introduce `.status.state` in Analysis ([#2061](https://github.com/keptn/lifecycle-toolkit/issues/2061)) ([b08b4d8](https://github.com/keptn/lifecycle-toolkit/commit/b08b4d8adca2cac13466bd3227fe23249fd5d12c)) -* **scheduler:** ignore OTel security issue in scheduler ([#2364](https://github.com/keptn/lifecycle-toolkit/issues/2364)) ([a10594f](https://github.com/keptn/lifecycle-toolkit/commit/a10594f1be702dc1cbfd0b3a3326953c807dc08b)) -* update outdated CRDs in helm chart templates ([#2123](https://github.com/keptn/lifecycle-toolkit/issues/2123)) ([34c9d11](https://github.com/keptn/lifecycle-toolkit/commit/34c9d11a1dd34b181d2d1a9e5c61fd75638aaebf)) - - -### Other - -* adapt Makefile command to run unit tests ([#2072](https://github.com/keptn/lifecycle-toolkit/issues/2072)) ([2db2569](https://github.com/keptn/lifecycle-toolkit/commit/2db25691748beedbb02ed92806d327067c422285)) -* add NOTES to helm chart ([#2345](https://github.com/keptn/lifecycle-toolkit/issues/2345)) ([994952b](https://github.com/keptn/lifecycle-toolkit/commit/994952b102fb1de5b1d6f462632596e1263d8575)) -* enable renovate on helm test files ([#2370](https://github.com/keptn/lifecycle-toolkit/issues/2370)) ([54b36c9](https://github.com/keptn/lifecycle-toolkit/commit/54b36c9a3dc55b1407f3e73c4e399d17cdf65cf0)) -* enable renovate on helm test files ([#2372](https://github.com/keptn/lifecycle-toolkit/issues/2372)) ([0ef5eaf](https://github.com/keptn/lifecycle-toolkit/commit/0ef5eafaa7b2cac057b1a569d70af0bf9917768e)) -* fix grafana dashboard datasource config ([#2080](https://github.com/keptn/lifecycle-toolkit/issues/2080)) ([f375ad2](https://github.com/keptn/lifecycle-toolkit/commit/f375ad2269af41fe059af6c0247b8c63199f1a7a)) -* fix PR template location and filename ([#2387](https://github.com/keptn/lifecycle-toolkit/issues/2387)) ([d70721f](https://github.com/keptn/lifecycle-toolkit/commit/d70721f6880f61f8b08b5c3bbd22236a8157e5b5)) -* **helm-chart:** generate umbrella chart lock ([#2391](https://github.com/keptn/lifecycle-toolkit/issues/2391)) ([55e12d4](https://github.com/keptn/lifecycle-toolkit/commit/55e12d4a6c3b5cd0fbb2cd6b8b8d29f2b7c8c500)) -* hide unused KeptnEvaluationProvider from the crd docs ([#2146](https://github.com/keptn/lifecycle-toolkit/issues/2146)) ([d2743bf](https://github.com/keptn/lifecycle-toolkit/commit/d2743bf01014b4ce3fa016b97a8157a9c16f368f)) -* **metrics-operator:** refactor fetching resouce namespaces during analysis ([#2105](https://github.com/keptn/lifecycle-toolkit/issues/2105)) ([38c8332](https://github.com/keptn/lifecycle-toolkit/commit/38c8332b3f6d59170cf2de65ab1461bac9f6f742)) -* optimize integration tests pipeline with scheduling gates ([#2191](https://github.com/keptn/lifecycle-toolkit/issues/2191)) ([ac85d0d](https://github.com/keptn/lifecycle-toolkit/commit/ac85d0d0803a9eae28a4bff2850642017213798b)) -* reduce parallelism in integration tests ([#2130](https://github.com/keptn/lifecycle-toolkit/issues/2130)) ([f9fc7c4](https://github.com/keptn/lifecycle-toolkit/commit/f9fc7c4a919afae475222dcbdf8a4a85628c599e)) -* release cert-manager 1.2.0 ([#2007](https://github.com/keptn/lifecycle-toolkit/issues/2007)) ([a6d2c47](https://github.com/keptn/lifecycle-toolkit/commit/a6d2c470b2764f2d6befaf2db9ada3c58b6602c3)) -* release deno-runtime 1.0.2 ([#2008](https://github.com/keptn/lifecycle-toolkit/issues/2008)) ([d354861](https://github.com/keptn/lifecycle-toolkit/commit/d35486106bee7c044ba3703f5ff9abd22ef5ee3e)) -* release lifecycle-operator 0.8.3 ([#2075](https://github.com/keptn/lifecycle-toolkit/issues/2075)) ([e66d340](https://github.com/keptn/lifecycle-toolkit/commit/e66d3404bd64679e29937d78b25c8953a8737577)) -* release metrics-operator 0.8.3 ([#2053](https://github.com/keptn/lifecycle-toolkit/issues/2053)) ([d4d7a83](https://github.com/keptn/lifecycle-toolkit/commit/d4d7a832b89c4abe6a23a6a07f3b60d85f619fdf)) -* release python-runtime 1.0.1 ([#2024](https://github.com/keptn/lifecycle-toolkit/issues/2024)) ([f3bbb96](https://github.com/keptn/lifecycle-toolkit/commit/f3bbb967e4aa9d9d0120137ffd9205787dc8cb8f)) -* release scheduler 0.8.3 ([#2076](https://github.com/keptn/lifecycle-toolkit/issues/2076)) ([b6cf199](https://github.com/keptn/lifecycle-toolkit/commit/b6cf1990133bcfb3b562e90181d343c1f6945546)) -* remove generation of KLT manifest releases ([#1942](https://github.com/keptn/lifecycle-toolkit/issues/1942)) ([a73a1d0](https://github.com/keptn/lifecycle-toolkit/commit/a73a1d0a708953c548e0aacc9d37b5a089084f88)) -* revert elastic/crd-ref-docs back to 0.0.9 ([#2355](https://github.com/keptn/lifecycle-toolkit/issues/2355)) ([bb378ad](https://github.com/keptn/lifecycle-toolkit/commit/bb378ade081d0f6e9f8df207d30bde8c447295b7)) -* update cert-manager chart versions ([#2359](https://github.com/keptn/lifecycle-toolkit/issues/2359)) ([a9da96a](https://github.com/keptn/lifecycle-toolkit/commit/a9da96ad3cb62024fff9e408392018a75307d723)) -* update k8s version ([#1701](https://github.com/keptn/lifecycle-toolkit/issues/1701)) ([010d7cd](https://github.com/keptn/lifecycle-toolkit/commit/010d7cd48c2e26993e25de607f30b40513c9cd61)) -* update pipelines to work with new helm charts ([#2228](https://github.com/keptn/lifecycle-toolkit/issues/2228)) ([ddee725](https://github.com/keptn/lifecycle-toolkit/commit/ddee725e70c832d75f346336fe08d4c0cea4d956)) -* update release please config to work with umbrella chart ([#2357](https://github.com/keptn/lifecycle-toolkit/issues/2357)) ([6ff3a5f](https://github.com/keptn/lifecycle-toolkit/commit/6ff3a5f64e394504fd5e7b67f0ac0a608428c1be)) -* update umbrella chart dependencies ([#2369](https://github.com/keptn/lifecycle-toolkit/issues/2369)) ([92a5578](https://github.com/keptn/lifecycle-toolkit/commit/92a557833a5f41803b0ecca6ce877c2f9c1f6dd5)) - - -### Docs - -* adapt KeptnTask example to changes in API ([#2124](https://github.com/keptn/lifecycle-toolkit/issues/2124)) ([bcc64e8](https://github.com/keptn/lifecycle-toolkit/commit/bcc64e814d7735bc330d2d0b3b52eccf7a51dbbe)) -* adapt landing page with better fitting titles and links ([#2336](https://github.com/keptn/lifecycle-toolkit/issues/2336)) ([a56d6e0](https://github.com/keptn/lifecycle-toolkit/commit/a56d6e079a606a05a8f2681b096fc0a1be99c15f)) -* add better instructions for OTel example ([#1896](https://github.com/keptn/lifecycle-toolkit/issues/1896)) ([f034265](https://github.com/keptn/lifecycle-toolkit/commit/f03426537619908a864fce0ce10595fc25e722ea)) -* add content to implementing/evaluations ([#2073](https://github.com/keptn/lifecycle-toolkit/issues/2073)) ([39a9e8a](https://github.com/keptn/lifecycle-toolkit/commit/39a9e8a83d9a535061c7e96345248795ba476e1a)) -* add example files for day 2 operations docs PR ([#2365](https://github.com/keptn/lifecycle-toolkit/issues/2365)) ([7cdcada](https://github.com/keptn/lifecycle-toolkit/commit/7cdcada16540a0d2e6e0d89f3ee821bd5f443dd2)) -* add first iteration of analysis documentation ([#2167](https://github.com/keptn/lifecycle-toolkit/issues/2167)) ([366ee1f](https://github.com/keptn/lifecycle-toolkit/commit/366ee1f77e466b5939e32603e374292001758cd5)) -* add instructions on how to update a workload ([#2278](https://github.com/keptn/lifecycle-toolkit/issues/2278)) ([c900772](https://github.com/keptn/lifecycle-toolkit/commit/c90077244c4de64e5330d0507c014edb27891f03)) -* add KeptnApp reference in getting started ([#2202](https://github.com/keptn/lifecycle-toolkit/issues/2202)) ([a15b038](https://github.com/keptn/lifecycle-toolkit/commit/a15b038e1219a1f135fc3c17e74a6f576f4988f4)) -* add KeptnTask ref page; enhance guide chapter for keptn-no-k8s ([#2103](https://github.com/keptn/lifecycle-toolkit/issues/2103)) ([066be3e](https://github.com/keptn/lifecycle-toolkit/commit/066be3e70bad96256a422c73af08a9384213c4e1)) -* add KeptnTaskDefinition tutorial ([#2121](https://github.com/keptn/lifecycle-toolkit/issues/2121)) ([de2604f](https://github.com/keptn/lifecycle-toolkit/commit/de2604fbe53edb40a5d71a60002785aaa7c27766)) -* add links to most workload word occurrences ([#2327](https://github.com/keptn/lifecycle-toolkit/issues/2327)) ([398ad06](https://github.com/keptn/lifecycle-toolkit/commit/398ad06aa8371fb6052719696c5e4fa5b1f42e34)) -* add required labels to required CRD fields (Analysis, AnalysisDefinition, AnalysisValueTemplate) ([#2356](https://github.com/keptn/lifecycle-toolkit/issues/2356)) ([8b6bc79](https://github.com/keptn/lifecycle-toolkit/commit/8b6bc79a608826466859721d162fdb558030407b)) -* add required labels to required CRD fields (KeptnApp, KeptnConfig, KeptnEvaluationDefinition) ([#2390](https://github.com/keptn/lifecycle-toolkit/issues/2390)) ([5c7b0cd](https://github.com/keptn/lifecycle-toolkit/commit/5c7b0cde841dc5cb260410049cdcebc81934f736)) -* add required labels to required CRD fields (KeptnTask, KeptnMetric, KeptnMetricsProvider, KeptnTaskDefintion) ([#2388](https://github.com/keptn/lifecycle-toolkit/issues/2388)) ([0e39c0e](https://github.com/keptn/lifecycle-toolkit/commit/0e39c0eeab93cc75796848ae1b43dbae9044dea6)) -* begin official word list for Keptn documentation ([#2049](https://github.com/keptn/lifecycle-toolkit/issues/2049)) ([a656512](https://github.com/keptn/lifecycle-toolkit/commit/a656512e6a8da2580c0fdeae93d7d7fd3360934b)) -* bold rendering only for folders ([#2333](https://github.com/keptn/lifecycle-toolkit/issues/2333)) ([e0a2c05](https://github.com/keptn/lifecycle-toolkit/commit/e0a2c053c16021401b57e132b569aab800cad57e)) -* clarify referenced titles in intro ([#2384](https://github.com/keptn/lifecycle-toolkit/issues/2384)) ([25a0c2c](https://github.com/keptn/lifecycle-toolkit/commit/25a0c2cdd313336438fcae0dd59fe4ea293c454e)) -* correct getting-started info about using KeptnConfig ([#2326](https://github.com/keptn/lifecycle-toolkit/issues/2326)) ([7e57ee1](https://github.com/keptn/lifecycle-toolkit/commit/7e57ee1db59262c33eb1d5fe2a079a3d8cc61fbb)) -* correct link to Helm CLI installation info ([#2145](https://github.com/keptn/lifecycle-toolkit/issues/2145)) ([3e652fa](https://github.com/keptn/lifecycle-toolkit/commit/3e652faf13ae5c7abbb301c9cd09a5c91fa973ae)) -* edit Analysis guide page ([#2199](https://github.com/keptn/lifecycle-toolkit/issues/2199)) ([942842b](https://github.com/keptn/lifecycle-toolkit/commit/942842bcfac37d6892168ebcfa87c6131912ebb7)) -* enable google custom search engine for production ([#2335](https://github.com/keptn/lifecycle-toolkit/issues/2335)) ([2ff15a2](https://github.com/keptn/lifecycle-toolkit/commit/2ff15a27e397ca8358f35d812a4c2b14c01c204a)) -* example for the usage of Analyses ([#2168](https://github.com/keptn/lifecycle-toolkit/issues/2168)) ([fef0dfd](https://github.com/keptn/lifecycle-toolkit/commit/fef0dfdf4170706e8666e9214790d5a05891fbe4)) -* fix image ref ([#2198](https://github.com/keptn/lifecycle-toolkit/issues/2198)) ([d1c9ffa](https://github.com/keptn/lifecycle-toolkit/commit/d1c9ffa662906efce90b6630a6f78f5cae752202)) -* fix typo in analysis.md ([#2295](https://github.com/keptn/lifecycle-toolkit/issues/2295)) ([779f720](https://github.com/keptn/lifecycle-toolkit/commit/779f7206a83b9d25fc7209ffa7d484f31fac8b92)) -* fix xref to cert-manager page ([#2052](https://github.com/keptn/lifecycle-toolkit/issues/2052)) ([83b34c8](https://github.com/keptn/lifecycle-toolkit/commit/83b34c80a426f89f8014498c6d9d69ee76c840c9)) -* guide instructions to create KeptnMetric resource ([#2381](https://github.com/keptn/lifecycle-toolkit/issues/2381)) ([372892d](https://github.com/keptn/lifecycle-toolkit/commit/372892d94dcd9fdfbd96b0537f21f4589f7f37c0)) -* how to embed a file in docs ([#2095](https://github.com/keptn/lifecycle-toolkit/issues/2095)) ([a5977ad](https://github.com/keptn/lifecycle-toolkit/commit/a5977ad66623684fa166c4ac07eb3d300853c09e)) -* how to make Keptn work with vCluster ([#2382](https://github.com/keptn/lifecycle-toolkit/issues/2382)) ([20c6f1e](https://github.com/keptn/lifecycle-toolkit/commit/20c6f1e32ff17b5b9381765540473a7201340e28)) -* how to migrate quality gates to Keptn Analysis feature ([#2251](https://github.com/keptn/lifecycle-toolkit/issues/2251)) ([c1166ff](https://github.com/keptn/lifecycle-toolkit/commit/c1166ff5cbc19ee19cb4f4ef5cd29dce2d923c18)) -* how to use software dev environment ([#2127](https://github.com/keptn/lifecycle-toolkit/issues/2127)) ([dc6a651](https://github.com/keptn/lifecycle-toolkit/commit/dc6a6519ca4d7e595971d91af3684b5d25e92fa4)) -* improve getting started guide ([#2058](https://github.com/keptn/lifecycle-toolkit/issues/2058)) ([a6e4d65](https://github.com/keptn/lifecycle-toolkit/commit/a6e4d6542dd8989d7c46bc1ce24f15f449c0ca19)) -* **metrics-operator:** usage of SLI and SLO converters ([#2013](https://github.com/keptn/lifecycle-toolkit/issues/2013)) ([57bc225](https://github.com/keptn/lifecycle-toolkit/commit/57bc225f8f3990f7bc9aeab077f3bd6ea511db22)) -* more comments for tasks-non-k8s-apps ([#2293](https://github.com/keptn/lifecycle-toolkit/issues/2293)) ([9f0e4aa](https://github.com/keptn/lifecycle-toolkit/commit/9f0e4aa18eb2ed0308d7b2bfd4127dcf31870f23)) -* move "Architecture" section to top level ([#2057](https://github.com/keptn/lifecycle-toolkit/issues/2057)) ([785de10](https://github.com/keptn/lifecycle-toolkit/commit/785de1023aef59bd1fc451ae7a83294da141932f)) -* move docs branch sections from readme to contrib guide ([#1902](https://github.com/keptn/lifecycle-toolkit/issues/1902)) ([1965c16](https://github.com/keptn/lifecycle-toolkit/commit/1965c160a87ae42c0e1586647cb9d3059c6495c6)) -* move publishing info to contribute guide ([#2227](https://github.com/keptn/lifecycle-toolkit/issues/2227)) ([c31a1bb](https://github.com/keptn/lifecycle-toolkit/commit/c31a1bb0008c2b8db864cdc502a8c90908503ca2)) -* move tasks-non-k8s-apps to implementing from tutorials ([#2089](https://github.com/keptn/lifecycle-toolkit/issues/2089)) ([469578e](https://github.com/keptn/lifecycle-toolkit/commit/469578edabb083c81da03ca4ded02320908ed421)) -* ref pages for Analysis CRDs ([#2277](https://github.com/keptn/lifecycle-toolkit/issues/2277)) ([6a6de3a](https://github.com/keptn/lifecycle-toolkit/commit/6a6de3afdc7eeebc7d1950a44c7f5a7bf945e5c3)) -* refine info about configuring Grafana/Jaeger ([#2315](https://github.com/keptn/lifecycle-toolkit/issues/2315)) ([35590d9](https://github.com/keptn/lifecycle-toolkit/commit/35590d9adaf7f33fda6f35e6181f8a43b56e51fe)) -* remove "Migration pages" that are no longer scheduled ([#2063](https://github.com/keptn/lifecycle-toolkit/issues/2063)) ([328dfc2](https://github.com/keptn/lifecycle-toolkit/commit/328dfc2aedb1de5eefaf507383b753ce8a1ec612)) -* remove empty and outdated pages ([#2332](https://github.com/keptn/lifecycle-toolkit/issues/2332)) ([3077e31](https://github.com/keptn/lifecycle-toolkit/commit/3077e31f7bc315da86949f65abcf2ea16dca4b6a)) -* remove yaml-crd-ref/evaluationprovider.md ([#2148](https://github.com/keptn/lifecycle-toolkit/issues/2148)) ([1f2093b](https://github.com/keptn/lifecycle-toolkit/commit/1f2093b6c4ca371db90409ad38aec15d46c6967b)) -* rename "Implementing..." section to "User Guides" ([#2097](https://github.com/keptn/lifecycle-toolkit/issues/2097)) ([b8280ca](https://github.com/keptn/lifecycle-toolkit/commit/b8280ca16431591d1ca5e2ea357059fcc5a9eac4)) -* rename "tasks" page, delete section from "Tutorials" ([#2088](https://github.com/keptn/lifecycle-toolkit/issues/2088)) ([8e5dd76](https://github.com/keptn/lifecycle-toolkit/commit/8e5dd769c30b9eee5630777d294d9fe983544c0c)) -* restructure getting-started section ([#2294](https://github.com/keptn/lifecycle-toolkit/issues/2294)) ([8c56087](https://github.com/keptn/lifecycle-toolkit/commit/8c56087177aa3c1906cbfa9955b071165d81fe16)) -* restructure KeptnTaskDefinition, clarify httpRef and functionRef ([#2138](https://github.com/keptn/lifecycle-toolkit/issues/2138)) ([e2c5583](https://github.com/keptn/lifecycle-toolkit/commit/e2c5583735cb748998f781a22d2307b20c01f132)) -* tweaks to intro material for Keptn landing page ([#2221](https://github.com/keptn/lifecycle-toolkit/issues/2221)) ([286e38b](https://github.com/keptn/lifecycle-toolkit/commit/286e38bef45cb3bd9b00bfc8405f721a13953375)) -* update contribution guideline link in PR template ([#2003](https://github.com/keptn/lifecycle-toolkit/issues/2003)) ([84ae464](https://github.com/keptn/lifecycle-toolkit/commit/84ae464abc789d4d464301ffd4e266136c60046b)) -* upgrade Keptn to Helm from a manifest installation ([#2270](https://github.com/keptn/lifecycle-toolkit/issues/2270)) ([cfb7641](https://github.com/keptn/lifecycle-toolkit/commit/cfb7641ca2ea871e9b22327ee2ab538399c188ed)) - - -### Dependency Updates - -* update actions/checkout action to v4 ([#2026](https://github.com/keptn/lifecycle-toolkit/issues/2026)) ([bd15001](https://github.com/keptn/lifecycle-toolkit/commit/bd15001bd1c7615395f39c65fe5eb07da1cf343b)) -* update actions/setup-node action to v4 ([#2341](https://github.com/keptn/lifecycle-toolkit/issues/2341)) ([ebe8b26](https://github.com/keptn/lifecycle-toolkit/commit/ebe8b26cfa8c5d9bd0f1b6691c3c4d1f72387c29)) -* update amannn/action-semantic-pull-request action to v5.3.0 ([#2179](https://github.com/keptn/lifecycle-toolkit/issues/2179)) ([27a9b80](https://github.com/keptn/lifecycle-toolkit/commit/27a9b803cc11cc711d97e48f347640bb98eb98d9)) -* update aquasecurity/trivy-action action to v0.13.0 ([#2349](https://github.com/keptn/lifecycle-toolkit/issues/2349)) ([c58a4f7](https://github.com/keptn/lifecycle-toolkit/commit/c58a4f7f7c89bde541b06f1dd6459d8e57a2cf65)) -* update curlimages/curl docker tag to v8.3.0 ([#2113](https://github.com/keptn/lifecycle-toolkit/issues/2113)) ([742d62d](https://github.com/keptn/lifecycle-toolkit/commit/742d62daebe6b9cbdc4e573deca933c8aa4f376e)) -* update curlimages/curl docker tag to v8.4.0 ([#2266](https://github.com/keptn/lifecycle-toolkit/issues/2266)) ([d801621](https://github.com/keptn/lifecycle-toolkit/commit/d801621816f10c9fea74d671f81c163a692c70b6)) -* update dawidd6/action-download-artifact action to v2.28.0 ([#2150](https://github.com/keptn/lifecycle-toolkit/issues/2150)) ([6566e7d](https://github.com/keptn/lifecycle-toolkit/commit/6566e7dbac9ac2ffe0e6315a2d177e15ec709550)) -* update dependency argoproj/argo-cd to v2.8.3 ([#2068](https://github.com/keptn/lifecycle-toolkit/issues/2068)) ([ff5f946](https://github.com/keptn/lifecycle-toolkit/commit/ff5f946aff3f0dc3d451e73f3d0c85da6bbb50ed)) -* update dependency argoproj/argo-cd to v2.8.4 ([#2114](https://github.com/keptn/lifecycle-toolkit/issues/2114)) ([b1bd8bf](https://github.com/keptn/lifecycle-toolkit/commit/b1bd8bf4fbbedc377c853d4e57ce43baedf5dd9a)) -* update dependency autoprefixer to v10.4.16 ([#2158](https://github.com/keptn/lifecycle-toolkit/issues/2158)) ([f670218](https://github.com/keptn/lifecycle-toolkit/commit/f6702189312d7696009d38694c640d4c4fa01718)) -* update dependency bitnami-labs/readme-generator-for-helm to v2.5.2 ([#2264](https://github.com/keptn/lifecycle-toolkit/issues/2264)) ([874ade7](https://github.com/keptn/lifecycle-toolkit/commit/874ade7e88d32cea814b145d9846360248b45e00)) -* update dependency bitnami-labs/readme-generator-for-helm to v2.6.0 ([#2307](https://github.com/keptn/lifecycle-toolkit/issues/2307)) ([ed7c385](https://github.com/keptn/lifecycle-toolkit/commit/ed7c3853a0994ba0664df17effa99575b99a1bef)) -* update dependency cloud-bulldozer/kube-burner to v1.7.10 ([#2338](https://github.com/keptn/lifecycle-toolkit/issues/2338)) ([59c494b](https://github.com/keptn/lifecycle-toolkit/commit/59c494b0227b7e463459d9b19ba595fb020f36fc)) -* update dependency cloud-bulldozer/kube-burner to v1.7.7 ([#2126](https://github.com/keptn/lifecycle-toolkit/issues/2126)) ([8b4b8d2](https://github.com/keptn/lifecycle-toolkit/commit/8b4b8d2332de9b40131f66f2abdcb90ebad8fbb0)) -* update dependency cloud-bulldozer/kube-burner to v1.7.8 ([#2162](https://github.com/keptn/lifecycle-toolkit/issues/2162)) ([9011915](https://github.com/keptn/lifecycle-toolkit/commit/90119158151d06a7ca9c99c4d7258d773436e2a1)) -* update dependency cloud-bulldozer/kube-burner to v1.7.9 ([#2265](https://github.com/keptn/lifecycle-toolkit/issues/2265)) ([9ea0046](https://github.com/keptn/lifecycle-toolkit/commit/9ea00469fe7cb2f2bf7a4aea114c96c66bc94f9a)) -* update dependency elastic/crd-ref-docs to v0.0.10 ([#2339](https://github.com/keptn/lifecycle-toolkit/issues/2339)) ([7c0730f](https://github.com/keptn/lifecycle-toolkit/commit/7c0730fc2893ac5cf5ac22f61b2bd62c27544a08)) -* update dependency golangci/golangci-lint to v1.55.0 ([#2314](https://github.com/keptn/lifecycle-toolkit/issues/2314)) ([979b379](https://github.com/keptn/lifecycle-toolkit/commit/979b379d71ab94fb1c813b223e417c58d6db9449)) -* update dependency golangci/golangci-lint to v1.55.1 ([#2340](https://github.com/keptn/lifecycle-toolkit/issues/2340)) ([aca5bac](https://github.com/keptn/lifecycle-toolkit/commit/aca5bac03252fe329b0ca56892b1b2dc10866a49)) -* update dependency jaegertracing/jaeger to v1.49.0 ([#2069](https://github.com/keptn/lifecycle-toolkit/issues/2069)) ([87752af](https://github.com/keptn/lifecycle-toolkit/commit/87752afe3d1c8e59154e53f574b90a88d220b490)) -* update dependency jaegertracing/jaeger to v1.50.0 ([#2256](https://github.com/keptn/lifecycle-toolkit/issues/2256)) ([34a1812](https://github.com/keptn/lifecycle-toolkit/commit/34a18120eae56f2c9746be2e5eec92c4bba1c118)) -* update dependency jaegertracing/jaeger-operator to v1.49.0 ([#2070](https://github.com/keptn/lifecycle-toolkit/issues/2070)) ([9a98e97](https://github.com/keptn/lifecycle-toolkit/commit/9a98e9796cab06b6be774f0ab232810ddabe4b8b)) -* update dependency kubernetes-sigs/kustomize to v5.2.1 ([#2308](https://github.com/keptn/lifecycle-toolkit/issues/2308)) ([6653a47](https://github.com/keptn/lifecycle-toolkit/commit/6653a47d4156c0e60aa471f11a643a2664669023)) -* update docker/build-push-action action to v5 ([#2110](https://github.com/keptn/lifecycle-toolkit/issues/2110)) ([1057f17](https://github.com/keptn/lifecycle-toolkit/commit/1057f17348415f59ffcc9b69cf77d65e32105288)) -* update docker/login-action action to v3 ([#2111](https://github.com/keptn/lifecycle-toolkit/issues/2111)) ([9c94d4b](https://github.com/keptn/lifecycle-toolkit/commit/9c94d4bb0bcdf2b4c76012362fa912c80458265f)) -* update docker/setup-buildx-action action to v3 ([#2112](https://github.com/keptn/lifecycle-toolkit/issues/2112)) ([bf1891a](https://github.com/keptn/lifecycle-toolkit/commit/bf1891afcd0ac093544baf91b0e4c79019ad490c)) -* update ghcr.io/keptn/deno-runtime docker tag to v1.0.2 ([#2367](https://github.com/keptn/lifecycle-toolkit/issues/2367)) ([6c17203](https://github.com/keptn/lifecycle-toolkit/commit/6c1720356fab6b4a9d1c0dae30e76e6d5c135c70)) -* update ghcr.io/keptn/python-runtime docker tag to v1.0.1 ([#2368](https://github.com/keptn/lifecycle-toolkit/issues/2368)) ([134191a](https://github.com/keptn/lifecycle-toolkit/commit/134191a523c6d278771ad1f3421e4ae68dad4de9)) -* update ghcr.io/keptn/scheduler docker tag to v0.8.3 ([#2374](https://github.com/keptn/lifecycle-toolkit/issues/2374)) ([16a4a14](https://github.com/keptn/lifecycle-toolkit/commit/16a4a147905fe19b319010e880730ee46e6c5965)) -* update keptn/docs-tooling action to v0.1.5 ([#2054](https://github.com/keptn/lifecycle-toolkit/issues/2054)) ([2613917](https://github.com/keptn/lifecycle-toolkit/commit/26139170f87b1bf446ec48ee356b3885842dcf10)) -* update module github.com/keptn/docs-tooling to v0.1.5 ([#2055](https://github.com/keptn/lifecycle-toolkit/issues/2055)) ([2e11b25](https://github.com/keptn/lifecycle-toolkit/commit/2e11b2592214fb2c3299370960c79e134b519470)) -* update otel/opentelemetry-collector docker tag to v0.85.0 ([#2109](https://github.com/keptn/lifecycle-toolkit/issues/2109)) ([2b6a519](https://github.com/keptn/lifecycle-toolkit/commit/2b6a5191edc160b195f5dc18967db0be04b69141)) -* update otel/opentelemetry-collector docker tag to v0.86.0 ([#2206](https://github.com/keptn/lifecycle-toolkit/issues/2206)) ([0b2a6db](https://github.com/keptn/lifecycle-toolkit/commit/0b2a6db91420a07883455ed39eccd1bac53bf5d2)) -* update otel/opentelemetry-collector docker tag to v0.87.0 ([#2276](https://github.com/keptn/lifecycle-toolkit/issues/2276)) ([91dd45e](https://github.com/keptn/lifecycle-toolkit/commit/91dd45e87c32d1b8ff414a5a8bd3f0818a183354)) -* update otel/opentelemetry-collector docker tag to v0.88.0 ([#2348](https://github.com/keptn/lifecycle-toolkit/issues/2348)) ([ec64f53](https://github.com/keptn/lifecycle-toolkit/commit/ec64f53cc4f08b7d3e7c610581dd9c34e91dff28)) - -## [0.8.2](https://github.com/keptn/lifecycle-toolkit/compare/klt-v0.8.1...klt-v0.8.2) (2023-09-06) - - -### Features - -* add `aggregation` field in `KeptnMetric` ([#1780](https://github.com/keptn/lifecycle-toolkit/issues/1780)) ([c0b66ea](https://github.com/keptn/lifecycle-toolkit/commit/c0b66eae296e0502608dd66c5fe7eb8f890497e6)) -* add `step` field in `KeptnMetric` ([#1755](https://github.com/keptn/lifecycle-toolkit/issues/1755)) ([03ca7dd](https://github.com/keptn/lifecycle-toolkit/commit/03ca7ddde4ce787d0bfddaba2bb3f7b422ff5d6a)) -* add cloud events support ([#1843](https://github.com/keptn/lifecycle-toolkit/issues/1843)) ([5b47120](https://github.com/keptn/lifecycle-toolkit/commit/5b471203e412a919903876212ac45c04f180e482)) -* add grafana labels to work with kube-prometheus-stack ([#1757](https://github.com/keptn/lifecycle-toolkit/issues/1757)) ([3b7d5ed](https://github.com/keptn/lifecycle-toolkit/commit/3b7d5ed9bd4f09ff49a84e34e3b708edbbff12d8)) -* add monitor action to all KLT workflows ([#1923](https://github.com/keptn/lifecycle-toolkit/issues/1923)) ([ee0a0f3](https://github.com/keptn/lifecycle-toolkit/commit/ee0a0f36a42178353202fe0ca407f385cd82b5b5)) -* **lifecycle-operator:** clean up KeptnTask API by removing duplicated attributes ([#1965](https://github.com/keptn/lifecycle-toolkit/issues/1965)) ([257b220](https://github.com/keptn/lifecycle-toolkit/commit/257b220a6171ccc82d1b471002b6cf773ec9bd09)) -* metrics-operator monorepo setup ([#1791](https://github.com/keptn/lifecycle-toolkit/issues/1791)) ([51445eb](https://github.com/keptn/lifecycle-toolkit/commit/51445ebd24b0914d34b0339ab05ec939440aa4a3)) -* **metrics-operator:** add analysis controller ([#1875](https://github.com/keptn/lifecycle-toolkit/issues/1875)) ([017e08b](https://github.com/keptn/lifecycle-toolkit/commit/017e08b0a65679ca417e363f2223b7f4fef3bc55)) -* **metrics-operator:** add Analysis CRD ([#1839](https://github.com/keptn/lifecycle-toolkit/issues/1839)) ([9521a16](https://github.com/keptn/lifecycle-toolkit/commit/9521a16ce4946d3169993780f2d2a4f3a75d0445)) -* **metrics-operator:** add AnalysisDefinition CRD ([#1823](https://github.com/keptn/lifecycle-toolkit/issues/1823)) ([adf4621](https://github.com/keptn/lifecycle-toolkit/commit/adf4621c2e8147bc0e4ee7f1719859007290c978)) -* **metrics-operator:** add AnalysisValueTemplate CRD ([#1822](https://github.com/keptn/lifecycle-toolkit/issues/1822)) ([f25b24d](https://github.com/keptn/lifecycle-toolkit/commit/f25b24dfef07a600c0fbcd4bdb540efe58cff387)) -* **metrics-operator:** introduce range operators in AnalysisDefinition ([#1976](https://github.com/keptn/lifecycle-toolkit/issues/1976)) ([7fb8952](https://github.com/keptn/lifecycle-toolkit/commit/7fb8952c514909ce2c0202e01f1cf501de2c8d55)) -* monorepo setup for lifecycle-operator, scheduler and runtimes ([#1857](https://github.com/keptn/lifecycle-toolkit/issues/1857)) ([84e243a](https://github.com/keptn/lifecycle-toolkit/commit/84e243a213ffba86eddd51ccc4bf4dbd61140069)) -* update stability of Certificate Manager ([#1733](https://github.com/keptn/lifecycle-toolkit/issues/1733)) ([e83d2ae](https://github.com/keptn/lifecycle-toolkit/commit/e83d2ae4a4724d4da8fee63f23a0c063275fac91)) - - -### Bug Fixes - -* add missing cert-injection annotations to helm-chart test result ([#1873](https://github.com/keptn/lifecycle-toolkit/issues/1873)) ([56d6598](https://github.com/keptn/lifecycle-toolkit/commit/56d659812c2fdeda1137d9f9f04701cb1775e434)) -* admit pod without creating KLT resources if owner of the pod is not supported ([#1752](https://github.com/keptn/lifecycle-toolkit/issues/1752)) ([f47ca50](https://github.com/keptn/lifecycle-toolkit/commit/f47ca50c1e34548466f9368c260c533e293754ad)) -* bump KLT version in helm values ([#1697](https://github.com/keptn/lifecycle-toolkit/issues/1697)) ([342d9d1](https://github.com/keptn/lifecycle-toolkit/commit/342d9d14fff2ad7b387d2adff0ef7331d43f48ff)) -* fix Go badge ([#1983](https://github.com/keptn/lifecycle-toolkit/issues/1983)) ([c989a6c](https://github.com/keptn/lifecycle-toolkit/commit/c989a6c5a0d0498d9157380018c3c19013a9cd30)) -* **operator:** sanitize app name annotation from uppercase to lowercase ([#1793](https://github.com/keptn/lifecycle-toolkit/issues/1793)) ([0986360](https://github.com/keptn/lifecycle-toolkit/commit/0986360ddaed1ee1c56552f46b98964809dd19c1)) -* remove klt-cert-manager from version bumps during KLT release ([#1783](https://github.com/keptn/lifecycle-toolkit/issues/1783)) ([a53e8e0](https://github.com/keptn/lifecycle-toolkit/commit/a53e8e0991e46193d7d0e10325ceae98934b7acd)) -* take last element in tag as Workload version number ([#1726](https://github.com/keptn/lifecycle-toolkit/issues/1726)) ([dc3ade0](https://github.com/keptn/lifecycle-toolkit/commit/dc3ade0af20e8ac424bfb860bd8d871d76b81119)) -* update DOCKER CMD on docs/Makefile ([#1745](https://github.com/keptn/lifecycle-toolkit/issues/1745)) ([a9ac9f6](https://github.com/keptn/lifecycle-toolkit/commit/a9ac9f6cba77fd12154bccc8e8647b6dd1a8fba0)) - - -### Other - -* add metrics-operator back to renovate ([#2047](https://github.com/keptn/lifecycle-toolkit/issues/2047)) ([e5a92c1](https://github.com/keptn/lifecycle-toolkit/commit/e5a92c1c8405d478018006f018a13fa81cb729b4)) -* add status field docs to all CRDs ([#1807](https://github.com/keptn/lifecycle-toolkit/issues/1807)) ([650ecba](https://github.com/keptn/lifecycle-toolkit/commit/650ecba95624ed3dc2bd61bf1f86578f450223a5)) -* cleanup unused env variables in Makefile ([#1913](https://github.com/keptn/lifecycle-toolkit/issues/1913)) ([1ddd089](https://github.com/keptn/lifecycle-toolkit/commit/1ddd089556aa381b7bf85764e0d6dba7789cf99c)) -* create pull request template ([#1936](https://github.com/keptn/lifecycle-toolkit/issues/1936)) ([a3f366d](https://github.com/keptn/lifecycle-toolkit/commit/a3f366d4fe4aa2e6d425526c9726dbe7a084e6ac)) -* fix minor security issues ([#1728](https://github.com/keptn/lifecycle-toolkit/issues/1728)) ([ea73cd9](https://github.com/keptn/lifecycle-toolkit/commit/ea73cd983102632fb162e1b4c8ae56687b288b25)) -* improved example on app yamls ([#1821](https://github.com/keptn/lifecycle-toolkit/issues/1821)) ([584138f](https://github.com/keptn/lifecycle-toolkit/commit/584138fe9a37db2e6f9518906de483b6fde0f504)) -* **main:** release lifecycle-operator-and-scheduler libraries ([#1979](https://github.com/keptn/lifecycle-toolkit/issues/1979)) ([12d0f40](https://github.com/keptn/lifecycle-toolkit/commit/12d0f40725e466825c4a0d483fa344e5888b03ae)) -* more renaming ([#1830](https://github.com/keptn/lifecycle-toolkit/issues/1830)) ([f2d5bdd](https://github.com/keptn/lifecycle-toolkit/commit/f2d5bdd5700fef1289f67763bf361af7f2bacbd7)) -* move from continuous helmify to custom chart ([#1840](https://github.com/keptn/lifecycle-toolkit/issues/1840)) ([b8d6241](https://github.com/keptn/lifecycle-toolkit/commit/b8d6241687ac9a02ac09a97c10312dde957634ae)) -* **operator:** remove dependency on metrics-operator ([#1715](https://github.com/keptn/lifecycle-toolkit/issues/1715)) ([8e2aa3b](https://github.com/keptn/lifecycle-toolkit/commit/8e2aa3b37cb074d32623289702bbda81119b5784)) -* **operator:** standardize k8s Events on lifecycle path ([#1692](https://github.com/keptn/lifecycle-toolkit/issues/1692)) ([92730ad](https://github.com/keptn/lifecycle-toolkit/commit/92730ad5bdcca5328b1f5c04636ae057c1d923e5)) -* **operator:** unexport EventSender in BuilderOptions ([#1698](https://github.com/keptn/lifecycle-toolkit/issues/1698)) ([c7e7335](https://github.com/keptn/lifecycle-toolkit/commit/c7e7335a680d3ad7ce76dfdce59e6b64a5d9f41a)) -* promote Release Lifecycle to beta ([#1833](https://github.com/keptn/lifecycle-toolkit/issues/1833)) ([ee90157](https://github.com/keptn/lifecycle-toolkit/commit/ee90157b1d9180526a3483482f1f4d5275178fc8)) -* release cert-manager 1.0.0 ([#1619](https://github.com/keptn/lifecycle-toolkit/issues/1619)) ([5a11d9a](https://github.com/keptn/lifecycle-toolkit/commit/5a11d9a1165f894e7d7e3efd0f29d90d03f7eb36)) -* release cert-manager 1.1.0 ([#1972](https://github.com/keptn/lifecycle-toolkit/issues/1972)) ([bb133cf](https://github.com/keptn/lifecycle-toolkit/commit/bb133cfd2ac3207e8a4006eb7a9390dc58737465)) -* release cert-manager 1.1.0 ([#1993](https://github.com/keptn/lifecycle-toolkit/issues/1993)) ([a8c22f7](https://github.com/keptn/lifecycle-toolkit/commit/a8c22f779eafd68ea12c97c808ad2041fc89acbf)) -* release cert-manager 1.1.0 ([#1998](https://github.com/keptn/lifecycle-toolkit/issues/1998)) ([5fbee38](https://github.com/keptn/lifecycle-toolkit/commit/5fbee380634244e32ac0bb90b0cf4b74ee72b661)) -* release deno-runtime 1.0.0 ([#1975](https://github.com/keptn/lifecycle-toolkit/issues/1975)) ([8df9ca4](https://github.com/keptn/lifecycle-toolkit/commit/8df9ca4840201106361b8ab8d2e7765d946b5ed2)) -* release deno-runtime 1.0.1 ([#1990](https://github.com/keptn/lifecycle-toolkit/issues/1990)) ([4e088c5](https://github.com/keptn/lifecycle-toolkit/commit/4e088c535645815dcb3fb58f1c09dc67b97e0c02)) -* release lifecycle-operator 0.8.2 ([#2033](https://github.com/keptn/lifecycle-toolkit/issues/2033)) ([17ef13a](https://github.com/keptn/lifecycle-toolkit/commit/17ef13a2fe2782c7499d923d1a91fd05f6503047)) -* release metrics-operator 0.8.2 ([#2030](https://github.com/keptn/lifecycle-toolkit/issues/2030)) ([c523cb0](https://github.com/keptn/lifecycle-toolkit/commit/c523cb017f3ff9d6adb65b9a0e7d9e63712e6b3e)) -* release python-runtime 1.0.0 ([#1969](https://github.com/keptn/lifecycle-toolkit/issues/1969)) ([9a995c4](https://github.com/keptn/lifecycle-toolkit/commit/9a995c447e65a4a96d4d3dca53f40a0c1c383b70)) -* release scheduler 0.8.2 ([#2032](https://github.com/keptn/lifecycle-toolkit/issues/2032)) ([cb4d2b1](https://github.com/keptn/lifecycle-toolkit/commit/cb4d2b14a7a772572b505fa844db6f08a45db291)) -* release scheduler 0.8.2 ([#2043](https://github.com/keptn/lifecycle-toolkit/issues/2043)) ([621c59d](https://github.com/keptn/lifecycle-toolkit/commit/621c59d26c22af492ea3fbc947071c6a07c0ffbd)) -* remove cert manager from renovate ignores ([#1962](https://github.com/keptn/lifecycle-toolkit/issues/1962)) ([972b3bb](https://github.com/keptn/lifecycle-toolkit/commit/972b3bbcec735c3361fb8e236b1e2c61edaebbb4)) -* remove generation of KLT manifest releases ([#1850](https://github.com/keptn/lifecycle-toolkit/issues/1850)) ([36b2dff](https://github.com/keptn/lifecycle-toolkit/commit/36b2dff6c8ec26aa4552542e236b3d790d65da57)) -* remove helm chart generation from CI ([#1856](https://github.com/keptn/lifecycle-toolkit/issues/1856)) ([768b3e9](https://github.com/keptn/lifecycle-toolkit/commit/768b3e9d6d3a2254be13402615ee1ff06c734214)) -* remove monitor action ([#1989](https://github.com/keptn/lifecycle-toolkit/issues/1989)) ([b0b37ea](https://github.com/keptn/lifecycle-toolkit/commit/b0b37ea56c5b36298834cb8fc1b6fbc8ac345906)) -* rename operator folder to lifecycle-operator ([#1819](https://github.com/keptn/lifecycle-toolkit/issues/1819)) ([97a2d25](https://github.com/keptn/lifecycle-toolkit/commit/97a2d25919c0a02165dd0dc6c7c82d57ad200139)) -* rename sonar settings ([#1831](https://github.com/keptn/lifecycle-toolkit/issues/1831)) ([952712f](https://github.com/keptn/lifecycle-toolkit/commit/952712f2c1c70dfa412bcb8adfdbe96fd392ad7d)) -* simplify dashboard installation ([#1815](https://github.com/keptn/lifecycle-toolkit/issues/1815)) ([7c4e7bc](https://github.com/keptn/lifecycle-toolkit/commit/7c4e7bc2b5f7679daf6e2a42f0b72eda6a8b2ea3)) -* support external cert-manager ([#1864](https://github.com/keptn/lifecycle-toolkit/issues/1864)) ([50dac48](https://github.com/keptn/lifecycle-toolkit/commit/50dac48ddba2181acb28aa714ba7e6605b038df5)) - - -### Docs - -* adapt DORA metrics kubectl command ([#1865](https://github.com/keptn/lifecycle-toolkit/issues/1865)) ([05d2f51](https://github.com/keptn/lifecycle-toolkit/commit/05d2f51e30b82be89752de3a29fe2743c9dc9154)) -* add info to implementing/tasks about sequential execution ([#1950](https://github.com/keptn/lifecycle-toolkit/issues/1950)) ([61f92c3](https://github.com/keptn/lifecycle-toolkit/commit/61f92c335b26e79cf058db39c9b31fb44088951c)) -* added troubleshooting page ([#1860](https://github.com/keptn/lifecycle-toolkit/issues/1860)) ([43f439b](https://github.com/keptn/lifecycle-toolkit/commit/43f439b09878fbe06bbae2714e033389a367f702)) -* change releases link to get started in mainpage header menu ([#1738](https://github.com/keptn/lifecycle-toolkit/issues/1738)) ([1f9ea33](https://github.com/keptn/lifecycle-toolkit/commit/1f9ea332ad5c2d8375f8d3300927c5ad31ccbf0a)) -* clean up KLT README file ([#1685](https://github.com/keptn/lifecycle-toolkit/issues/1685)) ([5204457](https://github.com/keptn/lifecycle-toolkit/commit/5204457870bbd2ee6e450b244043fe51aea3212a)) -* conceptual mapping of Keptn v1 components to KLT components ([#1628](https://github.com/keptn/lifecycle-toolkit/issues/1628)) ([fa2b54d](https://github.com/keptn/lifecycle-toolkit/commit/fa2b54da52c58a3d9a12fd6cbb39a73e0e58e072)) -* contrib: DCO ([#1886](https://github.com/keptn/lifecycle-toolkit/issues/1886)) ([2fdd9cb](https://github.com/keptn/lifecycle-toolkit/commit/2fdd9cb7f51c7ae210b8a8d2fc4da93cfafd95ec)) -* contrib: set up dev environment ([#1888](https://github.com/keptn/lifecycle-toolkit/issues/1888)) ([2778c21](https://github.com/keptn/lifecycle-toolkit/commit/2778c211d5af5c7e4877445ac3ee768843a24c15)) -* contribution guidelines ([#1906](https://github.com/keptn/lifecycle-toolkit/issues/1906)) ([25bf6ce](https://github.com/keptn/lifecycle-toolkit/commit/25bf6ce1a32b15c870c3dadff861999eef8a4896)) -* create crd-template.md ([#1885](https://github.com/keptn/lifecycle-toolkit/issues/1885)) ([06defd3](https://github.com/keptn/lifecycle-toolkit/commit/06defd31b6d1c805a3ff67cfd9800a3e888337e8)) -* deployment flow architecture ([#1470](https://github.com/keptn/lifecycle-toolkit/issues/1470)) ([6fe5192](https://github.com/keptn/lifecycle-toolkit/commit/6fe5192293175bf6946f74bba0e9057e704ab8c7)) -* document `timeframe` feature for `KeptnMetric` ([#1703](https://github.com/keptn/lifecycle-toolkit/issues/1703)) ([077f0d5](https://github.com/keptn/lifecycle-toolkit/commit/077f0d5d0a49bc5b1f0e800274343660b8218c65)) -* edits to metrics-operator architecture page ([#1679](https://github.com/keptn/lifecycle-toolkit/issues/1679)) ([7eb8afe](https://github.com/keptn/lifecycle-toolkit/commit/7eb8afecde7b5d7d8f96cb3c1f2370eb60410a7a)) -* excercises text changed to exercises ([#1693](https://github.com/keptn/lifecycle-toolkit/issues/1693)) ([df4cda6](https://github.com/keptn/lifecycle-toolkit/commit/df4cda68c97c464983a482faeaabe91e38d05637)) -* fix branding homepage ([#2041](https://github.com/keptn/lifecycle-toolkit/issues/2041)) ([e91137e](https://github.com/keptn/lifecycle-toolkit/commit/e91137ee91e08bb59b91d8f1dad1bcbc977e2a39)) -* fix broken links ([#1921](https://github.com/keptn/lifecycle-toolkit/issues/1921)) ([44074a2](https://github.com/keptn/lifecycle-toolkit/commit/44074a29391ab157b0279f2728b6232c15a8c13a)) -* fix link to deno web page ([#1908](https://github.com/keptn/lifecycle-toolkit/issues/1908)) ([d63182f](https://github.com/keptn/lifecycle-toolkit/commit/d63182f1af83f282676bee97301e80e1f97fdea6)) -* fix links in dev builds ([#1722](https://github.com/keptn/lifecycle-toolkit/issues/1722)) ([a35ed45](https://github.com/keptn/lifecycle-toolkit/commit/a35ed45fabd2314922fc9631ef585bdb10c3c295)) -* fix typo ([#1706](https://github.com/keptn/lifecycle-toolkit/issues/1706)) ([3690cd3](https://github.com/keptn/lifecycle-toolkit/commit/3690cd3aea124b48873168b2a14d31cd67840a8b)) -* fix typo ([#1754](https://github.com/keptn/lifecycle-toolkit/issues/1754)) ([9ebdcec](https://github.com/keptn/lifecycle-toolkit/commit/9ebdcec83ab3c9416c5ae2a597352cfc34271661)) -* fix typos and grammar issues ([#1925](https://github.com/keptn/lifecycle-toolkit/issues/1925)) ([5570d55](https://github.com/keptn/lifecycle-toolkit/commit/5570d555bfc4bbdcbfc66b2725d5352090e5b937)) -* fixed typo ([#1799](https://github.com/keptn/lifecycle-toolkit/issues/1799)) ([b9393be](https://github.com/keptn/lifecycle-toolkit/commit/b9393be558da31b5d0ee4541fc28942b85752f07)) -* fixed typo Troubleshoort to Troubleshoot ([#1776](https://github.com/keptn/lifecycle-toolkit/issues/1776)) ([eb7c9b2](https://github.com/keptn/lifecycle-toolkit/commit/eb7c9b20b7b71ed598a0ac8681335d91c4a621db)) -* git contributing guide ([#1892](https://github.com/keptn/lifecycle-toolkit/issues/1892)) ([30393c6](https://github.com/keptn/lifecycle-toolkit/commit/30393c6e6d1127cde12812810afc1bb8f97a1498)) -* how to use GitHub Codespaces to contribute to Keptn ([#1977](https://github.com/keptn/lifecycle-toolkit/issues/1977)) ([c96cb72](https://github.com/keptn/lifecycle-toolkit/commit/c96cb727931abdeeb9bcbbc2e551dc5722a9ed88)) -* implement KLT -> Keptn name change ([#2001](https://github.com/keptn/lifecycle-toolkit/issues/2001)) ([440c308](https://github.com/keptn/lifecycle-toolkit/commit/440c3082e5400f89d791724651984ba2bc0a4724)) -* implement KLT -> Keptn name change for tasks page ([#2016](https://github.com/keptn/lifecycle-toolkit/issues/2016)) ([8516716](https://github.com/keptn/lifecycle-toolkit/commit/8516716c8c7a7a265df3a9d65b2291707c96cd76)) -* improve "Intro to Keptn" page ([#2040](https://github.com/keptn/lifecycle-toolkit/issues/2040)) ([af4f417](https://github.com/keptn/lifecycle-toolkit/commit/af4f417ea0455d2dc26c00eafc9445fe1a208d49)) -* improve how-to and ref info for apps ([#1868](https://github.com/keptn/lifecycle-toolkit/issues/1868)) ([7139ffd](https://github.com/keptn/lifecycle-toolkit/commit/7139ffd67115210c4fc760987748c01853b94eab)) -* keptn Scheduler architecture documentation ([#1777](https://github.com/keptn/lifecycle-toolkit/issues/1777)) ([ce96200](https://github.com/keptn/lifecycle-toolkit/commit/ce96200b9bfed62062b199845104c4493b3a2627)) -* manifests ref section, edits to ref section intros ([#1800](https://github.com/keptn/lifecycle-toolkit/issues/1800)) ([604876f](https://github.com/keptn/lifecycle-toolkit/commit/604876f6a7b51b7185db18c5daabe0d23a2b5eaf)) -* migrate quality gates ([#1708](https://github.com/keptn/lifecycle-toolkit/issues/1708)) ([0cec244](https://github.com/keptn/lifecycle-toolkit/commit/0cec244f1ed3da8e10312dc6e820b3129d161d9f)) -* restructure migration guide ([#1838](https://github.com/keptn/lifecycle-toolkit/issues/1838)) ([8eb05c7](https://github.com/keptn/lifecycle-toolkit/commit/8eb05c7e75b7d2377835b6915df15bfa7a19c756)) -* rewrite README file ([#1862](https://github.com/keptn/lifecycle-toolkit/issues/1862)) ([e304969](https://github.com/keptn/lifecycle-toolkit/commit/e3049690da849cce749fab9bb8c1d4e0edd6f473)) -* simplify installation page ([#1751](https://github.com/keptn/lifecycle-toolkit/issues/1751)) ([a2144f5](https://github.com/keptn/lifecycle-toolkit/commit/a2144f501f8b8a062f77b711e09bdfbaba3bbf6e)) -* small improvements ([#1951](https://github.com/keptn/lifecycle-toolkit/issues/1951)) ([6273709](https://github.com/keptn/lifecycle-toolkit/commit/627370907807d1805dcff7e224a2edafe30c8383)) -* tutorial Run Standalone tasks for non-k8s apps ([#1947](https://github.com/keptn/lifecycle-toolkit/issues/1947)) ([a8d6902](https://github.com/keptn/lifecycle-toolkit/commit/a8d6902c7e283bf6a9dec1526b35fa57e1d05fc1)) -* update auto generated docs to include `spec.range.step` in `KeptnMetric` ([#1806](https://github.com/keptn/lifecycle-toolkit/issues/1806)) ([8a90145](https://github.com/keptn/lifecycle-toolkit/commit/8a90145bc024b8046423a3847664cb16f74e53a5)) -* update docs/content/en/contribute/docs/local-building/index.md ([#1753](https://github.com/keptn/lifecycle-toolkit/issues/1753)) ([14494c5](https://github.com/keptn/lifecycle-toolkit/commit/14494c5a66e2d4e26ba40299b25424d6127516fa)) -* update the doc source file structure page ([#1984](https://github.com/keptn/lifecycle-toolkit/issues/1984)) ([124e243](https://github.com/keptn/lifecycle-toolkit/commit/124e2433888e76277fca640ba56f5a19bbebdfbe)) - - -### Dependency Updates - -* update actions/setup-node action to v3.7.0 ([#1713](https://github.com/keptn/lifecycle-toolkit/issues/1713)) ([7a610ef](https://github.com/keptn/lifecycle-toolkit/commit/7a610ef50c54ac590a072741e76eeca4c6b27cc4)) -* update actions/setup-node action to v3.8.1 ([#1912](https://github.com/keptn/lifecycle-toolkit/issues/1912)) ([642842a](https://github.com/keptn/lifecycle-toolkit/commit/642842abec87475ccbbda035ef992051c42071ef)) -* update aquasecurity/trivy-action action to v0.12.0 ([#2010](https://github.com/keptn/lifecycle-toolkit/issues/2010)) ([093670c](https://github.com/keptn/lifecycle-toolkit/commit/093670caded5e7d78de5923eed2b795b71ca0eac)) -* update curlimages/curl docker tag to v8.2.1 ([#1792](https://github.com/keptn/lifecycle-toolkit/issues/1792)) ([88a54f9](https://github.com/keptn/lifecycle-toolkit/commit/88a54f97c1573038f8c1e762e2cffe40de513a7e)) -* update denoland/deno docker tag to alpine-1.36.1 ([#1924](https://github.com/keptn/lifecycle-toolkit/issues/1924)) ([4031ec0](https://github.com/keptn/lifecycle-toolkit/commit/4031ec01b44777c86f9d623dcfd8195177be01fa)) -* update dependency argoproj/argo-cd to v2.7.10 ([#1795](https://github.com/keptn/lifecycle-toolkit/issues/1795)) ([3936cf0](https://github.com/keptn/lifecycle-toolkit/commit/3936cf0581eeb27cb409055b0be49127ff4c7c6d)) -* update dependency argoproj/argo-cd to v2.7.11 ([#1877](https://github.com/keptn/lifecycle-toolkit/issues/1877)) ([72fba14](https://github.com/keptn/lifecycle-toolkit/commit/72fba143c16f341bf01899a4e92a21255aaac855)) -* update dependency argoproj/argo-cd to v2.7.8 ([#1763](https://github.com/keptn/lifecycle-toolkit/issues/1763)) ([b168ef5](https://github.com/keptn/lifecycle-toolkit/commit/b168ef58a99bf7993ab153a9361e79f31ddeffd0)) -* update dependency argoproj/argo-cd to v2.8.0 ([#1927](https://github.com/keptn/lifecycle-toolkit/issues/1927)) ([2a6bc6a](https://github.com/keptn/lifecycle-toolkit/commit/2a6bc6a26de4e61a7945b225cc079960f0d7381c)) -* update dependency argoproj/argo-cd to v2.8.2 ([#1956](https://github.com/keptn/lifecycle-toolkit/issues/1956)) ([04456d5](https://github.com/keptn/lifecycle-toolkit/commit/04456d5a75dd855e675bd7375e360612e2a24057)) -* update dependency autoprefixer to v10.4.15 ([#1909](https://github.com/keptn/lifecycle-toolkit/issues/1909)) ([8dbec2d](https://github.com/keptn/lifecycle-toolkit/commit/8dbec2d6116fb20bac86162aaea2b75c24eb96be)) -* update dependency bitnami-labs/readme-generator-for-helm to v2.5.1 ([#1849](https://github.com/keptn/lifecycle-toolkit/issues/1849)) ([48236c9](https://github.com/keptn/lifecycle-toolkit/commit/48236c954a5e97df03d774415443d1dea30eab88)) -* update dependency cloud-bulldozer/kube-burner to v1.7.4 ([#1797](https://github.com/keptn/lifecycle-toolkit/issues/1797)) ([69606e6](https://github.com/keptn/lifecycle-toolkit/commit/69606e60e3478049e3533a2711a0ee1fb4de0d8e)) -* update dependency cloud-bulldozer/kube-burner to v1.7.5 ([#1910](https://github.com/keptn/lifecycle-toolkit/issues/1910)) ([29a82be](https://github.com/keptn/lifecycle-toolkit/commit/29a82be86a945825f0b526f149c223ad7652163f)) -* update dependency cloud-bulldozer/kube-burner to v1.7.6 ([#2000](https://github.com/keptn/lifecycle-toolkit/issues/2000)) ([ca1fe57](https://github.com/keptn/lifecycle-toolkit/commit/ca1fe57fecd5978d63e900a0cb060f29ba7fbe74)) -* update dependency golangci/golangci-lint to v1.54.1 ([#1928](https://github.com/keptn/lifecycle-toolkit/issues/1928)) ([cc36f34](https://github.com/keptn/lifecycle-toolkit/commit/cc36f34096b892611cb42e073cd6f9cc01c5365f)) -* update dependency golangci/golangci-lint to v1.54.2 ([#1937](https://github.com/keptn/lifecycle-toolkit/issues/1937)) ([db5bcbf](https://github.com/keptn/lifecycle-toolkit/commit/db5bcbf33477b11dea602e2050bc9c366c654a6f)) -* update dependency helm/helm to v3.12.2 ([#1764](https://github.com/keptn/lifecycle-toolkit/issues/1764)) ([8216e6b](https://github.com/keptn/lifecycle-toolkit/commit/8216e6b65aac53f670aec5f383f3edbfbcbd526b)) -* update dependency jaegertracing/jaeger to v1.48.0 ([#1542](https://github.com/keptn/lifecycle-toolkit/issues/1542)) ([0596eb5](https://github.com/keptn/lifecycle-toolkit/commit/0596eb51012ff912af9d6e26a5341b0eb707ea06)) -* update dependency jaegertracing/jaeger-operator to v1.47.0 ([#1638](https://github.com/keptn/lifecycle-toolkit/issues/1638)) ([6bb371e](https://github.com/keptn/lifecycle-toolkit/commit/6bb371eb15d60f5d1a2c5e6d175e78a2c3650489)) -* update dependency jaegertracing/jaeger-operator to v1.48.0 ([#2018](https://github.com/keptn/lifecycle-toolkit/issues/2018)) ([db781c7](https://github.com/keptn/lifecycle-toolkit/commit/db781c737d39b79e8a745e245b327d1d6220d98f)) -* update dependency kubernetes-sigs/controller-tools to v0.12.1 ([#1765](https://github.com/keptn/lifecycle-toolkit/issues/1765)) ([ba79a32](https://github.com/keptn/lifecycle-toolkit/commit/ba79a32ef6acc9de8fb5d618b9ede7d6f96ce15e)) -* update dependency kubernetes-sigs/controller-tools to v0.13.0 ([#1930](https://github.com/keptn/lifecycle-toolkit/issues/1930)) ([8b34b63](https://github.com/keptn/lifecycle-toolkit/commit/8b34b63404d0339633ef41ff1cf2005deae8d2b7)) -* update dependency kubernetes-sigs/kustomize to v5.1.1 ([#1853](https://github.com/keptn/lifecycle-toolkit/issues/1853)) ([354ab3f](https://github.com/keptn/lifecycle-toolkit/commit/354ab3f980c2569e17a0354ece417df40317d120)) -* update ghcr.io/keptn/certificate-operator docker tag to v1.1.0 ([#1964](https://github.com/keptn/lifecycle-toolkit/issues/1964)) ([cdc07ae](https://github.com/keptn/lifecycle-toolkit/commit/cdc07ae2ef2e3164d5da74dd777a975e03ff8ee2)) -* update ghcr.io/keptn/deno-runtime docker tag to v1 ([#1988](https://github.com/keptn/lifecycle-toolkit/issues/1988)) ([c6958fd](https://github.com/keptn/lifecycle-toolkit/commit/c6958fd15b84813167d231b745d53748d812e69c)) -* update ghcr.io/keptn/python-runtime docker tag to v1 ([#1985](https://github.com/keptn/lifecycle-toolkit/issues/1985)) ([121de2e](https://github.com/keptn/lifecycle-toolkit/commit/121de2eb8881064f390b5abaef7e6c5f5031c5ec)) -* update github.com/keptn/lifecycle-toolkit/klt-cert-manager digest to 0b618c4 ([#1654](https://github.com/keptn/lifecycle-toolkit/issues/1654)) ([c749313](https://github.com/keptn/lifecycle-toolkit/commit/c749313bfad7bd98b8d0ae7cc6dd2ea56f23e041)) -* update github.com/keptn/lifecycle-toolkit/klt-cert-manager digest to cba2de5 ([#1762](https://github.com/keptn/lifecycle-toolkit/issues/1762)) ([b77bcea](https://github.com/keptn/lifecycle-toolkit/commit/b77bceae39d6e4372b879afa326e7658d4ccdd89)) -* update helm/kind-action action to v1.8.0 ([#1714](https://github.com/keptn/lifecycle-toolkit/issues/1714)) ([af76757](https://github.com/keptn/lifecycle-toolkit/commit/af7675775ae679ca077cf6281210cf7ec88a768f)) -* update keptn components to v0.8.2 ([#2048](https://github.com/keptn/lifecycle-toolkit/issues/2048)) ([49a884b](https://github.com/keptn/lifecycle-toolkit/commit/49a884b70bbe19ea1523d553195db879a71acc4b)) -* update keptn/docs-tooling action to v0.1.4 ([#1781](https://github.com/keptn/lifecycle-toolkit/issues/1781)) ([bba98c2](https://github.com/keptn/lifecycle-toolkit/commit/bba98c2f2c0eb49fdf15d53b825e78cb319f96b5)) -* update kubernetes packages (patch) ([#1786](https://github.com/keptn/lifecycle-toolkit/issues/1786)) ([cba2de5](https://github.com/keptn/lifecycle-toolkit/commit/cba2de5a5cd04c094131552aaf92c2b85ac23d21)) -* update module github.com/imdario/mergo to v1 ([#1664](https://github.com/keptn/lifecycle-toolkit/issues/1664)) ([3c009d0](https://github.com/keptn/lifecycle-toolkit/commit/3c009d07c379e30489072744c2ceef10edd30923)) -* update module github.com/onsi/gomega to v1.27.9 ([#1787](https://github.com/keptn/lifecycle-toolkit/issues/1787)) ([90b6ce9](https://github.com/keptn/lifecycle-toolkit/commit/90b6ce92253f52a43f3c13dddaa918ca73b515d0)) -* update module golang.org/x/net to v0.12.0 ([#1662](https://github.com/keptn/lifecycle-toolkit/issues/1662)) ([49318bf](https://github.com/keptn/lifecycle-toolkit/commit/49318bfc40497a120304de9d831dfe033259220f)) -* update module google.golang.org/grpc to v1.56.2 ([#1663](https://github.com/keptn/lifecycle-toolkit/issues/1663)) ([0b618c4](https://github.com/keptn/lifecycle-toolkit/commit/0b618c4bf15209fbb81ec7c05f1d05543bdfd1cf)) -* update otel/opentelemetry-collector docker tag to v0.81.0 ([#1188](https://github.com/keptn/lifecycle-toolkit/issues/1188)) ([cbfdc84](https://github.com/keptn/lifecycle-toolkit/commit/cbfdc8499cce26b4d66e1d2179302e1ebfc14141)) -* update otel/opentelemetry-collector docker tag to v0.84.0 ([#1916](https://github.com/keptn/lifecycle-toolkit/issues/1916)) ([7e4bab4](https://github.com/keptn/lifecycle-toolkit/commit/7e4bab4a89ae9fc984083840bd719f12ecd995e0)) -* update sigstore/cosign-installer action to v3.1.2 ([#2009](https://github.com/keptn/lifecycle-toolkit/issues/2009)) ([044d3b5](https://github.com/keptn/lifecycle-toolkit/commit/044d3b52338f027c2095d3949e4f21a2848016bf)) - -## [0.8.1](https://github.com/keptn/lifecycle-toolkit/compare/klt-v0.8.0...klt-v0.8.1) (2023-07-07) - - -### Features - -* add support for timeframe in `KeptnMetric` ([#1471](https://github.com/keptn/lifecycle-toolkit/issues/1471)) ([4d9ceb7](https://github.com/keptn/lifecycle-toolkit/commit/4d9ceb7a630ad8007f2583040f24ec514870006d)) -* cert-manager monorepo setup ([#1528](https://github.com/keptn/lifecycle-toolkit/issues/1528)) ([0156f15](https://github.com/keptn/lifecycle-toolkit/commit/0156f15779f0ec756c801b51a84c3e9cdd0edeb7)) -* update Prometheus API to query metrics over a range ([#1587](https://github.com/keptn/lifecycle-toolkit/issues/1587)) ([47a3e06](https://github.com/keptn/lifecycle-toolkit/commit/47a3e067896224e8fc82ba67ec69d4094a685a35)) - - -### Bug Fixes - -* **examples:** add new task definitions to kustomize base ([#1674](https://github.com/keptn/lifecycle-toolkit/issues/1674)) ([adba1ec](https://github.com/keptn/lifecycle-toolkit/commit/adba1ec386eba555594498c3c17f65150743a10c)) -* **helm-chart:** propagate labels for validation webhook ([#1678](https://github.com/keptn/lifecycle-toolkit/issues/1678)) ([5602bd1](https://github.com/keptn/lifecycle-toolkit/commit/5602bd108b9a326466defe43717ab7b1b2c52469)) -* **operator:** avoid multiple creations of the same KeptnTask ([#1676](https://github.com/keptn/lifecycle-toolkit/issues/1676)) ([78ba574](https://github.com/keptn/lifecycle-toolkit/commit/78ba57415e7a60696c71e60b5e2c0ba1fe8c89db)) -* **operator:** ensure that generated resource names contain no unallowed character ([#1661](https://github.com/keptn/lifecycle-toolkit/issues/1661)) ([59db60f](https://github.com/keptn/lifecycle-toolkit/commit/59db60f67d295728e5df4a1a132ad7f48ff847eb)) -* **operator:** make sure there is exactly one job per task execution ([#1672](https://github.com/keptn/lifecycle-toolkit/issues/1672)) ([b68ba87](https://github.com/keptn/lifecycle-toolkit/commit/b68ba874c516a02cbf9bc431f3d58b82ce34b564)) -* **operator:** parse flags so they can be configured ([#1649](https://github.com/keptn/lifecycle-toolkit/issues/1649)) ([4243085](https://github.com/keptn/lifecycle-toolkit/commit/424308509b2556377b4683b836d88a7797870dc3)) -* **operator:** provide the right app version for single-service applications ([c7d35b8](https://github.com/keptn/lifecycle-toolkit/commit/c7d35b8f1f26e73a7846ae4d2a39dff3b0cc87f7)) -* **python-runtime:** install curl to execute scripts referenced via url ([#1681](https://github.com/keptn/lifecycle-toolkit/issues/1681)) ([ac0d515](https://github.com/keptn/lifecycle-toolkit/commit/ac0d51532182bbdb559b72319eed05f2b12fa1d0)) - - -### Dependency Updates - -* update anchore/sbom-action action to v0.14.3 ([#1626](https://github.com/keptn/lifecycle-toolkit/issues/1626)) ([2a1026c](https://github.com/keptn/lifecycle-toolkit/commit/2a1026cdc312b36198841bdd40264f4352064e51)) -* update busybox docker tag to v1.36.1 ([#1595](https://github.com/keptn/lifecycle-toolkit/issues/1595)) ([6770912](https://github.com/keptn/lifecycle-toolkit/commit/6770912c5c7fb3562db51835edb468cc6866e85c)) -* update dependency argoproj/argo-cd to v2.7.6 ([#1596](https://github.com/keptn/lifecycle-toolkit/issues/1596)) ([1c77c81](https://github.com/keptn/lifecycle-toolkit/commit/1c77c815abd06f29f91aafee440890bd36efea28)) -* update dependency golangci/golangci-lint to v1.53.3 ([#1606](https://github.com/keptn/lifecycle-toolkit/issues/1606)) ([227800a](https://github.com/keptn/lifecycle-toolkit/commit/227800a882028ee857480c70a567aeffccc5a60e)) -* update dependency helm/helm to v3.12.1 ([#1607](https://github.com/keptn/lifecycle-toolkit/issues/1607)) ([ac93ba4](https://github.com/keptn/lifecycle-toolkit/commit/ac93ba4976998b4ebccc964dc553ebb34304ec89)) -* update dependency kubernetes-sigs/kustomize to v5.1.0 ([#1655](https://github.com/keptn/lifecycle-toolkit/issues/1655)) ([791e211](https://github.com/keptn/lifecycle-toolkit/commit/791e211d515e7eb74d8d347420500323b1cc7cef)) -* update github.com/keptn/lifecycle-toolkit/klt-cert-manager digest to 1c77c81 ([#1593](https://github.com/keptn/lifecycle-toolkit/issues/1593)) ([472eac0](https://github.com/keptn/lifecycle-toolkit/commit/472eac0c8e2bd26eecf20e047123689761c914e7)) -* update github.com/keptn/lifecycle-toolkit/klt-cert-manager digest to 4ad9bbf ([#1631](https://github.com/keptn/lifecycle-toolkit/issues/1631)) ([9060ae1](https://github.com/keptn/lifecycle-toolkit/commit/9060ae1d7ee738c39e14fd6cb1691bfd3a386bc4)) -* update github.com/keptn/lifecycle-toolkit/metrics-operator digest to 472eac0 ([#1594](https://github.com/keptn/lifecycle-toolkit/issues/1594)) ([7087bb6](https://github.com/keptn/lifecycle-toolkit/commit/7087bb6972fcddfc1ebc5a1d3bc5b2c01246ddfd)) -* update kubernetes packages (patch) ([#1634](https://github.com/keptn/lifecycle-toolkit/issues/1634)) ([4ad9bbf](https://github.com/keptn/lifecycle-toolkit/commit/4ad9bbf74960f6d744d97e43b0e4e6130892ab36)) -* update module github.com/datadog/datadog-api-client-go/v2 to v2.14.0 ([#1656](https://github.com/keptn/lifecycle-toolkit/issues/1656)) ([2b1a1e9](https://github.com/keptn/lifecycle-toolkit/commit/2b1a1e9cc07133f575c258510f9bac05f13cd603)) -* update module github.com/onsi/gomega to v1.27.8 ([#1552](https://github.com/keptn/lifecycle-toolkit/issues/1552)) ([fe9e7ec](https://github.com/keptn/lifecycle-toolkit/commit/fe9e7ecc0bababfbf0d4fe5a35c6c735d4c28c76)) -* update module github.com/prometheus/client_golang to v1.16.0 ([#1657](https://github.com/keptn/lifecycle-toolkit/issues/1657)) ([c2e56c5](https://github.com/keptn/lifecycle-toolkit/commit/c2e56c574dd660f4b8b32ede487a21b892a67daf)) -* update sigstore/cosign-installer action to v3.1.0 ([#1627](https://github.com/keptn/lifecycle-toolkit/issues/1627)) ([a23ba71](https://github.com/keptn/lifecycle-toolkit/commit/a23ba710d00139e2d82d1676c23ef4a993d76e0e)) -* update sigstore/cosign-installer action to v3.1.1 ([#1644](https://github.com/keptn/lifecycle-toolkit/issues/1644)) ([c93a496](https://github.com/keptn/lifecycle-toolkit/commit/c93a496330f720568e0df8266151d0b58915dc55)) - - -### Docs - -* `deno` rather than `function` for deno-runtime runner ([#1611](https://github.com/keptn/lifecycle-toolkit/issues/1611)) ([72f5b82](https://github.com/keptn/lifecycle-toolkit/commit/72f5b82c6e4cf20114b5d716bda7fab99fe72ae9)) -* add optional field in secretKeyRef ([#1590](https://github.com/keptn/lifecycle-toolkit/issues/1590)) ([d0d5bcb](https://github.com/keptn/lifecycle-toolkit/commit/d0d5bcbaa97a019444ef3a78d5967ef178ed4fd3)) -* explain namespaces for metrics and evaluations ([#1641](https://github.com/keptn/lifecycle-toolkit/issues/1641)) ([72f7038](https://github.com/keptn/lifecycle-toolkit/commit/72f7038e55719dd6b7fba32ee8645aabc36d69e5)) -* fix </details> ending under watch pods in _index.md ([#1636](https://github.com/keptn/lifecycle-toolkit/issues/1636)) ([7274cf7](https://github.com/keptn/lifecycle-toolkit/commit/7274cf7d27e2aa35901b692643ae3145b2610ee0)) -* fix installation steps in E2E example ([#1645](https://github.com/keptn/lifecycle-toolkit/issues/1645)) ([d6f4307](https://github.com/keptn/lifecycle-toolkit/commit/d6f4307effd89717c3abb339a85850de8d1a838d)) -* minor improvement for docs contribution guide ([#1613](https://github.com/keptn/lifecycle-toolkit/issues/1613)) ([6eac2bf](https://github.com/keptn/lifecycle-toolkit/commit/6eac2bf404ab1357903f8df990540379773eb11c)) -* move Dora metrics info to "Implementing" section ([#1639](https://github.com/keptn/lifecycle-toolkit/issues/1639)) ([55ee941](https://github.com/keptn/lifecycle-toolkit/commit/55ee94122c2147472f3984d475ea780fa3259789)) -* re-generate CRD docs ([#1612](https://github.com/keptn/lifecycle-toolkit/issues/1612)) ([36845da](https://github.com/keptn/lifecycle-toolkit/commit/36845da8397d9067192498bb563f45d42ef60079)) -* set up Migration Guide ([#1506](https://github.com/keptn/lifecycle-toolkit/issues/1506)) ([c2e9f4a](https://github.com/keptn/lifecycle-toolkit/commit/c2e9f4a29890ab384769ca4c679b60efdbda3f57)) - - -### Other - -* bump release-please base commit ([#1621](https://github.com/keptn/lifecycle-toolkit/issues/1621)) ([c11bba3](https://github.com/keptn/lifecycle-toolkit/commit/c11bba3cd9625a819871bc66ee678ab56d93c773)) -* **operator:** print trace in the logs only if the collector is not enabled ([c7d35b8](https://github.com/keptn/lifecycle-toolkit/commit/c7d35b8f1f26e73a7846ae4d2a39dff3b0cc87f7)) -* **operator:** refactor k8s Event sending mechanism ([#1687](https://github.com/keptn/lifecycle-toolkit/issues/1687)) ([20839af](https://github.com/keptn/lifecycle-toolkit/commit/20839affec4fd637fe9f5d658be1549b2eaf8b5e)) -* replace stale bot with GH actions workflow ([#1629](https://github.com/keptn/lifecycle-toolkit/issues/1629)) ([351c092](https://github.com/keptn/lifecycle-toolkit/commit/351c09296ac4f9beeab6ef2cad457e9689ddc0a5)) - -## [0.8.0](https://github.com/keptn/lifecycle-toolkit/compare/v0.7.1...v0.8.0) (2023-06-21) - - -### ⚠ BREAKING CHANGES - -* **operator:** support python-runtime runner for KeptnTasks -* **operator:** support container-runtime runner for KeptnTasks - -### Features - -* add python-runtime ([#1496](https://github.com/keptn/lifecycle-toolkit/issues/1496)) ([76a4bd9](https://github.com/keptn/lifecycle-toolkit/commit/76a4bd92607d05c16c63ccc4c1dd91e35cb4d6b0)) -* add validating webhook for KeptnTaskDefinition ([#1514](https://github.com/keptn/lifecycle-toolkit/issues/1514)) ([d55a7ef](https://github.com/keptn/lifecycle-toolkit/commit/d55a7ef421f15305ef711babe9ba0b682dbf65ef)) -* **cert-manager:** additional options for targeting WebhookConfigurations and CRDs ([#1276](https://github.com/keptn/lifecycle-toolkit/issues/1276)) ([dadd70b](https://github.com/keptn/lifecycle-toolkit/commit/dadd70b2d63d458c881bda2d6f5755ac257f32e2)) -* **metrics-operator:** introduce ErrMsg field into KeptnMetric status ([#1365](https://github.com/keptn/lifecycle-toolkit/issues/1365)) ([092d284](https://github.com/keptn/lifecycle-toolkit/commit/092d28499a74d0ac11c69400bc9454ee2285366d)) -* **operator:** adapt TaskDefinition validation webhook to consider python and deno runtime ([#1534](https://github.com/keptn/lifecycle-toolkit/issues/1534)) ([59cdfc8](https://github.com/keptn/lifecycle-toolkit/commit/59cdfc882b7075244a91f0aaf6633d843d9e0099)) -* **operator:** introduce fallback search to KLT default namespace when KeptnEvaluationDefinition is not found ([#1359](https://github.com/keptn/lifecycle-toolkit/issues/1359)) ([d5ddf26](https://github.com/keptn/lifecycle-toolkit/commit/d5ddf266a737d3a69d5919f4231a03732c59694f)) -* **operator:** support container-runtime runner for KeptnTasks ([02ce860](https://github.com/keptn/lifecycle-toolkit/commit/02ce86023b3db175481b859f379cb4298d03566a)) -* **operator:** support python-runtime runner for KeptnTasks ([b79f7c4](https://github.com/keptn/lifecycle-toolkit/commit/b79f7c421d15a8456d50754b631bef61fc0c8dd8)) -* **operator:** trim KeptnAppVersion name that exceed max limit ([#1296](https://github.com/keptn/lifecycle-toolkit/issues/1296)) ([0bf2f9e](https://github.com/keptn/lifecycle-toolkit/commit/0bf2f9e78f6a65d79eed0135e49289816e9a2533)) - - -### Bug Fixes - -* added the missing link ([#1537](https://github.com/keptn/lifecycle-toolkit/issues/1537)) ([27fb2c2](https://github.com/keptn/lifecycle-toolkit/commit/27fb2c23bdda13efa047d4101ea8db6595d936a1)) -* **cert-manager:** avoid index-out-of-bounds error when updating webhook configs ([#1497](https://github.com/keptn/lifecycle-toolkit/issues/1497)) ([0f28b8c](https://github.com/keptn/lifecycle-toolkit/commit/0f28b8c2b5854944d9b0e72fee97a6bc91f39bea)) -* **helm-chart:** fix Python runtime version number ([#1586](https://github.com/keptn/lifecycle-toolkit/issues/1586)) ([05572ec](https://github.com/keptn/lifecycle-toolkit/commit/05572ec6a1a6dd7a56c786333af046eea19929bd)) -* **metrics-operator:** improve error handling in metrics providers ([#1466](https://github.com/keptn/lifecycle-toolkit/issues/1466)) ([9801e5d](https://github.com/keptn/lifecycle-toolkit/commit/9801e5dfe9e17fc6c30ef832d97439955964fdcc)) -* **metrics-operator:** introduce IsStatusSet method to KeptnMetric ([#1427](https://github.com/keptn/lifecycle-toolkit/issues/1427)) ([24a60f5](https://github.com/keptn/lifecycle-toolkit/commit/24a60f5e6f8f3a383dfce554d644bfd974c4b5fd)) -* **operator:** use new RuntimeSpec instead of FunctionSpec ([#1529](https://github.com/keptn/lifecycle-toolkit/issues/1529)) ([6189317](https://github.com/keptn/lifecycle-toolkit/commit/61893175eb73d3f559c7086c09c8939485dd23d3)) -* remove scarf redirect from containers images ([#1443](https://github.com/keptn/lifecycle-toolkit/issues/1443)) ([a20b2e7](https://github.com/keptn/lifecycle-toolkit/commit/a20b2e707fd2c0bb03b661c6a6cca272eb088ee1)) -* restore go files ([#1371](https://github.com/keptn/lifecycle-toolkit/issues/1371)) ([9a4a6fd](https://github.com/keptn/lifecycle-toolkit/commit/9a4a6fd026bbdbfe986449373bad2b116c34b3d4)) - - -### Other - -* add example for python task definition ([#1554](https://github.com/keptn/lifecycle-toolkit/issues/1554)) ([908b03d](https://github.com/keptn/lifecycle-toolkit/commit/908b03d7ae6d4e6e5136257611f0c402f32e08f0)) -* bump up helm chart version ([#1351](https://github.com/keptn/lifecycle-toolkit/issues/1351)) ([737d478](https://github.com/keptn/lifecycle-toolkit/commit/737d4782c6c90c77930f58590dcd1098b68b6ef1)) -* **cert-manager:** updated readme of cert-manager ([#1393](https://github.com/keptn/lifecycle-toolkit/issues/1393)) ([12fcca8](https://github.com/keptn/lifecycle-toolkit/commit/12fcca82b904ba2f2ca72347cb176771d84d63df)) -* minor refactoring of the evaluation controller ([#1356](https://github.com/keptn/lifecycle-toolkit/issues/1356)) ([4398e96](https://github.com/keptn/lifecycle-toolkit/commit/4398e9677ca60a4dd10bd7198479796f36f26026)) -* **operator:** bump OTel dependencies to the latest version ([#1419](https://github.com/keptn/lifecycle-toolkit/issues/1419)) ([a7475c2](https://github.com/keptn/lifecycle-toolkit/commit/a7475c2ae13479fed55fa4a322af3c2a47649fa1)) -* **operator:** explicitly define ImagePullPolicy of Job container to IfNotPresent ([#1509](https://github.com/keptn/lifecycle-toolkit/issues/1509)) ([bb916f3](https://github.com/keptn/lifecycle-toolkit/commit/bb916f3e3875ec4b3c3e5efbb9f1a65be2a58196)) -* **operator:** make use of status.jobName when searching for job in KeptnTask controller ([#1436](https://github.com/keptn/lifecycle-toolkit/issues/1436)) ([28dd6b7](https://github.com/keptn/lifecycle-toolkit/commit/28dd6b77c4cacd038539e30ac8275d6f63d39155)) -* **operator:** refactor KeptnTask controller logic ([#1536](https://github.com/keptn/lifecycle-toolkit/issues/1536)) ([ed85fc9](https://github.com/keptn/lifecycle-toolkit/commit/ed85fc972cd676ca0be05dae10aabf90e969d503)) -* **operator:** refactor keptntaskcontroller to use builder interface ([#1450](https://github.com/keptn/lifecycle-toolkit/issues/1450)) ([a3f5e5b](https://github.com/keptn/lifecycle-toolkit/commit/a3f5e5bc3fc8bd8073d264c30c39a38fc09d364e)) -* **operator:** use List() when fetching KeptnWorkloadInstances for KeptnAppVersion ([#1456](https://github.com/keptn/lifecycle-toolkit/issues/1456)) ([ecd8c48](https://github.com/keptn/lifecycle-toolkit/commit/ecd8c487b22b11bea0646a3c5b2a1f9a22c80d2f)) -* remove code duplication ([#1372](https://github.com/keptn/lifecycle-toolkit/issues/1372)) ([da66c80](https://github.com/keptn/lifecycle-toolkit/commit/da66c80653b4a992fd94e49b067f4a21bdf3978b)) -* remove decoder injector interface from webhook ([#1563](https://github.com/keptn/lifecycle-toolkit/issues/1563)) ([7850766](https://github.com/keptn/lifecycle-toolkit/commit/785076613942995fdda8882dcbb74b4b1963675e)) -* remove space in python sample folder ([#1550](https://github.com/keptn/lifecycle-toolkit/issues/1550)) ([53443ac](https://github.com/keptn/lifecycle-toolkit/commit/53443ac4042e5f78e402df7378770fd163b5167c)) -* standardize generation of resource names ([#1472](https://github.com/keptn/lifecycle-toolkit/issues/1472)) ([f7abcb0](https://github.com/keptn/lifecycle-toolkit/commit/f7abcb096838c0071c07b95bf6ff938de9be4975)) -* use cert-manager library in lifecycle-operator and metrics-operator to reduce code duplication ([#1379](https://github.com/keptn/lifecycle-toolkit/issues/1379)) ([831fc46](https://github.com/keptn/lifecycle-toolkit/commit/831fc46d9e4ebb059473f137ef6c012373c6179c)) -* website edit links should point to page ([#1566](https://github.com/keptn/lifecycle-toolkit/issues/1566)) ([8b62f33](https://github.com/keptn/lifecycle-toolkit/commit/8b62f3355afc178f15416b930ea1c77844f2b02c)) - - -### Dependency Updates - -* update anchore/sbom-action action to v0.14.2 ([#1401](https://github.com/keptn/lifecycle-toolkit/issues/1401)) ([9085785](https://github.com/keptn/lifecycle-toolkit/commit/9085785b669bbc5bdd418afa6e9bd2f81c788653)) -* update aquasecurity/trivy-action action to v0.11.0 ([#1531](https://github.com/keptn/lifecycle-toolkit/issues/1531)) ([66c9505](https://github.com/keptn/lifecycle-toolkit/commit/66c95058235deddac86daaa6bf897ae680181052)) -* update aquasecurity/trivy-action action to v0.11.2 ([#1551](https://github.com/keptn/lifecycle-toolkit/issues/1551)) ([2d588db](https://github.com/keptn/lifecycle-toolkit/commit/2d588dbfd2405b9ff09b68a38f6b3ff5e6779d63)) -* update busybox docker tag to v1.36.1 ([#1437](https://github.com/keptn/lifecycle-toolkit/issues/1437)) ([9ba5cae](https://github.com/keptn/lifecycle-toolkit/commit/9ba5cae8b3f0be8b380e28883530f97db76773dc)) -* update checkmarx/kics-github-action action to v1.7.0 ([#1435](https://github.com/keptn/lifecycle-toolkit/issues/1435)) ([f9d609c](https://github.com/keptn/lifecycle-toolkit/commit/f9d609c47545c8fa772329056606891534a6eed6)) -* update curlimages/curl docker tag to v8.1.0 ([#1439](https://github.com/keptn/lifecycle-toolkit/issues/1439)) ([9e90d17](https://github.com/keptn/lifecycle-toolkit/commit/9e90d17c211709b357b40ef8f0843a9e1bf0364f)) -* update curlimages/curl docker tag to v8.1.1 ([#1455](https://github.com/keptn/lifecycle-toolkit/issues/1455)) ([d1279a9](https://github.com/keptn/lifecycle-toolkit/commit/d1279a9fe0f09177449b20d4b3fc8f0f3c10d81a)) -* update curlimages/curl docker tag to v8.1.2 ([#1530](https://github.com/keptn/lifecycle-toolkit/issues/1530)) ([ef3e89e](https://github.com/keptn/lifecycle-toolkit/commit/ef3e89e148afd1d5dd54ea47f7973ac8532dd203)) -* update dependency argoproj/argo-cd to v2.7.1 ([#1374](https://github.com/keptn/lifecycle-toolkit/issues/1374)) ([9b9a973](https://github.com/keptn/lifecycle-toolkit/commit/9b9a973a95ca59e91927695f92c0d56389be3f4f)) -* update dependency argoproj/argo-cd to v2.7.2 ([#1423](https://github.com/keptn/lifecycle-toolkit/issues/1423)) ([e381f7f](https://github.com/keptn/lifecycle-toolkit/commit/e381f7fc6d79703b9f32dbf49331247107597b20)) -* update dependency argoproj/argo-cd to v2.7.3 ([#1512](https://github.com/keptn/lifecycle-toolkit/issues/1512)) ([6146e79](https://github.com/keptn/lifecycle-toolkit/commit/6146e79a62d12de37fec9218c5f6f7acd2255b82)) -* update dependency argoproj/argo-cd to v2.7.4 ([#1541](https://github.com/keptn/lifecycle-toolkit/issues/1541)) ([712bd9a](https://github.com/keptn/lifecycle-toolkit/commit/712bd9aa8ee08c6de61a6cb63d7633b3ef00bf38)) -* update dependency autoprefixer to v10.4.14 ([#1560](https://github.com/keptn/lifecycle-toolkit/issues/1560)) ([a07261e](https://github.com/keptn/lifecycle-toolkit/commit/a07261ee6b3600f2106b547576e51f93c327655b)) -* update dependency golangci/golangci-lint to v1.53.2 ([#1538](https://github.com/keptn/lifecycle-toolkit/issues/1538)) ([e387822](https://github.com/keptn/lifecycle-toolkit/commit/e3878222a7994a253b12923e852c0e25c49756af)) -* update dependency helm/helm to v3.12.0 ([#1440](https://github.com/keptn/lifecycle-toolkit/issues/1440)) ([aff755d](https://github.com/keptn/lifecycle-toolkit/commit/aff755d4539310787d47a448f1fc6600ffd04c33)) -* update dependency jaegertracing/jaeger to v1.45.0 ([#1407](https://github.com/keptn/lifecycle-toolkit/issues/1407)) ([dab62de](https://github.com/keptn/lifecycle-toolkit/commit/dab62dea8b5c0a45baba9d9b3e33c1e6f6f640e4)) -* update dependency jaegertracing/jaeger-operator to v1.44.0 ([#1258](https://github.com/keptn/lifecycle-toolkit/issues/1258)) ([dab73fb](https://github.com/keptn/lifecycle-toolkit/commit/dab73fb94f85022d84436453a84bf19f7f95cc5c)) -* update dependency jaegertracing/jaeger-operator to v1.45.0 ([#1478](https://github.com/keptn/lifecycle-toolkit/issues/1478)) ([7bc4feb](https://github.com/keptn/lifecycle-toolkit/commit/7bc4feb66cd303235a407f9341cd723562262dca)) -* update dependency kubernetes-sigs/controller-tools to v0.12.0 ([#1383](https://github.com/keptn/lifecycle-toolkit/issues/1383)) ([0a6b7e7](https://github.com/keptn/lifecycle-toolkit/commit/0a6b7e795a9e58425ab6baacf38a82a22dbbc0c8)) -* update dependency kubernetes-sigs/kustomize to v5.0.3 ([#1402](https://github.com/keptn/lifecycle-toolkit/issues/1402)) ([fad37af](https://github.com/keptn/lifecycle-toolkit/commit/fad37afd14cd781c9561d43dd2f1af6824973693)) -* update github.com/keptn/lifecycle-toolkit/klt-cert-manager digest to 65b4139 ([#1429](https://github.com/keptn/lifecycle-toolkit/issues/1429)) ([57fdcdd](https://github.com/keptn/lifecycle-toolkit/commit/57fdcddcf73c71dde07641cb13f9c7b16cff6cf5)) -* update github.com/keptn/lifecycle-toolkit/klt-cert-manager digest to 7c4d2ab ([#1510](https://github.com/keptn/lifecycle-toolkit/issues/1510)) ([36d0c23](https://github.com/keptn/lifecycle-toolkit/commit/36d0c23ea66646b873e5c4b571b6c1c4b3102dfd)) -* update github.com/keptn/lifecycle-toolkit/klt-cert-manager digest to 9eafb78 ([#1454](https://github.com/keptn/lifecycle-toolkit/issues/1454)) ([b66ad6f](https://github.com/keptn/lifecycle-toolkit/commit/b66ad6fab019640380a11acf837b3589605e6219)) -* update github.com/keptn/lifecycle-toolkit/klt-cert-manager digest to e381f7f ([#1422](https://github.com/keptn/lifecycle-toolkit/issues/1422)) ([daedf87](https://github.com/keptn/lifecycle-toolkit/commit/daedf878eeb8d00d717e5746b46dd651c6fba8de)) -* update github.com/keptn/lifecycle-toolkit/metrics-operator digest to 36d0c23 ([#1511](https://github.com/keptn/lifecycle-toolkit/issues/1511)) ([3b59742](https://github.com/keptn/lifecycle-toolkit/commit/3b59742d3ad2793a628a9679ba4e7c3bb4a8c488)) -* update github.com/keptn/lifecycle-toolkit/metrics-operator digest to 57fdcdd ([#1430](https://github.com/keptn/lifecycle-toolkit/issues/1430)) ([54a9384](https://github.com/keptn/lifecycle-toolkit/commit/54a93840094e7dd3c9799e5e0a8ae889d51bb2ac)) -* update github.com/keptn/lifecycle-toolkit/metrics-operator digest to bb916f3 ([#1463](https://github.com/keptn/lifecycle-toolkit/issues/1463)) ([4292570](https://github.com/keptn/lifecycle-toolkit/commit/4292570ec3256b9aa2291f5abc5769ef22e3cdf2)) -* update github.com/keptn/lifecycle-toolkit/metrics-operator digest to e381f7f ([#1268](https://github.com/keptn/lifecycle-toolkit/issues/1268)) ([f0f7edf](https://github.com/keptn/lifecycle-toolkit/commit/f0f7edf7041d438b8d8804ad9341ef878ed625de)) -* update golang docker tag to v1.20.4 ([#1346](https://github.com/keptn/lifecycle-toolkit/issues/1346)) ([8fedf0f](https://github.com/keptn/lifecycle-toolkit/commit/8fedf0f11c6f4e55e1ac47ab8e80705e189ffff8)) -* update helm/kind-action action to v1.7.0 ([#1479](https://github.com/keptn/lifecycle-toolkit/issues/1479)) ([fb22707](https://github.com/keptn/lifecycle-toolkit/commit/fb22707ee148bb5c3ae2a724ca1bde3c0d5df929)) -* update kubernetes packages (patch) ([#1432](https://github.com/keptn/lifecycle-toolkit/issues/1432)) ([7f5b3ab](https://github.com/keptn/lifecycle-toolkit/commit/7f5b3abb87ebe8e0c040e415f69ed12e25ebb7fd)) -* update module github.com/argoproj/argo-rollouts to v1.5.0 ([#1408](https://github.com/keptn/lifecycle-toolkit/issues/1408)) ([2f75e73](https://github.com/keptn/lifecycle-toolkit/commit/2f75e739ca8fa218b3d15ccf657a5d85530eecf5)) -* update module github.com/argoproj/argo-rollouts to v1.5.1 ([#1513](https://github.com/keptn/lifecycle-toolkit/issues/1513)) ([de95b50](https://github.com/keptn/lifecycle-toolkit/commit/de95b50ae10da0e0e6c40eb5545fd98bc0f5ffcb)) -* update module github.com/benbjohnson/clock to v1.3.4 ([#1403](https://github.com/keptn/lifecycle-toolkit/issues/1403)) ([f88dfd5](https://github.com/keptn/lifecycle-toolkit/commit/f88dfd5c0d7a544d94054cce6693ebd3d88f0a9f)) -* update module github.com/benbjohnson/clock to v1.3.5 ([#1464](https://github.com/keptn/lifecycle-toolkit/issues/1464)) ([abf10bf](https://github.com/keptn/lifecycle-toolkit/commit/abf10bfaf033a1f57b8f65d3c7127dd962926ed4)) -* update module github.com/datadog/datadog-api-client-go/v2 to v2.13.0 ([#1519](https://github.com/keptn/lifecycle-toolkit/issues/1519)) ([d774568](https://github.com/keptn/lifecycle-toolkit/commit/d77456836530c9a456f03a8f4330082514077388)) -* update module github.com/imdario/mergo to v0.3.16 ([#1482](https://github.com/keptn/lifecycle-toolkit/issues/1482)) ([9eafb78](https://github.com/keptn/lifecycle-toolkit/commit/9eafb78b51d60d13af44cad281c8c631b02773c3)) -* update module github.com/onsi/ginkgo/v2 to v2.11.0 ([#1553](https://github.com/keptn/lifecycle-toolkit/issues/1553)) ([7c4d2ab](https://github.com/keptn/lifecycle-toolkit/commit/7c4d2abcb84e672d5c800fed0ed59a0672d112c3)) -* update module github.com/onsi/ginkgo/v2 to v2.9.4 ([#1384](https://github.com/keptn/lifecycle-toolkit/issues/1384)) ([2ed8dd7](https://github.com/keptn/lifecycle-toolkit/commit/2ed8dd7a7d62a44bab22cc1da11f80e02fd129f8)) -* update module github.com/onsi/ginkgo/v2 to v2.9.5 ([#1433](https://github.com/keptn/lifecycle-toolkit/issues/1433)) ([fcdd9fe](https://github.com/keptn/lifecycle-toolkit/commit/fcdd9fea3860ba9d5ec52b3733a48258df4e8549)) -* update module github.com/onsi/ginkgo/v2 to v2.9.7 ([#1517](https://github.com/keptn/lifecycle-toolkit/issues/1517)) ([225c04b](https://github.com/keptn/lifecycle-toolkit/commit/225c04b6e9c5a848dc5e2f37239c77d893bec539)) -* update module github.com/onsi/gomega to v1.27.7 ([#1473](https://github.com/keptn/lifecycle-toolkit/issues/1473)) ([50f7415](https://github.com/keptn/lifecycle-toolkit/commit/50f7415a832f2cc4e90db5faf51f17cf471558cc)) -* update module github.com/open-feature/go-sdk to v1.4.0 ([#1516](https://github.com/keptn/lifecycle-toolkit/issues/1516)) ([a2ef768](https://github.com/keptn/lifecycle-toolkit/commit/a2ef76846ed9853a5fe2bbe88d0ae35cf1fb82f8)) -* update module github.com/prometheus/client_golang to v1.15.1 ([#1386](https://github.com/keptn/lifecycle-toolkit/issues/1386)) ([8b73046](https://github.com/keptn/lifecycle-toolkit/commit/8b730461a9892f5ab06e51ee9519ec6fa7d83125)) -* update module github.com/prometheus/common to v0.44.0 ([#1452](https://github.com/keptn/lifecycle-toolkit/issues/1452)) ([af22685](https://github.com/keptn/lifecycle-toolkit/commit/af2268566b74b251da17dec5576af3cd03159482)) -* update module github.com/stretchr/testify to v1.8.3 ([#1434](https://github.com/keptn/lifecycle-toolkit/issues/1434)) ([65b4139](https://github.com/keptn/lifecycle-toolkit/commit/65b41399b2e0d5c4109af484a80d4bb2c56f9215)) -* update module github.com/stretchr/testify to v1.8.4 ([#1515](https://github.com/keptn/lifecycle-toolkit/issues/1515)) ([c732492](https://github.com/keptn/lifecycle-toolkit/commit/c732492a85397f4b986383b5d37b6d73e1dada5b)) -* update module golang.org/x/net to v0.10.0 ([#1453](https://github.com/keptn/lifecycle-toolkit/issues/1453)) ([65a3e4b](https://github.com/keptn/lifecycle-toolkit/commit/65a3e4b402d693a64dc9be452aead9c4773d6945)) -* update module google.golang.org/grpc to v1.54.1 ([#1404](https://github.com/keptn/lifecycle-toolkit/issues/1404)) ([a5d9b19](https://github.com/keptn/lifecycle-toolkit/commit/a5d9b19901f673768cef63dcc1606aafbc5a1b51)) -* update module google.golang.org/grpc to v1.55.0 ([#1480](https://github.com/keptn/lifecycle-toolkit/issues/1480)) ([d5a8e7c](https://github.com/keptn/lifecycle-toolkit/commit/d5a8e7cbf0095119b646f23b74891dcb231e2e0c)) -* update module k8s.io/klog/v2 to v2.100.1 ([#1324](https://github.com/keptn/lifecycle-toolkit/issues/1324)) ([6524d58](https://github.com/keptn/lifecycle-toolkit/commit/6524d583dc9d99bd67b9a599f48f78b6d89a3877)) -* update module k8s.io/kubernetes to v1.25.10 ([#1475](https://github.com/keptn/lifecycle-toolkit/issues/1475)) ([e65715c](https://github.com/keptn/lifecycle-toolkit/commit/e65715cfe98eebfcdee599253a1e63e482773f4d)) -* update octokit/request-action action to v2.1.8 ([#1524](https://github.com/keptn/lifecycle-toolkit/issues/1524)) ([dcc66a0](https://github.com/keptn/lifecycle-toolkit/commit/dcc66a03a1eacfc3e6ac9a094cb430ba7d38314c)) -* update octokit/request-action action to v2.1.9 ([#1533](https://github.com/keptn/lifecycle-toolkit/issues/1533)) ([bba7339](https://github.com/keptn/lifecycle-toolkit/commit/bba73398c9e2b2f076618f8161f0d4fe74df8207)) -* update sigstore/cosign-installer action to v3.0.3 ([#1308](https://github.com/keptn/lifecycle-toolkit/issues/1308)) ([ac98fe5](https://github.com/keptn/lifecycle-toolkit/commit/ac98fe566f2652eebdd6e578a6f3491df9e471d1)) -* update sigstore/cosign-installer action to v3.0.5 ([#1438](https://github.com/keptn/lifecycle-toolkit/issues/1438)) ([1fba2b4](https://github.com/keptn/lifecycle-toolkit/commit/1fba2b4985a424c728ca02747c56a343fcf3fdbe)) - - -### Docs - -* add cluster requirements ([#1364](https://github.com/keptn/lifecycle-toolkit/issues/1364)) ([e06b01e](https://github.com/keptn/lifecycle-toolkit/commit/e06b01e4b3723b16b8479f3b22fa3021e8dead55)) -* add content to implementing/otel page ([#1492](https://github.com/keptn/lifecycle-toolkit/issues/1492)) ([452c3a9](https://github.com/keptn/lifecycle-toolkit/commit/452c3a917cfe2679553fbecc46c133da4887dc2d)) -* add docs for Python runtime ([#1549](https://github.com/keptn/lifecycle-toolkit/issues/1549)) ([2e53fda](https://github.com/keptn/lifecycle-toolkit/commit/2e53fda17183bd1fcffa0d8aaa03c305088465b4)) -* add info about automatic application discovery ([#1353](https://github.com/keptn/lifecycle-toolkit/issues/1353)) ([d42d023](https://github.com/keptn/lifecycle-toolkit/commit/d42d023d1d431782deb0c3ef8fa20fa2f2375ad3)) -* added comments to document the meaning of CRD properties ([#1360](https://github.com/keptn/lifecycle-toolkit/issues/1360)) ([a8bc440](https://github.com/keptn/lifecycle-toolkit/commit/a8bc440a4f15f624455c513373033c78a31a53b5)) -* content for KeptnTaskDefinition ref and tasks guide ([#1392](https://github.com/keptn/lifecycle-toolkit/issues/1392)) ([13b0495](https://github.com/keptn/lifecycle-toolkit/commit/13b04956a02a0384bfc1ad6b043e901613d1d5b2)) -* create "observability" getting started guide ([#1376](https://github.com/keptn/lifecycle-toolkit/issues/1376)) ([4815986](https://github.com/keptn/lifecycle-toolkit/commit/48159862bf89b8cc1692500af7b05487a6cc03cb)) -* create keptn metrics getting started ([#1375](https://github.com/keptn/lifecycle-toolkit/issues/1375)) ([8de6d8f](https://github.com/keptn/lifecycle-toolkit/commit/8de6d8f8ca34c576466d9cc8b32d1d3865123ad8)) -* create KeptnApp reference page ([#1391](https://github.com/keptn/lifecycle-toolkit/issues/1391)) ([4aa141a](https://github.com/keptn/lifecycle-toolkit/commit/4aa141a069b8b7d25c508ff92309ad460120beb4)) -* create KeptnConfig yaml ref page ([#1369](https://github.com/keptn/lifecycle-toolkit/issues/1369)) ([e40292c](https://github.com/keptn/lifecycle-toolkit/commit/e40292ce995070a492187f5dcc7db363e03eb260)) -* create pre/post-deploy getting started ([#1362](https://github.com/keptn/lifecycle-toolkit/issues/1362)) ([d602115](https://github.com/keptn/lifecycle-toolkit/commit/d602115ef4b158b04be3c630ca45c6e4f39fc0f3)) -* delete obsolete pages ([#1520](https://github.com/keptn/lifecycle-toolkit/issues/1520)) ([96e69c2](https://github.com/keptn/lifecycle-toolkit/commit/96e69c2a10e9a0446b1992a880ec74400bbe0cfe)) -* document container-runtime and python-runtime runners ([#1579](https://github.com/keptn/lifecycle-toolkit/issues/1579)) ([3834b70](https://github.com/keptn/lifecycle-toolkit/commit/3834b709da4552a07c8acd8699d1e8a583a621bd)) -* enhance install page ([#1399](https://github.com/keptn/lifecycle-toolkit/issues/1399)) ([025709e](https://github.com/keptn/lifecycle-toolkit/commit/025709e3147abef79d2ddbecb795db0c5e8bf2a8)) -* final polish of getting started guides ([#1449](https://github.com/keptn/lifecycle-toolkit/issues/1449)) ([30e6647](https://github.com/keptn/lifecycle-toolkit/commit/30e664703c3b42aa5c2049535d528f69cbcfe4b4)) -* fix edit links ([#1583](https://github.com/keptn/lifecycle-toolkit/issues/1583)) ([1384679](https://github.com/keptn/lifecycle-toolkit/commit/138467970e966c90a1bd8fa428b4c5efe0a9bd50)) -* fix getting started guides ([#1447](https://github.com/keptn/lifecycle-toolkit/issues/1447)) ([6035e55](https://github.com/keptn/lifecycle-toolkit/commit/6035e552d3f46e2553603f711db008784ff99d0e)) -* fix link to v1 docs ([#1461](https://github.com/keptn/lifecycle-toolkit/issues/1461)) ([a7f54ad](https://github.com/keptn/lifecycle-toolkit/commit/a7f54ad22c6b13f6bee7dcced2e3ab71bb1be365)) -* fix markdown links ([#1414](https://github.com/keptn/lifecycle-toolkit/issues/1414)) ([b2392c1](https://github.com/keptn/lifecycle-toolkit/commit/b2392c1d6a81df92adf6228167a52233eb1757ae)) -* fix readme links to point to website instead of repo files ([#1344](https://github.com/keptn/lifecycle-toolkit/issues/1344)) ([e5f0344](https://github.com/keptn/lifecycle-toolkit/commit/e5f034425dd1012c899d60fb2ff9d755853924aa)) -* fix typo ([#1578](https://github.com/keptn/lifecycle-toolkit/issues/1578)) ([fe5bbea](https://github.com/keptn/lifecycle-toolkit/commit/fe5bbea0773cf212ce0d9bc72c09182ad5bb8916)) -* fix typos ([#1562](https://github.com/keptn/lifecycle-toolkit/issues/1562)) ([be47052](https://github.com/keptn/lifecycle-toolkit/commit/be47052fe76312aab413d29e5132cc88b1fdc8d6)) -* improve list on install landing page ([#1400](https://github.com/keptn/lifecycle-toolkit/issues/1400)) ([3d23e29](https://github.com/keptn/lifecycle-toolkit/commit/3d23e29b82d1296627900850b19af7ea2eb30d87)) -* mention Prometheus in intro ([#1405](https://github.com/keptn/lifecycle-toolkit/issues/1405)) ([2c51231](https://github.com/keptn/lifecycle-toolkit/commit/2c51231fd700009c1588259de1974e1dfa80e8b8)) -* metrics & evaluation ref and guides ([#1385](https://github.com/keptn/lifecycle-toolkit/issues/1385)) ([7712bfa](https://github.com/keptn/lifecycle-toolkit/commit/7712bfae84a21adaf6341ca02ec3589d0459854f)) -* misspelled file name, misordered pages ([#1363](https://github.com/keptn/lifecycle-toolkit/issues/1363)) ([be3c2f1](https://github.com/keptn/lifecycle-toolkit/commit/be3c2f1b469a15292bbd698af2200c0a4fb4002e)) -* refactor contributing guide - general guidelines ([#1411](https://github.com/keptn/lifecycle-toolkit/issues/1411)) ([7170eec](https://github.com/keptn/lifecycle-toolkit/commit/7170eec563efcaa149dd9bdfb8153a26f846638d)) -* refactor contributing guide - linter requirements ([#1412](https://github.com/keptn/lifecycle-toolkit/issues/1412)) ([2ccdec7](https://github.com/keptn/lifecycle-toolkit/commit/2ccdec7e3aafbfda8bb223441cefefbf092084ea)) -* refactor contributing guide - local building ([#1484](https://github.com/keptn/lifecycle-toolkit/issues/1484)) ([751552c](https://github.com/keptn/lifecycle-toolkit/commit/751552cb7d5c4acea0b8eb4d55171aabca0675d9)) -* refactor contributing guide - source file structure ([#1523](https://github.com/keptn/lifecycle-toolkit/issues/1523)) ([c97b4b9](https://github.com/keptn/lifecycle-toolkit/commit/c97b4b9cc5a02b2ff39a3fb23aa79f69667dd27b)) -* regenerate CRD docs ([#1507](https://github.com/keptn/lifecycle-toolkit/issues/1507)) ([672e281](https://github.com/keptn/lifecycle-toolkit/commit/672e281f1b44a7e83449c32e08a9de4a44c8d287)) -* remove old "Tasks" section from docs ([#1572](https://github.com/keptn/lifecycle-toolkit/issues/1572)) ([8f0f4f0](https://github.com/keptn/lifecycle-toolkit/commit/8f0f4f0eb4276ba399e1ab77915ef41e690a09db)) -* small edit of original Getting Started guide ([#1367](https://github.com/keptn/lifecycle-toolkit/issues/1367)) ([0fd922a](https://github.com/keptn/lifecycle-toolkit/commit/0fd922ad161fb30dcf834d87aec225f48d619f4d)) -* update KLT intro page ([#1495](https://github.com/keptn/lifecycle-toolkit/issues/1495)) ([d1db5d2](https://github.com/keptn/lifecycle-toolkit/commit/d1db5d2f054ed56911bc3e91507f9d539dc5829e)) -* updated the misspelled word ([#1544](https://github.com/keptn/lifecycle-toolkit/issues/1544)) ([0cb7f14](https://github.com/keptn/lifecycle-toolkit/commit/0cb7f14ae0f6f7844051219e823261a99c6dfe54)) - -## [0.7.1](https://github.com/keptn/lifecycle-toolkit/compare/v0.7.0...v0.7.1) (2023-05-03) - - -### Features - -* add support for multiple metrics providers ([#1193](https://github.com/keptn/lifecycle-toolkit/issues/1193)) ([3c465d0](https://github.com/keptn/lifecycle-toolkit/commit/3c465d07044b0317cbb6e462004dff9cf8f1d533)) -* datadog metric provider for KLT ([#948](https://github.com/keptn/lifecycle-toolkit/issues/948)) ([597a23f](https://github.com/keptn/lifecycle-toolkit/commit/597a23f93433ce56aac7000cf1806dd79f67b3f6)) -* improve API reference generation script with path extension ([#1271](https://github.com/keptn/lifecycle-toolkit/issues/1271)) ([74fa4f5](https://github.com/keptn/lifecycle-toolkit/commit/74fa4f56471853e564a91d49132b4f7ce2367f44)) -* make examples resource footprint smaller, fix bugs ([#1171](https://github.com/keptn/lifecycle-toolkit/issues/1171)) ([8b165d3](https://github.com/keptn/lifecycle-toolkit/commit/8b165d3bf63a63b452ac2f1423166978b80facc9)) -* **operator:** add information about evaluation target in status ([#1341](https://github.com/keptn/lifecycle-toolkit/issues/1341)) ([cc03a85](https://github.com/keptn/lifecycle-toolkit/commit/cc03a8513d469200becb371844e15fd4f832371c)) -* **operator:** additional parameters for KeptnTask to support retry logic ([#1084](https://github.com/keptn/lifecycle-toolkit/issues/1084)) ([eed5568](https://github.com/keptn/lifecycle-toolkit/commit/eed5568e51f381f62e2e6db3fddc13a610bcd5e0)) -* **operator:** bootstrapped KeptnAppCreationRequest CRD ([#1134](https://github.com/keptn/lifecycle-toolkit/issues/1134)) ([6b58da3](https://github.com/keptn/lifecycle-toolkit/commit/6b58da3c907af591633052ba3d7fc49a2b801ebc)) -* **operator:** consider corner cases in KACR controller ([#1270](https://github.com/keptn/lifecycle-toolkit/issues/1270)) ([b3b7010](https://github.com/keptn/lifecycle-toolkit/commit/b3b70109a9125ef4ea017a5f3d25d02146438a46)) -* **operator:** create KeptnAppCreationRequest in pod webhook ([#1277](https://github.com/keptn/lifecycle-toolkit/issues/1277)) ([da942c2](https://github.com/keptn/lifecycle-toolkit/commit/da942c2f12fe4a8d5fd89ec0615228d05064b183)) -* **operator:** implement KeptnAppCreationRequest controller ([#1191](https://github.com/keptn/lifecycle-toolkit/issues/1191)) ([79afd83](https://github.com/keptn/lifecycle-toolkit/commit/79afd83476baa567285bddc3fc4bc40a76783e67)) -* **operator:** introduce fallback search to KLT default namespace when KeptnTaskDefinition is not found ([#1340](https://github.com/keptn/lifecycle-toolkit/issues/1340)) ([6794fe2](https://github.com/keptn/lifecycle-toolkit/commit/6794fe2d7e3334deb17dd13e5580bfc358edb57c)) -* **operator:** introduce retry logic for KeptnTasks ([#1088](https://github.com/keptn/lifecycle-toolkit/issues/1088)) ([e49b5a3](https://github.com/keptn/lifecycle-toolkit/commit/e49b5a3f133b5ba5f1ceaad53c12899415ea58b2)) -* **operator:** polish `KeptnConfig` and use Env Var for initial configuration ([#1097](https://github.com/keptn/lifecycle-toolkit/issues/1097)) ([559acee](https://github.com/keptn/lifecycle-toolkit/commit/559acee5059016b96703fb9f6f8d842d3c392c29)) -* **operator:** propagate KeptnTaskDefinition labels and annotations to Job Pods ([#1283](https://github.com/keptn/lifecycle-toolkit/issues/1283)) ([83be9d9](https://github.com/keptn/lifecycle-toolkit/commit/83be9d98381f7a53c0de324cd868fd03635b52ef)) -* **operator:** support Argo Rollout resources ([#879](https://github.com/keptn/lifecycle-toolkit/issues/879)) ([c2b0fa3](https://github.com/keptn/lifecycle-toolkit/commit/c2b0fa35f875d250564f1a75acab6752e65b504d)) -* use smaller distroless images for released containers ([#1092](https://github.com/keptn/lifecycle-toolkit/issues/1092)) ([8a7a6af](https://github.com/keptn/lifecycle-toolkit/commit/8a7a6af9f44c3a3f88b0a2f2331e3e820741d26f)) - - -### Bug Fixes - -* adapt mapping for community files ([#1215](https://github.com/keptn/lifecycle-toolkit/issues/1215)) ([99ef223](https://github.com/keptn/lifecycle-toolkit/commit/99ef2235648e1fa97d9ae30c7df4551dbb7bcf94)) -* add missing control-plane label into lifecycle operator service ([#1148](https://github.com/keptn/lifecycle-toolkit/issues/1148)) ([df04fbe](https://github.com/keptn/lifecycle-toolkit/commit/df04fbe5512d1f9e0c8d8e81a253a8c4892e1dec)) -* fix examples restart make command, reduce prometheus resources ([#1158](https://github.com/keptn/lifecycle-toolkit/issues/1158)) ([06b10a8](https://github.com/keptn/lifecycle-toolkit/commit/06b10a82fd3e8c942ef7592f919acb60552c4ae4)) -* fix examples, update podtatohead ([#1098](https://github.com/keptn/lifecycle-toolkit/issues/1098)) ([f581ed5](https://github.com/keptn/lifecycle-toolkit/commit/f581ed500f55da2be69a10ac67da5d8717ac3104)) -* fix kubecon examples ([#1225](https://github.com/keptn/lifecycle-toolkit/issues/1225)) ([a47fe1d](https://github.com/keptn/lifecycle-toolkit/commit/a47fe1d10d433a121381d0fdd2a9def087f14046)) -* fix kubecon examples ([#1226](https://github.com/keptn/lifecycle-toolkit/issues/1226)) ([5fb61ba](https://github.com/keptn/lifecycle-toolkit/commit/5fb61ba00c57bfa4d062d137e2d89781b9d274ea)) -* fix metrics demo setup ([#1207](https://github.com/keptn/lifecycle-toolkit/issues/1207)) ([b261172](https://github.com/keptn/lifecycle-toolkit/commit/b261172ff2e2921923ca7d6bb6519a55182bacdf)) -* generate missing CRD docs, fix validation pipeline ([#1086](https://github.com/keptn/lifecycle-toolkit/issues/1086)) ([71e9073](https://github.com/keptn/lifecycle-toolkit/commit/71e9073288c55da4ccbc51c1beb01a2d00b0921a)) -* helm generation checker pipeline ([#1209](https://github.com/keptn/lifecycle-toolkit/issues/1209)) ([72396cd](https://github.com/keptn/lifecycle-toolkit/commit/72396cda0e8b02913f060a6e99e782be2fab4e85)) -* **helm-chart:** fix missing values in the KLT helm chart ([#1082](https://github.com/keptn/lifecycle-toolkit/issues/1082)) ([52311c1](https://github.com/keptn/lifecycle-toolkit/commit/52311c1a1ee023ff5d271456c1fe09737ba94d60)) -* **metrics-operator:** normalize Dynatrace URL ([#1145](https://github.com/keptn/lifecycle-toolkit/issues/1145)) ([b33b4f4](https://github.com/keptn/lifecycle-toolkit/commit/b33b4f49320bf75c5098190d0b36ab3c49be9b45)) -* move prometheus install into make file ([#1093](https://github.com/keptn/lifecycle-toolkit/issues/1093)) ([f6f44e4](https://github.com/keptn/lifecycle-toolkit/commit/f6f44e4c5d880f00605e2923292c039503bb7903)) -* **operator:** fix otel collector URL setup ([#1262](https://github.com/keptn/lifecycle-toolkit/issues/1262)) ([c3754b7](https://github.com/keptn/lifecycle-toolkit/commit/c3754b755146e27bedd73a18d5f66d9c01a46677)) -* **operator:** look up latest AppVersion based on creation timestamp ([#1186](https://github.com/keptn/lifecycle-toolkit/issues/1186)) ([45a96e7](https://github.com/keptn/lifecycle-toolkit/commit/45a96e7fdf464d1248c3674787966d2e5ae50828)) -* removed failure branch ([#1175](https://github.com/keptn/lifecycle-toolkit/issues/1175)) ([66df012](https://github.com/keptn/lifecycle-toolkit/commit/66df01257a1abce26e4b3577527a8fbe651358d6)) -* security pipeline ([#1333](https://github.com/keptn/lifecycle-toolkit/issues/1333)) ([79e475c](https://github.com/keptn/lifecycle-toolkit/commit/79e475ce1f8d7f05d88365d8711fb491eae0c374)) -* use correct control-plane label for metrics-operator ([#1147](https://github.com/keptn/lifecycle-toolkit/issues/1147)) ([1035183](https://github.com/keptn/lifecycle-toolkit/commit/10351834d70b000b8296bea65b80fc9e22e54cee)) -* use custom k8s label to inject certificates where needed ([#1288](https://github.com/keptn/lifecycle-toolkit/issues/1288)) ([8fe5df3](https://github.com/keptn/lifecycle-toolkit/commit/8fe5df34e2e4f5ef544a1952040ec1b170148d7a)) -* use hash as revision instead of generation number ([#1243](https://github.com/keptn/lifecycle-toolkit/issues/1243)) ([2ad5d81](https://github.com/keptn/lifecycle-toolkit/commit/2ad5d811921834c7049e76879cbf61c819f1a39d)) - - -### Dependency Updates - -* bump denoland/deno to 1.32.5 ([#1329](https://github.com/keptn/lifecycle-toolkit/issues/1329)) ([73f0af0](https://github.com/keptn/lifecycle-toolkit/commit/73f0af062832dc0d86297fb2305c287450c3bc05)) -* remove github.com/open-feature/flagd ([#1110](https://github.com/keptn/lifecycle-toolkit/issues/1110)) ([e118851](https://github.com/keptn/lifecycle-toolkit/commit/e11885180bcab7dac93409fd5868328c6dade508)) -* update actions/setup-go action to v4 ([#1051](https://github.com/keptn/lifecycle-toolkit/issues/1051)) ([8b470d4](https://github.com/keptn/lifecycle-toolkit/commit/8b470d4c8e7285b481df5ae2e1e4674413caaaab)) -* update amannn/action-semantic-pull-request action to v5.2.0 ([#1102](https://github.com/keptn/lifecycle-toolkit/issues/1102)) ([c57b1fe](https://github.com/keptn/lifecycle-toolkit/commit/c57b1febc0501648c5c2d3c94c4434536ece2871)) -* update anchore/sbom-action action to v0.13.4 ([#1101](https://github.com/keptn/lifecycle-toolkit/issues/1101)) ([4c9a1aa](https://github.com/keptn/lifecycle-toolkit/commit/4c9a1aabe6550d21d80c8696421203896847297e)) -* update anchore/sbom-action action to v0.14.1 ([#1187](https://github.com/keptn/lifecycle-toolkit/issues/1187)) ([21e72a3](https://github.com/keptn/lifecycle-toolkit/commit/21e72a3a38dafda79d2cdb9f129bf48382696821)) -* update aquasecurity/trivy-action action to v0.10.0 ([#1255](https://github.com/keptn/lifecycle-toolkit/issues/1255)) ([1ff448c](https://github.com/keptn/lifecycle-toolkit/commit/1ff448cafb76c385ef358dd36392b99371d0561e)) -* update curlimages/curl docker tag to v8 ([#1116](https://github.com/keptn/lifecycle-toolkit/issues/1116)) ([05bf675](https://github.com/keptn/lifecycle-toolkit/commit/05bf6750563d8956dd29a8964dea1a79136db810)) -* update dawidd6/action-download-artifact action to v2.26.1 ([#1189](https://github.com/keptn/lifecycle-toolkit/issues/1189)) ([1053717](https://github.com/keptn/lifecycle-toolkit/commit/10537174792d1b3514336452bca6dbba3ef49de5)) -* update dawidd6/action-download-artifact action to v2.27.0 ([#1256](https://github.com/keptn/lifecycle-toolkit/issues/1256)) ([dc3e9b2](https://github.com/keptn/lifecycle-toolkit/commit/dc3e9b21e897d10e33a4ef406f357d44675cfacf)) -* update dependency argoproj/argo-cd to v2.6.6 ([#1039](https://github.com/keptn/lifecycle-toolkit/issues/1039)) ([fb0f7a3](https://github.com/keptn/lifecycle-toolkit/commit/fb0f7a39bad1bbeda96210bd198d3e0ca0b6cb86)) -* update dependency argoproj/argo-cd to v2.6.7 ([#1121](https://github.com/keptn/lifecycle-toolkit/issues/1121)) ([97c4b58](https://github.com/keptn/lifecycle-toolkit/commit/97c4b5823398310c11f50ff94d6c4cb4a29526a2)) -* update dependency golangci/golangci-lint to v1.52.0 ([#1103](https://github.com/keptn/lifecycle-toolkit/issues/1103)) ([2b28b4f](https://github.com/keptn/lifecycle-toolkit/commit/2b28b4f58fb14421a704225cf437d08cba6b27b6)) -* update dependency golangci/golangci-lint to v1.52.1 ([#1108](https://github.com/keptn/lifecycle-toolkit/issues/1108)) ([f5fb9ea](https://github.com/keptn/lifecycle-toolkit/commit/f5fb9ead9a53ad9fbd458df8c8b6aa6bfaa720da)) -* update dependency golangci/golangci-lint to v1.52.2 ([#1142](https://github.com/keptn/lifecycle-toolkit/issues/1142)) ([1071f02](https://github.com/keptn/lifecycle-toolkit/commit/1071f0297b59bbd3a755e0a21c8e894bbfde1907)) -* update dependency helm/helm to v3.11.2 ([#1050](https://github.com/keptn/lifecycle-toolkit/issues/1050)) ([2669e1d](https://github.com/keptn/lifecycle-toolkit/commit/2669e1d4760ed89797e312b7160d76d76f2171e8)) -* update dependency helm/helm to v3.11.3 ([#1234](https://github.com/keptn/lifecycle-toolkit/issues/1234)) ([13c8fd8](https://github.com/keptn/lifecycle-toolkit/commit/13c8fd894b4603319591da52ef812214b00c782a)) -* update dependency jaegertracing/jaeger to v1.43.0 ([#794](https://github.com/keptn/lifecycle-toolkit/issues/794)) ([abd4e09](https://github.com/keptn/lifecycle-toolkit/commit/abd4e0977fbc60638e32a19704580a667e0de282)) -* update dependency jaegertracing/jaeger to v1.44.0 ([#1229](https://github.com/keptn/lifecycle-toolkit/issues/1229)) ([1257f0b](https://github.com/keptn/lifecycle-toolkit/commit/1257f0b8d4d83bffeca14139054b50e3a6b20324)) -* update dependency jaegertracing/jaeger-operator to v1.43.0 ([#1152](https://github.com/keptn/lifecycle-toolkit/issues/1152)) ([9890213](https://github.com/keptn/lifecycle-toolkit/commit/9890213a643aac0977f677ac181d1d39e77fa5b5)) -* update dependency kubernetes-sigs/controller-tools to v0.11.4 ([#1280](https://github.com/keptn/lifecycle-toolkit/issues/1280)) ([cfeec33](https://github.com/keptn/lifecycle-toolkit/commit/cfeec33a26207a21d95f21bcafd7e7aa55881b7c)) -* update dependency kubernetes-sigs/kustomize to v5 ([#769](https://github.com/keptn/lifecycle-toolkit/issues/769)) ([33107ac](https://github.com/keptn/lifecycle-toolkit/commit/33107ac07a737053f60b449100c3d86b5cc910b7)) -* update ghcr.io/podtato-head/entry docker tag to v0.2.8 ([#1211](https://github.com/keptn/lifecycle-toolkit/issues/1211)) ([d8f56b1](https://github.com/keptn/lifecycle-toolkit/commit/d8f56b12883a1904f7f6f600710a61d36e4753cd)) -* update ghcr.io/podtato-head/hat docker tag to v0.2.8 ([#1212](https://github.com/keptn/lifecycle-toolkit/issues/1212)) ([ff09fbc](https://github.com/keptn/lifecycle-toolkit/commit/ff09fbc69c65209d26c04bc5418281fad5f438b6)) -* update ghcr.io/podtato-head/left-arm docker tag to v0.2.8 ([#1217](https://github.com/keptn/lifecycle-toolkit/issues/1217)) ([549e76d](https://github.com/keptn/lifecycle-toolkit/commit/549e76d698eeccada0aae74c1c267b8c98f6b727)) -* update ghcr.io/podtato-head/left-leg docker tag to v0.2.8 ([#1218](https://github.com/keptn/lifecycle-toolkit/issues/1218)) ([dd15d4a](https://github.com/keptn/lifecycle-toolkit/commit/dd15d4a0e0e4b4986d8c3d0860662bfa8ad1110e)) -* update ghcr.io/podtato-head/right-arm docker tag to v0.2.8 ([#1219](https://github.com/keptn/lifecycle-toolkit/issues/1219)) ([48f6030](https://github.com/keptn/lifecycle-toolkit/commit/48f603067056d82c9c2fc5369872e5ed6572510d)) -* update ghcr.io/podtato-head/right-leg docker tag to v0.2.8 ([#1220](https://github.com/keptn/lifecycle-toolkit/issues/1220)) ([3a4be7f](https://github.com/keptn/lifecycle-toolkit/commit/3a4be7f3048672994c5b4943844a2aa42f8954b1)) -* update github.com/keptn/lifecycle-toolkit/metrics-operator digest to 6b58da3 ([#1141](https://github.com/keptn/lifecycle-toolkit/issues/1141)) ([3859059](https://github.com/keptn/lifecycle-toolkit/commit/385905913f867c88482e5b1a40643a8957a8e022)) -* update github.com/keptn/lifecycle-toolkit/metrics-operator digest to 720e9e9 ([#1035](https://github.com/keptn/lifecycle-toolkit/issues/1035)) ([8a77f00](https://github.com/keptn/lifecycle-toolkit/commit/8a77f0004bc643a45890a888f3b7942f0c4ef794)) -* update github.com/keptn/lifecycle-toolkit/metrics-operator digest to b32d753 ([#1164](https://github.com/keptn/lifecycle-toolkit/issues/1164)) ([4480444](https://github.com/keptn/lifecycle-toolkit/commit/448044446a315973cbf80fb4d9a24e58bb797eb5)) -* update github.com/keptn/lifecycle-toolkit/metrics-operator digest to dd15d4a ([#1182](https://github.com/keptn/lifecycle-toolkit/issues/1182)) ([87b170f](https://github.com/keptn/lifecycle-toolkit/commit/87b170f4ac7a31812d235e1587d92789b9448da5)) -* update github.com/keptn/lifecycle-toolkit/metrics-operator digest to f5fb9ea ([#1107](https://github.com/keptn/lifecycle-toolkit/issues/1107)) ([65f6a83](https://github.com/keptn/lifecycle-toolkit/commit/65f6a832a60a63226170b342d79ca187bddb6cec)) -* update golang docker tag to v1.20.2 ([#1036](https://github.com/keptn/lifecycle-toolkit/issues/1036)) ([720e9e9](https://github.com/keptn/lifecycle-toolkit/commit/720e9e9b7040a1048d3f6fc86917bd678436c437)) -* update golang docker tag to v1.20.3 ([#1183](https://github.com/keptn/lifecycle-toolkit/issues/1183)) ([f9a1bc7](https://github.com/keptn/lifecycle-toolkit/commit/f9a1bc7f2c4797d61d0afa75844052f945b15acc)) -* update kubernetes packages (patch) ([#1228](https://github.com/keptn/lifecycle-toolkit/issues/1228)) ([ec1ece4](https://github.com/keptn/lifecycle-toolkit/commit/ec1ece41fcb797df3b02f2dd5fd53484b126e10e)) -* update kubernetes packages to v0.26.3 (patch) ([#1072](https://github.com/keptn/lifecycle-toolkit/issues/1072)) ([a6459f8](https://github.com/keptn/lifecycle-toolkit/commit/a6459f8c2cd98fac9897ca40e299790ba35cd569)) -* update module github.com/benbjohnson/clock to v1.3.1 ([#1257](https://github.com/keptn/lifecycle-toolkit/issues/1257)) ([e644597](https://github.com/keptn/lifecycle-toolkit/commit/e644597b17fb10fbae9d25a60b26487d96224841)) -* update module github.com/benbjohnson/clock to v1.3.3 ([#1293](https://github.com/keptn/lifecycle-toolkit/issues/1293)) ([b7b2383](https://github.com/keptn/lifecycle-toolkit/commit/b7b23833faccd963c66a36f3c0b3a1af05d4d05c)) -* update module github.com/datadog/datadog-api-client-go/v2 to v2.11.0 ([#1109](https://github.com/keptn/lifecycle-toolkit/issues/1109)) ([fbc021e](https://github.com/keptn/lifecycle-toolkit/commit/fbc021eadaf2442bfa67bc32947193b7fb6c20ae)) -* update module github.com/datadog/datadog-api-client-go/v2 to v2.12.0 ([#1259](https://github.com/keptn/lifecycle-toolkit/issues/1259)) ([db347de](https://github.com/keptn/lifecycle-toolkit/commit/db347dec20302fae2688df613ca81526c95a0484)) -* update module github.com/go-logr/logr to v1.2.4 ([#1153](https://github.com/keptn/lifecycle-toolkit/issues/1153)) ([c1ecfd0](https://github.com/keptn/lifecycle-toolkit/commit/c1ecfd03e39fc72f8304c78f80e71941aa0162e9)) -* update module github.com/imdario/mergo to v0.3.14 ([#1073](https://github.com/keptn/lifecycle-toolkit/issues/1073)) ([ad408fd](https://github.com/keptn/lifecycle-toolkit/commit/ad408fd3b2dbd8480baad0c730b3f209c0d3b503)) -* update module github.com/imdario/mergo to v0.3.15 ([#1132](https://github.com/keptn/lifecycle-toolkit/issues/1132)) ([17baf34](https://github.com/keptn/lifecycle-toolkit/commit/17baf3499a8681a850dfa7d88d049c26b86f8784)) -* update module github.com/onsi/gomega to v1.27.4 ([#967](https://github.com/keptn/lifecycle-toolkit/issues/967)) ([502189a](https://github.com/keptn/lifecycle-toolkit/commit/502189ad73ed9abc9bedb89bd701258ac729024e)) -* update module github.com/onsi/gomega to v1.27.5 ([#1133](https://github.com/keptn/lifecycle-toolkit/issues/1133)) ([7d0cf4b](https://github.com/keptn/lifecycle-toolkit/commit/7d0cf4b87d3c897ad348e9d1d31284710f99fbd0)) -* update module github.com/onsi/gomega to v1.27.6 ([#1166](https://github.com/keptn/lifecycle-toolkit/issues/1166)) ([ab3a091](https://github.com/keptn/lifecycle-toolkit/commit/ab3a091748b4d3cdccad4854edfaf01798387376)) -* update module github.com/prometheus/client_golang to v1.15.0 ([#1236](https://github.com/keptn/lifecycle-toolkit/issues/1236)) ([80b46c2](https://github.com/keptn/lifecycle-toolkit/commit/80b46c285c811feb126192471e8b7077246a3500)) -* update module github.com/prometheus/common to v0.42.0 ([#1111](https://github.com/keptn/lifecycle-toolkit/issues/1111)) ([7ac89de](https://github.com/keptn/lifecycle-toolkit/commit/7ac89de96afd21e63c5d77465880f9428a822213)) -* update module github.com/spf13/afero to v1.9.5 ([#1037](https://github.com/keptn/lifecycle-toolkit/issues/1037)) ([108e2a5](https://github.com/keptn/lifecycle-toolkit/commit/108e2a50764677dfe2bf6568c35bc2187ddcc206)) -* update module github.com/stretchr/testify to v1.8.2 ([#937](https://github.com/keptn/lifecycle-toolkit/issues/937)) ([ddd3732](https://github.com/keptn/lifecycle-toolkit/commit/ddd3732423cffa1d11bf7b0cef86a8229c3216e2)) -* update module golang.org/x/net to v0.9.0 ([#1298](https://github.com/keptn/lifecycle-toolkit/issues/1298)) ([ba7b679](https://github.com/keptn/lifecycle-toolkit/commit/ba7b679b0781de5558777fc93b8e9deb4ff6406a)) -* update module google.golang.org/grpc to v1.53.0 ([#817](https://github.com/keptn/lifecycle-toolkit/issues/817)) ([f5a3493](https://github.com/keptn/lifecycle-toolkit/commit/f5a3493545f391112f341b5c54b6bdf442d8179b)) -* update module google.golang.org/grpc to v1.54.0 ([#1112](https://github.com/keptn/lifecycle-toolkit/issues/1112)) ([ad2dc51](https://github.com/keptn/lifecycle-toolkit/commit/ad2dc511b9dcd3a8bc3bcd17e6344c9251a17a39)) -* update module k8s.io/component-helpers to v0.25.9 ([#1235](https://github.com/keptn/lifecycle-toolkit/issues/1235)) ([16b9a2b](https://github.com/keptn/lifecycle-toolkit/commit/16b9a2baefc87c695028993160aca4e5bbf5145d)) -* update module k8s.io/kubernetes to v1.25.8 ([#938](https://github.com/keptn/lifecycle-toolkit/issues/938)) ([65b854a](https://github.com/keptn/lifecycle-toolkit/commit/65b854ac9d02057e2bb99c270f629a44d67f258d)) -* update module sigs.k8s.io/controller-runtime to v0.14.5 ([#1038](https://github.com/keptn/lifecycle-toolkit/issues/1038)) ([1be4f11](https://github.com/keptn/lifecycle-toolkit/commit/1be4f11872a634a037ed60cdf07ecf4a58c3b2c0)) -* update module sigs.k8s.io/controller-runtime to v0.14.6 ([#1160](https://github.com/keptn/lifecycle-toolkit/issues/1160)) ([5f0071d](https://github.com/keptn/lifecycle-toolkit/commit/5f0071d114e28863192427e33ac5daa412418995)) -* update peter-evans/create-pull-request action to v5 ([#1190](https://github.com/keptn/lifecycle-toolkit/issues/1190)) ([6c205b1](https://github.com/keptn/lifecycle-toolkit/commit/6c205b1b75ba6ba3591379244a87e5fc5eabc8a2)) -* update sigstore/cosign-installer action to v3.0.2 ([#1198](https://github.com/keptn/lifecycle-toolkit/issues/1198)) ([31c657a](https://github.com/keptn/lifecycle-toolkit/commit/31c657afeac15de38a561d5a73b19d5013edc33c)) - - -### Other - -* adapt CODEOWNERS to new team structure ([#1250](https://github.com/keptn/lifecycle-toolkit/issues/1250)) ([0f11b85](https://github.com/keptn/lifecycle-toolkit/commit/0f11b85474e54a1d7811bb5df90498e40e13ecda)) -* bump go to 1.20 ([#1294](https://github.com/keptn/lifecycle-toolkit/issues/1294)) ([0a6ac23](https://github.com/keptn/lifecycle-toolkit/commit/0a6ac23eb77e2b5f8bdd20028309254dda2c9d1d)) -* bump GO_VERSION to 1.20 in pipelines ([#1326](https://github.com/keptn/lifecycle-toolkit/issues/1326)) ([7e8079e](https://github.com/keptn/lifecycle-toolkit/commit/7e8079ecfcd612bc31f581e66f76e4c895283efc)) -* **cert-manager:** reduce secret permissions ([#1295](https://github.com/keptn/lifecycle-toolkit/issues/1295)) ([bd8de3b](https://github.com/keptn/lifecycle-toolkit/commit/bd8de3b6461fcd599b58461ffbf42ff2e087951e)) -* fix failing component test ([#1282](https://github.com/keptn/lifecycle-toolkit/issues/1282)) ([00fd1f3](https://github.com/keptn/lifecycle-toolkit/commit/00fd1f3f2f6bd8e4d547d7e6b14cbd9fe9e14d42)) -* improve CRD docs generation script output ([#1157](https://github.com/keptn/lifecycle-toolkit/issues/1157)) ([b27adf1](https://github.com/keptn/lifecycle-toolkit/commit/b27adf1edc297dd7723998fcf4960929b2b2952d)) -* **metrics-operator:** add configuration parameters for container securityContext ([#1290](https://github.com/keptn/lifecycle-toolkit/issues/1290)) ([27439ff](https://github.com/keptn/lifecycle-toolkit/commit/27439ff3ad9fff30341fb987fd06ecb3aaef0d1d)) -* **metrics-operator:** restrict custom metrics ClusterRole privileges ([#1330](https://github.com/keptn/lifecycle-toolkit/issues/1330)) ([6f59a6c](https://github.com/keptn/lifecycle-toolkit/commit/6f59a6c0c75d79a54a874fcda64181180723551b)) -* **operator:** read-only RBAC for KeptnConfig controller ([#1096](https://github.com/keptn/lifecycle-toolkit/issues/1096)) ([ea91ff3](https://github.com/keptn/lifecycle-toolkit/commit/ea91ff36dfbe13811143031462407fecf7791596)) -* refactor and add unit tests to watcher ([#1253](https://github.com/keptn/lifecycle-toolkit/issues/1253)) ([4b40b7e](https://github.com/keptn/lifecycle-toolkit/commit/4b40b7ecccecc3bccaccc0532be1cd16d9c7ba6a)) -* remove cert-manager leftovers ([#1216](https://github.com/keptn/lifecycle-toolkit/issues/1216)) ([1c58ba8](https://github.com/keptn/lifecycle-toolkit/commit/1c58ba8edc2320d58096dea1f8beecfdc8c949b5)) -* reorder integration test execution ([#1264](https://github.com/keptn/lifecycle-toolkit/issues/1264)) ([71f2f78](https://github.com/keptn/lifecycle-toolkit/commit/71f2f787072627c807c2802bc57d016ee5b51d1b)) -* revert test makefile changes ([#1281](https://github.com/keptn/lifecycle-toolkit/issues/1281)) ([2261a4a](https://github.com/keptn/lifecycle-toolkit/commit/2261a4ab055095ad6d92b991e5520ff76ad9ba86)) -* set up YAML linter rules, fix YAML files accordingly ([#1174](https://github.com/keptn/lifecycle-toolkit/issues/1174)) ([86fbb75](https://github.com/keptn/lifecycle-toolkit/commit/86fbb757e55cb959e8ccb2ddc62bfcba55271452)) -* stop pushing dev container images to GHCR ([#1192](https://github.com/keptn/lifecycle-toolkit/issues/1192)) ([fa53443](https://github.com/keptn/lifecycle-toolkit/commit/fa53443c704193db029c92ff4ad08fc2bfaaa24d)) - - -### Docs - -* add better overview KeptnApp to readme ([#1254](https://github.com/keptn/lifecycle-toolkit/issues/1254)) ([497e57e](https://github.com/keptn/lifecycle-toolkit/commit/497e57e6ddeac0735871367042e96bca06b73356)) -* add community files to webpage ([#1077](https://github.com/keptn/lifecycle-toolkit/issues/1077)) ([ed3836a](https://github.com/keptn/lifecycle-toolkit/commit/ed3836aa6d75b186b09cb7c8ecf7c049f58af999)) -* add metrics-operator architecture ([#1151](https://github.com/keptn/lifecycle-toolkit/issues/1151)) ([80d0045](https://github.com/keptn/lifecycle-toolkit/commit/80d0045daccc292cad745aebbc2feba0c1e55cbd)) -* added example for autoscaling using KeptnMetric ([#1173](https://github.com/keptn/lifecycle-toolkit/issues/1173)) ([98dd248](https://github.com/keptn/lifecycle-toolkit/commit/98dd248f1fd22964fbae80a1de113f76fff3e55e)) -* adding KLT runtime info for local development ([#1246](https://github.com/keptn/lifecycle-toolkit/issues/1246)) ([c8131b6](https://github.com/keptn/lifecycle-toolkit/commit/c8131b63b55fc11085a7ab83b555b077656d9a7a)) -* change linting CLI and add custom rules ([#1031](https://github.com/keptn/lifecycle-toolkit/issues/1031)) ([acf5f91](https://github.com/keptn/lifecycle-toolkit/commit/acf5f91b2bc600d0008e64ffe602da8147134330)) -* cleanup after theme migration ([#1045](https://github.com/keptn/lifecycle-toolkit/issues/1045)) ([0125462](https://github.com/keptn/lifecycle-toolkit/commit/01254620b2735605d103f418e14487c43e6d3a1e)) -* describe automatic application discovery ([#1304](https://github.com/keptn/lifecycle-toolkit/issues/1304)) ([d576a33](https://github.com/keptn/lifecycle-toolkit/commit/d576a3323ff32a28ff1a8a207d811a01e1865d08)) -* fix missing code fence ([#1343](https://github.com/keptn/lifecycle-toolkit/issues/1343)) ([2576a98](https://github.com/keptn/lifecycle-toolkit/commit/2576a98cc252e66fc8e3ea3c0532e363f173fc61)) -* fix typo ([#1252](https://github.com/keptn/lifecycle-toolkit/issues/1252)) ([4a96b06](https://github.com/keptn/lifecycle-toolkit/commit/4a96b0637f01d597fb0ff2631b5784267386862e)) -* fix typo in the getting started docs ([#1204](https://github.com/keptn/lifecycle-toolkit/issues/1204)) ([c9b1a42](https://github.com/keptn/lifecycle-toolkit/commit/c9b1a42df8a8da1e158fd7a0c1d2a92726b7ca08)) -* improve docs for KeptnEvaluationDefinition ([#1335](https://github.com/keptn/lifecycle-toolkit/issues/1335)) ([d9e0aac](https://github.com/keptn/lifecycle-toolkit/commit/d9e0aac74c4b8fc4a3debd3f08d22155190d9f5f)) -* improve headline of Getting Started subsection ([#1350](https://github.com/keptn/lifecycle-toolkit/issues/1350)) ([a3ef431](https://github.com/keptn/lifecycle-toolkit/commit/a3ef431c5c41978a85df97828f9f297648f2bfdc)) -* improve landing page, based on slides ([#1272](https://github.com/keptn/lifecycle-toolkit/issues/1272)) ([117cda4](https://github.com/keptn/lifecycle-toolkit/commit/117cda489d60a5056e1341ec6f2ee4daf2172dec)) -* improve Notes within the documentation ([#962](https://github.com/keptn/lifecycle-toolkit/issues/962)) ([4e69699](https://github.com/keptn/lifecycle-toolkit/commit/4e69699d12d82cac1c8516c42dee8e131d993b4c)) -* improve rendering of links for local markdown files ([#1177](https://github.com/keptn/lifecycle-toolkit/issues/1177)) ([070bbee](https://github.com/keptn/lifecycle-toolkit/commit/070bbee37ee44be3f8f2c7f03078c3276ee317e3)) -* make cert-manager and manifest installation a detail ([#1099](https://github.com/keptn/lifecycle-toolkit/issues/1099)) ([66b3f01](https://github.com/keptn/lifecycle-toolkit/commit/66b3f013bba551be7471088a53b117242a34b543)) -* modify footer ([#1163](https://github.com/keptn/lifecycle-toolkit/issues/1163)) ([ee4ffcf](https://github.com/keptn/lifecycle-toolkit/commit/ee4ffcfd13469f3fb733e44319508b0c91bd765d)) -* **operator:** adjust docs comment ([#1126](https://github.com/keptn/lifecycle-toolkit/issues/1126)) ([4078fad](https://github.com/keptn/lifecycle-toolkit/commit/4078fada7a1c8a5a392aa11fe0f161acf190478d)) -* replace cert-manager ([#1210](https://github.com/keptn/lifecycle-toolkit/issues/1210)) ([a84cbc7](https://github.com/keptn/lifecycle-toolkit/commit/a84cbc7d67e8608f4c6638ab8d8efc1424f46933)) -* set up get-started directory tree ([#1303](https://github.com/keptn/lifecycle-toolkit/issues/1303)) ([57b6574](https://github.com/keptn/lifecycle-toolkit/commit/57b6574c76d3b5de1c7e361e5c4e64c449894d7a)) -* set up structure for yaml ref pages, guide section ([#1184](https://github.com/keptn/lifecycle-toolkit/issues/1184)) ([c164595](https://github.com/keptn/lifecycle-toolkit/commit/c164595d7682257e6c78f219cb9bc1e2b0f2fb82)) -* set up top-level Installation section ([#1162](https://github.com/keptn/lifecycle-toolkit/issues/1162)) ([2c62593](https://github.com/keptn/lifecycle-toolkit/commit/2c6259366a5ff545404dad2c692b7f1db524de83)) -* technologies to get familiar before working with KLT ([#1060](https://github.com/keptn/lifecycle-toolkit/issues/1060)) ([58e8a4c](https://github.com/keptn/lifecycle-toolkit/commit/58e8a4cac7b02a1b3fc37b5b448cb5df45a4c484)) -* update API reference docs pages ([#1273](https://github.com/keptn/lifecycle-toolkit/issues/1273)) ([706292a](https://github.com/keptn/lifecycle-toolkit/commit/706292aeb3d8280a7eea37ec089e5b7e83e6076e)) -* update docs for multi metrics provider support, fix API reference generator ([#1251](https://github.com/keptn/lifecycle-toolkit/issues/1251)) ([1dfd653](https://github.com/keptn/lifecycle-toolkit/commit/1dfd653eba98056cbee207d32ef5aa5b567bfb10)) -* update KeptnConfig docs to include KeptnAppCreationRequestTimeout ([#1348](https://github.com/keptn/lifecycle-toolkit/issues/1348)) ([117c263](https://github.com/keptn/lifecycle-toolkit/commit/117c263f0e4da43f32c5b3603c792de9a1badf66)) -* update KeptnTaskDefinition to include fallback search to default KLT namespace ([#1349](https://github.com/keptn/lifecycle-toolkit/issues/1349)) ([2f5587e](https://github.com/keptn/lifecycle-toolkit/commit/2f5587ed2407abe053ed6d8fb49ef7a7c1123eb4)) -* update list of videos about KLT ([#1105](https://github.com/keptn/lifecycle-toolkit/issues/1105)) ([ade49e1](https://github.com/keptn/lifecycle-toolkit/commit/ade49e1fd8d4cb9b811fb4b4be871c1907f124ad)) - -## [0.7.0](https://github.com/keptn/lifecycle-toolkit/compare/v0.6.0...v0.7.0) (2023-03-16) - - -### ⚠ BREAKING CHANGES - -* The different components of KLT have been renamed and use a new container image repository. For more information, please look at https://github.com/keptn/lifecycle-toolkit/issues/960 -* The handling of the CRD lifecycle and metrics has been split into two different operators - -### Features - -* adapt examples to use KeptnMetric and KeptnMetricsProvider ([91e57ca](https://github.com/keptn/lifecycle-toolkit/commit/91e57cadba32fce6d873bc480408f90bcb8964d9)) -* add CRD docs auto generator tooling ([#884](https://github.com/keptn/lifecycle-toolkit/issues/884)) ([5f63d9a](https://github.com/keptn/lifecycle-toolkit/commit/5f63d9a28a30a7022799d6debb365baadd72dd9b)) -* add load test metrics ([#831](https://github.com/keptn/lifecycle-toolkit/issues/831)) ([2fa1a02](https://github.com/keptn/lifecycle-toolkit/commit/2fa1a02df06656d510cc2ddd2c868e37eb42970f)) -* add YAMLLint ([#935](https://github.com/keptn/lifecycle-toolkit/issues/935)) ([48476bd](https://github.com/keptn/lifecycle-toolkit/commit/48476bd44f694ce2132b71ec92aed8259ae7fc2b)) -* added the metrics-operator ([5153a05](https://github.com/keptn/lifecycle-toolkit/commit/5153a058d6eb30b6455941ee1d76dd09f98d6689)) -* added the metrics-operator ([91e57ca](https://github.com/keptn/lifecycle-toolkit/commit/91e57cadba32fce6d873bc480408f90bcb8964d9)) -* **cert-manager:** support certificate injection for all matching resources based on label selector ([91e57ca](https://github.com/keptn/lifecycle-toolkit/commit/91e57cadba32fce6d873bc480408f90bcb8964d9)) -* fill in chart README ([#987](https://github.com/keptn/lifecycle-toolkit/issues/987)) ([2321180](https://github.com/keptn/lifecycle-toolkit/commit/23211800f2b897d1b146ad97d33b0e5f1994ad06)) -* **helm-chart:** split documentation from value files ([#876](https://github.com/keptn/lifecycle-toolkit/issues/876)) ([c366739](https://github.com/keptn/lifecycle-toolkit/commit/c36673943e7ff54e2921fe6b21ad531603f367aa)) -* improve naming and use new repository ([bd49357](https://github.com/keptn/lifecycle-toolkit/commit/bd493578df8825a52ec0f027583341a80b3c90f6)) -* introduce lifecycle.keptn.sh/v1alpha3 API version ([91e57ca](https://github.com/keptn/lifecycle-toolkit/commit/91e57cadba32fce6d873bc480408f90bcb8964d9)) -* **metrics-operator:** added conversion webhook for KeptnMetric CRDs ([91e57ca](https://github.com/keptn/lifecycle-toolkit/commit/91e57cadba32fce6d873bc480408f90bcb8964d9)) -* **metrics-operator:** allow KeptnMetrics to be placed in any namespace ([91e57ca](https://github.com/keptn/lifecycle-toolkit/commit/91e57cadba32fce6d873bc480408f90bcb8964d9)) -* **metrics-operator:** implement metric functionality ([91e57ca](https://github.com/keptn/lifecycle-toolkit/commit/91e57cadba32fce6d873bc480408f90bcb8964d9)) -* **metrics-operator:** introduce KeptnMetricsProvider CRD ([91e57ca](https://github.com/keptn/lifecycle-toolkit/commit/91e57cadba32fce6d873bc480408f90bcb8964d9)) -* **metrics-operator:** introduce migration from KeptnEvaluationProvider to KeptnMetricsProvider ([91e57ca](https://github.com/keptn/lifecycle-toolkit/commit/91e57cadba32fce6d873bc480408f90bcb8964d9)) -* **operator:** accept LogLevels for all controllers ([#790](https://github.com/keptn/lifecycle-toolkit/issues/790)) ([d175486](https://github.com/keptn/lifecycle-toolkit/commit/d175486fc10832458ebb95b17356fee4a2ccc1d7)) -* **operator:** adapt KeptnEvaluationDefinition to reflect changes in KeptnMetric and KeptnMetricsProvider ([91e57ca](https://github.com/keptn/lifecycle-toolkit/commit/91e57cadba32fce6d873bc480408f90bcb8964d9)) -* remove kube-rbac-proxy ([#909](https://github.com/keptn/lifecycle-toolkit/issues/909)) ([7d2621b](https://github.com/keptn/lifecycle-toolkit/commit/7d2621b70cdfd817aa9e1a408f4ed2841aef833b)) -* use helmify to release our helm chart ([91e57ca](https://github.com/keptn/lifecycle-toolkit/commit/91e57cadba32fce6d873bc480408f90bcb8964d9)) - - -### Bug Fixes - -* adapted patch for mutating webhook to correctly add release namespace to exclusions ([#1044](https://github.com/keptn/lifecycle-toolkit/issues/1044)) ([d7cfc17](https://github.com/keptn/lifecycle-toolkit/commit/d7cfc171603cc85711e6d49b6c9cd857f312fc1b)) -* added metric-operator prefix to related ClusterRole and ClusterRoleBindings ([#1042](https://github.com/keptn/lifecycle-toolkit/issues/1042)) ([92d16a3](https://github.com/keptn/lifecycle-toolkit/commit/92d16a3c6be57b823be17f6ac3a37134d1840438)) -* fix cosign image signing after breaking changes ([#1047](https://github.com/keptn/lifecycle-toolkit/issues/1047)) ([e5abf85](https://github.com/keptn/lifecycle-toolkit/commit/e5abf85726f6a78673ba63a564c5274926726aa7)) -* fix examples ([#1053](https://github.com/keptn/lifecycle-toolkit/issues/1053)) ([6f5c105](https://github.com/keptn/lifecycle-toolkit/commit/6f5c1059d427aca97513c606b224810f9446aefc)) -* fix markdown issues in main ([#963](https://github.com/keptn/lifecycle-toolkit/issues/963)) ([ef35387](https://github.com/keptn/lifecycle-toolkit/commit/ef3538703ed87895828809c0204975015fc691be)) -* fix some sonarcloud settings ([#1018](https://github.com/keptn/lifecycle-toolkit/issues/1018)) ([a40a8d3](https://github.com/keptn/lifecycle-toolkit/commit/a40a8d36458b880a468b8714c9fcfbb403776704)) -* helm chart generation and helm pipeline ([#975](https://github.com/keptn/lifecycle-toolkit/issues/975)) ([444ba74](https://github.com/keptn/lifecycle-toolkit/commit/444ba745f7e120b7cba95291d06485002edb5f9e)) -* helm chart generation fixes ([#977](https://github.com/keptn/lifecycle-toolkit/issues/977)) ([85e9d0e](https://github.com/keptn/lifecycle-toolkit/commit/85e9d0eb3da630aa4cf636dfbcb411205de24bd8)) -* htmltest error for newly created documents ([#1010](https://github.com/keptn/lifecycle-toolkit/issues/1010)) ([4bf2919](https://github.com/keptn/lifecycle-toolkit/commit/4bf2919655b05890fc8803336091eaa8752fcae7)) -* include namespace creation in release manifest ([#855](https://github.com/keptn/lifecycle-toolkit/issues/855)) ([d7a2b48](https://github.com/keptn/lifecycle-toolkit/commit/d7a2b486dd90ff173edbab49ff59988d58cc53c1)) -* **metrics-operator:** adapt metric types from v1alpha1 ([91e57ca](https://github.com/keptn/lifecycle-toolkit/commit/91e57cadba32fce6d873bc480408f90bcb8964d9)) -* **metrics-operator:** use correct port for serving metrics api ([#954](https://github.com/keptn/lifecycle-toolkit/issues/954)) ([d29ab64](https://github.com/keptn/lifecycle-toolkit/commit/d29ab64c6d295239586537c8002040d480fe17cd)) -* move conversion webhooks to hub version API (v1alpha3) ([#992](https://github.com/keptn/lifecycle-toolkit/issues/992)) ([b2bb268](https://github.com/keptn/lifecycle-toolkit/commit/b2bb2685809abe7909a31518833236db8931f4c1)) -* **operator:** compute deployment interval on deployment endtime ([#842](https://github.com/keptn/lifecycle-toolkit/issues/842)) ([140b2f2](https://github.com/keptn/lifecycle-toolkit/commit/140b2f28e1effd7877401bbbb8678d76a0ccab63)) -* **operator:** invalid import of metrics ([91e57ca](https://github.com/keptn/lifecycle-toolkit/commit/91e57cadba32fce6d873bc480408f90bcb8964d9)) -* remove missing 404 bug ([#1006](https://github.com/keptn/lifecycle-toolkit/issues/1006)) ([e8c0f38](https://github.com/keptn/lifecycle-toolkit/commit/e8c0f389e65c74f55e482ccb96127e31d475931d)) -* remove required from release docs yaml parameters ([#952](https://github.com/keptn/lifecycle-toolkit/issues/952)) ([57cc938](https://github.com/keptn/lifecycle-toolkit/commit/57cc9389955576f3c708a6ec0352abe0dde2367c)) -* wrong link in the local-setup ([#916](https://github.com/keptn/lifecycle-toolkit/issues/916)) ([de89309](https://github.com/keptn/lifecycle-toolkit/commit/de89309070e26cd76c5d964d9dc3a46f95897ddb)) - - -### Dependency Updates - -* update aquasecurity/trivy-action action to v0.9.2 ([#985](https://github.com/keptn/lifecycle-toolkit/issues/985)) ([6c79514](https://github.com/keptn/lifecycle-toolkit/commit/6c795141316cd463094607e6794002fb57beb8b6)) -* update busybox docker tag to v1.36.0 ([#1023](https://github.com/keptn/lifecycle-toolkit/issues/1023)) ([83c1e15](https://github.com/keptn/lifecycle-toolkit/commit/83c1e1557f937d2719ba5febeb27f1defd8fa351)) -* update curlimages/curl docker tag to v7.88.1 ([#1024](https://github.com/keptn/lifecycle-toolkit/issues/1024)) ([e89264d](https://github.com/keptn/lifecycle-toolkit/commit/e89264ddd5bce4d06224ee2e762cddeb36b3e2d7)) -* update dawidd6/action-download-artifact action to v2.26.0 ([#903](https://github.com/keptn/lifecycle-toolkit/issues/903)) ([8c4ba83](https://github.com/keptn/lifecycle-toolkit/commit/8c4ba83cc3a1864b70379151f90b271eb39f39dc)) -* update dependency argoproj/argo-cd to v2.6.2 ([#871](https://github.com/keptn/lifecycle-toolkit/issues/871)) ([9c813ac](https://github.com/keptn/lifecycle-toolkit/commit/9c813ac8a74be7c1ebe9c5eacd973273ed9ef3c8)) -* update dependency argoproj/argo-cd to v2.6.3 ([#965](https://github.com/keptn/lifecycle-toolkit/issues/965)) ([4fc984f](https://github.com/keptn/lifecycle-toolkit/commit/4fc984f495c47ec24ad45e2e6d8f411c0b7bff1c)) -* update dependency golangci/golangci-lint to v1.51.2 ([#765](https://github.com/keptn/lifecycle-toolkit/issues/765)) ([7b182fa](https://github.com/keptn/lifecycle-toolkit/commit/7b182fac52faee7e2be0917c4732ccf7d26fe924)) -* update golang docker tag to v1.20.1 ([#844](https://github.com/keptn/lifecycle-toolkit/issues/844)) ([489f7f9](https://github.com/keptn/lifecycle-toolkit/commit/489f7f9100d97c79b57446db6ef1df957aa6b996)) -* update golang.org/x/exp digest to 5e25df0 ([#833](https://github.com/keptn/lifecycle-toolkit/issues/833)) ([17c8185](https://github.com/keptn/lifecycle-toolkit/commit/17c81853b19f2af6057013c91c2d3a1c8f611f37)) -* update klakegg/hugo docker tag to v0.107.0 ([#969](https://github.com/keptn/lifecycle-toolkit/issues/969)) ([018937b](https://github.com/keptn/lifecycle-toolkit/commit/018937b306af473874c09c4afb35af34c3d66ed4)) -* update kubernetes packages (patch) ([#966](https://github.com/keptn/lifecycle-toolkit/issues/966)) ([7ba66c9](https://github.com/keptn/lifecycle-toolkit/commit/7ba66c936d9d9b8271c1f0b5a7d6966cb167d1af)) -* update module github.com/onsi/ginkgo/v2 to v2.8.1 ([#867](https://github.com/keptn/lifecycle-toolkit/issues/867)) ([4c36b48](https://github.com/keptn/lifecycle-toolkit/commit/4c36b483ecacfb8639d26cde4cc0cf88bbb34826)) -* update module github.com/onsi/gomega to v1.27.0 ([#872](https://github.com/keptn/lifecycle-toolkit/issues/872)) ([5b68118](https://github.com/keptn/lifecycle-toolkit/commit/5b6811856f24cd35e19a0af074dd689c8d176655)) -* update module github.com/onsi/gomega to v1.27.1 ([#887](https://github.com/keptn/lifecycle-toolkit/issues/887)) ([4d2d0ed](https://github.com/keptn/lifecycle-toolkit/commit/4d2d0edc26bb0df43d89900cbd8324101de729ed)) -* update module github.com/open-feature/flagd to v0.3.6 ([#810](https://github.com/keptn/lifecycle-toolkit/issues/810)) ([5d431b0](https://github.com/keptn/lifecycle-toolkit/commit/5d431b0e4099a1338bd949f8d2a67acdd6fdd9cd)) -* update module github.com/open-feature/flagd to v0.3.7 ([#868](https://github.com/keptn/lifecycle-toolkit/issues/868)) ([8ed6455](https://github.com/keptn/lifecycle-toolkit/commit/8ed645573c3582952dd1519cd9aaf2ff336ace90)) -* update module github.com/open-feature/go-sdk to v1.3.0 ([#767](https://github.com/keptn/lifecycle-toolkit/issues/767)) ([576a353](https://github.com/keptn/lifecycle-toolkit/commit/576a353326bf8dd60f3cf04e44342b86325a7bb2)) -* update module github.com/prometheus/common to v0.40.0 ([#907](https://github.com/keptn/lifecycle-toolkit/issues/907)) ([d90355d](https://github.com/keptn/lifecycle-toolkit/commit/d90355d54c5af8ca4ce3d3fc9036e966dba65314)) -* update module github.com/spf13/afero to v1.9.4 ([#911](https://github.com/keptn/lifecycle-toolkit/issues/911)) ([36cfe90](https://github.com/keptn/lifecycle-toolkit/commit/36cfe909611edc168824a7f570bed73f4c019264)) -* update module k8s.io/klog/v2 to v2.90.1 ([#982](https://github.com/keptn/lifecycle-toolkit/issues/982)) ([90052bc](https://github.com/keptn/lifecycle-toolkit/commit/90052bc059af2d67f1835fe5ba72b5fa3eb77941)) -* update sigstore/cosign-installer action to v3 ([#973](https://github.com/keptn/lifecycle-toolkit/issues/973)) ([e92259a](https://github.com/keptn/lifecycle-toolkit/commit/e92259a26da97f5b9f3e8cdcdb8797e254430abf)) - - -### Docs - -* adapt KeptnEvaluationDefinition and introduce KeptnMetricsProvider ([#944](https://github.com/keptn/lifecycle-toolkit/issues/944)) ([d56bfa4](https://github.com/keptn/lifecycle-toolkit/commit/d56bfa4bceb8b5bb6040fa7410ddfa745440cf7f)) -* adapt metrics documentation and example ([#941](https://github.com/keptn/lifecycle-toolkit/issues/941)) ([82488ec](https://github.com/keptn/lifecycle-toolkit/commit/82488ec782c56295708c6f509d9d5be3f0b33fda)) -* add "Intro to KLT"; edit "Getting Started" ([#785](https://github.com/keptn/lifecycle-toolkit/issues/785)) ([27932ff](https://github.com/keptn/lifecycle-toolkit/commit/27932ff7de4418bb314065a1b62ae401b80133b1)) -* add cert-manager to jaeger installation script ([#1020](https://github.com/keptn/lifecycle-toolkit/issues/1020)) ([6dc6cee](https://github.com/keptn/lifecycle-toolkit/commit/6dc6ceefe4b6aa9191229be77d2f97466d32f07a)) -* add CONTRIBUTING.md file for docs ([#758](https://github.com/keptn/lifecycle-toolkit/issues/758)) ([17fd319](https://github.com/keptn/lifecycle-toolkit/commit/17fd319cbd494c8663179f625ddde05d2279c3a3)) -* add docs publishing information ([#949](https://github.com/keptn/lifecycle-toolkit/issues/949)) ([4351e18](https://github.com/keptn/lifecycle-toolkit/commit/4351e18c4097370520e63e48b947200a210f5380)) -* add htmltest verification for documentation ([#932](https://github.com/keptn/lifecycle-toolkit/issues/932)) ([f342ccc](https://github.com/keptn/lifecycle-toolkit/commit/f342ccc0775eb41139ba0d679526dd95127bdfe8)) -* add KLT components diagram ([#1016](https://github.com/keptn/lifecycle-toolkit/issues/1016)) ([dcf49cf](https://github.com/keptn/lifecycle-toolkit/commit/dcf49cfd0f90b5a648f14aa10c7bc4820acbf1ed)) -* add Netlify configuration and advanced build ([#892](https://github.com/keptn/lifecycle-toolkit/issues/892)) ([81cd1f2](https://github.com/keptn/lifecycle-toolkit/commit/81cd1f2d1fd11e451269e580e10ea57cfbadff71)) -* added more detailed explanation of how to make use of secrets in KeptnTasks ([#959](https://github.com/keptn/lifecycle-toolkit/issues/959)) ([06fa5fd](https://github.com/keptn/lifecycle-toolkit/commit/06fa5fd8a5d4134ea185e8909a6c2968f200bbda)) -* change Development url ([#923](https://github.com/keptn/lifecycle-toolkit/issues/923)) ([335722d](https://github.com/keptn/lifecycle-toolkit/commit/335722dabb44a7d9b5d82d8b78e4e0f022462123)) -* enhance contributors guide ([#866](https://github.com/keptn/lifecycle-toolkit/issues/866)) ([60bd934](https://github.com/keptn/lifecycle-toolkit/commit/60bd934058c34cb7e654f631c5dbe63ed2439606)) -* fix broken link in README.md ([#913](https://github.com/keptn/lifecycle-toolkit/issues/913)) ([09a4f94](https://github.com/keptn/lifecycle-toolkit/commit/09a4f94055ae3c75682b084cfd62f87ea90203f8)) -* improve netlify build ([#920](https://github.com/keptn/lifecycle-toolkit/issues/920)) ([39a002d](https://github.com/keptn/lifecycle-toolkit/commit/39a002d343df6248fe8caea78298f180e1260a09)) -* initial list of related technologies of Keptn ([#795](https://github.com/keptn/lifecycle-toolkit/issues/795)) ([d4bd002](https://github.com/keptn/lifecycle-toolkit/commit/d4bd00262bdaa86458bc4c0eac459cc5575dec35)) -* migrator for KeptnEvaluationProvider -> KeptnMetricsProvider ([#945](https://github.com/keptn/lifecycle-toolkit/issues/945)) ([5bac785](https://github.com/keptn/lifecycle-toolkit/commit/5bac7858e87ef0b825adad0b0ff35bf6ae75d412)) -* set up directories for contribution guide ([#1004](https://github.com/keptn/lifecycle-toolkit/issues/1004)) ([a3aa4e5](https://github.com/keptn/lifecycle-toolkit/commit/a3aa4e5b2d76443559727da1752921196ccffac4)) -* update README and CONTRIBUTING instructions ([#991](https://github.com/keptn/lifecycle-toolkit/issues/991)) ([e42b750](https://github.com/keptn/lifecycle-toolkit/commit/e42b750a64f3681efdfa64dd55fe3ade61f53c53)) -* use helm charts instead of manifests + document KeptnConfig CRD ([#747](https://github.com/keptn/lifecycle-toolkit/issues/747)) ([338c0fa](https://github.com/keptn/lifecycle-toolkit/commit/338c0fa2042ef74cb253d49ce050c2f61ea24f95)) -* website build improvements ([#806](https://github.com/keptn/lifecycle-toolkit/issues/806)) ([03ce732](https://github.com/keptn/lifecycle-toolkit/commit/03ce732d0cc72988c49b012df70c776cfdc8eb06)) - - -### Other - -* add Hugo caching ([#958](https://github.com/keptn/lifecycle-toolkit/issues/958)) ([b2f24fe](https://github.com/keptn/lifecycle-toolkit/commit/b2f24fe4448edd24a3711e522caf393464ee877d)) -* added sonar-project.properties file and adapted codecov settings ([#989](https://github.com/keptn/lifecycle-toolkit/issues/989)) ([ca1c6ba](https://github.com/keptn/lifecycle-toolkit/commit/ca1c6bad8e9f6983c2a781ea761201cabeeff954)) -* adjust manifest limits ([#891](https://github.com/keptn/lifecycle-toolkit/issues/891)) ([32ce1b0](https://github.com/keptn/lifecycle-toolkit/commit/32ce1b01ea71fc0d52f5848144af6675289a39f0)) -* close issues and PRs if they get stale ([#1041](https://github.com/keptn/lifecycle-toolkit/issues/1041)) ([89e03c2](https://github.com/keptn/lifecycle-toolkit/commit/89e03c21476cc6cd98ca6e1c1bef95384c8495f4)) -* fix golangci-lint errors ([#905](https://github.com/keptn/lifecycle-toolkit/issues/905)) ([a133fdd](https://github.com/keptn/lifecycle-toolkit/commit/a133fdd99515765642d354c3a0cea51408333d99)) -* improve Makefiles usage ([#921](https://github.com/keptn/lifecycle-toolkit/issues/921)) ([2761a4d](https://github.com/keptn/lifecycle-toolkit/commit/2761a4dad36f452b2dd575ab5ec1572b68602165)) -* improve markdownlint ([#946](https://github.com/keptn/lifecycle-toolkit/issues/946)) ([d5d1675](https://github.com/keptn/lifecycle-toolkit/commit/d5d1675010cf0d3b8b506ef0a24c19d284d67727)) -* move to new theme repo for docs ([74903a4](https://github.com/keptn/lifecycle-toolkit/commit/74903a481b69d3eb36c67652ea48b495b4f9fb3d)) -* **operator:** remove KeptnMetric and KeptnEvaluationProvider from klt operator ([91e57ca](https://github.com/keptn/lifecycle-toolkit/commit/91e57cadba32fce6d873bc480408f90bcb8964d9)) -* polish examples and integration tests ([#956](https://github.com/keptn/lifecycle-toolkit/issues/956)) ([72d3c9e](https://github.com/keptn/lifecycle-toolkit/commit/72d3c9ee086c203431120f6899a274180882fac4)) -* release 0.7.0 ([#843](https://github.com/keptn/lifecycle-toolkit/issues/843)) ([bade181](https://github.com/keptn/lifecycle-toolkit/commit/bade181b735c7e069c510424ad5350476e41eeba)) -* remove generated fake folder from sonar checks ([#1021](https://github.com/keptn/lifecycle-toolkit/issues/1021)) ([ec4ccb9](https://github.com/keptn/lifecycle-toolkit/commit/ec4ccb976117f88fc70afbdadd0b8c93da81edff)) -* remove golang exp dependency ([#919](https://github.com/keptn/lifecycle-toolkit/issues/919)) ([c5c3fdf](https://github.com/keptn/lifecycle-toolkit/commit/c5c3fdfc822f8da629c1114f78ce31861e4c286a)) -* run CI also on epic branches ([#853](https://github.com/keptn/lifecycle-toolkit/issues/853)) ([a2f7cce](https://github.com/keptn/lifecycle-toolkit/commit/a2f7cce17a7622ca8d5cbd9daaacc711d96b2660)) -* set new documentation approach live ([#1007](https://github.com/keptn/lifecycle-toolkit/issues/1007)) ([f3511f1](https://github.com/keptn/lifecycle-toolkit/commit/f3511f1f5efec86fb1c86a6c7e39790d662417f9)) -* switch to registry.k8s.io in yaml files in prometheus example ([#870](https://github.com/keptn/lifecycle-toolkit/issues/870)) ([909a1d6](https://github.com/keptn/lifecycle-toolkit/commit/909a1d6fd8788545e6d7cbee1351c7d574e1f39c)) -* upgraded metrics operator to go 1.19 ([#1017](https://github.com/keptn/lifecycle-toolkit/issues/1017)) ([c2238fa](https://github.com/keptn/lifecycle-toolkit/commit/c2238fa2765bf5295720c9777e80f16f2b3ee289)) - -## [0.6.0](https://github.com/keptn/lifecycle-toolkit/compare/v0.5.0...v0.6.0) (2023-02-14) - - -### ⚠ BREAKING CHANGES - -* The dependency on cert-manager has been removed in favor of a custom implementation. With these changes, the operator will be waiting for a certificate to be ready before registering the controllers. The certificate is generated as a k8s secret in the lifecycle-toolkit namespace and then loaded into an empty dir volume. The Keptn certificate manager will make sure to renew it (every 12 hours) and will take care of its validity every time the controller manager deployment resource changes. - -### Features - -* add cert-manager logic ([#528](https://github.com/keptn/lifecycle-toolkit/issues/528)) ([c0ece7a](https://github.com/keptn/lifecycle-toolkit/commit/c0ece7a9eae679f7bbb13328d961dcfce72c2fc8)) -* add KeptnAppCreationRequestTimeout field to KeptnConfig API ([#735](https://github.com/keptn/lifecycle-toolkit/issues/735)) ([eda3f23](https://github.com/keptn/lifecycle-toolkit/commit/eda3f230af598977ba2a0d826eef7eafeb17c822)) -* add KeptnConfig API ([#651](https://github.com/keptn/lifecycle-toolkit/issues/651)) ([9784216](https://github.com/keptn/lifecycle-toolkit/commit/9784216548364d18e941dbc0fc8a261e0396722b)) -* add metadata to helm chart ([#737](https://github.com/keptn/lifecycle-toolkit/issues/737)) ([b5c5801](https://github.com/keptn/lifecycle-toolkit/commit/b5c580124b748ad8bce4fd5405d72dcf249d9498)) -* add prometheus metrics evaluation example ([#677](https://github.com/keptn/lifecycle-toolkit/issues/677)) ([e5f644c](https://github.com/keptn/lifecycle-toolkit/commit/e5f644c5bf37c569fc2b328a0e6681488b1af8d0)) -* add validating webhook for Keptn Metrics ([#668](https://github.com/keptn/lifecycle-toolkit/issues/668)) ([a4cc579](https://github.com/keptn/lifecycle-toolkit/commit/a4cc579b91a6156604b33a86f53af287cabd2989)) -* annotate K8s Events ([#589](https://github.com/keptn/lifecycle-toolkit/issues/589)) ([4ea7da9](https://github.com/keptn/lifecycle-toolkit/commit/4ea7da92576d8fc16bc73ab37b711910e57859d4)) -* automatically update documentation repository ([#610](https://github.com/keptn/lifecycle-toolkit/issues/610)) ([a84d4e4](https://github.com/keptn/lifecycle-toolkit/commit/a84d4e43b20e6cdb7641468e997a3b08ffe06d77)) -* configurable imagePullPolicy via Helm ([#740](https://github.com/keptn/lifecycle-toolkit/issues/740)) ([b6b4160](https://github.com/keptn/lifecycle-toolkit/commit/b6b4160e8ae46e0d16fc06c5807c03e8599489b1)) -* create an helm overlay ([#697](https://github.com/keptn/lifecycle-toolkit/issues/697)) ([9668ce8](https://github.com/keptn/lifecycle-toolkit/commit/9668ce8761c5526d625a8e26f26b244c2e93cc0c)) -* **operator:** add KeptnConfig API ([#694](https://github.com/keptn/lifecycle-toolkit/issues/694)) ([4971a8b](https://github.com/keptn/lifecycle-toolkit/commit/4971a8b3915e9de152965e5c8cbc81de6bf03db9)) -* **operator:** add logic to keptnmetrics controller ([#647](https://github.com/keptn/lifecycle-toolkit/issues/647)) ([ed5e200](https://github.com/keptn/lifecycle-toolkit/commit/ed5e20032c4a86c36d7cce4e76d1f8d0bf7a3933)) -* **operator:** added adapter for custom metrics ([#682](https://github.com/keptn/lifecycle-toolkit/issues/682)) ([64cb972](https://github.com/keptn/lifecycle-toolkit/commit/64cb972a45e9377a40daf5c29e511ca9f578d773)) -* **operator:** added Dynatrace DQL provider ([#783](https://github.com/keptn/lifecycle-toolkit/issues/783)) ([d19b533](https://github.com/keptn/lifecycle-toolkit/commit/d19b533e4469b21a59fb7f022373fc28ac11deec)) -* **operator:** evaluation controller uses KeptnMetric as SLI provider ([#661](https://github.com/keptn/lifecycle-toolkit/issues/661)) ([da8fcee](https://github.com/keptn/lifecycle-toolkit/commit/da8fceedfe0a82ebd2072fecda7688a47c545aa5)) -* **operator:** expose KeptnMetrics as OTel metrics ([#684](https://github.com/keptn/lifecycle-toolkit/issues/684)) ([eab9397](https://github.com/keptn/lifecycle-toolkit/commit/eab93970ec13f8c6486da89bf248883972534936)) -* **operator:** introduce KeptnMetrics CRD and controller ([#643](https://github.com/keptn/lifecycle-toolkit/issues/643)) ([96170df](https://github.com/keptn/lifecycle-toolkit/commit/96170df5a10090de6618e986019cbc98e319bcb1)) -* wire the new cert-manager into lifecycle operator ([#529](https://github.com/keptn/lifecycle-toolkit/issues/529)) ([752ea58](https://github.com/keptn/lifecycle-toolkit/commit/752ea5870b59ceb3a339d31f34a4c252dcd204d5)) - - -### Bug Fixes - -* add cert-manager to missing pipelines + fix linter issues ([#702](https://github.com/keptn/lifecycle-toolkit/issues/702)) ([a4ab1e3](https://github.com/keptn/lifecycle-toolkit/commit/a4ab1e36a2c20f83cf65b0d6b5b0d6c97186d2fc)) -* broken link to examples folder in README.md ([#671](https://github.com/keptn/lifecycle-toolkit/issues/671)) ([4ff944b](https://github.com/keptn/lifecycle-toolkit/commit/4ff944b67c1742e31a79993a4edbc74d3f9a7b8b)) -* fix klt-cert-manager release-local Makefile target ([#669](https://github.com/keptn/lifecycle-toolkit/issues/669)) ([a3b0f7b](https://github.com/keptn/lifecycle-toolkit/commit/a3b0f7be40309efbc6cedab8f420fc1bf2ccf8a1)) -* fixed helm chart generation to include crds directly in the template ([#801](https://github.com/keptn/lifecycle-toolkit/issues/801)) ([f46e603](https://github.com/keptn/lifecycle-toolkit/commit/f46e603782badb1dbb0761725920b245c0efb97e)) -* fixed helm chart patch ([#775](https://github.com/keptn/lifecycle-toolkit/issues/775)) ([fd3e2b0](https://github.com/keptn/lifecycle-toolkit/commit/fd3e2b087a949d3d9f2bb0db8fef9ff38bc647f1)) -* **operator:** adapt resource requests and limits ([#835](https://github.com/keptn/lifecycle-toolkit/issues/835)) ([8249de6](https://github.com/keptn/lifecycle-toolkit/commit/8249de661f7843d6a244c9c4d0b62a5374f8b39f)) -* **operator:** disable cache for secrets ([#727](https://github.com/keptn/lifecycle-toolkit/issues/727)) ([6ddbb6d](https://github.com/keptn/lifecycle-toolkit/commit/6ddbb6d2bdea53cd9152ed76ba1314ca66ad1bbc)) -* **operator:** dynamically create tracers during reconciliation ([#804](https://github.com/keptn/lifecycle-toolkit/issues/804)) ([68f188e](https://github.com/keptn/lifecycle-toolkit/commit/68f188e403d4a0ca143d38328f6064fd0d925861)) -* **operator:** fix calculation of deployment interval metrics ([#822](https://github.com/keptn/lifecycle-toolkit/issues/822)) ([a798eed](https://github.com/keptn/lifecycle-toolkit/commit/a798eed0e6358faed7d40ea60920ec09858665f3)) -* **operator:** prevent re-execution of workload tasks that have been cancelled in a previous KLT version ([#718](https://github.com/keptn/lifecycle-toolkit/issues/718)) ([d89e179](https://github.com/keptn/lifecycle-toolkit/commit/d89e17909d9294dc172b62c621cfb8edf2eef533)) -* **operator:** refactored metric adapter for helm generation ([#725](https://github.com/keptn/lifecycle-toolkit/issues/725)) ([e271162](https://github.com/keptn/lifecycle-toolkit/commit/e271162a3120618b617a4d3e501c2ab02de071fd)) -* security pipeline issues ([#700](https://github.com/keptn/lifecycle-toolkit/issues/700)) ([ef5a7c5](https://github.com/keptn/lifecycle-toolkit/commit/ef5a7c5f816dca9a6767ca166e263d36843c720d)) -* updated path to observability folder ([#780](https://github.com/keptn/lifecycle-toolkit/issues/780)) ([f2f09ea](https://github.com/keptn/lifecycle-toolkit/commit/f2f09ea4fcaca32db485f60d500c0f5a8ff29a68)) - - -### Performance - -* **operator:** only check for KeptnApp pre-evaluation if KWI has not entered its first phase yet ([#701](https://github.com/keptn/lifecycle-toolkit/issues/701)) ([a9f41d7](https://github.com/keptn/lifecycle-toolkit/commit/a9f41d7c42d2bad64da325881bd6a61f37f70b6b)) -* requeue `KeptnMetric` and process them only when deadline is met ([#681](https://github.com/keptn/lifecycle-toolkit/issues/681)) ([39dd3f8](https://github.com/keptn/lifecycle-toolkit/commit/39dd3f842607ed2e9c93cfef72c7cf53a6a92ad5)) - - -### Docs - -* add context, update secret wording ([#781](https://github.com/keptn/lifecycle-toolkit/issues/781)) ([29b00cb](https://github.com/keptn/lifecycle-toolkit/commit/29b00cbb161202376524fb36ec5f8db8fa616489)) -* add keptn certificate manager infos ([#652](https://github.com/keptn/lifecycle-toolkit/issues/652)) ([8cfb221](https://github.com/keptn/lifecycle-toolkit/commit/8cfb221d7ecb42093ee5c2f752fc3837e9d5a318)) -* added breaking change message ([#726](https://github.com/keptn/lifecycle-toolkit/issues/726)) ([ebdebad](https://github.com/keptn/lifecycle-toolkit/commit/ebdebad0976d4a7b6f7b99e94331651199b181a7)) -* added documentation to enable Slack notification post deployment task ([#787](https://github.com/keptn/lifecycle-toolkit/issues/787)) ([#788](https://github.com/keptn/lifecycle-toolkit/issues/788)) ([28a7319](https://github.com/keptn/lifecycle-toolkit/commit/28a7319f0f94271bbe76038ebba7dbdc2c38ada5)) -* adjustments to folder structure ([#660](https://github.com/keptn/lifecycle-toolkit/issues/660)) ([1ec07ba](https://github.com/keptn/lifecycle-toolkit/commit/1ec07ba867a20b256fe7340a1ae63a39db706972)) -* change port for KTL docs ([#713](https://github.com/keptn/lifecycle-toolkit/issues/713)) ([517e148](https://github.com/keptn/lifecycle-toolkit/commit/517e148fd13c771e1b5c4f8406315828f8fc8e6b)) -* contribution guide for the community ([#709](https://github.com/keptn/lifecycle-toolkit/issues/709)) ([8b37dd7](https://github.com/keptn/lifecycle-toolkit/commit/8b37dd7cd7fc4646552995da6829bf8cfccedb6e)) -* describe how to use Custom Metrics API integration ([#706](https://github.com/keptn/lifecycle-toolkit/issues/706)) ([d33af19](https://github.com/keptn/lifecycle-toolkit/commit/d33af197e6b4f64724ee9c0470d6347b86be01e8)) -* documentation for restartable applications feature ([#645](https://github.com/keptn/lifecycle-toolkit/issues/645)) ([672bfa8](https://github.com/keptn/lifecycle-toolkit/commit/672bfa8f18923174d6ca9a73aaf1862cdf798e18)) -* fix broken edit for developer ([#756](https://github.com/keptn/lifecycle-toolkit/issues/756)) ([ce6b7f0](https://github.com/keptn/lifecycle-toolkit/commit/ce6b7f0fccbb4015fb4f7f809a473a08384d2d9e)) -* fix build status readme badge ([#590](https://github.com/keptn/lifecycle-toolkit/issues/590)) ([88e7ac4](https://github.com/keptn/lifecycle-toolkit/commit/88e7ac49eb3876b352f2418c853d9f306cf59386)) -* modify getting-started.md ([#768](https://github.com/keptn/lifecycle-toolkit/issues/768)) ([f2263b5](https://github.com/keptn/lifecycle-toolkit/commit/f2263b50e5172f3d052b42f4a8f1eba997b8e21e)) -* set up directory for Architecture docs ([#773](https://github.com/keptn/lifecycle-toolkit/issues/773)) ([7c3696e](https://github.com/keptn/lifecycle-toolkit/commit/7c3696e98b915ad2179bdf14cd093247e07056e7)) -* set up directory for CRD Reference ([#800](https://github.com/keptn/lifecycle-toolkit/issues/800)) ([4748728](https://github.com/keptn/lifecycle-toolkit/commit/47487284f5c2c17b80cdaed736c7bb78fc1e5d7e)) -* update broken task file ([#757](https://github.com/keptn/lifecycle-toolkit/issues/757)) ([082f091](https://github.com/keptn/lifecycle-toolkit/commit/082f091bd8781dcf9323da89fb3731abcc2d1ca4)) -* update getting started wording ([#782](https://github.com/keptn/lifecycle-toolkit/issues/782)) ([dc6f664](https://github.com/keptn/lifecycle-toolkit/commit/dc6f664c5a3132e7a01078c25c4c4bb059cde8bf)) - - -### Dependency Updates - -* update amannn/action-semantic-pull-request action to v5.1.0 ([#837](https://github.com/keptn/lifecycle-toolkit/issues/837)) ([fa9bb6a](https://github.com/keptn/lifecycle-toolkit/commit/fa9bb6a4bfe58dacb570ae20e39623d75136162d)) -* update anchore/sbom-action action to v0.13.3 ([#715](https://github.com/keptn/lifecycle-toolkit/issues/715)) ([bc75f00](https://github.com/keptn/lifecycle-toolkit/commit/bc75f001fb2bd6d8142254de1dc67d4065033247)) -* update aquasecurity/trivy-action action to v0.9.0 ([#763](https://github.com/keptn/lifecycle-toolkit/issues/763)) ([1a79def](https://github.com/keptn/lifecycle-toolkit/commit/1a79def6e6075cf28d39fe8fdac2f54eccd01c2f)) -* update aquasecurity/trivy-action action to v0.9.1 ([#834](https://github.com/keptn/lifecycle-toolkit/issues/834)) ([3db24f1](https://github.com/keptn/lifecycle-toolkit/commit/3db24f1200e69d25afd9b80bec62f0d8d7c4b1d4)) -* update dawidd6/action-download-artifact action to v2.24.4 ([#836](https://github.com/keptn/lifecycle-toolkit/issues/836)) ([2296d8f](https://github.com/keptn/lifecycle-toolkit/commit/2296d8fe318aa9e9d1aeba2ff86fe74906e504d3)) -* update dawidd6/action-download-artifact action to v2.25.0 ([#838](https://github.com/keptn/lifecycle-toolkit/issues/838)) ([d70753b](https://github.com/keptn/lifecycle-toolkit/commit/d70753bc252ca2f02150aa40cbca3ed8275b2c67)) -* update dependency argoproj/argo-cd to v2.5.10 ([#766](https://github.com/keptn/lifecycle-toolkit/issues/766)) ([e4046ae](https://github.com/keptn/lifecycle-toolkit/commit/e4046ae677edb1213b9f1ad6ca837501dc11b3ba)) -* update dependency argoproj/argo-cd to v2.5.6 ([#624](https://github.com/keptn/lifecycle-toolkit/issues/624)) ([278c74b](https://github.com/keptn/lifecycle-toolkit/commit/278c74bce5356a7e00f93604a10b56cde79a388e)) -* update dependency argoproj/argo-cd to v2.5.7 ([#649](https://github.com/keptn/lifecycle-toolkit/issues/649)) ([ca5c106](https://github.com/keptn/lifecycle-toolkit/commit/ca5c106d389eb4dc790c8beb3daaaf51cbfbdb20)) -* update dependency argoproj/argo-cd to v2.5.9 ([#714](https://github.com/keptn/lifecycle-toolkit/issues/714)) ([3e79f3d](https://github.com/keptn/lifecycle-toolkit/commit/3e79f3d7bccc491d1285f2acbfb5e8c9b21d3468)) -* update dependency argoproj/argo-cd to v2.6.1 ([#816](https://github.com/keptn/lifecycle-toolkit/issues/816)) ([44acfbb](https://github.com/keptn/lifecycle-toolkit/commit/44acfbb5f05e2917b22fbd6fcdf69ed8cce9ffd6)) -* update dependency cert-manager/cert-manager to v1.11.0 ([#627](https://github.com/keptn/lifecycle-toolkit/issues/627)) ([8720282](https://github.com/keptn/lifecycle-toolkit/commit/8720282a9c9817976d75457de392b7bd9989ca72)) -* update dependency helm/helm to v3.10.3 ([#722](https://github.com/keptn/lifecycle-toolkit/issues/722)) ([491874c](https://github.com/keptn/lifecycle-toolkit/commit/491874c9ed7490ff54b88d0b511da67b14f25b1f)) -* update dependency helm/helm to v3.11.0 ([#730](https://github.com/keptn/lifecycle-toolkit/issues/730)) ([ca85d3d](https://github.com/keptn/lifecycle-toolkit/commit/ca85d3de42879d9a5e3b5341918bd90a7e5e5274)) -* update dependency helm/helm to v3.11.1 ([#819](https://github.com/keptn/lifecycle-toolkit/issues/819)) ([9f6b93f](https://github.com/keptn/lifecycle-toolkit/commit/9f6b93f674d3b88d464b1357bef3790858168b78)) -* update dependency kubernetes-sigs/controller-tools to v0.11.2 ([#741](https://github.com/keptn/lifecycle-toolkit/issues/741)) ([bd0d218](https://github.com/keptn/lifecycle-toolkit/commit/bd0d2183f453fab9f25c016d185d070ca168e3c6)) -* update dependency kubernetes-sigs/controller-tools to v0.11.3 ([#777](https://github.com/keptn/lifecycle-toolkit/issues/777)) ([207d2ca](https://github.com/keptn/lifecycle-toolkit/commit/207d2ca1b777a0f9cf3881c98345bf8e91a1033e)) -* update dependency pyyaml to v5.4.1 ([#642](https://github.com/keptn/lifecycle-toolkit/issues/642)) ([d854d7a](https://github.com/keptn/lifecycle-toolkit/commit/d854d7ae379cc0401e49c1c8cfccece39bb82619)) -* update dependency pyyaml to v6 ([#648](https://github.com/keptn/lifecycle-toolkit/issues/648)) ([850cf7a](https://github.com/keptn/lifecycle-toolkit/commit/850cf7a8e32f31f02bb3fd2cdc879293b062a432)) -* update docker/build-push-action action to v4 ([#736](https://github.com/keptn/lifecycle-toolkit/issues/736)) ([cad355a](https://github.com/keptn/lifecycle-toolkit/commit/cad355a2a8ee15296015db62cb86e1038c97fba3)) -* update golang docker tag to v1.19.5 ([#587](https://github.com/keptn/lifecycle-toolkit/issues/587)) ([567a211](https://github.com/keptn/lifecycle-toolkit/commit/567a2115b156fe950f52b2408247d859fb168b72)) -* update golang docker tag to v1.20.0 ([#742](https://github.com/keptn/lifecycle-toolkit/issues/742)) ([c9873ae](https://github.com/keptn/lifecycle-toolkit/commit/c9873ae18e5f353e5a0539eda680bac0444817a8)) -* update golang.org/x/exp digest to 1de6713 ([#641](https://github.com/keptn/lifecycle-toolkit/issues/641)) ([a1417dd](https://github.com/keptn/lifecycle-toolkit/commit/a1417ddfd250c1a9528a0204ecf48444b3adfd6b)) -* update golang.org/x/exp digest to 46f607a ([#760](https://github.com/keptn/lifecycle-toolkit/issues/760)) ([77196c7](https://github.com/keptn/lifecycle-toolkit/commit/77196c70fed0f1f030f03de2900554138cd1e230)) -* update golang.org/x/exp digest to 54bba9f ([#753](https://github.com/keptn/lifecycle-toolkit/issues/753)) ([79b9021](https://github.com/keptn/lifecycle-toolkit/commit/79b9021b777439443630b0f682499a070aefb62c)) -* update golang.org/x/exp digest to a67bb56 ([#691](https://github.com/keptn/lifecycle-toolkit/issues/691)) ([cbe2ed3](https://github.com/keptn/lifecycle-toolkit/commit/cbe2ed33ea7c14dbe073936fa653edef2739d883)) -* update golang.org/x/exp digest to a684f29 ([#815](https://github.com/keptn/lifecycle-toolkit/issues/815)) ([65495a8](https://github.com/keptn/lifecycle-toolkit/commit/65495a84dac2e6db10833be12a889ed759eb3dbd)) -* update golang.org/x/exp digest to a68e582 ([#653](https://github.com/keptn/lifecycle-toolkit/issues/653)) ([d6fabf5](https://github.com/keptn/lifecycle-toolkit/commit/d6fabf55d6a45d7bd5594fb59121eba2447e82d2)) -* update golang.org/x/exp digest to f062dba ([#710](https://github.com/keptn/lifecycle-toolkit/issues/710)) ([9135eaf](https://github.com/keptn/lifecycle-toolkit/commit/9135eaf169eb2c710f1484390374ca8c6b3157f3)) -* update kubernetes packages (patch) ([#704](https://github.com/keptn/lifecycle-toolkit/issues/704)) ([7370933](https://github.com/keptn/lifecycle-toolkit/commit/7370933f6b4d6461ee17c9d16c196c8e1bb3eb3c)) -* update kubernetes packages to v0.25.6 (patch) ([#663](https://github.com/keptn/lifecycle-toolkit/issues/663)) ([2bcc1dd](https://github.com/keptn/lifecycle-toolkit/commit/2bcc1dd248aa6c173e9e0566d1b6601afac09031)) -* update module github.com/benbjohnson/clock to v1.3.0 ([#705](https://github.com/keptn/lifecycle-toolkit/issues/705)) ([cd989be](https://github.com/keptn/lifecycle-toolkit/commit/cd989bebc0641683fc8e073800019bd859bc91cd)) -* update module github.com/onsi/ginkgo/v2 to v2.7.0 ([#611](https://github.com/keptn/lifecycle-toolkit/issues/611)) ([9ace485](https://github.com/keptn/lifecycle-toolkit/commit/9ace4859188654ac74c2bede289aba3dfcd026a3)) -* update module github.com/onsi/ginkgo/v2 to v2.7.1 ([#729](https://github.com/keptn/lifecycle-toolkit/issues/729)) ([59c853c](https://github.com/keptn/lifecycle-toolkit/commit/59c853ce54ed01076cd8b0a36513173efaf62f02)) -* update module github.com/onsi/ginkgo/v2 to v2.8.0 ([#754](https://github.com/keptn/lifecycle-toolkit/issues/754)) ([5613491](https://github.com/keptn/lifecycle-toolkit/commit/5613491e4cde12d10c106aa341520181b5f182d8)) -* update module github.com/onsi/gomega to v1.26.0 ([#672](https://github.com/keptn/lifecycle-toolkit/issues/672)) ([3b092bd](https://github.com/keptn/lifecycle-toolkit/commit/3b092bd1faf46a04523819f83025ca67585767d8)) -* update module github.com/open-feature/flagd to v0.3.4 ([#716](https://github.com/keptn/lifecycle-toolkit/issues/716)) ([026b25d](https://github.com/keptn/lifecycle-toolkit/commit/026b25d70b83180b8cb7ce80ec40e659ac4b2f24)) -* update module github.com/spf13/afero to v1.9.3 ([#654](https://github.com/keptn/lifecycle-toolkit/issues/654)) ([2831566](https://github.com/keptn/lifecycle-toolkit/commit/283156638a960725e8bcbc11ae82277f930c9398)) -* update module google.golang.org/grpc to v1.52.0 ([#626](https://github.com/keptn/lifecycle-toolkit/issues/626)) ([ba65776](https://github.com/keptn/lifecycle-toolkit/commit/ba657761fcecd1e52835e5e5d27a785329b597c4)) -* update module google.golang.org/grpc to v1.52.3 ([#711](https://github.com/keptn/lifecycle-toolkit/issues/711)) ([6c3009d](https://github.com/keptn/lifecycle-toolkit/commit/6c3009dfb39ade9d2cc765f0897687e98571a19e)) -* update module k8s.io/component-helpers to v0.25.6 ([#676](https://github.com/keptn/lifecycle-toolkit/issues/676)) ([bda60c8](https://github.com/keptn/lifecycle-toolkit/commit/bda60c8301ce7cc247c3748fa25304c284750f75)) -* update module k8s.io/klog/v2 to v2.90.0 ([#685](https://github.com/keptn/lifecycle-toolkit/issues/685)) ([98164ed](https://github.com/keptn/lifecycle-toolkit/commit/98164ed938a4f247a892e1ebf1a47bb0e5af1f67)) -* update module sigs.k8s.io/controller-runtime to v0.14.2 ([#723](https://github.com/keptn/lifecycle-toolkit/issues/723)) ([31fac62](https://github.com/keptn/lifecycle-toolkit/commit/31fac62d81e67354235f55b40ecdfc921a75b265)) -* update module sigs.k8s.io/controller-runtime to v0.14.3 ([#762](https://github.com/keptn/lifecycle-toolkit/issues/762)) ([37e783e](https://github.com/keptn/lifecycle-toolkit/commit/37e783ee09107a9eac0d1e0392fb4958d63355d4)) -* update module sigs.k8s.io/controller-runtime to v0.14.4 ([#811](https://github.com/keptn/lifecycle-toolkit/issues/811)) ([0191385](https://github.com/keptn/lifecycle-toolkit/commit/0191385137751d8cc3b4b3a2fe35403fe2ad5771)) - - -### Other - -* add maturity status for each feature ([#825](https://github.com/keptn/lifecycle-toolkit/issues/825)) ([d5849c9](https://github.com/keptn/lifecycle-toolkit/commit/d5849c9e4f6d1f7c05c30fb2534284ff3b8cc25b)) -* add StackScribe as Code Owner of docs ([#821](https://github.com/keptn/lifecycle-toolkit/issues/821)) ([c90db1e](https://github.com/keptn/lifecycle-toolkit/commit/c90db1e6d848248c05032572dfad86fbda610bf0)) -* fail linter CI jobs when checks are failing ([#630](https://github.com/keptn/lifecycle-toolkit/issues/630)) ([a5e0eaa](https://github.com/keptn/lifecycle-toolkit/commit/a5e0eaaf040026fedfa08f065b97b8de315b4132)) -* fix markdown linter errors ([#824](https://github.com/keptn/lifecycle-toolkit/issues/824)) ([5df8789](https://github.com/keptn/lifecycle-toolkit/commit/5df87899038bd6205b51d87f0954d2b3b616868a)) -* **operator:** fix linter issues ([#579](https://github.com/keptn/lifecycle-toolkit/issues/579)) ([64603fb](https://github.com/keptn/lifecycle-toolkit/commit/64603fbe728631b7f84e79552b39ad34957e60ea)) -* **scheduler:** added new scheduler tests ([#634](https://github.com/keptn/lifecycle-toolkit/issues/634)) ([2e47b92](https://github.com/keptn/lifecycle-toolkit/commit/2e47b9227b7622af703311b1be69b7e0706c4700)) -* stop linter CI job on error ([#631](https://github.com/keptn/lifecycle-toolkit/issues/631)) ([c5463c6](https://github.com/keptn/lifecycle-toolkit/commit/c5463c621267859ac56d53a4ec6b0458e62db9f9)) -* update codeowners to have default owners for docs folder ([#827](https://github.com/keptn/lifecycle-toolkit/issues/827)) ([82351f4](https://github.com/keptn/lifecycle-toolkit/commit/82351f4458d715607f356a04e343477b2937f564)) -* update observability demo link ([#666](https://github.com/keptn/lifecycle-toolkit/issues/666)) ([53e53f1](https://github.com/keptn/lifecycle-toolkit/commit/53e53f1ccb81e397f415dcaea53a6a7c1589daf3)) - -## [0.5.0](https://github.com/keptn/lifecycle-toolkit/compare/v0.4.1...v0.5.0) (2023-01-10) - - -### ⚠ BREAKING CHANGES - -* Evaluation and Task statuses in KeptnWorkloadInstance/KeptnAppVersion use the same structure -* **operator:** With API version `v1alpha2`, `KeptnEvaluationProvider` uses a Secret Selector instead of `SecretName`. -* We are introducing scarf.sh for download tracking to have valuable information that will show us adoption rates for the toolkit. - -### Features - -* add a new operator for self-hosted certificate management ([#523](https://github.com/keptn/lifecycle-toolkit/issues/523)) ([90bbdba](https://github.com/keptn/lifecycle-toolkit/commit/90bbdba2ab560cc2650ba45b2126ebcb0c90a1da)) -* add revision field to KeptnApp ([#494](https://github.com/keptn/lifecycle-toolkit/issues/494)) ([23ddfa3](https://github.com/keptn/lifecycle-toolkit/commit/23ddfa3b6a9a445b99eea1332b776299b4e4558a)) -* generate SBOMs for container images on release ([#571](https://github.com/keptn/lifecycle-toolkit/issues/571)) ([72fe001](https://github.com/keptn/lifecycle-toolkit/commit/72fe001eee0c97a8efaa4a572aec05095b14c9be)) -* introduce API groups in KLT ([#547](https://github.com/keptn/lifecycle-toolkit/issues/547)) ([b482d96](https://github.com/keptn/lifecycle-toolkit/commit/b482d96d6e76564e0f76e1aad6af3ed2b50be84a)) -* introduce API version v1alpha2 ([#491](https://github.com/keptn/lifecycle-toolkit/issues/491)) ([229bcc9](https://github.com/keptn/lifecycle-toolkit/commit/229bcc9778780e9a5c5233f8753692cf578b60b5)) -* **operator:** add version conversion rule for KeptnEvaluationProvider ([#531](https://github.com/keptn/lifecycle-toolkit/issues/531)) ([f1e9fe1](https://github.com/keptn/lifecycle-toolkit/commit/f1e9fe15023679ba1920fceb3306afadee025582)) -* **operator:** emit K8s events with detailed messages for failed evaluations ([#477](https://github.com/keptn/lifecycle-toolkit/issues/477)) ([1b3a56f](https://github.com/keptn/lifecycle-toolkit/commit/1b3a56fc41ae6322dcf7f0fdc947cf1100ed49bd)) -* **operator:** fix ownership information for keptnworkloads ([#520](https://github.com/keptn/lifecycle-toolkit/issues/520)) ([1e642c7](https://github.com/keptn/lifecycle-toolkit/commit/1e642c7bc254601a14c374ae5b928e53a03a3e52)) -* **operator:** introduce evaluation support for Dynatrace ([#194](https://github.com/keptn/lifecycle-toolkit/issues/194)) ([c6483cc](https://github.com/keptn/lifecycle-toolkit/commit/c6483cc8e569e3cae5284315eeb873e051aea7d4)) -* **operator:** support restartability of KeptnApp ([#544](https://github.com/keptn/lifecycle-toolkit/issues/544)) ([99070c2](https://github.com/keptn/lifecycle-toolkit/commit/99070c2a5a98c25fc520a5c8c6825917fdc7726c)) -* set default of 1 for KeptnApp revision field ([#513](https://github.com/keptn/lifecycle-toolkit/issues/513)) ([a5cb3f2](https://github.com/keptn/lifecycle-toolkit/commit/a5cb3f23c164f9c9a4f5b1f7a8bf5251e9b50885)) -* use scarf.sh registry for all container images ([#507](https://github.com/keptn/lifecycle-toolkit/issues/507)) ([647c6a1](https://github.com/keptn/lifecycle-toolkit/commit/647c6a1f84ead8bed394e32528d5dd85854765b6)) - - -### Bug Fixes - -* **dashboards:** use fixed color mode for succeeded AppVersion/WorkloadInstance tiles ([#515](https://github.com/keptn/lifecycle-toolkit/issues/515)) ([8cdb23e](https://github.com/keptn/lifecycle-toolkit/commit/8cdb23ee61cc7ee22be2b7326bbf202ee3ddf09f)) - - -### Dependency Updates - -* add more renovate annotations for auto updates ([#519](https://github.com/keptn/lifecycle-toolkit/issues/519)) ([1555d63](https://github.com/keptn/lifecycle-toolkit/commit/1555d63cb034cf70ea4664fddd046a5320dc3fc0)) -* add yaml files to renovate ([#527](https://github.com/keptn/lifecycle-toolkit/issues/527)) ([2ee11f5](https://github.com/keptn/lifecycle-toolkit/commit/2ee11f542f3f3532f65b1c864f28316744f4dc89)) -* update dawidd6/action-download-artifact action to v2.24.3 ([#560](https://github.com/keptn/lifecycle-toolkit/issues/560)) ([5220e9d](https://github.com/keptn/lifecycle-toolkit/commit/5220e9d414921ef209b5d2d0438004d2db4cd152)) -* update denoland/deno docker tag to v1.28.3 ([#467](https://github.com/keptn/lifecycle-toolkit/issues/467)) ([59fa6b0](https://github.com/keptn/lifecycle-toolkit/commit/59fa6b05d13a468daf004ff4b180c3c161040f96)) -* update denoland/deno docker tag to v1.29.1 ([#534](https://github.com/keptn/lifecycle-toolkit/issues/534)) ([3b316f9](https://github.com/keptn/lifecycle-toolkit/commit/3b316f930a1fa96c4ff1d644ec7c7565d3e7f040)) -* update dependency argoproj/argo-cd to v2.5.4 ([#492](https://github.com/keptn/lifecycle-toolkit/issues/492)) ([6f16dac](https://github.com/keptn/lifecycle-toolkit/commit/6f16dac49514fbd5f04c08e65cfe567db6b5c0f1)) -* update dependency argoproj/argo-cd to v2.5.5 ([#543](https://github.com/keptn/lifecycle-toolkit/issues/543)) ([f1b59ca](https://github.com/keptn/lifecycle-toolkit/commit/f1b59ca4c6fa25a8584db15e9bad50390113fee6)) -* update dependency cert-manager/cert-manager to v1.10.1 ([#530](https://github.com/keptn/lifecycle-toolkit/issues/530)) ([cb83e24](https://github.com/keptn/lifecycle-toolkit/commit/cb83e24c24c65dffb3f1923753905c31765020e3)) -* update dependency jaegertracing/jaeger to v1.40.0 ([#506](https://github.com/keptn/lifecycle-toolkit/issues/506)) ([ddb9eca](https://github.com/keptn/lifecycle-toolkit/commit/ddb9eca674e7d7af42d99b50d629d21a6824cf09)) -* update dependency jaegertracing/jaeger to v1.41.0 ([#565](https://github.com/keptn/lifecycle-toolkit/issues/565)) ([cc5f7ca](https://github.com/keptn/lifecycle-toolkit/commit/cc5f7ca831c719871bd2e4e403cf47bd4792d390)) -* update dependency kubernetes-sigs/kustomize to v4 ([#575](https://github.com/keptn/lifecycle-toolkit/issues/575)) ([36a6169](https://github.com/keptn/lifecycle-toolkit/commit/36a61698e2cb1d0c25ac51c8d98d7a40f97b0bc7)) -* update dependency kudobuilder/kuttl to v0.14.0 ([#561](https://github.com/keptn/lifecycle-toolkit/issues/561)) ([ff6b95a](https://github.com/keptn/lifecycle-toolkit/commit/ff6b95a84b483eb47c5504a85756338e89318bde)) -* update dependency kudobuilder/kuttl to v0.15.0 ([#566](https://github.com/keptn/lifecycle-toolkit/issues/566)) ([9516fcf](https://github.com/keptn/lifecycle-toolkit/commit/9516fcf8776875fd28dea12b2303acf5935295f8)) -* update golang docker tag to v1.19.4 ([#495](https://github.com/keptn/lifecycle-toolkit/issues/495)) ([5a74869](https://github.com/keptn/lifecycle-toolkit/commit/5a74869861cf9af29220244c3803003927d1f783)) -* update jasonetco/create-an-issue action to v2.9.1 ([#557](https://github.com/keptn/lifecycle-toolkit/issues/557)) ([f6d5934](https://github.com/keptn/lifecycle-toolkit/commit/f6d59345f3954673122097e686e769c3a1ed14e9)) -* update kubernetes packages to v0.25.5 (patch) ([#499](https://github.com/keptn/lifecycle-toolkit/issues/499)) ([627b9e1](https://github.com/keptn/lifecycle-toolkit/commit/627b9e163b66121609b13a8d4496cee72fdf8f55)) -* update module github.com/magiconair/properties to v1.8.7 ([#503](https://github.com/keptn/lifecycle-toolkit/issues/503)) ([4f87239](https://github.com/keptn/lifecycle-toolkit/commit/4f872397b28063b998091ed43a766b7f9c72fe75)) -* update module github.com/onsi/ginkgo/v2 to v2.5.1 ([#384](https://github.com/keptn/lifecycle-toolkit/issues/384)) ([955d41e](https://github.com/keptn/lifecycle-toolkit/commit/955d41e4c1d86596e6b00aee78033f268a5b3d80)) -* update module github.com/onsi/ginkgo/v2 to v2.6.1 ([#535](https://github.com/keptn/lifecycle-toolkit/issues/535)) ([e02929a](https://github.com/keptn/lifecycle-toolkit/commit/e02929a0695b54ec455c4e256e140d19831d39b0)) -* update module github.com/onsi/gomega to v1.24.2 ([#532](https://github.com/keptn/lifecycle-toolkit/issues/532)) ([2480f21](https://github.com/keptn/lifecycle-toolkit/commit/2480f216a9b619d6268a9edd6e8a9a9366fe58f8)) -* update module github.com/prometheus/common to v0.37.1 ([#533](https://github.com/keptn/lifecycle-toolkit/issues/533)) ([b72d52e](https://github.com/keptn/lifecycle-toolkit/commit/b72d52eb1e940247f4accbf7e883edcf965dbd52)) -* update module github.com/prometheus/common to v0.39.0 ([#502](https://github.com/keptn/lifecycle-toolkit/issues/502)) ([28ab629](https://github.com/keptn/lifecycle-toolkit/commit/28ab6292d5c06e328f57794e0c309ef0b124f9d5)) -* update module github.com/stretchr/testify to v1.8.1 ([#551](https://github.com/keptn/lifecycle-toolkit/issues/551)) ([523bb55](https://github.com/keptn/lifecycle-toolkit/commit/523bb5520e81ce4078188c744b54ca5c9a79212e)) -* update module google.golang.org/grpc to v1.51.0 ([#451](https://github.com/keptn/lifecycle-toolkit/issues/451)) ([3828ee5](https://github.com/keptn/lifecycle-toolkit/commit/3828ee58a1737694f93072208f54229d6f0fae8e)) -* update module k8s.io/api to v0.25.5 ([#573](https://github.com/keptn/lifecycle-toolkit/issues/573)) ([5159a5e](https://github.com/keptn/lifecycle-toolkit/commit/5159a5e1d9aa774b719e2744b2d264b3559f8467)) -* update module k8s.io/component-helpers to v0.25.5 ([#504](https://github.com/keptn/lifecycle-toolkit/issues/504)) ([02b5982](https://github.com/keptn/lifecycle-toolkit/commit/02b59826329a70742dd39edcb9c3a32ba86b0a6b)) -* update module k8s.io/kubernetes to v1.25.5 ([#501](https://github.com/keptn/lifecycle-toolkit/issues/501)) ([df8e51c](https://github.com/keptn/lifecycle-toolkit/commit/df8e51c13a5a9b88bd96b67add713251682b274e)) -* update opentelemetry-go monorepo to v0.34.0 (minor) ([#498](https://github.com/keptn/lifecycle-toolkit/issues/498)) ([e7db4d0](https://github.com/keptn/lifecycle-toolkit/commit/e7db4d099f1586498f16047c3d0669cdb9a88147)) - - -### Other - -* add scarf pixel to markdown files ([#493](https://github.com/keptn/lifecycle-toolkit/issues/493)) ([b05a810](https://github.com/keptn/lifecycle-toolkit/commit/b05a810860d1286abdc72e9d1fe0ef4204453018)) -* enhance golangci-lint with code complexity and other measures ([#484](https://github.com/keptn/lifecycle-toolkit/issues/484)) ([1d711d0](https://github.com/keptn/lifecycle-toolkit/commit/1d711d09b181ea72277ac6cb43f1ac605e82955f)) -* **operator:** refactor operator and scheduler statuses + add unit tests ([#548](https://github.com/keptn/lifecycle-toolkit/issues/548)) ([c661dc0](https://github.com/keptn/lifecycle-toolkit/commit/c661dc063544835e3854b20c06c22ed536529511)) -* unify EvaluationStatus and TaskStatus to single structure ([#569](https://github.com/keptn/lifecycle-toolkit/issues/569)) ([9b31b04](https://github.com/keptn/lifecycle-toolkit/commit/9b31b04546fb600735e18ed3d522b85453bf5be5)) -* upgrade examples and tests to v1alpha2 ([#509](https://github.com/keptn/lifecycle-toolkit/issues/509)) ([2a133ea](https://github.com/keptn/lifecycle-toolkit/commit/2a133eaef43fa800fe937f7a5cde115d78e4b5fb)) - -## [0.4.1](https://github.com/keptn/lifecycle-toolkit/compare/v0.4.0...v0.4.1) (2022-11-30) - - -### Features - -* Move dashboards and fix issues ([#417](https://github.com/keptn/lifecycle-toolkit/issues/417)) ([f6b5bfc](https://github.com/keptn/lifecycle-toolkit/commit/f6b5bfcd0f3254970101c3ac53bdec8d1426b3de)) -* **operator:** Copy annotations from parent resource if not defined on pod ([#305](https://github.com/keptn/lifecycle-toolkit/issues/305)) ([c21f015](https://github.com/keptn/lifecycle-toolkit/commit/c21f015a9d4efcc2b59f9c5be41da758dca8e618)) -* **operator:** include detailed information about task/evaluation failure in span ([#445](https://github.com/keptn/lifecycle-toolkit/issues/445)) ([94de8d6](https://github.com/keptn/lifecycle-toolkit/commit/94de8d6528a4de293372cffa50f3c12cd24909f5)) -* **operator:** refactor existing interfaces ([#419](https://github.com/keptn/lifecycle-toolkit/issues/419)) ([f9c28a8](https://github.com/keptn/lifecycle-toolkit/commit/f9c28a8b677cc82e50201deb743c12458b4dffb4)) -* **operator:** Refactor metrics helper functions ([#269](https://github.com/keptn/lifecycle-toolkit/issues/269)) ([b6f3f43](https://github.com/keptn/lifecycle-toolkit/commit/b6f3f43e29737839b25fea16c7b3810f193b313f)) -* **operator:** Refactor Task, Evaluation handling + adapt span attributes setting ([#287](https://github.com/keptn/lifecycle-toolkit/issues/287)) ([4d16a77](https://github.com/keptn/lifecycle-toolkit/commit/4d16a779d28738bfbc06a58f0ea2acb0abb08969)) -* **operator:** rework Task and Evaluation span structure ([#465](https://github.com/keptn/lifecycle-toolkit/issues/465)) ([e5717c6](https://github.com/keptn/lifecycle-toolkit/commit/e5717c620ce16946cde56e4bbc56e9aa8527b2a8)) -* **operator:** rework Workload and Application span structure ([#452](https://github.com/keptn/lifecycle-toolkit/issues/452)) ([9a483ce](https://github.com/keptn/lifecycle-toolkit/commit/9a483ceffc25d9524f894a49603fee07d7032e26)) - - -### Bug Fixes - -* adapt name of keptn_app_count metric due to reverted OTel exporter dependency update ([#482](https://github.com/keptn/lifecycle-toolkit/issues/482)) ([97f8e8c](https://github.com/keptn/lifecycle-toolkit/commit/97f8e8cb0b1acbfc868a438dc52dc6dc9c0d2b5e)) -* Added back permission to list and watch namespaces ([#404](https://github.com/keptn/lifecycle-toolkit/issues/404)) ([df346f7](https://github.com/keptn/lifecycle-toolkit/commit/df346f7986b1a81797a17356fcca49d7e08062b9)) -* Fixed problems in examples ([#378](https://github.com/keptn/lifecycle-toolkit/issues/378)) ([277be10](https://github.com/keptn/lifecycle-toolkit/commit/277be10128a2ed7e8e91181891fdcd5be27978ca)) -* **operator:** Also consider StatefulSets/DaemonSets when checking Workload Deployment state ([#406](https://github.com/keptn/lifecycle-toolkit/issues/406)) ([27c189f](https://github.com/keptn/lifecycle-toolkit/commit/27c189f93e363ecb7dde21186207ecb83d82f071)) -* **operator:** build env variables are computed during docker build ([#457](https://github.com/keptn/lifecycle-toolkit/issues/457)) ([05ac270](https://github.com/keptn/lifecycle-toolkit/commit/05ac27028fdfe420223882c7b7c231dfb1435079)) -* **operator:** cancel pending phases when evaluation fails ([#408](https://github.com/keptn/lifecycle-toolkit/issues/408)) ([7f15baf](https://github.com/keptn/lifecycle-toolkit/commit/7f15baf85bdc7f30537ad9ce5a0c582e65ffb16f)) -* **operator:** Changed checks on pod owner replicas ([#412](https://github.com/keptn/lifecycle-toolkit/issues/412)) ([46524a7](https://github.com/keptn/lifecycle-toolkit/commit/46524a72e44afb9089c6939a86481a99f8465da0)) -* **operator:** detect Job failure and set Task to failed ([#424](https://github.com/keptn/lifecycle-toolkit/issues/424)) ([19114db](https://github.com/keptn/lifecycle-toolkit/commit/19114db17d5ea01687b184962efcb048c28fdc40)) -* **operator:** Do not proceed with WLI if no AppVersion containing it is available ([#377](https://github.com/keptn/lifecycle-toolkit/issues/377)) ([cf74540](https://github.com/keptn/lifecycle-toolkit/commit/cf7454004963ac1975a95a5bd3de2ab3783eb487)) -* **operator:** Fixed typo in pre and post deployment checks + sorting the PhaseItem interface functions according to topic ([#405](https://github.com/keptn/lifecycle-toolkit/issues/405)) ([ca8f11d](https://github.com/keptn/lifecycle-toolkit/commit/ca8f11da4bd897dad4ecc0a847745f4c8f0749c5)) -* **operator:** increment the correct meter to show deployment count ([#434](https://github.com/keptn/lifecycle-toolkit/issues/434)) ([0287596](https://github.com/keptn/lifecycle-toolkit/commit/028759683af54a1c023f909694d899a5d730b750)) -* **operator:** revert broken OTel version ([#447](https://github.com/keptn/lifecycle-toolkit/issues/447)) ([3eb47d0](https://github.com/keptn/lifecycle-toolkit/commit/3eb47d0e08d5fbb400cb68e8c4aecfa49a056ad5)) -* **operator:** use correct parent/child span relationship ([#418](https://github.com/keptn/lifecycle-toolkit/issues/418)) ([24efc80](https://github.com/keptn/lifecycle-toolkit/commit/24efc80bcf316aa08ff6d8bc0af963e0657872a6)) -* use correct namespace variable in delete cmd ([#446](https://github.com/keptn/lifecycle-toolkit/issues/446)) ([c3b2188](https://github.com/keptn/lifecycle-toolkit/commit/c3b2188f214094bd1d7cf86bc3d7db5a12f33159)) - - -### Dependency Updates - -* update denoland/deno docker tag to v1.27.2 ([#354](https://github.com/keptn/lifecycle-toolkit/issues/354)) ([3a37846](https://github.com/keptn/lifecycle-toolkit/commit/3a37846f1d0654798acaf626487d3903d824f7fc)) -* update denoland/deno docker tag to v1.28.0 ([#401](https://github.com/keptn/lifecycle-toolkit/issues/401)) ([c4502e1](https://github.com/keptn/lifecycle-toolkit/commit/c4502e1a5327653fad8b9ea9f4daf7b22a1cf739)) -* update denoland/deno docker tag to v1.28.1 ([#430](https://github.com/keptn/lifecycle-toolkit/issues/430)) ([fdf3f4b](https://github.com/keptn/lifecycle-toolkit/commit/fdf3f4b3a6471b1631db8f6c7e400b0e262ebadd)) -* update dependency argoproj/argo-cd to v2.4.17 ([#435](https://github.com/keptn/lifecycle-toolkit/issues/435)) ([9a4976b](https://github.com/keptn/lifecycle-toolkit/commit/9a4976b4d6e291f9b9a34b314a323587c4535104)) -* update dependency argoproj/argo-cd to v2.5.2 ([#438](https://github.com/keptn/lifecycle-toolkit/issues/438)) ([2cf98a2](https://github.com/keptn/lifecycle-toolkit/commit/2cf98a2b9c22e8e6cf6752494a5637eddc74595b)) -* update dependency cert-manager/cert-manager to v1.10.0 ([#439](https://github.com/keptn/lifecycle-toolkit/issues/439)) ([bb4e487](https://github.com/keptn/lifecycle-toolkit/commit/bb4e487787636c186ea59ce62e37696ac32ba708)) -* update dependency cert-manager/cert-manager to v1.10.1 ([#450](https://github.com/keptn/lifecycle-toolkit/issues/450)) ([8872b3c](https://github.com/keptn/lifecycle-toolkit/commit/8872b3ca944c4e8f647de42b4187f5a418d5247d)) -* update dependency jaegertracing/jaeger to v1.38.1 ([#437](https://github.com/keptn/lifecycle-toolkit/issues/437)) ([5bd4e4c](https://github.com/keptn/lifecycle-toolkit/commit/5bd4e4c80d0c59a8a1aa5f22b1b72ced82169178)) -* update dependency jaegertracing/jaeger to v1.39.0 ([#440](https://github.com/keptn/lifecycle-toolkit/issues/440)) ([3410b63](https://github.com/keptn/lifecycle-toolkit/commit/3410b635d1bf17884e25b7fdbe56f336c189f246)) -* update dependency kubernetes-sigs/controller-tools to v0.10.0 ([#443](https://github.com/keptn/lifecycle-toolkit/issues/443)) ([8c60dc7](https://github.com/keptn/lifecycle-toolkit/commit/8c60dc7059b6e4b10625fdd9634906674837a6ba)) -* update dependency kubernetes-sigs/kustomize to v4.5.7 ([#444](https://github.com/keptn/lifecycle-toolkit/issues/444)) ([2d83ce6](https://github.com/keptn/lifecycle-toolkit/commit/2d83ce6ddbac8039e107022dc3aa7c6862faa6dd)) -* update ghcr.io/keptn/scheduler docker tag to v202211041667586940 ([#310](https://github.com/keptn/lifecycle-toolkit/issues/310)) ([8d71e29](https://github.com/keptn/lifecycle-toolkit/commit/8d71e297e7d86484c74eddbc810c819a0e3a6b4e)) -* update go 1.19 ([#364](https://github.com/keptn/lifecycle-toolkit/issues/364)) ([c72c4bc](https://github.com/keptn/lifecycle-toolkit/commit/c72c4bc8855c362d3bf5e4fe73781c4eaa91364f)) -* update helm/kind-action action to v1.4.0 ([#355](https://github.com/keptn/lifecycle-toolkit/issues/355)) ([96cde69](https://github.com/keptn/lifecycle-toolkit/commit/96cde694a8ea4fe20e3b5ea93224671fd36118bf)) -* update kubernetes packages to v0.25.3 (minor) ([#263](https://github.com/keptn/lifecycle-toolkit/issues/263)) ([d8cec2f](https://github.com/keptn/lifecycle-toolkit/commit/d8cec2f7f19885bf36484a333ce21710d14a0b2e)) -* update kubernetes packages to v0.25.3 (patch) ([#291](https://github.com/keptn/lifecycle-toolkit/issues/291)) ([0a648b1](https://github.com/keptn/lifecycle-toolkit/commit/0a648b1b119eecca0842389a63a98908d9764f8b)) -* update kubernetes packages to v0.25.4 (patch) ([#383](https://github.com/keptn/lifecycle-toolkit/issues/383)) ([72088d6](https://github.com/keptn/lifecycle-toolkit/commit/72088d6c91b5f6b0b266627191030cd224b21883)) -* update module github.com/magiconair/properties to v1.8.6 ([#331](https://github.com/keptn/lifecycle-toolkit/issues/331)) ([f54665e](https://github.com/keptn/lifecycle-toolkit/commit/f54665e2cae31cd487aafb08690e37f7a88f1d7b)) -* update module github.com/prometheus/client_golang to v1.13.1 ([#311](https://github.com/keptn/lifecycle-toolkit/issues/311)) ([1fe4242](https://github.com/keptn/lifecycle-toolkit/commit/1fe42421ca3cad939d75fe2a3069f68aa75306f1)) -* update module github.com/prometheus/client_golang to v1.14.0 ([#395](https://github.com/keptn/lifecycle-toolkit/issues/395)) ([39af17b](https://github.com/keptn/lifecycle-toolkit/commit/39af17bb9e7d1827edb27dd1d8130a2152332cde)) -* update module google.golang.org/grpc to v1.50.1 ([#274](https://github.com/keptn/lifecycle-toolkit/issues/274)) ([44ac9b4](https://github.com/keptn/lifecycle-toolkit/commit/44ac9b4cf020043b5bee4e4d69ed3a9a27565353)) -* update module k8s.io/kubernetes to v1.25.4 ([#399](https://github.com/keptn/lifecycle-toolkit/issues/399)) ([5f47086](https://github.com/keptn/lifecycle-toolkit/commit/5f47086da4c38eb77cd8a009ae8cdb93bbc645b2)) -* update module sigs.k8s.io/controller-runtime to v0.13.1 ([#279](https://github.com/keptn/lifecycle-toolkit/issues/279)) ([3afcaad](https://github.com/keptn/lifecycle-toolkit/commit/3afcaad7a560162f154f6002eb381d2df7690de7)) -* update module sigs.k8s.io/controller-runtime to v0.13.1 ([#306](https://github.com/keptn/lifecycle-toolkit/issues/306)) ([a3a0600](https://github.com/keptn/lifecycle-toolkit/commit/a3a0600f59983d6f6ab000088dfbff54ff88eb67)) - - -### Docs - -* add cert-manager installation instructions to README ([#392](https://github.com/keptn/lifecycle-toolkit/issues/392)) ([58161a1](https://github.com/keptn/lifecycle-toolkit/commit/58161a1c6ecfa0b83534e854ab783cbff48c4bd3)) -* adding reference to youtube video ([#407](https://github.com/keptn/lifecycle-toolkit/issues/407)) ([6abcade](https://github.com/keptn/lifecycle-toolkit/commit/6abcaded0427e41fe93e61da4291afa0a49f8c6e)) -* fix CRD api version for EvaluationProvider and EvaluationDefinition ([#449](https://github.com/keptn/lifecycle-toolkit/issues/449)) ([d4c6716](https://github.com/keptn/lifecycle-toolkit/commit/d4c6716c86e737cc9c6bdd8f81470821ca948098)) - - -### Other - -* add component tests as part of the coverage ([#468](https://github.com/keptn/lifecycle-toolkit/issues/468)) ([d521669](https://github.com/keptn/lifecycle-toolkit/commit/d521669abd2dd868a8e31eb9864bf61e018f2e21)) -* add CONTRIBUTING.md file ([#466](https://github.com/keptn/lifecycle-toolkit/issues/466)) ([02c2726](https://github.com/keptn/lifecycle-toolkit/commit/02c272667d5296b1feedb9095c4f5dd72e7c7c10)) -* ensures that PR subjects start with lowercase ([#427](https://github.com/keptn/lifecycle-toolkit/issues/427)) ([246f0b6](https://github.com/keptn/lifecycle-toolkit/commit/246f0b6b81849f7c9202a6a17623157d9623f540)) -* execute performance tests after all other tests have been executed ([#479](https://github.com/keptn/lifecycle-toolkit/issues/479)) ([145a6ab](https://github.com/keptn/lifecycle-toolkit/commit/145a6abeec614a3e75787c93da98b2ee3dca8ed1)) -* **operator:** restructure packages ([#469](https://github.com/keptn/lifecycle-toolkit/issues/469)) ([41f21eb](https://github.com/keptn/lifecycle-toolkit/commit/41f21ebbd7839a64cbdb5c4f49061eab9f66976f)) -* **scheduler:** make RealAnna codeowner ([#369](https://github.com/keptn/lifecycle-toolkit/issues/369)) ([aba0a70](https://github.com/keptn/lifecycle-toolkit/commit/aba0a708c3aace2d2309fa571e073d90ad6d6861)) - -## [0.4.0](https://github.com/keptn/lifecycle-toolkit/compare/v0.3.0...v0.4.0) (2022-11-08) - - -### ⚠ BREAKING CHANGES - -* The lifecycle toolkit now uses keptn-lifecycle-toolkit-system namespace by default (#332) -* Rename to lifecycle toolkit (#286) - -### Features - -* Add Dashboards for Applications and Workloads ([#219](https://github.com/keptn/lifecycle-toolkit/issues/219)) ([48589e2](https://github.com/keptn/lifecycle-toolkit/commit/48589e2a521df0ff7c607a9fb74f47c06f81d3bf)) -* Bootstrap webhook/component/integration/performance tests ([#225](https://github.com/keptn/lifecycle-toolkit/issues/225)) ([dbe08c0](https://github.com/keptn/lifecycle-toolkit/commit/dbe08c0a5947a3fbe42aa94660352c3ef6357f14)) -* **operator:** Add additional metrics for Deployment duration and interval ([#220](https://github.com/keptn/lifecycle-toolkit/issues/220)) ([71383c0](https://github.com/keptn/lifecycle-toolkit/commit/71383c0680cd17bec96b01155376cff683034d24)) -* **operator:** Add information about current phase in workloadinstances and appversions ([#200](https://github.com/keptn/lifecycle-toolkit/issues/200)) ([55fa4e9](https://github.com/keptn/lifecycle-toolkit/commit/55fa4e97c62aec7bd1a45f85d47cfaca48f3dd8f)) -* **operator:** Add separate trace for Deployment ([#222](https://github.com/keptn/lifecycle-toolkit/issues/222)) ([6966e3d](https://github.com/keptn/lifecycle-toolkit/commit/6966e3d467e058471f15e90159ed749490bc30b2)) -* **operator:** Improve state and phase information ([#211](https://github.com/keptn/lifecycle-toolkit/issues/211)) ([6982074](https://github.com/keptn/lifecycle-toolkit/commit/6982074cae4e8147c4643aae821c284614d542b3)) -* **operator:** Use Async Gauges for active KLC Entities ([#206](https://github.com/keptn/lifecycle-toolkit/issues/206)) ([9d61ab2](https://github.com/keptn/lifecycle-toolkit/commit/9d61ab2664d5f3339ed5af4e1303eacf2fc89dec)) -* Sign released container images with sigstore/cosign ([#290](https://github.com/keptn/lifecycle-toolkit/issues/290)) ([a8f58a4](https://github.com/keptn/lifecycle-toolkit/commit/a8f58a461b082fd13dc86f700ed01d57075276ca)) -* The lifecycle toolkit now uses keptn-lifecycle-toolkit-system namespace by default ([#329](https://github.com/keptn/lifecycle-toolkit/issues/329)) ([ef1a158](https://github.com/keptn/lifecycle-toolkit/commit/ef1a15876958ee8614779a9cd5471a2f4aa528b4)) -* The lifecycle toolkit now uses keptn-lifecycle-toolkit-system namespace by default ([#332](https://github.com/keptn/lifecycle-toolkit/issues/332)) ([443be11](https://github.com/keptn/lifecycle-toolkit/commit/443be11bb2d8f650a54aad90f4b040313eee24d8)) -* Use debug stages in local docker build make commands ([#234](https://github.com/keptn/lifecycle-toolkit/issues/234)) ([6423834](https://github.com/keptn/lifecycle-toolkit/commit/6423834608ce78ca32d33bf54f27dbbc0ae4c116)) - - -### Bug Fixes - -* **operator:** Fix nil pointer exception in case of app not being found ([#233](https://github.com/keptn/lifecycle-toolkit/issues/233)) ([de9a016](https://github.com/keptn/lifecycle-toolkit/commit/de9a01654d7b54809932ef973860ede59f541310)) -* **operator:** Fixed starting deployments, when no corresponding app-version is available ([#210](https://github.com/keptn/lifecycle-toolkit/issues/210)) ([3efa13e](https://github.com/keptn/lifecycle-toolkit/commit/3efa13e72b900a11a7dd4f65e0fbaae02211a6e9)) -* **operator:** Use correct Span Names ([#327](https://github.com/keptn/lifecycle-toolkit/issues/327)) ([e6a0ea0](https://github.com/keptn/lifecycle-toolkit/commit/e6a0ea038783e1d02a569b3b74d0265de99bea9c)) -* **operator:** Use pointer receiver for SpanHandler methods to ensure span map is populated; thread safety via mutex ([#288](https://github.com/keptn/lifecycle-toolkit/issues/288)) ([a127a42](https://github.com/keptn/lifecycle-toolkit/commit/a127a42717068a43c60b4cc30abd56bc1478669c)) -* **scheduler:** Fix the status the scheduler is acting on (preDeploymentEvaluationStatus) ([#226](https://github.com/keptn/lifecycle-toolkit/issues/226)) ([1a0dd92](https://github.com/keptn/lifecycle-toolkit/commit/1a0dd929930eb078070fb84b9bab0133ef4bccd9)) -* **scheduler:** The client should inherit framework configs ([#309](https://github.com/keptn/lifecycle-toolkit/issues/309)) ([847a460](https://github.com/keptn/lifecycle-toolkit/commit/847a460f7759447213a3e405d743da762e9ed29e)) -* Typo in observability example ([#248](https://github.com/keptn/lifecycle-toolkit/issues/248)) ([2f6be5f](https://github.com/keptn/lifecycle-toolkit/commit/2f6be5fe091951231dde005b3b9c99dcf07cab87)) - - -### Docs - -* Add KubeCon NA 22 Demo ([#308](https://github.com/keptn/lifecycle-toolkit/issues/308)) ([f0ba5db](https://github.com/keptn/lifecycle-toolkit/commit/f0ba5db31d30e64474bd33d10dd1cdd4878a2dd9)) -* Add temporary sub-project logo to the repository ([#207](https://github.com/keptn/lifecycle-toolkit/issues/207)) ([3708cb3](https://github.com/keptn/lifecycle-toolkit/commit/3708cb31dca6d8fb179bf8e46aa422ced3b877ff)) -* Fix name of keptnappversions ([#215](https://github.com/keptn/lifecycle-toolkit/issues/215)) ([d6e3e2c](https://github.com/keptn/lifecycle-toolkit/commit/d6e3e2c2859ee1882902c570b7564a999f479f47)) -* Update the repository links in README after the org migration ([#208](https://github.com/keptn/lifecycle-toolkit/issues/208)) ([a1ac506](https://github.com/keptn/lifecycle-toolkit/commit/a1ac5060d909e9fbe0d7874aaee20af06805f033)) - - -### Dependency Updates - -* update actions/checkout action to v3 ([#282](https://github.com/keptn/lifecycle-toolkit/issues/282)) ([99eae9c](https://github.com/keptn/lifecycle-toolkit/commit/99eae9ce94ebc34ce876bbb5c1d19954f83e36d1)) -* update denoland/deno docker tag to v1.27.1 ([#307](https://github.com/keptn/lifecycle-toolkit/issues/307)) ([9061fc5](https://github.com/keptn/lifecycle-toolkit/commit/9061fc5dc366d11c23d6f0122a6fb2cd60b7a35b)) -* update golang docker tag to v1.18.8 ([#275](https://github.com/keptn/lifecycle-toolkit/issues/275)) ([c510824](https://github.com/keptn/lifecycle-toolkit/commit/c51082481338edc7405d42baaf15139cb35b51b9)) - - -### Other - -* **deps:** Update dependencies ([#265](https://github.com/keptn/lifecycle-toolkit/issues/265)) ([7a87bb8](https://github.com/keptn/lifecycle-toolkit/commit/7a87bb87b697b3052cc4e4cdded3f22cff641ccb)) -* Introduce failing observability example for podtatohead ([#204](https://github.com/keptn/lifecycle-toolkit/issues/204)) ([f29910d](https://github.com/keptn/lifecycle-toolkit/commit/f29910d2feb8931cb990794899bea275d47ab7b2)) -* **operator:** Add workload and app version to KeptnTask ([#201](https://github.com/keptn/lifecycle-toolkit/issues/201)) ([fde0c67](https://github.com/keptn/lifecycle-toolkit/commit/fde0c67a4dd0b01006d1e0f6b0a240307c07bca4)) -* **operator:** Support Progressing state in every phase + refactoring + speed improvements ([#236](https://github.com/keptn/lifecycle-toolkit/issues/236)) ([af1da5d](https://github.com/keptn/lifecycle-toolkit/commit/af1da5d938ce46a3dd6970a467842b01db09c33d)) -* Rename to lifecycle toolkit ([#286](https://github.com/keptn/lifecycle-toolkit/issues/286)) ([9177c76](https://github.com/keptn/lifecycle-toolkit/commit/9177c76535b1b9dad9dc64c2d34e5e92819fcd2c)) -* Update dependencies and fixes ([#281](https://github.com/keptn/lifecycle-toolkit/issues/281)) ([5f5eda9](https://github.com/keptn/lifecycle-toolkit/commit/5f5eda9c599f421db0c7c94f9f5432945fabea3c)) -* update grafana dashboards ([#325](https://github.com/keptn/lifecycle-toolkit/issues/325)) ([0d0f2ab](https://github.com/keptn/lifecycle-toolkit/commit/0d0f2abcd5d3e04383e396209d6495e019eaf6a4)) -* Update repo URL everywhere ([#216](https://github.com/keptn/lifecycle-toolkit/issues/216)) ([33d494c](https://github.com/keptn/lifecycle-toolkit/commit/33d494c537ea055d61e6a32d63c7812e0af90575)) - -## [0.3.0](https://github.com/keptn/lifecycle-toolkit/compare/v0.2.0...v0.3.0) (2022-10-20) - - -### ⚠ BREAKING CHANGES - -* **operator:** Modified behavior of KeptnAppVersion and KeptnWorkloadInstance to support pre and post deployment evaluation checks with Prometheus montoring -* **operator:** now the namespaces have to be annotated/labeled with keptn.sh/lifecycle-toolkit=enabled when the lifecycle controller should be used -* **operator:** Implementation of the KeptnApp CRD and Controller. This modifies the behaviour of the KeptnWorkloadInstance and Keptn MutatingWebhook - -### Features - -* Namespace keptn-lifecycle-toolkit-system should never call webhook ([#192](https://github.com/keptn/lifecycle-toolkit/issues/192)) ([913a9ff](https://github.com/keptn/lifecycle-toolkit/commit/913a9ffd62f93aa7831b35e29853afff6213a0c9)) -* **operator:** add fallback behavior when no keptn annotations are set ([#171](https://github.com/keptn/lifecycle-toolkit/issues/171)) ([b6cc674](https://github.com/keptn/lifecycle-toolkit/commit/b6cc674adb787615fc79dbbc5b10668c367e4736)) -* **operator:** Add KeptnApplication controller ([#137](https://github.com/keptn/lifecycle-toolkit/issues/137)) ([271f5a8](https://github.com/keptn/lifecycle-toolkit/commit/271f5a830f216c9f827457d8a391c25d56aed2e3)) -* **operator:** Added minimal context information ([#170](https://github.com/keptn/lifecycle-toolkit/issues/170)) ([eebe420](https://github.com/keptn/lifecycle-toolkit/commit/eebe4200aac74a7c2cbc73720d1d9ac6a0c1fc72)) -* **operator:** Allow pre- and post-deployment tasks as labels or annotations ([#181](https://github.com/keptn/lifecycle-toolkit/issues/181)) ([4241fe7](https://github.com/keptn/lifecycle-toolkit/commit/4241fe7cfab91aa6d38309eacf5712436a6e8327)) -* **operator:** Bootstrap evaluation CRD from app ([#184](https://github.com/keptn/lifecycle-toolkit/issues/184)) ([74c3dbc](https://github.com/keptn/lifecycle-toolkit/commit/74c3dbc7b6d78d8ca7eafbac50abb8c3473701eb)) -* **operator:** Bootstrap evaluation CRD from WorkloadInstance ([#188](https://github.com/keptn/lifecycle-toolkit/issues/188)) ([95e206b](https://github.com/keptn/lifecycle-toolkit/commit/95e206b4165b0277f5acbc67fc78a8e28f06741b)) -* **operator:** Bootstrap KeptnEvaluationProvider and KeptnEvaluation Definition CRDs ([#165](https://github.com/keptn/lifecycle-toolkit/issues/165)) ([03d2346](https://github.com/keptn/lifecycle-toolkit/commit/03d234610fd8ef9f21e756450c7f503cb236f302)) -* **operator:** Fix phase naming ([#197](https://github.com/keptn/lifecycle-toolkit/issues/197)) ([3739127](https://github.com/keptn/lifecycle-toolkit/commit/3739127d2794d75c489a6af04acf57b82920ca46)) -* **operator:** Introduce KeptnEvaluation Controller + CRD ([#168](https://github.com/keptn/lifecycle-toolkit/issues/168)) ([1ce044a](https://github.com/keptn/lifecycle-toolkit/commit/1ce044a3470f815597d725d424a5491f828f2c4c)) -* **operator:** Introduce Prometheus evaluation ([#183](https://github.com/keptn/lifecycle-toolkit/issues/183)) ([c2ab773](https://github.com/keptn/lifecycle-toolkit/commit/c2ab7733291928eaea5c38287c63e45d12754ba1)) -* **operator:** namespace should be annotated when the lifecycle controller is used ([#178](https://github.com/keptn/lifecycle-toolkit/issues/178)) ([fa8b875](https://github.com/keptn/lifecycle-toolkit/commit/fa8b8758ebb5a29064f255a66d9066a863bf0944)) - - -### Docs - -* Add documentation for OTel collector as pre-requisite ([#185](https://github.com/keptn/lifecycle-toolkit/issues/185)) ([bc3900c](https://github.com/keptn/lifecycle-toolkit/commit/bc3900ca64f6c7a0ef22ab94a9665aac17a83372)) -* Add example for ArgoCD ([#179](https://github.com/keptn/lifecycle-toolkit/issues/179)) ([daf622d](https://github.com/keptn/lifecycle-toolkit/commit/daf622d47068f70539eb5819bc81dfe72e1b105c)) -* Add flux example ([#187](https://github.com/keptn/lifecycle-toolkit/issues/187)) ([02cceb3](https://github.com/keptn/lifecycle-toolkit/commit/02cceb37d64c52a12d0779f015cf488b4ad3729f)) -* Improve installation steps ([#154](https://github.com/keptn/lifecycle-toolkit/issues/154)) ([d183e4f](https://github.com/keptn/lifecycle-toolkit/commit/d183e4f6b3102e426b9e29d0648cdf0c4c7cc19e)) - - -### Other - -* Add Evaluation instructions ([#190](https://github.com/keptn/lifecycle-toolkit/issues/190)) ([6717b89](https://github.com/keptn/lifecycle-toolkit/commit/6717b8931496be4235c3945390be53633ccb9e43)) -* Add example Grafana dashboard to observability example ([#199](https://github.com/keptn/lifecycle-toolkit/issues/199)) ([9c20600](https://github.com/keptn/lifecycle-toolkit/commit/9c20600f8a5dd3149f040cf2253cd4b787cc08d3)) -* Updated Prometheus Network policy for granting access from lifecycle controller namespace ([#191](https://github.com/keptn/lifecycle-toolkit/issues/191)) ([bd77527](https://github.com/keptn/lifecycle-toolkit/commit/bd775276ad1324278c4bc3c82a9c0352d02bcece)) - -## [0.2.0](https://github.com/keptn/lifecycle-toolkit/compare/v0.1.0...v0.2.0) (2022-10-12) - - -### Features - -* Added tutorial for setting up observability example ([#145](https://github.com/keptn/lifecycle-toolkit/issues/145)) ([28f5a9c](https://github.com/keptn/lifecycle-toolkit/commit/28f5a9c24d031694e2066318bc85ae6e79dfd095)) -* **main:** Make LFC development environment installable with one command ([#138](https://github.com/keptn/lifecycle-toolkit/issues/138)) ([832ca37](https://github.com/keptn/lifecycle-toolkit/commit/832ca37d5a19297a63e17a8d367c126af37275c4)) -* **operator:** Add commit hash, buildtime, buildversion to OTel resource attributes ([#121](https://github.com/keptn/lifecycle-toolkit/issues/121)) ([5a2ef61](https://github.com/keptn/lifecycle-toolkit/commit/5a2ef61b965472cfe850672d04b4361f5d48ca0d)) -* **operator:** Add Spans for handling webhook requests and inject TraceContext ([#115](https://github.com/keptn/lifecycle-toolkit/issues/115)) ([812f2c5](https://github.com/keptn/lifecycle-toolkit/commit/812f2c5d49314617cb9c7532262e15edecd9f078)) -* **operator:** Add support for OTel collector ([#139](https://github.com/keptn/lifecycle-toolkit/issues/139)) ([ac3f0d2](https://github.com/keptn/lifecycle-toolkit/commit/ac3f0d222f43abff7f35f1eb8de5ec80ff7dd8dc)) -* **operator:** Added metrics ([#55](https://github.com/keptn/lifecycle-toolkit/issues/55)) ([f8a3cee](https://github.com/keptn/lifecycle-toolkit/commit/f8a3ceea6d1628750e7c3a7c9cd3372642bd0611)) -* **operator:** Introduce OTel tracing for Task controller ([#128](https://github.com/keptn/lifecycle-toolkit/issues/128)) ([0baf7a9](https://github.com/keptn/lifecycle-toolkit/commit/0baf7a9d8058877247bc264eb6fdb645b0a77a60)) -* **operator:** Introduce OTel tracing for Workload controller ([#125](https://github.com/keptn/lifecycle-toolkit/issues/125)) ([bc03709](https://github.com/keptn/lifecycle-toolkit/commit/bc03709b744d61ad966b5fba9f70dbeaffa10119)) -* **operator:** Introduce OTel tracing for WorkloadInstance controller ([#131](https://github.com/keptn/lifecycle-toolkit/issues/131)) ([a195614](https://github.com/keptn/lifecycle-toolkit/commit/a1956141fe80e5b1afd79fb33198313e1dbff7fa)) -* **scheduler:** Add OTel Resource Attributes ([#147](https://github.com/keptn/lifecycle-toolkit/issues/147)) ([b952156](https://github.com/keptn/lifecycle-toolkit/commit/b9521568e95e7855ee4fef5d55559376e2d398d9)) -* **scheduler:** Add support for OTel collector ([#146](https://github.com/keptn/lifecycle-toolkit/issues/146)) ([9fd210d](https://github.com/keptn/lifecycle-toolkit/commit/9fd210d0355e5d17316f5daa8a8e289a03755d46)) -* **scheduler:** Add tracing support ([#129](https://github.com/keptn/lifecycle-toolkit/issues/129)) ([60651d1](https://github.com/keptn/lifecycle-toolkit/commit/60651d15c78f9e0aa786d4dd4836c9ae828b14f3)) -* **scheduler:** Background check for pod status in permit plugin ([#124](https://github.com/keptn/lifecycle-toolkit/issues/124)) ([97ceef6](https://github.com/keptn/lifecycle-toolkit/commit/97ceef6938603e315c4e1c8d2bb697aabc3dd7f8)) -* **scheduler:** Disable gRPC logs when creating OTLP exporter ([#151](https://github.com/keptn/lifecycle-toolkit/issues/151)) ([d0f69b9](https://github.com/keptn/lifecycle-toolkit/commit/d0f69b9509543a5a11f22e8940a71018509ba048)) - - -### Bug Fixes - -* **scheduler:** Create new context when starting background routine for pod checks ([#148](https://github.com/keptn/lifecycle-toolkit/issues/148)) ([543ca87](https://github.com/keptn/lifecycle-toolkit/commit/543ca876b27d90cb906ddb2643112a62dc923f56)) -* **scheduler:** Ignoring OTel error logs ([#150](https://github.com/keptn/lifecycle-toolkit/issues/150)) ([0be89a5](https://github.com/keptn/lifecycle-toolkit/commit/0be89a56445a0356275f040dedad8fc8716a0fdd)) - - -### Docs - -* Add proper version badge in readme ([#114](https://github.com/keptn/lifecycle-toolkit/issues/114)) ([e4add2d](https://github.com/keptn/lifecycle-toolkit/commit/e4add2de2340f160fe30bd0cd6831107339b175e)) -* Improve podtato example with HTTP service lookup ([#113](https://github.com/keptn/lifecycle-toolkit/issues/113)) ([81b1236](https://github.com/keptn/lifecycle-toolkit/commit/81b1236dcff7bd37afd0e39f11638fe01406c7c4)) -* Update manifest name in readme ([#111](https://github.com/keptn/lifecycle-toolkit/issues/111)) ([e51dbbc](https://github.com/keptn/lifecycle-toolkit/commit/e51dbbc0198f734fb3905b280bc1ff2e0b24d39e)) - - -### Other - -* Updated scheduler readme and developer instructions ([#123](https://github.com/keptn/lifecycle-toolkit/issues/123)) ([9bd5d14](https://github.com/keptn/lifecycle-toolkit/commit/9bd5d1461cdeeca851b6ccb78ee7e6ff0b500c1c)) - - -### Build - -* Prepare release ([#149](https://github.com/keptn/lifecycle-toolkit/issues/149)) ([5be4504](https://github.com/keptn/lifecycle-toolkit/commit/5be4504e365b1c89ffc3069871a3f0fc0ecc7482)) - -## 0.1.0 (2022-10-04) - - -### Features - -* Add scheduler with annotations ([#31](https://github.com/keptn/lifecycle-toolkit/issues/31)) ([9e29019](https://github.com/keptn/lifecycle-toolkit/commit/9e29019c098fd4f1d5e36500bd2c7ef410421aa8)) -* Bootstrap Service CR and controller ([#21](https://github.com/keptn/lifecycle-toolkit/issues/21)) ([c714ecc](https://github.com/keptn/lifecycle-toolkit/commit/c714eccc3b9c4d1309036fc9d193da3154b4cac5)) -* First draft of a scheduler ([#19](https://github.com/keptn/lifecycle-toolkit/issues/19)) ([1884c86](https://github.com/keptn/lifecycle-toolkit/commit/1884c8678a681ed322a0ef2ea07fad3e24e01237)) -* first podtatohead sample deployment manifests ([#45](https://github.com/keptn/lifecycle-toolkit/issues/45)) ([3e92d27](https://github.com/keptn/lifecycle-toolkit/commit/3e92d277ebf1a9063ebcf80f05ebe62958e45cbb)) -* First Version of Function Execution ([#35](https://github.com/keptn/lifecycle-toolkit/issues/35)) ([f6badfd](https://github.com/keptn/lifecycle-toolkit/commit/f6badfd19f9f0b15c04364be7b03f524c920a015)) -* initial version of function runtime ([#26](https://github.com/keptn/lifecycle-toolkit/issues/26)) ([c8800ee](https://github.com/keptn/lifecycle-toolkit/commit/c8800ee352b5d0d5eccd7338cd4fa6a3ae7d2efa)) -* Inject keptn-scheduler when resource contains Keptn annotations ([#18](https://github.com/keptn/lifecycle-toolkit/issues/18)) ([4530e86](https://github.com/keptn/lifecycle-toolkit/commit/4530e8602beb4fc923b767eb586e44752f725400)) -* **lfc-scheduler:** Move from Helm to Kustomize ([#53](https://github.com/keptn/lifecycle-toolkit/issues/53)) ([d7ba5f3](https://github.com/keptn/lifecycle-toolkit/commit/d7ba5f35f1b32451f833d9fd53079b4162837bde)) -* sample function for deno runtime ([#27](https://github.com/keptn/lifecycle-toolkit/issues/27)) ([2501e46](https://github.com/keptn/lifecycle-toolkit/commit/2501e46a18dfc4ab436669fa7c42c570abad5a52)) -* substitute event task ([#43](https://github.com/keptn/lifecycle-toolkit/issues/43)) ([3644a7d](https://github.com/keptn/lifecycle-toolkit/commit/3644a7d9a0d4a565a9d857348a63ed91d8cb8102)) -* Switch to distroless-base image ([#46](https://github.com/keptn/lifecycle-toolkit/issues/46)) ([0a735b2](https://github.com/keptn/lifecycle-toolkit/commit/0a735b2ca22a02ca42faf7d091741d39e0f5a547)) -* Webhook creates Service, Service creates ServiceRun, ServiceRun creates Event ([#30](https://github.com/keptn/lifecycle-toolkit/issues/30)) ([5ae58c3](https://github.com/keptn/lifecycle-toolkit/commit/5ae58c33abe965e79bb405e74c0f308f1220d4ee)) - - -### Bug Fixes - -* Added namespace to task definition for podtato head example ([#72](https://github.com/keptn/lifecycle-toolkit/issues/72)) ([7081f27](https://github.com/keptn/lifecycle-toolkit/commit/7081f2772aee5abec840a58c7ab700603e84cf52)) -* Fix CODEOWNERS syntax ([0be5197](https://github.com/keptn/lifecycle-toolkit/commit/0be5197c19ea3066d28fe8e97f274efff21f66ff)) -* fixed namespace in scheduler kustomization ([#63](https://github.com/keptn/lifecycle-toolkit/issues/63)) ([237bf4f](https://github.com/keptn/lifecycle-toolkit/commit/237bf4f480161f48aa0c4b5f2afbff433447d2a8)) -* Missed error ([#76](https://github.com/keptn/lifecycle-toolkit/issues/76)) ([a59aa15](https://github.com/keptn/lifecycle-toolkit/commit/a59aa1552795bce15e39195af235fd42d1448e61)) -* **operator:** Get desired amount of replicas from upper level resource ([#89](https://github.com/keptn/lifecycle-toolkit/issues/89)) ([6767832](https://github.com/keptn/lifecycle-toolkit/commit/67678327c2531c25ea0cdb6f1b805365ae454719)) -* **operator:** Update workload if spec changes ([#90](https://github.com/keptn/lifecycle-toolkit/issues/90)) ([ec01ad2](https://github.com/keptn/lifecycle-toolkit/commit/ec01ad2ccd04f0c4e6f9ba47e01c5bada128aa3b)) -* **operator:** Update workload instance controller, add example ([#102](https://github.com/keptn/lifecycle-toolkit/issues/102)) ([e679c10](https://github.com/keptn/lifecycle-toolkit/commit/e679c1070f0130bd2d6616bf1856956e64dc0bac)) -* query jobs before creating ([#79](https://github.com/keptn/lifecycle-toolkit/issues/79)) ([47f82b8](https://github.com/keptn/lifecycle-toolkit/commit/47f82b891d9d20ade2928faae307009e5c96ae22)) -* scheduler config plugin configuration ([#68](https://github.com/keptn/lifecycle-toolkit/issues/68)) ([4c4e3c6](https://github.com/keptn/lifecycle-toolkit/commit/4c4e3c60a0e11267dc69ea7d8470555e3ee4f91e)) - - -### Miscellaneous Chores - -* release 0.1.0 ([4c46a42](https://github.com/keptn/lifecycle-toolkit/commit/4c46a4297c540b9da30c5a373624d4b8e8a88231)) -* release 0.1.0 ([afa8493](https://github.com/keptn/lifecycle-toolkit/commit/afa849324fa422352ed61faa7f0dc75d74c3c25d)) - - -### Continuous Integration - -* Prepare release ([#110](https://github.com/keptn/lifecycle-toolkit/issues/110)) ([9d7644b](https://github.com/keptn/lifecycle-toolkit/commit/9d7644b718e29bd37da398d89dc8b51997667358)) - -## Changelog diff --git a/CODEOWNERS b/CODEOWNERS deleted file mode 100644 index edd69cacaf..0000000000 --- a/CODEOWNERS +++ /dev/null @@ -1,12 +0,0 @@ -############################################################## -# -# Lists the owners of this project -# -############################################################## -# -# Learn about CODEOWNERS file format: -# https://help.github.com/en/articles/about-code-owners -* @keptn/lifecycle-toolkit-maintainers - -# The Documentation workgroup should also be able to approve documentation pullrequests -/docs @keptn/lifecycle-toolkit-maintainers @keptn/docs-maintainers diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index d7453586fe..0000000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,68 +0,0 @@ -# Contributing to the Keptn - -We are thrilled to have you join us as a contributor! -The Keptn is a community-driven project and we -greatly value collaboration. -There are various ways to contribute to the Lifecycle Toolkit, and -all contributions are highly valued. -Please, explore the options below to learn more about how you can -contribute. - -## Before you get started - -### Code of Conduct - -Please make sure to read and observe our -[Code of Conduct](https://github.com/keptn/.github/blob/main/CODE_OF_CONDUCT.md). - -* **Create an issue**: If you have noticed a bug, want to contribute features, -or simply ask a question that for whatever reason you do not want to ask in the -[Lifecycle Toolkit Channels in the CNCF Slack workspace](https://cloud-native.slack.com/channels/keptn-lifecycle-toolkit-dev), -please [search the issue tracker](https://github.com/keptn/lifecycle-toolkit/issues?q=something) -to see if someone else in the community has already created a ticket. -If not, go ahead and [create an issue](https://github.com/keptn/lifecycle-toolkit/issues/new). - -* **Start contributing**: We also have a list of -[good first issues](https://github.com/keptn/lifecycle-toolkit/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22). -If you want to work on it, just post a comment on the issue. - -This document lays out how to get you started in contributing to -Keptn, so please read on. - -## How to Start? - -If you are worried or don’t know where to start, check out our next section -explaining what kind of help we could use and where you can get involved. -You can reach out with the questions to -[Lifecycle Toolkit Channels](https://cloud-native.slack.com/channels/keptn-lifecycle-toolkit-dev) -on Slack and a mentor will surely guide you! - -### Prerequisites - -See -[Set up the development environment](https://keptn.sh/stable/docs/contribute/software/dev-environ/) -for information about how to set up an environment -in which you can develop and test software for Keptn. - -## Related Technologies - -Please check [Related Technologies](https://keptn.sh/stable/docs/contribute/general/technologies/). - -## Linter Requirements - -Please check [Linter Requirements](https://keptn.sh/stable/docs/contribute/docs/linter-requirements/). - -## Working with git - -See [Working with Git](https://keptn.sh/stable/docs/contribute/general/git/) - -Your PR will usually be reviewed by the Keptn team within a -couple of days, but feel free to let us know about your PR -[via Slack](https://cloud-native.slack.com/channels/keptn-lifecycle-toolkit-dev). - -## Developer Certification of Origin (DCO) - -All commits must be accompanied by a DCO sign-off. -See -[DCO](https://keptn.sh/stable/docs/contribute/general/dco/) -for more information. diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 261eeb9e9f..0000000000 --- a/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/Makefile b/Makefile deleted file mode 100644 index 1a15ed0aae..0000000000 --- a/Makefile +++ /dev/null @@ -1,186 +0,0 @@ -# Image URL to use all building/pushing image targets - -# renovate: datasource=github-tags depName=kubernetes-sigs/kustomize -KUSTOMIZE_VERSION?=v5.5.0 -CHART_APPVERSION ?= v2.5.0 # x-release-please-version - -# renovate: datasource=docker depName=cytopia/yamllint -YAMLLINT_VERSION ?= alpine - -# RELEASE_REGISTRY is the container registry to push -# into. -RELEASE_REGISTRY?=ghcr.io/keptn -ARCH?=amd64 -TAG ?= "$(shell date +%Y%m%d%s)" -TAG := $(TAG) - -## Location to install dependencies to -LOCALBIN ?= $(shell pwd)/bin -$(LOCALBIN): - mkdir -p $(LOCALBIN) - -## Tool Binaries -KUSTOMIZE ?= $(LOCALBIN)/kustomize - -############ -# CHAINSAW # -############ - -.PHONY: integration-test #these tests should run on a real cluster! -integration-test: - kubectl apply -f ./lifecycle-operator/config/crd/bases - chainsaw test --test-dir ./test/chainsaw/integration/ - -.PHONY: integration-test-local #these tests should run on a real cluster! -integration-test-local: - kubectl apply -f ./lifecycle-operator/config/crd/bases - chainsaw test --test-dir ./test/chainsaw/integration/ --config ./.chainsaw-local.yaml - -.PHONY: integration-test-metrics #these tests should run on a real cluster! -integration-test-metrics: - kubectl apply -f ./metrics-operator/config/crd/bases - chainsaw test --test-dir ./test/chainsaw/testmetrics/ - chainsaw test --test-dir ./test/chainsaw/testanalysis/ - -.PHONY: integration-test-metrics-local #these tests should run on a real cluster! -integration-test-metrics-local: - kubectl apply -f ./metrics-operator/config/crd/bases - chainsaw test --test-dir ./test/chainsaw/testmetrics/ --config ./.chainsaw-local.yaml - chainsaw test --test-dir ./test/chainsaw/testanalysis/ --config ./.chainsaw-local.yaml - -.PHONY: integration-test-lifecycle #these tests should run on a real cluster! -integration-test-lifecycle: - kubectl apply -f ./lifecycle-operator/config/crd/bases - chainsaw test --test-dir ./test/chainsaw/scheduling-gates/ - chainsaw test --test-dir ./test/chainsaw/non-blocking-deployment/ - chainsaw test --test-dir ./test/chainsaw/timeout-failure-deployment/ - chainsaw test --test-dir ./test/chainsaw/traces/ - -.PHONY: integration-test-lifecycle-local #these tests should run on a real cluster! -integration-test-lifecycle-local: - kubectl apply -f ./lifecycle-operator/config/crd/bases - chainsaw test --test-dir ./test/chainsaw/scheduling-gates/ --config ./.chainsaw-local.yaml - chainsaw test --test-dir ./test/chainsaw/non-blocking-deployment/ --config ./.chainsaw-local.yaml - chainsaw test --test-dir ./test/chainsaw/timeout-failure-deployment/ --config ./.chainsaw-local.yaml - chainsaw test --test-dir ./test/chainsaw/traces/ --config ./.chainsaw-local.yaml - -.PHONY: integration-test-cert-manager #these tests should run on a real cluster! -integration-test-cert-manager: - chainsaw test --test-dir ./test/chainsaw/testcertificate/ - -.PHONY: integration-test-cert-manager-local #these tests should run on a real cluster! -integration-test-cert-manager-local: install-prometheus - chainsaw test --test-dir ./test/chainsaw/testcertificate/ --config ./.chainsaw-local.yaml - -.PHONY: integration-test-allowed-namespaces #these tests should run on a real cluster! -integration-test-allowed-namespaces: - chainsaw test --test-dir ./test/chainsaw/allowed-namespaces/ - -.PHONY: integration-test-allowed-namespaces-local #these tests should run on a real cluster! -integration-test-allowed-namespaces-local: install-prometheus - chainsaw test --test-dir ./test/chainsaw/allowed-namespaces/ --config ./.chainsaw-local.yaml - -.PHONY: load-test -load-test: - kubectl apply -f ./test/load/assets/templates/namespace.yaml - kubectl apply -f ./test/load/assets/templates/provider.yaml - kube-burner init -c ./test/load/cfg.yml --metrics-profile ./test/load/metrics.yml --prometheus-url http://localhost:9090 - -.PHONY: install-prometheus -install-prometheus: - kubectl create namespace monitoring --dry-run=client -o yaml | kubectl apply -f - - kubectl apply --server-side -f test/prometheus/setup - kubectl wait --for=condition=Established --all CustomResourceDefinition --namespace=monitoring - kubectl apply -f test/prometheus/ - kubectl wait --for=condition=available deployment/prometheus-operator -n monitoring --timeout=120s - kubectl wait --for=condition=available deployment/prometheus-adapter -n monitoring --timeout=120s - kubectl wait --for=condition=available deployment/kube-state-metrics -n monitoring --timeout=120s - kubectl wait pod/prometheus-k8s-0 --for=condition=ready --timeout=120s -n monitoring - -.PHONY: metrics-operator-test -metrics-operator-test: - $(MAKE) -C metrics-operator test - -.PHONY: certmanager-test -certmanager-test: - $(MAKE) -C keptn-cert-manager test - -.PHONY: operator-test -operator-test: - $(MAKE) -C lifecycle-operator test - -#command(make test) to run all tests -.PHONY: test -test: metrics-operator-test certmanager-test operator-test integration-test - -.PHONY: cleanup-manifests -cleanup-manifests: - rm -rf manifests - -KUSTOMIZE_INSTALL_SCRIPT ?= "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" -.PHONY: kustomize -kustomize: $(KUSTOMIZE) ## Download kustomize locally if necessary. -$(KUSTOMIZE): $(LOCALBIN) - test -s $(LOCALBIN)/kustomize || { curl -s $(KUSTOMIZE_INSTALL_SCRIPT) | bash -s -- $(subst v,,$(KUSTOMIZE_VERSION)) $(LOCALBIN); } - -.PHONY: build-deploy-operator -build-deploy-operator: - $(MAKE) -C lifecycle-operator release-local.$(ARCH) RELEASE_REGISTRY=$(RELEASE_REGISTRY) TAG=$(TAG) - $(MAKE) -C lifecycle-operator push-local RELEASE_REGISTRY=$(RELEASE_REGISTRY) TAG=$(TAG) - $(MAKE) -C lifecycle-operator release-manifests RELEASE_REGISTRY=$(RELEASE_REGISTRY) CHART_APPVERSION=$(TAG) ARCH=$(ARCH) - - kubectl apply -f lifecycle-operator/config/rendered/release.yaml - -.PHONY: build-deploy-metrics-operator -build-deploy-metrics-operator: - $(MAKE) -C metrics-operator release-local.$(ARCH) RELEASE_REGISTRY=$(RELEASE_REGISTRY) TAG=$(TAG) - $(MAKE) -C metrics-operator push-local RELEASE_REGISTRY=$(RELEASE_REGISTRY) TAG=$(TAG) - $(MAKE) -C metrics-operator release-manifests RELEASE_REGISTRY=$(RELEASE_REGISTRY) CHART_APPVERSION=$(TAG) ARCH=$(ARCH) - - kubectl apply -f metrics-operator/config/rendered/release.yaml - -.PHONY: build-deploy-certmanager -build-deploy-certmanager: - $(MAKE) -C keptn-cert-manager release-local.$(ARCH) RELEASE_REGISTRY=$(RELEASE_REGISTRY) TAG=$(TAG) - $(MAKE) -C keptn-cert-manager push-local RELEASE_REGISTRY=$(RELEASE_REGISTRY) TAG=$(TAG) - $(MAKE) -C keptn-cert-manager release-manifests RELEASE_REGISTRY=$(RELEASE_REGISTRY) CHART_APPVERSION=$(TAG) ARCH=$(ARCH) - kubectl create namespace keptn-system --dry-run=client -o yaml | kubectl apply -f - - kubectl apply -f keptn-cert-manager/config/rendered/release.yaml - -.PHONY: build-deploy-dev-environment -build-deploy-dev-environment: build-deploy-certmanager build-deploy-operator build-deploy-metrics-operator - -include docs/Makefile - -yamllint: - @docker run --rm -t -v $(PWD):/data cytopia/yamllint:$(YAMLLINT_VERSION) . - -##Run lint for the subfiles -.PHONY: install-golangci-lint -install-golangci-lint: - @go install -v github.com/golangci/golangci-lint/cmd/golangci-lint@latest - -.PHONY: metrics-operator-lint -metrics-operator-lint: install-golangci-lint - $(MAKE) -C metrics-operator lint - -.PHONY: certmanager-lint -certmanager-lint: install-golangci-lint - $(MAKE) -C keptn-cert-manager lint - -.PHONY: operator-lint -operator-lint: install-golangci-lint - $(MAKE) -C lifecycle-operator lint - -.PHONY: helm-test -helm-test: - ./.github/scripts/helm-test.sh - -.PHONY: generate-helm-test-results -generate-helm-test-results: - ./.github/scripts/generate-helm-results.sh - -.PHONY: lint -lint: metrics-operator-lint -lint: certmanager-lint -lint: operator-lint diff --git a/README.md b/README.md deleted file mode 100644 index 4a811854b1..0000000000 --- a/README.md +++ /dev/null @@ -1,155 +0,0 @@ -# Keptn - -![build](https://img.shields.io/github/actions/workflow/status/keptn/lifecycle-toolkit/CI.yaml?branch=main) -![Codecov](https://img.shields.io/codecov/c/github/keptn/lifecycle-toolkit?token=KPGfrBb2sA) -![goversion](https://img.shields.io/github/go-mod/go-version/keptn/lifecycle-toolkit?filename=lifecycle-operator/go.mod) -![version](https://img.shields.io/github/v/release/keptn/lifecycle-toolkit) -[![GitHub Discussions](https://img.shields.io/github/discussions/keptn/lifecycle-toolkit)](https://github.com/keptn/lifecycle-toolkit/discussions) -[![Artifacthub Badge](https://img.shields.io/badge/Keptn-blue?style=flat&logo=artifacthub&label=Artifacthub&link=https%3%2F%2Fartifacthub.io%2Fpackages%2Fhelm%2Flifecycle-toolkit%2Fkeptn)](https://artifacthub.io/packages/helm/lifecycle-toolkit/keptn) -[![OpenSSF Best Practices](https://www.bestpractices.dev/projects/3588/badge)](https://www.bestpractices.dev/projects/3588) -[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/keptn/lifecycle-toolkit/badge)](https://securityscorecards.dev/viewer/?uri=github.com/keptn/lifecycle-toolkit) -[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fkeptn%2Flifecycle-toolkit.svg?type=shield&issueType=license)](https://app.fossa.com/projects/git%2Bgithub.com%2Fkeptn%2Flifecycle-toolkit?ref=badge_shield&issueType=license) -[![CLOMonitor](https://img.shields.io/endpoint?url=https://clomonitor.io/api/projects/cncf/keptn/badge)](https://clomonitor.io/projects/cncf/keptn) - -This is the primary repository for -the Keptn software and documentation. -Keptn provides a “cloud-native” approach -for managing the application release lifecycle -metrics, observability, health checks, -with pre- and post-deployment evaluations and tasks. -It is an incubating project, under the umbrella of the -[Keptn Application Lifecycle working group](https://github.com/keptn/wg-app-lifecycle). - -> **Note** Keptn was developed under the code name of - "Keptn Lifecycle Toolkit" or "KLT" for short. - The source code contains many vestiges of these names. - -## Goals - -Keptn provides Cloud Native teams with the following capabilities: - -- Pre-requisite evaluation before deploying workloads and applications -- Checking the Application Health in a declarative (cloud-native) way -- Standardized way to run pre- and post-deployment tasks -- Provide out-of-the-box Observability -- Deployment lifecycle management - -![Operator Maturity Model with third level circled in](./assets/operator-maturity.jpg) - -Keptn can be seen as a general purpose and declarative -[Level 3 operator](https://operatorframework.io/operator-capabilities/) -for your Application. -For this reason, Keptn is agnostic to deployment tools -that are used and works with any GitOps solution. - -For more information about the core concepts of Keptn, see -our core concepts -[documentation section](https://keptn.sh/stable/docs/core-concepts/). - -## Status - -Status of the different features: - -- ![status](https://img.shields.io/badge/status-stable-brightgreen) - Observability: expose [OTel](https://opentelemetry.io/) metrics and traces of your deployment. -- ![status](https://img.shields.io/badge/status-stable-brightgreen) - K8s Custom Metrics: expose your Observability platform via the [Custom Metric API](https://github.com/kubernetes/design-proposals-archive/blob/main/instrumentation/custom-metrics-api.md). -- ![status](https://img.shields.io/badge/status-stable-brightgreen) - Release lifecycle: handle pre- and post-checks of your Application deployment. -- ![status](https://img.shields.io/badge/status-stable-brightgreen) - Certificate Manager: automatically configure TLS certificates with the - [Keptn Certificate Manager](https://keptn.sh/stable/docs/components/certificate-operator/). - You can instead - [configure your own certificate manager](https://keptn.sh/stable/docs/installation/configuration/cert-manager/) to provide - [secure communication with the Kube API](https://kubernetes.io/docs/concepts/security/controlling-access/#transport-security). - - -The status follows the -[Kubernetes API versioning schema](https://kubernetes.io/docs/reference/using-api/#api-versioning). - -## Community - -Find details on regular hosted community events in the [keptn/community repo](https://github.com/keptn/community) -and our Slack channel(s) in the [CNCF Slack workspace.](https://cloud-native.slack.com/messages/keptn/) - -## Roadmap - -You can find our roadmap [here](https://github.com/orgs/keptn/projects/10). - -## Governance - -- [Community Membership](https://github.com/keptn/community/blob/main/community-membership.md): - Guidelines for community engagement, contribution expectations, - and the process for becoming a community member at different levels. - -- [Members and Charter](https://github.com/keptn/community/blob/main/governance/members-and-charter.md): - Describes the formation and responsibilities of the Keptn Governance Committee, - including its scope, members, and core responsibilities. - -## Installation - -Keptn can be installed on any Kubernetes cluster -running Kubernetes >=1.27. - -Use the following command sequence -to install the latest release of Keptn: - -```shell -helm repo add keptn https://charts.lifecycle.keptn.sh -helm repo update -helm upgrade --install keptn keptn/keptn -n keptn-system --create-namespace --wait -``` - -### Monitored namespaces - -Keptn must be installed in its own namespace -that does not run other major components or deployments. - -By default, the Keptn lifecycle orchestration -monitors all namespaces in the cluster -except for a few namespaces that are reserved -for specific Kubernetes and other components. -You can modify the Helm chart to specify the namespaces -where the Keptn lifecycle orchestration is allowed. -For more information, see the "Namespaces and Keptn" page in the -[Configuration](https://keptn.sh/stable/docs/installation/configuration/) -section of the documentation. - -## More information - -For more info about Keptn, please see our -[documentation](https://keptn.sh/stable/docs/). - -You can also find a number of video presentations and demos -about Keptn on the -[YouTube Keptn channel](https://www.youtube.com/@keptn). -Videos that refer to the "Keptn Lifecycle Controller" -are relevant for the Keptn project. - -## Contributing - -For more information about contributing to Keptn, please -refer to the [Contribution guide](https://keptn.sh/stable/docs/contribute/) -section of the documentation. - -To set up your local Keptn development environment, please follow -[these steps](https://keptn.sh/stable/docs/contribute/software/dev-environ/#first-steps) -for new contributors. - -## License - -Please find more information in the [LICENSE](LICENSE) file. - -## Thanks to all the people who have contributed 💜 - - - - - - - -Made with [contrib.rocks](https://contrib.rocks). diff --git a/SECURITY-INSIGHTS.yml b/SECURITY-INSIGHTS.yml deleted file mode 100644 index b1618fabf7..0000000000 --- a/SECURITY-INSIGHTS.yml +++ /dev/null @@ -1,34 +0,0 @@ -header: - license: 'https://github.com/keptn/lifecycle-toolkit/blob/main/LICENSE' - schema-version: 1.0.0 - expiration-date: '2025-03-04T01:00:00.000Z' - last-updated: '2024-03-05' - project-url: https://github.com/keptn/lifecycle-toolkit - project-release: '2.0.0-rc.1' - commit-hash: 95fdd03fe26a44538106d1c450b6e14bd59c11b1 -project-lifecycle: - status: active - roadmap: https://github.com/orgs/keptn/projects/10 - release-process: https://keptn.sh/stable/docs/contribute/general/release-checklist/ - bug-fixes-only: false - core-maintainers: - - https://github.com/keptn/community/blob/main/config/keptn/lifecycle-toolkit/workgroup.yaml -contribution-policy: - accepts-pull-requests: true - code-of-conduct: https://github.com/keptn/.github/blob/main/CODE_OF_CONDUCT.md - contributing-policy: https://github.com/keptn/lifecycle-toolkit/blob/main/CONTRIBUTING.md - accepts-automated-pull-requests: true -distribution-points: - - https://charts.lifecycle.keptn.sh - - https://github.com/orgs/keptn/packages?repo_name=lifecycle-toolkit -documentation: - - https://keptn.sh/stable/docs/ -security-contacts: - - type: email - value: cncf-keptn-tc@lists.cncf.io - - type: url - value: https://github.com/keptn/lifecycle-toolkit/security/advisories/new/ -vulnerability-reporting: - email-contact: cncf-keptn-tc@lists.cncf.io - accepts-vulnerability-reports: true - security-policy: https://github.com/keptn/.github/blob/main/SECURITY.md diff --git a/assets/logo/README.md b/assets/logo/README.md deleted file mode 100644 index 1da7992c6f..0000000000 --- a/assets/logo/README.md +++ /dev/null @@ -1,9 +0,0 @@ -# Keptn Logos - -This directory contains the Keptn logos in different formats and colors. - -## Logos - -| Name | Logo | Format | -| ------------------------------------------ |----------------------------------------------------| ------ | -| `keptn_lifecycle_controller_logo.png` | ![KLT Logo](./keptn_lifecycle_controller_logo.png) | PNG | diff --git a/assets/logo/keptn_lifecycle_controller_logo.png b/assets/logo/keptn_lifecycle_controller_logo.png deleted file mode 100644 index 10ca21d629..0000000000 Binary files a/assets/logo/keptn_lifecycle_controller_logo.png and /dev/null differ diff --git a/assets/operator-maturity.jpg b/assets/operator-maturity.jpg deleted file mode 100644 index 2db275f42f..0000000000 Binary files a/assets/operator-maturity.jpg and /dev/null differ diff --git a/chart/.gitignore b/chart/.gitignore deleted file mode 100644 index 948259a7b6..0000000000 --- a/chart/.gitignore +++ /dev/null @@ -1 +0,0 @@ -charts/*.tgz diff --git a/chart/.helmignore b/chart/.helmignore deleted file mode 100644 index 0e8a0eb36f..0000000000 --- a/chart/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/chart/Chart.lock b/chart/Chart.lock deleted file mode 100644 index b4427cf51e..0000000000 --- a/chart/Chart.lock +++ /dev/null @@ -1,12 +0,0 @@ -dependencies: -- name: keptn-cert-manager - repository: file://../keptn-cert-manager/chart - version: 0.3.0 -- name: keptn-lifecycle-operator - repository: file://../lifecycle-operator/chart - version: 0.6.0 -- name: keptn-metrics-operator - repository: file://../metrics-operator/chart - version: 0.5.0 -digest: sha256:af174478b5152ad858f51f17daf3b536bf63c9ff3f3dc5d8cf900d0a73f17355 -generated: "2025-03-19T13:08:46.965533+01:00" diff --git a/chart/Chart.yaml b/chart/Chart.yaml deleted file mode 100644 index 134cb42189..0000000000 --- a/chart/Chart.yaml +++ /dev/null @@ -1,54 +0,0 @@ -apiVersion: v2 -name: keptn -description: >- - A Helm chart for Keptn, a set of tools to enable cloud-native application - lifecycle management -icon: >- - https://raw.githubusercontent.com/cncf/artwork/master/projects/keptn/icon/color/keptn-icon-color.svg -home: https://keptn.sh -sources: - - https://github.com/keptn/lifecycle-toolkit -keywords: - - cloud-native - - lifecycle - - lifecycle-management - - application-lifecycle - - application-lifecycle-management - - orchestration - - keptn - - operator - - pre-deployment - - post-deployment - - metrics - - analysis - - evaluation - - certificate -annotations: - artifacthub.io/links: | - - name: support - url: https://github.com/keptn/lifecycle-toolkit/issues/new - - name: community - url: https://slack.keptn.sh/ - artifacthub.io/license: Apache-2.0 - artifacthub.io/operator: 'true' - artifacthub.io/operatorCapabilities: Full Lifecycle -kubeVersion: '>= 1.27.0-0' -type: application -version: 0.11.0 # Helm Chart version -appVersion: v2.5.0 # x-release-please-version -dependencies: - - name: keptn-cert-manager - version: 0.3.0 - alias: certManager - condition: global.certManagerEnabled - repository: file://../keptn-cert-manager/chart - - name: keptn-lifecycle-operator - version: 0.6.0 - alias: lifecycleOperator - condition: lifecycleOperator.enabled - repository: file://../lifecycle-operator/chart - - name: keptn-metrics-operator - version: 0.5.0 - alias: metricsOperator - condition: metricsOperator.enabled - repository: file://../metrics-operator/chart diff --git a/chart/NOTES.txt b/chart/NOTES.txt deleted file mode 100644 index 74d75f5704..0000000000 --- a/chart/NOTES.txt +++ /dev/null @@ -1,29 +0,0 @@ -CHART NAME: {{ .Chart.Name }} -CHART VERSION: {{ .Chart.Version }} -KEPTN VERSION: {{ .Chart.AppVersion }} - -** Please be patient while the chart is being deployed ** - -The following controllers have been deployed: - - {{- if .Values.global.certManagerEnabled }} - - keptn-cert-manager - {{- end }} - {{- if .Values.lifecycleOperator.enabled }} - - keptn-lifecycle-operator - {{- end }} - {{- if .Values.metricsOperator.enabled }} - - keptn-metrics-operator - {{- end }} - -Check the status of the pods by running this command: - - kubectl get pods --namespace {{ include "common.names.namespace" . | quote }} -l app.kubernetes.io/instance={{ .Release.Name }} - -Read the keptn documentation to start working with the controllers: - - https://lifecycle.keptn.sh/ - -For any bug and issues, use: - - https://github.com/keptn/lifecycle-toolkit/issues \ No newline at end of file diff --git a/chart/README.md b/chart/README.md deleted file mode 100644 index 24024bb879..0000000000 --- a/chart/README.md +++ /dev/null @@ -1,28 +0,0 @@ -# Keptn Helm Chart - -Keptn provides a “cloud-native” approach for managing the application release lifecycle -metrics, observability, health checks, with pre- and post-deployment evaluations and tasks. - - - -## Parameters - -### Keptn - -| Name | Description | Value | -| --------------------------- | ----------------------------------------------------- | ------ | -| `lifecycleOperator.enabled` | Enable this value to install Keptn Lifecycle Operator | `true` | -| `metricsOperator.enabled` | Enable this value to install Keptn Metrics Operator | `true` | - -### Global parameters - -| Name | Description | Value | -| ------------------------------- | ------------------------------------------------------------------------- | --------- | -| `global.certManagerEnabled` | Enable this value to install Keptn Certificate Manager | `true` | -| `global.imageRegistry` | Global Docker image registry | `ghcr.io` | -| `global.imagePullSecrets` | Global Docker registry secret names as an array | `[]` | -| `global.imagePullPolicy` | Policy for pulling Docker images. Options: Always, IfNotPresent, Never | `""` | -| `global.commonLabels` | Common labels to add to all Keptn resources. Evaluated as a template | `{}` | -| `global.commonAnnotations` | Common annotations to add to all Keptn resources. Evaluated as a template | `{}` | -| `global.caInjectionAnnotations` | CA injection annotations for cert-manager.io configuration | `{}` | -| `global.openShift.enabled` | Enable this value to install on Openshift | `false` | diff --git a/chart/templates/_helpers.tpl b/chart/templates/_helpers.tpl deleted file mode 100644 index 0432fd349b..0000000000 --- a/chart/templates/_helpers.tpl +++ /dev/null @@ -1,75 +0,0 @@ -{{/* -Expand the name of the chart. -*/}} -{{- define "keptn.name" -}} -{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} -{{- end }} - -{{/* -Create a default fully qualified app name. -We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). -If release name contains chart name it will be used as a full name. -*/}} -{{- define "keptn.fullname" -}} -{{- if .Values.fullnameOverride }} -{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} -{{- else }} -{{- $name := default .Chart.Name .Values.nameOverride }} -{{- if contains $name .Release.Name }} -{{- .Release.Name | trunc 63 | trimSuffix "-" }} -{{- else }} -{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} -{{- end }} -{{- end }} -{{- end }} - -{{/* -Create chart name and version as used by the chart label. -*/}} -{{- define "keptn.chart" -}} -{{- printf "%s-%s" (kebabcase .Chart.Name) .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} -{{- end }} - -{{/* -Common labels -*/}} -{{- define "keptn.labels" -}} -helm.sh/chart: {{ include "keptn.chart" . }} -{{ include "keptn.selectorLabels" . }} -{{- if .Chart.AppVersion }} -app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} -{{- end }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end }} - -{{/* -Selector labels -*/}} -{{- define "keptn.selectorLabels" -}} -app.kubernetes.io/name: {{ kebabcase (include "keptn.name" .) }} -app.kubernetes.io/instance: {{ .Release.Name }} -{{- end }} - -{{/* -Create the name of the service account to use -*/}} -{{- define "keptn.serviceAccountName" -}} -{{- if .Values.serviceAccount.create }} -{{- default (include "keptn.fullname" .) .Values.serviceAccount.name }} -{{- else }} -{{- default "default" .Values.serviceAccount.name }} -{{- end }} -{{- end }} - -{{/* -Renders a value that contains template. -Usage: -{{ include "tplvalues.render" ( dict "value" .Values.path.to.the.Value "context" $) }} -*/}} -{{- define "tplvalues.render" -}} - {{- if typeIs "string" .value }} - {{- tpl .value .context }} - {{- else }} - {{- tpl (.value | toYaml) .context }} - {{- end }} -{{- end -}} diff --git a/chart/values.yaml b/chart/values.yaml deleted file mode 100644 index 4b1e454f6a..0000000000 --- a/chart/values.yaml +++ /dev/null @@ -1,36 +0,0 @@ -## @section Keptn -lifecycleOperator: - ## @param lifecycleOperator.enabled Enable this value to install Keptn Lifecycle Operator - enabled: true -metricsOperator: - ## @param metricsOperator.enabled Enable this value to install Keptn Metrics Operator - enabled: true - -## @section Global parameters -## Please, note that this will override the image parameters, including dependencies, configured to use the global value -## Current available global Docker image parameters: imageRegistry, imagePullSecrets and storageClass -## - -global: - ## @param global.certManagerEnabled Enable this value to install Keptn Certificate Manager - certManagerEnabled: true - ## @param global.imageRegistry Global Docker image registry - imageRegistry: "ghcr.io" - - ## @param global.imagePullSecrets Global Docker registry secret names as an array - ## E.g. - ## imagePullSecrets: - ## - myRegistryKeySecretName - ## - imagePullSecrets: [] - ## @param global.imagePullPolicy Policy for pulling Docker images. Options: Always, IfNotPresent, Never - imagePullPolicy: "" - ## @param global.commonLabels Common labels to add to all Keptn resources. Evaluated as a template - commonLabels: {} - ## @param global.commonAnnotations Common annotations to add to all Keptn resources. Evaluated as a template - commonAnnotations: {} - ## @param global.caInjectionAnnotations CA injection annotations for cert-manager.io configuration - caInjectionAnnotations: {} - openShift: - ## @param global.openShift.enabled Enable this value to install on Openshift - enabled: false diff --git a/codecov.yml b/codecov.yml deleted file mode 100644 index 5f0008b06e..0000000000 --- a/codecov.yml +++ /dev/null @@ -1,35 +0,0 @@ -coverage: - status: - project: - default: - # basic - target: auto - threshold: 2% # allow cov to drop by 2% (just in case) - patch: - default: - threshold: 1% # allow patch - -ignore: - - "**/*.yaml" # ignore all yaml files (Kubernetes manifests, etc...) - - "**/*.yml" # same as above - - "**/*.md" # ignore all markdown files, those are not relevant for building/testing - - "**/Dockerfile" # ignore Dockerfiles, those are build with GH Actions - - "**/*.sh" # ignore shell scripts - - "**/test_utils.go" # test utils don't need to be covered - - "**/zz_generated.deepcopy.go" # auto-generated deepcopy files for CRD structs - -comment: - layout: "diff, files, flags" - -github_checks: - annotations: false - -flags: - keptn-lifecycle-operator: - paths: - - lifecycle-operator/ - carryforward: true - component-tests: - paths: - - lifecycle-operator/ - carryforward: true diff --git a/dashboards/grafana/Makefile b/dashboards/grafana/Makefile deleted file mode 100644 index f4c14657f4..0000000000 --- a/dashboards/grafana/Makefile +++ /dev/null @@ -1,28 +0,0 @@ -GRAFANA_SCHEME ?= http -GRAFANA_HOSTNAME ?= localhost -GRAFANA_USERNAME ?= admin -GRAFANA_PASSWORD ?= admin -GRAFANA_PORT ?= 3000 - -.PHONY: import-json -generate: generate-import import - -.PHONY: generate-import -generate-import: - mkdir import | true - ./utils/generate-import.sh ./import - -.PHONY: apply-configmaps -generate-configmaps: - mkdir configmap | true - kubectl create configmap grafana-dashboard-keptn-overview -n monitoring --from-file=./grafana_dashboard_overview.json -o yaml --dry-run=client > configmap/grafana-dashboard-keptn-overview.yaml - kubectl create configmap grafana-dashboard-keptn-applications -n monitoring --from-file=./grafana_dashboard_applications.json -o yaml --dry-run=client > configmap/grafana-dashboard-keptn-applications.yaml - kubectl create configmap grafana-dashboard-keptn-workloads -n monitoring --from-file=./grafana_dashboard_workloads.json -o yaml --dry-run=client > configmap/grafana-dashboard-keptn-workloads.yaml - kubectl apply -f /configmap - -.PHONY: import -import: - @curl -X POST -H "Content-Type: application/json" -d @import/grafana_dashboard_overview.json ${GRAFANA_SCHEME}://${GRAFANA_USERNAME}:${GRAFANA_PASSWORD}@${GRAFANA_HOSTNAME}:$(GRAFANA_PORT)/api/dashboards/db - @curl -X POST -H "Content-Type: application/json" -d @import/grafana_dashboard_applications.json ${GRAFANA_SCHEME}://${GRAFANA_USERNAME}:${GRAFANA_PASSWORD}@${GRAFANA_HOSTNAME}:$(GRAFANA_PORT)/api/dashboards/db - @curl -X POST -H "Content-Type: application/json" -d @import/grafana_dashboard_workloads.json ${GRAFANA_SCHEME}://${GRAFANA_USERNAME}:${GRAFANA_PASSWORD}@${GRAFANA_HOSTNAME}:$(GRAFANA_PORT)/api/dashboards/db - diff --git a/dashboards/grafana/README.md b/dashboards/grafana/README.md deleted file mode 100644 index 7facff69d4..0000000000 --- a/dashboards/grafana/README.md +++ /dev/null @@ -1,56 +0,0 @@ -# Grafana Dashboards for the Lifecycle Toolkit - -This folder contains the Grafana dashboards for the Keptn. - -## Installing the dashboards - -It is assumed, that there is a Grafana Instance available. -In our provided examples, the dashboards are automatically -provisioned. -If you want to install the dashboards manually, you can use the following steps: - -```shell -# This defaults to http://localhost:3000, but can be changed by setting the GRAFANA_SCHEME, GRAFANA_URL and GRAFANA_PORT environment variable -# The default credentials are admin:admin, but can be changed by setting the GRAFANA_USERNAME and GRAFANA_PASSWORD environment variable -make install -``` - -## Changing the dashboards - -The dashboards can be changed in the Grafana UI. -To export dashboards, export them using the share button and replace -them in this folder. - -## Exporting the dashboards for the Examples - -You can import the default dashboards by running: - -```shell -make apply-configmaps -``` - -If you prefer to prepare the dashboards for the examples and importing them as json you can use: - -```shell -make import-json -``` - ---- - -## Guide to Custom Dashboards with Grafana - -This section provides links to the official Grafana documentation for creating and modifying custom dashboards using Grafana. - -## How to Create Custom Dashboards - -Craft personalized Grafana dashboards tailored to your specific needs by exploring the [official Grafana documentation](https://grafana.com/docs/grafana/latest/dashboards/build-dashboards/create-dashboard/). -Discover detailed steps, best practices, and tips for creating visualizations, adding panels, -utilizing various data sources, and more. - -## Modifying the Dashboards - -Refine and adapt visualizations in existing Grafana dashboards to meet evolving requirements. -Visit the -[relevant sections](https://grafana.com/docs/grafana/latest/dashboards/build-dashboards/modify-dashboard-settings/) -of the Grafana documentation to gain insights on adjusting, enhancing, or reconfiguring dashboards efficiently. -Learn about editing panels, incorporating new data sources, applying filters, and optimizing dashboard layouts. diff --git a/dashboards/grafana/configmap/README.md b/dashboards/grafana/configmap/README.md deleted file mode 100644 index 954e830a7d..0000000000 --- a/dashboards/grafana/configmap/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# Autogenerated Files - Do not change - -## Grafana Dashboards - ConfigMaps - -These files can be used to autoprovision Grafana dashboards in Kubernetes. - -More information: diff --git a/dashboards/grafana/configmap/grafana-dashboard-keptn-applications.yaml b/dashboards/grafana/configmap/grafana-dashboard-keptn-applications.yaml deleted file mode 100644 index 28eadfb275..0000000000 --- a/dashboards/grafana/configmap/grafana-dashboard-keptn-applications.yaml +++ /dev/null @@ -1,871 +0,0 @@ -apiVersion: v1 -data: - grafana_dashboard_applications.json: |- - { - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": { - "type": "grafana", - "uid": "-- Grafana --" - }, - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "target": { - "limit": 100, - "matchAny": false, - "tags": [ ], - "type": "dashboard" - }, - "type": "dashboard" - } - ] - }, - "editable": true, - "fiscalYearStartMonth": 0, - "graphTooltip": 0, - "links": [ ], - "liveNow": false, - "panels": [ - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "fieldConfig": { - "defaults": { - "color": { - "fixedColor": "green", - "mode": "fixed" - }, - "mappings": [ ], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [ ] - }, - "gridPos": { - "h": 6, - "w": 2, - "x": 0, - "y": 0 - }, - "id": 19, - "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "sum" - ], - "fields": "", - "values": false - }, - "text": { - "valueSize": 80 - }, - "textMode": "auto" - }, - "pluginVersion": "9.2.1", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "editorMode": "builder", - "expr": "keptn_app_count_total{keptn_deployment_app_status=\"Succeeded\", keptn_deployment_app_name=\"$Application\"}", - "format": "table", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Succeeded", - "transformations": [ - { - "id": "groupBy", - "options": { - "fields": { - "Value": { - "aggregations": [ - "max" - ], - "operation": "aggregate" - }, - "keptn_deployment_app_version": { - "aggregations": [ ], - "operation": "groupby" - } - } - } - } - ], - "type": "stat" - }, - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "fieldConfig": { - "defaults": { - "mappings": [ ], - "thresholds": { - "mode": "percentage", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "orange", - "value": 70 - }, - { - "color": "red", - "value": 85 - } - ] - } - }, - "overrides": [ ] - }, - "gridPos": { - "h": 6, - "w": 8, - "x": 2, - "y": 0 - }, - "id": 4, - "options": { - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showThresholdLabels": false, - "showThresholdMarkers": true - }, - "pluginVersion": "9.2.1", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "editorMode": "builder", - "expr": "max(keptn_app_active{keptn_deployment_app_name=\"$Application\"})", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Active Deployments", - "type": "gauge" - }, - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "fieldConfig": { - "defaults": { - "color": { - "fixedColor": "red", - "mode": "fixed" - }, - "mappings": [ ], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "red", - "value": null - } - ] - } - }, - "overrides": [ ] - }, - "gridPos": { - "h": 6, - "w": 2, - "x": 10, - "y": 0 - }, - "id": 3, - "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "sum" - ], - "fields": "", - "values": false - }, - "text": { - "valueSize": 80 - }, - "textMode": "auto" - }, - "pluginVersion": "9.2.1", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "editorMode": "builder", - "expr": "keptn_app_count_total{keptn_deployment_app_status=\"Failed\", keptn_deployment_app_name=\"$Application\"}", - "format": "table", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Failed", - "transformations": [ - { - "id": "groupBy", - "options": { - "fields": { - "Value": { - "aggregations": [ - "max" - ], - "operation": "aggregate" - }, - "keptn_deployment_app_version": { - "aggregations": [ - "count" - ], - "operation": "groupby" - } - } - } - } - ], - "type": "stat" - }, - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [ ], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 86400 - } - ] - }, - "unit": "s" - }, - "overrides": [ ] - }, - "gridPos": { - "h": 6, - "w": 2, - "x": 0, - "y": 6 - }, - "id": 10, - "options": { - "displayMode": "gradient", - "minVizHeight": 10, - "minVizWidth": 0, - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showUnfilled": true - }, - "pluginVersion": "9.2.1", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "editorMode": "builder", - "expr": "avg by(keptn_deployment_app_previousversion, keptn_deployment_app_version) (keptn_app_deploymentinterval{keptn_deployment_app_name=\"$Application\"})", - "format": "time_series", - "legendFormat": "{{keptn_deployment_app_previousversion}} - {{keptn_deployment_app_version}}", - "range": true, - "refId": "A" - } - ], - "title": "Time between Deployments", - "type": "bargauge" - }, - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [ ], - "min": 2, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "#EAB839", - "value": 43200 - }, - { - "color": "red", - "value": 86400 - } - ] - }, - "unit": "s" - }, - "overrides": [ ] - }, - "gridPos": { - "h": 6, - "w": 8, - "x": 2, - "y": 6 - }, - "id": 16, - "options": { - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "last" - ], - "fields": "", - "values": false - }, - "showThresholdLabels": false, - "showThresholdMarkers": true - }, - "pluginVersion": "9.2.1", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "editorMode": "builder", - "expr": "avg by(keptn_deployment_workload_previousversion) (keptn_app_deploymentinterval{keptn_deployment_app_name=\"$Application\"})", - "format": "table", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Average Time between Deployments", - "type": "gauge" - }, - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [ ], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [ ] - }, - "gridPos": { - "h": 6, - "w": 2, - "x": 10, - "y": 6 - }, - "id": 14, - "options": { - "displayMode": "gradient", - "minVizHeight": 10, - "minVizWidth": 0, - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showUnfilled": true - }, - "pluginVersion": "9.2.1", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "editorMode": "builder", - "expr": "max by(keptn_deployment_app_version) (keptn_app_deploymentduration{keptn_deployment_app_name=\"$Application\"})", - "interval": "", - "legendFormat": "{{keptn_workload_version}}", - "range": true, - "refId": "A" - } - ], - "title": "Deployment Time", - "type": "bargauge" - }, - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "bars", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 3, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [ ], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [ ] - }, - "gridPos": { - "h": 9, - "w": 9, - "x": 0, - "y": 12 - }, - "id": 6, - "options": { - "legend": { - "calcs": [ ], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "editorMode": "builder", - "expr": "max(keptn_app_active{keptn_deployment_app_name=\"$Application\"})", - "format": "table", - "interval": "1", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Deployments Active", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "P1809F7CD0C75ACF3" - }, - "fieldConfig": { - "defaults": { - "mappings": [ ], - "thresholds": { - "mode": "percentage", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "orange", - "value": 70 - }, - { - "color": "red", - "value": 85 - } - ] - } - }, - "overrides": [ ] - }, - "gridPos": { - "h": 9, - "w": 3, - "x": 9, - "y": 12 - }, - "id": 23, - "options": { - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showThresholdLabels": false, - "showThresholdMarkers": true - }, - "pluginVersion": "9.2.1", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "editorMode": "builder", - "expr": "max(keptn_promotion_count_total{keptn_deployment_app_name=\"$Application\"})", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Successful promotions", - "type": "gauge" - }, - { - "datasource": { - "type": "jaeger", - "uid": "PC9A941E8F2E49454" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "custom": { - "align": "auto", - "displayMode": "auto", - "inspect": false - }, - "mappings": [ ], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [ ] - }, - "gridPos": { - "h": 7, - "w": 9, - "x": 0, - "y": 21 - }, - "id": 8, - "options": { - "footer": { - "fields": "", - "reducer": [ - "sum" - ], - "show": false - }, - "showHeader": true - }, - "pluginVersion": "9.2.1", - "targets": [ - { - "datasource": { - "type": "jaeger", - "uid": "PC9A941E8F2E49454" - }, - "operation": "AppPreDeployTasks", - "queryType": "search", - "refId": "A", - "service": "lifecycle-operator", - "tags": "keptn.deployment.app.name=$Application" - } - ], - "title": "Traces", - "type": "table" - }, - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "custom": { - "align": "auto", - "displayMode": "auto", - "inspect": false - }, - "mappings": [ ], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "keptn_deployment_workload_version (lastNotNull)" - }, - "properties": [ - { - "id": "custom.width", - "value": 100 - } - ] - } - ] - }, - "gridPos": { - "h": 7, - "w": 3, - "x": 9, - "y": 21 - }, - "id": 21, - "options": { - "footer": { - "fields": "", - "reducer": [ - "sum" - ], - "show": false - }, - "showHeader": false - }, - "pluginVersion": "9.2.1", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "editorMode": "builder", - "expr": "keptn_deployment_deploymentduration{keptn_deployment_app_name=\"$Application\"}", - "format": "table", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Active Workloads", - "transformations": [ - { - "id": "groupBy", - "options": { - "fields": { - "Value": { - "aggregations": [ ] - }, - "keptn_deployment_workload_name": { - "aggregations": [ ], - "operation": "groupby" - }, - "keptn_deployment_workload_version": { - "aggregations": [ ], - "operation": "aggregate" - } - } - } - }, - { - "id": "sortBy", - "options": { - "fields": { }, - "sort": [ - { - "desc": true, - "field": "keptn_deployment_workload_version" - } - ] - } - } - ], - "type": "table" - } - ], - "refresh": "5s", - "schemaVersion": 37, - "style": "dark", - "tags": [ ], - "templating": { - "list": [ - { - "current": { - "selected": true, - "text": "podtato-head", - "value": "podtato-head" - }, - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "definition": "label_values(keptn_deployment_app_name)", - "hide": 0, - "includeAll": false, - "multi": false, - "name": "Application", - "options": [ ], - "query": { - "query": "label_values(keptn_deployment_app_name)", - "refId": "StandardVariableQuery" - }, - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "type": "query" - }, - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "filters": [ ], - "hide": 0, - "name": "Filters", - "skipUrlSync": false, - "type": "adhoc" - } - ] - }, - "time": { - "from": "now-2d", - "to": "now" - }, - "timepicker": { }, - "timezone": "", - "title": "Keptn Applications", - "uid": "nbiPNgN4z", - "version": 1, - "weekStart": "" - } -kind: ConfigMap -metadata: - creationTimestamp: null - name: grafana-dashboard-keptn-applications - namespace: monitoring - labels: - grafana_dashboard: '1' diff --git a/dashboards/grafana/configmap/grafana-dashboard-keptn-overview.yaml b/dashboards/grafana/configmap/grafana-dashboard-keptn-overview.yaml deleted file mode 100644 index 60e0a733fa..0000000000 --- a/dashboards/grafana/configmap/grafana-dashboard-keptn-overview.yaml +++ /dev/null @@ -1,894 +0,0 @@ -apiVersion: v1 -data: - grafana_dashboard_overview.json: |- - { - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": { - "type": "grafana", - "uid": "-- Grafana --" - }, - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "target": { - "limit": 100, - "matchAny": false, - "tags": [], - "type": "dashboard" - }, - "type": "dashboard" - } - ] - }, - "editable": true, - "fiscalYearStartMonth": 0, - "graphTooltip": 0, - "id": 29, - "links": [], - "liveNow": false, - "panels": [ - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 0 - }, - "id": 10, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "editorMode": "builder", - "expr": "sum by(job) (keptn_task_active{job=\"otel-collector\"})", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Active Tasks", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 0 - }, - "id": 16, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "editorMode": "builder", - "expr": "sum by(job) (keptn_evaluation_active{job=\"otel-collector\"})", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Active Evaluations", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 8 - }, - "id": 12, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "editorMode": "builder", - "expr": "sum by(job) (keptn_task_count{job=\"otel-collector\"})", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Finished Tasks", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 8 - }, - "id": 17, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "editorMode": "builder", - "expr": "sum by(job) (keptn_evaluation_count_total{job=\"otel-collector\"})", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Finished Evaluations", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "fixed" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 16 - }, - "id": 15, - "options": { - "displayMode": "gradient", - "minVizHeight": 10, - "minVizWidth": 0, - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showUnfilled": true - }, - "pluginVersion": "9.2.1", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "editorMode": "builder", - "exemplar": false, - "expr": "sort(sum by(le) (keptn_task_duration_bucket{job=\"otel-collector\", le!=\"+Inf\"}))", - "format": "time_series", - "instant": false, - "legendFormat": "{{le}}", - "range": true, - "refId": "A" - } - ], - "title": "Task Duration Histogram", - "transformations": [ - { - "id": "joinByLabels", - "options": { - "value": "le" - } - }, - { - "id": "organize", - "options": { - "excludeByName": {}, - "indexByName": { - "0": 0, - "5": 1, - "10": 2, - "25": 3, - "50": 4, - "75": 5, - "100": 6, - "250": 7, - "500": 8, - "1000": 9 - }, - "renameByName": {} - } - } - ], - "type": "bargauge" - }, - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "fixed" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 16 - }, - "id": 18, - "options": { - "displayMode": "gradient", - "minVizHeight": 10, - "minVizWidth": 0, - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showUnfilled": true - }, - "pluginVersion": "9.2.1", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "editorMode": "builder", - "exemplar": false, - "expr": "sort(sum by(le) (keptn_evaluation_duration_bucket{job=\"otel-collector\", le!=\"+Inf\"}))", - "format": "time_series", - "instant": false, - "legendFormat": "{{le}}", - "range": true, - "refId": "A" - } - ], - "title": "Evaluation Duration Histogram", - "transformations": [ - { - "id": "joinByLabels", - "options": { - "value": "le" - } - }, - { - "id": "organize", - "options": { - "excludeByName": {}, - "indexByName": { - "0": 0, - "5": 1, - "10": 2, - "25": 3, - "50": 4, - "75": 5, - "100": 6, - "250": 7, - "500": 8, - "1000": 9 - }, - "renameByName": {} - } - } - ], - "type": "bargauge" - }, - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 24 - }, - "id": 4, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "editorMode": "builder", - "expr": "sum by(job) (keptn_deployment_active{job=\"otel-collector\"})", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Active Deployments", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus" - - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green" - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 9, - "w": 12, - "x": 0, - "y": 32 - }, - "id": 2, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "editorMode": "builder", - "expr": "sum by(job) (keptn_deployment_count{job=\"otel-collector\"})", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Finished Deployments", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "fixed" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green" - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 41 - }, - "id": 14, - "options": { - "displayMode": "gradient", - "minVizHeight": 10, - "minVizWidth": 0, - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showUnfilled": true - }, - "pluginVersion": "9.1.7", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "editorMode": "builder", - "exemplar": false, - "expr": "sort(sum by(le) (keptn_deployment_duration_bucket{job=\"otel-collector\", le!=\"+Inf\"}))", - "format": "time_series", - "instant": false, - "legendFormat": "{{le}}", - "range": true, - "refId": "A" - } - ], - "title": "Deployment Duration Histogram", - "transformations": [ - { - "id": "joinByLabels", - "options": { - "value": "le" - } - }, - { - "id": "organize", - "options": { - "excludeByName": {}, - "indexByName": { - "0": 0, - "5": 1, - "10": 2, - "25": 3, - "50": 4, - "75": 5, - "100": 6, - "250": 7, - "500": 8, - "1000": 9 - }, - "renameByName": {} - } - } - ], - "type": "bargauge" - } - ], - "refresh": "5s", - "schemaVersion": 37, - "style": "dark", - "tags": [], - "templating": { - "list": [] - }, - "time": { - "from": "now-3h", - "to": "now" - }, - "timepicker": {}, - "timezone": "", - "title": "Keptn Metrics", - "uid": "wlo2MpIVk", - "version": 1, - "weekStart": "" - } -kind: ConfigMap -metadata: - creationTimestamp: null - name: grafana-dashboard-keptn-overview - namespace: monitoring - labels: - grafana_dashboard: '1' diff --git a/dashboards/grafana/configmap/grafana-dashboard-keptn-workloads.yaml b/dashboards/grafana/configmap/grafana-dashboard-keptn-workloads.yaml deleted file mode 100644 index 7493b6618f..0000000000 --- a/dashboards/grafana/configmap/grafana-dashboard-keptn-workloads.yaml +++ /dev/null @@ -1,642 +0,0 @@ -apiVersion: v1 -data: - grafana_dashboard_workloads.json: |- - { - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": { - "type": "grafana", - "uid": "-- Grafana --" - }, - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "target": { - "limit": 100, - "matchAny": false, - "tags": [], - "type": "dashboard" - }, - "type": "dashboard" - } - ] - }, - "editable": true, - "fiscalYearStartMonth": 0, - "graphTooltip": 0, - "id": 28, - "links": [], - "liveNow": false, - "panels": [ - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "fieldConfig": { - "defaults": { - "color": { - "fixedColor": "green", - "mode": "fixed" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 6, - "w": 3, - "x": 0, - "y": 0 - }, - "id": 12, - "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "textMode": "auto" - }, - "pluginVersion": "9.2.1", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "editorMode": "builder", - "expr": "count(keptn_deployment_count{keptn_deployment_workload_name=\"$Workload\", keptn_deployment_workload_status=\"Succeeded\"})", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Succeeded", - "type": "stat" - }, - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "min": 2, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "#EAB839", - "value": 43200 - }, - { - "color": "red", - "value": 86400 - } - ] - }, - "unit": "s" - }, - "overrides": [] - }, - "gridPos": { - "h": 6, - "w": 10, - "x": 3, - "y": 0 - }, - "id": 16, - "options": { - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "mean" - ], - "fields": "", - "values": false - }, - "showThresholdLabels": false, - "showThresholdMarkers": true - }, - "pluginVersion": "9.2.1", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "editorMode": "builder", - "expr": "avg by(keptn_deployment_workload_previousversion, keptn_deployment_workload_version) (keptn_deployment_deploymentinterval{keptn_deployment_workload_name=\"$Workload\"})", - "format": "table", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Average Time between Deployments", - "type": "gauge" - }, - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "fieldConfig": { - "defaults": { - "color": { - "fixedColor": "red", - "mode": "fixed" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "red", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 6, - "w": 3, - "x": 13, - "y": 0 - }, - "id": 3, - "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "text": { - "valueSize": 100 - }, - "textMode": "auto" - }, - "pluginVersion": "9.2.1", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "editorMode": "builder", - "expr": "count(keptn_deployment_count{keptn_deployment_workload_name=\"$Workload\", keptn_deployment_workload_status=\"Failed\"})", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Failed", - "type": "stat" - }, - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "s" - }, - "overrides": [] - }, - "gridPos": { - "h": 6, - "w": 5, - "x": 0, - "y": 6 - }, - "id": 14, - "options": { - "displayMode": "gradient", - "minVizHeight": 10, - "minVizWidth": 0, - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showUnfilled": true - }, - "pluginVersion": "9.2.1", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "editorMode": "builder", - "expr": "max by(keptn_deployment_workload_version) (keptn_deployment_deploymentduration{keptn_deployment_workload_name=\"$Workload\"})", - "format": "table", - "interval": "", - "legendFormat": "{{keptn_workload_version}}", - "range": true, - "refId": "A" - } - ], - "title": "Deployment Time", - "type": "bargauge" - }, - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "fieldConfig": { - "defaults": { - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "orange", - "value": 5 - }, - { - "color": "red", - "value": 10 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 6, - "w": 6, - "x": 5, - "y": 6 - }, - "id": 4, - "options": { - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showThresholdLabels": false, - "showThresholdMarkers": true - }, - "pluginVersion": "9.2.1", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "editorMode": "builder", - "expr": "max(keptn_deployment_active{keptn_deployment_workload_name=\"$Workload\"})", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Active Deployments", - "type": "gauge" - }, - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "s" - }, - "overrides": [] - }, - "gridPos": { - "h": 6, - "w": 5, - "x": 11, - "y": 6 - }, - "id": 10, - "options": { - "displayMode": "gradient", - "minVizHeight": 10, - "minVizWidth": 0, - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showUnfilled": true - }, - "pluginVersion": "9.2.1", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "editorMode": "builder", - "expr": "avg by(keptn_deployment_workload_previousversion, keptn_deployment_workload_version) (keptn_deployment_deploymentinterval{keptn_deployment_workload_name=\"$Workload\"})", - "format": "table", - "legendFormat": "{{keptn_deployment_workload_previousversion}} - {{keptn_deployment_workload_version}}", - "range": true, - "refId": "A" - } - ], - "title": "Time between Deployments", - "type": "bargauge" - }, - { - "datasource": { - "type": "jaeger", - "uid": "PC9A941E8F2E49454" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "custom": { - "align": "auto", - "displayMode": "auto", - "inspect": false - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 6, - "w": 11, - "x": 0, - "y": 12 - }, - "id": 8, - "options": { - "footer": { - "fields": "", - "reducer": [ - "sum" - ], - "show": false - }, - "showHeader": true - }, - "pluginVersion": "9.2.1", - "targets": [ - { - "datasource": { - "type": "jaeger", - "uid": "PC9A941E8F2E49454" - }, - "operation": "$Workload/WorkloadPreDeployTasks", - "queryType": "search", - "refId": "A", - "service": "lifecycle-operator", - "tags": "" - } - ], - "title": "Traces", - "type": "table" - }, - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 6, - "w": 5, - "x": 11, - "y": 12 - }, - "id": 6, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "editorMode": "builder", - "expr": "max(keptn_deployment_active{keptn_deployment_workload_name=\"$Workload\"})", - "format": "time_series", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Deployments Active", - "type": "timeseries" - } - ], - "refresh": "5s", - "schemaVersion": 37, - "style": "dark", - "tags": [], - "templating": { - "list": [ - { - "current": { - "isNone": true, - "selected": false, - "text": "None", - "value": "" - }, - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "definition": "label_values(keptn_deployment_workload_name)", - "hide": 0, - "includeAll": false, - "multi": false, - "name": "Workload", - "options": [], - "query": { - "query": "label_values(keptn_deployment_workload_name)", - "refId": "StandardVariableQuery" - }, - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "type": "query" - } - ] - }, - "time": { - "from": "now-5m", - "to": "now" - }, - "timepicker": {}, - "timezone": "", - "title": "Keptn Workloads", - "uid": "hIXRvXS4k", - "version": 1, - "weekStart": "" - } -kind: ConfigMap -metadata: - creationTimestamp: null - name: grafana-dashboard-keptn-workloads - namespace: monitoring - labels: - grafana_dashboard: '1' diff --git a/dashboards/grafana/import/README.md b/dashboards/grafana/import/README.md deleted file mode 100644 index 9160dd2b4d..0000000000 --- a/dashboards/grafana/import/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# Autogenerated Files - Do not change - -## Grafana Dashboards - Import - -These dashboards can be imported into Grafana using the API. - -To import them, use `make import` in the makefile of the `dashboards` directory. diff --git a/dashboards/grafana/import/grafana_dashboard_applications.json b/dashboards/grafana/import/grafana_dashboard_applications.json deleted file mode 100644 index 216c7696ea..0000000000 --- a/dashboards/grafana/import/grafana_dashboard_applications.json +++ /dev/null @@ -1,864 +0,0 @@ -{ - "dashboard": - { - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": { - "type": "grafana", - "uid": "-- Grafana --" - }, - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "target": { - "limit": 100, - "matchAny": false, - "tags": [], - "type": "dashboard" - }, - "type": "dashboard" - } - ] - }, - "editable": true, - "fiscalYearStartMonth": 0, - "graphTooltip": 0, - "links": [], - "liveNow": false, - "panels": [ - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "fieldConfig": { - "defaults": { - "color": { - "fixedColor": "green", - "mode": "fixed" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 6, - "w": 2, - "x": 0, - "y": 0 - }, - "id": 19, - "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "sum" - ], - "fields": "", - "values": false - }, - "text": { - "valueSize": 80 - }, - "textMode": "auto" - }, - "pluginVersion": "9.2.1", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "editorMode": "builder", - "expr": "keptn_app_count_total{keptn_deployment_app_status=\"Succeeded\", keptn_deployment_app_name=\"$Application\"}", - "format": "table", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Succeeded", - "transformations": [ - { - "id": "groupBy", - "options": { - "fields": { - "Value": { - "aggregations": [ - "max" - ], - "operation": "aggregate" - }, - "keptn_deployment_app_version": { - "aggregations": [], - "operation": "groupby" - } - } - } - } - ], - "type": "stat" - }, - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "fieldConfig": { - "defaults": { - "mappings": [], - "thresholds": { - "mode": "percentage", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "orange", - "value": 70 - }, - { - "color": "red", - "value": 85 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 6, - "w": 8, - "x": 2, - "y": 0 - }, - "id": 4, - "options": { - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showThresholdLabels": false, - "showThresholdMarkers": true - }, - "pluginVersion": "9.2.1", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "editorMode": "builder", - "expr": "max(keptn_app_active{keptn_deployment_app_name=\"$Application\"})", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Active Deployments", - "type": "gauge" - }, - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "fieldConfig": { - "defaults": { - "color": { - "fixedColor": "red", - "mode": "fixed" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "red", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 6, - "w": 2, - "x": 10, - "y": 0 - }, - "id": 3, - "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "sum" - ], - "fields": "", - "values": false - }, - "text": { - "valueSize": 80 - }, - "textMode": "auto" - }, - "pluginVersion": "9.2.1", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "editorMode": "builder", - "expr": "keptn_app_count_total{keptn_deployment_app_status=\"Failed\", keptn_deployment_app_name=\"$Application\"}", - "format": "table", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Failed", - "transformations": [ - { - "id": "groupBy", - "options": { - "fields": { - "Value": { - "aggregations": [ - "max" - ], - "operation": "aggregate" - }, - "keptn_deployment_app_version": { - "aggregations": [ - "count" - ], - "operation": "groupby" - } - } - } - } - ], - "type": "stat" - }, - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 86400 - } - ] - }, - "unit": "s" - }, - "overrides": [] - }, - "gridPos": { - "h": 6, - "w": 2, - "x": 0, - "y": 6 - }, - "id": 10, - "options": { - "displayMode": "gradient", - "minVizHeight": 10, - "minVizWidth": 0, - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showUnfilled": true - }, - "pluginVersion": "9.2.1", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "editorMode": "builder", - "expr": "avg by(keptn_deployment_app_previousversion, keptn_deployment_app_version) (keptn_app_deploymentinterval{keptn_deployment_app_name=\"$Application\"})", - "format": "time_series", - "legendFormat": "{{keptn_deployment_app_previousversion}} - {{keptn_deployment_app_version}}", - "range": true, - "refId": "A" - } - ], - "title": "Time between Deployments", - "type": "bargauge" - }, - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "min": 2, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "#EAB839", - "value": 43200 - }, - { - "color": "red", - "value": 86400 - } - ] - }, - "unit": "s" - }, - "overrides": [] - }, - "gridPos": { - "h": 6, - "w": 8, - "x": 2, - "y": 6 - }, - "id": 16, - "options": { - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "last" - ], - "fields": "", - "values": false - }, - "showThresholdLabels": false, - "showThresholdMarkers": true - }, - "pluginVersion": "9.2.1", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "editorMode": "builder", - "expr": "avg by(keptn_deployment_workload_previousversion) (keptn_app_deploymentinterval{keptn_deployment_app_name=\"$Application\"})", - "format": "table", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Average Time between Deployments", - "type": "gauge" - }, - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 6, - "w": 2, - "x": 10, - "y": 6 - }, - "id": 14, - "options": { - "displayMode": "gradient", - "minVizHeight": 10, - "minVizWidth": 0, - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showUnfilled": true - }, - "pluginVersion": "9.2.1", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "editorMode": "builder", - "expr": "max by(keptn_deployment_app_version) (keptn_app_deploymentduration{keptn_deployment_app_name=\"$Application\"})", - "interval": "", - "legendFormat": "{{keptn_workload_version}}", - "range": true, - "refId": "A" - } - ], - "title": "Deployment Time", - "type": "bargauge" - }, - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "bars", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 3, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 9, - "w": 9, - "x": 0, - "y": 12 - }, - "id": 6, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "editorMode": "builder", - "expr": "max(keptn_app_active{keptn_deployment_app_name=\"$Application\"})", - "format": "table", - "interval": "1", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Deployments Active", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "P1809F7CD0C75ACF3" - }, - "fieldConfig": { - "defaults": { - "mappings": [], - "thresholds": { - "mode": "percentage", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "orange", - "value": 70 - }, - { - "color": "red", - "value": 85 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 9, - "w": 3, - "x": 9, - "y": 12 - }, - "id": 23, - "options": { - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showThresholdLabels": false, - "showThresholdMarkers": true - }, - "pluginVersion": "9.2.1", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "editorMode": "builder", - "expr": "max(keptn_promotion_count_total{keptn_deployment_app_name=\"$Application\"})", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Successful promotions", - "type": "gauge" - }, - { - "datasource": { - "type": "jaeger", - "uid": "PC9A941E8F2E49454" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "custom": { - "align": "auto", - "displayMode": "auto", - "inspect": false - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 7, - "w": 9, - "x": 0, - "y": 21 - }, - "id": 8, - "options": { - "footer": { - "fields": "", - "reducer": [ - "sum" - ], - "show": false - }, - "showHeader": true - }, - "pluginVersion": "9.2.1", - "targets": [ - { - "datasource": { - "type": "jaeger", - "uid": "PC9A941E8F2E49454" - }, - "operation": "AppPreDeployTasks", - "queryType": "search", - "refId": "A", - "service": "lifecycle-operator", - "tags": "keptn.deployment.app.name=$Application" - } - ], - "title": "Traces", - "type": "table" - }, - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "custom": { - "align": "auto", - "displayMode": "auto", - "inspect": false - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "keptn_deployment_workload_version (lastNotNull)" - }, - "properties": [ - { - "id": "custom.width", - "value": 100 - } - ] - } - ] - }, - "gridPos": { - "h": 7, - "w": 3, - "x": 9, - "y": 21 - }, - "id": 21, - "options": { - "footer": { - "fields": "", - "reducer": [ - "sum" - ], - "show": false - }, - "showHeader": false - }, - "pluginVersion": "9.2.1", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "editorMode": "builder", - "expr": "keptn_deployment_deploymentduration{keptn_deployment_app_name=\"$Application\"}", - "format": "table", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Active Workloads", - "transformations": [ - { - "id": "groupBy", - "options": { - "fields": { - "Value": { - "aggregations": [] - }, - "keptn_deployment_workload_name": { - "aggregations": [], - "operation": "groupby" - }, - "keptn_deployment_workload_version": { - "aggregations": [], - "operation": "aggregate" - } - } - } - }, - { - "id": "sortBy", - "options": { - "fields": {}, - "sort": [ - { - "desc": true, - "field": "keptn_deployment_workload_version" - } - ] - } - } - ], - "type": "table" - } - ], - "refresh": "5s", - "schemaVersion": 37, - "style": "dark", - "tags": [], - "templating": { - "list": [ - { - "current": { - "selected": true, - "text": "podtato-head", - "value": "podtato-head" - }, - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "definition": "label_values(keptn_deployment_app_name)", - "hide": 0, - "includeAll": false, - "multi": false, - "name": "Application", - "options": [], - "query": { - "query": "label_values(keptn_deployment_app_name)", - "refId": "StandardVariableQuery" - }, - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "type": "query" - }, - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "filters": [], - "hide": 0, - "name": "Filters", - "skipUrlSync": false, - "type": "adhoc" - } - ] - }, - "time": { - "from": "now-2d", - "to": "now" - }, - "timepicker": {}, - "timezone": "", - "title": "Keptn Applications", - "uid": "nbiPNgN4z", - "version": 1, - "weekStart": "" - } -} diff --git a/dashboards/grafana/import/grafana_dashboard_overview.json b/dashboards/grafana/import/grafana_dashboard_overview.json deleted file mode 100644 index 3152cb3b30..0000000000 --- a/dashboards/grafana/import/grafana_dashboard_overview.json +++ /dev/null @@ -1,886 +0,0 @@ -{ - "dashboard": { - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": { - "type": "grafana", - "uid": "-- Grafana --" - }, - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "target": { - "limit": 100, - "matchAny": false, - "tags": [], - "type": "dashboard" - }, - "type": "dashboard" - } - ] - }, - "editable": true, - "fiscalYearStartMonth": 0, - "graphTooltip": 0, - "id": null, - "links": [], - "liveNow": false, - "panels": [ - { - "datasource": { - "type": "prometheus" - - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 0 - }, - "id": 10, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus" - - }, - "editorMode": "builder", - "expr": "sum by(job) (keptn_task_active{job=\"otel-collector\"})", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Active Tasks", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus" - - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 0 - }, - "id": 16, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus" - - }, - "editorMode": "builder", - "expr": "sum by(job) (keptn_evaluation_active{job=\"otel-collector\"})", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Active Evaluations", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus" - - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 8 - }, - "id": 12, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus" - - }, - "editorMode": "builder", - "expr": "sum by(job) (keptn_task_count{job=\"otel-collector\"})", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Finished Tasks", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus" - - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 8 - }, - "id": 17, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus" - - }, - "editorMode": "builder", - "expr": "sum by(job) (keptn_evaluation_count_total{job=\"otel-collector\"})", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Finished Evaluations", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus" - - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "fixed" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 16 - }, - "id": 15, - "options": { - "displayMode": "gradient", - "minVizHeight": 10, - "minVizWidth": 0, - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showUnfilled": true - }, - "pluginVersion": "9.2.1", - "targets": [ - { - "datasource": { - "type": "prometheus" - - }, - "editorMode": "builder", - "exemplar": false, - "expr": "sort(sum by(le) (keptn_task_duration_bucket{job=\"otel-collector\", le!=\"+Inf\"}))", - "format": "time_series", - "instant": false, - "legendFormat": "{{le}}", - "range": true, - "refId": "A" - } - ], - "title": "Task Duration Histogram", - "transformations": [ - { - "id": "joinByLabels", - "options": { - "value": "le" - } - }, - { - "id": "organize", - "options": { - "excludeByName": {}, - "indexByName": { - "0": 0, - "5": 1, - "10": 2, - "25": 3, - "50": 4, - "75": 5, - "100": 6, - "250": 7, - "500": 8, - "1000": 9 - }, - "renameByName": {} - } - } - ], - "type": "bargauge" - }, - { - "datasource": { - "type": "prometheus" - - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "fixed" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 16 - }, - "id": 18, - "options": { - "displayMode": "gradient", - "minVizHeight": 10, - "minVizWidth": 0, - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showUnfilled": true - }, - "pluginVersion": "9.2.1", - "targets": [ - { - "datasource": { - "type": "prometheus" - - }, - "editorMode": "builder", - "exemplar": false, - "expr": "sort(sum by(le) (keptn_evaluation_duration_bucket{job=\"otel-collector\", le!=\"+Inf\"}))", - "format": "time_series", - "instant": false, - "legendFormat": "{{le}}", - "range": true, - "refId": "A" - } - ], - "title": "Evaluation Duration Histogram", - "transformations": [ - { - "id": "joinByLabels", - "options": { - "value": "le" - } - }, - { - "id": "organize", - "options": { - "excludeByName": {}, - "indexByName": { - "0": 0, - "5": 1, - "10": 2, - "25": 3, - "50": 4, - "75": 5, - "100": 6, - "250": 7, - "500": 8, - "1000": 9 - }, - "renameByName": {} - } - } - ], - "type": "bargauge" - }, - { - "datasource": { - "type": "prometheus" - - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 24 - }, - "id": 4, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus" - - }, - "editorMode": "builder", - "expr": "sum by(job) (keptn_deployment_active{job=\"otel-collector\"})", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Active Deployments", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus" - - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green" - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 9, - "w": 12, - "x": 0, - "y": 32 - }, - "id": 2, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus" - - }, - "editorMode": "builder", - "expr": "sum by(job) (keptn_deployment_count{job=\"otel-collector\"})", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Finished Deployments", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus" - - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "fixed" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green" - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 41 - }, - "id": 14, - "options": { - "displayMode": "gradient", - "minVizHeight": 10, - "minVizWidth": 0, - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showUnfilled": true - }, - "pluginVersion": "9.1.7", - "targets": [ - { - "datasource": { - "type": "prometheus" - - }, - "editorMode": "builder", - "exemplar": false, - "expr": "sort(sum by(le) (keptn_deployment_duration_bucket{job=\"otel-collector\", le!=\"+Inf\"}))", - "format": "time_series", - "instant": false, - "legendFormat": "{{le}}", - "range": true, - "refId": "A" - } - ], - "title": "Deployment Duration Histogram", - "transformations": [ - { - "id": "joinByLabels", - "options": { - "value": "le" - } - }, - { - "id": "organize", - "options": { - "excludeByName": {}, - "indexByName": { - "0": 0, - "5": 1, - "10": 2, - "25": 3, - "50": 4, - "75": 5, - "100": 6, - "250": 7, - "500": 8, - "1000": 9 - }, - "renameByName": {} - } - } - ], - "type": "bargauge" - } - ], - "refresh": "5s", - "schemaVersion": 37, - "style": "dark", - "tags": [], - "templating": { - "list": [] - }, - "time": { - "from": "now-3h", - "to": "now" - }, - "timepicker": {}, - "timezone": "", - "title": "Keptn Metrics", - "uid": null, - "version": 1, - "weekStart": "" - } -} diff --git a/dashboards/grafana/import/grafana_dashboard_workloads.json b/dashboards/grafana/import/grafana_dashboard_workloads.json deleted file mode 100644 index cd4c51dd79..0000000000 --- a/dashboards/grafana/import/grafana_dashboard_workloads.json +++ /dev/null @@ -1,633 +0,0 @@ -{ - "dashboard": { - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": { - "type": "grafana", - "uid": "-- Grafana --" - }, - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "target": { - "limit": 100, - "matchAny": false, - "tags": [], - "type": "dashboard" - }, - "type": "dashboard" - } - ] - }, - "editable": true, - "fiscalYearStartMonth": 0, - "graphTooltip": 0, - "id": null, - "links": [], - "liveNow": false, - "panels": [ - { - "datasource": { - "type": "prometheus" - - }, - "fieldConfig": { - "defaults": { - "color": { - "fixedColor": "green", - "mode": "fixed" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 6, - "w": 3, - "x": 0, - "y": 0 - }, - "id": 12, - "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "textMode": "auto" - }, - "pluginVersion": "9.2.1", - "targets": [ - { - "datasource": { - "type": "prometheus" - }, - "editorMode": "builder", - "expr": "count(keptn_deployment_count{keptn_deployment_workload_name=\"$Workload\", keptn_deployment_workload_status=\"Succeeded\"})", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Succeeded", - "type": "stat" - }, - { - "datasource": { - "type": "prometheus" - - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "min": 2, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "#EAB839", - "value": 43200 - }, - { - "color": "red", - "value": 86400 - } - ] - }, - "unit": "s" - }, - "overrides": [] - }, - "gridPos": { - "h": 6, - "w": 10, - "x": 3, - "y": 0 - }, - "id": 16, - "options": { - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "mean" - ], - "fields": "", - "values": false - }, - "showThresholdLabels": false, - "showThresholdMarkers": true - }, - "pluginVersion": "9.2.1", - "targets": [ - { - "datasource": { - "type": "prometheus" - - }, - "editorMode": "builder", - "expr": "avg by(keptn_deployment_workload_previousversion, keptn_deployment_workload_version) (keptn_deployment_deploymentinterval{keptn_deployment_workload_name=\"$Workload\"})", - "format": "table", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Average Time between Deployments", - "type": "gauge" - }, - { - "datasource": { - "type": "prometheus" - - }, - "fieldConfig": { - "defaults": { - "color": { - "fixedColor": "red", - "mode": "fixed" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "red", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 6, - "w": 3, - "x": 13, - "y": 0 - }, - "id": 3, - "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "text": { - "valueSize": 100 - }, - "textMode": "auto" - }, - "pluginVersion": "9.2.1", - "targets": [ - { - "datasource": { - "type": "prometheus" - - }, - "editorMode": "builder", - "expr": "count(keptn_deployment_count{keptn_deployment_workload_name=\"$Workload\", keptn_deployment_workload_status=\"Failed\"})", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Failed", - "type": "stat" - }, - { - "datasource": { - "type": "prometheus" - - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "s" - }, - "overrides": [] - }, - "gridPos": { - "h": 6, - "w": 5, - "x": 0, - "y": 6 - }, - "id": 14, - "options": { - "displayMode": "gradient", - "minVizHeight": 10, - "minVizWidth": 0, - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showUnfilled": true - }, - "pluginVersion": "9.2.1", - "targets": [ - { - "datasource": { - "type": "prometheus" - - }, - "editorMode": "builder", - "expr": "max by(keptn_deployment_workload_version) (keptn_deployment_deploymentduration{keptn_deployment_workload_name=\"$Workload\"})", - "format": "table", - "interval": "", - "legendFormat": "{{keptn_workload_version}}", - "range": true, - "refId": "A" - } - ], - "title": "Deployment Time", - "type": "bargauge" - }, - { - "datasource": { - "type": "prometheus" - - }, - "fieldConfig": { - "defaults": { - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "orange", - "value": 5 - }, - { - "color": "red", - "value": 10 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 6, - "w": 6, - "x": 5, - "y": 6 - }, - "id": 4, - "options": { - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showThresholdLabels": false, - "showThresholdMarkers": true - }, - "pluginVersion": "9.2.1", - "targets": [ - { - "datasource": { - "type": "prometheus" - - }, - "editorMode": "builder", - "expr": "max(keptn_deployment_active{keptn_deployment_workload_name=\"$Workload\"})", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Active Deployments", - "type": "gauge" - }, - { - "datasource": { - "type": "prometheus" - - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "s" - }, - "overrides": [] - }, - "gridPos": { - "h": 6, - "w": 5, - "x": 11, - "y": 6 - }, - "id": 10, - "options": { - "displayMode": "gradient", - "minVizHeight": 10, - "minVizWidth": 0, - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showUnfilled": true - }, - "pluginVersion": "9.2.1", - "targets": [ - { - "datasource": { - "type": "prometheus" - - }, - "editorMode": "builder", - "expr": "avg by(keptn_deployment_workload_previousversion, keptn_deployment_workload_version) (keptn_deployment_deploymentinterval{keptn_deployment_workload_name=\"$Workload\"})", - "format": "table", - "legendFormat": "{{keptn_deployment_workload_previousversion}} - {{keptn_deployment_workload_version}}", - "range": true, - "refId": "A" - } - ], - "title": "Time between Deployments", - "type": "bargauge" - }, - { - "datasource": { - "type": "jaeger", - "uid": "PC9A941E8F2E49454" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "custom": { - "align": "auto", - "displayMode": "auto", - "inspect": false - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 6, - "w": 11, - "x": 0, - "y": 12 - }, - "id": 8, - "options": { - "footer": { - "fields": "", - "reducer": [ - "sum" - ], - "show": false - }, - "showHeader": true - }, - "pluginVersion": "9.2.1", - "targets": [ - { - "datasource": { - "type": "jaeger", - "uid": "PC9A941E8F2E49454" - }, - "operation": "$Workload/WorkloadPreDeployTasks", - "queryType": "search", - "refId": "A", - "service": "lifecycle-operator", - "tags": "" - } - ], - "title": "Traces", - "type": "table" - }, - { - "datasource": { - "type": "prometheus" - - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 6, - "w": 5, - "x": 11, - "y": 12 - }, - "id": 6, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus" - - }, - "editorMode": "builder", - "expr": "max(keptn_deployment_active{keptn_deployment_workload_name=\"$Workload\"})", - "format": "time_series", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Deployments Active", - "type": "timeseries" - } - ], - "refresh": "5s", - "schemaVersion": 37, - "style": "dark", - "tags": [], - "templating": { - "list": [ - { - "current": { - "isNone": true, - "selected": false, - "text": "None", - "value": "" - }, - "datasource": { - "type": "prometheus" - - }, - "definition": "label_values(keptn_deployment_workload_name)", - "hide": 0, - "includeAll": false, - "multi": false, - "name": "Workload", - "options": [], - "query": { - "query": "label_values(keptn_deployment_workload_name)", - "refId": "StandardVariableQuery" - }, - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "type": "query" - } - ] - }, - "time": { - "from": "now-5m", - "to": "now" - }, - "timepicker": {}, - "timezone": "", - "title": "Keptn Workloads", - "uid": null, - "version": 1, - "weekStart": "" - } -} diff --git a/dashboards/grafana/utils/generate-import.sh b/dashboards/grafana/utils/generate-import.sh deleted file mode 100755 index 68ef2e248c..0000000000 --- a/dashboards/grafana/utils/generate-import.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -OUTDIR="$1" - -for i in $(ls grafana*); do - cat << EOF | jq '.dashboard.id = null | .dashboard.uid = null' > "$OUTDIR/$i" - { - "dashboard": - $(cat "$i") - } -EOF -done \ No newline at end of file diff --git a/docs/.htmltest.yml b/docs/.htmltest.yml deleted file mode 100644 index 0b56c605cf..0000000000 --- a/docs/.htmltest.yml +++ /dev/null @@ -1,15 +0,0 @@ -CheckDoctype: false -IgnoreDirectoryMissingTrailingSlash: true -IgnoreDirs: - - favicons - - community/ -IgnoreURLs: - - "linkedin.com" - - "localhost" - - "twitter.com" - - "fonts.gstatic.com" - - "github.com/keptn/lifecycle-toolkit/edit/main/docs" - - "github.com/keptn/lifecycle-toolkit/raw/main/docs" - - "keptn.sh/stable/" -StripQueryString: false -OutputDir: /tmp/.htmltest diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md deleted file mode 100644 index 34a51dd7c3..0000000000 --- a/docs/CONTRIBUTING.md +++ /dev/null @@ -1,61 +0,0 @@ -# Contribute to the Keptn documentation - -This is the root of the source code for -the -[Keptn documentation](https://lifecycle.keptn.sh/docs/), -which is part of the -[Keptn](https://keptn.sh) website. - -The Keptn documentation is authored with -[markdown](https://www.markdownguide.org/basic-syntax/) -and rendered using -[MkDocs](https://www.mkdocs.org/). - -We welcome and encourage contributions of all levels. -You can make modifications in various ways: - -- Use the GitHub editor; - this works well for small modifications. -- Use GitHub Codespaces. - See - [Codespaces](https://keptn.sh/stable/docs/contribute/general/codespace/) -- If you are making significant changes, - you may find it better to fork and clone the repository - and make changes using the text editor or IDE of your choice. - See [Working with Git](https://keptn.sh/stable/docs/contribute/general/git/) - - You can run the website locally - to check the rendered documentation. - and then push your changes to the repository as a pull request. - -See the -[Contributing guide](https://keptn.sh/stable/docs/contribute/) -for more information about tools and practices to use -when contributing to the Keptn project. - -If you need help getting started, -feel free to ask for help on the `#keptn` channel on the [CNCF Slack](https://cloud-native.slack.com). -We were all new to this once and are happy to help you! - -## Building the Documentation Locally - -To build and deploy the documentation in a container, execute - -```shell -make docs-serve -``` - -This sets up a container, installs all needed dependencies, -builds the documentation, and serves it. - -The URL on which your local documentation website is deployed -is displayed in the logs. -By default this should be `http://0.0.0.0:8000/` - -For more details, see -[Build documentation locally](https://keptn.sh/stable/docs/contribute/docs/local-building/) - -For information about previewing `.md` files -that are outside the documentation NAV path -(such as `README.md` and `CONTRIBUTING.md` files), see -[Building markdown files without Hugo](https://keptn.sh/stable/docs/contribute/docs/local-building/#building-markdown-files-without-hugo). diff --git a/docs/Makefile b/docs/Makefile deleted file mode 100644 index 5eb6a87c79..0000000000 --- a/docs/Makefile +++ /dev/null @@ -1,75 +0,0 @@ -ROOT_DIR := $(dir $(realpath $(lastword $(MAKEFILE_LIST)))) - -# renovate: datasource=docker depName=squidfunk/mkdocs-material -MKDOCS_DOCKER_IMAGE_VERSION=9.5.44 -MKDOCS_DOCKER_IMAGE=squidfunk/mkdocs-material - -INTERACTIVE:=$(shell [ -t 0 ] && echo 1) -PORT := 8000 - -DOCKER_CMD := docker run --rm $(INTERACTIVE_FLAG) - -ifdef INTERACTIVE -# is a terminal -INTERACTIVE_FLAG := -it -else -INTERACTIVE_FLAG := -t -endif - -PIP_CACHE_DIR=$(shell pip3 cache dir) -PWD=$(shell pwd) - -.PHONY: docs-build -docs-build: - $(DOCKER_CMD) -v ${PWD}/docs:/docs \ - -v ${PWD}/mkdocs.yml:/mkdocs.yml \ - -v ${PWD}/requirements.txt:/requirements.txt \ - -v ${PWD}/site:/site \ - -v ${PWD}/.git:/.git \ - -v ${PIP_CACHE_DIR}:/root/.cache/pip \ - --entrypoint "" \ - ${MKDOCS_DOCKER_IMAGE}:${MKDOCS_DOCKER_IMAGE_VERSION} \ - sh -c 'cd /; pip install -r requirements.txt -q; mkdocs build' - -.PHONY: docs-serve -docs-serve: - $(DOCKER_CMD) -p $(PORT):$(PORT) \ - -v ${PWD}/docs:/docs \ - -v ${PWD}/mkdocs.yml:/mkdocs.yml \ - -v ${PWD}/requirements.txt:/requirements.txt \ - -v ${PWD}/site:/site \ - -v ${PWD}/.git:/.git \ - -v ${PIP_CACHE_DIR}:/root/.cache/pip \ - --entrypoint "" \ - ${MKDOCS_DOCKER_IMAGE}:${MKDOCS_DOCKER_IMAGE_VERSION} \ - sh -c 'cd /; pip install -r requirements.txt -q; mkdocs serve --dirty -a 0.0.0.0:$(PORT)' - -.PHONY: htmltest - -# renovate: datasource=docker depName=wjdp/htmltest -HTMLTEST_VERSION := v0.17.0 -htmltest: docs-build - $(DOCKER_CMD) \ - -v $(PWD)/docs/.htmltest.yml:/.htmltest.yml \ - -v ${PWD}/site:/site \ - -v ${PWD}/tmp/.htmltest:/tmp/.htmltest \ - wjdp/htmltest:$(HTMLTEST_VERSION) --log-level 0 -c /.htmltest.yml /site - -.PHONY: lint lint-fix -lint: markdownlint -lint: lint-fix - -# Markdown lint configuration -# -# - .markdownlintignore holds the configuration for files to be ignored -# - .markdownlint.yaml contains the rules for markdownfiles -# renovate: datasource=docker depName=davidanson/markdownlint-cli2-rules -MDL_DOCKER_VERSION := v0.13.0 -MDL_CMD := docker run -v $(ROOT_DIR)../:/workdir --rm - -.PHONY: markdownlint markdownlint-fix -markdownlint: - $(MDL_CMD) davidanson/markdownlint-cli2-rules:${MDL_DOCKER_VERSION} "**/*.md" - -markdownlint-fix: - $(MDL_CMD) davidanson/markdownlint-cli2-rules:${MDL_DOCKER_VERSION} --fix "**/*.md" diff --git a/docs/assets/images/capabilities-01.svg b/docs/assets/images/capabilities-01.svg deleted file mode 100644 index 4b428e177b..0000000000 --- a/docs/assets/images/capabilities-01.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/assets/images/capabilities-03.svg b/docs/assets/images/capabilities-03.svg deleted file mode 100644 index abdfc537c2..0000000000 --- a/docs/assets/images/capabilities-03.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/assets/images/capabilities-04.svg b/docs/assets/images/capabilities-04.svg deleted file mode 100644 index 3b67632c6d..0000000000 --- a/docs/assets/images/capabilities-04.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/assets/images/cil_graph.svg b/docs/assets/images/cil_graph.svg deleted file mode 100644 index dc4c8ae3ba..0000000000 --- a/docs/assets/images/cil_graph.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/assets/images/cncf-color.svg b/docs/assets/images/cncf-color.svg deleted file mode 100644 index 12f7d3e48a..0000000000 --- a/docs/assets/images/cncf-color.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/assets/images/cncf-white.svg b/docs/assets/images/cncf-white.svg deleted file mode 100644 index d94aaf3249..0000000000 --- a/docs/assets/images/cncf-white.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/assets/images/deployment-checks.png b/docs/assets/images/deployment-checks.png deleted file mode 100644 index cc9c452b65..0000000000 Binary files a/docs/assets/images/deployment-checks.png and /dev/null differ diff --git a/docs/assets/images/higher-compliance.png b/docs/assets/images/higher-compliance.png deleted file mode 100644 index e4656c7955..0000000000 Binary files a/docs/assets/images/higher-compliance.png and /dev/null differ diff --git a/docs/assets/images/icon-park-outline_discovery-index.svg b/docs/assets/images/icon-park-outline_discovery-index.svg deleted file mode 100644 index e2ec0601ad..0000000000 --- a/docs/assets/images/icon-park-outline_discovery-index.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/docs/assets/images/keptn-grafana-observability.png b/docs/assets/images/keptn-grafana-observability.png deleted file mode 100644 index 730c03dd8e..0000000000 Binary files a/docs/assets/images/keptn-grafana-observability.png and /dev/null differ diff --git a/docs/assets/images/keptn-icon-white.svg b/docs/assets/images/keptn-icon-white.svg deleted file mode 100644 index 109820cfea..0000000000 --- a/docs/assets/images/keptn-icon-white.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/assets/images/keptn-logo-white.svg b/docs/assets/images/keptn-logo-white.svg deleted file mode 100644 index 9a814a3e39..0000000000 --- a/docs/assets/images/keptn-logo-white.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/assets/images/keptn-metrics.png b/docs/assets/images/keptn-metrics.png deleted file mode 100644 index 71b6fb20b6..0000000000 Binary files a/docs/assets/images/keptn-metrics.png and /dev/null differ diff --git a/docs/assets/images/logo-mobile.svg b/docs/assets/images/logo-mobile.svg deleted file mode 100644 index 6f2c3b7865..0000000000 --- a/docs/assets/images/logo-mobile.svg +++ /dev/null @@ -1,21 +0,0 @@ - - - - -Group 2 -Created with Sketch. - - - - - - - - - diff --git a/docs/assets/images/pepicons-pencil_monitor-loop.svg b/docs/assets/images/pepicons-pencil_monitor-loop.svg deleted file mode 100644 index fa9c944d2d..0000000000 --- a/docs/assets/images/pepicons-pencil_monitor-loop.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/assets/images/solar_delivery-bold.svg b/docs/assets/images/solar_delivery-bold.svg deleted file mode 100644 index b20bc53d72..0000000000 --- a/docs/assets/images/solar_delivery-bold.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/assets/images/streamline_code-analysis.svg b/docs/assets/images/streamline_code-analysis.svg deleted file mode 100644 index 98a3b58de3..0000000000 --- a/docs/assets/images/streamline_code-analysis.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/docs/assets/images/tabler_ship.svg b/docs/assets/images/tabler_ship.svg deleted file mode 100644 index f156c51a9a..0000000000 --- a/docs/assets/images/tabler_ship.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/assets/javascripts/versions.js b/docs/assets/javascripts/versions.js deleted file mode 100644 index e6d3a2bb3f..0000000000 --- a/docs/assets/javascripts/versions.js +++ /dev/null @@ -1,25 +0,0 @@ -// VERSION WARNINGS -window.addEventListener("DOMContentLoaded", function() { - return; //TODO: decide if we want this - var rtdData = window['READTHEDOCS_DATA'] || { version: 'latest' }; - var margin = 30; - var headerHeight = document.getElementsByClassName("md-header")[0].offsetHeight; - if (rtdData.version === "latest") { - document.querySelector("div[data-md-component=announce]").innerHTML = "
You are viewing the docs for an unreleased version of Keptn, click here to go to the latest stable version.
" - var bannerHeight = document.getElementById('announce-msg').offsetHeight + margin - document.querySelector("header.md-header").style.top = bannerHeight +"px"; - document.querySelector('style').textContent += - "@media screen and (min-width: 76.25em){ .md-sidebar { height: 0; top:"+ (bannerHeight+headerHeight)+"px !important; }}" - document.querySelector('style').textContent += - "@media screen and (min-width: 60em){ .md-sidebar--secondary { height: 0; top:"+ (bannerHeight+headerHeight)+"px !important; }}" - } - else if (rtdData.version !== "stable") { - document.querySelector("div[data-md-component=announce]").innerHTML = "
You are viewing the docs for a previous version of Keptn, click here to go to the latest stable version.
" - var bannerHeight = document.getElementById('announce-msg').offsetHeight + margin - document.querySelector("header.md-header").style.top = bannerHeight +"px"; - document.querySelector('style').textContent += - "@media screen and (min-width: 76.25em){ .md-sidebar { height: 0; top:"+ (bannerHeight+headerHeight)+"px !important; }}" - document.querySelector('style').textContent += - "@media screen and (min-width: 60em){ .md-sidebar--secondary { height: 0; top:"+ (bannerHeight+headerHeight)+"px !important; }}" - } -}); diff --git a/docs/assets/stylesheets/color-schemes.css b/docs/assets/stylesheets/color-schemes.css deleted file mode 100644 index d47b5940ad..0000000000 --- a/docs/assets/stylesheets/color-schemes.css +++ /dev/null @@ -1,53 +0,0 @@ -[data-md-color-scheme="default"] { - color-scheme: light; - --md-primary-fg-color: #006bba; - --md-primary-fg-color--light: #198fde; - --md-primary-fg-color--dark: #004f9b; - - --md-primary-bg-color: #FFFFFFFF; - --md-primary-bg-color--light: #FFFFFFB3; - - --md-typeset-color: var(--md-default-fg-color); - - --md-accent-fg-color: #D8E6F4FF; - --md-accent-fg-color--transparent: #4051B51A; - - --md-accent-bg-color: var(--md-primary-bg-color); - --md-accent-bg-color--light: var(--md-primary-bg-color--light); - - --md-default-fg-color: hsla(0, 0%, 0%, 0.87); - --md-default-fg-color--light: hsla(0, 0%, 0%, 0.54); - --md-default-fg-color--lighter: hsla(0, 0%, 0%, 0.32); - --md-default-fg-color--lightest: hsla(0, 0%, 0%, 0.07); - --md-default-bg-color: hsla(0, 0%, 100%, 1); - --md-default-bg-color--light: hsla(0, 0%, 100%, 0.7); - --md-default-bg-color--lighter: hsla(0, 0%, 100%, 0.3); - --md-default-bg-color--lightest: hsla(0, 0%, 100%, 0.12); -} - -[data-md-color-scheme="slate"] { - color-scheme: dark; - --md-primary-fg-color: #004f9b; - --md-primary-fg-color--light: #0b7dcc; - --md-primary-fg-color--dark: #004f9b; - - --md-primary-bg-color: #FFFFFFFF; - --md-primary-bg-color--light: #FFFFFFB3; - - --md-typeset-color: var(--md-default-fg-color); - - --md-accent-fg-color: #2774b6; - --md-accent-fg-color--transparent: #2774b61A; - - --md-accent-bg-color: var(--md-primary-bg-color); - --md-accent-bg-color--light: var(--md-primary-bg-color--light); - - --md-default-fg-color: hsla(0, 0%, 100%, 1); - --md-default-fg-color--light: hsla(0, 0%, 100%, 0.7); - --md-default-fg-color--lighter: hsla(0, 0%, 100%, 0.3); - --md-default-fg-color--lightest: hsla(0, 0%, 100%, 0.12); - --md-default-bg-color: hsla(0, 0%, 0%, 0.67); - --md-default-bg-color--light: hsla(0, 0%, 0%, 0.54); - --md-default-bg-color--lighter: hsla(0, 0%, 0%, 0.32); - --md-default-bg-color--lightest: hsla(0, 0%, 0%, 0.07); -} diff --git a/docs/assets/stylesheets/home.css b/docs/assets/stylesheets/home.css deleted file mode 100644 index ca71912974..0000000000 --- a/docs/assets/stylesheets/home.css +++ /dev/null @@ -1,510 +0,0 @@ -body { - overflow-x: hidden; -} - -figure { - margin-left: 0; - margin-right: 0; -} - -.md-content__inner { - margin-bottom: 0; - padding: 2.2rem 0; -} - -.mdx-hero__content h1 { - color: #ffffff; - font-weight: 600; -} - -.mdx-hero__content p { - color: #ffffff; - opacity: 0.4; - max-width: 700px; -} - -.mdx-expect { - margin-top: 5.2rem; - margin-bottom: 5.2rem; -} - -.mdx-expect__description h2 { - margin-top: 0; -} - -.md-content__inner:before { - display: none; -} - -.frame { - border: 0px; -} - -.feature-image-container { - width: 600px; - height: 300px; -} - -.feature-image-container--vertical { - width: 580px; - height: 700px; -} - -.feature-image-container > img, -.feature-image-container--vertical > img { - width: 100%; - height: 100%; - object-fit: contain; - object-position: right; -} - -.bg-blue { - background-color: #011549; - color: white; -} - -.text-blue { - color: #232eab; -} - -.font-size-20 { - font-size: 20px; -} - -.mt-70 { - margin-top: 70px; -} - -.text-bold { - font-weight: 800 !important; -} - -.banner { - margin: 70px auto; -} - -.cncf-disclaimer-container { - margin-top: 50px; - margin-bottom: -140px; -} - -.cncf-disclaimer { - width: 350px; - height: 200px; - object-fit: cover; - background-repeat: no-repeat; - background-image: url("../images/cncf-color.svg"); -} - -[data-md-color-scheme="slate"] .cncf-disclaimer { - background-image: url("../images/cncf-white.svg"); -} - -/* Prevent removing default title on the page */ -.md-content__inner h1:first-child { - display: block; -} - -.md-main { - flex-grow: 0; -} - -.md-main__inner { - display: flex; - height: 100%; -} - -.gradient-container { - padding-top: 0rem; - background: linear-gradient( - to bottom, - var(--md-primary-fg-color), - var(--md-accent-fg-color), - var(--md-default-bg-color) - ); -} - -.tx-hero { - margin: 32px 2.8rem; - color: var(--md-primary-bg-color); - justify-content: center; -} - -.tx-hero h1 { - margin-bottom: 1rem; - color: var(--md-default-fg-color--light); - font-weight: 700; -} - -.tx-hero__content { - padding-bottom: 1rem; - margin: 0 auto; -} - -.tx-hero__image { - width: 17rem; - height: 17rem; - order: 1; - padding-right: 2.5rem; -} - -.md-button { - margin-top: 0.5rem; - margin-right: 0.5rem; - color: var(--md-primary-bg-color); -} - -.mdx-hero .md-button--primary { - background-color: var(--md-primary-bg-color); - color: var(--md-primary-fg-color); - border-color: var(--md-primary-bg-color); -} - -.mdx-hero .md-button--secondary { - color: var(--md-primary-bg-color); - border-color: var(--md-primary-bg-color); - border-width: 1px; -} - -.md-button--secondary { - color: #161c5c; - border-color: #161c5c; - border-width: 1px; -} - -.tx-hero .md-button:focus, -.tx-hero .md-button:hover { - background-color: var(--md-accent-fg-color); - color: var(--md-primary-bg-color); - border-color: var(--md-accent-fg-color); -} - -.top-hr { - margin-top: 42px; -} - -.feature-item { - font-family: "Lato", sans-serif; - font-weight: 300; - box-sizing: border-box; - padding: 0 15px; - word-break: break-word; -} - -.feature-item h2 { - font-weight: 300; - font-size: 25px; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - line-height: normal; - margin-top: 20px; - margin-bottom: 10px; - font-family: inherit; -} - -.feature-item p { - font-size: 16px; - line-height: 1.8em; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - margin: 0 0 10px; - display: block; -} - -.bg-default { - width: 100vw; - height: 50vh; - background-color: var(--md-primary-fg-color); - color: #ffffff; -} - -.bg-dark { - background-color: #1e2129; - color: #e2e4e9d1; -} - -.font-color-white__faint { - color: #e2e4e98f !important; -} - -.mdx-expect__list { - display: flex; - flex-flow: row wrap; - gap: 1.6rem; - padding: 0; -} - -.mdx-expect__item { - display: flex; - align-items: flex-start; - flex: 1 0 48%; - gap: 0.6rem; - margin: 0; -} - -.mdx-expect__icon { - fill: currentcolor; - background-color: #e2e4e91f; - border-radius: 100%; - flex-shrink: 0; - height: 2.2rem; - padding: 0.4rem; - width: 2.2rem; -} - -.mdx-hero__content { - margin-top: 20vh; -} - -.hr { - border-bottom: 1px solid #eee; - width: 100%; - margin: 20px 0; -} - -.text-center { - text-align: center; - padding-right: 15px; - padding-left: 15px; - margin-right: auto; - margin-left: auto; - margin-top: 15px; - font-family: "Lato", sans-serif; - font-size: 23px; - font-weight: 300; - padding-bottom: 10px; -} - -.md-footer { - display: block; -} - -.md-footer-meta__inner { - display: flex; - flex-wrap: wrap; - justify-content: space-between; - margin-top: 1rem; -} - -.md-footer-meta { - background-color: transparent; -} - -.md-footer-social { - padding-top: 20px; -} - -/* new stuff */ - -.md-typeset h2 + h3 { - font-size: 1em; - margin-top: -0.8em; -} - -.md-typeset figure { - display: flex; -} - -.md-content header { - display: block; -} - -.mdx-spotlight { - margin: 2em 0; -} - -.mdx-spotlight__feature { - display: flex; - justify-content: space-between; - align-items: center; - flex-flow: row nowrap; -} - -.mdx-spotlight__feature:last-child { - margin-bottom: 1em; -} - -.mdx-spotlight__feature > img { - display: block; - flex-shrink: 0; - border-radius: 0.2rem; - box-shadow: var(--md-shadow-z2); - width: 25rem; - max-width: 100%; -} - -.mdx-spotlight__feature figcaption { - margin-top: 0.8rem; -} - -@media (max-height: 800px) { - .bg-default { - height: 100vh; - } -} - -@media (max-width: 400px) { - .cncf-disclaimer { - width: 200px; - height: 100px; - } -} - -@media (max-width: 960px) { -.feature-image-container > img, - .feature-image-container--vertical > img { - object-position: center; - } -} - -@media (max-width: 1300px) { - .mdx-hero__content, - .mdx-expect, - .mdx-container > .banner, - .cncf-disclaimer-container > div { - padding: 0 1.5rem; - } - - .feature-image-container { - width: 100%; - height: 300px; - } - - .feature-image-container--vertical { - width: 100%; - height: 500px; - } - - .youtube-container { - position: relative; - width: 100%; - overflow: hidden; - padding-top: 75%; - } - - .frame { - position: absolute; - top: 0; - left: 0; - bottom: 0; - right: 0; - width: 100%; - height: 100%; - } -} - -@media (max-width: 600px) { - .md-typeset .header-link { - display: none; - } -} - -@media screen and (max-width: 30em) { - .tx-hero h1 { - font-size: 1.4rem; - } - - .mdx-hero__content { - margin-top: 35vh; - } - - .bg-default { - height: 80vh; - } -} - -@media screen and (max-width: 40em) { - .bg-default { - height: 100vh; - } -} - -@media screen and (min-width: 60em) { - .md-sidebar--secondary { - display: none; - } - - .tx-hero { - display: flex; - align-items: center; - justify-content: center; - } - - .tx-hero__content { - max-width: 22rem; - margin-top: 3.5rem; - margin-bottom: 3.5rem; - margin-left: 1rem; - margin-right: 4rem; - align-items: center; - } -} - -@media screen and (min-width: 76.25em) { - .md-sidebar--primary { - display: none; - } - - .top-hr { - width: 100%; - display: flex; - max-width: 61rem; - margin-right: auto; - margin-left: auto; - padding: 0 0.2rem; - } - - .bottom-hr { - margin-top: 10px; - width: 100%; - display: flex; - max-width: 61rem; - margin-right: auto; - margin-left: auto; - padding: 0 0.2rem; - } - - .feature-item { - flex: 1; - min-width: 0; - } - - .feature-item:hover { - background-color: var(--md-accent-fg-color--transparent); - border-radius: 3px; - } -} - -@media screen and (max-width: 59.9375em) { - .mdx-spotlight__feature { - flex-direction: column; - gap: 0; - } - - .mdx-spotlight__feature > img { - margin-left: auto; - margin-right: auto; - height: auto; - } -} - -@media screen and (min-width: 60em) { - .tx-container { - padding-bottom: 1vw; - } - - .top-hr { - padding-bottom: 3vw; - } -} - -@media only screen and (max-width: 1220px) { - .md-nav--primary .md-nav__title .md-nav__icon { - display: none !important; - } - - .md-footer-meta { - padding: 0px 30px; - } -} diff --git a/docs/assets/stylesheets/mermaid.css b/docs/assets/stylesheets/mermaid.css deleted file mode 100644 index cbefb3ab15..0000000000 --- a/docs/assets/stylesheets/mermaid.css +++ /dev/null @@ -1,3 +0,0 @@ -.mermaid { - text-align: center; -} diff --git a/docs/assets/stylesheets/versions.css b/docs/assets/stylesheets/versions.css deleted file mode 100644 index 1044d61978..0000000000 --- a/docs/assets/stylesheets/versions.css +++ /dev/null @@ -1,177 +0,0 @@ -.md-header__title { - display: flex; -} - -.dropdown-caret { - display: inline-block !important; - position: absolute; - right: 4px; -} - -.fa .fa-caret-down { - display: block !important; -} - -.rst-other-versions { - text-align: right; - background-color: var(--md-primary-fg-color--dark); - position: fixed; -} - -.rst-other-versions > dl, .rst-other-versions dt, .rst-other-versions small { - display: none; -} - -.rst-other-versions > dl:first-child { - display: flex !important; - flex-direction: column; - line-height: 0px !important; -} - -.rst-versions.shift-up .rst-other-versions { - display: flex !important; -} - -.rst-versions .rst-other-versions { - display: none; -} - -/* Version Warning */ -div[data-md-component=announce] { - background-color: rgb(248, 243, 236); - position: sticky; - top: 0; - z-index: 2; -} -div[data-md-component=announce]>div#announce-msg{ - color: var(--md-code-hl-number-color); - font-size: .8rem; - text-align: center; - margin: 15px; -} -div[data-md-component=announce]>div#announce-msg>a{ - color: var(--md-typeset-a-color); - text-decoration: underline; -} - -/* from https://assets.readthedocs.org/static/css/badge_only.css, -most styles have to be overriden here */ -.rst-versions{ - position: relative !important; - bottom: 0; - left: 0; - width: 100px !important; - background: var(--md-primary-fg-color--dark) !important; - font-family: inherit !important; - z-index: 0 !important; -} -.rst-versions a{ - /*color:#2980B9;*/ - text-decoration:none -} -.rst-versions .rst-badge-small{ - display:none -} -.rst-versions .rst-current-version{ - padding:12px; - background: var(--md-primary-fg-color--dark) !important; - display:block; - text-align:right; - font-size:90%; - cursor:pointer; - color: white !important; - *zoom:1 -} -.rst-versions .rst-current-version:before,.rst-versions .rst-current-version:after{ - display:table;content:"" -} -.rst-versions .rst-current-version:after{ - clear:both -} -.rst-versions .rst-current-version .fa{ - color:#fcfcfc -} -/*.rst-versions .rst-current-version .fa-caret-down{*/ -/* display: none;*/ -/*}*/ -.rst-versions.shift-up .rst-other-versions{ - display:block -} -.rst-versions .rst-other-versions{ - font-size:90%; - padding:12px; - /*color:gray;*/ - display:none -} -.rst-versions .rst-other-versions hr{ - display: none !important; - height: 0px !important; - border: 0px; - margin: 0px !important; - padding: 0px; - border-top: none !important; -} -.rst-versions .rst-other-versions dd{ - display:inline-block; - margin:0 -} -.rst-versions .rst-other-versions dd a{ - display:inline-block; - padding: 1em 0em !important; - color:#fcfcfc; - font-size: .6rem !important; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; - width: 80px; -} -.rst-versions .rst-other-versions dd a:hover{ - font-size: .7rem !important; - font-weight: bold; -} -.rst-versions.rst-badge{ - display: block !important; - width: 100px !important; - bottom: 0px !important; - right: 0px !important; - left:auto; - border:none; - text-align: center !important; - line-height: 0; -} -.rst-versions.rst-badge .icon-book{ - display: none; -} -.rst-versions.rst-badge .fa-book{ - display: none !important; -} -.rst-versions.rst-badge.shift-up .rst-current-version{ - text-align: left !important; -} -.rst-versions.rst-badge.shift-up .rst-current-version .fa-book{ - display: none !important; -} -.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{ - display: none !important; -} -.rst-versions.rst-badge .rst-current-version{ - width: 70px !important; - height: 2.4rem !important; - line-height:2.4rem !important; - padding: 0px 5px !important; - display: inline-block !important; - font-size: .6rem !important; - overflow: hidden !important; - text-overflow: ellipsis !important; - white-space: nowrap !important; - text-align: left !important; -} -@media screen and (max-width: 768px){ - .rst-versions{ - width:85%; - display:none - } - .rst-versions.shift{ - display:block - } -} diff --git a/docs/blog/.authors.yml b/docs/blog/.authors.yml deleted file mode 100644 index d1401b05be..0000000000 --- a/docs/blog/.authors.yml +++ /dev/null @@ -1,31 +0,0 @@ -authors: - mowies: - name: Moritz Wiesinger - description: Keptn Maintainer - avatar: https://avatars.githubusercontent.com/u/6901203?v=4 - url: https://github.com/mowies - bacherfl: - name: Florian Bacher - description: Keptn Maintainer - avatar: https://avatars.githubusercontent.com/u/2143586?v=4 - url: https://github.com/bacherfl - odubajDT: - name: Ondrej Dubaj - description: Keptn Maintainer - avatar: https://avatars.githubusercontent.com/u/93584209?v=4 - url: https://github.com/odubajDT - staceypotter: - name: Stacey Potter - description: Keptn Member - avatar: https://avatars.githubusercontent.com/u/50154848?v=4 - url: https://github.com/staceypotter - agardnerIT: - name: Adam Gardner - description: Keptn Docs Maintainer - avatar: https://avatars.githubusercontent.com/u/26523841?v=4 - url: https://github.com/agardnerIT - pmig: - name: Philip Miglinci - description: Co-Founder Glasskube - avatar: https://avatars.githubusercontent.com/u/3041752?v=4 - url: https://github.com/pmig diff --git a/docs/blog/index.md b/docs/blog/index.md deleted file mode 100644 index 05761ac57f..0000000000 --- a/docs/blog/index.md +++ /dev/null @@ -1 +0,0 @@ -# Blog diff --git a/docs/blog/install-keptn-with-glasskube/glasskube-keptn-success.png b/docs/blog/install-keptn-with-glasskube/glasskube-keptn-success.png deleted file mode 100644 index fd8611095f..0000000000 Binary files a/docs/blog/install-keptn-with-glasskube/glasskube-keptn-success.png and /dev/null differ diff --git a/docs/blog/install-keptn-with-glasskube/glasskube-keptn.png b/docs/blog/install-keptn-with-glasskube/glasskube-keptn.png deleted file mode 100644 index 9bf34fa840..0000000000 Binary files a/docs/blog/install-keptn-with-glasskube/glasskube-keptn.png and /dev/null differ diff --git a/docs/blog/install-keptn-with-glasskube/glasskube.png b/docs/blog/install-keptn-with-glasskube/glasskube.png deleted file mode 100644 index 37b9956d2a..0000000000 Binary files a/docs/blog/install-keptn-with-glasskube/glasskube.png and /dev/null differ diff --git a/docs/blog/posts/2023-keptn-year-in-review.md b/docs/blog/posts/2023-keptn-year-in-review.md deleted file mode 100644 index 49476b681e..0000000000 --- a/docs/blog/posts/2023-keptn-year-in-review.md +++ /dev/null @@ -1,183 +0,0 @@ ---- -date: 2024-01-24 -authors: [staceypotter] -description: > - In this blog post we reflect back on what a great year 2023 was for Keptn and the road ahead for this year. -comments: true ---- - -# 2023 Keptn Year in Review - -Hello and Happy New Year from the entire Keptn Team. -We hope you had a wonderful holiday season and that you’re all having a wonderful 2024 so far! -We’d like to take a moment to reflect back on what a great year 2023 was for Keptn and what we're looking forward to in 2024! - -The biggest news for the project in 2023 was probably the maturing of the cloud native Keptn, -with the former subproject named Keptn Lifecycle Toolkit officially becoming Keptn in August 2023, -and the end-of-life (EOL) for Keptn v1. -We focused on having Keptn be a 100% cloud native, -opinionated way of delivering Kubernetes apps and it was important for us to implement the -“big pillars” of Keptn v1: supporting the metrics component of the Keptn v1 quality gates feature, -observability (new), and deployments by defining KeptnTasks & Evaluations to execute any container -the user provides and extending deployments (job executor service in Keptn v1). - - -We’re happy to report that Keptn has now reached a general level of maturity and stabilization that -we now have beta APIs. -If you’d like to learn more about the transition from v1 to Keptn, the history -of Keptn, or migrating, we recommend the following articles: - -- [September 2023: Keptn Lifecycle Toolkit is now Keptn!](https://medium.com/keptn/keptn-lifecycle-toolkit-is-now-keptn-e0812217bf46) -- [July 2022: Keptn reaches incubating status in CNCF!](https://medium.com/keptn/keptn-reaches-the-incubating-status-in-the-cncf-67291e2dda7) -- [Migrating to Keptn](https://keptn.sh/stable/docs/migrate/keptn/) - -## Latest Release - -### Keptn v0.9.0 - -This release introduces a new way of scheduling your Keptn workloads by making use of the new -Kubernetes Scheduling Gates feature on Kubernetes clusters with version v1.27 or greater. -We also revamped our Helm chart which is now split into subcharts per operator. -Please find our new Keptn v0.9.0 release [here](https://github.com/keptn/lifecycle-toolkit/releases/tag/klt-v0.9.0) -and the corresponding Helm chart version 0.3.0 [here](https://github.com/keptn/lifecycle-toolkit-charts/releases/tag/keptn-0.3.0). - -More details: -🚀 Helm chart revamp: We restructured the helm charts so that each operator has its own helm chart, -with an umbrella chart implemented. -This supports users who want to install or upgrade just specific -components rather than the entire product while still allowing users to install all of Keptn. -The Keptn Helm chart was renamed from klt to keptn. -Also, labels for some components were changed to better describe them. -This will unfortunately need a re-install of the chart, since upgrades are not possible with changed labels. - -🌟Scheduling Gates: With Kubernetes versions v1.27 and greater, this feature allows Keptn to use the -default Kubernetes scheduler rather than needing its own custom scheduler. -You can rely on the default scheduler to do its job and Keptn uses the new scheduling gates for blocking -workloads for pre-deployment tasks. -See the [Kubernetes doc: Pod Scheduling Readiness](https://kubernetes.io/docs/concepts/scheduling-eviction/pod-scheduling-readiness/). - -#### Lifecycle-Operator v0.8.3 ([release notes](https://github.com/keptn/lifecycle-toolkit/releases/tag/lifecycle-operator-v0.8.3)) - -#### Metrics-Operator v0.9.0 ([release notes](https://github.com/keptn/lifecycle-toolkit/releases/tag/metrics-operator-v0.9.0)) - -## Keptn 2023 Talks & Presentations - - - - -We are so grateful to our community who continue to give talks/presentations about our project. -Let us know if we missed yours, for now here's a collection from 2023: - -- Dec 2023: [GitOpsCon Europe (Virtual): Working Your Way Through GitOps with Keptn - Rakshit Gondwal, Cloud Native Computing Foundation & Shivang Shandilya, Open Source](https://youtu.be/CQhXfzYVAwY?feature=shared) -- Nov 2023: KubeCon CloudNativeCon North America (Chicago): - - [Lightning Talk: From Novice to Keptn Contributor: Empowering My Journey in Cloud Native Communities by Yash Pimple](https://youtu.be/TyZS5mH6vM0?feature=shared) - - [Keptn Lifecycle Toolkit Updates and Deep Dive by Anna Reale](https://youtu.be/H3UxOwS06iI?feature=shared) -- Oct 2023: [Keptn Metrics Operator by Rakshit Gondwal](https://youtu.be/K9O2Xi8P6Y0?feature=shared&t=549) -- Jul 2023: [Keptn Demo: Python & Container Functions Runtime by Florian Bacher](https://youtu.be/fkuo6CAJ1l8?feature=shared) -- Jun 2023: [How GitHub Codespaces Makes Contributing to Keptn & Keptn Docs Much Easier! By Adam Gardner](https://youtu.be/sFNzOhZw7Eg) -- May 2023: cdCon + GitOpsCon (Vancouver): - - Comparisons of Open Source GitOps Tooling - Akshay Yadav, Orange Business Services & Monika Yadav, NorthCap University (not recorded) - - Extending Observability to the Application Lifecycle with ArgoCD, Flux, and Keptn by Ana Margarita Medina & Adam Gardner (not recorded) -- Apr 2023: [Introducing Keptn Lifecycle Toolkit by Andi Grabner](https://youtu.be/449HAFYkUlY?feature=shared) -- Apr 2023: KubeCon CloudNativeCon Europe (Amsterdam): [Navigating the Delivery Lifecycle with Keptn by Giovanni Liva, Ana Medina, Brad McCoy, Meha Bhalodiya](https://youtu.be/Ezd6hGnRL84?feature=shared) -- Mar 2023: [Keptn Lifecycle Toolkit: Installation and KeptnTask Creation in Minutes by Adam Gardner](https://youtu.be/Hh01bBwZ_qM?feature=shared) -- Feb 2023: [Is it Observable: What is Keptn Lifecycle Toolkit with Giovanni Liva](https://youtu.be/Uvg4uG8AbFg?feature=shared) - - - - -## Community - -At the end of 2023 we transitioned away from our own Keptn Slack workspace to -[CNCF Slack](http://cloud-native.slack.com/) -utilizing the [#keptn channel](https://cloud-native.slack.com/messages/keptn/) to -better align with the Cloud Native ecosystem & other CNCF projects. -We also saw a [new website](https://keptn.sh/) and [docs](https://keptn.sh/stable/docs/) -(the new [docs folder in GitHub](https://github.com/keptn/lifecycle-toolkit/tree/main/docs) -has been updated as well) and look forward to major improvements to both in 2024. - -During the 2023 year, we had 221 PRs Opened, 203 PRs Merged, and 176 Active GitHub Members of those 110 were new members, -and 66 were returning members. -We consider “active members” to be persons who have actively engaged with the Keptn -project through actions such as opened or commented on an Issue, opened a PR, had a PR merged, -commented – replied – or created a discussion, forked a repo. - -A very special thanks to these new 2023 contributors: - -- [Rakshit Gondwal](https://github.com/rakshitgondwal) -- [Prakriti Mandal](https://github.com/prakrit55) -- [Sudipto Baral](https://github.com/sudiptob2) -- [Geoffrey Israel](https://github.com/geoffrey1330) -- [Yash Pimple](https://github.com/YashPimple) -- [Shivang Shandilya](https://github.com/shivangshandilya) -- [Sambhav Gupta](https://github.com/sambhavgupta0705) -- [Utkarsh Umre](https://github.com/UtkarshUmre) -- [Victor Anene](https://github.com/Vickysomtee) -- [Arya Soni](https://github.com/aryasoni98) - -## Google Summer of Code - -[Google summer of Code (GSoC)](https://summerofcode.withgoogle.com/) is a global, online program focused on -bringing new contributors into open source software development. -GSoC Contributors work with an open source organization on a 12+ week programming project under the guidance of mentors. - -We were thrilled to participate in Google Summer of Code last year. -Our primary Mentor this year was Florian Bacher, and our GSoC Contributor was Rakshit Gondwal. -You can read the project proposal here: -[Timeframe for Metrics proposal](https://summerofcode.withgoogle.com/archive/2023/projects/e7z3n3kH). -All in all, we were quite pleased with the results, and because of Rakshit’s continued contributions upon GSoC -completion we were happy to welcome him on as an official Keptn Approver in August 2023. -Rakshit’s GSoC project summary can be found [here](https://github.com/rakshitgondwal/gsoc-2023) -if you’d like to read about his experience. - - -> Working with Keptn and my mentors was a great experience. -> Right from the start, I felt welcomed and supported by the community. -> It's amazing how everyone is ready to help out. -> If my main mentor wasn't available, there was always someone else who stepped in to guide me through any issues I faced. -> What I appreciated a lot was that I never felt stressed during the coding phase. -> This made a big difference in helping me learn and work better. -> -> *- Rakshit Gondwal, Google Summer of Code Contributor & Keptn Approver -* - -> Working alongside Rakshit during GSoC to enhance the metrics capabilities of Keptn has been a great experience. -> Rakshit's commitment to the project, problem-solving skills, and willingness to learn made it a blast to work with -> him on this project. -> His contributions have significantly improved Keptn's functionality, and I anticipate lasting benefits from Rakshit's work. -> -> *- Florian Bacher, Rakshit’s GSoC Mentor and Keptn Maintainer -* - - -## OpenTelemetry CI/CD Working Group - -In Keptn, we consider observability a first-class citizen and we want to support users by helping to make -their Kubernetes deployments efficient. -Keptn helps compute DORA metrics by tracking the application from the moment it hits a development cluster -until it hits production with [KEP87](https://github.com/keptn/enhancement-proposals/blob/main/text/0087-klt-traceid-propagation.md). -However, this is only a portion of the full picture, and we would like to support the community with an -Open Standard that allows different tools to work together tracking code from the moment it is merged into main. -For this reason, we support the new -[OTel CI/CD working group](https://github.com/open-telemetry/community/pull/1822/files). - -## The Road Ahead in 2024 - -We’re looking forward to Context Propagation (see [GitHub Issue 1394](https://github.com/keptn/lifecycle-toolkit/issues/1394)) -which will enable users to have full traceability of their application's deployment across multiple stages using OpenTelemetry, -full GitOps benefits, and enable users to act upon complex metadata, including attributes such as the current name and version -of the deployed workload/application, as well as the OTel traceParent of the current deployment phase. -Be on the lookout for documentation guides, how-tos, blogs, and a demo for KubeCon EU (Paris) in March! - -We started hosting New Contributor Meetings in 2023 as well as rebooted our Keptn Online User Group Meetings this year -and are kicking off the season with -[An Introduction to Keptn on January 24 at 10am ET / 4pm CET by Florian Bacher](https://community.cncf.io/events/details/cncf-keptn-community-presents-keptn-online-user-group-meeting-an-introduction-to-keptn/). -Join our [CNCF Keptn Community Chapter](https://community.cncf.io/keptn-community/) to get notified of all upcoming events! - -As always, thank you for being part of the Keptn Community, and be sure to join us in all of these places online: - - -- [CNCF slack](http://cloud-native.slack.com/) [#keptn channel](https://cloud-native.slack.com/messages/keptn/) (if you’re not already a member you can [invite yourself here](https://communityinviter.com/apps/cloud-native/cncf)) -- [CNCF Keptn Community Chapter](https://community.cncf.io/keptn-community/) (event listing) -- [Google Calendar](https://calendar.google.com/calendar/u/0?cid=ZHluYXRyYWNlLmNvbV9hYmpyaDF1a2YxOGloNDc3dGIxZWthZzJhZ0Bncm91cC5jYWxlbmRhci5nb29nbGUuY29t) -- [YouTube Channel](https://www.youtube.com/channel/UCHMn9HyAMeb81bRlaOuZyuQ) -- [Twitter/X](https://twitter.com/keptnProject) - diff --git a/docs/blog/posts/application-performance-analysis.md b/docs/blog/posts/application-performance-analysis.md deleted file mode 100644 index 8ea6b0a576..0000000000 --- a/docs/blog/posts/application-performance-analysis.md +++ /dev/null @@ -1,240 +0,0 @@ ---- -date: 2023-12-19 -authors: [bacherfl] -description: > - In this blog post you will learn how to use Keptn for analyzing the performance of an application. -categories: - - SRE - - Application Performance - - Analysis -comments: true ---- - -# Application Performance Analysis with Keptn - -In the dynamic world of DevOps and continuous delivery, keeping applications reliable -and high-performing is a top priority. - -Site reliability engineers (SREs) rely on Service Level Objectives (SLOs) to set the standards that the -Service Level Indicators (SLIs) of an application must meet, like response time, error rate, -or any other metric that might be relevant to the application. - -The use of SLOs is not a new concept, but integrating them into an application comes with its own set of issues: - -- Figuring out which SLIs and SLOs to use— do you get the SLI values from one monitoring source or multiple? -This complexity makes it harder to use them effectively. -- Defining SLO priorities. -Imagine a new version of a service that fixes a concurrency problem but -slows down response time. -In this case, this may be a valid trade-off and the new version should -not be denied due to an increase in the response time, given that the error rate will decrease. -Situations like these call for a way of defining a grading logic -where different priorities can be assigned to SLOs. - -- Defining and storing SLOs. -It's crucial to clearly define and store these goals in one central place, -ideally a declarative resource in a GitOps repository, where each change can be easily traced back. - -In this article, we'll explore how Keptn tackles these challenges with its new Analysis feature. -We will deploy a demo application onto a Kubernetes cluster to show Keptn helps SREs gather -and make sense of SLOs, making the whole process more straightforward and efficient. - -The example application will provide some metrics by itself by serving them via its Prometheus endpoint, -while other data will come from Dynatrace. - - -## Defining data providers - -Everything in Keptn is configured via Kubernetes Custom Resources. -We notify Keptn about our monitoring data sources by adding two KeptnMetricsProvider -resources to our Kubernetes cluster - one for our Prometheus instance, the other one for our Dynatrace tenant. - -```yaml -{% include "./application-performance-analysis/metric-providers.yaml" %} -``` - -## Defining SLIs - -Now that we have defined our data sources, let's tell Keptn what SLIs we want to monitor -and how to retrieve them from Prometheus and Dynatrace. -This is done by applying `AnalysisValueTemplate` resources to the cluster. -If you have worked with Keptn in the past, you will notice that the structure of these -resources is similar to the `KeptnMetrics` resources -(see [this article](https://www.linkedin.com/pulse/scaling-kubernetes-workloads-based-dynatrace-metrics-keptnproject), -if you would like to learn more about KeptnMetrics and how to use them to automatically scale your workloads). - -The difference between `KeptnMetrics` and `AnalysisValueTemplates` is: - -- `KeptnMetrics` are monitored and updated continuously, meaning that they always represent the -latest known value of the given metric. -This makes them a good candidate for being observed by a `HorizontalPodAutoscaler` to make scaling decisions. - -- `AnalysisValueTemplates` provide the means to get the value of a metric during a concrete time window. -This makes them well-suited for tasks such as analyzing the results of a load test -that has been executed after the deployment of a new version. - -In our case, we will create two `AnalysisValueTemplates` resources. -The first one measures the error rate of our workload, using data from Prometheus: - -```yaml -{% include "./application-performance-analysis/error-rate.yaml" %} -``` - -As a second metric, we measure the memory usage of our application using the following `AnalysisValueTemplate`: - -```yaml -{% include "./application-performance-analysis/memory-usage.yaml" %} -``` - -As can be seen in the `spec.query` field of the resource above, -`AnalysisValueTemplate` resources support the [Go templating syntax](https://pkg.go.dev/text/template). -With that, you can include placeholders in the query that are substituted at the time the -concrete values for the metrics are retrieved. -This comes in handy when, e.g., the query for the metrics is the same for different workloads -and only differs slightly, perhaps due to different label selectors being used for different workloads. -This way you do not need to create one `AnalysisValueTemplate` resource per workload -but can reuse one for different workloads, and pass through the value for the -actual workload at the time you perform an Analysis. - -## Defining SLOs - -The next step is to set up our expectations towards our SLOs, i.e. the -goals we would like them to meet. -This is done via an `AnalysisDefinition` resource like the following: - -```yaml -{% include "./application-performance-analysis/analysis-definition.yaml" %} -``` - -This `AnalysisDefinition` resource has two objectives, which both refer -to the `AnalysisValueTemplate` resources we created previously. -If you closely inspect both, you will notice that they differ in the weights they have been assigned, -meaning that the goal for the error-rate has a higher priority than memory consumption. -In combination with the target scores defined in the totalScore object, -this means that passing the objective for the error-rate is mandatory for an analysis to be successful, -or at least to achieve the warning state. -The latter would be achieved if, for example, the error rate objective is passed, -but the memory consumption exceeds the defined limit of `30M`. -Also, note that even though we use values coming from different data sources, -i.e. Prometheus and Dynatrace, in the `AnalysisDefinition`, we do not need to consider any -implementation-specific details when referring to them. -You only need to provide the name of the `AnalysisValueTemplate`, -and the metrics-operator determines where to retrieve the data based on the information in the KeptnMetricsProviders. - -## Executing an Analysis - -Now, it is time to trigger an Analysis. -This is done by applying an Analysis resource which looks as follows: - -```yaml -{% include "./application-performance-analysis/analysis.yaml" %} -``` - -Applying this resource causes Keptn to: - -- Retrieve the values of the `AnalysisValueTemplate` resource referenced in the -`AnalysisDefinition` that is used for this Analysis instance. -- After all required values have been retrieved, the objectives of the `AnalysisDefinition` are evaluated, -and the overall result is computed. -- This analysis uses the values of the last ten minutes (due to spec.timeframe.recent being set to 10m). -Alternatively, you can also specify a concrete timeframe, -using the `spec.timeframe.from` and `spec.timeframe.to` properties. -- We also provide the argument workload to the analysis, using the `spec.args` property. -Arguments passed to the analysis via this property are used when computing the actual query, -using the templating string of the `AnalysisValueTemplates` resource. -In our case, we use this in the error-rate `AnalysisValueTemplate`, where we set the -query to `rate(http_requests_total{status_code='500', job='{{.workload}}'}[1m]) or on() vector(0)`. - -Applying this resource causes Keptn to retrieve the values of the `AnalysisValueTemplate` -resource referenced in the `AnalysisDefinition` that is used for this `Analysis` instance. -After all required values have been retrieved, the objectives of the `AnalysisDefinition` are evaluated, -and the overall result is computed. - -This analysis uses the values of the last ten minutes (due to `spec.timeframe.recent` being set to `10m`) -but you can also specify a concrete timeframe, -using the `spec.timeframe.from` and `spec.timeframe.to` properties. - -We also provide the argument workload to the analysis, using the spec.args property. -Arguments passed to the analysis via this property are used when computing the actual query, -using the templating string of the `AnalysisValueTemplates` resource. -In our case, we use this in the error-rate `AnalysisValueTemplate`, -and set the query to `rate(http_requests_total{status_code='500', job='{{.workload}}'}[1m]) or on() vector(0)`. - -For our `Analysis` with `spec.args.workload` set to `simple-go-service`, the resulting query is: - -```shell -rate(http_requests_total{status_code='500', job='simple-go-service'}[1m]) or on() vector(0). -``` - -## Inspecting the results - -After applying an `Analysis` resource, we can do a quick check of its state using `kubectl`: - -```shell -$ kubectl get analysis -n simple-go - -NAME ANALYSISDEFINITION STATE WARNING PASS -service-analysis my-analysis-definition Completed true -``` - -The output of that command tells us if the Analysis has been completed already. -As seen above, this is the case, and we can already see that it has passed. -So now it's time to dive deeper into the results and see what information we get in the status of the resource: - -```shell -kubectl get analysis service-analysis -n simple-go –oyaml -``` - -This command gives us the complete YAML representation of the `Analysis`: - -```yaml -{% include "./application-performance-analysis/analysis-status.yaml" %} -``` - -As you can see, this already gives us a lot more information, -with the meatiest piece being the status.raw field. -This is a JSON representation of the retrieved values and the goals we have set for them. -However, this raw information is not easily digestible for our human eyes, so let's format it using: - -```shell -kubectl get analyses service-analysis -n simple-go -o=jsonpath='{.status.raw}' | jq . -``` - -Giving us the following as a result: - -```json -{% include "./application-performance-analysis/analysis-breakdown.json" %} -``` - -In the JSON object, we see: - -- A list of the objectives that we defined earlier in our `AnalysisDefinition` -- The values of the related metrics -- The actual query that was used for retrieving their data from our monitoring data sources - -Based on that, each objective is assigned a score, -which is equal to the weight of that objective if the objective has been met. -If not, the objective gets a score of 0. - -Note: You can specify `warning` criteria in addition to `failure` criteria. -If that is the case, and the value of a metric does not violate the `failure` criteria, -but the warning criteria, it gets a score that is half of the weight. -This allows you to be even more granular with the grading of your analysis. -In our case, both objectives have been met, so we get the full score -and therefore pass the evaluation with flying colors. - -## Summary - -To summarize, we have seen how we can define multiple monitoring data sources -and let Keptn fetch the data we are interested in and provide us with a unified way of accessing this data. -In the next step, we created a clear set of criteria we expect from that data to -decide whether the related application is healthy or not. -Finally, we have seen how we can easily perform an analysis and interpret its result. -We did all this by using Kubernetes manifests and placing them in a -GitOps repository next to our application's manifests. - -If you would like to try out Keptn and its analysis capabilities yourself, -feel free to head over to the [Keptn docs](https://lifecycle.keptn.sh/docs/) -and follow the guides to [install Keptn](https://lifecycle.keptn.sh/docs/install/), -if you haven't done so already, -and try out the [Analysis example](https://github.com/keptn/lifecycle-toolkit/tree/main/examples/support/analysis). diff --git a/docs/blog/posts/application-performance-analysis/analysis-breakdown.json b/docs/blog/posts/application-performance-analysis/analysis-breakdown.json deleted file mode 100644 index d6699696f4..0000000000 --- a/docs/blog/posts/application-performance-analysis/analysis-breakdown.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "objectiveResults": [ - { - "result": { - "failResult": { - "operator": { - "greaterThan": { - "fixedValue": "50M" - } - }, - "fulfilled": false - }, - "warnResult": { - "operator": {}, - "fulfilled": false - }, - "warning": false, - "pass": true - }, - "objective": { - "analysisValueTemplateRef": { - "name": "memory-usage" - }, - "target": { - "failure": { - "greaterThan": { - "fixedValue": "50M" - } - } - }, - "weight": 1 - }, - "value": 25978197.333333, - "query": "builtin:kubernetes.workload.memory_working_set:filter(eq(\"dt.entity.cloud_application\",CLOUD_APPLICATION-3B2BD00402B933C2)):splitBy(\"dt.entity.cloud_application\"):sum", - "score": 1 - }, - { - "result": { - "failResult": { - "operator": { - "greaterThan": { - "fixedValue": "0" - } - }, - "fulfilled": false - }, - "warnResult": { - "operator": {}, - "fulfilled": false - }, - "warning": false, - "pass": true - }, - "objective": { - "analysisValueTemplateRef": { - "name": "error-rate" - }, - "target": { - "failure": { - "greaterThan": { - "fixedValue": "0" - } - } - }, - "weight": 3, - "keyObjective": true - }, - "value": 0, - "query": "rate(http_requests_total{status_code='500', job='simple-go-service'}[1m]) or on() vector(0)", - "score": 3 - } - ], - "totalScore": 4, - "maximumScore": 4, - "pass": true, - "warning": false -} diff --git a/docs/blog/posts/application-performance-analysis/analysis-definition.yaml b/docs/blog/posts/application-performance-analysis/analysis-definition.yaml deleted file mode 100644 index c981d86d5a..0000000000 --- a/docs/blog/posts/application-performance-analysis/analysis-definition.yaml +++ /dev/null @@ -1,26 +0,0 @@ -apiVersion: metrics.keptn.sh/v1alpha3 -kind: AnalysisDefinition -metadata: - name: my-analysis-definition - namespace: simple-go -spec: - objectives: - - analysisValueTemplateRef: - name: memory-usage - keyObjective: false - target: - failure: - greaterThan: - fixedValue: 30M - weight: 1 - - analysisValueTemplateRef: - name: error-rate - keyObjective: true - target: - failure: - greaterThan: - fixedValue: 0 - weight: 3 - totalScore: - passPercentage: 100 - warningPercentage: 75 diff --git a/docs/blog/posts/application-performance-analysis/analysis-status.yaml b/docs/blog/posts/application-performance-analysis/analysis-status.yaml deleted file mode 100644 index 247217e38d..0000000000 --- a/docs/blog/posts/application-performance-analysis/analysis-status.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: metrics.keptn.sh/v1alpha3 -kind: Analysis -metadata: - name: service-analysis - namespace: simple-go -spec: - analysisDefinition: - name: my-analysis-definition-2 - args: - workload: simple-go-service - timeframe: - recent: 10m -status: - pass: true - raw: '…' - state: Completed - timeframe: - from: "2023-11-15T08:15:15Z" - to: "2023-11-15T08:25:15Z" diff --git a/docs/blog/posts/application-performance-analysis/analysis.yaml b/docs/blog/posts/application-performance-analysis/analysis.yaml deleted file mode 100644 index 1afbd3da08..0000000000 --- a/docs/blog/posts/application-performance-analysis/analysis.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: metrics.keptn.sh/v1alpha3 -kind: Analysis -metadata: - name: service-analysis - namespace: simple-go -spec: - timeframe: - recent: 10m - args: - "workload": "simple-go-service" - analysisDefinition: - name: my-analysis-definition diff --git a/docs/blog/posts/application-performance-analysis/error-rate.yaml b/docs/blog/posts/application-performance-analysis/error-rate.yaml deleted file mode 100644 index 53aa15d8fa..0000000000 --- a/docs/blog/posts/application-performance-analysis/error-rate.yaml +++ /dev/null @@ -1,9 +0,0 @@ -apiVersion: metrics.keptn.sh/v1alpha3 -kind: AnalysisValueTemplate -metadata: - name: error-rate - namespace: simple-go -spec: - provider: - name: my-prometheus-provider - query: "rate(http_requests_total{status_code='500', job='{{.workload}}'}[1m]) or on() vector(0)" diff --git a/docs/blog/posts/application-performance-analysis/memory-usage.yaml b/docs/blog/posts/application-performance-analysis/memory-usage.yaml deleted file mode 100644 index 1c71194bfb..0000000000 --- a/docs/blog/posts/application-performance-analysis/memory-usage.yaml +++ /dev/null @@ -1,9 +0,0 @@ -apiVersion: metrics.keptn.sh/v1alpha3 -kind: AnalysisValueTemplate -metadata: - name: memory-usage - namespace: simple-go -spec: - provider: - name: my-dynatrace-provider - query: 'builtin:kubernetes.workload.memory_working_set:filter(eq("dt.entity.cloud_application",CLOUD_APPLICATION-3B2BD00402B933C2)):splitBy("dt.entity.cloud_application"):sum' # yamllint disable-line rule:line-length diff --git a/docs/blog/posts/application-performance-analysis/metric-providers.yaml b/docs/blog/posts/application-performance-analysis/metric-providers.yaml deleted file mode 100644 index fadc64d4d9..0000000000 --- a/docs/blog/posts/application-performance-analysis/metric-providers.yaml +++ /dev/null @@ -1,20 +0,0 @@ -apiVersion: metrics.keptn.sh/v1alpha3 -kind: KeptnMetricsProvider -metadata: - name: my-prometheus-provider - namespace: simple-go -spec: - targetServer: - type: prometheus ---- -apiVersion: metrics.keptn.sh/v1alpha3 -kind: KeptnMetricsProvider -metadata: - name: my-dynatrace-provider - namespace: simple-go -spec: - targetServer: "https://.live.dynatrace.com" - type: dynatrace - secretKeyRef: - name: dt-api-token - key: DT_TOKEN diff --git a/docs/blog/posts/argocd-keptn-health.md b/docs/blog/posts/argocd-keptn-health.md deleted file mode 100644 index be6bc79681..0000000000 --- a/docs/blog/posts/argocd-keptn-health.md +++ /dev/null @@ -1,183 +0,0 @@ ---- -date: 2024-05-23 -authors: [odubajDT] -description: > - This blog post presents how Keptn can show application health when integrated with ArgoCD. -categories: - - ArgoCD - - Application health -comments: true ---- - -# Application health checks with Keptn using ArgoCD - -In this blog post we will present a planned Keptn and -[ArgoCD](https://argo-cd.readthedocs.io/en/stable/) integration to execute -advanced application health checks using Keptn. - -Keptn provides an effective way to perform application health checks using the -pre- or post-deployment [tasks](https://keptn.sh/stable/docs/guides/tasks/) -and [evaluations](https://keptn.sh/stable/docs/guides/evaluations/). -ArgoCD application health checks evaluate whether the application is successfully deployed -and the workloads are running on the cluster -but they do not show if the services -of a single application are actually working as expected. -For example, it could be the case that the individual services deployed by ArgoCD are up and -running, but due to a slow `response time` (let's say `3s`), the users would have a bad experience. -Keptn pre- and post-deployment tasks and evaluations complement the missing functionality -by providing a straight-forward way to examine the application's ability to perform -the actions for which it was developed. -In this particular case, Keptn can perform `KeptnEvaluations` to examine whether the `response time` -of the application services are in the expected boundaries. - - - -## How it's going to work? - -Keptn and ArgoCD need to be installed and enabled on the same -cluster. -To install both components, you can follow the -[Keptn installation instructions](https://keptn.sh/stable/docs/installation/) -and -[ArgoCD installation instructions](https://argo-cd.readthedocs.io/en/stable/operator-manual/installation/). -The reason is that we want to have ArgoCD perform the actual deployment -of the application and Keptn execute the advanced application health checks. - -Additionally, we will need to have an ArgoCD extension, which consists of -a React application extending the ArgoCD UI, implemented as an -[ArgoCD UI Application Tab Extension](https://argo-cd.readthedocs.io/en/stable/developer-guide/extensions/ui-extensions/#application-tab-extensions) -and a -[ArgoCD proxy extension](https://argo-cd.readthedocs.io/en/stable/developer-guide/extensions/proxy-extensions/) -allowing Keptn (which will work as a backend service) -to push the application health status data to the ArgoCD UI. - -## What's the added value of Keptn? - -Let's try to show a real-life example of an application deployed via ArgoCD, -which has a healthy green status in ArgoCD UI, but it's not working as expected -due to a slow `response time` of the application. - -We will deploy a simple [podtato-head](https://github.com/podtato-head/podtato-head) -application via ArgoCD, which consists of multiple Deployments and Services. -The Argo Application deploying the manifests can look like the following: - -```yaml -{% include "./argocd-keptn-health/argo-app.yaml" %} -``` - -After a few moments, the `podtato-head` application is successfully deployed and all pods -are running. - -![Running Pods](./argocd-keptn-health/running-pods.png) - -We can also examine the ArgoCD UI and everything seems to be working as expected and the -`podtato-head` application is healthy. - -![Healthy App](./argocd-keptn-health/healthy-app.png) - -Let's now try to add some health checks of the `podtato-head` application -and use Keptn to execute them. -For this, we are going to use the -[Keptn Release Lifecycle Management](https://keptn.sh/stable/docs/getting-started/lifecycle-management/) -feature and perform the checks via `KeptnEvaluations`. - -Apart from `KeptnEvaluations`, `KeptnTasks` can be used to execute health checks -of an application as well, for example performing an HTTP request to test -the reachability of a certain service exposed on a configured port. - -For simplicity, we assume that you already have a data source -(such as Prometheus, Dynatrace, or Datadog) -deployed and configured as a metrics provider on your cluster. -This data provider can fetch the `response time` values -of the services. -In our setup, we are going to use [Prometheus](https://prometheus.io/). - -First, we need to create [KeptnMetric](https://keptn.sh/stable/docs/reference/crd-reference/metric/) -and [KeptnMetricsProvider](https://keptn.sh/stable/docs/reference/crd-reference/metricsprovider/) -resources in our cluster. -These two resources contain a simple query for fetching the `response time` of the `podtato-head` -application service and configuration for the metrics provider supplying the data. - -```yaml -{% include "./argocd-keptn-health/metric.yaml" %} -``` - -Next, we add `KeptnEvaluationDefinition` into our git repository, where our -`podtato-head` application lives. -It defines the [SLO](https://www.dynatrace.com/news/blog/what-are-slos/) -by linking the existing `KeptnMetric` resource and providing the rule the value should fullfil. - -```yaml -{% include "./argocd-keptn-health/evaluationdefinition.yaml" %} -``` - -Additionally, we annotate the `podtato-head-frontend` Deployment to execute -the evaluation as part of `post-deployment-evaluation` checks. - -```yaml -{% include "./argocd-keptn-health/annotation.yaml" %} -``` - -After these two changes are made in our git repository, ArgoCD will see changes and re-trigger -the deployment of `podtato-head`. -Keptn waits until all of the -application pods are running and then it executes `post-deployment-evaluation` evaluations. - -Due to slow `response time` of the `podtato-head-frontend` service, the -executed `KeptnEvaluation` fails. - -Here we see that Keptn lets us perform more advanced health checks -(tasks or evaluations) and verify that the application deployed via ArgoCD is healthy. - -## How to show Keptn health status in ArgoCD UI? - -Using Keptn together with ArgoCD brings a lot of value, which we saw in the previous section, -but observing application health status by inspecting the status of the -various resources using `kubectl` is not the best user experience. -The data should be nicely displayed in the ArgoCD UI to provide the user with an overview -of whether the application was deployed successfully, if it's synchronized, and if it's healthy, all in -one place. - -To implement this, we are going to implement an ArgoCD UI extension with additional application health -data that are retrieved from Keptn. -This way, the ArgoCD UI will act as a single source of truth for the user, providing all -the information about the deployed application. - -Below you can see the first mock-ups that show what the ArgoCD UI extension might look like -and how a failed `KeptnEvaluation` and therefore unhealthy Keptn status of `podtato-head-frontend` -Deployment might be displayed on the main ArgoCD UI screen. - -![Main screen unhealthy](./argocd-keptn-health/main-screen-unhealthy-keptn.png) - -Additionally, it should be possible to also examine the details of the unhealthy -application and potentially see the reason for the failure of the checks. - -![Details screen unhealthy](./argocd-keptn-health/details-screen-unhealthy-keptn.png) - -## Summary - -Time to sum up what we have presented in this blog post. -We have seen how Keptn can easily complement ArgoCD -and enhance its functionality by providing more insights into -application health status. -We showed an example where ArgoCD wasn't able to detect that -the deployed application is not healthy and used `KeptnEvaluations` -for performing more advanced checks. -In the end, we looked at the first drafts of the potential -ArgoCD UI extension and how it can easily display the -`Keptn health status` as part of the standard ArgoCD application -health status. - -We hope that this blog post gives you an idea and some inspiration -on how these two projects can cooperate and complement each other -effectively in order to support continuous delivery of applications -faster and more reliably. - -We would really appreciate if you can provide us feedback on this -feature below in the comments! - -## Useful links - -- -- -- diff --git a/docs/blog/posts/argocd-keptn-health/annotation.yaml b/docs/blog/posts/argocd-keptn-health/annotation.yaml deleted file mode 100644 index 8aacadf55e..0000000000 --- a/docs/blog/posts/argocd-keptn-health/annotation.yaml +++ /dev/null @@ -1,3 +0,0 @@ -metadata: - labels: - keptn.sh/post-deployment-evaluations: response-time-evaluation diff --git a/docs/blog/posts/argocd-keptn-health/argo-app.yaml b/docs/blog/posts/argocd-keptn-health/argo-app.yaml deleted file mode 100644 index 540d897386..0000000000 --- a/docs/blog/posts/argocd-keptn-health/argo-app.yaml +++ /dev/null @@ -1,18 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: podtato-head - namespace: argocd -spec: - project: default - source: - repoURL: https://github.com/keptn-sandbox/keptn-lifecycle-toolkit-examples - targetRevision: main - path: sample-app/version-2 - destination: - server: https://kubernetes.default.svc - namespace: podtato-kubectl - syncPolicy: - automated: - selfHeal: true - prune: true diff --git a/docs/blog/posts/argocd-keptn-health/details-screen-unhealthy-keptn.png b/docs/blog/posts/argocd-keptn-health/details-screen-unhealthy-keptn.png deleted file mode 100644 index 0870e2e6d7..0000000000 Binary files a/docs/blog/posts/argocd-keptn-health/details-screen-unhealthy-keptn.png and /dev/null differ diff --git a/docs/blog/posts/argocd-keptn-health/evaluationdefinition.yaml b/docs/blog/posts/argocd-keptn-health/evaluationdefinition.yaml deleted file mode 100644 index c41efba160..0000000000 --- a/docs/blog/posts/argocd-keptn-health/evaluationdefinition.yaml +++ /dev/null @@ -1,9 +0,0 @@ -apiVersion: lifecycle.keptn.sh/v1 -kind: KeptnEvaluationDefinition -metadata: - name: response-time-evaluation -spec: - objectives: - - evaluationTarget: "<0.3" - keptnMetricRef: - name: response-time diff --git a/docs/blog/posts/argocd-keptn-health/healthy-app.png b/docs/blog/posts/argocd-keptn-health/healthy-app.png deleted file mode 100644 index 2e2a4d576d..0000000000 Binary files a/docs/blog/posts/argocd-keptn-health/healthy-app.png and /dev/null differ diff --git a/docs/blog/posts/argocd-keptn-health/main-screen-unhealthy-keptn.png b/docs/blog/posts/argocd-keptn-health/main-screen-unhealthy-keptn.png deleted file mode 100644 index b9286b9924..0000000000 Binary files a/docs/blog/posts/argocd-keptn-health/main-screen-unhealthy-keptn.png and /dev/null differ diff --git a/docs/blog/posts/argocd-keptn-health/metric.yaml b/docs/blog/posts/argocd-keptn-health/metric.yaml deleted file mode 100644 index bd9308a9cd..0000000000 --- a/docs/blog/posts/argocd-keptn-health/metric.yaml +++ /dev/null @@ -1,18 +0,0 @@ -apiVersion: metrics.keptn.sh/v1 -kind: KeptnMetric -metadata: - name: response-time -spec: - fetchIntervalSeconds: 10 - provider: - name: my-prometheus-provider - query: >- - "histogram_quantile(0.95, sum by(le) (rate(http_server_request_latency_seconds_bucket{job='{{.podtato-head-frontend-service}}'}[1m])))" ---- -apiVersion: metrics.keptn.sh/v1 -kind: KeptnMetricsProvider -metadata: - name: my-prometheus-provider -spec: - type: prometheus - targetServer: "my-metrics-provider-url:9090" diff --git a/docs/blog/posts/argocd-keptn-health/running-pods.png b/docs/blog/posts/argocd-keptn-health/running-pods.png deleted file mode 100644 index 55a48b5d3f..0000000000 Binary files a/docs/blog/posts/argocd-keptn-health/running-pods.png and /dev/null differ diff --git a/docs/blog/posts/glasskube-keptn.md b/docs/blog/posts/glasskube-keptn.md deleted file mode 100644 index b0cf830234..0000000000 --- a/docs/blog/posts/glasskube-keptn.md +++ /dev/null @@ -1,152 +0,0 @@ ---- -date: 2024-03-14 -authors: [ pmig ] -description: > - In this blog post you will learn how to install and update Keptn via the Glasskube Package Manager. -categories: - - SRE - - Glasskube - - Installation - - Upgrade -comments: true -slug: install-keptn-with-glasskube ---- - -# Keptn is now officially available via the Glasskube Package Manager for Kubernetes - -We are happy to announce that Keptn is now officially available via the Glasskube Package Manager to bring Keptn -to even more users. - -Installing packages for Kubernetes clusters is one of the most pressing issues in the Cloud Native community. -There are still some unaddressed challenges like managing dependencies and streamlining updates across multiple -packages. - -In this article we give an overview about Glasskube, Keptn and how the installation works. - - - -## What is Glasskube? - -[Glasskube](https://glasskube.dev) is the next generation package manager for Kubernetes and part of the CNCF -landscape. - -Inspired by traditional package managers like `brew`, `apt` or `dnf`, Glasskube allows users to easily find, install -and update packages for Kubernetes. -Glasskube packages are dependency aware, so if multiple packages require for -example cert-manager, it only gets installed once in the recommended namespace and can then be utilized by multiple packages. -Glasskube not only provides a streamlined CLI experience, but also a simple UI for managing Kubernetes packages. -Glasskube itself is designed as a Cloud Native application and every installed package is represented by a -Custom Resource. -This comes in handy if packages and Glasskube itself should be managed via a GitOps approach. - -[`glasskube/glasskube`](https://github.com/glasskube/glasskube/) is in active development, with _good first issues_ -available for new contributors. - -## What is Keptn? - -[Keptn](https://keptn.sh/) is a CNCF project for continuous delivery and automated operations. -It helps developers and platform engineering teams automate deployment, monitoring, and management of applications -running in cloud environments. -Keptn works with standard deployment software like ArgoCD or Flux, consolidating metrics, observability, and analysis -for all the microservices that comprise your deployed software as well as providing checks and executables that can -run before and/or after the deployment. - -## Keptn package on Glasskube - -The supported Keptn versions and packages can be found in the Glasskube package repository: -[`glasskube/packages/keptn`](https://github.com/glasskube/packages/tree/main/packages/keptn) - -As Keptn requires a certificate in order to interact with the Kubernetes API it can either make use of cert-manager.io -or it alternatively packages its own certificate manager. -In the Glasskube package yaml there is a dependency on `cert-manager` configured: - -```yaml -name: "keptn" -shortDescription: >- - Supercharge your deployments with Keptn! Keptn provides a “cloud-native” approach for managing the application - release lifecycle metrics, observability, health checks, with pre- and post-deployment evaluations and tasks. -iconUrl: "https://raw.githubusercontent.com/cncf/artwork/main/projects/keptn/icon/color/keptn-icon-color.svg" -defaultNamespace: "keptn-system" -manifests: - - url: https://glasskube.github.io/packages/packages/keptn/v2.0.0-rc.1+1/keptn.yaml - - url: https://glasskube.github.io/packages/packages/keptn/v2.0.0-rc.1+1/keptn-cert.yaml - - url: https://glasskube.github.io/packages/packages/keptn/v2.0.0-rc.1+1/keptn-issuer.yaml -dependencies: - - name: "cert-manager" -``` - -## Installation of Keptn with Glasskube - -### Install Glasskube - -If you haven't already installed the `glasskube` client you can install it either via `brew` or follow the -[Glasskube Documentation](https://glasskube.dev/docs/getting-started/install/). - -```shell -brew install glasskube/tap/glasskube -``` - -After installing Glasskube, you can bootstrap Glasskube with `glasskube bootstrap` or perform an automatic -bootstrap with your first package installation. - -### Keptn installation with the Glasskube CLI - -You simply install Keptn with: - -```shell -glasskube install keptn -``` - -After the installation you can validate that all components have been installed by running by executing: - -```shell -kubectl get all -n keptn-system -``` - -### Keptn installation with the Glasskube GUI - -Glasskube provides an easy way to install Keptn with a graphical user interface. - -#### 1. Open the Glasskube GUI with - -The first step is to open the Glasskube GUI with the `serve` command. - -```shell -glasskube serve -``` - -#### 2. Install Keptn via the web browser - -Your default web browser will open on [http://localhost:8580](http://localhost:8580). - -![Glasskube overview](./../install-keptn-with-glasskube/glasskube.png "Glasskube overview") - -Where you just need to click the "Install" Button for Keptn. - -![Glasskube keptn](./../install-keptn-with-glasskube/glasskube-keptn.png "Keptn installation via Glasskube") - -You can also choose if you want to enable automatic updates or install a specific version. - -#### 3. Validate Keptn installation - -After some time the Glasskube GUI automatically updates the state of the installed package. - -![Glasskube Keptn success](./../install-keptn-with-glasskube/glasskube-keptn-success.png "Keptn installation success") - -After the installation you can validate that all components have been installed executing: - -```shell -kubectl get all -n keptn-system -``` - -## Summary - -Keptn is now officially available via the Glasskube Package Manager and can easily be installed and updated via a CLI, -GUI or GitOps solutions like ArgoCD or FluxCD. - -## Useful links - -- -- -- -- diff --git a/docs/blog/posts/keptn-helm-umbrella-charts.md b/docs/blog/posts/keptn-helm-umbrella-charts.md deleted file mode 100644 index 315d29772f..0000000000 --- a/docs/blog/posts/keptn-helm-umbrella-charts.md +++ /dev/null @@ -1,136 +0,0 @@ ---- -date: 2024-02-01 -authors: [odubajDT] -description: > - In this blog post you will learn how to configure Keptn via the new Helm umbrella chart. -categories: - - SRE - - Helm - - Installation - - Upgrade -comments: true ---- - -# Configure Keptn via the new Helm umbrella chart - -In the dynamic world of cloud-native and microservices, installation and continuous upgrades of distributed systems -is a priority. -Embarking on a journey into the world of containerized applications often leads us into a labyrinth of configuration -and deployment intricacies. -Amidst this complexity, Helm charts emerge as the guiding light, streamlining the orchestration of Kubernetes-based -applications. - -In this article, we're delving into the topic of Helm charts, in particular Umbrella charts - an approach that -simplifies the deployment and maintenance of microservice application architectures. -Let's uncover how these consolidated charts pave the way for smoother deployments, enhance scalability, and bring -harmony to the orchestration of complex Kubernetes environments. - - -## What is Helm? - -[Helm](https://helm.sh/) is a powerful package manager for Kubernetes. -It simplifies and streamlines the deployment and management of applications on Kubernetes clusters. -It acts as a tool for defining, installing, and upgrading complex Kubernetes applications using pre-configured -templates called charts. -These charts encapsulate all the necessary Kubernetes resources and configuration files needed to deploy an -application, making it easier for developers and operators to manage applications consistently across different -environments. -Helm's ability to package, version, and share applications as charts facilitates collaboration and standardization -within the Kubernetes ecosystem, significantly improving the efficiency of deploying and maintaining containerized -applications. -The basic configuration mechanism for deployments is a `values.yaml` file which contains all the configuration options -with the default values for the given software. - -## What is Keptn? - -[Keptn](https://lifecycle.keptn.sh/) is a CNCF project for continuous delivery and automated operations. -It helps developers and platform engineering teams automate deployment, monitoring, and management of applications -running in cloud environments. -Keptn works with standard deployment software like ArgoCD or Flux, consolidating metrics, observability, and analysis -for all the microservices that comprise your deployed software as well as providing checks and executables that can -run before and/or after the deployment. - -It also comprises multiple components with different feature sets as well as different installation and upgrade -requirements so proper configuration can be cumbersome for people unfamiliar with Helm charts. - -Keptn uses the Helm umbrella charts to manage multiple sub-charts (one sub-chart per component) as a single entity. -This concept provides us the opportunity to install and manage each Keptn component as a fully independent microservice, -but additionally also as a complete toolkit. - -In Keptn, just use a single `values.yaml` file to configure both the global umbrella chart parameters that apply to -all components, and each individual sub-chart's parameters. -Each individual Keptn component has all the possible helm configuration parameters documented in the -[Keptn repository](https://github.com/keptn/lifecycle-toolkit). - -In the individual sub-charts, we can set parameters such as image `tag`, `imagePullPolicy` or `annotations`. -Additionally, global parameters which affect all the sub-charts can be set, like the global image `registry` or -global `annotations`. -These options are documented [here](https://github.com/keptn/lifecycle-toolkit-charts/blob/main/charts/keptn/README.md). - -Note that setting the values for individual components overrides the global ones. -For example, if the same `annotation` option is configured for the global chart and the component, the component value -is favored. - -## Installation of Keptn with default values - -Let's look at a real-life example of a clean installation of Keptn using umbrella charts. -For basic installation of all components with the use of default values for configuration parameters you need to -execute the following commands: - -```shell -helm repo add keptn https://charts.lifecycle.keptn.sh -helm repo update -helm upgrade --install keptn keptn/keptn -n keptn-system --create-namespace -``` - -You can see that it's not necessary to create a custom "values.yaml" file when using the default values. -Keptn will be installed with all the components (`metrics-operator`, `lifecycle-operator`, `cert-manager`), with -default Helm values set for each of them. - -## Installation of Keptn with custom values - -Let's now look at a use-case, where we want to use only Keptn metrics and therefore do not need to install the -`lifecycle-operator`, which provides functionality for Observability and/or Release Lifecycle Management. -Additionally to `metrics-operator`, we need to install `keptn-cert-manager,` which will provide certificates -webhooks present in the `metrics-operator`. -For this all, we need to create a `values.yaml` file with the following content: - -```yaml -{% include "./keptn-helm-umbrella-charts/values.yaml" %} -``` - -This `values.yaml` file disables the `lifecycle-operator` and it sets the used `image registry` and `tag` of -the `cert-manager`. `tag`, `annotations` and `replicas` are set for the `metrics-operator`. -These parameters are configuring each installed component via their sub-charts. -Also, we configure the global annotations for all installed components (`metrics-operator` and `cert-manager` -only, since `lifecycle-operator` is disabled). -Note that the `myMetricsKey` annotation is set to different values in global parameters (`globalValue2`) and -in `metrics-operator` sub-chart parameters (`metricsValue1`). -Here the annotation defined in the `metrics-operator` component configuration will be used. - -When the `values.yaml` file is ready, we use it to install Keptn with the following commands: - -```shell -helm repo add keptn https://charts.lifecycle.keptn.sh -helm repo update -helm upgrade --install keptn keptn/keptn -n keptn-system --create-namespace --values=values.yaml -``` - -More information about the installation and upgrade options can be found in the official -[Keptn documentation](https://lifecycle.keptn.sh/docs/install/) and in the linked Helm values documentation. - -## Summary - -Let's sum up what we have seen. -We started with a brief description of Keptn, Helm and Umbrella charts. -Next, we described how the installation of Keptn components can be customized with Helm values that are under -the aegis of the Helm umbrella chart. -In the end, we went through an example of the configurable parameters of individual components or global values -and how the custom `values.yaml` file can be used for installation. - -## Useful links - -- -- -- -- diff --git a/docs/blog/posts/keptn-helm-umbrella-charts/values.yaml b/docs/blog/posts/keptn-helm-umbrella-charts/values.yaml deleted file mode 100644 index 5a9a9e7307..0000000000 --- a/docs/blog/posts/keptn-helm-umbrella-charts/values.yaml +++ /dev/null @@ -1,20 +0,0 @@ -certManager: - enabled: true - image: # using custom image registry and tag to the cert-manager - registry: "myCustomRegistry" - tag: v0.0.0 - -lifecycleOperator: - enabled: false # installation of lifecycle-operator is disabled - -metricsOperator: - replicas: 3 # installing 3 replicas of metrics-operator - annotations: # setting custom annotations for metrics-operator - myMetricsKey: metricsValue1 - image: # using the latest image of the metrics-operator - tag: latest - -global: - commonAnnotations: # setting common annotations for all installed component - myGlobalKey: globalValue1 - myMetricsKey: globalValue2 diff --git a/docs/blog/posts/multi-stage-delivery-using-gitops.md b/docs/blog/posts/multi-stage-delivery-using-gitops.md deleted file mode 100644 index 2e256fbc2e..0000000000 --- a/docs/blog/posts/multi-stage-delivery-using-gitops.md +++ /dev/null @@ -1,418 +0,0 @@ ---- -date: 2024-03-26 -authors: [bacherfl] -description: > - This blog post explains how to use the promotion phase of Keptn to implement a multi stage delivery GitOps workflow. -categories: - - GitOps - - Observability -comments: true ---- - -# Multi Stage Delivery using GitOps - -In multi-stage environments it can be a challenge to see -how a particular version of a workload progresses through different stages. -This can make it difficult to precisely trace exactly which modification introduced a problem -when something goes wrong in one of the deployment stages. - -Keptn helps to address this challenge -by providing a distributed OpenTelemetry trace that encompasses -all deployment stages and contains all relevant information, -such as the Git commit ID that triggered the deployment of a workload. -For example, if the evaluation of a load test in one of the deployment stages -is failing, the distributed trace generated by Keptn contains -details about the result of the evaluation, as well as a link to the -deployment trace of the previous stage. -This makes it easy to trace back the deployment of that particular workload -across the previous stages, right until the original commit that resulted in -the performance degradation. - -This blog post demonstrates an example workflow that automates the promotion -of a sample application across two different stages. -The deployment traces of those stages are linked together and enriched -with valuable metadata, such as the commit ID that triggered the deployment -of a new workload version. - - - -## Technologies used for this example - -For this, we are using the following technologies: - -- The new [KeptnAppContext](../../docs/reference/crd-reference/appcontext.md) -resource - that can pass metadata to the generated deployment traces - and define a `promotion` task that is executed - once the application is deployed and all post deployment checks have been - executed successfully. -- [ArgoCD](https://argoproj.github.io/cd/) as a GitOps tool. - In addition to automatically synchronising the cluster with the desired - state of the cluster, ArgoCD also adds metadata (such as the Git commit ID - that triggered the last sync) to the `KeptnAppContext` resource. -- [GitHub Actions](https://github.com/features/actions): The GitOps - repository is hosted on GitHub so we can use GitHub Actions - to implement the promotion of an artifact from one stage to the next. - We do this by running a workflow that creates the pull requests for updating the - ArgoCD `Application` resource in the different stages. -- [Helm](https://helm.sh): The configuration of the application for each stage - is maintained via two separate Helm charts, one for each stage. -- [OpenTelemetry Collector](https://opentelemetry.io/docs/collector/)/[Jaeger](https://www.jaegertracing.io): - The deployment traces are gathered by the OpenTelemetry Collector and forwarded to Jaeger, -which displays the generated traces graphically. -- [Prometheus](https://prometheus.io): Provides monitoring data for the application. - -Note that for this blog post, we are assuming that these tools are already -installed on the Kubernetes cluster, as going through the installation -of each of those would exceed the scope of this blog post. - -We are going to do the following: - -1. Set up the environment by: - 1. Setting up a GitHub repository with an access token, GitHub, workflows, and GitHub actions - 1. Preparing a Kubernetes namespace for each stage (`dev` and `prod`) - 1. Preparing the ArgoCD `Application` resources - with an appropriate Helm chart for each - 1. Applying labels to associate the `Deployment` resource with the `KeptnWorkload` resource - 1. Defining Keptn pre-/post-deployment checks and tasks - 1. Defining the metadata to be passed through the deployment traces - 1. Define a TraceParent that links the deployment traces of the `prod` stage to those of the `dev` stage -1. Run the promotion flow by: - 1. Creating a pull request to update our `dev` environment - 1. Merging the automatically created pull request to promote the updated version into `prod` - 1. Inspecting the generated deployment traces for both stages - and see how they are connected with each other - -## Setting up the Environment - -Now it's time to set up our environment and connect all the tools mentioned above -with each other. - -### Set up the GitHub repository - -First things first, since we talk about GitOps in this article, we need -a Git repository to host the Helm chart of our application. -We use GitHub in this example, which allows us -to use GitHub Actions to implement the promotion from -`dev` to `production`. - -In this example, we are using [this repository](https://github.com/bacherfl/keptn-analysis-demo) -as an upstream repository. -If you would like to try the demo yourself, feel free to fork this repository -and start experimenting with Keptn from there. - -#### Create personal access token - -We need to create a personal access token for accessing the GitHub API. -This token will be used by the container running the promotion -task during the post-deployment phase of the `KeptnApp` within -the `dev` stage. -The container uses this access token to trigger a GitHub action -that creates a pull request to promote the version that has -been deployed from `dev` into `production`. -Using GitHub actions rather than interacting directly with the Git repository in the container that executes the promotion -step lets us avoid granting the container any write permissions to the -repository. - -Instead, we use an access token with a restricted set of permissions, -so we can use GitHub's -[fine-grained access tokens](https://github.blog/2022-10-18-introducing-fine-grained-personal-access-tokens-for-github/) -to restrict the permissions to only allow triggering workflow actions, -exclusively within our GitOps repository. -The required permissions are highlighted in the screenshot below: - -![Token Permissions](./multi-stage-delivery-using-gitops/token-permissions.png) - -#### Enable GitHub workflows - -We also need to enable GitHub workflows to write to the repo -and create pull requests. -This is done in the settings of the repository; see the screenshot below: - -![Workflow Permissions](./multi-stage-delivery-using-gitops/workflow-permissions.png) - -The GitHub action performing the promotion is implemented -in the `.github/workflows/promote.yaml` file -located in our GitOps repository. - -```yaml -{% include "./multi-stage-delivery-using-gitops/promote.yaml" %} -``` - -This action copies the `values.yaml` file from the -`dev` stage to the `prod` stage, to set the -service versions that should be deployed via the Helm chart for -that stage. - -### Prepare the application namespaces - -In this example, the application will be deployed in -two different namespaces, each representing a different -stage (`dev` and `prod`). -To create the namespaces, execute the following commands: - -```shell -kubectl create namespace simple-go -kubectl annotate namespace simple-go keptn.sh/lifecycle-toolkit=enabled -kubectl create namespace simple-go-prod -kubectl annotate namespace simple-go-prod keptn.sh/lifecycle-toolkit=enabled -``` - -The promotion task that triggers the action to -create a pull request for promoting an ArgoCD `Application` -from `dev` to `production` will be executed in the `simple-go` namespace. -Therefore, we need to create a secret containing the GitHub personal -access token we created earlier, using the following command: - -```shell -GH_REPO_OWNER= -GH_REPO= -GH_API_TOKEN= -kubectl create secret generic github-token -n simple-go --from-literal=SECURE_DATA="{\"githubRepo\":\"${GH_REPO}\",\"githubRepoOwner\":\"${GH_REPO_OWNER}\",\"apiToken\":\"${GH_API_TOKEN}\"}" -``` - -### Prepare the ArgoCD Application resources - -The next step is to -create the ArgoCD -[Application](https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup/#applications) -resources in our cluster. -Each stage of our application (`dev` and `prod`) is -represented by a separate ArgoCD `Application` resource -that points to a Helm chart for the respective stage. -The Helm charts can be found in our -[GitOps repository](https://github.com/bacherfl/keptn-analysis-demo) -in the following sub folders: - -- `simple-app/chart-dev`: Contains the Helm chart for the application in the `dev` stage -- `simple-app/chart-prod`: Contains the Helm chart for the application in the `prod` stage - -The ArgoCD `Applications` are created by applying the following manifest: - -```yaml title="argo-apps.yaml" -{% include "./multi-stage-delivery-using-gitops/argo-apps.yaml" %} -``` - -This manifest contains the definitions for the two ArgoCD `Applications`, -each of which points to one of the helm charts mentioned earlier. -In addition to that, the `$ARGOCD_APP_REVISION` environment variable -is used to get access to the Git commit ID that triggered -a new deployment of our ArgoCD `Applications`. -This ID is passed through to the Helm chart. -Keptn uses this as metadata for a `KeptnApp` deployment. - -After applying the file, using `kubectl apply -f argo-apps.yaml`, -ArgoCD begins to synchronize the state of the `Applications`, -meaning that the Helm charts for the `Applications` are applied to the -cluster. -While this is happening, let's have a closer look at the actual -content of the Helm charts. - -### What's in the Helm chart for dev stage - -Each chart contains two `Deployments/Services` -(`simple-go-service` and `simple-go-backend`), representing -the two `KeptnWorkloads` that are part of our `KeptnApp`. -Let's take the `simple-go-service` `Deployment` as an example -to see how we prepared it to be managed by Keptn: - -```yaml -{% include "./multi-stage-delivery-using-gitops/deployment.yaml" %} -``` - -#### Labels - -To correctly associate the `Deployment` resource with the `KeptnWorkload` resource, -the following labels are set: - -- `app.kubernetes.io/name`: The name of the `KeptnWorkload` that should be associated with the `Deployment`. -- `app.kubernetes.io/part-of`: The name of the `KeptnApp` resource containing the two workloads. -- `app.kubernetes.io/version`: The version for the related `KeptnWorkload`. - -For more information about setting these labels for Keptn, see -[Basic annotations](../../docs/guides/integrate.md#basic-annotations). - -#### Pre and post-deployment tasks - -In addition to the labels which define the `KeptnWorkload`, we also use -the `keptn.sh/post-deployment-tasks` label -to define a post-deployment task for the workload. -The task defined here (`wait-for-monitoring`) ensures that the Prometheus -target for the workload is available, before proceeding with -the execution of the load tests of the overall Keptn application. - -#### KeptnAppContext - -The `KeptnAppContext` provides two important capabilities for multi-stage delivery: - -- Define tasks and evaluations that run before or after the Keptn application deployment -- Add metadata and links to traces for a specific ArgoCD `Application`. -This enables you to enrich your traces -with additional information that you can use -to understand and analyze the performance of your applications - -The `KeptnAppContext` manifest looks as follows: - - ```yaml - {% include "./multi-stage-delivery-using-gitops/keptnappcontext.yaml" %} - ``` - -This resource contains a list of pre- and post-deployment checks -for the complete `KeptnWorkload` application. -In the `pre-deployment` phase, the task `wait-for-monitoring` -ensures the Prometheus installation in our cluster is available. -If this is not the case, it would not be wise to deploy a new -version of the application, since we cannot observe the -performance metrics of our application. - -Once all workloads have been deployed, the application enters the -`post-deployment` phase, in which load tests against the application are -executed. - -After executing the load tests, a `post-deployment` evaluation is -performed, to compare the response time measured by the load tests with a threshold you have defined. - -If this evaluation is successful, the application proceeds into the -`promotion` phase. -This is the phase where the GitHub personal access token we created earlier -is used to trigger the GitHub action to promote the deployed version -into the next stage. - -#### Metadata - -In addition to the pre-/post-deployment checks and the promotion task, -the `KeptnAppContext` also contains a `metadata` property that -passes the `commitID` made available by ArgoCD to the -application deployment. -This information is then added by Keptn as an attribute to the -OpenTelemetry traces created for the application deployment. - -To configure the application, the `values.yaml` -file is used. -Within that file, the versions for the two workloads that -are part of the application are defined, -as well as the target response time for the evaluation -in the post-deployment phase. -The Git commit ID mentioned earlier is also set here. -The Git commit ID is empty by default, but is set automatically -by ArgoCD, using the `$ARGOCD_APP_REVISION` environment variable. - -```yaml -{% include "./multi-stage-delivery-using-gitops/values-dev.yaml" %} -``` - -### What's in the Helm chart for prod stage - -The Helm chart of the `prod` stage is rather similar to the one -for the `dev` stage, but differs in the `values.yaml`, and the -`KeptnAppContext` resource. -First, let's inspect the `values.yaml` in `prod`: - -```yaml -{% include "./multi-stage-delivery-using-gitops/values-prod.yaml" %} -``` - -#### TraceParent property - -The `values.yaml` file for the `prod` stage -contains an additional property called `traceParent`, -which is essential in linking the deployment traces of the -`prod` stage to the previous stage, i.e. the `dev` stage. -The `traceParent` is propagated from Keptn to the GitHub action that -does the promotion by adapting the `values.yaml` file to -specify the workload versions that should be deployed in `prod`. - -#### spanLinks property - -In our example, the value of the `traceParent` is the span ID of the -`promotion` phase of the `dev` stage. -To pass this property to Keptn, we use the `spanLinks` property of the `KeptnAppContext` resource: - -```yaml -{% include "./multi-stage-delivery-using-gitops/keptnappcontext-prod.yaml" %} -``` - -This causes the OpenTelemetry deployment trace in `prod` to have a reference -to the `promotion` phase in `dev`, indicating that the successful deployment -of the application in `dev` is what caused the deployment in `prod`. - -## Promotion flow from `dev` to `prod` - -Now that the GitOps repository and the ArgoCD application are set up, -let's have a closer look at how a new service version would make its way -into `dev` and then into `prod`. -To do this, the `values.yaml` file for the `dev` stage is edited to -change the service version from `v1` to `v2`: - -![Updating the dev stage](./multi-stage-delivery-using-gitops/updating-dev.png) - -After this change is committed to the GitOps repository, ArgoCD -eventually starts to synchronize the application, and the new service -version is deployed to `dev`. -This is reflected by a new `KeptnAppVersion` being created by Keptn, -for which the pre-/post-deployment checks -and the evaluation that were mentioned earlier are executed. -After some time, the new version is up and running in `dev` -and the deployment trace for the new `KeptnAppVersion` is -visible in Jaeger: - -![Deployment trace dev](./multi-stage-delivery-using-gitops/deployment-trace-dev.png) - -You can see that the generated trace also contains the commitID that triggered -the deployment (i.e. the commit in which the version was changed). -We also see that the `promotion` phase has been executed successfully, so let's -check our GitOps repository and inspect the automatically created pull request -to promote the version into the next stage: - -![PR to update prod](./multi-stage-delivery-using-gitops/pr-dev-to-prod.png) - -As expected, the pull request updates the `values.yaml` file for the -`prod` stage to update the `serviceVersion` to the same value we just -deployed in `dev`. -In addition to that, the `traceParent` property is set to the -span ID of the `promotion` phase of the deployment in `dev`. - -Once the PR is merged, Keptn deploys -the new version in the `prod` stage, and eventually -we will see the deployment trace for that stage in -Jaeger as well: - -![Deployment trace prod](./multi-stage-delivery-using-gitops/deployment-trace-prod.png) - -As we can see in the deployment trace, we also have the commitID that triggered -the deployment in that stage, just like we also had in `dev`, -but the trace also contains a reference -to the span ID of the `promotion` phase in `dev`. -This ultimately allows us to trace back the deployment of a particular -service version across multiple stages, right to the commit that -introduced a change to the affected service. - -## Conclusion - -Time to wrap up what we have learned in this example. -We have seen how the `KeptnAppContext` resource -can be used to define pre-/post-deployment checks and to -pass important metadata -- in our example, using ArgoCD, -the Git commit ID that triggered a new deployment -- -to be added as attributes to the deployment traces -generated by Keptn. -Then, to gain observability not only for an isolated stage, -but across multiple stages, the `spanLinks` property -of the `KeptnAppContext` was used to create references to -deployment traces of a previous stage when -promoting a new version of a service from one stage to the next. -This way, if any kind of problems appear in one of the later -stages (in this example in the `prod` stage) for a newly deployed version, -the links to the deployment traces of the previous stages -enable us to trace back the deployment of that new version -across the previous stages, until we reach the commit that -caused the erroneous behavior of that service. - -We hope the example in this blog post gives you some inspiration -on how you could implement Keptn into your continuous delivery -workflow. -If you would like to try out Keptn and its capabilities yourself, -feel free to head over to the [Keptn docs](https://lifecycle.keptn.sh/docs/) -and follow the guides to [install Keptn](https://lifecycle.keptn.sh/docs/install/). -We also appreciate any feedback and are always happy to support you -with any questions you might have. diff --git a/docs/blog/posts/multi-stage-delivery-using-gitops/argo-apps.yaml b/docs/blog/posts/multi-stage-delivery-using-gitops/argo-apps.yaml deleted file mode 100644 index ccfa603e38..0000000000 --- a/docs/blog/posts/multi-stage-delivery-using-gitops/argo-apps.yaml +++ /dev/null @@ -1,49 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: simple-go-app-context - namespace: argocd -spec: - project: default - source: - repoURL: 'https://github.com/bacherfl/keptn-analysis-demo' - path: simple-app/chart-dev - targetRevision: HEAD - helm: - parameters: - - name: "commitID" - value: "$ARGOCD_APP_REVISION" - destination: - server: 'https://kubernetes.default.svc' - namespace: simple-go - syncPolicy: - automated: - prune: true - selfHeal: true - syncOptions: - - CreateNamespace=true ---- -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: simple-go-app-context-prod - namespace: argocd -spec: - project: default - source: - repoURL: 'https://github.com/bacherfl/keptn-analysis-demo' - path: simple-app/chart-prod - targetRevision: HEAD - helm: - parameters: - - name: "commitID" - value: "$ARGOCD_APP_REVISION" - destination: - server: 'https://kubernetes.default.svc' - namespace: simple-go - syncPolicy: - automated: - prune: true - selfHeal: true - syncOptions: - - CreateNamespace=true diff --git a/docs/blog/posts/multi-stage-delivery-using-gitops/deployment-trace-dev.png b/docs/blog/posts/multi-stage-delivery-using-gitops/deployment-trace-dev.png deleted file mode 100644 index d061d85c06..0000000000 Binary files a/docs/blog/posts/multi-stage-delivery-using-gitops/deployment-trace-dev.png and /dev/null differ diff --git a/docs/blog/posts/multi-stage-delivery-using-gitops/deployment-trace-prod.png b/docs/blog/posts/multi-stage-delivery-using-gitops/deployment-trace-prod.png deleted file mode 100644 index 8c7f1bd26a..0000000000 Binary files a/docs/blog/posts/multi-stage-delivery-using-gitops/deployment-trace-prod.png and /dev/null differ diff --git a/docs/blog/posts/multi-stage-delivery-using-gitops/deployment.yaml b/docs/blog/posts/multi-stage-delivery-using-gitops/deployment.yaml deleted file mode 100644 index 4a47dfb73a..0000000000 --- a/docs/blog/posts/multi-stage-delivery-using-gitops/deployment.yaml +++ /dev/null @@ -1,26 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: simple-go-service - namespace: simple-go -spec: - selector: - matchLabels: - app: simple-go-service - template: - metadata: - labels: - app: simple-go-service - app.kubernetes.io/name: simple-go-service - app.kubernetes.io/part-of: simple-go - app.kubernetes.io/version: {{.Values.serviceVersion}} - keptn.sh/post-deployment-tasks: wait-for-monitoring - spec: - containers: - - image: bacherfl/simple-go-service:{{.Values.serviceVersion}} - imagePullPolicy: Always - name: simple-go-service - ports: - - containerPort: 9000 - name: http - protocol: TCP diff --git a/docs/blog/posts/multi-stage-delivery-using-gitops/keptnappcontext-prod.yaml b/docs/blog/posts/multi-stage-delivery-using-gitops/keptnappcontext-prod.yaml deleted file mode 100644 index 89bac76794..0000000000 --- a/docs/blog/posts/multi-stage-delivery-using-gitops/keptnappcontext-prod.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: lifecycle.keptn.sh/v1beta1 -kind: KeptnAppContext -metadata: - name: simple-go-prod - namespace: simple-go-prod -spec: - - preDeploymentTasks: - - wait-for-prometheus - postDeploymentTasks: - - post-deployment-loadtests - - post-deployment-loadtests-backend - spanLinks: - - {{.Values.traceParent}} - metadata: - commitID: {{.Values.commitID}} diff --git a/docs/blog/posts/multi-stage-delivery-using-gitops/keptnappcontext.yaml b/docs/blog/posts/multi-stage-delivery-using-gitops/keptnappcontext.yaml deleted file mode 100644 index 2d44f3b2e7..0000000000 --- a/docs/blog/posts/multi-stage-delivery-using-gitops/keptnappcontext.yaml +++ /dev/null @@ -1,17 +0,0 @@ -apiVersion: lifecycle.keptn.sh/v1beta1 -kind: KeptnAppContext -metadata: - name: simple-go - namespace: simple-go -spec: - preDeploymentTasks: - - wait-for-prometheus - postDeploymentTasks: - - post-deployment-loadtests - - post-deployment-loadtests-backend - postDeploymentEvaluations: - - response-time - promotionTasks: - - promote - metadata: - commitID: {{.Values.commitID}} diff --git a/docs/blog/posts/multi-stage-delivery-using-gitops/pr-dev-to-prod.png b/docs/blog/posts/multi-stage-delivery-using-gitops/pr-dev-to-prod.png deleted file mode 100644 index dad5ac55a9..0000000000 Binary files a/docs/blog/posts/multi-stage-delivery-using-gitops/pr-dev-to-prod.png and /dev/null differ diff --git a/docs/blog/posts/multi-stage-delivery-using-gitops/promote.yaml b/docs/blog/posts/multi-stage-delivery-using-gitops/promote.yaml deleted file mode 100644 index a2c67f6f19..0000000000 --- a/docs/blog/posts/multi-stage-delivery-using-gitops/promote.yaml +++ /dev/null @@ -1,46 +0,0 @@ -name: promote - -on: - workflow_dispatch: - inputs: - traceParent: - description: 'OTEL parent trace' - required: false - type: string - -permissions: - contents: write - pull-requests: write - -jobs: - promote: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - run: | - # configure git client - git config --global user.email "" - git config --global user.name "" - - # create a new branch - git switch -c production/${{ github.sha }} - - # promote the change - cp dev/values.yaml production/values.yaml - - echo "traceParent: $TRACE_PARENT" >> production/values.yaml - - # push the change to the new branch - git add production/values.yaml - git commit -m "Promote dev to production" - git push -u origin production/${{ github.sha }} - env: - TRACE_PARENT: ${{ inputs.traceParent }} - - run: | - gh pr create \ - -B main \ - -H production/${{ github.sha }} \ - --title "Promote dev to production" \ - --body "Automatically created by GHA" - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/docs/blog/posts/multi-stage-delivery-using-gitops/token-permissions.png b/docs/blog/posts/multi-stage-delivery-using-gitops/token-permissions.png deleted file mode 100644 index 90a01e822d..0000000000 Binary files a/docs/blog/posts/multi-stage-delivery-using-gitops/token-permissions.png and /dev/null differ diff --git a/docs/blog/posts/multi-stage-delivery-using-gitops/updating-dev.png b/docs/blog/posts/multi-stage-delivery-using-gitops/updating-dev.png deleted file mode 100644 index 194983287e..0000000000 Binary files a/docs/blog/posts/multi-stage-delivery-using-gitops/updating-dev.png and /dev/null differ diff --git a/docs/blog/posts/multi-stage-delivery-using-gitops/values-dev.yaml b/docs/blog/posts/multi-stage-delivery-using-gitops/values-dev.yaml deleted file mode 100644 index 837db20919..0000000000 --- a/docs/blog/posts/multi-stage-delivery-using-gitops/values-dev.yaml +++ /dev/null @@ -1,4 +0,0 @@ -serviceVersion: v1 -backendServiceVersion: v1 -targetResponseTime: "0.50" -commitID: "" diff --git a/docs/blog/posts/multi-stage-delivery-using-gitops/values-prod.yaml b/docs/blog/posts/multi-stage-delivery-using-gitops/values-prod.yaml deleted file mode 100644 index b94e61de20..0000000000 --- a/docs/blog/posts/multi-stage-delivery-using-gitops/values-prod.yaml +++ /dev/null @@ -1,5 +0,0 @@ -serviceVersion: v1 -backendServiceVersion: v1 -targetResponseRate: "0.50" -commitID: "" -traceParent: "" diff --git a/docs/blog/posts/multi-stage-delivery-using-gitops/workflow-permissions.png b/docs/blog/posts/multi-stage-delivery-using-gitops/workflow-permissions.png deleted file mode 100644 index c092ebda61..0000000000 Binary files a/docs/blog/posts/multi-stage-delivery-using-gitops/workflow-permissions.png and /dev/null differ diff --git a/docs/blog/posts/stable-release-announcement.md b/docs/blog/posts/stable-release-announcement.md deleted file mode 100644 index c3c0559c12..0000000000 --- a/docs/blog/posts/stable-release-announcement.md +++ /dev/null @@ -1,96 +0,0 @@ ---- -date: 2024-03-15 -authors: [agardnerIT] -description: > - This blog post announces the release candidate for Keptn v2. -categories: - - Announcement -comments: true -slug: announcing-the-official-release-candidate-for-keptn-v2 ---- - -# Announcing the Release Candidate for Keptn v2 - -The Keptn project is proud to announce a release candidate for what will become Keptn v2. -User feedback to the Keptn project has been clear, and we’ve listened. -We thank the users who have given us feedback -and all the community members who have contributed to this project. - -We are sharing this release candidate -so that the community and end users can participate in the testing -to ensure that the actual release is as robust as possible. -We anticipate (as long as no release blockers are identified) -that Keptn v2 will be released approximately 1 month after this announcement. - - - -## What problem does Keptn solve? - -Deploying software using Kubernetes is, on the surface, easy. -Just use `kubectl` or a GitOps solution like -[ArgoCD](https://argoproj.github.io/cd/) -to deploy a YAML file and that’s it, right? -Well, no. -Not normally. -There is a lot more to ensuring a healthy deployment. -The pod(s) may be running, but that doesn’t automatically mean that the application is healthy. -This is the problem domain that Keptn acts upon. -By using Keptn, in combination with your standard -deployment tooling or practices, you can move from “I guess it’s OK” to “I know it’s OK”. -Keptn allows you to wrap governance and automated checks around the deployment process to ensure that -the end-to-end process of deploying is healthy and your application is meeting the SLOs you’ve defined. - -## What’s New in the Keptn v2 release candidate? - -Keptn v2-rc introduces the following new features to the previous Keptn release: - -- Non-Blocking Tasks -- A new “promotion” stage - -### Non-blocking tasks and evaluations - -Keptn offers the ability to define tasks and SLO evaluations that run either before or after a deployment. -By design, any pre-deployment task or SLO evaluation that fails will block the deployment. -Often, this is the behaviour you want –- if a downstream dependency is unavailable or unhealthy, -you probably don’t want to complete the deployment. -However, when first testing and implementing Keptn in your development environment, -this may cause deployments to be “pending” without an obvious cause. - -In Keptn v2 this blocking behaviour for pre tasks and evaluations can be temporarily disabled for the cluster -until you are sure that your tasks and evaluations are performing appropriately. -To implement this feature, set `spec.blockDeployment: [true|false]` in the -[KeptnConfig](../../docs/reference/crd-reference/config.md) resource. -The default behaviour is for Keptn to block deployments (i.e. `spec.blockDeployment: true`). - -### The Promotion Stage - -Keptn v2 introduces a new “promotion” phase -to support multi-stage application delivery. -Keptn is commonly used as part of [GitOps practices](https://opengitops.dev/) and thus, -users want a dedicated way to promote an application to the next stage in my environment. -In this release candidate, -the new stage is disabled by default and can be controlled via the Helm flag: -`lifecycleOperator.promotionTasksEnabled: [true|false]`. -We expect that the upcoming stable release will be shipped with this feature enabled out of the box. - -Further information can be found in -The -[Multi-stage application delivery](../../docs/guides/multi-stage-application-delivery.md) -guide. - -## Try it out - -With this release of Keptn, you can see a true end-to-end picture of everything in the logical order, -potentially from “PR merged” all the way to “deployment complete”. - -To try it out, download Keptn v2 RC1 now: - -- From -[ArtifactHub](https://artifacthub.io/packages/helm/lifecycle-toolkit/keptn) -- From -[GitHub](https://github.com/keptn/lifecycle-toolkit/releases) - -Please provide any feedback -- good and bad -- by posting in the -[#Keptn CNCF Slack channel](https://cloud-native.slack.com/archives/C017GAX90GM) -or by raising issues in our -[GitHub repository](https://github.com/keptn/lifecycle-toolkit/issues). diff --git a/docs/blog/posts/using-keptn-analyses-in-argo-workflows.md b/docs/blog/posts/using-keptn-analyses-in-argo-workflows.md deleted file mode 100644 index adbd8e1c9a..0000000000 --- a/docs/blog/posts/using-keptn-analyses-in-argo-workflows.md +++ /dev/null @@ -1,179 +0,0 @@ ---- -date: 2024-06-27 -authors: [bacherfl] -description: > - In this blog post you will learn how to use the Analysis feature of Keptn within Argo Workflows. -categories: - - SRE - - Application Performance - - Analysis -comments: true ---- - -# Using Keptn Analyses in Argo Workflows - -In this blog post we will explore how Keptn -can be used within [Argo Workflows](https://argoproj.github.io/workflows/) to -execute load tests using a [KeptnTask](../../docs/reference/crd-reference/task.md), and analyze their results -afterward using the [Keptn Analysis](../../docs/reference/crd-reference/analysis.md) feature. -Argo Workflows is a workflow orchestration engine built for Kubernetes, which makes it a perfect fit -to be used together with Keptn. -We will achieve this by using the support for [Executor Plugins](https://argo-workflows.readthedocs.io/en/latest/executor_plugins/) -provided by Argo Workflows. -This plugin mechanism is an easy way of integrating custom functionality into an Argo Workflow, -and providing further nodes in the workflow with valuable information, such as the outcome of a Keptn Analysis. - - - -## Technologies used for this example - -For this, we are using the following technologies: - -- The [Keptn Analysis](../../docs/reference/crd-reference/analysis.md) resource - defines goals for our metrics and evaluates them. -- [Argo Workflows](https://argoproj.github.io/workflows/) is the workflow engine. -- [Prometheus](https://prometheus.io): Provides monitoring data for the application. - -## Architecture - -The overall architecture of this example is depicted in the diagram below: - -![Architecture](./using-keptn-analyses-in-argo-workflows/workflow.png) - -Our example workflow consists of two nodes, which do the following: - -- The **Load Tests** node creates a `KeptnTask` that executes load tests against -a sample application. -Once the tests have finished, the results and the time frame of the `KeptnTask` -execution are reported back to Argo Workflows. -- The **Analyse Results** node takes the time frame of the executed load tests as an input parameter -and creates a Keptn `Analysis` for the given timeframe. -Using a `KeptnMetricsProvider` which retrieves the metrics for the application from Prometheus, -the metric values relevant for the analysis are retrieved and evaluated. -The result of the Analysis is then reported back to Argo Workflows which can then pass -on the Analysis results to other potential nodes in the workflow. - -Both of the workflow nodes are executed using a simple Argo Workflow executor plugin -hosted in [this repo](https://github.com/bacherfl/argo-keptn-plugin). -Note, however, that the code in this repo is just a proof of concept and not -intended for use in production. - -## Setting up the environment - -In this example, we assume that both Keptn and Argo Workflows are -already installed on our cluster. -If this is not the case, and you would like to follow this example, -please follow the instructions at the respective installation guides: - -- [Keptn Installation Guide](https://keptn.sh/stable/docs/installation/) -- [Argo Workflows Installation Guide](https://argo-workflows.readthedocs.io/en/latest/quick-start/) - -The next step is to install the [Keptn extension for Argo Workflows (unofficial PoC implementation)](https://github.com/bacherfl/argo-keptn-plugin). -This is done by applying the `ConfigMap` that enables the plugin within Argo workflows, -and the required RBAC configuration for the plugin to be able to interact -with Keptn resources: - -```shell -kubectl apply -f https://raw.githubusercontent.com/bacherfl/argo-keptn-plugin/main/config/keptn-executor-plugin-configmap.yaml -kubectl apply -f https://raw.githubusercontent.com/bacherfl/argo-keptn-plugin/main/config/rbac.yaml -``` - -## Defining the load test KeptnTaskDefinition - -The load tests against our sample application are executed -using a `KeptnTask`. -The related `KeptnTaskDefinition` looks as follows: - -```yaml -{% include "./using-keptn-analyses-in-argo-workflows/load-generator-task.yaml" %} -``` - -This task simply creates some load by sending a curl request -to the sample application for a duration of one minute. - -## Defining the AnalysisValueTemplates - -Now we are going to define the queries for the metrics we would like to analyse: - -- The response time of the demo service -- The error rate of the demo service - -Below are the `AnalysisValueTemplate` resources, as well as the -`KeptnMetricsProvider` resource that points to the Prometheus API -inside our cluster: - -```yaml -{% include "./using-keptn-analyses-in-argo-workflows/metrics.yaml" %} -``` - -Next, we define the `AnalysisDefinition` resource that contains the goals -for the metrics mentioned above: - -```yaml -{% include "./using-keptn-analyses-in-argo-workflows/analysisdefinition.yaml" %} -``` - -Note that the `AnalysisDefinition` used in this example is kept rather simple. -If you would like to learn more about the possibilities of the -analysis feature of Keptn, feel free to read more about it -in [this blog post](./application-performance-analysis.md). - -## Putting it all together - -Now that we have defined our Keptn resources for executing -load tests and analysing the performance of our application, -it is time to put everything together by defining the -Argo Workflow, which looks like the following: - -```yaml -{% include "./using-keptn-analyses-in-argo-workflows/argo-workflow.yaml" %} -``` - -This workflow contains the following steps: - -- **execute-load-tests:** Starts a new instance of a `KeptnTask` based on the `loadtests` -`KeptnTaskDefinition` we created earlier. -The result of this step contains the `start` and `end` timestamps of the executed load tests. -- **keptn-analysis:** Runs after the previous node is completed, and accepts the reported -`start` and `end` timestamps as input parameters. -This interval is used to create a new instance of an `Analysis` where the response time -and error rate during this interval is evaluated, using the `AnalysisDefinition` created earlier. -The overall result (i.e. whether the `Analysis` has passed or not), as well as a detailed breakdown -of each objective in JSON format is reported back to Argo in the results of the step. -- **print-result:** Takes both the `start` and `end` timestamps of the load tests, as well -as the overall `result` of the `Analysis` as input parameters, and prints a message containing -the result. -- **print-json**: Takes the JSON object containing the -analysis objective breakdown of the `keptn-analysis` as an input parameter, -and stores the received JSON object as an artifact. -This enables other nodes in a workflow to retrieve that artifact and use the information in it -as input artifacts. -Read more about the concept of artifacts in Argo Workflows [here](https://argo-workflows.readthedocs.io/en/latest/walk-through/artifacts/). - -## Executing the workflow - -The workflow is triggered by navigating to the Argo Workflows UI -and choosing the **Submit new Workflow** option: - -![Triggering the workflows](./using-keptn-analyses-in-argo-workflows/triggering-workflow.png) - -After some time, all steps in the workflow are completed, -and both the time frame of the load test execution, -and the result of the `Analysis` are visible in -the Argo Workflows UI: - -![Workflow result](./using-keptn-analyses-in-argo-workflows/workflow-result.png) - -## Conclusion - -In this article we have explored the potential of using Keptn -to both perform tasks and analyse performance metrics -within Argo Workflows, and pass the results on to the following steps. -Hopefully this article provides you with some inspiration of -how you can make use of Keptn within Argo Workflows - -If so, we would love to hear about it, and we always welcome any feedback. -If you have questions or run into any kind of issues, -feel free to reach out on the -[#Keptn CNCF Slack channel](https://cloud-native.slack.com/archives/C017GAX90GM) -or by raising issues in our -[GitHub repository](https://github.com/keptn/lifecycle-toolkit/issues). diff --git a/docs/blog/posts/using-keptn-analyses-in-argo-workflows/analysisdefinition.yaml b/docs/blog/posts/using-keptn-analyses-in-argo-workflows/analysisdefinition.yaml deleted file mode 100644 index 2654680b63..0000000000 --- a/docs/blog/posts/using-keptn-analyses-in-argo-workflows/analysisdefinition.yaml +++ /dev/null @@ -1,29 +0,0 @@ -apiVersion: metrics.keptn.sh/v1 -kind: AnalysisDefinition -metadata: - name: my-analysis-definition - namespace: simple-go -spec: - objectives: - - analysisValueTemplateRef: - name: response-time-p95 - keyObjective: false - target: - failure: - greaterThan: - fixedValue: 500m - warning: - greaterThan: - fixedValue: 300m - weight: 1 - - analysisValueTemplateRef: - name: error-rate - keyObjective: true - target: - failure: - greaterThan: - fixedValue: 0 - weight: 1 - totalScore: - passPercentage: 60 - warningPercentage: 50 diff --git a/docs/blog/posts/using-keptn-analyses-in-argo-workflows/argo-workflow.yaml b/docs/blog/posts/using-keptn-analyses-in-argo-workflows/argo-workflow.yaml deleted file mode 100644 index 69659caa13..0000000000 --- a/docs/blog/posts/using-keptn-analyses-in-argo-workflows/argo-workflow.yaml +++ /dev/null @@ -1,115 +0,0 @@ -metadata: - generateName: test-123 - namespace: argo - labels: - example: 'true' -spec: - arguments: - parameters: - - name: workload - value: simple-go-service - entrypoint: main - templates: - - name: main - dag: - tasks: - - name: execute-load-tests - template: keptn-loadtests - - name: analyze - template: keptn-analysis - dependencies: - - execute-load-tests - arguments: - parameters: - - name: query - value: analysis/simple-go/my-analysis-definition/1m/workload=simple-go-service - - name: start - value: "{{tasks.execute-load-tests.outputs.parameters.start}}" - - name: end - value: "{{tasks.execute-load-tests.outputs.parameters.end}}" - - name: print-result - dependencies: - - analyze - - execute-load-tests - arguments: - parameters: - - name: start - value: "{{tasks.execute-load-tests.outputs.parameters.start}}" - - name: end - value: "{{tasks.execute-load-tests.outputs.parameters.end}}" - - name: result - value: "{{tasks.analyze.outputs.parameters.result}}" - template: whalesay - - name: print-json - dependencies: - - analyze - arguments: - parameters: - - name: details - value: "{{tasks.analyze.outputs.parameters.details}}" - template: print-json - - - name: keptn-loadtests - inputs: - parameters: - - name: query - value: keptntask/simple-go/post-deployment-loadtests - outputs: - parameters: - - name: start - valueFrom: - jsonPath: '{.output.parameters.start}' - - name: end - valueFrom: - jsonPath: '{.output.parameters.end}' - plugin: - keptn: {} - - - name: keptn-analysis - inputs: - parameters: - - name: query - - name: start - - name: end - outputs: - parameters: - - name: result - valueFrom: - jsonPath: "{.output.parameters.result}" - - name: details - valueFrom: - jsonPath: "{.output.parameters.details}" - - plugin: - keptn: {} - - - name: whalesay - inputs: - parameters: - - name: start - - name: end - - name: result - container: - image: docker/whalesay:latest - command: [sh, -c] - args: ["cowsay 'Analysis result for timeframe {{inputs.parameters.start}} - {{inputs.parameters.end}}: {{inputs.parameters.result}}'"] - - - name: print-json - inputs: - parameters: - - name: details - container: - image: alpine:latest - command: [sh, -c] - args: ["echo '{{inputs.parameters.details}}' | tee /tmp/result.json"] - outputs: - artifacts: - - name: result - path: /tmp/result.json - archive: - none: {} - - ttlStrategy: - secondsAfterCompletion: 300 - podGC: - strategy: OnPodCompletion diff --git a/docs/blog/posts/using-keptn-analyses-in-argo-workflows/load-generator-task.yaml b/docs/blog/posts/using-keptn-analyses-in-argo-workflows/load-generator-task.yaml deleted file mode 100644 index 997c5ae364..0000000000 --- a/docs/blog/posts/using-keptn-analyses-in-argo-workflows/load-generator-task.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: lifecycle.keptn.sh/v1 -kind: KeptnTaskDefinition -metadata: - name: loadtests - namespace: simple-go -spec: - container: - - name: loadtests - image: curl - command: ["sh", "-c"] - args: - - | - for i in $(seq 1 600); do - curl -s http://simple-go-service.simple-go:8080 - sleep 0.1 - done diff --git a/docs/blog/posts/using-keptn-analyses-in-argo-workflows/metrics.yaml b/docs/blog/posts/using-keptn-analyses-in-argo-workflows/metrics.yaml deleted file mode 100644 index 69b20e786e..0000000000 --- a/docs/blog/posts/using-keptn-analyses-in-argo-workflows/metrics.yaml +++ /dev/null @@ -1,28 +0,0 @@ -apiVersion: metrics.keptn.sh/v1 -kind: KeptnMetricsProvider -metadata: - name: my-provider - namespace: simple-go -spec: - targetServer: https://prometheus-k8s.monitoring.svc.cluster.local:9090 - type: prometheus ---- -apiVersion: metrics.keptn.sh/v1 -kind: AnalysisValueTemplate -metadata: - name: response-time-p95 - namespace: simple-go -spec: - provider: - name: my-provider - query: "histogram_quantile(0.95, sum by(le) (rate(http_server_request_latency_seconds_bucket{job='{{.workload}}'}[1m])))" ---- -apiVersion: metrics.keptn.sh/v1 -kind: AnalysisValueTemplate -metadata: - name: error-rate - namespace: simple-go -spec: - provider: - name: my-provider - query: "rate(http_requests_total{status_code='500', job='{{.workload}}'}[1m]) or on() vector(0)" diff --git a/docs/blog/posts/using-keptn-analyses-in-argo-workflows/triggering-workflow.png b/docs/blog/posts/using-keptn-analyses-in-argo-workflows/triggering-workflow.png deleted file mode 100644 index 76588ec7bd..0000000000 Binary files a/docs/blog/posts/using-keptn-analyses-in-argo-workflows/triggering-workflow.png and /dev/null differ diff --git a/docs/blog/posts/using-keptn-analyses-in-argo-workflows/workflow-result.png b/docs/blog/posts/using-keptn-analyses-in-argo-workflows/workflow-result.png deleted file mode 100644 index bde2facf60..0000000000 Binary files a/docs/blog/posts/using-keptn-analyses-in-argo-workflows/workflow-result.png and /dev/null differ diff --git a/docs/blog/posts/using-keptn-analyses-in-argo-workflows/workflow.png b/docs/blog/posts/using-keptn-analyses-in-argo-workflows/workflow.png deleted file mode 100644 index 25f0c506c6..0000000000 Binary files a/docs/blog/posts/using-keptn-analyses-in-argo-workflows/workflow.png and /dev/null differ diff --git a/docs/docs/assets/crd/analysis-definition.yaml b/docs/docs/assets/crd/analysis-definition.yaml deleted file mode 100644 index d8dddef15c..0000000000 --- a/docs/docs/assets/crd/analysis-definition.yaml +++ /dev/null @@ -1,23 +0,0 @@ -apiVersion: metrics.keptn.sh/v1 -kind: AnalysisDefinition -metadata: - name: ad-my-proj-dev-svc1 - namespace: keptn-system -spec: - objectives: - - analysisValueTemplateRef: - name: response-time-p95 - namespace: keptn-system - target: - failure: - lessThan: - fixedValue: 600 - warning: - inRange: - lowBound: 300 - highBound: 500 - weight: 1 - keyObjective: false - totalScore: - passPercentage: 90 - warningPercentage: 75 diff --git a/docs/docs/assets/crd/analysis-template.yaml b/docs/docs/assets/crd/analysis-template.yaml deleted file mode 100644 index bd8a550fd9..0000000000 --- a/docs/docs/assets/crd/analysis-template.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: metrics.keptn.sh/v1 -kind: AnalysisValueTemplate -metadata: - labels: - app.kubernetes.io/name: analysisvaluetemplate - app.kubernetes.io/instance: analysisvaluetemplate-sample - app.kubernetes.io/part-of: metrics-operator - app.kubernetes.io/managed-by: kustomize - app.kubernetes.io/created-by: metrics-operator - name: response-time-p95 - namespace: keptn-system -spec: - provider: - name: prometheus - query: "sum(kube_pod_container_resource_limits{node='{{.nodename}}'}) - sum(kube_node_status_capacity{node='{{.nodename}}'})" diff --git a/docs/docs/assets/crd/analysis.yaml b/docs/docs/assets/crd/analysis.yaml deleted file mode 100644 index e4baa623cc..0000000000 --- a/docs/docs/assets/crd/analysis.yaml +++ /dev/null @@ -1,21 +0,0 @@ -apiVersion: metrics.keptn.sh/v1 -kind: Analysis -metadata: - labels: - app.kubernetes.io/name: analysis - app.kubernetes.io/instance: analysis-sample - app.kubernetes.io/part-of: metrics-operator - app.kubernetes.io/managed-by: kustomize - app.kubernetes.io/created-by: metrics-operator - name: analysis-sample -spec: - timeframe: - recent: 5m - args: - project: my-project - stage: dev - service: svc1 - nodename: test # can be any key/value pair; NOT only project/stage/service - analysisDefinition: - name: ad-my-proj-dev-svc1 - namespace: keptn-system diff --git a/docs/docs/assets/crd/deno-context.yaml b/docs/docs/assets/crd/deno-context.yaml deleted file mode 100644 index 112111bcc3..0000000000 --- a/docs/docs/assets/crd/deno-context.yaml +++ /dev/null @@ -1,29 +0,0 @@ -apiVersion: v1 -kind: Secret -metadata: - name: mysecret -type: Opaque -data: - SECURE_DATA: dG9rZW46IG15dG9rZW4= ---- -apiVersion: lifecycle.keptn.sh/v1 -kind: KeptnTaskDefinition -metadata: - name: pre-deployment-hello - annotations: ## accessible via "KEPTN_CONTEXT" - my: test -spec: - deno: - parameters: ## accessible via "DATA" - map: - user: "myuser" - secureParameters: ## accessible via "SECURE_DATA" - secret: mysecret - inline: - code: | - const data = Deno.env.get("DATA")!; - const secret = Deno.env.get("SECURE_DATA")!; - const context = Deno.env.get("KEPTN_CONTEXT")!; - console.log(data); - console.log(secret); - console.log(context); diff --git a/docs/docs/assets/crd/eval.yaml b/docs/docs/assets/crd/eval.yaml deleted file mode 100644 index cd5f7ca0ab..0000000000 --- a/docs/docs/assets/crd/eval.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: lifecycle.keptn.sh/v1 -kind: KeptnEvaluationDefinition -metadata: - name: app-pre-deploy-eval-2 - namespace: podtato-kubectl -spec: - objectives: - - keptnMetricRef: - name: available-cpus - namespace: podtato-kubectl - evaluationTarget: ">1" diff --git a/docs/docs/assets/crd/examples/configmap-for-deno-script.yaml b/docs/docs/assets/crd/examples/configmap-for-deno-script.yaml deleted file mode 100644 index 69f29f0a64..0000000000 --- a/docs/docs/assets/crd/examples/configmap-for-deno-script.yaml +++ /dev/null @@ -1,30 +0,0 @@ -apiVersion: lifecycle.keptn.sh/v1 -kind: KeptnTaskDefinition -metadata: - name: scheduled-deployment -spec: - deno: - configMapRef: - name: scheduled-deployment-cm-1 ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: scheduled-deployment-1 -data: - code: | - let text = Deno.env.get("DATA"); - let data; - if (text != "") { - data = JSON.parse(text); - } - let targetDate = new Date(data.targetDate) - let dateTime = new Date(); - if(targetDate < dateTime) { - console.log("Date has passed - ok"); - Deno.exit(0); - } else { - console.log("It's too early - failing"); - Deno.exit(1); - } - console.log(targetDate); diff --git a/docs/docs/assets/crd/examples/functionref-for-deno-script.yaml b/docs/docs/assets/crd/examples/functionref-for-deno-script.yaml deleted file mode 100644 index a36306bdeb..0000000000 --- a/docs/docs/assets/crd/examples/functionref-for-deno-script.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: lifecycle.keptn.sh/v1 -kind: KeptnTaskDefinition -metadata: - name: slack-notification-dev -spec: - deno: - functionRef: - name: slack-notification - parameters: - map: - textMessage: "This is my configuration" - secureParameters: - secret: slack-token diff --git a/docs/docs/assets/crd/examples/httpref-script-for-deno-script.yaml b/docs/docs/assets/crd/examples/httpref-script-for-deno-script.yaml deleted file mode 100644 index e338f67935..0000000000 --- a/docs/docs/assets/crd/examples/httpref-script-for-deno-script.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: lifecycle.keptn.sh/v1 -kind: KeptnTaskDefinition -metadata: - name: hello-keptn-http -spec: - deno: - httpRef: - url: "https://www.example.com/yourscript.js" diff --git a/docs/docs/assets/crd/examples/inline-script-for-deno-script.yaml b/docs/docs/assets/crd/examples/inline-script-for-deno-script.yaml deleted file mode 100644 index 4e67993378..0000000000 --- a/docs/docs/assets/crd/examples/inline-script-for-deno-script.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: lifecycle.keptn.sh/v1 -kind: KeptnTaskDefinition -metadata: - name: hello-keptn-inline -spec: - deno: - inline: - code: | - let text = Deno.env.get("DATA"); - let data; - let name; - data = JSON.parse(text); - - name = data.name - console.log("Hello, " + name + " new"); diff --git a/docs/docs/assets/crd/examples/old-version-synopsis.yaml b/docs/docs/assets/crd/examples/old-version-synopsis.yaml deleted file mode 100644 index cb66606d82..0000000000 --- a/docs/docs/assets/crd/examples/old-version-synopsis.yaml +++ /dev/null @@ -1,10 +0,0 @@ -apiVersion: metrics.keptn.sh/v1alpha2 -kind: KeptnMetricsProvider -metadata: - name: prometheus | dynatrace |dql - namespace: -spec: - targetServer: "" - secretKeyRef: - name: dt-api-token - key: DT_TOKEN diff --git a/docs/docs/assets/crd/examples/synopsis-for-all-runners.yaml b/docs/docs/assets/crd/examples/synopsis-for-all-runners.yaml deleted file mode 100644 index 4aee3d1db4..0000000000 --- a/docs/docs/assets/crd/examples/synopsis-for-all-runners.yaml +++ /dev/null @@ -1,9 +0,0 @@ -apiVersion: lifecycle.keptn.sh/v?alpha? -kind: KeptnTaskDefinition -metadata: - name: -spec: | - deno | python | container - ... - retries: - timeout: diff --git a/docs/docs/assets/crd/examples/synopsis-for-container-runtime.yaml b/docs/docs/assets/crd/examples/synopsis-for-container-runtime.yaml deleted file mode 100644 index 22bb64ae08..0000000000 --- a/docs/docs/assets/crd/examples/synopsis-for-container-runtime.yaml +++ /dev/null @@ -1,9 +0,0 @@ -apiVersion: lifecycle.keptn.sh/v?alpha? -kind: KeptnTaskDefinition -metadata: - name: -spec: - container: | - name: - image: - diff --git a/docs/docs/assets/crd/examples/synopsis-for-deno-runtime-container.yaml b/docs/docs/assets/crd/examples/synopsis-for-deno-runtime-container.yaml deleted file mode 100644 index db63e41ee8..0000000000 --- a/docs/docs/assets/crd/examples/synopsis-for-deno-runtime-container.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: lifecycle.keptn.sh/v?alpha? -kind: KeptnTaskDefinition -metadata: - name: -spec: - deno: | - inline | httpRef | functionRef | ConfigMapRef - parameters: | - map: - textMessage: "This is my configuration" - secureParameters: - secret: diff --git a/docs/docs/assets/crd/examples/synopsis-for-python-runtime-runner.yaml b/docs/docs/assets/crd/examples/synopsis-for-python-runtime-runner.yaml deleted file mode 100644 index e52c591480..0000000000 --- a/docs/docs/assets/crd/examples/synopsis-for-python-runtime-runner.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: lifecycle.keptn.sh/v?alpha? -kind: KeptnTaskDefinition -metadata: - name: -spec: - python: | - inline | httpRef | functionRef | ConfigMapRef - parameters: | - map: - textMessage: "This is my configuration" - secureParameters: - secret: diff --git a/docs/docs/assets/crd/examples/yaml-synopsis.yaml b/docs/docs/assets/crd/examples/yaml-synopsis.yaml deleted file mode 100644 index 90f59e36fe..0000000000 --- a/docs/docs/assets/crd/examples/yaml-synopsis.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: metrics.keptn.sh/v1 -kind: KeptnMetricsProvider -metadata: - name: - namespace: -spec: - type: cortex | datadog | dql | dynatrace | prometheus | elastic | thanos - targetServer: "" - secretKeyRef: - name: - key: - optional: true | false diff --git a/docs/docs/assets/crd/metric.yaml b/docs/docs/assets/crd/metric.yaml deleted file mode 100644 index 0b8e3a3561..0000000000 --- a/docs/docs/assets/crd/metric.yaml +++ /dev/null @@ -1,10 +0,0 @@ -apiVersion: metrics.keptn.sh/v1 -kind: KeptnMetric -metadata: - name: available-cpus - namespace: podtato-kubectl -spec: - provider: - name: my-provider - query: "sum(kube_node_status_capacity{resource='cpu'})" - fetchIntervalSeconds: 10 diff --git a/docs/docs/assets/crd/python-configmap.yaml b/docs/docs/assets/crd/python-configmap.yaml deleted file mode 100644 index 2469d6f10f..0000000000 --- a/docs/docs/assets/crd/python-configmap.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: lifecycle.keptn.sh/v1 -kind: KeptnTaskDefinition -metadata: - name: scheduled-deployment -spec: - python: - configMapRef: - name: python-test-cm ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: python-test-cm -data: - code: | - print("Hello, World!") diff --git a/docs/docs/assets/crd/python-context.yaml b/docs/docs/assets/crd/python-context.yaml deleted file mode 100644 index 9f26bb2ba7..0000000000 --- a/docs/docs/assets/crd/python-context.yaml +++ /dev/null @@ -1,31 +0,0 @@ -apiVersion: v1 -kind: Secret -metadata: - name: mysecret -type: Opaque -data: - SECURE_DATA: dG9rZW46IG15dG9rZW4= ---- -apiVersion: lifecycle.keptn.sh/v1 -kind: KeptnTaskDefinition -metadata: - name: pre-deployment-hello - annotations: - python: test -spec: - python: - parameters: - map: - user: "myuser" - secureParameters: - secret: mysecret - cmdParameters: "-h" - inline: - code: | - import os - import yaml - data = os.getenv('DATA') - dct = yaml.safe_load(data) - USER= dct['user'] - PASSWORD = os.environ.get('SECURE_DATA') - print(USER,PASSWORD) diff --git a/docs/docs/assets/crd/python-inline.yaml b/docs/docs/assets/crd/python-inline.yaml deleted file mode 100644 index 8bc176d349..0000000000 --- a/docs/docs/assets/crd/python-inline.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: lifecycle.keptn.sh/v1 -kind: KeptnTaskDefinition -metadata: - name: scheduled-deployment-inline -spec: - python: - parameters: - map: - mydata: "my-user-defined" - inline: - code: | - # Get environment variables - data = os.getenv('DATA') - print(data) diff --git a/docs/docs/assets/crd/python-libs.yaml b/docs/docs/assets/crd/python-libs.yaml deleted file mode 100644 index 5c84e7b8ea..0000000000 --- a/docs/docs/assets/crd/python-libs.yaml +++ /dev/null @@ -1,34 +0,0 @@ -apiVersion: lifecycle.keptn.sh/v1 -kind: KeptnTaskDefinition -metadata: - name: python-inline -spec: - python: - inlineRef: - code: | - import sys - import json - import yaml - print("Hello, World!") - dct = yaml.safe_load(''' - name: John - age: 30 - automobiles: - - brand: Honda - type: Odyssey - year: 2018 - - brand: Toyota - type: Sienna - year: 2015 - ''') - assert dct['name'] == 'John' - assert dct['age'] == 30 - assert len(dct["automobiles"]) == 2 - assert dct["automobiles"][0]["brand"] == "Honda" - assert dct["automobiles"][1]["year"] == 2015 - # some JSON: - x = '{ "name":"John", "age":30, "city":"New York"}' - # parse x: - y = json.loads(x) - # the result is a Python dictionary: - print(y["age"]) diff --git a/docs/docs/assets/crd/python-recursive.yaml b/docs/docs/assets/crd/python-recursive.yaml deleted file mode 100644 index ec6db4d26a..0000000000 --- a/docs/docs/assets/crd/python-recursive.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: lifecycle.keptn.sh/v1 -kind: KeptnTaskDefinition -metadata: - name: scheduled-deployment-2 -spec: - python: - parameters: - map: - mydata: "my-other-data" - functionRef: - name: scheduled-deployment-inline diff --git a/docs/docs/assets/crd/task-definition.yaml b/docs/docs/assets/crd/task-definition.yaml deleted file mode 100644 index eb28042975..0000000000 --- a/docs/docs/assets/crd/task-definition.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: lifecycle.keptn.sh/v1 -kind: KeptnTaskDefinition -metadata: - name: container-sleep - namespace: podtato-kubectl -spec: - container: - name: testy-test - image: busybox:1.36.1 - command: - - 'sh' - - '-c' - - 'sleep 30' diff --git a/docs/docs/components/assets/gate-removed.yaml b/docs/docs/components/assets/gate-removed.yaml deleted file mode 100644 index eaf4809fdc..0000000000 --- a/docs/docs/components/assets/gate-removed.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: test-pod - annotations: - keptn.sh/scheduling-gate-removed: "true" diff --git a/docs/docs/components/assets/gated.yaml b/docs/docs/components/assets/gated.yaml deleted file mode 100644 index f986c5f3b1..0000000000 --- a/docs/docs/components/assets/gated.yaml +++ /dev/null @@ -1,7 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: test-pod -spec: - schedulingGates: - - name: "keptn-prechecks-gate" diff --git a/docs/docs/components/certificate-operator.md b/docs/docs/components/certificate-operator.md deleted file mode 100644 index 118196087e..0000000000 --- a/docs/docs/components/certificate-operator.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -comments: true ---- - -# Keptn Cert Manager - -The Keptn Cert Manager is a Kubernetes operator that -automatically configures TLS certificates to -[secure communication with the Kubernetes API](https://kubernetes.io/docs/concepts/security/controlling-access/#transport-security). - -Keptn includes mutating, validating and conversion Webhooks -that require TLS certificates to be mounted as a volume. -These webhooks and CRDs contain a `keptn.sh/inject-cert: "true"` label indicating that -these resources require a TLS certificate. - -```mermaid -graph TD; - -E((Manifests)) -- apply --> D[Kubernetes API] -F[Webhook Controller] <-- watches Secret --> D - -style D fill:#006bb8,stroke:#fff,stroke-width:px,color:#fff -style F fill:#d8e6f4,stroke:#fff,stroke-width:px,color:#006bb8 -style E fill:#fff,stroke:#123,stroke-width:px,color:#006bb8 -``` - -How it works: - -* Keptn Cert Manager looks for the resources with `keptn.sh/inject-cert: "true"` label. -* It creates a [secret](https://kubernetes.io/docs/concepts/configuration/secret/) -(if it does not exist yet) with a TLS certificate in the -Keptn installation namespace and mounts this Secret as a volume to the labelled resource. -* The TLS certificate stored in the Secret has an expiration time of 12 hours and is -automatically renewed. - -If you don't want to use Keptn Cert Manager, you can instead -use [cert-manager.io](../installation/configuration/cert-manager.md) -for this purpose. diff --git a/docs/docs/components/index.md b/docs/docs/components/index.md deleted file mode 100644 index 99cb248f23..0000000000 --- a/docs/docs/components/index.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -comments: true ---- - -# Components - -## Keptn Components - -Keptn consists of the following main components: - -* [Keptn Lifecycle Operator](./lifecycle-operator/index.md) -* [Keptn Metrics Operator](./metrics-operator.md) -* [Keptn Certificate Manager](./certificate-operator.md) - -The architectural diagram: - -```mermaid -graph TD; - -A[Lifecycle Operator] -B[Metrics Operator] -- provide metrics --> A -C[Cert manager] -- watch certificate --> A -C[Cert manager] -- watch certificate --> B - -style A fill:#d8e6f4,stroke:#fff,stroke-width:px,color:#006bb8 -style B fill:#d8e6f4,stroke:#fff,stroke-width:px,color:#006bb8 -style C fill:#d8e6f4,stroke:#fff,stroke-width:px,color:#006bb8 -``` diff --git a/docs/docs/components/lifecycle-operator/assets/non-blocking-deployment.png b/docs/docs/components/lifecycle-operator/assets/non-blocking-deployment.png deleted file mode 100644 index 7b20d28cf7..0000000000 Binary files a/docs/docs/components/lifecycle-operator/assets/non-blocking-deployment.png and /dev/null differ diff --git a/docs/docs/components/lifecycle-operator/assets/non-blocking-deployment.yaml b/docs/docs/components/lifecycle-operator/assets/non-blocking-deployment.yaml deleted file mode 100644 index b3e352f9b7..0000000000 --- a/docs/docs/components/lifecycle-operator/assets/non-blocking-deployment.yaml +++ /dev/null @@ -1,54 +0,0 @@ -apiVersion: lifecycle.keptn.sh/v1 -kind: KeptnAppVersion -metadata: - name: podtato-head-0.1.0-6b86b273 -spec: - appName: podtato-head - preDeploymentTasks: - - failing-task - revision: 1 - version: 0.1.0 - workloads: - - name: podtato-head-entry - version: 0.1.0 -status: - currentPhase: Completed - postDeploymentEvaluationStatus: Succeeded - postDeploymentStatus: Succeeded - preDeploymentEvaluationStatus: Succeeded - preDeploymentStatus: Warning - preDeploymentTaskStatus: - - definitionName: failing-task - status: Failed - promotionStatus: Succeeded - status: Succeeded - workloadOverallStatus: Succeeded - workloadStatus: - - status: Succeeded - workload: - name: podtato-head-entry - version: 0.1.0 ---- -apiVersion: lifecycle.keptn.sh/v1 -kind: KeptnWorkloadVersion -metadata: - generation: 1 - name: podtato-head-podtato-head-entry-0.1.0 -spec: - app: podtato-head - version: 0.1.0 - workloadName: podtato-head-podtato-head-entry -status: - currentPhase: Completed - deploymentStatus: Succeeded - postDeploymentEvaluationStatus: Succeeded - postDeploymentStatus: Warning - postDeploymentTaskStatus: - - definitionName: failing-task - status: Failed - preDeploymentEvaluationStatus: Succeeded - preDeploymentStatus: Warning - preDeploymentTaskStatus: - - definitionName: failing-task - status: Failed - status: Succeeded diff --git a/docs/docs/components/lifecycle-operator/deployment-flow.md b/docs/docs/components/lifecycle-operator/deployment-flow.md deleted file mode 100644 index c0ea2dbb98..0000000000 --- a/docs/docs/components/lifecycle-operator/deployment-flow.md +++ /dev/null @@ -1,224 +0,0 @@ ---- -comments: true ---- - -# Flow of deployment - -Keptn deploys a -[Kubernetes Workload](https://kubernetes.io/docs/concepts/workloads/) -by passing through a well-defined execution flow. - -The execution flow goes through six main phases: - -* Pre-deployments-tasks -* Pre-deployment-evaluation -* Deployment -* Post-deployment-tasks -* Post-deployment-evaluation -* Promotion -* Completed - -Within each phase, all tasks and evaluations for each phase -are executed in parallel. -They are not affected by the order -in which evaluations and tasks are listed in the -[KeptnAppContext](../../reference/crd-reference/appcontext.md) -resource -or in the order of the pre/post-tasks, pre/post-evaluations, and promotion tasks -that are listed in the Workflow manifests. - -## Kubernetes and Cloud Events - -[Kubernetes Events](https://kubernetes.io/docs/reference/kubernetes-api/cluster-resources/event-v1/) -and [CloudEvents](https://cloudevents.io/) -are emitted at each phase -to provide additional Observability of the execution flow. - -A Kubernetes deployment is started by the deployment engine -that is implemented -(such as Flux or Argo) -or can be started by the following command: - -```shell -kubectl apply -f deployment.yaml -``` - -Keptn does not care how a deployment manifest is applied to the cluster. -Both `kubectl` and Flux/Argo send the manifest to the Kubernetes API -so Keptn does not differentiate the actual deployment options. -This also means that one Keptn Application -can include services that are deployed with different methods. - -The deployment is created -but the created pods are blocked and in pending state -until all the required pre-deployment tasks/evaluations -defined on either the `KeptnApp` or `KeptnWorkload` level pass. -Only then are the pods bound to a node and deployed. -If any pre-deployment evaluation or task fails, -the `KeptnApp` issues an appropriate `*Errored` event -and the deployment remains pending indefinitely, -until further changes or external intervention -either resolve the problem or terminate the execution. -If all evaluations and tasks in a phase are successful, -the `KeptnApp` issues the appropriate `*Succeeded` event -and initiates the next phase. - -> **Note** -This behavior can be changed by configuring non-blocking deployment -functionality. -More information can be found in the -[Keptn non-blocking deployment section](./keptn-non-blocking.md). - -## Summary of deployment flow - -To view these events on your cluster, execute: - -```shell -kubectl get events -n . -``` - -> **Note** -This only displays Kubernetes events, not Cloud Events. - -### Pre-deployment phase - -Pre-deployment tasks can perform any kind of action needed -to prepare for the deployment, including unit tests, load tests or other similar tests. - -```shell -AppPreDeployTasks - AppPreDeployTasksStarted - AppPreDeployTasksSucceeded OR AppPreDeployTasksErrored -``` - -### Pre-deployment evaluation phase - -Pre-deployment evaluation can be used to assert the status of the cluster -or of services the [workload](https://kubernetes.io/docs/concepts/workloads/) depends on, -to assure it is deployed only if the specified prerequisites are met. - -```shell -AppPreDeployEvaluations - AppPreDeployEvaluationsStarted - AppPreDeployEvaluationsSucceeded OR AppPreDeployEvaluationsErrored -``` - -### Deployment phase - -The `AppDeploy` phase basically covers -the entire deployment and check phase of the [workloads](https://kubernetes.io/docs/concepts/workloads/). -The `KeptnApp` just observes whether -all pre and post-deployment tasks/evaluation are successful -and that the pods are deployed successfully. -When all activities are successful, -the `KeptnApp` issues the `AppDeploySucceeded` event -and continues to the next phase. -If any of these activities fail, -the `KeptnApp` issues the `AppDeployErrored` event -and terminates the deployment. - -> **Note** -By default Keptn observes the state of the Kubernetes workloads -for 5 minutes. -After this timeout is exceeded, the deployment phase (from Keptn -viewpoint) is considered as `Failed` and Keptn does not proceed -with post-deployment phases (tasks, evaluations or promotion phase). -This timeout can be modified for the cluster by changing the value -of the `observabilityTimeout` field in the -[KeptnConfig](../../reference/crd-reference/config.md) -resource. - -```shell -AppDeploy - AppDeployStarted - WorkloadPreDeployTasks - WorkloadPreDeployTasksStarted - WorkloadPreDeployTasksSucceeded OR WorkloadPreDeployTasksErrored - WorkloadPreDeployEvaluations - WorkloadPreDeployEvaluationsStarted - WorkloadPreDeployEvaluationsSucceeded OR WorkloadPreDeployErrored - WorkloadDeploy - WorkloadDeployStarted - WorkloadDeploySucceeded OR WorkloadDeployErrored - WorkloadPostDeployTasks - WorkloadPostDeployTasksStarted - WorkloadPostDeployTasksSucceeded OR WorkloadPostDeployTasksErrored - WorkloadPostDeployEvaluations - WorkloadPostDeployEvaluationsStarted - WorkloadPostDeployEvaluationsSucceeded OR WorkloadPostDeployEvaluationsErrored - AppDeploySucceeded OR AppDeployErrored -``` - -### Post-deployment phase - -The post-deployment phase is typically used -to run tests on the freshly deployed application, -such as gathering performance data. - -```shell -AppPostDeployTasks - AppPostDeployTasksStarted - AppPostDeployTasksSucceeded OR AppPostDeployTasksErrored -``` - -### Post-deployment evaluation phase - -The post-deployment evaluation can be used -to analyze the cluster/application status after the new workload is deployed. -The result of this phase does not revert or influence the deployment -but can be used by other external tools, for instance, to react to a failure. - -```shell -AppPostDeployEvaluations - AppPostDeployEvaluationsStarted - AppPostDeployEvaluationsSucceeded OR AppPostDeployEvaluationsErrored -``` - -### Promotion phase - -The promotion phase is typically used -to run promotion tasks -(such as promoting the application to another stage) -on the freshly deployed application. - -```shell -PromotionTasks - PromotionTasksStarted - PromotionTasksSucceeded OR PromotionTasksErrored -``` - -### Completed phase - -```shell -Completed -``` - -## Events that are generated asynchronously - -Additional phases/states exist, -such as those that describe what is currently happening in the system. -During the lifetime of the application, custom resources are created, -updated, deleted or reconciled. -Each reconciliation, or re-evaluation of the state of custom resources -by the controller, can cause the generation of events. -These include: - -```shell -ReconcileEvaluation -ReconcileTask -ReconcileWorkload -CreateEvaluation -CreateTask -CreateApp -CreateAppVersion -CreateWorkload -CreateWorkloadVersion -CreateAppCreationRequest -UpdateWorkload -DeprecateAppVersion -AppCompleted -WorkloadCompleted -Deprecated -Completed -Cancelled -``` diff --git a/docs/docs/components/lifecycle-operator/index.md b/docs/docs/components/lifecycle-operator/index.md deleted file mode 100644 index 5ec1bbccdc..0000000000 --- a/docs/docs/components/lifecycle-operator/index.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -comments: true ---- - -# Keptn Lifecycle Operator - -**Keptn's Lifecycle Operator** is -a Kubernetes [operator](https://kubernetes.io/docs/concepts/extend-kubernetes/operator/) -that automates the deployment and management -of the Keptn components in a Kubernetes cluster. -It plays a crucial role in managing and orchestrating -the various stages of application lifecycle management within -Keptn. - -The lifecycle operator acts as the backbone of Keptn, overseeing the entire application lifecycle from deployment -to testing, evaluation, and observability. -It facilitates a streamlined and automated approach to managing the evolution of applications, ensuring smooth -transitions between different stages such as development, testing, staging, and production. - -```mermaid -graph TD; - -G((CRs + manifests)) -- apply --> H[Kubernetes API] -I[Lifecycle controller] <-- orchestrates --> H -I <-- schedules Pods --> H - - -style H fill:#006bb8,stroke:#fff,stroke-width:px,color:#fff -style I fill:#d8e6f4,stroke:#fff,stroke-width:px,color:#006bb8 -style G fill:#fff,stroke:#123,stroke-width:px,color:#006bb8 -``` - -Key responsibilities of the lifecycle operator include: - -1. **Automated Deployment:** It automates the deployment of applications using various deployment strategies, -such as blue-green deployments or canary releases, ensuring seamless rollouts without disrupting the user experience. - -2. **Continuous Testing:** The operator integrates testing mechanisms throughout the lifecycle, enabling continuous -validation of application changes. -It runs automated tests, assesses performance, and ensures the application meets predefined quality gates -before moving to the next stage. - -3. **Evaluation and Feedback:** It collects metrics and evaluates the performance of deployed applications -against predefined Service Level Objectives (SLOs) and Service Level Indicators (SLIs). -It analyzes this data to provide feedback and insights into the application's health and performance. - -4. **Observability:** It provides observability of the running application out-of-the-box by exposing metrics, -traces and logs. - -5. **State Management and Versioning:** It manages the state and versioning of applications, keeping track of -different versions deployed across various environments and ensuring consistency in the deployment process. - -Overall, the lifecycle operator in Keptn acts as an intelligent control system, orchestrating the flow of -changes and ensuring the reliability, quality, and agility of applications throughout their lifecycle in -a cloud-native environment. -It empowers development teams to focus on innovation by automating repetitive tasks and providing a -standardized, efficient approach to managing complex application lifecycle. diff --git a/docs/docs/components/lifecycle-operator/keptn-apps.md b/docs/docs/components/lifecycle-operator/keptn-apps.md deleted file mode 100644 index b9911b6d4d..0000000000 --- a/docs/docs/components/lifecycle-operator/keptn-apps.md +++ /dev/null @@ -1,149 +0,0 @@ ---- -comments: true ---- - -# KeptnApp and KeptnWorkload resources - -## Keptn Workloads - -A -[KeptnWorkload](../../reference/api-reference/lifecycle/v1/index.md#keptnworkload) -resource augments a Kubernetes -[Workload](https://kubernetes.io/docs/concepts/workloads/) -with the ability to handle extra phases. -It can execute the pre-/post-deployment evaluations of a workload -and run pre-/post-deployment tasks. - -In its state, it tracks the currently active workloads -(`DaemonSet`, `StatefulSet`, or `ReplicaSet` resources), -as well as the overall state of the Pre Deployment phase, -which Keptn can use to determine -whether the pods belonging to a workload -should be created and assigned to a node. -When it detects that the referenced object has reached its desired state -(e.g. all pods of a deployment are up and running), -it knows that a`PostDeploymentCheck` can be triggered. - -The `KeptnWorkload` resources are created automatically -and without delay by the mutating webhook -as soon as the workload manifest is applied. - -> **Note** -By default Keptn observes the state of the Kubernetes workloads -for 5 minutes. -After this timeout is exceeded, the deployment phase (from Keptn -viewpoint) is considered as `Failed` and Keptn does not proceed -with post-deployment phases (tasks, evaluations or promotion phase). -This timeout can be modified for the cluster by changing the value -of the `observabilityTimeout` field in the -[KeptnConfig](../../reference/crd-reference/config.md) -resource. - -## Keptn Applications - -A [KeptnApp](../../reference/crd-reference/app.md) -resource combines multiple Kubernetes -[workloads](https://kubernetes.io/docs/concepts/workloads/) -into a single entity -that represent the application that is published. -Note that the Kubernetes documentation -often refers to workloads as applications, -but each workload actually corresponds to one version -of one deployable microservice, -not the amalgamation of multiple microservices -that typically comprise the released software. - -Implementing Keptn applications provides the following benefits: - -* Observability tools report on the deployment - of all workloads together rather than individually. -* You can define pre-deployment evaluations and tasks - that must all complete successfully - before the Kubernetes scheduler binds the pods to the nodes. - For information about how to disable the blocking - functionality, please refer to - [this section](./keptn-non-blocking.md#keptn-non-blocking-deployment-functionality). -* You can define post-deployment evaluations and tasks - that run only after all the workloads have completed successfully. -* You can define promotion tasks that run only after all the post-deployment - tasks and evaluations have completed successfully. - -You control the content of a `KeptnApp` resource -with annotations or labels that are applied to each -[Workload](https://kubernetes.io/docs/concepts/workloads/) -([Deployments](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/), -[StatefulSets](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/), -and -[DaemonSets](https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/)) -plus specific tasks and evaluations that you define -for the `KeptnApp` resource itself: - -* The annotations described in - [Basic annotations](../../guides/integrate.md#basic-annotations) - are used to automatically generate `KeptnApp` resources - that contain the identifications required - to run the Keptn observability features. -* You must create a `KeptnAppContext` resource - that has the same name and namespace of your `KeptnApp` to define - the evaluations and tasks you want to run pre-/post-deployment. - For more information check [how to create tasks](../../guides/tasks.md/#run-a-task-associated-with-your-entire-keptnapp) - and [how to create evaluations](../../guides/evaluations.md/#create-keptnappcontext-for-app-level-evaluations). - -The `KeptnApp` resources are generated automatically and -contain the identifications required to run the Keptn observability features. -The `spec.workloads.name` and a `spec.workloads.version` fields -are also generated automatically as long as all the workloads you want in your app -are correctly annotated. (See [basic annotations](#how-basic-annotations-are-implemented)) - -By default, the `KeptnApp` resources are updated every 30 seconds -when any of the Workloads have been modified; -The timeout is provided because it may take some time -to apply all `KeptnWorkload` resources to the cluster. -This interval can be modified for the cluster by changing the value -of the `keptnAppCreationRequestTimeoutSeconds` field in the -[KeptnConfig](../../reference/crd-reference/config.md) -resource. - -## How basic annotations are implemented - -The [Basic annotations](../../guides/integrate.md#basic-annotations) -page gives instructions for applying the annotations or labels -that identify the pods that Keptn should manage. - -Three `keptn.sh` and three `app.kubernetes.io` keys are recognized. -They are equivalent; you can use either of them -and they can be implemented as either annotations or labels. -Annotations take precedence over labels, -and the `keptn.sh` keys take precedence over `app.kubernetes.io` keys. -In other words: - -* The operator first checks if the `keptn.sh/*` key is present - in the annotations, and then in the labels. -* If neither is the case, it looks for the `app.kubernetes.io/*` equivalent, - again first in the annotations, then in the labels. - -Keptn automatically generates appropriate -[KeptnApp](../../reference/crd-reference/app.md) -resources that are used for observability, -based on whether the `keptn.sh/app` or `app.kubernetes.io/part-of` -annotation/label is populated: - -* If either of these labels/annotations are populated, - Keptn automatically generates a `KeptnApp` resource - that includes all workloads that have the same annotation/label, - thus creating a `KeptnApp` resource for each defined grouping - -* If only the `workload` and `version` annotations/labels are available - (in other words, neither the `keptn.sh/app` - or `app.kubernetes.io/part-of` annotation/label is populated), - one `KeptnApp` resource is created automatically for each workload. - -> **Note**: Keptn application discovery determines the name of the `KeptnWorkload` - by concatenating the values of the `app.kubernetes.io/name` (or `keptn.sh/workload`) - and `app.kubernetes.io/part-of` (or `keptn.sh/app`) annotations. - This means that when only workload and version annotations/labels are provided — without - the `keptn.sh/app` or `app.kubernetes.io/part-of` annotation — Keptn creates a `KeptnApp` - resource for each `KeptnWorkload`. - Consequently, observability traces will capture individual `KeptnWorkload` - resources, but they will not represent the combined workloads that make up the complete - deployed application. diff --git a/docs/docs/components/lifecycle-operator/keptn-non-blocking.md b/docs/docs/components/lifecycle-operator/keptn-non-blocking.md deleted file mode 100644 index ebed1356b8..0000000000 --- a/docs/docs/components/lifecycle-operator/keptn-non-blocking.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -comments: true ---- - -# Keptn non-blocking deployment functionality - -Keptn provides an option to disable the default deployment blocking functionality -when pre-deployment tasks or evaluations (on KeptnApp or KeptnWorkload level) fail. -By populating a [KeptnConfig](../../reference/crd-reference/config.md) resource and -setting the `.spec.blockDeployment` parameter to `false`, the blocking -behavior for Keptn is disabled and therefore all applications are deployed -to the cluster even if the pre-deployment tasks or evaluations fail. - -This behavior is valuable if you want to execute a dry-run of the -tasks/evaluations for the application but have your application deployed -to the cluster regardless of the results of the pre-checks. - -If the checks of the application fail, the state of the deployment phase -is marked as `Warning` and you are can inspect which -of the checks has failed. - -```yaml -{% include "./assets/non-blocking-deployment.yaml" %} -``` - -Additionally, you are still able -to inspect the traces of your application deployment. -The failed checks are marked and visible in the traces. - -![non-blocking-deployment-trace](./assets/non-blocking-deployment.png) diff --git a/docs/docs/components/lifecycle-operator/webhook.md b/docs/docs/components/lifecycle-operator/webhook.md deleted file mode 100644 index 14c38dc219..0000000000 --- a/docs/docs/components/lifecycle-operator/webhook.md +++ /dev/null @@ -1,74 +0,0 @@ ---- -comments: true ---- - -# Mutating Webhook - -Keptn uses -[Admission Webhooks](https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/#what-are-admission-webhooks) -to mutate resources. -To enable the webhook (and therefore Keptn Lifecycle Management) -for a certain namespace, the namespace must be annotated: - -```yaml -apiVersion: v1 -kind: Namespace -metadata: - name: podtato-kubectl - annotations: - keptn.sh/lifecycle-toolkit: "enabled" # this line tells the webhook to handle the namespace -``` - -The mutating webhook only modifies specifically annotated resources in the annotated namespace. -When the webhook receives a request for a new pod, it adds the -[Scheduling Gate](https://keptn.sh/stable/docs/components/scheduling/#keptn-scheduling-gates). - -In the next step it looks for the workload annotations: - -```yaml -keptn.sh/workload: "some-workload-name" -keptn.sh/version: "some-workload-version" -``` - -If the `keptn.sh/version` annotation is missing, the webhook computes a version string, -using a hash function that takes certain properties of the pod as parameters -(e.g. the images of its containers). -Next, it looks for an existing instance of a `KeptnWorkload` -for the specified workload name: - -- If it finds the `KeptnWorkload`, - it updates its version according to the previously computed version string. - In addition, it includes a reference to the ReplicaSet UID of the pod - (i.e. the Pods owner). -- If it does not find a workload instance, - it creates one containing the previously computed version string. - -Afterwards the webhook looks for the application annotation: - -```yaml -keptn.sh/app: "your-app-name" -``` - -The webhook searches for the `KeptnAppCreationRequest` resource with the name stored in the `keptn.sh/app` -annotations. -If it doesn't find it, it creates it and the automatic creation of the `KeptnApp` is afterwards -handled by the `KeptnAppCreationRequest Controller`. - -The `keptn.sh/app` annotation is not mandatory for single-service applications. -If you have a multi-service application, you must add it to all workloads -to define which workloads belong to the application. - -The Pod can also contain information about the definition of pre or -post-deployment tasks or evaluations for each workload. -These are specified via these annotations: - -- `keptn.sh/pre-deployment-tasks: task1,task2` -- `keptn.sh/post-deployment-tasks: task1,task2` - -and for the Evaluations: - -- `keptn.sh/pre-deployment-evaluations: my-evaluation-definition` -- `keptn.sh/post-deployment-evaluations: my-eval-definition` - -The lists of tasks or evaluations are parsed and stored in the `KeptnWorkload` -resource created in the previous steps. diff --git a/docs/docs/components/metrics-operator.md b/docs/docs/components/metrics-operator.md deleted file mode 100644 index 3ceabc9ede..0000000000 --- a/docs/docs/components/metrics-operator.md +++ /dev/null @@ -1,107 +0,0 @@ ---- -comments: true ---- - -# Keptn Metrics Operator - -The Keptn Metrics Operator collects, processes, -and analyzes metrics data from a variety of sources. -Once collected, this data can be used -to generate a variety of reports and dashboards -that provide insights into the health and performance -of the application and infrastructure. - -While Kubernetes has ways to extend its metrics APIs, there are limitations, -especially that they allow you to use only a single observability platform -such as Prometheus, Thanos, Cortex, Dynatrace, Elastic or Datadog. -The Keptn Metrics Operator solves this problem -by providing a single entry point for -all your metrics data, regardless of its source. -This means that data multiple observability platforms are available via -a single access point. - -Keptn metrics are integrated with the Kubernetes -[Custom Metrics API](https://github.com/kubernetes/metrics#custom-metrics-api), -so they are compatible with the Kubernetes -[HorizontalPodAutoscaler](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) -(HPA), which enables the horizontal scaling of workloads -based on metrics collected from observability platforms. -See -[Using the HorizontalPodAutoscaler](../use-cases/hpa.md) -for instructions. - -The Metrics Operator consists of the following components: - -* Metrics Controller -* Analysis Controller -* Metrics Adapter - -```mermaid -graph TD; -K((CRs)) -- apply --> L[Kubernetes API] -X[Metrics Adapter] <--> L -Y[Metrics Controller] <--> L -Z[Analysis Controller] <--> L - -P3(()) -P1[] <--> Y -P3 <--> Y -P3 <--> Z -P2[] <--> Z - -style L fill:#006bb8,stroke:#fff,stroke-width:px,color:#fff -style Y fill:#d8e6f4,stroke:#fff,stroke-width:px,color:#006bb8 -style Z fill:#d8e6f4,stroke:#fff,stroke-width:px,color:#006bb8 -style X fill:#d8e6f4,stroke:#fff,stroke-width:px,color:#006bb8 -style K fill:#fff,stroke:#123,stroke-width:px,color:#006bb8 -style P1 fill:#fff,stroke:#fff,stroke-width:px,color:#fff -style P2 fill:#fff,stroke:#fff,stroke-width:px,color:#fff -style P3 fill:#fff,stroke:#fff,stroke-width:px,color:#fff -``` - -The **Metrics adapter** exposes custom metrics from an application -to external monitoring and alerting tools. -The adapter exposes custom metrics on a specific endpoint -where external monitoring and alerting tools can scrape them. -It is an important component of the metrics operator -as it allows for the collection and exposure of custom metrics, -which can be used to gain insight into the behavior and performance -of applications running on a Kubernetes cluster. - -The **Metrics controller** fetches metrics from an SLI provider. -The controller reconciles a [`KeptnMetric`](../reference/crd-reference/metric.md) -resource and updates its status with the metric value -provided by the selected metric provider. -Each `KeptnMetric` is identified by `name` -and is associated with an instance of an observability platform -that is defined in a -[KeptnMetricsProvider](../reference/crd-reference/metricsprovider.md) -resource. - -The steps in which the controller fetches metrics are given below: - -1. When a [`KeptnMetric`](../reference/crd-reference/metric.md) - resource is found or modified, - the controller checks whether the metric has been updated - within the interval that is defined in the `spec.fetchintervalseconds` field. - * If not, it skips the reconciliation process - and queues the request for later. - -2. The controller attempts to fetch the provider defined in the - `spec.provider.name` field. - * If this is not possible, the controller reconciles - and queues the request for later. - -3. If the provider is found, - the controller loads the provider and evaluates the query - defined in the `spec.query` field. - * If the evaluation is successful, - it stores the fetched value - in the `status` field of the `KeptnMetric` object. - * If the evaluation fails, - the error and reason is written to the - [KeptnMetricStatus](../reference/api-reference/metrics/v1/index.md#keptnmetricstatus) - resource. - The error is described in both human-readable language - and as raw data to help identify the source of the problem - (such as a forbidden code). diff --git a/docs/docs/components/scheduling.md b/docs/docs/components/scheduling.md deleted file mode 100644 index 659c05fe51..0000000000 --- a/docs/docs/components/scheduling.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -comments: true ---- - -# Keptn integration with Scheduling - -Keptn integrates with Kubernetes scheduling to block -the deployment of applications that do not satisfy Keptn defined pre-deployment checks. -The default scheduling paradigm is implemented using -[Kubernetes scheduling gates](https://kubernetes.io/docs/concepts/scheduling-eviction/pod-scheduling-readiness/) -to gate Pods until the required deployment checks pass. - -## Keptn Scheduling Gates - -When a workload is applied to a Kubernetes cluster, -the Mutating Webhook checks each Pod for annotations. -If -[Keptn specific annotations](../guides/integrate.md#basic-annotations) -are present, -the Webhook adds a scheduling gate to the Pod called `keptn-prechecks-gate`. -This spec tells the Kubernetes scheduling framework -to wait for the Keptn checks before binding the pod to a node. - -For example, a pod gated by Keptn looks like the following: - -```yaml -{% include "./assets/gated.yaml" %} -``` - -If the `pre-deployment` checks and evaluations have finished successfully, -the WorkloadVersion Controller removes the gate from the Pod. -The default k8s scheduler then binds the Pod to a node. -If the `pre-deployment` checks have not yet finished successfully, -the gate stays and the Pod remains in the pending state. -When removing the gate, -the WorkloadVersion controller also adds the following annotation so that, -if the Pod is updated, it is not gated again: - -```yaml -{% include "./assets/gate-removed.yaml" %} -``` - -## Integrating Keptn with your custom scheduler - -Keptn scheduling logics are compatible with -the [Kubernetes Scheduler Framework](https://kubernetes.io/docs/concepts/scheduling-eviction/scheduling-framework/). -Keptn does not work with a custom scheduler unless it is implemented as -a [scheduler plugin](https://kubernetes.io/docs/concepts/scheduling-eviction/scheduling-framework/#plugin-configuration). diff --git a/docs/docs/contribute/docs/assets/yaml-crd-ref-template.md b/docs/docs/contribute/docs/assets/yaml-crd-ref-template.md deleted file mode 100644 index 8ad998c0bf..0000000000 --- a/docs/docs/contribute/docs/assets/yaml-crd-ref-template.md +++ /dev/null @@ -1,66 +0,0 @@ ---- -comments: true ---- - -# CRD name - -Copy this template to create a new CRD reference page. - -1. Replace the variable text in metadata with information for this page -1. Delete these instructions from your file -1. Populate the page with appropriate content - -## Synopsis - -```yaml -apiVersion: -kind: -metadata: - name: -spec: - ... -``` - -## Fields - - - - - - - - - - - - - - - -Fields should be clearly marked as to whether they are -required or optional. -If they are optional, -text should explain the behavior when that field is not populated. - -## Usage - - - - -## Examples - -Include code snippets that illustrate -how this resource is populated. -Code examples should use be embedded links to example source code -so that they will be updated automatically when changes are made to the example. - -## Files - -* Link to subsection for this resource in the "API Reference" - -## Differences between versions - -## See also - -* Links to related reference pages -* Links to related User Guides and other documentation diff --git a/docs/docs/contribute/docs/blog.md b/docs/docs/contribute/docs/blog.md deleted file mode 100644 index 8c91f43441..0000000000 --- a/docs/docs/contribute/docs/blog.md +++ /dev/null @@ -1,215 +0,0 @@ ---- -comments: true ---- - -# Blogs - -Blog posts are authored in markdown, -submitted and reviewed as PRs, -published as part of the web site, -and built using the same tools and GitHub practices -as other documentation. -However, you must take a few additional steps when writing a blog post. - -Keptn uses the -[blog plugin from mkdocs-material](https://squidfunk.github.io/mkdocs-material/setup/setting-up-a-blog/) -to manage the blog infrastructure. -To integrate your post with the blog plugin, -you must also do the following: - -* Create an entry in the `docs/blog/.authors.yml` file if - you're not in it already. - -* You can use any identifier for yourself - in the `docs/blog/.authors.yml` file, but it - must be added to the `.github/actions/spelling/expect.txt` file - so that the spell checker knows about it. - -* Blog source is added to the `docs/blog/posts` directory. - Individual blog posts are not listed in the `mkdocs.yml` file - like other documentation. - Instead, the blog plugin manages integration of all blog posts - in the `blogs` directory. - -* Additional metadata is required as part of the blog post file's front matter. - -Each of these requirements is discussed on this page. - -## Populate docs/blog/.authors.yml file - -The value of the `authors:` field in the blog post's front matter -links to an entry in the `docs/blog/.authors.yml` file. -The blog plugin uses this information to render author information -on the blog pages. - -The basic fields that we require are documented here. -For information about additional fields that are available, see the mkdocs-material -[authors_file](https://squidfunk.github.io/mkdocs-material/plugins/blog/#authors). - -```yaml -authors: - ... - : - name: - description: - avatar: - url: -``` - -### authors.yml fields - -* **author-identifier** -- This is some unique string used to reference the author in blog posts. - It serves as a key for the record. - * **name:** -- Your first and last name - as it should appear in the blog post - * **description:** Your role as it should appear in the blog post. - For example, "Keptn Maintainer", "Keptn Contributor", "Keptn User", - your role in another project or title at a company - with the name of the project or company. - * **avatar:** URL for the picture to use in blog posts. - To use the same picture you use on GitHub, - open the image in a new tab and use the URL displayed in the address bar. - * **url:** -- URL to your page or GitHub profile. - -### authors.yml example - -```yaml -authors: - ... - sampleuser: - name: Sample User - description: Senior Software Developer, Example, Inc. - avatar: https://avatars.githubusercontent.com/u/... - url: https://github.com/sampleuser -``` - -## Update spelling/expect.txt file with your ID - -The spell checker will probably flag your `author-identifier` as an unrecognized word. -You can manually add this string to the -`.github/actions/spelling/expect.txt` file -as part of your PR, -although the easiest way to handle this is to push your PR -then resolve the error as discussed on the -[Spell Checker](spell-check.md) -page. - -## Blog post source code - -Your blog post should be developed using the standard Git -flow documented in -[Working with Git](../general/git/index.md). -When you have created a local branch: - -* Create a .md file in the `docs/blog/posts` directory. - Give the file a meaningful name; - remember that many people from different organizations - may be contributing to this directory. - - You do not need to modify the `mkdocs.yml` file for your blog. - -* If your blog has graphics, screen shots, YAML files, etc. - that will be included, - create a subdirectory that has the same name - as the name of your .md file. - For example, if your source file is named `myblog.md` - (which is not actually detailed enough to be a good file name), - you need to create a `myblog` subdirectory. - Then put any assets you want to reference in that newly - created subdirectory. - -* Follow the instructions in - [Blog front matter](#blog-front-matter) - to provide the metadata required by the blog plugin. - -* All text before the `` comment is the introduction to your article - and also the abstract that is displayed on the "Blogs" landing page. - -Other coding notes for blogs: - -* Blog posts are considered part of the MkDocs NAV path. - This means that: - - * Use the practices documented in - [External links and internal cross-references](code-docs.md/#external-links-and-internal-cross-references) - for your blog. - * You can use a local build to render your blog locally as you write. - See - [Build documentation locally](local-building.md) - for details. - * The `readthedocs.build` preview associated with your PR - contains the rendered version of your blog - so that you and your reviewers can see it. - -## Blog front matter - -The blog plugin requires some information to manage the blog. -This is specified as part of the file's metadata. -Here we document the fields that are required. -Additional fields can be added; see the -[blog plugin documentation](https://squidfunk.github.io/mkdocs-material/setup/setting-up-a-blog/#writing-your-first-post) -for more information. - -```markdown ---- -date: YYYY-MM-DD -authors: [, ...] -description: > - -categories: - - - - - - ... -comments: true ---- - -# -Text that serves as abstract and introduction to your article. -It can be multiple paragraphs. - -``` - -### Blog front matter fields - -* **date** -- Date when blog was most recently posted. - This can also be in the future. - Then, the blog post will be hidden until the date is reached. -* **authors** -- Author(s) of this blog, - identified by the author identifier that is used as the key - in the `docs/blog/.authors.yml` file. - This is used to generate the author information - that is displayed. -* **description: >** -- Brief description -* **categories:** -- Keywords used to generate entries in the "Categories" - section of the "Blogs" landing page. - Set as many categories as appropriate and use reasonable terminology. - If an existing category matches a category you want for your blog post, - be sure to match that terminology exactly. - For example, "Installation" is an existing category - so it would be inappropriate to define "Installing" as a category. -* **comments: true** - -Use a Level 1 header (`#`) for the title that is displayed -for your blog post. - -### Front matter example - -```markdown ---- -date: 2024-02-01 -authors: [sampleuser] -description: > - This blog details how to integrate Keptn with MyTool. -categories: - - SRE - - Analysis - - MyTool -comments: true ---- - -# Using Keptn with MyTool -Keptn can be used with MyTool to make life better. -In this post, we describe how to implement this -and give guidelines for how to get the best results. - -``` diff --git a/docs/docs/contribute/docs/code-docs.md b/docs/docs/contribute/docs/code-docs.md deleted file mode 100644 index 1e26462caf..0000000000 --- a/docs/docs/contribute/docs/code-docs.md +++ /dev/null @@ -1,264 +0,0 @@ ---- -comments: true ---- - -# Coding the docs - -Keptn documentation is written using the Markdown language, -with each page written in a separate file. -The following documents document the language: - -* [Markdown Guide](https://www.markdownguide.org/getting-started/#flavors-of-markdown) - discusses Markdown structure and background. -* [Basic Syntax](https://www.markdownguide.org/basic-syntax/) - summarizes the standard Markdown syntax - that is supported by almost all Markdown variants. -* [Markdown Cheat Sheet](https://www.markdownguide.org/cheat-sheet/) - is a handy reference for the most commonly used Markdown elements. - -Markdown supports many variants and the build tools we use -impose a few special requirements that are discussed here. - -## Front matter requirements - -The top of each documentation source file should look like: - -```markdown ---- -comments: true ---- - -# Coding the docs - -Beginning of information about the topic. - -``` - -The elements are: - -* The `comments` block. - This allows readers to post comments to the published page. - More configuration can be put here depending on the requirements - for the page. - -* A level 1 header (`# title`) with the title of the page - as it is displayed in the main canvas of the docs.. - This must be preceded and followed by a single blank line. - - The title displayed in the left sidebar - is determined by the title in the `mkdocs.yml` file. - Be sure that these two titles match. - -* Text that introduces the information for the page. - Do not use stacked headers, with a level 2 header (`## title`) - immediately following the level 1 header. - -## Comments - -To comment a line in the documentation, you can use -standard HTML comments. -Prepend the `` -as in: - -```markdown - -``` - -## Displaying sample files - -Most Keptn configuration is implemented as YAML files -that define a resource -so displaying an example file is very useful. -However, the file content should not be put directly into your doc source. -Instead, the sample file is put into an `assets` directory -and then "included" in your file. -This keeps the documentation source cleaner -and enables us to run tests to ensure that the YAML file is valid -as Keptn evolves. - -To implement this: - -1. Either identify the file you want to include - in the `assets` directory next to your documentation file - or create your sample YAML file in that tree, - giving it an appropriate name, including the `.yaml` suffix. - -2. Use the `include ` shortcode - to include this file in your documentation source inside a code block. - For example: - - ```md - {% /* include "../../assets/crd/python-libs.yaml" %} - ``` - -## Indentation of nested lists and code blocks - -Paragraphs and code blocks that are nested under a list item -must be indented two spaces from the text of the list item. -If they are not, -the indented material is rendered as flush-left -and ordered lists do not increment the list item number correctly. - -For example, the formatting of the bullet list in the preceding section is: - -```markdown -* This is the first list item. - With a second sentence in the same paragraph. - -* This is the second list item. - - With a second paragraph that is still part of the - same list item. - -* This is the third list item. -``` - -Code blocks must be indented in the same way. - -## External links and internal cross-references - -Use the standard Markdown conventions for links: - -```markdown -[display-string](target-link) -``` - -The syntax of the `target-link` is different -for external links and internal documentation cross-references. - -We recommend putting the link code on a separate line in the source code. -The markdownlint tool limits the number of characters on a line. -Links are exempt from this check -but markdownlint fails the line if it includes text before or after the link. -This is not absolutely necessary if the link target is short -but this convention prevents problems. - -### External links to and from documentation - -Links to and from the documentation set -from outside the `NAV` path defined in the `mkdocs.yml` file -use the full URL as displayed in the browser address bar -for the page for the `target-link`. - -This syntax is used for: - -* Links from a documentation page to an external page -* Links **to** files in the same repository as the documentation source - but outside the documentation `NAV` path -* Links **from** files in the same repository as the documentation source - but outside the documentation `NAV` path, - such as `README.md` and `CONTRIBUTING.md` files - - Links using a relative path to files outside the `NAV` path - resolve correctly but the targeted documentation page - does not include the contents block in the left frame. - -An example of the coding for an external link is: - -```markdown -The Kubernetes -[Pod](https://kubernetes.io/docs/concepts/workloads/pods/) -documentation -``` - -### Internal cross references in the documentation set - -Internal cross-references between pages in the documentation set -(which is the documentation `NAV` path as defined in the `mkdocs.yml` file) -use a `target-link` that is a modified version -of the URL displayed for the page in the rendered documentation. - -We suggest that you copy/paste the portion of the URL -that follows `docs/docs` as the base for your `target-link`. -You must then make the following modifications: - -* Specify the path name of the targeted file - relative to `docs/docs` directory - using the shell convention where `../` represents - the parent directory -* Add the `.md` suffix to the file name -* Remove the trailing / from the string -* When referencing a sub-section of a page, - remove the `/` character between the page tag - and the `#` character that tags the referenced subsection. -* When referencing a section of the docs, - add the `index.md` filename to the path - -Some examples may clarify this. - -#### Cross reference a file in another directory - -The full URL for the `Analysis` CRD reference page is: - -```markdown -https://keptn.sh/stable/docs/reference/crd-reference/analysis/ -``` - -To cross-reference this page -from any page in the `docs/guide` directory -(or other pages at that level), the code is: - -```markdown -See the -[Analysis](../reference/crd-reference/analysis.md) -CRD reference page. -``` - -To form this cross-reference:: - -* Copy/paste the part of the URL after `docs` as a base -* Insert `../` to go up one directory from `guides` to `docs`, - before the path that goes down the `reference/crd-reference` path - to identify the file -* Add the `.md` suffix to `Analysis` to form the actual source file name. -* Remove the trailing `/` of the URL - -#### Cross-reference a sub-section of another page - -To get a link to the `Examples` subsection of the `Analysis` reference page, -view the page in your browser and select `Examples` -from the contents listing in the right frame. -This gives you the following URL: - -```markdown -https://keptn.sh/stable/docs/reference/crd-reference/analysis/#examples -``` - -To link to that sub-section, the code is: - -```markdown -See -[Examples](../reference/crd-reference/analysis.md#examples) -``` - -You see that the `/` in the URL before `#examples` has been removed. - -#### Cross-reference another file in the same directory - -Another CRD reference page (which is in the same directory) -can reference the `Analysis` reference page -like this: - -```markdown -[Analysis](analysis.md) -``` - -#### Cross-reference another section - -The URL of the `Installation` section is: - -```markdown -https://keptn.sh/stable/docs/installation/ -``` - -To cross-reference this section from a file in the `guides` section -(or other file at that level), -use the relative file to the directory -and specify the `index.md` file for the section: - -```markdown -Follow the instructions in the -[Installation](installation/index.md) -section. -``` diff --git a/docs/docs/contribute/docs/contrib-guidelines-docs.md b/docs/docs/contribute/docs/contrib-guidelines-docs.md deleted file mode 100644 index af7f97eb48..0000000000 --- a/docs/docs/contribute/docs/contrib-guidelines-docs.md +++ /dev/null @@ -1,93 +0,0 @@ ---- -comments: true ---- - -# Contribution guidelines for documentation - -The [Contribution Guidelines](../general/contrib-guidelines-gen.md) page -contains guidelines that are relevant -for both documentation and software contributions. - -This page lists additional guidelines -that are relevant only to documentation. - -## Guidelines for contributing - -* Keep your language clean and crisp. - We do not have an official *Style Guide* for Keptn but the - [Google developer documentation style guide](https://developers.google.com/style) - is a good general reference. - -* Use topic sentences for sections and paragraphs. - When reading a well-written technical document, - you should be able to read the first sentence in each paragraph - and especially in each section to get an idea of what might follow. - - Good oral presentations commonly begin with a "set-up" - where they describe a problem - and then proceed to tell how to fix that problem. - When using oral presentations as source material, - it is important to rewrite the text - so that the actual subject of discussion comes first. - -* Avoid using FAQ's in documentation. - In general, they say "here is some miscellaneous information - that I was too lazy to organize logically for you." - On rare occasions, they may be appropriate, - such as if you need a quick reference to a large, complicated document - and include links to detailed documentation about the topic. - -* We are attempting to avoid duplicated information across the doc set, - especially for information that is expected to change. - For example, information about supported Kubernetes versions - and the command sequence to install Keptn should usually be done - as references to the official installation section of the docs. - - For usability considerations, we have a few exceptions to this rule - for the main `README.md` file and the exercises in the - [Get Started](../../getting-started/index.md) - section. - -* When you want to display a sample file that exists in the repository, - use the `include ` shortcode syntax - (which automatically pulls the current version of the file into your document) - rather than copying the text. - See - [Displaying sample files](code-docs.md/#comments) - for details. - -* `markdownlint` enforces limits on line length. - Links to other documents are exempted from this limit - but, if a line has words before and after the long string, - `markdownlint` fails. - A good practice is to just put all links on their own line. - So, instead of coding: - - ```md - The [Other section](long-link-to-section) page - ``` - - you should code the following, - unless the link is so short - that you are sure it will not violate the line-length rules: - - ```md - The - [Other section](long-link-to-section) - page - ``` - -* Always build the documentation locally to check the formatting - and verify that all links are working properly. - See [Build Documentation Locally](./local-building.md) - for details. - -* Always run the following to fix most markdown issues in your PR - and identify issues that can not be fixed automatically: - - ```shell - make markdownlint-fix - ``` - - See [markdownlint](./markdownlint.md) - for details. diff --git a/docs/docs/contribute/docs/index.md b/docs/docs/contribute/docs/index.md deleted file mode 100644 index 00b7de616a..0000000000 --- a/docs/docs/contribute/docs/index.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -comments: true ---- - -# Documentation contributions - -Keptn documentation source is stored in the same repository -as Keptn software and test code -and is developed using the same practices used for software -and described in the -[General information](../general/index.md) section -of this *Contributing Guide*. - -The pages in this section augment the "General" information -with information that is specific to the documentation: - -- [Contribution guidelines for documentation](contrib-guidelines-docs.md) - augments the general - [Contribution Guidelines](../general/contrib-guidelines-gen.md) - with guidelines that are only relevant to documentation. -- [Build Documentation Locally](local-building.md) - tells how to build the documentation locally - so you can check the formatting, readability, and links - in your local branch before you push the new content. -- [Markdownlint](markdownlint.md) provides information - about the linter we use to check the quality of the coding - in all `.md` files in the repository. -- [Source file structure](source-file-structure.md) - describes the sections of the documentation - and how the structure of the published documentation is defined. -- [Coding the docs](code-docs.md) gives some hints - about the markdown practices used for the Keptn documentation. -- [Spell checker](spell-check.md) describes the spell checker we use - and gives instructions for resolving errors it finds. -- [Blogs](blog.md) explains the extra steps required - to contribute a blog to the Keptn page. -- [Published doc structure](publish.md) explains - the branches (`stable` and `latest`) for the published documentation. -- [Word list](word-list.md) provides some information about the proper - use of Keptn and Kubernetes terms in the documentation - as well as links to other documents with more comprehensive word lists. diff --git a/docs/docs/contribute/docs/local-building.md b/docs/docs/contribute/docs/local-building.md deleted file mode 100644 index 69c8b60e93..0000000000 --- a/docs/docs/contribute/docs/local-building.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -comments: true ---- - -# Build Documentation Locally - -You can run MkDocs locally so that you can view the formatted version -of what you are writing before you push it to GitHub. -We provide a MkDocs run environment in a Docker container, -which simplifies the setup -and makes it easier to upgrade your local build environment -as the software is updated. - -To set up a local MkDocs build: - -1. Install Docker Desktop: - - * [Install on macOS](https://docs.docker.com/desktop/install/mac-install/) - * [Install on Linux](https://docs.docker.com/desktop/install/linux-install/) - * [Install on Windows](https://docs.docker.com/desktop/install/windows-install/) - -1. Execute the following command from the root of your clone: - - ```shell - make docs-serve - ``` - - It will continue running in its own shell. - - > **Note** - To utilize the `Makefile`, you must have GNU **make** - available on your local machine. - Versions are available for all the usual operating systems. - -1. Start contributing! -Note that MkDocs updates the rendered documentation each time you write the file. - -1. Enter the following in a browser to view the website: - - `http://localhost:8000` - -1. Use Ctrl+C to stop the local MkDocs server when you are done. - -1. To restart the continuous build, run `make docs-serve` again. diff --git a/docs/docs/contribute/docs/markdownlint.md b/docs/docs/contribute/docs/markdownlint.md deleted file mode 100644 index 7eec3e0be9..0000000000 --- a/docs/docs/contribute/docs/markdownlint.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -comments: true ---- - -# Markdownlint - -Keptn uses -[markdownlint](https://github.com/DavidAnson/markdownlint) -to ensure consistent styling within all our markdown files, -including files outside the documentation NAV path -such as `README.md` files.. -Specifically, we are using -[markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli). - -This page tells how to use markdownlint. - -> -We use `GNU make` to ensure the same functionality locally and within our CI builds. -This allows easier debugging and problem resolution. - -## Markdownlint execution - -To verify that your markdown code conforms to the rules, -run the following on your local branch: - -```shell -make markdownlint -``` - -Markdown includes an auto-fix option that you can run on your local branch -to resolve many issues such as extra spaces -and notify you of errors it can not fix automatically. -You should always run this command before pushing a commit -and resolve any errors it reports. - -To use the auto-fix option, run: - -```shell -make markdownlint-fix -``` - -## Markdownlint configuration - -We use the default configuration values for `markdownlint`. - -This means: - -[.markdownlint-cli2.yaml](https://github.com/keptn/lifecycle-toolkit/blob/main/.markdownlint-cli2.yaml) -contains the rule configuration - -We use the default values, so tools like -[markdownlint for VSCode](https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint) -can be used without additional configuration. diff --git a/docs/docs/contribute/docs/publish.md b/docs/docs/contribute/docs/publish.md deleted file mode 100644 index dd4484eb3a..0000000000 --- a/docs/docs/contribute/docs/publish.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -comments: true ---- - -# Published doc structure - -New writing goes to the `main` branch and can be viewed on the Keptn website under the `latest` version. -We have staging and production levels for our documentation which are as follows: - -* **Stable:** official documentation of the current Keptn release - * [link](https://keptn.sh/latest/): This is the build of the latest `keptn-*` Git tag. - -* **Latest:** documentation being staged for the next Keptn release - * [link](https://keptn.sh/latest/): This is the latest build of the `main` branch. - -Let's take a look what happens when your changes are merged in `main`. - -## Stable - Official documentation (Production) - -This set of documentation pertains to the most recent stable Keptn release and resides within the -latest `keptn-*` tagged commit on GitHub. -When a new version of Keptn is released, the contents of the `main` branch are published as -the new `stable` release documentation. - -* build: on each release of Keptn (`keptn-*` Git tag) - -A new version is generated when we push a new `keptn-*` tag to the GitHub repository through the -[release pipeline](https://github.com/keptn/lifecycle-toolkit/tree/main/.github/workflows/release.yml). -This means, that the content of the old Keptn tag will be replaced by the newly released version -that was tagged on the `main` branch. - -## Latest - Development documentation (Staging) - -This page contains the documentation being staged for the next Keptn release. -It contains information about new and changed features and functionality -as well as general documentation improvements. -It is built regularly and can be easily accessed from the version dropdown menu on the documentation site. - -* build: on each push to `main` - -This version represents the pre-release iteration of the documentation for the upcoming Keptn release. - -## Previous Versions - -Keptn documentation is versioned but only the documentation for the current stable release of Keptn is published. -By default, the version for the current Keptn release -is displayed on the documentation page. diff --git a/docs/docs/contribute/docs/source-file-structure.md b/docs/docs/contribute/docs/source-file-structure.md deleted file mode 100644 index 23b9a86413..0000000000 --- a/docs/docs/contribute/docs/source-file-structure.md +++ /dev/null @@ -1,181 +0,0 @@ ---- -comments: true ---- - -# Source file structure - -The source files for the Keptn documentation -are stored in the same GitHub repository as the source code for the software. -This page explains how the documentation source files are organized. - -## Specifying the doc structure - -The documentation builds are controlled by the -[mkdocs.yml](https://github.com/keptn/lifecycle-toolkit/blob/main/mkdocs.yml) -file in the root directory of the Keptn repository. -The documentation structure is defined under the `nav` section. -The following snippet illustrates how this is structured: - -```yaml -... -nav: - - Home: - - index.md - - Documentation: - - docs/index.md - ... - - Use Cases: - - docs/use-cases/index.md - - Day 2 Operations: docs/use-cases/day-2-operations.md - - Keptn + HorizontalPodAutoscaler: docs/use-cases/hpa.md - - Keptn for non-Kubernetes deployments: docs/use-cases/non-k8s.md - ... -``` - -* The first level of the `nav:` section defines the tabs in the header bar of the page. -* All nested items define sub-pages and their child pages inside the tabs. -* The `Documentation` item defines the "Documentation" tab. -* Each subitem to `Documentation` is a section of the docs - as displayed in the left frame. -* Under each section are the individual pages, - listed in the order they are displayed in the left frame. - Each page line shows the title of the page - that will be displayed in the left frame - and the path to the source file. - - Note that the page title displayed in the main canvas - is defined by the value of the H1 header in the page source file. - When creating a new page or modifying the title, - it is important to ensure that the title in the page source - and the title in the `mkdocs.yml` file match. - -> **Note** After adding a new page to the `mkdocs.yml` file, -> you must stop and restart your local doc build -> (make docs-serve) -> before the new page shows in your local build. - -## Primary documentation set - -The source for the -[Keptn](https://lifecycle.keptn.sh/docs) -documentation is stored under -the `docs/docs` directory in the repository. - -The subdirectories with content are: - -* `assets`: This folder is used to save assets such as code examples that are used throughout the documentation. - Many subfolders also contain an `assets` folder, - usually containing graphics files (.png, .jpg, etc) - to keep such files closer to the content where they are referenced. -* `components`: Information about how the different subcomponents of Keptn work -* `contribute`: Contains information on how to contribute software, tests, and documentation to Keptn -* `core-concepts`: A brief overview of Keptn, its features and use cases, and its history -* `getting-started`: Hands-on exercises that demonstrate the capabilities of Keptn -* `guides`: Guides and how-to material about using Keptn features -* `installation`: Requirements and instructions for installing and enabling Keptn -* `migrate`: Information to help users who are migrating to Keptn from Keptn v1 -* `reference`: Reference pages for the CRDs and APIs that Keptn provides -* `use-cases`: Examples and exercises of using Keptn in specific scenarios - -### Working with reference pages - -The Keptn documentation includes two reference sections -that document the Keptn APIs and CRDs. -For background information, see: - -* [Kubernetes API Concepts](https://kubernetes.io/docs/reference/using-api/api-concepts/) -* [Kubernetes API Reference](https://kubernetes.io/docs/reference/kubernetes-api/) - -#### API Reference - -The -[API Reference](../../reference/api-reference/index.md) -pages are autogenerated from source code. -This is a comprehensive list of all APIs and resources Keptn uses. - -Descriptive text for the APIs is authored in the source code itself. -Each operator has its own API with different versions. -The source locations are: - -* [Lifecycle API](https://github.com/keptn/lifecycle-toolkit/tree/main/lifecycle-operator/apis/lifecycle) -* [Metrics API](https://github.com/keptn/lifecycle-toolkit/tree/main/metrics-operator/api) -* [Options API](https://github.com/keptn/lifecycle-toolkit/tree/main/lifecycle-operator/apis/options) - -The text is coded in a limited form of markdown. - -To regenerate the autogenerated API reference docs, -execute the following script -in the root directory of your `lifecycle-toolkit` clone: - -```shell -./.github/scripts/generate-crd-docs/generate-crd-docs.sh -``` - -#### CRD Reference - -The [CRD Reference](../../reference/crd-reference/index.md) pages -describe the YAML manifest files used to populate resources -for the small set of CRDs that users must populate themselves. -These are currently authored manually -and should provide as much information as possible about the resource. -These are intended to be reference pages that are used regularly -by users after they are familiar with how to use Keptn. -For new users, the -[Guides](https://lifecycle.keptn.sh/docs/implementing/) -provide introductory material about how to use various features of Keptn. - -A template to create a new CRD Reference page -is available [here](assets/yaml-crd-ref-template.md). - -## Contribution guide - -The source for the -[Contributing to Keptn](https://lifecycle.keptn.sh/contribute/) -guides -(which are accessed from the **Contributing** tab on the documentation page) -is stored under the `docs/contribute` directory. - -The subdirectories of the contribution guide are: - -* **general** (General information): - Information that is applicable to all contributors, - whether contributing software or documentation -* **software** (Software contributions): - Information that is specific to software contributions -* **docs** (Documentation contributions): - Information that is specific to documentation contributions - -We also have *CONTRIBUTING.md* files located in the -home directory of the *lifecycle-toolkit* repository -(general and software development information) -and in the *lifecycle-toolkit/docs* directory -(documentation development information only). -These are the traditional locations for contributing information -but the amount of content we have was making them unwieldy, -so we are in the process of moving most content from these files -into the *Contributing guide*, -leaving links to the various sections in the *CONTRIBUTING.md* guides. - -## Build strategy - -This section discusses how the individual files and directories -are assembled into the documentation set. -See -[Published Doc Structure](./publish.md) -for information about the branches where the documentation is published. - -The order in which the files are displayed -is determined by their order in the `nav` field -of the `mkdocs.yml` file. - -## Subdirectory structure - -Each subdirectory contains topical subdirectories for each chapter in that section. -Each topical subdirectory may contain: - -* An *index.md* file that has the text for the section. - If this is a subdirectory that contains subdirectories for other pages, - the *index.md* file - contains introductory content for the section. -* An *assets* subdirectory where graphical files for that topic are stored. - No *assets* subdirectory is present if the topic has no graphics. diff --git a/docs/docs/contribute/docs/spell-check.md b/docs/docs/contribute/docs/spell-check.md deleted file mode 100644 index 1c0a66f0da..0000000000 --- a/docs/docs/contribute/docs/spell-check.md +++ /dev/null @@ -1,80 +0,0 @@ ---- -comments: true ---- - -# Spell checker - -All PRs that are pushed to a Keptn repository -are run through a spell checker that is based on the -[check-spelling](https://github.com/check-spelling/check-spelling) -GitHub action. - -Note, however, that you are still responsible for reading your text carefully. -The tool does not flag if you used a real word that is not the right word, -if you misuse "setup" versus "set up", and so forth. - -## Handling Spell Checker errors - -If you get a Spell Checker error: - -1. Click the `details` link for Spell Checker - in the checks for your PR. -1. Click on the Summary to get to the job summary. -1. This shows the word(s) that caused Spell Checker to fail. - - - If these are genuine misspellings, - correct the spelling in your local branch - or using the GitHub editor - and push the new commit to resolve the errors. - - - If a word that is flagged is a legitimate word, - follow the instructions in the report - to propose adding it to our [dictionary](https://github.com/keptn/lifecycle-toolkit/blob/main/.github/actions/spelling/expect.txt). - This request will be added to your PR for review - and, if approved, will be merged when the PR is merged. - - - If your PR includes a file that should not be spell-checked, - you can add it to the - [excludes.txt](https://github.com/keptn/lifecycle-toolkit/blob/main/.github/actions/spelling/excludes.txt) file - as part of your PR. - It will be reviewed and, if approved, - merged as part of your PR. - -For more details about handling errors that are found, see the -[Check-spelling docs](https://docs.check-spelling.dev/). - -## Implementation details - -For full technical details about the spell checker, see: - -- [check-spelling documentation](https://docs.check-spelling.dev/) -- [check-spelling GitHub repository](https://github.com/check-spelling/check-spelling) - -The Keptn spell checker checks both documentation and code for spelling, -based on a set of dictionaries: - -- We use general English language and technical terminology - from dictionaries that are provided and maintained by check-spelling. - The configuration is specified in files in the - [.github/actions/spelling](https://github.com/keptn/lifecycle-toolkit/tree/main/.github/actions/spelling) - directory. - [expect.txt](https://github.com/keptn/lifecycle-toolkit/tree/main/.github/actions/spelling/expect.txt) - lists Keptn terms for both documentation and code. -- We also use the specialized technical dictionaries provided by check-spelling specific domains - or programming languages such as Kubernetes, Go or HTML. - The dictionaries we use are specified in the - [.github/workflows/spell-checker.yml](https://github.com/keptn/lifecycle-toolkit/blob/main/.github/workflows/spell-checker.yml) - file. - -Check-spelling supports both American and British spelling -and both are allowed in the Keptn documentation. - -Check-spelling provides dictionaries for a number of non-English languages -but we do not currently use those. - -Note that Check-spelling does not check for proper capitalization of terms. -All dictionary terms are listed with lowercase letters. -Check-spelling recognizes capitalized versions of these words but, -if capitalized words are listed in a dictionary, -check-spelling rejects non-capitalized forms -which are common in code. diff --git a/docs/docs/contribute/docs/word-list.md b/docs/docs/contribute/docs/word-list.md deleted file mode 100644 index 9cefb42458..0000000000 --- a/docs/docs/contribute/docs/word-list.md +++ /dev/null @@ -1,103 +0,0 @@ ---- -comments: true ---- - -# Word list - -This document summarizes information -about the proper use of terminology for the Keptn project. - -The Keptn project does not maintain a formal style guide -but should adhere to recommendations in: - -* [CNCF Style Guide](https://github.com/cncf/foundation/blob/main/style-guide.md). - -* The [Kubernetes documentation](https://kubernetes.io/docs/home/) - is a good reference for Kubernetes terms. - In particular: - - * [Concepts](https://kubernetes.io/docs/concepts/) - * [Reference](https://kubernetes.io/docs/reference/) - -* The [Google developer documentation style guide](https://developers.google.com/style) - is a comprehensive reference for technical writers. - In particular: - - * [Word list](https://developers.google.com/style/word-list) - includes good information about words and phrases - that are commonly used in technical documentation - -## Keptn terminology - -### Keptn project - -This is the proper name of the project that was developed -under the code name of "Keptn Lifecycle Toolkit (KLT)". -The earlier project is called "Keptn v1". - -* Keptn is capitalized when used in prose as the name of the project. - Use `keptn` if it is part of a command name, pathname, - an argument to a command or function, etc. - -* As a project name that is trademarked, - you should not use an apostrophe-s to make it a possessive ("Keptn's") - or hyphenate it (as in "Keptn-specific"). - -The Keptn project is a "toolkit" with three use cases, named: - -* Metrics -* Observability -* Release lifecycle management - -## Kubernetes terminology - -The Keptn documentation frequently uses Kubernetes terminology. -Here are some guidelines for using these terms in Keptn documentation. - -* Do not duplicate information from the Kubernetes documentation - into the Keptn documentation. - We should not be maintaining documentation - for software in other projects and products. - -* Kubernetes concepts and objects (such as workload or resource) - should be lowercase unless they are the proper name of an object. - - This means that "workload" is not capitalized, but "Pod" and "Deployment" are. - -* The first instance of one of these terms in a section - should be a link to the relevant Kubernetes documentation. - -* Avoid using generic references to Kubernetes documentation. - Instead, link to the particular section - that contains the relevant information. - -* The dictionary of Kubernetes terms that is used by the - Spell checker - is in the `cspell` - [k8s.txt](https://github.com/check-spelling/cspell-dicts/blob/main/dictionaries/k8s/k8s.txt) - file. - -### CRD, resource, etc - -Keptn makes extensive use of Kubernetes -[Custom resources](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/). -It is important to use the related terminology correctly: - -* A "Resource Definition (RD)" is the definition (or syntax) - of a resource that is part of the official Kubernetes API - -* A "Custom Resource Definition (CRD)" is the definition - (or syntax) of a resource that Keptn (or some other software) - adds to Kubernetes - -* An instance of a CRD or RD that a user creates is a custom resource, CR - or just a resource but not a CRD or RD. - Most of the time, we recommend just using the term "resource". - -* The first occurrence of a CRD name in a section should be a link to the - [CRD Reference](../../reference/crd-reference/index.md) page if there is one. - Otherwise, it should be a link to the appropriate spot in the - [API Reference](../../reference/api-reference/index.md) section. - -* Occurrences of a resource name that are not links to a reference page - should be enclosed in back-ticks, so that they render as inline `code-case`. diff --git a/docs/docs/contribute/general/codespace.md b/docs/docs/contribute/general/codespace.md deleted file mode 100644 index 1eb6ac5a6c..0000000000 --- a/docs/docs/contribute/general/codespace.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -comments: true ---- - -# Codespaces - -Use GitHub codespaces as a pre-built and pre-configured development environment. -This is especially useful for Windows users -who may not have `make` installed. -It is also useful for Linux and MacOS users -who may not wish to download tools just to contribute to docs. - -Review [this video](https://www.youtube.com/watch?v=HdiXPgvfgQw) to see how this works. - -[![Keptn + GitHub codespaces video](https://i.ytimg.com/vi/HdiXPgvfgQw/hqdefault.jpg)](https://www.youtube.com/watch?v=HdiXPgvfgQw) - -As shown in the video, the steps to set up a new Codespace are: - -1. Create a fork of the repository. - Keptn software and documentation are in the - [link](https://github.com/keptn/lifecycle-toolkit) - repository. -1. In your fork, click the green `Code` button -1. Switch to `Codespaces` tab and create a new codespace - -You will be presented with a fully configured environment -with access to all the tools you require -to develop software or documentation for Keptn. - -The interface is similar to that of -[Visual Studio Code](https://code.visualstudio.com/). - -The only additional tool required for software development is [Kustomize](https://kustomize.io/), -which is a Kubernetes configuration transformation tool. -To install it, simply change your directory to the workspace -as shown in the video and copy and paste the below-mentioned two commands. -The first command downloads the precompiled binary of Kustomize; -the second command grants the necessary permissions to the tool and sets the path. -You can always download the latest binaries from the official [Kustomize GitHub repository](https://github.com/kubernetes-sigs/kustomize/releases). - -```bash - -curl -s "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" | bash - -sudo install -o root -g root -m 0755 kustomize /usr/local/bin/kustomize -``` - -To develop or modify software or documentation, the steps are: - -1. Make your modifications and test those modifications -1. Go back to Codespaces and click on the "Source Control" button on the left -1. Find the file(s) that you modified and click the "**+**" button - to create a commit - - Supply a commit message, adhering to the conventions for Keptn commits - - Sign the commit by clicking the "**...**" button - and selecting "Commit -> Commit Staged" -1. Click the "**...**" button again - and select "Push" to push your changes to your fork -1. Go to the UI for your fork and create a PR in the normal way. -1. After your PR has been merged, - go to your GitHub page, select "Codespaces", and delete this codespace. diff --git a/docs/docs/contribute/general/contrib-guidelines-gen.md b/docs/docs/contribute/general/contrib-guidelines-gen.md deleted file mode 100644 index a25ceba1bc..0000000000 --- a/docs/docs/contribute/general/contrib-guidelines-gen.md +++ /dev/null @@ -1,73 +0,0 @@ ---- -comments: true ---- - -# Contribution Guidelines - -Before using Keptn -as a contributor to the Keptn `lifecycle-toolkit` repository, -it is expected that you comply with the guidelines while -making contributions towards the repository. - -These guidelines are appropriate for both software and documentation. -For additional guidelines that are relevant only to documentation, see -[Contribution guidelines for documentation](../docs/contrib-guidelines-docs.md). - -## Guidelines for contributing - -* Always fork the repository then clone that fork to your local system - rather than clone `main` directly. - Keptn, like most open source projects, - severely restricts who can push changes directly to the `main` branch - to protect the integrity of the repository. -* Smaller PR's are easier to review and so generally get processed more quickly; - when possible, chunk your work into smallish PR's. - However, we recognize that documentation work sometimes requires larger PRs, - such as when writing a whole new section or reorganizing existing files. -* You may want to squash your commits before creating the final PR, - to avoid conflicting commits. - This is **not mandatory**; the maintainers will squash your commits - during the merge when necessary. -* Be sure that the description of the pull request itself - is meaningful and clear. - This helps reviewers understand each commit - and provides a good history after the PR is merged. -* If your PR is not reviewed in a timely fashion, - feel free to post a gentle reminder to the `#keptn` Slack channel. -* Resolve review comments and suggestions promptly. - -If you see a problem and are unable to fix it yourself -or have an idea for an enhancement, -please create an issue on the GitHub repository. - -* Provide specific and detailed information about the problem - and possible solutions to help others understand the issue. -* When reporting a bug, provide a detailed list of steps to reproduce the bug. - If possible, also attach screenshots that illustrate the bug. -* If you want to do the work on an issue, - include that information in your description of the issue - or in a comment to the issue. - -## Proposing new work - -* When proposing new work, start by creating an issue or ticket in the project's - [issue tracker](https://github.com/keptn/lifecycle-toolkit/issues). - If you would like to work on this issue, include that in a comment to the issue. -* Actively participate in the - [refinement sessions](refinement-guide.md) - that are part of the regularly scheduled - [community meetings](https://community.cncf.io/keptn-community/). - * In these sessions, everyone discusses the proposed work, whether it is a good idea, - what exactly should be done and how it aligns with the project goals. - * After the discussions, maintainers engage in a process known as **Scrum Poker**. - This involves a voting mechanism where maintainers collectively assess the size - and complexity of the proposed work, helping to decide whether it should proceed. - * When the issue is refined, it can be assigned and work can begin. -* A PR should be created within a week of when an issue is assigned to you - or the issue may be reassigned to someone else. - When necessary, you can request an extension from the maintainers - but the general expectation is that issues will be resolved - soon after they are assigned. -* In general, you must complete one issue before you are assigned another one. - Exceptions may be made when one issue is nearly completed - but we discourage contributors claiming multiple issues at one time. diff --git a/docs/docs/contribute/general/dco.md b/docs/docs/contribute/general/dco.md deleted file mode 100644 index e2cee70847..0000000000 --- a/docs/docs/contribute/general/dco.md +++ /dev/null @@ -1,151 +0,0 @@ ---- -comments: true ---- - -# DCO - -## Developer Certification of Origin (DCO) - -Keptn requires the Developer Certificate of Origin (DCO) process -to be followed for each commit. -With the DCO, you attest that the contribution adheres -to the terms of the Apache License that covers Keptn -and that you are granting ownership of your work to the Keptn project. - -Licensing is very important to open source projects. -It helps ensure that the software continues to be available under the -terms that the author desired. -Keptn uses [Apache License 2.0](https://github.com/keptn/lifecycle-toolkit/blob/main/LICENSE), -which strikes a balance between open contributions -and allowing you to use the software however you would like to. - -The license tells you what rights the copyright holder gives you. -It is important that the contributor fully understands -what rights they are licensing and agrees to them. -Sometimes the copyright holder is not the contributor, -such as when the contributor is doing work on behalf of a company. - -You must add a Signed-off-by statement for each commit you contribute, -thereby agreeing to the DCO. -The text of the DCO is given here -and available at : - -```text -Developer Certificate of Origin -Version 1.1 - -Copyright (C) 2004, 2006 The Linux Foundation and its contributors. - -Everyone is permitted to copy and distribute verbatim copies of this -license document, but changing it is not allowed. - - -Developer's Certificate of Origin 1.1 - -By making a contribution to this project, I certify that: - -(a) The contribution was created in whole or in part by me and I - have the right to submit it under the open source license - indicated in the file; or - -(b) The contribution is based upon previous work that, to the best - of my knowledge, is covered under an appropriate open source - license and I have the right under that license to submit that - work with modifications, whether created in whole or in part - by me, under the same open source license (unless I am - permitted to submit under a different license), as indicated - in the file; or - -(c) The contribution was provided directly to me by some other - person who certified (a), (b) or (c) and I have not modified - it. - -(d) I understand and agree that this project and the contribution - are public and that a record of the contribution (including all - personal information I submit with it, including my sign-off) is - maintained indefinitely and may be redistributed consistent with - this project or the open source license(s) involved. -``` - -## DCO Sign-Off Methods - -The DCO check runs on each PR to verify -that the commit has been signed off properly. -Your builds will fail and can not be merged if the DCO check fails. - -Do any of the following -to implement the DCO signoff on each commit: - -* [Add **-s** or **--signoff**](#sign-off-while-committing) - to your usual `git commit` commands -* [Manually add text](#manually-add-text-to-commit-description) - to your commit body -* [Automate DCO](#automate-dco) - -## Sign off while committing - -Use the **-s** or **--signoff** flag to the `git commit` command -to sign off on a commit. -For example: - -```bash -git commit -s -m "my awesome contribution" -``` - -If you forget to add the sign-off, -run the following command to amend the previous commit -with the sign-off: - -```bash -git commit --amend --signoff -``` - -Use the following command -to sign off the last 2 commits you made: - -```bash -git rebase HEAD~2 --signoff -``` - -## Manually add text to commit description - -To sign off on a commit not made with the command line -(such as those made directly with the GitHub editor -or as suggestions made to a PR during review), -you can add text like the following to the commit description block. -You must specify your real name and the email address to use: - - ```text - Signed-off-by: Humpty Dumpty - ``` - -## Automate DCO - -The DCO process is sometimes inconvenient but you can automate it -by creating a pre-commit git hook as follows: - -1. Create the hook: - - ``` bash - touch .git/hooks/prepare-commit-msg - ``` - -2. Add the following to the `prepare-commit-msg` file: - - ```bash - SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') - grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" - ``` - -3. Give it execution permissions by calling: - - ```bash - chmod +x ./.git/hooks/prepare-commit-msg - ``` - -## ATTRIBUTION - -* -* -* -* diff --git a/docs/docs/contribute/general/git/branch-create.md b/docs/docs/contribute/general/git/branch-create.md deleted file mode 100644 index 8ecc5756c0..0000000000 --- a/docs/docs/contribute/general/git/branch-create.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -comments: true ---- - -# Create local branch - -After you -[fork and clone](./fork-clone.md) -the Keptn repository and set `upstream` in your local machine, -you need to create a local branch where you will make your changes. - -## Create a new branch and make your changes - -Be sure that your branch is based on and sync'ed with `main`, -unless you intend to create a derivative PR. -The following sequence of commands does this: - -```console -git checkout main -git pull --rebase upstream main -git push origin main -git checkout -b -``` - -> **Note** Be sure to do this each time you start a new PR. -> If you do not rebase to the `upstream main` branch, -> you may end up including the content from a previous PR in your new PR, -> which is not normally what you want. - -Execute the following and check the output -to ensure that your branch is set up correctly: - -```console -git status -``` - -Now you can make your changes and build and test them locally, -before you create a PR to add these changes to the documentation set. - -* For documentation changes: - * Do the writing you want to do in your local branch - * Check the formatted version in your IDE - or at `localhost:8000` - to ensure that it is rendering correctly - and that all links are valid.. - See [Build Documentation Locally](../../docs/local-building.md) - for more information. - * Run `make markdownlint-fix` to check and fix the markdown code. - -* For software changes: - * Create the new code in your local branch. - * Create and run unit tests for your new code. - * Run other appropriate test to ensure that your code works correctly. - -When you have completed the checking and testing of your work, -it is time to push your changes and create a PR that can be reviewed. -See [Create PR](./pr-create.md) for details. diff --git a/docs/docs/contribute/general/git/fork-clone.md b/docs/docs/contribute/general/git/fork-clone.md deleted file mode 100644 index 4141695019..0000000000 --- a/docs/docs/contribute/general/git/fork-clone.md +++ /dev/null @@ -1,59 +0,0 @@ ---- -comments: true ---- - -# Fork and clone the repository - -Perform the following steps to create a copy -of the Keptn repository on your local machine: - -1. Fork the Keptn repository: - - * Log into GitHub (or create a GitHub account and then log into it). - * Go to the [Keptn lifecycle-toolkit repository](https://github.com/keptn/lifecycle-toolkit). - * Click the **Fork** button at the top of the screen. - * Choose the user for the fork from the options you are given, - usually your GitHub ID. - - A copy of this repository is now available in your GitHub account. - -2. Get the string to use when cloning your fork: - - * Click the green "Code" button on the UI page. - * Select the protocol to use for this clone (either HTTPS or SSH). - * A box is displayed that gives the URL for the selected protocol. - Click the icon at the right end of that box to copy that URL. - -3. Run the **git clone** command from the shell of a local directory - to clone the forked repository to a directory on your local machine, - pasting in the URl you saved in the previous step. - - For example, if you are using HTTPS: - - ```console - git clone https://github.com//lifecycle-toolkit - ``` - - Or if you are using SSH: - - ```console - git clone git@github.com:/lifecycle-toolkit.git - ``` - - Where <*UserName*> is your GitHub username. - The lifecycle-toolkit directory is now available in the local directory. - -4. Associate your clone with `upstream`. - - * In a shell, go to the root folder of the project - and run *git status* to confirm that you are on the `main` branch. - * Type the following to associate `upstream` with your clone, - pasting in the string for the main repo that you copied above.: - - ```console - git remote add upstream https://github.com/keptn/lifecycle-toolkit.git - ``` - -You are now ready to -[create a local branch](./branch-create.md) -and begin to create the software or documentation modifications. diff --git a/docs/docs/contribute/general/git/index.md b/docs/docs/contribute/general/git/index.md deleted file mode 100644 index 6eb503a90f..0000000000 --- a/docs/docs/contribute/general/git/index.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -comments: true ---- - -# Working with Git - -Keptn source for software and documentation is stored in the -[Keptn lifecycle-toolkit repository](https://github.com/keptn/lifecycle-toolkit). -Contributions are made using standard Git practices. -This section describes the basic steps required to contribute using Git -and summarizes some standard practices we use with Keptn. - -You can also modify the source using the GitHub editor. -This is very useful when you want to fix a typo -or make some other small change -although be sure to include the -[DCO](../dco.md) -signoff. - -If you are doing significant work, -you should fork and clone your own copy of the repository, -make your changes in a local branch, -then push those changes to GitHub where they can be reviewed -and ultimately merged into the product. -This is all done using standard Git commands; -the pages in this subsection describe a set of Git commands -that work well for the required steps -although you are free to use alternate Git steps if you prefer. diff --git a/docs/docs/contribute/general/git/pr-create.md b/docs/docs/contribute/general/git/pr-create.md deleted file mode 100644 index 51b6f0a93b..0000000000 --- a/docs/docs/contribute/general/git/pr-create.md +++ /dev/null @@ -1,212 +0,0 @@ ---- -comments: true ---- - -# Create PR - -When you have completed the checking and testing of your work -on your local branch as described in -[Create local branch](./branch-create.md), -it is time to push your changes and create a PR that can be reviewed. -This is a two-step process: - -1. [Push new content from your local branch](#push-new-content-from-your-local-branch) -1. [Create the PR on the GitHub web site](#create-pr-on-the-github-web-site) - -## Push new content from your local branch - -The steps to push your new content from your local branch -to the repository are: - -1. When you have completed the writing you want to do and tested it, - close all files in your branch and run `git status` to confirm - that it correctly reflects the files you have modified, added, and deleted - and does not include any files that you do not want to push. - -1. Switch back to the `main` branch in your repository, - and ensure that it is up to date - with the `main` Keptn branch: - - ```bash - git remote add upstream https://github.com/keptn/lifecycle-toolkit.git - git checkout main - git pull upstream main - ``` - -1. Update your feature branch from your local copy of `main` and push it: - - ```bash - git checkout feature/123/foo - git rebase main - git push --set-upstream origin feature/123/foo - ``` - -1. Add and commit your changes. - The `git commit -s` command commits the files - and signs that you are contributing this intellectual property - to the Keptn project. - See [DCO](../dco.md) for more information. - Here, we commit all modified files but you can specify individual files - to the `git add` command. - - ```console - git add . - git commit -s - ``` - - Use `vi` commands to add a description of the PR to the commit; - this description is displayed as the title of the PR in listings. - - * The title text should be prefixed with an appropriate - [commit type](#commit-types) - to conform to our semantic commit scheme. - * Follow the `commit type` with a brief (80 characters or less) description - that succinctly describes the change made by this PR. - The description must begin with a lowercase letter. - - You can add multiple lines explaining the PR here but, in general, - it is better to only supply the PR title here; - you can add more information and edit the PR title - when you create the PR on the GitHub UI page. - -1. Push your branch to github. - If you cloned your fork to use SSH, the command is: - - ```console - git push --set-upstream origin - ``` - - > **Note** - You can just issue the `git push` command. - Git responds with an error message - that gives you the full command line to use; - you can copy this command and paste it into your shell to push the content. - -## Create PR on the GitHub web site - -To create the actual PR that can be reviewed -and eventually merged, go to the - page. -You should see a yellow box that identifies your recent pushes. -Click the `Compare & pull request` button in that box -to open a PR template that you can populate. - -> **Note** -> The PR template can also be found at `.github/pull_request_template.md`. - -You need to provide the following information: - -* Title for the PR: - Follow the - [conventional commit guidelines](https://www.conventionalcommits.org/en/v1.0.0/) - for your PR title. - * Title should begin with an appropriate - [commit type](#commit-types). - * The first word after the feature type should be lowercase. - -An example for a pull request title is: - -```bash -feat(api): new endpoint for feature X -``` - -* Full description of what the PR is about. - - * Link to relevant GitHub issue(s). - Use the phrase `Closes ` for this link; - is ensures that the issue is closed when this PR is merged. - this PR does not completely satisfy the issue, - e some other phrasing for the link to the issue. - * Describe what this PR does, - including related work that will be in other PRs. - * If you changed something that is visible to the user, - add a screenshot. - * Describe tests that are included or were run to test this PR. - * Anything else that will help reviewers understand - the scope and purpose of this PR. - -* The PR template includes a checklist that must be filled out - to ensure that the PR adheres to the project requirements. - - * The template includes separate sections for software and documentation; - delete the section that does not apply to your PR, - unless your PR includes both software and documentation. - * Read each item and only check it off if you have satisfied that requirement. - * If a requirement is not relevant for your PR, mark it as `n/a` (not applicable). - -* If you have **breaking changes** in your PR, - it is important to note them in both the PR description - and in the merge commit for that PR. - -When pressing "squash and merge", -you have the option to fill out the commit message. -Please use that feature to add the breaking changes according to the -[conventional commit guidelines](https://www.conventionalcommits.org/en/v1.0.0/). -Also, please remove the PR number at the end and just add the issue number. - -An example for a PR with breaking changes and the according merge commit: - -```bash -feat(bridge): New button that breaks other things (#345) - -BREAKING CHANGE: The new button added with #345 introduces -new functionality that is not compatible with the previous -type of sent events. -``` - -If your breaking change can be explained in a single line, -you can also use this form: - -```bash -feat(bridge)!: New button that breaks other things (#345) -``` - -Following these guidelines helps us create automated releases -where the commit and PR messages are directly used in the changelog. - -When you have filled in the PR template, -you should also quickly scroll down to see the changes -that are being made with this commit -to ensure that this PR contains what you want reviewed. - -When you are satisfied that your PR is ready for review, -click the `Create pull request` button. - -### Commit Types - -**Type** can be: - -* `feat`: a new feature -* `fix`: a bug fix -* `build`: changes that affect the build system or external dependencies -* `chore`: other changes that don't modify source or test files -* `ci`: changes to our CI configuration files and scripts -* `docs`: documentation only changes -* `perf`: a code change that improves performance -* `refactor`: a code change that neither fixes a bug nor adds a feature -* `revert`: reverts a previous commit -* `style`: changes that do not affect the meaning of the code -* `test`: adding missing tests or correcting existing tests - -## Check PR build - -As soon as you create the PR, -a number of tests and checks are run. -Be sure to check the results immediately -and fix any problems that are found. -Click the `Details` link on the line for each each failed test -to get details about the errors found. - -The most common errors for documentation PRs are: - -* Markdown errors found by `markdownlint`. - Most of these can be fixed - by running `make markdownlint-fix` on your local branch - then pushes the changes. -* Cross-reference errors. - To quickly find the errors in the report, - search for the `dead` string on the `Details` page. - -When you have resolved all build errors -you move into the -[PR review process](./review.md). diff --git a/docs/docs/contribute/general/git/review.md b/docs/docs/contribute/general/git/review.md deleted file mode 100644 index 408454a4d7..0000000000 --- a/docs/docs/contribute/general/git/review.md +++ /dev/null @@ -1,71 +0,0 @@ ---- -comments: true ---- - -# PR review process - -After you -[create your PR](./pr-create.md), -your PR must be approved and then merged -before it becomes part of the Keptn product. -This page discusses what you need to do during the review phase. - -GitHub automatically assigns reviewers to your PR. -You can also tag other people in the description or comments. - -Your PR will usually be reviewed within a couple of days, -but feel free to let us know about your PR -[via Slack](https://cloud-native.slack.com/channels/keptn-lifecycle-toolkit-dev). - -You may want to record the PR number somewhere for future reference -although you can always find the PR in the GitHub lists of open and closed PRs. - -## Draft (WIP) PRs - -You may want to create a PR with work that is not ready for final review. -This happens when you want people to provide feedback on some of the work -before you finish the PR -or to protect the work you have done. - -If this PR is not ready for review, click the "Still in progress? -s Convert to draft" string under the list of reviewers. -People can review the content but can not merge the PR -until you remove the "Draft" status. -The block of the PR that reports on checks will include the following item: - -```console -This pull request is still a work in progress -Draft pull requests cannot be merged. -``` - -When the PR is ready to be reviewed, approved, and merged, -click the "Ready to review" button to remove the "Draft" status. -If you added "WIP" or "Draft" to the PR title, remove it now. - -## Respond to review comments and suggestions - -Watch for any comments that may be added by reviewers and implement or -respond to the recommended changes as soon as possible. -You should also check the build reports daily -to ensure that all tests are still passing. - -* If a reviewer makes a GitHub suggestion and you agree with the change, - click "Accept this change" to create a commit for that modification. - Remember to include the DCO sign-off information in the commit message. - -* You can make other changes using the GitHub editor. - -* You can also work in your local branch to make modifications. - However, if the PR has been modified on github, - be sure to `pull` the changes back to your local branch - before working in your local branch. - -When your PR has the appropriate approvals, -it will be merged and the revised content should be published on the -website (as part of the `latest` release) -within a few minutes. -You can now delete your local branch with the following command: - -```console -git branch -d -``` diff --git a/docs/docs/contribute/general/index.md b/docs/docs/contribute/general/index.md deleted file mode 100644 index ba8c997ddc..0000000000 --- a/docs/docs/contribute/general/index.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -comments: true ---- - -# General information about contributing - -This section includes information that applies -to all types of contributions -- -software, documentation, and tests: - -- [Technologies and concepts you should know](technologies.md) - gives links to resources you can use to increase your knowledge if necessary. - -- [Codespaces](codespace.md) tells how to use GitHub Codespaces - to contribute to Keptn. - This is useful for Windows users who may find it difficult - to install a local development environment - and for Linux and MacOS users who may want to easily make a small contribution - without having to set up a full local environment. - -- [Working with Git](git/index.md) summarizes the steps required - to fork and clone a local copy of the repository, - create a local branch where you create your new content, - then submit that content as a PR - then shepherd that PR through the review process until it is merged. - -- [Contribution guidelines](contrib-guidelines-gen.md) summarizes - practices to help you succeed as a contributor. - These guidelines apply to all contributions; - a list of additional guidelines that apply only to documentation contributions - is given in - [Contribution guidelines for documentation](../docs/contrib-guidelines-docs.md). - -- [Refinement Process](refinement-guide.md) - explains how proposed issues are evaluated and approved for action. - -- [Release Checklist](release-checklist.md) - is a list of tasks that must be created when releasing a new Keptn version. diff --git a/docs/docs/contribute/general/refinement-guide.md b/docs/docs/contribute/general/refinement-guide.md deleted file mode 100644 index 0514f30c30..0000000000 --- a/docs/docs/contribute/general/refinement-guide.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -comments: true ---- - -# Refinement process - -During the Refinement timeblock in community meetings, maintainers engage in technical -discussions on open issues and pull requests. -This dedicated time allows for in-depth conversations, knowledge sharing, -and collective decision-making. -It is an opportunity for the team to synchronize their understanding of -ongoing developments, address challenges, and ensure a common vision for the project. - -**Purpose and goals:** - -- **Alignment:** Ensure a shared understanding among maintainers regarding ongoing -developments, project goals, and upcoming tickets. -- **Technical Depth:** Delve into the technical aspects of open issues and pull -requests, facilitating a deeper understanding of proposed Pull requests. -- **Decision-Making:** Make collective decisions on the adoption of new features, -changes, and improvements based on technical merit. - -This process aligns with our commitment to open-source principles, ensuring that -technical discussions are inclusive, transparent, and beneficial for the -entire Keptn community. - -## Contributor guidance - -Contributors proposing new features are encouraged to participate in -refinement sessions during [community meetings](https://community.cncf.io/keptn-community/) to talk -about their contributions. -This provides valuable insights into ongoing technical discussions and -aligns their efforts with the broader project vision. -Follow these steps: - -1. Review the project's [contributing guide](../index.md) -for information on upcoming refinement meetings. -1. Attend relevant refinement meetings to present and discuss proposed features. -1. Actively engage in technical discussions, seeking feedback and guidance from -maintainers. -1. Iteratively refine contributions based on insights gained during meetings. - -By following this process, contributors contribute not only code but also valuable -perspectives and insights, fostering a collaborative and innovative -community environment. - -## Outcome - -- Shared understanding among maintainers and contributors on ongoing developments. -- Improved contributions via collaborative discussions and refinement. -- Documented decisions and action items for future reference in project documentation. - -This refined process aligns with our commitment to open-source principles, ensuring -transparency, inclusivity, and technical excellence within the Keptn community. diff --git a/docs/docs/contribute/general/release-checklist.md b/docs/docs/contribute/general/release-checklist.md deleted file mode 100644 index da27e4f541..0000000000 --- a/docs/docs/contribute/general/release-checklist.md +++ /dev/null @@ -1,34 +0,0 @@ -# Release Checklist - -This page should be used to document the current process to create a full release for Keptn. - -## Checklist - -1. (in-between every release: resolve conflicts in release-please-manifest file) -1. run security scans -1. release python runtime -1. update helm tests and helm chart docs with new python runtime version in renovate PR -1. merge python runtime renovate PRs -1. release deno runtime -1. update helm tests and helm chart docs with new deno runtime version in renovate PR -1. merge deno runtime renovate PRs -1. re-generate cert-manager Helm chart docs -1. release cert-manager -1. bump cert-manager chart version in charts repo and merge chart release PR -1. bump cert-manager chart version in main chart -1. manually update the cert manager library inside metrics and lifecycle operator with current commit hash from master -1. re-generate metrics-operator Helm chart docs -1. release metrics operator -1. bump metrics operator chart version in charts repo and merge chart release PR -1. bump metrics operator chart version in main chart -1. re-generate lifecycle-operator Helm chart docs -1. release lifecycle operator -1. bump lifecycle operator chart version in charts repo and merge chart release PR -1. bump lifecycle-operator chart version in main chart -1. helm dep update to fix Chart.lock files -1. klt release bump umbrella chart version in main chart -1. release the Keptn chart -1. update `stable` tag to the new keptn version and rebuild stable tag on readthedocs -1. verify docs -1. verify all docs reflect breaking changes in helm charts -1. manually test examples diff --git a/docs/docs/contribute/general/technologies.md b/docs/docs/contribute/general/technologies.md deleted file mode 100644 index acb17f89c2..0000000000 --- a/docs/docs/contribute/general/technologies.md +++ /dev/null @@ -1,86 +0,0 @@ ---- -comments: true ---- - -# Technologies and concepts you should know - -You should understand some related technologies -to effectively use and contribute to Keptn. -This section provides links to some materials that can help your learning. -The information has been gathered from the community and is subject to alteration. -If you have suggestions about additional content that should be included in this list, -please submit an issue. - -## Containers - -Containers are a basic prerequisite in the path of learning kubernetes and a good understanding -of containers will help a lot for working with and contributing to Keptn. - -* **Understand the Basics of Containers** - * [Docker's Official Getting Started Guide](https://docs.docker.com/get-started/) - * [Docker for beginner](https://youtu.be/3c-iBn73dDE?si=tilXJsYAxZGEMGg1) -* **Container Architecture** - * [Understanding Docker Architecture](https://docs.docker.com/get-started/overview/#docker-architecture) -* **Container Concepts** - * [Docker Images and Containers Explained](https://circleci.com/blog/docker-image-vs-container/) - * [Container Security Explained](https://www.youtube.com/watch?v=b_euX_M82uI) - * [Container Orchestration Explained](https://youtu.be/kBF6Bvth0zw?si=bUj2bdMbk9xmnF_G) -* **Useful Tools** - * [Docker Compose Overview](https://docs.docker.com/compose/) - * [Docker Compose Tutorial](https://youtu.be/SXwC9fSwct8?si=dXaxQVxx0QhW7sku) - * [Docker Swarm](https://docs.docker.com/engine/swarm/) - -## Kubernetes - -Keptn runs on Kubernetes and primarily works with deployments that run on Kubernetes -so a good understanding of Kubernetes is essential -for working with and contributing to Keptn. - -* **Understand the basics of Kubernetes** - * [Kubernetes official documentation](https://kubernetes.io/docs/concepts/overview/) - * [Kubernetes For Beginner](https://youtu.be/X48VuDVv0do) -* **Kubernetes Architecture** - * [Philosophy](https://youtu.be/ZuIQurh_kDk) - * [Kubernetes Deconstructed: Understanding Kubernetes by Breaking It Down](https://www.youtube.com/watch?v=90kZRyPcRZw) -* **CRD** - * [Custom Resource Definition (CRD)](https://www.youtube.com/watch?v=xGafiZEX0YA) - * [Kubernetes Operator simply explained in 10 mins](https://www.youtube.com/watch?v=ha3LjlD6g7g) - * [Writing Kubernetes Controllers for CRDs](https://www.youtube.com/watch?v=7wdUa4Ulwxg) -* **Kube-builder Tutorial** - * [book.kubebuilder.io](https://book.kubebuilder.io/introduction.html) -* **Isitobservable** - * Keptn has tight integrations with Observability tools and therefore knowing how to _Observe a System_ is important. - * [Isitobservable website](https://isitobservable.io/) - * [Is it Observable? - with Henrik Rexed](https://www.youtube.com/watch?v=aMwk2qo0v40) - -## Development tools - -* **Go language** - Most of the Keptn software and many of the test tools - are written in the Go language. - * [Go web page](https://go.dev/) - has tutorials and documentation. - * [Ginkgo library](https://github.com/onsi/ginkgo/blob/master/README.md) - is used with the - [Gomega matcher](https://onsi.github.io/gomega/) - to implement component tests and end-to-end tests. -* **Chainsaw** - Some test tools are written with chainsaw - * [Chainsaw web page](https://kyverno.github.io/chainsaw/) - has information to get you started -* **Markdown** - Keptn documentation is authored in Markdown - and processed with Hugo using the `docsy` theme. - * [Markdown Guide](https://www.markdownguide.org/) - -## Understanding SLOs and SLIs - -* **Overview** - * [Overview](https://www.youtube.com/watch?v=tEylFyxbDLE) - * [The Art of SLOs (Service Level Objectives)](https://www.youtube.com/watch?v=E3ReKuJ8ewA) - -### Operator SDK - -* **Go-based Operators** - * [Go operator tutorial from RedHat](https://docs.okd.io/latest/operators/operator_sdk/golang/osdk-golang-tutorial.html) diff --git a/docs/docs/contribute/index.md b/docs/docs/contribute/index.md deleted file mode 100644 index 9cd285a7a8..0000000000 --- a/docs/docs/contribute/index.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -comments: true ---- - -# Contributing to Keptn - -Keptn software and documentation -is developed and maintained by the Keptn community. -We invite you to join us. -This guide provides instructions and guidelines -for contributing software, documentation, and tests to Keptn. - -Keptn software, documentation, and tests are stored in the same -[Keptn](https://github.com/keptn/lifecycle-toolkit) -GitHub repository. -We use similar processes for all contributions. - -This guide provides useful information about how to contribute to the Keptn project. -It is divided into three sections: - -* [General](general/index.md) includes information - that is relevant to all contributions, including - information you should know about the technologies used, - instructions for creating a PR that contains your contribution - by either forking and cloning the repo and creating contributions locally - or working in Github Codespaces, - and guidelines that apply to all contributions. - -* [Software contributions](software/index.md) - includes information about how to set up an environment - for developing and testing Keptn software - as well as specific instructions for creating a new - Keptn metrics provider. - -* [Documentation contributions](docs/index.md) - gives additional guidelines that apply only to documentation contributions - and describes the documentation file structure - and the documentation tools we use. - -* [Website contributions](website/index.md) - provides relevant information for contributing - to the website, including all the file directories and - files used to modify the website, and instructions for - testing and verifying changes before submitting. diff --git a/docs/docs/contribute/software/add-new-metric-provider.md b/docs/docs/contribute/software/add-new-metric-provider.md deleted file mode 100644 index 0fd5531d59..0000000000 --- a/docs/docs/contribute/software/add-new-metric-provider.md +++ /dev/null @@ -1,121 +0,0 @@ ---- -comments: true ---- - -# Add a metrics provider - -The -[KeptnMetric](../../guides/evaluatemetrics.md) -feature works with almost any data platform -but Keptn requires that a metrics provider be defined -for any data platform it uses as a data source. -This guide gives instructions for creating a new metrics provider. -For these instructions, -we define a sample provider called `placeholder`. -The steps to create your own metrics provider are: - -1. **Fork and clone** the -[Keptn repository](https://github.com/keptn/lifecycle-toolkit). - For more information, see - [Fork and clone the repository](https://keptn.sh/stable/docs/contribute/general/git/fork-clone/). - -2. **Define the Provider Type:** In the `metrics-operator/controllers/common/providers/common.go` file, - define the constant `KeptnPlaceholderProviderType`. - In our example we use `"placeholder"`. - - ```go - const KeptnPlaceholderProviderType = "placeholder" - ``` - -3. **Implement the Provider:** Create a new folder inside the - [metrics-operator/controllers/common/providers](). - Use the provider name as the name of the folder. - This name defines the string used to identify this provider - in the `spec.type` field of the - [KeptnMetricsProvider](../../reference/crd-reference/metricsprovider.md) - resource. - In this example, the folder is named `placeholder`. - Create a new Go package for the placeholder provider in that folder. - This package should contain a `struct` that implements the `KeptnSLIProvider` interface. - To fully implement the `KeptnSLIProvider` interface, it's necessary to implement the following functions. - - * `EvaluateQuery`(Fetches metric values from the provider) - * This function fetches metric values based on the provided - metric query from the provider. - It evaluates the query and returns the metric values - along with any additional data if required. - * It takes as input a [KeptnMetric](../../reference/crd-reference/metric.md) - and [KeptnMetricsProvider](../../reference/crd-reference/metricsprovider.md) - * `EvaluateQueryForStep`(Fetches metric values with step interval from the provider) - * This function fetches metric values with a specified step interval from the placeholder provider. - It takes into account the metric query and the step interval provided, executes the query, - and returns the metric values along with any additional data if required. - * It takes as input a [KeptnMetric](../../reference/crd-reference/metric.md) - and [KeptnMetricsProvider](../../reference/crd-reference/metricsprovider.md) - * `FetchAnalysisValue`(Fetches analysis values from the provider) functions. - * This function fetches analysis values based on the provided query and time range from the - provider. - It evaluates the query within the specified time range and returns the analysis - values along with any additional data if required. - * It takes as input an [Analysis](../../reference/crd-reference/analysis.md), - resource that contains a `query` and a - [KeptnMetricsProvider](../../reference/crd-reference/metricsprovider.md) resource. - - You can follow other existing implementations, - such as [prometheus.go](https://github.com/keptn/lifecycle-toolkit/blob/main/metrics-operator/controllers/common/providers/prometheus/prometheus.go), - as an example. - - Each of the three functions expects a string containing a float value in it. - But for example purposes we returned some of the data accessible in the function. - - Below is an example of a placeholder provider implementation. - - ```go - {% include "./assets/example-code/placeholder-code-example.go" %} - ``` - - > **Note** Refer to the documentation of the - > [KeptnMetric](../../reference/crd-reference/metric.md) - > and - > [Analysis](../../reference/crd-reference/analysis.md) - > resources - > to understand what data should be retrieved from the methods inputs to compute accurate results. - -4. **Instantiate the Provider** in the `providers.NewProvider` function - in the `metrics-operator/controllers/common/providers/provider.go` file. - add a case for the `KeptnPlaceholderProviderType`. - Instantiate the placeholder provider struct and return it. - - ```go - {% include "./assets/example-code/new-provider-function.go" %} - ``` - -5. **Update the validation webhook and crd config:** To update the validation webhook and crd config of the metrics operator. - Add the provider name next to last providers on this - [line](https://github.com/keptn/lifecycle-toolkit/blob/main/metrics-operator/api/v1/keptnmetricsprovider_types.go#L29) - to look like this - - `// +kubebuilder:validation:Pattern:=cortex|datadog|dql|dynatrace|prometheus|elastic|thanos|placeholder`. - - In the metric-operator directory run `make generate manifests` to update the metrics-operator crd config - Then modify the helm chart and the helm chart crd validation to match the update in the metrics-operator crd config - -6. **Add Test Cases:** - * Write a unit test to validate your implementation at the function level. - Unit tests ensure that individual - functions behave as expected and meet their functional requirements. - - * Include a Chainsaw test to validate the behavior of Kubernetes resources managed by your code. - Chainsaw tests simulate real-world scenarios and interactions within a Kubernetes cluster, ensuring - the correctness of your Kubernetes configurations and deployments. - - Below are the steps for adding an integration test. - - * In the directory `test/chainsaw/testmetrics`, create a folder `metrics-provider-placeholder` in our case. - * Within the `keptn-metrics-placeholder` folder, create YAML file `00-install.yaml`. - * `00-install.yaml` contains a sample configuration that installs a valid `KeptnMetricsProvider` - in our case `placeholder` and it also defines a sample `KeptnMetric` configuration - representing a valid use case, while. - * Create a file named `chainsaw-test.yaml` and define the steps for the integration test in chainsaw-test.yaml. - - > For more information checkout [an already existing integration test](https://github.com/keptn/lifecycle-toolkit/tree/main/test/chainsaw/testmetrics/metrics-provider) diff --git a/docs/docs/contribute/software/assets/example-code/new-provider-function.go b/docs/docs/contribute/software/assets/example-code/new-provider-function.go deleted file mode 100644 index c67cd9067c..0000000000 --- a/docs/docs/contribute/software/assets/example-code/new-provider-function.go +++ /dev/null @@ -1,13 +0,0 @@ -// Inside the providers package - -// NewProvider function -func NewProvider(providerType string, log logr.Logger, k8sClient client.Client) (KeptnSLIProvider, error) { - switch strings.ToLower(providerType) { - case KeptnPlaceholderProviderType: - return &placeholder.KeptnPlaceholderProvider{ - Log: log, - HttpClient: http.Client{}, - }, nil - // Other cases... - } -} diff --git a/docs/docs/contribute/software/assets/example-code/placeholder-code-example.go b/docs/docs/contribute/software/assets/example-code/placeholder-code-example.go deleted file mode 100755 index 907f0dead1..0000000000 --- a/docs/docs/contribute/software/assets/example-code/placeholder-code-example.go +++ /dev/null @@ -1,45 +0,0 @@ -package placeholder - -import ( - "context" - "fmt" - "net/http" - "time" - - "github.com/go-logr/logr" - metricsapi "github.com/keptn/lifecycle-toolkit/metrics-operator/api/v1" -) - -type KeptnPlaceholderProvider struct { - Log logr.Logger - HttpClient http.Client -} - -func (d *KeptnPlaceholderProvider) FetchAnalysisValue(ctx context.Context, query string, analysis metricsapi.Analysis, provider *metricsapi.KeptnMetricsProvider) (string, error) { - return fmt.Sprintf("placeholder provider FetchAnalysisValue was called with query %s from %d to %d", query, analysis.GetFrom().Unix(), analysis.GetTo().Unix()), nil -} - -func (d *KeptnPlaceholderProvider) EvaluateQuery(ctx context.Context, metric metricsapi.KeptnMetric, provider metricsapi.KeptnMetricsProvider) (string, []byte, error) { - return fmt.Sprintf("placeholder provider EvaluateQuery was called with query %s", metric.Spec.Query), nil, nil -} - -func (d *KeptnPlaceholderProvider) EvaluateQueryForStep(ctx context.Context, metric metricsapi.KeptnMetric, provider metricsapi.KeptnMetricsProvider) ([]string, []byte, error) { - fromTime, toTime, stepInterval, err := getTimeRangeForStep(metric) - if err != nil { - return nil, nil, err - } - result := fmt.Sprintf("placeholder provider EvaluateQueryForStep was called with query %s from %d to %d at an interval %d", metric.Spec.Query, fromTime, toTime, stepInterval) - return []string{result}, nil, nil -} - -func getTimeRangeForStep(metric metricsapi.KeptnMetric) (int64, int64, int64, error) { - intervalDuration, err := time.ParseDuration(metric.Spec.Range.Interval) - if err != nil { - return 0, 0, 0, err - } - stepDuration, err := time.ParseDuration(metric.Spec.Range.Step) - if err != nil { - return 0, 0, 0, err - } - return time.Now().Add(-intervalDuration).Unix(), time.Now().Unix(), stepDuration.Milliseconds(), nil -} diff --git a/docs/docs/contribute/software/dev-environ.md b/docs/docs/contribute/software/dev-environ.md deleted file mode 100644 index c713a27a88..0000000000 --- a/docs/docs/contribute/software/dev-environ.md +++ /dev/null @@ -1,195 +0,0 @@ ---- -comments: true ---- - -# Software development environment - -This page gives instructions and hints for setting up a development environment -and then develop, test, and deploy your software changes in that environment. -This material was presented at the -11 September 2023 New Contributors meeting. -You can view the video -[here](https://www.youtube.com/watch?v=UcmULstMYXQ). - -To prepare to contribute to the Keptn project, we recommend that you: - -* Study the [Keptn documentation](https://lifecycle.keptn.sh/docs/) - to understand what Keptn does and how it works. -* Familiarize yourself with the - [lifecycle-toolkit](https://github.com/keptn/lifecycle-toolkit) - repository, which is the primary repository for - Keptn software and documentation. - In particular, study the sections for the four main Keptn components: - - * [lifecycle-operator](https://github.com/keptn/lifecycle-toolkit/tree/main/lifecycle-operator) - * [metrics-operator](https://github.com/keptn/lifecycle-toolkit/tree/main/metrics-operator) - * [keptn-cert-manager](https://github.com/keptn/lifecycle-toolkit/tree/main/keptn-cert-manager) - - Each of these is described in the - [Components](../../components/index.md) - section of the documentation - and most include a *README* file with more information. - -* Study the material in - [Technologies and concepts you should know](../general/technologies.md). -* Create an account for yourself on - [GitHub](https://github.com) - if you do not already have an account. -* Set up a fork of the [lifecycle-toolkit](https://github.com/keptn/lifecycle-toolkit) repository to use with your development. - -## View repository - -When you view the -[lifecycle-toolkit](https://github.com/keptn/lifecycle-toolkit) -repository, you see that Keptn is composed of multiple components, -each of which is discussed in the Architecture -[Components](../../components/index.md) -documentation: - -* Three Kubernetes operators - * `metrics-operator` - * `lifecycle-operatory` - * `cert-manager` - -At the top level of the repository, -you also see the `runtimes` directory. -This defines the runners that you can use when defining -tasks to be run either pre- or post-deployment. -These are discussed in -[Runners and containers](../../guides/tasks.md#runners-and-containers). - -## Install software - -To test and develop software for the Keptn project, -you need to install the following on your system: - -* [**Docker**](https://docs.docker.com/get-docker/): a tool for containerization, - which allows software applications to run in isolated environments - and makes it easier to deploy and manage them. -* A Kubernetes cluster running an appropriate version of Kubernetes. - See [Supported Kubernetes versions](../../installation/index.md#supported-kubernetes-versions) - for details. - Most contributors create a local - Kubernetes-in-Docker(KinD) cluster. - This is adequate for developing software for Keptn. - See - [Kubernetes cluster](../../installation/k8s.md#create-local-kubernetes-cluster) - for instructions. -* [**kubectl**](https://kubernetes.io/docs/tasks/tools/): - a command-line interface tool used for deploying - and managing applications on Kubernetes clusters. -* [**kustomize**](https://kustomize.io/): a tool used - for customizing Kubernetes resource configurations - and generating manifests. -* [**Helm**](https://helm.sh/): a package manager for Kubernetes - that simplifies the deployment and management of applications - on a Kubernetes cluster. -* [**Go-lang**](https://go.dev/): the language used to code the Keptn software. - -## First steps - -1. Follow the instructions in - [Fork and clone the repository](../general/git/fork-clone.md) - to get a local copy of the software. - -1. Keptn provides a tool that deploys the development version of the software - on your Kubernetes cluster and pushes the built image to your private repository. - You identify your private repository with the `RELEASE_REGISTRY=` argument - and can add any `TAG` arguments you like. - You can also specify the architecture by setting the `ARCH` argument, - which is set to `amd64` by default. - For example, the following command builds the environment - and pushes the image to the `docker.io/exampleuser` DockerHub repository: - -```shell -make build-deploy-dev-environment RELEASE_REGISTRY=docker.io/exampleuser TAG=main ARCH=arm64 -``` - - The build commands are defined in the - [Makefile](https://github.com/keptn/lifecycle-toolkit/blob/main/Makefile) - located in the root directory of your clone. - This file includes a number of environment variables - that can be specified as required. - -1. After this runs, verify that pods are running on your Kubernetes cluster - for the four components of the product. - -## Code your changes - -You are now ready to make your changes to the source code. - -1. Follow the instructions in - [Create local branch](../general/git/branch-create.md) - to create a branch for your changes. - -1. Make your changes to the appropriate component. - -1. Deploy the component you modified and push the image to your private Github repository. - Note that you only need to rebuild the component you modified; - you do not need to rebuild all components. - For example, if your modifications are to the `metrics-operator`, run: - - ```shell - make build-deploy-metrics-operator \ - RELEASE_REGISTRY=docker.io/exampleuser TAG=my-feature - ``` - -## Testing - -Keptn includes a set of tests that are run on each PR that is submitted. -We require that all changes pass -unit tests, component tests, end-to-end tests, and integration tests -before you create a PR with your changes. - -If your change introduces a new feature, -you may need to update the test suites to cover your changes. -These tests use basic go-library, Ginkgo or chainsaw tests. -You can ask the maintainers to tell you where to put your additional test data. - -Tests are run on your local machine. -Study the detailed log that is produced to identify why the test failed. -Study these errors, modify your code, and rerun the test until it passes. - -### Unit tests - -Use your IDE to run unit tests on your code. - -### Integration tests - -Run the integration tests from the root directory of your clone: - - ```shell - make integration-test-local - ``` - -This runs a series of chainsaw -([chainsaw](https://kyverno.github.io/chainsaw)) -tests locally and then cleans up your local environment. -You can run individual tests with the `chainsaw test` command; -see the *Makefile* for the specific syntax of each test. - -### Component test - -From the `lifecycle-operator` directory, run the component tests: - - ```shell - make component-test - ``` - -### End-to-end test - -From the `lifecycle-operator` directory, run the end-to-end tests: - - ```shell - make e2e-test - ``` - -## Create and manage the PR - -When all the tests have passed, -you can follow the instructions in -[Create PR](../general/git/pr-create.md) -to create your PR. -Be sure to monitor your PR as discussed in -[PR review process](../general/git/review.md) -until it is merged. diff --git a/docs/docs/contribute/software/golangci-lint.md b/docs/docs/contribute/software/golangci-lint.md deleted file mode 100644 index 515a92a9df..0000000000 --- a/docs/docs/contribute/software/golangci-lint.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -comments: true ---- - -# Golangci-lint configuration - -Kept uses the `Golangci-lint` linter to ensure good code quality. -This page describes the configuration required -to make proper use of those linters inside an IDE. - -Further information can be found in -the [`golangci-lint` documentation](https://golangci-lint.run/welcome/integrations/). - -## Visual Studio Code - -In Visual Studio Code the -[Golang](https://marketplace.visualstudio.com/items?itemName=aldijav.golangwithdidi) -extension is required. - -Adding the following lines to the `Golang` extension -configuration file enables all linters used in this project. - -```json -"go.lintTool": { - "type": "string", - "default": "golangci-lint", - "description": "GolangGCI Linter", - "scope": "resource", - "enum": [ - "golangci-lint", - ] -}, -"go.lintFlags": { - "type": "array", - "items": { - "type": "string" - }, - "default": ["--fast", "--fix"], - "description": "Flags to pass to GCI Linter", - "scope": "resource" -}, -``` - -## GoLand / IntelliJ requirements - -* Install either the **GoLand** or **IntelliJ** Integrated Development Environment -(IDE) for the Go programming language, plus the [Go Linter](https://plugins.jetbrains.com/plugin/12496-go-linter) plugin. - -* The plugin can be installed via `Settings` >> `Plugins` >> `Marketplace`, -search for `Go Linter` and install it. -Once installed, make sure that the plugin is using the `.golangci.yml` -file from the root directory. - -* The configuration of `Go Linter` can be found in the `Tools` section -of the settings. - -If you are on Windows, you need to install **make** for the above process to complete. - -> **Note** -When using the make command on Windows, you may receive an `unrecognized command` error for a command that is installed. -This usually indicates that `PATH` for the binary is not set correctly). diff --git a/docs/docs/contribute/software/index.md b/docs/docs/contribute/software/index.md deleted file mode 100644 index badb136fa2..0000000000 --- a/docs/docs/contribute/software/index.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -comments: true ---- - -# Software contributions - -This section provides information specific to Keptn software development. -It supplements the information in the -[General](../general/index.md) section -that applies to all Keptn development. - -This section includes: - -- [Software development environment](dev-environ.md) - describes the steps required to set up a software development environment - where you can develop and test software contributions. - It includes a video walkthrough that illustrates the process. - -- [Golangci-lint configuration](golangci-lint.md) - discusses the linter Keptn uses to ensure good code quality - and how to configure your local development environment to use it. - -- [Add a metrics provider](add-new-metric-provider.md) - explains how to add support for a new metrics provider to Keptn. diff --git a/docs/docs/contribute/website/index.md b/docs/docs/contribute/website/index.md deleted file mode 100644 index 6c03ef6fe6..0000000000 --- a/docs/docs/contribute/website/index.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -comments: true ---- - -# Contribute to the Website - -This section provides information on how to contribute to the website. - -## Location of Files Used to Modify the Website - -Here are some key files and directories: - -- **`docs/assets/`**: This directory contains all the stylesheets and -javascript files. -- **`docs/overrides/`**: This directory contains all the html files. -- **`mkdocs.yml`**: The main configuration file for MkDocs. -It defines the structure and configuration of the documentation site. - -## How to Test/Verify Changes - -To test and verify changes before submitting: - -- Make your changes in a new branch. -- Open a pull request. -- The changes will be reflected in the ReadTheDocs preview for the PR. -- Review the preview to ensure your changes are correct. - -## Building the Website Locally - -To see your changes live on your local machine, follow the steps described in the -[Building Documentation Locally](../docs/local-building.md) guide. -This guide provides detailed instructions on how to set up a local MkDocs build -environment. diff --git a/docs/docs/core-concepts/assets/dynatrace_dora_dashboard.png b/docs/docs/core-concepts/assets/dynatrace_dora_dashboard.png deleted file mode 100644 index 3318a4303f..0000000000 Binary files a/docs/docs/core-concepts/assets/dynatrace_dora_dashboard.png and /dev/null differ diff --git a/docs/docs/core-concepts/index.md b/docs/docs/core-concepts/index.md deleted file mode 100644 index b3ee4d963c..0000000000 --- a/docs/docs/core-concepts/index.md +++ /dev/null @@ -1,142 +0,0 @@ ---- -comments: true ---- - -# Core Concepts - -Keptn integrates seamlessly with cloud-native deployment tools -such as ArgoCD, Flux, and Gitlab -to bring application awareness to your Kubernetes cluster. -Keptn supplements the standard deployment tools -with features to help you ensure that your deployments are in -a healthy state. - -For information about the history of the Keptn project, see the -[Keptn Lifecycle Toolkit is now Keptn!](https://medium.com/keptn/keptn-lifecycle-toolkit-is-now-keptn-e0812217bf46) -blog. - -Keptn includes multiple features -that can be implemented independently or together. -It targets three main use cases: -Metrics, Observability, and Release lifecycle management. - -## Metrics - -The Keptn metrics feature extends the functionality of -[Kubernetes metrics](https://kubernetes.io/docs/concepts/cluster-administration/system-metrics/): - -* Allows you to define metrics - from multiple data sources in your Kubernetes cluster. - -* Supports deployment tools like Argo, Flux, KEDA, HPA, or - Keptn for automated decision-making based on observability data. - -* Handles observability data from multiple instances - of multiple observability solutions - – Prometheus, Thanos, Cortex, Dynatrace, Datadog, Elastic and others – - as well as data that comes directly from your cloud provider - such as AWS, Google, or Azure. - -* Enhances the Kubernetes - [Horizontal Pod Autoscaling](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) - facility. - -The Keptn metrics server unifies and standardizes -access to data from various sources, -simplifying configuration and integration into a single set of metrics. - -To learn more, see: - -* [Getting started with Keptn metrics](../getting-started/metrics.md) -* [Keptn Metrics](../guides/evaluatemetrics.md) User Guide - -## Observability - -Keptn ensures observability for Kubernetes deployments -by creating a comprehensive trace -of all Kubernetes activities within a deployment. -Keptn observability makes it easy to understand -deployment durations and failures across multiple deployment strategies. - -* Provides observability data for standard Kubernetes [workload](https://kubernetes.io/docs/concepts/workloads/) resources - as well as - [KeptnApp](../reference/crd-reference/app.md) - resources (which connect logically related [workloads](https://kubernetes.io/docs/concepts/workloads/)) - using different deployment strategies. - -* Captures - [DORA metrics](../guides/dora.md) - and exposes them as OpenTelemetry metrics out of the box. - -* Uses OpenTelemetry to report traces and custom Keptn metrics - from all data providers that are configured in your cluster. - -* Enables monitoring of new logs from log monitoring solutions. - -* Information can be displayed on standard dashboard tools - like Grafana. - -Keptn is tool- and vendor neutral -and does not depend on particular tooling. -Keptn emits signals at every stage -([Kubernetes events](https://kubernetes.io/docs/reference/kubernetes-api/cluster-resources/event-v1/), -[CloudEvents](https://cloudevents.io/), and -OpenTelemetry metrics and traces) -to ensure that your deployments are observable. - -To learn more, see: - -* [Getting started with Keptn Observability](../getting-started/observability.md) -* [DORA metrics](../guides/dora.md) User Guide -* [OpenTelemetry observability](../guides/otel.md) User Guide - -## Release lifecycle management - -The Release lifecycle management tools run in conjunction -with the standard Kubernetes deployment tools -to make deployments more robust. -Keptn "wraps" a standard Kubernetes deployment -with the capability to automatically handle issues -before and after the actual deployment. - -These tools run checks and tasks before or after deployment initiation. - -* Pre-deployment tasks such as checking for dependent services, - image scanning, and setting the cluster to be ready for the deployment. - -* Pre-deployment evaluations such as checking whether the cluster - has enough resources for the deployment. - -* Post-deployment tasks such as triggering tests, - triggering a deployment to another cluster, - or sending notifications that the deployment succeeded or failed. - -* Post-deployment evaluations to evaluate the deployment, - evaluate test results, - or confirm software health against SLOs - like performance and user experience. - -* Promotion tasks such as promoting the application - to another stage. - -All `KeptnTask` resources that are defined by `KeptnTaskDefinition` resources -at the same level (pre-deployment, post-deployment, or promotion) run in parallel. -Task sequences that are not part of the lifecycle workflow -should be handled by the pipeline engine tools rather than Keptn. -A `KeptnTask` resource can be defined to run multiple executables -(functions, programs, and scripts) -that are part of the lifecycle workflow. -The executables within a `KeptnTask` resource -run in sequential order. - -Keptn tasks and evaluations can be run -for either a Kubernetes [workload](https://kubernetes.io/docs/concepts/workloads/) (single service) resource -or a -[KeptnApp](../reference/crd-reference/app.md) resource, -which is a single, cohesive unit that groups multiple [workloads](https://kubernetes.io/docs/concepts/workloads/). -For more information, see: - -* [Getting started with release lifecycle management](../getting-started/lifecycle-management.md) -* [Deployment tasks](../guides/tasks.md) User Guide -* [Evaluations](../guides/evaluations.md) User Guide -* [KeptnApp and KeptnWorkload resources](../components/lifecycle-operator/keptn-apps.md) diff --git a/docs/docs/getting-started/assets/deploymenttrace.png b/docs/docs/getting-started/assets/deploymenttrace.png deleted file mode 100644 index 0cf22269df..0000000000 Binary files a/docs/docs/getting-started/assets/deploymenttrace.png and /dev/null differ diff --git a/docs/docs/getting-started/assets/grafana.png b/docs/docs/getting-started/assets/grafana.png deleted file mode 100644 index 730c03dd8e..0000000000 Binary files a/docs/docs/getting-started/assets/grafana.png and /dev/null differ diff --git a/docs/docs/getting-started/assets/install01.png b/docs/docs/getting-started/assets/install01.png deleted file mode 100644 index 71a96bb347..0000000000 Binary files a/docs/docs/getting-started/assets/install01.png and /dev/null differ diff --git a/docs/docs/getting-started/assets/install02.png b/docs/docs/getting-started/assets/install02.png deleted file mode 100644 index 9ad850ad9f..0000000000 Binary files a/docs/docs/getting-started/assets/install02.png and /dev/null differ diff --git a/docs/docs/getting-started/assets/keptnappcontext.yaml b/docs/docs/getting-started/assets/keptnappcontext.yaml deleted file mode 100644 index 23b269faca..0000000000 --- a/docs/docs/getting-started/assets/keptnappcontext.yaml +++ /dev/null @@ -1,10 +0,0 @@ -apiVersion: lifecycle.keptn.sh/v1 -kind: KeptnAppContext -metadata: - name: keptndemoapp - namespace: keptndemo -spec: - postDeploymentTasks: - - send-event - promotionTasks: - - promotion diff --git a/docs/docs/getting-started/assets/keptnapplications.png b/docs/docs/getting-started/assets/keptnapplications.png deleted file mode 100644 index c2824b30b8..0000000000 Binary files a/docs/docs/getting-started/assets/keptnapplications.png and /dev/null differ diff --git a/docs/docs/getting-started/assets/keptnprommetrics.png b/docs/docs/getting-started/assets/keptnprommetrics.png deleted file mode 100644 index 8d6c2cf650..0000000000 Binary files a/docs/docs/getting-started/assets/keptnprommetrics.png and /dev/null differ diff --git a/docs/docs/getting-started/assets/lifecycle-management-deployment.yaml b/docs/docs/getting-started/assets/lifecycle-management-deployment.yaml deleted file mode 100644 index 4fd89fb7a3..0000000000 --- a/docs/docs/getting-started/assets/lifecycle-management-deployment.yaml +++ /dev/null @@ -1,25 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: nginx-deployment - namespace: keptndemo - labels: - app.kubernetes.io/name: nginx -spec: - replicas: 1 - selector: - matchLabels: - app.kubernetes.io/name: nginx - template: - metadata: - labels: - app.kubernetes.io/part-of: keptndemoapp - app.kubernetes.io/name: nginx - app.kubernetes.io/version: 0.0.2 - keptn.sh/post-deployment-tasks: "send-event" - spec: - containers: - - name: nginx - image: nginx:1.14.2 - ports: - - containerPort: 80 diff --git a/docs/docs/getting-started/assets/lifecycle-management-labels.yaml b/docs/docs/getting-started/assets/lifecycle-management-labels.yaml deleted file mode 100644 index 387c77d4a4..0000000000 --- a/docs/docs/getting-started/assets/lifecycle-management-labels.yaml +++ /dev/null @@ -1,5 +0,0 @@ -labels: - app.kubernetes.io/part-of: keptndemoapp - app.kubernetes.io/name: nginx - app.kubernetes.io/version: 0.0.2 - keptn.sh/post-deployment-tasks: "send-event" diff --git a/docs/docs/getting-started/assets/lifecycle-management-send-event-task.yaml b/docs/docs/getting-started/assets/lifecycle-management-send-event-task.yaml deleted file mode 100644 index 8cd3a4bb42..0000000000 --- a/docs/docs/getting-started/assets/lifecycle-management-send-event-task.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: lifecycle.keptn.sh/v1 -kind: KeptnTask -metadata: - name: runsendevent1 - namespace: keptndemo -spec: - taskDefinition: send-event - context: - appName: "my-test-app" - appVersion: "1.0.0" - objectType: "" - taskType: "" - workloadName: "my-test-workload" - workloadVersion: "1.0.0" diff --git a/docs/docs/getting-started/assets/lifecycle-management-send-event-taskdefinition.yaml b/docs/docs/getting-started/assets/lifecycle-management-send-event-taskdefinition.yaml deleted file mode 100644 index 5bec3afb95..0000000000 --- a/docs/docs/getting-started/assets/lifecycle-management-send-event-taskdefinition.yaml +++ /dev/null @@ -1,20 +0,0 @@ -apiVersion: lifecycle.keptn.sh/v1 -kind: KeptnTaskDefinition -metadata: - name: send-event - namespace: keptndemo -spec: - retries: 0 - timeout: 5s - container: - name: curlcontainer - image: curlimages/curl:latest - args: [ - '-X', - 'POST', - 'http://webhook.webhook.svc.cluster.local:8084/YOUR-UUID-HERE', - '-H', - 'Content-Type: application/json', - '-d', - '{ "from": "keptn send-event" }' - ] diff --git a/docs/docs/getting-started/assets/metric-providers.yaml b/docs/docs/getting-started/assets/metric-providers.yaml deleted file mode 100644 index dc25e3957a..0000000000 --- a/docs/docs/getting-started/assets/metric-providers.yaml +++ /dev/null @@ -1,39 +0,0 @@ -apiVersion: metrics.keptn.sh/v1 -kind: KeptnMetricsProvider -metadata: - name: dev-prometheus - namespace: podtato-kubectl -spec: - type: prometheus - targetServer: "" - secretKeyRef: - name: prometheus-secret ---- -apiVersion: v1 -kind: Secret -metadata: - name: prometheus-secret -data: - password: password - user: user -type: Opaque ---- -apiVersion: metrics.keptn.sh/v1 -kind: KeptnMetricsProvider -metadata: - name: dev-dynatrace - namespace: podtato-kubectl -spec: - type: dynatrace | dql - targetServer: "" - secretKeyRef: - name: dt-api-token - key: myCustomTokenKey ---- -apiVersion: v1 -kind: Secret -metadata: - name: dt-api-token -data: - myCustomTokenKey: my-token -type: Opaque diff --git a/docs/docs/getting-started/assets/metric.yaml b/docs/docs/getting-started/assets/metric.yaml deleted file mode 100644 index fb7b8a1ecf..0000000000 --- a/docs/docs/getting-started/assets/metric.yaml +++ /dev/null @@ -1,21 +0,0 @@ -apiVersion: metrics.keptn.sh/v1 -kind: KeptnMetric -metadata: - name: available-cpus - namespace: simplenode-dev -spec: - provider: - name: dev-prometheus - query: "sum(kube_node_status_capacity{resources`cpu`})" - fetchIntervalSeconds: 10 ---- -apiVersion: metrics.keptn.sh/v1 -kind: KeptnMetric -metadata: - name: availability-slo - namespace: simplenode-dev -spec: - provider: - name: dev-dynatrace - query: "func:slo.availability_simplenodeservice" - fetchIntervalSeconds: 10 diff --git a/docs/docs/getting-started/assets/nginx.png b/docs/docs/getting-started/assets/nginx.png deleted file mode 100644 index 8ae885f9a0..0000000000 Binary files a/docs/docs/getting-started/assets/nginx.png and /dev/null differ diff --git a/docs/docs/getting-started/assets/podtatohead.png b/docs/docs/getting-started/assets/podtatohead.png deleted file mode 100644 index 440d9d995d..0000000000 Binary files a/docs/docs/getting-started/assets/podtatohead.png and /dev/null differ diff --git a/docs/docs/getting-started/assets/promotion-task.yaml b/docs/docs/getting-started/assets/promotion-task.yaml deleted file mode 100644 index 63ad5a895e..0000000000 --- a/docs/docs/getting-started/assets/promotion-task.yaml +++ /dev/null @@ -1,10 +0,0 @@ -apiVersion: lifecycle.keptn.sh/v1 -kind: KeptnTaskDefinition -metadata: - name: promotion - namespace: keptndemo -spec: - deno: - inline: - code: | - console.log("Application promoted to stage prod!"); diff --git a/docs/docs/getting-started/assets/trace-failed.png b/docs/docs/getting-started/assets/trace-failed.png deleted file mode 100644 index 99b342470a..0000000000 Binary files a/docs/docs/getting-started/assets/trace-failed.png and /dev/null differ diff --git a/docs/docs/getting-started/assets/webhook.site.1.png b/docs/docs/getting-started/assets/webhook.site.1.png deleted file mode 100644 index 7e739e43c0..0000000000 Binary files a/docs/docs/getting-started/assets/webhook.site.1.png and /dev/null differ diff --git a/docs/docs/getting-started/assets/webhook.site.2.png b/docs/docs/getting-started/assets/webhook.site.2.png deleted file mode 100644 index c11786f89b..0000000000 Binary files a/docs/docs/getting-started/assets/webhook.site.2.png and /dev/null differ diff --git a/docs/docs/getting-started/assets/webhook.site.3.png b/docs/docs/getting-started/assets/webhook.site.3.png deleted file mode 100644 index c5529601c4..0000000000 Binary files a/docs/docs/getting-started/assets/webhook.site.3.png and /dev/null differ diff --git a/docs/docs/getting-started/index.md b/docs/docs/getting-started/index.md deleted file mode 100644 index 3779a6b19a..0000000000 --- a/docs/docs/getting-started/index.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -comments: true ---- - -# Get started - -This section provides tutorials to familiarize you -with some basic Keptn features -and point you to other documentation that has more comprehensive information. diff --git a/docs/docs/getting-started/lifecycle-management.md b/docs/docs/getting-started/lifecycle-management.md deleted file mode 100644 index 5b21e3cfd9..0000000000 --- a/docs/docs/getting-started/lifecycle-management.md +++ /dev/null @@ -1,248 +0,0 @@ ---- -comments: true ---- - -# Release Lifecycle Management - -The Release Lifecycle Management tools run -pre/post-deployment tasks and evaluations -as well as promotion tasks -for your existing cloud-native deployments -to make them more robust. -For more information, see -[Release lifecycle management](../core-concepts/index.md#release-lifecycle-management). - -This tutorial introduces these tools. - -> This tutorial assumes you have already completed the -[Getting started with Keptn Observability](observability.md) -exercise. -> Please ensure you've finished that before attempting this exercise. - -## Keptn Pre and Post Deployment Tasks - -When Keptn is successfully monitoring your deployments, -it can also run arbitrary tasks and SLO evaluations for you -either before or after your deployment runs. -This is specified with labels or annotations in the Pod template specs of your -[workloads](https://kubernetes.io/docs/concepts/workloads/) -([Deployments](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/), -[StatefulSets](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/), -[DaemonSets](https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/), -and -[ReplicaSets](https://kubernetes.io/docs/concepts/workloads/controllers/replicaset/)). - -> Pre and post deployments can be run either on individual workloads -> or on a group of associated workloads that are grouped into -> a `KeptnApp` resource. -> For instructions about how to identify the workloads to combine into `KeptnApp` resource, -> see -> [annotations to KeptnApp](../guides/integrate.md#basic-annotations). -> [Auto app discovery](../guides/auto-app-discovery.md/) -> explains how a `KeptnApp` resource is created. - -## Prerequisites: Deploy webhook sink - -During this exercise, you will configure Keptn to trigger a webhook -before and after a deployment has completed successfully. - -For demo purposes, a place is required to which those requests are sent. -To implement this: - -1. Install the - [open source webhook.site tool](https://github.com/webhooksite/webhook.site/tree/7f10c9f4aecb243636c9e5197d4dbf8f5eaf5341/kubernetes). - - This provides a place on your cluster to which web requests are sent - and from which they can be viewed. - If you have your own endpoint, you can skip this step. - -1. Execute the following commands to apply the web hook: - - ```shell - kubectl apply -f https://raw.githubusercontent.com/webhooksite/webhook.site/7f10c9f4aecb243636c9e5197d4dbf8f5eaf5341/kubernetes/namespace.yml - kubectl apply -f https://raw.githubusercontent.com/webhooksite/webhook.site/7f10c9f4aecb243636c9e5197d4dbf8f5eaf5341/kubernetes/redis.deployment.yml - kubectl apply -f https://raw.githubusercontent.com/webhooksite/webhook.site/7f10c9f4aecb243636c9e5197d4dbf8f5eaf5341/kubernetes/laravel-echo-server.deployment.yml - kubectl apply -f https://raw.githubusercontent.com/webhooksite/webhook.site/7f10c9f4aecb243636c9e5197d4dbf8f5eaf5341/kubernetes/webhook.deployment.yml - kubectl apply -f https://raw.githubusercontent.com/webhooksite/webhook.site/7f10c9f4aecb243636c9e5197d4dbf8f5eaf5341/kubernetes/service.yml - ``` - -1. Wait until all Pods are running in the `webhook` namespace - then port-forward and view the webhook sink page: - - ```shell - kubectl -n webhook wait --for=condition=Ready pods --all - kubectl -n webhook port-forward svc/webhook 8084 - ``` - -1. Open a browser and go to `http://localhost:8084` - -1. You should see a page like this with a unique URL - (your ID will be different than the example). - - ![webhook.site page](assets/webhook.site.1.png) - -1. Make a note of that unique URL. - -### Verify Webhook Sink - -Open a new browser table and go to your unique URL. -The page should remain blank, but when toggling back to `http://localhost:8084`, you should see a new entry. - -Each request sent to that unique URL will be logged here. - -![webhook.site entry](assets/webhook.site.2.png) - -## Add a Post Deployment Task - -Add a task that triggers after a successful deployment. - -Change `UUID` to whatever value you have. -Apply this manifest: - -```yaml -{% include "./assets/lifecycle-management-send-event-taskdefinition.yaml" %} -``` - -### Verify it works - -Verify that the `KeptnTaskDefinition` resource shown above actually works. - -Trigger an on-demand task execution -to verify that the job and Pod are working correctly. - -In the following steps we have Keptn orchestrate this for us automatically. - -Apply this manifest: - -```yaml -{% include "./assets/lifecycle-management-send-event-task.yaml" %} -``` - -If it works, `kubectl -n keptndemo get jobs` should show: - -```shell -NAME COMPLETIONS DURATION AGE -runsendevent1-***** 1/1 6s 2m -``` - -`kubectl -n keptndemo get pods` shows the successfully executed Pod. - -The webhook sync should show this: - -![webhook sync](assets/webhook.site.3.png) - -Incidentally, this is exactly how you can use Keptn with -[applications deployed outside of Kubernetes](../use-cases/non-k8s.md). - -> Note: If you want to trigger this task multiple times, -> you must change the value of the `name` field -> in the `KeptnTask` resource each time. -> For example, change `runsendevent1` to `runsendevent2`. -> See -> [Redeploy/Restart an Application](../guides/restart-application-deployment.md/) -> for details. -> - -## Ask Keptn to trigger task after Deployment - -Annotate the demo application `Deployment` manifest -to have Keptn automatically trigger the task after every deployment. - -Recall the `Deployment` from the -[Observability](../getting-started/observability.md#step-3-deploy-demo-application) -Getting started guide. - -Add a new label so the `labels` section looks like this: - -```yaml -{% include "./assets/lifecycle-management-labels.yaml" %} -``` - -Increase the version number to `0.0.2` and re-apply the manifest. - -Here is a full version of the new YAML: - -```yaml -{% include "./assets/lifecycle-management-deployment.yaml" %} -``` - -> Best Practice: Start with post deployment tasks. -> Pre-deployment tasks can potentially block deployments (see below). - -### What Happens Next? - -1. The deployment is applied. -1. When the Pods are running, - Keptn automatically creates a `KeptnTask` resource - for version `0.0.2` of this `KeptnApp`. -1. The `KeptnTask` creates a Kubernetes `Job`. -1. The Kubernetes `Job` creates a Kubernetes `Pod`. -1. The `Pod` runs `curl` and sends a new event to the event sink. - -### Pre-deployment Tasks - -Keptn Tasks can also be executed pre-deployment (before the Pods are scheduled). -Do this by using the `keptn.sh/pre-deployment-tasks` label or annotation. - -> Note: If a pre-deployment task fails, by default, the `Pod` remains in a Pending state. - -## More control over the application - -To customize checks associated with the application, we can create a `KeptnAppContext` resource and define -a set of pre/post deployment tasks or evaluations as well as promotion tasks for the whole application. -Note that the name of the `KeptnAppContext` resource needs to match the name of the automatically -created `KeptnApp` and the value present in the `keptn.sh/app` or `app.kubernetes.io/part-of` -annotations. -In this case it needs to be `keptndemoapp`. - -The `KeptnAppContext` also includes `promotionTasks`. -These are executed after the Deployment and all pre/post-deployment -tasks and evaluations are executed successfully. -They should serve only one purpose - to promote the application to another stage -(for example from `dev` to `prod`). -A promotion task is defined in a `KeptnTaskDefinition` resource: - -```yaml -{% include "./assets/promotion-task.yaml" %} -``` - -An example of `KeptnAppContext` executing post-deployment task `send-event` and -promotion task `promotion`: - -```yaml -{% include "./assets/keptnappcontext.yaml" %} -``` - -This way, the `send-event` task is executed after the deployment of the whole application; -in other words, after all of the workloads present in the `KeptnApp` -are in a `Running` state. -After the `send-event` task succeeds, `promotion` task are executed. - -A detailed description of all the available fields of the `KeptnAppContext` resource can be found in the -[KeptnAppContext CRD reference page](../reference/crd-reference/appcontext.md). - -> **Note** -You must have the `promotion` feature enabled in order to execute promotion tasks. -You can enable it via `lifecycleOperator.promotionTasksEnabled` helm value during installation of Keptn. -More information can be found -[here](https://github.com/keptn/lifecycle-toolkit-charts/tree/main/charts/keptn-lifecycle-operator#global). - -## Further Information - -You can do much more with `KeptnTask` resources. -See the -[Deployment tasks](../guides/tasks.md) -page to find out more. - -To learn more about making pre-task and pre-evaluations non-blocking -please see the -[Keptn non-blocking deployment section](../components/lifecycle-operator/keptn-non-blocking.md). - -## What's next? - -Keptn can also run simple pre- and post-deployment SLO evaluations. - -Continue the Keptn learning journey by adding evaluations. -See the -[Evaluations](../guides/evaluations.md) -for more information. diff --git a/docs/docs/getting-started/metrics.md b/docs/docs/getting-started/metrics.md deleted file mode 100644 index 110baec9ca..0000000000 --- a/docs/docs/getting-started/metrics.md +++ /dev/null @@ -1,324 +0,0 @@ ---- -comments: true ---- - -# Keptn Metrics - -The Keptn metrics component -allows you to define any type of metric -from multiple instances -of any type of data source in your Kubernetes cluster. -You may have deployment tools like Argo, Flux, KEDA, HPA, or Keptn -that need observability data to make automated decisions -such as whether a rollout is good, or whether to scale up or down. - -Your observability data may come -from multiple observability solutions -- -Prometheus, Thanos, Cortex, Dynatrace, Datadog, Elastic and others -- -or may be data that comes directly -from your cloud provider such as AWS, Google, or Azure. -The Keptn Metrics Server unifies and standardizes access to all this data. -Minimal configuration is required -because Keptn hooks directly into Kubernetes primitives. - -The Keptn metrics feature -integrates metrics from any number of metrics providers into a single set of metrics. -This makes it easier to use than the -[Kubernetes metric server](https://github.com/kubernetes-sigs/metrics-server), -which requires that you maintain point-to-point integrations -from each source -- Argo Rollouts, Flux, KEDA, HPA, etc. -Each has plugins but it is difficult to maintain them, -especially if you are using multiple tools, -multiple observability platforms, -and multiple instances of some tools or observability platforms. - -## Using this exercise - -This exercise runs on a -[kind](https://kind.sigs.k8s.io/) -cluster that you set up locally -but could be run on any Kubernetes cluster. - -1. [Set up the cluster](#set-up-the-cluster) - by creating a local Kubernetes cluster, - installing an instance of Prometheus to use as a data source, - and installing Keptn on the cluster. -1. [Configure Keptn for your metrics](#configure-keptn-for-your-metrics) - by defining custom resources - for each data provider and each piece of data you use. -1. Run the metrics - -If you want to create your own cluster to run this exercise, -follow the instructions in [Installation](../installation/index.md). - -## Set up the cluster - -1. Create the kind cluster: - - ```shell - kind create cluster - ``` - -1. Install and configure Prometheus as your data source - - For this simple exercise, we use on instance of - [kube-prometheus-stack](https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack) - as our data source. - In actual practice, you can use multiple instances - of multiple types of data sources to gather your metrics. - - Use the following command sequence to install an instance of Prometheus: - - ```shell - helm repo add prometheus-community https://prometheus-community.github.io/helm-charts - helm repo update - helm install kube-prom-stack prometheus-community/kube-prometheus-stack - - ``` - -1. Install Keptn on your cluster - - Use the following command sequence to install Keptn on your cluster: - - ```shell - helm repo add keptn https://charts.lifecycle.keptn.sh/ - helm repo update - helm upgrade --install keptn keptn/keptn -n keptn-system --create-namespace --wait - ``` - - For more details about how to install Keptn, see the - [Installation Guide](../installation/index.md). - - > **Note** If you are installing Keptn on a cluster that has an existing - [custom metrics API](https://kubernetes.io/docs/reference/external-api/custom-metrics.v1beta2/) - defined, you must first set `customMetricsAPIService.enabled` helm value to `false` - to avoid Keptn installing its own custom metrics API. - - ```shell - helm upgrade --install keptn keptn/keptn -n keptn-system --create-namespace --wait --set metricsOperator.customMetricsAPIService.enabled=false - ``` - -### Expose Prometheus and get an existing metric - -Now we need to expose Prometheus -and chose an existing metric to use for this exercise. - -1. Use port forwarding to expose prometheus and find a suitable metric: - - ```shell - kubectl get svc - ``` - - This command shows multiple services. - Look for the Prometheus UI (the one on port `9090`) - which should be called `prometheus-operated` (no typo). - -1. Port forward to access the UI: - - ```shell - kubectl -n default port-forward svc/prometheus-operated 9090 - ``` - -1. Go to `http://localhost:9090/` and, in the search box, - type `prometheus_` and select `pr`. - This produces a list of metrics that are defined - -1. For this exercise, we are going to use a single metric. - In real practice, you would be defining many metrics. - Choose a metric that has a non-zero value. - For example: - - ```shell - prometheus_http_requests_total{code="200", container="prometheus", \ - endpoint="http-web", handler="/-/healthy", instance="10.244.0.15:9090", \ - job="kube-prom-stack-kube-prome-prometheus", namespace="default",\ - pod="prometheus-kube-prom-stack-kube-prome-prometheus-0", \ - service="kube-prom-stack-kube-prome-prometheus"} - - ``` - - For a cleaner display, remove some attributes: - - ```shell - prometheus_http_requests_total{code="200", container="prometheus", \ - endpoint="http-web", handler="/-/healthy", \ - job="kube-prom-stack-kube-prome-prometheus", namespace="default", \ - service="kube-prom-stack-kube-prome-prometheus"} - ``` - - This is your metric and value as it is stored in Prometheus. - -## Configure Keptn for your metrics - -Now you must tell Keptn about the metrics you are using.j -You do this by defining: - -- A - [KeptnMetricsProvider](../reference/crd-reference/metricsprovider.md) - resource to define the external observability platform you are using - as a data source. - For this exercise, this is the Prometheus server - you installed and exposed above. -- A - [KeptnMetric](../reference/crd-reference/metric.md) - resource to define each metric query you want to pull. - -The steps are: - -1. Create a - [KeptnMetricsProvider](../reference/crd-reference/metricsprovider.md/) - resource for the observability platform you are using as a data source. - To do this, create a new `.yml` file with content like the following: - - ```yaml - apiVersion: metrics.keptn.sh/v1 - kind: KeptnMetricsProvider - metadata: - name: local-prometheus - namespace: default - spec: - type: prometheus - targetServer: "http://prometheus-operated.default.svc.cluster.local:9090/" - ``` - - You can specify a virtually unlimited number of providers, - including multiple instances of each observability platform. - Each one must be assigned a unique `name`, - identified by the `type` of platform it is - and the URL of the target server. - If the target server is protected by a Secret, - provide information about the token and key. - - Keptn uses the `name` you assign to reference this data source. - - The `targetServer` field tells Keptn where to find this data source; - in this case, it points to a prometheus API endpoint on port 9090. - - Apply this file with the following command: - - ```shell - kubectl apply -f YOUR-KEPTN-METRIC-PROVIDER.yml - ``` - -1. Define your - [KeptnMetric](../reference/crd-reference/metric.md/) - custom resource for each piece of data you want to pull - (in this case, the Prometheus query for the metric you selected). - - This is where you use the Prometheus query from before. - Note: The namespaces of `KeptnMetricsProvider` and `KeptnMetric` must match. - - ```yaml - apiVersion: metrics.keptn.sh/v1 - kind: KeptnMetric - metadata: - name: prometheus-http-requests-total - namespace: default - spec: - provider: - name: local-prometheus - query: 'prometheus_http_requests_total{code="200", handler="/-/healthy", job="kube-prom-stack-kube-prome-prometheus", namespace="default", service="kube-prom-stack-kube-prome-prometheus"}' - fetchIntervalSeconds: 10 - ``` - - This data is pulled and fetched continuously - at an interval you specify for each specific bit of data. - Data is available through the resource - and through the data provider itself, - as well as the Kubernetes CLI. - -### Define KeptnMetric information - -The [KeptnMetric](../reference/crd-reference/metric.md) resource -defines the information you want to gather, -specified as a query for the particular observability platform -you are using. -You can define any type of metric from any data source. - -In our example, we define two bits of information to retrieve: - -- Number of CPUs, derived from the `dev-prometheus` data platform -- `availability` SLO, derived from the `dev-dynatrace` data platform - -Each of these are configured to fetch data every 10 seconds -but you could configure a different `fetchIntervalSeconds` value -for each metric. - -Note the following: - -- Populate one YAML file per metric - then apply all of them. -- Each metric is assigned a unique `name`. -- The value of the `spec.provider.name` field in the `KeptnMetric` resource - must correspond to the name assigned in - the `metadata.name` field of a `KeptnMetricsProvider` resource. -- Information is fetched in on a continuous basis - at a rate specified - by the value of the `spec.fetchIntervalSeconds` field. - -## View available metrics - -Keptn automatically starts pulling the metrics -(every `fetchIntervalSeconds` seconds): - -```shell -kubectl -n default get keptnmetrics -``` - -The above command should show: - -```shell -NAME PROVIDER QUERY INTERVAL VALUE -prometheus-http-requests-total local-prometheus prometheus_http_requests_total{code="200", handler="/-/healthy", job="kube-prom-stack-kube-prome-prometheus", namespace="default", service="kube-prom-stack-kube-prome-prometheus"} 756 -``` - -or to retrieve a specific KeptnMetric value: - -```shell -kubectl -n default get keptnmetric/prometheus-http-requests-total -``` - -Use the following command to view -the metrics that are configured in your cluster: - -```shell -kubectl get KeptnMetrics -A -``` - -## Run the metrics - -As soon as you define your `KeptnMetricsProvider` and `KeptnMetric` resources, -Keptn begins collecting the metrics you defined. -You do not need to do anything else. - -## Observing the metrics - -The metrics can be retrieved -through CRs and through the Kubernetes Metric API. - -The syntax to retrieve metrics from the CR is: - -```shell -kubectl get keptnmetrics.metrics.keptn.sh -n -``` - -The syntax to retrieve metrics through the Kubernetes API is: - -```yaml -kubectl get --raw "/apis/custom.metrics.k8s.io/v1beta2/namespaces//keptnmetrics.metrics.sh//" -``` - -You can also display the metrics graphically using a dashboard such as Grafana. - -## Learn more - -To learn more about the Keptn Metrics Server, see: - -- Architecture: - [Keptn Metrics Operator](../components/metrics-operator.md) -- More information about implementing Keptn Metrics: - [Keptn Metrics](../guides/evaluatemetrics.md) -- How to integrate Keptn metrics with - the Kubernetes HorizontalPodAutoscaler (HPA) - to provide autoscaling for the cluster: - [Using the HorizontalPodAutoscaler](../use-cases/hpa.md) diff --git a/docs/docs/getting-started/observability.md b/docs/docs/getting-started/observability.md deleted file mode 100644 index cfc429346f..0000000000 --- a/docs/docs/getting-started/observability.md +++ /dev/null @@ -1,483 +0,0 @@ ---- -comments: true ---- - -# Keptn Observability - -Keptn provides sophisticated observability features -that enhance your existing cloud-native deployment environment. -These features are useful whether or not you use a GitOps strategy. - -The following is an imperative walkthrough. - -## Prerequisites - -- [Docker](https://docs.docker.com/get-started/overview/) -- [kubectl](https://kubernetes.io/docs/reference/kubectl/) -- [Helm](https://helm.sh/docs/intro/install/) -- A Kubernetes cluster >= 1.27 (we recommend [Kubernetes kind](https://kind.sigs.k8s.io/docs/user/quick-start/)) - (`kind create cluster`) - -## Objectives - -- Install Keptn on your cluster -- Annotate a namespace and deployment to enable Keptn -- Install Grafana and Observability tooling to view DORA metrics and OpenTelemetry traces - -## System Overview - -By the end of this page, here is what will be built. -The system will be built in stages. - -![system overview](./assets/install01.png) - -## The Basics: A Deployment, Keptn and DORA Metrics - -To begin our exploration of the Keptn observability features, we will: - -- Deploy a simple application called `keptndemo`. - -Keptn will monitor the deployment and generate: - -- An OpenTelemetry trace per deployment -- DORA metrics - -![the basics](./assets/install02.png) - -Notice though that the metrics and traces have nowhere to go. -That will be fixed in a subsequent step. - -## Step 1: Install Keptn - -Install Keptn using Helm: - -```shell -helm repo add keptn https://charts.lifecycle.keptn.sh -helm repo update -helm upgrade --install keptn keptn/keptn -n keptn-system --create-namespace --wait -``` - -Keptn will need to know where to send OpenTelemetry traces. -Of course, Jaeger is not yet installed so traces have nowhere to go (yet), -but creating this configuration now means the system is preconfigured. - -Save this file as `keptnconfig.yaml`. -It doesn't matter where this file is located on your local machine: - -```yaml ---- -apiVersion: options.keptn.sh/v1alpha1 -kind: KeptnConfig -metadata: - name: keptnconfig-sample - namespace: keptn-system -spec: - OTelCollectorUrl: 'jaeger-collector.keptn-system.svc.cluster.local:4317' - keptnAppCreationRequestTimeoutSeconds: 30 - observabilityTimeout: 5m -``` - -Apply the file and wait for Keptn to pick up the new configuration: - -```shell -kubectl apply -f keptnconfig.yaml -``` - -Keptn reacts immediately to a configuration change. -although the speed depends on the Kubernetes API server signaling updates -and can be influenced by network latency. - -## Step 2: Create Namespace for Demo Application - -Save this file as `namespace.yaml`. -The annotation means that Keptn is active for workloads in this namespace. - -```yaml -apiVersion: v1 -kind: Namespace -metadata: - name: keptndemo - annotations: - keptn.sh/lifecycle-toolkit: enabled -``` - -Create the namespace: - -```shell -kubectl apply -f namespace.yaml -``` - -## Step 3: Deploy Demo Application - -It is time to deploy the demo application. - -Save this manifest as `app.yaml`: - -```yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: nginx-deployment - namespace: keptndemo - labels: - app.kubernetes.io/name: nginx -spec: - replicas: 1 - selector: - matchLabels: - app.kubernetes.io/name: nginx - template: - metadata: - labels: - app.kubernetes.io/part-of: keptndemoapp - app.kubernetes.io/name: nginx - app.kubernetes.io/version: 0.0.1 - spec: - containers: - - name: nginx - image: nginx:1.14.2 - ports: - - containerPort: 80 ---- -apiVersion: apps/v1 -kind: Service -apiVersion: v1 -kind: Service -metadata: - name: nginx - namespace: keptndemo -spec: - selector: - app.kubernetes.io/name: nginx - ports: - - protocol: TCP - port: 8080 - targetPort: 80 -``` - -Now apply it: - -```shell -kubectl apply -f app.yaml -``` - -Keptn looks for these 3 labels: - -- `app.kubernetes.io/part-of` -- `app.kubernetes.io/name` -- `app.kubernetes.io/version` - -These are [Kubernetes recommended labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/common-labels/#labels) -but if you want to use different labels, you can swap them for these Keptn specific labels: - -- `keptn.sh/app` instead of `app.kubernetes.io/part-of` -- `keptn.sh/workload` instead of `app.kubernetes.io/name` -- `keptn.sh/version` instead of `app.kubernetes.io/version` - -## Step 4: Explore Keptn - -Keptn is now aware of your deployments and is generating DORA statistics about them. - -Keptn has created a resource called a `KeptnApp` to track your application. -The name of which is based on the `part-of` label. - -It may take up to 30 seconds to create the `KeptnApp` so run the following command until you see the `keptnappdemo` CR. - -```shell -kubectl -n keptndemo get keptnapp -``` - -Expected output: - -```shell -NAME AGE -keptndemoapp 2s -``` - -Keptn also creates a new application version every time you increment the `version` label. - -The `PHASE` will change as the deployment progresses. -A successful deployment is shown as `PHASE=Completed` - -```shell -kubectl -n keptndemo get keptnappversion -``` - -Expected output: - -```shell -NAME APPNAME VERSION PHASE -keptndemoapp-0.0.1-*** keptndemoapp 0.0.1 Completed -``` - -Keptn can run tasks and SLO (Service Level Objective) evaluations before and after deployment. -You haven't configured this yet, but you can see the full lifecycle for a `keptnappversion` by running: - -```shell -kubectl -n keptndemo get keptnappversion -o wide -``` - -Keptn applications are a collection of workloads. -By default, Keptn will build a `KeptnApp` resource based on the labels you provide. - -In the example above, the `KeptnApp` called `keptndemoapp` contains one `KeptnWorkload` -(based on the `app.kubernetes.io/name` label): - -## Step 5: View your application - -Port-forward to expose your app on `http://localhost:8080`: - -```shell -kubectl -n keptndemo port-forward svc/nginx 8080 -``` - -Open a browser window and go to `http://localhost:8080` - -You should see the "Welcome to nginx" page. - -![nginx demo app](./assets/nginx.png) - -## Step 6: View DORA Metrics - -Keptn is generating DORA metrics and OpenTelemetry traces for your deployments. - -These metrics are exposed via the Keptn lifecycle operator `/metrics` endpoint on port `2222`. - -To see these raw metrics, port forward to the lifecycle operator metrics service: - -```shell -SERVICE=$(kubectl get svc -l control-plane=lifecycle-operator -A -ojsonpath="{.items[0].metadata.name}") -kubectl -n keptn-system port-forward svc/$SERVICE 2222 -``` - -Note that this command will (and should) continue to run in your terminal windows. -Open a new terminal window to continue. - -- Access metrics in Prometheus format on `http://localhost:2222/metrics` -- Look for metrics starting with `keptn_` - -![keptn prometheus metrics](./assets/keptnprommetrics.png) - -Keptn emits various metrics about the state of your system. -These metrics can then be visualised in Grafana. - -For example: - -- `keptn_app_active` tracks the number of applications that Keptn manages -- `keptn_deployment_active` tracks the currently live number of deployments occurring. - Expect this metric to be `0` when everything is currently deployed. - It will occasionally rise to `n` during deployments and then fall back to `0` when deployments are completed. - -There are many other Keptn metrics. - -## Step 7: Make DORA metrics more user friendly - -It is much more user-friendly to provide dashboards for metrics, logs and traces. -So let's install new Observability components to help us: - -- [Cert manager](https://cert-manager.io): Jaeger requires cert-manager -- [Jaeger](https://jaegertracing.io): Store and view DORA deployment traces -- [OpenTelemetry collector](https://opentelemetry.io/docs/collector/): Scrape metrics from the above DORA metrics endpoint - & forward to Prometheus. - In this guide, we will use the OTel collector that comes bundled with the Jaeger `allInOne` image. -- [Prometheus](https://prometheus.io): Store DORA metrics -- [Grafana](https://grafana.com) (and some prebuilt dashboards): Visualise the data - -![add observability](./assets/install01.png) - -## Step 8: Install Cert Manager - -Jaeger requires Cert Manager, so install it now: - -```shell -kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.12.2/cert-manager.crds.yaml -helm repo add jetstack https://charts.jetstack.io -helm repo update -helm install cert-manager --namespace cert-manager --version v1.12.2 jetstack/cert-manager --create-namespace --wait -``` - -## Step 9: Install Jaeger - -Save this file as `jaeger.yaml` (it can be saved anywhere on your computer): - -```yaml -apiVersion: jaegertracing.io/v1 -kind: Jaeger -metadata: - name: jaeger -spec: - strategy: allInOne -``` - -Install Jaeger to store and visualise the deployment traces generated by Keptn: - -```shell -kubectl create namespace observability -kubectl apply -f https://github.com/jaegertracing/jaeger-operator/releases/download/v1.46.0/jaeger-operator.yaml -n observability -kubectl wait --for=condition=available deployment/jaeger-operator -n observability --timeout=300s -kubectl apply -f jaeger.yaml -n keptn-system -kubectl wait --for=condition=available deployment/jaeger -n keptn-system --timeout=300s -``` - -Port-forward to access Jaeger: - -```shell -kubectl -n keptn-system port-forward svc/jaeger-query 16686 -``` - -Jaeger is available on `http://localhost:16686` - -## Step 10: Install Grafana dashboards - -Create some Keptn Grafana dashboards that will be available when Grafana is installed and started: - - -```shell -kubectl create ns monitoring -kubectl apply -f https://raw.githubusercontent.com/keptn/lifecycle-toolkit/keptn-v2.5.0/examples/support/observability/config/prometheus/grafana-config.yaml -kubectl apply -f https://raw.githubusercontent.com/keptn/lifecycle-toolkit/keptn-v2.5.0/examples/support/observability/config/prometheus/grafana-dashboard-keptn-applications.yaml -kubectl apply -f https://raw.githubusercontent.com/keptn/lifecycle-toolkit/keptn-v2.5.0/examples/support/observability/config/prometheus/grafana-dashboard-keptn-overview.yaml -kubectl apply -f https://raw.githubusercontent.com/keptn/lifecycle-toolkit/keptn-v2.5.0/examples/support/observability/config/prometheus/grafana-dashboard-keptn-workloads.yaml -``` - - -### Install Grafana datasources - -This file will configure Grafana to look at the Jaeger service and the Prometheus service on the cluster. - -Save this file as `datasources.yaml`: - -```yaml -apiVersion: v1 -kind: Secret -type: Opaque -metadata: - labels: - grafana_datasource: "1" - name: grafana-datasources - namespace: monitoring -stringData: - datasources.yaml: |- - { - "apiVersion": 1, - "datasources": [ - { - "access": "proxy", - "editable": false, - "name": "prometheus", - "orgId": 1, - "type": "prometheus", - "url": "http://observability-stack-kube-p-prometheus.monitoring.svc:9090", - "version": 1 - }, - { - "orgId":1, - "name":"Jaeger", - "type":"jaeger", - "typeName":"Jaeger", - "typeLogoUrl":"public/app/plugins/datasource/jaeger/img/jaeger_logo.svg", - "access":"proxy", - "url":"http://jaeger-query.keptn-system.svc.cluster.local:16686", - "user":"", - "database":"", - "basicAuth":false, - "isDefault":false, - "jsonData":{"spanBar":{"type":"None"}}, - "readOnly":false - } - ] - } -``` - -Now apply it: - -```shell -kubectl apply -f datasources.yaml -``` - -## Step 11: Install kube prometheus stack - -This will install: - -- Prometheus -- Prometheus Configuration -- Grafana & default dashboards - -Save this file as `values.yaml`: - -```yaml -grafana: - adminPassword: admin - sidecar: - datasources: - defaultDatasourceEnabled: false -prometheus: - prometheusSpec: - additionalScrapeConfigs: - - job_name: "scrape_klt" - scrape_interval: 5s - static_configs: - - targets: ['lifecycle-operator-metrics-service.keptn-system.svc.cluster.local:2222'] -``` - -```shell -helm repo add prometheus-community https://prometheus-community.github.io/helm-charts -helm repo update -helm upgrade --install observability-stack prometheus-community/kube-prometheus-stack --version 48.1.1 --namespace monitoring --values=values.yaml --wait -``` - -## Step 12: Access Grafana - -```shell -kubectl -n monitoring port-forward svc/observability-stack-grafana 80 -``` - -- Grafana username: `admin` -- Grafana password: `admin` - -View the Keptn dashboards at: `http://localhost/dashboards` - -Remember that Jaeger and Grafana weren't installed during the first deployment -so expect the dashboards to look a little empty. - -## Step 13: Deploy v0.0.2 and populate Grafana - -By triggering a new deployment, Keptn will track this deployment and the Grafana dashboards will actually have data. - -Modify your `app.yaml` and change the `app.kubernetes.io/version` from `0.0.1` to `0.0.2` -(or `keptn.sh/version` if you used the Keptn specific labels earlier). - -Apply your update: - -```shell -kubectl apply -f app.yaml -``` - -After about 30 seconds you should now see two `keptnappversions`: - -```shell -kubectl -n keptndemo get keptnappversion -``` - -Expected output: - -```shell -NAME APPNAME VERSION PHASE -keptndemoapp-0.0.1-*** keptndemoapp 0.0.1 Completed -keptndemoapp-0.0.2-*** keptndemoapp 0.0.2 AppDeploy -``` - -Wait until the `PHASE` of `keptndemoapp-0.0.2` is `Completed`. -This signals that the deployment was successful and the pod is running. - -View the Keptn Applications Dashboard and you should see the DORA metrics and an OpenTelemetry trace: - -![keptn applications dashboard](./assets/keptnapplications.png) - -![deployment trace](./assets/deploymenttrace.png) - -## What's next? - -Keptn can run pre and post deployment tasks and SLO evaluations automatically. - -Continue the Keptn learning journey by [adding deployment tasks](../guides/tasks.md). diff --git a/docs/docs/guides/assets/auto-app-discovery/deployments.yaml b/docs/docs/guides/assets/auto-app-discovery/deployments.yaml deleted file mode 100644 index 3eeeb6ae6b..0000000000 --- a/docs/docs/guides/assets/auto-app-discovery/deployments.yaml +++ /dev/null @@ -1,54 +0,0 @@ -apiVersion: v1 -kind: Namespace -metadata: - name: podtato-kubectl - annotations: - keptn.sh/lifecycle-toolkit: "enabled" - ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: podtato-head-frontend - namespace: podtato-kubectl -spec: - selector: - matchLabels: - app.kubernetes.io/name: podtato-head-frontend - template: - metadata: - labels: - app.kubernetes.io/name: podtato-head-frontend - app.kubernetes.io/part-of: podtato-head - app.kubernetes.io/version: 0.1.0 - spec: - containers: - - env: - - name: PODTATO_COMPONENT - value: frontend - name: podtato-head-frontend - image: ghcr.io/podtato-head/podtato-server:v0.3.1 ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: podtato-head-hat - namespace: podtato-kubectl -spec: - selector: - matchLabels: - app.kubernetes.io/name: podtato-head-hat - replicas: 1 - template: - metadata: - labels: - app.kubernetes.io/name: podtato-head-hat - app.kubernetes.io/part-of: podtato-head - app.kubernetes.io/version: 0.1.1 - spec: - containers: - - env: - - name: PODTATO_COMPONENT - value: hat - name: podtato-head-hat - image: ghcr.io/podtato-head/podtato-server:v0.3.1 diff --git a/docs/docs/guides/assets/auto-app-discovery/keptnapp-metadata.yaml b/docs/docs/guides/assets/auto-app-discovery/keptnapp-metadata.yaml deleted file mode 100644 index 87a8747b65..0000000000 --- a/docs/docs/guides/assets/auto-app-discovery/keptnapp-metadata.yaml +++ /dev/null @@ -1,3 +0,0 @@ -metadata: - name: simpleapp - namespace: simplenode-dev diff --git a/docs/docs/guides/assets/auto-app-discovery/keptnapp.yaml b/docs/docs/guides/assets/auto-app-discovery/keptnapp.yaml deleted file mode 100644 index 373af8fafa..0000000000 --- a/docs/docs/guides/assets/auto-app-discovery/keptnapp.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: lifecycle.keptn.sh/v1 -kind: KeptnApp -metadata: - name: podtato-head - namespace: podtato-kubectl - annotations: - app.kubernetes.io/managed-by: "keptn" -spec: - version: "" - workloads: - - name: podtato-head-frontend - version: 0.1.0 - - name: podtato-head-hat - version: 1.1.1 diff --git a/docs/docs/guides/assets/dynatrace_dora_dashboard.png b/docs/docs/guides/assets/dynatrace_dora_dashboard.png deleted file mode 100644 index 3318a4303f..0000000000 Binary files a/docs/docs/guides/assets/dynatrace_dora_dashboard.png and /dev/null differ diff --git a/docs/docs/guides/assets/linkedtrace.png b/docs/docs/guides/assets/linkedtrace.png deleted file mode 100644 index 8a1266194c..0000000000 Binary files a/docs/docs/guides/assets/linkedtrace.png and /dev/null differ diff --git a/docs/docs/guides/assets/metadata/keptn-app-context.yaml b/docs/docs/guides/assets/metadata/keptn-app-context.yaml deleted file mode 100644 index c5aefb85f4..0000000000 --- a/docs/docs/guides/assets/metadata/keptn-app-context.yaml +++ /dev/null @@ -1,9 +0,0 @@ -apiVersion: lifecycle.keptn.sh/v1 -kind: KeptnAppContext -metadata: - name: keptndemoapp - namespace: keptndemo -spec: - metadata: - commit-id: "1234" - author: "myUser" diff --git a/docs/docs/guides/assets/metric-providers.yaml b/docs/docs/guides/assets/metric-providers.yaml deleted file mode 100644 index dc25e3957a..0000000000 --- a/docs/docs/guides/assets/metric-providers.yaml +++ /dev/null @@ -1,39 +0,0 @@ -apiVersion: metrics.keptn.sh/v1 -kind: KeptnMetricsProvider -metadata: - name: dev-prometheus - namespace: podtato-kubectl -spec: - type: prometheus - targetServer: "" - secretKeyRef: - name: prometheus-secret ---- -apiVersion: v1 -kind: Secret -metadata: - name: prometheus-secret -data: - password: password - user: user -type: Opaque ---- -apiVersion: metrics.keptn.sh/v1 -kind: KeptnMetricsProvider -metadata: - name: dev-dynatrace - namespace: podtato-kubectl -spec: - type: dynatrace | dql - targetServer: "" - secretKeyRef: - name: dt-api-token - key: myCustomTokenKey ---- -apiVersion: v1 -kind: Secret -metadata: - name: dt-api-token -data: - myCustomTokenKey: my-token -type: Opaque diff --git a/docs/docs/guides/assets/metric.yaml b/docs/docs/guides/assets/metric.yaml deleted file mode 100644 index fb7b8a1ecf..0000000000 --- a/docs/docs/guides/assets/metric.yaml +++ /dev/null @@ -1,21 +0,0 @@ -apiVersion: metrics.keptn.sh/v1 -kind: KeptnMetric -metadata: - name: available-cpus - namespace: simplenode-dev -spec: - provider: - name: dev-prometheus - query: "sum(kube_node_status_capacity{resources`cpu`})" - fetchIntervalSeconds: 10 ---- -apiVersion: metrics.keptn.sh/v1 -kind: KeptnMetric -metadata: - name: availability-slo - namespace: simplenode-dev -spec: - provider: - name: dev-dynatrace - query: "func:slo.availability_simplenodeservice" - fetchIntervalSeconds: 10 diff --git a/docs/docs/guides/assets/multi-stage-delivery/application-dev.yaml b/docs/docs/guides/assets/multi-stage-delivery/application-dev.yaml deleted file mode 100644 index 403aa72aff..0000000000 --- a/docs/docs/guides/assets/multi-stage-delivery/application-dev.yaml +++ /dev/null @@ -1,101 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: podtato-head-frontend - namespace: podtato-head-dev -spec: - selector: - matchLabels: - app: podtato-head-frontend - template: - metadata: - labels: - app: podtato-head-frontend - app.kubernetes.io/name: podtato-head-frontend - app.kubernetes.io/part-of: podtato-head - app.kubernetes.io/version: {{.Values.serviceVersion}} - spec: - containers: - - image: ghcr.io/podtato-head/podtato-server:{{.Values.serviceVersion}} - name: podtato-head-service - imagePullPolicy: Always - ports: - - containerPort: 9000 - name: http - protocol: TCP ---- -apiVersion: v1 -kind: Service -metadata: - labels: - app.kubernetes.io/part-of: podtato-head - name: podtato-head-frontend - namespace: podtato-head-dev -spec: - ports: - - name: http - port: 8080 - targetPort: 9000 - protocol: TCP - selector: - app: podtato-head-frontend - type: ClusterIP ---- -apiVersion: lifecycle.keptn.sh/v1 -kind: KeptnAppContext -metadata: - name: podtato-head - namespace: podtato-head-dev -spec: - postDeploymentTasks: - - post-deployment - promotionTasks: - - promote - metadata: - commitID: {{.Values.commitID}} ---- -apiVersion: lifecycle.keptn.sh/v1 -kind: KeptnTaskDefinition -metadata: - name: post-deployment - namespace: podtato-head-dev -spec: - deno: - inline: - code: | - console.log("deployment completed"); ---- -apiVersion: lifecycle.keptn.sh/v1 -kind: KeptnTaskDefinition -metadata: - name: promote - namespace: podtato-head-dev -spec: - deno: - secureParameters: - secret: github-token - inline: - code: | - let secureDataText = Deno.env.get("SECURE_DATA"); - let secureData; - if (secureDataText != "") { - secureData = JSON.parse(secureDataText); - } - let contextText = Deno.env.get("KEPTN_CONTEXT"); - let context; - if (contextText != "") { - context = JSON.parse(contextText); - } - let body = `{"ref":"main","inputs":{"traceParent":"${context.metadata.traceparent}"}}`; - let resp = await fetch( - "https://api.github.com/repos/" + secureData.githubRepoOwner + "/" + secureData.githubRepo + "/actions/workflows/promote.yaml/dispatches", - { - method: "POST", - body: body, - headers: { - 'Accept': 'application/vnd.github+json', - 'Authorization': `Bearer ${secureData.apiToken}`, - 'X-GitHub-Api-Version': '2022-11-28' - }, - }); - console.log(resp); diff --git a/docs/docs/guides/assets/multi-stage-delivery/application-production.yaml b/docs/docs/guides/assets/multi-stage-delivery/application-production.yaml deleted file mode 100644 index 7e1f7985b9..0000000000 --- a/docs/docs/guides/assets/multi-stage-delivery/application-production.yaml +++ /dev/null @@ -1,53 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: podtato-head-frontend - namespace: podtato-head-production -spec: - selector: - matchLabels: - app: podtato-head-frontend - template: - metadata: - labels: - app: podtato-head-frontend - app.kubernetes.io/name: podtato-head-frontend - app.kubernetes.io/part-of: podtato-head - app.kubernetes.io/version: {{.Values.serviceVersion}} - spec: - containers: - - image: ghcr.io/podtato-head/podtato-server:{{.Values.serviceVersion}} - name: podtato-head-service - imagePullPolicy: Always - ports: - - containerPort: 9000 - name: http - protocol: TCP ---- -apiVersion: v1 -kind: Service -metadata: - labels: - app.kubernetes.io/part-of: podtato-head - name: podtato-head-frontend - namespace: podtato-head-production -spec: - ports: - - name: http - port: 8080 - targetPort: 9000 - protocol: TCP - selector: - app: podtato-head-frontend - type: ClusterIP ---- -apiVersion: lifecycle.keptn.sh/v1 -kind: KeptnAppContext -metadata: - name: podtato-head - namespace: podtato-head-production -spec: - metadata: - commitID: {{.Values.commitID}} - spanLinks: - - {{.Values.traceParent}} # (1)! diff --git a/docs/docs/guides/assets/multi-stage-delivery/argo-app-dev.yaml b/docs/docs/guides/assets/multi-stage-delivery/argo-app-dev.yaml deleted file mode 100644 index 965c44461e..0000000000 --- a/docs/docs/guides/assets/multi-stage-delivery/argo-app-dev.yaml +++ /dev/null @@ -1,24 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: podtato-head-dev - namespace: argocd -spec: - project: default - source: - repoURL: 'https://github.com//' - path: dev - targetRevision: main - helm: - parameters: - - name: "commitID" # (1)! - value: "$ARGOCD_APP_REVISION" - destination: - server: 'https://kubernetes.default.svc' - namespace: podtato-head-dev - syncPolicy: - automated: - prune: true - selfHeal: true - syncOptions: - - CreateNamespace=true diff --git a/docs/docs/guides/assets/multi-stage-delivery/argo-app-production.yaml b/docs/docs/guides/assets/multi-stage-delivery/argo-app-production.yaml deleted file mode 100644 index f439eb34e0..0000000000 --- a/docs/docs/guides/assets/multi-stage-delivery/argo-app-production.yaml +++ /dev/null @@ -1,24 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: podtato-head-prod - namespace: argocd -spec: - project: default - source: - repoURL: 'https://github.com//' - path: production - targetRevision: main - helm: - parameters: - - name: "commitID" # (1)! - value: "$ARGOCD_APP_REVISION" - destination: - server: 'https://kubernetes.default.svc' - namespace: podtato-head-production - syncPolicy: - automated: - prune: true - selfHeal: true - syncOptions: - - CreateNamespace=true diff --git a/docs/docs/guides/assets/multi-stage-delivery/chart.yaml b/docs/docs/guides/assets/multi-stage-delivery/chart.yaml deleted file mode 100644 index d8ad408b07..0000000000 --- a/docs/docs/guides/assets/multi-stage-delivery/chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: podtato-head -kubeVersion: ">= 1.27.0-0" -type: application -version: 0.1.0 -appVersion: "v0.1.0" diff --git a/docs/docs/guides/assets/multi-stage-delivery/dev2prod-pr.png b/docs/docs/guides/assets/multi-stage-delivery/dev2prod-pr.png deleted file mode 100644 index 495dcbbcd0..0000000000 Binary files a/docs/docs/guides/assets/multi-stage-delivery/dev2prod-pr.png and /dev/null differ diff --git a/docs/docs/guides/assets/multi-stage-delivery/promote.yaml b/docs/docs/guides/assets/multi-stage-delivery/promote.yaml deleted file mode 100644 index a2c67f6f19..0000000000 --- a/docs/docs/guides/assets/multi-stage-delivery/promote.yaml +++ /dev/null @@ -1,46 +0,0 @@ -name: promote - -on: - workflow_dispatch: - inputs: - traceParent: - description: 'OTEL parent trace' - required: false - type: string - -permissions: - contents: write - pull-requests: write - -jobs: - promote: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - run: | - # configure git client - git config --global user.email "" - git config --global user.name "" - - # create a new branch - git switch -c production/${{ github.sha }} - - # promote the change - cp dev/values.yaml production/values.yaml - - echo "traceParent: $TRACE_PARENT" >> production/values.yaml - - # push the change to the new branch - git add production/values.yaml - git commit -m "Promote dev to production" - git push -u origin production/${{ github.sha }} - env: - TRACE_PARENT: ${{ inputs.traceParent }} - - run: | - gh pr create \ - -B main \ - -H production/${{ github.sha }} \ - --title "Promote dev to production" \ - --body "Automatically created by GHA" - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/docs/docs/guides/assets/multi-stage-delivery/trace.png b/docs/docs/guides/assets/multi-stage-delivery/trace.png deleted file mode 100644 index f954ab1f17..0000000000 Binary files a/docs/docs/guides/assets/multi-stage-delivery/trace.png and /dev/null differ diff --git a/docs/docs/guides/assets/multi-stage-delivery/values-dev-updated.yaml b/docs/docs/guides/assets/multi-stage-delivery/values-dev-updated.yaml deleted file mode 100644 index 2901cc841f..0000000000 --- a/docs/docs/guides/assets/multi-stage-delivery/values-dev-updated.yaml +++ /dev/null @@ -1,2 +0,0 @@ -serviceVersion: v0.3.1 -commitID: "" # (1)! diff --git a/docs/docs/guides/assets/multi-stage-delivery/values-dev.yaml b/docs/docs/guides/assets/multi-stage-delivery/values-dev.yaml deleted file mode 100644 index 911eaef718..0000000000 --- a/docs/docs/guides/assets/multi-stage-delivery/values-dev.yaml +++ /dev/null @@ -1,2 +0,0 @@ -serviceVersion: v0.3.0 -commitID: "" # (1)! diff --git a/docs/docs/guides/assets/multi-stage-delivery/values-production.yaml b/docs/docs/guides/assets/multi-stage-delivery/values-production.yaml deleted file mode 100644 index d921d28838..0000000000 --- a/docs/docs/guides/assets/multi-stage-delivery/values-production.yaml +++ /dev/null @@ -1,3 +0,0 @@ -serviceVersion: v0.3.0 -commitID: "" # (1)! -traceParent: "" # (2)! diff --git a/docs/docs/guides/assets/multi-stage-delivery/workflow-permissions.png b/docs/docs/guides/assets/multi-stage-delivery/workflow-permissions.png deleted file mode 100644 index c092ebda61..0000000000 Binary files a/docs/docs/guides/assets/multi-stage-delivery/workflow-permissions.png and /dev/null differ diff --git a/docs/docs/guides/assets/otel/keptn-app-context-span.yaml b/docs/docs/guides/assets/otel/keptn-app-context-span.yaml deleted file mode 100644 index 14443a8485..0000000000 --- a/docs/docs/guides/assets/otel/keptn-app-context-span.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: lifecycle.keptn.sh/v1 -kind: KeptnAppContext -metadata: - name: keptndemoapp - namespace: keptndemo -spec: - metadata: - commit-id: "1234" - author: "myUser" - spanLinks: - - "00-c088f5c586bab8649159ccc39a9862f7-f862289833f1fba3-01" diff --git a/docs/docs/guides/assets/restart-application-deployment/app-full.yaml b/docs/docs/guides/assets/restart-application-deployment/app-full.yaml deleted file mode 100644 index cd103d4d0e..0000000000 --- a/docs/docs/guides/assets/restart-application-deployment/app-full.yaml +++ /dev/null @@ -1,57 +0,0 @@ -apiVersion: v1 -kind: Namespace -metadata: - name: restartable-apps - annotations: - keptn.sh/lifecycle-toolkit: "enabled" ---- -apiVersion: lifecycle.keptn.sh/v1 -kind: KeptnAppContext -metadata: - name: podtato-head - namespace: restartable-apps -spec: - preDeploymentTasks: - - pre-deployment-check ---- -apiVersion: lifecycle.keptn.sh/v1 -kind: KeptnTaskDefinition -metadata: - name: pre-deployment-check - namespace: restartable-apps -spec: - deno: - inline: - code: | - console.error("I failed") - process.exit(1) ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: podtato-head-entry - namespace: restartable-apps - labels: - app: podtato-head -spec: - selector: - matchLabels: - component: podtato-head-entry - template: - metadata: - labels: - component: podtato-head-entry - keptn.sh/workload: podtato-head-entry - keptn.sh/app: podtato-head - keptn.sh/version: "0.1.2" - spec: - terminationGracePeriodSeconds: 5 - containers: - - name: server - image: ghcr.io/podtato-head/entry:0.2.7 - imagePullPolicy: Always - ports: - - containerPort: 9000 - env: - - name: PODTATO_PORT - value: "9000" diff --git a/docs/docs/guides/assets/restart-application-deployment/fixed-task.yaml b/docs/docs/guides/assets/restart-application-deployment/fixed-task.yaml deleted file mode 100644 index 21f1e75f94..0000000000 --- a/docs/docs/guides/assets/restart-application-deployment/fixed-task.yaml +++ /dev/null @@ -1,10 +0,0 @@ -apiVersion: lifecycle.keptn.sh/v1 -kind: KeptnTaskDefinition -metadata: - name: pre-deployment-check - namespace: restartable-apps -spec: - deno: - inline: - code: | - console.error("Success") diff --git a/docs/docs/guides/assets/restart-application-deployment/generated-app-bumped-revision.yaml b/docs/docs/guides/assets/restart-application-deployment/generated-app-bumped-revision.yaml deleted file mode 100644 index 624b4edcf6..0000000000 --- a/docs/docs/guides/assets/restart-application-deployment/generated-app-bumped-revision.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: lifecycle.keptn.sh/v1 -kind: KeptnApp -metadata: - name: podtato-head - namespace: restartable-apps -spec: - version: "0.1.2" - revision: 2 # Increased this value from 1 to 2 - workloads: - - name: podtato-head-entry - version: "0.1.2" diff --git a/docs/docs/guides/assets/restart-application-deployment/generated-app.yaml b/docs/docs/guides/assets/restart-application-deployment/generated-app.yaml deleted file mode 100644 index 7a6398792e..0000000000 --- a/docs/docs/guides/assets/restart-application-deployment/generated-app.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: lifecycle.keptn.sh/v1 -kind: KeptnApp -metadata: - name: podtato-head - namespace: restartable-apps - annotations: - app.kubernetes.io/managed-by: "keptn" -spec: - version: "0.1.2" - revision: 1 - workloads: - - name: podtato-head-entry - version: "0.1.2" diff --git a/docs/docs/guides/assets/tasks/dummy-task.yaml b/docs/docs/guides/assets/tasks/dummy-task.yaml deleted file mode 100644 index aee41a61e1..0000000000 --- a/docs/docs/guides/assets/tasks/dummy-task.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: lifecycle.keptn.sh/v1 -kind: KeptnTaskDefinition -metadata: - name: dummy-task - namespace: "default" -spec: - deno: - secureParameters: - secret: my-secret - inline: - code: | - let secret_text = Deno.env.get("SECURE_DATA"); - // secret_text = "foo" diff --git a/docs/docs/guides/assets/tasks/job-context.yaml b/docs/docs/guides/assets/tasks/job-context.yaml deleted file mode 100644 index c8f924957b..0000000000 --- a/docs/docs/guides/assets/tasks/job-context.yaml +++ /dev/null @@ -1,25 +0,0 @@ -apiVersion: batch/v1 -kind: Job -spec: - template: - spec: - containers: - - name: "my-task-container" - env: - - name: KEPTN_CONTEXT - value: '{ - "workloadName":"waiter-waiter", - "appName":"waiter", - "appVersion":"", - "workloadVersion":"0.4", - "taskType":"pre", - "objectType":"Workload", - "metadata":{ - "commit-id":"1234", - "stage":"dev", - "test-metadata":"test-metadata", - "traceparent": "00-traceid-spanid-01" - } - }' - - name: SCRIPT - value: /var/data/function.ts diff --git a/docs/docs/guides/assets/tasks/multi-secret.yaml b/docs/docs/guides/assets/tasks/multi-secret.yaml deleted file mode 100644 index 0fd91ccbb5..0000000000 --- a/docs/docs/guides/assets/tasks/multi-secret.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: lifecycle.keptn.sh/v1 -kind: KeptnTaskDefinition -metadata: - name: dummy-task - namespace: "default" -spec: - deno: - secureParameters: - secret: my-secret - inline: - code: | - let secret_text = Deno.env.get("SECURE_DATA"); - let secret_text_obj = JSON.parse(secret_text); - // secret_text_obj["foo"] = "bar" - // secret_text_obj["foo2"] = "bar2" diff --git a/docs/docs/guides/assets/tasks/secret-data.yaml b/docs/docs/guides/assets/tasks/secret-data.yaml deleted file mode 100644 index 4107484417..0000000000 --- a/docs/docs/guides/assets/tasks/secret-data.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: v1 -kind: Secret -metadata: - name: deno-demo-secret - namespace: default -type: Opaque -data: - SECURE_DATA: YmFyCg== # base64 encoded string, e.g. 'bar' diff --git a/docs/docs/guides/assets/tasks/slack.yaml b/docs/docs/guides/assets/tasks/slack.yaml deleted file mode 100644 index a36306bdeb..0000000000 --- a/docs/docs/guides/assets/tasks/slack.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: lifecycle.keptn.sh/v1 -kind: KeptnTaskDefinition -metadata: - name: slack-notification-dev -spec: - deno: - functionRef: - name: slack-notification - parameters: - map: - textMessage: "This is my configuration" - secureParameters: - secret: slack-token diff --git a/docs/docs/guides/assets/tasks/taskdef-secure-data.yaml b/docs/docs/guides/assets/tasks/taskdef-secure-data.yaml deleted file mode 100644 index 1c9e3ae121..0000000000 --- a/docs/docs/guides/assets/tasks/taskdef-secure-data.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: lifecycle.keptn.sh/v1 -kind: KeptnTaskDefinition -metadata: - name: deployment-hello - namespace: "default" -spec: - deno: - secureParameters: - secret: deno-demo-secret - inline: - code: | - console.log("Deployment Hello Task has been executed"); - - let foo = Deno.env.get('SECURE_DATA'); - console.log(foo); - Deno.exit(0); diff --git a/docs/docs/guides/assets/trace.png b/docs/docs/guides/assets/trace.png deleted file mode 100644 index 84254826c9..0000000000 Binary files a/docs/docs/guides/assets/trace.png and /dev/null differ diff --git a/docs/docs/guides/auto-app-discovery.md b/docs/docs/guides/auto-app-discovery.md deleted file mode 100644 index 1ffd700d04..0000000000 --- a/docs/docs/guides/auto-app-discovery.md +++ /dev/null @@ -1,65 +0,0 @@ ---- -comments: true ---- - -# Auto app discovery - -The automatically generated `KeptnApp` file -aggregates the workloads to include in the application, -based on annotations made to the workloads themselves. -This enables you to run Keptn observability features on your cluster. - -Afterward, you can monitor the status of the deployment using -a command like the following: - -```shell -kubectl get keptnworkloadversion -n podtato-kubectl -w -``` - -The generated `KeptnApp` file includes `metadata` -that names this `KeptnApp` and identifies the Namespace where it resides. - -```yaml -{% include "./assets/auto-app-discovery/keptnapp-metadata.yaml" %} -``` - -It also includes a `spec.workloads` list -that defines the workloads to be included. - -As an example, consider the following application, -consisting of multiple deployments, -which is going to be deployed into a Keptn-enabled namespace. -Note that: - -1. Keptn is enabled for the namespace where your application runs. -1. The `Deployment` workloads are annotated appropriately. - This example does not use other workloads. - -```yaml -{% include "./assets/auto-app-discovery/deployments.yaml" %} -``` - -Applying these resources results in the creation -of the following `KeptnApp` resource: - -```yaml -{% include "./assets/auto-app-discovery/keptnapp.yaml" %} -``` - -With the `KeptnApp` resource created, -you get observability of your application's deployments -by using the OpenTelemetry tracing features -that are provided by Keptn: - -![Application deployment trace](./assets/trace.png) - -To execute pre-/post-deployment checks for a `KeptnApp`, -create a `KeptnAppContext` with the same name and in the same `namespace` as the `KeptnApp`. -The `KeptnAppContext` contains a list of -pre-/post-deployment tasks, evaluations, and promotion tasks -that should be executed before and after the -workloads within the `KeptnApp` are deployed. - -See the [Getting started guide](../getting-started/lifecycle-management.md#more-control-over-the-application) -for more information on how to configure a `KeptnAppContext` -to execute pre-/post-deployment checks or promotion tasks. diff --git a/docs/docs/guides/dora.md b/docs/docs/guides/dora.md deleted file mode 100644 index 57707ada40..0000000000 --- a/docs/docs/guides/dora.md +++ /dev/null @@ -1,64 +0,0 @@ ---- -comments: true ---- - -# DORA Metrics - -DORA metrics are an industry-standard set of measurements -that are included in Keptn; -see the following for a description: - -- [What are DORA Metrics and Why Do They Matter?](https://codeclimate.com/blog/dora-metrics) -- [Are you an Elite DevOps Performer? - Find out with the Four Keys Project](https://cloud.google.com/blog/products/devops-sre/using-the-four-keys-to-measure-your-devops-performance) - -DORA metrics provide information such as: - -- How many deployments happened in the last six hours? -- Time between deployments -- Deployment time between versions -- Average time between versions. - -Keptn starts collecting these metrics -as soon as you apply -[basic annotations](./integrate.md#basic-annotations) -to the -[workload](https://kubernetes.io/docs/concepts/workloads/) -resources -([Deployments](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/), -[StatefulSets](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/), -[DaemonSets](https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/), -and -[ReplicaSets](https://kubernetes.io/docs/concepts/workloads/controllers/replicaset/) -or -[Pods](https://kubernetes.io/docs/concepts/workloads/pods/)). - -Metrics are collected only for the resources that are annotated. - -To view DORA metrics, run the following two commands: - -- Retrieve the service name with: - - ```shell - kubectl -n keptn-system get service \ - -l control-plane=lifecycle-operator - ``` - -- Then port-forward to the name of your service: - - ```shell - kubectl -n keptn-system port-forward \ - service/ 2222 - ``` - -Then view the metrics at: - -```shell -http://localhost:2222/metrics -``` - -DORA metrics are also displayed on Grafana -or whatever dashboard application you choose. -For example: - -![DORA metrics](./assets/dynatrace_dora_dashboard.png) diff --git a/docs/docs/guides/evaluatemetrics.md b/docs/docs/guides/evaluatemetrics.md deleted file mode 100644 index 9c6672ebd6..0000000000 --- a/docs/docs/guides/evaluatemetrics.md +++ /dev/null @@ -1,221 +0,0 @@ ---- -comments: true ---- - -# Keptn Metrics - -The Keptn Metrics Operator provides a single entry point -to all metrics in the cluster -and allows you to define metrics based on multiple data platforms -and multiple instances of any data platform. -Metrics are fetched independently -and can be used for an evaluation at [workload-](https://kubernetes.io/docs/concepts/workloads/) -and application-level, or for scaling your [workloads](https://kubernetes.io/docs/concepts/workloads/). - -This data can be displayed on Grafana -or another standard dashboard application that you configure -or can be retrieved using standard Kubernetes commands. - -For an introduction to Keptn metrics, see -[Getting started with Keptn metrics](../getting-started/metrics.md). - -## Keptn metric basics - -Keptn metrics are implemented with two resources: - -* [KeptnMetric](../reference/crd-reference/metric.md) -- - define the metric to report -* [KeptnMetricsProvider](../reference/crd-reference/metricsprovider.md) -- - define the configuration for a data provider - -As soon as you define and apply -your `KeptnMetricsProvider` and `KeptnMetric` resources, -Keptn begins collecting the metrics you defined. -You do not need to do anything else. - -### Define KeptnMetricsProvider resources - -You must define a -[KeptnMetricsProvider](../reference/crd-reference/metricsprovider.md) resource -for each instance of each data provider you are using. - -Note the following: - -* Each `KeptnMetricsProvider` resource is bound to a specific namespace. -* Each `KeptnMetric` resource must be located in the same namespace - as the associated `KeptnMetricsProvider` resource. -* `KeptnEvaluationDefinition` resources can reference metrics - from any namespace in the cluster. -* To define metrics that can be used in evaluations - on all namespaces in the cluster, - create `KeptnMetricsProvider` and `KeptnMetric` resources - in a centralized namespace - such as `keptn-system`. - -For our example, we define two observability platforms: - -* `dev-prometheus` -* `dev-dynatrace` - -You can specify a virtually unlimited number of providers, -including multiple instances of each observability platform. -Each one must be assigned a unique name, -identified by the type of platform it is -and the URL of the target server. -If the target server is protected by a Secret, -provide information about the token and key. - -The [keptn-metrics-provider.yaml](../reference/crd-reference/metricsprovider.md#examples) -file for our example looks like: - -```yaml -{% include "./assets/metric-providers.yaml" %} -``` - -### Define KeptnMetric information - -The [KeptnMetric](../reference/crd-reference/metric.md) resource -defines the information you want to gather, -specified as a query for the particular observability platform -you are using. -You can define any type of metric from any data source. - -In our example, we define two bits of information to retrieve: - -* Number of CPUs, fetched from the `dev-prometheus` data platform -* `availability` SLO, fetched from the `dev-dynatrace` data platform - -Each of these are configured to fetch data every 10 seconds -but you could configure a different `fetchIntervalSeconds` value -for each metric. - -The -[keptn-metric.yaml](https://github.com/keptn-sandbox/klt-on-k3s-with-argocd/blob/main/simplenode-dev/keptn-metric.yaml) -file for our example looks like: - -```yaml -{% include "./assets/metric.yaml" %} -``` - -Note the following: - -* Each metric should have a unique `name`. -* The value of the `spec.provider.name` field - must correspond to the name assigned in - the `metadata.name` field of a `KeptnMetricsProvider` resource. -* Information is fetched in on a continuous basis - at a rate specified - by the value of the `spec.fetchIntervalSeconds` field. - -## Observing the metrics - -### Accessing Metrics via the Kubernetes Custom Metrics API - -`KeptnMetrics` can be retrieved using the `kubectl` command and the -[KeptnMetric](../reference/crd-reference/metric.md) -API. -This section shows how to do that. - -Metrics can also be displayed on a Grafana or other dashboard -or they can be exposed as OpenTelemetry metrics; see -[Access Keptn metrics as OpenTelemetry metrics](otel.md/#access-keptn-metrics-as-opentelemetry-metrics) -for instructions. - -### Retrieve KeptnMetric values with kubectl and the KeptnMetric API - -Use the `kubectl get --raw` command -to retrieve the values of a `KeptnMetric` resource, -as in the following example: - -```shell -$ kubectl get --raw "/apis/custom.metrics.k8s.io/v1beta2/namespaces/podtato-kubectl/keptnmetrics.metrics.sh/keptnmetric-sample/keptnmetric-sample" | jq . - -{ - "kind": "MetricValueList", - "apiVersion": "custom.metrics.k8s.io/v1beta2", - "metadata": {}, - "items": [ - { - "describedObject": { - "kind": "KeptnMetric", - "namespace": "podtato-kubectl", - "name": "keptnmetric-sample", - "apiVersion": "metrics.keptn.sh/v1" - }, - "metric": { - "name": "keptnmetric-sample", - "selector": { - "matchLabels": { - "app": "frontend" - } - } - }, - "timestamp": "2023-01-25T09:26:15Z", - "value": "10" - } - ] -} -``` - -### Filter on matching labels - -You can filter based on matching labels. -For example, to retrieve all metrics -that are labelled with `app=frontend`, -use the following command: - -```shell -$ kubectl get --raw "/apis/custom.metrics.k8s.io/v1beta2/namespaces/podtato-kubectl/keptnmetrics.metrics.sh/*/*?labelSelector=app%3Dfrontend" | jq . - -{ - "kind": "MetricValueList", - "apiVersion": "custom.metrics.k8s.io/v1beta2", - "metadata": {}, - "items": [ - { - "describedObject": { - "kind": "KeptnMetric", - "namespace": "keptn-system", - "name": "keptnmetric-sample", - "apiVersion": "metrics.keptn.sh/v1" - }, - "metric": { - "name": "keptnmetric-sample", - "selector": { - "matchLabels": { - "app": "frontend" - } - } - }, - "timestamp": "2023-01-25T09:26:15Z", - "value": "10" - } - ] -} -``` - -### Query Metrics over a Timerange - -You can query metrics over a specified timeframe. -For example, if you set the `range.interval` field -in the `KeptnMetric` resource to be `3m`, -the Keptn Metrics Operator queries the metrics for the -last 3 minutes. -In other words, the span is -`from = currentTime - range.interval` and `to = currentTime`. - -The default value is set to be `5m` if the `range.interval` is not set. - -```yaml -apiVersion: metrics.keptn.sh/v1 -kind: KeptnMetric -metadata: - name: good-metric -spec: - provider: - name: my-provider - query: "sum(kube_pod_container_resource_limits{resource='cpu'})" - fetchIntervalSeconds: 10 - range: - interval: "3m" -``` diff --git a/docs/docs/guides/evaluations.md b/docs/docs/guides/evaluations.md deleted file mode 100644 index b9d09d8245..0000000000 --- a/docs/docs/guides/evaluations.md +++ /dev/null @@ -1,166 +0,0 @@ ---- -comments: true ---- - -# Evaluations in Keptn - -A `KeptnEvaluation` does a simple evaluation of the metrics data you capture, -to answer a question such as "Do I have more than four CPUs available?" -or "Is my remote database accessible?" -or check for other problems in your infrastructure. -It can be defined to run before or after your software is deployed. - -When a pre-deployment evaluation is run, by default, -the deployment is kept in a pending state -until the evaluation passes with a successful result. - -Evaluations can be defined at: - -- `KeptnApp` level, so before or after the deployment of the - entire ensemble of workloads that makes your application. -- `KeptnWorkload` level, so before or after a single deployment/stateful-set/daemon-set is deployed. - -Use the -[Analysis](slo.md) -feature if you want to do more complex investigations -that may include multiple criteria with weights and scoring applied. - -To implement evaluations, you must: - -1. [Install and enable Keptn](../installation/index.md) - in your cluster. - You will need both the - Keptn Metrics Operator (`metrics-operator`) - and the Keptn Lifecycle Operator (`lifecycle-operator`) - [components](../components/index.md). -1. Define a - [KeptnMetricsProvider](../reference/crd-reference/metricsprovider.md) - resource for each data source you want to use for evaluations. - You can define multiple instances of multiple types of data providers. -1. Annotate all - [workloads](https://kubernetes.io/docs/concepts/workloads/) - ([Deployments](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/), - [StatefulSets](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/), - [DaemonSets](https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/), - and - [ReplicaSets](https://kubernetes.io/docs/concepts/workloads/controllers/replicaset/)) - with - [basic annotations](integrate.md#basic-annotations). -1. Generate the required - [KeptnApp](../reference/crd-reference/app.md) - resources following the instructions in - [Auto app discovery](auto-app-discovery.md). -1. Define a - [KeptnMetric](../reference/crd-reference/metric.md) - resource for each piece of data - (defined as a query from one of your data sources) - that you need for your evaluations. -1. [Create KeptnEvaluationDefinition](#create-keptnevaluationdefinition-resources) - resources for each evaluation you want to perform. -1. Manually create the appropriate `KeptnAppContext` resource - listing all `KeptnApp` level evaluations, referring to `KeptnEvaluationDefinition` resources -1. Annotate the workload YAML files for each `KeptnEvaluationDefinition` resource - you want to run pre- and/or post-deployment. - -## Create KeptnEvaluationDefinition resources - -A -[KeptnEvaluationDefinition](../reference/crd-reference/evaluationdefinition.md) -resource contains a list of `objectives`, -each of which checks whether a defined `KeptnMetric` resource -meets a defined target value. -The example -[app-pre-deploy-eval.yaml](https://github.com/keptn/lifecycle-toolkit/blob/main/examples/sample-app/version-1/app-pre-deploy-eval.yaml) -file specifies the `app-pre-deploy-eval-2` evaluation as follows: - -```yaml -{% include "../assets/crd/eval.yaml" %} -``` - -The `evaluationTarget` is set to be `>1`, -so this evaluation ensures that more than 1 CPU is available -before the [workload](https://kubernetes.io/docs/concepts/workloads/) or application is deployed. - -This evaluation references the -[KeptnMetric](../reference/crd-reference/metric.md) resource -that is named `available-cpus`. -This is defined in the example -[metric.yaml](https://github.com/keptn/lifecycle-toolkit/blob/main/examples/sample-app/base/metric.yaml) -file: - -```yaml -{% include "../assets/crd/metric.yaml" %} -``` - -Note the following: - -- One `KeptnEvaluationDefinition` resource can include - multiple `objective` fields that reference additional metrics. - In this example, you might want to also query - available memory, disk space, and other resources - that are required for the deployment. -- The `KeptnMetric` resources that are referenced - in a `KeptnEvaluationDefinition` resource - - can be defined on different namespaces in the cluster - - can query different instances of different types of metric providers -- All objectives within a `KeptnEvaluationDefinition` resource - are evaluated in order. - If the evaluation of any objective fails, - the `KeptnEvaluation` itself fails. -- You can define multiple evaluations - for each stage (pre- and post-deployment). - These evaluations run in parallel so the failure of one evaluation - has no effect on whether other evaluations are completed. -- The results of each evaluation - are written to a - [KeptnEvaluation](../reference/api-reference/lifecycle/v1/index.md#keptnevaluation) - resource. - -## Annotate the workload resource for workload level evaluations - -To define the pre-/post-deployment evaluations to run -for a single Kubernetes workload, you need to provide an annotation -for each `KeptnEvaluationDefinition` resource to be run -pre-/post-deployment. -The annotations for evaluations are: - -```yaml -keptn.sh/pre-deployment-evaluations: -keptn.sh/post-deployment-evaluations: -``` - - > **Caveat:** Be very careful when implementing pre-deployment evaluations - since, if one fails, Keptn prevents the deployment of your workload. - > - -The value of these annotations corresponds -to the values of the `name` field of each -[KeptnTaskDefinition](../reference/crd-reference/taskdefinition.md) -resource. -These resources contain re-usable "functions" -that can execute before and after the deployment. - -If everything is fine, the deployment continues. - -## Create KeptnAppContext for app level evaluations - -To execute pre-/post-deployment evaluations for a `KeptnApp`, -create a `KeptnAppContext` resource with the same name and in the same `namespace` as the `KeptnApp`. -The `KeptnAppContext` resource contains a list of -pre-/post-deployment evaluations -that should be executed before and after the -workloads within the `KeptnApp` are deployed. - -See the [Getting started guide](../getting-started/lifecycle-management.md#more-control-over-the-application) -for more information on how to configure a `KeptnAppContext` -to execute pre-/post-deployment checks. - -## Example of pre/post-deployment Evaluations - -A comprehensive example of pre-/post-deployment -evaluations and tasks can be found in our -[examples folder](https://github.com/keptn/lifecycle-toolkit/tree/main/examples/sample-app), -where we use [Podtato-Head](https://github.com/podtato-head/podtato-head) -to run some simple pre-deployment checks both at App and Workload level. -Check out the [readme](https://github.com/keptn/lifecycle-toolkit/blob/main/examples/sample-app/README.md) -to learn how to test this example on your machine. diff --git a/docs/docs/guides/index.md b/docs/docs/guides/index.md deleted file mode 100644 index 8ae8516430..0000000000 --- a/docs/docs/guides/index.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -comments: true ---- - -# Guides - -This section provides comprehensive guides about specific features of Keptn. - -## Metrics - -- [Keptn Metrics](evaluatemetrics.md) - Explore metrics tracking and monitoring capabilities -in Keptn. -- [DORA Metrics](dora.md) - Elevate deployment efficiency with key measurements like frequency -and lead time, seamlessly managed and monitored within Keptn. - -## Observability - -- [OpenTelemetry Observability](otel.md) - Achieve end-to-end traceability and observability -in Kubernetes deployments. -- [Context Metadata](metadata.md) - Understand how to enhance traceability and context -awareness by adding metadata to applications, workloads, and tasks. - -## Deployment Tasks - -- [Deployment Tasks with Keptn](tasks.md) - Understand Deployment Tasks in Keptn, including pre and -post-deployment tasks, to automate and streamline your deployment processes. -- [Redeploy/Restart an Application](restart-application-deployment.md) - Learn how to redeploy -or restart applications using Keptn. - -## Analysis - -- [Analysis with Keptn](slo.md) - Validate your deployments with Keptn Analysis using SLIs and SLOs. -- [Evaluations in Keptn](evaluations.md) - Discover how Keptn conducts evaluations to assess the -performance and quality of your deployments. - -## Auto App Discovery - -- [Auto App Discovery](auto-app-discovery.md) - Learn how Keptn automates workload aggregation -with Auto App Discovery -- [Integrate Keptn with Your Applications](integrate.md) - Guide on integrating Keptn with -your applications for streamlined deployment and monitoring. - -## Multi-Stage Application Delivery - -- [Multi-Stage Application Delivery](multi-stage-application-delivery.md) - Discover how to -deploy applications across multiple stages with Keptn, ensuring consistency and reliability -across different environments. diff --git a/docs/docs/guides/integrate.md b/docs/docs/guides/integrate.md deleted file mode 100644 index 237dfdaacb..0000000000 --- a/docs/docs/guides/integrate.md +++ /dev/null @@ -1,185 +0,0 @@ ---- -comments: true ---- - -# Integrate Keptn with your Applications - -Keptn works -on top of the default scheduler for the cluster. -This allows it to: - -- Track all activities of all workloads on the cluster, - no matter what tool is used for the deployment -- Inject pre/post-deployment checks into all workloads. - -Keptn monitors resources -that have been applied into the Kubernetes cluster -and reacts if it finds a workload with special annotations/labels. -Keptn uses metadata that is added to the Kubernetes workloads -to identify the workloads of interest. - -To integrate Keptn with your workloads: - -- You must first - [install and enable](../installation/index.md#basic-installation) - Keptn. -- Annotate or label your - [workloads](https://kubernetes.io/docs/concepts/workloads/) - ([Deployments](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/), - [StatefulSets](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/), - [DaemonSets](https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/), - and - [ReplicaSets](https://kubernetes.io/docs/concepts/workloads/controllers/replicaset/) - with either Keptn or Kubernetes keys. - - - [Basic annotations](#basic-annotations) or labels are required for all Keptn features except Keptn metrics. - - [Pre- and post-deployment checks](#basic-annotations) are required only for the Release lifecycle management - feature. - -Keptn uses these annotations to the Kubernetes workloads to create the -[KeptnWorkload](../reference/api-reference/lifecycle/v1/index.md#keptnworkload) -and -[KeptnApp](../reference/crd-reference/app.md) -resources that it uses to provide observability -and release lifecycle management. - -> Note: Annotations are not required if you are only using the - `metrics-operator` component of Keptn - to observe Keptn metrics. - -## Basic annotations - -Keptn automatically discovers `KeptnApp` resources, -based on the annotations or labels. -This enables the Keptn observability features -(based on OpenTelemetry) for existing applications, -without additional Keptn configuration. - -Keptn monitors your -[Deployment](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/), -[StatefulSets](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/), -and -[ReplicaSets](https://kubernetes.io/docs/concepts/workloads/controllers/replicaset/), -and -[DaemonSets](https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/) -resources in the namespaces where Keptn is enabled. -If Keptn finds any of these resources and the resource has either -the `keptn.sh` or the `kubernetes` annotations/labels, -it creates appropriate -[KeptnWorkload](../reference/api-reference/lifecycle/v1/index.md#keptnworkload) -and -[KeptnApp](../reference/crd-reference/app.md) -resources for the version it detects. - -The basic keptn.sh keys that can be used for annotations or labels are: - -```yaml -keptn.sh/workload: myAwesomeWorkload -keptn.sh/version: myAwesomeWorkloadVersion -keptn.sh/app: myAwesomeAppName -keptn.sh/container: myAwesomeContainer -``` - -Alternatively, you can use Kubernetes keys for annotations or labels. -These are part of the Kubernetes -[Recommended Labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/common-labels/): - -```yaml -app.kubernetes.io/name: myAwesomeWorkload -app.kubernetes.io/version: myAwesomeWorkloadVersion -app.kubernetes.io/part-of: myAwesomeAppName -``` - -These keys are defined as: - -- `keptn.sh/workload` or `app.kubernetes.io/name`: Determines the name - of the generated - [KeptnWorkload](../reference/api-reference/lifecycle/v1/index.md#keptnworkload) - resource. -- `keptn.sh/version` or `app.kubernetes.io/version`: - Determines the version of the `KeptnWorkload` - that represents the Workload. - If the Workload has no `version` annotation/labels - and the pod has only one container, - Keptn takes the image tag as version - (unless it is "latest"). -- `keptn.sh/app` or `app.kubernetes.io/part-of`: Determines the name - of the generated `KeptnApp` representing your Application. - All workloads that share the same value for this label - are consolidated into the same `KeptnApp` resource - that you can generate following the instructions in - [Auto app discovery](auto-app-discovery.md). -- `keptn.sh/container`: Determines the name of the container in the workload, - from which Keptn extracts the version. - This applies to single- and multi-container - workloads. - If the given container name does not match any container in the workload - no version can be determined. - Note that there is no equivalent `app.kubernetes.io/` annotation/label for this label. - -Keptn automatically generates appropriate -[KeptnApp](../reference/crd-reference/app.md) -resources that are used for observability, -based on whether the `keptn.sh/app` or `app.kubernetes.io/part-of` -annotation/label is populated: - -- If either of these annotations/labels are populated, - Keptn automatically generates a `KeptnApp` resource - that includes all workloads that have the same annotation/label, - thus creating a `KeptnApp` resource for each defined grouping - -- If only the `workload` and `version` annotations/labels are available - (in other words, neither the `keptn.sh/app` - or `app.kubernetes.io/part-of` annotation/label is populated), - Keptn creates a `KeptnApp` resource for each `KeptnWorkload` - and your observability output traces the individual `Keptnworkload` resources - but not the combined workloads that constitute your deployed application. - -> **Note**: Keptn application discovery concatenates the values of the `app.kubernetes.io/name` (or -`keptn.sh/workload`) and `app.kubernetes.io/part-of` (or `keptn.sh/app`) annotation to determine the -name of the `KeptnWorkload`. - -See -[Keptn Applications and Keptn Workloads](../components/lifecycle-operator/keptn-apps.md) -for architectural information about how `KeptnApp` and `KeptnWorkloads` -are implemented. - -## Annotations vs. labels - -The same keys can be used as -[annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) -or -[labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/). -Both annotations and labels are can be attached to Kubernetes objects. -Some key differences between the two: - -- Annotations - - Are not used to identify and select objects - - Can contain up to 262144 chars - - Metadata in an annotation can be small or large, - structured or unstructured, - and can include characters not permitted by labels - -- Labels - - Can be used to select objects - and to find collections of objects that satisfy certain conditions - - Can contain up to 63 chars - - Are appropriate for identifying attributes of objects - that are meaningful and relevant to users - but do not directly imply semantics to the core system - -Annotations take precedence over labels, -and the `keptn.sh` keys take precedence over `app.kubernetes.io` keys. -In other words: - -- The operator first checks if the `keptn.sh` key is present - in the annotations, and then in the labels. -- If neither is the case, it looks for the `app.kubernetes.io` equivalent, - again first in the annotations, then in the labels. - -In general, annotations are more appropriate than labels -for integrating Keptn with your applications -because they store references, names, and version information -so the 63 char limitation is quite restrictive. -However, labels can be used if you specifically need them -and can accommodate the size restriction. diff --git a/docs/docs/guides/metadata.md b/docs/docs/guides/metadata.md deleted file mode 100644 index 6e0e9afdd4..0000000000 --- a/docs/docs/guides/metadata.md +++ /dev/null @@ -1,125 +0,0 @@ ---- -comments: true ---- - -# Context Metadata - -This guide walks you through the usage of context metadata in Keptn. - -After reading this guide you will be able to: - -- add metadata to applications, workloads - and tasks in two ways -- add metadata information about applications to their traces - -## Introduction - -Context metadata in Keptn is defined as all additional information that can -be added to applications, workloads and tasks. - -Context metadata can be added to your application -in either of the following ways: - -- Use the `keptn.sh/metadata` annotation in any of -your workloads you plan to deploy with Keptn -- Apply a `KeptnAppContext` custom resource - -In the following section we will explore both. - -Common uses of this feature include: - -- adding a commit ID or references related to your GitOps and CI-CD tooling -- referencing different stages and actors - such as: who committed the change, in what repo, for what ticket... - -### Before you start - -1. [Install Keptn](../installation/index.md) -2. Deploy an application, for instance, you can follow - [a demo app installation here](../getting-started/observability.md#step-3-deploy-demo-application) - -To collect traces you will require Jaeger. -To visualise and inspect the traces, you can either use -the Jaeger UI or Grafana. - -1. Install - [Grafana](https://grafana.com/grafana/) - following the instructions in [Grafana Setup](https://grafana.com/docs/grafana/latest/setup-grafana/) - or the visualization tool of your choice. -2. Install - [Jaeger](https://www.jaegertracing.io/) - or a similar tool for traces following the instructions in - [Jaeger Setup](https://www.jaegertracing.io/docs/1.50/getting-started/). - -## Include metadata in workload traces - -To enrich workload traces with custom metadata, use the -`keptn.sh/metadata` annotation in your -[Deployment](https://kubernetes.io/docs/concepts/workloads/controllers/deployment) -resource. -The comma-separated list of key-value pairs specified in the annotation -is added as key-value attributes to the workload trace. - -Modify your workload (for example your YAML file containing a Deployment) -adding an annotation with any metadata you prefer. -If you want to add multiple key-value pairs, separate them with commas. -For instance, to add information about a stage and owning team, you could add: -`keptn.sh/metadata: "stage=dev,team=my-team"`. - -To see the changes Keptn must redeploy: increment the `app.kubernetes.io/version` value -(ex. if you are following our getting started guide, change the version -from `0.0.2` to `0.0.3`) or change the `keptn.sh/version` value -if you used the Keptn specific labels in your deployment YAML file. - -This way, after the re-deployment, the workload trace will contain the `stage=dev` attribute. - -## Include metadata in application traces - -Similar to the previous step, custom metadata can also be added to application traces via the -[KeptnAppContext](../reference/api-reference/lifecycle/v1/index.md#keptnappcontext) CRD. - -`KeptnAppContext` is a custom resource definition in Keptn that allows you to add metadata -and links to traces for a specific application. -This enables you to enrich your Keptn resources and your traces with additional -information, making it easier to understand and analyze -the performance of your applications. - -In the `.spec.metadata` field you can define multiple key-value pairs, which are propagated -to the application trace as attributes in the same manner as for workloads. - -> **Note** The key-value pairs that are added to the application trace are also added -to each workload trace that is part of the application. -If the same key is specified for both -application and workload metadata attributes, -values specified for the workload take precedence. - -A `KeptnAppContext` custom resource looks like the following: - -```yaml -{% include "./assets/metadata/keptn-app-context.yaml" %} -``` - -After applying the `KeptnAppContext` to your cluster, you need to increment the version of your -application by modifying your deployment file and changing the -value of the`app.kubernetes.io/version` field (or `keptn.sh/version` if you used the Keptn specific labels earlier). -(Alternatively you could apply the context resource before or together with the workloads.) - -After deploying the `KeptnAppContext` resource and re-deploying the application, -Keptn triggers another deployment of your application with the new context metadata, -and all traces will contain the new metadata as defined in the above code example. -In other words, you should be able to see the application trace as well as the workload trace -contain the defined metadata as key-value attributes. - -## What's next? - -Congratulations! -You've learned how to use the `KeptnAppContext` CRD to add -metadata to applications and their traces. -This can be valuable for understanding the context of your traces and -establishing connections between -different versions and stages of your application. - -Explore more about [traces on Keptn](./otel.md). -The paragraph on -[linking traces between different application](./otel.md#advanced-tracing-configurations-in-keptn-linking-traces) -also uses KeptnAppContext. diff --git a/docs/docs/guides/multi-stage-application-delivery.md b/docs/docs/guides/multi-stage-application-delivery.md deleted file mode 100644 index 70ee6e30c3..0000000000 --- a/docs/docs/guides/multi-stage-application-delivery.md +++ /dev/null @@ -1,344 +0,0 @@ ---- -comments: true ---- - -# Multi-stage Application Delivery - -In this guide you will learn how to deploy -an application across multiple stages while getting -full observability of each of your workload deployments. -This is shown based on an example where we deploy -an application into two environments (`dev` and `production`), -using [Argo CD](https://argo-cd.readthedocs.io/en/stable/). - -The promotion from `dev` to `production` is implemented using -`promotionTasks` that can be executed after a successful -application deployment. -In this example, the promotion task creates a pull request -to deploy the same workload version that has been deployed in the -`dev` stage into the `production` stage. - -Using the observability capabilities of Keptn, -we also add contextual metadata to each deployment, -such as the commit ID which triggered the deployment of a new -version. -This metadata is added to the OpenTelemetry traces -representing the deployment of an application version -in a particular stage. -Also, deployment traces for the `production` stage will -contain references to the deployments of the `dev` stage, -giving you full traceability of a workload version -across different stages. - -## Before you begin - -This guide assumes the following: - -- Installed Keptn with the -[promotionTasksEnabled flag](https://github.com/keptn/lifecycle-toolkit/blob/main/lifecycle-operator/chart/README.md#global) -set to `true`. -- Installed [Argo CD](https://argo-cd.readthedocs.io/en/stable/) -- Followed the [instructions for setting up observability](./otel.md#requirements-for-opentelemetry) -- Access to a GitHub repository for hosting your application manifests. -- A Personal Access token for your GitHub repository. -We recommend using a [fine-grained token](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#fine-grained-personal-access-tokens) -with the following permissions for the repository: - - Read access to metadata - - Read/Write access to actions - -Note that for the promotion to work properly, -you need to enable read and write permissions for -Github actions in your repository - see the screenshot below: - -![Workflow Permissions](./assets/multi-stage-delivery/workflow-permissions.png) - -## Preparing the Application Manifests - -In this example, the application will be deployed in -two different namespaces, each representing a different -stage (`dev` and `production`). -To create the namespaces, execute the following commands: - -```shell -kubectl create namespace podtato-head-dev -kubectl annotate namespace podtato-head-dev keptn.sh/lifecycle-toolkit=enabled -kubectl create namespace podtato-head-production -kubectl annotate namespace podtato-head-production keptn.sh/lifecycle-toolkit=enabled -``` - -The promotion task that triggers the action to -create a pull request for promoting an application version -from `dev` to `production` will be executed in the `podtato-head-dev` stage. -Therefore, we need to create a secret containing the GitHub personal -access token in that namespace, using the following command: - -```shell -GH_REPO_OWNER= -GH_REPO= -GH_API_TOKEN= -kubectl create secret generic github-token -n podtato-head-dev --from-literal=SECURE_DATA="{\"githubRepo\":\"${GH_REPO}\",\"githubRepoOwner\":\"${GH_REPO_OWNER}\",\"apiToken\":\"${GH_API_TOKEN}\"}" -``` - -Next, add the promotion task as a GitHub action by -committing the following file to the repository: - -```yaml title=".github/workflows/promote.yaml" -{% include "./assets/multi-stage-delivery/promote.yaml" %} -``` - -Next, add the application manifests to the GitOps repository. -Note that in this example, the manifests for the `dev` and `production` -stage are located in two different subdirectories within -the repository to keep it simple. -This might differ heavily depending on how your organization's -GitOps repositories and application stages are organized. - -Inside your Git repository, create the following files -containing the manifests for the `dev` and `production` stage: - -**Dev Stage:** - - - -=== "dev/templates/application.yaml" - - This file contains the manifests for the application in the `dev` stage, - including the Kubernetes `Deployment`/`Service` definition, - as well as the `KeptnAppContext` that is used to define tasks - for the post-deployment and promotion phases, as well as the related - `KeptnTaskDefinitions`. - In addition to defining tasks, the `KeptnAppContext` also contains - a `metadata` section that includes properties that should be added - to the OpenTelemetry spans that are generated during the deployment of - the application. - - ```yaml - {% include "./assets/multi-stage-delivery/application-dev.yaml" %} - ``` - -=== "dev/Chart.yaml" - - The `Chart.yaml` that is required by helm: - - ```yaml - {% include "./assets/multi-stage-delivery/chart.yaml" %} - ``` - -=== "dev/values.yaml" - - The `values.yaml` file contains configurable properties - for the application, such as the version of the service that should be deployed, - and other metadata that is passed to the `KeptnAppContext`, such as the Git - commit ID that caused the deployment of a new version (this value for the - `commitID` property is set automatically using the `$ARGOCD_APP_REVISION` - environment variable provided by Argo CD). - During the promotion phase of a new deployment, a pull request to - copy the content of this file to the helm chart containing the helm chart for - the `production` stage will be created. - Therefore, after merging the pull request, the version that has been deployed into - `dev` and has passed all checks there, will then be deployed into `production`. - - ```yaml - {% include "./assets/multi-stage-delivery/values-dev.yaml" %} - ``` - - 1. The commitID will be automatically set by Argo CD - -**Production Stage:** - -=== "production/templates/application.yaml" - - This file contains the manifests for the application in the `dev` stage, - including the Kubernetes `Deployment`/`Service` definition, - as well as the `KeptnAppContext` that contains - a `metadata` section which includes properties that should be added - to the OpenTelemetry spans that are generated during the deployment of - the application. - - ```yaml - {% include "./assets/multi-stage-delivery/application-production.yaml" %} - ``` - - 1. Setting the spanLink here connects deployment traces of this stage with the traces of the dev stage - -=== "production/Chart.yaml" - - The `Chart.yaml` that is required by helm: - - ```yaml - {% include "./assets/multi-stage-delivery/chart.yaml" %} - ``` - -=== "production/values.yaml" - - The `values.yaml` file contains configurable properties - for the application, such as the version of the service that should be deployed, - and other metadata that is passed to the `KeptnAppContext`, such as the Git - commit ID that caused the deployment of a new version (this value for the - `commitID` property is set automatically using the `$ARGOCD_APP_REVISION` - environment variable provided by Argo CD). - The content of this file is modified by the pull requests created in the - promotion phase of the deployment in `dev` in order to promote a new - service version into `production`. - - ```yaml - {% include "./assets/multi-stage-delivery/values-production.yaml" %} - ``` - - 1. The commitID will be automatically set by Argo CD - 2. The traceParent will be automatically set by the GitHub action triggered by the promotion task - - - -## Committing and Applying Argo CD Manifests - -After creating all the files listed above, do not forget to push -them to your git repository: - -```shell -git add . -git commit -m "add application manifests" -git push -``` - -After adding the files to the repository, -it is time to create the Argo CD applications, -one for the `dev` stage, and one for the `production` -stage. -These applications will point to the subdirectories -containing the helm charts for the stages within the upstream -Git repository. -To create the applications on Argo CD, apply the following manifests: - - - -=== "argo-app-dev.yaml" - - ```yaml title="apps.yaml" - {% include "./assets/multi-stage-delivery/argo-app-dev.yaml" %} - ``` - - 1. This ensures that the `commitID` property is set in the `values.yaml` - file is set when the helm chart is being applied. - -=== "argo-app-production.yaml" - - ```yaml title="apps.yaml" - {% include "./assets/multi-stage-delivery/argo-app-production.yaml" %} - ``` - - 1. This ensures that the `commitID` property is set in the `values.yaml` - file is set when the helm chart is being applied. - - - -Once the manifest above has been applied to the cluster, -Argo CD will eventually synchronize with the upstream repository -and apply the application helm charts located there. - -> **Note:** Initially, both the `dev` and `production` stages will be deployed -after creating the Argo CD applications. -Subsequent deployments of a new application version however will -always be deployed by first updating them in the `dev` stage, and -then only by merging the PRs created by the promotion task will -they be deployed into `production`. - -After this initial deployment, there will be a `KeptnAppVersion` -in the `dev` stage: - -```shell -$ kubectl get keptnappversion -n podtato-head-dev - -NAME APPNAME VERSION PHASE -podtato-head-v0.3.0-6b86b273 podtato-head v0.3.0 Completed -``` - -And there will be another `KeptnAppVersion` in the `production` stage. - -```shell -$ kubectl get keptnappversion -n podtato-head-production - -NAME APPNAME VERSION PHASE -podtato-head-v0.3.0-6b86b273 podtato-head v0.3.0 Completed -``` - -## Promoting a workload - -Now that everything is set up, it is time to deploy a new version into `dev` -and automatically promote it into `production` if the deployment into `dev` -has been successful. -To do so, change the `serviceVersion` value in `dev/values.yaml` from `v0.3.0` -to `v0.3.1`: - -```yaml title="dev/values.yaml" -{% include "./assets/multi-stage-delivery/values-dev-updated.yaml" %} -``` - -1. The traceParent will be automatically set by the GitHub action triggered by the promotion task - -After changing the value, commit and push the updated file to -the upstream repository: - -```shell -git add dev/values.yaml -git commit -m "deploy new version into dev" -git push -``` - -Eventually, Argo CD will notice those changes and apply the updated helm chart -to the cluster. -This is also reflected in a new `KeptnAppVersion` being created in the `dev` stage: - -```shell -$ kubectl get keptnappversion -n podtato-head-dev - -NAME APPNAME VERSION PHASE -podtato-head-v0.3.0-6b86b273 podtato-head v0.3.0 Completed -podtato-head-v0.3.1-d4735e3a podtato-head v0.3.1 Completed -``` - -After the new version has been deployed, and the post deployment phase -is completed, the following happens: - -1. The `KeptnTask` executed in the promotion phase -triggers a GitHub action that creates a pull request for applying the -updated values to the helm chart of the `production` stage. -You will see the PR in the *Pull requests* section of your upstream repository: - - ![PR for promoting the new version](./assets/multi-stage-delivery/dev2prod-pr.png) - -1. After approving and merging the pull request into `main`, -Argo CD eventually synchronizes the application in the -`production` stage, and the updated version is deployed. -This is reflected in a new `KeptnAppVersion` being created -in the `podtato-head-production` namespace: - - ```shell - $ kubectl get keptnappversion -n podtato-head-production - - NAME APPNAME VERSION PHASE - podtato-head-v0.3.0-6b86b273 podtato-head v0.3.0 Completed - podtato-head-v0.3.1-d4735e3a podtato-head v0.3.1 Completed - ``` - -## Inspecting the Deployment Traces - -To keep track of how a workload version progresses through -the stages, we passed through the OpenTelemetry span id of the -promotion phase in the `dev` stage to the applied -`KeptnAppContext` in the `production` stage. -Due to that, the deployment trace of the promoted version -in the `production` stage contains the reference to the -promotion phase, which is also visible in the trace visualization in Jaeger: - -![Deployment Trace](./assets/multi-stage-delivery/trace.png) - -## Conclusion - -In this guide, you have seen how Keptn can be used together -with Argo CD and GitHub Actions to automate the promotion of -a new application version from one stage to another. -In addition to that, by linking together the traces across different -stages and adding important metadata such as the Git commit IDs -that caused a new deployment, Keptn makes it easy to -inspect how a specific version is promoted across multiple stages. diff --git a/docs/docs/guides/otel.md b/docs/docs/guides/otel.md deleted file mode 100644 index 7590bb4654..0000000000 --- a/docs/docs/guides/otel.md +++ /dev/null @@ -1,210 +0,0 @@ ---- -comments: true ---- - -# OpenTelemetry Observability - -Keptn makes any Kubernetes deployment observable. -In other words, it creates a distributed, end-to-end trace -of what Kubernetes does in the context of a Deployment. -To do this, -Keptn introduces the concept of an `application`, -which is an abstraction that connects multiple -[Workloads](https://kubernetes.io/docs/concepts/workloads/) that logically belong together, -even if they use different deployment strategies. - -This means that: - -- You can readily see why a deployment takes so long - or why it fails, even when using multiple deployment strategies. -- Keptn can capture DORA metrics and expose them as OpenTelemetry metrics - -The observability data is an amalgamation of the following: - -- [DORA metrics](dora.md) - are collected out of the box when Keptn is enabled -- [OpenTelemetry](https://opentelemetry.io/) - runs traces that show everything that happens in the Kubernetes cluster -- Custom - [Keptn metrics](evaluatemetrics.md) - that you can use to monitor information - from all the data providers configured in your cluster - -All this information can be displayed with dashboard tools -such as Grafana. - -For an introduction to using OpenTelemetry with Keptn metrics, see the -[Keptn Observability](../getting-started/observability.md) -getting started guide. - -## Requirements for OpenTelemetry - -To access OpenTelemetry metrics with Keptn, -you must have the following on your cluster: - -- An OpenTelemetry collector. - See - [OpenTelemetry Collector](https://opentelemetry.io/docs/collector/) - for more information. -- A Prometheus Operator. - See [Prometheus Operator Setup](https://github.com/prometheus-operator/kube-prometheus/blob/main/docs/customizing.md). - - - The Prometheus Operator must have the required permissions - to watch resources of your Keptn namespace - (default is `keptn-system`). - See - [Setup for Monitoring other Namespaces](https://prometheus-operator.dev/kube-prometheus/kube/monitoring-other-namespaces/). - -- To install Prometheus into the `monitoring` namespace - using the example configuration included with Keptn, - use the following command sequence. - You can modify these commands to define a different configuration: - - > **Note** - You must clone the `lifecycle-toolkit` repository - and `cd` into the correct directory - (`examples/support/observability`) before running the following commands. - - ```shell - kubectl create namespace monitoring - kubectl apply --server-side -f config/prometheus/setup/ - kubectl apply -f config/prometheus/ - ``` - -- If you want a dashboard for reviewing metrics and traces: - - - Install - [Grafana](https://grafana.com/grafana/) - or the visualization tool of your choice, following the instructions in - [Grafana Setup](https://grafana.com/docs/grafana/latest/setup-grafana/). - - Install - [Jaeger](https://www.jaegertracing.io/) - or a similar tool for traces following the instructions in - [Jaeger Setup](https://www.jaegertracing.io/docs/1.50/getting-started/). - - - Follow the instructions in the Grafana - [README](https://github.com/keptn/lifecycle-toolkit/blob/main/dashboards/grafana/README.md) - file to configure the Grafana dashboard(s) for Keptn. - -Metrics can also be retrieved without a dashboard. -See -[Accessing Metrics via the Kubernetes Custom Metrics API](evaluatemetrics.md/#accessing-metrics-via-the-kubernetes-custom-metrics-api) - -## Integrate OpenTelemetry into Keptn - -To integrate OpenTelemetry into Keptn: - -- Apply - [basic annotations](./integrate.md#basic-annotations) - for the `Deployment` resource(s) - to integrate Keptn into your Kubernetes cluster. -- To expose OpenTelemetry metrics, - define a [KeptnConfig](../reference/crd-reference/config.md) resource - that has the `spec.OTelCollectorUrl` field populated - with the URL of the OpenTelemetry collector. - -The -[otel-collector.yaml](https://github.com/keptn/lifecycle-toolkit/blob/main/examples/support/observability/config/otel-collector.yaml) -is the OpenTelemetry manifest file for the PodtatoHead example, -located in the `config` directory. -To deploy and configure the OpenTelemetry collector -using this manifest, the command is: - -```shell -kubectl apply -f config/otel-collector.yaml \ - -n keptn-system -``` - -Use the following command to confirm that the pod -for the `otel-collector` deployment is up and running: - -```shell -$ kubectl get pods -lapp=opentelemetry \ - -n keptn-system - -NAME READY STATUS RESTARTS AGE -otel-collector-6fc4cc84d6-7hnvp 1/1 Running 0 92m -``` - -If you want to extend the OTel Collector configuration -to send your telemetry data to other Observability platform, -you can edit the Collector `ConfigMap` with the following command: - -```shell -kubectl edit configmap otel-collector-conf \ - -n keptn-system -``` - -When the `otel-collector` pod is up and running, -restart the `lifecycle-operator` -so they can pick up the new configuration: - -```shell -kubectl rollout restart deployment \ - -n keptn-system lifecycle-operator -``` - -Keptn begins to collect OpenTelemetry metrics -as soon as the `Deployment` resource -has the basic annotations to integrate Keptn in the cluster. - -## Access Keptn metrics as OpenTelemetry metrics - -Keptn metrics can be exposed as OpenTelemetry (OTel) metrics -via port `9999` of the Keptn metrics-operator. - -To access the metrics, use the following command: - -```shell -kubectl port-forward deployment/metrics-operator 9999 -n keptn-system -``` - -You can access the metrics from your browser at: `http://localhost:9999` - -## Define timeout for workload observability - -There are situations when the deployment of the application fails due to -various reasons (e.g. container image not found). -By default Keptn observes the state of the Kubernetes workloads -for 5 minutes. -After this timeout is exceeded, the deployment phase (from Keptn -viewpoint) is considered as `Failed` and Keptn does not proceed -with post-deployment phases (tasks, evaluations or promotion phase). -This timeout can be modified for the cluster by changing the value -of the `observabilityTimeout` field in the -[KeptnConfig](../reference/crd-reference/config.md) -resource. - -## Advanced tracing configurations in Keptn: Linking traces - -In Keptn you can connect multiple traces, for instance to connect deployments -of the same application through different stages. -To create connections between the traces of versions of your application, you can enrich the -[KeptnAppContext](../reference/crd-reference/appcontext.md) -resource with -[OpenTelemetry span links](https://opentelemetry.io/docs/concepts/signals/traces/#span-links). -You can retrieve the span link from the JSON representation of the trace in Jaeger, where -it has the following structure: - -```yaml -00---01 -``` - -Use this value to populate the `spanLinks` field -of your `KeptnAppContext` resource -to connect traces of different versions of the application. - -```yaml -{% include "./assets/otel/keptn-app-context-span.yaml" %} -``` - -> **Note** -> The span link used above is just an example. -> You need to replace it with the traceID and spanID -> that you retrieve from the `KeptnAppVersion` resource you want to link. - -To store this new information in the traces, you need to increment the version -of your application and apply the`KeptnAppContext`. -Keptn will re-deploy your application and Jaeger should show a link to the previous trace in the references section. - -![linked trace](./assets/linkedtrace.png) diff --git a/docs/docs/guides/restart-application-deployment.md b/docs/docs/guides/restart-application-deployment.md deleted file mode 100644 index 87ad2b631c..0000000000 --- a/docs/docs/guides/restart-application-deployment.md +++ /dev/null @@ -1,132 +0,0 @@ ---- -comments: true ---- - -# Redeploy/Restart an Application - -A [KeptnApp](../reference/crd-reference/app.md) can fail -because of an unsuccessful pre-deployment evaluation -or pre-deployment task. -For example, this happens if the target value of a -[KeptnEvaluationDefinition](../reference/crd-reference/evaluationdefinition.md) -resource is misconfigured -or a pre-deployment evaluation checks the wrong URL. - -After you fix the configuration -that caused the pre-deployment evaluation or task to fail, -you can increment the `spec.revision` value -and apply the updated `KeptnApp` manifest -to create a new revision of the `KeptnApp` -without modifying the `version`. - -Afterwards, all related `KeptnWorkloadVersions` -automatically refer to the newly created revision of the `KeptnAppVersion` -to determine whether they are allowed -to enter their respective deployment phases. - -To illustrate this, consider the following example: - -```yaml -{% include "./assets/restart-application-deployment/app-full.yaml" %} -``` - -Applying these resources causes a `KeptnApp` -to be created. -The `KeptnApp` contains all workloads that are part of -the application, and a version number that is -derived from the workloads: - -```yaml -{% include "./assets/restart-application-deployment/generated-app.yaml" %} -``` - -Then, based on the `KeptnApp` and `KeptnAppContext`, -a `KeptnAppVersion` is created automatically and -the execution of the pre-deployment checks defined in -the `KeptnAppContext` starts. -In this example, the pre-deployment checks -contain a task which clearly fails. -Therefore, the `KeptnAppVersion` is not able -to proceed with the deployment. - -You can inspect the status of the created `KeptnAppVersion`: - -```shell -$ kubectl get keptnappversions.lifecycle.keptn.sh -n restartable-apps -NAME APPNAME VERSION PHASE -podtato-head-0.1.2-ab1223js podtato-head 0.1.1 AppPreDeployTasks -``` - -Notice that the `KeptnAppVersion` stays -in the `AppPreDeployTasks` phase for a while, -due to the pre-check trying to run -until the failure threshold is reached. -Eventually, the `KeptnAppVersion`'s `PredeploymentPhase` -is in a `Failed` state, with the remaining phases being `Deprecated`. - - -```shell -$ kubectl get keptnappversions.lifecycle.keptn.sh -n restartable-apps -owide -NAME APPNAME VERSION PHASE PREDEPLOYMENTSTATUS PREDEPLOYMENTEVALUATIONSTATUS WORKLOADOVERALLSTATUS POSTDEPLOYMENTSTATUS POSTDEPLOYMENTEVALUATIONSTATUS -podtato-head-0.1.2-ab1223js podtato-head 0.1.2 AppPreDeployTasks Failed Deprecated Deprecated Deprecated Deprecated -``` - - -To fix the deployment of this application, -we first need to fix the task that has failed earlier. -To do so, edit the `pre-deployment-check` `KeptnTaskDefinition`: - -```shell -kubectl -n restartable-apps edit keptntaskdefinitions.lifecycle.keptn.sh pre-deployment-check -``` - -Modify the manifest to look like this: - -```yaml -{% include "./assets/restart-application-deployment/fixed-task.yaml" %} -``` - -To restart the deployment of our `KeptnApplication`, -edit the manifest: - -```shell -kubectl -n restartable-apps edit keptnapps.lifecycle.keptn.sh podtato-head -``` - -Increment the value of the `spec.revision` field by one: - -```yaml -{% include "./assets/restart-application-deployment/generated-app-bumped-revision.yaml" %} -``` - -After those changes have been made, -you will notice a new revision of the `podtato-head` `KeptnAppVersion`: - -```shell -$ kubectl get keptnappversions.lifecycle.keptn.sh -n restartable-apps -NAME APPNAME VERSION PHASE -podtato-head-0.1.2-ab1223js podtato-head 0.1.2 AppPreDeployTasks -podtato-head-0.1.2-xbhj9073 podtato-head 0.1.2 AppDeploy -``` - -See that the newly created revision `podtato-head-0.1.2-xbhj9073` -has made it beyond the pre-deployment check phase -and has reached its `AppDeployPhase`. - -You can also verify the execution of the `pre-deployment-check` -by retrieving the list of `KeptnTasks` in -the `restartable-apps` namespace: - - -```shell -$ kubectl get keptntasks.lifecycle.keptn.sh -n restartable-apps -NAME APPNAME APPVERSION WORKLOADNAME WORKLOADVERSION JOB NAME STATUS -pre-pre-deployment-check-49827 podtato-head 0.1.2 klc-pre-pre-deployment-check--77601 Failed -pre-pre-deployment-check-65056 podtato-head 0.1.2 klc-pre-pre-deployment-check--57313 Succeeded -``` - - -Notice that the previous failed instances are still available -for both `KeptnAppVersions` and `KeptnTasks`. -This may be useful historical data to keep track of -what went wrong during earlier deployment attempts. diff --git a/docs/docs/guides/slo.md b/docs/docs/guides/slo.md deleted file mode 100644 index a1aa2e5ade..0000000000 --- a/docs/docs/guides/slo.md +++ /dev/null @@ -1,179 +0,0 @@ ---- -comments: true ---- - -# Analysis with Keptn - -The Keptn Metrics Operator Analysis feature -allows you to validate a deployment or release -using data from the observability data provider(s) -that are configured for Keptn Metrics. -You define the quality criteria for the analysis with SLIs and SLOs: - -* A Service Level Input (SLI) identifies the data to be analysed - as a query to a data provider -* A Service Level Objective (SLO) defines the quality criteria - you define for each SLI. - -You can specify multiple Service Level Objectives (SLOs) -that are evaluated in your Analysis -and you can weight the different analyses appropriately. -At the end of the analysis, -the status returns whether your objective failed, passed, -or passed with a warning. -This is similar to the functionality provided by the Keptn v1 -[Quality Gates](https://v1.keptn.sh/docs/1.0.x/define/quality-gates/) -feature. - -Converters are provided to -to migrate most Keptn v1 -[SLIs](https://v1.keptn.sh/docs/1.0.x/reference/files/sli/) -and -[SLOs](https://v1.keptn.sh/docs/1.0.x/reference/files/slo/) -to Keptn Analysis SLIs and SLOs. -For more information,see: - -* [SLO converter](https://github.com/keptn/lifecycle-toolkit/blob/main/metrics-operator/converter/slo_converter.md#slo-converter) -* [SLI converter](https://github.com/keptn/lifecycle-toolkit/blob/main/metrics-operator/converter/sli_converter.md#sli-converter) -* [Migrate Quality Gates](../migrate/keptn/metrics-observe.md) - -The Analysis result is exposed as an OpenTelemetry metric -and can be displayed on dashboard tools, such as Grafana. - -## Keptn Analysis basics - -A Keptn Analysis is implemented with three resources: - -* [AnalysisValueTemplate](../reference/crd-reference/analysisvaluetemplate.md) - defines the SLI with the `KeptnMetricsProvider` (data source) - and the query to perform for each SLI - - Each `AnalysisValueTemplate` resource identifies the data source - and the query for the analysis of the SLI. - One `Analysis` can use data from multiple instances - of multiple types of data provider; - you must define a - [KeptnMetricsProvider](../reference/crd-reference/metricsprovider.md) - resource for each instance of each data provider you are using. - The template refers to that provider and queries it. - -* [AnalysisDefinition](../reference/crd-reference/analysisdefinition.md) - define the list of SLOs for an `Analysis` - - An `AnalysisDefinition` resource contains a list of objectives to satisfy. - Each of these objectives must specify: - - * The `AnalysisValueTemplate` resource that contains the SLIs, - defining the data provider from which to gather the data - and how to compute the Analysis - * Failure or warning target criteria - * Whether the objective is a key objective - meaning that its failure fails the Analysis - * Weight of the objective on the overall Analysis - -* [Analysis](../reference/crd-reference/analysis.md) - define the specific configurations and the Analysis to report. - - An `Analysis` resource customizes the templates - defined inside an `AnalysisDefinition` resource - by adding configuration information such as: - - * Timeframe that specifies the range to use - for the corresponding query in the `AnalysisValueTemplate` - * Map of key/value pairs that can be used - to substitute placeholders in the `AnalysisValueTemplate` - -## Example Analysis - -Consider the following `Analysis` resource: - -```yaml -{% include "https://raw.githubusercontent.com/keptn/lifecycle-toolkit/main/metrics-operator/config/samples/metrics_v1_analysis.yaml" %} -``` - -This `Analysis` resource: - -* Defines the `timeframe` for which the analysis is done - as between 5 am and 10 am on the 5th of May 2023 -* Adds a few specific key-value pairs that will be substituted in the query. - For instance, the query could contain the `{{.nodename}}` variable. - The value of the `args.nodename` field (`test`) - will be substituted for this string. - -The `AnalysisDefinition` resource references this `Analysis` resource -by its `name` and `namespace` and can be seen here: - -```yaml -{% include "https://raw.githubusercontent.com/keptn/lifecycle-toolkit/main/metrics-operator/config/samples/metrics_v1_analysisdefinition.yaml" %} -``` - -This simple definition contains a single objective, `response-time-p95`. -For this objective, both failure and warning criteria are defined: - -* The objective fails if the percentile 95 is less than 600 -* A warning is issued when the value is between 300 and 500 - -Use a Kubernetes -[quantity](https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/) -value for the value fields rather than a `float`. -For example, use the `3m` quantity -rather than the equivalent `0.003` float; -the `float` value causes `Invalid value` errors. - -The total score shows that this `Analysis` -should have an overall score of 90% to pass or 75% to get a warning. -Since only one objective is defined, -this means that the analysis either passes with 100% -(response time is less than 600) -or fails with 0% (slower response time). - -The objective points to the corresponding `AnalysisValueTemplate` resource: - -```yaml -{% include "https://raw.githubusercontent.com/keptn/lifecycle-toolkit/main/metrics-operator/config/samples/metrics_v1_analysisvaluetemplate.yaml" %} -``` - -This template defines a query to a provider called `prometheus`: - -```shell - sum(kube_pod_container_resource_limits{node='{{.nodename}}'}) - sum(kube_node_status_capacity{node='{{.nodename}}'}) -``` - -At runtime, the metrics operator tries to substitute -everything in`{{.variableName}}` format -with a key-value pair specified in the `Analysis` resource, -so, in this case, the query becomes: - -```shell - sum(kube_pod_container_resource_limits{node='test'}) - sum(kube_node_status_capacity{node='test'}) -``` - -The other key-value pairs such as 'project' and 'stage' are just examples of how one could pass to the provider -information similar to Keptn v1 objectives. -For a working example, you can -check [here](https://github.com/keptn/lifecycle-toolkit/tree/main/test/chainsaw/testanalysis/analysis-controller-multiple-providers). - -## Accessing Analysis - -### Retrieve KeptnMetric values with kubectl - -Use the `kubectl get` command to retrieve all the `Analysis` resources -in your cluster: - -```shell -kubectl get analyses.metrics.keptn.sh -A - -``` - -This returns something like - -```shell -NAMESPACE NAME ANALYSISDEFINITION STATE WARNING PASS -default analysis-sample ed-my-proj-dev-svc1 -``` - -You can then describe the `Analysis` with: - -```shell -kubectl describe analyses.metrics.keptn.sh analysis-sample -n=default -``` diff --git a/docs/docs/guides/tasks.md b/docs/docs/guides/tasks.md deleted file mode 100644 index e85eea3b0d..0000000000 --- a/docs/docs/guides/tasks.md +++ /dev/null @@ -1,333 +0,0 @@ ---- -comments: true ---- - -# Deployment Tasks with Keptn - -A -[KeptnTaskDefinition](../reference/crd-reference/taskdefinition.md) -resource defines one or more "executables" -(functions, programs, scripts, etc.) -that Keptn runs -as part of the pre- and post-deployment phases of a -[KeptnApp](../reference/crd-reference/app.md) or -[KeptnWorkload](../reference/api-reference/lifecycle/v1/index.md#keptnworkload). - -- pre-deployment (before the pod is scheduled) -- post-deployment (after the pod is scheduled) - -These `KeptnTask` resources and the -`KeptnEvaluation` resources (discussed in -[Evaluations](./evaluations.md)) -are part of the Keptn Release Lifecycle Management. - -A -[KeptnTask](../reference/api-reference/lifecycle/v1/index.md#keptntask) -executes as a runner in an application -[container](https://kubernetes.io/docs/concepts/containers/), -which runs as part of a Kubernetes -[job](https://kubernetes.io/docs/concepts/workloads/controllers/job/). -A `KeptnTaskDefinition` includes calls to executables to be run. - -To implement a `KeptnTask`: - -- Define a - [KeptnTaskDefinition](../reference/crd-reference/taskdefinition.md) - resource that defines the runner to use for the container - and the executables to be run - pre- and post-deployment -- Apply [basic-annotations](./integrate.md#basic-annotations) - to your workloads. -- Generate the required - [KeptnApp](../reference/crd-reference/app.md) - resources following the instructions in - [Auto app discovery](auto-app-discovery.md). -- Annotate your workload YAML files - to associate your `KeptnTaskDefinition` - with the pre-/post-deployment tasks that should be run. -- Create the appropriate `KeptnAppContext` resource - to associate `KeptnTaskDefinition` resources to the generated `KeptnApp`. - -This page provides information to help you create your tasks: - -- Code your task in an appropriate [runner](#runners-and-containers) -- How to control the - [execution order](#executing-sequential-tasks) - of functions, programs, and scripts - since all `KeptnTask` resources at the same level run in parallel -- Understand how to use [Context](#context) - that contains a Kubernetes cluster, a user, a namespace, - the application name, workload name, and version. -- Use [parameterized functions](#parameterized-functions) - if your task requires input parameters -- [Create secret text](#create-secret-text) - and [pass secrets to a function](#pass-secrets-to-a-function) - if necessary. - -## Runners and containers - -Each `KeptnTaskDefinition` can use exactly one container with one runner. -The runner you use determines the language you can use -to define the task. -The `spec` section of the `KeptnTaskDefinition` -defines the runner to use for the container: - -Keptn provides a general Kubernetes container runtime -that you can configure to do almost anything you want: - -- The `container-runtime` runner provides - a pure custom Kubernetes application container - that you define to includes a runtime, an application - and its runtime dependencies. - This gives you the greatest flexibility - to define tasks using the language and facilities of your choice - -Keptn also includes two "pre-defined" runners: - -- Use the `deno-runtime` runner to define tasks using Deno scripts, - which use JavaScript/Typescript syntax with a few limitations. - You can use this to specify simple actions - without having to define a container. -- Use the `python-runtime` runner - to define your task using Python 3. - -For the pre-defined runners (`deno-runtime` and `python-runtime`), -the actual code to be executed -can be configured in one of four different ways: - -- inline -- referring to an HTTP script -- referring to another `KeptnTaskDefinition` -- referring to a - [ConfigMap](https://kubernetes.io/docs/concepts/configuration/configmap/) - resource that is populated with the function to execute - -See the -[KeptnTaskDefinition](../reference/crd-reference/taskdefinition.md) -reference page for the synopsis and examples for each runner. - -## Run a task associated with your workload deployment - -To define pre-/post-deployment tasks, -you must manually edit the YAML files -to add annotations for your tasks to the appropriate -workload YAML file. - -Specify one of the following annotations/labels -for each task you want to execute: - -```yaml -keptn.sh/pre-deployment-tasks: -keptn.sh/post-deployment-tasks: -``` - -The value of each annotation corresponds -to the value of the `name` field of the -[KeptnTaskDefinition](../reference/crd-reference/taskdefinition.md) -resource. - -## Run a task associated with your entire KeptnApp - -To execute pre-/post-deployment tasks for a `KeptnApp`, -create a `KeptnAppContext` with the same name and in the same `namespace` as the `KeptnApp`. -The `KeptnAppContext` resource contains a list of -pre-/post-deployment tasks -that should be executed before and after the -workloads within the `KeptnApp` are deployed. - -See the [Getting started guide](../getting-started/lifecycle-management.md#more-control-over-the-application) -for more information on how to configure a `KeptnAppContext` resource -to execute pre-/post-deployment checks. -`KeptnAppContext` is also used to collect user defined -metadata information to use during your Task execution. -As explained later in this guide. -(See [the context section](#context)) - -## Example of pre/post-deployment actions - -A comprehensive example of pre-/post-deployment -evaluations and tasks can be found in our -[examples folder](https://github.com/keptn/lifecycle-toolkit/tree/main/examples/sample-app), -where we use [Podtato-Head](https://github.com/podtato-head/podtato-head) -to run some simple pre-deployment checks. -Check out the [readme](https://github.com/keptn/lifecycle-toolkit/blob/main/examples/sample-app/README.md) -to learn how to test this example on your machine. - -## Executing sequential tasks - -All `KeptnTask` resources that are defined by -`KeptnTaskDefinition` resources at the same level -(either pre-deployment or post-deployment) execute in parallel. -This is by design, because Keptn is not a pipeline engine. -**Task sequences that are not part of the lifecycle workflow -should not be handled by Keptn** -but should instead be handled by the pipeline engine tools being used -such as Jenkins, Argo Workflows, Flux, and Tekton. - -If your lifecycle workflow includes -a sequence of executables that need to be run in order, -you can put them all in one `KeptnTaskDefinition` resource, -which can execute a virtually unlimited number -of programs, scripts, and functions, -as long as they are all using the same runner. -You have the following options: - -- Encode all your steps in the language of your choice - and build an image - that Keptn executes in a `container-runtime` runner. - This is often the best solution if you need to execute complex sequences - because it gives you the most flexibility. - -- Use the `inline` syntax for one of the Keptn pre-defined runners - (either `deno-runtime` or `python-runtime`) - to code the actual calls inline in the `KeptnTaskDefinition` resource. - See - [Fields for pre-defined containers](../reference/crd-reference/taskdefinition.md#fields-for-predefined-containers) - for more information. - -- Create a script that calls the functions, programs, and scripts - that need to execute sequentially - and install this on a remote webserver that Keptn can access. - Then use the `httpRef` syntax for one of the pre-defined runners - to call this script from your `KeptnTaskDefinition`, - which can set parameters for the script if appropriate. - -For more details about implementing these options, see the -[KeptnTaskDefinition](../reference/crd-reference/taskdefinition.md) -page. - -## Context - -The Keptn task context includes details about the current deployment, application name, version, object type and other -user-defined metadata. -Keptn populates this metadata while running tasks before and after deployments, to provide the necessary context -associated with each task. - -This contrasts with the Kubernetes context, which is a set of access parameters that defines the -specific cluster, user and namespace with which you interact. -For more information, see -[Configure Access to Multiple Clusters](https://kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters/). - -For Tasks generated for applications running in Kubernetes, -Keptn populates a `KEPTN_CONTEXT` environment variable containing a set -of parameters that correlate a task -to a specific application/workload, -information about the phase in which the task is being executed, -as well as any metadata that has been attached to -the related application/workload - -You can use this context information -in the `function` code in your -[KeptnTaskDefinition](../reference/crd-reference/taskdefinition.md) -resource. - -`KEPTN_CONTEXT` is encoded as JSON and by default, contains: - -- "appName" -- "appVersion" -- "workloadName" -- "workloadVersion" -- "taskType" -- "objectType" -- "traceparent" -- "metadata" - -A Job created by a `KeptnTask` with `KEPTN_CONTEXT`, may look like the following - -```yaml -{% include "./assets/tasks/job-context.yaml" %} -``` - -You can customize the metadata field to hold any key-value pair of interest to share among -your workloads and tasks in a `KeptnApp` (for instance a commit ID value). -To do so, the metadata needs to be specified for the workload or for the application. -Follow our guide on [Context and Metadata here](./metadata.md). - - - -!!! note - - For an example of how to access the `KEPTN_CONTEXT`, follow our reference page examples - [for deno](../reference/crd-reference/taskdefinition.md#accessing-keptn_context-in-a-deno-task) - and [for python](../reference/crd-reference/taskdefinition.md#accessing-keptn_context-in-a-python-task). - - - -## Parameterized functions - -`KeptnTaskDefinition`s can use input parameters. -Simple parameters are passed as a single map of key values, -while the `secret` parameters refer to a single Kubernetes `secret`. - -Consider the following example: - -```yaml -{% include "./assets/tasks/slack.yaml" %} -``` - -Note the following about using parameters with functions: - -- Keptn passes the values - defined inside the `map` field as a JSON object. -- Multi-level maps are not currently supported. -- The JSON object can be read through the environment variable `DATA` - using `Deno.env.get("DATA");`. -- Currently only one secret can be passed. - The secret must have a `key` called `SECURE_DATA`. - It can be accessed via the environment variable `Deno.env.get("SECURE_DATA")`. - -## Working with secrets - -A special case of parameterized functions -is to pass secrets that may be required -to access data that your task requires. - -### Create secret text - -To create a secret to use in a `KeptnTaskDefinition`, -execute this command: - -```shell -kubectl create secret generic my-secret --from-literal=SECURE_DATA=foo -``` - -```yaml -{% include "./assets/tasks/dummy-task.yaml" %} -``` - -To pass multiple variables -you can create a Kubernetes secret using a JSON string: - -```shell -kubectl create secret generic my-secret \ ---from-literal=SECURE_DATA="{\"foo\": \"bar\", \"foo2\": \"bar2\"}" -``` - -```yaml -{% include "./assets/tasks/multi-secret.yaml" %} -``` - -### Pass secrets to a function - -[Kubernetes secrets](https://kubernetes.io/docs/concepts/configuration/secret/) -can be passed to the function -using the `secureParameters` field. - -Here, the `secret` value is the name of the Kubernetes secret, -which contains a field with the key `SECURE_DATA`. -The value of that field is then available to the function's runtime -via an environment variable called `SECURE_DATA`. - -For example, if you have a task function that should make use of secret data, -you must first ensure that the secret containing the `SECURE_DATA` key exists -For example: - -```yaml -{% include "./assets/tasks/secret-data.yaml" %} -``` - -Then, you can make use of that secret as follows: - -```yaml -{% include "./assets/tasks/taskdef-secure-data.yaml" %} -``` diff --git a/docs/docs/index.md b/docs/docs/index.md deleted file mode 100644 index ebf052b4ce..0000000000 --- a/docs/docs/index.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -comments: true ---- - -# Keptn Documentation - -This is the documentation homepage. -If you are new to Keptn, please check out the following sections: - -- [Core Concepts](./core-concepts/index.md) will help you understand what Keptn is all about -- [Get Started](./getting-started/index.md) helps you get going with your first use cases for Keptn -- [Installation](./installation/index.md) guides you through -the installation procedure for Keptn -and provides information about special configuration options -that are available. -- [Guides](guides/index.md) provides detailed and comprehensive how-to information -for Keptn features and capabilities. -- [Use Cases](use-cases/index.md) has more specific integration scenarios and use cases with other Cloud Native -tools. -- [Reference](reference/index.md) provides comprehensive information -about the CRDs and APIs that define how Keptn behaves. -- [Components](components/index.md) provides architectural information -about how Keptn functionality is implemented -for people who want a deeper understanding of Keptn -or who need this information to troubleshoot their systems. -It also includes information about updating and uninstalling Keptn. diff --git a/docs/docs/installation/assets/values-advance-changes.yaml b/docs/docs/installation/assets/values-advance-changes.yaml deleted file mode 100644 index 59448c99f3..0000000000 --- a/docs/docs/installation/assets/values-advance-changes.yaml +++ /dev/null @@ -1,16 +0,0 @@ -global: - # Change all installed operator registries - # e.g. the metrics operator image will be localhost:5000/keptn/metrics-operator:v0.0.0 - imageRegistry: "localhost:5000" - commonLabels: - app.kubernetes.io/version: myversion # This label will be added to all installed resources - certManager: - enabled: true - -lifecycleOperator: - enabled: false # Lifecycle operator won't be installed -metricsOperator: - enabled: true - image: - tag: v0.0.0 # Metrics operator will use this image tag - imagePullPolicy: Never diff --git a/docs/docs/installation/assets/values-only-lifecycle.yaml b/docs/docs/installation/assets/values-only-lifecycle.yaml deleted file mode 100644 index b9245f3a75..0000000000 --- a/docs/docs/installation/assets/values-only-lifecycle.yaml +++ /dev/null @@ -1,9 +0,0 @@ -global: - certManager: - enabled: true - -lifecycleOperator: - enabled: true - -metricsOperator: - enabled: false diff --git a/docs/docs/installation/assets/values-only-metrics.yaml b/docs/docs/installation/assets/values-only-metrics.yaml deleted file mode 100644 index b9245f3a75..0000000000 --- a/docs/docs/installation/assets/values-only-metrics.yaml +++ /dev/null @@ -1,9 +0,0 @@ -global: - certManager: - enabled: true - -lifecycleOperator: - enabled: true - -metricsOperator: - enabled: false diff --git a/docs/docs/installation/assets/values-remove-certmanager.yaml b/docs/docs/installation/assets/values-remove-certmanager.yaml deleted file mode 100644 index ee2cd49cb4..0000000000 --- a/docs/docs/installation/assets/values-remove-certmanager.yaml +++ /dev/null @@ -1,3 +0,0 @@ -global: - certManager: - enabled: false diff --git a/docs/docs/installation/configuration/Openshift.md b/docs/docs/installation/configuration/Openshift.md deleted file mode 100644 index 67ef2e56ff..0000000000 --- a/docs/docs/installation/configuration/Openshift.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -comments: true ---- - -# Installing on Openshift - -To install on OpenShift, set the value `global.openShift.enabled` in the `values.yaml` file to true. -In practice this means that `runAsUser` and `runAsGroup` are removed, since -Openshift sets those automatically. - -You can set the `global.openShift.enabled` parameter when running the `helm install` command: - -```shell -helm install keptn keptn/keptn -n keptn-system --create-namespace --set global.openShift.enabled=true -``` - -or you can define it in your `values.yaml` file: - -```yaml -global: - openShift: - enabled: true -``` diff --git a/docs/docs/installation/configuration/argocd.md b/docs/docs/installation/configuration/argocd.md deleted file mode 100644 index b589cfcb27..0000000000 --- a/docs/docs/installation/configuration/argocd.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -comments: true ---- - -# Deploy Keptn via ArgoCD - -Keptn can be deployed on your Kubernetes cluster -via [ArgoCD](https://argoproj.github.io/cd/). - -## Before you begin - -To successfully deploy Keptn via ArgoCD, you need to -have ArgoCD installed on your cluster. -You can find the -[installation instructions](https://argo-cd.readthedocs.io/en/stable/operator-manual/installation/) -in the ArgoCD documentation. - -## Creating Argo Application - -After successfully installing ArgoCD, you need to create -an Argo Application and define the -repository containing Keptn helm charts: - -```yaml -{% include "./assets/argo-app.yaml" %} -``` - -After applying the Application to your cluster, -Argo will fetch the state of the linked repository -and deploy the content via helm. - -You can access the ArgoCD UI to see that -Keptn is up and running. - -![keptn argo](./assets/argo-keptn.png) - -> **Note** -Please be aware, that you need to enable -[cascading deletion](https://kubernetes.io/docs/concepts/architecture/garbage-collection/#cascading-deletion) -of the application, which is disabled by default in ArgoCD. -You can enable it by adding the deletion finalizers into your -Argo Application, like it's done in the example above. -More information about the deletion finalizers can be found -[here](https://argo-cd.readthedocs.io/en/stable/user-guide/app_deletion/#about-the-deletion-finalizer). - -```yaml -metadata: - finalizers: - - resources-finalizer.argocd.argoproj.io # enabling cascading deletion -``` diff --git a/docs/docs/installation/configuration/assets/argo-app.yaml b/docs/docs/installation/configuration/assets/argo-app.yaml deleted file mode 100644 index 7c1b6e3df2..0000000000 --- a/docs/docs/installation/configuration/assets/argo-app.yaml +++ /dev/null @@ -1,26 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: keptn - namespace: argocd - finalizers: - - resources-finalizer.argocd.argoproj.io # enabling cascading deletion -spec: - project: default - source: - repoURL: 'https://charts.lifecycle.keptn.sh' # helm chart repository - chart: keptn # helm chart name - targetRevision: 0.5.1 # helm chart version - use latest available here - helm: - parameters: - - name: "commitID" - value: "$ARGOCD_APP_REVISION" - destination: - server: 'https://kubernetes.default.svc' # server where Keptn will be deployed - namespace: keptn-system # namespace where Keptn will be deployed - syncPolicy: - automated: - prune: true - selfHeal: true - syncOptions: - - CreateNamespace=true diff --git a/docs/docs/installation/configuration/assets/argo-keptn.png b/docs/docs/installation/configuration/assets/argo-keptn.png deleted file mode 100644 index 37d697b955..0000000000 Binary files a/docs/docs/installation/configuration/assets/argo-keptn.png and /dev/null differ diff --git a/docs/docs/installation/configuration/cert-manager.md b/docs/docs/installation/configuration/cert-manager.md deleted file mode 100644 index 6aa13fb7cd..0000000000 --- a/docs/docs/installation/configuration/cert-manager.md +++ /dev/null @@ -1,94 +0,0 @@ ---- -comments: true ---- - -# Keptn + cert-manager.io - -Keptn includes -a light-weight, customized cert-manager -that is used to register Webhooks to the [KubeAPI](https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/). -Bundling the cert-manager simplifies the installation for new users -and provides the functionality Keptn needs -without the overhead of other cert-managers. -For a description of the architecture, see -[Keptn Certificate Manager](../../components/certificate-operator.md). - -Keptn also works well with `cert-manager.io`. -If you are already using `cert-manager.io`, -you can continue to use it for other components -and use the Keptn cert-manager just for Keptn activities -or you can disable the Keptn cert-manager -and configure Keptn to use `cert-manager.io`. - -If you want Keptn to use `cert-manager.io`, -you must configure it *before* you install Keptn. -The steps are: - -* Install `cert-manager.io` if it is not already installed. -* Add the `Certificate` and `Issuer` CRs for `cert-manager.io`. -* (optional) Install Keptn without the built-in `keptn-cert-manager` -and with injected CA annotations via Helm - -## Add the CR(s) for cert-manager.io - -These are the CRs for `cert-manager.io` to be applied to your cluster: - -```yaml -apiVersion: cert-manager.io/v1 -kind: Certificate -metadata: - name: keptn-certs - namespace: -spec: - dnsNames: - - lifecycle-webhook-service..svc - - lifecycle-webhook-service..svc.cluster.local - - metrics-webhook-service..svc - - metrics-webhook-service..svc.cluster.local - issuerRef: - kind: Issuer - name: keptn-selfsigned-issuer - secretName: keptn-certs ---- -apiVersion: cert-manager.io/v1 -kind: Issuer -metadata: - name: keptn-selfsigned-issuer - namespace: -spec: - selfSigned: {} -``` - -Note the following about these fields: - -* The `apiVersion` field refers to the API for the cert-manager. -* The value of the `.spec.secretName` field as well as the `.metadata.name` of the `Certificate` CR - must be `keptn-certs`. -* Substitute the namespace placeholders with your namespace, where Keptn is installed. - -## Injecting CA Annotations - -`cert-manager.io` supports specific annotations for -injectable resources depending on the injection source. -To configure these annotations, modify the `global.caInjectionAnnotation` Helm value. -See the [CA Injector](https://cert-manager.io/docs/concepts/ca-injector/) documentation for more details. - -Here is an example `values.yaml` file demonstrating the configuration of CA injection -by using the `cert-manager.io/inject-ca-from` annotation: - -```yaml -global: - certManagerEnabled: false # disable Keptn Cert Manager - caInjectionAnnotations: - cert-manager.io/inject-ca-from: keptn-system/keptn-certs -``` - -Refer to the -[Customizing the configuration of components](../index.md#customizing-the-configuration-of-components) -for more details. - -## Troubleshooting - -When experiencing problems with setting up cert-manager.io, -please refer to the -[cert-manager.io troubleshooting page](https://cert-manager.io/docs/troubleshooting/). diff --git a/docs/docs/installation/configuration/index.md b/docs/docs/installation/configuration/index.md deleted file mode 100644 index 729021ef0f..0000000000 --- a/docs/docs/installation/configuration/index.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -comments: true ---- - -# Configuration - -This section contains guides for specific configuration use cases for Keptn. -These will help you adjust settings that need to be set at installation time -and allocate resources required to run Keptn. diff --git a/docs/docs/installation/configuration/namespace-keptn.md b/docs/docs/installation/configuration/namespace-keptn.md deleted file mode 100644 index 535a204f72..0000000000 --- a/docs/docs/installation/configuration/namespace-keptn.md +++ /dev/null @@ -1,74 +0,0 @@ ---- -comments: true ---- - -# Restrict monitored namespaces - -This page discusses how to restrict the namespaces -where the Keptn -[lifecycle-operator](../../components/lifecycle-operator/index.md) -orchestrates the deployments. - -For information about how to allocate Keptn resources -across namespaces, see -[Namespaces and resources](namespace-resources.md). - -## Default behavior - -Keptn must be installed on its own namespace -that does not run any other components, -especially any application deployment. - -By default, Keptn lifecycle orchestration is enabled -for all namespaces except the followings: - -- `kube-system` -- `kube-public` -- `kube-node-lease` -- `cert-manager` -- `keptn-system` (Keptn installation namespace) -- `observability` -- `monitoring` - -## Custom namespace restriction - -If you want to restrict Keptn to only some namespaces, you should: - -- Allow those namespaces during installation -- Annotate those namespaces - -To implement this: - -1. Create a `values.yaml` file - that lists the namespaces Keptn lifecycle orchestration should monitor: - - ```yaml - lifecycleOperator: - allowedNamespaces: - - allowed-ns-1 - - allowed-ns-2 - ``` - -1. Add the values file to the helm installation command: - - ```shell - helm repo add keptn https://charts.lifecycle.keptn.sh - helm repo update - helm upgrade --install keptn keptn/keptn -n keptn-system \ - --values values.yaml --create-namespace --wait - ``` - -1. Annotate the namespaces where Keptn lifecycle orchestration is allowed - by issuing the following command - for each namespace: - - ```shell - kubectl annotate ns \ - keptn.sh/lifecycle-toolkit='enabled' - ``` - -> **Note** -Restricted allowed namespaces are configured at installation time. -To add or remove Keptn allowed namespaces, -you must modify the list of namespaces in your `values.yaml` file -and rerun the `helm upgrade` command. diff --git a/docs/docs/installation/configuration/namespace-resources.md b/docs/docs/installation/configuration/namespace-resources.md deleted file mode 100644 index 57f2d622ec..0000000000 --- a/docs/docs/installation/configuration/namespace-resources.md +++ /dev/null @@ -1,87 +0,0 @@ ---- -comments: true ---- - -# Allocate namespaces for Keptn resources - -Keptn primarily operates on Kubernetes -[Workload](https://kubernetes.io/docs/concepts/workloads/) -resources and -[KeptnApp](../../reference/crd-reference/app.md) -resources that are activated and defined by annotations to each workload. -You have significant flexibility to decide how many namespaces to use -and where to locate each resource. -See the Kubernetes -[Namespace](https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/) -documentation for some basic information. -You can also search and find many "Best Practices for Namespaces" -documents published on the web. - -Possible namespace designs for Keptn run the gamut: - -* Run all your Keptn work in a single namespace -* Create a separate namespace for each logical grouping of your Keptn work -* Create a separate namespace for each [workload](https://kubernetes.io/docs/concepts/workloads/) - -This page summarizes some namespace considerations -for some Keptn resources. -For information about limiting the namespaces where Keptn is allowed, see -[Namespaces and Keptn](namespace-keptn.md). - -## KeptnMetric resources - -[KeptnMetricsProvider](../../reference/crd-reference/metricsprovider.md) -resources need to be located -in the same namespace as the associated -[KeptnMetric](../../reference/crd-reference/metric.md) -resources. -But -[KeptnEvaluationDefinition](../../reference/crd-reference/evaluationdefinition.md) -resources that are used for pre- and post-deployment -can reference metrics from any namespace. -So you can create `KeptnMetrics` resources in a centralized namespace -(such as `keptn-system`) -and access those metrics in evaluations on all namespaces in the cluster. - -## Analysis related resources - -Analysis related resources -([Analysis](../../reference/crd-reference/analysis.md), -[AnalysisDefinition](../../reference/crd-reference/analysisdefinition.md), -and -[AnalysisValueTemplate](../../reference/crd-reference/analysisvaluetemplate.md)) -reference each other via a `name` and, optionally, a `namespace` field. -The `Analysis` resource references the `AnalysisDefinition` resource, -which then references the `AnalysisValueTemplate` resources. - -* If the `namespace` in the reference is not set explicitly, - the `AnalysisDefinition` and `AnalysisValueTemplate` resources - must reside in the same namespace as the `Analysis` resource. -* If the `namespace` in the reference is set for the resources, - the `Analysis`, `AnalysisDefinition`, and `AnalysisValueTemplate` resources - can each reside in different namespaces. - -This provides configuration options such as the following: - -* You can have one namespace - with all of your `AnalysisDefinition` and `AnalysisValueTemplate` resources - and reuse them in the different namespaces where you run analyses. - -* You can have everything strictly namespaced - and always put the `AnalysisDefinition`, `AnalysisValueTemplate` - and the `Analysis` resources into the same namespace, - without adding the explicit namespace selectors - when creating references between those objects. - -## KeptnApp resources - -Each `KeptnApp` resource identifies the namespace to which it belongs. -If you configure multiple namespaces, -you can have `KeptnApp` resources with the same name -in multiple namespaces without having them conflict. - -You do not need separate namespaces for separate versions of your application. -The `KeptnApp` resource includes fields to define -the `version` as well as a `revision` -(used if you have to rerun a deployment -but want to retain the version number). diff --git a/docs/docs/installation/index.md b/docs/docs/installation/index.md deleted file mode 100644 index 8bccbfb0fe..0000000000 --- a/docs/docs/installation/index.md +++ /dev/null @@ -1,259 +0,0 @@ ---- -comments: true ---- - -# Installation - -Keptn must be installed onto each Kubernetes cluster you want to monitor. -Additionally, Keptn needs to be enabled on your namespaces. -This gives you flexibility in how and where you want to use Keptn. - -> **Note** By default, Keptn monitors all namespaces in the cluster -> except for those reserved for major components. -> See -> [Namespaces and Keptn](configuration/namespace-keptn.md) -> to learn how to limit the namespaces that Keptn monitors. - -Keptn is installed using [Helm](https://helm.sh/). - -After you install Keptn, you are ready to -[Integrate Keptn with your applications](../guides/integrate.md). - -## Supported Kubernetes versions - -Keptn requires Kubernetes v1.27.0 or later. - -Run the following to ensure that both client and server versions -are running Kubernetes versions greater than or equal to v1.27. -In this example, both client and server are at v1.27.0 -so Keptn will work. - -```shell -kubectl version --short -``` - -```shell -Client Version: v1.27.0 -Kustomize Version: v5.0.0 -Server Version: v1.27.0 -``` - -Scheduling is implemented using -[Kubernetes scheduling gates](https://kubernetes.io/docs/concepts/scheduling-eviction/pod-scheduling-readiness/). -See -[Keptn integration with Scheduling](../components/scheduling.md) -for details. - -If you want to deploy Keptn via [ArgoCD](https://argoproj.github.io/cd/), -refer to the [Deploying Keptn via ArgoCD](./configuration/argocd.md) section -for more information. - -## Basic installation - -Keptn is installed onto an existing Kubernetes cluster -using a Helm chart. -To modify the Keptn configuration, -you must modify the `values.yaml` file of the chart. - -The command sequence to fetch and install the latest release of Keptn is: - -```shell -helm repo add keptn https://charts.lifecycle.keptn.sh -helm repo update -helm upgrade --install keptn keptn/keptn \ - -n keptn-system --create-namespace --wait -``` - -If you want to use Keptn to observe your deployments -or to enhance them with lifecycle management -you must enable Keptn in your -[Namespace](https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/) -via annotations. -For example, for the `testy-test` namespace: - -```yaml -apiVersion: v1 -kind: Namespace -metadata: - name: testy-test - annotations: - keptn.sh/lifecycle-toolkit: "enabled" # this tells Keptn to watch the namespace -``` - -Some helpful hints: - -* Use the `--version ` flag on the - `helm upgrade --install` command to specify a different Keptn Helm chart version. - - To get the appropriate chart version for the Keptn version you want, - use the following command: - - ```shell - helm search repo keptn --versions - ``` - - You see that the "CHART VERSION" for `keptn/keptn` v0.9.0 is 0.3.0 - so use the following command to explicitly installs Keptn v0.9.0: - - ```shell - helm upgrade --install keptn keptn/keptn --version 0.3.0 \ - -n keptn-system --create-namespace --wait - ``` - -* To view which Keptn components are installed in your cluster - and verify that they are the correct ones, - run the following command: - - ```shell - kubectl get pods -n keptn-system - ``` - - The output shows all Keptn components that are running on your cluster. - -### Alternative installation methods - -#### Install Keptn via Glasskube - -[Glasskube](https://glasskube.dev/) -is a package manager for Keptn that simplifies the installation process -and can be used to automatically upgrade Keptn to the latest version. -For more information on how to install Glasskube, see -[Glasskube Installation](https://glasskube.dev/docs/getting-started/install/). - -To install Keptn via Glasskube after Glasskube is installed, run the following command: - -``` shell -glasskube install keptn -``` - -After that, Keptn is installed on your cluster and -will be automatically upgraded to the latest version. - -## Keptn Helm configuration - -The Keptn configuration is controlled by a set of Helm value files, -summarized in the following table. -The Keptn Helm chart is an umbrella chart -that contains subcharts for all components of Keptn. -Each component has its own Helm values file -(documented in its own README file), -that defines configurations specific to that component. - -All configuration changes for all components -can be made in one `values.yaml` file. -This is discussed more in -[Customizing the configuration of components](#customizing-the-configuration-of-components) -below. - -The following table summarizes the Keptn `values.yaml` files. - -* The "Component" column leads you to the - README files for each component where - all Helm values are documented -* The "Configuration file" column leads you to - the Helm values files for each component - -| Component | Used for | Configuration file | -|----------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------| --------------------| -| [Keptn](https://github.com/keptn/lifecycle-toolkit-charts/blob/main/charts/keptn/README.md) | Installs subcharts, global configuration | [keptn/values.yaml](https://github.com/keptn/lifecycle-toolkit-charts/blob/main/charts/keptn/values.yaml) | -| [lifecycle-operator](https://github.com/keptn/lifecycle-toolkit-charts/blob/main/charts/keptn-lifecycle-operator/README.md) | [Observability](../guides/otel.md), [Release Lifecycle Management](../core-concepts/index.md#release-lifecycle-management) | [keptn-lifecycle-operator/values.yaml](https://github.com/keptn/lifecycle-toolkit-charts/blob/main/charts/keptn-lifecycle-operator/values.yaml) | -| [metrics-operator](https://github.com/keptn/lifecycle-toolkit-charts/blob/main/charts/keptn-metrics-operator/README.md) | [Keptn metrics](../guides/evaluatemetrics.md), [Analysis](../guides/slo.md) | [keptn-metrics-operator/values.yaml](https://github.com/keptn/lifecycle-toolkit-charts/blob/main/charts/keptn-metrics-operator/values.yaml) | -| [cert-manager](https://github.com/keptn/lifecycle-toolkit-charts/blob/main/charts/keptn-cert-manager/README.md) | [TLS Certificate management for all Keptn components](../components/certificate-operator.md) | [keptn-cert-manager/values.yaml](https://github.com/keptn/lifecycle-toolkit-charts/blob/main/charts/keptn-cert-manager/values.yaml) | - -## Customizing the configuration of components - -To modify configuration of the subcomponents of Keptn, -use the corresponding Helm values in your `values.yaml` file. -Use the subcomponent's parent value as the root for your configuration. - -Here is an example `values.yaml` altering global and metrics operator values: - -```yaml -{% include "./assets/values-advance-changes.yaml" %} -``` - -Note the additional values that are specified -in the `metricsOperator` section. -These are documented in the README file for that operator, -which is linked from the `metrics-operator` item under "Component" -in the table above. -To implement this: - -* Go into the `values.yaml` file linked under "Configuration file" -* Copy the lines for the values you want to modify -* Paste those lines into your `values.yaml` file - and modify their values in that file. - -### Modify Helm values - -To modify Helm values: - -1. Download a copy of the Helm values file: - - ```shell - helm show values keptn/keptn > values.yaml - ``` - -1. Edit your local copy to modify some values - -1. Add the following string - to your `helm upgrade` command to install Keptn - with your configuration changes: - - ```shell - --values=values.yaml - ``` - - For example, if you create a `my.values.yaml` - and modify some configuration values, - use the following command to apply your configuration: - - ```shell - helm upgrade --install keptn keptn/keptn \ - --values my.values.yaml \ - -n keptn-system --create-namespace --wait - ``` - - You can also use the `--set` flag - to specify a value change for the `helm upgrade --install` command. - Helm values are specified using the format: - - ```shell - --set key1=value1 \ - --set key2=value2 ... - ``` - -## Control what components are installed - -By default, all components are included when you install Keptn. -To specify the components that are included, -you need to modify the Keptn `values.yaml` file -to disable the components you do not want to install. - -Note that the Keptn Helm chart is quite flexible. -You can install all Keptn components on your cluster, -then modify the configuration to exclude some components -and update your installation. -Conversely, you can exclude some components when you install Keptn -then later add them in. - -### Disable Keptn Certificate Manager (Certificates) - -If you wish to use your custom certificate manager, -you can disable Keptn `cert-manager` by setting the -`certificateManager.enabled` Helm value to `false`: - -```yaml -{% include "./assets/values-remove-certmanager.yaml" %} -``` - -For more information on using `cert-manager` with Keptn, see -[Use Keptn with cert-manager.io](../components/certificate-operator.md). - -For the full list of Helm values, see the -[keptn-cert-manager Helm chart README](https://github.com/keptn/lifecycle-toolkit-charts/blob/main/charts/keptn-cert-manager/README.md). - -## Uninstalling Keptn - -To uninstall Keptn from your cluster, please follow the steps -on the [Uninstall page](./uninstall.md). diff --git a/docs/docs/installation/k8s.md b/docs/docs/installation/k8s.md deleted file mode 100644 index 1931d94660..0000000000 --- a/docs/docs/installation/k8s.md +++ /dev/null @@ -1,111 +0,0 @@ ---- -comments: true ---- - -# Kubernetes cluster - -Keptn is meant to be installed -into an existing Kubernetes cluster -that runs your deployment software. -See [Requirements](index.md#supported-kubernetes-versions) for information about supported releases -and advice about resources required. - -## Create local Kubernetes cluster - -You can also create a local cluster using packages such as -[KinD](https://kind.sigs.k8s.io/), -[k3d](https://k3d.io/), -[k3s](https://k3s.io/), -and [Minikube](https://minikube.sigs.k8s.io/docs/) -to set up a local, lightweight Kubernetes cluster -where you can install Keptn -for personal study, demonstrations, and testing. -For more information, see the Kubernetes -[Install Tools](https://kubernetes.io/docs/tasks/tools/) -documentation. - -The [Keptn: Installation and KeptnTask Creation in Minutes](https://www.youtube.com/watch?v=Hh01bBwZ_qM) -video demonstrates how to create a KinD cluster. -on which you can install Keptn. -The basic steps are: - -1. Download, install, and run [Docker](https://docs.docker.com/get-docker/) -2. Download [KinD](https://kind.sigs.k8s.io/) -3. Create the local KinD cluster with the following command: - - ```shell - kind create cluster - ``` - - See the - [KinD Quick Start Guide](https://kind.sigs.k8s.io/docs/user/quick-start/) - for more information - -4. When the cluster has been created, - run the following to verify that the cluster is working - and that it is running a supported version of Kubernetes - with the following command: - - ```shell - kubectl version --short - ``` - -## Prepare your cluster for Keptn - -Keptn installs into an existing Kubernetes cluster. -When setting up a local Kubernetes cluster to study or demonstrate Keptn, -you need to provide these components. - -Your cluster should include the following: - -* A supported version of Kubernetes. - See [Supported Kubernetes versions](index.md#supported-kubernetes-versions) - for details. - -* The - [kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl) - CLI that is used to interact with Kubernetes clusters. - -* The - [Helm](https://helm.sh/docs/intro/install/) - CLI that is used to install and configure Keptn. - -* Deployment tools of your choice, - such as - [Argo CD](https://argo-cd.readthedocs.io/en/stable/) or - [Flux](https://fluxcd.io/). - Alternatively, Keptn also works with just `kubectl apply` for deployment. - -* At least one observability data provider such as - [Prometheus](https://prometheus.io/), - [Thanos](https://thanos.io/), - [Cortex](https://cortexmetrics.io/), - [Dynatrace](https://www.dynatrace.com/), - [Elastic](https://www.elastic.co/), - or [Datadog](https://www.datadoghq.com/); - you can use multiple instances of different data providers. - These provide: - - * Metrics used for [Keptn Metrics](../guides/evaluatemetrics.md) - * Metrics used for [OpenTelemetry](../guides/otel.md) observability - * SLIs for pre- and post-deployment [evaluations](../guides/evaluations.md) - * SLIs used for [analyses](../guides/slo.md) - -* If you want to use the standardized observability feature, - you must have an OpenTelemetry collector - as well as a Prometheus operator installed on your cluster. - For more information, see - [Requirements for OpenTelemetry](../guides/otel.md/#requirements-for-opentelemetry). - -* If you want a dashboard for reviewing metrics and traces, - install the dashboard tools of your choice; - we primarily use Grafana. - For more information, see - [Requirements for Open Telemetry](../guides/otel.md/#requirements-for-opentelemetry). - -* Keptn includes a lightweight `cert-manager` that, by default, - is installed as part of the Keptn software. - If you are using another certificate manager in the cluster, - you can configure Keptn to instead use your cert-manager. - See [Use Keptn with cert-manager.io](./configuration/cert-manager.md) - for detailed instructions. diff --git a/docs/docs/installation/tips-tricks.md b/docs/docs/installation/tips-tricks.md deleted file mode 100644 index 3c2e81bd4d..0000000000 --- a/docs/docs/installation/tips-tricks.md +++ /dev/null @@ -1,155 +0,0 @@ ---- -comments: true ---- - -# Installation Tips and Tricks - -The -[Install Keptn](index.md) -page documents how to install Keptn. -This page provides some background and more examples -that supplement that information. - -## Umbrella chart - -Keptn v0.9.0 and later is installed using a Helm umbrella chart. -This means that the Helm Chart that installs all of Keptn -actually groups subcharts for individual components -and you can install individual components -without installing all of Keptn. - -Keptn is installed using the -[Keptn](https://github.com/keptn/lifecycle-toolkit-charts/blob/main/charts/keptn) -umbrella Helm chart. -Each subchart has its own README file describing possible configuration options, -but configuration changes for the subcharts are added to a single `values.yaml` file. -See -[Customizing the configuration of components](index.md#customizing-the-configuration-of-components) -for an example. - -## Installing older versions of Keptn - -Installation of Keptn v0.9.0 has two significant differences -compared to the installation of earlier releases: - -* Keptn v0.9.0 and later releases use - the umbrella charts whereas earlier versions did not -* Keptn v0.9.0 and later releases use - the `keptn` Helm chart, whereas earlier - releases used the `klt` chart. - -To install a version prior to v0.9.0, -use the install command sequence that is documented for that release. -To install the latest version, use the installation commands on the -[Install Keptn](index.md#basic-installation) -[Install Keptn](index.md#basic-installation) -page. - -To install an older release, -specify the chart version with the `--version` flag -in the `helm upgrade --install` command for the release you are installing. - -## Example configurations by use-case - -[Control what components are installed](index.md#customizing-the-configuration-of-components) -discusses how to configure Keptn to include only the components you want. -The following sections summarize and give examples -of the configurations needed for different use cases. - -### Enable Keptn Lifecycle Operator (Observability and/or Release Lifecycle) - -If you only want to run the Keptn Observability -and/or Release Lifecycle use-cases in your cluster, -you do not need to install the Keptn Metrics Operator. -To disable it, set the `metricsOperator.enabled` value -to `false` as in the following: - -```yaml -{% include "./assets/values-only-lifecycle.yaml" %} -``` - -Note that, if you want to run pre- and/or post-deployment -[evaluations](../guides/evaluations.md) -as part of the Release Lifecycle use-case, -you need to have the Keptn Metrics Operator installed. - -You must also enable Keptn for each -[namespace](https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/) -on which you want to run either -the Observability or Release Lifecycle use-case. - -To enable Keptn, annotate the appropriate `Namespace` resource(s). -For example, for the `simplenode-dev` namespace, -the annotation looks like this: - -```yaml -apiVersion: v1 -kind: Namespace -metadata: - name: simplenode-dev - annotations: - keptn.sh/lifecycle-toolkit: "enabled" -``` - -You see the annotation line `keptn.sh/lifecycle-toolkit: "enabled"`. - -After enabling Keptn for your namespace(s), -you are ready to -[Integrate Keptn with your applications](../guides/integrate.md). - -For more information about implementing Observability, see the -[Observability User Guide](../guides/otel.md). - -For more information about implementing Keptn Release Lifecycle, see the -[Deployment tasks](../guides/tasks.md) -and -[Evaluations](../guides/evaluations.md) -User Guides. - -### Enable Keptn Metrics Operator (Metrics) - -If you are only interested in Metrics, -you do not need the Keptn Lifecycle Operator. -Disable it using the following values.yaml: - -```yaml -{% include "./assets/values-only-metrics.yaml" %} -``` - -For more information about implementing Metrics, see the -[Metrics User Guide](../guides/evaluatemetrics.md). - -### Enable Keptn Analysis (SLOs/SLIs) - -To enable Keptn Analysis in your cluster, -you again do not need the Keptn Lifcycle Operator. -Disable it using the following values.yaml: - -```yaml -{% include "./assets/values-only-metrics.yaml" %} -``` - -> **Note** A preliminary release of the Keptn Analysis feature - is included in Keptn v0.8.3 and v0.9.0 but is hidden behind a feature flag. - See the - [Analysis](../reference/crd-reference/analysis.md/#differences-between-versions) - reference page for how to activate the preview of this feature. -> - -For more information about implementing Keptn Analysis, see the -[Analysis User Guide](../guides/slo.md). - -### Disable Keptn Certificate Manager (Certificates) - -If you wish to use your own custom certificate manager, -you can disable the Keptn `cert-manager` by using the -`--set certificateManager.enabled=false` argument -to the `helm upgrade` command line -or you can modify the `values.yaml` file: - -```yaml -{% include "./assets/values-remove-certmanager.yaml" %} -``` - -For more information about using `cert-manager` with Keptn, see -[Use Keptn with cert-manager.io](./configuration/cert-manager.md). diff --git a/docs/docs/installation/troubleshooting.md b/docs/docs/installation/troubleshooting.md deleted file mode 100644 index 640eb719bc..0000000000 --- a/docs/docs/installation/troubleshooting.md +++ /dev/null @@ -1,89 +0,0 @@ ---- -comments: true ---- - -# Troubleshooting Guide - -Welcome to the Keptn troubleshooting guide. - -This guide will help you address common issues that you might encounter while using Keptn -for managing your [workloads](https://kubernetes.io/docs/concepts/workloads/). -Below are some common problems and their solutions: - -## Keptn is installed but it is not aware of my workloads - -If you are facing an issue where Keptn is installed but does not seem to be aware of your -[workloads](https://kubernetes.io/docs/concepts/workloads/), follow these steps: - -1. Ensure that the namespace you wish to target is [annotated correctly](index.md#basic-installation). -2. Make sure your [workloads](https://kubernetes.io/docs/concepts/workloads/) - (e.g., Deployment manifests) have the [three required annotations](https://lifecycle.keptn.sh/docs/implementing/integrate/#annotate-workloads). - -## Keptn is causing my pods to be pending - -If your pods are stuck in a pending state and Keptn seems to be the cause, it might be due -to a pre-deployment task or evaluation. -Follow these steps: - -The most probable reason is that a pre-deployment task in your -[workload](https://kubernetes.io/docs/concepts/workloads/) is either failing or has not completed yet. - -Failing pre-deployment evaluation tasks will prevent a pod from being scheduled. - -Check the logs of the pre-deployment task Kubernetes Jobs for insights. - -For instance, if -your application is in the `prod` namespace: - -```shell -kubectl -n prod get pods -kubectl -n prod logs job/... -``` - -> **Note** -The blocking behavior can be changed by configuring non-blocking deployment -functionality. -More information can be found in the -[Keptn non-blocking deployment section](../components/lifecycle-operator/keptn-non-blocking.md). - -## I have pending Pods after Keptn is uninstalled - -> **Note** This section particularly affects clusters where -Keptn was installed via ArgoCD. - -If you have uninstalled Keptn, originally installed via ArgoCD -and are now facing issues scheduling or deleting pods for other applications, -you probably didn't enable -[cascading deletion](https://kubernetes.io/docs/concepts/architecture/garbage-collection/#cascading-deletion) -of the application during installation, which is disabled by default in ArgoCD. - -To fix this problem, you need to install Keptn via ArgoCD again, with the use -of `finalizers` in your Argo Application. -For more information see the -[Deploy Keptn via ArgoCD](./configuration/argocd.md) section for more information. - -## I cannot see DORA metrics or OpenTelemetry traces - -Keptn will automatically generate DORA metrics and OTel traces for every deployment, but -by default it does not know where to send them. - -You need an OpenTelemetry collector -installed and configured on the cluster. - -[The OpenTelemetry observability page](https://lifecycle.keptn.sh/docs/implementing/otel/) -contains more information on how to configure this. - -## I get a custom metrics API APIService error when installing metrics-operator - -An error like the following occurs when installing the Keptn metrics operator on a cluster -that already has a custom metrics API defined: - -```shell -Error: Unable to continue with install: APIService "v1beta1.custom.metrics.k8s.io" in namespace "" exists and cannot be imported into the current release: invalid ownership metadata; annotation validation error: missing key "meta.helm.sh/release-name": must be set to "keptn"; annotation validation error: missing key "meta.helm.sh/release-namespace": must be set to "dynatrace" -``` - -Set the `metricsOperator.customMetricsAPIService.enabled` Helm value in the -[metrics-operator/chart/README.md](https://github.com/keptn/lifecycle-toolkit/blob/main/metrics-operator/chart/README.md#keptn-metrics-operator-common) -file to `false` to disable the Keptn installation of an `APIService` and retry the installation. - -The custom metrics API is a non-namespaced resource that can only exist once in a Kubernetes cluster. diff --git a/docs/docs/installation/uninstall.md b/docs/docs/installation/uninstall.md deleted file mode 100644 index 35464767d0..0000000000 --- a/docs/docs/installation/uninstall.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -comments: true ---- - -# Uninstall - -> **Warning** -Please be aware that uninstalling Keptn from your cluster -will cause loss of all your Keptn data. - -If you installed the previous version of Keptn using `helm`, -you can uninstall it together with all CRDs, webhooks and -custom resources with using the following command: - -```shell -helm uninstall keptn -n keptn-system -``` - -If your Keptn instance is not installed in the -`keptn-system` namespace, please substitute -it with your custom one. diff --git a/docs/docs/installation/upgrade.md b/docs/docs/installation/upgrade.md deleted file mode 100644 index 8df4f3c63f..0000000000 --- a/docs/docs/installation/upgrade.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -comments: true ---- - -# Upgrade - -If you installed the previous version of Keptn using `helm`, -you can upgrade to the latest version -by running the same command sequence used to install Keptn: - -```shell -helm repo add keptn https://charts.lifecycle.keptn.sh -helm repo update -helm upgrade --install keptn keptn/keptn \ - -n keptn-system --create-namespace --wait -``` - -Use the `--set` flag or download and edit the `values.yaml` file -to modify the configuration as discussed on the -[Install Keptn](./index.md) page. - -> **Warning** -If you installed your Keptn instance from the Manifest, -additional steps are required to use the Helm Chart to upgrade. -Contact us on Slack for assistance. - -## Upgrade to v1 version - -If you have previously used Keptn Lifecycle Operator with API -resources of version `v1alpha3` and `v1alpha4`, you need to -edit manually created or edited `KeptnApp` resources. -For further information please refer to the -[migration section](../migrate/keptnapp/index.md). diff --git a/docs/docs/migrate/keptn/index.md b/docs/docs/migrate/keptn/index.md deleted file mode 100644 index 905d419ba4..0000000000 --- a/docs/docs/migrate/keptn/index.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -comments: true ---- - -# Migrating to Keptn - -Keptn uses a different paradigm than that used for Keptn v1 -and so migration from Keptn v1 is not a straight-forward process. -In this section, we will assemble information to help people -who want to move from Keptn v1. - -These instructions mostly assume that you want to utilize -all Keptn features. -Note, however, that you can install and use some functionality -such as Keptn Metrics and Observability -without implementing all Keptn features. diff --git a/docs/docs/migrate/keptn/metrics-observe.md b/docs/docs/migrate/keptn/metrics-observe.md deleted file mode 100644 index ae1a6a1765..0000000000 --- a/docs/docs/migrate/keptn/metrics-observe.md +++ /dev/null @@ -1,332 +0,0 @@ ---- -comments: true ---- - -# Migrate Quality Gates - -The SLIs and SLOs used for Keptn v1 quality gates can be ported to -appropriate Keptn facilities: - -* [Keptn Metrics](../../guides/evaluatemetrics.md/) - allow you to define and view metrics - from multiple data sources in your Kubernetes cluster. -* Use - [Keptn Evaluations](../../guides/evaluations.md) - to do a simple evaluation of the metrics data you capture. - To implement this, transfer the information from the Keptn v1 - [sli.yaml](https://v1.keptn.sh/docs/1.0.x/reference/files/sli/) - and - [slo.yaml](https://v1.keptn.sh/docs/1.0.x/reference/files/slo/) - files into - [KeptnEvaluationDefinition](../../reference/crd-reference/evaluationdefinition.md) - resources. - -* Keptn v1 calculations that use weighting and scoring - can be converted to use the - [Keptn Analysis](../../guides/slo.md) - feature. - Tools are provided to help with this conversion; - see below. - -By default, Keptn includes additional observability features -that are not included in Keptn v1: - -* [DORA metrics](../../guides/dora.md) -* [OpenTelemetry observability](../../guides/otel.md) - -## Paradigm changes - -The Keptn paradigm for evaluations and analyses -differs from that of Keptn v1 quality gates: - -* Data providers are installed and configured into your Kubernetes cluster - using Helm charts and standard practices. -* Keptn supports multiple instances of multiple data providers. -* You must populate a - [KeptnMetricsProvider](../../reference/crd-reference/metricsprovider.md) resource - for each instance of each data provider. - This resource specifies the URL and namespace for the data provider - and gives it a unique `name` that can be referenced - for Keptn Metrics (which are also used for Evaluations) and Analysis. -* Queries and objectives that are specified in your Keptn v1 - [sli.yaml](https://v1.keptn.sh/docs/1.0.x/reference/files/sli/) - and - [slo.yaml](https://v1.keptn.sh/docs/1.0.x/reference/files/slo/) - files are transferred/converted into Keptn resources. - -## Transfer Keptn v1 SLIs/SLOs to evaluation resources - -Simple comparisons of data can be implemented as -[Keptn Evaluations](../../guides/evaluations.md). -To implement this: - -* Transfer the information from the Keptn v1 - [sli.yaml](https://v1.keptn.sh/docs/1.0.x/reference/files/sli/) - files into - [KeptnMetric](../../reference/crd-reference/metric.md) resources -* Transfer the information from the Keptn v1 - [slo.yaml](https://v1.keptn.sh/docs/1.0.x/reference/files/slo/) - files into - [KeptnEvaluationDefinition](../../reference/crd-reference/evaluationdefinition.md) - resources. - -## Convert Keptn v1 SLIs/SLOs to Analysis resources - -The Keptn Analysis feature provides capabilities -similar to those of the Keptn v1 -[Quality Gates](https://v1.keptn.sh/docs/1.0.x/define/quality-gates/) -feature -but it uses Kubernetes resources to define the analysis to be done -rather than the configuration files used for Keptn v1. -Tools are provided to convert Keptn v1 SLI and SLO definitions -to Keptn Analysis resources. - -These instructions assume that the same SLO file -has been used for all services in the project, -so only one `AnalysisDefinition` resource -(named `my-project-ad`) is created. -If your Keptn v1 project has multiple SLOs, -you need to create a separate `AnalysisDefinition` -with a unique name for each one. - -The process is: - -1. Convert the SLIs to `AnalysisValueTemplates` resources - - The following command sequence converts a Keptn v1 - [sli.yaml](https://v1.keptn.sh/docs/1.0.x/reference/files/sli/) - file to a Keptn - [AnalysisValueTemplate](../../reference/crd-reference/analysisvaluetemplate.md) - resource: - - ```shell - METRICS_OPERATOR_IMAGE=ghcr.io/keptn/metrics-operator:v0.8.3 - PATH_TO_SLI=sli.yaml - KEPTN_PROVIDER_NAME=my-prometheus-provider - KEPTN_PROVIDER_NAMESPACE=keptn-lifecycle-poc - - docker run -v .:/mydata $METRICS_OPERATOR_IMAGE \ - --convert-sli=mydata/$PATH_TO_SLI \ - --keptn-provider-name=$KEPTN_PROVIDER_NAME \ - --keptn-provider-namespace=$KEPTN_PROVIDER_NAMESPACE > analysis-value-template.yaml - ``` - - This command creates an `AnalysisValueTemplate` resource - for each SLI that is defined in the `sli.yaml` file. - - > **Note** - The `name` of each `AnalysisValueTemplate` resource - must adhere to the - [Kubernetes resource naming rules](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/). - The conversion tools preserve the name of each SLI - but modify the names to match the Kubernetes requirements. - For example, the `Response_Time` SLI - generates an `AnalysisValueTemplate` that is named `response-time`. - - All the SLIs for a particular `sli.yaml` file - are defined in a file called `analysis-value-template.yaml`. - Apply this file to your cluster with a command like the following. - Be sure to specify the namespace; - if you omit it, the yaml file is applied to the default namespace. - - ```shell - kubectl apply -f analysis-value-template.yaml -n keptn-lifecycle-poc - ``` - -1. Convert the SLO to an `AnalysisDefinition` resource: - - The process of converting the Keptn v1 - [slo.yaml](https://v1.keptn.sh/docs/1.0.x/reference/files/slo/) - files to - [AnalysisDefinition](../../reference/crd-reference/analysisdefinition.md) - resources is similar to the process of converting the SLIs. - Use the following command sequence: - - ```shell - METRICS_OPERATOR_IMAGE=ghcr.io/keptn/metrics-operator:v0.8.3 - PATH_TO_SLO=slo.yaml - ANALYSIS_VALUE_TEMPLATE_NAMESPACE=keptn-lifecycle-poc - ANALYSIS_DEFINITION_NAME=my-project-ad - - docker run -v $(pwd):/mydata $METRICS_OPERATOR_IMAGE \ - --convert-slo=/mydata/$PATH_TO_SLO \ - --analysis-value-template-namespace=$ANALYSIS_VALUE_TEMPLATE_NAMESPACE \ - --analysis-definition-name=$ANALYSIS_DEFINITION_NAME > analysis-definition.yaml - ``` - - The result of this command yields an `AnalysisDefinition` resource - that is defined in a file called `analysis-definition.yaml`. - Apply this to your Keptn cluster with the following command. - Be sure to add the namespace; - if you omit it, the yaml file is applied to the default namespace. - - ```shell - kubectl apply -f analysis-definition.yaml -n keptn-lifecycle-poc - ``` - -1. Create a `KeptnMetricsProvider` resource - - A [KeptnMetricsProvider](../../reference/crd-reference/metricsprovider.md) - resource configures the data provider from which the values - for the `AnalysisValueTemplate` resource are fetched. - This same resource is used for any metrics and evaluations you are using. - Note that Keptn supports multiple instances of multiple data providers - and each `AnalysisValueTemplate` resource - can reference a different provider, - - The `KeptnMetricsProvider` resource defines: - - * The URL of the server used for your data provider - * The namespace where the data provider is located - * (optional) Secret information to access a protected data source - - See the `prometheus-provider` file for an example. - -1. Define the Analysis resource to run - - Create a yaml file (such as `analysis-instance.yaml`) - to populate the - [Analysis](../../reference/crd-reference/analysis.md) - resource that defines the specific analysis you want to run. - Specify the following: - - * Name of the `AnalysisDefinition` resource that defines the goals - * Timeframe for which to retrieve the metrics. - The `from`/`to` timestamps are added automatically - to the query defined in the `AnalysisValueTemplate` resource. - * (optional) List of `args` that specify values for this analysis - that replace variables used in the queries - in the `AnalysisValueTemplate` resources. - See - [Passing contextual arguments to the Analysis](#passing-contextual-arguments-to-the-analysis) - for more information. - -1. Run the analysis - - To perform an Analysis (or "trigger an evaluation" in Keptn v1 jargon), - apply the `analysis-instance.yaml` file: - - ```shell - kubectl apply -f analysis-instance.yaml -n keptn-lifecycle-poc - ``` - - Retrieve the current status of the Analysis with the following command: - - ```shell - kubectl get analysis -n keptn-lifecycle-poc - ``` - - This yields an output that looks like the following: - - ```shell - NAME ANALYSISDEFINITION WARNING PASS - analysis-sample-1 my-project-ad true - ``` - - This shows that the analysis passed successfully. - - To get the detailed result of the evaluation, - use the `-oyaml` argument to inspect the full state of the analysis: - - This displays the `Analysis` resource - with the definition of the analysis - as well as the `status` (results) of the analysis; for example: - - ```shell - kubectl get analysis -n keptn-lifecycle-poc -oyaml - ``` - - ```yaml - apiVersion: v1 - items: - - apiVersion: metrics.keptn.sh/v1 - kind: Analysis - metadata: - creationTimestamp: "2023-09-14T11:00:01Z" - generation: 4 - name: analysis-sample-1 - namespace: keptn-lifecycle-poc - resourceVersion: "71327" - uid: 1c5e043d-ed5e-42f8-ba32-b7af54b55c35 - spec: - analysisDefinition: - name: my-project-ad - namespace: keptn-lifecycle-poc - args: - ns: keptn-system - project: my-project - timeframe: - from: "2023-09-14T11:20:19Z" - to: "2023-09-14T11:22:19Z" - status: - pass: true - raw: '{"objectiveResults":[{"result":{"failResult":{"operator":{"greaterThan":{"fixedValue":"50"}}},"warnResult":{"operator":{"greaterThan":{"fixedValue":"50"}}},"pass":true},"value":7,"score":1}],"totalScore":1,"maximumScore":1,"pass":true}' - kind: List - metadata: - resourceVersion: "" - ``` - - As can be seen in the yaml above, - the `status.raw` property contains the detailed breakdown - of the analysis goals, and whether or not they passed. - - The result of this analysis stays in the cluster - until the `Analysis` is deleted. - That also means that, if another analysis should be performed, - the new analysis must be given a new, unique name within the namespace. - -### Passing contextual arguments to the Analysis - -In some cases, especially when migrating from Keptn v1, -you may want to do an analysis for different services within a project -and adapt the query for fetching the metric values, -based on which service/stage you are evaluating. -Keptn enables you to do this by using variables in the query defined in the -`AnalysisValueTemplates` resource -and arguments that are defined in the `Analysis` resource -for the specific analysis being run. - -For example, you may have a query -for retrieving the response time of a service, -which is identified by its label in Prometheus. -In this case, use the go templating syntax -to insert a variable as a placeholder -(for example, in this case, `{{.service}}`) -for the service identifier in the prometheus query: - -```yaml -apiVersion: metrics.keptn.sh/v1 -kind: AnalysisValueTemplate -metadata: - creationTimestamp: null - name: response-time -spec: - provider: - name: my-prometheus-provider - namespace: keptn-lifecycle-poc - query: response_time{label="{{.service}}"} -``` - -Then, if an analysis for that particular service should be performed, -the name of the service can be passed to the analysis -using the `spec.args` property from the `Analysis` resource: - -```yaml -apiVersion: metrics.keptn.sh/v1 -kind: Analysis -metadata: - name: analysis-sample-1 - namespace: keptn-lifecycle-poc -spec: - timeframe: - from: 2023-09-14T11:20:19Z - to: 2023-09-14T11:22:19Z - args: - "service": "my-service" - analysisDefinition: - name: my-project-ad - namespace: keptn-lifecycle-poc -``` - -This way, you can use the same `AnalysisDefinition` -and `AnalysisValueTemplates` for multiple services within the same project. diff --git a/docs/docs/migrate/keptn/strategy.md b/docs/docs/migrate/keptn/strategy.md deleted file mode 100644 index cc9f0e0ae0..0000000000 --- a/docs/docs/migrate/keptn/strategy.md +++ /dev/null @@ -1,362 +0,0 @@ ---- -comments: true ---- - -# Migration strategy - -Before you begin the migration project, -we suggest that you run through the exercises in -[Getting started](../../getting-started/index.md) -to familiarize yourself with how Keptn works. -When you are ready to begin the migration, -follow the instructions in -[Installation and upgrade](../../installation/index.md) -to set up your Kubernetes cluster -and install Keptn on it. - -On this page, we discuss some of the major paradigm shifts -in Keptn relative to Keptn v1 -and then discuss how elements of your Keptn v1 can be implemented -for Keptn. - -## The Keptn cloud native paradigm - -Keptn uses a different paradigm -than Keptn v1 and so migration requires technical adjustments. -Much of the logic and functionality of your Keptn v1 projects -can be migrated to Keptn -but must be rewritten to utilize Keptn components. - -Keptn targets deployments that run on Kubernetes -but some Keptn functionality can be used with deployments -that do not run on Kubernetes. -See -[Keptn for non-Kubernetes deployments](../../use-cases/non-k8s.md) -for details. - -Some key points: - -* Keptn uses native Kubernetes CRDs - to configure SLIs/SLOs, tasks, and other elements - that are part of the environment where the application deployment lives - rather than using its own Git repo and its - [shipyard.yaml](https://v1.keptn.sh/docs/1.0.x/reference/files/shipyard/) - file as Keptn v1 does. - * See the - [Lifecycle CRD Reference](../../reference/crd-reference/index.md) - and - [Metrics CRD Reference](../../reference/crd-reference/index.md) - section for pages that describe the Keptn manifests - that you populate manually for Keptn. - * See the - [API Reference](../../reference/api-reference/index.md) - for a comprehensive reference to all resources - defined for Keptn. - -* Keptn is not a delivery tool - but it does provide a possibility to promote software - to another stage in a staged environment - which works with standard deployment tools - such as ArgoCD, Flux, even `kubectl apply`. - Keptn complements these tools by preventing the - scheduling and deployment of workflows - if the environment does not meet - the user-defined requirements. - -* Keptn operates on a - [KeptnApp](../../reference/crd-reference/app.md) - resource - that is an amalgamation of multiple Kubernetes workloads, - which together comprise the released application. - Each workload deploys a separate microservice, - which can be deployed at different times using different tools. - -* Keptn integrates with continuous delivery tools - to insures that a `KeptnApp` is not deployed - if it does not meet the user-defined requirements - for all the associated workloads. - It also exposes metrics to evaluate the success/status of a deployment. - -* Keptn provides an operator - that can observe and orchestrate application-aware workload life cycles. - This operator leverages Kubernetes webhooks and - [Kubernetes scheduling gates](https://kubernetes.io/docs/concepts/scheduling-eviction/pod-scheduling-readiness/) - to support pre- and post-deployment hooks. - When the operator detects a new version of a service - (implemented as a Kubernetes - [Workload](https://kubernetes.io/docs/concepts/workloads/)), - it can execute pre- and post-deployment evaluations and tasks - using Kubernetes capabilities. - -* Keptn provides extensive observability data - using OpenTelemetry and Prometheus - rather than storing the data in a special Keptn database. - This data can be displayed using Grafana and Jaeger - or the dashboard of your choice. - -For in-depth information about Keptn components -and how they work, see the -[Architecture](../../components/index.md) -section. - -## Disposition of Keptn v1 components in Keptn - -To help you wrap your mind around the migration process, -this lists Keptn v1 components -and identifies their possible disposition when you migrate to Keptn. - -### project - -A Keptn v1 project represents an arbitrary, higher-level grouping of services. -A project is defined by a -[shipyard.yaml](https://v1.keptn.sh/docs/1.0.x/reference/files/shipyard/) -file. - -Keptn does not recognize projects. -Many Keptn v1 projects may translate into `KeptnApp` resources -but others will not. -For example, if your Keptn v1 project has a large number of services, -you may want to aggregate them into separate `KeptnApp` resources. -A project has a 1:1 mapping to a Git repo, -but, since few applications are stored in a mono-repo, -it is difficult to implement a project-as-application paradigm. - -In general, the Keptn v1 project is a useful as a reference list -when migrating to Keptn. -but may not directly translate to a Keptn resource. - -### service - -A Keptn v1 service models a smaller chunk of a project. -Most projects include many services. -In a micro-services world, -a service may represent a micro-service -but it could instead be a wrapper for something else, -like "the entire public website" - -Keptn does not have the concept of a service. -When migrating to Keptn, -you need to analyze what each service is doing -and translate that into an appropriate resource. -The closest analogy is a Kubernetes -[workload](https://kubernetes.io/docs/concepts/workloads/) -but some services may be translated into -[KeptnTaskDefinition](../../reference/crd-reference/app.md) -or other resources. - See -[Working with Keptn tasks](../../guides/tasks.md) -for more information. - -For example: - -* A Keptn v1 service that runs chaos or load tests - can probably be translated into - a `KeptnTask` using the `container-runner`. -* A Keptn v1 service that runs a database - can probably be translated - into a Kubernetes `StateFulSet` workload; see - [Workload Resources](https://kubernetes.io/docs/concepts/workloads/controllers/) - for more information. -* A Keptn v1 service that runs a webserver - can probably be translated into - a Kubernetes `Deployment` workload. - -### stage - -A stage is a subsection of a project. -Because Keptn is not a delivery tool, -it has no concept of a `stage` -but rather depends on a deployment engine. -However, the logic of the stages can be useful -when architecting the migration: - -* A **deployment stage** -- may define sequences of tasks - that should be translated into - [KeptnTaskDefinition](../../reference/crd-reference/taskdefinition.md) - resources that are executed pre- and post-deployment -* A **testing stage** may define sequences of tasks - that should be translated into `KeptnTaskDefinition` resources - that are executed pre- and post-deployment. - -Stage functionality could be implemented in many different ways. -Some functionality might be implemented in different namespaces -or even in different Keptn-enabled clusters, -allowing a tool such as ArgoCD to handle promotion. - -### sequence - -A sequence is an ordered and user-defined sequence of tasks -that are defined in a -[shipyard.yaml](https://v1.keptn.sh/docs/1.0.x/reference/files/shipyard/) -file. -The shipyard controller micro-service reads the shipyard file -and (when the time is right), -emits a `taskName.triggered` cloud event onto the event bus. -The shipyard controller waits to receive a `taskName.started` event -and a correspondingly equal number of `taskName.finished` events -before the shipyard controller reads the next task -and emits a `taskName.finished` event for that task. - -In this way, you can define arbitrary sequences of any tasks -at any length and also link (or chain) sequences together -to form (primitive) workflows. -When migrating, these sequences of tasks can often be translated into -[KeptnTaskDefinition](../../reference/crd-reference/taskdefinition.md) -resources that are defined to run either pre- or post-deployment -of the pod-scheduling phase. - -The `shipyard` file is a general purpose workflow engine -that is backed by cloud events. -It is not opinionated to a tool, platform, technology, -or a particular "slice" of the lifecycle. -The `TriggeredOn` property allows -a Keptn v1 sequence to be triggered at any time -by a user or another system. -This capability can be used, for example, -to trigger a data encryption and backup operation, -or a file movement over a network, or other arbitrary activities -that may or may not have anything to do with an application's lifecycle. - -When migrating to Keptn, -sequences that are not part of the lifecycle workflow -should not be handled by Keptn -but should instead be handled by the pipeline engine tools being used -such as Jenkins, Argo Workflows, Flux, and Tekton. - -### task - -Keptn v1 defines some specific types of tasks, -each of which is translated to a Keptn resource -that is appropriate for the activity: - -* A Keptn v1 **deployment task** becomes a - [Deployment](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/), - [StatefulSets](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/), - or [DaemonSets](https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/), - workload. - You can code - [KeptnTaskDefinition](../../reference/crd-reference/taskdefinition.md) - and - [KeptnEvaluationDefinition](../../reference/crd-reference/evaluationdefinition.md) - resources that are configured - to run either pre- or post-deployment tasks -* An **evaluation task** becomes a - [KeptnEvaluationDefinition](../../reference/crd-reference/evaluationdefinition.md) - resource. -* All other standard tasks - (**action**, **approval**, **get-action**, **rollback**, - **release**, **test**) - as well as custom task types - that might be defined should be translated into - `KeptnTaskDefinition` resources. -* The `key:value` **properties** for each Keptn v1 sequence - should be coded into the `KeptnTaskDefinition` resource - as appropriate. - -Note that all `KeptnTask` resources at the same level -(either pre-deployment or post-deployment) -execute in parallel -whereas Keptn v1 sequences and tasks can not execute in parallel. - -* If you have actions that need to execute sequentially, - create a single `KeptnTaskDefinition` that calls each action in order. -* If you have tasks that can execute in parallel, - migrating to Keptn may improve the performance of the deployment. - -### SLIs - -Keptn v1 -[SLIs](https://v1.keptn.sh/docs/1.0.x/reference/files/sli/) -(Service Level Indicators) -represent queries from the data provider -such as Prometheus, Thanos, Cortex, Dynatrace, Elastic, or Datadog, -which is configured as a Keptn integration. - -When migrating to Keptn, you need to define a -[KeptnMetricsProvider](../../reference/crd-reference/metricsprovider.md) -resource for the data provider(s) you are using. -Note that Keptn allows you to support multiple data providers -and multiple instances of each data provider for your SLIs -whereas Keptn v1 only allows you to use one SLI per project. - -The queries defined for the Keptn v1 SLIs -should be translated into an appropriate Keptn resource: - -* [KeptnMetric](../../reference/crd-reference/metric.md) -resources - to do - [evaluations](../../guides/evaluations.md) - with - [KeptnEvaluationDefinition](../../reference/crd-reference/evaluationdefinition.md) - resources. -* [AnalysisValueTemplate](../../reference/crd-reference/analysisvaluetemplate.md) - resources to do - [analyses](../../guides/slo.md) - with - [AnalysisDefinition](../../reference/crd-reference/analysisdefinition.md) - resources. - Tools are provided to convert Keptn v1 SLIs and SLOs - to Keptn resources; see - [Convert Keptn v1 SLIs/SLOs to Analysis resources](./metrics-observe.md#convert-keptn-v1-slisslos-to-analysis-resources) - for more information. - -### SLOs - -Keptn v1 -[SLOs](https://v1.keptn.sh/docs/1.0.x/reference/files/slo/). -can be implemented on Keptn as evaluations or analyses: - -* Simple evaluations of an SLI can be implemented as - [Evaluations](../../guides/evaluations.md) - which are defined as - [KeptnEvaluationDefinition](../../reference/crd-reference/evaluationdefinition.md) - resources. - -* Complex analyses that use weighting and scoring - and analyze the value over a specified time frame - can be implemented as - [Analyses](../../guides/slo.md) - that are defined in - [AnalysisDefinition](../../reference/crd-reference/analysisdefinition.md) - resources. - Tools are provided to convert Keptn v1 SLIs and SLOs - to Keptn resources; see - [Convert Keptn v1 SLIs/SLOs to Analysis resources](./metrics-observe.md#convert-keptn-v1-slisslos-to-analysis-resources) - for more information. - -### Remediation - -Keptn does not currently support the same level of -[remediations](https://v1.keptn.sh/docs/1.0.x/reference/files/remediation/) -as Keptn v1 does, -but it does provide limited "Day 2" facilities: - -* Any query that is possible for your data provider post-deployment - can be defined as a `KeptnMetricDefinition`; - this is then reported as a Keptn Metric. - Evaluation can be defined as a `KeptnEvaluationDefinition`. -* `KeptnMetricsDefinition` resources can be retrieved and used - to implement the Kubernetes HorizontalPodAutoscaler (HPA), - which can detect the need for additional resources - (more pods, memory, disk space, etc.) - and automatically add those resources to your configuration - based on the `ReplicaSet` resources you have defined. - See - [Using the HorizontalPodAutoscaler](../../use-cases/hpa.md) - for more information. - -### Integrations and services in JES - -Most functionality coded using the Keptn v1 -[JES](https://github.com/keptn-contrib/job-executor-service) -(Job Executor Service) facility -can simply be moved into a `KeptnTaskDefinition` resource -that uses the -[container-runtime runner](../../reference/crd-reference/taskdefinition.md/#synopsis-for-container-runtime). -If the JES container code is written in JavaScript or TypeScript, -you may be able to use the `deno-runtime` runner. -If the JES container code is written in Python 3, -you may be able to use the `python-runtime` runner. - -Note that there is no need for integrations for data providers in Keptn; -these are configured as `KeptnMetricsProvider` resources. diff --git a/docs/docs/migrate/keptnapp/assets/keptnapp-migrated.yaml b/docs/docs/migrate/keptnapp/assets/keptnapp-migrated.yaml deleted file mode 100644 index 32b6e33529..0000000000 --- a/docs/docs/migrate/keptnapp/assets/keptnapp-migrated.yaml +++ /dev/null @@ -1,28 +0,0 @@ -apiVersion: lifecycle.keptn.sh/v1 -kind: KeptnApp -metadata: - name: "some-keptn-app" - namespace: "my-app-ns" - labels: - app.kubernetes.io/managed-by: keptn # added annotation -spec: - version: "1.2.3" - workloads: - - name: podtato-head-left-arm - version: 0.2.7 -# removed pre/post-deployment tasks and evaluations ---- -apiVersion: lifecycle.keptn.sh/v1 -kind: KeptnAppContext -metadata: - name: "some-keptn-app" # created a resource with the same name as KeptnApp - namespace: "my-app-ns" -spec: - preDeploymentTasks: # moved pre/post-deployment tasks and evaluations - - pre-deployment-task - preDeploymentEvaluations: - - pre-deployment-evaluation - postDeploymentTasks: - - post-deployment-task - postDeploymentEvaluations: - - post-deployment-evaluation diff --git a/docs/docs/migrate/keptnapp/assets/keptnapp.yaml b/docs/docs/migrate/keptnapp/assets/keptnapp.yaml deleted file mode 100644 index a66e6c4469..0000000000 --- a/docs/docs/migrate/keptnapp/assets/keptnapp.yaml +++ /dev/null @@ -1,18 +0,0 @@ -apiVersion: lifecycle.keptn.sh/v1alpha3 -kind: KeptnApp -metadata: - name: "some-keptn-app" - namespace: "my-app-ns" -spec: - version: "1.2.3" - workloads: - - name: podtato-head-left-arm - version: 0.2.7 - preDeploymentTasks: - - pre-deployment-task - preDeploymentEvaluations: - - pre-deployment-evaluation - postDeploymentTasks: - - post-deployment-task - postDeploymentEvaluations: - - post-deployment-evaluation diff --git a/docs/docs/migrate/keptnapp/index.md b/docs/docs/migrate/keptnapp/index.md deleted file mode 100644 index c9d7ffeb5c..0000000000 --- a/docs/docs/migrate/keptnapp/index.md +++ /dev/null @@ -1,124 +0,0 @@ -# Migrating KeptnApp to KeptnAppContext - -The -[KeptnAppContext](../../reference/crd-reference/appcontext.md) -resource was introduced in the `v1beta1` API version. -Existing -[KeptnApp](../../reference/crd-reference/app.md) -resources that were generated manually must be migrated -because of this new feature. -This page gives instructions for doing that. -Versions `v1beta1` and `v1` are fully compatible. - -> **Note** -> Manual migration is only required for: -> -> * `KeptnApp` resources with older versions than `v1beta1` -> * Manually created `KeptnApp` resources -> * Automatically created `KeptnApp` resources with -> manually edited pre/post-deployment tasks or evaluations** -> -> `KeptnApp` resources created using the -> [automatic app-discovery](../../guides/auto-app-discovery.md) -> feature without any manual changes in the pre/post-deployment -> tasks/evaluations section do not require any action. - -## Migration steps - -You need the following steps to migrate an existing `KeptnApp` resource -to work with the `KeptnAppContext` resource -introduced in the `v1beta1` API version: - -1. Create a `KeptnAppContext` custom resource - that has the same name as your `KeptnApp`. -2. Move the lists of pre/post-deployment tasks and evaluations - from `KeptnApp` to `KeptnAppContext`. - In other words, delete them from `KeptnApp.spec` - and add them under the `KeptnAppContext.spec` field. -3. Add the `app.kubernetes.io/managed-by: keptn` annotation - to the `KeptnApp` resource if it is not already there. - -You can migrate your KeptnApp manually or, if you have -[go](https://go.dev/) -installed -on your machine, use the script provided -[here](https://github.com/keptn/lifecycle-toolkit/tree/main/lifecycle-operator/converter). - -```bash - go run convert_app.go path_to_keptnapp_to_convert path_to_desired_output_file -``` - -For instance, to run the example file conversion, the command is: - -```bash - go run convert_app.go example_keptnapp.yaml example_output.yaml -``` - -> **Note** -Be sure that all of your application resources -(such as -[Pods](https://kubernetes.io/docs/concepts/workloads/pods/), -[Deployments](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/), -[StatefulSets](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/), -and -[DaemonSets](https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/) -have the proper annotations/labels set. -These annotations/labels (especially the -`app.kubernetes.io/part-of` or `keptn.sh/app`) -are necessary for the migration to the -automatic app-discovery feature. -More information about how to set up these annotations/labels -can be found [here](../../guides/integrate.md#basic-annotations). - -## Example of migration - -Here, we provide an example of how to -migrate the `KeptnApp` definition to the `KeptnAppContext`. -Let's say we have the following `KeptnApp` in our cluster: - -```yaml -{% include "./assets/keptnapp.yaml" %} -``` - -After applying the migration steps from the previous subsection, -you see the following changes: - -* The `app.kubernetes.io/managed-by` annotation - has been added to the `metadata.labels` section of the revised `KeptnApp` resource. - - If your original `KeptnApp` resource was auto-generated, - it already had this annotation. - -* The list of tasks and evaluations -has been moved from the `KeptnApp` resource -to the `KeptnAppContext` resource. - -```yaml -{% include "./assets/keptnapp-migrated.yaml" %} -``` - -These modified resources can be now applied to your cluster. - -## What's next? - -Making these modifications does not alter the behavior of Keptn. -However, you might want to enhance your traces, tasks, and evaluations -with the new functionality that is available: - -* Add context metadata to your traces. - This allows you to include information - like the stage into which the application is deployed, a commit ID, - or other information relevant to the deployment traces of - the application and its workloads. - For instructions, see - [Metadata](../../guides/metadata.md). -* Add `KEPTN_CONTEXT` information to the `function` code in your - [KeptnTaskDefinition](../../reference/crd-reference/taskdefinition.md) - resource. - This allows you to correlate a task to a specific application/workload, - provide information about the phase in which the task is executed, - and access any metadata that has been attached to the application/workload - such as commit ID or user name. - For instructions, see - [Context](../../guides/tasks.md#context). - \ No newline at end of file diff --git a/docs/docs/reference/api-reference/index.md b/docs/docs/reference/api-reference/index.md deleted file mode 100644 index 00ce3f9ca3..0000000000 --- a/docs/docs/reference/api-reference/index.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -comments: true ---- - -# API Reference - -Delve into comprehensive reference information about all APIs defined in Keptn. -This auto-generated content offers insights into the structure, versioning, and functionality of Keptn APIs. diff --git a/docs/docs/reference/api-reference/lifecycle/index.md b/docs/docs/reference/api-reference/lifecycle/index.md deleted file mode 100644 index 3e75e56380..0000000000 --- a/docs/docs/reference/api-reference/lifecycle/index.md +++ /dev/null @@ -1,3 +0,0 @@ -# Lifecycle API - -Reference information about the Lifecycle API. diff --git a/docs/docs/reference/api-reference/lifecycle/v1/index.md b/docs/docs/reference/api-reference/lifecycle/v1/index.md deleted file mode 100644 index 7353ea1187..0000000000 --- a/docs/docs/reference/api-reference/lifecycle/v1/index.md +++ /dev/null @@ -1,1235 +0,0 @@ -# v1 - -Reference information for lifecycle.keptn.sh/v1 - - - -## Packages -- [lifecycle.keptn.sh/v1](#lifecyclekeptnshv1) - - -## lifecycle.keptn.sh/v1 - -Package v1 contains API Schema definitions for the lifecycle v1 API group - -### Resource Types -- [KeptnApp](#keptnapp) -- [KeptnAppContext](#keptnappcontext) -- [KeptnAppContextList](#keptnappcontextlist) -- [KeptnAppCreationRequest](#keptnappcreationrequest) -- [KeptnAppCreationRequestList](#keptnappcreationrequestlist) -- [KeptnAppList](#keptnapplist) -- [KeptnAppVersion](#keptnappversion) -- [KeptnAppVersionList](#keptnappversionlist) -- [KeptnEvaluation](#keptnevaluation) -- [KeptnEvaluationDefinition](#keptnevaluationdefinition) -- [KeptnEvaluationDefinitionList](#keptnevaluationdefinitionlist) -- [KeptnEvaluationList](#keptnevaluationlist) -- [KeptnTask](#keptntask) -- [KeptnTaskDefinition](#keptntaskdefinition) -- [KeptnTaskDefinitionList](#keptntaskdefinitionlist) -- [KeptnTaskList](#keptntasklist) -- [KeptnWorkload](#keptnworkload) -- [KeptnWorkloadList](#keptnworkloadlist) -- [KeptnWorkloadVersion](#keptnworkloadversion) -- [KeptnWorkloadVersionList](#keptnworkloadversionlist) - - - - - -#### AutomountServiceAccountTokenSpec - - - - - - - -_Appears in:_ -- [KeptnTaskDefinitionSpec](#keptntaskdefinitionspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `type` _boolean_ | || x | | - - -#### CheckType - -_Underlying type:_ _string_ - - - - - -_Appears in:_ -- [KeptnEvaluationSpec](#keptnevaluationspec) -- [KeptnTaskSpec](#keptntaskspec) - - - -#### ConfigMapReference - - - - - - - -_Appears in:_ -- [RuntimeSpec](#runtimespec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `name` _string_ | Name is the name of the referenced ConfigMap. || ✓ | | - - -#### ContainerSpec - - - - - - - -_Appears in:_ -- [KeptnTaskDefinitionSpec](#keptntaskdefinitionspec) - - - -#### DeploymentTaskSpec - - - - - - - -_Appears in:_ -- [KeptnAppContextSpec](#keptnappcontextspec) -- [KeptnAppVersionSpec](#keptnappversionspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `preDeploymentTasks` _string array_ | 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. || x | | -| `postDeploymentTasks` _string array_ | 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. || x | | -| `preDeploymentEvaluations` _string array_ | 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. || x | | -| `postDeploymentEvaluations` _string array_ | 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. || x | | -| `promotionTasks` _string array_ | 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. || x | | - - -#### EvaluationStatusItem - - - - - - - -_Appears in:_ -- [KeptnEvaluationStatus](#keptnevaluationstatus) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `value` _string_ | Value represents the value of the KeptnMetric being evaluated. || x | | -| `status` _string_ | Status indicates the status of the objective being evaluated. || x | | -| `message` _string_ | 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. || ✓ | | - - -#### FailureConditions - - - -FailureConditions represent the failure conditions (number of retries and retry interval) -for the evaluation to be considered as failed - - - -_Appears in:_ -- [KeptnEvaluationDefinitionSpec](#keptnevaluationdefinitionspec) -- [KeptnEvaluationSpec](#keptnevaluationspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `retries` _integer_ | 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. |10| ✓ | | -| `retryInterval` _[Duration](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#duration-v1-meta)_ | RetryInterval specifies the interval at which the KeptnEvaluation is retried in the case of an error
or a missed objective. |5s| ✓ | Pattern: `^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$`
Type: string
| - - -#### FunctionReference - - - - - - - -_Appears in:_ -- [RuntimeSpec](#runtimespec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `name` _string_ | Name is the name of the referenced KeptnTaskDefinition. || ✓ | | - - -#### FunctionStatus - - - - - - - -_Appears in:_ -- [KeptnTaskDefinitionStatus](#keptntaskdefinitionstatus) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `configMap` _string_ | ConfigMap indicates the ConfigMap in which the function code is stored. || ✓ | | - - -#### HttpReference - - - - - - - -_Appears in:_ -- [RuntimeSpec](#runtimespec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `url` _string_ | Url is the URL containing the code of the function. || ✓ | | - - -#### Inline - - - - - - - -_Appears in:_ -- [RuntimeSpec](#runtimespec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `code` _string_ | Code contains the code of the function. || ✓ | | - - -#### ItemStatus - - - - - - - -_Appears in:_ -- [KeptnAppVersionStatus](#keptnappversionstatus) -- [KeptnWorkloadVersionStatus](#keptnworkloadversionstatus) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `definitionName` _string_ | DefinitionName is the name of the EvaluationDefinition/TaskDefinition || ✓ | | -| `status` _string_ | |Pending| ✓ | | -| `name` _string_ | Name is the name of the Evaluation/Task || ✓ | | -| `startTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | StartTime represents the time at which the Item (Evaluation/Task) started. || ✓ | | -| `endTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | EndTime represents the time at which the Item (Evaluation/Task) started. || ✓ | | - - -#### KeptnApp - - - -KeptnApp is the Schema for the keptnapps API - - - -_Appears in:_ -- [KeptnAppList](#keptnapplist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1` | | | | -| `kind` _string_ | `KeptnApp` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnAppSpec](#keptnappspec)_ | Spec describes the desired state of the KeptnApp. || ✓ | | -| `status` _[KeptnAppStatus](#keptnappstatus)_ | Status describes the current state of the KeptnApp. || ✓ | | - - -#### KeptnAppContext - - - -KeptnAppContext is the Schema for the keptnappcontexts API - - - -_Appears in:_ -- [KeptnAppContextList](#keptnappcontextlist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1` | | | | -| `kind` _string_ | `KeptnAppContext` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || x | | -| `spec` _[KeptnAppContextSpec](#keptnappcontextspec)_ | || x | | -| `status` _[KeptnAppContextStatus](#keptnappcontextstatus)_ | || x | | - - -#### KeptnAppContextList - - - -KeptnAppContextList contains a list of KeptnAppContext - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1` | | | | -| `kind` _string_ | `KeptnAppContextList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || x | | -| `items` _[KeptnAppContext](#keptnappcontext) array_ | || x | | - - -#### KeptnAppContextSpec - - - -KeptnAppContextSpec defines the desired state of KeptnAppContext - - - -_Appears in:_ -- [KeptnAppContext](#keptnappcontext) -- [KeptnAppVersionSpec](#keptnappversionspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `preDeploymentTasks` _string array_ | 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. || x | | -| `postDeploymentTasks` _string array_ | 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. || x | | -| `preDeploymentEvaluations` _string array_ | 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. || x | | -| `postDeploymentEvaluations` _string array_ | 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. || x | | -| `promotionTasks` _string array_ | 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. || x | | -| `metadata` _object (keys:string, values:string)_ | Metadata contains additional key-value pairs for contextual information. || ✓ | | -| `spanLinks` _string array_ | 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 || ✓ | | - - -#### KeptnAppContextStatus - - - -KeptnAppContextStatus defines the observed state of KeptnAppContext - - - -_Appears in:_ -- [KeptnAppContext](#keptnappcontext) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `status` _string_ | unused field || ✓ | | - - -#### KeptnAppCreationRequest - - - -KeptnAppCreationRequest is the Schema for the keptnappcreationrequests API - - - -_Appears in:_ -- [KeptnAppCreationRequestList](#keptnappcreationrequestlist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1` | | | | -| `kind` _string_ | `KeptnAppCreationRequest` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnAppCreationRequestSpec](#keptnappcreationrequestspec)_ | Spec describes the desired state of the KeptnAppCreationRequest. || ✓ | | -| `status` _string_ | Status describes the current state of the KeptnAppCreationRequest. || ✓ | | - - -#### KeptnAppCreationRequestList - - - -KeptnAppCreationRequestList contains a list of KeptnAppCreationRequest - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1` | | | | -| `kind` _string_ | `KeptnAppCreationRequestList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnAppCreationRequest](#keptnappcreationrequest) array_ | || x | | - - -#### KeptnAppCreationRequestSpec - - - -KeptnAppCreationRequestSpec defines the desired state of KeptnAppCreationRequest - - - -_Appears in:_ -- [KeptnAppCreationRequest](#keptnappcreationrequest) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `appName` _string_ | AppName is the name of the KeptnApp the KeptnAppCreationRequest should create if no user-defined object with that name is found. || x | | - - -#### KeptnAppList - - - -KeptnAppList contains a list of KeptnApp - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1` | | | | -| `kind` _string_ | `KeptnAppList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnApp](#keptnapp) array_ | || x | | - - -#### KeptnAppSpec - - - -KeptnAppSpec defines the desired state of KeptnApp - - - -_Appears in:_ -- [KeptnApp](#keptnapp) -- [KeptnAppVersionSpec](#keptnappversionspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `version` _string_ | 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. || x | | -| `revision` _integer_ | 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. |1| ✓ | | -| `workloads` _[KeptnWorkloadRef](#keptnworkloadref) array_ | Workloads is a list of all KeptnWorkloads that are part of the KeptnApp. || ✓ | | - - -#### KeptnAppStatus - - - -KeptnAppStatus defines the observed state of KeptnApp - - - -_Appears in:_ -- [KeptnApp](#keptnapp) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `currentVersion` _string_ | CurrentVersion indicates the version that is currently deployed or being reconciled. || ✓ | | - - -#### KeptnAppVersion - - - -KeptnAppVersion is the Schema for the keptnappversions API - - - -_Appears in:_ -- [KeptnAppVersionList](#keptnappversionlist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1` | | | | -| `kind` _string_ | `KeptnAppVersion` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnAppVersionSpec](#keptnappversionspec)_ | Spec describes the desired state of the KeptnAppVersion. || ✓ | | -| `status` _[KeptnAppVersionStatus](#keptnappversionstatus)_ | Status describes the current state of the KeptnAppVersion. || ✓ | | - - -#### KeptnAppVersionList - - - -KeptnAppVersionList contains a list of KeptnAppVersion - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1` | | | | -| `kind` _string_ | `KeptnAppVersionList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnAppVersion](#keptnappversion) array_ | || x | | - - -#### KeptnAppVersionSpec - - - -KeptnAppVersionSpec defines the desired state of KeptnAppVersion - - - -_Appears in:_ -- [KeptnAppVersion](#keptnappversion) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `preDeploymentTasks` _string array_ | 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. || x | | -| `postDeploymentTasks` _string array_ | 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. || x | | -| `preDeploymentEvaluations` _string array_ | 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. || x | | -| `postDeploymentEvaluations` _string array_ | 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. || x | | -| `promotionTasks` _string array_ | 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. || x | | -| `metadata` _object (keys:string, values:string)_ | Metadata contains additional key-value pairs for contextual information. || ✓ | | -| `spanLinks` _string array_ | 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 || ✓ | | -| `version` _string_ | 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. || x | | -| `revision` _integer_ | 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. |1| ✓ | | -| `workloads` _[KeptnWorkloadRef](#keptnworkloadref) array_ | Workloads is a list of all KeptnWorkloads that are part of the KeptnApp. || ✓ | | -| `appName` _string_ | AppName is the name of the KeptnApp. || x | | -| `previousVersion` _string_ | PreviousVersion is the version of the KeptnApp that has been deployed prior to this version. || ✓ | | -| `traceId` _object (keys:string, values:string)_ | TraceId contains the OpenTelemetry trace ID. || ✓ | | - - -#### KeptnAppVersionStatus - - - -KeptnAppVersionStatus defines the observed state of KeptnAppVersion - - - -_Appears in:_ -- [KeptnAppVersion](#keptnappversion) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `preDeploymentStatus` _string_ | PreDeploymentStatus indicates the current status of the KeptnAppVersion's PreDeployment phase. |Pending| ✓ | | -| `postDeploymentStatus` _string_ | PostDeploymentStatus indicates the current status of the KeptnAppVersion's PostDeployment phase. |Pending| ✓ | | -| `promotionStatus` _string_ | PromotionStatus indicates the current status of the KeptnAppVersion's Promotion phase. |Pending| ✓ | | -| `preDeploymentEvaluationStatus` _string_ | PreDeploymentEvaluationStatus indicates the current status of the KeptnAppVersion's PreDeploymentEvaluation phase. |Pending| ✓ | | -| `postDeploymentEvaluationStatus` _string_ | PostDeploymentEvaluationStatus indicates the current status of the KeptnAppVersion's PostDeploymentEvaluation phase. |Pending| ✓ | | -| `workloadOverallStatus` _string_ | WorkloadOverallStatus indicates the current status of the KeptnAppVersion's Workload deployment phase. |Pending| ✓ | | -| `workloadStatus` _[WorkloadStatus](#workloadstatus) array_ | WorkloadStatus contains the current status of each KeptnWorkload that is part of the KeptnAppVersion. || ✓ | | -| `currentPhase` _string_ | CurrentPhase indicates the current phase of the KeptnAppVersion. || ✓ | | -| `preDeploymentTaskStatus` _[ItemStatus](#itemstatus) array_ | PreDeploymentTaskStatus indicates the current state of each preDeploymentTask of the KeptnAppVersion. || ✓ | | -| `postDeploymentTaskStatus` _[ItemStatus](#itemstatus) array_ | PostDeploymentTaskStatus indicates the current state of each postDeploymentTask of the KeptnAppVersion. || ✓ | | -| `promotionTaskStatus` _[ItemStatus](#itemstatus) array_ | PromotionTaskStatus indicates the current state of each promotionTask of the KeptnAppVersion. || ✓ | | -| `preDeploymentEvaluationTaskStatus` _[ItemStatus](#itemstatus) array_ | PreDeploymentEvaluationTaskStatus indicates the current state of each preDeploymentEvaluation of the KeptnAppVersion. || ✓ | | -| `postDeploymentEvaluationTaskStatus` _[ItemStatus](#itemstatus) array_ | PostDeploymentEvaluationTaskStatus indicates the current state of each postDeploymentEvaluation of the KeptnAppVersion. || ✓ | | -| `phaseTraceIDs` _[MapCarrier](https://pkg.go.dev/go.opentelemetry.io/otel/propagation#MapCarrier)_ | PhaseTraceIDs contains the trace IDs of the OpenTelemetry spans of each phase of the KeptnAppVersion. || ✓ | | -| `status` _string_ | Status represents the overall status of the KeptnAppVersion. |Pending| ✓ | | -| `startTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | StartTime represents the time at which the deployment of the KeptnAppVersion started. || ✓ | | -| `endTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | EndTime represents the time at which the deployment of the KeptnAppVersion finished. || ✓ | | - - -#### KeptnEvaluation - - - -KeptnEvaluation is the Schema for the keptnevaluations API - - - -_Appears in:_ -- [KeptnEvaluationList](#keptnevaluationlist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1` | | | | -| `kind` _string_ | `KeptnEvaluation` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnEvaluationSpec](#keptnevaluationspec)_ | Spec describes the desired state of the KeptnEvaluation. || ✓ | | -| `status` _[KeptnEvaluationStatus](#keptnevaluationstatus)_ | Status describes the current state of the KeptnEvaluation. || ✓ | | - - -#### KeptnEvaluationDefinition - - - -KeptnEvaluationDefinition is the Schema for the keptnevaluationdefinitions API - - - -_Appears in:_ -- [KeptnEvaluationDefinitionList](#keptnevaluationdefinitionlist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1` | | | | -| `kind` _string_ | `KeptnEvaluationDefinition` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnEvaluationDefinitionSpec](#keptnevaluationdefinitionspec)_ | Spec describes the desired state of the KeptnEvaluationDefinition. || ✓ | | -| `status` _string_ | unused field || ✓ | | - - -#### KeptnEvaluationDefinitionList - - - -KeptnEvaluationDefinitionList contains a list of KeptnEvaluationDefinition - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1` | | | | -| `kind` _string_ | `KeptnEvaluationDefinitionList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnEvaluationDefinition](#keptnevaluationdefinition) array_ | || x | | - - -#### KeptnEvaluationDefinitionSpec - - - -KeptnEvaluationDefinitionSpec defines the desired state of KeptnEvaluationDefinition - - - -_Appears in:_ -- [KeptnEvaluationDefinition](#keptnevaluationdefinition) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `objectives` _[Objective](#objective) array_ | Objectives is a list of objectives that have to be met for a KeptnEvaluation referencing this
KeptnEvaluationDefinition to be successful. || x | | -| `retries` _integer_ | 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. |10| ✓ | | -| `retryInterval` _[Duration](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#duration-v1-meta)_ | RetryInterval specifies the interval at which the KeptnEvaluation is retried in the case of an error
or a missed objective. |5s| ✓ | Pattern: `^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$`
Type: string
| - - -#### KeptnEvaluationList - - - -KeptnEvaluationList contains a list of KeptnEvaluation - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1` | | | | -| `kind` _string_ | `KeptnEvaluationList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnEvaluation](#keptnevaluation) array_ | || x | | - - -#### KeptnEvaluationSpec - - - -KeptnEvaluationSpec defines the desired state of KeptnEvaluation - - - -_Appears in:_ -- [KeptnEvaluation](#keptnevaluation) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `workload` _string_ | Workload defines the KeptnWorkload for which the KeptnEvaluation is done. || ✓ | | -| `workloadVersion` _string_ | WorkloadVersion defines the version of the KeptnWorkload for which the KeptnEvaluation is done. || x | | -| `appName` _string_ | AppName defines the KeptnApp for which the KeptnEvaluation is done. || ✓ | | -| `appVersion` _string_ | AppVersion defines the version of the KeptnApp for which the KeptnEvaluation is done. || ✓ | | -| `evaluationDefinition` _string_ | 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. || x | | -| `checkType` _string_ | Type indicates whether the KeptnEvaluation is part of the pre- or postDeployment phase. || ✓ | | -| `retries` _integer_ | 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. |10| ✓ | | -| `retryInterval` _[Duration](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#duration-v1-meta)_ | RetryInterval specifies the interval at which the KeptnEvaluation is retried in the case of an error
or a missed objective. |5s| ✓ | Pattern: `^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$`
Type: string
| - - -#### KeptnEvaluationStatus - - - -KeptnEvaluationStatus defines the observed state of KeptnEvaluation - - - -_Appears in:_ -- [KeptnEvaluation](#keptnevaluation) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `retryCount` _integer_ | RetryCount indicates how many times the KeptnEvaluation has been attempted already. |0| x | | -| `evaluationStatus` _object (keys:string, values:[EvaluationStatusItem](#evaluationstatusitem))_ | EvaluationStatus describes the status of each objective of the KeptnEvaluationDefinition
referenced by the KeptnEvaluation. || x | | -| `overallStatus` _string_ | 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. |Pending| x | | -| `startTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | StartTime represents the time at which the KeptnEvaluation started. || ✓ | | -| `endTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | EndTime represents the time at which the KeptnEvaluation finished. || ✓ | | - - - - -#### KeptnMetricReference - - - - - - - -_Appears in:_ -- [Objective](#objective) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `name` _string_ | Name is the name of the referenced KeptnMetric. || x | | -| `namespace` _string_ | Namespace is the namespace where the referenced KeptnMetric is located. || ✓ | | - - - - -#### KeptnState - -_Underlying type:_ _string_ - -KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Deprecated/Warning) - - - -_Appears in:_ -- [EvaluationStatusItem](#evaluationstatusitem) -- [ItemStatus](#itemstatus) -- [KeptnAppVersionStatus](#keptnappversionstatus) -- [KeptnEvaluationStatus](#keptnevaluationstatus) -- [KeptnTaskStatus](#keptntaskstatus) -- [KeptnWorkloadVersionStatus](#keptnworkloadversionstatus) -- [WorkloadStatus](#workloadstatus) - - - -#### KeptnTask - - - -KeptnTask is the Schema for the keptntasks API - - - -_Appears in:_ -- [KeptnTaskList](#keptntasklist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1` | | | | -| `kind` _string_ | `KeptnTask` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnTaskSpec](#keptntaskspec)_ | Spec describes the desired state of the KeptnTask. || ✓ | | -| `status` _[KeptnTaskStatus](#keptntaskstatus)_ | Status describes the current state of the KeptnTask. || ✓ | | - - -#### KeptnTaskDefinition - - - -KeptnTaskDefinition is the Schema for the keptntaskdefinitions API - - - -_Appears in:_ -- [KeptnTaskDefinitionList](#keptntaskdefinitionlist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1` | | | | -| `kind` _string_ | `KeptnTaskDefinition` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnTaskDefinitionSpec](#keptntaskdefinitionspec)_ | Spec describes the desired state of the KeptnTaskDefinition. || ✓ | | -| `status` _[KeptnTaskDefinitionStatus](#keptntaskdefinitionstatus)_ | Status describes the current state of the KeptnTaskDefinition. || ✓ | | - - -#### KeptnTaskDefinitionList - - - -KeptnTaskDefinitionList contains a list of KeptnTaskDefinition - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1` | | | | -| `kind` _string_ | `KeptnTaskDefinitionList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnTaskDefinition](#keptntaskdefinition) array_ | || x | | - - -#### KeptnTaskDefinitionSpec - - - -KeptnTaskDefinitionSpec defines the desired state of KeptnTaskDefinition - - - -_Appears in:_ -- [KeptnTaskDefinition](#keptntaskdefinition) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `python` _[RuntimeSpec](#runtimespec)_ | Python contains the definition for the python function that is to be executed in KeptnTasks. || ✓ | | -| `deno` _[RuntimeSpec](#runtimespec)_ | Deno contains the definition for the Deno function that is to be executed in KeptnTasks. || ✓ | | -| `container` _[ContainerSpec](#containerspec)_ | Container contains the definition for the container that is to be used in Job. || ✓ | | -| `retries` _integer_ | Retries specifies how many times a job executing the KeptnTaskDefinition should be restarted in the case
of an unsuccessful attempt. |10| ✓ | | -| `timeout` _[Duration](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#duration-v1-meta)_ | 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. |5m| ✓ | Pattern: `^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$`
Type: string
| -| `serviceAccount` _[ServiceAccountSpec](#serviceaccountspec)_ | ServiceAccount specifies the service account to be used in jobs to authenticate with the Kubernetes API and access cluster resources. || ✓ | | -| `automountServiceAccountToken` _[AutomountServiceAccountTokenSpec](#automountserviceaccounttokenspec)_ | AutomountServiceAccountToken allows to enable K8s to assign cluster API credentials to a pod, if set to false
the pod will decline the service account || ✓ | | -| `ttlSecondsAfterFinished` _integer_ | 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. |300| ✓ | | -| `imagePullSecrets` _[LocalObjectReference](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#localobjectreference-v1-core) array_ | ImagePullSecrets is an optional field to specify the names of secrets to use for pulling container images || ✓ | | - - -#### KeptnTaskDefinitionStatus - - - -KeptnTaskDefinitionStatus defines the observed state of KeptnTaskDefinition - - - -_Appears in:_ -- [KeptnTaskDefinition](#keptntaskdefinition) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `function` _[FunctionStatus](#functionstatus)_ | Function contains status information of the function definition for the task. || ✓ | | - - -#### KeptnTaskList - - - -KeptnTaskList contains a list of KeptnTask - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1` | | | | -| `kind` _string_ | `KeptnTaskList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnTask](#keptntask) array_ | || x | | - - -#### KeptnTaskSpec - - - -KeptnTaskSpec defines the desired state of KeptnTask - - - -_Appears in:_ -- [KeptnTask](#keptntask) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `taskDefinition` _string_ | 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. || x | | -| `context` _[TaskContext](#taskcontext)_ | Context contains contextual information about the task execution. || ✓ | | -| `parameters` _[TaskParameters](#taskparameters)_ | Parameters contains parameters that will be passed to the job that executes the task. || ✓ | | -| `secureParameters` _[SecureParameters](#secureparameters)_ | 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. || ✓ | | -| `checkType` _string_ | Type indicates whether the KeptnTask is part of the pre- or postDeployment phase. || ✓ | | -| `retries` _integer_ | Retries indicates how many times the KeptnTask can be attempted in the case of an error
before considering the KeptnTask to be failed. |10| ✓ | | -| `timeout` _[Duration](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#duration-v1-meta)_ | 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. |5m| ✓ | Pattern: `^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$`
Type: string
| - - -#### KeptnTaskStatus - - - -KeptnTaskStatus defines the observed state of KeptnTask - - - -_Appears in:_ -- [KeptnTask](#keptntask) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `jobName` _string_ | JobName is the name of the Job executing the Task. || ✓ | | -| `status` _string_ | Status represents the overall state of the KeptnTask. |Pending| ✓ | | -| `message` _string_ | Message contains information about unexpected errors encountered during the execution of the KeptnTask. || ✓ | | -| `startTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | StartTime represents the time at which the KeptnTask started. || ✓ | | -| `endTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | EndTime represents the time at which the KeptnTask finished. || ✓ | | -| `reason` _string_ | Reason contains more information about the reason for the last transition of the Job executing the KeptnTask. || ✓ | | - - -#### KeptnWorkload - - - -KeptnWorkload is the Schema for the keptnworkloads API - - - -_Appears in:_ -- [KeptnWorkloadList](#keptnworkloadlist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1` | | | | -| `kind` _string_ | `KeptnWorkload` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnWorkloadSpec](#keptnworkloadspec)_ | Spec describes the desired state of the KeptnWorkload. || ✓ | | -| `status` _[KeptnWorkloadStatus](#keptnworkloadstatus)_ | Status describes the current state of the KeptnWorkload. || ✓ | | - - -#### KeptnWorkloadList - - - -KeptnWorkloadList contains a list of KeptnWorkload - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1` | | | | -| `kind` _string_ | `KeptnWorkloadList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnWorkload](#keptnworkload) array_ | || x | | - - -#### KeptnWorkloadRef - - - -KeptnWorkloadRef refers to a KeptnWorkload that is part of a KeptnApp - - - -_Appears in:_ -- [KeptnAppSpec](#keptnappspec) -- [KeptnAppVersionSpec](#keptnappversionspec) -- [WorkloadStatus](#workloadstatus) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `name` _string_ | Name is the name of the KeptnWorkload. || x | | -| `version` _string_ | Version is the version of the KeptnWorkload. || x | | - - -#### KeptnWorkloadSpec - - - -KeptnWorkloadSpec defines the desired state of KeptnWorkload - - - -_Appears in:_ -- [KeptnWorkload](#keptnworkload) -- [KeptnWorkloadVersionSpec](#keptnworkloadversionspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `app` _string_ | AppName is the name of the KeptnApp containing the KeptnWorkload. || x | | -| `version` _string_ | Version defines the version of the KeptnWorkload. || x | | -| `preDeploymentTasks` _string array_ | 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. || ✓ | | -| `postDeploymentTasks` _string array_ | 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. || ✓ | | -| `preDeploymentEvaluations` _string array_ | 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. || ✓ | | -| `postDeploymentEvaluations` _string array_ | 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. || ✓ | | -| `resourceReference` _[ResourceReference](#resourcereference)_ | ResourceReference is a reference to the Kubernetes resource
(Deployment, DaemonSet, StatefulSet or ReplicaSet) the KeptnWorkload is representing. || x | | -| `metadata` _object (keys:string, values:string)_ | Metadata contains additional key-value pairs for contextual information. || ✓ | | - - -#### KeptnWorkloadStatus - - - -KeptnWorkloadStatus defines the observed state of KeptnWorkload - - - -_Appears in:_ -- [KeptnWorkload](#keptnworkload) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `currentVersion` _string_ | CurrentVersion indicates the version that is currently deployed or being reconciled. || ✓ | | - - -#### KeptnWorkloadVersion - - - -KeptnWorkloadVersion is the Schema for the keptnworkloadversions API - - - -_Appears in:_ -- [KeptnWorkloadVersionList](#keptnworkloadversionlist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1` | | | | -| `kind` _string_ | `KeptnWorkloadVersion` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnWorkloadVersionSpec](#keptnworkloadversionspec)_ | Spec describes the desired state of the KeptnWorkloadVersion. || ✓ | | -| `status` _[KeptnWorkloadVersionStatus](#keptnworkloadversionstatus)_ | Status describes the current state of the KeptnWorkloadVersion. || ✓ | | - - -#### KeptnWorkloadVersionList - - - -KeptnWorkloadVersionList contains a list of KeptnWorkloadVersion - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1` | | | | -| `kind` _string_ | `KeptnWorkloadVersionList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnWorkloadVersion](#keptnworkloadversion) array_ | || x | | - - -#### KeptnWorkloadVersionSpec - - - -KeptnWorkloadVersionSpec defines the desired state of KeptnWorkloadVersion - - - -_Appears in:_ -- [KeptnWorkloadVersion](#keptnworkloadversion) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `app` _string_ | AppName is the name of the KeptnApp containing the KeptnWorkload. || x | | -| `version` _string_ | Version defines the version of the KeptnWorkload. || x | | -| `preDeploymentTasks` _string array_ | 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. || ✓ | | -| `postDeploymentTasks` _string array_ | 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. || ✓ | | -| `preDeploymentEvaluations` _string array_ | 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. || ✓ | | -| `postDeploymentEvaluations` _string array_ | 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. || ✓ | | -| `resourceReference` _[ResourceReference](#resourcereference)_ | ResourceReference is a reference to the Kubernetes resource
(Deployment, DaemonSet, StatefulSet or ReplicaSet) the KeptnWorkload is representing. || x | | -| `metadata` _object (keys:string, values:string)_ | Metadata contains additional key-value pairs for contextual information. || ✓ | | -| `workloadName` _string_ | WorkloadName is the name of the KeptnWorkload. || x | | -| `previousVersion` _string_ | PreviousVersion is the version of the KeptnWorkload that has been deployed prior to this version. || ✓ | | -| `traceId` _object (keys:string, values:string)_ | TraceId contains the OpenTelemetry trace ID. || ✓ | | - - -#### KeptnWorkloadVersionStatus - - - -KeptnWorkloadVersionStatus defines the observed state of KeptnWorkloadVersion - - - -_Appears in:_ -- [KeptnWorkloadVersion](#keptnworkloadversion) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `preDeploymentStatus` _string_ | PreDeploymentStatus indicates the current status of the KeptnWorkloadVersion's PreDeployment phase. |Pending| ✓ | | -| `deploymentStatus` _string_ | DeploymentStatus indicates the current status of the KeptnWorkloadVersion's Deployment phase. |Pending| ✓ | | -| `preDeploymentEvaluationStatus` _string_ | PreDeploymentEvaluationStatus indicates the current status of the KeptnWorkloadVersion's PreDeploymentEvaluation phase. |Pending| ✓ | | -| `postDeploymentEvaluationStatus` _string_ | PostDeploymentEvaluationStatus indicates the current status of the KeptnWorkloadVersion's PostDeploymentEvaluation phase. |Pending| ✓ | | -| `postDeploymentStatus` _string_ | PostDeploymentStatus indicates the current status of the KeptnWorkloadVersion's PostDeployment phase. |Pending| ✓ | | -| `preDeploymentTaskStatus` _[ItemStatus](#itemstatus) array_ | PreDeploymentTaskStatus indicates the current state of each preDeploymentTask of the KeptnWorkloadVersion. || ✓ | | -| `postDeploymentTaskStatus` _[ItemStatus](#itemstatus) array_ | PostDeploymentTaskStatus indicates the current state of each postDeploymentTask of the KeptnWorkloadVersion. || ✓ | | -| `preDeploymentEvaluationTaskStatus` _[ItemStatus](#itemstatus) array_ | PreDeploymentEvaluationTaskStatus indicates the current state of each preDeploymentEvaluation of the KeptnWorkloadVersion. || ✓ | | -| `postDeploymentEvaluationTaskStatus` _[ItemStatus](#itemstatus) array_ | PostDeploymentEvaluationTaskStatus indicates the current state of each postDeploymentEvaluation of the KeptnWorkloadVersion. || ✓ | | -| `startTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | StartTime represents the time at which the deployment of the KeptnWorkloadVersion started. || ✓ | | -| `endTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | EndTime represents the time at which the deployment of the KeptnWorkloadVersion finished. || ✓ | | -| `currentPhase` _string_ | CurrentPhase indicates the current phase of the KeptnWorkloadVersion. This can be:
- PreDeploymentTasks
- PreDeploymentEvaluations
- Deployment
- PostDeploymentTasks
- PostDeploymentEvaluations || ✓ | | -| `phaseTraceIDs` _[MapCarrier](https://pkg.go.dev/go.opentelemetry.io/otel/propagation#MapCarrier)_ | PhaseTraceIDs contains the trace IDs of the OpenTelemetry spans of each phase of the KeptnWorkloadVersion || ✓ | | -| `status` _string_ | Status represents the overall status of the KeptnWorkloadVersion. |Pending| ✓ | | -| `appContextMetadata` _object (keys:string, values:string)_ | AppContextMetadata contains metadata from the related KeptnAppVersion. || ✓ | | -| `deploymentStartTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | DeploymentStartTime represents the start time of the deployment phase || ✓ | | - - -#### Objective - - - - - - - -_Appears in:_ -- [KeptnEvaluationDefinitionSpec](#keptnevaluationdefinitionspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `keptnMetricRef` _[KeptnMetricReference](#keptnmetricreference)_ | KeptnMetricRef references the KeptnMetric that should be evaluated. || x | | -| `evaluationTarget` _string_ | EvaluationTarget specifies the target value for the references KeptnMetric.
Needs to start with either '<' or '>', followed by the target value (e.g. '<10'). || x | | - - -#### PhaseTraceID - -_Underlying type:_ _[MapCarrier](https://pkg.go.dev/go.opentelemetry.io/otel/propagation#MapCarrier)_ - -PhaseTraceID is a map storing TraceIDs of OpenTelemetry spans in lifecycle phases - - - -_Appears in:_ -- [KeptnAppVersionStatus](#keptnappversionstatus) -- [KeptnWorkloadVersionStatus](#keptnworkloadversionstatus) - - - -#### ResourceReference - - - -ResourceReference represents the parent resource of Workload - - - -_Appears in:_ -- [KeptnWorkloadSpec](#keptnworkloadspec) -- [KeptnWorkloadVersionSpec](#keptnworkloadversionspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `uid` _string_ | || x | | -| `kind` _string_ | || x | | -| `name` _string_ | || x | | - - -#### RuntimeSpec - - - - - - - -_Appears in:_ -- [KeptnTaskDefinitionSpec](#keptntaskdefinitionspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `functionRef` _[FunctionReference](#functionreference)_ | 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. || ✓ | | -| `inline` _[Inline](#inline)_ | Inline allows to specify the code that should be executed directly in the KeptnTaskDefinition, as a multi-line
string. || ✓ | | -| `httpRef` _[HttpReference](#httpreference)_ | HttpReference allows to point to an HTTP URL containing the code of the function. || ✓ | | -| `configMapRef` _[ConfigMapReference](#configmapreference)_ | 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. || ✓ | | -| `parameters` _[TaskParameters](#taskparameters)_ | Parameters contains parameters that will be passed to the job that executes the task as env variables. || ✓ | | -| `secureParameters` _[SecureParameters](#secureparameters)_ | 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. || ✓ | | -| `cmdParameters` _string_ | CmdParameters contains parameters that will be passed to the command || ✓ | | - - -#### SecureParameters - - - - - - - -_Appears in:_ -- [KeptnTaskSpec](#keptntaskspec) -- [RuntimeSpec](#runtimespec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `secret` _string_ | 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. || ✓ | | - - -#### ServiceAccountSpec - - - - - - - -_Appears in:_ -- [KeptnTaskDefinitionSpec](#keptntaskdefinitionspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `name` _string_ | || x | | - - - - -#### TaskContext - - - - - - - -_Appears in:_ -- [KeptnTaskSpec](#keptntaskspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `workloadName` _string_ | WorkloadName the name of the KeptnWorkload the KeptnTask is being executed for. || ✓ | | -| `appName` _string_ | AppName the name of the KeptnApp the KeptnTask is being executed for. || ✓ | | -| `appVersion` _string_ | AppVersion the version of the KeptnApp the KeptnTask is being executed for. || ✓ | | -| `workloadVersion` _string_ | WorkloadVersion the version of the KeptnWorkload the KeptnTask is being executed for. || ✓ | | -| `taskType` _string_ | TaskType indicates whether the KeptnTask is part of the pre- or postDeployment phase. || ✓ | | -| `objectType` _string_ | ObjectType indicates whether the KeptnTask is being executed for a KeptnApp or KeptnWorkload. || ✓ | | -| `metadata` _object (keys:string, values:string)_ | Metadata contains additional key-value pairs for contextual information. || ✓ | | - - -#### TaskParameters - - - - - - - -_Appears in:_ -- [KeptnTaskSpec](#keptntaskspec) -- [RuntimeSpec](#runtimespec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `map` _object (keys:string, values: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. || ✓ | | - - -#### WorkloadStatus - - - - - - - -_Appears in:_ -- [KeptnAppVersionStatus](#keptnappversionstatus) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `workload` _[KeptnWorkloadRef](#keptnworkloadref)_ | Workload refers to a KeptnWorkload that is part of the KeptnAppVersion. || ✓ | | -| `status` _string_ | Status indicates the current status of the KeptnWorkload. |Pending| ✓ | | - - diff --git a/docs/docs/reference/api-reference/lifecycle/v1alpha1/index.md b/docs/docs/reference/api-reference/lifecycle/v1alpha1/index.md deleted file mode 100644 index faa0d7d205..0000000000 --- a/docs/docs/reference/api-reference/lifecycle/v1alpha1/index.md +++ /dev/null @@ -1,1001 +0,0 @@ -# v1alpha1 - -Reference information for lifecycle.keptn.sh/v1alpha1 - - - -## Packages -- [lifecycle.keptn.sh/v1alpha1](#lifecyclekeptnshv1alpha1) - - -## lifecycle.keptn.sh/v1alpha1 - -Package v1alpha1 contains API Schema definitions for the lifecycle v1alpha1 API group - -### Resource Types -- [KeptnApp](#keptnapp) -- [KeptnAppList](#keptnapplist) -- [KeptnAppVersion](#keptnappversion) -- [KeptnAppVersionList](#keptnappversionlist) -- [KeptnEvaluation](#keptnevaluation) -- [KeptnEvaluationDefinition](#keptnevaluationdefinition) -- [KeptnEvaluationDefinitionList](#keptnevaluationdefinitionlist) -- [KeptnEvaluationList](#keptnevaluationlist) -- [KeptnTask](#keptntask) -- [KeptnTaskDefinition](#keptntaskdefinition) -- [KeptnTaskDefinitionList](#keptntaskdefinitionlist) -- [KeptnTaskList](#keptntasklist) -- [KeptnWorkload](#keptnworkload) -- [KeptnWorkloadInstance](#keptnworkloadinstance) -- [KeptnWorkloadInstanceList](#keptnworkloadinstancelist) -- [KeptnWorkloadList](#keptnworkloadlist) - - - -#### CheckType - -_Underlying type:_ _string_ - - - - - -_Appears in:_ -- [KeptnEvaluationSpec](#keptnevaluationspec) -- [KeptnTaskSpec](#keptntaskspec) - - - -#### ConfigMapReference - - - - - - - -_Appears in:_ -- [FunctionSpec](#functionspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `name` _string_ | || ✓ | | - - - - -#### EvaluationStatus - - - - - - - -_Appears in:_ -- [KeptnAppVersionStatus](#keptnappversionstatus) -- [KeptnWorkloadInstanceStatus](#keptnworkloadinstancestatus) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `evaluationDefinitionName` _string_ | || ✓ | | -| `status` _string_ | |Pending| ✓ | | -| `evaluationName` _string_ | || ✓ | | -| `startTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | || ✓ | | -| `endTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | || ✓ | | - - -#### EvaluationStatusItem - - - - - - - -_Appears in:_ -- [KeptnEvaluationStatus](#keptnevaluationstatus) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `value` _string_ | || x | | -| `status` _string_ | || x | | -| `message` _string_ | || ✓ | | - - -#### FunctionReference - - - - - - - -_Appears in:_ -- [FunctionSpec](#functionspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `name` _string_ | || ✓ | | - - -#### FunctionSpec - - - - - - - -_Appears in:_ -- [KeptnTaskDefinitionSpec](#keptntaskdefinitionspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `functionRef` _[FunctionReference](#functionreference)_ | || ✓ | | -| `inline` _[Inline](#inline)_ | || ✓ | | -| `httpRef` _[HttpReference](#httpreference)_ | || ✓ | | -| `configMapRef` _[ConfigMapReference](#configmapreference)_ | || ✓ | | -| `parameters` _[TaskParameters](#taskparameters)_ | || ✓ | | -| `secureParameters` _[SecureParameters](#secureparameters)_ | || ✓ | | - - -#### FunctionStatus - - - - - - - -_Appears in:_ -- [KeptnTaskDefinitionStatus](#keptntaskdefinitionstatus) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `configMap` _string_ | || ✓ | | - - -#### HttpReference - - - - - - - -_Appears in:_ -- [FunctionSpec](#functionspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `url` _string_ | || ✓ | | - - -#### Inline - - - - - - - -_Appears in:_ -- [FunctionSpec](#functionspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `code` _string_ | || ✓ | | - - -#### KeptnApp - - - -KeptnApp is the Schema for the keptnapps API - - - -_Appears in:_ -- [KeptnAppList](#keptnapplist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha1` | | | | -| `kind` _string_ | `KeptnApp` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnAppSpec](#keptnappspec)_ | || ✓ | | -| `status` _[KeptnAppStatus](#keptnappstatus)_ | || ✓ | | - - -#### KeptnAppList - - - -KeptnAppList contains a list of KeptnApp - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha1` | | | | -| `kind` _string_ | `KeptnAppList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnApp](#keptnapp) array_ | || x | | - - -#### KeptnAppSpec - - - -KeptnAppSpec defines the desired state of KeptnApp - - - -_Appears in:_ -- [KeptnApp](#keptnapp) -- [KeptnAppVersionSpec](#keptnappversionspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `version` _string_ | || x | | -| `workloads` _[KeptnWorkloadRef](#keptnworkloadref) array_ | || ✓ | | -| `preDeploymentTasks` _string array_ | || ✓ | | -| `postDeploymentTasks` _string array_ | || ✓ | | -| `preDeploymentEvaluations` _string array_ | || ✓ | | -| `postDeploymentEvaluations` _string array_ | || ✓ | | - - -#### KeptnAppStatus - - - -KeptnAppStatus defines the observed state of KeptnApp - - - -_Appears in:_ -- [KeptnApp](#keptnapp) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `currentVersion` _string_ | || ✓ | | - - -#### KeptnAppVersion - - - -KeptnAppVersion is the Schema for the keptnappversions API - - - -_Appears in:_ -- [KeptnAppVersionList](#keptnappversionlist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha1` | | | | -| `kind` _string_ | `KeptnAppVersion` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnAppVersionSpec](#keptnappversionspec)_ | || ✓ | | -| `status` _[KeptnAppVersionStatus](#keptnappversionstatus)_ | || ✓ | | - - -#### KeptnAppVersionList - - - -KeptnAppVersionList contains a list of KeptnAppVersion - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha1` | | | | -| `kind` _string_ | `KeptnAppVersionList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnAppVersion](#keptnappversion) array_ | || x | | - - -#### KeptnAppVersionSpec - - - -KeptnAppVersionSpec defines the desired state of KeptnAppVersion - - - -_Appears in:_ -- [KeptnAppVersion](#keptnappversion) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `version` _string_ | || x | | -| `workloads` _[KeptnWorkloadRef](#keptnworkloadref) array_ | || ✓ | | -| `preDeploymentTasks` _string array_ | || ✓ | | -| `postDeploymentTasks` _string array_ | || ✓ | | -| `preDeploymentEvaluations` _string array_ | || ✓ | | -| `postDeploymentEvaluations` _string array_ | || ✓ | | -| `appName` _string_ | || x | | -| `previousVersion` _string_ | || ✓ | | -| `traceId` _object (keys:string, values:string)_ | || ✓ | | - - -#### KeptnAppVersionStatus - - - -KeptnAppVersionStatus defines the observed state of KeptnAppVersion - - - -_Appears in:_ -- [KeptnAppVersion](#keptnappversion) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `preDeploymentStatus` _string_ | |Pending| ✓ | | -| `postDeploymentStatus` _string_ | |Pending| ✓ | | -| `preDeploymentEvaluationStatus` _string_ | |Pending| ✓ | | -| `postDeploymentEvaluationStatus` _string_ | |Pending| ✓ | | -| `workloadOverallStatus` _string_ | |Pending| ✓ | | -| `workloadStatus` _[WorkloadStatus](#workloadstatus) array_ | || ✓ | | -| `currentPhase` _string_ | || ✓ | | -| `preDeploymentTaskStatus` _[TaskStatus](#taskstatus) array_ | || ✓ | | -| `postDeploymentTaskStatus` _[TaskStatus](#taskstatus) array_ | || ✓ | | -| `preDeploymentEvaluationTaskStatus` _[EvaluationStatus](#evaluationstatus) array_ | || ✓ | | -| `postDeploymentEvaluationTaskStatus` _[EvaluationStatus](#evaluationstatus) array_ | || ✓ | | -| `phaseTraceIDs` _[MapCarrier](https://pkg.go.dev/go.opentelemetry.io/otel/propagation#MapCarrier)_ | || ✓ | | -| `status` _string_ | |Pending| ✓ | | -| `startTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | || ✓ | | -| `endTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | || ✓ | | - - -#### KeptnEvaluation - - - -KeptnEvaluation is the Schema for the keptnevaluations API - - - -_Appears in:_ -- [KeptnEvaluationList](#keptnevaluationlist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha1` | | | | -| `kind` _string_ | `KeptnEvaluation` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnEvaluationSpec](#keptnevaluationspec)_ | || ✓ | | -| `status` _[KeptnEvaluationStatus](#keptnevaluationstatus)_ | || ✓ | | - - -#### KeptnEvaluationDefinition - - - -KeptnEvaluationDefinition is the Schema for the keptnevaluationdefinitions API - - - -_Appears in:_ -- [KeptnEvaluationDefinitionList](#keptnevaluationdefinitionlist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha1` | | | | -| `kind` _string_ | `KeptnEvaluationDefinition` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnEvaluationDefinitionSpec](#keptnevaluationdefinitionspec)_ | || ✓ | | -| `status` _string_ | unused field || ✓ | | - - -#### KeptnEvaluationDefinitionList - - - -KeptnEvaluationDefinitionList contains a list of KeptnEvaluationDefinition - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha1` | | | | -| `kind` _string_ | `KeptnEvaluationDefinitionList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnEvaluationDefinition](#keptnevaluationdefinition) array_ | || x | | - - -#### KeptnEvaluationDefinitionSpec - - - -KeptnEvaluationDefinitionSpec defines the desired state of KeptnEvaluationDefinition - - - -_Appears in:_ -- [KeptnEvaluationDefinition](#keptnevaluationdefinition) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `source` _string_ | || x | | -| `objectives` _[Objective](#objective) array_ | || x | | - - -#### KeptnEvaluationList - - - -KeptnEvaluationList contains a list of KeptnEvaluation - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha1` | | | | -| `kind` _string_ | `KeptnEvaluationList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnEvaluation](#keptnevaluation) array_ | || x | | - - - - -#### KeptnEvaluationSpec - - - -KeptnEvaluationSpec defines the desired state of KeptnEvaluation - - - -_Appears in:_ -- [KeptnEvaluation](#keptnevaluation) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `workload` _string_ | || ✓ | | -| `workloadVersion` _string_ | || x | | -| `appName` _string_ | || ✓ | | -| `appVersion` _string_ | || ✓ | | -| `evaluationDefinition` _string_ | || x | | -| `retries` _integer_ | |10| ✓ | | -| `retryInterval` _[Duration](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#duration-v1-meta)_ | |5s| ✓ | Pattern: `^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$`
Type: string
| -| `failAction` _string_ | || ✓ | | -| `checkType` _string_ | || ✓ | | - - -#### KeptnEvaluationStatus - - - -KeptnEvaluationStatus defines the observed state of KeptnEvaluation - - - -_Appears in:_ -- [KeptnEvaluation](#keptnevaluation) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `retryCount` _integer_ | |0| x | | -| `evaluationStatus` _object (keys:string, values:[EvaluationStatusItem](#evaluationstatusitem))_ | || x | | -| `overallStatus` _string_ | |Pending| x | | -| `startTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | || ✓ | | -| `endTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | || ✓ | | - - -#### KeptnState - -_Underlying type:_ _string_ - -KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - - - -_Appears in:_ -- [EvaluationStatus](#evaluationstatus) -- [EvaluationStatusItem](#evaluationstatusitem) -- [KeptnAppVersionStatus](#keptnappversionstatus) -- [KeptnEvaluationStatus](#keptnevaluationstatus) -- [KeptnTaskStatus](#keptntaskstatus) -- [KeptnWorkloadInstanceStatus](#keptnworkloadinstancestatus) -- [TaskStatus](#taskstatus) -- [WorkloadStatus](#workloadstatus) - - - -#### KeptnTask - - - -KeptnTask is the Schema for the keptntasks API - - - -_Appears in:_ -- [KeptnTaskList](#keptntasklist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha1` | | | | -| `kind` _string_ | `KeptnTask` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnTaskSpec](#keptntaskspec)_ | || ✓ | | -| `status` _[KeptnTaskStatus](#keptntaskstatus)_ | || ✓ | | - - -#### KeptnTaskDefinition - - - -KeptnTaskDefinition is the Schema for the keptntaskdefinitions API - - - -_Appears in:_ -- [KeptnTaskDefinitionList](#keptntaskdefinitionlist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha1` | | | | -| `kind` _string_ | `KeptnTaskDefinition` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnTaskDefinitionSpec](#keptntaskdefinitionspec)_ | || ✓ | | -| `status` _[KeptnTaskDefinitionStatus](#keptntaskdefinitionstatus)_ | || ✓ | | - - -#### KeptnTaskDefinitionList - - - -KeptnTaskDefinitionList contains a list of KeptnTaskDefinition - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha1` | | | | -| `kind` _string_ | `KeptnTaskDefinitionList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnTaskDefinition](#keptntaskdefinition) array_ | || x | | - - -#### KeptnTaskDefinitionSpec - - - -KeptnTaskDefinitionSpec defines the desired state of KeptnTaskDefinition - - - -_Appears in:_ -- [KeptnTaskDefinition](#keptntaskdefinition) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `function` _[FunctionSpec](#functionspec)_ | || ✓ | | - - -#### KeptnTaskDefinitionStatus - - - -KeptnTaskDefinitionStatus defines the observed state of KeptnTaskDefinition - - - -_Appears in:_ -- [KeptnTaskDefinition](#keptntaskdefinition) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `function` _[FunctionStatus](#functionstatus)_ | || ✓ | | - - -#### KeptnTaskList - - - -KeptnTaskList contains a list of KeptnTask - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha1` | | | | -| `kind` _string_ | `KeptnTaskList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnTask](#keptntask) array_ | || x | | - - -#### KeptnTaskSpec - - - -KeptnTaskSpec defines the desired state of KeptnTask - - - -_Appears in:_ -- [KeptnTask](#keptntask) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `workload` _string_ | || x | | -| `workloadVersion` _string_ | || x | | -| `app` _string_ | || x | | -| `appVersion` _string_ | || x | | -| `taskDefinition` _string_ | || x | | -| `context` _[TaskContext](#taskcontext)_ | || x | | -| `parameters` _[TaskParameters](#taskparameters)_ | || ✓ | | -| `secureParameters` _[SecureParameters](#secureparameters)_ | || ✓ | | -| `checkType` _string_ | || ✓ | | - - -#### KeptnTaskStatus - - - -KeptnTaskStatus defines the observed state of KeptnTask - - - -_Appears in:_ -- [KeptnTask](#keptntask) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `jobName` _string_ | || ✓ | | -| `status` _string_ | |Pending| ✓ | | -| `message` _string_ | || ✓ | | -| `startTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | || ✓ | | -| `endTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | || ✓ | | - - -#### KeptnWorkload - - - -KeptnWorkload is the Schema for the keptnworkloads API - - - -_Appears in:_ -- [KeptnWorkloadList](#keptnworkloadlist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha1` | | | | -| `kind` _string_ | `KeptnWorkload` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnWorkloadSpec](#keptnworkloadspec)_ | || ✓ | | -| `status` _[KeptnWorkloadStatus](#keptnworkloadstatus)_ | || ✓ | | - - -#### KeptnWorkloadInstance - - - -KeptnWorkloadInstance is the Schema for the keptnworkloadinstances API - - - -_Appears in:_ -- [KeptnWorkloadInstanceList](#keptnworkloadinstancelist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha1` | | | | -| `kind` _string_ | `KeptnWorkloadInstance` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnWorkloadInstanceSpec](#keptnworkloadinstancespec)_ | || ✓ | | -| `status` _[KeptnWorkloadInstanceStatus](#keptnworkloadinstancestatus)_ | || ✓ | | - - -#### KeptnWorkloadInstanceList - - - -KeptnWorkloadInstanceList contains a list of KeptnWorkloadInstance - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha1` | | | | -| `kind` _string_ | `KeptnWorkloadInstanceList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnWorkloadInstance](#keptnworkloadinstance) array_ | || x | | - - -#### KeptnWorkloadInstanceSpec - - - -KeptnWorkloadInstanceSpec defines the desired state of KeptnWorkloadInstance - - - -_Appears in:_ -- [KeptnWorkloadInstance](#keptnworkloadinstance) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `app` _string_ | || x | | -| `version` _string_ | || x | | -| `preDeploymentTasks` _string array_ | || ✓ | | -| `postDeploymentTasks` _string array_ | || ✓ | | -| `preDeploymentEvaluations` _string array_ | || ✓ | | -| `postDeploymentEvaluations` _string array_ | || ✓ | | -| `resourceReference` _[ResourceReference](#resourcereference)_ | || x | | -| `workloadName` _string_ | || x | | -| `previousVersion` _string_ | || ✓ | | -| `traceId` _object (keys:string, values:string)_ | || ✓ | | - - -#### KeptnWorkloadInstanceStatus - - - -KeptnWorkloadInstanceStatus defines the observed state of KeptnWorkloadInstance - - - -_Appears in:_ -- [KeptnWorkloadInstance](#keptnworkloadinstance) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `preDeploymentStatus` _string_ | |Pending| ✓ | | -| `deploymentStatus` _string_ | |Pending| ✓ | | -| `preDeploymentEvaluationStatus` _string_ | |Pending| ✓ | | -| `postDeploymentEvaluationStatus` _string_ | |Pending| ✓ | | -| `postDeploymentStatus` _string_ | |Pending| ✓ | | -| `preDeploymentTaskStatus` _[TaskStatus](#taskstatus) array_ | || ✓ | | -| `postDeploymentTaskStatus` _[TaskStatus](#taskstatus) array_ | || ✓ | | -| `preDeploymentEvaluationTaskStatus` _[EvaluationStatus](#evaluationstatus) array_ | || ✓ | | -| `postDeploymentEvaluationTaskStatus` _[EvaluationStatus](#evaluationstatus) array_ | || ✓ | | -| `startTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | || ✓ | | -| `endTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | || ✓ | | -| `currentPhase` _string_ | || ✓ | | -| `phaseTraceIDs` _[MapCarrier](https://pkg.go.dev/go.opentelemetry.io/otel/propagation#MapCarrier)_ | || ✓ | | -| `status` _string_ | |Pending| ✓ | | - - -#### KeptnWorkloadList - - - -KeptnWorkloadList contains a list of KeptnWorkload - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha1` | | | | -| `kind` _string_ | `KeptnWorkloadList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnWorkload](#keptnworkload) array_ | || x | | - - -#### KeptnWorkloadRef - - - - - - - -_Appears in:_ -- [KeptnAppSpec](#keptnappspec) -- [KeptnAppVersionSpec](#keptnappversionspec) -- [WorkloadStatus](#workloadstatus) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `name` _string_ | || x | | -| `version` _string_ | || x | | - - -#### KeptnWorkloadSpec - - - -KeptnWorkloadSpec defines the desired state of KeptnWorkload - - - -_Appears in:_ -- [KeptnWorkload](#keptnworkload) -- [KeptnWorkloadInstanceSpec](#keptnworkloadinstancespec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `app` _string_ | || x | | -| `version` _string_ | || x | | -| `preDeploymentTasks` _string array_ | || ✓ | | -| `postDeploymentTasks` _string array_ | || ✓ | | -| `preDeploymentEvaluations` _string array_ | || ✓ | | -| `postDeploymentEvaluations` _string array_ | || ✓ | | -| `resourceReference` _[ResourceReference](#resourcereference)_ | || x | | - - -#### KeptnWorkloadStatus - - - -KeptnWorkloadStatus defines the observed state of KeptnWorkload - - - -_Appears in:_ -- [KeptnWorkload](#keptnworkload) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `currentVersion` _string_ | || ✓ | | - - -#### Objective - - - - - - - -_Appears in:_ -- [KeptnEvaluationDefinitionSpec](#keptnevaluationdefinitionspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `name` _string_ | || x | | -| `query` _string_ | || x | | -| `evaluationTarget` _string_ | || x | | - - -#### PhaseTraceID - -_Underlying type:_ _[MapCarrier](https://pkg.go.dev/go.opentelemetry.io/otel/propagation#MapCarrier)_ - -PhaseTraceID is a map storing TraceIDs of OpenTelemetry spans in lifecycle phases - - - -_Appears in:_ -- [KeptnAppVersionStatus](#keptnappversionstatus) -- [KeptnWorkloadInstanceStatus](#keptnworkloadinstancestatus) - - - -#### ResourceReference - - - -ResourceReference represents the parent resource of Workload - - - -_Appears in:_ -- [KeptnWorkloadInstanceSpec](#keptnworkloadinstancespec) -- [KeptnWorkloadSpec](#keptnworkloadspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `uid` _string_ | || x | | -| `kind` _string_ | || x | | -| `name` _string_ | || x | | - - -#### SecureParameters - - - - - - - -_Appears in:_ -- [FunctionSpec](#functionspec) -- [KeptnTaskSpec](#keptntaskspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `secret` _string_ | || ✓ | | - - -#### TaskContext - - - - - - - -_Appears in:_ -- [KeptnTaskSpec](#keptntaskspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `workloadName` _string_ | || x | | -| `appName` _string_ | || x | | -| `appVersion` _string_ | || x | | -| `workloadVersion` _string_ | || x | | -| `taskType` _string_ | || x | | -| `objectType` _string_ | || x | | - - -#### TaskParameters - - - - - - - -_Appears in:_ -- [FunctionSpec](#functionspec) -- [KeptnTaskSpec](#keptntaskspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `map` _object (keys:string, values:string)_ | || ✓ | | - - -#### TaskStatus - - - - - - - -_Appears in:_ -- [KeptnAppVersionStatus](#keptnappversionstatus) -- [KeptnWorkloadInstanceStatus](#keptnworkloadinstancestatus) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `taskDefinitionName` _string_ | || ✓ | | -| `status` _string_ | |Pending| ✓ | | -| `taskName` _string_ | || ✓ | | -| `startTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | || ✓ | | -| `endTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | || ✓ | | - - -#### WorkloadStatus - - - - - - - -_Appears in:_ -- [KeptnAppVersionStatus](#keptnappversionstatus) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `workload` _[KeptnWorkloadRef](#keptnworkloadref)_ | || ✓ | | -| `status` _string_ | |Pending| ✓ | | - - diff --git a/docs/docs/reference/api-reference/lifecycle/v1alpha2/index.md b/docs/docs/reference/api-reference/lifecycle/v1alpha2/index.md deleted file mode 100644 index 3cd9c6e05b..0000000000 --- a/docs/docs/reference/api-reference/lifecycle/v1alpha2/index.md +++ /dev/null @@ -1,981 +0,0 @@ -# v1alpha2 - -Reference information for lifecycle.keptn.sh/v1alpha2 - - - -## Packages -- [lifecycle.keptn.sh/v1alpha2](#lifecyclekeptnshv1alpha2) - - -## lifecycle.keptn.sh/v1alpha2 - -Package v1alpha2 contains API Schema definitions for the lifecycle v1alpha2 API group - -### Resource Types -- [KeptnApp](#keptnapp) -- [KeptnAppList](#keptnapplist) -- [KeptnAppVersion](#keptnappversion) -- [KeptnAppVersionList](#keptnappversionlist) -- [KeptnEvaluation](#keptnevaluation) -- [KeptnEvaluationDefinition](#keptnevaluationdefinition) -- [KeptnEvaluationDefinitionList](#keptnevaluationdefinitionlist) -- [KeptnEvaluationList](#keptnevaluationlist) -- [KeptnTask](#keptntask) -- [KeptnTaskDefinition](#keptntaskdefinition) -- [KeptnTaskDefinitionList](#keptntaskdefinitionlist) -- [KeptnTaskList](#keptntasklist) -- [KeptnWorkload](#keptnworkload) -- [KeptnWorkloadInstance](#keptnworkloadinstance) -- [KeptnWorkloadInstanceList](#keptnworkloadinstancelist) -- [KeptnWorkloadList](#keptnworkloadlist) - - - -#### CheckType - -_Underlying type:_ _string_ - - - - - -_Appears in:_ -- [KeptnEvaluationSpec](#keptnevaluationspec) -- [KeptnTaskSpec](#keptntaskspec) - - - -#### ConfigMapReference - - - - - - - -_Appears in:_ -- [FunctionSpec](#functionspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `name` _string_ | || ✓ | | - - - - -#### EvaluationStatusItem - - - - - - - -_Appears in:_ -- [KeptnEvaluationStatus](#keptnevaluationstatus) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `value` _string_ | || x | | -| `status` _string_ | || x | | -| `message` _string_ | || ✓ | | - - -#### FunctionReference - - - - - - - -_Appears in:_ -- [FunctionSpec](#functionspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `name` _string_ | || ✓ | | - - -#### FunctionSpec - - - - - - - -_Appears in:_ -- [KeptnTaskDefinitionSpec](#keptntaskdefinitionspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `functionRef` _[FunctionReference](#functionreference)_ | || ✓ | | -| `inline` _[Inline](#inline)_ | || ✓ | | -| `httpRef` _[HttpReference](#httpreference)_ | || ✓ | | -| `configMapRef` _[ConfigMapReference](#configmapreference)_ | || ✓ | | -| `parameters` _[TaskParameters](#taskparameters)_ | || ✓ | | -| `secureParameters` _[SecureParameters](#secureparameters)_ | || ✓ | | - - -#### FunctionStatus - - - - - - - -_Appears in:_ -- [KeptnTaskDefinitionStatus](#keptntaskdefinitionstatus) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `configMap` _string_ | || ✓ | | - - -#### HttpReference - - - - - - - -_Appears in:_ -- [FunctionSpec](#functionspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `url` _string_ | || ✓ | | - - -#### Inline - - - - - - - -_Appears in:_ -- [FunctionSpec](#functionspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `code` _string_ | || ✓ | | - - -#### ItemStatus - - - - - - - -_Appears in:_ -- [KeptnAppVersionStatus](#keptnappversionstatus) -- [KeptnWorkloadInstanceStatus](#keptnworkloadinstancestatus) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `definitionName` _string_ | DefinitionName is the name of the EvaluationDefinition/TaskDefinition || ✓ | | -| `status` _string_ | |Pending| ✓ | | -| `name` _string_ | Name is the name of the Evaluation/Task || ✓ | | -| `startTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | || ✓ | | -| `endTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | || ✓ | | - - -#### KeptnApp - - - -KeptnApp is the Schema for the keptnapps API - - - -_Appears in:_ -- [KeptnAppList](#keptnapplist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha2` | | | | -| `kind` _string_ | `KeptnApp` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnAppSpec](#keptnappspec)_ | || ✓ | | -| `status` _[KeptnAppStatus](#keptnappstatus)_ | || ✓ | | - - -#### KeptnAppList - - - -KeptnAppList contains a list of KeptnApp - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha2` | | | | -| `kind` _string_ | `KeptnAppList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnApp](#keptnapp) array_ | || x | | - - -#### KeptnAppSpec - - - -KeptnAppSpec defines the desired state of KeptnApp - - - -_Appears in:_ -- [KeptnApp](#keptnapp) -- [KeptnAppVersionSpec](#keptnappversionspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `version` _string_ | || x | | -| `revision` _integer_ | |1| ✓ | | -| `workloads` _[KeptnWorkloadRef](#keptnworkloadref) array_ | || ✓ | | -| `preDeploymentTasks` _string array_ | || ✓ | | -| `postDeploymentTasks` _string array_ | || ✓ | | -| `preDeploymentEvaluations` _string array_ | || ✓ | | -| `postDeploymentEvaluations` _string array_ | || ✓ | | - - -#### KeptnAppStatus - - - -KeptnAppStatus defines the observed state of KeptnApp - - - -_Appears in:_ -- [KeptnApp](#keptnapp) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `currentVersion` _string_ | || ✓ | | - - -#### KeptnAppVersion - - - -KeptnAppVersion is the Schema for the keptnappversions API - - - -_Appears in:_ -- [KeptnAppVersionList](#keptnappversionlist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha2` | | | | -| `kind` _string_ | `KeptnAppVersion` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnAppVersionSpec](#keptnappversionspec)_ | || ✓ | | -| `status` _[KeptnAppVersionStatus](#keptnappversionstatus)_ | || ✓ | | - - -#### KeptnAppVersionList - - - -KeptnAppVersionList contains a list of KeptnAppVersion - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha2` | | | | -| `kind` _string_ | `KeptnAppVersionList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnAppVersion](#keptnappversion) array_ | || x | | - - -#### KeptnAppVersionSpec - - - -KeptnAppVersionSpec defines the desired state of KeptnAppVersion - - - -_Appears in:_ -- [KeptnAppVersion](#keptnappversion) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `version` _string_ | || x | | -| `revision` _integer_ | |1| ✓ | | -| `workloads` _[KeptnWorkloadRef](#keptnworkloadref) array_ | || ✓ | | -| `preDeploymentTasks` _string array_ | || ✓ | | -| `postDeploymentTasks` _string array_ | || ✓ | | -| `preDeploymentEvaluations` _string array_ | || ✓ | | -| `postDeploymentEvaluations` _string array_ | || ✓ | | -| `appName` _string_ | || x | | -| `previousVersion` _string_ | || ✓ | | -| `traceId` _object (keys:string, values:string)_ | || ✓ | | - - -#### KeptnAppVersionStatus - - - -KeptnAppVersionStatus defines the observed state of KeptnAppVersion - - - -_Appears in:_ -- [KeptnAppVersion](#keptnappversion) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `preDeploymentStatus` _string_ | |Pending| ✓ | | -| `postDeploymentStatus` _string_ | |Pending| ✓ | | -| `preDeploymentEvaluationStatus` _string_ | |Pending| ✓ | | -| `postDeploymentEvaluationStatus` _string_ | |Pending| ✓ | | -| `workloadOverallStatus` _string_ | |Pending| ✓ | | -| `workloadStatus` _[WorkloadStatus](#workloadstatus) array_ | || ✓ | | -| `currentPhase` _string_ | || ✓ | | -| `preDeploymentTaskStatus` _[ItemStatus](#itemstatus) array_ | || ✓ | | -| `postDeploymentTaskStatus` _[ItemStatus](#itemstatus) array_ | || ✓ | | -| `preDeploymentEvaluationTaskStatus` _[ItemStatus](#itemstatus) array_ | || ✓ | | -| `postDeploymentEvaluationTaskStatus` _[ItemStatus](#itemstatus) array_ | || ✓ | | -| `phaseTraceIDs` _[MapCarrier](https://pkg.go.dev/go.opentelemetry.io/otel/propagation#MapCarrier)_ | || ✓ | | -| `status` _string_ | |Pending| ✓ | | -| `startTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | || ✓ | | -| `endTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | || ✓ | | - - -#### KeptnEvaluation - - - -KeptnEvaluation is the Schema for the keptnevaluations API - - - -_Appears in:_ -- [KeptnEvaluationList](#keptnevaluationlist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha2` | | | | -| `kind` _string_ | `KeptnEvaluation` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnEvaluationSpec](#keptnevaluationspec)_ | || ✓ | | -| `status` _[KeptnEvaluationStatus](#keptnevaluationstatus)_ | || ✓ | | - - -#### KeptnEvaluationDefinition - - - -KeptnEvaluationDefinition is the Schema for the keptnevaluationdefinitions API - - - -_Appears in:_ -- [KeptnEvaluationDefinitionList](#keptnevaluationdefinitionlist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha2` | | | | -| `kind` _string_ | `KeptnEvaluationDefinition` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnEvaluationDefinitionSpec](#keptnevaluationdefinitionspec)_ | || ✓ | | -| `status` _string_ | unused field || ✓ | | - - -#### KeptnEvaluationDefinitionList - - - -KeptnEvaluationDefinitionList contains a list of KeptnEvaluationDefinition - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha2` | | | | -| `kind` _string_ | `KeptnEvaluationDefinitionList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnEvaluationDefinition](#keptnevaluationdefinition) array_ | || x | | - - -#### KeptnEvaluationDefinitionSpec - - - -KeptnEvaluationDefinitionSpec defines the desired state of KeptnEvaluationDefinition - - - -_Appears in:_ -- [KeptnEvaluationDefinition](#keptnevaluationdefinition) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `source` _string_ | || x | | -| `objectives` _[Objective](#objective) array_ | || x | | - - -#### KeptnEvaluationList - - - -KeptnEvaluationList contains a list of KeptnEvaluation - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha2` | | | | -| `kind` _string_ | `KeptnEvaluationList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnEvaluation](#keptnevaluation) array_ | || x | | - - - - -#### KeptnEvaluationSpec - - - -KeptnEvaluationSpec defines the desired state of KeptnEvaluation - - - -_Appears in:_ -- [KeptnEvaluation](#keptnevaluation) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `workload` _string_ | || ✓ | | -| `workloadVersion` _string_ | || x | | -| `appName` _string_ | || ✓ | | -| `appVersion` _string_ | || ✓ | | -| `evaluationDefinition` _string_ | || x | | -| `retries` _integer_ | |10| ✓ | | -| `retryInterval` _[Duration](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#duration-v1-meta)_ | |5s| ✓ | Pattern: `^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$`
Type: string
| -| `failAction` _string_ | || ✓ | | -| `checkType` _string_ | || ✓ | | - - -#### KeptnEvaluationStatus - - - -KeptnEvaluationStatus defines the observed state of KeptnEvaluation - - - -_Appears in:_ -- [KeptnEvaluation](#keptnevaluation) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `retryCount` _integer_ | |0| x | | -| `evaluationStatus` _object (keys:string, values:[EvaluationStatusItem](#evaluationstatusitem))_ | || x | | -| `overallStatus` _string_ | |Pending| x | | -| `startTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | || ✓ | | -| `endTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | || ✓ | | - - -#### KeptnState - -_Underlying type:_ _string_ - -KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - - - -_Appears in:_ -- [EvaluationStatusItem](#evaluationstatusitem) -- [ItemStatus](#itemstatus) -- [KeptnAppVersionStatus](#keptnappversionstatus) -- [KeptnEvaluationStatus](#keptnevaluationstatus) -- [KeptnTaskStatus](#keptntaskstatus) -- [KeptnWorkloadInstanceStatus](#keptnworkloadinstancestatus) -- [WorkloadStatus](#workloadstatus) - - - -#### KeptnTask - - - -KeptnTask is the Schema for the keptntasks API - - - -_Appears in:_ -- [KeptnTaskList](#keptntasklist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha2` | | | | -| `kind` _string_ | `KeptnTask` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnTaskSpec](#keptntaskspec)_ | || ✓ | | -| `status` _[KeptnTaskStatus](#keptntaskstatus)_ | || ✓ | | - - -#### KeptnTaskDefinition - - - -KeptnTaskDefinition is the Schema for the keptntaskdefinitions API - - - -_Appears in:_ -- [KeptnTaskDefinitionList](#keptntaskdefinitionlist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha2` | | | | -| `kind` _string_ | `KeptnTaskDefinition` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnTaskDefinitionSpec](#keptntaskdefinitionspec)_ | || ✓ | | -| `status` _[KeptnTaskDefinitionStatus](#keptntaskdefinitionstatus)_ | || ✓ | | - - -#### KeptnTaskDefinitionList - - - -KeptnTaskDefinitionList contains a list of KeptnTaskDefinition - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha2` | | | | -| `kind` _string_ | `KeptnTaskDefinitionList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnTaskDefinition](#keptntaskdefinition) array_ | || x | | - - -#### KeptnTaskDefinitionSpec - - - -KeptnTaskDefinitionSpec defines the desired state of KeptnTaskDefinition - - - -_Appears in:_ -- [KeptnTaskDefinition](#keptntaskdefinition) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `function` _[FunctionSpec](#functionspec)_ | || ✓ | | - - -#### KeptnTaskDefinitionStatus - - - -KeptnTaskDefinitionStatus defines the observed state of KeptnTaskDefinition - - - -_Appears in:_ -- [KeptnTaskDefinition](#keptntaskdefinition) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `function` _[FunctionStatus](#functionstatus)_ | || ✓ | | - - -#### KeptnTaskList - - - -KeptnTaskList contains a list of KeptnTask - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha2` | | | | -| `kind` _string_ | `KeptnTaskList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnTask](#keptntask) array_ | || x | | - - -#### KeptnTaskSpec - - - -KeptnTaskSpec defines the desired state of KeptnTask - - - -_Appears in:_ -- [KeptnTask](#keptntask) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `workload` _string_ | || x | | -| `workloadVersion` _string_ | || x | | -| `app` _string_ | || x | | -| `appVersion` _string_ | || x | | -| `taskDefinition` _string_ | || x | | -| `context` _[TaskContext](#taskcontext)_ | || x | | -| `parameters` _[TaskParameters](#taskparameters)_ | || ✓ | | -| `secureParameters` _[SecureParameters](#secureparameters)_ | || ✓ | | -| `checkType` _string_ | || ✓ | | - - -#### KeptnTaskStatus - - - -KeptnTaskStatus defines the observed state of KeptnTask - - - -_Appears in:_ -- [KeptnTask](#keptntask) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `jobName` _string_ | || ✓ | | -| `status` _string_ | |Pending| ✓ | | -| `message` _string_ | || ✓ | | -| `startTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | || ✓ | | -| `endTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | || ✓ | | - - -#### KeptnWorkload - - - -KeptnWorkload is the Schema for the keptnworkloads API - - - -_Appears in:_ -- [KeptnWorkloadList](#keptnworkloadlist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha2` | | | | -| `kind` _string_ | `KeptnWorkload` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnWorkloadSpec](#keptnworkloadspec)_ | || ✓ | | -| `status` _[KeptnWorkloadStatus](#keptnworkloadstatus)_ | || ✓ | | - - -#### KeptnWorkloadInstance - - - -KeptnWorkloadInstance is the Schema for the keptnworkloadinstances API - - - -_Appears in:_ -- [KeptnWorkloadInstanceList](#keptnworkloadinstancelist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha2` | | | | -| `kind` _string_ | `KeptnWorkloadInstance` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnWorkloadInstanceSpec](#keptnworkloadinstancespec)_ | || ✓ | | -| `status` _[KeptnWorkloadInstanceStatus](#keptnworkloadinstancestatus)_ | || ✓ | | - - -#### KeptnWorkloadInstanceList - - - -KeptnWorkloadInstanceList contains a list of KeptnWorkloadInstance - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha2` | | | | -| `kind` _string_ | `KeptnWorkloadInstanceList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnWorkloadInstance](#keptnworkloadinstance) array_ | || x | | - - -#### KeptnWorkloadInstanceSpec - - - -KeptnWorkloadInstanceSpec defines the desired state of KeptnWorkloadInstance - - - -_Appears in:_ -- [KeptnWorkloadInstance](#keptnworkloadinstance) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `app` _string_ | || x | | -| `version` _string_ | || x | | -| `preDeploymentTasks` _string array_ | || ✓ | | -| `postDeploymentTasks` _string array_ | || ✓ | | -| `preDeploymentEvaluations` _string array_ | || ✓ | | -| `postDeploymentEvaluations` _string array_ | || ✓ | | -| `resourceReference` _[ResourceReference](#resourcereference)_ | || x | | -| `workloadName` _string_ | || x | | -| `previousVersion` _string_ | || ✓ | | -| `traceId` _object (keys:string, values:string)_ | || ✓ | | - - -#### KeptnWorkloadInstanceStatus - - - -KeptnWorkloadInstanceStatus defines the observed state of KeptnWorkloadInstance - - - -_Appears in:_ -- [KeptnWorkloadInstance](#keptnworkloadinstance) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `preDeploymentStatus` _string_ | |Pending| ✓ | | -| `deploymentStatus` _string_ | |Pending| ✓ | | -| `preDeploymentEvaluationStatus` _string_ | |Pending| ✓ | | -| `postDeploymentEvaluationStatus` _string_ | |Pending| ✓ | | -| `postDeploymentStatus` _string_ | |Pending| ✓ | | -| `preDeploymentTaskStatus` _[ItemStatus](#itemstatus) array_ | || ✓ | | -| `postDeploymentTaskStatus` _[ItemStatus](#itemstatus) array_ | || ✓ | | -| `preDeploymentEvaluationTaskStatus` _[ItemStatus](#itemstatus) array_ | || ✓ | | -| `postDeploymentEvaluationTaskStatus` _[ItemStatus](#itemstatus) array_ | || ✓ | | -| `startTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | || ✓ | | -| `endTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | || ✓ | | -| `currentPhase` _string_ | || ✓ | | -| `phaseTraceIDs` _[MapCarrier](https://pkg.go.dev/go.opentelemetry.io/otel/propagation#MapCarrier)_ | || ✓ | | -| `status` _string_ | |Pending| ✓ | | - - -#### KeptnWorkloadList - - - -KeptnWorkloadList contains a list of KeptnWorkload - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha2` | | | | -| `kind` _string_ | `KeptnWorkloadList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnWorkload](#keptnworkload) array_ | || x | | - - -#### KeptnWorkloadRef - - - - - - - -_Appears in:_ -- [KeptnAppSpec](#keptnappspec) -- [KeptnAppVersionSpec](#keptnappversionspec) -- [WorkloadStatus](#workloadstatus) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `name` _string_ | || x | | -| `version` _string_ | || x | | - - -#### KeptnWorkloadSpec - - - -KeptnWorkloadSpec defines the desired state of KeptnWorkload - - - -_Appears in:_ -- [KeptnWorkload](#keptnworkload) -- [KeptnWorkloadInstanceSpec](#keptnworkloadinstancespec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `app` _string_ | || x | | -| `version` _string_ | || x | | -| `preDeploymentTasks` _string array_ | || ✓ | | -| `postDeploymentTasks` _string array_ | || ✓ | | -| `preDeploymentEvaluations` _string array_ | || ✓ | | -| `postDeploymentEvaluations` _string array_ | || ✓ | | -| `resourceReference` _[ResourceReference](#resourcereference)_ | || x | | - - -#### KeptnWorkloadStatus - - - -KeptnWorkloadStatus defines the observed state of KeptnWorkload - - - -_Appears in:_ -- [KeptnWorkload](#keptnworkload) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `currentVersion` _string_ | || ✓ | | - - -#### Objective - - - - - - - -_Appears in:_ -- [KeptnEvaluationDefinitionSpec](#keptnevaluationdefinitionspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `name` _string_ | || x | | -| `query` _string_ | || x | | -| `evaluationTarget` _string_ | || x | | - - -#### PhaseTraceID - -_Underlying type:_ _[MapCarrier](https://pkg.go.dev/go.opentelemetry.io/otel/propagation#MapCarrier)_ - -PhaseTraceID is a map storing TraceIDs of OpenTelemetry spans in lifecycle phases - - - -_Appears in:_ -- [KeptnAppVersionStatus](#keptnappversionstatus) -- [KeptnWorkloadInstanceStatus](#keptnworkloadinstancestatus) - - - -#### ResourceReference - - - -ResourceReference represents the parent resource of Workload - - - -_Appears in:_ -- [KeptnWorkloadInstanceSpec](#keptnworkloadinstancespec) -- [KeptnWorkloadSpec](#keptnworkloadspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `uid` _string_ | || x | | -| `kind` _string_ | || x | | -| `name` _string_ | || x | | - - -#### SecureParameters - - - - - - - -_Appears in:_ -- [FunctionSpec](#functionspec) -- [KeptnTaskSpec](#keptntaskspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `secret` _string_ | || ✓ | | - - -#### TaskContext - - - - - - - -_Appears in:_ -- [KeptnTaskSpec](#keptntaskspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `workloadName` _string_ | || x | | -| `appName` _string_ | || x | | -| `appVersion` _string_ | || x | | -| `workloadVersion` _string_ | || x | | -| `taskType` _string_ | || x | | -| `objectType` _string_ | || x | | - - -#### TaskParameters - - - - - - - -_Appears in:_ -- [FunctionSpec](#functionspec) -- [KeptnTaskSpec](#keptntaskspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `map` _object (keys:string, values:string)_ | || ✓ | | - - -#### WorkloadStatus - - - - - - - -_Appears in:_ -- [KeptnAppVersionStatus](#keptnappversionstatus) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `workload` _[KeptnWorkloadRef](#keptnworkloadref)_ | || ✓ | | -| `status` _string_ | |Pending| ✓ | | - - diff --git a/docs/docs/reference/api-reference/lifecycle/v1alpha3/index.md b/docs/docs/reference/api-reference/lifecycle/v1alpha3/index.md deleted file mode 100644 index 79b1584f28..0000000000 --- a/docs/docs/reference/api-reference/lifecycle/v1alpha3/index.md +++ /dev/null @@ -1,1104 +0,0 @@ -# v1alpha3 - -Reference information for lifecycle.keptn.sh/v1alpha3 - - - -## Packages -- [lifecycle.keptn.sh/v1alpha3](#lifecyclekeptnshv1alpha3) - - -## lifecycle.keptn.sh/v1alpha3 - -Package v1alpha3 contains API Schema definitions for the lifecycle v1alpha3 API group - -### Resource Types -- [KeptnApp](#keptnapp) -- [KeptnAppCreationRequest](#keptnappcreationrequest) -- [KeptnAppCreationRequestList](#keptnappcreationrequestlist) -- [KeptnAppList](#keptnapplist) -- [KeptnAppVersion](#keptnappversion) -- [KeptnAppVersionList](#keptnappversionlist) -- [KeptnEvaluation](#keptnevaluation) -- [KeptnEvaluationDefinition](#keptnevaluationdefinition) -- [KeptnEvaluationDefinitionList](#keptnevaluationdefinitionlist) -- [KeptnEvaluationList](#keptnevaluationlist) -- [KeptnTask](#keptntask) -- [KeptnTaskDefinition](#keptntaskdefinition) -- [KeptnTaskDefinitionList](#keptntaskdefinitionlist) -- [KeptnTaskList](#keptntasklist) -- [KeptnWorkload](#keptnworkload) -- [KeptnWorkloadInstance](#keptnworkloadinstance) -- [KeptnWorkloadInstanceList](#keptnworkloadinstancelist) -- [KeptnWorkloadList](#keptnworkloadlist) - - - -#### AutomountServiceAccountTokenSpec - - - - - - - -_Appears in:_ -- [KeptnTaskDefinitionSpec](#keptntaskdefinitionspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `type` _boolean_ | || x | | - - -#### CheckType - -_Underlying type:_ _string_ - - - - - -_Appears in:_ -- [KeptnEvaluationSpec](#keptnevaluationspec) -- [KeptnTaskSpec](#keptntaskspec) - - - -#### ConfigMapReference - - - - - - - -_Appears in:_ -- [RuntimeSpec](#runtimespec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `name` _string_ | Name is the name of the referenced ConfigMap. || ✓ | | - - -#### ContainerSpec - - - - - - - -_Appears in:_ -- [KeptnTaskDefinitionSpec](#keptntaskdefinitionspec) - - - -#### EvaluationStatusItem - - - - - - - -_Appears in:_ -- [KeptnEvaluationStatus](#keptnevaluationstatus) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `value` _string_ | Value represents the value of the KeptnMetric being evaluated. || x | | -| `status` _string_ | Status indicates the status of the objective being evaluated. || x | | -| `message` _string_ | 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. || ✓ | | - - -#### FunctionReference - - - - - - - -_Appears in:_ -- [RuntimeSpec](#runtimespec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `name` _string_ | Name is the name of the referenced KeptnTaskDefinition. || ✓ | | - - -#### FunctionStatus - - - - - - - -_Appears in:_ -- [KeptnTaskDefinitionStatus](#keptntaskdefinitionstatus) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `configMap` _string_ | ConfigMap indicates the ConfigMap in which the function code is stored. || ✓ | | - - -#### HttpReference - - - - - - - -_Appears in:_ -- [RuntimeSpec](#runtimespec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `url` _string_ | Url is the URL containing the code of the function. || ✓ | | - - -#### Inline - - - - - - - -_Appears in:_ -- [RuntimeSpec](#runtimespec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `code` _string_ | Code contains the code of the function. || ✓ | | - - -#### ItemStatus - - - - - - - -_Appears in:_ -- [KeptnAppVersionStatus](#keptnappversionstatus) -- [KeptnWorkloadInstanceStatus](#keptnworkloadinstancestatus) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `definitionName` _string_ | DefinitionName is the name of the EvaluationDefinition/TaskDefinition || ✓ | | -| `status` _string_ | |Pending| ✓ | | -| `name` _string_ | Name is the name of the Evaluation/Task || ✓ | | -| `startTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | StartTime represents the time at which the Item (Evaluation/Task) started. || ✓ | | -| `endTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | EndTime represents the time at which the Item (Evaluation/Task) started. || ✓ | | - - -#### KeptnApp - - - -KeptnApp is the Schema for the keptnapps API - - - -_Appears in:_ -- [KeptnAppList](#keptnapplist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha3` | | | | -| `kind` _string_ | `KeptnApp` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnAppSpec](#keptnappspec)_ | Spec describes the desired state of the KeptnApp. || ✓ | | -| `status` _[KeptnAppStatus](#keptnappstatus)_ | Status describes the current state of the KeptnApp. || ✓ | | - - -#### KeptnAppCreationRequest - - - -KeptnAppCreationRequest is the Schema for the keptnappcreationrequests API - - - -_Appears in:_ -- [KeptnAppCreationRequestList](#keptnappcreationrequestlist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha3` | | | | -| `kind` _string_ | `KeptnAppCreationRequest` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnAppCreationRequestSpec](#keptnappcreationrequestspec)_ | Spec describes the desired state of the KeptnAppCreationRequest. || ✓ | | -| `status` _string_ | Status describes the current state of the KeptnAppCreationRequest. || ✓ | | - - -#### KeptnAppCreationRequestList - - - -KeptnAppCreationRequestList contains a list of KeptnAppCreationRequest - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha3` | | | | -| `kind` _string_ | `KeptnAppCreationRequestList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnAppCreationRequest](#keptnappcreationrequest) array_ | || x | | - - -#### KeptnAppCreationRequestSpec - - - -KeptnAppCreationRequestSpec defines the desired state of KeptnAppCreationRequest - - - -_Appears in:_ -- [KeptnAppCreationRequest](#keptnappcreationrequest) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `appName` _string_ | AppName is the name of the KeptnApp the KeptnAppCreationRequest should create if no user-defined object with that name is found. || x | | - - -#### KeptnAppList - - - -KeptnAppList contains a list of KeptnApp - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha3` | | | | -| `kind` _string_ | `KeptnAppList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnApp](#keptnapp) array_ | || x | | - - -#### KeptnAppSpec - - - -KeptnAppSpec defines the desired state of KeptnApp - - - -_Appears in:_ -- [KeptnApp](#keptnapp) -- [KeptnAppVersionSpec](#keptnappversionspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `version` _string_ | 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. || x | | -| `revision` _integer_ | 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. |1| ✓ | | -| `workloads` _[KeptnWorkloadRef](#keptnworkloadref) array_ | Workloads is a list of all KeptnWorkloads that are part of the KeptnApp. || ✓ | | -| `preDeploymentTasks` _string array_ | 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. || ✓ | | -| `postDeploymentTasks` _string array_ | 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. || ✓ | | -| `preDeploymentEvaluations` _string array_ | 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. || ✓ | | -| `postDeploymentEvaluations` _string array_ | 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. || ✓ | | - - -#### KeptnAppStatus - - - -KeptnAppStatus defines the observed state of KeptnApp - - - -_Appears in:_ -- [KeptnApp](#keptnapp) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `currentVersion` _string_ | CurrentVersion indicates the version that is currently deployed or being reconciled. || ✓ | | - - -#### KeptnAppVersion - - - -KeptnAppVersion is the Schema for the keptnappversions API - - - -_Appears in:_ -- [KeptnAppVersionList](#keptnappversionlist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha3` | | | | -| `kind` _string_ | `KeptnAppVersion` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnAppVersionSpec](#keptnappversionspec)_ | Spec describes the desired state of the KeptnAppVersion. || ✓ | | -| `status` _[KeptnAppVersionStatus](#keptnappversionstatus)_ | Status describes the current state of the KeptnAppVersion. || ✓ | | - - -#### KeptnAppVersionList - - - -KeptnAppVersionList contains a list of KeptnAppVersion - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha3` | | | | -| `kind` _string_ | `KeptnAppVersionList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnAppVersion](#keptnappversion) array_ | || x | | - - -#### KeptnAppVersionSpec - - - -KeptnAppVersionSpec defines the desired state of KeptnAppVersion - - - -_Appears in:_ -- [KeptnAppVersion](#keptnappversion) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `version` _string_ | 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. || x | | -| `revision` _integer_ | 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. |1| ✓ | | -| `workloads` _[KeptnWorkloadRef](#keptnworkloadref) array_ | Workloads is a list of all KeptnWorkloads that are part of the KeptnApp. || ✓ | | -| `preDeploymentTasks` _string array_ | 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. || ✓ | | -| `postDeploymentTasks` _string array_ | 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. || ✓ | | -| `preDeploymentEvaluations` _string array_ | 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. || ✓ | | -| `postDeploymentEvaluations` _string array_ | 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. || ✓ | | -| `appName` _string_ | AppName is the name of the KeptnApp. || x | | -| `previousVersion` _string_ | PreviousVersion is the version of the KeptnApp that has been deployed prior to this version. || ✓ | | -| `traceId` _object (keys:string, values:string)_ | TraceId contains the OpenTelemetry trace ID. || ✓ | | - - -#### KeptnAppVersionStatus - - - -KeptnAppVersionStatus defines the observed state of KeptnAppVersion - - - -_Appears in:_ -- [KeptnAppVersion](#keptnappversion) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `preDeploymentStatus` _string_ | PreDeploymentStatus indicates the current status of the KeptnAppVersion's PreDeployment phase. |Pending| ✓ | | -| `postDeploymentStatus` _string_ | PostDeploymentStatus indicates the current status of the KeptnAppVersion's PostDeployment phase. |Pending| ✓ | | -| `preDeploymentEvaluationStatus` _string_ | PreDeploymentEvaluationStatus indicates the current status of the KeptnAppVersion's PreDeploymentEvaluation phase. |Pending| ✓ | | -| `postDeploymentEvaluationStatus` _string_ | PostDeploymentEvaluationStatus indicates the current status of the KeptnAppVersion's PostDeploymentEvaluation phase. |Pending| ✓ | | -| `workloadOverallStatus` _string_ | WorkloadOverallStatus indicates the current status of the KeptnAppVersion's Workload deployment phase. |Pending| ✓ | | -| `workloadStatus` _[WorkloadStatus](#workloadstatus) array_ | WorkloadStatus contains the current status of each KeptnWorkload that is part of the KeptnAppVersion. || ✓ | | -| `currentPhase` _string_ | CurrentPhase indicates the current phase of the KeptnAppVersion. || ✓ | | -| `preDeploymentTaskStatus` _[ItemStatus](#itemstatus) array_ | PreDeploymentTaskStatus indicates the current state of each preDeploymentTask of the KeptnAppVersion. || ✓ | | -| `postDeploymentTaskStatus` _[ItemStatus](#itemstatus) array_ | PostDeploymentTaskStatus indicates the current state of each postDeploymentTask of the KeptnAppVersion. || ✓ | | -| `preDeploymentEvaluationTaskStatus` _[ItemStatus](#itemstatus) array_ | PreDeploymentEvaluationTaskStatus indicates the current state of each preDeploymentEvaluation of the KeptnAppVersion. || ✓ | | -| `postDeploymentEvaluationTaskStatus` _[ItemStatus](#itemstatus) array_ | PostDeploymentEvaluationTaskStatus indicates the current state of each postDeploymentEvaluation of the KeptnAppVersion. || ✓ | | -| `phaseTraceIDs` _[MapCarrier](https://pkg.go.dev/go.opentelemetry.io/otel/propagation#MapCarrier)_ | PhaseTraceIDs contains the trace IDs of the OpenTelemetry spans of each phase of the KeptnAppVersion. || ✓ | | -| `status` _string_ | Status represents the overall status of the KeptnAppVersion. |Pending| ✓ | | -| `startTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | StartTime represents the time at which the deployment of the KeptnAppVersion started. || ✓ | | -| `endTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | EndTime represents the time at which the deployment of the KeptnAppVersion finished. || ✓ | | - - -#### KeptnEvaluation - - - -KeptnEvaluation is the Schema for the keptnevaluations API - - - -_Appears in:_ -- [KeptnEvaluationList](#keptnevaluationlist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha3` | | | | -| `kind` _string_ | `KeptnEvaluation` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnEvaluationSpec](#keptnevaluationspec)_ | Spec describes the desired state of the KeptnEvaluation. || ✓ | | -| `status` _[KeptnEvaluationStatus](#keptnevaluationstatus)_ | Status describes the current state of the KeptnEvaluation. || ✓ | | - - -#### KeptnEvaluationDefinition - - - -KeptnEvaluationDefinition is the Schema for the keptnevaluationdefinitions API - - - -_Appears in:_ -- [KeptnEvaluationDefinitionList](#keptnevaluationdefinitionlist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha3` | | | | -| `kind` _string_ | `KeptnEvaluationDefinition` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnEvaluationDefinitionSpec](#keptnevaluationdefinitionspec)_ | Spec describes the desired state of the KeptnEvaluationDefinition. || ✓ | | -| `status` _string_ | unused field || ✓ | | - - -#### KeptnEvaluationDefinitionList - - - -KeptnEvaluationDefinitionList contains a list of KeptnEvaluationDefinition - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha3` | | | | -| `kind` _string_ | `KeptnEvaluationDefinitionList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnEvaluationDefinition](#keptnevaluationdefinition) array_ | || x | | - - -#### KeptnEvaluationDefinitionSpec - - - -KeptnEvaluationDefinitionSpec defines the desired state of KeptnEvaluationDefinition - - - -_Appears in:_ -- [KeptnEvaluationDefinition](#keptnevaluationdefinition) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `objectives` _[Objective](#objective) array_ | Objectives is a list of objectives that have to be met for a KeptnEvaluation referencing this
KeptnEvaluationDefinition to be successful. || x | | - - -#### KeptnEvaluationList - - - -KeptnEvaluationList contains a list of KeptnEvaluation - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha3` | | | | -| `kind` _string_ | `KeptnEvaluationList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnEvaluation](#keptnevaluation) array_ | || x | | - - - - -#### KeptnEvaluationSpec - - - -KeptnEvaluationSpec defines the desired state of KeptnEvaluation - - - -_Appears in:_ -- [KeptnEvaluation](#keptnevaluation) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `workload` _string_ | Workload defines the KeptnWorkload for which the KeptnEvaluation is done. || ✓ | | -| `workloadVersion` _string_ | WorkloadVersion defines the version of the KeptnWorkload for which the KeptnEvaluation is done. || x | | -| `appName` _string_ | AppName defines the KeptnApp for which the KeptnEvaluation is done. || ✓ | | -| `appVersion` _string_ | AppVersion defines the version of the KeptnApp for which the KeptnEvaluation is done. || ✓ | | -| `evaluationDefinition` _string_ | 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. || x | | -| `retries` _integer_ | 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. |10| ✓ | | -| `retryInterval` _[Duration](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#duration-v1-meta)_ | RetryInterval specifies the interval at which the KeptnEvaluation is retried in the case of an error
or a missed objective. |5s| ✓ | Pattern: `^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$`
Type: string
| -| `failAction` _string_ | || ✓ | | -| `checkType` _string_ | Type indicates whether the KeptnEvaluation is part of the pre- or postDeployment phase. || ✓ | | - - -#### KeptnEvaluationStatus - - - -KeptnEvaluationStatus defines the observed state of KeptnEvaluation - - - -_Appears in:_ -- [KeptnEvaluation](#keptnevaluation) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `retryCount` _integer_ | RetryCount indicates how many times the KeptnEvaluation has been attempted already. |0| x | | -| `evaluationStatus` _object (keys:string, values:[EvaluationStatusItem](#evaluationstatusitem))_ | EvaluationStatus describes the status of each objective of the KeptnEvaluationDefinition
referenced by the KeptnEvaluation. || x | | -| `overallStatus` _string_ | 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. |Pending| x | | -| `startTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | StartTime represents the time at which the KeptnEvaluation started. || ✓ | | -| `endTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | EndTime represents the time at which the KeptnEvaluation finished. || ✓ | | - - -#### KeptnMetricReference - - - - - - - -_Appears in:_ -- [Objective](#objective) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `name` _string_ | Name is the name of the referenced KeptnMetric. || x | | -| `namespace` _string_ | Namespace is the namespace where the referenced KeptnMetric is located. || ✓ | | - - -#### KeptnState - -_Underlying type:_ _string_ - -KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled) - - - -_Appears in:_ -- [EvaluationStatusItem](#evaluationstatusitem) -- [ItemStatus](#itemstatus) -- [KeptnAppVersionStatus](#keptnappversionstatus) -- [KeptnEvaluationStatus](#keptnevaluationstatus) -- [KeptnTaskStatus](#keptntaskstatus) -- [KeptnWorkloadInstanceStatus](#keptnworkloadinstancestatus) -- [WorkloadStatus](#workloadstatus) - - - -#### KeptnTask - - - -KeptnTask is the Schema for the keptntasks API - - - -_Appears in:_ -- [KeptnTaskList](#keptntasklist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha3` | | | | -| `kind` _string_ | `KeptnTask` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnTaskSpec](#keptntaskspec)_ | Spec describes the desired state of the KeptnTask. || ✓ | | -| `status` _[KeptnTaskStatus](#keptntaskstatus)_ | Status describes the current state of the KeptnTask. || ✓ | | - - -#### KeptnTaskDefinition - - - -KeptnTaskDefinition is the Schema for the keptntaskdefinitions API - - - -_Appears in:_ -- [KeptnTaskDefinitionList](#keptntaskdefinitionlist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha3` | | | | -| `kind` _string_ | `KeptnTaskDefinition` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnTaskDefinitionSpec](#keptntaskdefinitionspec)_ | Spec describes the desired state of the KeptnTaskDefinition. || ✓ | | -| `status` _[KeptnTaskDefinitionStatus](#keptntaskdefinitionstatus)_ | Status describes the current state of the KeptnTaskDefinition. || ✓ | | - - -#### KeptnTaskDefinitionList - - - -KeptnTaskDefinitionList contains a list of KeptnTaskDefinition - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha3` | | | | -| `kind` _string_ | `KeptnTaskDefinitionList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnTaskDefinition](#keptntaskdefinition) array_ | || x | | - - -#### KeptnTaskDefinitionSpec - - - -KeptnTaskDefinitionSpec defines the desired state of KeptnTaskDefinition - - - -_Appears in:_ -- [KeptnTaskDefinition](#keptntaskdefinition) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `function` _[RuntimeSpec](#runtimespec)_ | Deprecated
Function contains the definition for the function that is to be executed in KeptnTasks. || ✓ | | -| `python` _[RuntimeSpec](#runtimespec)_ | Python contains the definition for the python function that is to be executed in KeptnTasks. || ✓ | | -| `deno` _[RuntimeSpec](#runtimespec)_ | Deno contains the definition for the Deno function that is to be executed in KeptnTasks. || ✓ | | -| `container` _[ContainerSpec](#containerspec)_ | Container contains the definition for the container that is to be used in Job. || ✓ | | -| `retries` _integer_ | Retries specifies how many times a job executing the KeptnTaskDefinition should be restarted in the case
of an unsuccessful attempt. |10| ✓ | | -| `timeout` _[Duration](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#duration-v1-meta)_ | 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. |5m| ✓ | Pattern: `^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$`
Type: string
| -| `serviceAccount` _[ServiceAccountSpec](#serviceaccountspec)_ | ServiceAccount specifies the service account to be used in jobs to authenticate with the Kubernetes API and access cluster resources. || ✓ | | -| `automountServiceAccountToken` _[AutomountServiceAccountTokenSpec](#automountserviceaccounttokenspec)_ | AutomountServiceAccountToken allows to enable K8s to assign cluster API credentials to a pod, if set to false
the pod will decline the service account || ✓ | | -| `ttlSecondsAfterFinished` _integer_ | 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. |300| ✓ | | -| `imagePullSecrets` _[LocalObjectReference](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#localobjectreference-v1-core) array_ | ImagePullSecrets is an optional field to specify the names of secrets to use for pulling container images || ✓ | | - - -#### KeptnTaskDefinitionStatus - - - -KeptnTaskDefinitionStatus defines the observed state of KeptnTaskDefinition - - - -_Appears in:_ -- [KeptnTaskDefinition](#keptntaskdefinition) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `function` _[FunctionStatus](#functionstatus)_ | Function contains status information of the function definition for the task. || ✓ | | - - -#### KeptnTaskList - - - -KeptnTaskList contains a list of KeptnTask - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha3` | | | | -| `kind` _string_ | `KeptnTaskList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnTask](#keptntask) array_ | || x | | - - -#### KeptnTaskSpec - - - -KeptnTaskSpec defines the desired state of KeptnTask - - - -_Appears in:_ -- [KeptnTask](#keptntask) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `taskDefinition` _string_ | 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. || x | | -| `context` _[TaskContext](#taskcontext)_ | Context contains contextual information about the task execution. || ✓ | | -| `parameters` _[TaskParameters](#taskparameters)_ | Parameters contains parameters that will be passed to the job that executes the task. || ✓ | | -| `secureParameters` _[SecureParameters](#secureparameters)_ | 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. || ✓ | | -| `checkType` _string_ | Type indicates whether the KeptnTask is part of the pre- or postDeployment phase. || ✓ | | -| `retries` _integer_ | Retries indicates how many times the KeptnTask can be attempted in the case of an error
before considering the KeptnTask to be failed. |10| ✓ | | -| `timeout` _[Duration](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#duration-v1-meta)_ | 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. |5m| ✓ | Pattern: `^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$`
Type: string
| - - -#### KeptnTaskStatus - - - -KeptnTaskStatus defines the observed state of KeptnTask - - - -_Appears in:_ -- [KeptnTask](#keptntask) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `jobName` _string_ | JobName is the name of the Job executing the Task. || ✓ | | -| `status` _string_ | Status represents the overall state of the KeptnTask. |Pending| ✓ | | -| `message` _string_ | Message contains information about unexpected errors encountered during the execution of the KeptnTask. || ✓ | | -| `startTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | StartTime represents the time at which the KeptnTask started. || ✓ | | -| `endTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | EndTime represents the time at which the KeptnTask finished. || ✓ | | -| `reason` _string_ | Reason contains more information about the reason for the last transition of the Job executing the KeptnTask. || ✓ | | - - -#### KeptnWorkload - - - -KeptnWorkload is the Schema for the keptnworkloads API - - - -_Appears in:_ -- [KeptnWorkloadList](#keptnworkloadlist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha3` | | | | -| `kind` _string_ | `KeptnWorkload` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnWorkloadSpec](#keptnworkloadspec)_ | Spec describes the desired state of the KeptnWorkload. || ✓ | | -| `status` _[KeptnWorkloadStatus](#keptnworkloadstatus)_ | Status describes the current state of the KeptnWorkload. || ✓ | | - - -#### KeptnWorkloadInstance - - - -KeptnWorkloadInstance is the Schema for the keptnworkloadinstances API - - - -_Appears in:_ -- [KeptnWorkloadInstanceList](#keptnworkloadinstancelist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha3` | | | | -| `kind` _string_ | `KeptnWorkloadInstance` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnWorkloadInstanceSpec](#keptnworkloadinstancespec)_ | Spec describes the desired state of the KeptnWorkloadInstance. || ✓ | | -| `status` _[KeptnWorkloadInstanceStatus](#keptnworkloadinstancestatus)_ | Status describes the current state of the KeptnWorkloadInstance. || ✓ | | - - -#### KeptnWorkloadInstanceList - - - -KeptnWorkloadInstanceList contains a list of KeptnWorkloadInstance - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha3` | | | | -| `kind` _string_ | `KeptnWorkloadInstanceList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnWorkloadInstance](#keptnworkloadinstance) array_ | || x | | - - -#### KeptnWorkloadInstanceSpec - - - -KeptnWorkloadInstanceSpec defines the desired state of KeptnWorkloadInstance - - - -_Appears in:_ -- [KeptnWorkloadInstance](#keptnworkloadinstance) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `app` _string_ | AppName is the name of the KeptnApp containing the KeptnWorkload. || x | | -| `version` _string_ | Version defines the version of the KeptnWorkload. || x | | -| `preDeploymentTasks` _string array_ | 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. || ✓ | | -| `postDeploymentTasks` _string array_ | 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. || ✓ | | -| `preDeploymentEvaluations` _string array_ | 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. || ✓ | | -| `postDeploymentEvaluations` _string array_ | 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. || ✓ | | -| `resourceReference` _[ResourceReference](#resourcereference)_ | ResourceReference is a reference to the Kubernetes resource
(Deployment, DaemonSet, StatefulSet or ReplicaSet) the KeptnWorkload is representing. || x | | -| `workloadName` _string_ | WorkloadName is the name of the KeptnWorkload. || x | | -| `previousVersion` _string_ | PreviousVersion is the version of the KeptnWorkload that has been deployed prior to this version. || ✓ | | -| `traceId` _object (keys:string, values:string)_ | TraceId contains the OpenTelemetry trace ID. || ✓ | | - - -#### KeptnWorkloadInstanceStatus - - - -KeptnWorkloadInstanceStatus defines the observed state of KeptnWorkloadInstance - - - -_Appears in:_ -- [KeptnWorkloadInstance](#keptnworkloadinstance) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `preDeploymentStatus` _string_ | PreDeploymentStatus indicates the current status of the KeptnWorkloadInstance's PreDeployment phase. |Pending| ✓ | | -| `deploymentStatus` _string_ | DeploymentStatus indicates the current status of the KeptnWorkloadInstance's Deployment phase. |Pending| ✓ | | -| `preDeploymentEvaluationStatus` _string_ | PreDeploymentEvaluationStatus indicates the current status of the KeptnWorkloadInstance's PreDeploymentEvaluation phase. |Pending| ✓ | | -| `postDeploymentEvaluationStatus` _string_ | PostDeploymentEvaluationStatus indicates the current status of the KeptnWorkloadInstance's PostDeploymentEvaluation phase. |Pending| ✓ | | -| `postDeploymentStatus` _string_ | PostDeploymentStatus indicates the current status of the KeptnWorkloadInstance's PostDeployment phase. |Pending| ✓ | | -| `preDeploymentTaskStatus` _[ItemStatus](#itemstatus) array_ | PreDeploymentTaskStatus indicates the current state of each preDeploymentTask of the KeptnWorkloadInstance. || ✓ | | -| `postDeploymentTaskStatus` _[ItemStatus](#itemstatus) array_ | PostDeploymentTaskStatus indicates the current state of each postDeploymentTask of the KeptnWorkloadInstance. || ✓ | | -| `preDeploymentEvaluationTaskStatus` _[ItemStatus](#itemstatus) array_ | PreDeploymentEvaluationTaskStatus indicates the current state of each preDeploymentEvaluation of the KeptnWorkloadInstance. || ✓ | | -| `postDeploymentEvaluationTaskStatus` _[ItemStatus](#itemstatus) array_ | PostDeploymentEvaluationTaskStatus indicates the current state of each postDeploymentEvaluation of the KeptnWorkloadInstance. || ✓ | | -| `startTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | StartTime represents the time at which the deployment of the KeptnWorkloadInstance started. || ✓ | | -| `endTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | EndTime represents the time at which the deployment of the KeptnWorkloadInstance finished. || ✓ | | -| `currentPhase` _string_ | CurrentPhase indicates the current phase of the KeptnWorkloadInstance. This can be:
- PreDeploymentTasks
- PreDeploymentEvaluations
- Deployment
- PostDeploymentTasks
- PostDeploymentEvaluations || ✓ | | -| `phaseTraceIDs` _[MapCarrier](https://pkg.go.dev/go.opentelemetry.io/otel/propagation#MapCarrier)_ | PhaseTraceIDs contains the trace IDs of the OpenTelemetry spans of each phase of the KeptnWorkloadInstance || ✓ | | -| `status` _string_ | Status represents the overall status of the KeptnWorkloadInstance. |Pending| ✓ | | - - -#### KeptnWorkloadList - - - -KeptnWorkloadList contains a list of KeptnWorkload - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha3` | | | | -| `kind` _string_ | `KeptnWorkloadList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnWorkload](#keptnworkload) array_ | || x | | - - -#### KeptnWorkloadRef - - - -KeptnWorkloadRef refers to a KeptnWorkload that is part of a KeptnApp - - - -_Appears in:_ -- [KeptnAppSpec](#keptnappspec) -- [KeptnAppVersionSpec](#keptnappversionspec) -- [WorkloadStatus](#workloadstatus) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `name` _string_ | Name is the name of the KeptnWorkload. || x | | -| `version` _string_ | Version is the version of the KeptnWorkload. || x | | - - -#### KeptnWorkloadSpec - - - -KeptnWorkloadSpec defines the desired state of KeptnWorkload - - - -_Appears in:_ -- [KeptnWorkload](#keptnworkload) -- [KeptnWorkloadInstanceSpec](#keptnworkloadinstancespec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `app` _string_ | AppName is the name of the KeptnApp containing the KeptnWorkload. || x | | -| `version` _string_ | Version defines the version of the KeptnWorkload. || x | | -| `preDeploymentTasks` _string array_ | 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. || ✓ | | -| `postDeploymentTasks` _string array_ | 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. || ✓ | | -| `preDeploymentEvaluations` _string array_ | 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. || ✓ | | -| `postDeploymentEvaluations` _string array_ | 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. || ✓ | | -| `resourceReference` _[ResourceReference](#resourcereference)_ | ResourceReference is a reference to the Kubernetes resource
(Deployment, DaemonSet, StatefulSet or ReplicaSet) the KeptnWorkload is representing. || x | | - - -#### KeptnWorkloadStatus - - - -KeptnWorkloadStatus defines the observed state of KeptnWorkload - - - -_Appears in:_ -- [KeptnWorkload](#keptnworkload) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `currentVersion` _string_ | CurrentVersion indicates the version that is currently deployed or being reconciled. || ✓ | | - - -#### Objective - - - - - - - -_Appears in:_ -- [KeptnEvaluationDefinitionSpec](#keptnevaluationdefinitionspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `keptnMetricRef` _[KeptnMetricReference](#keptnmetricreference)_ | KeptnMetricRef references the KeptnMetric that should be evaluated. || x | | -| `evaluationTarget` _string_ | EvaluationTarget specifies the target value for the references KeptnMetric.
Needs to start with either '<' or '>', followed by the target value (e.g. '<10'). || x | | - - -#### PhaseTraceID - -_Underlying type:_ _[MapCarrier](https://pkg.go.dev/go.opentelemetry.io/otel/propagation#MapCarrier)_ - -PhaseTraceID is a map storing TraceIDs of OpenTelemetry spans in lifecycle phases - - - -_Appears in:_ -- [KeptnAppVersionStatus](#keptnappversionstatus) -- [KeptnWorkloadInstanceStatus](#keptnworkloadinstancestatus) - - - -#### ResourceReference - - - -ResourceReference represents the parent resource of Workload - - - -_Appears in:_ -- [KeptnWorkloadInstanceSpec](#keptnworkloadinstancespec) -- [KeptnWorkloadSpec](#keptnworkloadspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `uid` _string_ | || x | | -| `kind` _string_ | || x | | -| `name` _string_ | || x | | - - -#### RuntimeSpec - - - - - - - -_Appears in:_ -- [KeptnTaskDefinitionSpec](#keptntaskdefinitionspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `functionRef` _[FunctionReference](#functionreference)_ | 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. || ✓ | | -| `inline` _[Inline](#inline)_ | Inline allows to specify the code that should be executed directly in the KeptnTaskDefinition, as a multi-line
string. || ✓ | | -| `httpRef` _[HttpReference](#httpreference)_ | HttpReference allows to point to an HTTP URL containing the code of the function. || ✓ | | -| `configMapRef` _[ConfigMapReference](#configmapreference)_ | 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. || ✓ | | -| `parameters` _[TaskParameters](#taskparameters)_ | Parameters contains parameters that will be passed to the job that executes the task as env variables. || ✓ | | -| `secureParameters` _[SecureParameters](#secureparameters)_ | 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. || ✓ | | -| `cmdParameters` _string_ | CmdParameters contains parameters that will be passed to the command || ✓ | | - - -#### SecureParameters - - - - - - - -_Appears in:_ -- [KeptnTaskSpec](#keptntaskspec) -- [RuntimeSpec](#runtimespec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `secret` _string_ | 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. || ✓ | | - - -#### ServiceAccountSpec - - - - - - - -_Appears in:_ -- [KeptnTaskDefinitionSpec](#keptntaskdefinitionspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `name` _string_ | || x | | - - -#### TaskContext - - - - - - - -_Appears in:_ -- [KeptnTaskSpec](#keptntaskspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `workloadName` _string_ | WorkloadName the name of the KeptnWorkload the KeptnTask is being executed for. || ✓ | | -| `appName` _string_ | AppName the name of the KeptnApp the KeptnTask is being executed for. || ✓ | | -| `appVersion` _string_ | AppVersion the version of the KeptnApp the KeptnTask is being executed for. || ✓ | | -| `workloadVersion` _string_ | WorkloadVersion the version of the KeptnWorkload the KeptnTask is being executed for. || ✓ | | -| `taskType` _string_ | TaskType indicates whether the KeptnTask is part of the pre- or postDeployment phase. || ✓ | | -| `objectType` _string_ | ObjectType indicates whether the KeptnTask is being executed for a KeptnApp or KeptnWorkload. || ✓ | | - - -#### TaskParameters - - - - - - - -_Appears in:_ -- [KeptnTaskSpec](#keptntaskspec) -- [RuntimeSpec](#runtimespec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `map` _object (keys:string, values: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. || ✓ | | - - -#### WorkloadStatus - - - - - - - -_Appears in:_ -- [KeptnAppVersionStatus](#keptnappversionstatus) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `workload` _[KeptnWorkloadRef](#keptnworkloadref)_ | Workload refers to a KeptnWorkload that is part of the KeptnAppVersion. || ✓ | | -| `status` _string_ | Status indicates the current status of the KeptnWorkload. |Pending| ✓ | | - - diff --git a/docs/docs/reference/api-reference/lifecycle/v1alpha4/index.md b/docs/docs/reference/api-reference/lifecycle/v1alpha4/index.md deleted file mode 100644 index 893eddb0af..0000000000 --- a/docs/docs/reference/api-reference/lifecycle/v1alpha4/index.md +++ /dev/null @@ -1,112 +0,0 @@ -# v1alpha4 - -Reference information for lifecycle.keptn.sh/v1alpha4 - - - -## Packages -- [lifecycle.keptn.sh/v1alpha4](#lifecyclekeptnshv1alpha4) - - -## lifecycle.keptn.sh/v1alpha4 - -Package v1alpha4 contains API Schema definitions for the lifecycle v1alpha4 API group - -### Resource Types -- [KeptnWorkloadVersion](#keptnworkloadversion) -- [KeptnWorkloadVersionList](#keptnworkloadversionlist) - - - -#### KeptnWorkloadVersion - - - -KeptnWorkloadVersion is the Schema for the keptnworkloadversions API - - - -_Appears in:_ -- [KeptnWorkloadVersionList](#keptnworkloadversionlist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha4` | | | | -| `kind` _string_ | `KeptnWorkloadVersion` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnWorkloadVersionSpec](#keptnworkloadversionspec)_ | Spec describes the desired state of the KeptnWorkloadVersion. || ✓ | | -| `status` _[KeptnWorkloadVersionStatus](#keptnworkloadversionstatus)_ | Status describes the current state of the KeptnWorkloadVersion. || ✓ | | - - -#### KeptnWorkloadVersionList - - - -KeptnWorkloadVersionList contains a list of KeptnWorkloadVersion - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1alpha4` | | | | -| `kind` _string_ | `KeptnWorkloadVersionList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnWorkloadVersion](#keptnworkloadversion) array_ | || x | | - - -#### KeptnWorkloadVersionSpec - - - -KeptnWorkloadVersionSpec defines the desired state of KeptnWorkloadVersion - - - -_Appears in:_ -- [KeptnWorkloadVersion](#keptnworkloadversion) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `app` _string_ | AppName is the name of the KeptnApp containing the KeptnWorkload. || x | | -| `version` _string_ | Version defines the version of the KeptnWorkload. || x | | -| `preDeploymentTasks` _string array_ | 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. || ✓ | | -| `postDeploymentTasks` _string array_ | 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. || ✓ | | -| `preDeploymentEvaluations` _string array_ | 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. || ✓ | | -| `postDeploymentEvaluations` _string array_ | 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. || ✓ | | -| `resourceReference` _[ResourceReference](../v1alpha3/index.md#resourcereference)_ | ResourceReference is a reference to the Kubernetes resource
(Deployment, DaemonSet, StatefulSet or ReplicaSet) the KeptnWorkload is representing. || x | | -| `workloadName` _string_ | WorkloadName is the name of the KeptnWorkload. || x | | -| `previousVersion` _string_ | PreviousVersion is the version of the KeptnWorkload that has been deployed prior to this version. || ✓ | | -| `traceId` _object (keys:string, values:string)_ | TraceId contains the OpenTelemetry trace ID. || ✓ | | - - -#### KeptnWorkloadVersionStatus - - - -KeptnWorkloadVersionStatus defines the observed state of KeptnWorkloadVersion - - - -_Appears in:_ -- [KeptnWorkloadVersion](#keptnworkloadversion) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `preDeploymentStatus` _string_ | PreDeploymentStatus indicates the current status of the KeptnWorkloadVersion's PreDeployment phase. |Pending| ✓ | | -| `deploymentStatus` _string_ | DeploymentStatus indicates the current status of the KeptnWorkloadVersion's Deployment phase. |Pending| ✓ | | -| `preDeploymentEvaluationStatus` _string_ | PreDeploymentEvaluationStatus indicates the current status of the KeptnWorkloadVersion's PreDeploymentEvaluation phase. |Pending| ✓ | | -| `postDeploymentEvaluationStatus` _string_ | PostDeploymentEvaluationStatus indicates the current status of the KeptnWorkloadVersion's PostDeploymentEvaluation phase. |Pending| ✓ | | -| `postDeploymentStatus` _string_ | PostDeploymentStatus indicates the current status of the KeptnWorkloadVersion's PostDeployment phase. |Pending| ✓ | | -| `preDeploymentTaskStatus` _[ItemStatus](../v1alpha3/index.md#itemstatus) array_ | PreDeploymentTaskStatus indicates the current state of each preDeploymentTask of the KeptnWorkloadVersion. || ✓ | | -| `postDeploymentTaskStatus` _[ItemStatus](../v1alpha3/index.md#itemstatus) array_ | PostDeploymentTaskStatus indicates the current state of each postDeploymentTask of the KeptnWorkloadVersion. || ✓ | | -| `preDeploymentEvaluationTaskStatus` _[ItemStatus](../v1alpha3/index.md#itemstatus) array_ | PreDeploymentEvaluationTaskStatus indicates the current state of each preDeploymentEvaluation of the KeptnWorkloadVersion. || ✓ | | -| `postDeploymentEvaluationTaskStatus` _[ItemStatus](../v1alpha3/index.md#itemstatus) array_ | PostDeploymentEvaluationTaskStatus indicates the current state of each postDeploymentEvaluation of the KeptnWorkloadVersion. || ✓ | | -| `startTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | StartTime represents the time at which the deployment of the KeptnWorkloadVersion started. || ✓ | | -| `endTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | EndTime represents the time at which the deployment of the KeptnWorkloadVersion finished. || ✓ | | -| `currentPhase` _string_ | CurrentPhase indicates the current phase of the KeptnWorkloadVersion. This can be:
- PreDeploymentTasks
- PreDeploymentEvaluations
- Deployment
- PostDeploymentTasks
- PostDeploymentEvaluations || ✓ | | -| `phaseTraceIDs` _[MapCarrier](https://pkg.go.dev/go.opentelemetry.io/otel/propagation#MapCarrier)_ | PhaseTraceIDs contains the trace IDs of the OpenTelemetry spans of each phase of the KeptnWorkloadVersion || ✓ | | -| `status` _string_ | Status represents the overall status of the KeptnWorkloadVersion. |Pending| ✓ | | - - diff --git a/docs/docs/reference/api-reference/lifecycle/v1beta1/index.md b/docs/docs/reference/api-reference/lifecycle/v1beta1/index.md deleted file mode 100644 index db9711b1ae..0000000000 --- a/docs/docs/reference/api-reference/lifecycle/v1beta1/index.md +++ /dev/null @@ -1,1228 +0,0 @@ -# v1beta1 - -Reference information for lifecycle.keptn.sh/v1beta1 - - - -## Packages -- [lifecycle.keptn.sh/v1beta1](#lifecyclekeptnshv1beta1) - - -## lifecycle.keptn.sh/v1beta1 - -Package v1beta1 contains API Schema definitions for the lifecycle v1beta1 API group - -### Resource Types -- [KeptnApp](#keptnapp) -- [KeptnAppContext](#keptnappcontext) -- [KeptnAppContextList](#keptnappcontextlist) -- [KeptnAppCreationRequest](#keptnappcreationrequest) -- [KeptnAppCreationRequestList](#keptnappcreationrequestlist) -- [KeptnAppList](#keptnapplist) -- [KeptnAppVersion](#keptnappversion) -- [KeptnAppVersionList](#keptnappversionlist) -- [KeptnEvaluation](#keptnevaluation) -- [KeptnEvaluationDefinition](#keptnevaluationdefinition) -- [KeptnEvaluationDefinitionList](#keptnevaluationdefinitionlist) -- [KeptnEvaluationList](#keptnevaluationlist) -- [KeptnTask](#keptntask) -- [KeptnTaskDefinition](#keptntaskdefinition) -- [KeptnTaskDefinitionList](#keptntaskdefinitionlist) -- [KeptnTaskList](#keptntasklist) -- [KeptnWorkload](#keptnworkload) -- [KeptnWorkloadList](#keptnworkloadlist) -- [KeptnWorkloadVersion](#keptnworkloadversion) -- [KeptnWorkloadVersionList](#keptnworkloadversionlist) - - - -#### AutomountServiceAccountTokenSpec - - - - - - - -_Appears in:_ -- [KeptnTaskDefinitionSpec](#keptntaskdefinitionspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `type` _boolean_ | || x | | - - -#### CheckType - -_Underlying type:_ _string_ - - - - - -_Appears in:_ -- [KeptnEvaluationSpec](#keptnevaluationspec) -- [KeptnTaskSpec](#keptntaskspec) - - - -#### ConfigMapReference - - - - - - - -_Appears in:_ -- [RuntimeSpec](#runtimespec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `name` _string_ | Name is the name of the referenced ConfigMap. || ✓ | | - - -#### ContainerSpec - - - - - - - -_Appears in:_ -- [KeptnTaskDefinitionSpec](#keptntaskdefinitionspec) - - - -#### DeploymentTaskSpec - - - - - - - -_Appears in:_ -- [KeptnAppContextSpec](#keptnappcontextspec) -- [KeptnAppVersionSpec](#keptnappversionspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `preDeploymentTasks` _string array_ | 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. || x | | -| `postDeploymentTasks` _string array_ | 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. || x | | -| `preDeploymentEvaluations` _string array_ | 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. || x | | -| `postDeploymentEvaluations` _string array_ | 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. || x | | -| `promotionTasks` _string array_ | 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. || x | | - - -#### EvaluationStatusItem - - - - - - - -_Appears in:_ -- [KeptnEvaluationStatus](#keptnevaluationstatus) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `value` _string_ | Value represents the value of the KeptnMetric being evaluated. || x | | -| `status` _string_ | Status indicates the status of the objective being evaluated. || x | | -| `message` _string_ | 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. || ✓ | | - - -#### FailureConditions - - - -FailureConditions represent the failure conditions (number of retries and retry interval) -for the evaluation to be considered as failed - - - -_Appears in:_ -- [KeptnEvaluationDefinitionSpec](#keptnevaluationdefinitionspec) -- [KeptnEvaluationSpec](#keptnevaluationspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `retries` _integer_ | 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. |10| ✓ | | -| `retryInterval` _[Duration](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#duration-v1-meta)_ | RetryInterval specifies the interval at which the KeptnEvaluation is retried in the case of an error
or a missed objective. |5s| ✓ | Pattern: `^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$`
Type: string
| - - -#### FunctionReference - - - - - - - -_Appears in:_ -- [RuntimeSpec](#runtimespec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `name` _string_ | Name is the name of the referenced KeptnTaskDefinition. || ✓ | | - - -#### FunctionStatus - - - - - - - -_Appears in:_ -- [KeptnTaskDefinitionStatus](#keptntaskdefinitionstatus) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `configMap` _string_ | ConfigMap indicates the ConfigMap in which the function code is stored. || ✓ | | - - -#### HttpReference - - - - - - - -_Appears in:_ -- [RuntimeSpec](#runtimespec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `url` _string_ | Url is the URL containing the code of the function. || ✓ | | - - -#### Inline - - - - - - - -_Appears in:_ -- [RuntimeSpec](#runtimespec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `code` _string_ | Code contains the code of the function. || ✓ | | - - -#### ItemStatus - - - - - - - -_Appears in:_ -- [KeptnAppVersionStatus](#keptnappversionstatus) -- [KeptnWorkloadVersionStatus](#keptnworkloadversionstatus) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `definitionName` _string_ | DefinitionName is the name of the EvaluationDefinition/TaskDefinition || ✓ | | -| `status` _string_ | |Pending| ✓ | | -| `name` _string_ | Name is the name of the Evaluation/Task || ✓ | | -| `startTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | StartTime represents the time at which the Item (Evaluation/Task) started. || ✓ | | -| `endTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | EndTime represents the time at which the Item (Evaluation/Task) started. || ✓ | | - - -#### KeptnApp - - - -KeptnApp is the Schema for the keptnapps API - - - -_Appears in:_ -- [KeptnAppList](#keptnapplist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1beta1` | | | | -| `kind` _string_ | `KeptnApp` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnAppSpec](#keptnappspec)_ | Spec describes the desired state of the KeptnApp. || ✓ | | -| `status` _[KeptnAppStatus](#keptnappstatus)_ | Status describes the current state of the KeptnApp. || ✓ | | - - -#### KeptnAppContext - - - -KeptnAppContext is the Schema for the keptnappcontexts API - - - -_Appears in:_ -- [KeptnAppContextList](#keptnappcontextlist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1beta1` | | | | -| `kind` _string_ | `KeptnAppContext` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || x | | -| `spec` _[KeptnAppContextSpec](#keptnappcontextspec)_ | || x | | -| `status` _[KeptnAppContextStatus](#keptnappcontextstatus)_ | || x | | - - -#### KeptnAppContextList - - - -KeptnAppContextList contains a list of KeptnAppContext - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1beta1` | | | | -| `kind` _string_ | `KeptnAppContextList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || x | | -| `items` _[KeptnAppContext](#keptnappcontext) array_ | || x | | - - -#### KeptnAppContextSpec - - - -KeptnAppContextSpec defines the desired state of KeptnAppContext - - - -_Appears in:_ -- [KeptnAppContext](#keptnappcontext) -- [KeptnAppVersionSpec](#keptnappversionspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `preDeploymentTasks` _string array_ | 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. || x | | -| `postDeploymentTasks` _string array_ | 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. || x | | -| `preDeploymentEvaluations` _string array_ | 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. || x | | -| `postDeploymentEvaluations` _string array_ | 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. || x | | -| `promotionTasks` _string array_ | 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. || x | | -| `metadata` _object (keys:string, values:string)_ | Metadata contains additional key-value pairs for contextual information. || ✓ | | -| `spanLinks` _string array_ | 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 || ✓ | | - - -#### KeptnAppContextStatus - - - -KeptnAppContextStatus defines the observed state of KeptnAppContext - - - -_Appears in:_ -- [KeptnAppContext](#keptnappcontext) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `status` _string_ | unused field || ✓ | | - - -#### KeptnAppCreationRequest - - - -KeptnAppCreationRequest is the Schema for the keptnappcreationrequests API - - - -_Appears in:_ -- [KeptnAppCreationRequestList](#keptnappcreationrequestlist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1beta1` | | | | -| `kind` _string_ | `KeptnAppCreationRequest` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnAppCreationRequestSpec](#keptnappcreationrequestspec)_ | Spec describes the desired state of the KeptnAppCreationRequest. || ✓ | | -| `status` _string_ | Status describes the current state of the KeptnAppCreationRequest. || ✓ | | - - -#### KeptnAppCreationRequestList - - - -KeptnAppCreationRequestList contains a list of KeptnAppCreationRequest - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1beta1` | | | | -| `kind` _string_ | `KeptnAppCreationRequestList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnAppCreationRequest](#keptnappcreationrequest) array_ | || x | | - - -#### KeptnAppCreationRequestSpec - - - -KeptnAppCreationRequestSpec defines the desired state of KeptnAppCreationRequest - - - -_Appears in:_ -- [KeptnAppCreationRequest](#keptnappcreationrequest) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `appName` _string_ | AppName is the name of the KeptnApp the KeptnAppCreationRequest should create if no user-defined object with that name is found. || x | | - - -#### KeptnAppList - - - -KeptnAppList contains a list of KeptnApp - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1beta1` | | | | -| `kind` _string_ | `KeptnAppList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnApp](#keptnapp) array_ | || x | | - - -#### KeptnAppSpec - - - -KeptnAppSpec defines the desired state of KeptnApp - - - -_Appears in:_ -- [KeptnApp](#keptnapp) -- [KeptnAppVersionSpec](#keptnappversionspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `version` _string_ | 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. || x | | -| `revision` _integer_ | 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. |1| ✓ | | -| `workloads` _[KeptnWorkloadRef](#keptnworkloadref) array_ | Workloads is a list of all KeptnWorkloads that are part of the KeptnApp. || ✓ | | - - -#### KeptnAppStatus - - - -KeptnAppStatus defines the observed state of KeptnApp - - - -_Appears in:_ -- [KeptnApp](#keptnapp) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `currentVersion` _string_ | CurrentVersion indicates the version that is currently deployed or being reconciled. || ✓ | | - - -#### KeptnAppVersion - - - -KeptnAppVersion is the Schema for the keptnappversions API - - - -_Appears in:_ -- [KeptnAppVersionList](#keptnappversionlist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1beta1` | | | | -| `kind` _string_ | `KeptnAppVersion` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnAppVersionSpec](#keptnappversionspec)_ | Spec describes the desired state of the KeptnAppVersion. || ✓ | | -| `status` _[KeptnAppVersionStatus](#keptnappversionstatus)_ | Status describes the current state of the KeptnAppVersion. || ✓ | | - - -#### KeptnAppVersionList - - - -KeptnAppVersionList contains a list of KeptnAppVersion - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1beta1` | | | | -| `kind` _string_ | `KeptnAppVersionList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnAppVersion](#keptnappversion) array_ | || x | | - - -#### KeptnAppVersionSpec - - - -KeptnAppVersionSpec defines the desired state of KeptnAppVersion - - - -_Appears in:_ -- [KeptnAppVersion](#keptnappversion) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `preDeploymentTasks` _string array_ | 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. || x | | -| `postDeploymentTasks` _string array_ | 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. || x | | -| `preDeploymentEvaluations` _string array_ | 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. || x | | -| `postDeploymentEvaluations` _string array_ | 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. || x | | -| `promotionTasks` _string array_ | 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. || x | | -| `metadata` _object (keys:string, values:string)_ | Metadata contains additional key-value pairs for contextual information. || ✓ | | -| `spanLinks` _string array_ | 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 || ✓ | | -| `version` _string_ | 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. || x | | -| `revision` _integer_ | 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. |1| ✓ | | -| `workloads` _[KeptnWorkloadRef](#keptnworkloadref) array_ | Workloads is a list of all KeptnWorkloads that are part of the KeptnApp. || ✓ | | -| `appName` _string_ | AppName is the name of the KeptnApp. || x | | -| `previousVersion` _string_ | PreviousVersion is the version of the KeptnApp that has been deployed prior to this version. || ✓ | | -| `traceId` _object (keys:string, values:string)_ | TraceId contains the OpenTelemetry trace ID. || ✓ | | - - -#### KeptnAppVersionStatus - - - -KeptnAppVersionStatus defines the observed state of KeptnAppVersion - - - -_Appears in:_ -- [KeptnAppVersion](#keptnappversion) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `preDeploymentStatus` _string_ | PreDeploymentStatus indicates the current status of the KeptnAppVersion's PreDeployment phase. |Pending| ✓ | | -| `postDeploymentStatus` _string_ | PostDeploymentStatus indicates the current status of the KeptnAppVersion's PostDeployment phase. |Pending| ✓ | | -| `promotionStatus` _string_ | PromotionStatus indicates the current status of the KeptnAppVersion's Promotion phase. |Pending| ✓ | | -| `preDeploymentEvaluationStatus` _string_ | PreDeploymentEvaluationStatus indicates the current status of the KeptnAppVersion's PreDeploymentEvaluation phase. |Pending| ✓ | | -| `postDeploymentEvaluationStatus` _string_ | PostDeploymentEvaluationStatus indicates the current status of the KeptnAppVersion's PostDeploymentEvaluation phase. |Pending| ✓ | | -| `workloadOverallStatus` _string_ | WorkloadOverallStatus indicates the current status of the KeptnAppVersion's Workload deployment phase. |Pending| ✓ | | -| `workloadStatus` _[WorkloadStatus](#workloadstatus) array_ | WorkloadStatus contains the current status of each KeptnWorkload that is part of the KeptnAppVersion. || ✓ | | -| `currentPhase` _string_ | CurrentPhase indicates the current phase of the KeptnAppVersion. || ✓ | | -| `preDeploymentTaskStatus` _[ItemStatus](#itemstatus) array_ | PreDeploymentTaskStatus indicates the current state of each preDeploymentTask of the KeptnAppVersion. || ✓ | | -| `postDeploymentTaskStatus` _[ItemStatus](#itemstatus) array_ | PostDeploymentTaskStatus indicates the current state of each postDeploymentTask of the KeptnAppVersion. || ✓ | | -| `promotionTaskStatus` _[ItemStatus](#itemstatus) array_ | PromotionTaskStatus indicates the current state of each promotionTask of the KeptnAppVersion. || ✓ | | -| `preDeploymentEvaluationTaskStatus` _[ItemStatus](#itemstatus) array_ | PreDeploymentEvaluationTaskStatus indicates the current state of each preDeploymentEvaluation of the KeptnAppVersion. || ✓ | | -| `postDeploymentEvaluationTaskStatus` _[ItemStatus](#itemstatus) array_ | PostDeploymentEvaluationTaskStatus indicates the current state of each postDeploymentEvaluation of the KeptnAppVersion. || ✓ | | -| `phaseTraceIDs` _[MapCarrier](https://pkg.go.dev/go.opentelemetry.io/otel/propagation#MapCarrier)_ | PhaseTraceIDs contains the trace IDs of the OpenTelemetry spans of each phase of the KeptnAppVersion. || ✓ | | -| `status` _string_ | Status represents the overall status of the KeptnAppVersion. |Pending| ✓ | | -| `startTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | StartTime represents the time at which the deployment of the KeptnAppVersion started. || ✓ | | -| `endTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | EndTime represents the time at which the deployment of the KeptnAppVersion finished. || ✓ | | - - -#### KeptnEvaluation - - - -KeptnEvaluation is the Schema for the keptnevaluations API - - - -_Appears in:_ -- [KeptnEvaluationList](#keptnevaluationlist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1beta1` | | | | -| `kind` _string_ | `KeptnEvaluation` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnEvaluationSpec](#keptnevaluationspec)_ | Spec describes the desired state of the KeptnEvaluation. || ✓ | | -| `status` _[KeptnEvaluationStatus](#keptnevaluationstatus)_ | Status describes the current state of the KeptnEvaluation. || ✓ | | - - -#### KeptnEvaluationDefinition - - - -KeptnEvaluationDefinition is the Schema for the keptnevaluationdefinitions API - - - -_Appears in:_ -- [KeptnEvaluationDefinitionList](#keptnevaluationdefinitionlist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1beta1` | | | | -| `kind` _string_ | `KeptnEvaluationDefinition` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnEvaluationDefinitionSpec](#keptnevaluationdefinitionspec)_ | Spec describes the desired state of the KeptnEvaluationDefinition. || ✓ | | -| `status` _string_ | unused field || ✓ | | - - -#### KeptnEvaluationDefinitionList - - - -KeptnEvaluationDefinitionList contains a list of KeptnEvaluationDefinition - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1beta1` | | | | -| `kind` _string_ | `KeptnEvaluationDefinitionList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnEvaluationDefinition](#keptnevaluationdefinition) array_ | || x | | - - -#### KeptnEvaluationDefinitionSpec - - - -KeptnEvaluationDefinitionSpec defines the desired state of KeptnEvaluationDefinition - - - -_Appears in:_ -- [KeptnEvaluationDefinition](#keptnevaluationdefinition) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `objectives` _[Objective](#objective) array_ | Objectives is a list of objectives that have to be met for a KeptnEvaluation referencing this
KeptnEvaluationDefinition to be successful. || x | | -| `retries` _integer_ | 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. |10| ✓ | | -| `retryInterval` _[Duration](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#duration-v1-meta)_ | RetryInterval specifies the interval at which the KeptnEvaluation is retried in the case of an error
or a missed objective. |5s| ✓ | Pattern: `^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$`
Type: string
| - - -#### KeptnEvaluationList - - - -KeptnEvaluationList contains a list of KeptnEvaluation - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1beta1` | | | | -| `kind` _string_ | `KeptnEvaluationList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnEvaluation](#keptnevaluation) array_ | || x | | - - -#### KeptnEvaluationSpec - - - -KeptnEvaluationSpec defines the desired state of KeptnEvaluation - - - -_Appears in:_ -- [KeptnEvaluation](#keptnevaluation) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `workload` _string_ | Workload defines the KeptnWorkload for which the KeptnEvaluation is done. || ✓ | | -| `workloadVersion` _string_ | WorkloadVersion defines the version of the KeptnWorkload for which the KeptnEvaluation is done. || x | | -| `appName` _string_ | AppName defines the KeptnApp for which the KeptnEvaluation is done. || ✓ | | -| `appVersion` _string_ | AppVersion defines the version of the KeptnApp for which the KeptnEvaluation is done. || ✓ | | -| `evaluationDefinition` _string_ | 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. || x | | -| `checkType` _string_ | Type indicates whether the KeptnEvaluation is part of the pre- or postDeployment phase. || ✓ | | -| `retries` _integer_ | 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. |10| ✓ | | -| `retryInterval` _[Duration](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#duration-v1-meta)_ | RetryInterval specifies the interval at which the KeptnEvaluation is retried in the case of an error
or a missed objective. |5s| ✓ | Pattern: `^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$`
Type: string
| - - -#### KeptnEvaluationStatus - - - -KeptnEvaluationStatus defines the observed state of KeptnEvaluation - - - -_Appears in:_ -- [KeptnEvaluation](#keptnevaluation) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `retryCount` _integer_ | RetryCount indicates how many times the KeptnEvaluation has been attempted already. |0| x | | -| `evaluationStatus` _object (keys:string, values:[EvaluationStatusItem](#evaluationstatusitem))_ | EvaluationStatus describes the status of each objective of the KeptnEvaluationDefinition
referenced by the KeptnEvaluation. || x | | -| `overallStatus` _string_ | 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. |Pending| x | | -| `startTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | StartTime represents the time at which the KeptnEvaluation started. || ✓ | | -| `endTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | EndTime represents the time at which the KeptnEvaluation finished. || ✓ | | - - -#### KeptnMetricReference - - - - - - - -_Appears in:_ -- [Objective](#objective) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `name` _string_ | Name is the name of the referenced KeptnMetric. || x | | -| `namespace` _string_ | Namespace is the namespace where the referenced KeptnMetric is located. || ✓ | | - - -#### KeptnState - -_Underlying type:_ _string_ - -KeptnState is a string containing current Phase state (Progressing/Succeeded/Failed/Unknown/Pending/Deprecated/Warning) - - - -_Appears in:_ -- [EvaluationStatusItem](#evaluationstatusitem) -- [ItemStatus](#itemstatus) -- [KeptnAppVersionStatus](#keptnappversionstatus) -- [KeptnEvaluationStatus](#keptnevaluationstatus) -- [KeptnTaskStatus](#keptntaskstatus) -- [KeptnWorkloadVersionStatus](#keptnworkloadversionstatus) -- [WorkloadStatus](#workloadstatus) - - - -#### KeptnTask - - - -KeptnTask is the Schema for the keptntasks API - - - -_Appears in:_ -- [KeptnTaskList](#keptntasklist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1beta1` | | | | -| `kind` _string_ | `KeptnTask` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnTaskSpec](#keptntaskspec)_ | Spec describes the desired state of the KeptnTask. || ✓ | | -| `status` _[KeptnTaskStatus](#keptntaskstatus)_ | Status describes the current state of the KeptnTask. || ✓ | | - - -#### KeptnTaskDefinition - - - -KeptnTaskDefinition is the Schema for the keptntaskdefinitions API - - - -_Appears in:_ -- [KeptnTaskDefinitionList](#keptntaskdefinitionlist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1beta1` | | | | -| `kind` _string_ | `KeptnTaskDefinition` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnTaskDefinitionSpec](#keptntaskdefinitionspec)_ | Spec describes the desired state of the KeptnTaskDefinition. || ✓ | | -| `status` _[KeptnTaskDefinitionStatus](#keptntaskdefinitionstatus)_ | Status describes the current state of the KeptnTaskDefinition. || ✓ | | - - -#### KeptnTaskDefinitionList - - - -KeptnTaskDefinitionList contains a list of KeptnTaskDefinition - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1beta1` | | | | -| `kind` _string_ | `KeptnTaskDefinitionList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnTaskDefinition](#keptntaskdefinition) array_ | || x | | - - -#### KeptnTaskDefinitionSpec - - - -KeptnTaskDefinitionSpec defines the desired state of KeptnTaskDefinition - - - -_Appears in:_ -- [KeptnTaskDefinition](#keptntaskdefinition) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `function` _[RuntimeSpec](#runtimespec)_ | Deprecated
Function contains the definition for the function that is to be executed in KeptnTasks. || ✓ | | -| `python` _[RuntimeSpec](#runtimespec)_ | Python contains the definition for the python function that is to be executed in KeptnTasks. || ✓ | | -| `deno` _[RuntimeSpec](#runtimespec)_ | Deno contains the definition for the Deno function that is to be executed in KeptnTasks. || ✓ | | -| `container` _[ContainerSpec](#containerspec)_ | Container contains the definition for the container that is to be used in Job. || ✓ | | -| `retries` _integer_ | Retries specifies how many times a job executing the KeptnTaskDefinition should be restarted in the case
of an unsuccessful attempt. |10| ✓ | | -| `timeout` _[Duration](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#duration-v1-meta)_ | 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. |5m| ✓ | Pattern: `^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$`
Type: string
| -| `serviceAccount` _[ServiceAccountSpec](#serviceaccountspec)_ | ServiceAccount specifies the service account to be used in jobs to authenticate with the Kubernetes API and access cluster resources. || ✓ | | -| `automountServiceAccountToken` _[AutomountServiceAccountTokenSpec](#automountserviceaccounttokenspec)_ | AutomountServiceAccountToken allows to enable K8s to assign cluster API credentials to a pod, if set to false
the pod will decline the service account || ✓ | | -| `ttlSecondsAfterFinished` _integer_ | 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. |300| ✓ | | -| `imagePullSecrets` _[LocalObjectReference](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#localobjectreference-v1-core) array_ | ImagePullSecrets is an optional field to specify the names of secrets to use for pulling container images || ✓ | | - - -#### KeptnTaskDefinitionStatus - - - -KeptnTaskDefinitionStatus defines the observed state of KeptnTaskDefinition - - - -_Appears in:_ -- [KeptnTaskDefinition](#keptntaskdefinition) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `function` _[FunctionStatus](#functionstatus)_ | Function contains status information of the function definition for the task. || ✓ | | - - -#### KeptnTaskList - - - -KeptnTaskList contains a list of KeptnTask - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1beta1` | | | | -| `kind` _string_ | `KeptnTaskList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnTask](#keptntask) array_ | || x | | - - -#### KeptnTaskSpec - - - -KeptnTaskSpec defines the desired state of KeptnTask - - - -_Appears in:_ -- [KeptnTask](#keptntask) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `taskDefinition` _string_ | 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. || x | | -| `context` _[TaskContext](#taskcontext)_ | Context contains contextual information about the task execution. || ✓ | | -| `parameters` _[TaskParameters](#taskparameters)_ | Parameters contains parameters that will be passed to the job that executes the task. || ✓ | | -| `secureParameters` _[SecureParameters](#secureparameters)_ | 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. || ✓ | | -| `checkType` _string_ | Type indicates whether the KeptnTask is part of the pre- or postDeployment phase. || ✓ | | -| `retries` _integer_ | Retries indicates how many times the KeptnTask can be attempted in the case of an error
before considering the KeptnTask to be failed. |10| ✓ | | -| `timeout` _[Duration](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#duration-v1-meta)_ | 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. |5m| ✓ | Pattern: `^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$`
Type: string
| - - -#### KeptnTaskStatus - - - -KeptnTaskStatus defines the observed state of KeptnTask - - - -_Appears in:_ -- [KeptnTask](#keptntask) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `jobName` _string_ | JobName is the name of the Job executing the Task. || ✓ | | -| `status` _string_ | Status represents the overall state of the KeptnTask. |Pending| ✓ | | -| `message` _string_ | Message contains information about unexpected errors encountered during the execution of the KeptnTask. || ✓ | | -| `startTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | StartTime represents the time at which the KeptnTask started. || ✓ | | -| `endTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | EndTime represents the time at which the KeptnTask finished. || ✓ | | -| `reason` _string_ | Reason contains more information about the reason for the last transition of the Job executing the KeptnTask. || ✓ | | - - -#### KeptnWorkload - - - -KeptnWorkload is the Schema for the keptnworkloads API - - - -_Appears in:_ -- [KeptnWorkloadList](#keptnworkloadlist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1beta1` | | | | -| `kind` _string_ | `KeptnWorkload` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnWorkloadSpec](#keptnworkloadspec)_ | Spec describes the desired state of the KeptnWorkload. || ✓ | | -| `status` _[KeptnWorkloadStatus](#keptnworkloadstatus)_ | Status describes the current state of the KeptnWorkload. || ✓ | | - - -#### KeptnWorkloadList - - - -KeptnWorkloadList contains a list of KeptnWorkload - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1beta1` | | | | -| `kind` _string_ | `KeptnWorkloadList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnWorkload](#keptnworkload) array_ | || x | | - - -#### KeptnWorkloadRef - - - -KeptnWorkloadRef refers to a KeptnWorkload that is part of a KeptnApp - - - -_Appears in:_ -- [KeptnAppSpec](#keptnappspec) -- [KeptnAppVersionSpec](#keptnappversionspec) -- [WorkloadStatus](#workloadstatus) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `name` _string_ | Name is the name of the KeptnWorkload. || x | | -| `version` _string_ | Version is the version of the KeptnWorkload. || x | | - - -#### KeptnWorkloadSpec - - - -KeptnWorkloadSpec defines the desired state of KeptnWorkload - - - -_Appears in:_ -- [KeptnWorkload](#keptnworkload) -- [KeptnWorkloadVersionSpec](#keptnworkloadversionspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `app` _string_ | AppName is the name of the KeptnApp containing the KeptnWorkload. || x | | -| `version` _string_ | Version defines the version of the KeptnWorkload. || x | | -| `preDeploymentTasks` _string array_ | 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. || ✓ | | -| `postDeploymentTasks` _string array_ | 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. || ✓ | | -| `preDeploymentEvaluations` _string array_ | 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. || ✓ | | -| `postDeploymentEvaluations` _string array_ | 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. || ✓ | | -| `resourceReference` _[ResourceReference](#resourcereference)_ | ResourceReference is a reference to the Kubernetes resource
(Deployment, DaemonSet, StatefulSet or ReplicaSet) the KeptnWorkload is representing. || x | | -| `metadata` _object (keys:string, values:string)_ | Metadata contains additional key-value pairs for contextual information. || ✓ | | - - -#### KeptnWorkloadStatus - - - -KeptnWorkloadStatus defines the observed state of KeptnWorkload - - - -_Appears in:_ -- [KeptnWorkload](#keptnworkload) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `currentVersion` _string_ | CurrentVersion indicates the version that is currently deployed or being reconciled. || ✓ | | - - -#### KeptnWorkloadVersion - - - -KeptnWorkloadVersion is the Schema for the keptnworkloadversions API - - - -_Appears in:_ -- [KeptnWorkloadVersionList](#keptnworkloadversionlist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1beta1` | | | | -| `kind` _string_ | `KeptnWorkloadVersion` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnWorkloadVersionSpec](#keptnworkloadversionspec)_ | Spec describes the desired state of the KeptnWorkloadVersion. || ✓ | | -| `status` _[KeptnWorkloadVersionStatus](#keptnworkloadversionstatus)_ | Status describes the current state of the KeptnWorkloadVersion. || ✓ | | - - -#### KeptnWorkloadVersionList - - - -KeptnWorkloadVersionList contains a list of KeptnWorkloadVersion - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `lifecycle.keptn.sh/v1beta1` | | | | -| `kind` _string_ | `KeptnWorkloadVersionList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnWorkloadVersion](#keptnworkloadversion) array_ | || x | | - - -#### KeptnWorkloadVersionSpec - - - -KeptnWorkloadVersionSpec defines the desired state of KeptnWorkloadVersion - - - -_Appears in:_ -- [KeptnWorkloadVersion](#keptnworkloadversion) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `app` _string_ | AppName is the name of the KeptnApp containing the KeptnWorkload. || x | | -| `version` _string_ | Version defines the version of the KeptnWorkload. || x | | -| `preDeploymentTasks` _string array_ | 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. || ✓ | | -| `postDeploymentTasks` _string array_ | 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. || ✓ | | -| `preDeploymentEvaluations` _string array_ | 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. || ✓ | | -| `postDeploymentEvaluations` _string array_ | 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. || ✓ | | -| `resourceReference` _[ResourceReference](#resourcereference)_ | ResourceReference is a reference to the Kubernetes resource
(Deployment, DaemonSet, StatefulSet or ReplicaSet) the KeptnWorkload is representing. || x | | -| `metadata` _object (keys:string, values:string)_ | Metadata contains additional key-value pairs for contextual information. || ✓ | | -| `workloadName` _string_ | WorkloadName is the name of the KeptnWorkload. || x | | -| `previousVersion` _string_ | PreviousVersion is the version of the KeptnWorkload that has been deployed prior to this version. || ✓ | | -| `traceId` _object (keys:string, values:string)_ | TraceId contains the OpenTelemetry trace ID. || ✓ | | - - -#### KeptnWorkloadVersionStatus - - - -KeptnWorkloadVersionStatus defines the observed state of KeptnWorkloadVersion - - - -_Appears in:_ -- [KeptnWorkloadVersion](#keptnworkloadversion) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `preDeploymentStatus` _string_ | PreDeploymentStatus indicates the current status of the KeptnWorkloadVersion's PreDeployment phase. |Pending| ✓ | | -| `deploymentStatus` _string_ | DeploymentStatus indicates the current status of the KeptnWorkloadVersion's Deployment phase. |Pending| ✓ | | -| `preDeploymentEvaluationStatus` _string_ | PreDeploymentEvaluationStatus indicates the current status of the KeptnWorkloadVersion's PreDeploymentEvaluation phase. |Pending| ✓ | | -| `postDeploymentEvaluationStatus` _string_ | PostDeploymentEvaluationStatus indicates the current status of the KeptnWorkloadVersion's PostDeploymentEvaluation phase. |Pending| ✓ | | -| `postDeploymentStatus` _string_ | PostDeploymentStatus indicates the current status of the KeptnWorkloadVersion's PostDeployment phase. |Pending| ✓ | | -| `preDeploymentTaskStatus` _[ItemStatus](#itemstatus) array_ | PreDeploymentTaskStatus indicates the current state of each preDeploymentTask of the KeptnWorkloadVersion. || ✓ | | -| `postDeploymentTaskStatus` _[ItemStatus](#itemstatus) array_ | PostDeploymentTaskStatus indicates the current state of each postDeploymentTask of the KeptnWorkloadVersion. || ✓ | | -| `preDeploymentEvaluationTaskStatus` _[ItemStatus](#itemstatus) array_ | PreDeploymentEvaluationTaskStatus indicates the current state of each preDeploymentEvaluation of the KeptnWorkloadVersion. || ✓ | | -| `postDeploymentEvaluationTaskStatus` _[ItemStatus](#itemstatus) array_ | PostDeploymentEvaluationTaskStatus indicates the current state of each postDeploymentEvaluation of the KeptnWorkloadVersion. || ✓ | | -| `startTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | StartTime represents the time at which the deployment of the KeptnWorkloadVersion started. || ✓ | | -| `endTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | EndTime represents the time at which the deployment of the KeptnWorkloadVersion finished. || ✓ | | -| `currentPhase` _string_ | CurrentPhase indicates the current phase of the KeptnWorkloadVersion. This can be:
- PreDeploymentTasks
- PreDeploymentEvaluations
- Deployment
- PostDeploymentTasks
- PostDeploymentEvaluations || ✓ | | -| `phaseTraceIDs` _[MapCarrier](https://pkg.go.dev/go.opentelemetry.io/otel/propagation#MapCarrier)_ | PhaseTraceIDs contains the trace IDs of the OpenTelemetry spans of each phase of the KeptnWorkloadVersion || ✓ | | -| `status` _string_ | Status represents the overall status of the KeptnWorkloadVersion. |Pending| ✓ | | -| `appContextMetadata` _object (keys:string, values:string)_ | AppContextMetadata contains metadata from the related KeptnAppVersion. || ✓ | | -| `deploymentStartTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | DeploymentStartTime represents the start time of the deployment phase || ✓ | | - - -#### Objective - - - - - - - -_Appears in:_ -- [KeptnEvaluationDefinitionSpec](#keptnevaluationdefinitionspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `keptnMetricRef` _[KeptnMetricReference](#keptnmetricreference)_ | KeptnMetricRef references the KeptnMetric that should be evaluated. || x | | -| `evaluationTarget` _string_ | EvaluationTarget specifies the target value for the references KeptnMetric.
Needs to start with either '<' or '>', followed by the target value (e.g. '<10'). || x | | - - -#### PhaseTraceID - -_Underlying type:_ _[MapCarrier](https://pkg.go.dev/go.opentelemetry.io/otel/propagation#MapCarrier)_ - -PhaseTraceID is a map storing TraceIDs of OpenTelemetry spans in lifecycle phases - - - -_Appears in:_ -- [KeptnAppVersionStatus](#keptnappversionstatus) -- [KeptnWorkloadVersionStatus](#keptnworkloadversionstatus) - - - -#### ResourceReference - - - -ResourceReference represents the parent resource of Workload - - - -_Appears in:_ -- [KeptnWorkloadSpec](#keptnworkloadspec) -- [KeptnWorkloadVersionSpec](#keptnworkloadversionspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `uid` _string_ | || x | | -| `kind` _string_ | || x | | -| `name` _string_ | || x | | - - -#### RuntimeSpec - - - - - - - -_Appears in:_ -- [KeptnTaskDefinitionSpec](#keptntaskdefinitionspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `functionRef` _[FunctionReference](#functionreference)_ | 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. || ✓ | | -| `inline` _[Inline](#inline)_ | Inline allows to specify the code that should be executed directly in the KeptnTaskDefinition, as a multi-line
string. || ✓ | | -| `httpRef` _[HttpReference](#httpreference)_ | HttpReference allows to point to an HTTP URL containing the code of the function. || ✓ | | -| `configMapRef` _[ConfigMapReference](#configmapreference)_ | 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. || ✓ | | -| `parameters` _[TaskParameters](#taskparameters)_ | Parameters contains parameters that will be passed to the job that executes the task as env variables. || ✓ | | -| `secureParameters` _[SecureParameters](#secureparameters)_ | 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. || ✓ | | -| `cmdParameters` _string_ | CmdParameters contains parameters that will be passed to the command || ✓ | | - - -#### SecureParameters - - - - - - - -_Appears in:_ -- [KeptnTaskSpec](#keptntaskspec) -- [RuntimeSpec](#runtimespec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `secret` _string_ | 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. || ✓ | | - - -#### ServiceAccountSpec - - - - - - - -_Appears in:_ -- [KeptnTaskDefinitionSpec](#keptntaskdefinitionspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `name` _string_ | || x | | - - -#### TaskContext - - - - - - - -_Appears in:_ -- [KeptnTaskSpec](#keptntaskspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `workloadName` _string_ | WorkloadName the name of the KeptnWorkload the KeptnTask is being executed for. || ✓ | | -| `appName` _string_ | AppName the name of the KeptnApp the KeptnTask is being executed for. || ✓ | | -| `appVersion` _string_ | AppVersion the version of the KeptnApp the KeptnTask is being executed for. || ✓ | | -| `workloadVersion` _string_ | WorkloadVersion the version of the KeptnWorkload the KeptnTask is being executed for. || ✓ | | -| `taskType` _string_ | TaskType indicates whether the KeptnTask is part of the pre- or postDeployment phase. || ✓ | | -| `objectType` _string_ | ObjectType indicates whether the KeptnTask is being executed for a KeptnApp or KeptnWorkload. || ✓ | | -| `metadata` _object (keys:string, values:string)_ | Metadata contains additional key-value pairs for contextual information. || ✓ | | - - -#### TaskParameters - - - - - - - -_Appears in:_ -- [KeptnTaskSpec](#keptntaskspec) -- [RuntimeSpec](#runtimespec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `map` _object (keys:string, values: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. || ✓ | | - - -#### WorkloadStatus - - - - - - - -_Appears in:_ -- [KeptnAppVersionStatus](#keptnappversionstatus) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `workload` _[KeptnWorkloadRef](#keptnworkloadref)_ | Workload refers to a KeptnWorkload that is part of the KeptnAppVersion. || ✓ | | -| `status` _string_ | Status indicates the current status of the KeptnWorkload. |Pending| ✓ | | - - diff --git a/docs/docs/reference/api-reference/metrics/index.md b/docs/docs/reference/api-reference/metrics/index.md deleted file mode 100644 index c75fab4764..0000000000 --- a/docs/docs/reference/api-reference/metrics/index.md +++ /dev/null @@ -1,3 +0,0 @@ -# Metrics API - -Reference information about the Metrics API. diff --git a/docs/docs/reference/api-reference/metrics/v1/index.md b/docs/docs/reference/api-reference/metrics/v1/index.md deleted file mode 100644 index a720033ca8..0000000000 --- a/docs/docs/reference/api-reference/metrics/v1/index.md +++ /dev/null @@ -1,583 +0,0 @@ -# v1 - -Reference information for metrics.keptn.sh/v1 - - - -## Packages -- [metrics.keptn.sh/v1](#metricskeptnshv1) - - -## metrics.keptn.sh/v1 - -Package v1 contains API Schema definitions for the metrics v1 API group - -### Resource Types -- [Analysis](#analysis) -- [AnalysisDefinition](#analysisdefinition) -- [AnalysisDefinitionList](#analysisdefinitionlist) -- [AnalysisList](#analysislist) -- [AnalysisValueTemplate](#analysisvaluetemplate) -- [AnalysisValueTemplateList](#analysisvaluetemplatelist) -- [KeptnMetric](#keptnmetric) -- [KeptnMetricList](#keptnmetriclist) -- [KeptnMetricsProvider](#keptnmetricsprovider) -- [KeptnMetricsProviderList](#keptnmetricsproviderlist) - - - -#### Analysis - - - -Analysis is the Schema for the analyses API - - - -_Appears in:_ -- [AnalysisList](#analysislist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `metrics.keptn.sh/v1` | | | | -| `kind` _string_ | `Analysis` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[AnalysisSpec](#analysisspec)_ | || ✓ | | -| `status` _[AnalysisStatus](#analysisstatus)_ | || ✓ | | - - -#### AnalysisDefinition - - - -AnalysisDefinition is the Schema for the analysisdefinitions APIs - - - -_Appears in:_ -- [AnalysisDefinitionList](#analysisdefinitionlist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `metrics.keptn.sh/v1` | | | | -| `kind` _string_ | `AnalysisDefinition` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[AnalysisDefinitionSpec](#analysisdefinitionspec)_ | || ✓ | | -| `status` _string_ | unused field || ✓ | | - - -#### AnalysisDefinitionList - - - -AnalysisDefinitionList contains a list of AnalysisDefinition resources - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `metrics.keptn.sh/v1` | | | | -| `kind` _string_ | `AnalysisDefinitionList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[AnalysisDefinition](#analysisdefinition) array_ | || x | | - - -#### AnalysisDefinitionSpec - - - -AnalysisDefinitionSpec defines the desired state of AnalysisDefinition - - - -_Appears in:_ -- [AnalysisDefinition](#analysisdefinition) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `objectives` _[Objective](#objective) array_ | Objectives defines a list of objectives to evaluate for an analysis || ✓ | | -| `totalScore` _[TotalScore](#totalscore)_ | TotalScore defines the required score for an analysis to be successful || x | | - - -#### AnalysisList - - - -AnalysisList contains a list of Analysis resources - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `metrics.keptn.sh/v1` | | | | -| `kind` _string_ | `AnalysisList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[Analysis](#analysis) array_ | || x | | - - -#### AnalysisSpec - - - -AnalysisSpec defines the desired state of Analysis - - - -_Appears in:_ -- [Analysis](#analysis) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `timeframe` _[Timeframe](#timeframe)_ | 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. || x | | -| `args` _object (keys:string, values:string)_ | 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\}\})". || ✓ | | -| `analysisDefinition` _[ObjectReference](#objectreference)_ | AnalysisDefinition refers to the AnalysisDefinition, a CRD that stores the AnalysisValuesTemplates || x | | - - -#### AnalysisState - -_Underlying type:_ _string_ - -AnalysisState represents the state of the analysis - - - -_Appears in:_ -- [AnalysisStatus](#analysisstatus) - - - -#### AnalysisStatus - - - -AnalysisStatus stores the status of the overall analysis returns also pass or warnings - - - -_Appears in:_ -- [Analysis](#analysis) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `timeframe` _[Timeframe](#timeframe)_ | Timeframe describes the time frame which is evaluated by the Analysis || x | | -| `raw` _string_ | Raw contains the raw result of the SLO computation || ✓ | | -| `pass` _boolean_ | Pass returns whether the SLO is satisfied || ✓ | | -| `warning` _boolean_ | Warning returns whether the analysis returned a warning || ✓ | | -| `state` _string_ | State describes the current state of the Analysis (Pending/Progressing/Completed) || x | | -| `storedValues` _object (keys:string, values:[ProviderResult](#providerresult))_ | StoredValues contains all analysis values that have already been retrieved successfully || ✓ | | - - -#### AnalysisValueTemplate - - - -AnalysisValueTemplate is the Schema for the analysisvaluetemplates API - - - -_Appears in:_ -- [AnalysisValueTemplateList](#analysisvaluetemplatelist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `metrics.keptn.sh/v1` | | | | -| `kind` _string_ | `AnalysisValueTemplate` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[AnalysisValueTemplateSpec](#analysisvaluetemplatespec)_ | Spec contains the specification for the AnalysisValueTemplate || ✓ | | -| `status` _string_ | unused field || ✓ | | - - -#### AnalysisValueTemplateList - - - -AnalysisValueTemplateList contains a list of AnalysisValueTemplate resources - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `metrics.keptn.sh/v1` | | | | -| `kind` _string_ | `AnalysisValueTemplateList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[AnalysisValueTemplate](#analysisvaluetemplate) array_ | || x | | - - -#### AnalysisValueTemplateSpec - - - -AnalysisValueTemplateSpec defines the desired state of AnalysisValueTemplate - - - -_Appears in:_ -- [AnalysisValueTemplate](#analysisvaluetemplate) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `provider` _[ObjectReference](#objectreference)_ | Provider refers to the KeptnMetricsProvider which should be used to retrieve the data || x | | -| `query` _string_ | 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 || x | | - - -#### IntervalResult - - - - - - - -_Appears in:_ -- [KeptnMetricStatus](#keptnmetricstatus) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `value` _string_ | Value represents the resulting value || x | | -| `range` _[RangeSpec](#rangespec)_ | Range represents the time range for which this data was queried || x | | -| `lastUpdated` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | LastUpdated represents the time when the status data was last updated || x | | -| `errMsg` _string_ | ErrMsg represents the error details when the query could not be evaluated || ✓ | | - - -#### KeptnMetric - - - -KeptnMetric is the Schema for the keptnmetrics API - - - -_Appears in:_ -- [KeptnMetricList](#keptnmetriclist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `metrics.keptn.sh/v1` | | | | -| `kind` _string_ | `KeptnMetric` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnMetricSpec](#keptnmetricspec)_ | || ✓ | | -| `status` _[KeptnMetricStatus](#keptnmetricstatus)_ | || ✓ | | - - -#### KeptnMetricList - - - -KeptnMetricList contains a list of KeptnMetric resources - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `metrics.keptn.sh/v1` | | | | -| `kind` _string_ | `KeptnMetricList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnMetric](#keptnmetric) array_ | || x | | - - -#### KeptnMetricSpec - - - -KeptnMetricSpec defines the desired state of KeptnMetric - - - -_Appears in:_ -- [KeptnMetric](#keptnmetric) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `provider` _[ProviderRef](#providerref)_ | Provider represents the provider object || x | | -| `query` _string_ | Query represents the query to be run || x | | -| `fetchIntervalSeconds` _integer_ | FetchIntervalSeconds represents the update frequency in seconds that is used to update the metric || x | | -| `range` _[RangeSpec](#rangespec)_ | Range represents the time range for which data is to be queried || ✓ | | - - -#### KeptnMetricStatus - - - -KeptnMetricStatus defines the observed state of KeptnMetric - - - -_Appears in:_ -- [KeptnMetric](#keptnmetric) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `value` _string_ | Value represents the resulting value || ✓ | | -| `rawValue` _integer array_ | RawValue represents the resulting value in raw format || ✓ | | -| `lastUpdated` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | LastUpdated represents the time when the status data was last updated || ✓ | | -| `errMsg` _string_ | ErrMsg represents the error details when the query could not be evaluated || ✓ | | -| `intervalResults` _[IntervalResult](#intervalresult) array_ | IntervalResults contain a slice of all the interval results || ✓ | | - - -#### KeptnMetricsProvider - - - -KeptnMetricsProvider is the Schema for the keptnmetricsproviders API - - - -_Appears in:_ -- [KeptnMetricsProviderList](#keptnmetricsproviderlist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `metrics.keptn.sh/v1` | | | | -| `kind` _string_ | `KeptnMetricsProvider` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnMetricsProviderSpec](#keptnmetricsproviderspec)_ | || ✓ | | -| `status` _string_ | unused field || ✓ | | - - -#### KeptnMetricsProviderList - - - -KeptnMetricsProviderList contains a list of KeptnMetricsProvider resources - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `metrics.keptn.sh/v1` | | | | -| `kind` _string_ | `KeptnMetricsProviderList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnMetricsProvider](#keptnmetricsprovider) array_ | || x | | - - -#### KeptnMetricsProviderSpec - - - -KeptnMetricsProviderSpec defines the desired state of KeptnMetricsProvider - - - -_Appears in:_ -- [KeptnMetricsProvider](#keptnmetricsprovider) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `type` _string_ | Type represents the provider type. This can be one of cortex, datadog, dql, dynatrace, prometheus, elastic or thanos. || x | Optional: {}
Pattern: `cortex|datadog|dql|dynatrace|prometheus|thanos|elastic`
| -| `targetServer` _string_ | TargetServer defines URL (including port and protocol) at which the metrics provider is reachable. || x | | -| `secretKeyRef` _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#secretkeyselector-v1-core)_ | SecretKeyRef defines an optional secret for access credentials to the metrics provider. || ✓ | Optional: {}
| -| `insecureSkipTlsVerify` _boolean_ | InsecureSkipTlsVerify skips verification of the tls certificate when fetching metrics |false| ✓ | | - - -#### ObjectReference - - - - - - - -_Appears in:_ -- [AnalysisSpec](#analysisspec) -- [AnalysisValueTemplateSpec](#analysisvaluetemplatespec) -- [Objective](#objective) -- [ProviderResult](#providerresult) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `name` _string_ | Name defines the name of the referenced object || x | | -| `namespace` _string_ | Namespace defines the namespace of the referenced object || ✓ | | - - -#### Objective - - - -Objective defines an objective for analysis - - - -_Appears in:_ -- [AnalysisDefinitionSpec](#analysisdefinitionspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `analysisValueTemplateRef` _[ObjectReference](#objectreference)_ | AnalysisValueTemplateRef refers to the appropriate AnalysisValueTemplate || x | | -| `target` _[Target](#target)_ | Target defines failure or warning criteria || ✓ | | -| `weight` _integer_ | Weight can be used to emphasize the importance of one Objective over the others |1| ✓ | | -| `keyObjective` _boolean_ | KeyObjective defines whether the whole analysis fails when this objective's target is not met |false| ✓ | | - - -#### Operator - - - -Operator specifies the supported operators for value comparisons - - - -_Appears in:_ -- [Target](#target) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `lessThanOrEqual` _[OperatorValue](#operatorvalue)_ | LessThanOrEqual represents '<=' operator || ✓ | | -| `lessThan` _[OperatorValue](#operatorvalue)_ | LessThan represents '<' operator || ✓ | | -| `greaterThan` _[OperatorValue](#operatorvalue)_ | GreaterThan represents '>' operator || ✓ | | -| `greaterThanOrEqual` _[OperatorValue](#operatorvalue)_ | GreaterThanOrEqual represents '>=' operator || ✓ | | -| `equalTo` _[OperatorValue](#operatorvalue)_ | EqualTo represents '==' operator || ✓ | | -| `inRange` _[RangeValue](#rangevalue)_ | InRange represents operator checking the value is inclusively in the defined range, e.g. 2 <= x <= 5 || ✓ | | -| `notInRange` _[RangeValue](#rangevalue)_ | NotInRange represents operator checking the value is exclusively out of the defined range, e.g. x < 2 AND x > 5 || ✓ | | - - -#### OperatorValue - - - -OperatorValue represents the value to which the result is compared - - - -_Appears in:_ -- [Operator](#operator) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `fixedValue` _[Quantity](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#quantity-resource-api)_ | FixedValue defines the value for comparison || x | | - - -#### ProviderRef - - - -ProviderRef represents the provider object - - - -_Appears in:_ -- [KeptnMetricSpec](#keptnmetricspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `name` _string_ | Name of the provider || x | | - - -#### ProviderResult - - - -ProviderResult stores reference of already collected provider query associated to its objective template - - - -_Appears in:_ -- [AnalysisStatus](#analysisstatus) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `objectiveReference` _[ObjectReference](#objectreference)_ | Objective store reference to corresponding objective template || ✓ | | -| `query` _string_ | Query represents the executed query || ✓ | | -| `value` _string_ | Value is the value the provider returned || ✓ | | -| `errMsg` _string_ | ErrMsg stores any possible error at retrieval time || ✓ | | - - -#### RangeSpec - - - -RangeSpec defines the time range for which data is to be queried - - - -_Appears in:_ -- [IntervalResult](#intervalresult) -- [KeptnMetricSpec](#keptnmetricspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `interval` _string_ | Interval specifies the duration of the time interval for the data query |5m| ✓ | | -| `step` _string_ | Step represents the query resolution step width for the data query || ✓ | | -| `aggregation` _string_ | 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]
| -| `storedResults` _integer_ | StoredResults indicates the upper limit of how many past results should be stored in the status of a KeptnMetric || ✓ | Maximum: 255
| - - -#### RangeValue - - - -RangeValue represents a range which the value should fit - - - -_Appears in:_ -- [Operator](#operator) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `lowBound` _[Quantity](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#quantity-resource-api)_ | LowBound defines the lower bound of the range || x | | -| `highBound` _[Quantity](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#quantity-resource-api)_ | HighBound defines the higher bound of the range || x | | - - -#### Target - - - -Target defines the failure and warning criteria - - - -_Appears in:_ -- [Objective](#objective) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `failure` _[Operator](#operator)_ | Failure defines limits up to which an analysis fails || ✓ | | -| `warning` _[Operator](#operator)_ | Warning defines limits where the result does not pass or fail || ✓ | | - - -#### Timeframe - - - - - - - -_Appears in:_ -- [AnalysisSpec](#analysisspec) -- [AnalysisStatus](#analysisstatus) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `from` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | From is the time of start for the query. This field follows RFC3339 time format || ✓ | | -| `to` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | To is the time of end for the query. This field follows RFC3339 time format || ✓ | | -| `recent` _[Duration](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#duration-v1-meta)_ | 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
| - - -#### TotalScore - - - -TotalScore defines the required score for an analysis to be successful - - - -_Appears in:_ -- [AnalysisDefinitionSpec](#analysisdefinitionspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `passPercentage` _integer_ | PassPercentage defines the threshold to reach for an analysis to pass || x | Maximum: 100
Minimum: 0
| -| `warningPercentage` _integer_ | WarningPercentage defines the threshold to reach for an analysis to pass with a 'warning' status || x | Maximum: 100
Minimum: 0
| - - diff --git a/docs/docs/reference/api-reference/metrics/v1alpha1/index.md b/docs/docs/reference/api-reference/metrics/v1alpha1/index.md deleted file mode 100644 index bbda2331f5..0000000000 --- a/docs/docs/reference/api-reference/metrics/v1alpha1/index.md +++ /dev/null @@ -1,110 +0,0 @@ -# v1alpha1 - -Reference information for metrics.keptn.sh/v1alpha1 - - - -## Packages -- [metrics.keptn.sh/v1alpha1](#metricskeptnshv1alpha1) - - -## metrics.keptn.sh/v1alpha1 - -Package v1alpha1 contains API Schema definitions for the metrics v1alpha1 API group - -### Resource Types -- [KeptnMetric](#keptnmetric) -- [KeptnMetricList](#keptnmetriclist) - - - -#### KeptnMetric - - - -KeptnMetric is the Schema for the keptnmetrics API - - - -_Appears in:_ -- [KeptnMetricList](#keptnmetriclist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `metrics.keptn.sh/v1alpha1` | | | | -| `kind` _string_ | `KeptnMetric` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnMetricSpec](#keptnmetricspec)_ | || ✓ | | -| `status` _[KeptnMetricStatus](#keptnmetricstatus)_ | || ✓ | | - - -#### KeptnMetricList - - - -KeptnMetricList contains a list of KeptnMetric - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `metrics.keptn.sh/v1alpha1` | | | | -| `kind` _string_ | `KeptnMetricList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnMetric](#keptnmetric) array_ | || x | | - - -#### KeptnMetricSpec - - - -KeptnMetricSpec defines the desired state of KeptnMetric - - - -_Appears in:_ -- [KeptnMetric](#keptnmetric) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `provider` _[ProviderRef](#providerref)_ | Provider represents the provider object || x | | -| `query` _string_ | Query represents the query to be run || x | | -| `fetchIntervalSeconds` _integer_ | FetchIntervalSeconds represents the update frequency in seconds that is used to update the metric || x | | - - -#### KeptnMetricStatus - - - -KeptnMetricStatus defines the observed state of KeptnMetric - - - -_Appears in:_ -- [KeptnMetric](#keptnmetric) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `value` _string_ | Value represents the resulting value || x | | -| `rawValue` _integer array_ | RawValue represents the resulting value in raw format || x | | -| `lastUpdated` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | LastUpdated represents the time when the status data was last updated || x | | - - -#### ProviderRef - - - -ProviderRef represents the provider object - - - -_Appears in:_ -- [KeptnMetricSpec](#keptnmetricspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `name` _string_ | Name of the provider || x | | - - diff --git a/docs/docs/reference/api-reference/metrics/v1alpha2/index.md b/docs/docs/reference/api-reference/metrics/v1alpha2/index.md deleted file mode 100644 index 02a6b6f735..0000000000 --- a/docs/docs/reference/api-reference/metrics/v1alpha2/index.md +++ /dev/null @@ -1,167 +0,0 @@ -# v1alpha2 - -Reference information for metrics.keptn.sh/v1alpha2 - - - -## Packages -- [metrics.keptn.sh/v1alpha2](#metricskeptnshv1alpha2) - - -## metrics.keptn.sh/v1alpha2 - -Package v1alpha2 contains API Schema definitions for the metrics v1alpha2 API group - -### Resource Types -- [KeptnMetric](#keptnmetric) -- [KeptnMetricList](#keptnmetriclist) -- [KeptnMetricsProvider](#keptnmetricsprovider) -- [KeptnMetricsProviderList](#keptnmetricsproviderlist) - - - -#### KeptnMetric - - - -KeptnMetric is the Schema for the keptnmetrics API - - - -_Appears in:_ -- [KeptnMetricList](#keptnmetriclist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `metrics.keptn.sh/v1alpha2` | | | | -| `kind` _string_ | `KeptnMetric` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnMetricSpec](#keptnmetricspec)_ | || ✓ | | -| `status` _[KeptnMetricStatus](#keptnmetricstatus)_ | || ✓ | | - - -#### KeptnMetricList - - - -KeptnMetricList contains a list of KeptnMetric - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `metrics.keptn.sh/v1alpha2` | | | | -| `kind` _string_ | `KeptnMetricList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnMetric](#keptnmetric) array_ | || x | | - - -#### KeptnMetricSpec - - - -KeptnMetricSpec defines the desired state of KeptnMetric - - - -_Appears in:_ -- [KeptnMetric](#keptnmetric) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `provider` _[ProviderRef](#providerref)_ | Provider represents the provider object || x | | -| `query` _string_ | Query represents the query to be run || x | | -| `fetchIntervalSeconds` _integer_ | FetchIntervalSeconds represents the update frequency in seconds that is used to update the metric || x | | - - -#### KeptnMetricStatus - - - -KeptnMetricStatus defines the observed state of KeptnMetric - - - -_Appears in:_ -- [KeptnMetric](#keptnmetric) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `value` _string_ | Value represents the resulting value || x | | -| `rawValue` _integer array_ | RawValue represents the resulting value in raw format || x | | -| `lastUpdated` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | LastUpdated represents the time when the status data was last updated || x | | - - -#### KeptnMetricsProvider - - - -KeptnMetricsProvider is the Schema for the keptnmetricsproviders API - - - -_Appears in:_ -- [KeptnMetricsProviderList](#keptnmetricsproviderlist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `metrics.keptn.sh/v1alpha2` | | | | -| `kind` _string_ | `KeptnMetricsProvider` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnMetricsProviderSpec](#keptnmetricsproviderspec)_ | || ✓ | | -| `status` _string_ | unused field || ✓ | | - - -#### KeptnMetricsProviderList - - - -KeptnMetricsProviderList contains a list of KeptnMetricsProvider - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `metrics.keptn.sh/v1alpha2` | | | | -| `kind` _string_ | `KeptnMetricsProviderList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnMetricsProvider](#keptnmetricsprovider) array_ | || x | | - - -#### KeptnMetricsProviderSpec - - - -KeptnMetricsProviderSpec defines the desired state of KeptnMetricsProvider - - - -_Appears in:_ -- [KeptnMetricsProvider](#keptnmetricsprovider) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `targetServer` _string_ | || x | | -| `secretKeyRef` _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#secretkeyselector-v1-core)_ | || ✓ | | - - -#### ProviderRef - - - -ProviderRef represents the provider object - - - -_Appears in:_ -- [KeptnMetricSpec](#keptnmetricspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `name` _string_ | Name of the provider || x | | - - diff --git a/docs/docs/reference/api-reference/metrics/v1alpha3/index.md b/docs/docs/reference/api-reference/metrics/v1alpha3/index.md deleted file mode 100644 index 58046f37ab..0000000000 --- a/docs/docs/reference/api-reference/metrics/v1alpha3/index.md +++ /dev/null @@ -1,582 +0,0 @@ -# v1alpha3 - -Reference information for metrics.keptn.sh/v1alpha3 - - - -## Packages -- [metrics.keptn.sh/v1alpha3](#metricskeptnshv1alpha3) - - -## metrics.keptn.sh/v1alpha3 - -Package v1alpha3 contains API Schema definitions for the metrics v1alpha3 API group - -### Resource Types -- [Analysis](#analysis) -- [AnalysisDefinition](#analysisdefinition) -- [AnalysisDefinitionList](#analysisdefinitionlist) -- [AnalysisList](#analysislist) -- [AnalysisValueTemplate](#analysisvaluetemplate) -- [AnalysisValueTemplateList](#analysisvaluetemplatelist) -- [KeptnMetric](#keptnmetric) -- [KeptnMetricList](#keptnmetriclist) -- [KeptnMetricsProvider](#keptnmetricsprovider) -- [KeptnMetricsProviderList](#keptnmetricsproviderlist) - - - -#### Analysis - - - -Analysis is the Schema for the analyses API - - - -_Appears in:_ -- [AnalysisList](#analysislist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `metrics.keptn.sh/v1alpha3` | | | | -| `kind` _string_ | `Analysis` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[AnalysisSpec](#analysisspec)_ | || ✓ | | -| `status` _[AnalysisStatus](#analysisstatus)_ | || ✓ | | - - -#### AnalysisDefinition - - - -AnalysisDefinition is the Schema for the analysisdefinitions APIs - - - -_Appears in:_ -- [AnalysisDefinitionList](#analysisdefinitionlist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `metrics.keptn.sh/v1alpha3` | | | | -| `kind` _string_ | `AnalysisDefinition` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[AnalysisDefinitionSpec](#analysisdefinitionspec)_ | || ✓ | | -| `status` _string_ | unused field || ✓ | | - - -#### AnalysisDefinitionList - - - -AnalysisDefinitionList contains a list of AnalysisDefinition - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `metrics.keptn.sh/v1alpha3` | | | | -| `kind` _string_ | `AnalysisDefinitionList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[AnalysisDefinition](#analysisdefinition) array_ | || x | | - - -#### AnalysisDefinitionSpec - - - -AnalysisDefinitionSpec defines the desired state of AnalysisDefinition - - - -_Appears in:_ -- [AnalysisDefinition](#analysisdefinition) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `objectives` _[Objective](#objective) array_ | Objectives defines a list of objectives to evaluate for an analysis || ✓ | | -| `totalScore` _[TotalScore](#totalscore)_ | TotalScore defines the required score for an analysis to be successful || x | | - - -#### AnalysisList - - - -AnalysisList contains a list of Analysis - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `metrics.keptn.sh/v1alpha3` | | | | -| `kind` _string_ | `AnalysisList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[Analysis](#analysis) array_ | || x | | - - -#### AnalysisSpec - - - -AnalysisSpec defines the desired state of Analysis - - - -_Appears in:_ -- [Analysis](#analysis) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `timeframe` _[Timeframe](#timeframe)_ | 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. || x | | -| `args` _object (keys:string, values:string)_ | 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\}\})". || ✓ | | -| `analysisDefinition` _[ObjectReference](#objectreference)_ | AnalysisDefinition refers to the AnalysisDefinition, a CRD that stores the AnalysisValuesTemplates || x | | - - -#### AnalysisState - -_Underlying type:_ _string_ - -AnalysisState represents the state of the analysis - - - -_Appears in:_ -- [AnalysisStatus](#analysisstatus) - - - -#### AnalysisStatus - - - -AnalysisStatus stores the status of the overall analysis returns also pass or warnings - - - -_Appears in:_ -- [Analysis](#analysis) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `timeframe` _[Timeframe](#timeframe)_ | Timeframe describes the time frame which is evaluated by the Analysis || x | | -| `raw` _string_ | Raw contains the raw result of the SLO computation || ✓ | | -| `pass` _boolean_ | Pass returns whether the SLO is satisfied || ✓ | | -| `warning` _boolean_ | Warning returns whether the analysis returned a warning || ✓ | | -| `state` _string_ | State describes the current state of the Analysis (Pending/Progressing/Completed) || x | | -| `storedValues` _object (keys:string, values:[ProviderResult](#providerresult))_ | StoredValues contains all analysis values that have already been retrieved successfully || ✓ | | - - -#### AnalysisValueTemplate - - - -AnalysisValueTemplate is the Schema for the analysisvaluetemplates API - - - -_Appears in:_ -- [AnalysisValueTemplateList](#analysisvaluetemplatelist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `metrics.keptn.sh/v1alpha3` | | | | -| `kind` _string_ | `AnalysisValueTemplate` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[AnalysisValueTemplateSpec](#analysisvaluetemplatespec)_ | Spec contains the specification for the AnalysisValueTemplate || ✓ | | -| `status` _string_ | unused field || ✓ | | - - -#### AnalysisValueTemplateList - - - -AnalysisValueTemplateList contains a list of AnalysisValueTemplate - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `metrics.keptn.sh/v1alpha3` | | | | -| `kind` _string_ | `AnalysisValueTemplateList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[AnalysisValueTemplate](#analysisvaluetemplate) array_ | || x | | - - -#### AnalysisValueTemplateSpec - - - -AnalysisValueTemplateSpec defines the desired state of AnalysisValueTemplate - - - -_Appears in:_ -- [AnalysisValueTemplate](#analysisvaluetemplate) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `provider` _[ObjectReference](#objectreference)_ | Provider refers to the KeptnMetricsProvider which should be used to retrieve the data || x | | -| `query` _string_ | 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 || x | | - - -#### IntervalResult - - - - - - - -_Appears in:_ -- [KeptnMetricStatus](#keptnmetricstatus) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `value` _string_ | Value represents the resulting value || x | | -| `range` _[RangeSpec](#rangespec)_ | Range represents the time range for which this data was queried || x | | -| `lastUpdated` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | LastUpdated represents the time when the status data was last updated || x | | -| `errMsg` _string_ | ErrMsg represents the error details when the query could not be evaluated || ✓ | | - - -#### KeptnMetric - - - -KeptnMetric is the Schema for the keptnmetrics API - - - -_Appears in:_ -- [KeptnMetricList](#keptnmetriclist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `metrics.keptn.sh/v1alpha3` | | | | -| `kind` _string_ | `KeptnMetric` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnMetricSpec](#keptnmetricspec)_ | || ✓ | | -| `status` _[KeptnMetricStatus](#keptnmetricstatus)_ | || ✓ | | - - -#### KeptnMetricList - - - -KeptnMetricList contains a list of KeptnMetric - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `metrics.keptn.sh/v1alpha3` | | | | -| `kind` _string_ | `KeptnMetricList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnMetric](#keptnmetric) array_ | || x | | - - -#### KeptnMetricSpec - - - -KeptnMetricSpec defines the desired state of KeptnMetric - - - -_Appears in:_ -- [KeptnMetric](#keptnmetric) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `provider` _[ProviderRef](#providerref)_ | Provider represents the provider object || x | | -| `query` _string_ | Query represents the query to be run || x | | -| `fetchIntervalSeconds` _integer_ | FetchIntervalSeconds represents the update frequency in seconds that is used to update the metric || x | | -| `range` _[RangeSpec](#rangespec)_ | Range represents the time range for which data is to be queried || ✓ | | - - -#### KeptnMetricStatus - - - -KeptnMetricStatus defines the observed state of KeptnMetric - - - -_Appears in:_ -- [KeptnMetric](#keptnmetric) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `value` _string_ | Value represents the resulting value || ✓ | | -| `rawValue` _integer array_ | RawValue represents the resulting value in raw format || ✓ | | -| `lastUpdated` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | LastUpdated represents the time when the status data was last updated || ✓ | | -| `errMsg` _string_ | ErrMsg represents the error details when the query could not be evaluated || ✓ | | -| `intervalResults` _[IntervalResult](#intervalresult) array_ | IntervalResults contain a slice of all the interval results || ✓ | | - - -#### KeptnMetricsProvider - - - -KeptnMetricsProvider is the Schema for the keptnmetricsproviders API - - - -_Appears in:_ -- [KeptnMetricsProviderList](#keptnmetricsproviderlist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `metrics.keptn.sh/v1alpha3` | | | | -| `kind` _string_ | `KeptnMetricsProvider` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnMetricsProviderSpec](#keptnmetricsproviderspec)_ | || ✓ | | -| `status` _string_ | unused field || ✓ | | - - -#### KeptnMetricsProviderList - - - -KeptnMetricsProviderList contains a list of KeptnMetricsProvider - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `metrics.keptn.sh/v1alpha3` | | | | -| `kind` _string_ | `KeptnMetricsProviderList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnMetricsProvider](#keptnmetricsprovider) array_ | || x | | - - -#### KeptnMetricsProviderSpec - - - -KeptnMetricsProviderSpec defines the desired state of KeptnMetricsProvider - - - -_Appears in:_ -- [KeptnMetricsProvider](#keptnmetricsprovider) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `type` _string_ | Type represents the provider type. This can be one of prometheus, dynatrace, datadog, dql. || x | Optional: {}
Pattern: `prometheus|dynatrace|datadog|dql`
| -| `targetServer` _string_ | TargetServer defined the URL at which the metrics provider is reachable with included port and protocol. || x | | -| `secretKeyRef` _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#secretkeyselector-v1-core)_ | SecretKeyRef defines an optional secret for access credentials to the metrics provider. || ✓ | Optional: {}
| - - -#### ObjectReference - - - - - - - -_Appears in:_ -- [AnalysisSpec](#analysisspec) -- [AnalysisValueTemplateSpec](#analysisvaluetemplatespec) -- [Objective](#objective) -- [ProviderResult](#providerresult) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `name` _string_ | Name defines the name of the referenced object || x | | -| `namespace` _string_ | Namespace defines the namespace of the referenced object || ✓ | | - - -#### Objective - - - -Objective defines an objective for analysis - - - -_Appears in:_ -- [AnalysisDefinitionSpec](#analysisdefinitionspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `analysisValueTemplateRef` _[ObjectReference](#objectreference)_ | AnalysisValueTemplateRef refers to the appropriate AnalysisValueTemplate || x | | -| `target` _[Target](#target)_ | Target defines failure or warning criteria || ✓ | | -| `weight` _integer_ | Weight can be used to emphasize the importance of one Objective over the others |1| ✓ | | -| `keyObjective` _boolean_ | KeyObjective defines whether the whole analysis fails when this objective's target is not met |false| ✓ | | - - -#### Operator - - - -Operator specifies the supported operators for value comparisons - - - -_Appears in:_ -- [Target](#target) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `lessThanOrEqual` _[OperatorValue](#operatorvalue)_ | LessThanOrEqual represents '<=' operator || ✓ | | -| `lessThan` _[OperatorValue](#operatorvalue)_ | LessThan represents '<' operator || ✓ | | -| `greaterThan` _[OperatorValue](#operatorvalue)_ | GreaterThan represents '>' operator || ✓ | | -| `greaterThanOrEqual` _[OperatorValue](#operatorvalue)_ | GreaterThanOrEqual represents '>=' operator || ✓ | | -| `equalTo` _[OperatorValue](#operatorvalue)_ | EqualTo represents '==' operator || ✓ | | -| `inRange` _[RangeValue](#rangevalue)_ | InRange represents operator checking the value is inclusively in the defined range, e.g. 2 <= x <= 5 || ✓ | | -| `notInRange` _[RangeValue](#rangevalue)_ | NotInRange represents operator checking the value is exclusively out of the defined range, e.g. x < 2 AND x > 5 || ✓ | | - - -#### OperatorValue - - - -OperatorValue represents the value to which the result is compared - - - -_Appears in:_ -- [Operator](#operator) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `fixedValue` _[Quantity](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#quantity-resource-api)_ | FixedValue defines the value for comparison || x | | - - -#### ProviderRef - - - -ProviderRef represents the provider object - - - -_Appears in:_ -- [KeptnMetricSpec](#keptnmetricspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `name` _string_ | Name of the provider || x | | - - -#### ProviderResult - - - -ProviderResult stores reference of already collected provider query associated to its objective template - - - -_Appears in:_ -- [AnalysisStatus](#analysisstatus) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `objectiveReference` _[ObjectReference](#objectreference)_ | Objective store reference to corresponding objective template || ✓ | | -| `query` _string_ | Query represents the executed query || ✓ | | -| `value` _string_ | Value is the value the provider returned || ✓ | | -| `errMsg` _string_ | ErrMsg stores any possible error at retrieval time || ✓ | | - - -#### RangeSpec - - - -RangeSpec defines the time range for which data is to be queried - - - -_Appears in:_ -- [IntervalResult](#intervalresult) -- [KeptnMetricSpec](#keptnmetricspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `interval` _string_ | Interval specifies the duration of the time interval for the data query |5m| ✓ | | -| `step` _string_ | Step represents the query resolution step width for the data query || ✓ | | -| `aggregation` _string_ | 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]
| -| `storedResults` _integer_ | StoredResults indicates the upper limit of how many past results should be stored in the status of a KeptnMetric || ✓ | Maximum: 255
| - - -#### RangeValue - - - -RangeValue represents a range which the value should fit - - - -_Appears in:_ -- [Operator](#operator) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `lowBound` _[Quantity](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#quantity-resource-api)_ | LowBound defines the lower bound of the range || x | | -| `highBound` _[Quantity](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#quantity-resource-api)_ | HighBound defines the higher bound of the range || x | | - - -#### Target - - - -Target defines the failure and warning criteria - - - -_Appears in:_ -- [Objective](#objective) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `failure` _[Operator](#operator)_ | Failure defines limits up to which an analysis fails || ✓ | | -| `warning` _[Operator](#operator)_ | Warning defines limits where the result does not pass or fail || ✓ | | - - -#### Timeframe - - - - - - - -_Appears in:_ -- [AnalysisSpec](#analysisspec) -- [AnalysisStatus](#analysisstatus) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `from` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | From is the time of start for the query. This field follows RFC3339 time format || ✓ | | -| `to` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | To is the time of end for the query. This field follows RFC3339 time format || ✓ | | -| `recent` _[Duration](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#duration-v1-meta)_ | 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
| - - -#### TotalScore - - - -TotalScore defines the required score for an analysis to be successful - - - -_Appears in:_ -- [AnalysisDefinitionSpec](#analysisdefinitionspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `passPercentage` _integer_ | PassPercentage defines the threshold to reach for an analysis to pass || x | Maximum: 100
Minimum: 0
| -| `warningPercentage` _integer_ | WarningPercentage defines the threshold to reach for an analysis to pass with a 'warning' status || x | Maximum: 100
Minimum: 0
| - - diff --git a/docs/docs/reference/api-reference/metrics/v1beta1/index.md b/docs/docs/reference/api-reference/metrics/v1beta1/index.md deleted file mode 100644 index bc4c51aea9..0000000000 --- a/docs/docs/reference/api-reference/metrics/v1beta1/index.md +++ /dev/null @@ -1,582 +0,0 @@ -# v1beta1 - -Reference information for metrics.keptn.sh/v1beta1 - - - -## Packages -- [metrics.keptn.sh/v1beta1](#metricskeptnshv1beta1) - - -## metrics.keptn.sh/v1beta1 - -Package v1beta1 contains API Schema definitions for the metrics v1beta1 API group - -### Resource Types -- [Analysis](#analysis) -- [AnalysisDefinition](#analysisdefinition) -- [AnalysisDefinitionList](#analysisdefinitionlist) -- [AnalysisList](#analysislist) -- [AnalysisValueTemplate](#analysisvaluetemplate) -- [AnalysisValueTemplateList](#analysisvaluetemplatelist) -- [KeptnMetric](#keptnmetric) -- [KeptnMetricList](#keptnmetriclist) -- [KeptnMetricsProvider](#keptnmetricsprovider) -- [KeptnMetricsProviderList](#keptnmetricsproviderlist) - - - -#### Analysis - - - -Analysis is the Schema for the analyses API - - - -_Appears in:_ -- [AnalysisList](#analysislist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `metrics.keptn.sh/v1beta1` | | | | -| `kind` _string_ | `Analysis` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[AnalysisSpec](#analysisspec)_ | || ✓ | | -| `status` _[AnalysisStatus](#analysisstatus)_ | || ✓ | | - - -#### AnalysisDefinition - - - -AnalysisDefinition is the Schema for the analysisdefinitions APIs - - - -_Appears in:_ -- [AnalysisDefinitionList](#analysisdefinitionlist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `metrics.keptn.sh/v1beta1` | | | | -| `kind` _string_ | `AnalysisDefinition` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[AnalysisDefinitionSpec](#analysisdefinitionspec)_ | || ✓ | | -| `status` _string_ | unused field || ✓ | | - - -#### AnalysisDefinitionList - - - -AnalysisDefinitionList contains a list of AnalysisDefinition resources - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `metrics.keptn.sh/v1beta1` | | | | -| `kind` _string_ | `AnalysisDefinitionList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[AnalysisDefinition](#analysisdefinition) array_ | || x | | - - -#### AnalysisDefinitionSpec - - - -AnalysisDefinitionSpec defines the desired state of AnalysisDefinition - - - -_Appears in:_ -- [AnalysisDefinition](#analysisdefinition) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `objectives` _[Objective](#objective) array_ | Objectives defines a list of objectives to evaluate for an analysis || ✓ | | -| `totalScore` _[TotalScore](#totalscore)_ | TotalScore defines the required score for an analysis to be successful || x | | - - -#### AnalysisList - - - -AnalysisList contains a list of Analysis resources - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `metrics.keptn.sh/v1beta1` | | | | -| `kind` _string_ | `AnalysisList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[Analysis](#analysis) array_ | || x | | - - -#### AnalysisSpec - - - -AnalysisSpec defines the desired state of Analysis - - - -_Appears in:_ -- [Analysis](#analysis) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `timeframe` _[Timeframe](#timeframe)_ | 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. || x | | -| `args` _object (keys:string, values:string)_ | 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\}\})". || ✓ | | -| `analysisDefinition` _[ObjectReference](#objectreference)_ | AnalysisDefinition refers to the AnalysisDefinition, a CRD that stores the AnalysisValuesTemplates || x | | - - -#### AnalysisState - -_Underlying type:_ _string_ - -AnalysisState represents the state of the analysis - - - -_Appears in:_ -- [AnalysisStatus](#analysisstatus) - - - -#### AnalysisStatus - - - -AnalysisStatus stores the status of the overall analysis returns also pass or warnings - - - -_Appears in:_ -- [Analysis](#analysis) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `timeframe` _[Timeframe](#timeframe)_ | Timeframe describes the time frame which is evaluated by the Analysis || x | | -| `raw` _string_ | Raw contains the raw result of the SLO computation || ✓ | | -| `pass` _boolean_ | Pass returns whether the SLO is satisfied || ✓ | | -| `warning` _boolean_ | Warning returns whether the analysis returned a warning || ✓ | | -| `state` _string_ | State describes the current state of the Analysis (Pending/Progressing/Completed) || x | | -| `storedValues` _object (keys:string, values:[ProviderResult](#providerresult))_ | StoredValues contains all analysis values that have already been retrieved successfully || ✓ | | - - -#### AnalysisValueTemplate - - - -AnalysisValueTemplate is the Schema for the analysisvaluetemplates API - - - -_Appears in:_ -- [AnalysisValueTemplateList](#analysisvaluetemplatelist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `metrics.keptn.sh/v1beta1` | | | | -| `kind` _string_ | `AnalysisValueTemplate` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[AnalysisValueTemplateSpec](#analysisvaluetemplatespec)_ | Spec contains the specification for the AnalysisValueTemplate || ✓ | | -| `status` _string_ | unused field || ✓ | | - - -#### AnalysisValueTemplateList - - - -AnalysisValueTemplateList contains a list of AnalysisValueTemplate resources - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `metrics.keptn.sh/v1beta1` | | | | -| `kind` _string_ | `AnalysisValueTemplateList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[AnalysisValueTemplate](#analysisvaluetemplate) array_ | || x | | - - -#### AnalysisValueTemplateSpec - - - -AnalysisValueTemplateSpec defines the desired state of AnalysisValueTemplate - - - -_Appears in:_ -- [AnalysisValueTemplate](#analysisvaluetemplate) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `provider` _[ObjectReference](#objectreference)_ | Provider refers to the KeptnMetricsProvider which should be used to retrieve the data || x | | -| `query` _string_ | 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 || x | | - - -#### IntervalResult - - - - - - - -_Appears in:_ -- [KeptnMetricStatus](#keptnmetricstatus) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `value` _string_ | Value represents the resulting value || x | | -| `range` _[RangeSpec](#rangespec)_ | Range represents the time range for which this data was queried || x | | -| `lastUpdated` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | LastUpdated represents the time when the status data was last updated || x | | -| `errMsg` _string_ | ErrMsg represents the error details when the query could not be evaluated || ✓ | | - - -#### KeptnMetric - - - -KeptnMetric is the Schema for the keptnmetrics API - - - -_Appears in:_ -- [KeptnMetricList](#keptnmetriclist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `metrics.keptn.sh/v1beta1` | | | | -| `kind` _string_ | `KeptnMetric` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnMetricSpec](#keptnmetricspec)_ | || ✓ | | -| `status` _[KeptnMetricStatus](#keptnmetricstatus)_ | || ✓ | | - - -#### KeptnMetricList - - - -KeptnMetricList contains a list of KeptnMetric resources - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `metrics.keptn.sh/v1beta1` | | | | -| `kind` _string_ | `KeptnMetricList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnMetric](#keptnmetric) array_ | || x | | - - -#### KeptnMetricSpec - - - -KeptnMetricSpec defines the desired state of KeptnMetric - - - -_Appears in:_ -- [KeptnMetric](#keptnmetric) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `provider` _[ProviderRef](#providerref)_ | Provider represents the provider object || x | | -| `query` _string_ | Query represents the query to be run || x | | -| `fetchIntervalSeconds` _integer_ | FetchIntervalSeconds represents the update frequency in seconds that is used to update the metric || x | | -| `range` _[RangeSpec](#rangespec)_ | Range represents the time range for which data is to be queried || ✓ | | - - -#### KeptnMetricStatus - - - -KeptnMetricStatus defines the observed state of KeptnMetric - - - -_Appears in:_ -- [KeptnMetric](#keptnmetric) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `value` _string_ | Value represents the resulting value || ✓ | | -| `rawValue` _integer array_ | RawValue represents the resulting value in raw format || ✓ | | -| `lastUpdated` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | LastUpdated represents the time when the status data was last updated || ✓ | | -| `errMsg` _string_ | ErrMsg represents the error details when the query could not be evaluated || ✓ | | -| `intervalResults` _[IntervalResult](#intervalresult) array_ | IntervalResults contain a slice of all the interval results || ✓ | | - - -#### KeptnMetricsProvider - - - -KeptnMetricsProvider is the Schema for the keptnmetricsproviders API - - - -_Appears in:_ -- [KeptnMetricsProviderList](#keptnmetricsproviderlist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `metrics.keptn.sh/v1beta1` | | | | -| `kind` _string_ | `KeptnMetricsProvider` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnMetricsProviderSpec](#keptnmetricsproviderspec)_ | || ✓ | | -| `status` _string_ | unused field || ✓ | | - - -#### KeptnMetricsProviderList - - - -KeptnMetricsProviderList contains a list of KeptnMetricsProvider resources - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `metrics.keptn.sh/v1beta1` | | | | -| `kind` _string_ | `KeptnMetricsProviderList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnMetricsProvider](#keptnmetricsprovider) array_ | || x | | - - -#### KeptnMetricsProviderSpec - - - -KeptnMetricsProviderSpec defines the desired state of KeptnMetricsProvider - - - -_Appears in:_ -- [KeptnMetricsProvider](#keptnmetricsprovider) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `type` _string_ | Type represents the provider type. This can be one of prometheus, dynatrace, datadog, dql. || x | Optional: {}
Pattern: `prometheus|dynatrace|datadog|dql`
| -| `targetServer` _string_ | TargetServer defines URL (including port and protocol) at which the metrics provider is reachable. || x | | -| `secretKeyRef` _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#secretkeyselector-v1-core)_ | SecretKeyRef defines an optional secret for access credentials to the metrics provider. || ✓ | Optional: {}
| - - -#### ObjectReference - - - - - - - -_Appears in:_ -- [AnalysisSpec](#analysisspec) -- [AnalysisValueTemplateSpec](#analysisvaluetemplatespec) -- [Objective](#objective) -- [ProviderResult](#providerresult) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `name` _string_ | Name defines the name of the referenced object || x | | -| `namespace` _string_ | Namespace defines the namespace of the referenced object || ✓ | | - - -#### Objective - - - -Objective defines an objective for analysis - - - -_Appears in:_ -- [AnalysisDefinitionSpec](#analysisdefinitionspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `analysisValueTemplateRef` _[ObjectReference](#objectreference)_ | AnalysisValueTemplateRef refers to the appropriate AnalysisValueTemplate || x | | -| `target` _[Target](#target)_ | Target defines failure or warning criteria || ✓ | | -| `weight` _integer_ | Weight can be used to emphasize the importance of one Objective over the others |1| ✓ | | -| `keyObjective` _boolean_ | KeyObjective defines whether the whole analysis fails when this objective's target is not met |false| ✓ | | - - -#### Operator - - - -Operator specifies the supported operators for value comparisons - - - -_Appears in:_ -- [Target](#target) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `lessThanOrEqual` _[OperatorValue](#operatorvalue)_ | LessThanOrEqual represents '<=' operator || ✓ | | -| `lessThan` _[OperatorValue](#operatorvalue)_ | LessThan represents '<' operator || ✓ | | -| `greaterThan` _[OperatorValue](#operatorvalue)_ | GreaterThan represents '>' operator || ✓ | | -| `greaterThanOrEqual` _[OperatorValue](#operatorvalue)_ | GreaterThanOrEqual represents '>=' operator || ✓ | | -| `equalTo` _[OperatorValue](#operatorvalue)_ | EqualTo represents '==' operator || ✓ | | -| `inRange` _[RangeValue](#rangevalue)_ | InRange represents operator checking the value is inclusively in the defined range, e.g. 2 <= x <= 5 || ✓ | | -| `notInRange` _[RangeValue](#rangevalue)_ | NotInRange represents operator checking the value is exclusively out of the defined range, e.g. x < 2 AND x > 5 || ✓ | | - - -#### OperatorValue - - - -OperatorValue represents the value to which the result is compared - - - -_Appears in:_ -- [Operator](#operator) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `fixedValue` _[Quantity](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#quantity-resource-api)_ | FixedValue defines the value for comparison || x | | - - -#### ProviderRef - - - -ProviderRef represents the provider object - - - -_Appears in:_ -- [KeptnMetricSpec](#keptnmetricspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `name` _string_ | Name of the provider || x | | - - -#### ProviderResult - - - -ProviderResult stores reference of already collected provider query associated to its objective template - - - -_Appears in:_ -- [AnalysisStatus](#analysisstatus) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `objectiveReference` _[ObjectReference](#objectreference)_ | Objective store reference to corresponding objective template || ✓ | | -| `query` _string_ | Query represents the executed query || ✓ | | -| `value` _string_ | Value is the value the provider returned || ✓ | | -| `errMsg` _string_ | ErrMsg stores any possible error at retrieval time || ✓ | | - - -#### RangeSpec - - - -RangeSpec defines the time range for which data is to be queried - - - -_Appears in:_ -- [IntervalResult](#intervalresult) -- [KeptnMetricSpec](#keptnmetricspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `interval` _string_ | Interval specifies the duration of the time interval for the data query |5m| ✓ | | -| `step` _string_ | Step represents the query resolution step width for the data query || ✓ | | -| `aggregation` _string_ | 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]
| -| `storedResults` _integer_ | StoredResults indicates the upper limit of how many past results should be stored in the status of a KeptnMetric || ✓ | Maximum: 255
| - - -#### RangeValue - - - -RangeValue represents a range which the value should fit - - - -_Appears in:_ -- [Operator](#operator) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `lowBound` _[Quantity](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#quantity-resource-api)_ | LowBound defines the lower bound of the range || x | | -| `highBound` _[Quantity](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#quantity-resource-api)_ | HighBound defines the higher bound of the range || x | | - - -#### Target - - - -Target defines the failure and warning criteria - - - -_Appears in:_ -- [Objective](#objective) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `failure` _[Operator](#operator)_ | Failure defines limits up to which an analysis fails || ✓ | | -| `warning` _[Operator](#operator)_ | Warning defines limits where the result does not pass or fail || ✓ | | - - -#### Timeframe - - - - - - - -_Appears in:_ -- [AnalysisSpec](#analysisspec) -- [AnalysisStatus](#analysisstatus) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `from` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | From is the time of start for the query. This field follows RFC3339 time format || ✓ | | -| `to` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | To is the time of end for the query. This field follows RFC3339 time format || ✓ | | -| `recent` _[Duration](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#duration-v1-meta)_ | 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
| - - -#### TotalScore - - - -TotalScore defines the required score for an analysis to be successful - - - -_Appears in:_ -- [AnalysisDefinitionSpec](#analysisdefinitionspec) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `passPercentage` _integer_ | PassPercentage defines the threshold to reach for an analysis to pass || x | Maximum: 100
Minimum: 0
| -| `warningPercentage` _integer_ | WarningPercentage defines the threshold to reach for an analysis to pass with a 'warning' status || x | Maximum: 100
Minimum: 0
| - - diff --git a/docs/docs/reference/api-reference/options/index.md b/docs/docs/reference/api-reference/options/index.md deleted file mode 100644 index 598400e8dc..0000000000 --- a/docs/docs/reference/api-reference/options/index.md +++ /dev/null @@ -1,3 +0,0 @@ -# Options API - -Reference information about the Options API. diff --git a/docs/docs/reference/api-reference/options/v1alpha1/index.md b/docs/docs/reference/api-reference/options/v1alpha1/index.md deleted file mode 100644 index fbcda0564d..0000000000 --- a/docs/docs/reference/api-reference/options/v1alpha1/index.md +++ /dev/null @@ -1,79 +0,0 @@ -# v1alpha1 - -Reference information for options.keptn.sh/v1alpha1 - - - -## Packages -- [options.keptn.sh/v1alpha1](#optionskeptnshv1alpha1) - - -## options.keptn.sh/v1alpha1 - -Package v1alpha1 contains API Schema definitions for the options v1alpha1 API group - -### Resource Types -- [KeptnConfig](#keptnconfig) -- [KeptnConfigList](#keptnconfiglist) - - - -#### KeptnConfig - - - -KeptnConfig is the Schema for the keptnconfigs API - - - -_Appears in:_ -- [KeptnConfigList](#keptnconfiglist) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `options.keptn.sh/v1alpha1` | | | | -| `kind` _string_ | `KeptnConfig` | | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation about [`metadata`](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#attaching-metadata-to-objects). || ✓ | | -| `spec` _[KeptnConfigSpec](#keptnconfigspec)_ | || ✓ | | -| `status` _string_ | unused field || ✓ | | - - -#### KeptnConfigList - - - -KeptnConfigList contains a list of KeptnConfig - - - - - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `apiVersion` _string_ | `options.keptn.sh/v1alpha1` | | | | -| `kind` _string_ | `KeptnConfigList` | | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#listmeta-v1-meta)_ | || ✓ | | -| `items` _[KeptnConfig](#keptnconfig) array_ | || x | | - - -#### KeptnConfigSpec - - - -KeptnConfigSpec defines the desired state of KeptnConfig - - - -_Appears in:_ -- [KeptnConfig](#keptnconfig) - -| Field | Description | Default | Optional |Validation | -| --- | --- | --- | --- | --- | -| `OTelCollectorUrl` _string_ | OTelCollectorUrl can be used to set the Open Telemetry collector that the lifecycle operator should use || ✓ | | -| `keptnAppCreationRequestTimeoutSeconds` _integer_ | KeptnAppCreationRequestTimeoutSeconds is used to set the interval in which automatic app discovery
searches for workload to put into the same auto-generated KeptnApp |30| ✓ | | -| `cloudEventsEndpoint` _string_ | CloudEventsEndpoint can be used to set the endpoint where Cloud Events should be posted by the lifecycle operator || ✓ | | -| `blockDeployment` _boolean_ | BlockDeployment is used to block the deployment of the application until the pre-deployment
tasks and evaluations succeed |true| ✓ | | -| `observabilityTimeout` _[Duration](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#duration-v1-meta)_ | 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. |5m| ✓ | Pattern: `^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$`
Type: string
| -| `restApiEnabled` _boolean_ | RestApiEnabled can be used to enable or disable the Keptn Rest Client |false| ✓ | | - - diff --git a/docs/docs/reference/crd-reference/analysis.md b/docs/docs/reference/crd-reference/analysis.md deleted file mode 100644 index b5cb375056..0000000000 --- a/docs/docs/reference/crd-reference/analysis.md +++ /dev/null @@ -1,305 +0,0 @@ ---- -comments: true ---- - -# Analysis - -An `Analysis` is a snapshot of your current application status. -Based on your defined SLIs, it can validate that your SLOs are satisfied, -using the data coming from your defined set of `KeptnMetricsProvider` resources. - -The `Analysis` resource is an instance of an -[AnalysisDefinition](analysisdefinition.md) resource -which defines specific data like -the time for which the analysis should be done -and the appropriate values to use for variables -that are used in the `AnalysisDefinition` query. - -## Synopsis - -```yaml -apiVersion: metrics.keptn.sh/v1 -kind: Analysis -metadata: - name: -spec: - timeframe: from: to: | `recent ` - args: - : - : - ... - analysisDefinition: - name: - state: Completed | Progressing -``` - -## Fields - -- **apiVersion** -- API version being used -- **kind** -- Resource type. - Must be set to `Analysis` -- **metadata** - - **name** -- Unique name of this analysis. - Names must comply with the - [Kubernetes Object Names and IDs](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#dns-subdomain-names) - specification. -- **spec** - - **timeframe** (required) -- Specifies the range for the corresponding query - in the AnalysisValueTemplate. - This can be populated as one of the following: - - - A combination of ‘from’ and ‘to’ - to specify the start and stop times for the analysis. - These fields follow the - [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) - timestamp format. - - Set the ‘recent’ property to a time span. - This causes the Analysis to use data going back that amount of time. - For example, if `recent: 10m` is set, - the Analysis studies data from the last ten minutes. - - If neither is set, the Analysis can not be added to the cluster. - - - **args** -- Map of key/value pairs that can be used - to substitute variables in the `AnalysisValueTemplate` query. - - **analysisDefinition** (required) -- Identify the `AnalysisDefinition` resource - that stores the `AnalysisValuesTemplate` associated with this `Analysis` - - **name** -- Name of the `AnalysisDefinition` resource - - **namespace** (optional) -- - Namespace of the `AnalysisDefinition` resource. - The `AnalysisDefinition` resource can be located in any namespace. - If the namespace is not specified, - the analysis controller looks for the `AnalysisDefinition` resource - in the same namespace as the `Analysis` resource. -- **status** -- results of this Analysis run, - added to the resource by Keptn, - based on criteria defined in the `AnalysisDefinition` resource. - - - **warning** -- Whether the analysis returned a warning. - - **raw** -- String-encoded JSON object that reports the results - of evaluating one or more objectives or metrics. - See - [Interpreting Analysis results](#interpreting-analysis-results) - for details. - - **state** -- Set to `Completed` or `Progressing` as appropriate. - -## Interpreting Analysis results - -The `status.raw` field is a string encoded JSON object object that represents the -results of evaluating one or more performance objectives or metrics. -It shows whether these objectives have passed or failed, their actual values, and the associated scores. -In this example, the objectives include response time and error rate analysis, -each with its own criteria for passing or failing. -The overall evaluation has passed, and no warnings have been issued. - -> Note: Please check the inline annotations to get more information about the particular lines you are interested in. - -```json -{ - "objectiveResults"/*(1)!*/: [ - { - "result"/*(2)!*/: { - "failResult"/*(3)!*/: { - "operator": { - "greaterThan": { - "fixedValue": "500m" - } - }, - "fulfilled": false - }, - "warnResult"/*(4)!*/: { - "operator": { - "greaterThan": { - "fixedValue": "300m" - } - }, - "fulfilled": false - }, - "warning"/*(5)!*/: false, - "pass"/*(6)!*/: true - }, - "objective"/*(7)!*/: { - "analysisValueTemplateRef"/*(8)!*/: { - "name": "response-time-p95" - }, - "target"/*(9)!*/: { - "failure": { - "greaterThan": { - "fixedValue": "500m" - } - }, - "warning" : { - "greaterThan": { - "fixedValue": "300m" - } - } - }, - "weight"/*(10)!*/: 1 - }, - "value"/*(11)!*/: 0.00475, - "score"/*(12)!*/: 1 - }, - { - "result"/*(13)!*/: { - "failResult": { - "operator": { - "greaterThan": { - "fixedValue": "0" - } - }, - "fulfilled": false - }, - "warnResult": { - "operator": { - - }, - "fulfilled": false - }, - "warning": false, - "pass": true - }, - "objective"/*(14)!*/: { - "analysisValueTemplateRef"/*(15)!*/: { - "name": "error-rate" - }, - "target"/*(16)!*/: { - "failure": { - "greaterThan": { - "fixedValue": "0" - } - } - }, - "weight"/*(17)!*/: 1, - "keyObjective"/*(18)!*/: true - }, - "value"/*(19)!*/: 0, - "score"/*(20)!*/: 1 - } - ], - "totalScore"/*(21)!*/: 2, - "maximumScore"/*(22)!*/: 2, - "pass"/*(23)!*/: true, - "warning"/*(24)!*/: false -} -``` - -1. **`objectiveResults`**: This is an array containing one or more objects, - each representing the results of a specific objective or performance metric. -2. **`result`** -- This object contains information about whether the objective has passed or failed. - It has two sub-objects **`failResult`** & **`warnResult`** -3. **`failResult`** -- Indicates whether the objective has failed. - In this case, it checks if a value is greater than 500 milliseconds and it has not been fulfilled (`fulfilled: false`). -4. **`warnResult`** -- Indicates whether the objective has issued a warning. - It checks if a value is greater than 300 milliseconds -5. **`warning`** (false in this case). -6. **`pass`** -- Indicates whether the objective has passed (true in this case). -7. **`objective`** -- Describes the objective being evaluated. - It includes: **`analysisValueTemplateRef`** , **`target`** & **`weight`** -8. **`analysisValueTemplateRef`** -- Refers to the template used for analysis (`response-time-p95`). -9. **`target`** -- Sets the target value for failure (failure occurs if the value is greater than 0). - In this case, failure occurs - if the value is greater than 500 milliseconds and warning occurs if it's greater than 300 milliseconds. -10. **`weight`** -- Specifies the weight assigned to this objective (weight: 1). -11. **`value`** -- Indicates the actual value measured for this objective (value: 0.00475). -12. **`score`** -- Indicates the score assigned to this objective (score: 1). -13. **`result`** -- Similar to the first objective, - it checks whether a value is greater than 0 and has not been fulfilled (`fulfilled: false`). - There are no warning conditions in this case. -14. **`objective`** -- Describes the objective related to error rate analysis. -15. **`analysisValueTemplateRef`** -- Refers to the template used for analysis (`error-rate`). -16. **`target`** -- Sets the target value for failure (failure occurs if the value is greater than 0). -17. **`weight`** -- Specifies the weight assigned to this objective (weight: 1). -18. **`keyObjective`** -- Indicates that this is a key objective (true). -19. **`value`** -- Indicates the actual value measured for this objective (value: 0). -20. **`score`** -- Indicates the score assigned to this objective (score: 1). -21. **`totalScore`** -- Represents the total score achieved based on the objectives evaluated (totalScore: 2). -22. **`maximumScore`** -- Indicates the maximum possible score (maximumScore: 2). -23. **`pass`** -- Indicates whether the overall evaluation has passed (true in this case). -24. **`warning`** -- Indicates whether any warnings have been issued during the evaluation (false in this case). - -## Usage - -An `Analysis` resource specifies a single Analysis run. -It specifies the `AnalysisValueTemplate` resource -that defines the calculations to use, -the timeframe for which to report information, -and values to use for variables for this run. - -The result of this analysis stays in the cluster -until the `Analysis` is deleted. -That also means that, if another analysis should be performed, -the new analysis must be given a new, unique name within the namespace. - -To perform an Analysis (or "trigger an evaluation" in Keptn v1 jargon), -apply the `analysis-instance.yaml` file: - -```shell -kubectl apply -f analysis-instance.yaml -n keptn-lifecycle-poc -``` - -Retrieve the current status of the Analysis with the following command: - -```shell -kubectl get analysis - n keptn-lifecycle-poc -``` - -This yields an output that looks like the following: - -```shell -NAME ANALYSISDEFINITION WARNING PASS -analysis-sample-1 my-project-ad true -``` - -This shows that the analysis passed successfully. - -To get the detailed result of the evaluation, -use the `-oyaml` argument to inspect the full state of the analysis: - -This displays the `Analysis` resource -with the definition of the analysis -as well as the `status` (results) of the analysis; for example: - -```shell -kubectl get analysis - n keptn-lifecycle-poc -oyaml -``` - -## Examples - -```yaml -{% include "../../assets/crd/analysis.yaml" %} -``` - -This `Analysis` resource: - -- Defines the `timeframe` for which the analysis is done - as between 5 am and 10 am on the 5th of May 2023 -- Adds a few specific key-value pairs that will be substituted in the query. - For instance, the query could contain the `{{.nodename}}` variable. - The value of the `args.nodename` field (`test`) - will be substituted for this string. - -For a full example of how to implement the Keptn Analysis feature, see the -[Analysis](../../guides/slo.md) -guide page. - -## Files - -API reference: [Analysis](../api-reference/metrics/v1/index.md#analysis) - -## Differences between versions - -The Keptn Analysis feature is an official part of Keptn v0.10.0 and later. -Keptn v0.8.3 included a preliminary release of this feature -but it was hidden behind a feature flag. -The behavior of this feature is unchanged since v0.8.3. - -## See also - -- [AnalysisDefinition](analysisdefinition.md) -- [AnalysisValueTemplate](analysisvaluetemplate.md) -- [Analysis](../../guides/slo.md) guide diff --git a/docs/docs/reference/crd-reference/analysisdefinition.md b/docs/docs/reference/crd-reference/analysisdefinition.md deleted file mode 100644 index dd65d440c1..0000000000 --- a/docs/docs/reference/crd-reference/analysisdefinition.md +++ /dev/null @@ -1,160 +0,0 @@ ---- -comments: true ---- - -# AnalysisDefinition - -An `AnalysisDefinition` resource defines the -list of Service Level Objectives (SLOs) for an `Analysis`. - -## Synopsis - -```yaml -apiVersion: metrics.keptn.sh/v1 -kind: AnalysisDefinition -metadata: - name: - namespace: -spec: - objectives: - - analysisValueTemplateRef: - name: - namespace: - target: - failure: - : - fixedValue: | - inRange: | notInRange: - lowBound: | - highBound: | - warning: - : - fixedValue: | - inRange: | notInRange: - lowBound: | - highBound: | - weight: - keyObjective: - totalScore: - passPercentage: - warningPercentage: -``` - -## Fields - -- **apiVersion** -- API version being used -- **kind** -- Resource type. - Must be set to `AnalysisDefinition`. - - **metadata** - - **name** -- Unique name of this analysis definition. - Names must comply with the - [Kubernetes Object Names and IDs](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#dns-subdomain-names) - specification. - - **namespace** -- Namespace where this resource is located. - `Analysis` resources must specify this namespace - when referencing this definition, - unless it resides in the same namespace as the `Analysis` resource. -- **spec** - - **objectives** - A list of objectives whose results are combined - to determine whether the analysis fails, passes, or passes with a warning. - - **analysisValueTemplateRef** (required) -- - This string marks the beginning of each objective - - **name** (required) -- The `metadata.name` value of the - [AnalysisValueTemplateRef](analysisvaluetemplate.md) - resource that defines the SLI used for this objective. - That resource defines the data provider and the query to use. - - **namespace** -- - Namespace of the `analysisValueTemplateRef` resource. - If the namespace is not specified, - the analysis controller looks for the `AnalysisValueTemplateRef` resource - in the same namespace as the `Analysis` resource. - - - **target** -- defines failure or, optionally, warning criteria. - Values not specified for failure or warning result in a pass. - Keptn writes the results of the analysis to the `status` section - of the - [Analysis](analysis.md) - resource after the analysis runs. - - To use a value that includes a fraction, use a Kubernetes - [quantity](https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/) - value rather than a `float`. - For example, use the `3m` quantity rather than the `0.003` float; - a `float` value here causes `Invalid value` errors. - A whole number (integer) is also a legal `quantity` value. - - - **failure** -- criteria for failure, specified as - `operator: `. - This can be specified either as an absolute `quantity` value - or as a range of values. - - Valid operators for absolute values are: - - - `lessThan` -- `<` operator - - `lessThanOrEqual` -- `<=` operator - - `greaterThan` -- `>` operator - - `greaterThanOrEqual` -- `>=` operator - - `equalTo` -- `==` operator - - Valid operators for specifying ranges are: - - - `inRange` -- value is inclusively in the defined range - - `notInRange` -- value is exclusively out of the defined range - - Each of these operators require two arguments: - - - `lowBound` -- minimum `quantity` value of the range included or excluded - - `highBound` -- maximum `quantity` value of the range included or excluded - - - **warning** -- criteria for a warning, specified in the same way as the `failure` field. - - - **weight** -- used to emphasize the importance of one `objective` over others - - **keyObjective** -- If set to `true`, the entire analysis fails if this particular objective fails, - no matter what the actual `score` of the analysis is - - - **totalScore** (required) -- - - **passPercentage** -- threshold to reach for the full analysis (all objectives) to pass - - **warning** Percentage - for the full analysis (all objectives) to pass with `warning` status - -## Usage - -An `AnalysisDefinition` resource contains a list of objectives to satisfy. -Each of these objectives must specify: - -- The `AnalysisValueTemplate` resource that contains the SLIs, - defining the data provider from which to gather the data - and how to compute the Analysis -- Failure or warning target criteria -- Whether the objective is a key objective - meaning that its failure fails the Analysis -- Weight of the objective on the overall Analysis - -## Example - -```yaml -{% include "https://raw.githubusercontent.com/keptn/lifecycle-toolkit/main/metrics-operator/config/samples/metrics_v1_analysisdefinition.yaml" %} -``` - -For a full example of how to implement the Keptn Analysis feature, see the -[Analysis](../../guides/slo.md) -guide page. - -## Files - -API reference: -[AnalysisDefinition](../api-reference/metrics/v1/index.md#analysisdefinition) - -## Differences between versions - -The Keptn Analysis feature is an official part of Keptn v0.10.0 and later. -Keptn v0.8.3 included a preliminary release of this feature -but it was hidden behind a feature flag. -The behavior of this feature is unchanged since v0.8.3. - -## See also - -- [Analysis](analysis.md) -- [AnalysisValueTemplate](analysisvaluetemplate.md) -- [Analysis](../../guides/slo.md) guide diff --git a/docs/docs/reference/crd-reference/analysisvaluetemplate.md b/docs/docs/reference/crd-reference/analysisvaluetemplate.md deleted file mode 100644 index 472baac427..0000000000 --- a/docs/docs/reference/crd-reference/analysisvaluetemplate.md +++ /dev/null @@ -1,102 +0,0 @@ ---- -comments: true ---- - -# AnalysisValueTemplate - -An `AnalysisValueTemplate` resource -defines a Service Level Indicator (SLI), -which identifies the data to be analyzed -by a data source to use and the query to issue. -One Analysis can use data from multiple AnalysisValueTemplates. - -## Synopsis - -```yaml -apiVersion: metrics.keptn.sh/v1 -kind: AnalysisValueTemplate -metadata: - name: response-time-p95 - namespace: -spec: - provider: - name: cortex | datadog | dql | dynatrace | prometheus | elastic | thanos - query: -``` - -## Fields - -- **apiVersion** -- API version being used -- **kind** -- Resource type. - Must be set to `AnalysisValueTemplate` -- **metadata** - - - **name** -- Unique name of this template. - Names must comply with the - [Kubernetes Object Names and IDs](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#dns-subdomain-names) - specification. - - **namespace** (optional) -- Namespace where this template lives. - `Analysis` resources must specify this namespace - when referencing this definition, - unless it resides in the same namespace as the `Analysis` resource. - -- **spec** - - **provider** (required) -- the KeptnMetricProvider - - **name** -- The `spec.name` value of the - [KeptnMetricsProvider](metricsprovider.md) resource to use. - Note that each `AnalysisValueTemplate` resource - can use only one data source. - However, an `Analysis` resource - can use multiple `AnalysisValueTemplate` resources, - each of which uses a different data source. - - **query** (required) -- query to be made. - This is done in the data provider's query language. - It can include variables that use the go templating syntax - to insert a placeholder in the query. - For example, the query might include `{{.nodename}}'}`; - the value to substitute for that variable for this Analysis - is defined in the `spec.args` section of the `AnalysisTemplate` resource, - which might be set to `nodename: test`. - -## Usage - -You must define a -[KeptnMetricsProvider](metricsprovider.md) -for each instance of each data provider you are using. -The `AnalysisValueTemplate` refers to that provider and queries it. - -One `Analysis` can use data from multiple instances -of multiple types of data provider; -you must define a -[KeptnMetricsProvider](metricsprovider.md) -resource for each instance of each data provider you are using. -The template refers to that provider and queries it. - -## Example - -```yaml -{% include "../../assets/crd/analysis-template.yaml" %} -``` - -For a full example of how the `AnalysisValueTemplate` is used -to implement the Keptn Analysis feature, see the -[Analysis](../../guides/slo.md) -guide page. - -## Files - -API reference: -[AnalysisValueTemplate](../api-reference/metrics/v1/index.md#analysisvaluetemplate) - -## Differences between versions - -The Keptn Analysis feature is an official part of Keptn v0.10.0 and later. -Keptn v0.8.3 included a preliminary release of this feature -but it was hidden behind a feature flag. -The behavior of this feature is unchanged since v0.8.3. - -## See also - -- [Analysis](analysis.md) -- [AnalysisDefinition](analysisdefinition.md) -- [Analysis](../../guides/slo.md) guide diff --git a/docs/docs/reference/crd-reference/app.md b/docs/docs/reference/crd-reference/app.md deleted file mode 100644 index b51f844b31..0000000000 --- a/docs/docs/reference/crd-reference/app.md +++ /dev/null @@ -1,140 +0,0 @@ ---- -comments: true ---- - -# KeptnApp - -The auto-generated `KeptnApp` resource aggregates all the -[workloads](https://kubernetes.io/docs/concepts/workloads/) -that constitute a logical Keptn application, based on the annotations made -to the workloads. - -## Synopsis - -```yaml -apiVersion: lifecycle.keptn.sh/v1 -kind: KeptnApp -metadata: - name: - namespace: - labels: - app.kubernetes.io/managed-by: keptn -spec: - version: "x.y" - revision: x - workloads: - - name: - version: - - name: - version: -``` - -## Fields - -The first set of fields are created automatically -when the app discovery feature generates the `KeptnApp` resource: - -- **apiVersion** -- API version being used. -- **kind** -- Resource type. - Must be set to `KeptnApp` - -- **metadata** - - **name** -- Unique name of this application. - Names must comply with the - [Kubernetes Object Names and IDs](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#dns-subdomain-names) - specification. - This value is the `name` assigned to the `keptn.sh/app` or `app.kubernetes.io/part-of` - label or annotation for the workloads included in this `KeptnApp`. - If a `KeptnAppContext` resource is associated with this resource, it must have the same `name` as this `KeptnApp`. - - **namespace** -- Namespace of this application. - If a `KeptnAppContext` resource is associated with this resource, - it must have the same `namespace` as this `KeptnApp`. - - **labels** - - **app-kubernetes.io/managed-by: keptn** -- - Tells Keptn that this resource was autogenerated, which is always the case for the `v1` version. -- **spec** - - **version** (required) -- version of the Keptn application. - - **revision** -- revision of a `version`. - The value is an integer that can be modified to trigger another deployment of a `KeptnApp` of the same version. - For example, increment this number to restart a `KeptnApp` version that failed to deploy, perhaps because a - `preDeploymentEvaluation` or `preDeploymentTask` failed. - See - [Restart an Application Deployment](../../guides/restart-application-deployment.md) - for a longer discussion of this. - - **workloads** - - **name** (required) -- name of this Kubernetes - [workload](https://kubernetes.io/docs/concepts/workloads/). - Each [workload](https://kubernetes.io/docs/concepts/workloads/) - associated with this Keptn application has one entry. - - **version** (required) -- version number for this - [workload](https://kubernetes.io/docs/concepts/workloads/). - Changing this number causes a new execution of checks for this - [workload](https://kubernetes.io/docs/concepts/workloads/) only, not the entire application. - -## Usage - -Kubernetes defines [workloads](https://kubernetes.io/docs/concepts/workloads/) but does not define applications. -Keptn adds the concept of applications defined as a set of workloads that can be executed. -A `KeptnApp` resource is added into the repository of the deployment engine (ArgoCD, Flux, etc.) -and is then deployed by that deployment engine. - -A `KeptnApp` resource is created automatically, using the -[automatic application discovery](../../guides/auto-app-discovery.md) -feature to generate a `KeptnApp` resource based on the -[basic annotations](../../guides/integrate.md#basic-annotations) that are applied to any of the workload resources. -This allows you to use the Keptn observability features for existing resources -without manually populating any Keptn related resources. - -The release lifecycle management feature allows you to define pre- and post-deployment -evaluations and tasks to be run for the `KeptnApp` as a whole. -These must be added to the `KeptnApp` manifest manually. -Note that all evaluations or tasks for a specific stage (such as `preDeploymentTasks`) are executed in parallel. -If you have a series of tasks that should be executed sequentially, -you can code them all into a single `KeptnTaskDefinition`. - -## Example - -This shows an example `v1` `KeptnApp` resource with the corresponding [KeptnAppContext](appcontext.md) resource. - -```yaml -{% include "../../migrate/keptnapp/assets/keptnapp-migrated.yaml" %} -``` - -## Files - -## Differences between versions - -The synopsis of the `KeptnApp` resource is changed in the `v1beta1` and newer API versions: - -- `KeptnApp` is [autogenerated](../../guides/auto-app-discovery.md); - you cannot create it manually by applying a manifest. -- The `app.kubernetes.io/managed-by: keptn` label or annotation is always used for the `v1beta1` and newer versions - because the `KeptnApp` resource is always autogenerated. - In earlier releases, this label was not included in `KeptnApp` resources that were created by applying a manifest - that had been created manually. -- If you want to use a `KeptnAppContext` resource with your application, the `name` and `namespace` fields - are taken from the annotations of the deployed Kubernetes workloads. - The corresponding `KeptnAppContext` resource (if any), must have identical values for these fields. -- The `metadata.version` field is now completely managed by Keptn and is computed as the hash of all workloads versions. - You do not increment this value to cause a new execution of tasks and evaluations; - the only way to trigger a new execution is to increment the `spec.revision` field for the `KeptnApp` resource. -- The pre/post-deployment tasks and evaluations are now defined in the [KeptnAppContext](appcontext.md) - resource rather than in the `KeptnApp` resource. - -`KeptnApp` resources that were completely autogenerated -for earlier versions are automatically converted to the new structure. -You must manually migrate older `KeptnApp` resources that were created manually or that were manually edited -to add pre/post-deployment tasks and evaluations. -For more information please refer to the [migration section](../../migrate/keptnapp/index.md). - -## See also - -- [KeptnAppContext](appcontext.md) -- [KeptnTaskDefinition](taskdefinition.md) -- [KeptnEvaluationDefinition](evaluationdefinition.md) -- [Deployment tasks](../../guides/tasks.md) -- [Architecture of KeptnWorkloads and KeptnTasks](../../components/lifecycle-operator/keptn-apps.md) -- Getting started with - [Release Lifecycle Management](../../getting-started/lifecycle-management.md) -- [Use Keptn automatic app discovery](../../guides/auto-app-discovery.md) -- [Restart an Application Deployment](../../guides/restart-application-deployment.md) diff --git a/docs/docs/reference/crd-reference/appcontext.md b/docs/docs/reference/crd-reference/appcontext.md deleted file mode 100644 index a238bffb0f..0000000000 --- a/docs/docs/reference/crd-reference/appcontext.md +++ /dev/null @@ -1,167 +0,0 @@ ---- -comments: true ---- - -# KeptnAppContext - -The `KeptnAppContext` custom resource works with the corresponding -[KeptnApp](app.md) resource -that has the same name and is located in the same namespace. -It allows you to - -- Add metadata and links to traces for a specific application. - This enables you to enrich your traces with additional information that - you can use to better understand and analyze - the performance of your applications. - -- Define tasks and evaluations that run - before or after the deployment of the `KeptnApp`. - -## Synopsis - -```yaml -apiVersion: lifecycle.keptn.sh/v1 -kind: KeptnAppContext -metadata: - name: - namespace: -spec: - metadata: - - spanLinks: - - "" - preDeploymentTasks: - - - postDeploymentTasks: - - - preDeploymentEvaluations: - - - postDeploymentEvaluations: - - - promotionTasks: - - -``` - -## Fields - -- **apiVersion** -- API version being used. - Must be set to `lifecycle.keptn.sh/v1` -- **kind** -- Resource type. - Must be set to `KeptnAppContext` - -- **metadata** - - **name** -- Unique name of this `KeptnAppContext` resource. - Names must comply with the - [Kubernetes Object Names and IDs](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#dns-subdomain-names) - specification - and match the `name` given to the associated `KeptnApp` resource. - - **namespace** -- Namespace of this application. - This must match the `namespace` given to the associated `KeptnApp` resource. -- **spec** - - **metadata** -- list of key-value pairs - that are propagated to the application trace as attributes. - For example, the following lines add the `commit-id` and `author` information to the `KEPTN_CONTEXT` - of the workload or `KeptnApp` where it is specified: - - ```yaml - spec: - metadata: - commit-id: "1234" - author: "myUser" - ``` - - For more information, see [Context metadata](../../guides/metadata.md). - - - **spanLinks** -- List of OpenTelemetry span links - that connect multiple traces. - For example, this can be used to connect deployments of the same application through different stages. - You can retrieve the value to use from the JSON representation of the trace in Jaeger. - The structure of this is: - - ```yaml - 00---01 - ``` - - After you add this field to your `KeptnAppContext` manifest, you must increment the `revision` number - of the corresponding `KeptnApp` resource and apply the manifest to store the information in the traces. - - For more information, see - [Advanced tracing configurations in Keptn Linking traces](../../guides/otel.md#advanced-tracing-configurations-in-keptn-linking-traces) - -The remaining fields are required only when implementing the release lifecycle management feature. -If used, these fields must be populated manually: - -- **spec** - - - **preDeploymentTasks** -- list each task - to be run as part of the pre-deployment stage. - Task names must match the value of the `metadata.name` field - for the associated [KeptnTaskDefinition](taskdefinition.md) resource. - - **postDeploymentTasks** -- list each task - to be run as part of the post-deployment stage. - Task names must match the value of the `metadata.name` field - for the associated - [KeptnTaskDefinition](taskdefinition.md) - resource. - - **preDeploymentEvaluations** -- list each evaluation to be run - as part of the pre-deployment stage. - Evaluation names must match the value of the `metadata.name` field - for the associated - [KeptnEvaluationDefinition](evaluationdefinition.md) - resource. - - **postDeploymentEvaluations** -- list each evaluation to be run - as part of the post-deployment stage. - Evaluation names must match the value of the `metadata.name` field - for the associated [KeptnEvaluationDefinition](evaluationdefinition.md) - resource. - - **promotionTasks** -- list each task - to be run as part of the promotion stage. - Task names must match the value of the `metadata.name` field - for the associated [KeptnTaskDefinition](taskdefinition.md) resource. - -## Usage - -`KeptnAppContext` lists the tasks and evaluations to be executed pre/post-deployment. -Tasks referenced by `KeptnAppContext` are defined in a [KeptnTaskDefinition](taskdefinition.md) resource. -`KeptnAppContext` identifies each task by the value of the `metadata.name` field -and does not need to understand what runner is used to define the task. -Similarly, evaluations referenced are defined in a [KeptnEvaluationDefinition](evaluationdefinition.md) -resource and identified by the value of the `metadata.name` field; -`KeptnAppContext` does not need to understand the data source or query being used for the evaluation. - -## Example - -```yaml -apiVersion: lifecycle.keptn.sh/v1 -kind: KeptnAppContext -metadata: - name: podtato-head - namespace: podtato-kubectl -spec: - preDeploymentTasks: - - container-sleep - - python-secret -``` - -## Files - -[KeptnAppContext](../api-reference/lifecycle/v1/index.md#keptnappcontext) - -## Differences between versions - -The `KeptnAppContext` resource is new in the `v1beta1` version of the lifecycle operator. -Versions `v1beta1` and `v1` are fully compatible. - -## See also - -- [KeptnApp](app.md) -- [KeptnTaskDefinition](taskdefinition.md) -- [KeptnEvaluationDefinition](evaluationdefinition.md) -- [Deployment tasks](../../guides/tasks.md) -- [Architecture of KeptnWorkloads and KeptnTasks](../../components/lifecycle-operator/keptn-apps.md) -- Getting started with - [Release Lifecycle Management](../../getting-started/lifecycle-management.md) -- [Use Keptn automatic app discovery](../../guides/auto-app-discovery.md) -- [Restart an Application Deployment](../../guides/restart-application-deployment.md) -- [Context metadata](../../guides/metadata.md) -- [Advanced tracing configurations in Keptn Linking traces](../../guides/otel.md#advanced-tracing-configurations-in-keptn-linking-traces) diff --git a/docs/docs/reference/crd-reference/assets/keptnmetricsprovider-datadog.yaml b/docs/docs/reference/crd-reference/assets/keptnmetricsprovider-datadog.yaml deleted file mode 100644 index ea6fe8bb8a..0000000000 --- a/docs/docs/reference/crd-reference/assets/keptnmetricsprovider-datadog.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: metrics.keptn.sh/v1 -kind: KeptnMetricsProvider -metadata: - name: datadog-provider - namespace: podtato-kubectl -spec: - type: datadog - targetServer: "" - secretKeyRef: - name: datadog-secret ---- -apiVersion: v1 -kind: Secret -metadata: - name: datadog-secret -data: - DD_CLIENT_API_KEY: api-key - DD_CLIENT_APP_KEY: app-key -type: Opaque diff --git a/docs/docs/reference/crd-reference/assets/keptnmetricsprovider-dynatrace.yaml b/docs/docs/reference/crd-reference/assets/keptnmetricsprovider-dynatrace.yaml deleted file mode 100644 index 7d0f672132..0000000000 --- a/docs/docs/reference/crd-reference/assets/keptnmetricsprovider-dynatrace.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: metrics.keptn.sh/v1 -kind: KeptnMetricsProvider -metadata: - name: dynatrace-provider - namespace: podtato-kubectl -spec: - type: dynatrace | dql - targetServer: "" - secretKeyRef: - name: dt-api-token - key: myCustomTokenKey ---- -apiVersion: v1 -kind: Secret -metadata: - name: dt-api-token -data: - myCustomTokenKey: my-token -type: Opaque diff --git a/docs/docs/reference/crd-reference/assets/keptnmetricsprovider-elastic.yaml b/docs/docs/reference/crd-reference/assets/keptnmetricsprovider-elastic.yaml deleted file mode 100644 index efaaa5c306..0000000000 --- a/docs/docs/reference/crd-reference/assets/keptnmetricsprovider-elastic.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: metrics.keptn.sh/v1 -kind: KeptnMetricsProvider -metadata: - name: elastic-provider - namespace: podtato-kubectl -spec: - type: elastic - targetServer: "" - secretKeyRef: - name: elastic-api-key - key: myCustomTokenKey ---- -apiVersion: v1 -kind: Secret -metadata: - name: elastic-api-key -data: - myCustomTokenKey: my-token -type: Opaque diff --git a/docs/docs/reference/crd-reference/assets/keptnmetricsprovider-prometheus.yaml b/docs/docs/reference/crd-reference/assets/keptnmetricsprovider-prometheus.yaml deleted file mode 100644 index 408167e352..0000000000 --- a/docs/docs/reference/crd-reference/assets/keptnmetricsprovider-prometheus.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: metrics.keptn.sh/v1 -kind: KeptnMetricsProvider -metadata: - name: prometheus-provider - namespace: podtato-kubectl -spec: - type: prometheus - targetServer: "" - secretKeyRef: - name: prometheus-secret ---- -apiVersion: v1 -kind: Secret -metadata: - name: prometheus-secret -data: - password: password - user: user -type: Opaque diff --git a/docs/docs/reference/crd-reference/config.md b/docs/docs/reference/crd-reference/config.md deleted file mode 100644 index d1ab4e45d0..0000000000 --- a/docs/docs/reference/crd-reference/config.md +++ /dev/null @@ -1,100 +0,0 @@ ---- -comments: true ---- - -# KeptnConfig - -`KeptnConfig` defines Keptn configuration values. - -## Yaml Synopsis - -```yaml -apiVersion: options.keptn.sh/v1alpha1 -kind: KeptnConfig -metadata: - name: -spec: - OTelCollectorUrl: '' - keptnAppCreationRequestTimeoutSeconds: <#-seconds> - cloudEventsEndpoint: - blockDeployment: true | false - observabilityTimeout: -``` - -## Fields - -* **apiVersion** -- API version being used. -* **kind** -- Resource type. - Must be set to `KeptnConfig`. - -* **metadata** - * **name** -- Unique name of this set of configurations. - Names must comply with the - [Kubernetes Object Names and IDs](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#dns-subdomain-names) - specification. - -* **spec** - * **OTelCollectorUrl** -- The URL and port of the OpenTelemetry collector. - This field must be populated in order to export traces to the OpenTelemetry Collector. - * **keptnAppCreationRequestTimeoutSeconds** -- - Interval in which automatic app discovery searches for [workloads](https://kubernetes.io/docs/concepts/workloads/) - to put into the same auto-generated [KeptnApp](app.md). - The default value is 30 (seconds). - * **cloudEventsEndpoint** -- Endpoint where the lifecycle operator posts Cloud Events. - * **blockDeployment** -- If set to `true` (default), application deployment is blocked until the - pre-deployment tasks and evaluations succeed. - You can set this field to `false` when building up - your pre-deployment tasks and evaluations - so that your application is deployed - even if the pre-deployment tasks and/or evaluations fail. - For more information see the - [non-blocking deployment section](../../components/lifecycle-operator/keptn-non-blocking.md). - * **observabilityTimeout** -- specifies the maximum time - to observe the deployment phase of - [KeptnWorkload](../api-reference/lifecycle/v1/index.md). - The value supplied should specify the unit of measurement; - for example, `5m` indicates 5 minutes and `1h` indicates 1 hour. - If the workload is not deployed successfully within this time frame, - it is considered to be failed. - -## Usage - -Each cluster should have a single `KeptnConfig` CRD that describes all configurations for that cluster. - -## Example - -This example specifies: - -* the URL of the OpenTelemetry collector -* automatic app discovery that should be run every 40 seconds -* CloudEvents endpoint URL -* blocking functionality of the deployment of the application is disabled in case - of the pre-deployment task or evaluation failure - -```yaml -apiVersion: options.keptn.sh/v1alpha1 -kind: KeptnConfig -metadata: - name: keptn-config -spec: - OTelCollectorUrl: 'otel-collector:4317' - keptnAppCreationRequestTimeoutSeconds: 40 - cloudEventsEndpoint: 'http://endpoint.com' - blockDeployment: false - observabilityTimeout: 10m -``` - -## Files - -API Reference: - -* [KeptnTaskDefinition](../api-reference/lifecycle/v1/index.md#keptntaskdefinition) - -## Differences between versions - -## See also - -* [KeptnApp](./app.md) -* [OpenTelemetry observability](../../guides/otel.md) -* [Keptn automatic app discovery](../../guides/auto-app-discovery.md) -* [Keptn non-blocking deployment](../../components/lifecycle-operator/keptn-non-blocking.md) diff --git a/docs/docs/reference/crd-reference/evaluationdefinition.md b/docs/docs/reference/crd-reference/evaluationdefinition.md deleted file mode 100644 index bd2d8ea3b5..0000000000 --- a/docs/docs/reference/crd-reference/evaluationdefinition.md +++ /dev/null @@ -1,144 +0,0 @@ ---- -comments: true ---- - -# KeptnEvaluationDefinition - -A `KeptnEvaluationDefinition` assigns target values -to [KeptnMetric](metric.md) queries. -These are used as part of evaluation tasks -that Keptn runs -as part of pre- and post-analysis phases of a `KeptnApp` or workload. - -## Yaml Synopsis - -```yaml -apiVersion: lifecycle.keptn.sh/v1 -kind: KeptnEvaluationDefinition -metadata: - name: -spec: - retries: - retryInterval: - objectives: - - evaluationTarget: "" - keptnMetricRef: - name: available-cpus - namespace: some-namespace -``` - -## Fields - -* **apiVersion** -- API version being used. - Must be `v1beta1` or later for this syntax. -* **kind** -- Resource type. - Must be set to `KeptnEvaluationDefinition` - -* **metadata** - * **name** -- Unique name of this evaluation - such as `pre-deploy-eval` or `post-deploy-resource-eval`. - Names must comply with the - [Kubernetes Object Names and IDs](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#dns-subdomain-names) - specification. - -* **spec** - - * **objectives** (required) -- define the evaluations to be performed. - Each objective is expressed as a `keptnMetricRef` - and an `evaluationTarget` value. - - * **keptnMetricRef** (required) -- A reference to the [KeptnMetric](metric.md) object - - * **name** (required) -- Name of the referenced [KeptnMetric](metric.md) object - - * **namespace** -- Name of the referenced [KeptnMetric](metric.md) object - - * **evaluationTarget** (required) -- Desired value of the query, - expressed as an arithmetic formula, usually less than (`<`) or greater than (`>`) - This is used to define success or failure criteria for the referenced `KeptnMetric` in order to pass or fail - the pre- and post-evaluation stages - - * **retries** -- specifies the number of times - an `Keptnevaluation` defined by the `KeptnEvaluationDefinition` - should be restarted if an attempt is unsuccessful. - The default value is `10`. - * **retryInterval** -- specifies the time - to wait between the retries. - The value supplied should specify the unit of measurement; - for example, `5s` indicates 5 seconds and `5m` indicates 5 minutes. - The default value is `5s`. - -## Usage - -A `KeptnEvaluationDefinition` references one or more [KeptnMetric](metric.md) resources. -When multiple `KeptnMetric`s are used, Keptn considers the evaluation successful -if **all** metrics meet their `evaluationTarget`. - -The `KeptnMetric` resource and associated [KeptnMetricsProvider](metricsprovider.md) -resource must be located in the same namespace but the `KeptnEvaluationDefinition` resources -can reference metrics from any namespace in the cluster. -This means that you can create `KeptnMetricsProvider` and `KeptnMetric` resources -in a centralized namespace (e.g. in `keptn-system`) and use those metrics in evaluations -on all namespaces in the cluster. - -## Example - -```yaml -apiVersion: lifecycle.keptn.sh/v1 -kind: KeptnEvaluationDefinition -metadata: - name: my-prometheus-evaluation - namespace: example -spec: - retries: 5 - retryInterval: 10s - source: prometheus - objectives: - - keptnMetricRef: - name: available-cpus - namespace: example - evaluationTarget: ">1" - - keptnMetricRef: - name: cpus-throttling - namespace: example - evaluationTarget: "<0.01" -``` - -## Files - -API Reference: - -## Differences between versions - -In the `v1alpha1` and `v1alpha2` API versions, `KeptnEvaluationDefinition` referenced the `KeptnEvaluationProvider` CR -to identify the data source associated with this definition and itself contained the queries -that are now taken from the specified [KeptnMetric](metric.md) CRD. -The synopsis was: - -```yaml -apiVersion: lifecycle.keptn.sh/v1alpha2 -kind: KeptnEvaluationDefinition -metadata: - name: -spec: - source: datadog | dynatrace | prometheus - objectives: - - name: query-1 - query: "xxxx" - evaluationTarget: <20 - - name: query-2 - query: "yyyy" - evaluationTarget: >4 -``` - -Beginning with `v1beta1` API version, `KeptnEvaluationDefinition` references a `keptnMetricRef` -that points to a [KeptnMetric](metric.md) CR, that defines the data source, the query and the namespace to use. -The `KeptnEvaluationDefinition` merely specifies the evaluation target. - -> **Note** -Versions `v1beta1` and `v1` are fully compatible. - -## See also - -* [KeptnMetricsProvider](metricsprovider.md) -* [KeptnMetric](metric.md) diff --git a/docs/docs/reference/crd-reference/index.md b/docs/docs/reference/crd-reference/index.md deleted file mode 100644 index 06f42f647b..0000000000 --- a/docs/docs/reference/crd-reference/index.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -comments: true ---- - -# CRD Reference - -Explore the manifest files crucial for customizing Keptn Custom Resource Definitions (CRDs) -that you need to define the behavior of Keptn. diff --git a/docs/docs/reference/crd-reference/metric.md b/docs/docs/reference/crd-reference/metric.md deleted file mode 100644 index aad4bb48a7..0000000000 --- a/docs/docs/reference/crd-reference/metric.md +++ /dev/null @@ -1,203 +0,0 @@ ---- -comments: true ---- - -# KeptnMetric - -A `KeptnMetric` represents a metric that is collected from a provider. -Providing the metrics as a custom resource -facilitates the reusability of this data across multiple components -and allows using multiple observability platforms -for different metrics at the same time. - -`KeptnMetric` resources are also used as targets for -[EvaluationDefinition](evaluationdefinition.md) resources. - -## Yaml Synopsis - -```yaml -apiVersion: metrics.keptn.sh/v1 -kind: KeptnMetric -metadata: - name: - namespace: -spec: - provider: - name: "" - query: "" - fetchIntervalSeconds: <#-seconds> - range: - interval: "" - step: - aggregation: p90 | p95 | p99 | max | min | avg | median - storedResults: - status: - properties: - value: - rawValue: - errMsg: - lastUpdated: