Self Managed Backup 2 Azure

Hi,
we have a sealed high security Azure environment and currently setting up our first backup. This brings some restrictions like delegated sas token usage.
For the Elastic Search Repository we already created the snapshot repository and received:

{
  "acknowledged" : true
}

We also verified it by kubectl exec -it elasticsearchpodname -- curl -X POST "localhost:9200/_snapshot/snapshotreponame/_verify" and got back:
{"nodes":{"random text":{"name":"elasticsearchpodname"}}}

Now we wanted to establish the Operate backup.
We tried the following:
Add to helm chart and reinstalled the charts from scratch:

camunda-platform:
  operate:
    backup:
         repositoryName: snapshotreponame
    contextPath: "/operate"
    service:
      port: 80

After that we tried to set the following environment variable on the operate pod:
Namespace_OPERATE_BACKUP_REPOSITORYNAME=snapshotreponame
export Namespace_OPERATE_BACKUP_REPOSITORYNAME
Camunda_OPERATE_BACKUP_REPOSITORYNAME=snapshotreponame
export Camunda_OPERATE_BACKUP_REPOSITORYNAME

but still we always get the response
{“status”:400,“message”:“No backup repository configured.”,“instance”:“f53800cd-72de-4bf8-baf6-fd6489c2dc2c”,“type”:“Invalid request”}
Is there anything that additionally needs to be done like restarting something to take the environment variables into effect. Or are there additional Debug Possibilities.

Also we already checked the backup of Zebee. Are delegated SAS_Token possible to use for the azure storage account usage?

Thanks for reply.
Bye Robert

Hi @tirolat - not sure if it’s due to copying/pasting into the forum post or not, but just to confirm the formatting of your YAML - it should be:

operate:
  backup:
    repositoryName: snapshotreponame
  contextPath: "/operate"
  service:
    port: 80

(Missing tab/spaces before repositoryName)

The environment variables don’t have a namespace prefix, it should just be CAMUNDA_OPERATE_BACKUP_REPOSITORYNAME inside the Operate pod.

Thanks, you are right but it is only a copy paste error. In the helm chart the intend is correct. I already deployed again and still the same issue.
For the environment variable i only thought of the namespace as all other environment variables for camunda start with the namespace.
Bye Robert

Its also interesting. Tasklist has the same problem but there the error is 404. On Operate its 400. But i think its only different implementation of error handling.

Also wouldn´t in the Operate logs something logged that he is attaching the snapshot repository after the elasticsearch connection was successfull.
But i only see something after i try to access the rest api:
2024-09-03 13:23:23.759 ERROR 7 — [nio-8080-exec-1] i.c.o.w.m.BackupController : ClientException: No backup repository configured.

Would the helm chart part also create the environment variable?

@tirolat - apologies, I misread your post in combination with the docs. I think our docs could actually use some clarification here. The values you see on the backup configuration page aren’t Helm values; they are application.yaml configuration values.

Have a look at this guide, and follow that approach for setting those YAML values for Operate. To be safe, I would restart the pod (I think the changes should be picked up automatically by the application, though).

That said, if you used CAMUNDA_OPERATE_BACKUP_REPOSITORYNAME without a namespace/prefix, it should have worked …

1 Like

Thanks. That worked. I implemented the environment variables as we setup camunda version independent. For the configuration helm chart tag it looks like for each version i would need to specify the current application.yaml first.
The Thread can be closed.
Bye Robert

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.