With helm-managed backends
You can find below 3 recommended deployments sized for your OpenAEV stack.
The sample are based on the following assumptions :
- You followed the requirements for a Helm-managed deployment
- You're using Nginx as ingress controller
Warning
Please take time to review all credential values (such as admin password and tokens) to set them with a value of your own. Do not use the current values for sensitive fields as is.
S(mall)
Recommended for PoV, dev environments (like Minikube single node cluster)
openaev:
host: openaev.local # Update it to reflect your environment
env:
# OpenAEV
OPENAEV_BASE-URL: "http://openaev.local"
OPENAEV_ADMIN_EMAIL: admin@openaev.io
OPENAEV_ADMIN_PASSWORD: WhatA_Strong-P4ssword*!
OPENAEV_HEALTHCHECK_KEY: RANDOM_ACCESS_KEY
# PostgreSQL
SPRING_DATASOURCE_URL: jdbc:postgresql://$(POSTGRESQL_RW_SERVICE_HOST):5432/openaev
# Engine
ENGINE_URL: "https://es-data-nodes:9200"
ENGINE_ENGINE_AWS_MODE: "no"
ENGINE_ENGINE_SELECTOR: elk
ENGINE_USERNAME: elastic
ENGINE_REJECT-UNAUTHORIZED: false
# RabbitMQ
OPENAEV_RABBITMQ_HOSTNAME: oaev-rabbitmq
OPENAEV_RABBITMQ_PORT: 5672
OPENAEV_RABBITMQ_QUEUE-TYPE: quorum
OPENAEV_RABBITMQ_SSL: false
OPENAEV_RABBITMQ_MANAGEMENT-PORT: 15672
OPENAEV_RABBITMQ_MANAGEMENT-INSECURE: false
# s3
MINIO_ENDPOINT: "minio"
MINIO_PORT: "80"
MINIO_BUCKET: openaev
MINIO_SECURE: false
OPENAEV_S3_USE-AWS-ROLE: false
envFromSecrets:
OPENAEV_ADMIN_TOKEN:
key: OPENAEV_ADMIN_TOKEN
secretName: openaev-config
ENGINE_PASSWORD:
key: elastic
secretName: elasticsearch-es-elastic-user
MINIO_ACCESS-KEY:
key: accessKey
secretName: minio-credentials
MINIO_ACCESS-SECRET:
key: secretKey
secretName: minio-credentials
OPENAEV_RABBITMQ_USER:
key: username
secretName: oaev-rabbitmq-default-user
OPENAEV_RABBITMQ_PASS:
key: password
secretName: oaev-rabbitmq-default-user
SPRING_DATASOURCE_USERNAME:
secretName: postgresql-app
key: username
SPRING_DATASOURCE_PASSWORD:
secretName: postgresql-app
key: password
ingress:
enabled: true
className: "nginx" # Update it to reflect your environment
hosts:
- host: openaev.local # Update it to reflect your environment
paths:
- path: /
pathType: Prefix
resources:
limits:
cpu: 500m
memory: 1024Mi
requests:
cpu: 250m
memory: 512Mi
postgres:
enabled: true
mode: "cnpg"
storage:
size: 16Gi
resources:
limits:
memory: 8Gi
requests:
cpu: 2
memory: 4Gi
elasticsearch:
enabled: true
service:
name: es-data-nodes
clusterName: elasticsearch
disableDowngradeValidation: true
nodes:
replicas: 2
allow_mmap: false
storageSize: 5Gi
java_opts: -Xms2g -Xmx2g -Xlog:disable -Xlog:all=warning:stderr:utctime,level,tags -Xlog:gc=debug:stderr:utctime
resources:
limits:
memory: 4Gi
requests:
memory: 3Gi
cpu: "256m"
service:
name: es-data-nodes
port: 9200
targetPort: 9200
kibana:
enabled: true
name: kibana
elasticsearchRequestTimeout: 1800000
serverSocketTimeout: 1800000
telemetryOptIn: false
telemetryAllowChangingOptInStatus: false
ingress:
enabled: true
http:
tls:
selfSignedCertificate:
disabled: true
rabbitmq:
enabled: true
replicas: 3
storageSize: 5Gi
resources:
limits:
cpu: "1"
memory: 1024Mi
requests:
cpu: "0.5"
memory: 256Mi
ingress:
enabled: true
minio:
enabled: true
standardClass:
ec: 4
standardPool:
serversCount: 1
storageSize: 5G
resources:
requests:
cpu: 200m
memory: 256Mi
limits:
memory: 1Gi
certificate:
requestAutoCert: false
podManagementPolicy: Parallel
logging:
anonymous: true
json: true
quiet: true
ingress:
enabled: true
M(edium)
Recommended as a standard production deployment.
openaev:
host: openaev.local # Update it to reflect your environment
env:
# OpenAEV
OPENAEV_BASE-URL: "http://openaev.local"
OPENAEV_ADMIN_EMAIL: admin@openaev.io
OPENAEV_ADMIN_PASSWORD: WhatA_Strong-P4ssword*!
OPENAEV_HEALTHCHECK_KEY: RANDOM_ACCESS_KEY
# PostgreSQL
SPRING_DATASOURCE_URL: jdbc:postgresql://$(POSTGRESQL_RW_SERVICE_HOST):5432/openaev
# Engine
ENGINE_URL: "https://es-data-nodes:9200"
ENGINE_ENGINE_AWS_MODE: "no"
ENGINE_ENGINE_SELECTOR: elk
ENGINE_USERNAME: elastic
ENGINE_REJECT-UNAUTHORIZED: false
# RabbitMQ
OPENAEV_RABBITMQ_HOSTNAME: oaev-rabbitmq
OPENAEV_RABBITMQ_PORT: 5672
OPENAEV_RABBITMQ_QUEUE-TYPE: quorum
OPENAEV_RABBITMQ_SSL: false
OPENAEV_RABBITMQ_MANAGEMENT-PORT: 15672
OPENAEV_RABBITMQ_MANAGEMENT-INSECURE: false
# s3
MINIO_ENDPOINT: "minio"
MINIO_PORT: "80"
MINIO_BUCKET: openaev
MINIO_SECURE: false
OPENAEV_S3_USE-AWS-ROLE: false
envFromSecrets:
OPENAEV_ADMIN_TOKEN:
key: OPENAEV_ADMIN_TOKEN
secretName: openaev-config
ENGINE_PASSWORD:
key: elastic
secretName: elasticsearch-es-elastic-user
MINIO_ACCESS-KEY:
key: accessKey
secretName: minio-credentials
MINIO_ACCESS-SECRET:
key: secretKey
secretName: minio-credentials
OPENAEV_RABBITMQ_USER:
key: username
secretName: oaev-rabbitmq-default-user
OPENAEV_RABBITMQ_PASS:
key: password
secretName: oaev-rabbitmq-default-user
SPRING_DATASOURCE_USERNAME:
secretName: postgresql-app
key: username
SPRING_DATASOURCE_PASSWORD:
secretName: postgresql-app
key: password
ingress:
enabled: true
className: "nginx" # Update it to reflect your environment
hosts:
- host: openaev.local # Update it to reflect your environment
paths:
- path: /
pathType: Prefix
resources:
limits:
memory: 16Gi
requests:
cpu: 500m
memory: 2Gi
postgres:
enabled: true
mode: "cnpg"
storage:
size: 32Gi
resources:
limits:
memory: 8Gi
requests:
cpu: 2
memory: 4Gi
elasticsearch:
enabled: true
service:
name: es-data-nodes
clusterName: elasticsearch
disableDowngradeValidation: true
nodes:
replicas: 2
allow_mmap: false
storageSize: 5Gi
java_opts: -Xms2g -Xmx2g -Xlog:disable -Xlog:all=warning:stderr:utctime,level,tags -Xlog:gc=debug:stderr:utctime
resources:
limits:
memory: 4Gi
requests:
memory: 3Gi
cpu: "256m"
service:
name: es-data-nodes
port: 9200
targetPort: 9200
kibana:
enabled: true
name: kibana
elasticsearchRequestTimeout: 1800000
serverSocketTimeout: 1800000
telemetryOptIn: false
telemetryAllowChangingOptInStatus: false
ingress:
enabled: true
http:
tls:
selfSignedCertificate:
disabled: true
rabbitmq:
enabled: true
replicas: 3
storageSize: 5Gi
resources:
limits:
cpu: "1"
memory: 1024Mi
requests:
cpu: "0.5"
memory: 256Mi
ingress:
enabled: true
minio:
enabled: true
standardClass:
ec: 4
standardPool:
serversCount: 1
storageSize: 5G
resources:
requests:
cpu: 200m
memory: 512Mi
limits:
memory: 2Gi
certificate:
requestAutoCert: false
podManagementPolicy: Parallel
logging:
anonymous: true
json: true
quiet: true
ingress:
enabled: true
L(arge)
Recommended for production instances with many collectors, injectors...
openaev:
host: openaev.local # Update it to reflect your environment
env:
# OpenAEV
OPENAEV_BASE-URL: "http://openaev.local"
OPENAEV_ADMIN_EMAIL: admin@openaev.io
OPENAEV_ADMIN_PASSWORD: WhatA_Strong-P4ssword*!
OPENAEV_HEALTHCHECK_KEY: RANDOM_ACCESS_KEY
# PostgreSQL
SPRING_DATASOURCE_URL: jdbc:postgresql://$(POSTGRESQL_RW_SERVICE_HOST):5432/openaev
# Engine
ENGINE_URL: "https://es-data-nodes:9200"
ENGINE_ENGINE_AWS_MODE: "no"
ENGINE_ENGINE_SELECTOR: elk
ENGINE_USERNAME: elastic
ENGINE_REJECT-UNAUTHORIZED: false
# RabbitMQ
OPENAEV_RABBITMQ_HOSTNAME: oaev-rabbitmq
OPENAEV_RABBITMQ_PORT: 5672
OPENAEV_RABBITMQ_QUEUE-TYPE: quorum
OPENAEV_RABBITMQ_SSL: false
OPENAEV_RABBITMQ_MANAGEMENT-PORT: 15672
OPENAEV_RABBITMQ_MANAGEMENT-INSECURE: false
# s3
MINIO_ENDPOINT: "minio"
MINIO_PORT: "80"
MINIO_BUCKET: openaev
MINIO_SECURE: false
OPENAEV_S3_USE-AWS-ROLE: false
envFromSecrets:
OPENAEV_ADMIN_TOKEN:
key: OPENAEV_ADMIN_TOKEN
secretName: openaev-config
ENGINE_PASSWORD:
key: elastic
secretName: elasticsearch-es-elastic-user
MINIO_ACCESS-KEY:
key: accessKey
secretName: minio-credentials
MINIO_ACCESS-SECRET:
key: secretKey
secretName: minio-credentials
OPENAEV_RABBITMQ_USER:
key: username
secretName: oaev-rabbitmq-default-user
OPENAEV_RABBITMQ_PASS:
key: password
secretName: oaev-rabbitmq-default-user
SPRING_DATASOURCE_USERNAME:
secretName: postgresql-app
key: username
SPRING_DATASOURCE_PASSWORD:
secretName: postgresql-app
key: password
ingress:
enabled: true
className: "nginx" # Update it to reflect your environment
hosts:
- host: openaev.local # Update it to reflect your environment
paths:
- path: /
pathType: Prefix
resources:
limits:
memory: 16Gi
requests:
cpu: 500m
memory: 2Gi
postgres:
enabled: true
mode: "cnpg"
storage:
size: 64Gi
resources:
limits:
memory: 8Gi
requests:
cpu: 2
memory: 4Gi
elasticsearch:
enabled: true
service:
name: es-data-nodes
clusterName: elasticsearch
disableDowngradeValidation: true
nodes:
replicas: 2
allow_mmap: false
storageSize: 5Gi
java_opts: -Xms2g -Xmx2g -Xlog:disable -Xlog:all=warning:stderr:utctime,level,tags -Xlog:gc=debug:stderr:utctime
resources:
limits:
memory: 4Gi
requests:
memory: 3Gi
cpu: "256m"
service:
name: es-data-nodes
port: 9200
targetPort: 9200
kibana:
enabled: true
name: kibana
elasticsearchRequestTimeout: 1800000
serverSocketTimeout: 1800000
telemetryOptIn: false
telemetryAllowChangingOptInStatus: false
ingress:
enabled: true
http:
tls:
selfSignedCertificate:
disabled: true
rabbitmq:
enabled: true
replicas: 3
storageSize: 5Gi
resources:
limits:
cpu: "1"
memory: 1024Mi
requests:
cpu: "0.5"
memory: 256Mi
ingress:
enabled: true
minio:
enabled: true
standardClass:
ec: 4
standardPool:
serversCount: 1
storageSize: 4Gi
resources:
requests:
cpu: 200m
memory: 512Mi
limits:
memory: 2Gi
certificate:
requestAutoCert: false
podManagementPolicy: Parallel
logging:
anonymous: true
json: true
quiet: true
ingress:
enabled: true