Skip to content

Latest commit

 

History

History
138 lines (93 loc) · 7.67 KB

README.en.md

File metadata and controls

138 lines (93 loc) · 7.67 KB

OneX Cloud Native Platform

onex

An enterprise-level Go project designed for learning Go + Cloud Native

GoDoc Go Report Card GitHub Go Reference
CodeFactor Build GitHub tag (latest SemVer pre-release) Release TODOs

OneX Cloud Native Practical Platform is a Go language + Cloud Native practical platform, and also an enterprise-level Cloud Computing Platform. The entire project follows the best demonstrated practices approach to build.

The OneX project realizes the concept of code as learning by providing fully functional, standardized, and high-quality Go source code. Through the accompanying Go development course, it reduces the difficulty of learning, expands the depth and breadth of learning. Through the accompanying Cloud Native development community Kong Lingfei's Cloud Native Practical Camp, it improves the effect of learning Cloud Native technology.

OneX implies that this practical project has the characteristics of full functionality and high scalability. In the future, OneX will continue to integrate many functions related to Go and Cloud Native. Because OneX considered the expansion of future functions and architecture during the project design, OneX can seamlessly and smoothly expand many new functions in the future.

Features

The OneX project has implemented most of the skill points required for enterprise-level applications. For a detailed list of features, please refer to: Feature List.

The OneX practical project also has the following characteristics:

  • Full-featured: The course includes almost everything and practical experience used in Go development career, including but not limited to the following 4 major technology stacks:
    • Software development basic technology stack: including Linux, Shell programming, Makefile programming, Git and other basic technology stacks needed for software development;
    • Go development technology stack: Web programming, various application implementations (SDK, ETL data extraction, authentication and authorization center, Command Line tool, Web services, distributed jobs, code inspection, code generation, etc.), Middleware usage, HTTP/HTTPS/GRPC/WebSocket protocols, commonly used function design and development, etc.
    • Cloud Native technology stack: Kubernetes programming, Docker practice, Kubernetes practice, Cloud Native deployment practice, declarative programming, immutable infrastructure, etc.
    • Microservice technology stack: distributed logging, monitoring alarms, service orchestration, call chain, Load Balance, service governance, configuration center, etc.
  • High code quality: The entire project has high code quality, including but not limited to: full programming mode (imperative programming, declarative programming, etc.), following a concise architecture, concise and robust code, high interface performance, high maintainability, high scalability, etc.
  • Project specification: specification first. The entire practical project has specification items such as directory specification, code specification, log specification, error code specification, document specification, submission specification, version specification, etc.
  • Technology ecological closed loop: The entire project uses the vast majority of Functional Buttons, technology stacks, and implementation methods in Go development. It is completely possible to learn the entire Go development technology stack through a practical project closed loop.

Architecture

OneX Architecture Diagram

Architecture Introduction: OneX Architecture Introduction

Installation

Installation steps are as follows:

$ git clone https://github.com/superproj/onex.git
$ cd onex
$ make docker-install # Quickly set up OneX (containerized) locally, preferably with a newly installed Debian 12 Linux publish

Installation documentation: OneX Container Deployment

Other commonly used operations are as follows:

  1. Compile all components
$ make build # Compile binary files, which will compile all main files under the cmd/directory
  1. Compile one or more components
$ make build BINS=onex-usercenter # Compile onex-usercenter component
$ make build BINS="onex-usercenter onex-gateway" # Compile onex-usercenter, onex-gateway components
  1. Specify version when compiling
$ make build BINS=onex-usercenter VERSION=v0.1.0
  1. Building Docker docker image
$ make image # Build docker docker image, which will build docker image for all components under the cmd/directory
$ make image IMAGES="onex-usercenter"
$ make push # Build and push docker image

For more make operations, please refer to make help.

Usage/Examples

$ kubectl create -f ${ONEX_ROOT}/manifests/sample/onex/minerset.yaml
$ onexctl --config ${ONEX_CONFIG_DIR}/onexctl.yaml minerset list

For more usage, please refer to: OneX Project Test

Documentation

OneX Project Document includes OneX project introduction, OneX deployment, OneX project testing, OneX feature list, OneX project development document, etc.

Feedback

If you have any feedback, please contact me at [email protected].

Contributing

Please see CONTRIBUTING.md to learn how to contribute.

Please follow the code of conduct [code of conduct] (./CODE_OF_CONDUCT.md) for this project.

Contacts

  • Welcome to scan the code to follow my official account: Lingfei Programming;
  • Welcome to scan the code to join the group and communicate about Cloud Native technology.

合并-知识星球-公众号-交流群.png

License

MIT