Merge pull request #163 from prophetstor-ai/federatorai-4.7.0

(Prophetstor) Update Federator.ai to version v4.7.0
pull/190/head
alex-isv 2021-10-06 13:53:19 -06:00 committed by GitHub
commit ab8bddb20e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
26 changed files with 5289 additions and 5 deletions

Binary file not shown.

View File

@ -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/

View File

@ -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: 4.7.0-ga
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: 4.7.0

View File

@ -0,0 +1,103 @@
# <img src="https://raw.githubusercontent.com/prophetstor-ai/public/master/images/logo.png" width=60/> 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 OpenShift 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.
**Additional resources**
Want more product information? Explore detailed information about using this product and where to find additional help.
* [Federator.ai Datasheet](https://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/2021/08/ProphetStor-Federator.ai-v4.7.0-Installation-Guide-v1.0.pdf)
* [User Guide](https://prophetstor.com/wp-content/uploads/2021/08/Federator.ai-4.7.0-User-Guide.pdf)
* [Release Notes](https://prophetstor.com/wp-content/uploads/2021/08/Federator.ai-4.7.0-Release-Notes.pdf)
* [Company Information](https://www.prophetstor.com/)
## Prerequisites
- The [Kubernetes](https://kubernetes.io/) version 1.16 or later if using Kubernetes environment.
- The [Openshift](https://www.openshift.com) version 4.x.x or later if using OpenShift platform.
- 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.version` | Image Tag 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 |
| `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)

View File

@ -0,0 +1,40 @@
# <img src="https://raw.githubusercontent.com/prophetstor-ai/public/master/images/logo.png" width=60/> 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 OpenShift 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.
**Additional resources**
Want more product information? Explore detailed information about using this product and where to find additional help.
* [Federator.ai Datasheet](https://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/2021/07/ProphetStor-Federator.ai-v4.6.1-Installation-Guide-v1.0.pdf)
* [User Guide](https://prophetstor.com/wp-content/uploads/2021/07/Federator.ai-4.6.1-User-Guide.pdf)
* [Company Information](https://www.prophetstor.com/)

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@ -0,0 +1,90 @@
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: "v4.7.0-ga"
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: federatorai.version
default: "v4.7.0-ga"
description: "Service containers version"
type: string
required: true
group: "Container Images"
label: Service Containers Image Tag
- 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

View File

@ -0,0 +1,5 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: federatorai-operator
namespace: {{ .Release.Namespace }}

View File

@ -0,0 +1,101 @@
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:
rollingUpdate:
maxSurge: 1
maxUnavailable: 0
type: RollingUpdate
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"
- name: OVERRIDE_CR_VERSION
value: "true"
- name: DISABLE_OPERAND_RESOURCE_PROTECTION
value: "false"
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

View File

@ -0,0 +1,258 @@
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:
- persistentvolumes
- pods/log
- 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
- deployments/scale
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:
- batch
resources:
- cronjobs
- jobs
verbs:
- get
- list
- watch
- apiGroups:
- extensions
- policy
resources:
- podsecuritypolicies
verbs:
- '*'
- apiGroups:
- monitoring.coreos.com
resources:
- prometheuses
verbs:
- list
- apiGroups:
- monitoring.coreos.com
resources:
- prometheusrules
verbs:
- create
- delete
- get
- list
- update
- 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:
- create
- delete
- get
- list
- update
- use
- watch
- apiGroups:
- storage.k8s.io
resources:
- storageclasses
verbs:
- list
- watch
- apiGroups:
- volumesnapshot.external-storage.k8s.io
resources:
- volumesnapshotdatas
- volumesnapshots
verbs:
- list
- watch
---
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: []

View File

@ -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

View File

@ -0,0 +1,99 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
creationTimestamp: null
name: federatorai-operator
namespace: {{ .Release.Namespace }}
rules:
- apiGroups:
- ""
resources:
- configmaps
- endpoints
- events
- persistentvolumeclaims
- pods
- secrets
- services
verbs:
- '*'
- apiGroups:
- ""
resources:
- nodes
- persistentvolumeclaims
- persistentvolumes
- pods/log
- replicationcontrollers
- services
verbs:
- get
- list
- watch
- apiGroups:
- apps
resources:
- daemonsets
- statefulsets
verbs:
- '*'
- apiGroups:
- apps
resources:
- deployments/finalizers
verbs:
- update
- apiGroups:
- apps
- extensions
resources:
- deployments
- deployments/scale
- replicasets
verbs:
- get
- list
- watch
- apiGroups:
- batch
resources:
- cronjobs
- jobs
verbs:
- get
- list
- watch
- apiGroups:
- extensions
resources:
- deployments/scale
verbs:
- update
- apiGroups:
- extensions
resources:
- podsecuritypolicies
verbs:
- '*'
- apiGroups:
- monitoring.coreos.com
resources:
- servicemonitors
verbs:
- create
- get
- apiGroups:
- storage.k8s.io
resources:
- storageclasses
verbs:
- list
- watch
- apiGroups:
- volumesnapshot.external-storage.k8s.io
resources:
- volumesnapshotdatas
- volumesnapshots
verbs:
- list
- watch

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,7 @@
apiVersion: v1
kind: Secret
metadata:
name: federatorai-operator-service-cert
namespace: {{ .Release.Namespace }}
data:
type: Opaque

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,3 @@
Get the Federator.ai pods by running the following command:
kubectl --namespace {{ .Release.Namespace }} get pods

View File

@ -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 -}}

View File

@ -0,0 +1,85 @@
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.federatorai.version }}
{{ 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
{{ 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 }}

View File

@ -0,0 +1,41 @@
## 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: v4.7.0-ga
## Set default values
##
federatorai:
imageLocation: quay.io/prophetstor
version: v4.7.0-ga
## If thhe persistence is enabled, a default StorageClass
## is needed 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
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

View File

@ -751,6 +751,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: 4.7.0-ga
created: "2021-09-10T06:34:12.178876142+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: a8257bbc4a0dd7687ddd1ffb619203acd01a73d557f1653bf0ef672cdb2baa32
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-4.7.0.tgz
version: 4.7.0
- annotations:
catalog.cattle.io/certified: partner
catalog.cattle.io/display-name: Federator.ai

View File

@ -2,11 +2,11 @@
+++ charts/Chart.yaml
@@ -1,5 +1,9 @@
apiVersion: v1
appVersion: 4.6.1-ga
appVersion: 4.7.0-ga
+annotations:
+ catalog.cattle.io/certified: partner
+ catalog.cattle.io/release-name: federatorai
+ catalog.cattle.io/display-name: Federator.ai
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
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.

View File

@ -1,2 +1,2 @@
url: https://github.com/prophetstor-ai/federatorai-operator-helm/raw/master/federatorai-4.6.1.tgz
url: https://github.com/prophetstor-ai/federatorai-operator-helm/raw/master/federatorai-4.7.0.tgz
packageVersion: 00