Skip to content

Latest commit

 

History

History
193 lines (127 loc) · 9.68 KB

README.zh-CN.md

File metadata and controls

193 lines (127 loc) · 9.68 KB

威胁监控

威胁监控

持续集成/持续交付 CI - TestCD - Build
包裹 PyPI - VersionPyPI - Python Version
Hatch projectcode style - blacktypes - MypyLicense - MITGitHub Sponsors

用于创建仪表板的 Web 应用程序威胁型.

执行摘要

在您自己的系统上启动并运行您的代码。

笔记: 这pyproject.toml文件应该位于存储库的根目录中!

笔记: 确保您满足要求.

  1. 安装过程:

    $ cd threagile-monitoring # start at sub-directory of the repository where the requirements.txt file is kept.
    $ hatch --version # optional, will print the version of our package to the terminal without modifying the source directory (e.g. `0.0.1`).
    # Without hatch: $ python src/threagile_monitoring/app.py
    $ hatch env create # optional, if the default env already exists you will be told
    $ hatch shell # spawn a shell within an environment
    (.hatch) $ cd .. # go one directory up to where pyproject.toml resides
    (.hatch) $ pip install -e . # install the package in editable mode
    (.hatch) $ cd threagile-monitoring # go back to the sub-directory of the repository where the requirements.txt file is kept.
    (.hatch) $ pip show threagile-monitoring # optional, shows the project details, here 'threagile-monitoring', from `pyproject.toml`
    # Name: threagile-monitoring
    # Version: 0.0.1 # it takes this from src/threagile_monitoring/__about__.py
    # ...
    (.hatch) $ python -c "import sys;print(sys.executable)" # optional, see where your environment's python is located
    (.hatch) $ pip install --upgrade pip # optional, the `run` command allows you to execute commands in an environment as if you had already entered it.
    (.hatch) $ pip install -r requirements.txt # pipx won't do this
    (.hatch) $ git tag # check if you already have a verion tagged
    (.hatch) $ git tag -a v0.0.1 -m "Initial release" # optional, if you have no tags yet
    # setuptools_scm displays the version of our package and perform any side-effects like writing to a file. (here: `__about__.py`)

    **使用 webpack 打包您的网站:**一旦你有了一个足够好的网站可供你使用,你就必须使用 webpack 来打包应用程序。该包文件夹列于.gitignore以避免它被提交给 git。

    现在所有设置都应该准备就绪,因此您需要做的就是: 1)(.hatch) $ cd src/threagile_monitoring2)(.hatch) $ npm install3)(.hatch) $ npm run build

    这将创建app.js文件 - 包含所有组件 - 在/src/threagile_monitoring/static/js/.

    **使用webpack开发:**如果您仍在开发您的网站,单独的终端会话,按照上述安装过程后,执行以下操作: 1)cd ../# 转到存储库的根目录 2)hatch shell3)(.hatch) $ cd threagile-monitoring/src/threagile_monitoring4)(.hatch) $ sudo chown -R $USER:$(id -gn $USER) ~/.npm5)(.hatch) $ npm install6)(.hatch) $ npm run watch

    这将 - 在单独的终端会话中(即background) - 不断地将您所做的更改加载到适当的文件中,同时您可以在初始终端会话中继续进行这些更改(即foreground)。因此,您不必在每次编辑后构建源代码,它会自动处理!

    要查看更改,只需保存并重新加载导航器(通常使用 F5)。

    确保在使用后端功能进行测试时运行您的网页,如下所示: 1)cd ../# 转到存储库的根目录 2)hatch shell3)(.hatch) $ cd threagile-monitoring/src/threagile_monitoring4)(.hatch) $ python app.py

    测试

    以这种方式测试应用程序(前端): 1)cd ../# 转到存储库的根目录 2)hatch shell3)(.hatch) $ cd threagile-monitoring/src/threagile_monitoring4)(.hatch) $ npm install5)(.hatch) $ npm test6)(.hatch) $ npm test -- --coverage

    跑步:

    如果不进行开发,请按以下方式运行应用程序(同时后端和前端):

    $ hatch run python src/threagile_monitoring/app.py # starts the app 
    
  2. 软件依赖性

  3. 最新版本

  4. API参考

  5. 构建和测试:

    要构建您的代码,请使用:

    $ cd threagile-monitoring
    $ hatch build

    要使用 AI 进行拉取请求审查,请使用:

    https://app.coderabbit.ai/dashboard(使用phpstan.neon)

    要运行该应用程序,请使用:

    Linux:

    $ export SECRET_KEY="secret"

    视窗:

    $ setx SECRET_KEY secret

    然后:

    $ cd threagile-monitoring
    # Without hatch: $ python src/threagile_monitoring/app.py
    $ hatch run python src/threagile_monitoring/app.py

    然后,导航至http://127.0.0.1:5000/在您的网络浏览器中。

    要运行测试,请使用:

    $ cd threagile-monitoring
    $ pip install pytest # optional
    $ pytest tests/

API文档

导航至http://127.0.0.1:5000/docs在您的网络浏览器中,或从以下位置下载 openapi.jsonhttp://127.0.0.1:5000/openapi.json.

指标

让 Prometheus 这样的工具刮擦http://127.0.0.1:9464/metrics.

新的

目录

安装

pip install threagile-monitoring

版本来源

  • 孵化VCS版本源插件使用 Git 标签确定项目版本

环境

  • 整齐地定义在独立的hatch.toml
  • test矩阵使用孵化集装箱用于运行 Docker 容器内每个环境的插件;用法可以在测试GitHub 工作流程

建造

  • 所有构建目标都使用孵化VCS构建钩子插件来发送_version.py文件,以便可以在运行时使用该版本
  • 轮子使用孵化 mypyc构建钩子插件以首先编译所有代码Mypyc
  • 建造GitHub 工作流程展示了如何:
    • 使用cibuildwheel为每个平台分发二进制轮子
    • 使用应用程序构建目标为每个平台构建独立发行版

执照

threagile-monitoring是根据以下条款分发的执照。

100 - 简介

README.md

200 - 要求

README.md

300 - 构建我们的应用程序

See README.md

400 - 结论

README.md