Yoke

Yoke

Yoke

软件

软件描述

Yoke 项目是一套用于以不同于现行方式处理包管理的工具。过去,Kubernetes 资源及其包的表示仅由 YAML 及 YAML 模板主导,如今我们能够使用代码进行工作,并受益于原生控制能力……

官方网站

访问软件的官方网站了解更多信息

官方认证

yokecd.github.io

安全链接HTTPS

什么是 Yoke?

Yoke 项目是一套用于以不同于现有方式管理软件包的工具。过去,Kubernetes 资源及其包的表示形式仅由 YAML 及其模板主导,而现在我们可以通过代码进行操作,并利用原生控制流、类型检查、编译器保证、测试、代码检查工具等软件工程的基础工具。

它包含:

  • 一个客户端包管理器,用于将代码包部署到 Kubernetes。
  • 一个 ArgoCD 配置管理插件,使 ArgoCD 能够处理代码包。
  • 一个服务端控制器,允许你创建自定义资源定义(CRD),在 Kubernetes 中原生表示包。
  • Go 包,用于从 Helm Chart 迁移到 Yoke Flights(代码包)。

Yoke 与其他 Kubernetes 包管理器(如 Helm 和 Timoni)的主要区别在于其描述包的方式。在 Yoke 中,包被称为“飞行”(Flights),相当于 Helm 中的“图表”(Charts)。与 Helm 和 Timoni 使用 YAML、CUE 或其他数据/配置语言定义包不同,Yoke 采用通用编程语言来描述 Kubernetes 包。

在 Yoke 中,Flight 是生成目标 Kubernetes 资源(以 JSON 或 YAML 格式)并输出至标准输出的程序。Flight 通常被打包为 WebAssembly(wasm)可执行文件,Yoke 内嵌 Wazero——一个无依赖的 Go 语言 wasm 运行时——来执行这些程序。

共享包即共享代码。包组件可通过各自语言生态系统的包管理器(如 npm、cargo 或 Go modules)分发和版本化。任何可编译为 wasm 的语言在 Yoke 中均获得第一类支持。若所选语言无法编译为 wasm,仍可调用程序并将输出直接传给 Yoke,但该方法存在局限性,包括潜在的可移植性和安全问题。

支持平台

下载与相关链接

安全提示
⚠️

安全提醒

点击下方链接将跳转到第三方网站,请确保来源安全,建议优先从官方网站下载。