Skip to content

11 Sync, Export, and Distribution

Sync/export is how you publish repository state from Athene to downstream distribution locations. Use it to create deterministic package mirrors for internal networks, staging environments, or offline transfer workflows.

11.1 Prerequisites

  • Repository with imported packages.
  • Write permissions to export destination.
  • Enough disk space on destination for full repository output.

11.2 Quick Start

Step 1: Configure the sync target first

Open the repository sync target configuration for the local filesystem name:

athene debian configuration local

Example configuration:

;----------------------------------------
; Local File Synchronisation - Configuration options synchronising repositories to and from the local system.
;----------------------------------------
[local]

; Path - The path on the local file system to which the repository will be synchronised to.
path = /tmp/exports/main

; A brief description of the Local repository.
description = Exported Athene repository

Step 2: Run repository sync from CLI

athene debian sync main local

Step 3: Validate output was written

ls -lah /tmp/exports/main

Step 4: Import one more package and sync again

athene debian import main ./mypackage_1.2.4_amd64.deb
athene debian sync main local

Step 5: Confirm downstream structure is still consistent

Check that expected metadata and package paths are present after the second sync.

11.3 Key Parameters Explained

  • sync target name (local, sftp, s3): named filesystem target passed to sync.
  • athene <type> configuration <target-name>: opens sync target settings.
  • Target config properties (such as local path): define destination details outside the sync command itself.
  • Repository selector (main, releases): chooses which repository root is exported.
  • Optional repository location: affects path layout in exported content.

Tip

Treat exported repositories as release artifacts. If downstream systems rely on them, retain versions and timestamps rather than continuously overwriting one shared path.

11.4 Other Ways to Sync

11.5 Next Steps

You should now have a repository-level sync target configured and have run at least one successful sync using its target name (local, sftp, or s3).

Next, continue to administration runbooks for recurring maintenance, logging, and operational safeguards.

Next chapter: 12 Administration and Operations.