DongTai-WebAPI is used to user resource management ,including:
- Project management
- Vulnerability management
- User data retrieval
- System resources configuration
- User/role management
- Agent deployment management
- Tenant management
- Deployment document retrieval
- Source code deployment
- Docker deployment
Source code deployment
1.Install the required dependencies
python -m pip install -r requirements-test.txt
2.Initialize the database
- Install MySql 5.7, create the database
DongTai-webapi
, and run the database fileconf/db.sql
- Enter the
webapi
directory and run thepython manage.py createsuperuser
command to create an administrator
OR use docker way to host a database
- Pull the corresponding database images and run it
docker pull registry.cn-beijing.aliyuncs.com/huoxian_pub/dongtai-mysql:latest
docker run -itd --name dongtai-mysql -p 3306:3306 registry.cn-beijing.aliyuncs.com/huoxian_pub/dongtai-mysql:latest
3.Modify the configuration file
- Copy the configuration file
conf/config.ini.example
toconf/config.ini
and change the configuration; the url corresponding toengine
is the service address ofDongTai-engine
, and the url corresponding toapiserver
is the service address ofDongTai-openapi
4.Run the service
- Run
python manage.py runserver
to start the service
Container deployment
1.Initialize the database
- Pull the corresponding database images and run it
docker pull registry.cn-beijing.aliyuncs.com/huoxian_pub/dongtai-mysql:latest
docker run -itd --name dongtai-mysql -p 3306:3306 registry.cn-beijing.aliyuncs.com/huoxian_pub/dongtai-mysql:latest
- Modify the configuration file
Copy the configuration file conf/config.ini.example
to conf/config.ini
and change the configuration; among them:
- The URL corresponding to the
engine
is the service address ofDongTai-engine
- The url corresponding to
apiserver
is the service address ofDongTai-openapi
3.Build the image
$ docker build -t huoxian/dongtai-webapi:latest .
4.Start the container
$ docker run -d -p 8000:8000 --restart=always --name dongtai-webapi huoxian/dongtai-webapi:latest
- API documentation corresponding to the project
- Add document-related parameters when starting the container :
$ docker run -d -p 8000:8000 --restart=always -e environment=DOC --name dongtai-webapi huoxian/dongtai-webapi:latest
Here you need to start the corresponding mysql database. If you only want to start the webapi project to view the document, you need to add the following parameter -e database=sqlite
(only start the webapi project to view the document, and does not guarantee the compatibility under sqlite ), the complete command is:
$ docker run -d -p 8000:8000 --restart=always -e environment=DOC -e database=sqlite --name dongtai-webapi huoxian/dongtai-webapi:latest
- Access the corresponding API in the container:
Swagger-ui address is http://<containerip:port>/api/XZPcGFKoxYXScwGjQtJx8u/schema/swagger-ui/#/
The Redoc address is http://<containerip:port>/api/XZPcGFKoxYXScwGjQtJx8u/schema/redoc/
If you need to separately export swagger.json
The address is http://<containerip:port>/api/XZPcGFKoxYXScwGjQtJx8u/schema/
- The specific API authentication mode has been included in the API document, and the corresponding token can be found on the installation agent part of the web.