主要的工具来建立,上传,和开发一般的菊咒。

charmcraft的Python项目详细描述


Charmcraft是为Kubernetes运营商开发的

Charmcraft支持Kubernetes运营商开发。在

Charmcraft支持运营商开发人员之间的协作,以及 在Charmhub上发布,Open运算符的主页 收藏。在

使用charmcraft来:

  • 初始化一个新的charm文件结构
  • 让你的运营商成为分销的魅力
  • 在Charmhub上注册你的魅力名字
  • 把你的魅力上传到Charmhub
  • 释放你的魅力进入通道

您可以将charmcraft与任何语言编写的运算符一起使用,但我们 建议使用Python Operator Framework on Github,它也是on PyPI,以便于开发和 协作。在

Charmcraft和Python操作符框架扩展了操作符模式 用universal operators驱动Linux和 Windows应用程序。通用运算符模式对于 多云应用程序管理。在

安装

安装charmcraft的最简单方法是使用

sudo snap install charmcraft --beta

除了--beta,还有多个通道。查看完整列表 snap info charmcraft。我们建议latest/stable或{} 每天都很迷人。有了快照,您将永远是最新的 Charmhub服务和API不断发展。在

也可以使用pip3 install --user charmcraft从PyPI安装

初始化一个charm操作符包文件结构

使用charmcraft init创建一个新的template charm operator文件树:

^{pr2}$

现在你将拥有一个迷人的操作员的所有必要文件,包括 实际的src/charm.py框架和各种元数据项。木筏 假设您希望在Python中工作,因此它将使用 Python操作符框架ops,以及其他常规开发 支持文件。在

打造你的魅力

有了正确的metadata.yamlopsrequirements.txt中,你可以 打造魅力:

$ charmcraft build
Created 'test-charm.charm'.

charmcraft build将从基于PyPI的树中获取其他文件 将使用virtualenv编译模块。在

魅力只是一个包含元数据和操作员代码的zipfile:

$ unzip -l test-charm.charm
Archive:  test-charm.charm
  Length      Date    Time    Name
---------  ---------- -----   ----
      221  2020-11-15 08:10   metadata.yaml
[...]
    25304  2020-11-15 08:14   venv/yaml/__pycache__/scanner.cpython-38.pyc
---------                     -------
   812617                     84 files

现在,如果您有一个Kubernetes集群,可以访问jujuolm 直接juju deploy <test-charm.charm>到集群。你不需要 把你的接线员公布在Charmhub上,你就可以把这个咒语文件传来传去 直接发送给用户,或用于CI/CD目的。在

Charmhub登录和魅力姓名预订

Charmhub是世界上最大的 操作员。它使运营商的共享和协作变得容易。这个 社区对运营商的兴趣非常广泛, 包括基础设施,如代码和遗留应用程序管理,以及 课程Kubernetes操作员。在

使用charmcraft logincharmcraft logout登录Charmhub。在

Charmhub名称注册

您可以使用charmcraft register <name>在Charmhub中注册运算符名称。许多常用名称已被保留,我们鼓励您讨论 你对在Charmhub Discourse中领导或合作的魅力感兴趣。在

Charmhub命名策略是最不令人惊讶的原则-众所周知 name应该映射到大多数人都希望得到的运算符 姓名。在

Charmhub中的运算符可以根据需要重命名,因此可以随意注册 临时名称,例如作为占位符的<;username>;-<;charmname>。在

操作员上传和发布

Charmhub运营商在以下渠道发布:

latest/stable
latest/candidate
latest/beta
latest/edge
1.3/beta
1.3/edge
1.2/stable
1.2/candidate
1.0/stable

使用charmcraft upload为新构建的版本获取新的修订号 和charmcraft release发布对任何特定的 为您的用户提供频道。在

Charmcraft源

从github获取源代码:

git clone https://github.com/canonical/charmcraft.git
cd charmcraft
virtualenv venv
. venv/bin/activate
pip install -r requirements.txt
python -m charmcraft

如果你想运行测试,你可以这样做

pip install -r requirements-dev.txt
./run_tests

欢迎投稿!在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java无法使用JSF访问托管bean方法   java是制作具有多值类型的HashMap的正确方法   javafx中TicTacToe的java更新UI   windows Java文件。getCanonicalFile()无法处理冒号“:”   java在一个布局屏幕中创建多个(26)按钮   java Android Studio:Gradle构建完成,有251个错误   我们如何在Java上为callfireapiclient编写单元/集成测试?   java无法将1715UTC转换为本地/gmt类型   具有已定义的数字序列的JAVA循环   Java程序正在netbeans中编译,但未在CMD中编译,包不存在   java Android构造函数和onCreate()之间有什么区别?   java配置弹性搜索结果评分   java LibGDX纹理是否可绘制?   java如何在Android中设置应用程序默认打开pdf   java是否有一种创造性的方法将多个参数传递给contentEquals()方法?   java在Android上存储Ed25519私钥