Table of Contents

CI Package Server

A sattelite system of the CI server to deliver built packages in other networks. The file access is protected with a dynamic authorization to prevent public access.

An example client was coded in Bash (using curl)

📃 Source https://git-repo.iml.unibe.ch/iml-open-source/ci-pkg
📗 Docs: https://os-docs.iml.unibe.ch/ci-pkg/
📜 Liense: GNU GPL 3.0

graph LR CI(CI<br>deployment<br>web gui) --> |Build| PkgDir PkgDir[Package<br>dir] PkgDir --> |rsync| Pkg1 PkgDir --> |rsync| Pkg2 PkgDir --> |rsync| Pkg3 subgraph Package server Pkg1 end Pkg1(CI package<br>server 1) --> |secure<br>download| DeployClient Pkg2(CI package<br>server N) Pkg3(Puppet master) DeployClient --> |installs| ApplicationA(Application A) DeployClient --> |installs| ApplicationB(Application B)

This project is related to

Requirements

  • Webserver with xsentfile module
  • PHP 8
  • Set filepath to [approot]/packages
  • Rewrite rule for [ur]/packages/
  • an account to receive packages from ci server with ssh