Questa guida mostra come raggruppare i flag, creare release da set e configurare i flag per abbonarsi ai set di flag.
I set di flag sono container logici per la gestione di gruppi di flag funzionalità correlati. Man mano che le applicazioni crescono e il numero di singoli flag aumenta, gestirli in un elenco piatto può diventare macchinoso e soggetto a errori.
I set di flag ti consentono di organizzare i flag in base all'area funzionale, al componente dell'applicazione o a qualsiasi altro criterio logico, fornendo un'astrazione di livello superiore per le operazioni sui flag.
Prerequisiti
Prima di iniziare, assicurati di avere:
- Un ambiente
gcloudconfigurato per gestire le risorse di App Lifecycle Manager. - Hai completato la guida rapida per il deployment dei flag funzionalità.
Raggruppare i flag funzionalità
Per raggruppare i flag, li associ a un identificatore flag_set durante la creazione
o aggiorni un flag esistente. Questo identificatore crea un limite chiaro di
proprietà e ti consente di utilizzare i flag impostati come una singola risorsa.
Crea un flag in un set di flag
gcloud beta app-lifecycle-manager flags create "auth-flag" \
--key="auth-flag" \
--flag-value-type=BOOL \
--location=global \
--flag-set="auth-module-flags" \
--description="Flag for the core authentication service."
Aggiornare un flag esistente da aggiungere a un set di flag
gcloud beta app-lifecycle-manager flags update "auth-flag" \
--location="global"
--flag-set="auth-module-flags"
Crea una release da un insieme di flag
Anziché creare manualmente snapshot point-in-time (FlagRevisions) per ogni
flag, puoi creare un FlagRelease che fa riferimento a uno o più set.
App Lifecycle Manager gestisce automaticamente la creazione di tutti gli snapshot
immutabili necessari.
gcloud beta app-lifecycle-manager flags releases create "auth-release-v1.2" \
--location=global \
--flag-sets='["auth-module-flags"]' \
--unit-kind="UNIT_KIND_NAME"
Sostituisci UNIT_KIND_NAME con il tipo di unità.
Crea una release per tutti i flag
Puoi impostare il valore booleano all_flags su true per recuperare tutti i flag collegati al tipo di unità di implementazione:
gcloud beta app-lifecycle-manager flags releases create "all-flags-release" \
--location=global \
--all-flags \
--unit-kind="UNIT_KIND_NAME"
Utilizzo di un set di flag
Per abbonarti a un insieme di flag, utilizza un selettore quando inizializzi il provider OpenFeature.
Esempio di Go:
Il selettore indica all'origine del flag di filtrare questo insieme specifico:
provider := flagd.NewProvider(
// The selector tells the flag source to filter for this specific set
flagd.WithSelector("flagSetId=auth-module-flags"),
// ... other options
)
Comportamento del selettore:
- Selettore vuoto: seleziona solo i flag senza ID set di flag.
flagSetId=*: seleziona tutti i flag associati all'unità.flagSetId=X: seleziona solo i flag in cui il set è esattamenteX.
Passaggi successivi
- Scopri di più sul targeting complesso con CEL.
- Scopri di più sull'architettura multi-tenant.