Abans que un charm de Juju es converteixi en la teva VPN: identitat, contracte, ports
Cinc passos separen el que un charm lliura de veritat del que suposes: fixa la revisió, llegeix la configuració i després tracta l’exposició com una acció de tallafoc.
Algú troba un charm que diu que executa una VPN, el desplega, exposa l’aplicació i espera que un client es connecti. El desplegament funciona, el port s’obre i el túnel continua sense funcionar, perquè tres promeses no relacionades es van fonde en una. Un charm és una implementació de desplegament amb un contracte concret. Examina aquestes promeses per separat i les mancances apareixen abans del llançament en lloc de després.
Pas u: fixa l’artefacte del qual estàs llegint
Llegeix les metadades pròpies del candidat: publicador, repositori d’origen, canal, revisió, base i arquitectura. Després estableix qui manté el programari de VPN dins de la càrrega de treball i qui lliura les seves actualitzacions de seguretat, perquè sovint són dues parts diferents. Un upstream sense manteniment dins d’un charm ben mantingut és un problema de suport esperant una mala setmana.
juju info CHARM_NAME informa de canals, bases i arquitectures a Juju 3.6, i la documentació assenyala que una consulta de revisió concreta no es pot combinar amb aquests filtres. Consulta la revisió per separat en lloc de construir una combinació que l’ordre rebutja. Llegeix també la base i l’arquitectura, ja que un canal pot cobrir més d’una.
Anota la combinació exacta que has revisat al costat del desplegament. Aleshores una actualització que mou el canal és un canvi intencionat amb un abans i un després, no una sorpresa un dilluns.
Pas dos: llegeix la configuració com un contracte
Determina el paper que fa el charm: acabar l’accés remot, unir-se a una VPN existent o una cosa completament diferent. Després troba com documenta la inscripció de clients, els emissors de confiança, la rotació de credencials i la revocació. Aquests quatre decideixen si pots operar la cosa, i un fitxer de client generat és una sortida sensible en lloc d’un fitxer per a un tiquet.
Segueix les interfícies i accions que el charm exposa realment. No donis per fet que existeix una acció d’inscripció perquè un altre charm per al mateix programari en tingui una.
Pregunta què fa la reconciliació amb les edicions manuals. Si el charm sobreescriu un fitxer de configuració en la propera actualització, una correcció manual té una vida útil d’una sola actualització. Pregunta als mantenidors on està documentat aquest comportament i tracta el silenci com a desconeixement.
Pas tres: separa l’oient de la ruta reenviada
L’oient exterior és el sòcol que accepta el túnel. El reenviament és el que passa amb el trànsit a dins, i una ruta de retorn és el que permet que tornin les respostes. Un charm pot lliurar el primer i deixar els altres dos a l’equip d’infraestructura.
La sortida és una tercera peça. Si els clients del túnel han d’arribar a internet a través d’aquest host, hi ha d’haver un arranjament d’adreçament o traducció, i no es crea obrint un port. Assigna un responsable a aquesta peça abans que arribi el primer client.
Pas quatre: l’exposició és una acció de tallafoc
A Juju 3.6, exposar una aplicació ajusta les regles del tallafoc del núvol i, per defecte, permet el trànsit des de qualsevol origen cap als ports que la càrrega de treball ha obert. Els selectors d’endpoint i CIDR de l’ordre existeixen precisament perquè aquest valor per defecte es pugui acotar.
L’exposició no crea usuaris de VPN, no valida les seves credencials ni instal·la cap política de reenviament. Tampoc no demostra que la càrrega de treball estigui escoltant a l’adreça i el transport que esperes, i per això la prova posterior a l’exposició importa més que el missatge d’èxit. Comprova el sòcol en escolta a la unitat a més de la regla del núvol.
Pas cinc: accepta amb quatre proves
Després d’un desplegament aprovat, inscriu un client nou i confirma el servei privat previst. Després revoca aquesta identitat i confirma que l’accés acaba de veritat, en lloc que només es rebutgi el proper inici de sessió. Repeteix la comprovació des d’una xarxa que no controles i després des de dins de l’oficina, perquè aquests dos camins responen a preguntes diferents.
Acaba amb una actualització i una reconnexió, perquè és on interactuen la reconciliació, el maneig de credencials i els reinicis de servei. Si la documentació no pot explicar qui és propietari d’una d’aquestes operacions, anota-ho com una mancança d’adopció en lloc d’omplir-la amb una recepta sense manteniment darrere del mateix nom de charm. Una mancança anotada és una decisió; una mancança omplerta en silenci és una futura caiguda. Passa-la a qui sigui propietari de la decisió del servei, amb la data en què la vas trobar.