Git Product home page Git Product logo

wayne's Introduction

Wayne

Build Statue Build Tag License Go Report Card

English | 中文

Wayne is a universal, web-based Kubernetes multi-cluster management platform. It reduces service access costs by visualizing Kubernetes object template editing. With a complete permission management system and adapting to multi-tenant scenarios, it is a publish platform suitable for enterprise-level clusters.

Wayne has been serving 360 search on a large scale, carrying most of the online services, stably managing nearly a thousand applications, tens of thousands of containers, running for more than two years, withstood the test of production.

Why Named Wayne:Most of the projects developed by the team of 360 ​​Search Private Cloud are named after DC comics, and Wayne is no exception. "Wayne" is the name of the famous superhero, Batman Bruce Wayne.

Dashboard

Demo

https://demo.360yun.org

Features

  • Permissions management based on RBAC (Role based access control): Users are associated with departments and projects through roles, and department roles allow operations department resources, and project roles allow operation of project resources, which is more suitable for multi-tenant scenarios.
  • Simplified the process of kubernetes object creation: Provides a basic Kubernetes object configuration file addition method, while supporting advanced mode to directly edit Json/Yaml files to create Kubernetes objects.
  • LDAP/OAuth 2.0/DB Multiple login mode support: Integrate enterprise-level LDAP login and DB login mode, and also enable OAuth2 login.
  • Support multi-cluster, multi-tenancy: You can manage multiple Kubernetes clusters at the same time, and add specific configurations to each other, making it easier for multi-cluster and multi-tenant management.
  • Provide a complete auditing module: Wayne provides a complete auditing module (really named audit) for each operation, tracking for operational history, and support for user-defined webhook.
  • Provide APIKey-based open interface calls: Users can apply for related APIKeys and manage their own departments and projects. Operation and maintenance personnel can also apply for global APIKey for global management of specific resources.
  • Keep a complete release history: Users can easily find any historical release, easily roll back, and update Kubernetes resources based on a specific historical version.
  • Complete resource reporting: Users can easily access reports and charts of resource usage and historical online frequency (days) and other basic data.
  • Provide a Web shell based on strict permission checking: Users can enter the published Pod through the Web shell to operate, with full permission verification.
  • Provide an in-site notification system: facilitates administrators to push clusters, service notifications, and troubleshooting reports.

Architecture

The whole system adopts the separation of front and back ends, in which the front end uses Angular framework for data interaction and display, and the Ace editor is used for Kubernetes resource template editing. The backend uses the Beego framework for data interface processing, Client-go to interact with Kubernetes, and data for MySQL storage. Architecture

Component

  • Web UI:Provide complete business development and platform operation and maintenance experience.
  • Worker:Extend a range of message queue-based features, such as auditing components such as Audit and Webhooks.

Dependence

Quickly Start

  • Clone
$ go get github.com/Qihoo360/wayne
  • Start Wayne

    Start server by docker-compose at Wayne project.

$ docker-compose -f ./hack/docker-compose/docker-compose.yaml up

With the above command, you can access the local Wayne from http://127.0.0.1:4200, the default administrator account admin:admin.

Note: After Wayne is started, you need to configure information such as cluster and Namespace for normal use. See details Cluster Configuration

Document

wayne's People

Contributors

70data avatar benniemeng avatar chengyumeng avatar chinaboard avatar codeb2cc avatar daigong avatar dangzhiqiang avatar gaulzhw avatar hz89 avatar iyacontrol avatar jayryu avatar kofj avatar luolizhi avatar lx1036 avatar olivewind avatar silenceshell avatar swiftslee avatar wilhelmguo avatar xiaotuanyu120 avatar xu42 avatar zeusro avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.