Sezione Squadra
Il posto da cui la squadra prende il proprio ambiente. Invece di passarsi un file in chat — che è quello che fa condividere uno scenario — lo scenario vive in un catalogo e ciascuno lo adotta quando gli serve.
La sezione compare solo se c’è un catalogo configurato. Se non vedi «Squadra» nella
barra laterale non ti manca nulla nell’installazione: questo progetto non ha catalogo, e
si configura in aseptic.project.yml.
Che cosa si vede
Sezione intitolata “Che cosa si vede”L’elenco di ciò che la squadra condivide. Selezionando una voce, il dettaglio risponde alle due domande che ci si fa prima di adottare qualsiasi cosa:
- Che cosa porta — quanti servizi, quanti mock e quante impostazioni di avvio. Se porta solo la definizione dello scenario, lo dice anche.
- Che cosa manca qui — ciò di cui questo scenario ha bisogno e che la tua macchina non
ha ancora: una connessione di base dati a cui il pacchetto fa riferimento, una
credenziale senza valore, un servizio che il tuo
docker-compose.ymlnon dichiara, un repository che non è nel tuo spazio di lavoro, o un micro registrato su un altro ramo.
Quel secondo elenco è la ragione per cui il dettaglio esiste. Adottare alla cieca e scoprire il buco quando lo scenario non parte è esattamente il tempo che questo risparmia.
Adottare
Sezione intitolata “Adottare”Adotta porta dentro lo scenario e lo riconcilia con il tuo catalogo senza sovrascriverlo: è lo stesso percorso dell’import di un file, con le stesse politiche di conflitto.
Quando manca qualcosa, il dettaglio lo dice con il rimedio accanto: quale credenziale definire, quale repository resta da clonare, su quale ramo è stato registrato ogni servizio. E se preferisci sistemarlo dopo, puoi adottare lo stesso: lo scenario finisce nel tuo catalogo e non partirà finché il buco non è coperto, il che è meglio che non poterlo portare affatto.
Se il team lo cambia
Sezione intitolata “Se il team lo cambia”Adottare lascia un filo: lo scenario resta annotato con la voce da cui proviene e con la versione esatta che è stata portata. È questo che permette all’applicazione di dire poi qualcosa che prima non poteva dire: questo non è più ciò che condivide il team.
Nell’elenco, ogni voce porta il suo stato:
- Aggiornato — ciò che c’è qui è ciò che pubblica il team.
- È cambiato — qualcuno l’ha ripubblicato dopo che era stato adottato.
- (senza contrassegno) — non è ancora stato portato su questa macchina.
Le voci senza contrassegno sono la maggioranza in un catalogo grande, ed è per questo che non ne portano nessuno: se fosse contrassegnato tutto, l’unico contrassegno che chiede qualcosa si perderebbe fra gli altri.
Aprendo una voce già adottata, il dettaglio aggiunge Cosa cambia: quali servizi differiscono da quelli presenti qui e in quali campi concreti. E il pulsante passa da Adotta a Aggiorna, perché è ciò che fa: riscrive lo scenario che c’è già, non lascia una copia accanto. Adottare tre volte non produce più «Pagamenti QA», «Pagamenti QA (2)» e «Pagamenti QA (3)».
Ciò che si confronta è il contenuto, quindi ripubblicare la stessa cosa non conta come cambiamento. Un avviso che scatta senza che nessuno abbia toccato nulla smette presto di essere letto, e con lui quello che conta davvero.
Se qualcuno ritira una voce dal catalogo, lo scenario che ne è uscito continua a funzionare qui — ma la sezione lo dice in alto, invece di lasciarlo sparire in silenzio: dietro non c’è più nessuno che lo aggiornerà.
Pubblicare
Sezione intitolata “Pubblicare”Pubblica uno scenario… lo mette a disposizione di tutta la squadra, con una riga che spieghi a che cosa serve. Ci si arriva dall’intestazione della sezione, o dallo scenario stesso con Condividere con il team… nel suo menu. Quella riga è ciò che vedrà chi lo trova nell’elenco, quindi vale la pena scriverla.
Il tuo strato di avvio locale non viaggia. I flag e le variabili con cui tu tiri su un micro sono della tua macchina e non devono per forza valere su quella di un altro; quel che si pubblica sono lo scenario, i suoi manifesti e i suoi mock.
Ritirare una voce la toglie dal catalogo di tutta la squadra, non solo dal tuo. Per questo chiede conferma: non stai cancellando qualcosa di tuo.
La chiave della squadra
Sezione intitolata “La chiave della squadra”Quando il catalogo è ospitato, è cifrato end-to-end: quello che il server conserva sono blocchi che il server non può aprire. La chiave è della squadra e non esce dalle sue macchine.
Non serve copiarla a mano. Ogni macchina dell’organizzazione la riceve da sola: chi la ha già la lascia cifrata per quelle che non ce l’hanno, e il servizio distribuisce solo quella busta, che nemmeno lui può aprire. La prima persona dell’organizzazione la crea senza fare nulla; chi arriva dopo la riceve appena qualcuno del team che la possiede già apre Aseptic. Impostazioni → Team dice a che punto si è.
Nessuno deve generarla né incollarla. L’unica cosa offerta è Copiare, che la mette negli appunti senza mostrarla, come backup nel caso andassero perse tutte le macchine del team.
Conviene leggere l’avviso accanto al pulsante e crederci: se il team perde la chiave, il catalogo non si recupera. Non esiste un «ripristina», perché nessun altro ce l’ha. Con la condivisione automatica basta che una macchina del team la conservi; comunque, il suo posto è dove il team custodisce gli altri segreti.
Un catalogo servito via Git non ha bisogno di chiave: lì il controllo d’accesso è quello del repository stesso.
La stessa cosa dal terminale
Sezione intitolata “La stessa cosa dal terminale”Tutto questo esiste anche nella CLI, ed è ciò che permette di montare l’ambiente in un job di integrazione continua o sulla macchina di chi è appena arrivato:
aseptic team list # che cosa condivide la squadraaseptic team status # è ancora quello che condivide il team?aseptic team adopt pagos-qa --apply # portalo e adottalo quiaseptic start "Pagos QA"Senza --apply, adopt mostra solo il piano e che cosa manca su questa macchina — lo
stesso elenco del dettaglio della sezione. Dettaglio completo in Comandi della
CLI.
Che cosa non è
Sezione intitolata “Che cosa non è”Non è un posto dove tenere il codice dei tuoi micro: i repo restano repo. Quel che si
condivide è come si combinano — quali micro, in quale modalità, con quali mock e quali
dipendenze risolte —, che è precisamente ciò che non sta in un README e finisce per
tramandarsi a voce.