-
-
Notifications
You must be signed in to change notification settings - Fork 8.3k
Add docs for Scaleway Object Storage #44397
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
Open
BjoernPetersen
wants to merge
3
commits into
home-assistant:next
Choose a base branch
from
BjoernPetersen:scaleway-object-storage
base: next
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 1 commit
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,138 @@ | ||
| --- | ||
| title: Scaleway Object Storage | ||
| description: Instructions on how to set up a Scaleway Object Storage bucket to be used as a backup location. | ||
| ha_release: 2026.5 | ||
| ha_category: | ||
| - Backup | ||
| ha_iot_class: Cloud Polling | ||
| ha_config_flow: true | ||
| ha_domain: scaleway_object_storage | ||
| ha_codeowners: | ||
| - '@BjoernPetersen' | ||
| ha_integration_type: service | ||
| ha_quality_scale: bronze | ||
| --- | ||
|
|
||
| The **Scaleway Object Storage** {% term integration %} allows you to use a [Scaleway Object Storage] bucket with Home Assistant Backups. | ||
|
|
||
| Scaleway is a French cloud computing and web hosting company that offers services hosted in different locations across Europe. | ||
|
|
||
| ## Prerequisites | ||
|
|
||
| This integration requires an existing Scaleway Object Storage bucket and an API key that has access to that bucket. | ||
| For security reasons, it is strongly recommended to scope the API key as narrowly as possible to only the required operations and resources. | ||
|
|
||
| {% details "Create a new Object Storage bucket" %} | ||
|
BjoernPetersen marked this conversation as resolved.
|
||
|
|
||
| 1. Log in to the [Scaleway Elements Console]. | ||
| 2. Navigate to the [Object Storage Product] in the project you want to use for Home Assistant backups. | ||
| 3. Press **Create a bucket**. | ||
|
BjoernPetersen marked this conversation as resolved.
Outdated
|
||
| 4. Select your preferred region to host your bucket. | ||
| 5. Choose a unique **bucket name** (for example, `home-assistant-backups-123456`). Only lowercase letters, numbers, periods (.), and hyphens (-) are accepted. | ||
| 6. **Keep bucket visibility private**. Setting bucket visibility to public would be a serious security risk. | ||
| 7. **Enable SSE-ONE encryption** to enable transparent server-side encryption of your data at rest. | ||
| 8. You can leave the rest of the settings untouched. | ||
| 9. Press **Create bucket**. | ||
|
|
||
| Make a note of the bucket name — you’ll need it later. | ||
|
|
||
| {% enddetails %} | ||
|
|
||
| {% details "Create an IAM application" %} | ||
|
|
||
| To create a new IAM application that can access the Object Storage bucket: | ||
|
|
||
| 1. Go to the [**Applications tab** of the Identity and Access Management section][IAM-applications] of the Scaleway Elements Console. | ||
| 2. Press **Create application**. | ||
| 3. Use a name like `home-assistant-backup`. | ||
| 4. You can enter a more detailed description that will help you remember what this application is used for in the future. | ||
| 5. Confirm by pressing **Create application**. | ||
|
|
||
| At this point, the application is not allowed to perform any actions using the Scaleway API. | ||
| To allow the application to manage your backups, an IAM policy needs to be created for it: | ||
|
|
||
| 1. Go to the [**Policies tab** of the Identity and Access Management section][IAM-policies] of the Scaleway Elements Console. | ||
| 2. Press **Create policy**. | ||
| 3. Enter a name for your policy, for example `home-assistant-backup-access`. | ||
| 4. In the **Select a principal** section, select your application. | ||
| 5. Proceed to the next step by pressing **Add rules**. | ||
| 6. Select the **Access to resources** scope and select the name of the Scaleway project that you have created your bucket in from the dropdown. | ||
| 7. Press **Validate**. | ||
| 8. In the **Permission sets** section, select the `Storage` product on the left-hand side. | ||
| 9. On the right-hand side, select the `ObjectStorageBucketsRead`, `ObjectStorageObjectsRead`, `ObjectStorageObjectsWrite`, and `ObjectStorageObjectsDelete` permission sets. | ||
| 10. Press **Validate**. | ||
| 11. You can skip the additional condition settings by pressing **Validate** again. | ||
| 12. Confirm your new policy by pressing **Create policy**. | ||
|
|
||
| The last step is creating an API key for the application that will be used to configure the Scaleway Object Storage integration in Home Assistant: | ||
|
|
||
| 1. Go to the [**API keys tab** of the Identity and Access Management section][IAM-api-keys] of the Scaleway Elements Console. | ||
| 2. Press **Generate API key**. | ||
| 3. Select the application you previously created as the API key bearer. | ||
| 4. Choose an **API key expiration** that matches how often you can rotate credentials. Using a limited lifetime, like 6–12 months, reduces the impact if the key is ever leaked. If you set an expiration date, backups will stop working once the key expires until you create a new key and update the integration in Home Assistant. If you decide to set the expiration to **Never**, make sure you regularly rotate this key manually, and revoke it in the Scaleway Elements Console immediately if you accidentally leak or lose it. | ||
| 5. Press **Yes, set up a preferred Project** and select the project you created your Object Storage bucket in. | ||
| 6. Save the **Access Key ID** and **Secret Key** for the integration setup in Home Assistant. You will not be able to view the secret key in the Scaleway console again after dismissing the dialog. | ||
|
|
||
| {% enddetails %} | ||
|
|
||
| {% include integrations/config_flow.md %} | ||
|
|
||
| {% configuration_basic %} | ||
| Access Key ID: | ||
| description: "The access key ID of your Scaleway application's API key." | ||
| Secret Key: | ||
| description: "The secret key of your Scaleway application's API key." | ||
| Region: | ||
| description: "The Scaleway region that you have created your Object Storage bucket in." | ||
| Bucket Name: | ||
| description: "The name of the Object Storage bucket you want to store the backups in. The bucket must already exist and be writable by the provided credentials." | ||
| Object Key Prefix: | ||
| description: "Optional object key prefix within the Object Storage bucket where backups will be stored. For example, setting the `home-assistant/` prefix will store backup objects in `bucket-name/home-assistant/`. This is useful for organizing backups when using the same bucket for multiple purposes." | ||
| {% endconfiguration_basic %} | ||
|
|
||
| ## Setting up the Scaleway Object Storage integration in Home Assistant | ||
|
|
||
| 1. In Home Assistant, go to {% my integrations title="**Settings** > **Devices & services**" %}. | ||
| 2. Select **Add Integration** and search for **Scaleway Object Storage**. | ||
| 3. Enter the following details: | ||
|
|
||
| - Access Key ID and Secret Key of the Scaleway application | ||
| - Select the correct region for your bucket | ||
| - Your bucket name | ||
| - The optional object key prefix (path inside the bucket for organizing backups; you can leave this empty) | ||
|
|
||
| The integration will test the connection and confirm access to your Object Storage bucket. | ||
|
BjoernPetersen marked this conversation as resolved.
Outdated
|
||
|
|
||
| ## Organizing backups with the prefix option | ||
|
|
||
| The optional object key prefix option allows you to organize your backups within a specific path inside your Object Storage bucket. This is useful if you want to: | ||
|
|
||
| - Store backups in a dedicated path (for example, `home-assistant/backups/`) | ||
| - Use the same Object Storage bucket for multiple purposes | ||
| - Manage multiple Home Assistant instances with separate backup paths | ||
|
|
||
| Note that Object Storage buckets don't actually store objects in a hierarchical folder structure like a regular file system. | ||
| Thus, the prefix doesn't have to end with a slash (`/`). You can use any kind of prefix with no impact on performance. | ||
|
|
||
| ## Known limitations | ||
|
|
||
| There are no known limitations for this integration. | ||
|
|
||
| ## Troubleshooting | ||
|
|
||
| There are no commonly known issues with this integration. | ||
|
|
||
|
BjoernPetersen marked this conversation as resolved.
|
||
| ## Removing the integration | ||
|
|
||
| This integration follows standard integration removal. No extra steps are required. | ||
| Note that removing the integration from Home Assistant will not delete the backup objects from Scaleway Object Storage. | ||
| You can delete single objects or the whole bucket in the [Object Storage section of the Scaleway Elements Console][Object Storage Product]. | ||
|
|
||
|
BjoernPetersen marked this conversation as resolved.
|
||
| {% include integrations/remove_device_service.md %} | ||
|
|
||
| [Scaleway Elements Console]: https://console.scaleway.com/ | ||
| [Scaleway Object Storage]: https://www.scaleway.com/docs/object-storage/ | ||
| [Object Storage Product]: https://console.scaleway.com/object-storage/buckets | ||
| [IAM-api-keys]: https://console.scaleway.com/iam/api-keys | ||
| [IAM-applications]: https://console.scaleway.com/iam/applications | ||
| [IAM-policies]: https://console.scaleway.com/iam/policies | ||
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.
Uh oh!
There was an error while loading. Please reload this page.