KERYN fleet · previzualizarepreview

ReferințăReference

Cum funcționeazăHow it works

Keryn este un compilator și un executant: compilează keryn.yaml în obiecte Kubernetes deterministe și le aplică prin SSH, doar cu aprobare.

Keryn is a compiler and an executor: it compiles keryn.yaml into deterministic Kubernetes objects and applies them over SSH, only with approval.

StraturiLayers

StratComponentă
Specificațiekeryn.yaml, validat și normalizat
Generareobiecte Kubernetes deterministe, cu amprentă
ExecuțieSSH către gazde; aplicare pe server cu simulare prealabilă
Grupk3s, Traefik, cert-manager, WireGuard opțional
LayerComponent
Speckeryn.yaml, validated and normalised
Renderingdeterministic Kubernetes objects, with a digest
ExecutionSSH to hosts; server-side apply with a prior dry run
Clusterk3s, Traefik, cert-manager, optional WireGuard

Obiectele generateGenerated objects

ObiectCândRol
Namespacemereuspațiu de nume cu Pod Security restricted
NetworkPolicymereurefuz implicit, plus excepții: același spațiu de nume, controlerul de intrare, emiterea certificatelor
Deploymentaplicație permanentăreplici întărite, răspândite pe gazde
Serviceaplicație cu portadresă internă stabilă
PodDisruptionBudgetreplici > 1minimum o replică activă
IngressdomeniiHTTPS prin Traefik și cert-manager
PersistentVolumeClaimvolumedisc persistent
CronJobscheduleexecuție periodică
ClusterIssuertls.emailemitenți Let’s Encrypt de producție și de probă
ObjectWhenRole
Namespacealwaysnamespace with Pod Security restricted
NetworkPolicyalwaysdefault deny, plus exceptions: same namespace, ingress controller, certificate issuance
Deploymentlong-running apphardened replicas, spread across hosts
Serviceapp with a portstable internal address
PodDisruptionBudgetreplicas > 1at least one replica running
IngressdomainsHTTPS via Traefik and cert-manager
PersistentVolumeClaimvolumespersistent disk
CronJobscheduleperiodic execution
ClusterIssuertls.emailLet’s Encrypt production and staging issuers

AplicareaApplying

  1. Manifestul este încărcat pe server.
  2. Se asigură spațiul de nume, apoi se rulează o simulare pe serverul Kubernetes.
  3. Doar dacă simularea trece, obiectele se aplică efectiv.
  4. Keryn așteaptă finalizarea fiecărei actualizări și raportează rezultatul.
  1. The manifest is uploaded to the server.
  2. The namespace is ensured, then a dry run runs on the Kubernetes server.
  3. Only if the dry run passes are the objects actually applied.
  4. Keryn waits for each rollout to finish and reports the result.

EticheteLabels

Toate obiectele poartă app.kubernetes.io/managed-by: keryn-fleet și keryn.ma11ai.com/project, ca să poată fi găsite și auditate.

Every object carries app.kubernetes.io/managed-by: keryn-fleet and keryn.ma11ai.com/project, so it can be found and audited.