Muxi application engine. PaaS of Muxi-Studio. Deploy applications on Kubernetes cluster easily and flexibly.
Switch branches/tags
Nothing to show
Clone or download
Latest commit 85078f5 Aug 22, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
conf mv email template to conf dir for release Aug 18, 2018
config
doc
handler
model
pkg
router style: update Aug 18, 2018
.gitignore
LICENSE chore: init code & API doc May 7, 2018
README.md
app_test.go
glide.yaml
log_test.go
logo.go
main.go
ns_test.go
ping_server.go
pod_test.go
sd_test.go
service_test.go
terminal_test.go
test_utils.go
token_test.go
user_test.go
version-request.bak
version-template.json
version_test.go

README.md

muxi application engine(Mae)

                 _      _      _
              __(.)< __(.)> __(.)=
              \___)  \___)  \___)
                     _      _      _
                  __(.)< __(.)> __(.)=
                  \___)  \___)  \___)
                 _      _      _
              __(.)< __(.)> __(.)=
              \___)  \___)  \___)
                     _      _      _
                  __(.)< __(.)> __(.)=
                  \___)  \___)  \___)

PaaS of Muxi-Studio. An easier way to manage Kubernetes cluser.

Click http://zxc0328.github.io/2017/05/27/mae/ to view details.

Feature:

  • fast and sliding version switch and management
  • application management for microservices
  • casbin access control(RBAC with domains/tenants)
  • log query of sepcific container
  • web terminal of specific container
  • email confirm and email notification

Build

Clone the source code and cd to the root dir of this project and execute the command below to install the dependencies.

$ glide install

Users of mainland China may encounter some problem here. This project uses some dependencies that are blocked by the GWF. So you have to do terminal proxy configuration. How to config it? You can refer to this article:https://andrewpqc.github.io/2018/04/30/let-the-terminal-penetrate-the-firewall. you can also refer to glide mirror to resove the problem.

Before you run Mae, you firstly have to config it. How to config?

Firstly, you have to get the admin's kubeconfig file, and make sure the name of this file is admin.kubeconfig(if not so, you may have to rename it). Then put the admin.kubeconfig file in the conf folder of this project. the admin.kubeconfig is the link between this program and the kubernets cluster. So it's really important.

Secondly, You have to edit conf/config.yaml to config the mysql database connection information, the listen address and other configurable options.Note that you have to manually create a database which is named mae. There are a lot of annotations in the config file, so you can view that to know more.

After you have finished the config part, you can build and run it by typing the following command in you shell.

$ go build && ./Mae

Then, you can check /api/v1.0/sd/health to see whether it work properly or not.

Actually, if you don't want to build it by youself, you can use the binary version of release.

Test

After you have finished the config part, you can just to use the following command to run the whole test.

$ go test -v -cover=true

But we don't suggest you to do so. In order to prevent the rapid consumption of cluster resources and the interaction between test cases, we recommend that you run the test cases one by one in you integrated development environment(suggest Goland).

Next:

  1. Grayscale release
  2. Optimize the use of int types
  3. Optimize the organization of the code
  4. Further improve the documentation

Thanks

Thanks for developers of golang, kubernetes and client-go.