RPM repository server

Server je holou instalací CentOS8 s nakonfigurovanou sítí. Dále je na něm nainstalováno vše, co je potřeba pro build RPM balíčků a jejich vystavení ven v rámci yum/dnf repozitáře.

Tento server slouží k sestavování RPM balíčků. Obsahuje také DEVELOPMENT repozitář, který je určený pro interní potřeby - testování balíčků před jejich oficiálním uveřejněním na repo.iamappliance.com.

Table 1. RPM repository server

server

IAM RPM repository

hostname

iam-rpmrepo.bcv

playbook

iam-appliance-rpmrepo/*

Na serveru jsou umístěny tři služby: sestavení RPM, podepisování RPM a RPM repozitář. Každá služba má svůj vlastní playbook a je také dokumentována v separátní kapitole.

Pro zprovoznění serveru od nuly je potřeba
  1. Nainstalovat CentOS 8 x86_64 v minimal instalaci. Lze použít CentOS8 šablonu z kryptona.

  2. Nastavit síť, atd. dle tabulky výše, routa do VPN.

  3. Spustit patřičný playbook, který provede dokonfigurování OS. Pro nasazení všeho na jeden server je ideální spustit playbooky v pořadí, v jakém jsou uvedeny dále.

    1. Playbook base.yml provede základní konfiguraci a instalaci kontejnerizace. Povinné pro následnou aplikaci rpmbuild.yml a rpmrepo.yml.

    2. Playbook rpmbuild.yml připraví prostředí pro sestavování RPM balíčků, vytvoří uživatele, adresáře, ap. Nakonec spustí build example projektu. Build probíhá uvnitř kontejneru, který je při běhu playbooku vytvořen z Dockerfile. Playbook je nutno spouštět z adresáře ve kterém je umístěn.

    3. Playbook rpmsign.yml připraví hosta na možnost podepisovat sestavené RPM balíčky. Deployuje na server i privátní klíče, ty je ale nutné ručně naimportovat - kvůli GPG passphrase; není (nesmí být) nikde v playboocích uložena. Playbook je nutno spouštět z adresáře ve kterém je umístěn.

    4. Playbook rpmrepo.yml připraví strukturu pro RPM repozitář a případně ho i spustí. Repozitář běží v samostatném kontejneru a automaticky reaguje na změnu svého obsahu. Playbook je nutno spouštět z adresáře ve kterém je umístěn.