aptly - Debian repository management tool https://www.aptly.info/
 
 
 
 
Go to file
André Roth e5b8315859
Merge pull request #1411 from schoenherrg/feature/filter-using-file
Feature: Support Reading Filter Expressions from a File
2024-12-21 18:54:44 +01:00
.github debian: add lintian 2024-11-17 14:10:30 +01:00
_man Fix paths after repository transfer to aptly-dev 2018-04-18 21:19:43 +03:00
api Merge pull request #1404 from schoenherrg/fix/with-sources-ignored 2024-12-11 13:01:30 +01:00
aptly write commented json default config 2024-12-11 10:40:44 +01:00
azure use new azure-sdk 2024-11-17 17:43:20 +01:00
cmd cmd filter: add comment and cleanup 2024-12-21 11:37:15 +01:00
completion.d Command to replace the whole staged source list added. 2024-11-01 17:48:03 +01:00
console Fix: Implement golangci-lint suggestions 2023-09-21 11:25:18 +02:00
context add test and improve config error messages 2024-12-11 12:02:52 +01:00
database apply PR feedback 2024-07-31 22:16:00 +02:00
deb Fix failing system test 2024-12-10 11:52:55 +09:00
debian debian: add build dependency for yaml 2024-12-11 12:02:52 +01:00
docs swagger: document async 2024-12-11 10:40:44 +01:00
files fix unit tests on arm 2024-12-11 10:40:44 +01:00
http add shutdown context unit test 2024-11-09 15:34:35 -06:00
man Update man page 2024-12-20 12:55:56 +09:00
pgp cleanup gpg keys 2024-10-04 18:46:40 +02:00
query Fix linter list and fix errors discovered by new staticcheck 2019-01-20 00:01:17 +03:00
s3 update or downgrade go modules to match debian versions 2024-09-24 10:14:39 +02:00
swift fix typo 2024-04-11 19:40:25 +02:00
system Extend system tests for @file filter syntax 2024-12-20 10:59:29 +09:00
systemd Bump Go versions for Travis, fix tests 2019-07-04 00:16:12 +03:00
task queue sync calls 2024-06-15 19:18:14 +02:00
utils update documentation and man page 2024-12-11 12:02:52 +01:00
.dockerignore debian: add lintian 2024-11-17 14:10:30 +01:00
.flake8 system tests: use repository mirrors on S3 for reproducibility 2024-02-05 13:04:45 +01:00
.gitignore docs: improve swagger 2024-12-11 10:40:43 +01:00
.golangci.yml update golangci-lint and replace deprecated calls to io/ioutil 2022-12-12 10:21:39 +01:00
AUTHORS Add name to AUTHORS 2024-12-10 12:12:23 +09:00
CODE_OF_CONDUCT.md update code of conduct to use github discussions 2024-08-03 00:14:26 +02:00
CONTRIBUTING.md update CONTRIBUTING 2024-12-11 10:40:44 +01:00
LICENSE Update license to mention that there are many contributors. 2015-07-04 13:06:58 +03:00
Makefile cleanup makefile 2024-12-11 12:02:52 +01:00
README.rst update doc 2024-11-08 10:20:25 +01:00
codecov.yml Fix CodeCov Config has two targets and thresholds 2023-03-13 08:20:18 +01:00
go.mod Bump golang.org/x/crypto from 0.26.0 to 0.31.0 2024-12-12 00:24:55 +00:00
go.sum Bump golang.org/x/crypto from 0.26.0 to 0.31.0 2024-12-12 00:24:55 +00:00
main.go write commented json default config 2024-12-11 10:40:44 +01:00
main_test.go write commented json default config 2024-12-11 10:40:44 +01:00
mem.gp gnuplot script. 2014-03-03 20:59:37 +04:00

README.rst

=====
aptly
=====

.. image:: https://github.com/aptly-dev/aptly/actions/workflows/ci.yml/badge.svg
    :target: https://github.com/aptly-dev/aptly/actions

.. image:: https://codecov.io/gh/aptly-dev/aptly/branch/master/graph/badge.svg
    :target: https://codecov.io/gh/aptly-dev/aptly

.. image:: https://badges.gitter.im/Join Chat.svg
    :target: https://matrix.to/#/#aptly:gitter.im

