All Projects → wl4g → xcloud-dopaas

wl4g / xcloud-dopaas

Licence: Apache-2.0 License
One stop solution of PaaS platform based on DevSecOps --- Based on SpringCloud/Docker/k8s/ServiceMesh(Istio), primary integrated modules: CMDB, Unified Continuous delivery of CI/CD (distributed compilation and deployment), IAM Certification Center, Unified monitoring center, Unified configuration center, Unified Distributed task scheduling cente…

Programming Languages

java
68154 projects - #9 most used programming language
javascript
184084 projects - #8 most used programming language
FreeMarker
481 projects
CSS
56736 projects
shell
77523 projects
Vue
7211 projects

Projects that are alternatives of or similar to xcloud-dopaas

ory-reference-compose
Reference ORY Docker Compose setup
Stars: ✭ 33 (-56.58%)
Mutual labels:  iam, sso
Cipheridaas
CipherIDaaS —— Open-source IDaaS/IAM product by CipherChina , Hangzhou .
Stars: ✭ 121 (+59.21%)
Mutual labels:  iam, sso
Maxkey
MaxKey is Single Sign On(SSO) System,Leading-Edge Enterprise-Class open source IAM(Identity and Access management) product.
Stars: ✭ 274 (+260.53%)
Mutual labels:  iam, sso
Spug
开源运维平台:面向中小型企业设计的轻量级无Agent的自动化运维平台,整合了主机管理、主机批量执行、主机在线终端、文件在线上传下载、应用发布部署、在线任务计划、配置中心、监控、报警等一系列功能。
Stars: ✭ 6,810 (+8860.53%)
Mutual labels:  cmdb, cicd
introspector
A schema and set of tools for using SQL to query cloud infrastructure.
Stars: ✭ 61 (-19.74%)
Mutual labels:  iam, cmdb
Spring Boot Security Saml Sample
SBS3 — A sample SAML 2.0 Service Provider built on Spring Boot.
Stars: ✭ 469 (+517.11%)
Mutual labels:  iam, sso
Zitadel
ZITADEL - Cloud Native Identity and Access Management
Stars: ✭ 105 (+38.16%)
Mutual labels:  iam, sso
Home
Welcome to Janssen: the world's fastest cloud native identity and access management platform
Stars: ✭ 176 (+131.58%)
Mutual labels:  iam, sso
MCW-OSS-PaaS-and-DevOps
MCW OSS PaaS and DevOps
Stars: ✭ 49 (-35.53%)
Mutual labels:  paas, cicd
terraform-aws-s3-bucket
Terraform module that creates an S3 bucket with an optional IAM user for external CI/CD systems
Stars: ✭ 138 (+81.58%)
Mutual labels:  iam, cicd
casdoor
An Identity and Access Management (IAM) / Single-Sign-On (SSO) platform with web UI supporting OAuth 2.0, OIDC, SAML and CAS, QQ group: 645200447
Stars: ✭ 4,147 (+5356.58%)
Mutual labels:  iam, sso
terraform-aws-iam-system-user
Terraform Module to Provision a Basic IAM System User Suitable for CI/CD Systems (E.g. TravisCI, CircleCI)
Stars: ✭ 71 (-6.58%)
Mutual labels:  iam, cicd
rurality
开源运维平台设计及开发样例、CMS、RBAC、python开发教程、管理系统设计及开发样例、jenkinsfile(pipeline)/ansible使用教程,一切想到的,想不到的,应有尽有
Stars: ✭ 51 (-32.89%)
Mutual labels:  cmdb, cicd
CoolApk-Console
Mobile-friendly Coolapk developer console
Stars: ✭ 34 (-55.26%)
Mutual labels:  developer
devops-api
自动化运维平台:CMDB、CI/CD、DevOps、资产管理、任务编排、持续交付、运维管理、基于Django + REST framework + Vue 运维发布平台,UI自动化测试平台,
Stars: ✭ 205 (+169.74%)
Mutual labels:  cicd
sre-playground
🎯 A set of Site Reliability Engineering notes & challenges
Stars: ✭ 24 (-68.42%)
Mutual labels:  cicd
dolphin
Automated code tool for Golang
Stars: ✭ 27 (-64.47%)
Mutual labels:  sso
food-help
A clone of popular food and business review web app yelp
Stars: ✭ 24 (-68.42%)
Mutual labels:  developer
CimIM
IM即时通信Android客户端
Stars: ✭ 14 (-81.58%)
Mutual labels:  im
fire-im
分布式IM服务,参考https://github.com/crossoverJie/cim 实现
Stars: ✭ 17 (-77.63%)
Mutual labels:  im

DoPaaS

DoPaaS

中文文档 | English version goes here

