From 8f0900f95e4d6bf364ec3e6ffd1a615f8137d6ab Mon Sep 17 00:00:00 2001 From: guoxudong Date: Fri, 5 Jun 2020 09:42:05 +0800 Subject: [PATCH] fix --- docs/zh/execPluginGuidedExample.md | 11 +++++------ docs/zh/goPluginCaveats.md | 12 ++++++------ docs/zh/goPluginGuidedExample.md | 10 +++++----- 3 files changed, 16 insertions(+), 17 deletions(-) diff --git a/docs/zh/execPluginGuidedExample.md b/docs/zh/execPluginGuidedExample.md index bea8e014b..d7fce2dd3 100644 --- a/docs/zh/execPluginGuidedExample.md +++ b/docs/zh/execPluginGuidedExample.md @@ -2,9 +2,9 @@ 本教程只是一个快速开始的示例,完整的插件文档请看:[kustomize 插件](plugins.md) -本示例将使用 bash 编写了一个傻瓜 _exec_ 插件,用来生成一个 `ConfigMap`。 +本示例将使用 bash 编写了一个简单的 _exec_ 插件,用来生成一个 `ConfigMap`。 -在不破坏当前的设置的情况下,尝试本教程。 +尝试本教程不会破坏你的当前设置。 #### 环境要求 @@ -13,8 +13,7 @@ * `curl` * `Go 1.13` - -## 定义一个工作空间 +## 创建一个工作空间/目录 ``` DEMO=$(mktemp -d) @@ -147,7 +146,7 @@ mkdir -p $MY_PLUGIN_DIR 插件的目录结构为: `apiVersion 的 value/小写 kind 的 value`。 -插件拥有自己的目录不但可以保存插件代码,还可以保存在测试以及任何可能需要的补充数据文件。 +插件拥有自己的目录,不但可以保存插件代码,还可以保存测试代码以需要的补充数据文件。 ## 编写插件 @@ -191,7 +190,7 @@ mkdir -p $DEMO/bin mv kustomize $DEMO/bin ``` -## 检查这个目录 +## 检查目录结构 ``` tree $DEMO diff --git a/docs/zh/goPluginCaveats.md b/docs/zh/goPluginCaveats.md index 548f1dffc..56a031dcc 100644 --- a/docs/zh/goPluginCaveats.md +++ b/docs/zh/goPluginCaveats.md @@ -5,7 +5,7 @@ # Go plugin 注意事项 -_Go 插件_ 是由 Go [plugin package] 描述的编译器,需要特殊的构建标志,不能单独运行,必须加载到正在运行的 Go 程序中。 +_Go 插件_ 是一个编译产品/组件,其定义见 [plugin package],需要特殊的构建标志,不能单独运行,必须加载到正在运行的 Go 程序中。 > 用 Go 编写的普通程序可以作为 _exec 插件_,但是不能作为 _Go 插件_。 @@ -19,9 +19,9 @@ Go 插件编译会创建一个 [ELF] 格式的 `.so` 文件,根据定义,该 主程序 ELF 和插件 ELF 的编译条件(软件包依赖项的版本 `GOOS`,`GOARCH`)之间的偏移会导致插件加载失败,并带有无用的错误消息。 -Exec 插件也会缺乏出处,但不会因编译不正确而失败。 +Exec 插件也会缺乏来源,但不会因编译不正确而失败。 -在任何情况下,共享插件的最好方法是使用某种 _捆绑包_(git repo URL、git 存档文件、tar 包等),其中包含可在下解包的源代码,测试和相关数据 `$XDG_CONFIG_HOME/kustomize/plugin`。 +在任何情况下,共享插件的最好方法是使用某种 _捆绑包_(git repo URL、git 存档文件、tar 包等),其中包含可解包至 `$XDG_CONFIG_HOME/kustomize/plugin` 的源代码,测试和相关数据。 对于 Go 插件,使用共享插件的最终用户 _必须同时编译 kustomize 和 plugin_。 @@ -47,15 +47,15 @@ go build -buildmode plugin \ ### 安全 -Go 插件开发者可以操作与原生 kustomize 操作相同的 API,可确保某些语义、变量和检查等一致。通过stdin/stdout 处理此问题的 exec 插件子流程将使下游转换器和使用者解决问题变得更容易。 +Go 插件开发者可以操作与原生 kustomize 操作相同的 API,可确保某些语义、变量和检查等一致。exec 插件子进程通过 stdin/stdout 来处理这些问题,但对于下游的转化器和使用者来说,会更容易把事情搞砸。 -关键点:如果插件通过 kustomize 提供的文件 `Loader` 接口读取文件,则会受到 kustomize 文件加载限制的约束。当然,除了代码审核之外,没有什么可以阻止 Go 插件导入 io 包并执行其所需的任何操作。 +关键点:如果插件通过 kustomize 提供的文件 `Loader` 接口读取文件,则会受到 kustomize 文件加载限制的约束。当然,除了代码审计之外,没有什么可以阻止 Go 插件导入 io 包并执行其所需的任何操作。 ### Debugging Go 插件开发者可以在功能测试中运行插件时,在 _本地_ 调试插件,并在插件内部和其他位置设置断点。 -为了获得两全其美的方式(共享性和安全性),开发人员可以编写一个 `.go` 程序作为 _exec 插件_,但可以通过处理该程序 `go generate` 来发出 Go 插件(反之亦然)。 +为了获得两全其美的方式(共享性和安全性),开发人员可以编写一个 `.go` 程序作为 _exec 插件_,同时可以被 `go generate` 程序处理生成 Go 插件(反之亦然)。 ### 贡献单元化 diff --git a/docs/zh/goPluginGuidedExample.md b/docs/zh/goPluginGuidedExample.md index 0c212f860..a65d26fa6 100644 --- a/docs/zh/goPluginGuidedExample.md +++ b/docs/zh/goPluginGuidedExample.md @@ -8,9 +8,9 @@ 请务必阅读 [Go plugin 注意事项](goPluginCaveats.md)。 -该示例使用 Go 插件,`SopsEncodedSecrets` 该插件位于 [sopsencodedsecrets repository]中。这是一个进程内的 Go 插件,而不是恰巧用 Go 编写的 exec 插件(这是 Go 作者的另一种选择)。 +该示例使用 Go 插件 `SopsEncodedSecrets`,该插件位于 [sopsencodedsecrets repository]中。这是一个进程内的 Go 插件,而不是恰巧用 Go 编写的 exec 插件(这是 Go 作者的另一种选择)。 -在不破坏当前的设置的情况下,尝试本教程。 +尝试本教程不会破坏你的当前设置。 #### 环境要求 @@ -28,7 +28,7 @@ * Google cloud (gcloud) 安装 * 具有 KMS 权限的 Google帐户 -## 定义一个工作空间 +## 创建一个工作空间/目录 ```shell # 将这些目录分开,以免造成 DEMO 目录的混乱。 @@ -68,7 +68,7 @@ PLUGIN_ROOT=$DEMO/kustomize/plugin 并在下面的命令行中临时设置 `XDG_CONFIG_HOME`。 -### What apiVersion and kind? +### 使用什么 apiVersion 和 kind? 在 kustomize 插件的开发时,插件代码不关心也不知道配置文件中的 `apiVersion` 或 `kind`。 @@ -178,7 +178,7 @@ generators: EOF ``` -现在生成真实的加密数据了。 +接下来生成真实的加密数据。 ### 确保您已安装加密工具