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
- Import and Publish Packages using the REST API
- Import and Publish Packages using the Web User Interface
- External tools (coming next): dedicated coverage for direct publishing from third-party tools such as
mvn deployand other ecosystem-native publishers.
6.6 What You Should Have Before Chapter 07
- At least one correctly imported package (of
.debtype if you are following the examples exactly). - Confirmation the package exists using the
list-packagescommand.
Next chapter: 07 Browsing and Searching Packages.