跳转到主要内容

系统信息发现和资产跟踪

项目描述

系统信息发现和资产跟踪

安装

pip install corn

开发版安装

克隆玉米仓库并使用pip安装

git clone https://gitlab.com/saltstack/pop/corn.git
pip install -e corn

执行

安装后,玉米命令现在应该可用。

命令将没有输出,直到它垂直扩展(详情见下文)。

测试

使用pip安装requirements-test.txt并运行pytest

pip install -r corn/requirements-test.txt
pytest corn/tests

垂直应用程序合并

扩展玉米的说明

安装pop

pip install --upgrade pop

为项目创建新目录

mkdir corn_{project_name}
cd corn_{project_name}

使用pop-seed生成扩展玉米的项目结构

pop-seed -t v corn_{项目名称} -d corn

  • “-t v”指定这是一个垂直应用程序合并项目

  • “-d corn”表示我们想要实现“玉米”的动态名称

注意,已经为您创建了某些结构。我们特别关注于corn_{项目名称}/corn中的新目录

将“玉米”添加到requirements.txt

echo "corn" >> requirements.txt

创建玉米

  • 在“corn_{项目名称}/corn”中创建新文件
    • 该目录已经由pop-seed创建。

    • 文件名是任意的。

    • 该目录中的每个文件及其子目录都将“同时”解析(只要对asyncio有意义)。

    • 相互依赖的玉米应在同一个函数中分配。

    • 不要依赖收集器的递归策略来使玉米相互依赖。

    • 使用hub.corn.init.wait_for(“玉米”)等待由另一个子生成的玉米

  • 将新项目添加到Python路径
    • 或者,从项目的根目录运行“pip install -e .”
      • 只需做一次

  • 在此文件中创建一个具有描述性但任意名称的异步函数
    • 按照惯例,它应以“load”开头

    • 除非有非常好的理由,否则让它保持异步

    • 相互依赖的粒度已经属于同一个函数,不要依赖同步编程来保证确定性

    • 玉米可以像字典一样访问和赋值,但我们的约定是使用命名空间

示例

async def load_my_corn(hub):
    hub.corn.CORN.new_corn = "Hello World!"

就这样!现在验证一下你的玉米是否可以从命令行收集

corn new_corn

输出

new_corn:
    Hello World!

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

corn-8.tar.gz (6.8 kB 查看哈希值)

上传时间

构建分发

corn-8-py3-none-any.whl (6.2 kB 查看哈希值)

上传时间 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面