Open source
Kubernetes API for Laravel
composer require roundly-consulting/kubernetes-api-for-laravelPrehľad
Plynulý klient pre Kubernetes API v štýle Eloquentu pre Laravel. S jedným aj viacerými klastrami komunikujete cez vlastného HTTP klienta Laravelu — vypisujete, vytvárate, patchujete, škálujete a reštartujete workloady, streamujete logy podov, spúšťate príkazy v kontajneroch a sledujete zmeny zdrojov — s 33 vstavanými typmi zdrojov, CRD Traefiku aj vlastnými zdrojmi. Všetko začína pri fasáde Kubernetes — alebo pri injektovanom KubernetesManager — každá požiadavka sa dávkuje pre konkrétny klaster a v testoch apiserver nahradí Kubernetes::fake() verziou v pamäti. Licencia MIT a minimum závislostí: okrem Laravelu stačí symfony/yaml a tri malé balíky Roundly.
Čo získate
Zdroje v štýle Eloquentu
Plynulé get, find, create, update, updateOrCreate, patch a delete nad 33 typovanými zdrojmi, so selektormi a stránkovaním cez continue token.
Jedna fasáda, viac klastrov
Kubernetes::cluster('production') alebo injektovaný KubernetesManager. Klastre z konfigurácie, kódu, kubeconfigu či podu — a nemenné.
Prevádzkové operácie
Škálovanie, rollout restart, štyri stratégie patchovania a dry-run overený apiserverom — každé jedným volaním.
Logy, exec a watch
Načítajte alebo streamujte logy podov, spúšťajte príkazy v kontajneri cez WebSocket a sledujte zmeny zdrojov v reálnom čase.
Apiserver v pamäti pre testy
Kubernetes::fake() odpovedá na každú požiadavku a zaznamená ju — naplňte objekty a overte, čo sa vytvorilo, škálovalo, reštartovalo či zmazalo.
Limity požiadaviek pre každý klaster
Predvolene 400 požiadaviek za minútu na klaster — nad limit sa čaká, nič nepadá — a 429 Retry-After od apiservera sa rešpektuje.
Traefik aj vlastné CRD
IngressRoute, Middleware, TLSStore, ServersTransport a TLSOption v základe; vlastné zdroje zaregistrujete jedným riadkom.
Dokumentácia
Inštalácia
Inštalácia cez Composer, voliteľné publikovanie config/kubernetes.php a automatická registrácia providera aj fasády Kubernetes.
Konfigurácia
Každý kľúč config/kubernetes.php s env premennou a predvolenou hodnotou — klastre, voľby HTTP klienta, limity, skupina Traefiku a mapa zdrojov.
Fasáda Kubernetes
Celá fasáda Kubernetes: skratky pre predvolený klaster, pomenované a ad-hoc klastre, objekt Cluster, priame požiadavky a 33 prístupov k zdrojom.
DI a akcie
Injektujte KubernetesManager a získate presne API fasády bez statických volaní, alebo naviažte objekty zdrojov na spravovaný klaster — akcie balík nemá.
Pripojenie ku klastru
Nemenného klienta zostavíte ručne s URL, tokenom a certifikátmi, z kontextu kubeconfigu, zo service accountu podu alebo z objektu KubeConfig.
Pomenované klastre
Klastre nastavíte v config/kubernetes.php alebo zaregistrujete v kóde a potom ich získate kdekoľvek podľa mena — cez fasádu či dependency injection.
Prístup k zdrojom
33 typovaných prístupov — pody, deploymenty, služby, RBAC, úložisko, Traefik a ďalšie — ich kind, verzia API a rozsah, plus obmedzenie na namespace.
CRUD operácie
Výpis, vyhľadanie, kontrola existencie, vytvorenie, úprava, updateOrCreate a mazanie zdrojov — s optimistickou súbežnosťou a voľbami mazania.
Výpisy, stránkovanie a watch
Selektory podľa labelov a polí, výpisy naprieč namespace, stránkovanie cez continue token, lenivá iterácia a sledovanie zmien v reálnom čase.
Patch, scale, rollout a dry-run
Štyri stratégie patchovania, škálovanie cez subresource /scale, rollout restart ako v kubectl a dry-run overený apiserverom.
Logy podov, exec a stav
Načítajte alebo streamujte logy podov cez PodLogOptions, spúšťajte príkazy v kontajneri cez WebSocket a čítajte stav podov a kontajnerov.
Atribúty, labely a anotácie
Prístup k atribútom cez bodkové cesty, pomocníci pre spec a status, labely, anotácie, magické metódy, sledovanie zmien a serializácia.
Skladanie zdrojov z typových objektov
Pody a služby skladáte z typových objektov Container, Port, Probe, Volume, VolumeMount a šablón claimov namiesto surových polí.
Workloady
Deploymenty, stateful sety, daemon sety, replica sety, joby, cron joby a autoscalery — typované settery a čitateľní pomocníci pre stav.
ConfigMapy, secrety a sieť
Pomocníci pre dáta ConfigMap a Secret, TLS secrety jedným volaním, služby, ingressy a sieťové politiky so správnymi selektormi „vyber všetko“.
Úložisko, RBAC a klastrové objekty
Namespace, nody, udalosti, endpointy, zväzky a claimy, storage classy, roly a väzby, service accounty, kvóty a limit ranges.
CRD Traefiku
Zdroje IngressRoute, Middleware, TLSStore, ServersTransport a TLSOption s pevne určenými REST plurálmi a konfigurovateľnou API skupinou.
Vlastné zdroje a makrá
Zaregistrujte vlastné CRD, nahraďte vstavaný zdroj vlastnou podtriedou a rozšírte klienta aj zdroje o makrá a podmienené volania.
Obmedzenie požiadaviek
Každá požiadavka na apiserver sa dávkuje pre klaster — predvolene 400 za minútu, s ohľadom na 429 Retry-After a voliteľným stropom čakania.
Spracovanie chýb
Typované výnimky pre chyby apiservera, neznáme či zle nastavené klastre, únik z namespace, strop čakania na limit, kubeconfig a exec.
Artisan a diagnostika
Overte spojenie príkazom kubernetes:ping a v php artisan about skontrolujte predvolený klaster, limity, počet zdrojov a skupinu Traefiku.
Testovanie
Kubernetes::fake() nahradí apiserver verziou v pamäti — naplňte objekty, nasimulujte logy a exec a overte vytvorenie, úpravy, škálovanie či zmazanie.
Požiadavky
PHP 8.4+, Laravel 12 alebo 13 a symfony/yaml — plus tri malé balíky Roundly, ktoré sa nainštalujú automaticky.
Prejavte lásku k open source
Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.
Ďalšie spôsoby podpory vrátane kryptomienOdoslaním daru súhlasíte s našimi podmienkami prijímania darov.
Chcete to zabudovať do svojho produktu?
Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.