Menggunakan set tanda

Panduan ini menunjukkan cara mengelompokkan flag, membuat rilis dari set, dan mengonfigurasi flag untuk berlangganan set flag.

Set tanda adalah penampung logis untuk mengelola grup tanda fitur terkait. Seiring berkembangnya aplikasi Anda dan bertambahnya jumlah masing-masing flag, mengelolanya dalam daftar datar dapat menjadi rumit dan rentan terhadap kesalahan.

Set flag memungkinkan Anda mengatur flag berdasarkan area fungsional, komponen aplikasi, atau kriteria logis lainnya, sehingga memberikan abstraksi tingkat yang lebih tinggi untuk operasi flag.

Prasyarat

Sebelum memulai, pastikan Anda memiliki:

  1. Lingkungan gcloud yang dikonfigurasi untuk mengelola resource App Lifecycle Manager.
  2. Selesaikan Panduan memulai tombol fitur deployment.

Mengelompokkan tombol fitur

Untuk mengelompokkan tanda, Anda mengaitkannya dengan ID flag_set selama pembuatan, atau memperbarui tanda yang ada. ID ini membuat batas kepemilikan yang jelas dan memungkinkan Anda menggunakan setelan tanda sebagai satu resource.

Membuat tanda dalam set tanda

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."

Memperbarui flag yang ada untuk ditambahkan ke set flag

gcloud beta app-lifecycle-manager flags update "auth-flag" \
    --location="global"
    --flag-set="auth-module-flags"

Membuat rilis dari set tanda

Daripada membuat snapshot pada waktu tertentu (FlagRevisions) secara manual untuk setiap tanda, Anda dapat membuat FlagRelease yang mereferensikan satu atau beberapa set. App Lifecycle Manager secara otomatis menangani pembuatan semua snapshot tetap yang diperlukan.

gcloud beta app-lifecycle-manager flags releases create "auth-release-v1.2" \
    --location=global \
    --flag-sets='["auth-module-flags"]' \
    --unit-kind="UNIT_KIND_NAME"

Ganti UNIT_KIND_NAME dengan jenis unit Anda.

Membuat rilis untuk semua tanda

Anda dapat menetapkan boolean all_flags ke true untuk mengambil semua tanda yang ditautkan ke jenis unit peluncuran:

gcloud beta app-lifecycle-manager flags releases create "all-flags-release" \
    --location=global \
    --all-flags \
    --unit-kind="UNIT_KIND_NAME"

Menggunakan set tanda

Untuk berlangganan set flag, gunakan pemilih saat Anda menginisialisasi penyedia OpenFeature.

Contoh Go:

Pemilih memberi tahu sumber tanda untuk memfilter set spesifik ini:

provider := flagd.NewProvider(
    // The selector tells the flag source to filter for this specific set
    flagd.WithSelector("flagSetId=auth-module-flags"),
    // ... other options
)

Perilaku Pemilih:

  • Pemilih kosong: Hanya memilih tanda yang tidak memiliki ID set tanda.
  • flagSetId=*: Memilih semua tanda yang terkait dengan unit.
  • flagSetId=X: Hanya memilih flag yang ditetapkan persis ke X.

Langkah berikutnya