Skip to content

06 Importing and Publishing Packages

Importing packages is Athene's core daily workflow. You push artifacts, Athene indexes them, and downstream consumers pull from a stable repository path.

6.1 Prerequisites

  • Repository already created (04 Creating Repositories).
  • Signing configured for repositories that require it (05 Signing).
  • CLI access with write permission.
  • One valid test package per backend you want to validate.

6.2 Quick Start

Step 1: Import a Debian package

athene debian import main ./mypackage_1.2.3_amd64.deb

Step 2: Import RPM packages

athene rpm import main ./nginx-1.26.1-1.el9.x86_64.rpm ./nginx-mod-http-1.26.1-1.el9.x86_64.rpm

Step 3: Import a Maven artifact

athene maven import main ./demo-1.0.0.jar

Step 4: Verify package indexing

athene debian list-packages main

6.3 Key Parameters Explained

  • Repository selector (main, releases): where imported artifacts land.
  • Source file path: actual artifact payload; failed imports are frequently just wrong local paths.
  • Optional signing override (-k, --key): select a signer key reference as <type>/<id> for this import only.

<type> must be the signer id, not a CLI alias. Example: use apple-codesign/<id-or-name> (not rcodesign/<id-or-name>).

Example overriding the repository default key for one upload:

athene files import binaries ./tool.exe --package=tool --version=2.0.0 --architecture=amd64 --extension=exe --key=jks/windows-release
athene files import binaries ./MyApp.pkg --package=myapp --version=2.0.0 --architecture=amd64 --extension=pkg --key=apple-codesign/222d3c8e269a4e5f98e3c9575aa8e810 --passphrase "changeit" --notarize --staple

Example disabling signing for one upload (even when a repository default key exists):

athene rpm import main ./debug-build-2.0.0-1.x86_64.rpm --key none

For supported signer families and backend compatibility, see 05 Signing.

Tip

If imports succeed but consumers still fail, verify index visibility first (list-packages) before debugging client-side configuration.

6.4 Delete and Re-Import Workflow (Recovery)

When you publish a bad package, remove and re-import intentionally:

athene debian delete main bookworm.main:some-debianpackage 1.2.3
athene debian import main ./some-debianpackage_1.2.4_amd64.deb

6.5 Other Ways to Import and Publish Packages

6.6 What You Should Have Before Chapter 07

  • At least one correctly imported package (of .deb type if you are following the examples exactly).
  • Confirmation the package exists using the list-packages command.

Next chapter: 07 Browsing and Searching Packages.