Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: document new backup/restore procedure and webapps specific config #4791

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

entangled90
Copy link
Contributor

@entangled90 entangled90 commented Dec 18, 2024

Description

This PR updates the documentation related to performing backups and restoring them for self managed as a result EPIC camunda/camunda#24456.

Backups for webapps can now be performed by any webapps (operate, tasklist or optimize) and there is no need anymore to perform one for each app.

The order of the operations has also changed (source: decision document):
1 - Soft Pause on Zeebe to export - POST actuator/exporting/pause?soft=true
2 - SaaS Controller triggers WebApps and monitor it together
3 - Backup Zeebe ES Records
4 - Backup Zeebe Data
5 - Resume exporting

When should this change go live?

  • This is a bug fix, security concern, or something that needs urgent release support.
  • This is already available but undocumented and should be released within a week.
  • This on a specific schedule and the assignee will coordinate a release with the DevEx team. (apply hold label or convert to draft PR)
  • This is part of a scheduled alpha or minor. (apply alpha or minor label)
  • There is no urgency with this change and can be released at any time.

PR Checklist

  • My changes are for an already released minor and are in /versioned_docs directory.
  • My changes are for the next minor and are in /docs directory (aka /next/).

Related issues

#4790
#4717

@entangled90 entangled90 added component:zeebe Issues related with Zeebe project component:operate Issues related with Operate project component:tasklist Issues related with Tasklist project component:optimize Issues related with Optimize project labels Dec 18, 2024
@entangled90 entangled90 self-assigned this Dec 18, 2024
Copy link
Contributor

github-actions bot commented Dec 18, 2024

👋 🤖 🤔 Hello, @conceptualshark! Did you make your changes in all the right places?

These files were changed only in docs/. You might want to duplicate these changes in versioned_docs/version-8.6/.

  • docs/self-managed/operational-guides/backup-restore/backup-and-restore.md
  • docs/self-managed/operational-guides/backup-restore/optimize-backup.md
  • docs/self-managed/operational-guides/backup-restore/webapps-backup.md
These files were changed only in docs/. You might want to duplicate these changes in versioned_docs/version-8.7/.
  • docs/self-managed/operational-guides/backup-restore/backup-and-restore.md
  • docs/self-managed/operational-guides/backup-restore/optimize-backup.md
  • docs/self-managed/operational-guides/backup-restore/webapps-backup.md

You may have done this intentionally, but we wanted to point it out in case you didn't. You can read more about the versioning within our docs in our documentation guidelines.

@entangled90 entangled90 force-pushed the cs-4790-new-backup-restore-procedure branch from b18d8db to 4bd252d Compare December 19, 2024 10:02
@akeller
Copy link
Member

akeller commented Jan 6, 2025

@entangled90 is this part of alpha3? Or 8.7? I see its still in draft, but I'm not sure how quickly a tech writer would need to review this PR. Can you add the appropriate alpha or minor labels?

@entangled90 entangled90 added the target:8.7 Issues included in the 8.7 release label Jan 7, 2025
@entangled90 entangled90 marked this pull request as ready for review January 7, 2025 08:19
@entangled90 entangled90 requested review from npepinpe and Szik January 8, 2025 10:35
ChrisKujawa
ChrisKujawa previously approved these changes Jan 20, 2025
Copy link
Member

@ChrisKujawa ChrisKujawa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @entangled90 I have smaller comments and some questions, but in general looks good 👍🏼

@@ -6,7 +6,7 @@ keywords: ["backup", "backups"]
---

:::note
This release introduces breaking changes for [Operate and Tasklist](./operate-tasklist-backup.md), as well as [Optimize](./optimize-backup.md).
This release introduces breaking changes for [Operate, Tasklist and Optimize](./webapps-backup.md).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

❓ Do we need to specify an exact release (to reduce confusion)? Or is this obvious due to the version picker?

wdyt @akeller ?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great question, given that it's a breaking change, please specify the exact release @ChrisKujawa.