Notes: Currently, the fully distributed version is being incubation, so it is not a good choice to run directly in the production environment !

One stop solution of PaaS platform based on DevSecOps

Based on SpringCloud/Docker/ServiceMesh(istio), the main modules are: unified asset management center (Cmdb), unified continuous delivery center (distributed compilation CI/CD), Iam Certification Center(Rbac/Oidc/[Saml2])), unified monitoring center (SBA/Zipkin/Promethous), unified configuration center, unified operation center (Elasticjob/Spark/Flink/MR), unified Document Center (Swagger/Rap), unified development center (Lcdp/Autogen), unified private object storage management, unified library management (Git/Nexus(Maven/Image)), Shell-Cli, multiple tool chains (Hdfs/HBase/Phoenix/OSS), instant messaging, lightweight risk control, etc

Build Status License Maven JDK MySQL Redis Kafka Zookeeper Docker-ce QQ1 GithubStars GiteeStars Ubuntu CentOS

1. Development and runtime on technology stack(primary)

This project is mainly based on the development of SpringBoot/Cloud/Dubbo, which supports the operation of traditional monomer (standalone) mode and fully distributed micro service (cluster) mode. The source structure is carefully designed as  It's both a platform and a framework demonstration.

  • Required dependencies: Spring Boot:2.3 +
    Spring Cloud:Hoxton.x +
    Eureka:1.10 +
    Zipkin:2.15 +
    Jdk:8 +
    Maven:3.5 +
    Mysql:5.6 +

  • Optional dependencies:
    Kafka:2.3.1 +
    Zookeeper:3.6.0 +
    DockerCE:18.06 +
    CoreDNS:1.7.0 +
    MinIO:latest
    Elasticsearch(EFK):6.2.3 +
    Shardingsphere-Elasticjob:3.0.0 +

  • Developments Guide

2.1 OneStop auto deployment

This method is applicable to the rapid deployment of regular hosts (non container). The deployment script will automatically detect the installation, including jdk/nginx/git/maven/node/eureka/zookeeper and all springboot apps, but not including redis/redis cluster(one of the options) and Mysql, which need to be manually installed.

bash -c "$(curl -L https://raw.githubusercontent.com/wl4g/dopaas/master/script/deploy/deploy-boot.sh)"
# or
bash -c "$(curl -L https://gitee.com/wl4g/dopaas/raw/master/script/deploy/deploy-boot.sh)"
  • Please pay attention to modify deploy-env.sh custom environment configuration according to the script prompt, and then re execute ./deploy-boot.sh. Please wait about 8-20 minutes patiently for the deployment from source code compilation (because the first time the code and dependency library will be slow to download. If you need to redeploy, you can set the export buildForcedOnPullUpToDate=true or export deployFrontendSkip=true to skip backend compilation and frontend compilation to accelerate)

  • Before deployment, check whether nginx / zookeeper / Eureka has been installed on the target host. If so, it is recommended to stop first, because automatic deployment will also avoid conflicts

Cluster management tools:
./dopaas-ctl.sh

Usage: {start-all|stop-all|restart-all|status-all|<appName> <start|stop|restart|status>}
    start-all    Start all remote nodes apps.
     stop-all    Stop all remote nodes apps.
  restart-all    Restart all remote nodes apps.
   status-all    Query status all remote nodes apps.
    <appName> <start|stop|restart|status>   for example: {cmdb-facade restart}
        Restart only the cmdb-facade application of all remote nodes,
        The optionals are: zookeeper/eureka-server/iam-web/iam-facade/iam-data/cmdb-facade/cmdb-manager/... etc.

Server specs requirements:

Runtime Mode Min requirements Description
cluster CentOS7+ / Ubuntu18+ (4C+8G+) Only pseudo distributed clusters can be deployed when there is only one host
standalone 2C+4G+ Monomer application

2.2 Manual compilation and build

It is suitable for build secondary development environment

2.2.1 Editing .m2/settings.xml

<mirror>
    <id>nexus-aliyun</id>
    <mirrorOf>central</mirrorOf>
    <name>Nexus aliyun</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public<url>
</mirror>

2.2.2 Backend compiling

Compile according to the order of project dependency. The mvn -P options are: springExecJar (packaged as a single executable jar) and mvnAssTar (packaged as a general software release package), default.

git clone https://github.com/wl4g/component.git # Relatively new upstream (recommended)
# git clone https://gitee.com/wl4g/component.git # or
mvn -f component -U clean install -DskipTests -T 2C

git clone https://github.com/wl4g/iam.git # Relatively new upstream (recommended)
# git clone https://gitee.com/wl4g/iam.git # or
mvn -f iam -U clean install -DskipTests -T 2C

