Úpravy image

Základním předpisem pro obsah BaseOS image je soubor kickstart.ks. Jeho úpravou a následným vyvoláním buildu se docílí změn ve výsledném imagi virtuálního disku.

Kickstart je standardním formátem a má svou vlastní syntaxi.

Použití lorax-composer

Některé úpravy se v rámci kickstart.ks dělají težko, například úprava softwarových balíčků. Ty je nutné vyjmenovat včetně závislostí a je velmi jednoduché na některou zapomenout.

Proto je příjemnější použít grafický editor a z něj si pak jen vzít výsledky. Editorem je Cockpit s příslušným pluginem.

Pokud jste použili pro tvorbu vývojového prostředí Ansible playbook z iam-appliance-infrastructure, máte vše potřebné již nainstalováno.

Úprava softwarových balíčků v applianci

  1. V repozitáři najděte soubor CzechIAM.toml, který je hlavním blueprintem pro Lorax composer.

  2. Naimportujte CzechIAM.toml do composeru.

    composer-cli blueprints push CzechIAM.toml
  3. Přejděte do Cockpit UI (standardně https://ADRESA:9090) a přihlašte se.

  4. V levém panelu přejděte na Image Builder.

  5. Ve výpisu blueprintů se zobrazí CzechIAM.

  6. Rozklikněte blueprint a proveďte potřebné úpravy. Nakonec klikněte na tlačítko Commit vpravo nahoře.

  7. Vyexportuje blueprint zpět do repozitáře a zaverzujte.

    composer-cli blueprints save CzechIAM
  8. Vyvolejte build image a jako typ zvolte VMDK.

    • Sestavení image přes Composer nám k ničemu není, ale je nutné aby proběhlo. Jedině tak aplikace vygeneruje soubor final-kickstart.ks, který následně použijeme.

  9. Na serveru se podívejte do adresáře /var/lib/lorax/composer/results a jeho podadresářů. Hledejte TOML soubor se stejným obsahem, jako jste vyexportovali z aplikace. Tím najdete adresář s aktuálním buildem.

  10. Z tohoto adresáře si vezměte soubor final-kickstart.ks a dále s ním pracujte.

    • Přeneste (copy-paste) seznam softwarových balíčků z final-kickstart.ks do kickstart.ks, ze kterého se sestavuje náš appliance image.

    • Změny v ostatních částech souboru je radno provádět opatrně. Kickstart vygenerovaný Loraxem má například velmi odlišný layout disku.

  11. Zaverzujte změny do GITu.

  12. Sestavte image pomocí build.sh skriptu.

Přidání 3rd-party repozitáře a balíčků

Tento návod ukazuje přidání Docker CE repozitáře a postup, který promítne docker-* balíčky do sekce %packages ve výsledném kickstartu. Konkrétně pro instalaci Dockeru tento postup ale nefunguje a způsobuje pád buildu. Podrobnosti lze najít zde.
  1. Přidejte nový repozitář do konfigurace DNF na virtuálním serveru.

    yum install yum-utils
    yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  2. Restartujte Lorax.

    • Lorax při svém startu provede aktualizaci seznamu repozitářů podle těch, které jsou konfigurovány v operačním systému.

    • Repozitáře Loraxu jsou udržovány v /var/lib/lorax/composer/repos.d.

      systemctl restart lorax-composer
  3. Dále postupujte jako když měníte balíčky, viz návod výše.