mirror of
https://github.com/andwati/zitadel.git
synced 2026-10-24 08:12:15 +00:00
feat: Feature flag for relational tables (#10599)
# Which Problems Are Solved This PR introduces a new feature flag `EnableRelationalTables` that will be used in following implementations to decide whether Zitadel should use the relational model or the event sourcing one. # TODO - [x] Implement flag at system level - [x] Display the flag on console: https://github.com/zitadel/zitadel/pull/10615 # How the Problems Are Solved - Implement loading the flag from config - Add persistence of the flag through gRPC endpoint (SetInstanceFeatures) - Implement reading of the flag through gRPC endpoint (GetInstanceFeatures) # Additional Changes Some minor refactoring to remove un-needed generics annotations # Additional Context - Closes #10574 --------- Co-authored-by: Silvan <[email protected]>
This commit is contained in:
@@ -36,6 +36,7 @@ const FEATURE_KEYS = [
|
||||
'oidcTokenExchange',
|
||||
'permissionCheckV2',
|
||||
'userSchema',
|
||||
'enableRelationalTables',
|
||||
] as const;
|
||||
|
||||
export type ToggleState = { source: Source; enabled: boolean };
|
||||
|
||||
@@ -1653,7 +1653,9 @@
|
||||
"CONSOLEUSEV2USERAPI_DESCRIPTION": "Когато този флаг е активиран, конзолата използва V2 User API за създаване на нови потребители. С V2 API новосъздадените потребители започват без начален статус.",
|
||||
"LOGINV2": "Вход V2",
|
||||
"LOGINV2_DESCRIPTION": "Активирането на това включва новия потребителски интерфейс за вход, базиран на TypeScript, с подобрена сигурност, производителност и възможности за персонализиране.",
|
||||
"LOGINV2_BASEURI": "Базов URI"
|
||||
"LOGINV2_BASEURI": "Базов URI",
|
||||
"ENABLERELATIONALTABLES": "Релационни таблици",
|
||||
"ENABLERELATIONALTABLES_DESCRIPTION": "Активирайте това, за да използвате релационни таблици вместо проекции за съхранение на данни. В момента този превключвател не прави нищо."
|
||||
},
|
||||
"DIALOG": {
|
||||
"RESET": {
|
||||
|
||||
@@ -1654,7 +1654,9 @@
|
||||
"CONSOLEUSEV2USERAPI_DESCRIPTION": "Když je tato příznak povolen, konzole používá V2 User API k vytvoření nových uživatelů. S V2 API nově vytvoření uživatelé začínají bez počátečního stavu.",
|
||||
"LOGINV2": "Přihlášení V2",
|
||||
"LOGINV2_DESCRIPTION": "Povolením této možnosti se aktivuje nové přihlašovací rozhraní založené na TypeScriptu s vylepšeným zabezpečením, výkonem a přizpůsobitelností.",
|
||||
"LOGINV2_BASEURI": "Základní URI"
|
||||
"LOGINV2_BASEURI": "Základní URI",
|
||||
"ENABLERELATIONALTABLES": "Relační tabulky",
|
||||
"ENABLERELATIONALTABLES_DESCRIPTION": "Povolte toto pro použití relačních tabulek místo projekcí pro ukládání dat. Momentálně tento přepínač nic nedělá."
|
||||
},
|
||||
"DIALOG": {
|
||||
"RESET": {
|
||||
|
||||
@@ -1654,7 +1654,9 @@
|
||||
"CONSOLEUSEV2USERAPI_DESCRIPTION": "Wenn diese Option aktiviert ist, verwendet die Konsole die V2 User API, um neue Benutzer zu erstellen. Mit der V2 API starten neu erstellte Benutzer nicht im Initial Zustand.",
|
||||
"LOGINV2": "Login V2",
|
||||
"LOGINV2_DESCRIPTION": "Durch das Aktivieren wird das neue TypeScript-basierte Login-UI mit verbesserter Sicherheit, Leistung und Anpassbarkeit aktiviert.",
|
||||
"LOGINV2_BASEURI": "Basis-URI"
|
||||
"LOGINV2_BASEURI": "Basis-URI",
|
||||
"ENABLERELATIONALTABLES": "Relationale Tabellen",
|
||||
"ENABLERELATIONALTABLES_DESCRIPTION": "Aktivieren Sie diese Option, um relationale Tabellen anstelle von Projektionen zur Datenspeicherung zu verwenden. Diese Option hat derzeit keine Auswirkung."
|
||||
},
|
||||
"DIALOG": {
|
||||
"RESET": {
|
||||
|
||||
@@ -1658,7 +1658,9 @@
|
||||
"CONSOLEUSEV2USERAPI_DESCRIPTION": "When this flag is enabled, the console uses the V2 User API to create new users. With the V2 API, newly created users start without an initial state.",
|
||||
"LOGINV2": "Login V2",
|
||||
"LOGINV2_DESCRIPTION": "Enabling this activates the new TypeScript-based login UI with improved security, performance, and customization.",
|
||||
"LOGINV2_BASEURI": "Base URI"
|
||||
"LOGINV2_BASEURI": "Base URI",
|
||||
"ENABLERELATIONALTABLES": "Relational Tables",
|
||||
"ENABLERELATIONALTABLES_DESCRIPTION": "Enable this to use relational tables instead of projections for storing data. Currently this toggle does nothing."
|
||||
},
|
||||
"DIALOG": {
|
||||
"RESET": {
|
||||
|
||||
@@ -1655,7 +1655,9 @@
|
||||
"CONSOLEUSEV2USERAPI_DESCRIPTION": "Cuando esta opción está habilitada, la consola utiliza la API V2 de usuario para crear nuevos usuarios. Con la API V2, los usuarios recién creados comienzan sin un estado inicial.",
|
||||
"LOGINV2": "Inicio de sesión V2",
|
||||
"LOGINV2_DESCRIPTION": "Al habilitar esto, se activa la nueva interfaz de inicio de sesión basada en TypeScript con mejoras en seguridad, rendimiento y personalización.",
|
||||
"LOGINV2_BASEURI": "URI base"
|
||||
"LOGINV2_BASEURI": "URI base",
|
||||
"ENABLERELATIONALTABLES": "Tablas relacionales",
|
||||
"ENABLERELATIONALTABLES_DESCRIPTION": "Habilitar esto para usar tablas relacionales en lugar de proyecciones para almacenar datos. Actualmente este interruptor no hace nada."
|
||||
},
|
||||
"DIALOG": {
|
||||
"RESET": {
|
||||
|
||||
@@ -1654,7 +1654,9 @@
|
||||
"CONSOLEUSEV2USERAPI_DESCRIPTION": "Lorsque ce drapeau est activé, la console utilise l'API V2 User pour créer de nouveaux utilisateurs. Avec l'API V2, les nouveaux utilisateurs commencent sans état initial.",
|
||||
"LOGINV2": "Connexion V2",
|
||||
"LOGINV2_DESCRIPTION": "L’activation de cette option lance la nouvelle interface de connexion basée sur TypeScript, avec une sécurité, des performances et une personnalisation améliorées.",
|
||||
"LOGINV2_BASEURI": "URI de base"
|
||||
"LOGINV2_BASEURI": "URI de base",
|
||||
"ENABLERELATIONALTABLES": "Tables relationnelles",
|
||||
"ENABLERELATIONALTABLES_DESCRIPTION": "Activez ceci pour utiliser des tables relationnelles au lieu de projections pour stocker des données. Actuellement, ce commutateur ne fait rien."
|
||||
},
|
||||
"DIALOG": {
|
||||
"RESET": {
|
||||
|
||||
@@ -1652,7 +1652,9 @@
|
||||
"CONSOLEUSEV2USERAPI_DESCRIPTION": "Ha ez a jelző engedélyezve van, a konzol a V2 User API-t használja új felhasználók létrehozásához. A V2 API-val az újonnan létrehozott felhasználók kezdeti állapot nélkül indulnak.",
|
||||
"LOGINV2": "Bejelentkezés V2",
|
||||
"LOGINV2_DESCRIPTION": "Ennek engedélyezésével aktiválódik az új, TypeScript-alapú bejelentkezési felület, amely jobb biztonságot, teljesítményt és testreszabhatóságot nyújt.",
|
||||
"LOGINV2_BASEURI": "Alap URI"
|
||||
"LOGINV2_BASEURI": "Alap URI",
|
||||
"ENABLERELATIONALTABLES": "Kapcsolati táblák",
|
||||
"ENABLERELATIONALTABLES_DESCRIPTION": "Engedélyez ezt a relációs táblák használatához a projekciók helyett az adatok tárolásához. Jelenleg ez a kapcsoló semmit sem csinál."
|
||||
},
|
||||
"DIALOG": {
|
||||
"RESET": {
|
||||
|
||||
@@ -1521,7 +1521,9 @@
|
||||
"CONSOLEUSEV2USERAPI_DESCRIPTION": "Ketika flag ini diaktifkan, konsol menggunakan API Pengguna V2 untuk membuat pengguna baru. Dengan API V2, pengguna yang baru dibuat dimulai tanpa keadaan awal.",
|
||||
"LOGINV2": "Login V2",
|
||||
"LOGINV2_DESCRIPTION": "Mengaktifkan ini akan mengaktifkan antarmuka login baru berbasis TypeScript dengan keamanan, performa, dan kustomisasi yang lebih baik.",
|
||||
"LOGINV2_BASEURI": "URI dasar"
|
||||
"LOGINV2_BASEURI": "URI dasar",
|
||||
"ENABLERELATIONALTABLES": "Tabel Relasional",
|
||||
"ENABLERELATIONALTABLES_DESCRIPTION": "Aktifkan ini untuk menggunakan tabel relasional alih-alih proyeksi untuk menyimpan data. Saat ini, toggle ini tidak berfungsi."
|
||||
},
|
||||
"DIALOG": {
|
||||
"RESET": {
|
||||
|
||||
@@ -1654,7 +1654,9 @@
|
||||
"CONSOLEUSEV2USERAPI_DESCRIPTION": "Quando questa opzione è abilitata, la console utilizza l'API V2 User per creare nuovi utenti. Con l'API V2, i nuovi utenti creati iniziano senza uno stato iniziale.",
|
||||
"LOGINV2": "Accesso V2",
|
||||
"LOGINV2_DESCRIPTION": "Abilitando questa opzione si attiva la nuova interfaccia di login basata su TypeScript con sicurezza, prestazioni e personalizzazione migliorate.",
|
||||
"LOGINV2_BASEURI": "URI di base"
|
||||
"LOGINV2_BASEURI": "URI di base",
|
||||
"ENABLERELATIONALTABLES": "Tabelle relazionali",
|
||||
"ENABLERELATIONALTABLES_DESCRIPTION": "Abilita questo toggle per utilizzare le tabelle relazionali invece di proiezioni per memorizzare i dati. Attualmente questo toggle non fa nulla."
|
||||
},
|
||||
"DIALOG": {
|
||||
"RESET": {
|
||||
|
||||
@@ -1654,7 +1654,9 @@
|
||||
"CONSOLEUSEV2USERAPI_DESCRIPTION": "このフラグが有効化されると、コンソールはV2ユーザーAPIを使用して新しいユーザーを作成します。V2 APIでは、新しく作成されたユーザーは初期状態なしで開始します。",
|
||||
"LOGINV2": "ログイン V2",
|
||||
"LOGINV2_DESCRIPTION": "これを有効にすると、セキュリティ、パフォーマンス、およびカスタマイズ性が向上した、TypeScript ベースの新しいログイン UI が有効になります。",
|
||||
"LOGINV2_BASEURI": "ベースURI"
|
||||
"LOGINV2_BASEURI": "ベースURI",
|
||||
"ENABLERELATIONALTABLES": "リレーショナルテーブル",
|
||||
"ENABLERELATIONALTABLES_DESCRIPTION": "データを保存するためにプロジェクションの代わりにリレーショナルテーブルを使用するには、これを有効にします。現在、このトグルは何もしません。"
|
||||
},
|
||||
"DIALOG": {
|
||||
"RESET": {
|
||||
|
||||
@@ -1654,7 +1654,9 @@
|
||||
"CONSOLEUSEV2USERAPI_DESCRIPTION": "이 플래그가 활성화되면 콘솔은 V2 사용자 API를 사용하여 새 사용자를 생성합니다. V2 API를 사용하면 새로 생성된 사용자는 초기 상태 없이 시작합니다.",
|
||||
"LOGINV2": "로그인 V2",
|
||||
"LOGINV2_DESCRIPTION": "이 옵션을 활성화하면 보안, 성능 및 사용자 정의 기능이 향상된 새로운 TypeScript 기반 로그인 UI가 활성화됩니다.",
|
||||
"LOGINV2_BASEURI": "기본 URI"
|
||||
"LOGINV2_BASEURI": "기본 URI",
|
||||
"ENABLERELATIONALTABLES": "관계형 테이블",
|
||||
"ENABLERELATIONALTABLES_DESCRIPTION": "데이터 저장을 위해 프로젝션 대신 관계형 테이블을 사용하려면 이를 활성화하십시오. 현재 이 토글은 아무런 기능을 하지 않습니다."
|
||||
},
|
||||
"DIALOG": {
|
||||
"RESET": {
|
||||
|
||||
@@ -1655,7 +1655,9 @@
|
||||
"CONSOLEUSEV2USERAPI_DESCRIPTION": "Кога ова знаме е овозможено, конзолата го користи V2 User API за креирање на нови корисници. Со V2 API, новосоздадените корисници започнуваат без почетна состојба.",
|
||||
"LOGINV2": "Најава V2",
|
||||
"LOGINV2_DESCRIPTION": "Овозможувањето на ова ја активира новата TypeScript-базирана најава со подобрена безбедност, перформанси и прилагодливост.",
|
||||
"LOGINV2_BASEURI": "Основен URI"
|
||||
"LOGINV2_BASEURI": "Основен URI",
|
||||
"ENABLERELATIONALTABLES": "Релациски табели",
|
||||
"ENABLERELATIONALTABLES_DESCRIPTION": "Овозможете го ова за користење на релациски табели наместо проекции за складирање податоци. Во моментов, овој прекинувач не прави ништо."
|
||||
},
|
||||
"DIALOG": {
|
||||
"RESET": {
|
||||
|
||||
@@ -1654,7 +1654,9 @@
|
||||
"CONSOLEUSEV2USERAPI_DESCRIPTION": "Wanneer deze vlag is ingeschakeld, gebruikt de console de V2 User API om nieuwe gebruikers aan te maken. Met de V2 API beginnen nieuw aangemaakte gebruikers zonder een initiële status.",
|
||||
"LOGINV2": "Inloggen V2",
|
||||
"LOGINV2_DESCRIPTION": "Door dit in te schakelen wordt de nieuwe TypeScript-gebaseerde login-UI geactiveerd met verbeterde beveiliging, prestaties en aanpasbaarheid.",
|
||||
"LOGINV2_BASEURI": "Basis-URI"
|
||||
"LOGINV2_BASEURI": "Basis-URI",
|
||||
"ENABLERELATIONALTABLES": "Relationele tabellen",
|
||||
"ENABLERELATIONALTABLES_DESCRIPTION": "Schakel dit in om relationele tabellen te gebruiken in plaats van projecties voor het opslaan van gegevens. Momenteel doet deze schakelaar niets."
|
||||
},
|
||||
"DIALOG": {
|
||||
"RESET": {
|
||||
|
||||
@@ -1653,7 +1653,9 @@
|
||||
"CONSOLEUSEV2USERAPI_DESCRIPTION": "Gdy ta flaga jest włączona, konsola używa API V2 User do tworzenia nowych użytkowników. W przypadku API V2 nowo utworzeni użytkownicy rozpoczynają bez stanu początkowego.",
|
||||
"LOGINV2": "Logowanie V2",
|
||||
"LOGINV2_DESCRIPTION": "Włączenie tej opcji aktywuje nowy interfejs logowania oparty na TypeScript z ulepszonym bezpieczeństwem, wydajnością i możliwością dostosowania.",
|
||||
"LOGINV2_BASEURI": "Podstawowy URI"
|
||||
"LOGINV2_BASEURI": "Podstawowy URI",
|
||||
"ENABLERELATIONALTABLES": "Tabele relacyjne",
|
||||
"ENABLERELATIONALTABLES_DESCRIPTION": "Włącz to, aby używać tabel relacyjnych zamiast projekcji do przechowywania danych. Obecnie ten przełącznik nic nie robi."
|
||||
},
|
||||
"DIALOG": {
|
||||
"RESET": {
|
||||
|
||||
@@ -1655,7 +1655,9 @@
|
||||
"CONSOLEUSEV2USERAPI_DESCRIPTION": "Quando esta opção está ativada, o console utiliza a API V2 de Usuários para criar novos usuários. Com a API V2, os novos usuários criados começam sem um estado inicial.",
|
||||
"LOGINV2": "Login V2",
|
||||
"LOGINV2_DESCRIPTION": "Ativar esta opção ativa a nova interface de login baseada em TypeScript, com melhorias na segurança, desempenho e personalização.",
|
||||
"LOGINV2_BASEURI": "URI base"
|
||||
"LOGINV2_BASEURI": "URI base",
|
||||
"ENABLERELATIONALTABLES": "Tabelas relacionais",
|
||||
"ENABLERELATIONALTABLES_DESCRIPTION": "Ative isso para usar tabelas relacionais em vez de projeções para armazenar dados. Atualmente, este interruptor não faz nada."
|
||||
},
|
||||
"DIALOG": {
|
||||
"RESET": {
|
||||
|
||||
@@ -1652,7 +1652,9 @@
|
||||
"CONSOLEUSEV2USERAPI_DESCRIPTION": "Când acest indicator este activat, consola utilizează API-ul de utilizator V2 pentru a crea utilizatori noi. Cu API-ul V2, utilizatorii nou creați încep fără o stare inițială.",
|
||||
"LOGINV2": "Autentificare V2",
|
||||
"LOGINV2_DESCRIPTION": "Activarea acestei opțiuni pornește noua interfață de autentificare bazată pe TypeScript, cu securitate, performanță și personalizare îmbunătățite.",
|
||||
"LOGINV2_BASEURI": "URI de bază"
|
||||
"LOGINV2_BASEURI": "URI de bază",
|
||||
"ENABLERELATIONALTABLES": "Tabele relaționale",
|
||||
"ENABLERELATIONALTABLES_DESCRIPTION": "Activați acest lucru pentru a utiliza tabele relaționale în loc de proiecții pentru stocarea datelor. În prezent, acest comutator nu face nimic."
|
||||
},
|
||||
"DIALOG": {
|
||||
"RESET": {
|
||||
|
||||
@@ -1707,7 +1707,9 @@
|
||||
"CONSOLEUSEV2USERAPI_DESCRIPTION": "Когда этот флаг включен, консоль использует V2 User API для создания новых пользователей. С API V2 новые пользователи создаются без начального состояния.",
|
||||
"LOGINV2": "Вход V2",
|
||||
"LOGINV2_DESCRIPTION": "Включение этой опции активирует новый интерфейс входа на основе TypeScript с улучшенной безопасностью, производительностью и возможностью настройки.",
|
||||
"LOGINV2_BASEURI": "Базовый URI"
|
||||
"LOGINV2_BASEURI": "Базовый URI",
|
||||
"ENABLERELATIONALTABLES": "Реляционные таблицы",
|
||||
"ENABLERELATIONALTABLES_DESCRIPTION": "Включите это, чтобы использовать реляционные таблицы вместо проекций для хранения данных. В настоящее время этот переключатель ничего не делает."
|
||||
},
|
||||
"DIALOG": {
|
||||
"RESET": {
|
||||
|
||||
@@ -1658,7 +1658,9 @@
|
||||
"CONSOLEUSEV2USERAPI_DESCRIPTION": "När denna flagga är aktiverad använder konsolen V2 User API för att skapa nya användare. Med V2 API startar nyligen skapade användare utan ett initialt tillstånd.",
|
||||
"LOGINV2": "Inloggning V2",
|
||||
"LOGINV2_DESCRIPTION": "Att aktivera detta startar det nya inloggningsgränssnittet baserat på TypeScript med förbättrad säkerhet, prestanda och anpassning.",
|
||||
"LOGINV2_BASEURI": "Bas-URI"
|
||||
"LOGINV2_BASEURI": "Bas-URI",
|
||||
"ENABLERELATIONALTABLES": "Relationella tabeller",
|
||||
"ENABLERELATIONALTABLES_DESCRIPTION": "Aktivera detta för att använda relationella tabeller istället för projektioner för att lagra data. För närvarande gör denna växel ingenting."
|
||||
},
|
||||
"DIALOG": {
|
||||
"RESET": {
|
||||
|
||||
@@ -1657,7 +1657,9 @@
|
||||
"CONSOLEUSEV2USERAPI_DESCRIPTION": "Bu bayrak etkinleştirildiğinde, konsol yeni kullanıcılar oluşturmak için V2 Kullanıcı API'sini kullanır. V2 API ile yeni oluşturulan kullanıcılar başlangıç durumu olmadan başlar.",
|
||||
"LOGINV2": "Giriş V2",
|
||||
"LOGINV2_DESCRIPTION": "Bunu etkinleştirmek, gelişmiş güvenlik, performans ve özelleştirme ile yeni TypeScript tabanlı giriş UI'ını etkinleştirir.",
|
||||
"LOGINV2_BASEURI": "Temel URI"
|
||||
"LOGINV2_BASEURI": "Temel URI",
|
||||
"ENABLERELATIONALTABLES": "İlişkisel Tablolar",
|
||||
"ENABLERELATIONALTABLES_DESCRIPTION": "Veri depolamak için projeksiyonlar yerine ilişkisel tabloları kullanmak için bunu etkinleştirin. Şu anda bu anahtar hiçbir şey yapmıyor."
|
||||
},
|
||||
"DIALOG": {
|
||||
"RESET": {
|
||||
|
||||
@@ -1657,7 +1657,9 @@
|
||||
"CONSOLEUSEV2USERAPI_DESCRIPTION": "启用此标志时,控制台使用V2用户API创建新用户。使用V2 API,新创建的用户将以无初始状态开始。",
|
||||
"LOGINV2": "登录 V2",
|
||||
"LOGINV2_DESCRIPTION": "启用此选项将激活基于 TypeScript 的新登录界面,具有更高的安全性、性能和可定制性。",
|
||||
"LOGINV2_BASEURI": "基础 URI"
|
||||
"LOGINV2_BASEURI": "基础 URI",
|
||||
"ENABLERELATIONALTABLES": "关系表",
|
||||
"ENABLERELATIONALTABLES_DESCRIPTION": "启用此功能以使用关系表而不是投影来存储数据。目前此切换没有任何作用。"
|
||||
},
|
||||
"DIALOG": {
|
||||
"RESET": {
|
||||
|
||||
Reference in New Issue
Block a user