feat(auth): добавить приложение fw для EvoFirewall
Build and Push Auth Portal Docker Image / build-and-push (push) Failing after 1m15s
Build and Push Auth Portal Docker Image / create-release (push) Skipped

Каталог permissions fw:*, app switcher и docs; убран bgp:firewall после cutover.

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
Denozordec
2026-07-20 19:50:54 +07:00
co-authored by Cursor
parent 143db3d72e
commit 9b4c7b8b9d
5 changed files with 50 additions and 6 deletions
@@ -35,6 +35,7 @@ const DEFAULT_ICONS: Record<AppId, AppSwitcherIconName> = {
cfdm: 'cloud',
vps: 'server',
bgp: 'globe',
fw: 'server',
}
/** Seed / fallback when DB is empty. */
+19 -2
View File
@@ -1,6 +1,6 @@
import { z } from 'zod'
export const APP_IDS = ['cfdm', 'vps', 'bgp'] as const
export const APP_IDS = ['cfdm', 'vps', 'bgp', 'fw'] as const
export type AppId = (typeof APP_IDS)[number]
export const appIdSchema = z.enum(APP_IDS)
@@ -34,6 +34,12 @@ export const APPS: AppMeta[] = [
description: 'Модули, сеть, операции и мониторинг BGP',
url: 'https://bgp.shnt.top',
},
{
id: 'fw',
title: 'EvoFirewall',
description: 'Централизованный firewall: агенты, списки, политики',
url: 'https://fw.shnt.top',
},
]
export type CatalogSection = {
@@ -100,7 +106,6 @@ export const PERMISSION_CATALOG: AppPermissionCatalog[] = [
'write',
'admin',
]),
section('firewall', 'Файрвол', 'Клиенты и правила'),
section('schedule', 'Задачи', 'Расписание refresh'),
section('monitoring', 'Мониторинг', 'Health и BIRD', ['read']),
section('access', 'Доступ', 'API-ключи', ['admin']),
@@ -110,6 +115,18 @@ export const PERMISSION_CATALOG: AppPermissionCatalog[] = [
section('settings', 'Настройки UI', 'Токен и подключение', ['read']),
],
},
{
appId: 'fw',
title: 'EvoFirewall',
sections: [
section('dashboard', 'Дашборд', 'KPI и обзор', ['read']),
section('agents', 'Агенты', 'Linux / MikroTik клиенты'),
section('lists', 'Списки IP', 'static / JSON / domains / EvoBGP'),
section('policies', 'Правила', 'Allow/deny политики и overrides'),
section('stats', 'Статистика', 'Пакеты и история', ['read']),
section('settings', 'Настройки', 'Enroll seed и интеграции', ['admin']),
],
},
]
export function permissionKey(