Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/opendevops-cn/codo-cmdb
旨在提供统一的云资源和日常操作管控,解决了在运维多云、多账号、多业务、多地域的情况下所面临的差异化操作挑战。用户可以轻松地管理跨多个云服务提供商、多个账号、多个业务线以及多个地域的云资源。实现了资源层面的运维流程标准化,提高运维效率并降低操作复杂度。
https://github.com/opendevops-cn/codo-cmdb
aliyun-ecs aws-ec2 cmdb docker docker-compose huaweicloud qcloud-api ucloud
Last synced: 5 days ago
JSON representation
旨在提供统一的云资源和日常操作管控,解决了在运维多云、多账号、多业务、多地域的情况下所面临的差异化操作挑战。用户可以轻松地管理跨多个云服务提供商、多个账号、多个业务线以及多个地域的云资源。实现了资源层面的运维流程标准化,提高运维效率并降低操作复杂度。
- Host: GitHub
- URL: https://github.com/opendevops-cn/codo-cmdb
- Owner: opendevops-cn
- Created: 2019-01-15T10:17:12.000Z (almost 6 years ago)
- Default Branch: main
- Last Pushed: 2024-11-15T03:20:03.000Z (27 days ago)
- Last Synced: 2024-11-30T15:06:53.421Z (12 days ago)
- Topics: aliyun-ecs, aws-ec2, cmdb, docker, docker-compose, huaweicloud, qcloud-api, ucloud
- Language: Python
- Homepage: http://www.opendevops.cn/
- Size: 6.82 MB
- Stars: 362
- Watchers: 16
- Forks: 164
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-hacking-lists - opendevops-cn/codo-cmdb - 旨在提供统一的云资源和日常操作管控,解决了在运维多云、多账号、多业务、多地域的情况下所面临的差异化操作挑战。用户可以轻松地管理跨多个云服务提供商、多个账号、多个业务线以及多个地域的云资源。实现了资源层面的运维流程标准化,提高运维效率并降低操作复杂度。 (Python)
README
# CMDB 项目
## 系统依赖
|软件|版本|
|--| --|
|python| >=3.9.5|
|mysql | >=8.0 |
|redis | >=6.2|## 本地快速上手
### 本地保存如下`docker-compose-local.yml文件`
```
version: '3'
networks:
codo:
services:
mysql:
container_name: mysql
restart: always
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: codo123456
ports:
- 3306:3306redis:
container_name: redis
image: redis:3.2.11
command: redis-server --requirepass codo-cmdb
ports:
- 6379:6379
```### 增加本地开发配置`local_settings.py`
```
DEFAULT_DB_DBHOST = os.getenv('DEFAULT_DB_DBHOST', 'localhost') # 修改
DEFAULT_DB_DBPORT = os.getenv('DEFAULT_DB_DBPORT', '3306') # 修改
DEFAULT_DB_DBUSER = os.getenv('DEFAULT_DB_DBUSER', 'root') # 修改
DEFAULT_DB_DBPWD = os.getenv('DEFAULT_DB_DBPWD', 'codo123456') # 修改
DEFAULT_DB_DBNAME = os.getenv('DEFAULT_DB_DBNAME', 'codo-cmdb') # 默认# 这是从库,读, 一般情况下是一个数据库即可,需要主从读写分离的,请自行建立好服务
READONLY_DB_DBHOST = os.getenv('READONLY_DB_DBHOST', 'localhost') # 修改
READONLY_DB_DBPORT = os.getenv('READONLY_DB_DBPORT', '3306') # 修改
READONLY_DB_DBUSER = os.getenv('READONLY_DB_DBUSER', 'root') # 修改
READONLY_DB_DBPWD = os.getenv('READONLY_DB_DBPWD', 'codo123456') # 修改
READONLY_DB_DBNAME = os.getenv('READONLY_DB_DBNAME', 'codo-cmdb') # 默认# 这是Redis配置信息,默认情况下和codo-admin里面的配置一致
DEFAULT_REDIS_HOST = os.getenv('DEFAULT_REDIS_HOST', 'localhost') # 修改
DEFAULT_REDIS_PORT = os.getenv('DEFAULT_REDIS_PORT', '6379') # 修改
DEFAULT_REDIS_DB = os.getenv('DEFAULT_REDIS_DB', 9)
DEFAULT_REDIS_AUTH = os.getenv('DEFAULT_REDIS_AUTH', True)
DEFAULT_REDIS_CHARSET = os.getenv('DEFAULT_REDIS_CHARSET', 'utf-8')
DEFAULT_REDIS_PASSWORD = os.getenv('DEFAULT_REDIS_PASSWORD', '') # 修改# consul 为Prometheus提供数据 选填
DEFAULT_CONSUL_HOST = os.getenv('DEFAULT_CONSUL_HOST', '') # 修改
DEFAULT_CONSUL_PORT = os.getenv('DEFAULT_CONSUL_PORT', 8500) # 修改
DEFAULT_CONSUL_TOKEN = os.getenv('DEFAULT_CONSUL_TOKEN', None) # 修改
DEFAULT_CONSUL_SCHEME = os.getenv('DEFAULT_CONSUL_SCHEME', 'http') # 修改
```
### 安装依赖包
```
pip install -r requirements.txt
pip install -U git+https://github.com/ss1917/codo_sdk.git
```### 初始化建立数据库
`注意数据库的编码,否则初始化表结构时候会出现编码错误`
```
mysql -h 127.0.0.1 -u root -pcodo123456
>CREATE DATABASE codo-cmdb CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
```
### 初始化数据库表结构```
python3 db_sync.py
```### 启动服务
```
python3 startup.py --service=cmdb --port=8899
```