Git Product home page Git Product logo

cmdb-11's Introduction

CMDB

As far as possible to achieve more universal configuration and management of IT resources

License UI API

English / 中文

DEMO ONLINE

  • preview online: CMDB
    • username: demo
    • password: 123456

ATTENTION: branch master may be unstable as the result of continued development, please pull code from releases


Overview

CMDB is a universal project that can define and manage almost all IT resource, even every resource as long as you want to, which treat all IT resources as resource objects. objects has both attributes and relationship.

CMDB's main distinguishing features as compared to other resource systems are:

  • define attributes of resource objects dynamically,you don't need to define all the attributes at the beginning.

  • define relationship of resource objects dynamically and simply, even you can draw the relationship through the web.

  • three view:

    • resource view: model instance data that users can subscribe
    • tree view: the model is hierarchical by field, shown in a tree diagram, and users can subscribe
    • relational view: relationships between models, shown in a tree diagram, are configurable by the administrator
  • authority management

Install

There are various ways of installing CMDB.

Install by Docker

  • prepare: install docker and docker-compose
  • in directory cmdb
        docker-compose up -d
    
  • view: http://127.0.0.1:8000

Environment and dependency

  • database: mysql
  • cache: redis
  • python: python2.7, >=python3.6

install

  • start mysql, redis

  • create mysql database: cmdb

  • pull code

    git clone https://github.com/pycook/cmdb.git
    cd cmdb
    cp cmdb-api/settings.py.example cmdb-api/settings.py

    set database in config file cmdb-api/settings.py

  • install library

    • backend: cd cmdb-api && pipenv run pipenv install && cd ..
    • frontend: cd cmdb-ui && yarn install && cd ..
  • create tables of cmdb database:

    in cmdb-api directory: pipenv run flask db-setup && pipenv run flask init-cache

  • suggest step: (default: user:demo,password:123456)

    source docs/cmdb.sql

  • start service

    • backend: in cmdb-api directory: pipenv run flask run -h 0.0.0.0

    • frontend: in cmdb-ui directory: yarn run serve

    • worker: in cmdb-api directory: pipenv run celery worker -A celery_worker.celery -E -Q cmdb_async --concurrency=1

    • homepage: http://127.0.0.1:8000

      • if not run localhost: please change ip address(VUE_APP_API_BASE_URL) in config file cmdb-ui/.env into your backend ip address

Install by Makefile

  • start mysql,redis

  • create mysql database: cmdb

  • pull code

    git clone https://github.com/pycook/cmdb.git
    cd cmdb
    cp cmdb-api/settings.py.example cmdb-api/settings.py

    set database in config file cmdb-api/settings.py

  • in cmdb directory,start in order as follows:

    • enviroment: make env
    • start API: make api
    • start UI: make ui
    • start worker: make worker

DEMO

resource view

resource view

tree view

tree view

relationship view

relationship view

user subscription

user subscription

define relationship view

define relationship view


welcome to join us through QQ group(336164978)

QQgroup

cmdb-11's People

Contributors

pycook avatar kdyq007 avatar fxiang21 avatar lilixiang avatar lovvvve avatar shaohaojiecoder avatar

Stargazers

Phil avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.