Files
aptly/debian/aptly.conf
2024-12-11 10:40:44 +01:00

367 lines
12 KiB
JSON

// vim: : filetype=json
// json configuration file with comments
// validate with: sed '/\/\//d' debian/aptly.conf | json_pp
{
// General
///////////
// Aptly storage directory
// Directory for storing:
// - downloaded packages (`rootDir`/pool)
// - database (`rootDir`/db)
// - published repositories (`rootDir`/public)
"rootDir": "~/.aptly",
// Number of attempts to open database if it's locked by other instance
// * -1 (no retry)
"databaseOpenAttempts": -1,
// Log Level
// * debug
// * info
// * warning
// * error
"logLevel": "info",
// Log Format
// * default (text)
// * json
"logFormat": "default",
// Default Architectures
// * empty defaults to all available 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,
// Log additional details while resolving dependencies (useful for debugging)
"dependencyVerboseResolve": false,
// Specifies paramaters for short PPA url expansion
// * empty defaults to output of `lsb_release` command
"ppaDistributorID": "ubuntu",
// Codename for short PPA url expansion
"ppaCodename": "",
// 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,
// Aptly Server
////////////////
// Serve published repos as well as API
"serveInAPIMode": false,
// Enable metrics for Prometheus client
"enableMetricsEndpoint": false,
// Enable API documentation on /docs
"enableSwaggerEndpoint": false,
// OBSOLETE: use via url param ?_async=true
"AsyncAPI": false,
// Database
////////////
// Database backend
"databaseBackend": {
//
"type": "",
//
"url": "",
//
"dbPath": ""
//
},
// Mirroring
/////////////
// Downloader
// * "default"
// * "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,
// Signing
///////////
// GPG Provider
// * "internal" (Go internal implementation)
// * "gpg" (External `gpg` utility)
"gpgProvider": "gpg",
// Disable signing of published repositories
"gpgDisableSign": false,
// Disable signature verification of remote repositories
"gpgDisableVerify": false,
// Publishing
//////////////
// Do not publish Contents files
"skipContentsPublishing": false,
// Do not create bz2 files
"skipBz2Publishing": false,
// Storage
///////////
// 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.
//
// 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": {
// // Endpoint Name
// "test1": {
// // Directory for publishing
// "rootDir": "/opt/srv/aptly_public",
//
// // File Link Method for linking files from the internal pool to the published directory
// // * hardlink
// // * symlink
// // * copy
// "linkMethod": "hardlink",
//
// // File Copare Method for comparing existing links from the internal pool to the published directory
// // Only used when "linkMethod" is set to "copy"
// // * md5 (default: compare md5 sum)
// // * size (only compare file size)
// "verifyMethod": "md5"
// }
},
// S3 Endpoint Support
//
// cloud storage). First, publishing
// endpoints should be described in aptly configuration file. Each endpoint has name
// and associated settings.
//
// 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": {
// // Endpoint Name
// "test": {
//
// // Amazon region for S3 bucket
// "region": "us-east-1",
//
// // Bucket name
// "bucket": "test-bucket",
//
// // 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)
// "endpoint": "",
//
// // Prefix (optional)
// // publishing under specified prefix in the bucket, defaults to
// // no prefix (bucket root)
// "prefix": "",
//
// // Default ACLs (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.
// "acl": "private",
//
// // Credentials (optional)
// // Amazon credentials to access S3 bucket. If not supplied,
// // environment variables `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY`
// // are used.
// "awsAccessKeyID": "",
// "awsSecretAccessKey": "",
//
// // Storage Class (optional)
// // Amazon S3 storage class, defaults to `STANDARD`. Other values
// // available: `REDUCED_REDUNDANCY` (lower price, lower redundancy)
// "storageClass": "STANDARD",
//
// // Encryption Method (optional)
// // Server-side encryption method, defaults to none. Currently
// // the only available encryption method is `AES256`
// "encryptionMethod": "none",
//
// // Plus Workaround (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)
// "plusWorkaround": false,
//
// // Disable MultiDel (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)
// "disableMultiDel": false,
//
// // ForceSig2 (optional)
// // Disable Signature V4 support, useful with non-AWS S3-compatible object stores
// // which do not support SigV4, shouldn't be enabled for AWS
// "forceSigV2": false,
//
// // ForceVirtualHostedStyle (optional)
// // Disable path style visit, useful with non-AWS S3-compatible object stores
// // which only support virtual hosted style
// "forceVirtualHostedStyle": false,
//
// // Debug (optional)
// // Enables detailed request/response dump for each S3 operation
// "debug": false
// }
},
// 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.
//
// 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": {
// // Endpoint Name
// "test": {
//
// // Container Name
// "container": "container1",
//
// // Prefix (optional)
// // Publish under specified prefix in the container, defaults to no prefix (container root)
// "prefix": "",
// // Credentials (optional)
// // OpenStack credentials to access Keystone. If not supplied, environment variables `OS_USERNAME` and `OS_PASSWORD` are used
// "osname": "",
// "password": "",
// // Tenant (optional)
// // OpenStack tenant name and id (in order to use v2 authentication)
// "tenant": "",
// "tenantid": "",
// // Auth URL (optional)
// // Full url of Keystone server (including port, and version).
// // Example `http://identity.example.com:5000/v2.0`
// "authurl": ""
// }
},
// Azure Endpoint Support
//
// aptly can be configured to publish repositories directly to Microsoft Azure Blob
// Storage. First, publishing endpoints should be described in the aptly
// configuration file. Each endpoint has its name and associated settings.
"AzurePublishEndpoints": {
// // Endpoint Name
// "test": {
//
// // Container Name
// "container": "container1",
//
// // Prefix (optional)
// // Publishing under specified prefix in the container, defaults to no prefix (container root)
// "prefix": "",
//
// // Credentials
// // Azure storage account access key to access blob storage
// "accountName": "",
// "accountKey": "",
//
// // Endpoint URL
// // See: Azure documentation https://docs.microsoft.com/en-us/azure/storage/common/storage-configure-connection-string
// // defaults to "https://$accountName.blob.core.windows.net"
// "endpoint": ""
// }
},
// Package Pool
// Location for storing downloaded packages
// Type must be one of:
// * local
// * azure
"packagePoolStorage": {
// Local Pool Path
"type": "local",
"path": "$ROOTDIR/pool"
// // Azure Azure Blob Storage Pool
// "type": "azure",
// "azure": {
// // Container Name
// "container": "pool1",
//
// // Prefix (optional)
// // Publishing under specified prefix in the container, defaults to no prefix (container root)
// "prefix": "",
//
// // Credentials
// // Azure storage account access key to access blob storage
// "accountName": "",
// "accountKey": "",
//
// // Endpoint URL
// // See: Azure documentation https://docs.microsoft.com/en-us/azure/storage/common/storage-configure-connection-string
// // defaults to "https://$accountName.blob.core.windows.net"
// "endpoint": ""
// }
}
// End of config
}