Hi Community ! Some advanced help is required if possible.
We want to deploy Camunda Platform and Optimize with Kubernetes. Camunda Platform is up and running, rest endpoints are reachable and all fine.
During Optimize installation, we customized the environment-config.yaml file due to requiring more environment variables than provided. We now need to mount this configuration file into the Optimize pod to apply it. The official documentation says: Replacing the `ABSOLUTE_PATH_ON_HOST_TO_CONFIGURATION_FILE
as in here We've moved! | docs.camunda.org
However we keep getting the following error:
[EngineImportScheduler-1] ERROR o.c.o.s.i.e.f.instance.TenantFetcher - Error during fetching of entities. Please check the connection with [camunda-bpm]!
org.camunda.optimize.service.exceptions.OptimizeRuntimeException: Engine didnt respond. Can not verify this engine's version
With this error and with the fact we can reach the engine endpoints with for example Postman, we believe this error indicates that optimize cannot find our custom configuration very likely the custom config is mounted but optimize does not read it. We are using a ConfigMap to try to mount it and pass it to optimize, but with no success, again we strongly believe is the reading part, because it is mounted. Here is our yaml (anonymized) for Kubernetes.
apiVersion: v1
kind: Pod
metadata:
name: optimize
namespace: camunda-optimize
spec:
hostAliases:
- ip: "some.numbers.here"
hostnames:
- "camunda.mycompany"
containers:
- name: optimize-container
image: registry.camunda.cloud/optimize-ee/optimize:3.6.0
env:
- name: OPTIMIZE_CAMUNDABPM_REST_URL
value: "https://engine/engine-rest"
- name: OPTIMIZE_CAMUNDABPM_WEBAPPS_URL
value: "https://engine/camunda"
- name: OPTIMIZE_ELASTICSEARCH_HOST
value: "some.local"
- name: OPTIMIZE_ELASTICSEARCH_HTTP_PORT
value: "9200"
- name: OPTIMIZE_ELASTICSEARCH_USERNAME
value: "<user>"
- name: OPTIMIZE_ELASTICSEARCH_PASSWORD
value: "<pass>"
- name: OPTIMIZE_ELASTICSEARCH_SSL_CERTIFICATE
value: "/optimize/config/certs/elastic.crt"
- name: OPTIMIZE_ELASTICSEARCH_SSL_ENABLED
value: "true"
ports:
- containerPort: 8090
hostPort: 8090
- containerPort: 8091
hostPort: 8091
volumeMounts:
- name: config
mountPath: "/optimize/config"
readOnly: true
- name: elastic-certs
mountPath: "/optimize/config/certs"
readOnly: true
volumes:
- name: config
configMap:
name: optimize-environment-config
items:
- key: "environment-config.yaml"
path: "environment-config.yaml"
- name: elastic-certs
configMap:
name: elastic-certs
items:
- key: "elastic.crt"
path: "elastic.crt"
- key: "elastic-ca.crt"
path: "elastic-ca.crt"
imagePullSecrets:
- name: registry-camunda-cloud-secret
If our guess is correct, so the new configuration is mounted but optimize cannot read it, so how do we make optimize read it using the ConfigMaps ?
If not, does anyone have an idea what could be the issue ?
Thanks in advance