feat: 初始化 ConfTemplate 云原生配置文件生成器
- Vue 3 + Element Plus + Monaco Editor 技术栈 - 支持 NGINX、Redis、MySQL、K8s Deployment、K8s Service 五个组件 - 侧边栏搜索过滤、动态表单联动、实时代码预览 - 一键复制/下载/重置,localStorage 状态持久化 - 纯前端静态页面,零后端依赖
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
import { nginxSchema, generateNginxConf } from './nginx'
|
||||
import { redisSchema, generateRedisConf } from './redis'
|
||||
import { mysqlSchema, generateMysqlConf } from './mysql'
|
||||
import { k8sDeploymentSchema, generateK8sDeploymentYaml } from './k8s-deployment'
|
||||
import { k8sServiceSchema, generateK8sServiceYaml } from './k8s-service'
|
||||
|
||||
export const schemas = {
|
||||
nginx: nginxSchema,
|
||||
redis: redisSchema,
|
||||
mysql: mysqlSchema,
|
||||
'k8s-deployment': k8sDeploymentSchema,
|
||||
'k8s-service': k8sServiceSchema,
|
||||
}
|
||||
|
||||
export const generators = {
|
||||
nginx: generateNginxConf,
|
||||
redis: generateRedisConf,
|
||||
mysql: generateMysqlConf,
|
||||
'k8s-deployment': generateK8sDeploymentYaml,
|
||||
'k8s-service': generateK8sServiceYaml,
|
||||
}
|
||||
|
||||
export const categories = [
|
||||
{
|
||||
name: '代理与Web',
|
||||
icon: 'Monitor',
|
||||
items: ['nginx'],
|
||||
},
|
||||
{
|
||||
name: '缓存',
|
||||
icon: 'Coin',
|
||||
items: ['redis'],
|
||||
},
|
||||
{
|
||||
name: '数据库',
|
||||
icon: 'Coin',
|
||||
items: ['mysql'],
|
||||
},
|
||||
{
|
||||
name: '云原生',
|
||||
icon: 'Box',
|
||||
items: ['k8s-deployment', 'k8s-service'],
|
||||
},
|
||||
]
|
||||
|
||||
export function getDefaultValues(schema) {
|
||||
const defaults = {}
|
||||
for (const group of schema.groups) {
|
||||
for (const field of group.fields) {
|
||||
defaults[field.key] = field.default
|
||||
}
|
||||
}
|
||||
return defaults
|
||||
}
|
||||
|
||||
export function getLanguage(format) {
|
||||
const map = {
|
||||
conf: 'ini',
|
||||
cnf: 'ini',
|
||||
yaml: 'yaml',
|
||||
json: 'json',
|
||||
toml: 'toml',
|
||||
}
|
||||
return map[format] || 'plaintext'
|
||||
}
|
||||
Reference in New Issue
Block a user