Storage Overview#
Storage resources provide a centralized and secure mechanism for managing data storage configurations—such as S3 buckets and their credentials.
The platform supports storage assignment to individual projects, allowing organizations to share storage resources across multiple projects or isolate them for specific use cases.
What is a storage resource?#
A storage resource represents a configuration for accessing a data store, such as an S3 bucket. It includes details like the bucket URL, access keys, and references to the secret containing credentials.
Storage is created at the organization level and is assigned to individual projects. The Resource Manager ensures that storage resources are propagated correctly and remain in sync with their target clusters and projects.
How synchronization works#
Storage resources are synchronized to Kubernetes clusters via ConfigMap objects:
The platform creates a ConfigMap in the project’s namespace containing storage configuration details.
The ConfigMap references the secret containing credentials
Workloads in that namespace can then access the storage using environment variables populated from the ConfigMap.
This ensures storage configuration and credentials are securely managed and only exposed to workloads at runtime.
Access control#
Platform admins can create and delete organization storage resources, assign them to projects, and manage all project storage assignments.
Team members can use storage resources in their assigned projects but cannot create or modify organization-level storage.
Storage statuses#
Storage resources and their project assignments can move through the following states:
Unassigned: The storage exists but has not been assigned to any projects. Displayed as
---in the UI.Pending: The storage is being created or updated, and synchronization with assigned projects is in progress.
Synced: The storage has been successfully synchronized with all assigned projects.
PartiallySynced: The storage has synchronized with some projects but not all.
SyncedError: Synchronization finished, but one or more projects reported errors.
Failed: A critical error prevented the storage from being created, updated, or synchronized.
Deleting: The storage is in the process of being removed from all projects.
DeleteFailed: An error occurred while attempting to remove the storage from one or more projects.
For detailed instructions on managing storage, see the Manage storage guide.
You can manage storage resources from the dedicated Storage page or at the project level through the Storage tab on each project’s page.