Integrace do OS
Skript iam-firstboot
se instaluje jako RPM balíček do operačního systému.
Své soubory má uloženy v /opt/iam-firstboot/VERZE
.
Balíček instaluje své soubory do /opt/…
a je přes Alternatives symlinkován do adresářů co jsou v PATH.
Skript je v alternatives veden v auto
režimu a při upgradech appliance je samovolně přepínán při instalaci novější verze balíčku.
V budoucnosti bude v režimu manual
a bude přepínán upgradovacím nástrojem.
Šablony
Skript pro některé akce používá šablonovací systém Jinja2. Šablony jsou součástí RPM balíčku. V procesu vývoje jsou šablony součástí Git repozitáře balíčku a verzují se spolu s ním.
Skript je, bez ohledu na to jak je spuštěn, vždy schopen najít fyzickou cestu (bez ohledu na symbolické linky) do adresáře, kde je umístěn. To je důležité právě pro nalezení správných šablon.
-
Nalezení fyzické cesty ke skriptu. Proměnné
this_script_path
athis_script_dir
je možné používat v celém těle skriptu.
this_script_path = os.path.realpath(__file__) this_script_dir = os.path.dirname(this_script_path)
Závislosti
Softwarové závislosti skriptu jsou vedeny jako závislosti RPM balíčku a jsou automaticky instalovány balíčkovacím systémem.
Build
Vzhledem k tomu, že jde o Python skript, nedochází ke "klasickému" buildu ze zdrojových kódů.
V rámci sestavení jsou skript, šablony a "metadata" zabaleny do RPM balíčku, definice je uložena ve .spec
file v Gitu, stejně jako sestavovací skript pkg
.
Build je prováděn pomocí infrastruktury popsané v Appliance Infrastructure dokumentaci.