-
Notifications
You must be signed in to change notification settings - Fork 1
docs: add Backups page to My Account section #52
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
Merged
Merged
Changes from 2 commits
Commits
Show all changes
3 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,195 @@ | ||
| --- | ||
| title: "Backups" | ||
| description: "Learn how to generate, download, restore, and automate backups of your TagoIO profile data." | ||
| tags: ["tagoio"] | ||
| keywords: [tagoio, backup, restore, profile backup, data export, tagoio cli] | ||
| --- | ||
|
|
||
| ## Overview | ||
|
|
||
| The Profile Backup feature enables you to generate, download, and manage comprehensive backups of your profile data stored in TagoIO. This ensures you never lose critical configuration data and always have access to a complete snapshot of your IoT infrastructure. | ||
|
|
||
| Backups are retained for **12 months** and focus on **data preservation and export**. Resources are saved as structured JSON files and can be used to recreate your environment. Restoration options include: | ||
|
|
||
| - **TagoIO CLI** - run `tagoio backup restore` to interactively restore a backup to your profile. | ||
| - **TagoIO API** - read the exported JSON files and recreate resources programmatically using the API. | ||
| - **TagoIO Support** - for large-scale recovery needs, contact our support team. Note that this may involve an additional cost. | ||
|
|
||
| :::info Availability | ||
| Backups are available for paid plans: **Starter** and **Scale**. | ||
| ::: | ||
|
|
||
| --- | ||
|
|
||
| ## Accessing Backups | ||
|
|
||
| Go to your profile name in the bottom-left corner of the screen and select **Backups**. You will be taken to the **Manage Backups** page. | ||
|
|
||
| <img src="/img/my-account/backups/manage-backups.png" alt="Manage Backups page" style={{border: '1px solid #d1d5db', borderRadius: '8px'}} /> | ||
|
|
||
| --- | ||
|
|
||
| ## Creating a Backup | ||
|
|
||
| On the **Manage Backups** page, click **Create Backup**. A modal will list all resources included and excluded before you confirm. | ||
|
|
||
| ### Resources Included | ||
|
|
||
| | Resource | | ||
| | -------------------------------- | | ||
| | All uploaded files and documents | | ||
| | Dashboard layouts and versions | | ||
| | Analysis scripts and versions | | ||
| | Device configurations | | ||
| | Actions, networks, connectors | | ||
| | Access management policies | | ||
| | Network configurations | | ||
| | Connector configurations | | ||
| | Profile secrets | | ||
| | Dictionary configurations | | ||
| | TagoRUN users | | ||
| | TagoRUN configuration | | ||
| | Service authorization tokens | | ||
| | Profile settings and allocations | | ||
| | Team members | | ||
|
|
||
| ### Resources Not Included | ||
|
|
||
| | Resource | | ||
| | ------------- | | ||
| | Devices data | | ||
| | Entities data | | ||
|
|
||
| --- | ||
|
|
||
| ## Downloading a Backup | ||
|
|
||
| Find the backup in the list and click the **download icon** (⬇️) in the **Actions** column. You will be asked to verify your account password. The backup is downloaded as a **ZIP file** with the following structure: | ||
|
|
||
| ``` | ||
| backup-<profile-id>/ | ||
| ├── files/ | ||
| │ ├── <uploaded files and documents> | ||
| │ └── buckets/ | ||
| │ └── <bucket-id>/ | ||
| │ └── <bucket files> | ||
| ├── resources/ | ||
| │ ├── access_management.json | ||
| │ ├── actions.json | ||
| │ ├── analysis.json | ||
| │ ├── connectors.json | ||
| │ ├── dashboards.json | ||
| │ ├── devices.json | ||
| │ ├── dictionaries.json | ||
| │ ├── networks.json | ||
| │ ├── profile.json | ||
| │ ├── run_users.json | ||
| │ ├── run.json | ||
| │ ├── secrets.json | ||
| │ └── service_authorization.json | ||
| └── versioning/ | ||
| └── dashboard/ | ||
| └── <version files in JSON> | ||
| ``` | ||
|
|
||
| - **files/** - Uploaded files and documents, organized by bucket. | ||
| - **resources/** - Profile resource configurations exported as JSON. | ||
| - **versioning/** - Historical versions of resources such as dashboards. | ||
|
|
||
| --- | ||
|
|
||
| ## Restoring a Backup | ||
|
|
||
| Backups are designed for **data preservation**, not automatic one-click restore. There is no restore option in the UI. To restore resources from a backup, choose one of the options below. | ||
|
|
||
| ### Option 1: Manual Script-Based Restoration | ||
|
|
||
| 1. Download and extract the backup ZIP file. | ||
| 2. Read the JSON files for the resources you need to restore. | ||
| 3. Use the TagoIO API to recreate resources programmatically. | ||
| - Example: Parse `devices.json` and call `POST /device` for each device. | ||
|
|
||
| ### Option 2: TagoIO CLI | ||
|
|
||
| Make sure you have the [TagoIO CLI](https://docs.tago.io/cli) installed and authenticated, then run: | ||
|
|
||
| ```bash | ||
| tagoio backup restore | ||
| ``` | ||
|
|
||
| The CLI fetches all available backups and displays them as a selectable list, each entry shows the creation date, file size, and backup ID. Use the arrow keys to pick the one you want to restore. | ||
|
|
||
| <img src="/img/my-account/backups/cli-restore-selection.png" alt="CLI backup restore selection" style={{border: '1px solid #d1d5db', borderRadius: '8px'}} /> | ||
|
|
||
| After selecting a backup, you will be prompted to confirm and authenticate with your **resources password**, **2FA method**, and **OTP code**. Once authenticated, the CLI downloads and extracts the backup, shows a summary table of all resources and their counts, and asks for a final confirmation before starting the restoration. | ||
|
|
||
| :::warning | ||
| **IDs are NOT restored.** New IDs will be generated for all resources. Any external references to resource IDs will need to be updated. | ||
| ::: | ||
|
|
||
| ### Option 3: Contact TagoIO Support | ||
|
|
||
| For large-scale restoration or complex recovery scenarios, contact TagoIO support. Our team can assist with full profile restoration, selective resource recovery, and migration between profiles or accounts. | ||
|
|
||
| :::important | ||
| Support-assisted restoration may involve an additional cost. | ||
| ::: | ||
|
|
||
| ### What Cannot Be Automatically Restored | ||
|
|
||
| - **Active tokens** - tokens are masked for security and will not be restored. | ||
| - **Run User passwords** - excluded for security and must be reset manually. | ||
|
|
||
| --- | ||
|
|
||
| ## Automated Backups via Actions | ||
|
|
||
| You can schedule automatic backups using TagoIO Actions with the `profile_backup` action type. | ||
|
|
||
| ### Supported Triggers | ||
|
|
||
| | Trigger | Description | | ||
| | ------------- | ---------------------------------------------- | | ||
| | **Resource** | Fires when a specific resource event occurs | | ||
| | **Condition** | Fires based on data conditions | | ||
| | **Schedule** | Fires at a specific time (e.g., daily at 2 AM) | | ||
| | **Interval** | Fires at regular intervals | | ||
|
|
||
| ### Setting Up | ||
|
|
||
| Navigate to **Actions** in your TagoIO Admin, create a new action, and select **Profile Backup** as the action type. Configure your desired trigger and activate the action. | ||
|
|
||
| :::tip | ||
| Schedule backups during low-activity periods and use daily or weekly schedules for production environments. Keep an eye on your daily backup limit to ensure scheduled backups don't get blocked. | ||
| ::: | ||
|
|
||
| --- | ||
|
|
||
| ## Limits & Considerations | ||
|
|
||
| ### General | ||
|
|
||
| - Backups are retained for **12 months** from the creation date. | ||
| - **Devices data** and **Entities data** are **not included** in backups. | ||
| - Backup generation time varies depending on the size of your profile data. | ||
| - During a restore, **all resource IDs are regenerated** - update any external references accordingly. | ||
| - The backup download URL has an **expiration time**, so complete the restore process promptly after initiating it. | ||
|
|
||
| ### Daily Backup Creation Limit | ||
|
|
||
| | Plan | Daily Limit | | ||
| | ------- | ------------- | | ||
| | Scale | 1 backups/day | | ||
| | Starter | 1 backups/day | | ||
| | Free | N/A | | ||
|
|
||
| The daily limit resets at midnight based on your account's timezone setting. If the limit is reached, you must wait before creating another backup. | ||
|
|
||
| ### API Rate Limits (Requests per Minute) | ||
|
|
||
| | Operation | Scale | Starter | | ||
| | --------------- | ------- | ------- | | ||
| | Create Backup | 5 RPM | 5 RPM | | ||
| | List Backups | 100 RPM | 50 RPM | | ||
| | Download Backup | 20 RPM | 10 RPM | | ||
| | Delete Backup | 20 RPM | 10 RPM | | ||
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We need to keep all limits in one place.
move RPM limit to the table: https://docs.tago.io/docs/tagoio/profiles/services/rate-limits-hard-limits
move limits to the table: https://docs.tago.io/docs/tagoio/my-account/billing/resource-limits
link other articles here.