Programování

Registr kontejnerů Harbor vyměnil ve verzi 2.15.2 Redis za Valkey

Harbor, rozšířený open source registr kontejnerů z nadace CNCF, od začátku stál na Redisu jako rychlé vnitřní úložiště. Ve verzi 2.15.2 ho vyměnil za Valkey, fork Redisu pod hlavičkou Linux Foundation. Protokol zůstal stejný, takže migrace se obešla skoro bez zásahu do kódu; hlavním důvodem nebyla rychlost, ale licence a správa projektu.

· 4 zhlédnutí

Kontejnerový terminál s jeřáby a stohy lodních kontejnerů u vody
Kontejnerový terminál v přístavu Red Hook v New Yorku. Registr Harbor spravuje obrazy kontejnerů, ne ty ocelové. Foto: King of Hearts, Wikimedia Commons (CC BY-SA 4.0)

Harbor je open source registr kontejnerů – místo, kam si organizace ukládají obrazy kontejnerů, balíčky Helm, artefakty OCI i modely pro strojové učení. Patří k nejrozšířenějším řešením mezi těmi, kdo si registr provozují sami, a v nadaci CNCF má status graduovaného projektu, tedy nejvyšší stupeň zralosti. Od začátku k němu patřil ještě jeden kus techniky, o kterém se moc nemluví: Redis. Ve verzi 2.15.2 ho Harbor vyměnil za Valkey.

K čemu je registru rychlé úložiště

Harbor není prostý souborový server. Při každém nahrání nebo stažení obrazu odbavuje několik věcí zároveň a část z nich by hlavní databázi zbytečně zatěžovala. Proto k sobě od začátku měl Redis, rychlé úložiště, které data drží v paměti. Podle týmu Harboru na něm stojí čtyři věci:

  • přihlašovací sezení uživatelů,
  • vyrovnávací paměť manifestů, aby se popis obrazu (OCI manifest) při stažení nemusel pokaždé číst z databáze,
  • fronta úloh na běh na pozadí – kontroly zranitelností, úklid nepoužitých dat a replikace mezi registry,
  • počítadlo kvót, které hlídá, kolik obrazů se do jednoho projektu nahrává naráz.

Po výměně dělá Valkey přesně totéž. Uživatel ani provozovatel na sobě změnu nepozná, protože obě úložiště mluví stejným jazykem.

Co se stalo ve verzi 2.15.2

Tým Harboru otevřel návrh #22935 v březnu 2026 s jednoduchým zadáním: nahradit Redis Valkeyem ve všech místech, kde ho registr používá, a zařídit hladký přechod. Vlastní změnu přinesl pull request #23157, který se do hlavní větve dostal 28. dubna. K uživatelům ji tým poslal později, přenesením do opravného vydání: v poznámkách k verzi 2.15.2 je vedená jako přenesený commit „replace redis with valkey as cache backend“.

Technicky šlo o výměnu obrazu vnitřní cache. Harbor nově staví na obrazu valkey-photon, tedy Valkey postaveném nad distribucí Photon OS, ze které skládá i ostatní své součásti.

Proč pryč od Redisu

Důvod tým shrnul stroze: Redis v posledních letech opakovaně měnil licenci, a to je pro projekt, který na něm závisí, riziko. Redis si tou licenční houpačkou vážně prošel. V roce 2024 opustil svou původní licenci BSD a přešel na dvojici zdrojově dostupných licencí SSPL a RSAL, které Open Source Initiative za svobodné neuznává. Právě tehdy vznikl Valkey jako fork spravovaný nadací Linux Foundation. V květnu 2025 se Redis vrátil k otevřené licenci, když k osmé verzi přidal jako možnost AGPLv3, kterou už OSI schvaluje. Vývoj Redisu se od té doby nezastavil – v řadě 8 přišel třeba úspornější způsob ukládání hašů.

Přesto Harbor zvolil Valkey. Za rozhodnutím je podle týmu souběh několika věcí: permisivní licence BSD 3-Clause klade na uživatele méně omezení než copyleftová AGPL, projekt vede Linux Foundation s předvídatelným cyklem vydání a Valkey je zpětně kompatibilní na úrovni protokolu. Používá totiž stejný protokol RESP jako Redis, takže Harbor nemusel v kódu, který s úložištěm mluví, přepsat ani řádek; upravily se jen šablony obrazů.

O rychlost přitom nešlo. Valkey se sice chlubí tím, že se od svého základu ve verzi 7.2 zrychlil – jeho autoři uvádějí u verze 9.1 až dva miliony požadavků za sekundu ve vlastních měřeních, tedy víc než dvojnásobek –, jenže to je číslo výrobce a Harbor ho jako důvod přechodu neuvádí. Rozhodla licence a způsob správy, ne benchmark.

Přechod zatím není úplný

Jedna věc kulhá: oficiální šablona Helm, kterou většina lidí Harbor instaluje, se zatím neupravila a pořád jako výchozí stahuje obraz Redisu. Kdo chce Harbor s Valkeyem hned, musí obraz vnitřní cache přepsat ručně. V praxi to jsou dva parametry navíc při instalaci:

helm install harbor harbor/harbor \
  --set redis.internal.image.repository=goharbor/valkey-photon \
  --set redis.internal.image.tag=v2.15.2

První parametr říká šabloně, ať místo Redisu vezme obraz valkey-photon z Docker Hubu, druhý určuje jeho verzi. Až se výchozí hodnota v šabloně změní, odpadne i tohle.

Co z toho plyne

Výměna je z pohledu uživatele nenápadná a právě to je na ní podstatné: díky společnému protokolu šla provést, aniž by se venku cokoli pohnulo. Zapadá do širšího obrázku – Valkey dnes nabízejí jako spravovanou službu Amazon, Google i menší poskytovatelé a Harbor je jen jedním z větších projektů, které k němu od Redisu přešly. Kdo registr provozuje, si zatím vystačí se dvěma parametry navíc; zbytek se stane sám, až se doladí šablona.

Zdroje

Programování

ValkeyRedisHarborOpen sourceKontejnery

Diskuse

Zatím tu nikdo nediskutuje.

Diskutovat mohou přihlášení čtenáři – přihlaste se nebo si založte účet.

← zpět na výpis