XSDS exposes storage through multiple access protocols. The appropriate method depends
on the consumer application and the storage type being accessed. This page covers all
supported access methods with configuration steps for each.
Prerequisites
An active Xloud account with project member access
For CLI access: openstack CLI installed (CLI Setup)
For S3 API access: S3 access keys generated from the Dashboard
Log in to the Xloud Dashboard (https://connect.<your-domain>) and navigate to
Project → Volumes → Volumes.
Manage volumes
From the volume list you can:
Create a new volume (click Create Volume)
Attach/Detach volumes to instances (via the Actions menu)
Create Snapshot for point-in-time backup
Extend volume size
Transfer volume to another project
Use the Filter bar to search volumes by name, status, or volume type across
large projects.
Navigate to Object Store
Navigate to Project → Object Store → Containers. Containers in the Dashboard
correspond to S3 buckets.
Manage containers and objects
Create Container to provision a new bucket
Upload files directly from the browser
Set Access to configure public or private access
Generate Temp URL for time-limited pre-signed links
The Dashboard uses the Swift API naming convention (“containers”) while the
S3-compatible API uses “buckets”. Both refer to the same underlying objects.
The XSDS object storage service exposes a fully S3-compatible API. Any application or
tool that supports the AWS S3 API can connect to XSDS without modification.
Generate Credentials
Python (boto3)
CLI (aws s3)
Navigate to Access Keys
In the Xloud Dashboard, navigate to Project → Object Store → Access Keys
and click Create Key.
Save your credentials
The Access Key ID and Secret Access Key are shown once. Store them securely
— they cannot be retrieved after the dialog is closed.
Treat S3 access keys as sensitive credentials. Do not commit them to source
control. Use environment variables or a secrets manager in application code.
Connect with boto3
import boto3s3 = boto3.client( 's3', endpoint_url='https://object.<your-domain>', aws_access_key_id='YOUR_ACCESS_KEY', aws_secret_access_key='YOUR_SECRET_KEY', region_name='xloud-region-1')# List bucketsresponse = s3.list_buckets()for bucket in response['Buckets']: print(bucket['Name'])# Upload a files3.upload_file('local_file.txt', 'my-bucket', 'remote_object.txt')# Download a files3.download_file('my-bucket', 'remote_object.txt', 'downloaded_file.txt')
Mount is accessible at /mnt/shared-data and persists after reboot.
Get the SMB share path
Navigate to Project → Shared File Systems → Shares and note the SMB
UNC path for your share (format: \\<gateway-ip>\<share-name>).
Map network drive
In Windows Explorer, right-click This PC and select Map network drive.
Enter the UNC path and provide your Xloud credentials when prompted.Or from PowerShell:
Map network drive (PowerShell)
net use Z: \\<gateway-ip>\<share-name> /user:<USERNAME> <PASSWORD> /persistent:yes
Drive Z: appears in Windows Explorer and is accessible to applications.