From a92d237200a302e0d95d39fc0498afd913aacaa0 Mon Sep 17 00:00:00 2001 From: "CheeSiong.Lee" Date: Mon, 21 Mar 2022 17:05:06 +0800 Subject: [PATCH 1/2] Changes in package to add or update chart Signed-off-by: CheeSiong.Lee --- packages/federatorai/generated-changes/patch/Chart.yaml.patch | 2 +- packages/federatorai/package.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/federatorai/generated-changes/patch/Chart.yaml.patch b/packages/federatorai/generated-changes/patch/Chart.yaml.patch index fae7c09ee..7662fb50b 100644 --- a/packages/federatorai/generated-changes/patch/Chart.yaml.patch +++ b/packages/federatorai/generated-changes/patch/Chart.yaml.patch @@ -2,7 +2,7 @@ +++ charts/Chart.yaml @@ -1,5 +1,9 @@ apiVersion: v1 - appVersion: 4.7.2-ga + appVersion: 5.0.0-p1 +annotations: + catalog.cattle.io/certified: partner + catalog.cattle.io/release-name: federatorai diff --git a/packages/federatorai/package.yaml b/packages/federatorai/package.yaml index 280970a59..92b557365 100644 --- a/packages/federatorai/package.yaml +++ b/packages/federatorai/package.yaml @@ -1,2 +1,2 @@ -url: https://github.com/prophetstor-ai/federatorai-operator-helm/raw/master/federatorai-4.7.2.tgz +url: https://github.com/prophetstor-ai/federatorai-operator-helm/raw/master/federatorai-5.0.0.tgz packageVersion: 00 From eb28377f1265b6f79dbe1fa7332acf4956ca69c2 Mon Sep 17 00:00:00 2001 From: "CheeSiong.Lee" Date: Mon, 21 Mar 2022 17:14:27 +0800 Subject: [PATCH 2/2] Result of running 'make charts' Signed-off-by: CheeSiong.Lee --- assets/federatorai/federatorai-5.0.0.tgz | Bin 0 -> 15737 bytes .../federatorai/federatorai/5.0.0/.helmignore | 22 + .../federatorai/federatorai/5.0.0/Chart.yaml | 26 + .../federatorai/federatorai/5.0.0/README.md | 109 + .../federatorai/5.0.0/app-readme.md | 48 + .../5.0.0/crds/02-alamedaservice.crd.yaml | 3597 +++++++++++++++++ charts/federatorai/federatorai/5.0.0/logo.png | Bin 0 -> 2838 bytes .../federatorai/5.0.0/questions.yaml | 89 + .../federatorai/5.0.0/requirements.yaml | 0 .../5.0.0/templates/01-serviceaccount.yaml | 5 + .../03-federatorai-operator.deployment.yaml | 97 + .../5.0.0/templates/04-clusterrole.yaml | 209 + .../templates/05-clusterrolebinding.yaml | 12 + .../federatorai/5.0.0/templates/06-role.yaml | 46 + .../5.0.0/templates/07-rolebinding.yaml | 13 + .../5.0.0/templates/08-service.yaml | 14 + .../5.0.0/templates/09-secret.yaml | 7 + .../5.0.0/templates/10-mutatingwebhook.yaml | 27 + .../5.0.0/templates/11-validatingwebhook.yaml | 27 + .../federatorai/5.0.0/templates/NOTES.txt | 3 + .../federatorai/5.0.0/templates/_helpers.tpl | 45 + .../5.0.0/templates/alamedaservice.yaml | 95 + .../federatorai/federatorai/5.0.0/values.yaml | 43 + index.yaml | 31 + 24 files changed, 4565 insertions(+) create mode 100644 assets/federatorai/federatorai-5.0.0.tgz create mode 100644 charts/federatorai/federatorai/5.0.0/.helmignore create mode 100644 charts/federatorai/federatorai/5.0.0/Chart.yaml create mode 100644 charts/federatorai/federatorai/5.0.0/README.md create mode 100644 charts/federatorai/federatorai/5.0.0/app-readme.md create mode 100644 charts/federatorai/federatorai/5.0.0/crds/02-alamedaservice.crd.yaml create mode 100644 charts/federatorai/federatorai/5.0.0/logo.png create mode 100644 charts/federatorai/federatorai/5.0.0/questions.yaml create mode 100644 charts/federatorai/federatorai/5.0.0/requirements.yaml create mode 100644 charts/federatorai/federatorai/5.0.0/templates/01-serviceaccount.yaml create mode 100644 charts/federatorai/federatorai/5.0.0/templates/03-federatorai-operator.deployment.yaml create mode 100644 charts/federatorai/federatorai/5.0.0/templates/04-clusterrole.yaml create mode 100644 charts/federatorai/federatorai/5.0.0/templates/05-clusterrolebinding.yaml create mode 100644 charts/federatorai/federatorai/5.0.0/templates/06-role.yaml create mode 100644 charts/federatorai/federatorai/5.0.0/templates/07-rolebinding.yaml create mode 100644 charts/federatorai/federatorai/5.0.0/templates/08-service.yaml create mode 100644 charts/federatorai/federatorai/5.0.0/templates/09-secret.yaml create mode 100644 charts/federatorai/federatorai/5.0.0/templates/10-mutatingwebhook.yaml create mode 100644 charts/federatorai/federatorai/5.0.0/templates/11-validatingwebhook.yaml create mode 100644 charts/federatorai/federatorai/5.0.0/templates/NOTES.txt create mode 100644 charts/federatorai/federatorai/5.0.0/templates/_helpers.tpl create mode 100644 charts/federatorai/federatorai/5.0.0/templates/alamedaservice.yaml create mode 100644 charts/federatorai/federatorai/5.0.0/values.yaml diff --git a/assets/federatorai/federatorai-5.0.0.tgz b/assets/federatorai/federatorai-5.0.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..701eb2583c070e3eda9facf80c0d54bc77258cfd GIT binary patch literal 15737 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 literal 0 HcmV?d00001 diff --git a/charts/federatorai/federatorai/5.0.0/.helmignore b/charts/federatorai/federatorai/5.0.0/.helmignore new file mode 100644 index 000000000..50af03172 --- /dev/null +++ b/charts/federatorai/federatorai/5.0.0/.helmignore @@ -0,0 +1,22 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ diff --git a/charts/federatorai/federatorai/5.0.0/Chart.yaml b/charts/federatorai/federatorai/5.0.0/Chart.yaml new file mode 100644 index 000000000..e4e354a11 --- /dev/null +++ b/charts/federatorai/federatorai/5.0.0/Chart.yaml @@ -0,0 +1,26 @@ +annotations: + catalog.cattle.io/certified: partner + catalog.cattle.io/display-name: Federator.ai + catalog.cattle.io/release-name: federatorai +apiVersion: v1 +appVersion: 5.0.0-p1 +description: Federator.ai helps enterprises optimize cloud resources, maximize application + performance, and save significant cost without excessive over-provisioning or under-provisioning + of resources, meeting the service-level requirements of their applications. +home: https://www.prophetstor.com +icon: https://raw.githubusercontent.com/prophetstor-ai/public/master/images/logo.png +keywords: +- AI +- Resource Orchestration +- NoOps +- AIOps +- Intelligent Workload Management +- Cost Optimization +kubeVersion: 1.16 - 1.22 +maintainers: +- email: support@prophetstor.com + name: ProphetStor Data Services, Inc. +name: federatorai +sources: +- https://www.prophetstor.com +version: 5.0.0 diff --git a/charts/federatorai/federatorai/5.0.0/README.md b/charts/federatorai/federatorai/5.0.0/README.md new file mode 100644 index 000000000..928231932 --- /dev/null +++ b/charts/federatorai/federatorai/5.0.0/README.md @@ -0,0 +1,109 @@ +# Federator.ai Operator +Federator.ai helps enterprises optimize cloud resources, maximize application performance, and save significant cost without excessive over-provisioning or under-provisioning of resources, meeting the service-level requirements of their applications. + +Enterprises often lack understanding of the resources needed to support their applications. This leads to either excessive over-provisioning or under-provisioning of resources (CPU, memory, storage). Using machine learning, Federator.ai determines the optimal cloud resources needed to support any workload on Kubernetes and helps users find the best-cost instances from cloud providers for their applications. + + +**Multi-layer workload prediction** + +Using machine learning and math-based algorithms, Federator.ai predicts containerized application and cluster node resource usage as the basis for resource recommendations at application level as well as at cluster node level. Federator.ai supports prediction for both physical/virtual CPUs and memories. + + +**Auto-scaling via resource recommendation** + +Federator.ai utilizes the predicted resource usage to recommend the right number and size of pods for applications. Integrated with Datadog's WPA, applications are automatically scaled to meet the predicted resource usage. + + +**Application-aware recommendation execution** + +Optimizing the resource usage and performance goals, Federator.ai uses application specific metrics for workload prediction and pod capacity estimation to auto-scale the right number of pods for best performance without overprovisioning. + + +**Multi-cloud Cost Analysis** + +With resource usage prediction, Federator.ai analyzes potential cost of a cluster on different public cloud providers. It also recommend appropriate cluster nodes and instance types based on resource usage. + + +**Custom Datadog/Sysdig Dashboards** + +Predefined custom Datadog/Sysdig Dashboards for workload prediction/recommendation visualization for cluster nodes and applications. + + +**SUSE/Rancher Marketplace** + +Federator.ai can also be directly installed from SUSE/Rancher Marketplace. Please see the following how-to video for the installation procedure. + +https://www.youtube.com/watch?v=mBAPCCAH8kg + + +**Additional resources** + +Want more product information? Explore detailed information about using this product and where to find additional help. + +* [Federator.ai Datasheet](https://www.prophetstor.com/wp-content/uploads/datasheets/Federator.ai.pdf) +* [Quick Start Guide](https://prophetstor.com/wp-content/uploads/documentation/Federator.ai/Latest%20Version/ProphetStor%20Federator.ai%20Quick%20Installation%20Guide.pdf) +* [Installation Guide](https://prophetstor.com/wp-content/uploads/2022/01/ProphetStor-Federator.ai-v5.0-Installation-Guide.pdf) +* [User Guide](https://prophetstor.com/wp-content/uploads/2022/01/Federator.ai-5.0-User-Guide.pdf) +* [Release Notes](https://prophetstor.com/wp-content/uploads/2022/01/Federator.ai-5.0-Release-Notes.pdf) +* [Company Information](https://www.prophetstor.com/) + +## Prerequisites +- The [Kubernetes](https://kubernetes.io/) version 1.16 or later. +- The [Helm](https://helm.sh/) version is 3.x.x or later. + +## Add Helm chart repository +``` +helm repo add prophetstor https://prophetstor-ai.github.io/federatorai-operator-helm/ +``` + +## Test the Helm chart repository +``` +helm search repo federatorai +``` + +## Installing with the release name `my-name`: +``` +helm install `my-name` prophetstor/federatorai --namespace=federatorai --create-namespace +``` + +## To uninstall/delete the `my-name` deployment: +``` +helm ls --all-namespaces +helm delete `my-name` --namespace=federatorai +``` + +## To delete the Custom Resource Definitions (CRDs): +``` +kubectl delete crd alamedaservices.federatorai.containers.ai +``` + + +## Configuration + +The following table lists the configurable parameters of the chart and their default values are specfied insde values.yaml. + +| Parameter | Description | +| ---------------------------------------------------------------- | --------------------------------------------- | +| `image.pullPolicy` | Container pull policy | +| `image.repository` | Image for Federator.ai operator | +| `image.tag` | Image Tag for Federator.ai operator | +| `federatorai.imageLocation` | Image Location for services containers | +| `federatorai.persistence.enabled` | Enable persistent volumes | +| `federatorai.persistence.storageClass` | Storage Class Name of persistent volumes | +| `federatorai.persistence.storages.logStorage.size` | Log volume size | +| `federatorai.persistence.aiCore.dataStorage.size` | AICore data volume size | +| `federatorai.persistence.influxdb.dataStorage.size` | Influxdb data volume size | +| `federatorai.persistence.fedemeterInfluxdb.dataStorage.size` | Fedemeter influxdb data volume size | +| `federatorai.persistence.federatoraiPostgreSQL.dataStorage.size` | PostgreSQL data volume size | +| `services.dashboardFrontend.nodePort` | Port of the Dashboard service | +| `services.rest.nodePort` | Port of the REST service | + +Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. + +Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example, + +```shell +helm install `my-name` prophetstor/federatorai -f values.yaml --namespace=federatorai --create-namespace +``` + +> **Tip**: You can use the default [values.yaml](values.yaml) diff --git a/charts/federatorai/federatorai/5.0.0/app-readme.md b/charts/federatorai/federatorai/5.0.0/app-readme.md new file mode 100644 index 000000000..fe6cbd989 --- /dev/null +++ b/charts/federatorai/federatorai/5.0.0/app-readme.md @@ -0,0 +1,48 @@ +# Federator.ai Operator +Federator.ai helps enterprises optimize cloud resources, maximize application performance, and save significant cost without excessive over-provisioning or under-provisioning of resources, meeting the service-level requirements of their applications. + +Enterprises often lack understanding of the resources needed to support their applications. This leads to either excessive over-provisioning or under-provisioning of resources (CPU, memory, storage). Using machine learning, Federator.ai determines the optimal cloud resources needed to support any workload on Kubernetes and helps users find the best-cost instances from cloud providers for their applications. + + +**Multi-layer workload prediction** + +Using machine learning and math-based algorithms, Federator.ai predicts containerized application and cluster node resource usage as the basis for resource recommendations at application level as well as at cluster node level. Federator.ai supports prediction for both physical/virtual CPUs and memories. + + +**Auto-scaling via resource recommendation** + +Federator.ai utilizes the predicted resource usage to recommend the right number and size of pods for applications. Integrated with Datadog's WPA, applications are automatically scaled to meet the predicted resource usage. + + +**Application-aware recommendation execution** + +Optimizing the resource usage and performance goals, Federator.ai uses application specific metrics for workload prediction and pod capacity estimation to auto-scale the right number of pods for best performance without overprovisioning. + + +**Multi-cloud Cost Analysis** + +With resource usage prediction, Federator.ai analyzes potential cost of a cluster on different public cloud providers. It also recommend appropriate cluster nodes and instance types based on resource usage. + + +**Custom Datadog/Sysdig Dashboards** + +Predefined custom Datadog/Sysdig Dashboards for workload prediction/recommendation visualization for cluster nodes and applications. + + +**SUSE/Rancher Marketplace** + +Federator.ai can also be directly installed from SUSE/Rancher Marketplace. Please see the following how-to video for the installation procedure. + +https://www.youtube.com/watch?v=mBAPCCAH8kg + + +**Additional resources** + +Want more product information? Explore detailed information about using this product and where to find additional help. + +* [Federator.ai Datasheet](https://www.prophetstor.com/wp-content/uploads/datasheets/Federator.ai.pdf) +* [Quick Start Guide](https://prophetstor.com/wp-content/uploads/documentation/Federator.ai/Latest%20Version/ProphetStor%20Federator.ai%20Quick%20Installation%20Guide.pdf) +* [Installation Guide](https://prophetstor.com/wp-content/uploads/2022/01/ProphetStor-Federator.ai-v5.0-Installation-Guide.pdf) +* [User Guide](https://prophetstor.com/wp-content/uploads/2022/01/Federator.ai-5.0-User-Guide.pdf) +* [Release Notes](https://prophetstor.com/wp-content/uploads/2022/01/Federator.ai-5.0-Release-Notes.pdf) +* [Company Information](https://www.prophetstor.com/) diff --git a/charts/federatorai/federatorai/5.0.0/crds/02-alamedaservice.crd.yaml b/charts/federatorai/federatorai/5.0.0/crds/02-alamedaservice.crd.yaml new file mode 100644 index 000000000..2f807b63f --- /dev/null +++ b/charts/federatorai/federatorai/5.0.0/crds/02-alamedaservice.crd.yaml @@ -0,0 +1,3597 @@ + +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.7.0 + helm.sh/hook: crd-install + creationTimestamp: null + name: alamedaservices.federatorai.containers.ai +spec: + group: federatorai.containers.ai + names: + kind: AlamedaService + listKind: AlamedaServiceList + plural: alamedaservices + singular: alamedaservice + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .spec.enableExecution + name: Execution + type: boolean + - jsonPath: .spec.version + name: Version + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: AlamedaService is the Schema for the alamedaservices API + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: AlamedaServiceSpec defines the desired state of AlamedaService + properties: + alameda-dispatcher: + properties: + bootstrap: + properties: + image: + type: string + imagepullpolicy: + description: PullPolicy describes a policy for if/when to + pull a container image + type: string + type: object + env: + items: + description: EnvVar represents an environment variable present + in a Container. + properties: + name: + description: Name of the environment variable. Must be a + C_IDENTIFIER. + type: string + value: + description: 'Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in + the container and any service environment variables. If + a variable cannot be resolved, the reference in the input + string will be unchanged. Double $$ are reduced to a single + $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless + of whether the variable exists or not. Defaults to "".' + type: string + valueFrom: + description: Source for the environment variable's value. + Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: Specify whether the ConfigMap or its + key must be defined + type: boolean + required: + - key + type: object + fieldRef: + description: 'Selects a field of the pod: supports metadata.name, + metadata.namespace, `metadata.labels['''']`, + `metadata.annotations['''']`, spec.nodeName, + spec.serviceAccountName, status.hostIP, status.podIP, + status.podIPs.' + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in the + specified API version. + type: string + required: + - fieldPath + type: object + resourceFieldRef: + description: 'Selects a resource of the container: only + resources limits and requests (limits.cpu, limits.memory, + limits.ephemeral-storage, requests.cpu, requests.memory + and requests.ephemeral-storage) are currently supported.' + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of the + exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + secretKeyRef: + description: Selects a key of a secret in the pod's + namespace + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: Specify whether the Secret or its key + must be defined + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + image: + type: string + imagepullpolicy: + description: PullPolicy describes a policy for if/when to pull + a container image + type: string + replicas: + format: int32 + minimum: 0 + type: integer + resources: + description: ResourceRequirements describes the compute resource + requirements. + properties: + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Limits describes the maximum amount of compute + resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Requests describes the minimum amount of compute + resources required. If Requests is omitted for a container, + it defaults to Limits if that is explicitly specified, otherwise + to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + type: object + storages: + items: + properties: + accessModes: + items: + type: string + type: array + class: + type: string + size: + type: string + type: + enum: + - pvc + - ephemeral + type: string + usage: + enum: + - log + - data + type: string + required: + - type + - usage + type: object + type: array + type: object + alamedaAi: + properties: + bootstrap: + properties: + image: + type: string + imagepullpolicy: + description: PullPolicy describes a policy for if/when to + pull a container image + type: string + type: object + env: + items: + description: EnvVar represents an environment variable present + in a Container. + properties: + name: + description: Name of the environment variable. Must be a + C_IDENTIFIER. + type: string + value: + description: 'Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in + the container and any service environment variables. If + a variable cannot be resolved, the reference in the input + string will be unchanged. Double $$ are reduced to a single + $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless + of whether the variable exists or not. Defaults to "".' + type: string + valueFrom: + description: Source for the environment variable's value. + Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: Specify whether the ConfigMap or its + key must be defined + type: boolean + required: + - key + type: object + fieldRef: + description: 'Selects a field of the pod: supports metadata.name, + metadata.namespace, `metadata.labels['''']`, + `metadata.annotations['''']`, spec.nodeName, + spec.serviceAccountName, status.hostIP, status.podIP, + status.podIPs.' + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in the + specified API version. + type: string + required: + - fieldPath + type: object + resourceFieldRef: + description: 'Selects a resource of the container: only + resources limits and requests (limits.cpu, limits.memory, + limits.ephemeral-storage, requests.cpu, requests.memory + and requests.ephemeral-storage) are currently supported.' + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of the + exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + secretKeyRef: + description: Selects a key of a secret in the pod's + namespace + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: Specify whether the Secret or its key + must be defined + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + image: + type: string + imagepullpolicy: + description: PullPolicy describes a policy for if/when to pull + a container image + type: string + replicas: + format: int32 + minimum: 0 + type: integer + resources: + description: ResourceRequirements describes the compute resource + requirements. + properties: + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Limits describes the maximum amount of compute + resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Requests describes the minimum amount of compute + resources required. If Requests is omitted for a container, + it defaults to Limits if that is explicitly specified, otherwise + to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + type: object + storages: + items: + properties: + accessModes: + items: + type: string + type: array + class: + type: string + size: + type: string + type: + enum: + - pvc + - ephemeral + type: string + usage: + enum: + - log + - data + type: string + required: + - type + - usage + type: object + type: array + type: object + alamedaDatahub: + properties: + bootstrap: + properties: + image: + type: string + imagepullpolicy: + description: PullPolicy describes a policy for if/when to + pull a container image + type: string + type: object + env: + items: + description: EnvVar represents an environment variable present + in a Container. + properties: + name: + description: Name of the environment variable. Must be a + C_IDENTIFIER. + type: string + value: + description: 'Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in + the container and any service environment variables. If + a variable cannot be resolved, the reference in the input + string will be unchanged. Double $$ are reduced to a single + $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless + of whether the variable exists or not. Defaults to "".' + type: string + valueFrom: + description: Source for the environment variable's value. + Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: Specify whether the ConfigMap or its + key must be defined + type: boolean + required: + - key + type: object + fieldRef: + description: 'Selects a field of the pod: supports metadata.name, + metadata.namespace, `metadata.labels['''']`, + `metadata.annotations['''']`, spec.nodeName, + spec.serviceAccountName, status.hostIP, status.podIP, + status.podIPs.' + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in the + specified API version. + type: string + required: + - fieldPath + type: object + resourceFieldRef: + description: 'Selects a resource of the container: only + resources limits and requests (limits.cpu, limits.memory, + limits.ephemeral-storage, requests.cpu, requests.memory + and requests.ephemeral-storage) are currently supported.' + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of the + exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + secretKeyRef: + description: Selects a key of a secret in the pod's + namespace + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: Specify whether the Secret or its key + must be defined + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + image: + type: string + imagepullpolicy: + description: PullPolicy describes a policy for if/when to pull + a container image + type: string + replicas: + format: int32 + minimum: 0 + type: integer + resources: + description: ResourceRequirements describes the compute resource + requirements. + properties: + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Limits describes the maximum amount of compute + resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Requests describes the minimum amount of compute + resources required. If Requests is omitted for a container, + it defaults to Limits if that is explicitly specified, otherwise + to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + type: object + storages: + items: + properties: + accessModes: + items: + type: string + type: array + class: + type: string + size: + type: string + type: + enum: + - pvc + - ephemeral + type: string + usage: + enum: + - log + - data + type: string + required: + - type + - usage + type: object + type: array + type: object + alamedaExecutor: + properties: + bootstrap: + properties: + image: + type: string + imagepullpolicy: + description: PullPolicy describes a policy for if/when to + pull a container image + type: string + type: object + env: + items: + description: EnvVar represents an environment variable present + in a Container. + properties: + name: + description: Name of the environment variable. Must be a + C_IDENTIFIER. + type: string + value: + description: 'Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in + the container and any service environment variables. If + a variable cannot be resolved, the reference in the input + string will be unchanged. Double $$ are reduced to a single + $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless + of whether the variable exists or not. Defaults to "".' + type: string + valueFrom: + description: Source for the environment variable's value. + Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: Specify whether the ConfigMap or its + key must be defined + type: boolean + required: + - key + type: object + fieldRef: + description: 'Selects a field of the pod: supports metadata.name, + metadata.namespace, `metadata.labels['''']`, + `metadata.annotations['''']`, spec.nodeName, + spec.serviceAccountName, status.hostIP, status.podIP, + status.podIPs.' + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in the + specified API version. + type: string + required: + - fieldPath + type: object + resourceFieldRef: + description: 'Selects a resource of the container: only + resources limits and requests (limits.cpu, limits.memory, + limits.ephemeral-storage, requests.cpu, requests.memory + and requests.ephemeral-storage) are currently supported.' + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of the + exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + secretKeyRef: + description: Selects a key of a secret in the pod's + namespace + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: Specify whether the Secret or its key + must be defined + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + image: + type: string + imagepullpolicy: + description: PullPolicy describes a policy for if/when to pull + a container image + type: string + replicas: + format: int32 + minimum: 0 + type: integer + resources: + description: ResourceRequirements describes the compute resource + requirements. + properties: + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Limits describes the maximum amount of compute + resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Requests describes the minimum amount of compute + resources required. If Requests is omitted for a container, + it defaults to Limits if that is explicitly specified, otherwise + to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + type: object + storages: + items: + properties: + accessModes: + items: + type: string + type: array + class: + type: string + size: + type: string + type: + enum: + - pvc + - ephemeral + type: string + usage: + enum: + - log + - data + type: string + required: + - type + - usage + type: object + type: array + type: object + alamedaInfluxdb: + properties: + bootstrap: + properties: + image: + type: string + imagepullpolicy: + description: PullPolicy describes a policy for if/when to + pull a container image + type: string + type: object + env: + items: + description: EnvVar represents an environment variable present + in a Container. + properties: + name: + description: Name of the environment variable. Must be a + C_IDENTIFIER. + type: string + value: + description: 'Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in + the container and any service environment variables. If + a variable cannot be resolved, the reference in the input + string will be unchanged. Double $$ are reduced to a single + $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless + of whether the variable exists or not. Defaults to "".' + type: string + valueFrom: + description: Source for the environment variable's value. + Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: Specify whether the ConfigMap or its + key must be defined + type: boolean + required: + - key + type: object + fieldRef: + description: 'Selects a field of the pod: supports metadata.name, + metadata.namespace, `metadata.labels['''']`, + `metadata.annotations['''']`, spec.nodeName, + spec.serviceAccountName, status.hostIP, status.podIP, + status.podIPs.' + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in the + specified API version. + type: string + required: + - fieldPath + type: object + resourceFieldRef: + description: 'Selects a resource of the container: only + resources limits and requests (limits.cpu, limits.memory, + limits.ephemeral-storage, requests.cpu, requests.memory + and requests.ephemeral-storage) are currently supported.' + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of the + exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + secretKeyRef: + description: Selects a key of a secret in the pod's + namespace + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: Specify whether the Secret or its key + must be defined + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + image: + type: string + imagepullpolicy: + description: PullPolicy describes a policy for if/when to pull + a container image + type: string + replicas: + format: int32 + minimum: 0 + type: integer + resources: + description: ResourceRequirements describes the compute resource + requirements. + properties: + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Limits describes the maximum amount of compute + resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Requests describes the minimum amount of compute + resources required. If Requests is omitted for a container, + it defaults to Limits if that is explicitly specified, otherwise + to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + type: object + storages: + items: + properties: + accessModes: + items: + type: string + type: array + class: + type: string + size: + type: string + type: + enum: + - pvc + - ephemeral + type: string + usage: + enum: + - log + - data + type: string + required: + - type + - usage + type: object + type: array + type: object + alamedaNotifier: + properties: + bootstrap: + properties: + image: + type: string + imagepullpolicy: + description: PullPolicy describes a policy for if/when to + pull a container image + type: string + type: object + env: + items: + description: EnvVar represents an environment variable present + in a Container. + properties: + name: + description: Name of the environment variable. Must be a + C_IDENTIFIER. + type: string + value: + description: 'Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in + the container and any service environment variables. If + a variable cannot be resolved, the reference in the input + string will be unchanged. Double $$ are reduced to a single + $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless + of whether the variable exists or not. Defaults to "".' + type: string + valueFrom: + description: Source for the environment variable's value. + Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: Specify whether the ConfigMap or its + key must be defined + type: boolean + required: + - key + type: object + fieldRef: + description: 'Selects a field of the pod: supports metadata.name, + metadata.namespace, `metadata.labels['''']`, + `metadata.annotations['''']`, spec.nodeName, + spec.serviceAccountName, status.hostIP, status.podIP, + status.podIPs.' + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in the + specified API version. + type: string + required: + - fieldPath + type: object + resourceFieldRef: + description: 'Selects a resource of the container: only + resources limits and requests (limits.cpu, limits.memory, + limits.ephemeral-storage, requests.cpu, requests.memory + and requests.ephemeral-storage) are currently supported.' + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of the + exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + secretKeyRef: + description: Selects a key of a secret in the pod's + namespace + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: Specify whether the Secret or its key + must be defined + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + image: + type: string + imagepullpolicy: + description: PullPolicy describes a policy for if/when to pull + a container image + type: string + replicas: + format: int32 + minimum: 0 + type: integer + resources: + description: ResourceRequirements describes the compute resource + requirements. + properties: + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Limits describes the maximum amount of compute + resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Requests describes the minimum amount of compute + resources required. If Requests is omitted for a container, + it defaults to Limits if that is explicitly specified, otherwise + to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + type: object + storages: + items: + properties: + accessModes: + items: + type: string + type: array + class: + type: string + size: + type: string + type: + enum: + - pvc + - ephemeral + type: string + usage: + enum: + - log + - data + type: string + required: + - type + - usage + type: object + type: array + type: object + alamedaRabbitMQ: + properties: + bootstrap: + properties: + image: + type: string + imagepullpolicy: + description: PullPolicy describes a policy for if/when to + pull a container image + type: string + type: object + env: + items: + description: EnvVar represents an environment variable present + in a Container. + properties: + name: + description: Name of the environment variable. Must be a + C_IDENTIFIER. + type: string + value: + description: 'Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in + the container and any service environment variables. If + a variable cannot be resolved, the reference in the input + string will be unchanged. Double $$ are reduced to a single + $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless + of whether the variable exists or not. Defaults to "".' + type: string + valueFrom: + description: Source for the environment variable's value. + Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: Specify whether the ConfigMap or its + key must be defined + type: boolean + required: + - key + type: object + fieldRef: + description: 'Selects a field of the pod: supports metadata.name, + metadata.namespace, `metadata.labels['''']`, + `metadata.annotations['''']`, spec.nodeName, + spec.serviceAccountName, status.hostIP, status.podIP, + status.podIPs.' + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in the + specified API version. + type: string + required: + - fieldPath + type: object + resourceFieldRef: + description: 'Selects a resource of the container: only + resources limits and requests (limits.cpu, limits.memory, + limits.ephemeral-storage, requests.cpu, requests.memory + and requests.ephemeral-storage) are currently supported.' + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of the + exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + secretKeyRef: + description: Selects a key of a secret in the pod's + namespace + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: Specify whether the Secret or its key + must be defined + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + image: + type: string + imagepullpolicy: + description: PullPolicy describes a policy for if/when to pull + a container image + type: string + replicas: + format: int32 + minimum: 0 + type: integer + resources: + description: ResourceRequirements describes the compute resource + requirements. + properties: + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Limits describes the maximum amount of compute + resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Requests describes the minimum amount of compute + resources required. If Requests is omitted for a container, + it defaults to Limits if that is explicitly specified, otherwise + to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + type: object + storages: + items: + properties: + accessModes: + items: + type: string + type: array + class: + type: string + size: + type: string + type: + enum: + - pvc + - ephemeral + type: string + usage: + enum: + - log + - data + type: string + required: + - type + - usage + type: object + type: array + type: object + enableExecution: + type: boolean + enablePreloader: + type: boolean + env: + items: + description: EnvVar represents an environment variable present in + a Container. + properties: + name: + description: Name of the environment variable. Must be a C_IDENTIFIER. + type: string + value: + description: 'Variable references $(VAR_NAME) are expanded using + the previously defined environment variables in the container + and any service environment variables. If a variable cannot + be resolved, the reference in the input string will be unchanged. + Double $$ are reduced to a single $, which allows for escaping + the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the + string literal "$(VAR_NAME)". Escaped references will never + be expanded, regardless of whether the variable exists or + not. Defaults to "".' + type: string + valueFrom: + description: Source for the environment variable's value. Cannot + be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid?' + type: string + optional: + description: Specify whether the ConfigMap or its key + must be defined + type: boolean + required: + - key + type: object + fieldRef: + description: 'Selects a field of the pod: supports metadata.name, + metadata.namespace, `metadata.labels['''']`, `metadata.annotations['''']`, + spec.nodeName, spec.serviceAccountName, status.hostIP, + status.podIP, status.podIPs.' + properties: + apiVersion: + description: Version of the schema the FieldPath is + written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in the specified + API version. + type: string + required: + - fieldPath + type: object + resourceFieldRef: + description: 'Selects a resource of the container: only + resources limits and requests (limits.cpu, limits.memory, + limits.ephemeral-storage, requests.cpu, requests.memory + and requests.ephemeral-storage) are currently supported.' + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of the exposed + resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + secretKeyRef: + description: Selects a key of a secret in the pod's namespace + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid?' + type: string + optional: + description: Specify whether the Secret or its key must + be defined + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + fedemeter: + properties: + bootstrap: + properties: + image: + type: string + imagepullpolicy: + description: PullPolicy describes a policy for if/when to + pull a container image + type: string + type: object + env: + items: + description: EnvVar represents an environment variable present + in a Container. + properties: + name: + description: Name of the environment variable. Must be a + C_IDENTIFIER. + type: string + value: + description: 'Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in + the container and any service environment variables. If + a variable cannot be resolved, the reference in the input + string will be unchanged. Double $$ are reduced to a single + $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless + of whether the variable exists or not. Defaults to "".' + type: string + valueFrom: + description: Source for the environment variable's value. + Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: Specify whether the ConfigMap or its + key must be defined + type: boolean + required: + - key + type: object + fieldRef: + description: 'Selects a field of the pod: supports metadata.name, + metadata.namespace, `metadata.labels['''']`, + `metadata.annotations['''']`, spec.nodeName, + spec.serviceAccountName, status.hostIP, status.podIP, + status.podIPs.' + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in the + specified API version. + type: string + required: + - fieldPath + type: object + resourceFieldRef: + description: 'Selects a resource of the container: only + resources limits and requests (limits.cpu, limits.memory, + limits.ephemeral-storage, requests.cpu, requests.memory + and requests.ephemeral-storage) are currently supported.' + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of the + exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + secretKeyRef: + description: Selects a key of a secret in the pod's + namespace + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: Specify whether the Secret or its key + must be defined + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + image: + type: string + imagepullpolicy: + description: PullPolicy describes a policy for if/when to pull + a container image + type: string + replicas: + format: int32 + minimum: 0 + type: integer + resources: + description: ResourceRequirements describes the compute resource + requirements. + properties: + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Limits describes the maximum amount of compute + resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Requests describes the minimum amount of compute + resources required. If Requests is omitted for a container, + it defaults to Limits if that is explicitly specified, otherwise + to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + type: object + storages: + items: + properties: + accessModes: + items: + type: string + type: array + class: + type: string + size: + type: string + type: + enum: + - pvc + - ephemeral + type: string + usage: + enum: + - log + - data + type: string + required: + - type + - usage + type: object + type: array + type: object + fedemeterInfluxdb: + properties: + bootstrap: + properties: + image: + type: string + imagepullpolicy: + description: PullPolicy describes a policy for if/when to + pull a container image + type: string + type: object + env: + items: + description: EnvVar represents an environment variable present + in a Container. + properties: + name: + description: Name of the environment variable. Must be a + C_IDENTIFIER. + type: string + value: + description: 'Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in + the container and any service environment variables. If + a variable cannot be resolved, the reference in the input + string will be unchanged. Double $$ are reduced to a single + $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless + of whether the variable exists or not. Defaults to "".' + type: string + valueFrom: + description: Source for the environment variable's value. + Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: Specify whether the ConfigMap or its + key must be defined + type: boolean + required: + - key + type: object + fieldRef: + description: 'Selects a field of the pod: supports metadata.name, + metadata.namespace, `metadata.labels['''']`, + `metadata.annotations['''']`, spec.nodeName, + spec.serviceAccountName, status.hostIP, status.podIP, + status.podIPs.' + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in the + specified API version. + type: string + required: + - fieldPath + type: object + resourceFieldRef: + description: 'Selects a resource of the container: only + resources limits and requests (limits.cpu, limits.memory, + limits.ephemeral-storage, requests.cpu, requests.memory + and requests.ephemeral-storage) are currently supported.' + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of the + exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + secretKeyRef: + description: Selects a key of a secret in the pod's + namespace + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: Specify whether the Secret or its key + must be defined + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + image: + type: string + imagepullpolicy: + description: PullPolicy describes a policy for if/when to pull + a container image + type: string + replicas: + format: int32 + minimum: 0 + type: integer + resources: + description: ResourceRequirements describes the compute resource + requirements. + properties: + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Limits describes the maximum amount of compute + resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Requests describes the minimum amount of compute + resources required. If Requests is omitted for a container, + it defaults to Limits if that is explicitly specified, otherwise + to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + type: object + storages: + items: + properties: + accessModes: + items: + type: string + type: array + class: + type: string + size: + type: string + type: + enum: + - pvc + - ephemeral + type: string + usage: + enum: + - log + - data + type: string + required: + - type + - usage + type: object + type: array + type: object + federatoraiAgent: + properties: + bootstrap: + properties: + image: + type: string + imagepullpolicy: + description: PullPolicy describes a policy for if/when to + pull a container image + type: string + type: object + env: + items: + description: EnvVar represents an environment variable present + in a Container. + properties: + name: + description: Name of the environment variable. Must be a + C_IDENTIFIER. + type: string + value: + description: 'Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in + the container and any service environment variables. If + a variable cannot be resolved, the reference in the input + string will be unchanged. Double $$ are reduced to a single + $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless + of whether the variable exists or not. Defaults to "".' + type: string + valueFrom: + description: Source for the environment variable's value. + Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: Specify whether the ConfigMap or its + key must be defined + type: boolean + required: + - key + type: object + fieldRef: + description: 'Selects a field of the pod: supports metadata.name, + metadata.namespace, `metadata.labels['''']`, + `metadata.annotations['''']`, spec.nodeName, + spec.serviceAccountName, status.hostIP, status.podIP, + status.podIPs.' + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in the + specified API version. + type: string + required: + - fieldPath + type: object + resourceFieldRef: + description: 'Selects a resource of the container: only + resources limits and requests (limits.cpu, limits.memory, + limits.ephemeral-storage, requests.cpu, requests.memory + and requests.ephemeral-storage) are currently supported.' + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of the + exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + secretKeyRef: + description: Selects a key of a secret in the pod's + namespace + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: Specify whether the Secret or its key + must be defined + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + image: + type: string + imagepullpolicy: + description: PullPolicy describes a policy for if/when to pull + a container image + type: string + replicas: + format: int32 + minimum: 0 + type: integer + resources: + description: ResourceRequirements describes the compute resource + requirements. + properties: + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Limits describes the maximum amount of compute + resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Requests describes the minimum amount of compute + resources required. If Requests is omitted for a container, + it defaults to Limits if that is explicitly specified, otherwise + to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + type: object + storages: + items: + properties: + accessModes: + items: + type: string + type: array + class: + type: string + size: + type: string + type: + enum: + - pvc + - ephemeral + type: string + usage: + enum: + - log + - data + type: string + required: + - type + - usage + type: object + type: array + type: object + federatoraiAgentPreloader: + properties: + bootstrap: + properties: + image: + type: string + imagepullpolicy: + description: PullPolicy describes a policy for if/when to + pull a container image + type: string + type: object + env: + items: + description: EnvVar represents an environment variable present + in a Container. + properties: + name: + description: Name of the environment variable. Must be a + C_IDENTIFIER. + type: string + value: + description: 'Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in + the container and any service environment variables. If + a variable cannot be resolved, the reference in the input + string will be unchanged. Double $$ are reduced to a single + $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless + of whether the variable exists or not. Defaults to "".' + type: string + valueFrom: + description: Source for the environment variable's value. + Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: Specify whether the ConfigMap or its + key must be defined + type: boolean + required: + - key + type: object + fieldRef: + description: 'Selects a field of the pod: supports metadata.name, + metadata.namespace, `metadata.labels['''']`, + `metadata.annotations['''']`, spec.nodeName, + spec.serviceAccountName, status.hostIP, status.podIP, + status.podIPs.' + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in the + specified API version. + type: string + required: + - fieldPath + type: object + resourceFieldRef: + description: 'Selects a resource of the container: only + resources limits and requests (limits.cpu, limits.memory, + limits.ephemeral-storage, requests.cpu, requests.memory + and requests.ephemeral-storage) are currently supported.' + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of the + exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + secretKeyRef: + description: Selects a key of a secret in the pod's + namespace + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: Specify whether the Secret or its key + must be defined + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + image: + type: string + imagepullpolicy: + description: PullPolicy describes a policy for if/when to pull + a container image + type: string + replicas: + format: int32 + minimum: 0 + type: integer + resources: + description: ResourceRequirements describes the compute resource + requirements. + properties: + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Limits describes the maximum amount of compute + resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Requests describes the minimum amount of compute + resources required. If Requests is omitted for a container, + it defaults to Limits if that is explicitly specified, otherwise + to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + type: object + storages: + items: + properties: + accessModes: + items: + type: string + type: array + class: + type: string + size: + type: string + type: + enum: + - pvc + - ephemeral + type: string + usage: + enum: + - log + - data + type: string + required: + - type + - usage + type: object + type: array + type: object + federatoraiBackend: + properties: + bootstrap: + properties: + image: + type: string + imagepullpolicy: + description: PullPolicy describes a policy for if/when to + pull a container image + type: string + type: object + env: + items: + description: EnvVar represents an environment variable present + in a Container. + properties: + name: + description: Name of the environment variable. Must be a + C_IDENTIFIER. + type: string + value: + description: 'Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in + the container and any service environment variables. If + a variable cannot be resolved, the reference in the input + string will be unchanged. Double $$ are reduced to a single + $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless + of whether the variable exists or not. Defaults to "".' + type: string + valueFrom: + description: Source for the environment variable's value. + Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: Specify whether the ConfigMap or its + key must be defined + type: boolean + required: + - key + type: object + fieldRef: + description: 'Selects a field of the pod: supports metadata.name, + metadata.namespace, `metadata.labels['''']`, + `metadata.annotations['''']`, spec.nodeName, + spec.serviceAccountName, status.hostIP, status.podIP, + status.podIPs.' + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in the + specified API version. + type: string + required: + - fieldPath + type: object + resourceFieldRef: + description: 'Selects a resource of the container: only + resources limits and requests (limits.cpu, limits.memory, + limits.ephemeral-storage, requests.cpu, requests.memory + and requests.ephemeral-storage) are currently supported.' + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of the + exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + secretKeyRef: + description: Selects a key of a secret in the pod's + namespace + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: Specify whether the Secret or its key + must be defined + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + image: + type: string + imagepullpolicy: + description: PullPolicy describes a policy for if/when to pull + a container image + type: string + replicas: + format: int32 + minimum: 0 + type: integer + resources: + description: ResourceRequirements describes the compute resource + requirements. + properties: + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Limits describes the maximum amount of compute + resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Requests describes the minimum amount of compute + resources required. If Requests is omitted for a container, + it defaults to Limits if that is explicitly specified, otherwise + to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + type: object + storages: + items: + properties: + accessModes: + items: + type: string + type: array + class: + type: string + size: + type: string + type: + enum: + - pvc + - ephemeral + type: string + usage: + enum: + - log + - data + type: string + required: + - type + - usage + type: object + type: array + type: object + federatoraiDataAdapter: + properties: + bootstrap: + properties: + image: + type: string + imagepullpolicy: + description: PullPolicy describes a policy for if/when to + pull a container image + type: string + type: object + env: + items: + description: EnvVar represents an environment variable present + in a Container. + properties: + name: + description: Name of the environment variable. Must be a + C_IDENTIFIER. + type: string + value: + description: 'Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in + the container and any service environment variables. If + a variable cannot be resolved, the reference in the input + string will be unchanged. Double $$ are reduced to a single + $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless + of whether the variable exists or not. Defaults to "".' + type: string + valueFrom: + description: Source for the environment variable's value. + Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: Specify whether the ConfigMap or its + key must be defined + type: boolean + required: + - key + type: object + fieldRef: + description: 'Selects a field of the pod: supports metadata.name, + metadata.namespace, `metadata.labels['''']`, + `metadata.annotations['''']`, spec.nodeName, + spec.serviceAccountName, status.hostIP, status.podIP, + status.podIPs.' + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in the + specified API version. + type: string + required: + - fieldPath + type: object + resourceFieldRef: + description: 'Selects a resource of the container: only + resources limits and requests (limits.cpu, limits.memory, + limits.ephemeral-storage, requests.cpu, requests.memory + and requests.ephemeral-storage) are currently supported.' + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of the + exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + secretKeyRef: + description: Selects a key of a secret in the pod's + namespace + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: Specify whether the Secret or its key + must be defined + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + image: + type: string + imagepullpolicy: + description: PullPolicy describes a policy for if/when to pull + a container image + type: string + replicas: + format: int32 + minimum: 0 + type: integer + resources: + description: ResourceRequirements describes the compute resource + requirements. + properties: + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Limits describes the maximum amount of compute + resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Requests describes the minimum amount of compute + resources required. If Requests is omitted for a container, + it defaults to Limits if that is explicitly specified, otherwise + to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + type: object + storages: + items: + properties: + accessModes: + items: + type: string + type: array + class: + type: string + size: + type: string + type: + enum: + - pvc + - ephemeral + type: string + usage: + enum: + - log + - data + type: string + required: + - type + - usage + type: object + type: array + type: object + federatoraiFrontend: + properties: + bootstrap: + properties: + image: + type: string + imagepullpolicy: + description: PullPolicy describes a policy for if/when to + pull a container image + type: string + type: object + env: + items: + description: EnvVar represents an environment variable present + in a Container. + properties: + name: + description: Name of the environment variable. Must be a + C_IDENTIFIER. + type: string + value: + description: 'Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in + the container and any service environment variables. If + a variable cannot be resolved, the reference in the input + string will be unchanged. Double $$ are reduced to a single + $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless + of whether the variable exists or not. Defaults to "".' + type: string + valueFrom: + description: Source for the environment variable's value. + Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: Specify whether the ConfigMap or its + key must be defined + type: boolean + required: + - key + type: object + fieldRef: + description: 'Selects a field of the pod: supports metadata.name, + metadata.namespace, `metadata.labels['''']`, + `metadata.annotations['''']`, spec.nodeName, + spec.serviceAccountName, status.hostIP, status.podIP, + status.podIPs.' + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in the + specified API version. + type: string + required: + - fieldPath + type: object + resourceFieldRef: + description: 'Selects a resource of the container: only + resources limits and requests (limits.cpu, limits.memory, + limits.ephemeral-storage, requests.cpu, requests.memory + and requests.ephemeral-storage) are currently supported.' + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of the + exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + secretKeyRef: + description: Selects a key of a secret in the pod's + namespace + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: Specify whether the Secret or its key + must be defined + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + image: + type: string + imagepullpolicy: + description: PullPolicy describes a policy for if/when to pull + a container image + type: string + replicas: + format: int32 + minimum: 0 + type: integer + resources: + description: ResourceRequirements describes the compute resource + requirements. + properties: + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Limits describes the maximum amount of compute + resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Requests describes the minimum amount of compute + resources required. If Requests is omitted for a container, + it defaults to Limits if that is explicitly specified, otherwise + to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + type: object + storages: + items: + properties: + accessModes: + items: + type: string + type: array + class: + type: string + size: + type: string + type: + enum: + - pvc + - ephemeral + type: string + usage: + enum: + - log + - data + type: string + required: + - type + - usage + type: object + type: array + type: object + federatoraiPostgreSQL: + properties: + bootstrap: + properties: + image: + type: string + imagepullpolicy: + description: PullPolicy describes a policy for if/when to + pull a container image + type: string + type: object + env: + items: + description: EnvVar represents an environment variable present + in a Container. + properties: + name: + description: Name of the environment variable. Must be a + C_IDENTIFIER. + type: string + value: + description: 'Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in + the container and any service environment variables. If + a variable cannot be resolved, the reference in the input + string will be unchanged. Double $$ are reduced to a single + $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless + of whether the variable exists or not. Defaults to "".' + type: string + valueFrom: + description: Source for the environment variable's value. + Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: Specify whether the ConfigMap or its + key must be defined + type: boolean + required: + - key + type: object + fieldRef: + description: 'Selects a field of the pod: supports metadata.name, + metadata.namespace, `metadata.labels['''']`, + `metadata.annotations['''']`, spec.nodeName, + spec.serviceAccountName, status.hostIP, status.podIP, + status.podIPs.' + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in the + specified API version. + type: string + required: + - fieldPath + type: object + resourceFieldRef: + description: 'Selects a resource of the container: only + resources limits and requests (limits.cpu, limits.memory, + limits.ephemeral-storage, requests.cpu, requests.memory + and requests.ephemeral-storage) are currently supported.' + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of the + exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + secretKeyRef: + description: Selects a key of a secret in the pod's + namespace + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: Specify whether the Secret or its key + must be defined + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + image: + type: string + imagepullpolicy: + description: PullPolicy describes a policy for if/when to pull + a container image + type: string + replicas: + format: int32 + minimum: 0 + type: integer + resources: + description: ResourceRequirements describes the compute resource + requirements. + properties: + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Limits describes the maximum amount of compute + resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Requests describes the minimum amount of compute + resources required. If Requests is omitted for a container, + it defaults to Limits if that is explicitly specified, otherwise + to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + type: object + storages: + items: + properties: + accessModes: + items: + type: string + type: array + class: + type: string + size: + type: string + type: + enum: + - pvc + - ephemeral + type: string + usage: + enum: + - log + - data + type: string + required: + - type + - usage + type: object + type: array + type: object + federatoraiRecommendDispatcher: + properties: + bootstrap: + properties: + image: + type: string + imagepullpolicy: + description: PullPolicy describes a policy for if/when to + pull a container image + type: string + type: object + env: + items: + description: EnvVar represents an environment variable present + in a Container. + properties: + name: + description: Name of the environment variable. Must be a + C_IDENTIFIER. + type: string + value: + description: 'Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in + the container and any service environment variables. If + a variable cannot be resolved, the reference in the input + string will be unchanged. Double $$ are reduced to a single + $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless + of whether the variable exists or not. Defaults to "".' + type: string + valueFrom: + description: Source for the environment variable's value. + Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: Specify whether the ConfigMap or its + key must be defined + type: boolean + required: + - key + type: object + fieldRef: + description: 'Selects a field of the pod: supports metadata.name, + metadata.namespace, `metadata.labels['''']`, + `metadata.annotations['''']`, spec.nodeName, + spec.serviceAccountName, status.hostIP, status.podIP, + status.podIPs.' + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in the + specified API version. + type: string + required: + - fieldPath + type: object + resourceFieldRef: + description: 'Selects a resource of the container: only + resources limits and requests (limits.cpu, limits.memory, + limits.ephemeral-storage, requests.cpu, requests.memory + and requests.ephemeral-storage) are currently supported.' + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of the + exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + secretKeyRef: + description: Selects a key of a secret in the pod's + namespace + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: Specify whether the Secret or its key + must be defined + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + image: + type: string + imagepullpolicy: + description: PullPolicy describes a policy for if/when to pull + a container image + type: string + replicas: + format: int32 + minimum: 0 + type: integer + resources: + description: ResourceRequirements describes the compute resource + requirements. + properties: + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Limits describes the maximum amount of compute + resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Requests describes the minimum amount of compute + resources required. If Requests is omitted for a container, + it defaults to Limits if that is explicitly specified, otherwise + to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + type: object + storages: + items: + properties: + accessModes: + items: + type: string + type: array + class: + type: string + size: + type: string + type: + enum: + - pvc + - ephemeral + type: string + usage: + enum: + - log + - data + type: string + required: + - type + - usage + type: object + type: array + type: object + federatoraiRecommendWorker: + properties: + bootstrap: + properties: + image: + type: string + imagepullpolicy: + description: PullPolicy describes a policy for if/when to + pull a container image + type: string + type: object + env: + items: + description: EnvVar represents an environment variable present + in a Container. + properties: + name: + description: Name of the environment variable. Must be a + C_IDENTIFIER. + type: string + value: + description: 'Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in + the container and any service environment variables. If + a variable cannot be resolved, the reference in the input + string will be unchanged. Double $$ are reduced to a single + $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless + of whether the variable exists or not. Defaults to "".' + type: string + valueFrom: + description: Source for the environment variable's value. + Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: Specify whether the ConfigMap or its + key must be defined + type: boolean + required: + - key + type: object + fieldRef: + description: 'Selects a field of the pod: supports metadata.name, + metadata.namespace, `metadata.labels['''']`, + `metadata.annotations['''']`, spec.nodeName, + spec.serviceAccountName, status.hostIP, status.podIP, + status.podIPs.' + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in the + specified API version. + type: string + required: + - fieldPath + type: object + resourceFieldRef: + description: 'Selects a resource of the container: only + resources limits and requests (limits.cpu, limits.memory, + limits.ephemeral-storage, requests.cpu, requests.memory + and requests.ephemeral-storage) are currently supported.' + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of the + exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + secretKeyRef: + description: Selects a key of a secret in the pod's + namespace + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: Specify whether the Secret or its key + must be defined + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + image: + type: string + imagepullpolicy: + description: PullPolicy describes a policy for if/when to pull + a container image + type: string + replicas: + format: int32 + minimum: 0 + type: integer + resources: + description: ResourceRequirements describes the compute resource + requirements. + properties: + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Limits describes the maximum amount of compute + resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Requests describes the minimum amount of compute + resources required. If Requests is omitted for a container, + it defaults to Limits if that is explicitly specified, otherwise + to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + type: object + storages: + items: + properties: + accessModes: + items: + type: string + type: array + class: + type: string + size: + type: string + type: + enum: + - pvc + - ephemeral + type: string + usage: + enum: + - log + - data + type: string + required: + - type + - usage + type: object + type: array + type: object + federatoraiRest: + properties: + bootstrap: + properties: + image: + type: string + imagepullpolicy: + description: PullPolicy describes a policy for if/when to + pull a container image + type: string + type: object + env: + items: + description: EnvVar represents an environment variable present + in a Container. + properties: + name: + description: Name of the environment variable. Must be a + C_IDENTIFIER. + type: string + value: + description: 'Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in + the container and any service environment variables. If + a variable cannot be resolved, the reference in the input + string will be unchanged. Double $$ are reduced to a single + $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless + of whether the variable exists or not. Defaults to "".' + type: string + valueFrom: + description: Source for the environment variable's value. + Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: Specify whether the ConfigMap or its + key must be defined + type: boolean + required: + - key + type: object + fieldRef: + description: 'Selects a field of the pod: supports metadata.name, + metadata.namespace, `metadata.labels['''']`, + `metadata.annotations['''']`, spec.nodeName, + spec.serviceAccountName, status.hostIP, status.podIP, + status.podIPs.' + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in the + specified API version. + type: string + required: + - fieldPath + type: object + resourceFieldRef: + description: 'Selects a resource of the container: only + resources limits and requests (limits.cpu, limits.memory, + limits.ephemeral-storage, requests.cpu, requests.memory + and requests.ephemeral-storage) are currently supported.' + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of the + exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + secretKeyRef: + description: Selects a key of a secret in the pod's + namespace + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: Specify whether the Secret or its key + must be defined + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + image: + type: string + imagepullpolicy: + description: PullPolicy describes a policy for if/when to pull + a container image + type: string + replicas: + format: int32 + minimum: 0 + type: integer + resources: + description: ResourceRequirements describes the compute resource + requirements. + properties: + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Limits describes the maximum amount of compute + resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Requests describes the minimum amount of compute + resources required. If Requests is omitted for a container, + it defaults to Limits if that is explicitly specified, otherwise + to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + type: object + storages: + items: + properties: + accessModes: + items: + type: string + type: array + class: + type: string + size: + type: string + type: + enum: + - pvc + - ephemeral + type: string + usage: + enum: + - log + - data + type: string + required: + - type + - usage + type: object + type: array + type: object + imageLocation: + type: string + resources: + description: ResourceRequirements describes the compute resource requirements. + properties: + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Limits describes the maximum amount of compute resources + allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Requests describes the minimum amount of compute + resources required. If Requests is omitted for a container, + it defaults to Limits if that is explicitly specified, otherwise + to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + type: object + selfDriving: + type: boolean + serviceExposures: + items: + description: ServiceExposureSpec defines the service to be exposed + properties: + name: + type: string + nodePort: + description: NodePortSpec defines the ports to be proxied from + node to service + properties: + ports: + items: + description: PortSpec defines the service port + properties: + nodePort: + format: int32 + maximum: 65535 + minimum: 0 + type: integer + port: + format: int32 + maximum: 65535 + minimum: 0 + type: integer + required: + - nodePort + - port + type: object + type: array + required: + - ports + type: object + type: + description: ServiceExposureType defines the type of the service + to be exposed + enum: + - NodePort + type: string + required: + - name + - type + type: object + type: array + storages: + items: + properties: + accessModes: + items: + type: string + type: array + class: + type: string + size: + type: string + type: + enum: + - pvc + - ephemeral + type: string + usage: + enum: + - log + - data + type: string + required: + - type + - usage + type: object + type: array + version: + type: string + required: + - version + type: object + x-kubernetes-preserve-unknown-fields: true + status: + description: AlamedaServiceStatus defines the observed state of AlamedaService + properties: + installationStatus: + properties: + readyTime: + format: date-time + type: string + version: + type: string + type: object + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/charts/federatorai/federatorai/5.0.0/logo.png b/charts/federatorai/federatorai/5.0.0/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..fc33e50090d9dc92ba5496ae3db538a91846dd29 GIT binary patch literal 2838 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 literal 0 HcmV?d00001 diff --git a/charts/federatorai/federatorai/5.0.0/questions.yaml b/charts/federatorai/federatorai/5.0.0/questions.yaml new file mode 100644 index 000000000..8de18b163 --- /dev/null +++ b/charts/federatorai/federatorai/5.0.0/questions.yaml @@ -0,0 +1,89 @@ +questions: +#image configurations +- variable: defaultImage + default: true + description: "Use default Federator.ai image or specify a custom one" + label: Use Default Federator.ai Image + type: boolean + show_subquestion_if: false + group: "Container Images" + subquestions: + - variable: image.repository + default: "quay.io/prophetstor/federatorai-operator-ubi" + description: "Federator.ai Operator image name" + type: string + group: "Container Images" + label: Federator.ai Operator Image Name + - variable: image.tag + default: "v5.0.0-p1" + description: "Federator.ai Operator image tag" + type: string + group: "Container Images" + label: Federator.ai Operator Image Tag +#service configurations +- variable: federatorai.imageLocation + default: "quay.io/prophetstor" + description: "Service containers image location" + type: string + required: true + group: "Container Images" + label: Federator.ai imageLocation +- variable: services.dashboardFrontend.nodePort + required: true + default: "31012" + description: "The port where the Federator.ai Dashboard listens to" + type: string + group: "Service Settings" + label: Federator.ai Dashboard Port +- variable: services.rest.nodePort + required: true + default: "31011" + description: "The port where the Federator.ai REST listens to" + type: string + group: "Service Settings" + label: Federator.ai REST Port +- variable: federatorai.persistence.enabled + default: true + description: "Enable persistent volume for Federator.ai" + type: boolean + required: true + label: Federator.ai Persistent Volume Enabled + show_subquestion_if: true + group: "PV Settings" + subquestions: + - variable: federatorai.persistence.storageClass + default: "" + description: "If undefined or set to null, using the default storageClass. Defaults to null." + type: storageclass + group: "PV Settings" + label: Storage Class for Federator.ai + - variable: federatorai.persistence.storages.logStorage.size + default: "2Gi" + description: "Log volume size" + type: string + group: "PV Settings" + label: Log Volume Size + - variable: federatorai.persistence.aiCore.dataStorage.size + default: "10Gi" + description: "AICore data volume Size" + type: string + group: "PV Settings" + label: AICore Data Volume Size + - variable: federatorai.persistence.influxdb.dataStorage.size + default: "100Gi" + description: "Influxdb data volume Size" + type: string + group: "PV Settings" + label: Influxdb Data Volume Size + - variable: federatorai.persistence.fedemeterInfluxdb.dataStorage.size + default: "10Gi" + description: "Fedemeter influxdb data volume Size" + type: string + group: "PV Settings" + label: Fedemeter Influxdb Data Volume Size + - variable: federatorai.persistence.federatoraiPostgreSQL.dataStorage.size + default: "10Gi" + description: "PostgreSQL data volume Size" + type: string + group: "PV Settings" + label: PostgreSQL Data Volume Size diff --git a/charts/federatorai/federatorai/5.0.0/requirements.yaml b/charts/federatorai/federatorai/5.0.0/requirements.yaml new file mode 100644 index 000000000..e69de29bb diff --git a/charts/federatorai/federatorai/5.0.0/templates/01-serviceaccount.yaml b/charts/federatorai/federatorai/5.0.0/templates/01-serviceaccount.yaml new file mode 100644 index 000000000..937627cd3 --- /dev/null +++ b/charts/federatorai/federatorai/5.0.0/templates/01-serviceaccount.yaml @@ -0,0 +1,5 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: federatorai-operator + namespace: {{ .Release.Namespace }} diff --git a/charts/federatorai/federatorai/5.0.0/templates/03-federatorai-operator.deployment.yaml b/charts/federatorai/federatorai/5.0.0/templates/03-federatorai-operator.deployment.yaml new file mode 100644 index 000000000..7a9bc4f06 --- /dev/null +++ b/charts/federatorai/federatorai/5.0.0/templates/03-federatorai-operator.deployment.yaml @@ -0,0 +1,97 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: federatorai-operator + namespace: {{ .Release.Namespace }} + labels: + name: federatorai-operator + app: Federator.ai + annotations: + "helm.sh/hook-weight": "1000" +spec: + replicas: 1 + strategy: + type: Recreate + selector: + matchLabels: + name: federatorai-operator + template: + metadata: + labels: + name: federatorai-operator + app: Federator.ai + spec: + securityContext: + fsGroup: 1001 + serviceAccountName: federatorai-operator + initContainers: + - name: upgrader + image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" + command: + - federatorai-operator + args: + - "upgrade" + env: + - name: NAMESPACE_NAME + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: FEDERATORAI_OPERATOR_INFLUXDB_ADDRESS + value: "" + - name: FEDERATORAI_OPERATOR_INFLUXDB_SERVICE_NAME + value: alameda-influxdb + - name: FEDERATORAI_OPERATOR_INFLUXDB_SERVICE_PORT + value: "8086" + - name: FEDERATORAI_OPERATOR_INFLUXDB_USERNAME + value: admin + - name: FEDERATORAI_OPERATOR_INFLUXDB_PASSWORD + value: adminpass + volumeMounts: + - mountPath: /var/log/alameda + name: log + - mountPath: /tmp/k8s-webhook-server/serving-certs + name: cert + readOnly: true + containers: + - name: federatorai-operator + # Replace this with the built image name + image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" + imagePullPolicy: "{{ .Values.image.pullPolicy }}" + command: + - federatorai-operator + env: + - name: NAMESPACE_NAME + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: OPERATOR_NAME + value: "federatorai-operator" + # OVERRIDE_CR_VERSION=true means always overwrite the spec.version value inside alamedaservice CR + - name: OVERRIDE_CR_VERSION + value: "true" + readinessProbe: + failureThreshold: 20 + httpGet: + path: /readyz + port: 8083 + initialDelaySeconds: 5 + periodSeconds: 60 + successThreshold: 1 + timeoutSeconds: 5 + volumeMounts: + - mountPath: /var/log/alameda + name: log + - mountPath: /tmp/k8s-webhook-server/serving-certs + name: cert + readOnly: true + volumes: + - name: log + emptyDir: {} + - name: cert + secret: + defaultMode: 420 + secretName: federatorai-operator-service-cert diff --git a/charts/federatorai/federatorai/5.0.0/templates/04-clusterrole.yaml b/charts/federatorai/federatorai/5.0.0/templates/04-clusterrole.yaml new file mode 100644 index 000000000..e1b536777 --- /dev/null +++ b/charts/federatorai/federatorai/5.0.0/templates/04-clusterrole.yaml @@ -0,0 +1,209 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + creationTimestamp: null + name: federatorai-operator +rules: +- apiGroups: + - "" + resources: + - configmaps + verbs: + - create + - delete + - get + - list + - update + - watch +- apiGroups: + - "" + resources: + - endpoints + - pods + verbs: + - delete + - get + - list + - patch + - watch +- apiGroups: + - "" + resources: + - namespaces + verbs: + - get + - list + - watch +- apiGroups: + - "" + resources: + - nodes + - persistentvolumeclaims + - serviceaccounts + verbs: + - create + - delete + - get + - list + - watch +- apiGroups: + - "" + resources: + - replicationcontrollers + - services + verbs: + - get + - list + - watch +- apiGroups: + - "" + resources: + - resourcequotas + verbs: + - create + - delete + - get + - list + - patch +- apiGroups: + - "" + resources: + - secrets + verbs: + - create + - delete + - list + - watch +- apiGroups: + - "" + resources: + - serviceaccounts + verbs: + - create + - delete + - update +- apiGroups: + - "" + resources: + - services + verbs: + - create + - delete + - list + - update + - watch +- apiGroups: + - "" + - extensions + resources: + - replicationcontrollers + verbs: + - '*' +- apiGroups: + - admissionregistration.k8s.io + resources: + - mutatingwebhookconfigurations + - validatingwebhookconfigurations + verbs: + - create + - delete + - get + - list + - update + - watch +- apiGroups: + - analysis.containers.ai + - autoscaling.containers.ai + - federatorai.containers.ai + - notifying.containers.ai + - tenant.containers.ai + resources: + - '*' + verbs: + - '*' +- apiGroups: + - apiextensions.k8s.io + resources: + - customresourcedefinitions + verbs: + - create + - delete + - get + - update +- apiGroups: + - apps + - extensions + resources: + - daemonsets + verbs: + - create + - delete + - get + - list + - update + - watch +- apiGroups: + - apps + - extensions + resources: + - deployments + - replicasets + - statefulsets + verbs: + - '*' +- apiGroups: + - apps.openshift.io + resources: + - deploymentconfigs + verbs: + - '*' +- apiGroups: + - autoscaling + resources: + - horizontalpodautoscalers + verbs: + - list +- apiGroups: + - extensions + - policy + resources: + - podsecuritypolicies + verbs: + - use +- apiGroups: + - rbac.authorization.k8s.io + resources: + - clusterrolebindings + - clusterroles + - clusterroles/finalizers + - rolebindings + - roles + verbs: + - create + - delete + - get + - list + - update + - watch +- apiGroups: + - route.openshift.io + resources: + - '*' + verbs: + - '*' +- apiGroups: + - security.openshift.io + resources: + - securitycontextconstraints + verbs: + - use + +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: alameda-gc + annotations: + "helm.sh/hook-weight": "5000" + "helm.sh/hook": post-install,post-delete +rules: [] diff --git a/charts/federatorai/federatorai/5.0.0/templates/05-clusterrolebinding.yaml b/charts/federatorai/federatorai/5.0.0/templates/05-clusterrolebinding.yaml new file mode 100644 index 000000000..7c55d4828 --- /dev/null +++ b/charts/federatorai/federatorai/5.0.0/templates/05-clusterrolebinding.yaml @@ -0,0 +1,12 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: federatorai-operator +subjects: +- kind: ServiceAccount + name: federatorai-operator + namespace: {{ .Release.Namespace }} +roleRef: + kind: ClusterRole + name: federatorai-operator + apiGroup: rbac.authorization.k8s.io diff --git a/charts/federatorai/federatorai/5.0.0/templates/06-role.yaml b/charts/federatorai/federatorai/5.0.0/templates/06-role.yaml new file mode 100644 index 000000000..b0569bc08 --- /dev/null +++ b/charts/federatorai/federatorai/5.0.0/templates/06-role.yaml @@ -0,0 +1,46 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + creationTimestamp: null + name: federatorai-operator + namespace: {{ .Release.Namespace }} +rules: +- apiGroups: + - "" + resources: + - configmaps + - endpoints + - persistentvolumeclaims + - pods + - secrets + - services + verbs: + - '*' +- apiGroups: + - "" + resources: + - nodes + - persistentvolumeclaims + - replicationcontrollers + - services + verbs: + - get + - list + - watch +- apiGroups: + - apps + resources: + - daemonsets + - statefulsets + verbs: + - '*' +- apiGroups: + - apps + - extensions + resources: + - deployments + - replicasets + verbs: + - get + - list + - watch diff --git a/charts/federatorai/federatorai/5.0.0/templates/07-rolebinding.yaml b/charts/federatorai/federatorai/5.0.0/templates/07-rolebinding.yaml new file mode 100644 index 000000000..e72f197b5 --- /dev/null +++ b/charts/federatorai/federatorai/5.0.0/templates/07-rolebinding.yaml @@ -0,0 +1,13 @@ +kind: RoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: federatorai-operator + namespace: {{ .Release.Namespace }} +subjects: +- kind: ServiceAccount + name: federatorai-operator + namespace: {{ .Release.Namespace }} +roleRef: + kind: Role + name: federatorai-operator + apiGroup: rbac.authorization.k8s.io diff --git a/charts/federatorai/federatorai/5.0.0/templates/08-service.yaml b/charts/federatorai/federatorai/5.0.0/templates/08-service.yaml new file mode 100644 index 000000000..843abc896 --- /dev/null +++ b/charts/federatorai/federatorai/5.0.0/templates/08-service.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: Service +metadata: + labels: + component: federatorai-operator + name: federatorai-operator-service + namespace: {{ .Release.Namespace }} +spec: + ports: + - port: 443 + targetPort: 50443 + selector: + name: federatorai-operator + app: Federator.ai diff --git a/charts/federatorai/federatorai/5.0.0/templates/09-secret.yaml b/charts/federatorai/federatorai/5.0.0/templates/09-secret.yaml new file mode 100644 index 000000000..e4beb366a --- /dev/null +++ b/charts/federatorai/federatorai/5.0.0/templates/09-secret.yaml @@ -0,0 +1,7 @@ +apiVersion: v1 +kind: Secret +metadata: + name: federatorai-operator-service-cert + namespace: {{ .Release.Namespace }} +data: +type: Opaque \ No newline at end of file diff --git a/charts/federatorai/federatorai/5.0.0/templates/10-mutatingwebhook.yaml b/charts/federatorai/federatorai/5.0.0/templates/10-mutatingwebhook.yaml new file mode 100644 index 000000000..86d45f76b --- /dev/null +++ b/charts/federatorai/federatorai/5.0.0/templates/10-mutatingwebhook.yaml @@ -0,0 +1,27 @@ +apiVersion: admissionregistration.k8s.io/v1 +kind: MutatingWebhookConfiguration +metadata: + creationTimestamp: null + name: federatorai-operator-servicesmutation +webhooks: +- admissionReviewVersions: + - v1beta1 + - v1 + clientConfig: + service: + name: federatorai-operator-service + namespace: {{ .Release.Namespace }} + path: /mutate-federatorai-containers-ai-v1alpha1-alamedaservice + failurePolicy: Ignore + name: alamedaservicemutate.federatorai.containers.ai + rules: + - apiGroups: + - federatorai.containers.ai + apiVersions: + - v1alpha1 + operations: + - CREATE + - UPDATE + resources: + - alamedaservices + sideEffects: None \ No newline at end of file diff --git a/charts/federatorai/federatorai/5.0.0/templates/11-validatingwebhook.yaml b/charts/federatorai/federatorai/5.0.0/templates/11-validatingwebhook.yaml new file mode 100644 index 000000000..66ea71af9 --- /dev/null +++ b/charts/federatorai/federatorai/5.0.0/templates/11-validatingwebhook.yaml @@ -0,0 +1,27 @@ +apiVersion: admissionregistration.k8s.io/v1 +kind: ValidatingWebhookConfiguration +metadata: + creationTimestamp: null + name: federatorai-operator-servicesvalidation +webhooks: +- admissionReviewVersions: + - v1beta1 + - v1 + clientConfig: + service: + name: federatorai-operator-service + namespace: {{ .Release.Namespace }} + path: /validate-federatorai-containers-ai-v1alpha1-alamedaservice + failurePolicy: Ignore + name: alamedaservicevalidate.federatorai.containers.ai + rules: + - apiGroups: + - federatorai.containers.ai + apiVersions: + - v1alpha1 + operations: + - CREATE + - UPDATE + resources: + - alamedaservices + sideEffects: None \ No newline at end of file diff --git a/charts/federatorai/federatorai/5.0.0/templates/NOTES.txt b/charts/federatorai/federatorai/5.0.0/templates/NOTES.txt new file mode 100644 index 000000000..b381d6fed --- /dev/null +++ b/charts/federatorai/federatorai/5.0.0/templates/NOTES.txt @@ -0,0 +1,3 @@ + +Get the Federator.ai pods by running the following command: + kubectl --namespace {{ .Release.Namespace }} get pods diff --git a/charts/federatorai/federatorai/5.0.0/templates/_helpers.tpl b/charts/federatorai/federatorai/5.0.0/templates/_helpers.tpl new file mode 100644 index 000000000..66323e843 --- /dev/null +++ b/charts/federatorai/federatorai/5.0.0/templates/_helpers.tpl @@ -0,0 +1,45 @@ +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "federatorai-operator.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "federatorai-operator.fullname" -}} +{{- if .Values.fullnameOverride -}} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- $name := default .Chart.Name .Values.nameOverride -}} +{{- if contains $name .Release.Name -}} +{{- .Release.Name | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} +{{- end -}} +{{- end -}} +{{- end -}} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "federatorai-operator.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Common labels +*/}} +{{- define "federatorai-operator.labels" -}} +app.kubernetes.io/name: {{ include "federatorai-operator.name" . }} +helm.sh/chart: {{ include "federatorai-operator.chart" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end -}} diff --git a/charts/federatorai/federatorai/5.0.0/templates/alamedaservice.yaml b/charts/federatorai/federatorai/5.0.0/templates/alamedaservice.yaml new file mode 100644 index 000000000..482ceca14 --- /dev/null +++ b/charts/federatorai/federatorai/5.0.0/templates/alamedaservice.yaml @@ -0,0 +1,95 @@ +apiVersion: federatorai.containers.ai/v1alpha1 +kind: AlamedaService +metadata: + name: my-alamedaservice + namespace: {{ .Release.Namespace }} + annotations: + "helm.sh/hook": post-install + "helm.sh/hook-weight": "3000" +spec: +{{ if .Values.federatorai.persistence.enabled }} + env: + - name: FEDERATORAI_MAXIMUM_LOG_SIZE + ## Use about 90% of 2Gi + value: "1931476992" +{{ end }} + version: {{ .Values.image.tag }} +{{ if .Values.federatorai.imageLocation }} + imageLocation: {{ .Values.federatorai.imageLocation }} +{{ else }} + imageLocation: quay.io/prophetstor +{{ end }} +{{ if .Values.federatorai.persistence.enabled }} + storages: + - accessModes: + - ReadWriteOnce + {{ if .Values.federatorai.persistence.storageClass }} + class: {{ .Values.federatorai.persistence.storageClass }} + {{ end }} + size: {{ .Values.federatorai.persistence.storages.logStorage.size }} + type: pvc + usage: log + alamedaAi: + storages: + - accessModes: + - ReadWriteOnce + {{ if .Values.federatorai.persistence.storageClass }} + class: {{ .Values.federatorai.persistence.storageClass }} + {{ end }} + size: {{ .Values.federatorai.persistence.aiCore.dataStorage.size }} + type: pvc + usage: data + alamedaInfluxdb: + storages: + - accessModes: + - ReadWriteOnce + {{ if .Values.federatorai.persistence.storageClass }} + class: {{ .Values.federatorai.persistence.storageClass }} + {{ end }} + size: {{ .Values.federatorai.persistence.influxdb.dataStorage.size }} + type: pvc + usage: data + fedemeterInfluxdb: + storages: + - accessModes: + - ReadWriteOnce + {{ if .Values.federatorai.persistence.storageClass }} + class: {{ .Values.federatorai.persistence.storageClass }} + {{ end }} + size: {{ .Values.federatorai.persistence.fedemeterInfluxdb.dataStorage.size }} + type: pvc + usage: data + federatoraiPostgreSQL: + storages: + - accessModes: + - ReadWriteOnce + {{ if .Values.federatorai.persistence.storageClass }} + class: {{ .Values.federatorai.persistence.storageClass }} + {{ end }} + size: {{ .Values.federatorai.persistence.federatoraiPostgreSQL.dataStorage.size }} + type: pvc + usage: data +{{ else }} + storages: + - type: ephemeral + usage: data + - type: ephemeral + usage: log +{{ end }} + serviceExposures: +{{ if .Values.services.dashboardFrontend.nodePort }} + - name: federatorai-dashboard-frontend + nodePort: + ports: + - nodePort: {{ .Values.services.dashboardFrontend.nodePort }} + port: 9001 + type: NodePort +{{ end }} +{{ if .Values.services.rest.nodePort }} + - name: federatorai-rest + nodePort: + ports: + - nodePort: {{ .Values.services.rest.nodePort }} + port: 5056 + type: NodePort +{{ end }} diff --git a/charts/federatorai/federatorai/5.0.0/values.yaml b/charts/federatorai/federatorai/5.0.0/values.yaml new file mode 100644 index 000000000..4faa18fee --- /dev/null +++ b/charts/federatorai/federatorai/5.0.0/values.yaml @@ -0,0 +1,43 @@ +## Default values for Federator.ai +## This is a YAML-formatted file. +## Declare variables to be passed into your templates. +## +image: + pullPolicy: IfNotPresent + repository: quay.io/prophetstor/federatorai-operator-ubi + tag: v5.0.0-p1 + +## Set default values +## +federatorai: + imageLocation: quay.io/prophetstor + ## If the persistence is enabled, a default StorageClass + ## is required in the k8s cluster to provision volumes. + persistence: + enabled: true + storageClass: "" + storages: + logStorage: + size: 2Gi + aiCore: + dataStorage: + size: 10Gi + influxdb: + dataStorage: + size: 100Gi + fedemeterInfluxdb: + dataStorage: + size: 10Gi + federatoraiPostgreSQL: + dataStorage: + size: 10Gi + +services: + dashboardFrontend: + ## Specify the nodePort value for the dashboard frontend + ## Comment out the following line to disable nodePort service + nodePort: 31012 + rest: + ## Specify the nodePort value for the REST service + ## Comment out the following line to disable nodePort service + nodePort: 31011 diff --git a/index.yaml b/index.yaml index c2856a968..38423ce30 100755 --- a/index.yaml +++ b/index.yaml @@ -1068,6 +1068,37 @@ entries: - assets/falcon-sensor/falcon-sensor-0.9.300.tgz version: 0.9.300 federatorai: + - annotations: + catalog.cattle.io/certified: partner + catalog.cattle.io/display-name: Federator.ai + catalog.cattle.io/release-name: federatorai + apiVersion: v1 + appVersion: 5.0.0-p1 + created: "2022-03-21T17:05:44.18656346+08:00" + description: Federator.ai helps enterprises optimize cloud resources, maximize + application performance, and save significant cost without excessive over-provisioning + or under-provisioning of resources, meeting the service-level requirements of + their applications. + digest: 7f3c4e92c9b0ba5141107b00b4bba9f083eb777d7706c2aec3e0bb86cb79ee28 + home: https://www.prophetstor.com + icon: https://raw.githubusercontent.com/prophetstor-ai/public/master/images/logo.png + keywords: + - AI + - Resource Orchestration + - NoOps + - AIOps + - Intelligent Workload Management + - Cost Optimization + kubeVersion: 1.16 - 1.22 + maintainers: + - email: support@prophetstor.com + name: ProphetStor Data Services, Inc. + name: federatorai + sources: + - https://www.prophetstor.com + urls: + - assets/federatorai/federatorai-5.0.0.tgz + version: 5.0.0 - annotations: catalog.cattle.io/certified: partner catalog.cattle.io/display-name: Federator.ai