Skip to content

Repository#

A repository serves as the resource for organizing and managing packages within the pkgserver. The primary objective of the pkgserver project is to maintain versatility, ensuring compatibility with various version control backends. While initial emphasis is placed on GIT and OCI repositories, the architecture remains flexible to accommodate other options as needed.

Marking a repository for deployment signifies its readiness to orchestrate the deployment of packages to target systems. This distinction underscores the pivotal role repositories play in facilitating the seamless transition of packages from development to production environments. Typically blueprint/catalog packages are placed in repositories where the deployment flag is not set, while deployment packages are placed in repositories with the deployment flag set.

Furthermore, a critical consideration in defining a repository lies in configuring the permissions required for lifecycle activities that can be performed by the pkgserver. While public git repositories may grant read access to all, certain actions such as creating branches or committing changes necessitate specific access rights through tokens. Therefore, when configuring a repository, it becomes imperative to delineate the tasks pkgserver is authorized to perform. For instance, blueprint packages may not inherently require full CRUD permissions, necessitating a tailored approach to permissions management and as such tokens could be omitted from the configuration

In essence, deploying a repository entails a dual consideration: ensuring its readiness for package deployment and delineating the requisite permissions to facilitate lifecycle activities within the pkgserver environment.