Comment on lines 43 to 46
1. The [Elasticsearch snapshot repository](https://www.elastic.co/guide/en/elasticsearch/reference/current/snapshot-restore.html) must be configured.
2. Operate and Tasklist must be configured with the repository name using one of the following configuration options:
2. All deployed webapps must be configured with the **same** repository name using one of the following configuration options.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔧 Should we also mention that we need permissions to write ?

### Index prefix

:::warning breaking change
Since version 8.7 the `indexPrefix` of all webapps must match. By default it's set to `""`, but if it was overriden, then it must done consistently across Operate, Tasklist and Optimize.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍🏼


```
POST actuator/backups
POST actuator/backupHistory
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🙃 I guess it is a bit late for this, but why is it actually backupHistory? It is backing up more than history, right? It feels like it is not syntactically correct somehow 🤔

Copy link
Contributor Author

@entangled90 entangled90 Jan 22, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, but we never found a better term. I think we had backupZeebe and backupWebapps as proposal, but in the end the current names were chosen

Comment on lines 318 to 324
1. Stop all webapps.
2. Ensure there are no webapp indices present in Elasticsearch (otherwise the restore process will fail).
3. Iterate over all Elasticsearch snapshots included in the desired backup and restore them using the Elasticsearch restore snapshot API.
4. Start Operate.

## Backup and restore of Tasklist data

Backup and restore of Tasklist may be performed in exactly the same way as [Operate data](#).
4. Start all webapps.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

❓ Should we note that Zeebe also need to be restored? Because webapp independently from Zeebe restoring will not really work right?

Copy link
Contributor Author

@entangled90 entangled90 Jan 22, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, this is mentioned in the root document.
I think this section just expand on what "restoring webapps" means

@ChrisKujawa
Copy link
Member

One thing I missed. I think we should a note to the announcements https://docs.camunda.io/docs/next/reference/announcements/announcements-870/ regarding the simplifications of backups, but also the breaking change.

@npepinpe
Copy link
Member

@entangled90 - do you need my review as well as Chris', or is his enough?

@entangled90
Copy link
Contributor Author

I think Chris review is enough 👍

@conceptualshark
Copy link
Contributor

Is this ready for a technical writing review?

@entangled90 entangled90 added target:8.8 Issues included in the 8.8 release and removed target:8.7 Issues included in the 8.7 release labels Jan 21, 2025
@entangled90
Copy link
Contributor Author

I just realized that there are a couple of points that this PR does not address:

  • Identity: we are performing backup of identity indices as well, so I guess it should be mentioned, but I don't have much context about that.
  • Opensearch: currently only Elasticsearch is mentioned, I assume it should have already been mentioned considering that we already support it. Can we address this in a separate PR?

@akeller akeller added the hold This issue is parked, do not merge. label Jan 22, 2025
@akeller
Copy link
Member

akeller commented Jan 22, 2025

Hi - I see this PR is now labeled for 8.8. Please do not merge! I've added a hold label. Watch #ask-c8-documentation for when you can merge 8.8 docs items. If this is applicable to 8.7 too, adjust the labels.

@entangled90 entangled90 force-pushed the cs-4790-new-backup-restore-procedure branch from f3cd457 to 07d87b6 Compare January 23, 2025 14:39
@entangled90
Copy link
Contributor Author

Updated with the latest suggestions.

@ChrisKujawa
Copy link
Member

@akeller @entangled90 how can we get this merged?

@akeller should we adjust it based on recent changes in the docs, or do you take care of this?

@entangled90
Copy link
Contributor Author

I added the 8.8.0-alpha1 as the functionality will be available in this version.

@akeller
Copy link
Member

akeller commented Feb 10, 2025

@akeller @entangled90 how can we get this merged?

@akeller should we adjust it based on recent changes in the docs, or do you take care of this?

@ChrisKujawa if you merge now, it will be included in 8.7 and 8.8. If you wait to merge, it will need to be (back)ported if it needs to be in 8.7 too.

There is currently a merge conflict.

@akeller akeller requested a review from a team February 10, 2025 15:50
@entangled90 entangled90 force-pushed the cs-4790-new-backup-restore-procedure branch from 07d87b6 to c05b3e6 Compare February 10, 2025 15:52
@akeller akeller removed the hold This issue is parked, do not merge. label Feb 10, 2025
@akeller
Copy link
Member

akeller commented Feb 10, 2025

Main now includes the 8.8 version as /next/. You can review & merge.

@entangled90
Copy link
Contributor Author

Can someone with write access review it?

@conceptualshark conceptualshark requested review from conceptualshark and removed request for a team February 20, 2025 12:31
Copy link
Contributor

@conceptualshark conceptualshark left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've made a few adjustments to wording and this reads well to me. We've traditionally avoided referring to any of the components as "webapps" in C8 documentation, so if that is the method we're leaning into for describing these components, I've adjusted to "web application".

If this is introducing a breaking change, we should include an update in the 8.8 announcements as well. I think we could just make a new "Backup and restore" section there, unless there is a better section/header?

@entangled90
Copy link
Contributor Author

Yes, it's probably ok to place it under the section "Camunda Exporter" as it's in some way related to the new schema.

Copy link
Member

@ChrisKujawa ChrisKujawa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to reiterate over it as Optimize backups will change again..


:::note
Operate must **not** be running while a backup restore is taking place.
Operate, Tasklist and Optimize must **not** be running while a backup restore is taking place.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

❌ We need to fix this.

@akeller
Copy link
Member

akeller commented Mar 3, 2025

What's the status of this PR @entangled90? Are you tracking for the next alpha release? If so, please adjust the label to alpha2.

@ChrisKujawa
Copy link
Member

What's the status of this PR @entangled90? Are you tracking for the next alpha release? If so, please adjust the label to alpha2.

Carlo is on parental leave. I had no time to adjust it

@akeller
Copy link
Member

akeller commented Mar 6, 2025

What's the status of this PR @entangled90? Are you tracking for the next alpha release? If so, please adjust the label to alpha2.

Carlo is on parental leave. I had no time to adjust it

@npepinpe was there a handover for this docs PR? Can we reset the expectations for what alpha it should be in a somewhat deliverable/mergable state?

@npepinpe
Copy link
Member

npepinpe commented Mar 7, 2025

No, parental leave happened earlier than expected before the handover.

This targets 8.8, but we should really have it in the next alpha as the code changes it references will be included.

I will sync with Chris so we include it in what needs to be done before the handover of the epic.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
8.8.0-alpha2 component:operate Issues related with Operate project component:optimize Issues related with Optimize project component:tasklist Issues related with Tasklist project component:zeebe Issues related with Zeebe project target:8.8 Issues included in the 8.8 release
Projects
Status: 👀 In Review
Development

Successfully merging this pull request may close these issues.

5 participants