// vim: : filetype=json { // General /////////// // Aptly storage directory // - downloaded packages (`rootDir`/pool) // - database (`rootDir`/db) // - published repositories (`rootDir`/public) "rootDir": "~/.aptly", // number of attempts to open DB if it's locked by other instance; can be overridden with option `-db-open-attempts` "databaseOpenAttempts": -1, // "AsyncAPI": false, // "enableMetricsEndpoint": false, // Enable API documentation on /docs "enableSwaggerEndpoint": false, // "logLevel": "info", // "logFormat": "default", // "serveInAPIMode": false, // OBSOLETE // in aptly up to version 1.0.0, package files were stored in internal package pool // with MD5-dervied path, since 1.1.0 package pool layout was changed; // if option is enabled, aptly stops checking for legacy paths; // by default option is enabled for new aptly installations and disabled when // upgrading from older versions "skipLegacyPool": true, // Database //////////// // "databaseBackend": { // "type": "", // "url": "", // "dbPath": "" // }, // Mirroring ///////////// // downloader to use // - "default" (normal downloader) // - "grab" (more robust) "downloader": "default", // number of parallel download threads to use when downloading packages "downloadConcurrency": 4, // limit in kbytes/sec on download speed while mirroring remote repositories "downloadSpeedLimit": 0, // number of retries for download attempts "downloadRetries": 0, // download source packages per default "downloadSourcePackages": false, // list of architectures to process; if left empty defaults to all available architectures; can be overridden with option `-architectures` "architectures": [], // follow contents of `Suggests:` field when processing dependencies for the package "dependencyFollowSuggests": false, // follow contents of `Recommends:` field when processing dependencies for the package "dependencyFollowRecommends": false, // when dependency looks like `package-a | package-b`, follow both variants always "dependencyFollowAllVariants": false, // follow dependency from binary package to source package "dependencyFollowSource": false, // print additional details while resolving dependencies (useful for debugging) "dependencyVerboseResolve": false, // Signing /////////// // gpg provider to use: // - "internal" (Go internal implementation) // - 'gpg" (external `gpg` utility, uses GnuPG 1.x if available or GnuPG 2.x otherwise) "gpgProvider": "gpg", // don't sign published repositories with gpg(1), also can be disabled on per-repo basis using `-skip-signing` flag when publishing "gpgDisableSign": false, // don't verify remote mirrors with gpg(1), also can be disabled on per-mirror basis using `-ignore-signatures` flag when creating and updating mirrors "gpgDisableVerify": false, // PPA /////// // specifies paramaters for short PPA url expansion, if left blank they default to output of `lsb_release` command "ppaDistributorID": "ubuntu", // cwcodename for short PPA url expansion "ppaCodename": "", // "skipContentsPublishing": false, // "skipBz2Publishing": false, // Storage Endpoints ///////////////////// // Filesystem publishing endpoints // // aptly defaults to publish to a single publish directory under `rootDir`/public. For // a more advanced publishing strategy, you can define one or more filesystem endpoints in the // `FileSystemPublishEndpoints` list of the aptly configuration file. Each endpoint has a name // and the following associated settings: // // * `rootDir`: // The publish directory, e.g., `/opt/srv/aptly_public`. // * `linkMethod`: // This is one of `hardlink`, `symlink` or `copy`. It specifies how aptly links the // files from the internal pool to the published directory. // If not specified, empty or wrong, this defaults to `hardlink`. // * `verifyMethod`: // This is used only when setting the `linkMethod` to `copy`. Possible values are // `md5` and `size`. It specifies how aptly compares existing links from the // internal pool to the published directory. The `size` method compares only the // file sizes, whereas the `md5` method calculates the md5 checksum of the found // file and compares it to the desired one. // If not specified, empty or wrong, this defaults to `md5`. // // In order to publish to such an endpoint, specify the endpoint as `filesystem:endpoint-name` // with `endpoint-name` as the name given in the aptly configuration file. For example: // // `aptly publish snapshot wheezy-main filesystem:test1:wheezy/daily` "FileSystemPublishEndpoints": { }, // S3 Endpoint Support // // cloud storage). First, publishing // endpoints should be described in aptly configuration file. Each endpoint has name // and associated settings: // // * `region`: // Amazon region for S3 bucket (e.g. `us-east-1`) // * `bucket`: // bucket name // * `endpoint`: // (optional) when using S3-compatible cloud storage, specify hostname of service endpoint here, // region is ignored if endpoint is set (set region to some human-readable name) // (should be left blank for real Amazon S3) // * `prefix`: // (optional) do publishing under specified prefix in the bucket, defaults to // no prefix (bucket root) // * `acl`: // (optional) assign ACL to published files (one of the canned ACLs in Amazon // terminology). Useful values: `private` (default), `public-read` (public // repository) or `none` (don't set ACL). Public repositories could be consumed by `apt` using // HTTP endpoint (Amazon bucket should be configured for "website hosting"), // for private repositories special apt S3 transport is required. // * `awsAccessKeyID`, `awsSecretAccessKey`: // (optional) Amazon credentials to access S3 bucket. If not supplied, // environment variables `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` // are used. // * `storageClass`: // (optional) Amazon S3 storage class, defaults to `STANDARD`. Other values // available: `REDUCED_REDUNDANCY` (lower price, lower redundancy) // * `encryptionMethod`: // (optional) server-side encryption method, defaults to none. Currently // the only available encryption method is `AES256` // * `plusWorkaround`: // (optional) workaround misbehavior in apt and Amazon S3 // for files with `+` in filename by // creating two copies of package files with `+` in filename: one original // and another one with spaces instead of plus signs // With `plusWorkaround` enabled, package files with plus sign // would be stored twice. aptly might not cleanup files with spaces when published // repository is dropped or updated (switched) to new version of repository (snapshot) // * `disableMultiDel`: // (optional) for S3-compatible cloud storages which do not support `MultiDel` S3 API, // enable this setting (file deletion would be slower with this setting enabled) // * `forceSigV2`: // (optional) disable Signature V4 support, useful with non-AWS S3-compatible object stores // which do not support SigV4, shouldn't be enabled for AWS // * `forceVirtualHostedStyle`: // (optional) disable path style visit, useful with non-AWS S3-compatible object stores // which only support virtual hosted style // * `debug`: // (optional) enables detailed request/response dump for each S3 operation // // In order to publish to S3, specify endpoint as `s3:endpoint-name:` before // publishing prefix on the command line, e.g.: // // `aptly publish snapshot wheezy-main s3:test:` "S3PublishEndpoints": { }, // Swift Endpoint Support // // aptly could be configured to publish repository directly to OpenStack Swift. First, // publishing endpoints should be described in aptly configuration file. Each endpoint // has name and associated settings: // // * `container`: // container name // * `prefix`: // (optional) do publishing under specified prefix in the container, defaults to // no prefix (container root) // * `osname`, `password`: // (optional) OpenStack credentials to access Keystone. If not supplied, // environment variables `OS_USERNAME` and `OS_PASSWORD` are used. // * `tenant`, `tenantid`: // (optional) OpenStack tenant name and id (in order to use v2 authentication). // * `authurl`: // (optional) the full url of Keystone server (including port, and version). // example `http://identity.example.com:5000/v2.0` // // In order to publish to Swift, specify endpoint as `swift:endpoint-name:` before // publishing prefix on the command line, e.g.: // // `aptly publish snapshot jessie-main swift:test:` "SwiftPublishEndpoints": { }, // Azure Endpoint Support // "AzurePublishEndpoints": { } }