# opscloud4
**Repository Path**: shantan/opscloud4
## Basic Information
- **Project Name**: opscloud4
- **Description**: IaC基础架构即代码
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 13
- **Created**: 2022-11-10
- **Last Updated**: 2022-11-10
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
Welcome to the opscloud wiki!
#### Thanks to JetBrains
> Thanks JetBrains to support the project providing such great IDE.

# OpsCloud4.0 云上运维
#### Code repository
+ Backend
+ [https://github.com/ixrjog/opscloud4](https://github.com/ixrjog/opscloud4)
+ Frontend
+ [https://github.com/ixrjog/opscloud4-web](https://github.com/ixrjog/opscloud4-web)
#### 开发环境
+ MacBook M1 PRO (macOS Monterey 12.3.1)
+ IntelliJ IDEA 2022.1 (Ultimate Edition)
+ WebStorm 2022.1
#### 主要功能
+ 动态数据源
+ Zabbix、Nacos、LDAP、Jenkins、Guacamole、Ansible、Nexus、Gitlab、Sonar、Dingtalk、TencentExmail、Consul
+ `Kubernetes`
+ ACK、EKS
+ `Aliyun`
+ ECS、Image、VPC、RAM[User、Policy]、RDS[Instance、Database、Redis]、DMS[User]、ONS[Instance、Topic、Group]、Log
+ `AWS`
+ EC2、IAM[User、Policy]、SQS[Queue]、SNS[Topic、Subscription]
+ `华为云`
+ ECS
+ 堡垒机
+ 远程桌面[RDP、VNC]
+ apache-guacamole
+ ServerTerminal(Web终端)
+ 支持多开、会话复制、命令同步、会话心跳
+ KubernetesTerminal(Web终端)
+ 支持多开、容器日志、Bash、命令同步、会话心跳
+ SSH-Server
+ 原生SSH协议实现,支持ED25519、RSA密钥
+ 简化用户登录,自动关联用户Gitlab账户公钥
+ 展示服务器环境,标签,授权账户
+ 支持Kubernetes容器登录或直接查看容器日志
+ 事件驱动技术
```mermaid
flowchart LR
A[User] -->|SSH:22| B{SLB}
B-->|TCP:2222| C[Opscloud Server]
B-->|TCP:2222| D[Opscloud Server]
E[User] -->|ssh ed25519 | F{{SSH-Server}}
F-->|ssh ed25519| G[Linux]
```
+ 服务器批量任务
+ Ansible Playbook
+ 单服务器多线程实现,任务日志更加清晰
+ RBAC,MFA(OTP)
+ 集群架构
+ 实例健康检查接口 /api/instance/health/lb-check (GET)
+ 分布式调度任务(Quartz)、定时任务分布式锁(Shedlock)、任务并发锁(Redis)
+ 高性能、可伸缩、高可用性
+ 集群SLA99.99%
+ 无资产管理上限
+ 标签驱动、事件驱动
+ API文档
+ example.com/doc.html
+ API Token
#### 监听端口详情
| 服务 | 协议 | 端口 | 用户自定义端口(Java启动参数) |
|---|---|---|----------------------|
| Web | http | 8080 | --server.port=8080 |
| SSH-Server | ssh | 2222 | --ssh.shell.port=2222 |
#### 功能截图
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |