{"id":42023442,"url":"https://github.com/stratocloud-cmp/stratocloud","last_synced_at":"2026-01-26T04:00:51.650Z","repository":{"id":289185561,"uuid":"941901190","full_name":"stratocloud-cmp/stratocloud","owner":"stratocloud-cmp","description":"开源的多云/混合云管理平台(Multi-cloud and Hybrid-cloud Management Platform, CMP)，实现云资源的一站式编排、申请、审批与管理","archived":false,"fork":false,"pushed_at":"2026-01-21T07:50:59.000Z","size":6628,"stargazers_count":38,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-01-21T19:22:15.394Z","etag":null,"topics":["aliyun","cmp","huaweicloud","hybrid-cloud","multi-cloud","openstack","orchestration","smartx","tencent-cloud","vsphere"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stratocloud-cmp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-03-03T08:43:27.000Z","updated_at":"2025-10-27T03:52:12.000Z","dependencies_parsed_at":null,"dependency_job_id":"c46c0bbe-fecd-40d8-b698-b146d321397e","html_url":"https://github.com/stratocloud-cmp/stratocloud","commit_stats":null,"previous_names":["stratocloud-cmp/stratocloud"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/stratocloud-cmp/stratocloud","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stratocloud-cmp%2Fstratocloud","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stratocloud-cmp%2Fstratocloud/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stratocloud-cmp%2Fstratocloud/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stratocloud-cmp%2Fstratocloud/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stratocloud-cmp","download_url":"https://codeload.github.com/stratocloud-cmp/stratocloud/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stratocloud-cmp%2Fstratocloud/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28766352,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-26T03:54:34.369Z","status":"ssl_error","status_checked_at":"2026-01-26T03:54:33.031Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aliyun","cmp","huaweicloud","hybrid-cloud","multi-cloud","openstack","orchestration","smartx","tencent-cloud","vsphere"],"created_at":"2026-01-26T04:00:26.378Z","updated_at":"2026-01-26T04:00:51.635Z","avatar_url":"https://github.com/stratocloud-cmp.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"StratoCloud\n==========\n**StratoCloud**是一款开源的**多云/混合云管理平台(Multi-cloud and Hybrid-Cloud Management Platform, CMP)**，\n屏蔽多云/混合云环境不同云厂商之间操作逻辑和API的差异，帮助您实现云资源的一站式编排、申请、审批与管理。\n\n# 关键特性\n* 云资源全生命周期管理\n  * 实现云主机、云数据库、云中间件、云硬盘、弹性网卡、弹性IP、负载均衡、安全组等云资源的统一申请、变更、回收操作\n* Kubernetes资源全生命周期管理\n  * 实现Deployment、Pod、StatefulSet、Service、Ingress、ConfigMap等k8s资源的统一管理\n* 多级租户\n  * 支持按多级租户结构控制数据权限，实现不同子公司、部门、项目组等组织结构的数据隔离与共享\n* 用户组与资源标签\n  * 您可以使用用户组来与其他人共享您的云资源权限，通过资源标签控制用户组对云资源的访问\n* 配额管理\n  * 支持按租户、用户、云平台、云账号、资源类型、资源标签等多个维度进行云资源的配额管理\n* 流程编排\n  * 实现审批节点与多个任务节点的自由组合，可视化编排资源申请、变更、回收的审批流程\n* 软件库与脚本库\n  * 您可以设计平台无关的软件/脚本定义，只需设计一次即可在任意云上执行，简化您的应用、中间件、数据库与运维脚本的部署流程\n* IP地址管理\n  * 使用IP池对您的云主机IP地址进行统一管理\n* 任务调度\n  * 实时查看您的云上任务进度，支持失败重试，支持定时任务的集中式管理\n* 资源编排[(商业版功能)](./docs/PREMIUM.md)\n  * 通过资源栈蓝图设计您的资源拓扑，并以资源栈形式部署并管理您的资源拓扑\n* 私有云管理[(商业版功能)](./docs/PREMIUM.md)\n  * 支持对接OpenStack、vSphere、SmartX等私有云/虚拟化平台\n* SSH/WinRM远程命令执行[(商业版功能)](./docs/PREMIUM.md)\n  * 支持通过SSH/WinRM在私有云环境部署软件或执行脚本\n\n\n\u003cdiv style=\"text-align: center;margin-top: 36px\"\u003e\n\n![云资源全生命周期管理](docs/img/instances.png)\n*云资源全生命周期管理*\n\n![云资源详情](docs/img/instance_detail.png)\n*云资源详情*\n\n![云资源监控](docs/img/metrics.png)\n*云资源监控*\n\n![软件库](docs/img/software_definition.png)\n*软件库*\n\n![蓝图编排](docs/img/blueprint.png)\n*蓝图编排*\n\n\u003c/div\u003e\n\n# 逻辑架构\n![arch](docs/img/architecture_20250424.jpg)\n\n# 为什么选择StratoCloud?\n* 多云/混合云管理\n  * 一套系统轻松管理多云/混合云环境的各种云资源，提升资源交付与运维效率\n* 用户自助服务\n  * 使用StratoCloud来构建您的资源申请、变更、回收等审批流程，减少重复运维工作\n* 多级租户权限模型\n  * 灵活适配您所在公司的组织架构与运维制度\n* 资源拓扑\n  * StratoCloud的资源模型设计参考[TOSCA标准](https://docs.oasis-open.org/tosca/TOSCA/v2.0/TOSCA-v2.0.html)，自动化构建、发现和同步您的资源拓扑\n* 领域驱动设计\n  * 采用领域驱动的模块化设计思路，基于纯Java实现，易于部署和维护，支持国产化部署，满足信创需求。详见[设计考虑](./docs/DESIGN_CONSIDERATIONS.md)\n* 可扩展性\n  * 所有云平台的对接模块均为可插拔、开箱即用的Maven模块，无需改动主体代码，提升云平台对接开发效率。详见[二次开发参考](./docs/DEVELOPER_REFERENCE.md)\n* 快速交付\n  * 并行、异步的云平台调用逻辑，提升资源交付速度和界面响应速度\n\n# 快速开始  \n本小节将引导您快速安装StratoCloud。在您开始安装之前，请知悉“快速开始”的目的仅限于帮助您快速了解StratoCloud，为单机部署模式。如果有高可用部署需求，详见[商业版功能](./docs/PREMIUM.md)或[二次开发参考](./docs/DEVELOPER_REFERENCE.md)。\n## 1.环境准备\n* 最低配置：CPU 4核, 内存 8GB, 存储 50GB, Java 17\n* 推荐配置：CPU 8核, 内存 16GB, 存储 50GB, Java 21\n* 如果未安装Java，请前往[https://jdk.java.net/java-se-ri/21](https://jdk.java.net/java-se-ri/21)获取\n* StratoCloud可运行在Java 17及以上版本(建议选用Java 21)，您可以使用`java -version`命令检查您的Java版本:\n```shell\n$ java -version\nopenjdk version \"21.0.2\" 2024-01-16\nOpenJDK Runtime Environment (build 21.0.2+13-58)\nOpenJDK 64-Bit Server VM (build 21.0.2+13-58, mixed mode, sharing)\n```\n## 2.下载安装包\n* Windows用户请点击[此处](https://github.com/stratocloud-cmp/stratocloud/releases/download/v1.0.1/stratocloud-release-1.0.1.zip)下载安装包，解压到您的本地磁盘，例如`D:\\stratocloud`。\n* macOs和Linux用户请运行以下命令:\n```shell\n# 下载安装包\n$ wget https://github.com/stratocloud-cmp/stratocloud/releases/download/v1.0.1/stratocloud-release-1.0.1.zip\n\n# 解压\n$ unzip stratocloud-1.0.1-release.zip\n```\n## 3.修改配置文件\n* StratoCloud默认支持使用H2、PostgreSQL或MySQL作为后端存储，您可以根据需求选用其中一种 (H2数据库为内置数据库无需单独部署)。如果有使用其他国产数据库需求，详见[商业版功能](./docs/PREMIUM.md)或[二次开发参考](./docs/DEVELOPER_REFERENCE.md)  \n* 请根据您选用的数据库参考以下配置文件，修改并覆盖到`stratocloud-1.0.1-release/config/application.yaml`  \n* 如果您想直接使用默认配置，请跳过本小节并前往[第4步](#4启动服务)\n\n**H2数据库(内置):**\n```yaml\nserver:\n  port: 8080 #您可以将`8080`替换成其他端口\nspring:\n  application:\n    name: \"strato-cloud\"\n  datasource:\n    driver-class-name: org.h2.Driver\n    url: jdbc:h2:file:/etc/stratocloud/storage/h2 #您可以将`/etc/stratocloud/storage/h2`替换成其他文件路径\n    username: stratocloud #您可以将`stratocloud`替换成您的数据库用户名\n    password: stratocloud #您可以将`stratocloud`替换成您的数据库密码\n    hikari:\n      minimum-idle: 5\n      maximum-pool-size: 200\n      auto-commit: true\n      idle-timeout: 30000\n      max-lifetime: 1800000\n      connection-timeout: 20000\n      connection-test-query: SELECT 1\n  jpa:\n    generate-ddl: false\n    hibernate:\n      ddl-auto: update\n    database: h2\n    show-sql: false\n    open-in-view: true\n\nlogging:\n  file:\n    path: /etc/stratocloud/log\n```  \n\n**PostgreSQL数据库:**\n```yaml\nserver:\n  port: 8080 #您可以将`8080`替换成其他端口\nspring:\n  application:\n    name: \"strato-cloud\"\n  datasource:\n    driver-class-name: org.postgresql.Driver\n    #请确保在PostgreSQL实例中建好名为stratocloud的数据库\n    url: jdbc:postgresql://127.0.0.1:5432/stratocloud #您可以将`127.0.0.1:5432`替换成您的PostgreSQL地址\n    username: stratocloud #您可以将`stratocloud`替换成您的数据库用户名\n    password: stratocloud #您可以将`stratocloud`替换成您的数据库密码\n    hikari:\n      minimum-idle: 5\n      maximum-pool-size: 200\n      auto-commit: true\n      idle-timeout: 30000\n      max-lifetime: 1800000\n      connection-timeout: 20000\n      connection-test-query: SELECT 1\n  jpa:\n    generate-ddl: false\n    hibernate:\n      ddl-auto: update\n    show-sql: false\n    open-in-view: true\n\nlogging:\n  file:\n    path: /etc/stratocloud/log\n```  \n\n**MySQL数据库:**\n```yaml\nserver:\n  port: 8080 #您可以将`8080`替换成其他端口\nspring:\n  application:\n    name: \"strato-cloud\"\n  datasource:\n    driver-class-name: com.mysql.cj.jdbc.Driver\n    #请确保在MySQL实例中建好名为stratocloud的数据库\n    url: jdbc:mysql://127.0.0.1:3306/stratocloud?useSSL=false\u0026serverTimezone=UTC #您可以将`127.0.0.1:3306`替换成您的MySQL地址\n    username: stratocloud #您可以将`stratocloud`替换成您的数据库用户名\n    password: stratocloud #您可以将`stratocloud`替换成您的数据库密码\n    hikari:\n      minimum-idle: 5\n      maximum-pool-size: 200\n      auto-commit: true\n      idle-timeout: 30000\n      max-lifetime: 1800000\n      connection-timeout: 20000\n      connection-test-query: SELECT 1\n  jpa:\n    generate-ddl: false\n    hibernate:\n      ddl-auto: update\n    show-sql: false\n    open-in-view: true\n```  \n\n## 4.启动服务\n请在命令行中执行以下命令以切换到stratocloud-1.0.1-release/bin目录\n```shell\n$ cd stratocloud-1.0.1-release/bin\n```\n执行启动脚本(Linux/macOS环境):  \n```shell\n#启动StratoCloud\n$ nohup sh startup.sh \u0026\n\n#查看日志\n$ tail -f /etc/stratocloud/log/spring.log\n```\n执行启动脚本(Windows环境):\n```shell\n#启动StratoCloud\n$ startup.cmd\n```\n使用浏览器访问StratoCloud页面，如果是本机部署，默认地址为[http://127.0.0.1:8080](http://127.0.0.1:8080)。默认用户名与密码一致: `super_admin`\n\n# 文档\n[1.使用手册](./docs/USER_GUIDE.md)  \n[2.最佳实践](./docs/BEST_PRACTICES.md)  \n[3.设计考量](./docs/DESIGN_CONSIDERATIONS.md)  \n[4.二次开发参考](./docs/DEVELOPER_REFERENCE.md)  \n[5.商业版功能](./docs/PREMIUM.md)\n\n# 前端项目\n[stratocloud-ui](https://github.com/stratocloud-cmp/stratocloud-ui)\n\n# 联系我们\n[stratocloud@163.com](mailto:stratocloud@163.com)\n\n# License\n[Apache 2.0 License](LICENSE)\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstratocloud-cmp%2Fstratocloud","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstratocloud-cmp%2Fstratocloud","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstratocloud-cmp%2Fstratocloud/lists"}