git clone https://github.com/wl4g/dopaas.git # Relatively new upstream (recommended)
# git clone https://gitee.com/wl4g/dopaas.git # or
mvn -f dopaas -U clean install -DskipTests -T 2C

2.2.3 Frontend compiling

git clone https://github.com/wl4g/dopaas-view.git # Relatively new upstream (recommended)
or git clone https://gitee.com/wl4g/dopaas-view.git
npm run dev # Development debugging
npm run build # Production building

2.3 Init DB: first, prepare a MySQL5.6+ instance and create a database named dopaas(utf8/utf8)_bin), and then Init DB sql.

Notes: the SQL script should correspond to the source code version. We will update it regularly. It is recommended to use the latest version

2.4 Configure DNS resolutio(C:\Windows\System32\drivers\etc or vim /etc/hosts)

Standalone mode resolution example
Cluster mode resolution example

Note: the domain names used for external services in different environments should correspond to sys_cluster_config.extranet_base_uri table

2.5 Quickly build a redis cluster/docker(or self built)

https://github.com/wl4g/docker-redis-cluster or
https://gitee.com/wl4g/docker-redis-cluster

2.6 Launch and testing access (chrome recommended)

Notes:
a. There is no need to specify any JVM args when trying to start (the default configuration is used). For example, only the configuration of dev environment will be activated by default;
b. Whether it is standalone mode or cluster mode, it can correspond to four environments respectively (dev/fat/uat/pro).

2.6.1 Starting for standalone mode.

Just run the following bootstrap classes:

com.wl4g.StandaloneDopaas  
com.wl4g.StandaloneIam  

2.6.2 Starting for cluster mode.

Run the following bootstrap classes:

com.wl4g.EurekaServer  
com.wl4g.IamWeb  
com.wl4g.IamFacade  
com.wl4g.IamData  
com.wl4g.CmdbFacade  
com.wl4g.CmdbManager  
com.wl4g.HomeFacade  
com.wl4g.HomeManager  
com.wl4g.LcdpFacade  
com.wl4g.LcdpManager  
com.wl4g.UciFacade  
com.wl4g.UciServer  
com.wl4g.UdmFacade  
com.wl4g.UdmManager  
com.wl4g.UdsFacade  
com.wl4g.UdsManager 
com.wl4g.UmcFacade 
com.wl4g.UmcManager  
com.wl4g.UmcTracker 
com.wl4g.UmcCollector 
com.wl4g.UosFacade  
com.wl4g.UosManager  
com.wl4g.UrmFacade  
com.wl4g.UrmManager  

2.6.3 Testing access (chrome recommended)

http://wl4g.debug    Default account password: root/wl4g.com

2.7 Deployed successful screenshot:

Tips: the screenshot may be slightly different due to the version evolution, if you have any questions, please join the communication group (see the end section)

registered-eureka-apps

3. Submodule documents

  • UCI Unified Continuous Integration Service(CI/CD)
  • UMC Unified Monitoring and Operation Center(applications healthing, tracking, alarming, ELK log analysis, etc)
  • URM Unified Repository Management(source repo/build repo/image repo)
  • UCM Unified Config Management(Online configuration of hot updates such as dataSource, redisClient, etc)
  • CMDB Configuration Management Database(hosts, applications, secretKeys, auditing, DNS zone resoluting, etc)
  • UDM Unified Document Management(Online APIs/swagger documents, etc)
  • LCDP Low Code Development Platform(Automatic generate of multi language/architecture complete projects (e.g springcloud/dubbo/golang/python/vue/angularjs, etc), WebIDE, and various developer tool chains, etc)
  • UDS Unified distributed scheduling control center, such as elasticjob/spark/flink task, etc.
  • UOS Unified object storage services, based on springcloud development support NativeFS, HDFS, Aliyun OSS, AWS S3, GlusterFS, etc
  • UIM Unified instant messaging service, convenient for project personnel to communicate in time, safe distribution of internal data.

4. Other related apps and components documents

  • SHELL Shell Cli, adding a hbase-shell-like console to your app
  • IAM Unified identity and access management services, support SSO/CAS/oauth2/opensaml etc, It also supports multiple deployment modes(local/cluster/gateway)
  • Gateway Enterprise microservice gateway based on spring cloud gateway, Can integrate with CI to realize Canary deployment.

5. Communicate, feedback and contribute?

  • Click add to group QQ1
  • q855349515
  • GitHub: https://github.com/wl4g/dopaas
  • OS China: https://gitee.com/wl4g/dopaas
  • No matter how strong a person's personal ability is, he can't defeat a team. He hopes that his brothers and sisters can support him and contribute some of his own code to improve it together (^_^).

Share Code?

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].