Backup Storage

This guide explains how to view and create BackupStorage resources using the AppsCode console. A BackupStorage defines the storage backend (cloud provider, credentials, bucket, and connection settings) where database backups are stored and can be retrieved for restoration.


1. Getting Started

Navigate to Backups in the left sidebar and select BackupStorage. This opens the BackupStorage list page showing all configured storage backends in your cluster.


2. BackupStorage List

The list page displays all BackupStorage resources configured in your cluster. Use the Select Namespace dropdown to filter by namespace, or click Create New Instance to add a new storage backend.

BackupStorage list page showing resources with Name, Namespace, Provider, Size, No. of Connected Repositories, Status, and Age columns

ColumnDescription
NameThe BackupStorage resource name.
NamespaceThe namespace where it is deployed.
ProviderThe cloud storage provider (e.g., s3, azure, gcs).
SizeTotal data stored across all connected repositories.
No. of Connected RepositoriesNumber of Repository resources using this storage backend.
StatusCurrent state of the storage connection (e.g., Ready, Failed).
AgeHow long ago the BackupStorage was created.

3. Viewing a BackupStorage

Click on any BackupStorage name in the list to open its detail page. The detail page shows storage connection details and linked repositories.

3.1 - Overview

The detail page shows all relevant information about the storage backend:

BackupStorage detail page showing Basic info, Repositories, and BackupConfigurations tables

Basic — Core metadata for the storage:

FieldDescription
NameThe BackupStorage resource name.
NamespaceThe namespace it belongs to.
LabelsKey-value labels for organization and filtering.
AnnotationsKey-value annotations including provider and secret references.
UIDThe unique Kubernetes identifier.
ProviderThe cloud storage provider (e.g., azure, s3, gcs).
StatusCurrent connection status.

Repositories — All Repository resources using this storage backend:

ColumnDescription
NameThe Repository resource name.
NamespaceNamespace of the repository.
SizeTotal size of snapshots stored in this repository.
SnapshotsNumber of snapshots contained.
TargetThe database being backed up.
Retention PolicyThe RetentionPolicy controlling snapshot cleanup.
StatusRepository status (e.g., Ready).
AgeAge of the Repository resource.

BackupConfigurations — All BackupConfigurations using this storage:

ColumnDescription
NameThe BackupConfiguration resource name.
NamespaceNamespace of the configuration.
ScheduleThe cron expression for scheduled backups.
TargetThe database being backed up.
SessionThe session name within the configuration.
Invoker KindAlways BackupConfiguration.
TaskThe backup task type (e.g., logical-backup).
PausedWhether backups are paused.
StatusConfiguration status.

4. Creating a BackupStorage

To add a new storage backend, click Create New Instance from the BackupStorage list page. The Create BackupStorage form will open.

4.1 - Basic Information

The form starts with basic identity fields:

Create BackupStorage form showing Namespace, Name, Labels & Annotations, Deletion Policy, Security Context, and Backend sections

FieldDescription
NamespaceThe Kubernetes namespace where the BackupStorage will be created. Required.
NameA unique name for this BackupStorage (e.g., s3-backup). Required.
Deletion PolicyControls what happens when the BackupStorage is deleted. Default: Delete (Keep only database Secrets and backed up data). Required.
Security ContextOptional pod security context for backup operations (e.g., run-as user).

4.2 - Labels & Annotations

Expand the Labels & Annotations section to attach custom metadata for organization and integration:

Labels and Annotations panel showing Labels and Annotations each with Key-Value input rows and Add new buttons

  • Use + Add new under Labels to add key-value label pairs.
  • Use + Add new under Annotations to add key-value annotation pairs.
  • Use the delete icon on any row to remove an entry.

4.3 - Backend Configuration

The Backend section defines the storage provider and its credentials. This is where you configure the actual cloud storage connection.

Backend section showing Provider dropdown (azure selected) with Auth and Spec sub-panels for Azure storage configuration

Backend Provider

  1. Provider — Select the cloud storage provider from the dropdown. Available options include:
    • s3 — Amazon S3 or S3-compatible storage
    • azure — Microsoft Azure Blob Storage
    • gcs — Google Cloud Storage
    • Others depending on your cluster's backup addon

Provider-Specific Configuration

Once a provider is selected, provider-specific sub-panels appear for authentication and storage specification.

For Azure (example shown):

Auth — Authentication credentials:

FieldDescription
Account KeyAzure Storage Account access key. Required.
Account NameAzure Storage Account name. Required.

Spec — Storage specifications:

FieldDescription
ContainerAzure Blob Storage container name where backups are stored. Required.
Max ConnectionsMaximum concurrent connections to the storage backend. Optional.
PrefixPrefix for all backup objects (e.g., db-backups/). Optional.

Note: Provider-specific fields vary. Refer to your backup addon documentation for S3, GCS, or other providers.


5. Preview and Submit

Once all required fields are filled, click Preview to review the generated BackupStorage manifest before applying it.

  • The manifest is shown in YAML view by default. Use the JSON button to switch to JSON format if preferred.
  • Use the Copy button to copy the manifest to your clipboard.
  • Click Previous to go back and adjust your settings if needed.

Tip: You can directly edit the YAML or JSON on the Preview page before submitting. This is useful for making precise adjustments beyond what the form fields expose.

  1. Submit: Once satisfied, click Submit to create the BackupStorage in your cluster.

Note: After submitting, the BackupStorage resource will be created and validated. Once Status shows Ready, it can be referenced by BackupConfigurations and RetentionPolicies.


Quick Reference

ActionHow to do it
View all BackupStoragesBackupsBackupStorage
Filter by namespaceUse the Select Namespace dropdown on the list page
View storage detailClick on the BackupStorage name in the list
Check repository countDetail page → Repositories table
Check linked configurationsDetail page → BackupConfigurations table
Check storage statusDetail page → Basic section → Status field
Open the create formList page → Create New Instance
Add labels or annotationsLabels & Annotations+ Add new → enter Key and Value
Set deletion policyDeletion Policy dropdown → select policy
Configure storage providerBackendProvider dropdown → select cloud provider
Set Azure storage accountBackendAuth → enter Account Key and Account Name
Set Azure containerBackendSpec → enter Container name
Set storage prefixBackendSpecPrefix → optional path prefix
Review before creatingClick Preview
Edit manifest directlyUse the YAML / JSON toggle on the Preview page
Create the storage backendClick Submit on the Preview page