.. image:: https://goreportcard.com/badge/github.com/aptly-dev/aptly
    :target: https://goreportcard.com/report/aptly-dev/aptly

Aptly is a swiss army knife for Debian repository management.

.. image:: http://www.aptly.info/img/aptly_logo.png
    :target: http://www.aptly.info/

Documentation is available at `http://www.aptly.info/ <http://www.aptly.info/>`_. For support please use
mailing list `aptly-discuss <https://groups.google.com/forum/#!forum/aptly-discuss>`_.

Aptly features: ("+" means planned features)

* make mirrors of remote Debian/Ubuntu repositories, limiting by components/architectures
* take snapshots of mirrors at any point in time, fixing state of repository at some moment of time
* publish snapshot as Debian repository, ready to be consumed by apt
* controlled update of one or more packages in snapshot from upstream mirror, tracking dependencies
* merge two or more snapshots into one
* filter repository by search query, pulling dependencies when required
* publish self-made packages as Debian repositories
* REST API for remote access
* mirror repositories "as-is" (without resigning with user's key) (+)
* support for yum repositories (+)

Current limitations:

* translations are not supported yet

Install Stable Version
-----------------------

To install aptly on Debian/Ubuntu, add new repository to ``/etc/apt/sources.list``::

    deb http://repo.aptly.info/ squeeze main

And import key that is used to sign the release::

    $ apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EE727D4449467F0E

After that you can install aptly as any other software package::

    $ apt-get update
    $ apt-get install aptly

Don't worry about squeeze part in repo name: aptly package should work on Debian squeeze+,
Ubuntu 10.0+. Package contains aptly binary, man page and bash completion.

Other Binaries
~~~~~~~~~~~~~~~~~

Binary executables (depends almost only on libc) are available for download from `GitHub Releases <https://github.com/aptly-dev/aptly/releases>`_.

Install CI Version
--------------------

More recent versions are available as CI builds (development, might be unstable).

Debian GNU/Linux
~~~~~~~~~~~~~~~~~

Install the following APT key::

    sudo wget -O /etc/apt/keyrings/aptly.asc https://www.aptly.info/pubkey.txt

Define CI APT sources in ``/etc/apt/sources.list.d/aptly-ci.list``::

    deb [signed-by=/etc/apt/keyrings/aptly.asc] http://repo.aptly.info/ci DIST main

Where DIST is one of: ``buster``, ``bullseye``, ``bookworm``, ``focal``, ``jammy``, ``noble``

Contributing
------------

Please follow detailed documentation in `CONTRIBUTING.md <CONTRIBUTING.md>`_.

Integrations
------------

Vagrant:

-   `Vagrant configuration <https://github.com/sepulworld/aptly-vagrant>`_ by
    Zane Williamson, allowing to bring two virtual servers, one with aptly installed
    and another one set up to install packages from repository published by aptly

Docker:

-    `Docker container <https://github.com/mikepurvis/aptly-docker>`_ with aptly inside by Mike Purvis
-    `Docker container <https://github.com/urpylka/docker-aptly>`_ with aptly and nginx by Artem Smirnov

With configuration management systems:

-   `Chef cookbook <https://github.com/hw-cookbooks/aptly>`_ by Aaron Baer
    (Heavy Water Operations, LLC)
-   `Puppet module <https://github.com/alphagov/puppet-aptly>`_ by
    Government Digital Services
-   `Puppet module <https://github.com/tubemogul/puppet-aptly>`_ by
    TubeMogul
-   `SaltStack Formula <https://github.com/saltstack-formulas/aptly-formula>`_ by
    Forrest Alvarez and Brian Jackson
-   `Ansible role <https://github.com/aioue/ansible-role-aptly>`_ by Tom Paine

CLI for aptly API:

-   `Ruby aptly CLI/library <https://github.com/sepulworld/aptly_cli>`_ by Zane Williamson
-   `Python aptly CLI (good for CI) <https://github.com/TimSusa/aptly_api_cli>`_ by Tim Susa

GUI for aptly API:

-   `Python aptly GUI (via pyqt5) <https://github.com/chnyda/python-aptly-gui>`_ by Cedric Hnyda

Scala sbt:

-   `sbt aptly plugin <https://github.com/amalakar/sbt-aptly>`_ by Arup Malakar