Automazione di processo
Stai automatizzando un processo di lunga durata dentro la tua organizzazione. Per andare in produzione, un'applicazione deve passare una security review: diversi dipartimenti eseguono ciascuno il proprio check, ognuno espone un endpoint API che si ribalta quando il suo check passa, e l'applicazione non può passare allo stage successivo finché il precedente non è verde. Vuoi che Crossplane guidi tutto — fa polling sugli endpoint, avanza tra gli stage, espone il progresso e segnala done.
Cosa stai costruendo
Un XR — chiamiamolo XSecurityReview (prefisso X per la convenzione di naming) — che rappresenta un'applicazione che attraversa il processo di review. Sotto, un insieme di DisposableRequest di provider-http fanno polling sull'endpoint di ogni dipartimento finché non ritorna la condizione attesa. La Composition fa avanzare la review stage dopo stage ed emette un singolo Ready=True quando ogni check è passato.
Passi suggeriti
- Definisci l'XRD
XSecurityReview. Un input nello spec (application ID), un campo di status per check, una phase complessiva. Il pattern da Definisci un'Application si traduce direttamente — stessa forma di XRD, kind composti diversi. - Installa provider-http. Il check di ogni dipartimento diventa una MR
DisposableRequest: GET sull'endpoint, parsa la risposta, riesce quando la condizione corrisponde. - Componi le
DisposableRequestdietro l'XRXSecurityReview. Ogni request legge la sua URL target dallo spec dell'XR; l'esito di ogni request atterra su un campo di status dedicato. - Esponi lo status multi-step con
function-status-transformer. Mappa la condition di ogni request composta su una condition significativa sull'XR (SecurityCheckPassed,LegalCheckPassed, ecc.) cosìkubectl describe xsecurityreviewsi legge come una checklist. - Deriva il readiness complessivo con
function-auto-ready. L'XR èReady=Truesolo una volta che ogniDisposableRequestcomposta è ready. - Guida la sequenza con le Crossplane Operations. Una
WatchOperationsull'XSecurityReviewfa avanzare lo stage quando il check precedente diventa verde; unaCronOperationri-polla i check bloccati a una cadenza.
Stretch goal
- Subordina un'azione downstream al passaggio della review. Componi una release di
Repositorydi provider-github che si riconcilia solo quando l'XSecurityReviewè Ready. - Valida la pipeline di Composition in locale con
renderdella CLI Crossplane prima di ogni modifica — molto più rapido di un round-trip attraverso il cluster. - Persisti un audit trail completo emettendo Event per stage dalla Composition;
kubectl eventspoi si legge come una timeline.