{"id":15132415,"url":"https://github.com/qihoo360/wayne","last_synced_at":"2025-05-16T15:08:35.849Z","repository":{"id":33406020,"uuid":"157340659","full_name":"Qihoo360/wayne","owner":"Qihoo360","description":"Kubernetes multi-cluster management and publishing platform","archived":false,"fork":false,"pushed_at":"2022-05-31T00:52:04.000Z","size":20853,"stargazers_count":3713,"open_issues_count":61,"forks_count":829,"subscribers_count":154,"default_branch":"master","last_synced_at":"2025-05-16T15:08:30.764Z","etag":null,"topics":["docker","kubernetes","kubernetes-cluster","wayne"],"latest_commit_sha":null,"homepage":"http://360yun.org/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Qihoo360.png","metadata":{"files":{"readme":"README-CN.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-11-13T07:47:59.000Z","updated_at":"2025-05-15T08:00:31.000Z","dependencies_parsed_at":"2022-07-13T10:30:35.775Z","dependency_job_id":null,"html_url":"https://github.com/Qihoo360/wayne","commit_stats":null,"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qihoo360%2Fwayne","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qihoo360%2Fwayne/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qihoo360%2Fwayne/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qihoo360%2Fwayne/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Qihoo360","download_url":"https://codeload.github.com/Qihoo360/wayne/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254553958,"owners_count":22090417,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["docker","kubernetes","kubernetes-cluster","wayne"],"created_at":"2024-09-26T04:04:44.836Z","updated_at":"2025-05-16T15:08:30.841Z","avatar_url":"https://github.com/Qihoo360.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Wayne\n\n[![Build Statue](https://travis-ci.org/Qihoo360/wayne.svg?branch=master)](https://travis-ci.org/Qihoo360/wayne)\n[![Build Tag](https://img.shields.io/github/tag/Qihoo360/wayne.svg)](https://github.com/Qihoo360/wayne/releases)\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/Qihoo360/wayne/blob/master/LICENSE)\n[![Go Report Card](https://goreportcard.com/badge/github.com/Qihoo360/wayne)](https://goreportcard.com/report/github.com/Qihoo360/wayne)\n\n[English](https://github.com/Qihoo360/wayne/blob/master/README.md) | [中文](https://github.com/Qihoo360/wayne/blob/master/README-CN.md)\n\nWayne 是一个通用的、基于 Web 的 **[Kubernetes](https://kubernetes.io)  多集群管理平台**。通过可视化 Kubernetes 对象模板编辑的方式，降低业务接入成本，\n拥有完整的权限管理系统，适应多租户场景，是一款适合企业级集群使用的**发布平台**。\n\nWayne已大规模服务于360搜索，承载了内部绝大部分业务，稳定管理了近千个业务，上万个容器，运行了两年多时间，经受住了生产的考验。\n\n\u003e 命名起源：360 搜索私有云团队多数项目命名都来源于 DC 漫画的角色，Wayne 也不例外，[Wayne](https://en.wikipedia.org/wiki/Batman#Bruce_Wayne) 是声名显赫的超级英雄蝙蝠侠 Bruce Wayne 的名字。\n\n![控制面板](docs/images/dashboard-ui.png)\n\n## Features\n\n- 基于 RBAC（Role based access control）的权限管理：用户通过角色与部门和项目关联，拥有部门角色允许操作部门资源，拥有项目角色允许操作项目资源，更加适合多租户场景。\n- 简化 Kubernetes 对象创建：提供基础 Kubernetes 对象配置文件添加方式，同时支持高级模式直接编辑 Json/Yaml 文件创建 Kubernetes 对象。\n- LDAP/OAuth 2.0/DB 多种登录模式支持：集成企业级 LDAP 登录及 DB 登录模式，同时还可以实现 OAuth2 登录。\n- 支持多集群、多租户：可以同时管理多个 Kubernetes 集群，并针对性添加特定配置，更方便的多集群、多租户管理。\n- 提供完整审计模块：每次操作都会有完整的审计功能，追踪用于操作历史，同时支持用户自定义 webhook。\n- 提供基于 APIKey 的开放接口调用：用户可自主申请相关 APIKey 并管理自己的部门和项目，运维人员也可以申请全局 APIKey 进行特定资源的全局管理。\n- 保留完整的发布历史：用户可以便捷的找到任何一次历史发布，并可轻松进行回滚，以及基于特定历史版本更新 Kubernetes 资源。\n- 具备完善的资源报表：用户可以轻松获取各项目的资源使用占比和历史上线频次（天级）以及其他基础数据的报表和图表。\n- 提供基于严密权限校验的 Web shell：用户可以通过 Web shell 的形式进入发布的 Pod 进行操作，自带完整的权限校验。 \n- 提供站内通知系统：方便管理员推送集群、业务通知和故障处理报告等。\n\n## 架构设计\n\n整体采用前后端分离的方案，其中前端采用 Angular 框架进行数据交互和展示，使用 Ace 编辑器进行 Kubernetes 资源模版编辑。后端采用 Beego 框架做数据接口处理，使用 Client-go 与 Kubernetes 进行交互，数据使用 MySQL 存储。\n\n![架构图](docs/images/architecture.png)\n\n## 组件\n\n- Web UI: 提供完整的业务开发和平台运维功能体验。\n- Worker: 扩展一系列基于消息队列的功能，例如 Audit 和 Webhooks 等审计组件。\n\n## 项目依赖\n\n- Golang 1.12+ ([installation manual](https://golang.org/dl/))\n- Docker 17.05+ ([installation manual](https://docs.docker.com/install))\n- Bee ([installation manual](https://github.com/beego/bee))\n- Node.js v11+ 和 npm 6.5+ ([installation with nvm](https://github.com/creationix/nvm#usage))\n- MySQL 5.6+ (Wayne 主要数据都存在 MySQL 中)\n\n## 快速启动\n\n- 克隆代码仓库\n\n```bash\n$ git clone https://github.com/Qihoo360/wayne.git\n```\n\n- 启动服务\n\n  在 Wayne 的根目录下，通过 docker-compose 创建服务\n\n```shell\n$ docker-compose -f ./hack/docker-compose/docker-compose.yaml up\n```\n\n通过上述命令，您可以从通过 http://127.0.0.1:4200 访问本地 Wayne, 默认管理员账号 admin:admin。\n\n\u003e 注意：项目启动后还需要配置集群和 Namespace 等信息才可正常使用。详见 [集群配置](https://360yun.org/wayne/admin/cluster.html)\n\n## 文档\n\n- 请参照 [Wiki](http://360yun.org/wayne/)\n\n## 联系我们\n\n邮箱\n\nredefine-infra@360.cn\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqihoo360%2Fwayne","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqihoo360%2Fwayne","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqihoo360%2Fwayne/lists"}