Haiku Depot Server

License

Distributed under the terms of the MIT License.


Table of Contents

1. Overview and General Information
Introduction
Icon
Hosted Source Code
Prerequisites
Building on Linux
Basic Postgres Setup
hvif2png Rendering Tool
2. Data Model
Unique Identifiers
Repositories
Package Supplement
User Usage Conditions
3. Web / Application Server Architecture
Elements
Application Server Infrastructure
Logging
Object-Relational / Data
Multi-Page Web Interface
Single-Page Web Interface
Security
Email
Jobs
Feeds
Captcha
4. User Rating
Package Rating Derivation
Finding Ratings for the Derivation
Triggering Derived Rating Calculations
Storage of the Sample Size
5. Repositories
On-Net / On-Disk Haiku Package Repositories
repo
repo.info
packages
Haiku Depot Server Repositories
Refreshing Repositories
6. Application Localization
Dates, Times and Numerics
General Messages and Text
Formatted HTML / Passive Content
Emails
Contributors
7. Data Localization
Package Version Localization
Package / Fallback Localization
Choosing Localization Items
8. Security
Authentication
Basic Authentication
Token Bearer
Authorization
9. Configuration
Application
General
Package Rating Derivation
Database and Data Related
Web-Related
Token Bearer Authentication
Email
Logging
10. Build and Release
Building Locally On-Host
Automated Testing
Integration Testing
Release
Undertaking a Release
11. Deployment
Setting Up Repositories
Accessing the Web Environment
Deployment with Docker
Haiku Vector Icon Rendering
Release Process
Build Process
Docker Image
Testing the Docker Image
12. Development
13. API
General
Clients
API Version
Object References
Reference Data
Date and Time Data
Invocations and Transport
Security
If-Modified-Since Header
RPC-over-HTTP API
Error Codes
Schema
REST API
Entry Point
Import Repository Data
Get Package Icon
Get All Packages' Icons as an Archive
Get All Package Versions Details
Get Reference Data
Get All Repositories' Details
Get Screenshot Image
Get Raw Screenshot Image
Add Screenshot Image
14. Testing

List of Figures

2.1. The persisted data model for the application server.
3.1. Overview of the elements of the system's architecture and how they inter-relate.
3.2. Screenshot of the running HaikuDepot desktop application.
3.3. Class-diagram related to the jobs infrastructure.
5.1. HDS Repositories and how they relate to On-Net Repositories.
11.1. The processes involved in a Docker build and release process.

List of Examples

13.1. Example: Prompt Repository Update