Hvad er nyt
Ændringer på platformen, nyeste først. Versionsnumrene følger CLI'en — server-binæren udgives sammen med den.
November 2026 — v0.3.51
Watt og CO₂ per container
nordkraft energy viser hvad dine containere trækker lige nu, og kWh og gram CO₂ over det vindue du vælger. nordkraft ps får en Power:-linje. Noden måles ved stikkontakten; hver container får sin andel af målingen, fordelt efter reserveret vCPU og brugt CPU-tid, og CLI'en siger hver gang at det er en fordeling. CO₂ bruger Energinets 5-minutters tal for DK1/DK2. Måleren læses af en lille daemon, nordkraft-meterd (Shelly over Bluetooth eller LAN, NETIO PDU'er), og mangler en måling, mangler minuttet i stedet for at blive gættet. Se guiden.
Oktober 2026 — v0.3.45
start med ?wait=true
Samme kontrakt som deploy: svaret kommer først når runtime melder containeren Up, så en exec lige efter virker. Uden flaget er start som før (fire-and-forget over NATS). Fundet da Mastra- provideren genstartede en sandbox som auto_stop havde stoppet, og den første kommando ramte Kata-shim'en før containeren var registreret. Provideren bruger nu start?wait=true og en readiness-probe (exec true) før den melder sandboxen klar.
Fejl fra runtime ser ud som fra en shell
En kommando der ikke findes gav containerd's fulde fejl med Go-backtrace i stderr og WARN i noden's journal. Nu: sh: x: not found, exit 127 (126 ved permission denied), og kun debug i loggen.
Oktober 2026 — v0.3.44
exec holder sin timeout — også på tværs af noder
En exec mod en container på en anden node end controlleren ignorerede timeout_s; sleep 10 med timeout 2 kørte alle 10 sekunder. Rettet, og e2e-testen kører nu også relæ-vejen.
deploy med "wait": true
Svarer først når containeren kører og exec virker. Uden flaget er deploy som før: svar med det samme, hent status med nordkraft list. Fundet med den første Mastra-provider mod garagen.
Oktober 2026 — v0.3.43
Shell og exec i dine containere
nordkraft shell myapp giver dig en rigtig terminal i containeren, nordkraft exec myapp -- cmd kører én kommando og afslutter med dens exit-kode. Begge er bygget som kubectl exec: én strøm over WireGuard, som controlleren sender uændret videre til den node containeren kører på, og som noden kobler direkte på containerd. Ingen ekstra login — netværket er adgangskontrollen. Virker ens for Kata og runc.
Til scripts og orkestratorer findes det samme som POST /containers/{id}/exec (bufferet, med cwd, env, stdin, timeout_s) og som WebSocket på /containers/{id}/stream.
Livscyklus i spec'en
En container kan nu rydde op efter sig selv. I .nk-spec'en eller som flag på deploy:
[lifecycle]
restart = "never" # always | unless-stopped | on-failure | never
auto_stop = "15m" # stop efter 15 min uden shell/exec-aktivitet
auto_delete = "1h" # slet 1 time efter stop
max_lifetime = "24h" # stop senest 24 timer efter oprettelse
[labels]
workspace = "ws-42"
nordkraft list --label workspace=ws-42 finder dem igen, og nordkraft wait myjob venter på at et job bliver færdigt og giver dig dets exit-kode. Se Sandboxes.
Til dig der bygger selv: protobuf-compiler er nu en build-afhængighed (containerd's gRPC-bindings).
Oktober 2026 — v0.3.42
Privat registry med adgangskode
nordkraft registry init opretter nu et registry der kræver brugernavn og adgangskode. CLI'en genererer dem, gemmer dem i ~/.nordkraft/registry.json og bruger dem selv ved push og deploy registry://…. Når platformen henter et image fra dit registry, sker det med dine credentials og kun dem — intet andet registry får dem præsenteret.
Har du et registry fra før? Det er stadig åbent og virker som hidtil. Vil du have det beskyttet: nordkraft registry destroy, nordkraft registry init, og push dine images igen.
Hvor må et image komme fra?
Et deploy accepterer nu kun images fra dit eget registry (registry://) eller fra offentlige registries angivet med hostnavn. IP-adresser uden for dit eget container-subnet afvises, før noget bliver rørt. Platformen henter dermed kun images på dine vegne fra steder du selv råder over.
September 2026 — v0.3.41
Brug dit eget domæne
Peg dit eget domæne direkte på en container. Du opretter to DNS-records hos din udbyder — resten sker automatisk: ejerskabet bekræftes mod domænets autoritative navneservere, et rigtigt Let's Encrypt-certifikat udstedes og fornys af sig selv, http:// omdirigeres til https://, og platformen holder løbende øje med at routing og certifikat er som de skal være.
nordkraft domain add mitfirma.dk --container myapp
nordkraft domain status mitfirma.dk # følg med: pending_dns → … → active
Domænet matches præcist (aldrig wildcards), intet routes før ejerskabet er bevist, og holder domænet op med at pege på platformen, ryddes der automatisk op. Typisk live 5–30 minutter efter dine DNS-records er oprettet.
Ny guide: Custom domæner & HTTPS. Første domæne i drift: garagecloud.dk — som selvfølgelig selv kører på platformen.
September 2026 — v0.3.38 → v0.3.40
Genskab din opsætning fra serveren
Controller'en gemmer den config hver container blev deployet med. --from-server bygger din .nk spec ud fra den i stedet for fra den kørende container — det giver den nøjagtige konfiguration, inklusive volume_size som ikke kan aflæses fra runtime, og specen beholder serverens revisionsnummer.
Ny guide: Ny maskine / mistet config — hvad der ligger i ~/.nordkraft, hvad der kan genskabes hvorfra, og hvordan du kommer tilbage efter et maskinskifte.
Rigtige ressourcegrænser
nordkraft init skrev tidligere standardværdier (0.5 cpu / 512m) når den ikke kunne aflæse containerens faktiske grænser. Nu læses de dér hvor runtime rent faktisk håndhæver dem — og kan de ikke læses, siger CLI'en det i stedet for at gætte.
Installation og opdatering
- Installationsscriptet virker nu på en ny Apple Silicon Mac, hvor
/usr/local/binikke findes i forvejen nordkraft connectognordkraft disconnectvirker uanset hvordan din PATH er sat opnordkraft updatehenter fra det rigtige repository
Dokumentation
Dokumentationen er flyttet ind i samme repository som koden, otte kommandoer der aldrig havde været dokumenteret er kommet med (alias, registry, push, setup, connect, disconnect, reset, update), og et par forkerte adresser i fejlfindingen er rettet.
Juli 2026
Sikkerhedsopdatering i controller'en.
April 2026 — v0.3.33 → v0.3.37
Deklarative deployments
Dine containere kan nu beskrives i en .nk spec, som du redigerer og anvender fra CLI'en:
nordkraft init web
nordkraft spec-set web resources.memory 1g
nordkraft diff web
nordkraft upgrade web
upgrade bevarer IP og volumes — containeren genstarter med den nye konfiguration i stedet for at blive deployet forfra.
Privat registry
registry:// resolver nu til dit eget private image-registry, så dine egne images kan bruges direkte i et deploy uden at gå omvejen om en offentlig registry.
Stabilitet
- Deployments der fejler, bliver vist med årsagen i stedet for at forsvinde fra listen
- Logs fra agenten er tilgængelige mens et deployment kører
- Rettet en race condition i deployment-flowet
Marts 2026
Platformen blev open source. CLI og controller/agent samlet i ét repository, og routing bliver nu forligt med databasen ved opstart, så ruter overlever en genstart af controller'en.
Februar 2026
Mark I-testen afsluttet: zero-trust authentication med WireGuard, Kata VM-isolation, dual-stack IPv4/IPv6, persistent storage, HTTPS ingress og multi-node orkestrering via NATS.