Gestione dell'infrastruttura
Gestisci il team di piattaforma. Un nuovo team di sviluppo viene onboardato e ha bisogno della propria landing zone nel cloud — VPC, subnet, security group, le primitive di sempre. Vuoi un XR per team. Reviewabile in git, componibile e identico tra tutti i cloud che supporti.
Cosa stai costruendo
Un XR XLandingZone (prefisso X per la convenzione di naming) che prende un nome di team e una region. La Composition riconcilia le primitive di rete (VPC, subnet, security group) per quel team nel cloud di tua scelta, con default sensati cotti dentro. Aggiungere un nuovo team è un solo file YAML; cancellarne uno fa il rollback di tutto.
Passi suggeriti
- Leggi prima il Pattern di setup di un Provider. Ogni provider in questo journey segue la stessa forma in tre passi — install, ProviderConfig, MR — e ne caberai almeno uno.
ClusterProviderConfigvsProviderConfigper-team è il punto decisionale che conta. - Scegli un cloud e percorri una MR bucket end to end: provider-aws, provider-gcp o provider-azure. Il bucket è usa-e-getta — le credenziali e il
ClusterProviderConfigche metti su sono ciò che riuserai. - Su Aruba si applica la stessa forma una volta che
provider-arubaatterra in 3XX — CRD Aruba VPC / subnet / security-group, cablati attraverso lo stesso flusso di install +ClusterProviderConfig. - Sostituisci il bucket con le primitive della landing zone. Sfoglia le CRD del provider sul Crossplane Marketplace — ogni versione pubblicata elenca i kind che spedisce e i campi che accettano. VPC, subnet, security group, route table, IAM role — scegli ciò di cui la tua landing zone ha bisogno.
- Avvolgi le primitive in un XRD + Composition. Riusa il pattern da Definisci un'Application: un input XR (nome del team + region), diverse MR composte sotto.
- Pacchettizza la landing zone come Configuration così altri cluster — staging, prod — installano la stessa forma con un solo comando.
Stretch goal
ProviderConfigper-team che referenziano Secret per-team, così il blast radius resta dentro l'account cloud di un solo team.- Composition multi-cloud: un singolo XR
LandingZoneche sceglie AWS, GCP, Azure o Aruba in base a un inputcloud.function-go-templatingè la leva di solito. - Esponi il drift su
.statusconfunction-auto-readycosì una subnet cancellata appare come una landing zone non-Ready inkubectl get.