@namewta/speculo 1.0.6 → 1.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/ops-resources.js +1 -1
- package/dist/src/ops-resources.js.map +1 -1
- package/package.json +1 -1
- package/template/workflows/ops/D-project-deploy/D-project-deploy.md +1 -1
- package/template/workflows/ops/H-host-manage/H-host-manage.md +5 -1
- package/template/workflows/ops/I-initialize/I-initialize.md +2 -2
- package/template/workflows/ops/README.md +8 -5
- package/template/workflows/ops/common/CAPABILITIES.md +2 -2
- package/template/workflows/ops/common/USAGE.md +25 -25
- package/template/workflows/ops/common/examples/README.md +1 -1
- package/template/workflows/ops/common/examples/register.example.json +1 -1
- package/template/workflows/ops/common/rules/persistence-and-secrets.md +1 -1
- package/template/workflows/ops/common/schemas/host.schema.json +65 -2
- package/template/workflows/ops/common/schemas/plan.schema.json +315 -3
- package/template/workflows/ops/common/schemas/spec.schema.json +137 -1
- package/template/workflows/ops/common/schemas/status.schema.json +143 -1
- package/template/workflows/ops/common/service-profiles/elasticsearch.md +13 -0
- package/template/workflows/ops/common/service-profiles/redis.md +4 -0
- package/template/workflows/ops/common/templates/CONTROLLER-RECORD.md +16 -2
- package/template/workflows/ops/common/templates/HOST-README.md +12 -2
- package/template/workflows/ops/common/tests/test_ops.mjs +982 -0
- package/template/workflows/ops/common/tools/bootstrap.ps1 +2 -2
- package/template/workflows/ops/common/tools/bootstrap.sh +2 -2
- package/template/workflows/ops/common/tools/demo-local.mjs +101 -0
- package/template/workflows/ops/common/tools/ops.mjs +4 -0
- package/template/workflows/ops/common/tools/opslib/agent.mjs +904 -0
- package/template/workflows/ops/common/tools/opslib/cli.mjs +311 -0
- package/template/workflows/ops/common/tools/opslib/control_files.mjs +57 -0
- package/template/workflows/ops/common/tools/opslib/core.mjs +393 -0
- package/template/workflows/ops/common/tools/opslib/docs.mjs +436 -0
- package/template/workflows/ops/common/tools/opslib/execution.mjs +396 -0
- package/template/workflows/ops/common/tools/opslib/host_recipes.mjs +109 -0
- package/template/workflows/ops/common/tools/opslib/model.mjs +272 -0
- package/template/workflows/ops/common/tools/opslib/{native_windows.py → native_windows.mjs} +16 -12
- package/template/workflows/ops/common/tools/opslib/planner.mjs +781 -0
- package/template/workflows/ops/common/tools/opslib/services.mjs +76 -0
- package/template/workflows/ops/common/tools/opslib/sources.mjs +56 -0
- package/template/workflows/ops/common/tools/opslib/transport.mjs +127 -0
- package/template/workflows/ops/common/tools/validate-ops.mjs +43 -30
- package/template/workflows/ops/common/tests/test_ops.py +0 -392
- package/template/workflows/ops/common/tools/demo-local.py +0 -64
- package/template/workflows/ops/common/tools/ops.py +0 -7
- package/template/workflows/ops/common/tools/opslib/__init__.py +0 -2
- package/template/workflows/ops/common/tools/opslib/__pycache__/__init__.cpython-312.pyc +0 -0
- package/template/workflows/ops/common/tools/opslib/__pycache__/core.cpython-312.pyc +0 -0
- package/template/workflows/ops/common/tools/opslib/__pycache__/model.cpython-312.pyc +0 -0
- package/template/workflows/ops/common/tools/opslib/agent.py +0 -510
- package/template/workflows/ops/common/tools/opslib/cli.py +0 -172
- package/template/workflows/ops/common/tools/opslib/core.py +0 -199
- package/template/workflows/ops/common/tools/opslib/docs.py +0 -199
- package/template/workflows/ops/common/tools/opslib/execution.py +0 -248
- package/template/workflows/ops/common/tools/opslib/host_recipes.py +0 -67
- package/template/workflows/ops/common/tools/opslib/model.py +0 -199
- package/template/workflows/ops/common/tools/opslib/planner.py +0 -497
- package/template/workflows/ops/common/tools/opslib/services.py +0 -47
- package/template/workflows/ops/common/tools/opslib/sources.py +0 -27
- package/template/workflows/ops/common/tools/opslib/transport.py +0 -55
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# elasticsearch 服务档案
|
|
2
|
+
|
|
3
|
+
提供者是独立 elasticsearch 项目(或用户选定的 kebab ID),`service_type` 用实际产品名,不伪装成内置分配 adapter。image 固定摘要。数据在 `data/elasticsearch/data`,日志在 `logs/elasticsearch`;容器内 data/logs 路径按所用镜像 VOLUME 显式 bind,禁止匿名卷。
|
|
4
|
+
|
|
5
|
+
官方 Elasticsearch 8 会在启动时写 `elasticsearch.keystore`(临时文件 `elasticsearch.keystore.tmp`)。把 config/data/logs bind 到项目目录后:
|
|
6
|
+
|
|
7
|
+
- 容器用户必须能写 data 与实际 keystore 目录;不要把 keystore 放进只读 config bind。
|
|
8
|
+
- 仅当镜像仍必须写容器根文件系统时,才允许 `read_only: false`,并提供不少于 12 字符的 `writable_root_justification`。默认仍是只读根。
|
|
9
|
+
- `config/` 与 `*.conf`/`*.yml` 默认文件模式 0644,供非 root 镜像用户读取;config/env bind 必须 `read_only: true`。
|
|
10
|
+
|
|
11
|
+
生产健康检查不能只用 docker-proxy 上的 TCP。Compose 服务应声明 `healthcheck`;`compose --wait` 之后执行器要求 `State.Status=running`、非 OOMKilled/Restarting,若存在 Health 则必须 `healthy`。
|
|
12
|
+
|
|
13
|
+
没有内置集群分配/账号 adapter。跨项目访问通过 existing + 实际授权探测,或专用 host/project 脚本;不能把「能 compose up」写成已具备逻辑资源恢复能力。备份使用该版本可验证的 snapshot/仓库工具;单 APP 回滚不得恢复整个集群。
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
提供者独立 redis-main 项目,service_type=redis,service.compose_service 指向实际服务。数据在 data/redis/instance;ACL 文件配置为 data/redis/acl/users.acl(service.acl_persistence 必须完全匹配),容器 ACL 写入路径必须映射到这个项目数据目录,不能将 ACL SAVE 写到只读 config。
|
|
4
4
|
|
|
5
|
+
`config/redis.conf` 以及 `*.acl` 默认文件模式 0644。Redis 镜像若以非 root 用户运行,0600 root 配置会导致 `can't open config file` 后重启循环。config bind 必须只读;可写数据只在 data/logs/run。不要为了读配置而把整个容器根改成可写。
|
|
6
|
+
|
|
5
7
|
每个 APP 使用不同 ACL username、prefix 和凭据;禁用/限制危险管理命令,内置分配使用受限命令类别。必须核验真实客户端兼容性、ACL SAVE 和新账号认证。prefix/数字 DB 不等于独立内存/CPU/备份恢复边界;要求强隔离时部署专用实例。
|
|
6
8
|
|
|
9
|
+
生产健康检查使用 redis-cli PING 或镜像 healthcheck,不能把 docker-proxy 的 TCP listen 当成进程可用。无 healthcheck 时 `compose --wait` 只表示容器已创建。
|
|
10
|
+
|
|
7
11
|
持久化 AOF/RDB 属于业务数据不是可随意清理的日志。公共实例恢复影响所有消费者,需要整体维护批准。
|
|
@@ -1,13 +1,27 @@
|
|
|
1
1
|
# 部署机完整明文记录
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
此文件是内容合同;控制端总册在策略启用时于表格单元格内保存真实账号密码,服务端 README 默认仍不写密码。
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## 服务一览表
|
|
6
|
+
|
|
7
|
+
主机、服务(含主机级入口)、访问地址、账号、密码、版本、最近部署时间、持久化目录。特殊字符逐字保留。路径使用 Markdown,不用 HTML `<code>`。
|
|
8
|
+
|
|
9
|
+
## 公网访问内网
|
|
10
|
+
|
|
11
|
+
当前映射行、四层条件、新开公网 HTTP 清单、禁止项。与 Clash/TUN 出口不是同一条连接。
|
|
12
|
+
|
|
13
|
+
## 说明
|
|
14
|
+
|
|
15
|
+
特别约束、启停、备份恢复。不把每个项目 README 全文拼进 FLEET / 主机 DEPLOYMENTS。
|
|
6
16
|
|
|
7
17
|
## 真实用户名、密码、访问密钥与用途
|
|
8
18
|
|
|
19
|
+
表格单元格 + 项目 OPERATIONS;未知旧密码不能编造。密钥认证记录实际认证方式。
|
|
20
|
+
|
|
9
21
|
## 服务端配置和 README 镜像位置
|
|
10
22
|
|
|
23
|
+
hosts/<host_id>/deployments/<id>/server-files 与 server/README。主机级入口:hosts/<id>/knowledge/host-services.json。
|
|
24
|
+
|
|
11
25
|
## 运行记录、局部失败/unknown、双边回执
|
|
12
26
|
|
|
13
27
|
## 业务数据备份实际位置,不声称仅记录配置就备份数据
|
|
@@ -4,8 +4,18 @@
|
|
|
4
4
|
|
|
5
5
|
## host_id、实际身份、host_root、更新 UTC 时间
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## 服务一览表
|
|
8
|
+
|
|
9
|
+
主机、服务(含 APP / 共享服务 / WireGuard / Nginx / 探测单元)、访问地址、账号(服务端不写密码)、版本、最近验证时间、持久化或配置路径。未写入 host_services 或部署账本的入口下次交付不会出现。
|
|
10
|
+
|
|
11
|
+
## 公网访问内网(若已登记 public_ingress)
|
|
12
|
+
|
|
13
|
+
映射表、四层条件、新开公网 HTTP 服务步骤、禁止暴露的端口。入口与出口不是同一条连接。
|
|
14
|
+
|
|
15
|
+
## 说明
|
|
16
|
+
|
|
17
|
+
各主机级服务的 ListenPort / 隧道地址 / 配置路径 / 规范,以及 APP 备份恢复摘要。完整启停命令在项目 README,不把项目全文拼进主机总册。
|
|
8
18
|
|
|
9
19
|
## 通用规范、知识与部署总册索引
|
|
10
20
|
|
|
11
|
-
|
|
21
|
+
`docs/standards/DEPLOYMENT-STANDARD.md`;`knowledge/host-services.json`;`knowledge/public-ingress.json`;`DEPLOYMENTS.md`。
|