Skip to content

With helm-managed backends

You can find below 3 recommended deployments sized for your OpenAEV stack.

The sample are based on the following assumptions :

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