diff --git a/charts/keptn-lifecycle-toolkit/Chart.yaml b/charts/keptn-lifecycle-toolkit/Chart.yaml index ec3659c..b819e90 100644 --- a/charts/keptn-lifecycle-toolkit/Chart.yaml +++ b/charts/keptn-lifecycle-toolkit/Chart.yaml @@ -41,10 +41,10 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 0.2.5 +version: 0.2.6 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to # follow Semantic Versioning. They should reflect the version the application is using. # It is recommended to use it with quotes. -appVersion: "v0.8.1" # x-release-please-version +appVersion: "v0.8.2" # x-release-please-version diff --git a/charts/keptn-lifecycle-toolkit/README.md b/charts/keptn-lifecycle-toolkit/README.md index 87bd11b..847af1c 100644 --- a/charts/keptn-lifecycle-toolkit/README.md +++ b/charts/keptn-lifecycle-toolkit/README.md @@ -1,7 +1,7 @@ -# Keptn Lifecycle Toolkit +# Keptn -KLT introduces a more cloud-native approach for pre- and post-deployment, as well as the concept of application health -checks +Keptn introduces a more cloud-native approach for pre- and post-deployment, +as well as the concept of application health checks ## Parameters @@ -13,7 +13,7 @@ checks | `scheduler.scheduler.containerSecurityContext` | Sets security context | | | `scheduler.scheduler.env.otelCollectorUrl` | sets url for open telemetry collector | `otel-collector:4317` | | `scheduler.scheduler.image.repository` | set image repository for scheduler | `ghcr.io/keptn/scheduler` | -| `scheduler.scheduler.image.tag` | set image tag for scheduler | `v0.8.1` | +| `scheduler.scheduler.image.tag` | set image tag for scheduler | `v0.8.2` | | `scheduler.scheduler.imagePullPolicy` | set image pull policy for scheduler | `Always` | | `scheduler.scheduler.livenessProbe` | customizable liveness probe for the scheduler | | | `scheduler.scheduler.readinessProbe` | customizable readiness probe for the scheduler | | @@ -35,7 +35,7 @@ checks | `certificateOperator.tolerations` | customize tolerations for cert manager | `[]` | | `certificateOperator.topologySpreadConstraints` | add topology constraints for cert manager | `[]` | | `lifecycleManagerConfig.controllerManagerConfigYaml.health.healthProbeBindAddress` | setup on what address to start the default health handler | `:8081` | -| `lifecycleManagerConfig.controllerManagerConfigYaml.leaderElection.leaderElect` | enable leader election for multiple replicas of the operator | `true` | +| `lifecycleManagerConfig.controllerManagerConfigYaml.leaderElection.leaderElect` | enable leader election for multiple replicas of the lifecycle operator | `true` | | `lifecycleManagerConfig.controllerManagerConfigYaml.leaderElection.resourceName` | define LeaderElectionID | `6b866dd9.keptn.sh` | | `lifecycleManagerConfig.controllerManagerConfigYaml.metrics.bindAddress` | MetricsBindAddress is the TCP address that the controller should bind to for serving prometheus metrics. It can be set to "0" to disable the metrics serving. | `127.0.0.1:8080` | | `lifecycleManagerConfig.controllerManagerConfigYaml.webhook.port` | setup port for the lifecycle operator admission webhook | `9443` | @@ -46,7 +46,7 @@ checks | ------------------------------------------------------ | ------------------------------------------------------------------------- | ------------------------------------ | | `certificateOperator.manager.containerSecurityContext` | Sets security context for the cert manager | | | `certificateOperator.manager.image.repository` | specify repo for manager image | `ghcr.io/keptn/certificate-operator` | -| `certificateOperator.manager.image.tag` | select tag for manager container | `v0.8.0` | +| `certificateOperator.manager.image.tag` | select tag for manager container | `v1.1.0` | | `certificateOperator.manager.imagePullPolicy` | select image pull policy for manager container | `Always` | | `certificateOperator.manager.env.labelSelectorKey` | specify the label selector to find resources to generate certificates for | `keptn.sh/inject-cert` | | `certificateOperator.manager.env.labelSelectorValue` | specify the value for the label selector | `true` | @@ -71,34 +71,34 @@ checks ### Keptn Lifecycle Operator controller -| Name | Description | Value | -| ----------------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------- | -| `lifecycleOperator.manager.containerSecurityContext` | Sets security context privileges | | -| `lifecycleOperator.manager.containerSecurityContext.allowPrivilegeEscalation` | | `false` | -| `lifecycleOperator.manager.containerSecurityContext.capabilities.drop` | | `["ALL"]` | -| `lifecycleOperator.manager.containerSecurityContext.privileged` | | `false` | -| `lifecycleOperator.manager.containerSecurityContext.runAsGroup` | | `65532` | -| `lifecycleOperator.manager.containerSecurityContext.runAsNonRoot` | | `true` | -| `lifecycleOperator.manager.containerSecurityContext.runAsUser` | | `65532` | -| `lifecycleOperator.manager.containerSecurityContext.seccompProfile.type` | | `RuntimeDefault` | -| `lifecycleOperator.manager.env.keptnAppControllerLogLevel` | sets the log level of Keptn App Controller | `0` | -| `lifecycleOperator.manager.env.keptnAppCreationRequestControllerLogLevel` | sets the log level of Keptn App Creation Request Controller | `0` | -| `lifecycleOperator.manager.env.keptnAppVersionControllerLogLevel` | sets the log level of Keptn AppVersion Controller | `0` | -| `lifecycleOperator.manager.env.keptnEvaluationControllerLogLevel` | sets the log level of Keptn Evaluation Controller | `0` | -| `lifecycleOperator.manager.env.keptnTaskControllerLogLevel` | sets the log level of Keptn Task Controller | `0` | -| `lifecycleOperator.manager.env.keptnTaskDefinitionControllerLogLevel` | sets the log level of Keptn TaskDefinition Controller | `0` | -| `lifecycleOperator.manager.env.keptnWorkloadControllerLogLevel` | sets the log level of Keptn Workload Controller | `0` | -| `lifecycleOperator.manager.env.keptnWorkloadInstanceControllerLogLevel` | sets the log level of Keptn WorkloadInstance Controller | `0` | -| `lifecycleOperator.manager.env.optionsControllerLogLevel` | sets the log level of Keptn Options Controller | `0` | -| `lifecycleOperator.manager.env.otelCollectorUrl` | Sets the URL for the open telemetry collector | `otel-collector:4317` | -| `lifecycleOperator.manager.env.functionRunnerImage` | specify image for deno task runtime | `ghcr.io/keptn/functions-runtime:v0.8.1` | -| `lifecycleOperator.manager.env.pythonRunnerImage` | specify image for python task runtime | `ghcr.io/keptn/python-runtime:v0.8.1` | -| `lifecycleOperator.manager.image.repository` | specify registry for manager image | `ghcr.io/keptn/lifecycle-operator` | -| `lifecycleOperator.manager.image.tag` | select tag for manager image | `v0.8.1` | -| `lifecycleOperator.manager.imagePullPolicy` | specify pull policy for manager image | `Always` | -| `lifecycleOperator.manager.livenessProbe` | custom livenessprobe for manager container | | -| `lifecycleOperator.manager.readinessProbe` | custom readinessprobe for manager container | | -| `lifecycleOperator.manager.resources` | specify limits and requests for manager container | | +| Name | Description | Value | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------- | ------------------------------------- | +| `lifecycleOperator.manager.containerSecurityContext` | Sets security context privileges | | +| `lifecycleOperator.manager.containerSecurityContext.allowPrivilegeEscalation` | | `false` | +| `lifecycleOperator.manager.containerSecurityContext.capabilities.drop` | | `["ALL"]` | +| `lifecycleOperator.manager.containerSecurityContext.privileged` | | `false` | +| `lifecycleOperator.manager.containerSecurityContext.runAsGroup` | | `65532` | +| `lifecycleOperator.manager.containerSecurityContext.runAsNonRoot` | | `true` | +| `lifecycleOperator.manager.containerSecurityContext.runAsUser` | | `65532` | +| `lifecycleOperator.manager.containerSecurityContext.seccompProfile.type` | | `RuntimeDefault` | +| `lifecycleOperator.manager.env.keptnAppControllerLogLevel` | sets the log level of Keptn App Controller | `0` | +| `lifecycleOperator.manager.env.keptnAppCreationRequestControllerLogLevel` | sets the log level of Keptn App Creation Request Controller | `0` | +| `lifecycleOperator.manager.env.keptnAppVersionControllerLogLevel` | sets the log level of Keptn AppVersion Controller | `0` | +| `lifecycleOperator.manager.env.keptnEvaluationControllerLogLevel` | sets the log level of Keptn Evaluation Controller | `0` | +| `lifecycleOperator.manager.env.keptnTaskControllerLogLevel` | sets the log level of Keptn Task Controller | `0` | +| `lifecycleOperator.manager.env.keptnTaskDefinitionControllerLogLevel` | sets the log level of Keptn TaskDefinition Controller | `0` | +| `lifecycleOperator.manager.env.keptnWorkloadControllerLogLevel` | sets the log level of Keptn Workload Controller | `0` | +| `lifecycleOperator.manager.env.keptnWorkloadInstanceControllerLogLevel` | sets the log level of Keptn WorkloadInstance Controller | `0` | +| `lifecycleOperator.manager.env.optionsControllerLogLevel` | sets the log level of Keptn Options Controller | `0` | +| `lifecycleOperator.manager.env.otelCollectorUrl` | Sets the URL for the open telemetry collector | `otel-collector:4317` | +| `lifecycleOperator.manager.env.functionRunnerImage` | specify image for deno task runtime | `ghcr.io/keptn/deno-runtime:v1.0.1` | +| `lifecycleOperator.manager.env.pythonRunnerImage` | specify image for python task runtime | `ghcr.io/keptn/python-runtime:v1.0.0` | +| `lifecycleOperator.manager.image.repository` | specify registry for manager image | `ghcr.io/keptn/lifecycle-operator` | +| `lifecycleOperator.manager.image.tag` | select tag for manager image | `v0.8.2` | +| `lifecycleOperator.manager.imagePullPolicy` | specify pull policy for manager image | `Always` | +| `lifecycleOperator.manager.livenessProbe` | custom livenessprobe for manager container | | +| `lifecycleOperator.manager.readinessProbe` | custom readinessprobe for manager container | | +| `lifecycleOperator.manager.resources` | specify limits and requests for manager container | | ### Keptn Metrics Operator common @@ -136,23 +136,25 @@ checks ### Keptn Metrics Operator controller -| Name | Description | Value | -| --------------------------------------------------------------------------- | ------------------------------------------------------------- | -------------------------------- | -| `metricsOperator.manager.containerSecurityContext` | Sets security context privileges | | -| `metricsOperator.manager.containerSecurityContext.allowPrivilegeEscalation` | | `false` | -| `metricsOperator.manager.containerSecurityContext.capabilities.drop` | | `["ALL"]` | -| `metricsOperator.manager.containerSecurityContext.privileged` | | `false` | -| `metricsOperator.manager.containerSecurityContext.runAsGroup` | | `65532` | -| `metricsOperator.manager.containerSecurityContext.runAsNonRoot` | | `true` | -| `metricsOperator.manager.containerSecurityContext.runAsUser` | | `65532` | -| `metricsOperator.manager.containerSecurityContext.seccompProfile.type` | | `RuntimeDefault` | -| `metricsOperator.manager.image.repository` | specify registry for manager image | `ghcr.io/keptn/metrics-operator` | -| `metricsOperator.manager.image.tag` | select tag for manager image | `v0.8.1` | -| `metricsOperator.manager.env.exposeKeptnMetrics` | enable metrics exporter | `true` | -| `metricsOperator.manager.env.metricsControllerLogLevel` | sets the log level of Metrics Controller | `0` | -| `metricsOperator.manager.livenessProbe` | custom livenessprobe for manager container | | -| `metricsOperator.manager.readinessProbe` | custom readinessprobe for manager container | | -| `metricsOperator.manager.resources` | specify limits and requests for manager container | | +| Name | Description | Value | +| --------------------------------------------------------------------------- | ------------------------------------------------- | -------------------------------- | +| `metricsOperator.manager.containerSecurityContext` | Sets security context privileges | | +| `metricsOperator.manager.containerSecurityContext.allowPrivilegeEscalation` | | `false` | +| `metricsOperator.manager.containerSecurityContext.capabilities.drop` | | `["ALL"]` | +| `metricsOperator.manager.containerSecurityContext.privileged` | | `false` | +| `metricsOperator.manager.containerSecurityContext.runAsGroup` | | `65532` | +| `metricsOperator.manager.containerSecurityContext.runAsNonRoot` | | `true` | +| `metricsOperator.manager.containerSecurityContext.runAsUser` | | `65532` | +| `metricsOperator.manager.containerSecurityContext.seccompProfile.type` | | `RuntimeDefault` | +| `metricsOperator.manager.image.repository` | specify registry for manager image | `ghcr.io/keptn/metrics-operator` | +| `metricsOperator.manager.image.tag` | select tag for manager image | `v0.8.2` | +| `metricsOperator.manager.env.exposeKeptnMetrics` | enable metrics exporter | `true` | +| `metricsOperator.manager.env.metricsControllerLogLevel` | sets the log level of Metrics Controller | `0` | +| `metricsOperator.manager.env.analysisControllerLogLevel` | sets the log level of Analysis Controller | `0` | +| `metricsOperator.manager.env.enableKeptnAnalysis` | enables/disables the analysis feature | `false` | +| `metricsOperator.manager.livenessProbe` | custom livenessprobe for manager container | | +| `metricsOperator.manager.readinessProbe` | custom readinessprobe for manager container | | +| `metricsOperator.manager.resources` | specify limits and requests for manager container | | ### Global diff --git a/charts/keptn-lifecycle-toolkit/doc.yaml b/charts/keptn-lifecycle-toolkit/doc.yaml index 459e333..9c52fa3 100644 --- a/charts/keptn-lifecycle-toolkit/doc.yaml +++ b/charts/keptn-lifecycle-toolkit/doc.yaml @@ -12,7 +12,7 @@ ## @param scheduler.scheduler.env.otelCollectorUrl sets url for open telemetry collector ## @param scheduler.scheduler.image.repository set image repository for scheduler -## @param scheduler.scheduler.image.tag set image tag for scheduler +## @param scheduler.scheduler.image.tag set image tag for scheduler ## @param scheduler.scheduler.imagePullPolicy set image pull policy for scheduler ## @extra scheduler.scheduler.livenessProbe customizable liveness probe for the scheduler @@ -50,7 +50,7 @@ ## @param certificateOperator.topologySpreadConstraints add topology constraints for cert manager ## @param lifecycleManagerConfig.controllerManagerConfigYaml.health.healthProbeBindAddress setup on what address to start the default health handler -## @param lifecycleManagerConfig.controllerManagerConfigYaml.leaderElection.leaderElect enable leader election for multiple replicas of the operator +## @param lifecycleManagerConfig.controllerManagerConfigYaml.leaderElection.leaderElect enable leader election for multiple replicas of the lifecycle operator ## @param lifecycleManagerConfig.controllerManagerConfigYaml.leaderElection.resourceName define LeaderElectionID ## @param lifecycleManagerConfig.controllerManagerConfigYaml.metrics.bindAddress MetricsBindAddress is the TCP address that the controller should bind to for serving prometheus metrics. It can be set to "0" to disable the metrics serving. ## @param lifecycleManagerConfig.controllerManagerConfigYaml.webhook.port setup port for the lifecycle operator admission webhook @@ -66,7 +66,7 @@ ## @skip certificateOperator.manager.containerSecurityContext.seccompProfile.type ## @param certificateOperator.manager.image.repository specify repo for manager image -## @param certificateOperator.manager.image.tag select tag for manager container +## @param certificateOperator.manager.image.tag select tag for manager container ## @param certificateOperator.manager.imagePullPolicy select image pull policy for manager container ## @param certificateOperator.manager.env.labelSelectorKey specify the label selector to find resources to generate certificates for @@ -132,11 +132,11 @@ ## @param lifecycleOperator.manager.env.optionsControllerLogLevel sets the log level of Keptn Options Controller ## @param lifecycleOperator.manager.env.otelCollectorUrl Sets the URL for the open telemetry collector -## @param lifecycleOperator.manager.env.functionRunnerImage specify image for deno task runtime -## @param lifecycleOperator.manager.env.pythonRunnerImage specify image for python task runtime +## @param lifecycleOperator.manager.env.functionRunnerImage specify image for deno task runtime +## @param lifecycleOperator.manager.env.pythonRunnerImage specify image for python task runtime ## @param lifecycleOperator.manager.image.repository specify registry for manager image -## @param lifecycleOperator.manager.image.tag select tag for manager image +## @param lifecycleOperator.manager.image.tag select tag for manager image ## @param lifecycleOperator.manager.imagePullPolicy specify pull policy for manager image ## @extra lifecycleOperator.manager.livenessProbe custom livenessprobe for manager container @@ -206,10 +206,12 @@ ## @param metricsOperator.manager.image.repository specify registry for manager image -## @param metricsOperator.manager.image.tag select tag for manager image +## @param metricsOperator.manager.image.tag select tag for manager image ## @param metricsOperator.manager.env.exposeKeptnMetrics enable metrics exporter ## @param metricsOperator.manager.env.metricsControllerLogLevel sets the log level of Metrics Controller +## @param metricsOperator.manager.env.analysisControllerLogLevel sets the log level of Analysis Controller +## @param metricsOperator.manager.env.enableKeptnAnalysis enables/disables the analysis feature ## @extra metricsOperator.manager.livenessProbe custom livenessprobe for manager container ## @skip metricsOperator.manager.livenessProbe.httpGet.path diff --git a/charts/keptn-lifecycle-toolkit/templates/analysis-crd.yaml b/charts/keptn-lifecycle-toolkit/templates/analysis-crd.yaml new file mode 100644 index 0000000..bc0d97f --- /dev/null +++ b/charts/keptn-lifecycle-toolkit/templates/analysis-crd.yaml @@ -0,0 +1,142 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: analyses.metrics.keptn.sh + annotations: + controller-gen.kubebuilder.io/version: v0.12.1 + cert-manager.io/inject-ca-from: '{{ .Release.Namespace }}/klt-certs' + labels: + app.kubernetes.io/part-of: keptn-lifecycle-toolkit + crdGroup: metrics.keptn.sh + keptn.sh/inject-cert: "true" + {{- include "chart.labels" . | nindent 4 }} +spec: + group: metrics.keptn.sh + names: + kind: Analysis + listKind: AnalysisList + plural: analyses + singular: analysis + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .spec.analysisDefinition.name + name: AnalysisDefinition + type: string + - jsonPath: .status.warning + name: Warning + type: string + - jsonPath: .status.pass + name: Pass + type: string + name: v1alpha3 + schema: + openAPIV3Schema: + description: Analysis is the Schema for the analyses API + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: AnalysisSpec defines the desired state of Analysis + properties: + analysisDefinition: + description: AnalysisDefinition refers to the AnalysisDefinition, + a CRD that stores the AnalysisValuesTemplates + properties: + name: + description: Name defines the name of the referenced object + type: string + namespace: + description: Namespace defines the namespace of the referenced + object + type: string + required: + - name + type: object + args: + additionalProperties: + type: string + description: Args corresponds to a map of key/value pairs that can + be used to substitute placeholders in the AnalysisValueTemplate + query. i.e. for args foo:bar the query could be "query:percentile(95)?scope=tag(my_foo_label:{{.foo}})". + type: object + timeframe: + description: Timeframe specifies the range for the corresponding query + in the AnalysisValueTemplate + properties: + from: + description: From is the time of start for the query, this field + follows RFC3339 time format + format: date-time + type: string + to: + description: To is the time of end for the query, this field follows + RFC3339 time format + format: date-time + type: string + required: + - from + - to + 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 + 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 + 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 + warning: + description: Warning returns whether the analysis returned a warning + type: boolean + type: object + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/keptn-lifecycle-toolkit/templates/analysisdefinition-crd.yaml b/charts/keptn-lifecycle-toolkit/templates/analysisdefinition-crd.yaml new file mode 100644 index 0000000..4d2a889 --- /dev/null +++ b/charts/keptn-lifecycle-toolkit/templates/analysisdefinition-crd.yaml @@ -0,0 +1,354 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: analysisdefinitions.metrics.keptn.sh + annotations: + controller-gen.kubebuilder.io/version: v0.12.1 + cert-manager.io/inject-ca-from: '{{ .Release.Namespace }}/klt-certs' + labels: + app.kubernetes.io/part-of: keptn-lifecycle-toolkit + crdGroup: metrics.keptn.sh + keptn.sh/inject-cert: "true" + {{- include "chart.labels" . | nindent 4 }} +spec: + group: metrics.keptn.sh + names: + kind: AnalysisDefinition + listKind: AnalysisDefinitionList + plural: analysisdefinitions + singular: analysisdefinition + scope: Namespaced + versions: + - name: v1alpha3 + schema: + openAPIV3Schema: + description: AnalysisDefinition is the Schema for the analysisdefinitions APIs + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: AnalysisDefinitionSpec defines the desired state of AnalysisDefinition + properties: + objectives: + description: Objectives defines a list of objectives to evaluate for + an analysis + items: + description: Objective defines an objective for analysis + properties: + analysisValueTemplateRef: + description: AnalysisValueTemplateRef refers to the appropriate + AnalysisValueTemplate + properties: + name: + type: string + namespace: + type: string + required: + - name + - namespace + type: object + keyObjective: + default: false + description: KeyObjective defines if the objective fails when + the 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 + 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 + 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 + 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 + 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 + 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 + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] \ No newline at end of file diff --git a/charts/keptn-lifecycle-toolkit/templates/analysisvaluetemplate-crd.yaml b/charts/keptn-lifecycle-toolkit/templates/analysisvaluetemplate-crd.yaml new file mode 100644 index 0000000..df1f473 --- /dev/null +++ b/charts/keptn-lifecycle-toolkit/templates/analysisvaluetemplate-crd.yaml @@ -0,0 +1,78 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: analysisvaluetemplates.metrics.keptn.sh + annotations: + controller-gen.kubebuilder.io/version: v0.12.1 + cert-manager.io/inject-ca-from: '{{ .Release.Namespace }}/klt-certs' + labels: + app.kubernetes.io/part-of: keptn-lifecycle-toolkit + crdGroup: metrics.keptn.sh + keptn.sh/inject-cert: "true" + {{- include "chart.labels" . | nindent 4 }} +spec: + group: metrics.keptn.sh + names: + kind: AnalysisValueTemplate + listKind: AnalysisValueTemplateList + plural: analysisvaluetemplates + singular: analysisvaluetemplate + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .spec.provider.name + name: Provider + type: string + name: v1alpha3 + schema: + openAPIV3Schema: + description: AnalysisValueTemplate is the Schema for the analysisvaluetemplates + API + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: Spec contains the specification for the AnalysisValueTemplate + properties: + provider: + description: Provider refers to the KeptnMetricsProvider which should + be used to retrieve the data + properties: + name: + description: Name defines the name of the referenced object + type: string + namespace: + description: Namespace defines the namespace of the referenced + object + type: string + required: + - name + type: object + query: + description: Query represents the query to be run. It can include + placeholders that are defined using the go template syntax. More + info on go templating - https://pkg.go.dev/text/template + type: string + required: + - provider + - query + type: object + status: + description: unused field + type: string + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/keptn-lifecycle-toolkit/templates/certificate-operator-leader-election-rbac.yaml b/charts/keptn-lifecycle-toolkit/templates/certificate-operator-leader-election-rbac.yaml index 57a9cd0..4032796 100644 --- a/charts/keptn-lifecycle-toolkit/templates/certificate-operator-leader-election-rbac.yaml +++ b/charts/keptn-lifecycle-toolkit/templates/certificate-operator-leader-election-rbac.yaml @@ -1,7 +1,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: - name: {{ include "chart.fullname" . }}-certificate-operator-leader-election-rolebinding + name: certificate-operator-leader-election-rolebinding namespace: {{ .Release.Namespace | quote }} labels: app.kubernetes.io/component: rbac @@ -11,8 +11,8 @@ metadata: roleRef: apiGroup: rbac.authorization.k8s.io kind: Role - name: '{{ include "chart.fullname" . }}-leader-election-role' + name: 'leader-election-role' subjects: - kind: ServiceAccount - name: '{{ include "chart.fullname" . }}-certificate-operator' + name: 'certificate-operator' namespace: '{{ .Release.Namespace }}' \ No newline at end of file diff --git a/charts/keptn-lifecycle-toolkit/templates/certificate-operator-rbac.yaml b/charts/keptn-lifecycle-toolkit/templates/certificate-operator-rbac.yaml index 0053fe0..d6fbee1 100644 --- a/charts/keptn-lifecycle-toolkit/templates/certificate-operator-rbac.yaml +++ b/charts/keptn-lifecycle-toolkit/templates/certificate-operator-rbac.yaml @@ -1,7 +1,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: - name: {{ include "chart.fullname" . }}-certificate-operator-role + name: certificate-operator-role namespace: {{ .Release.Namespace | quote }} labels: {{- include "chart.labels" . | nindent 4 }} @@ -28,7 +28,7 @@ rules: apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: - name: {{ include "chart.fullname" . }}-certificate-operator-role + name: certificate-operator-role namespace: {{ .Release.Namespace | quote }} labels: {{- include "chart.labels" . | nindent 4 }} @@ -75,7 +75,7 @@ rules: apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: - name: {{ include "chart.fullname" . }}-certificate-operator-rolebinding + name: certificate-operator-rolebinding namespace: {{ .Release.Namespace | quote }} labels: app.kubernetes.io/component: rbac @@ -85,8 +85,8 @@ metadata: roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole - name: '{{ include "chart.fullname" . }}-certificate-operator-role' + name: 'certificate-operator-role' subjects: - kind: ServiceAccount - name: '{{ include "chart.fullname" . }}-certificate-operator' + name: 'certificate-operator' namespace: '{{ .Release.Namespace }}' \ No newline at end of file diff --git a/charts/keptn-lifecycle-toolkit/templates/certificate-operator-role-binding-rbac.yaml b/charts/keptn-lifecycle-toolkit/templates/certificate-operator-role-binding-rbac.yaml index a17ed1d..ce81dc4 100644 --- a/charts/keptn-lifecycle-toolkit/templates/certificate-operator-role-binding-rbac.yaml +++ b/charts/keptn-lifecycle-toolkit/templates/certificate-operator-role-binding-rbac.yaml @@ -1,7 +1,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: - name: {{ include "chart.fullname" . }}-certificate-operator-role-binding + name: certificate-operator-role-binding namespace: {{ .Release.Namespace | quote }} labels: app.kubernetes.io/component: rbac @@ -11,8 +11,8 @@ metadata: roleRef: apiGroup: rbac.authorization.k8s.io kind: Role - name: '{{ include "chart.fullname" . }}-certificate-operator-role' + name: 'certificate-operator-role' subjects: - kind: ServiceAccount - name: '{{ include "chart.fullname" . }}-certificate-operator' + name: 'certificate-operator' namespace: '{{ .Release.Namespace }}' \ No newline at end of file diff --git a/charts/keptn-lifecycle-toolkit/templates/deployment.yaml b/charts/keptn-lifecycle-toolkit/templates/deployment.yaml index 92e6e50..bcd42bb 100644 --- a/charts/keptn-lifecycle-toolkit/templates/deployment.yaml +++ b/charts/keptn-lifecycle-toolkit/templates/deployment.yaml @@ -1,7 +1,7 @@ apiVersion: v1 kind: ServiceAccount metadata: - name: {{ include "chart.fullname" . }}-certificate-operator + name: certificate-operator namespace: {{ .Release.Namespace | quote }} labels: app.kuberentes.io/instance: certificate-operator @@ -13,7 +13,7 @@ metadata: apiVersion: v1 kind: ServiceAccount metadata: - name: {{ include "chart.fullname" . }}-keptn-scheduler + name: keptn-scheduler namespace: {{ .Release.Namespace | quote }} labels: {{- include "chart.labels" . | nindent 4 }} @@ -21,7 +21,7 @@ metadata: apiVersion: v1 kind: ServiceAccount metadata: - name: {{ include "chart.fullname" . }}-lifecycle-operator + name: lifecycle-operator namespace: {{ .Release.Namespace | quote }} labels: {{- include "chart.labels" . | nindent 4 }} @@ -29,7 +29,7 @@ metadata: apiVersion: v1 kind: ServiceAccount metadata: - name: {{ include "chart.fullname" . }}-metrics-operator + name: metrics-operator namespace: {{ .Release.Namespace | quote }} labels: {{- include "chart.labels" . | nindent 4 }} @@ -37,7 +37,7 @@ metadata: apiVersion: apps/v1 kind: Deployment metadata: - name: {{ include "chart.fullname" . }}-certificate-operator + name: certificate-operator namespace: {{ .Release.Namespace | quote }} labels: app.kubernetes.io/component: manager @@ -117,7 +117,7 @@ spec: imagePullSecrets: {{ .Values.imagePullSecrets | default list | toJson }} securityContext: runAsNonRoot: true - serviceAccountName: {{ include "chart.fullname" . }}-certificate-operator + serviceAccountName: certificate-operator terminationGracePeriodSeconds: 10 {{- if .Values.topologySpreadConstraints }} topologySpreadConstraints: {{- include "tplvalues.render" (dict "value" .Values.topologySpreadConstraints "context" $) | nindent 8 }} @@ -133,7 +133,7 @@ spec: apiVersion: apps/v1 kind: Deployment metadata: - name: {{ include "chart.fullname" . }}-lifecycle-operator + name: lifecycle-operator namespace: {{ .Release.Namespace | quote }} labels: app.kubernetes.io/part-of: keptn-lifecycle-toolkit @@ -260,7 +260,7 @@ spec: imagePullSecrets: {{ .Values.imagePullSecrets | default list | toJson }} securityContext: runAsNonRoot: true - serviceAccountName: {{ include "chart.fullname" . }}-lifecycle-operator + serviceAccountName: lifecycle-operator terminationGracePeriodSeconds: 10 volumes: - emptyDir: {} @@ -281,7 +281,7 @@ spec: apiVersion: apps/v1 kind: Deployment metadata: - name: {{ include "chart.fullname" . }}-metrics-operator + name: metrics-operator namespace: {{ .Release.Namespace | quote }} labels: app.kubernetes.io/part-of: keptn-lifecycle-toolkit @@ -322,9 +322,14 @@ spec: fieldPath: metadata.name - name: EXPOSE_KEPTN_METRICS value: {{ .Values.metricsOperator.manager.env.exposeKeptnMetrics | quote }} + - name: ENABLE_ANALYSIS + value: {{ .Values.metricsOperator.manager.env.enableKeptnAnalysis | quote }} - name: METRICS_CONTROLLER_LOG_LEVEL value: {{ .Values.metricsOperator.manager.env.metricsControllerLogLevel | quote }} + - name: ANALYSIS_CONTROLLER_LOG_LEVEL + value: {{ .Values.metricsOperator.manager.env.analysisControllerLogLevel | quote + }} - name: KUBERNETES_CLUSTER_DOMAIN value: {{ .Values.kubernetesClusterDomain }} image: {{ .Values.metricsOperator.manager.image.repository }}:{{ .Values.metricsOperator.manager.image.tag @@ -384,7 +389,7 @@ spec: imagePullSecrets: {{ .Values.imagePullSecrets | default list | toJson }} securityContext: runAsNonRoot: true - serviceAccountName: {{ include "chart.fullname" . }}-metrics-operator + serviceAccountName: metrics-operator terminationGracePeriodSeconds: 10 volumes: - emptyDir: {} @@ -405,7 +410,7 @@ spec: apiVersion: apps/v1 kind: Deployment metadata: - name: {{ include "chart.fullname" . }}-scheduler + name: scheduler namespace: {{ .Release.Namespace | quote }} labels: component: scheduler @@ -474,10 +479,10 @@ spec: scheme: HTTPS {{- end }} imagePullSecrets: {{ .Values.imagePullSecrets | default list | toJson }} - serviceAccountName: {{ include "chart.fullname" . }}-keptn-scheduler + serviceAccountName: keptn-scheduler volumes: - configMap: - name: {{ include "chart.fullname" . }}-scheduler-config + name: scheduler-config name: scheduler-config {{- if .Values.topologySpreadConstraints }} topologySpreadConstraints: {{- include "tplvalues.render" (dict "value" .Values.topologySpreadConstraints "context" $) | nindent 8 }} diff --git a/charts/keptn-lifecycle-toolkit/templates/extension-apiserver-authentication-reader-rbac.yaml b/charts/keptn-lifecycle-toolkit/templates/extension-apiserver-authentication-reader-rbac.yaml index feabc03..5307caf 100644 --- a/charts/keptn-lifecycle-toolkit/templates/extension-apiserver-authentication-reader-rbac.yaml +++ b/charts/keptn-lifecycle-toolkit/templates/extension-apiserver-authentication-reader-rbac.yaml @@ -1,15 +1,15 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: - name: {{ include "chart.fullname" . }}-extension-apiserver-authentication-reader + name: extension-apiserver-authentication-reader namespace: {{ .Release.Namespace | quote }} labels: {{- include "chart.labels" . | nindent 4 }} roleRef: apiGroup: rbac.authorization.k8s.io kind: Role - name: '{{ include "chart.fullname" . }}-extension-apiserver-authentication-reader' + name: 'extension-apiserver-authentication-reader' subjects: - kind: ServiceAccount - name: '{{ include "chart.fullname" . }}-keptn-scheduler' + name: 'keptn-scheduler' namespace: '{{ .Release.Namespace }}' \ No newline at end of file diff --git a/charts/keptn-lifecycle-toolkit/templates/hpa-controller-keptn-metrics-rbac.yaml b/charts/keptn-lifecycle-toolkit/templates/hpa-controller-keptn-metrics-rbac.yaml new file mode 100644 index 0000000..e0d409a --- /dev/null +++ b/charts/keptn-lifecycle-toolkit/templates/hpa-controller-keptn-metrics-rbac.yaml @@ -0,0 +1,15 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: hpa-controller-keptn-metrics + namespace: {{ .Release.Namespace | quote }} + labels: + {{- include "chart.labels" . | nindent 4 }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: 'server-resources' +subjects: +- kind: ServiceAccount + name: horizontal-pod-autoscaler + namespace: '{{ .Release.Namespace }}' \ No newline at end of file diff --git a/charts/keptn-lifecycle-toolkit/templates/keptn-scheduler-rbac.yaml b/charts/keptn-lifecycle-toolkit/templates/keptn-scheduler-rbac.yaml index 087a087..10776b5 100644 --- a/charts/keptn-lifecycle-toolkit/templates/keptn-scheduler-rbac.yaml +++ b/charts/keptn-lifecycle-toolkit/templates/keptn-scheduler-rbac.yaml @@ -1,7 +1,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: - name: {{ include "chart.fullname" . }}-keptn-scheduler + name: keptn-scheduler namespace: {{ .Release.Namespace | quote }} labels: {{- include "chart.labels" . | nindent 4 }} @@ -187,15 +187,15 @@ rules: apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: - name: {{ include "chart.fullname" . }}-keptn-scheduler + name: keptn-scheduler namespace: {{ .Release.Namespace | quote }} labels: {{- include "chart.labels" . | nindent 4 }} roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole - name: '{{ include "chart.fullname" . }}-keptn-scheduler' + name: 'keptn-scheduler' subjects: - kind: ServiceAccount - name: '{{ include "chart.fullname" . }}-keptn-scheduler' + name: 'keptn-scheduler' namespace: '{{ .Release.Namespace }}' \ No newline at end of file diff --git a/charts/keptn-lifecycle-toolkit/templates/keptnapp-crd.yaml b/charts/keptn-lifecycle-toolkit/templates/keptnapp-crd.yaml index 3eb613f..3255971 100644 --- a/charts/keptn-lifecycle-toolkit/templates/keptnapp-crd.yaml +++ b/charts/keptn-lifecycle-toolkit/templates/keptnapp-crd.yaml @@ -3,7 +3,8 @@ kind: CustomResourceDefinition metadata: name: keptnapps.lifecycle.keptn.sh annotations: - controller-gen.kubebuilder.io/version: v0.12.0 + controller-gen.kubebuilder.io/version: v0.12.1 + cert-manager.io/inject-ca-from: '{{ .Release.Namespace }}/klt-certs' labels: app.kubernetes.io/part-of: keptn-lifecycle-toolkit crdGroup: lifecycle.keptn.sh @@ -15,7 +16,7 @@ spec: webhook: clientConfig: service: - name: '{{ include "chart.fullname" . }}-lifecycle-webhook-service' + name: 'lifecycle-webhook-service' namespace: '{{ .Release.Namespace }}' path: /convert conversionReviewVersions: diff --git a/charts/keptn-lifecycle-toolkit/templates/keptnappcreationrequest-crd.yaml b/charts/keptn-lifecycle-toolkit/templates/keptnappcreationrequest-crd.yaml index acf8e21..85513c1 100644 --- a/charts/keptn-lifecycle-toolkit/templates/keptnappcreationrequest-crd.yaml +++ b/charts/keptn-lifecycle-toolkit/templates/keptnappcreationrequest-crd.yaml @@ -3,7 +3,8 @@ kind: CustomResourceDefinition metadata: name: keptnappcreationrequests.lifecycle.keptn.sh annotations: - controller-gen.kubebuilder.io/version: v0.12.0 + controller-gen.kubebuilder.io/version: v0.12.1 + cert-manager.io/inject-ca-from: '{{ .Release.Namespace }}/klt-certs' labels: app.kubernetes.io/part-of: keptn-lifecycle-toolkit crdGroup: lifecycle.keptn.sh @@ -48,7 +49,7 @@ spec: type: object status: description: Status describes the current state of the KeptnAppCreationRequest. - type: object + type: string type: object served: true storage: true diff --git a/charts/keptn-lifecycle-toolkit/templates/keptnappversion-crd.yaml b/charts/keptn-lifecycle-toolkit/templates/keptnappversion-crd.yaml index 35e1248..444745d 100644 --- a/charts/keptn-lifecycle-toolkit/templates/keptnappversion-crd.yaml +++ b/charts/keptn-lifecycle-toolkit/templates/keptnappversion-crd.yaml @@ -3,7 +3,8 @@ kind: CustomResourceDefinition metadata: name: keptnappversions.lifecycle.keptn.sh annotations: - controller-gen.kubebuilder.io/version: v0.12.0 + controller-gen.kubebuilder.io/version: v0.12.1 + cert-manager.io/inject-ca-from: '{{ .Release.Namespace }}/klt-certs' labels: app.kubernetes.io/part-of: keptn-lifecycle-toolkit crdGroup: lifecycle.keptn.sh @@ -15,7 +16,7 @@ spec: webhook: clientConfig: service: - name: '{{ include "chart.fullname" . }}-lifecycle-webhook-service' + name: 'lifecycle-webhook-service' namespace: '{{ .Release.Namespace }}' path: /convert conversionReviewVersions: diff --git a/charts/keptn-lifecycle-toolkit/templates/keptnconfig-crd.yaml b/charts/keptn-lifecycle-toolkit/templates/keptnconfig-crd.yaml index 9d3c6c1..81519ae 100644 --- a/charts/keptn-lifecycle-toolkit/templates/keptnconfig-crd.yaml +++ b/charts/keptn-lifecycle-toolkit/templates/keptnconfig-crd.yaml @@ -3,7 +3,8 @@ kind: CustomResourceDefinition metadata: name: keptnconfigs.options.keptn.sh annotations: - controller-gen.kubebuilder.io/version: v0.12.0 + controller-gen.kubebuilder.io/version: v0.12.1 + cert-manager.io/inject-ca-from: '{{ .Release.Namespace }}/klt-certs' labels: app.kubernetes.io/part-of: keptn-lifecycle-toolkit crdGroup: lifecycle.keptn.sh @@ -40,7 +41,11 @@ spec: properties: OTelCollectorUrl: description: OTelCollectorUrl can be used to set the Open Telemetry - collector that the operator should use + collector that the lifecycle operator should use + type: string + 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 @@ -50,8 +55,8 @@ spec: type: integer type: object status: - description: KeptnConfigStatus defines the observed state of KeptnConfig - type: object + description: unused field + type: string type: object served: true storage: true diff --git a/charts/keptn-lifecycle-toolkit/templates/keptnevaluation-crd.yaml b/charts/keptn-lifecycle-toolkit/templates/keptnevaluation-crd.yaml index 17d44aa..117649d 100644 --- a/charts/keptn-lifecycle-toolkit/templates/keptnevaluation-crd.yaml +++ b/charts/keptn-lifecycle-toolkit/templates/keptnevaluation-crd.yaml @@ -3,7 +3,8 @@ kind: CustomResourceDefinition metadata: name: keptnevaluations.lifecycle.keptn.sh annotations: - controller-gen.kubebuilder.io/version: v0.12.0 + controller-gen.kubebuilder.io/version: v0.12.1 + cert-manager.io/inject-ca-from: '{{ .Release.Namespace }}/klt-certs' labels: app.kubernetes.io/part-of: keptn-lifecycle-toolkit crdGroup: lifecycle.keptn.sh diff --git a/charts/keptn-lifecycle-toolkit/templates/keptnevaluationdefinition-crd.yaml b/charts/keptn-lifecycle-toolkit/templates/keptnevaluationdefinition-crd.yaml index 8216c46..38081fd 100644 --- a/charts/keptn-lifecycle-toolkit/templates/keptnevaluationdefinition-crd.yaml +++ b/charts/keptn-lifecycle-toolkit/templates/keptnevaluationdefinition-crd.yaml @@ -3,7 +3,8 @@ kind: CustomResourceDefinition metadata: name: keptnevaluationdefinitions.lifecycle.keptn.sh annotations: - controller-gen.kubebuilder.io/version: v0.12.0 + controller-gen.kubebuilder.io/version: v0.12.1 + cert-manager.io/inject-ca-from: '{{ .Release.Namespace }}/klt-certs' labels: app.kubernetes.io/part-of: keptn-lifecycle-toolkit crdGroup: lifecycle.keptn.sh @@ -64,9 +65,8 @@ spec: - source type: object status: - description: KeptnEvaluationDefinitionStatus defines the observed state - of KeptnEvaluationDefinition - type: object + description: unused field + type: string type: object served: true storage: false @@ -116,9 +116,8 @@ spec: - source type: object status: - description: KeptnEvaluationDefinitionStatus defines the observed state - of KeptnEvaluationDefinition - type: object + description: unused field + type: string type: object served: true storage: false @@ -179,8 +178,8 @@ spec: - objectives type: object status: - description: Status describes the current state of the KeptnEvaluationDefinition. - type: object + description: unused field + type: string type: object served: true storage: true diff --git a/charts/keptn-lifecycle-toolkit/templates/keptnevaluationprovider-crd.yaml b/charts/keptn-lifecycle-toolkit/templates/keptnevaluationprovider-crd.yaml index 58e45d8..acec83b 100644 --- a/charts/keptn-lifecycle-toolkit/templates/keptnevaluationprovider-crd.yaml +++ b/charts/keptn-lifecycle-toolkit/templates/keptnevaluationprovider-crd.yaml @@ -3,7 +3,8 @@ kind: CustomResourceDefinition metadata: name: keptnevaluationproviders.lifecycle.keptn.sh annotations: - controller-gen.kubebuilder.io/version: v0.12.0 + controller-gen.kubebuilder.io/version: v0.12.1 + cert-manager.io/inject-ca-from: '{{ .Release.Namespace }}/klt-certs' labels: app.kubernetes.io/part-of: keptn-lifecycle-toolkit crdGroup: lifecycle.keptn.sh @@ -15,7 +16,7 @@ spec: webhook: clientConfig: service: - name: '{{ include "chart.fullname" . }}-lifecycle-webhook-service' + name: 'lifecycle-webhook-service' namespace: '{{ .Release.Namespace }}' path: /convert conversionReviewVersions: @@ -59,9 +60,8 @@ spec: - targetServer type: object status: - description: KeptnEvaluationProviderStatus defines the observed state of - KeptnEvaluationProvider - type: object + description: unused field + type: string type: object served: true storage: false @@ -112,9 +112,8 @@ spec: - targetServer type: object status: - description: KeptnEvaluationProviderStatus defines the observed state of - KeptnEvaluationProvider - type: object + description: unused field + type: string type: object served: true storage: false @@ -165,9 +164,8 @@ spec: - targetServer type: object status: - description: KeptnEvaluationProviderStatus defines the observed state of - KeptnEvaluationProvider - type: object + description: unused field + type: string type: object served: true storage: true diff --git a/charts/keptn-lifecycle-toolkit/templates/keptnmetric-crd.yaml b/charts/keptn-lifecycle-toolkit/templates/keptnmetric-crd.yaml index 9d465cc..1b81002 100644 --- a/charts/keptn-lifecycle-toolkit/templates/keptnmetric-crd.yaml +++ b/charts/keptn-lifecycle-toolkit/templates/keptnmetric-crd.yaml @@ -4,6 +4,7 @@ metadata: name: keptnmetrics.metrics.keptn.sh annotations: controller-gen.kubebuilder.io/version: v0.12.0 + cert-manager.io/inject-ca-from: '{{ .Release.Namespace }}/klt-certs' labels: app.kubernetes.io/part-of: keptn-lifecycle-toolkit crdGroup: metrics.keptn.sh @@ -15,7 +16,7 @@ spec: webhook: clientConfig: service: - name: '{{ include "chart.fullname" . }}-metrics-webhook-service' + name: 'metrics-webhook-service' namespace: '{{ .Release.Namespace }}' path: /convert conversionReviewVersions: @@ -187,6 +188,9 @@ spec: - jsonPath: .spec.query name: Query type: string + - jsonPath: .spec.range.interval + name: Interval + type: string - jsonPath: .status.value name: Value type: string @@ -230,11 +234,28 @@ spec: description: Range represents the time range for which data is to be queried properties: + aggregation: + description: 'Aggregation defines as 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 type: object required: - fetchIntervalSeconds diff --git a/charts/keptn-lifecycle-toolkit/templates/keptnmetricsprovider-crd.yaml b/charts/keptn-lifecycle-toolkit/templates/keptnmetricsprovider-crd.yaml index 92d148b..6b8e0fe 100644 --- a/charts/keptn-lifecycle-toolkit/templates/keptnmetricsprovider-crd.yaml +++ b/charts/keptn-lifecycle-toolkit/templates/keptnmetricsprovider-crd.yaml @@ -4,6 +4,7 @@ metadata: name: keptnmetricsproviders.metrics.keptn.sh annotations: controller-gen.kubebuilder.io/version: v0.12.0 + cert-manager.io/inject-ca-from: '{{ .Release.Namespace }}/klt-certs' labels: app.kubernetes.io/part-of: keptn-lifecycle-toolkit crdGroup: metrics.keptn.sh @@ -65,8 +66,8 @@ spec: - targetServer type: object status: - description: KeptnMetricsProviderStatus defines the observed state of KeptnMetricsProvider - type: object + description: unused field + type: string type: object served: true storage: false @@ -125,8 +126,8 @@ spec: - targetServer type: object status: - description: KeptnMetricsProviderStatus defines the observed state of KeptnMetricsProvider - type: object + description: unused field + type: string type: object served: true storage: true diff --git a/charts/keptn-lifecycle-toolkit/templates/keptntask-crd.yaml b/charts/keptn-lifecycle-toolkit/templates/keptntask-crd.yaml index 4e85991..469d519 100644 --- a/charts/keptn-lifecycle-toolkit/templates/keptntask-crd.yaml +++ b/charts/keptn-lifecycle-toolkit/templates/keptntask-crd.yaml @@ -1,9 +1,11 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: name: keptntasks.lifecycle.keptn.sh annotations: - controller-gen.kubebuilder.io/version: v0.12.0 + controller-gen.kubebuilder.io/version: v0.12.1 + cert-manager.io/inject-ca-from: '{{ .Release.Namespace }}/klt-certs' labels: app.kubernetes.io/part-of: keptn-lifecycle-toolkit crdGroup: lifecycle.keptn.sh @@ -18,418 +20,388 @@ spec: singular: keptntask scope: Namespaced versions: - - additionalPrinterColumns: - - jsonPath: .spec.app - name: AppName - type: string - - jsonPath: .spec.appVersion - name: AppVersion - type: string - - jsonPath: .spec.workload - name: WorkloadName - type: string - - jsonPath: .spec.workloadVersion - name: WorkloadVersion - type: string - - jsonPath: .status.jobName - name: Job Name - type: string - - jsonPath: .status.status - name: Status - type: string - name: v1alpha1 - schema: - openAPIV3Schema: - description: KeptnTask is the Schema for the keptntasks API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation + - 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 + type: string + kind: + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In 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 + 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 - - objectType - - taskType - - workloadName + - context + - taskDefinition + - workload - 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 - 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 + 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 + 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 + type: string + kind: + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In 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 + 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 - - objectType - - taskType - - workloadName + - context + - taskDefinition + - workload - 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 - 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 + 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 + 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 + type: string + kind: + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In 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: - app: - description: AppName defines the KeptnApp for which the KeptnTask is - executed. - type: string - appVersion: - description: AppVersion defines the version of the KeptnApp for which - the KeptnTask is executed. - type: string - checkType: - description: Type indicates whether the KeptnTask is part of the pre- - or postDeployment phase. - type: string - context: - description: Context contains contextual information about the task - execution. - properties: - appName: - description: AppName the name of the KeptnApp the KeptnTask is being - executed for. - type: string - appVersion: - description: AppVersion the version of the KeptnApp the KeptnTask - is being executed for. - type: string - objectType: - description: ObjectType indicates whether the KeptnTask is being - executed for a KeptnApp or KeptnWorkload. - type: string - taskType: - description: TaskType indicates whether the KeptnTask is part of - the pre- or postDeployment phase. - type: string - workloadName: - description: WorkloadName the name of the KeptnWorkload the KeptnTask - is being executed for. - type: string - workloadVersion: - description: WorkloadVersion the version of the KeptnWorkload the - KeptnTask is being executed for. - type: string - required: - - appName - - appVersion - - objectType - - taskType - - workloadName - - workloadVersion - type: object - parameters: - description: Parameters contains parameters that will be passed to the - job that executes the task. - properties: - map: - additionalProperties: + 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 - 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 KLT 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 - workload: - description: Workload defines the KeptnWorkload for which the KeptnTask - is executed. - type: string - workloadVersion: - description: WorkloadVersion defines the version of the KeptnWorkload - for which the KeptnTask is executed. - type: string - required: - - app - - appVersion - - context - - taskDefinition - - workload - - workloadVersion - 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: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] \ No newline at end of file + 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 KLT 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: {} \ No newline at end of file diff --git a/charts/keptn-lifecycle-toolkit/templates/keptntaskdefinition-crd.yaml b/charts/keptn-lifecycle-toolkit/templates/keptntaskdefinition-crd.yaml index 112e1c9..2bed312 100644 --- a/charts/keptn-lifecycle-toolkit/templates/keptntaskdefinition-crd.yaml +++ b/charts/keptn-lifecycle-toolkit/templates/keptntaskdefinition-crd.yaml @@ -3,7 +3,8 @@ kind: CustomResourceDefinition metadata: name: keptntaskdefinitions.lifecycle.keptn.sh annotations: - controller-gen.kubebuilder.io/version: v0.12.0 + controller-gen.kubebuilder.io/version: v0.12.1 + cert-manager.io/inject-ca-from: '{{ .Release.Namespace }}/klt-certs' labels: app.kubernetes.io/part-of: keptn-lifecycle-toolkit crdGroup: lifecycle.keptn.sh diff --git a/charts/keptn-lifecycle-toolkit/templates/keptnworkload-crd.yaml b/charts/keptn-lifecycle-toolkit/templates/keptnworkload-crd.yaml index 890a95f..d74d91f 100644 --- a/charts/keptn-lifecycle-toolkit/templates/keptnworkload-crd.yaml +++ b/charts/keptn-lifecycle-toolkit/templates/keptnworkload-crd.yaml @@ -3,7 +3,8 @@ kind: CustomResourceDefinition metadata: name: keptnworkloads.lifecycle.keptn.sh annotations: - controller-gen.kubebuilder.io/version: v0.12.0 + controller-gen.kubebuilder.io/version: v0.12.1 + cert-manager.io/inject-ca-from: '{{ .Release.Namespace }}/klt-certs' labels: app.kubernetes.io/part-of: keptn-lifecycle-toolkit crdGroup: lifecycle.keptn.sh diff --git a/charts/keptn-lifecycle-toolkit/templates/keptnworkloadinstance-crd.yaml b/charts/keptn-lifecycle-toolkit/templates/keptnworkloadinstance-crd.yaml index 8a93206..cf44039 100644 --- a/charts/keptn-lifecycle-toolkit/templates/keptnworkloadinstance-crd.yaml +++ b/charts/keptn-lifecycle-toolkit/templates/keptnworkloadinstance-crd.yaml @@ -3,7 +3,8 @@ kind: CustomResourceDefinition metadata: name: keptnworkloadinstances.lifecycle.keptn.sh annotations: - controller-gen.kubebuilder.io/version: v0.12.0 + controller-gen.kubebuilder.io/version: v0.12.1 + cert-manager.io/inject-ca-from: '{{ .Release.Namespace }}/klt-certs' labels: app.kubernetes.io/part-of: keptn-lifecycle-toolkit crdGroup: lifecycle.keptn.sh @@ -15,7 +16,7 @@ spec: webhook: clientConfig: service: - name: '{{ include "chart.fullname" . }}-lifecycle-webhook-service' + name: 'lifecycle-webhook-service' namespace: '{{ .Release.Namespace }}' path: /convert conversionReviewVersions: diff --git a/charts/keptn-lifecycle-toolkit/templates/leader-election-rbac.yaml b/charts/keptn-lifecycle-toolkit/templates/leader-election-rbac.yaml index 066755f..4829574 100644 --- a/charts/keptn-lifecycle-toolkit/templates/leader-election-rbac.yaml +++ b/charts/keptn-lifecycle-toolkit/templates/leader-election-rbac.yaml @@ -1,7 +1,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: - name: {{ include "chart.fullname" . }}-leader-election-role + name: leader-election-role namespace: {{ .Release.Namespace | quote }} labels: app.kubernetes.io/component: rbac diff --git a/charts/keptn-lifecycle-toolkit/templates/lifecycle-manager-config.yaml b/charts/keptn-lifecycle-toolkit/templates/lifecycle-manager-config.yaml index 7251edd..cd6362d 100644 --- a/charts/keptn-lifecycle-toolkit/templates/lifecycle-manager-config.yaml +++ b/charts/keptn-lifecycle-toolkit/templates/lifecycle-manager-config.yaml @@ -1,7 +1,7 @@ apiVersion: v1 kind: ConfigMap metadata: - name: {{ include "chart.fullname" . }}-lifecycle-manager-config + name: lifecycle-manager-config namespace: {{ .Release.Namespace | quote }} labels: {{- include "chart.labels" . | nindent 4 }} diff --git a/charts/keptn-lifecycle-toolkit/templates/lifecycle-mutating-webhook-configuration.yaml b/charts/keptn-lifecycle-toolkit/templates/lifecycle-mutating-webhook-configuration.yaml index 7010178..f37ba64 100644 --- a/charts/keptn-lifecycle-toolkit/templates/lifecycle-mutating-webhook-configuration.yaml +++ b/charts/keptn-lifecycle-toolkit/templates/lifecycle-mutating-webhook-configuration.yaml @@ -1,19 +1,19 @@ apiVersion: admissionregistration.k8s.io/v1 kind: MutatingWebhookConfiguration metadata: - name: {{ include "chart.fullname" . }}-lifecycle-mutating-webhook-configuration + name: lifecycle-mutating-webhook-configuration annotations: - cert-manager.io/inject-ca-from: {{ .Release.Namespace }}/{{ include "chart.fullname" . }}- + cert-manager.io/inject-ca-from: '{{ .Release.Namespace }}/klt-certs' labels: - app.kubernetes.io/part-of: "keptn-lifecycle-toolkit" keptn.sh/inject-cert: "true" + app.kubernetes.io/part-of: "keptn-lifecycle-toolkit" {{- include "chart.labels" . | nindent 4 }} webhooks: - admissionReviewVersions: - v1 clientConfig: service: - name: '{{ include "chart.fullname" . }}-lifecycle-webhook-service' + name: 'lifecycle-webhook-service' namespace: '{{ .Release.Namespace }}' path: /mutate-v1-pod failurePolicy: Fail diff --git a/charts/keptn-lifecycle-toolkit/templates/lifecycle-operator-leader-election-rbac.yaml b/charts/keptn-lifecycle-toolkit/templates/lifecycle-operator-leader-election-rbac.yaml index 41808c3..fc1caf0 100644 --- a/charts/keptn-lifecycle-toolkit/templates/lifecycle-operator-leader-election-rbac.yaml +++ b/charts/keptn-lifecycle-toolkit/templates/lifecycle-operator-leader-election-rbac.yaml @@ -1,7 +1,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: - name: {{ include "chart.fullname" . }}-lifecycle-operator-leader-election-role + name: lifecycle-operator-leader-election-role namespace: {{ .Release.Namespace | quote }} labels: {{- include "chart.labels" . | nindent 4 }} @@ -41,15 +41,15 @@ rules: apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: - name: {{ include "chart.fullname" . }}-lifecycle-operator-leader-election-rolebinding + name: lifecycle-operator-leader-election-rolebinding namespace: {{ .Release.Namespace | quote }} labels: {{- include "chart.labels" . | nindent 4 }} roleRef: apiGroup: rbac.authorization.k8s.io kind: Role - name: '{{ include "chart.fullname" . }}-lifecycle-operator-leader-election-role' + name: 'lifecycle-operator-leader-election-role' subjects: - kind: ServiceAccount - name: '{{ include "chart.fullname" . }}-lifecycle-operator' + name: 'lifecycle-operator' namespace: '{{ .Release.Namespace }}' \ No newline at end of file diff --git a/charts/keptn-lifecycle-toolkit/templates/lifecycle-operator-metrics-service.yaml b/charts/keptn-lifecycle-toolkit/templates/lifecycle-operator-metrics-service.yaml index aa3b41a..4297127 100644 --- a/charts/keptn-lifecycle-toolkit/templates/lifecycle-operator-metrics-service.yaml +++ b/charts/keptn-lifecycle-toolkit/templates/lifecycle-operator-metrics-service.yaml @@ -1,7 +1,7 @@ apiVersion: v1 kind: Service metadata: - name: {{ include "chart.fullname" . }}-lifecycle-operator-metrics-service + name: lifecycle-operator-metrics-service namespace: {{ .Release.Namespace | quote }} labels: control-plane: lifecycle-operator diff --git a/charts/keptn-lifecycle-toolkit/templates/lifecycle-operator-rbac.yaml b/charts/keptn-lifecycle-toolkit/templates/lifecycle-operator-rbac.yaml index 7c9a455..5105433 100644 --- a/charts/keptn-lifecycle-toolkit/templates/lifecycle-operator-rbac.yaml +++ b/charts/keptn-lifecycle-toolkit/templates/lifecycle-operator-rbac.yaml @@ -1,7 +1,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: - name: {{ include "chart.fullname" . }}-lifecycle-operator-role + name: lifecycle-operator-role namespace: {{ .Release.Namespace | quote }} labels: {{- include "chart.labels" . | nindent 4 }} @@ -370,31 +370,31 @@ rules: apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: - name: {{ include "chart.fullname" . }}-lifecycle-operator-rolebinding + name: lifecycle-operator-rolebinding namespace: {{ .Release.Namespace | quote }} labels: {{- include "chart.labels" . | nindent 4 }} roleRef: apiGroup: rbac.authorization.k8s.io kind: Role - name: '{{ include "chart.fullname" . }}-lifecycle-operator-role' + name: 'lifecycle-operator-role' subjects: - kind: ServiceAccount - name: '{{ include "chart.fullname" . }}-lifecycle-operator' + name: 'lifecycle-operator' namespace: '{{ .Release.Namespace }}' --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: - name: {{ include "chart.fullname" . }}-lifecycle-operator-rolebinding + name: lifecycle-operator-rolebinding namespace: {{ .Release.Namespace | quote }} labels: {{- include "chart.labels" . | nindent 4 }} roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole - name: '{{ include "chart.fullname" . }}-lifecycle-operator-role' + name: 'lifecycle-operator-role' subjects: - kind: ServiceAccount - name: '{{ include "chart.fullname" . }}-lifecycle-operator' + name: 'lifecycle-operator' namespace: '{{ .Release.Namespace }}' \ No newline at end of file diff --git a/charts/keptn-lifecycle-toolkit/templates/lifecycle-validating-webhook-configuration.yaml b/charts/keptn-lifecycle-toolkit/templates/lifecycle-validating-webhook-configuration.yaml index c6ba9f4..2a3c22d 100644 --- a/charts/keptn-lifecycle-toolkit/templates/lifecycle-validating-webhook-configuration.yaml +++ b/charts/keptn-lifecycle-toolkit/templates/lifecycle-validating-webhook-configuration.yaml @@ -1,9 +1,9 @@ apiVersion: admissionregistration.k8s.io/v1 kind: ValidatingWebhookConfiguration metadata: - name: {{ include "chart.fullname" . }}-lifecycle-validating-webhook-configuration + name: lifecycle-validating-webhook-configuration annotations: - cert-manager.io/inject-ca-from: {{ .Release.Namespace }}/{{ include "chart.fullname" . }}- + cert-manager.io/inject-ca-from: '{{ .Release.Namespace }}/klt-certs' labels: keptn.sh/inject-cert: "true" {{- include "chart.labels" . | nindent 4 }} @@ -12,7 +12,7 @@ webhooks: - v1 clientConfig: service: - name: '{{ include "chart.fullname" . }}-lifecycle-webhook-service' + name: 'lifecycle-webhook-service' namespace: '{{ .Release.Namespace }}' path: /validate-lifecycle-keptn-sh-v1alpha3-keptntaskdefinition failurePolicy: Fail diff --git a/charts/keptn-lifecycle-toolkit/templates/lifecycle-webhook-service.yaml b/charts/keptn-lifecycle-toolkit/templates/lifecycle-webhook-service.yaml index 7e10d64..3090da5 100644 --- a/charts/keptn-lifecycle-toolkit/templates/lifecycle-webhook-service.yaml +++ b/charts/keptn-lifecycle-toolkit/templates/lifecycle-webhook-service.yaml @@ -1,7 +1,7 @@ apiVersion: v1 kind: Service metadata: - name: {{ include "chart.fullname" . }}-lifecycle-webhook-service + name: lifecycle-webhook-service namespace: {{ .Release.Namespace | quote }} labels: {{- include "chart.labels" . | nindent 4 }} diff --git a/charts/keptn-lifecycle-toolkit/templates/metrics-manager-config.yaml b/charts/keptn-lifecycle-toolkit/templates/metrics-manager-config.yaml index dfc73de..6a4ed20 100644 --- a/charts/keptn-lifecycle-toolkit/templates/metrics-manager-config.yaml +++ b/charts/keptn-lifecycle-toolkit/templates/metrics-manager-config.yaml @@ -1,7 +1,7 @@ apiVersion: v1 kind: ConfigMap metadata: - name: {{ include "chart.fullname" . }}-metrics-manager-config + name: metrics-manager-config namespace: {{ .Release.Namespace | quote }} labels: {{- include "chart.labels" . | nindent 4 }} diff --git a/charts/keptn-lifecycle-toolkit/templates/metrics-operator-hpa-controller-rbac.yaml b/charts/keptn-lifecycle-toolkit/templates/metrics-operator-hpa-controller-rbac.yaml index 7348c45..87f0983 100644 --- a/charts/keptn-lifecycle-toolkit/templates/metrics-operator-hpa-controller-rbac.yaml +++ b/charts/keptn-lifecycle-toolkit/templates/metrics-operator-hpa-controller-rbac.yaml @@ -1,14 +1,14 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: - name: {{ include "chart.fullname" . }}-metrics-operator-hpa-controller + name: metrics-operator-hpa-controller namespace: {{ .Release.Namespace | quote }} labels: {{- include "chart.labels" . | nindent 4 }} roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole - name: '{{ include "chart.fullname" . }}-metrics-operator-server-resources' + name: 'metrics-operator-server-resources' subjects: - kind: ServiceAccount name: horizontal-pod-autoscaler diff --git a/charts/keptn-lifecycle-toolkit/templates/metrics-operator-leader-election-rbac.yaml b/charts/keptn-lifecycle-toolkit/templates/metrics-operator-leader-election-rbac.yaml index f6fccf5..0d25f74 100644 --- a/charts/keptn-lifecycle-toolkit/templates/metrics-operator-leader-election-rbac.yaml +++ b/charts/keptn-lifecycle-toolkit/templates/metrics-operator-leader-election-rbac.yaml @@ -1,7 +1,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: - name: {{ include "chart.fullname" . }}-metrics-operator-leader-election-role + name: metrics-operator-leader-election-role namespace: {{ .Release.Namespace | quote }} labels: {{- include "chart.labels" . | nindent 4 }} @@ -41,15 +41,15 @@ rules: apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: - name: {{ include "chart.fullname" . }}-metrics-operator-leader-election-rolebinding + name: metrics-operator-leader-election-rolebinding namespace: {{ .Release.Namespace | quote }} labels: {{- include "chart.labels" . | nindent 4 }} roleRef: apiGroup: rbac.authorization.k8s.io kind: Role - name: '{{ include "chart.fullname" . }}-metrics-operator-leader-election-role' + name: 'metrics-operator-leader-election-role' subjects: - kind: ServiceAccount - name: '{{ include "chart.fullname" . }}-metrics-operator' + name: 'metrics-operator' namespace: '{{ .Release.Namespace }}' \ No newline at end of file diff --git a/charts/keptn-lifecycle-toolkit/templates/metrics-operator-rbac.yaml b/charts/keptn-lifecycle-toolkit/templates/metrics-operator-rbac.yaml index af5f780..a361648 100644 --- a/charts/keptn-lifecycle-toolkit/templates/metrics-operator-rbac.yaml +++ b/charts/keptn-lifecycle-toolkit/templates/metrics-operator-rbac.yaml @@ -1,92 +1,134 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: - name: {{ include "chart.fullname" . }}-metrics-operator-role + name: metrics-operator-role namespace: {{ .Release.Namespace | quote }} labels: {{- include "chart.labels" . | nindent 4 }} rules: -- apiGroups: - - "" - resources: - - configmaps - verbs: - - get - - list - - watch -- apiGroups: - - "" - resources: - - secrets - verbs: - - get -- apiGroups: - - metrics.keptn.sh - resources: - - keptnmetrics - verbs: - - get - - list - - watch -- apiGroups: - - metrics.keptn.sh - resources: - - keptnmetrics/finalizers - verbs: - - update -- apiGroups: - - metrics.keptn.sh - resources: - - keptnmetrics/status - verbs: - - get - - patch - - update -- apiGroups: - - metrics.keptn.sh - resources: - - keptnmetricsproviders - verbs: - - get - - list - - watch -- apiGroups: - - metrics.keptn.sh - resources: - - providers - verbs: - - get - - list - - watch + - 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 + verbs: + - update + - apiGroups: + - metrics.keptn.sh + resources: + - analyses/status + verbs: + - get + - patch + - update + - apiGroups: + - metrics.keptn.sh + resources: + - analysisdefinitions + verbs: + - get + - list + - watch + - apiGroups: + - metrics.keptn.sh + resources: + - analysisvaluetemplates + verbs: + - get + - list + - watch + - apiGroups: + - metrics.keptn.sh + resources: + - keptnmetrics + verbs: + - get + - list + - watch + - apiGroups: + - metrics.keptn.sh + resources: + - keptnmetrics/finalizers + verbs: + - update + - apiGroups: + - metrics.keptn.sh + resources: + - keptnmetrics/status + verbs: + - get + - patch + - update + - apiGroups: + - metrics.keptn.sh + resources: + - keptnmetricsproviders + verbs: + - get + - list + - watch + - apiGroups: + - metrics.keptn.sh + resources: + - providers + verbs: + - get + - list + - watch --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: - name: {{ include "chart.fullname" . }}-metrics-operator-rolebinding + name: metrics-operator-rolebinding namespace: {{ .Release.Namespace | quote }} labels: {{- include "chart.labels" . | nindent 4 }} roleRef: apiGroup: rbac.authorization.k8s.io kind: Role - name: '{{ include "chart.fullname" . }}-metrics-operator-role' + name: 'metrics-operator-role' subjects: -- kind: ServiceAccount - name: '{{ include "chart.fullname" . }}-metrics-operator' - namespace: '{{ .Release.Namespace }}' + - kind: ServiceAccount + name: 'metrics-operator' + namespace: '{{ .Release.Namespace }}' --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: - name: {{ include "chart.fullname" . }}-metrics-operator-rolebinding + name: metrics-operator-rolebinding namespace: {{ .Release.Namespace | quote }} labels: {{- include "chart.labels" . | nindent 4 }} roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole - name: '{{ include "chart.fullname" . }}-metrics-operator-role' + name: 'metrics-operator-role' subjects: -- kind: ServiceAccount - name: '{{ include "chart.fullname" . }}-metrics-operator' - namespace: '{{ .Release.Namespace }}' \ No newline at end of file + - kind: ServiceAccount + name: 'metrics-operator' + namespace: '{{ .Release.Namespace }}' \ No newline at end of file diff --git a/charts/keptn-lifecycle-toolkit/templates/metrics-operator-server-resources-rbac.yaml b/charts/keptn-lifecycle-toolkit/templates/metrics-operator-server-resources-rbac.yaml index 8359948..e57b594 100644 --- a/charts/keptn-lifecycle-toolkit/templates/metrics-operator-server-resources-rbac.yaml +++ b/charts/keptn-lifecycle-toolkit/templates/metrics-operator-server-resources-rbac.yaml @@ -1,7 +1,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: - name: {{ include "chart.fullname" . }}-metrics-operator-server-resources + name: metrics-operator-server-resources namespace: {{ .Release.Namespace | quote }} labels: {{- include "chart.labels" . | nindent 4 }} diff --git a/charts/keptn-lifecycle-toolkit/templates/metrics-operator-service.yaml b/charts/keptn-lifecycle-toolkit/templates/metrics-operator-service.yaml index 7bfbce4..3c051bf 100644 --- a/charts/keptn-lifecycle-toolkit/templates/metrics-operator-service.yaml +++ b/charts/keptn-lifecycle-toolkit/templates/metrics-operator-service.yaml @@ -1,7 +1,7 @@ apiVersion: v1 kind: Service metadata: - name: {{ include "chart.fullname" . }}-metrics-operator-service + name: metrics-operator-service namespace: {{ .Release.Namespace | quote }} labels: control-plane: metrics-operator diff --git a/charts/keptn-lifecycle-toolkit/templates/metrics-validating-webhook-configuration.yaml b/charts/keptn-lifecycle-toolkit/templates/metrics-validating-webhook-configuration.yaml index c567a84..8ab2404 100644 --- a/charts/keptn-lifecycle-toolkit/templates/metrics-validating-webhook-configuration.yaml +++ b/charts/keptn-lifecycle-toolkit/templates/metrics-validating-webhook-configuration.yaml @@ -1,9 +1,9 @@ apiVersion: admissionregistration.k8s.io/v1 kind: ValidatingWebhookConfiguration metadata: - name: {{ include "chart.fullname" . }}-metrics-validating-webhook-configuration + name: metrics-validating-webhook-configuration annotations: - cert-manager.io/inject-ca-from: {{ .Release.Namespace }}/{{ include "chart.fullname" . }}- + cert-manager.io/inject-ca-from: '{{ .Release.Namespace }}/klt-certs' labels: keptn.sh/inject-cert: "true" {{- include "chart.labels" . | nindent 4 }} @@ -12,7 +12,7 @@ webhooks: - v1 clientConfig: service: - name: '{{ include "chart.fullname" . }}-metrics-webhook-service' + name: 'metrics-webhook-service' namespace: '{{ .Release.Namespace }}' path: /validate-metrics-keptn-sh-v1alpha3-keptnmetric failurePolicy: Fail diff --git a/charts/keptn-lifecycle-toolkit/templates/metrics-webhook-service.yaml b/charts/keptn-lifecycle-toolkit/templates/metrics-webhook-service.yaml index 43dd649..41a1f88 100644 --- a/charts/keptn-lifecycle-toolkit/templates/metrics-webhook-service.yaml +++ b/charts/keptn-lifecycle-toolkit/templates/metrics-webhook-service.yaml @@ -1,7 +1,7 @@ apiVersion: v1 kind: Service metadata: - name: {{ include "chart.fullname" . }}-metrics-webhook-service + name: metrics-webhook-service namespace: {{ .Release.Namespace | quote }} labels: {{- include "chart.labels" . | nindent 4 }} diff --git a/charts/keptn-lifecycle-toolkit/templates/scheduler-config.yaml b/charts/keptn-lifecycle-toolkit/templates/scheduler-config.yaml index 58105f9..d1bf703 100644 --- a/charts/keptn-lifecycle-toolkit/templates/scheduler-config.yaml +++ b/charts/keptn-lifecycle-toolkit/templates/scheduler-config.yaml @@ -1,7 +1,7 @@ apiVersion: v1 kind: ConfigMap metadata: - name: {{ include "chart.fullname" . }}-scheduler-config + name: scheduler-config namespace: {{ .Release.Namespace | quote }} labels: {{- include "chart.labels" . | nindent 4 }} diff --git a/charts/keptn-lifecycle-toolkit/templates/server-resources-rbac.yaml b/charts/keptn-lifecycle-toolkit/templates/server-resources-rbac.yaml new file mode 100644 index 0000000..d78b2f9 --- /dev/null +++ b/charts/keptn-lifecycle-toolkit/templates/server-resources-rbac.yaml @@ -0,0 +1,14 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: {{ include "chart.fullname" . }}-server-resources + namespace: {{ .Release.Namespace | quote }} + labels: + {{- include "chart.labels" . | nindent 4 }} +rules: +- apiGroups: + - custom.metrics.k8s.io + resources: + - '*' + verbs: + - '*' \ No newline at end of file diff --git a/charts/keptn-lifecycle-toolkit/templates/system-auth-delegator-rbac.yaml b/charts/keptn-lifecycle-toolkit/templates/system-auth-delegator-rbac.yaml index 55b809b..5ec4afe 100644 --- a/charts/keptn-lifecycle-toolkit/templates/system-auth-delegator-rbac.yaml +++ b/charts/keptn-lifecycle-toolkit/templates/system-auth-delegator-rbac.yaml @@ -1,7 +1,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: - name: {{ include "chart.fullname" . }}-system-auth-delegator + name: system-auth-delegator namespace: {{ .Release.Namespace | quote }} labels: {{- include "chart.labels" . | nindent 4 }} @@ -11,5 +11,5 @@ roleRef: name: system:auth-delegator subjects: - kind: ServiceAccount - name: '{{ include "chart.fullname" . }}-metrics-operator' + name: 'metrics-operator' namespace: '{{ .Release.Namespace }}' \ No newline at end of file diff --git a/charts/keptn-lifecycle-toolkit/templates/v1beta1.custom.metrics.k8s.io.yaml b/charts/keptn-lifecycle-toolkit/templates/v1beta1.custom.metrics.k8s.io.yaml index 5933d1e..c00e537 100644 --- a/charts/keptn-lifecycle-toolkit/templates/v1beta1.custom.metrics.k8s.io.yaml +++ b/charts/keptn-lifecycle-toolkit/templates/v1beta1.custom.metrics.k8s.io.yaml @@ -10,7 +10,7 @@ spec: groupPriorityMinimum: 100 insecureSkipTLSVerify: true service: - name: '{{ include "chart.fullname" . }}-metrics-operator-service' + name: 'metrics-operator-service' namespace: '{{ .Release.Namespace }}' version: v1beta1 versionPriority: 100 \ No newline at end of file diff --git a/charts/keptn-lifecycle-toolkit/templates/v1beta2.custom.metrics.k8s.io.yaml b/charts/keptn-lifecycle-toolkit/templates/v1beta2.custom.metrics.k8s.io.yaml index f1543ca..0dcde35 100644 --- a/charts/keptn-lifecycle-toolkit/templates/v1beta2.custom.metrics.k8s.io.yaml +++ b/charts/keptn-lifecycle-toolkit/templates/v1beta2.custom.metrics.k8s.io.yaml @@ -10,7 +10,7 @@ spec: groupPriorityMinimum: 100 insecureSkipTLSVerify: true service: - name: '{{ include "chart.fullname" . }}-metrics-operator-service' + name: 'metrics-operator-service' namespace: '{{ .Release.Namespace }}' version: v1beta2 versionPriority: 200 \ No newline at end of file diff --git a/charts/keptn-lifecycle-toolkit/values.yaml b/charts/keptn-lifecycle-toolkit/values.yaml index 7aa7cae..8b32ea5 100644 --- a/charts/keptn-lifecycle-toolkit/values.yaml +++ b/charts/keptn-lifecycle-toolkit/values.yaml @@ -15,7 +15,7 @@ certificateOperator: labelSelectorValue: "true" image: repository: ghcr.io/keptn/certificate-operator - tag: v0.8.0 + tag: v1.1.0 imagePullPolicy: Always livenessProbe: httpGet: @@ -67,7 +67,7 @@ lifecycleOperator: seccompProfile: type: RuntimeDefault env: - functionRunnerImage: ghcr.io/keptn/functions-runtime:v0.8.1 + functionRunnerImage: ghcr.io/keptn/deno-runtime:v1.0.1 keptnAppControllerLogLevel: "0" keptnAppCreationRequestControllerLogLevel: "0" keptnAppVersionControllerLogLevel: "0" @@ -78,10 +78,10 @@ lifecycleOperator: keptnWorkloadInstanceControllerLogLevel: "0" optionsControllerLogLevel: "0" otelCollectorUrl: otel-collector:4317 - pythonRunnerImage: ghcr.io/keptn/python-runtime:v0.8.1 + pythonRunnerImage: ghcr.io/keptn/python-runtime:v1.0.0 image: repository: ghcr.io/keptn/lifecycle-operator - tag: v0.8.1 + tag: v0.8.2 imagePullPolicy: Always livenessProbe: httpGet: @@ -145,10 +145,12 @@ metricsOperator: type: RuntimeDefault env: exposeKeptnMetrics: "true" + enableKeptnAnalysis: "false" metricsControllerLogLevel: "0" + analysisControllerLogLevel: "0" image: repository: ghcr.io/keptn/metrics-operator - tag: v0.8.1 + tag: v0.8.2 livenessProbe: httpGet: path: /healthz @@ -211,7 +213,7 @@ scheduler: otelCollectorUrl: otel-collector:4317 image: repository: ghcr.io/keptn/scheduler - tag: v0.8.1 + tag: v0.8.2 imagePullPolicy: Always livenessProbe: httpGet: