feat: 新增 16 个中间件组件,总计 42 个
数据库: PostgreSQL, Oracle 搜索引擎: Elasticsearch 消息队列: RocketMQ, Kafka 服务治理: Nacos 分布式协调: ZooKeeper, Etcd 容器化: Docker, Docker Compose 日志监控: Logstash, Kibana, Prometheus, Grafana, Zabbix, Syslog 新增分类: 搜索引擎、消息队列、服务治理、分布式协调、容器化、日志监控 更新 README 组件矩阵与侧边栏计数
This commit is contained in:
+158
-13
@@ -1,73 +1,163 @@
|
||||
// ============ 代理与Web ============
|
||||
import { nginxSchema, generateNginxConf } from './nginx'
|
||||
|
||||
// ============ 缓存 ============
|
||||
import { redisSchema, generateRedisConf } from './redis'
|
||||
|
||||
// ============ 数据库 ============
|
||||
import { mysqlSchema, generateMysqlConf } from './mysql'
|
||||
import { mongodbSchema, generateMongodbConf } from './mongodb'
|
||||
import { k8sDeploymentSchema, generateK8sDeploymentYaml } from './k8s-deployment'
|
||||
import { k8sServiceSchema, generateK8sServiceYaml } from './k8s-service'
|
||||
import { ansibleSchema, generateAnsibleCfg } from './ansible'
|
||||
import { ansiblePlaybookSchema, generateAnsiblePlaybookYaml } from './ansible-playbook'
|
||||
import { postgresqlSchema, generatePostgresqlConf } from './postgresql'
|
||||
import { oracleSchema, generateOracleConf } from './oracle'
|
||||
|
||||
// ============ 搜索引擎 ============
|
||||
import { elasticsearchSchema, generateElasticsearchYml } from './elasticsearch'
|
||||
|
||||
// ============ 消息队列 ============
|
||||
import { rocketmqSchema, generateRocketmqConf } from './rocketmq'
|
||||
import { kafkaSchema, generateKafkaProperties } from './kafka'
|
||||
|
||||
// ============ K8S 工作负载 ============
|
||||
import { k8sPodSchema, generateK8sPodYaml } from './k8s-pod'
|
||||
import { k8sDeploymentSchema, generateK8sDeploymentYaml } from './k8s-deployment'
|
||||
import { k8sStatefulSetSchema, generateK8sStatefulSetYaml } from './k8s-statefulset'
|
||||
import { k8sDaemonSetSchema, generateK8sDaemonSetYaml } from './k8s-daemonset'
|
||||
import { k8sJobSchema, generateK8sJobYaml } from './k8s-job'
|
||||
import { k8sCronJobSchema, generateK8sCronJobYaml } from './k8s-cronjob'
|
||||
|
||||
// ============ K8S 服务发现 ============
|
||||
import { k8sServiceSchema, generateK8sServiceYaml } from './k8s-service'
|
||||
import { k8sIngressSchema, generateK8sIngressYaml } from './k8s-ingress'
|
||||
|
||||
// ============ K8S 存储 ============
|
||||
import { k8sPvSchema, generateK8sPvYaml } from './k8s-pv'
|
||||
import { k8sPvcSchema, generateK8sPvcYaml } from './k8s-pvc'
|
||||
import { k8sStorageClassSchema, generateK8sStorageClassYaml } from './k8s-storageclass'
|
||||
|
||||
// ============ K8S 配置与密钥 ============
|
||||
import { k8sConfigMapSchema, generateK8sConfigMapYaml } from './k8s-configmap'
|
||||
import { k8sSecretSchema, generateK8sSecretYaml } from './k8s-secret'
|
||||
|
||||
// ============ K8S 安全与权限 ============
|
||||
import { k8sServiceAccountSchema, generateK8sServiceAccountYaml } from './k8s-serviceaccount'
|
||||
import { k8sRoleSchema, generateK8sRoleYaml } from './k8s-role'
|
||||
import { k8sClusterRoleSchema, generateK8sClusterRoleYaml } from './k8s-clusterrole'
|
||||
import { k8sRoleBindingSchema, generateK8sRoleBindingYaml } from './k8s-rolebinding'
|
||||
import { k8sClusterRoleBindingSchema, generateK8sClusterRoleBindingYaml } from './k8s-clusterrolebinding'
|
||||
import { k8sNetworkPolicySchema, generateK8sNetworkPolicyYaml } from './k8s-networkpolicy'
|
||||
|
||||
// ============ K8S 集群管理 ============
|
||||
import { k8sNamespaceSchema, generateK8sNamespaceYaml } from './k8s-namespace'
|
||||
|
||||
// ============ 服务治理 ============
|
||||
import { nacosSchema, generateNacosProperties } from './nacos'
|
||||
|
||||
// ============ 分布式协调 ============
|
||||
import { zookeeperSchema, generateZookeeperCfg } from './zookeeper'
|
||||
import { etcdSchema, generateEtcdYml } from './etcd'
|
||||
|
||||
// ============ 容器化 ============
|
||||
import { dockerSchema, generateDockerDaemonJson } from './docker'
|
||||
import { dockerComposeSchema, generateDockerComposeYml } from './docker-compose'
|
||||
|
||||
// ============ 日志监控 ============
|
||||
import { logstashSchema, generateLogstashConf } from './logstash'
|
||||
import { kibanaSchema, generateKibanaYml } from './kibana'
|
||||
import { prometheusSchema, generatePrometheusYml } from './prometheus'
|
||||
import { grafanaSchema, generateGrafanaIni } from './grafana'
|
||||
import { zabbixSchema, generateZabbixConf } from './zabbix'
|
||||
import { syslogSchema, generateSyslogConf } from './syslog'
|
||||
|
||||
// ============ 自动化运维 ============
|
||||
import { ansibleSchema, generateAnsibleCfg } from './ansible'
|
||||
import { ansiblePlaybookSchema, generateAnsiblePlaybookYaml } from './ansible-playbook'
|
||||
|
||||
// ============================================================
|
||||
// Schema Registry
|
||||
// ============================================================
|
||||
|
||||
export const schemas = {
|
||||
// 代理与Web
|
||||
nginx: nginxSchema,
|
||||
// 缓存
|
||||
redis: redisSchema,
|
||||
// 数据库
|
||||
mysql: mysqlSchema,
|
||||
mongodb: mongodbSchema,
|
||||
'k8s-deployment': k8sDeploymentSchema,
|
||||
'k8s-service': k8sServiceSchema,
|
||||
ansible: ansibleSchema,
|
||||
'ansible-playbook': ansiblePlaybookSchema,
|
||||
postgresql: postgresqlSchema,
|
||||
oracle: oracleSchema,
|
||||
// 搜索引擎
|
||||
elasticsearch: elasticsearchSchema,
|
||||
// 消息队列
|
||||
rocketmq: rocketmqSchema,
|
||||
kafka: kafkaSchema,
|
||||
// K8S 工作负载
|
||||
'k8s-pod': k8sPodSchema,
|
||||
'k8s-deployment': k8sDeploymentSchema,
|
||||
'k8s-statefulset': k8sStatefulSetSchema,
|
||||
'k8s-daemonset': k8sDaemonSetSchema,
|
||||
'k8s-job': k8sJobSchema,
|
||||
'k8s-cronjob': k8sCronJobSchema,
|
||||
// K8S 服务发现
|
||||
'k8s-service': k8sServiceSchema,
|
||||
'k8s-ingress': k8sIngressSchema,
|
||||
// K8S 存储
|
||||
'k8s-pv': k8sPvSchema,
|
||||
'k8s-pvc': k8sPvcSchema,
|
||||
'k8s-storageclass': k8sStorageClassSchema,
|
||||
// K8S 配置与密钥
|
||||
'k8s-configmap': k8sConfigMapSchema,
|
||||
'k8s-secret': k8sSecretSchema,
|
||||
// K8S 安全与权限
|
||||
'k8s-serviceaccount': k8sServiceAccountSchema,
|
||||
'k8s-role': k8sRoleSchema,
|
||||
'k8s-clusterrole': k8sClusterRoleSchema,
|
||||
'k8s-rolebinding': k8sRoleBindingSchema,
|
||||
'k8s-clusterrolebinding': k8sClusterRoleBindingSchema,
|
||||
'k8s-networkpolicy': k8sNetworkPolicySchema,
|
||||
// K8S 集群管理
|
||||
'k8s-namespace': k8sNamespaceSchema,
|
||||
// 服务治理
|
||||
nacos: nacosSchema,
|
||||
// 分布式协调
|
||||
zookeeper: zookeeperSchema,
|
||||
etcd: etcdSchema,
|
||||
// 容器化
|
||||
docker: dockerSchema,
|
||||
'docker-compose': dockerComposeSchema,
|
||||
// 日志监控
|
||||
logstash: logstashSchema,
|
||||
kibana: kibanaSchema,
|
||||
prometheus: prometheusSchema,
|
||||
grafana: grafanaSchema,
|
||||
zabbix: zabbixSchema,
|
||||
syslog: syslogSchema,
|
||||
// 自动化运维
|
||||
ansible: ansibleSchema,
|
||||
'ansible-playbook': ansiblePlaybookSchema,
|
||||
}
|
||||
|
||||
// ============================================================
|
||||
// Generator Registry
|
||||
// ============================================================
|
||||
|
||||
export const generators = {
|
||||
nginx: generateNginxConf,
|
||||
redis: generateRedisConf,
|
||||
mysql: generateMysqlConf,
|
||||
mongodb: generateMongodbConf,
|
||||
'k8s-deployment': generateK8sDeploymentYaml,
|
||||
'k8s-service': generateK8sServiceYaml,
|
||||
ansible: generateAnsibleCfg,
|
||||
'ansible-playbook': generateAnsiblePlaybookYaml,
|
||||
postgresql: generatePostgresqlConf,
|
||||
oracle: generateOracleConf,
|
||||
elasticsearch: generateElasticsearchYml,
|
||||
rocketmq: generateRocketmqConf,
|
||||
kafka: generateKafkaProperties,
|
||||
'k8s-pod': generateK8sPodYaml,
|
||||
'k8s-deployment': generateK8sDeploymentYaml,
|
||||
'k8s-statefulset': generateK8sStatefulSetYaml,
|
||||
'k8s-daemonset': generateK8sDaemonSetYaml,
|
||||
'k8s-job': generateK8sJobYaml,
|
||||
'k8s-cronjob': generateK8sCronJobYaml,
|
||||
'k8s-service': generateK8sServiceYaml,
|
||||
'k8s-ingress': generateK8sIngressYaml,
|
||||
'k8s-pv': generateK8sPvYaml,
|
||||
'k8s-pvc': generateK8sPvcYaml,
|
||||
@@ -81,8 +171,25 @@ export const generators = {
|
||||
'k8s-clusterrolebinding': generateK8sClusterRoleBindingYaml,
|
||||
'k8s-networkpolicy': generateK8sNetworkPolicyYaml,
|
||||
'k8s-namespace': generateK8sNamespaceYaml,
|
||||
nacos: generateNacosProperties,
|
||||
zookeeper: generateZookeeperCfg,
|
||||
etcd: generateEtcdYml,
|
||||
docker: generateDockerDaemonJson,
|
||||
'docker-compose': generateDockerComposeYml,
|
||||
logstash: generateLogstashConf,
|
||||
kibana: generateKibanaYml,
|
||||
prometheus: generatePrometheusYml,
|
||||
grafana: generateGrafanaIni,
|
||||
zabbix: generateZabbixConf,
|
||||
syslog: generateSyslogConf,
|
||||
ansible: generateAnsibleCfg,
|
||||
'ansible-playbook': generateAnsiblePlaybookYaml,
|
||||
}
|
||||
|
||||
// ============================================================
|
||||
// Sidebar Categories
|
||||
// ============================================================
|
||||
|
||||
export const categories = [
|
||||
{
|
||||
name: '代理与Web',
|
||||
@@ -97,7 +204,17 @@ export const categories = [
|
||||
{
|
||||
name: '数据库',
|
||||
icon: 'Coin',
|
||||
items: ['mysql', 'mongodb'],
|
||||
items: ['mysql', 'postgresql', 'mongodb', 'oracle'],
|
||||
},
|
||||
{
|
||||
name: '搜索引擎',
|
||||
icon: 'Search',
|
||||
items: ['elasticsearch'],
|
||||
},
|
||||
{
|
||||
name: '消息队列',
|
||||
icon: 'ChatDotRound',
|
||||
items: ['rocketmq', 'kafka'],
|
||||
},
|
||||
{
|
||||
name: 'K8S 工作负载',
|
||||
@@ -129,6 +246,26 @@ export const categories = [
|
||||
icon: 'Grid',
|
||||
items: ['k8s-namespace'],
|
||||
},
|
||||
{
|
||||
name: '服务治理',
|
||||
icon: 'Connection',
|
||||
items: ['nacos'],
|
||||
},
|
||||
{
|
||||
name: '分布式协调',
|
||||
icon: 'Connection',
|
||||
items: ['zookeeper', 'etcd'],
|
||||
},
|
||||
{
|
||||
name: '容器化',
|
||||
icon: 'Box',
|
||||
items: ['docker', 'docker-compose'],
|
||||
},
|
||||
{
|
||||
name: '日志监控',
|
||||
icon: 'TrendCharts',
|
||||
items: ['logstash', 'kibana', 'prometheus', 'grafana', 'zabbix', 'syslog'],
|
||||
},
|
||||
{
|
||||
name: '自动化运维',
|
||||
icon: 'Files',
|
||||
@@ -136,6 +273,10 @@ export const categories = [
|
||||
},
|
||||
]
|
||||
|
||||
// ============================================================
|
||||
// Utility Functions
|
||||
// ============================================================
|
||||
|
||||
export function getDefaultValues(schema) {
|
||||
const defaults = {}
|
||||
for (const group of schema.groups) {
|
||||
@@ -151,9 +292,13 @@ export function getLanguage(format) {
|
||||
conf: 'ini',
|
||||
cnf: 'ini',
|
||||
cfg: 'ini',
|
||||
ora: 'ini',
|
||||
yml: 'yaml',
|
||||
yaml: 'yaml',
|
||||
json: 'json',
|
||||
toml: 'toml',
|
||||
properties: 'properties',
|
||||
ini: 'ini',
|
||||
}
|
||||
return map[format] || 'plaintext'
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user