Ortelius API
2026年08月14日 09:04

GISBox是一站式三维GIS数据编辑、转换、发布平台,支持OSGB/GEOTIFF/RVT等多种GIS格式编辑,转换为3DTiles/Terrain等并发布。

简介

Ortelius API是开源微服务元数据管理平台Ortelius对外提供的一组接口集合,包含REST API、GraphQL等多种形式,支持JWT身份认证,托管版与本地部署版分别对应不同的基础访问地址。它主要用于对接CI/CD流水线,实现发布版本、SBOM物料清单的上传,自动同步OSV.dev的CVE漏洞数据,同时支撑前端界面、CLI工具与后端Postgres数据库之间的数据交互,还可通过Kafka事件机制异步接入发布事件,帮助开发者统一管理微服务配置与依赖关系,提升分布式系统的可观测性。

文件结构

Ortelius API的文件结构可分为项目根目录、核心源码目录、配套资源目录三大类,各部分分工明确:

  1. 根目录核心文件:包含go.mod、go.sum等Go依赖管理文件,Dockerfile容器化构建文件,README.md项目说明文档,以及.github工作流配置、.gitignore版本控制忽略规则等基础配置文件。
  2. 核心源码目录:src/api存放REST、GraphQL接口的路由与请求处理逻辑,src/models定义数据库实体与数据模型,src/services封装API的核心业务逻辑,src/utils提供通用工具函数。
  3. 配套资源目录:bin存放编译生成的可执行程序,conf存储服务运行所需的配置文件,docs收录API参考文档与实现指南,tests包含接口单元测试与集成测试用例。
  4. 微服务相关目录:各独立功能微服务(如域、用户组、分组服务)的专属目录,内置对应对象的RestAPI实现、Helm部署Chart与Swagger接口定义文件。

优点

  1. 多接入方式灵活:支持直接调用REST接口、通过CLI工具对接,还可通过Kafka异步上传发布事件,适配不同CI/CD流水线的接入需求。
  2. 漏洞数据自动同步:每15分钟自动从OSV.dev同步CVE漏洞数据,自动匹配已上传的SBOM物料清单,实现漏洞全生命周期追踪。
  3. 权限管控能力完善:采用GitOps风格的RBAC多租户访问控制模型,支持通过配置文件、Webhook或API上传的方式统一管理组织与用户权限。
  4. 架构兼容性较强:可对接PostgreSQL数据库存储数据,同时兼容Java后端、Python FastAPI微服务的混合架构,适配不同技术栈的系统集成。

缺点

  1. 架构存在历史遗留:平台从单体架构逐步迭代为混合架构,部分早期接口基于Java JSP实现,新功能以微服务形式补充,整体架构一致性不足。
  2. 公开接口覆盖有限:仅开放了PostgreSQL数据库的小部分公共Rest API,大量内部数据的对外查询能力受限,自定义二次开发的灵活度不足。
  3. 部署门槛相对较高:本地部署需要同时维护Tomcat/Jetty应用服务器、Docker容器、多类微服务组件,对运维人员的技术能力有一定要求。
  4. 文档完善度不足:公开可查的API参考文档细节较少,部分小众接口的使用示例缺失,新用户上手调试需要花费较多时间摸索。

应用场景

Ortelius API主要应用于软件供应链安全管理与微服务治理领域,企业可通过它将CI/CD流水线中的构建发布事件、SBOM物料清单自动同步到平台,借助其漏洞数据对接能力持续追踪组件安全风险。同时它适合多团队协作的场景,通过RBAC权限模型实现跨组织的资源隔离与统一管控。此外它还可用于构建微服务依赖拓扑图谱,帮助运维团队快速定位服务间的调用关系与版本变化,支撑发布审计与合规追溯需求。

示例图

1. 从SBOM收集到与Ortelius的持续漏洞管理。

Snipaste_2026-08-14_09-23-24.jpg

文件打开方式

1. 每个组织都存储自己的显示名称、描述和仓库跟踪配置。

Snipaste_2026-08-14_09-27-21.jpg

相关 GIS 服务

Web 地图渲染服务 OGC API

切片地图服务

HERE Technologies

Azure Maps API

参考资料

  1. https://ortelius.io/blog/2026/08/12/from-sbom-collection-to-continuous-vulnerability-management-with-ortelius/
  2. https://blog.csdn.net/gitblog_00819/article/details/140982709
  3. https://docs.ortelius.io/guides/configure-ortelius/manage-organizations/