Разработка

Опубликовано:

Vercel открыла доступ к флагам другого проекта без копирования SDK-ключей

Vercel добавила Project Connections: проекты в одной команде читают флаги друг друга без ручной работы с SDK-ключами. Доступ только на чтение и отзывается без деплоя.

Vercel добавила Project Connections: приложение может читать флаги, заданные в другом проекте Vercel внутри той же команды, без ручного управления SDK-ключами. Функция работает на всех тарифах.

Раньше общий доступ к флагам настраивали через серверный SDK-ключ: его копировали в переменную окружения и дальше следили за ней вручную. Теперь подключённые проекты подтверждают доступ удостоверением своего деплоя. Для локальной разработки токен OIDC достаёт команда vercel env pull.

Страница Connections в разделе Flags показывает, какие проекты читают флаги текущего проекта и из каких проектов читает он сам. Там же подключения добавляют и убирают. Управлять ими можно и из CLI командой vercel flags connections.

Доступ даётся только на чтение и сразу во все окружения. Конкретное окружение определяет деплой-потребитель: продакшен-деплой читает продакшен-флаги. Отозвать доступ можно без повторного деплоя.

The Connections page shows which projects can read your project’s flags and which projects your project reads flags from, with controls to add or remove connections.

Изображение: Vercel Blog

В приложении-потребителе создают адаптер с ID исходного проекта:

import { flag } from 'flags/next';
import { createVercelAdapter } from '@flags-sdk/vercel';

const sharedFlagsAdapter = createVercelAdapter({ projectId: 'prj_source' });

export const newCheckout = flag<boolean>({
  key: 'new-checkout',
  defaultValue: false,
  adapter: sharedFlagsAdapter(),
});

The Connections page shows which projects can read your project’s flags and which projects your project reads flags from, with controls to add or remove connections.

Изображение: Vercel Blog

Нужны @flags-sdk/vercel версии 1.6.0 или новее либо @vercel/flags-core 1.11.0 или новее, если работать с core-библиотекой напрямую. Для команд CLI понадобится Vercel CLI 63.0.0 или новее.