Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion bin/apt-server.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,14 @@ def main() -> None:
directory_username = config.get('directory_username', 'admin')
directory_password = config.get('directory_password', 'admin')
directory_template = _get_absolute_path(config.get('directory_template', 'templates/directory.j2'))
private_dirs = [path for path in repository_dir.joinpath('pool/main').glob('**/private') if path.is_dir()]
directory_private_patterns = config.get('directory_private')

private_dirs = []
if directory_private_patterns:
directory_private_patterns = directory_private_patterns.strip().split('\n')
for pattern in directory_private_patterns:
private_dirs.extend([path for path in repository_dir.joinpath('pool/main').glob(pattern) if path.is_dir()])

directory_config = DirectoryConfig(repository_dir, directory_username, directory_password,
private_dirs, directory_template)
directory_service = DirectoryService(web_server, directory_config)
Expand Down Expand Up @@ -117,6 +124,7 @@ def _get_arguments() -> dict[str, Any]:
parser.add_argument('--directory-username', help='username for the directory service')
parser.add_argument('--directory-password', help='password for the directory service')
parser.add_argument('--directory-template', help='directory template file to use')
parser.add_argument('--directory-private', help='private directory patterns (glob patterns)', nargs='*')

return {k: v for k, v in vars(parser.parse_args()).items() if v is not None}

Expand Down
4 changes: 2 additions & 2 deletions config/apt-server.conf
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ distributions = bullseye, bookworm
repository_dir = /etc/apt-repo
deb_package_dir = /opt/debs
repo_create_delay = 10
release_template = templates/Release.j2

[signature]
private_key_id = C1AEE2EDBAEC37595801DDFAE15BC62117A4E0F3
Expand All @@ -21,4 +20,5 @@ private_key_pass = test1234
public_key_path = tests/keys/public-key.asc

[directory]
directory_template = templates/directory.j2
directory_username = admin
directory_password = admin
Loading