Your Name
|
11f86bde47
|
feat(schemas): 新增 GitLab CI 与 Jenkinsfile 流水线生成器
背景: 现有 gitlab.js / jenkins.js 仅生成服务端配置文件
(gitlab.rb / jenkins.yaml), 不能直接产出 CI 流水线。
新增:
- src/schemas/gitlab-ci.js 生成 .gitlab-ci.yml (声明式流水线 YAML)
- src/schemas/jenkins-pipeline.js 生成 Jenkinsfile (Declarative 2.x Groovy)
- src/schemas/index.js 注册到 schemaMap / generatorMap / CI/CD 分类
GitLab CI 覆盖:
- stages 自定义 / 默认切换
- global variables (keyvalue) / default.image / workflow policy
- 4 阶段 Job (lint/build/test/deploy), 每阶段可独立开关
- cache 块 (key.files + paths + policy)
- include 高级用户自填
- 修正后 toYaml 保证所有 list 字段 (stages / script / services /
artifacts.paths / needs / rules / cache.paths) 在 PyYAML 反解为 list
Jenkinsfile 覆盖:
- agent: none/any/label/docker(支持 args+reuseNode)/kubernetes(Pod YAML)
- tools (maven/jdk/gradle/nodejs 自动安装)
- environment env vars (keyvalue)
- options (disableConcurrent / timeout / timestamps / ansiColor /
buildDiscarder / skipDefaultCheckout)
- triggers (githubPush / pollSCM / cron)
- 5 stages (Checkout/Lint/Build/Test/Deploy), 每个可独立开关
- input 人工确认 gate + when { branch ... }
- 顶级 post (always/success/failure/unstable/cleanup)
- 缩进严格 2 空格层级; 大括号平衡验证 29/29
构建:
- npm run build 通过 (dist/assets/index-BLj3d4DO.js)
|
2026-08-07 15:43:52 +08:00 |
|
Your Name
|
23e6ac3afd
|
fix(schemas): k8s toYaml 修复 ports/volumes/envFrom 等数组-对象字段被错渲为 dict
toYaml(obj, indent=0) 旧版递归缩进计算错位,导致:
ports:
ports: <- 多余的父 key 行
- name: http
containerPort: 5099
被 pyyaml 反解为 {0:{...}} 而不是 list, kubectl apply 报:
cannot unmarshal object into Go struct field
Container.spec.template.spec.containers.ports of type []v1.ContainerPort
修复:
- 重写为 baseIndent 字符串缩进版, 数组-对象分支递归渲染后第一行加 '- '
- 新增 yamlScalar(v) 处理 number/boolean/特殊字符安全引号
- 新增 isEmptyMapping(o) 把 emptyDir:{} 等空对象渲染为 {}
- 20 个 k8s-*.js schema 全部统一替换
验证:
- npm run build 通过
- PyYAML 反序列化 ports/volumes/envFrom/tolerations 等 9 个数组-对象字段全部为 list
- 全部 20 个 schema E2E OK
|
2026-08-07 14:31:19 +08:00 |
|
Your Name
|
70e196045c
|
fix: 修复 Ubuntu Netplan static/dhcp 模式缺少 ethernets 层导致 netplan apply 报错
接口名直接挂在 network: 下导致 'unknown key' 错误,
现在正确放在 ethernets: 下面。
ConfTemplate_0.0.3
|
2026-08-07 10:35:47 +08:00 |
|
Your Name
|
c9ed2488e6
|
build: 设置 base: './' 支持静态文件直接打开
|
2026-08-05 17:21:43 +08:00 |
|
Your Name
|
e5ef6792d1
|
feat: 新增网卡配置文件生成器(ifcfg/NM keyfile/Netplan)
- 新增 3 个网络配置生成器,覆盖 CentOS/RHEL 7-9 + Ubuntu 18.04-24.04:
- network-rhel-ifcfg: RHEL/CentOS 7-8 ifcfg 风格(network-scripts)
- network-rhel-nmkeyfile: RHEL/CentOS 9 NetworkManager keyfile
- network-ubuntu-netplan: Ubuntu Netplan YAML
- 每个生成器支持 5 种配置类型: 静态IP / DHCP / Bond / Bridge / VLAN
- Bond 支持 7 种模式(0-6),含 miimon/lacp_rate/成员网卡配置
- 支持路由 Metric 配置(ifcfg METRIC= / NM route-metric= / Netplan metric:)
- ConfigForm 增加 valueIn 依赖支持(修复 keepalived 已有但失效的 valueIn bug)
- 新增「网络配置」侧边栏分类,组件计数 60 -> 63
|
2026-08-05 17:16:41 +08:00 |
|
Your Name
|
02d514fe7d
|
fix(schemas): 修复 nginx/apache/bind/syslog 多个生成配置 bug
通过本地真实工具(nginx -t / named-checkconf / apache2 -t / redis-server)
对全部 60 个 schema 进行 dry-run 验证,发现并修复:
nginx (src/schemas/nginx.js):
- 'listen ... http2' 是 nginx 1.25+ 废弃写法,改为 listen 443 ssl + http2 on
- 修复 'add_header not allowed here' 错误:原模板把 CORS 头写到了关闭的
server 块外(落到 http 顶层),CORS 头重写到 server 作用域内
- 'if' 块内 add_header 在 nginx 1.22+ 直接 emerg;改为只在 if 里 'return 204',
CORS 头由 server 作用域 add_header always 继承到 204 响应
- upstreamServers 默认值漏 ';' (server 127.0.0.1:8080 缺分号),
模板自动补全 + 默认值修正
- add_header X-Cache-Status 加 always,避免清空 CORS 头
apache (src/schemas/apache.js):
- mod_log_config 是 built-in 核心模块,移除 LoadModule 行(会报 'is built-in')
- maxRequestWorkers 默认 256 与 threadsPerChild=25 不整除,改为 250
bind (src/schemas/bind.js):
- ACL 列表 { 127.0.0.1; any } 缺末尾 ';',BIND 9.11+ 报 'missing ; before }'
加 acl() 工具自动补 ';',对 listen-on/allow-query/allow-recursion 均生效
- dnssec-enable 在 BIND 9.16+ 已删除(自动启用),改为注释
- 删掉硬编码的 'include /etc/named.rfc1912.zones' 与 named.root.key
(不同发行版路径不同,9.16+ 默认不存在,会导致启动失败)
syslog (src/schemas/syslog.js):
- 启用 enableHighPrecisionTimestamps 时会重复输出 'ActionFileDefaultTemplate'
(rsyslog 警告)。改为仅在 logFormat 不是 RSYSLOG_FileFormat 时输出自定义
template(RSYSLOG_FileFormat 自带微秒精度)
本机验证: nginx / bind 9.18 / apache 2.4 / redis 7.0 全部 PASS;
26 个 YAML / 3 个 XML / 1 个 JSON schema 全部可解析。
|
2026-07-28 16:46:09 +08:00 |
|
cnbugs
|
0ae7a5858f
|
fix: 注册 Dockerfile 到 Schema 中心
|
2026-07-24 16:26:50 +08:00 |
|
cnbugs
|
6426eedab5
|
feat: 新增 Dockerfile 配置模板,总计 60 个组件
Dockerfile 支持:
- 基础镜像 (FROM) + 多阶段构建 + 平台架构
- 元数据 LABEL / 构建参数 ARG
- 环境变量 ENV / 工作目录 WORKDIR
- 文件复制 COPY + chown/chmod + ADD (自动解压/URL)
- 依赖安装: apk/apt/yum/dnf 包管理器 + 应用依赖 + 构建命令
- 端口 EXPOSE / 数据卷 VOLUME
- 用户 USER (非 root 运行)
- 健康检查 HEALTHCHECK (interval/timeout/retries/start-period)
- 入口 ENTRYPOINT / CMD (exec/shell 格式)
- 停止信号 STOPSIGNAL / Shell 指令
|
2026-07-24 15:12:46 +08:00 |
|
cnbugs
|
4e98eb8c4a
|
feat: 8 个核心 schema 生产级增强
K8S 工作负载 (5个):
- StatefulSet: +探针(Startup/Liveness/Readiness) +环境变量 +节点亲和性 +Pod反亲和性 +容忍度 +安全上下文 +ServiceAccount
- DaemonSet: +容器端口 +探针 +环境变量 +卷挂载 +节点亲和性 +安全上下文 +ServiceAccount
- Pod: +探针 +卷挂载(5种类型) +NodeSelector +节点亲和性 +Pod反亲和性 +容忍度 +安全上下文 +HostNetwork +DNSPolicy
- CronJob: +容器端口 +资源限制 +环境变量 +卷挂载 +安全上下文 +ServiceAccount
- Job: +容器端口 +资源限制 +环境变量 +卷挂载 +安全上下文 +ServiceAccount
中间件 (3个):
- Redis: +ACL配置 +慢日志 +延迟监控 +客户端管理(ioThreads/lazyfree)
- PostgreSQL: +连接池 +流复制(GTID/WAL) +Autovacuum调优
- NGINX: +限流(limit_req) +Upstream负载均衡(least_conn/ip_hash) +缓存(proxy_cache)
|
2026-07-22 15:00:34 +08:00 |
|
cnbugs
|
e258969c37
|
feat: K8s Deployment 全面增强,补充生产级配置
新增 11 个配置分组:
- 启动探针 (Startup Probe): 类型、路径/端口/命令、初始延迟、周期、失败阈值、超时
- 存活探针 (Liveness Probe): 完整参数 + HTTP Headers + Exec 命令
- 就绪探针 (Readiness Probe): 完整参数 + HTTP Headers + Exec 命令
- 环境变量: KEY=VALUE 直接输入、从 ConfigMap/Secret 导入
- 卷挂载: emptyDir / PVC / ConfigMap / Secret / HostPath
- NodeSelector: 简单节点标签匹配
- 节点亲和性 (Node Affinity): required / preferred + In/NotIn/Exists/Gt/Lt
- Pod 反亲和性: 跨节点/可用区分散副本
- 容忍度 (Tolerations): NoSchedule / PreferNoSchedule / NoExecute
- 安全上下文: runAsUser、readOnlyRootFilesystem、fsGroup
- 部署策略增强: revisionHistoryLimit、progressDeadlineSeconds、minReadySeconds
- 标签增强: ServiceAccount、优雅终止时间
|
2026-07-22 14:42:14 +08:00 |
|
cnbugs
|
c45a59c6d1
|
feat: 移动端自适应布局
- 768px 断点: 侧边栏变为抽屉式滑出, 汉堡按钮切换
- 移动端顶栏: 显示当前组件名称
- 移动端 Tab: 配置表单/代码预览一键切换
- 遮罩层: 点击遮罩自动收起侧边栏
- 切换组件后自动收起侧边栏并回到表单 tab
- 平板端 (1024px) 表单区域适当缩窄
0.0.2
|
2026-07-19 16:35:29 +08:00 |
|
cnbugs
|
b951e29c00
|
fix: 修复 schema 切换时 generator 被旧 config 调用导致白板
根因: activeSchemaId 变化后,ConfigForm 还没 emit 新默认值,generator 就用旧 config 执行了
修复: 在 App.vue 中 watch activeSchemaId,切换时立即用新 schema 默认值重置 config
同时修复 bind.js 中 forwarders.split() 的防御性空值处理
|
2026-07-19 16:25:07 +08:00 |
|
cnbugs
|
14f02df58d
|
chore: 移除误提交的 tar.gz,更新 gitignore
|
2026-07-19 16:11:14 +08:00 |
|
cnbugs
|
d80d33e6f6
|
feat: 新增 15 个服务组件,总计 59 个
系统服务: NTP, DHCP, BIND, NFS, SAMBA, RSYNC, Sersync, vsftpd, Subversion
数据库中间件: Mycat
CI/CD: GitLab, Jenkins
高可用: Keepalived, HAProxy, LVS
新增 4 个分类: 系统服务、数据库中间件、CI/CD、高可用
|
2026-07-19 16:11:09 +08:00 |
|
cnbugs
|
3d6501efd5
|
feat: 新增 Apache、Tomcat,总计 44 个组件
- Apache: MPM 模型(event/worker/prefork)、SSL、反向代理、模块管理、Gzip
- Tomcat: 连接器配置、线程池、AJP、SSL、JVM 内存(Xms/Xmx)、GC 策略
0.0.1
|
2026-07-18 19:59:57 +08:00 |
|
cnbugs
|
2916dce148
|
feat: 新增 16 个中间件组件,总计 42 个
数据库: PostgreSQL, Oracle
搜索引擎: Elasticsearch
消息队列: RocketMQ, Kafka
服务治理: Nacos
分布式协调: ZooKeeper, Etcd
容器化: Docker, Docker Compose
日志监控: Logstash, Kibana, Prometheus, Grafana, Zabbix, Syslog
新增分类: 搜索引擎、消息队列、服务治理、分布式协调、容器化、日志监控
更新 README 组件矩阵与侧边栏计数
|
2026-07-18 19:54:57 +08:00 |
|
cnbugs
|
a15d738cf4
|
feat: 侧边栏分类折叠功能
- 点击分类标题可展开/折叠
- 显示每个分类的组件数量徽标
- 箭头指示器随状态旋转
- 切换组件时自动展开对应分类
- 搜索时自动展开所有匹配分类
- 底部显示组件总数
|
2026-07-18 19:44:16 +08:00 |
|
cnbugs
|
4f702b833a
|
feat: 新增 18 个 K8s 资源配置模板
工作负载: Pod, StatefulSet, DaemonSet, Job, CronJob
服务发现: Ingress
存储管理: PersistentVolume, PersistentVolumeClaim, StorageClass
配置与密钥: ConfigMap, Secret
安全与权限: ServiceAccount, Role, ClusterRole, RoleBinding, ClusterRoleBinding, NetworkPolicy
集群管理: Namespace
总计支持 26 个组件,覆盖 K8s 核心资源全谱
|
2026-07-18 19:39:45 +08:00 |
|
cnbugs
|
4c25ae183e
|
feat: 新增 MongoDB、Ansible、Ansible Playbook 三个组件
- MongoDB: WiredTiger 引擎、认证、TLS、副本集、Oplog、压缩算法
- Ansible: SSH 连接、Pipelining、Become 提权、Forks、日志、事实缓存
- Ansible Playbook: 变量、包管理、服务管理、文件复制、模板渲染、Shell、Handlers
- 更新 README 组件矩阵与项目结构
- 更新 Schema 注册中心,新增自动化运维分类
|
2026-07-18 19:28:34 +08:00 |
|
cnbugs
|
5070664593
|
feat: 初始化 ConfTemplate 云原生配置文件生成器
- Vue 3 + Element Plus + Monaco Editor 技术栈
- 支持 NGINX、Redis、MySQL、K8s Deployment、K8s Service 五个组件
- 侧边栏搜索过滤、动态表单联动、实时代码预览
- 一键复制/下载/重置,localStorage 状态持久化
- 纯前端静态页面,零后端依赖
|
2026-07-18 19:19:14 +08:00 |
|