Database Backups


Establish and monitor recurring backup schedules to ensure data integrity and disaster recovery readiness.

In addition to disaster recovery, backup archives can be used to migrate your Develocity data to a new host system. This can be useful in scenarios where a trial instance is promoted to a production one.

Develocity supports two primary database configurations—Embedded and User-Managed—each with a different management model.

Backup Responsibility Model

Database Type Responsibility

Embedded

Develocity manages the backup process. Admins configure schedules via the UI or CLI.

User-Managed

Backups are the responsibility of your Database Administrator (DBA) or Cloud Provider (e.g., AWS RDS, Azure SQL).

For User-Managed databases, Gradle Support cannot assist with database-level recovery. Ensure you have a tested disaster recovery procedure in place using your provider’s native tools (e.g., pg_dump, pg_restore, or RDS Snapshots).

Configuring Embedded Backups

For installations using the embedded database, you can automate backups without system downtime.

The backup location is configured separately during installation. See the Kubernetes Installation Manual or Standalone Installation Manual for details.

Configure via the User Interface

  1. Navigate to Administration  Backups.

  2. Enable backups.

  3. Define your schedule (Daily, Weekly, or Custom).

  4. Configure Email Notifications to receive alerts upon backup success or failure. This requires administrator email details and SMTP server settings to be configured for the Develocity instance.

  5. Click Save.

  6. Select Apply and restart in the upper right corner.

Applying the configuration updates the system services and may take several minutes to complete.

Backup Schedule Configuration in Develocity UI
Backup Schedule Configuration in Develocity UI

Configuration Fields

Setting Description

Number of backups to retain

The number of backup archives to keep before automatic deletion.

Email Notifications

Enable email notifications for backup events.

Schedule

Schedule type (Daily, Weekly, or Custom).

Time of Day (UTC)

Time of day to perform the backup (24-hour format).

We encourage you to back up your configuration settings regularly to prevent data loss.
You can export settings via the Administration menu by selecting Administration  Import/Export  Export.

Manual Backups

You can trigger an immediate backup at any time via the Develocity CLI:

develocityctl backup create

develocityctl responds to a successful command with the following:

Output
Found Develocity installed in the 'develocity' namespace.
Running Develocity backup
Low disk space threshold is 1024MiB
[BACKUP_HISTORY] Backup started
Starting Postgres backup...
Backing up Postgres data directory...
98
Stopping Postgres backup and copying WAL files...
Compressing WAL files...
100
Adding WAL files to backup archive...
Created backup: backup-20240118-174811.zip
Skipping old backup cleanup as no BACKUP_RETENTION env var set
Backup completed in 4 seconds
[BACKUP_HISTORY] Backup completed

The output includes the name of the backup, which can be found in the /opt/gradle/backups directory. You can download the newly created backup locally by running the backup copy command. The backup archive will be copied to the directory in which the command is executed. If multiple backups exist you’ll be prompted to select the backup you want to copy.

It’s highly recommended that this archive additionally be copied to an off-host location (e.g., S3 or a network drive), in the case of a complete loss of the host system or volume used to store backup archives.

Configure via Unattended Configuration

If you are managing Develocity using a GitOps or automated workflow, you can define the global settings using Unattended Configuration. Depending on your deployment strategy, you can provide these settings either as Integrated configuration within your values.yaml or as a Standalone configuration file.

version: 15
backups:
  backupsToRetain: 2 (1)
  emailNotification: true (2)
  schedule:
    type: daily (3)
    timeOfDay: 01:00 (4)
1 Number of backup archives to retain before automatic deletion.
2 Enable email notifications for backup events.
3 Schedule type (daily, weekly, or cron).
4 Time of day to perform the backup (24-hour format).

Deployment Templates

Download the appropriate YAML template to begin your infrastructure configuration.

For Develocity versions 2025.3 and prior, see the 2025.2 Administration Guide or the 2025.3 Administration Manual.

Cluster Deployment

Example template for cluster orchestration.
gradle-enterprise-config-schema-15.yaml SHA256 ASC ASC SHA256

Standalone Deployment

Example template for standalone setup.
gradle-standalone-config-schema-15.yaml | SHA256 | ASC | ASC SHA256

Pre-deployment Checklist

  • Backup: Export your current settings via Administration  Import/export before applying changes.

  • Deployment: After updating your values.yaml, re-deploy using Helm.

  • Impact: This triggers service restarts and may take several minutes to complete.

See Unattended Configuration for details.

Recovery and Migrations

If you need to restore a backup due to data loss or are migrating to a new host: