NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky

Open source

Kubernetes API for Laravel

Inštalácia
composer require roundly-consulting/kubernetes-api-for-laravel
Vyžaduje: PHP ^8.4 · Laravel ^12.0|^13.0

Prehľ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 kryptomien

Odoslaní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.