-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SPArator - CRD for SPA #235
Comments
I like this initiative because I do not believe that using github actions as an interface is a good idea, less github actions, less problem.
This is actually any content, like an MPA, that needs a URL, so there's maybe a distinction that can be made in the naming here. |
Godt poeng! Er nok mange dokumentasjonssider som kunne hatt nytte av dette, så de slapp å lage sine egne apper. |
Syns dette er en god idé, og jeg sitter igjen med noen spørsmål:
Helt uenig, kjempebra navn |
Hva med å stjele navnet til Github pages, Nais pages? |
Godt poeng. Er akkurat like rart :) Liker Nais pages. Men sliter litt med distinksjonen/konseptet, for om du laster opp en statisk webside uten spa-deploy i dag, og peker på den URLen du havner på så får du jo opp sida like fint. Så blir ikke da Nais pages akkurat det samme, bare med en litt finere URL? |
Er egentlig bare det som er distinksjonen, med Nais pages kan du få en egendefinert domene. |
jepp, så tenker derfor man kan argumentere for at dette bare er NAIS CDN sånn konseptuelt, men at vi gjør det mulig med en kjekkere URL. |
Beskrivelse / Essensen
I dag tilbyr vi deploy av SPA via en Github Action, for de få som bruker denne løsningen så funker det bra. Problemet er at den er hardkodet til NAV, og at det vil være tungvindt å skrive den om til å støtte andre tenants.
Det action gjør er å først opprette to k8s-ressurser på runneren (ingress og service), så laster den opp assets med cdn-upload, før den bruker nais/deploy for å deploye de to ressursene den opprettet.
For å opprette ingress-ressursen trenger den å vite hvilke adresser en tenant støtter, og hva ingressClassen her. Den har heller ikke støtte for root-domener da vi ikke ønsker at noen ved et uhell skal ta over nav.no. Dette skaper problemer for nais.io og leesah.io.
Hvis vi flytter SPA-biten ut til en egen enkel CRD, så kan vi la hver enkel operator avgjøre hvilke domener som er godkjent, og hvilke ingressClass de skal ha. Det blir også enklere å vedlikeholde en liste med ekstra domener. Ved å ha SPArator i clusteret vil vi automatisk ha validering på om et domene+path er tatt i bruk, som vil være en sikring av tjenesten vår.
Etterpå kan vi da fjerne den gamle actionen, og la brukerne bruke cdn-upload som vanlig, og nais/deploy med den nye crd-filen.
Investeringsvilje
2 uker
Mulig løsning i grove trekk
Ikke-mål
Eventuell annen relevant informasjon
Shapers
The text was updated successfully, but these errors were encountered: