Modify code organization

This commit is contained in:
pycook 2019-12-18 23:33:22 +09:00
parent 24664c7686
commit f66a94712e
329 changed files with 38 additions and 38 deletions

14
.gitignore vendored
View File

@ -65,12 +65,12 @@ settings.py
*.db *.db
# UI # UI
ui/node_modules cmdb-ui/node_modules
ui/dist cmdb-ui/dist
# Log files # Log files
ui/npm-debug.log* cmdb-ui/npm-debug.log*
ui/yarn-debug.log* cmdb-ui/yarn-debug.log*
ui/yarn-error.log* cmdb-ui/yarn-error.log*
ui/yarn.lock cmdb-ui/yarn.lock
ui/package-lock.json cmdb-ui/package-lock.json

View File

@ -3,7 +3,7 @@ FROM node:alpine AS builder
LABEL description="cmdb-ui" LABEL description="cmdb-ui"
COPY ui /data/apps/cmdb-ui COPY cmdb-ui /data/apps/cmdb-ui
WORKDIR /data/apps/cmdb-ui WORKDIR /data/apps/cmdb-ui
@ -22,7 +22,7 @@ FROM python:3.7-alpine AS cmdb-api
LABEL description="Python3.7,cmdb" LABEL description="Python3.7,cmdb"
COPY . /data/apps/cmdb COPY cmdb-api /data/apps/cmdb
WORKDIR /data/apps/cmdb WORKDIR /data/apps/cmdb
@ -30,11 +30,11 @@ RUN apk add --no-cache tzdata gcc musl-dev libffi-dev
ENV TZ=Asia/Shanghai ENV TZ=Asia/Shanghai
RUN pip install --no-cache-dir -r docs/requirements.txt \ RUN pip install --no-cache-dir -r requirements.txt \
&& cp ./api/settings.py.example ./api/settings.py \ && cp ./settings.py.example settings.py \
&& sed -i "s#{user}:{password}@127.0.0.1:3306/{db}#cmdb:123456@mysql:3306/cmdb#g" api/settings.py \ && sed -i "s#{user}:{password}@127.0.0.1:3306/{db}#cmdb:123456@mysql:3306/cmdb#g" settings.py \
&& sed -i "s#redis://127.0.0.1#redis://redis#g" api/settings.py \ && sed -i "s#redis://127.0.0.1#redis://redis#g" settings.py \
&& sed -i 's#CACHE_REDIS_HOST = "127.0.0.1"#CACHE_REDIS_HOST = "redis"#g' api/settings.py && sed -i 's#CACHE_REDIS_HOST = "127.0.0.1"#CACHE_REDIS_HOST = "redis"#g' settings.py
CMD ["bash", "-c", "flask run"] CMD ["bash", "-c", "flask run"]

View File

@ -28,19 +28,19 @@ Overview
3. 关系视图 - 模型之间的关系, 用树形图方式展示, **管理员可配置** 3. 关系视图 - 模型之间的关系, 用树形图方式展示, **管理员可配置**
##### 资源视图 ##### 资源视图
![基础资源视图](https://raw.githubusercontent.com/pycook/cmdb/master/ui/public/cmdb-ci.jpeg) ![基础资源视图](https://raw.githubusercontent.com/pycook/cmdb/master/cmdb-ui/public/cmdb-ci.jpeg)
##### 树形视图 ##### 树形视图
![树形视图](https://raw.githubusercontent.com/pycook/cmdb/master/ui/public/cmdb-tree.jpeg) ![树形视图](https://raw.githubusercontent.com/pycook/cmdb/master/cmdb-ui/public/cmdb-tree.jpeg)
##### 关系视图 ##### 关系视图
![关系视图](https://raw.githubusercontent.com/pycook/cmdb/master/ui/public/cmdb-relation.jpeg) ![关系视图](https://raw.githubusercontent.com/pycook/cmdb/master/cmdb-ui/public/cmdb-relation.jpeg)
##### 用户订阅 ##### 用户订阅
![用户订阅](https://raw.githubusercontent.com/pycook/cmdb/master/ui/public/cmdb-preference.jpeg) ![用户订阅](https://raw.githubusercontent.com/pycook/cmdb/master/cmdb-ui/public/cmdb-preference.jpeg)
##### 关系视图配置 ##### 关系视图配置
![关系视图配置](https://raw.githubusercontent.com/pycook/cmdb/master/ui/public/cmdb-relation-define.jpeg) ![关系视图配置](https://raw.githubusercontent.com/pycook/cmdb/master/cmdb-ui/public/cmdb-relation-define.jpeg)
Docker一键快速构建 Docker一键快速构建
---- ----
@ -66,24 +66,24 @@ Install
```bash ```bash
git clone https://github.com/pycook/cmdb.git git clone https://github.com/pycook/cmdb.git
cd cmdb cd cmdb
cp api/settings.py.example api/settings.py cp cmdb-api/settings.py.example cmdb-api/settings.py
``` ```
**设置api/settings.py里的database** **设置cmdb-api/settings.py里的database**
- 安装库 - 安装库
- 后端: ```pipenv run pipenv install``` - 后端: ```cd cmdb-api && pipenv run pipenv install && cd ..```
- 前端: ```cd ui && yarn install && cd ..``` - 前端: ```cd cmdb-ui && yarn install && cd ..```
- 创建数据库表 ```pipenv run flask db-setup && pipenv run flask init-cache``` - 创建数据库表 ```pipenv run flask db-setup && pipenv run flask init-cache```
- 可以将docs/cmdb.sql导入到数据库里登录用户和密码都是:admin - 可以将docs/cmdb.sql导入到数据库里登录用户和密码分别是:demo/123456
- 启动服务 - 启动服务
- 后端: ```pipenv run flask run -h 0.0.0.0``` - 后端: 进入**cmdb-api**目录执行 ```pipenv run flask run -h 0.0.0.0```
- 前端: ```cd ui && yarn run serve``` - 前端: 进入**cmdb-ui**目录执行```yarn run serve```
- worker: ```celery worker -A celery_worker.celery -E -Q cmdb_async --concurrency=1``` - worker: 进入**cmdb-api**目录执行 ```pipenv run celery worker -A celery_worker.celery -E -Q cmdb_async --concurrency=1```
- 浏览器打开: [http://127.0.0.1:8000](http://127.0.0.1:8000) - 浏览器打开: [http://127.0.0.1:8000](http://127.0.0.1:8000)
- 如果是非本机访问, 要修改**ui/.env****VUE_APP_API_BASE_URL**里的IP地址为后端服务的ip地址 - 如果是非本机访问, 要修改**cmdb-ui/.env****VUE_APP_API_BASE_URL**里的IP地址为后端服务的ip地址
Install by Makefile Install by Makefile
@ -95,9 +95,9 @@ Install by Makefile
```bash ```bash
git clone https://github.com/pycook/cmdb.git git clone https://github.com/pycook/cmdb.git
cd cmdb cd cmdb
cp api/settings.py.example api/settings.py cp cmdb-api/settings.py.example cmdb-api/settings.py
``` ```
**设置api/settings.py里的database** **cmdb-api/settings.py里的database**
- 顺序在cmdb目录下执行 - 顺序在cmdb目录下执行
- 环境: ```make env``` - 环境: ```make env```
@ -109,4 +109,4 @@ cp api/settings.py.example api/settings.py
---- ----
_**欢迎加入CMDB运维开发QQ群336164978**_ _**欢迎加入CMDB运维开发QQ群336164978**_
![QQ群](ui/public/qr_code.jpg) ![QQ群](cmdb-ui/public/qr_code.jpg)

View File

View File

@ -6,6 +6,7 @@ import sys
from inspect import getmembers from inspect import getmembers
from logging.handlers import RotatingFileHandler from logging.handlers import RotatingFileHandler
from api.flask_cas import CAS
from flask import Flask from flask import Flask
from flask import make_response, jsonify from flask import make_response, jsonify
from flask.blueprints import Blueprint from flask.blueprints import Blueprint
@ -23,8 +24,7 @@ from api.extensions import (
rd, rd,
es es
) )
from api.flask_cas import CAS from .models.acl import User
from api.models.acl import User
HERE = os.path.abspath(os.path.dirname(__file__)) HERE = os.path.abspath(os.path.dirname(__file__))
PROJECT_ROOT = os.path.join(HERE, os.pardir) PROJECT_ROOT = os.path.join(HERE, os.pardir)
@ -72,7 +72,7 @@ class ReverseProxy(object):
return self.app(environ, start_response) return self.app(environ, start_response)
def create_app(config_object="{0}.settings".format(API_PACKAGE)): def create_app(config_object="settings"):
"""Create application factory, as explained here: http://flask.pocoo.org/docs/patterns/appfactories/. """Create application factory, as explained here: http://flask.pocoo.org/docs/patterns/appfactories/.
:param config_object: The configuration object to use. :param config_object: The configuration object to use.

View File

@ -6,7 +6,7 @@ from flask import Blueprint
from flask_restful import Api from flask_restful import Api
from api.resource import register_resources from api.resource import register_resources
from .account import LoginView, LogoutView from api.views.account import LoginView, LogoutView
HERE = os.path.abspath(os.path.dirname(__file__)) HERE = os.path.abspath(os.path.dirname(__file__))

Some files were not shown because too many files have changed in this diff Show More