Kjøretiden
workerd (JS/TS, standard): appen er en ES-modul med en
fetch-handler og starter på millisekunder. Semantikken fryses
av compatibility_date — oppførselen endrer seg aldri under deg.
nodejs_compat-flagget gir node:-API-er, inkludert
TCP mot databasen. 128 MB minne som standard, 30 sekunder request-timeout,
ingen lokal disk — varige filer hører hjemme i bøtta, varig tilstand i
databasen.
Container: din egen Dockerfile når du trenger Python, Go
eller et bestemt bibliotek. Appen lytter på en port (standard 3000), får en
helsesjekk ved oppstart, og 0,5 vCPU / 512 MiB (stor: 1 vCPU / 1 GiB).
Imaget bygges av plattformen fra repoet ditt på git.nysky.no — hele
byggeveien er i Norge. release_command kjøres isolert før
trafikk flyttes, til migrasjoner.
Begge kjøretidene skalerer til flere parallelle instanser under last
([scaling].max_replicas, standard 4). For container er mer enn
én instans en erklæring om at appen er statsløs.
Tre typer lagring
- PostgreSQL — én database per
[[datastores]]-oppføring, provisjonert automatisk. Row-Level Security kan slås på (og håndheves reelt medrls = "enforced", som skiller kjøretidsrollen fra eierrollen). Utvidelser som pgcrypto er tilgjengelige. - Nøkkel/verdi —
[[kv]]gir et eget lite lager med ferdig tabell (k,v jsonb,expires_at) for ting som skal huskes kort. - Filer —
[[buckets]]gir S3-kompatibel objektlagring (SigV4); alle S3-klienter og -biblioteker virker som de pleier.
Alt lagres og sikkerhetskopieres daglig i Norge. Kapasiteten følger
nivået (se kvotene på prissiden); bruk måles per app,
men prises ikke separat i dag. Appens konsollogg krypteres til en nøkkel
bare kontoen din har, og leses med nysky logs.
Hva som teknisk skiller nivåene
Nivået endrer aldri API-et eller manifestet — samme app kan flyttes mellom nivåer uten kodeendring. Det som faktisk varierer:
- Våkenhet: gratis-appen skaleres ned mellom bruk og vekkes automatisk på noen sekunder ved neste forespørsel (forespørselen holdes og besvares — ingen feil hos brukeren). Betalte apper står alltid klare.
- Innlogging: på gratis, Personlig og Gruppe legger plattformen nysky ID-innlogging foran appen;
gate_stieravgrenser hvilke stier, men gaten kan ikke skrus av. På Fri er den valgfri. Tom delingsliste = kun kontoens utviklere, på alle nivåer. - Faste jobber: tettest hver time på Personlig/Gruppe, fri frekvens på Fri og Container. Inntil 4 per app; gratis har ingen.
- Kapasitet: på Fri stor og Container er kapasiteten appens egen — ingen naboer å dele kraft med, mer CPU og minne, og trafikk ut over kvoten trekkes i stedet for å strupes.
- Kvoter: database, fillagring og trafikk vokser med nivået — tallene står i priser.json.
Nett, identitet og headere
- Utgående nett er stengt som standard.
egress-listen åpner navngitte vertsnavn over HTTPS. Egne datastores og bøtter nås alltid. - App-til-app:
[[kall]]åpner intern vei til en annen app på samme konto og girKALL_<APP>_URL. Kall krysser aldri kontogrenser. - Bak gaten: hver forespørsel bærer
X-Nysky-Auth-User(e-post) ogX-Nysky-Auth-Sub(stabil id). Bruk sub som brukernøkkel — e-post kan endres. - Faste jobber: kallet bærer
X-Nysky-Cron-Key; sammenlign med appensNYSKY_CRON_KEY-binding før du gjør jobben. - Sti-adresser: nås appen via en bedriftskontos sti-adresse, strippes prefikset før appen ser forespørselen, og appen får det i
X-Nysky-Base-Path. Apper med egen kapasitet rutes direkte og får ikke headeren — bruk relative lenker, eller den flate adressen. - Ingress-atferd styres i manifestet: kropp-størrelse, timeout og SSE (
[http]).
Leveransekjeden
- Deploy er deterministisk og idempotent: samme kilde gir samme bundle, og en deploy uten endringer er en no-op.
nysky planviser diffen først. - Push-to-deploy: koble repoet med
nysky git deploy enable, så ruller hver push til grenen ut appen. - Previews: hver pull request kan få sin egen kjørende utgave på egen adresse, med syntetiske testdata — aldri produksjonsdata eller produksjons-secrets.
- Plattform-CI:
[ci]+nysky ci runkjører testene dine i plattformens byggemiljø (node 22, corepack) — ingen egen runner. - Planlagt deploy: promotér et ferdig bygg på et tidspunkt, med automatisk tilbakerulling hvis verifiseringen feiler.
Rammene her er kontrakt — det interne maskineriet kan byttes uten at de endres.
Samme app kan flyttes mellom nivåer uten kodeendring.
Utgående nett er stengt til appen selv åpner det.