Skip to main content

Overview

Enable versioning on a container to retain all previous versions of objects. Each time an object is overwritten, the previous version is preserved in a linked archive container. This protects against accidental overwrites and provides a manual recovery mechanism.
Prerequisites
  • An active Polystack account with appropriate permissions
  • Access to the Polystack Dashboard or CLI configured with credentials
  • API credentials sourced (source openrc.sh)
Versioning must be enabled before overwrites occur — it cannot be applied retroactively. Objects overwritten before versioning was enabled have no archived versions.

How Versioning Works


Enable Versioning

1

Create the archive container

Create a separate container to store previous versions. Navigate to Storage > Object Storage and click Create Container. Name it app-backups-versions (or similar).
Create the archive container before enabling versioning on the primary container. The archive container must already exist.
2

Enable versioning on the primary container

Navigate to the primary container settings, click Edit, and enable Object Versioning. Specify the archive container name.

Recover a Previous Version

When an object is overwritten, the previous version is stored in the archive container with a name that includes the original object name and a timestamp prefix.
List archived versions
Download a specific archived version
To restore a version, copy it back to the primary container:
Restore an archived version

Disable Versioning

Disable versioning
Disabling versioning stops archiving new overwrites but does not remove existing archived versions. The archive container and its contents remain and accrue storage costs.

Next Steps

Upload Objects

Upload and manage objects within versioned containers

Access Control

Configure ACLs on both primary and archive containers

Large Objects

Handle files over 5 GB with SLO and DLO mechanisms

Troubleshooting

Resolve versioning configuration and recovery issues