3 个版本 (稳定)
| 1.1.0 | 2023 年 10 月 15 日 | 
|---|---|
| 1.0.0 | 2023 年 10 月 15 日 | 
| 0.1.99 | 2023 年 10 月 15 日 | 
#2352 在 编码
7KB
83 行
UnBase64Manifest - ub64m
一个帮助我处理 Kubernetes 清单的工具。可能还有更简单、更优雅的方法使用标准命令行工具来做这件事,但那样有什么乐趣呢? 😂
此工具将接受一个 JSON 或 YAML 文档,并解码任何字段值中的所有 base64 编码字符串。然后它将输出打印为新的 YAML 文件。
示例用法
$ cat tests/data/encoded-sample.yaml
---
Name: Cloud Configuration
Version: 1
Private: true
Account:
  User: Qm9iCg==
  Zones:
    - ZWFzdC0xLWEK
    - ZWFzdC0xLWIK
    - c291dGgtMi1hCg==
  ProjectName: Ym9icy1iaWctcHJvamVjdAo=
  Token: c3VwZXItc2VjcmV0Cg==
$ ./target/debug/ub64m tests/data/encoded-sample.yaml
---
Name: Cloud Configuration
Version: 1
Private: true
Account:
  User: Bob
  Zones:
    - east-1-a
    - east-1-b
    - south-2-a
  ProjectName: bobs-big-project
  Token: super-secret
$ kubectl create -f tests/data/kubernetes-configmap.yaml
$ kubectl get cm cloud-config -o yaml
apiVersion: v1
data:
  projectName: Ym9icy1iaWctcHJvamVjdAo=
  token: c3VwZXItc2VjcmV0Cg==
  user: Qm9iCg==
kind: ConfigMap
metadata:
  creationTimestamp: "2023-10-15T23:50:15Z"
  name: cloud-config
  namespace: default
  resourceVersion: "1776"
  uid: 7aeee832-4421-472e-a27d-83b4dece0c7f
[mike@gamebox] devel ~/dev/ub64m
$ kubectl get cm cloud-config -o yaml | ./target/debug/ub64m -
---
apiVersion: v1
data:
  projectName: bobs-big-project
  token: super-secret
  user: Bob
kind: ConfigMap
metadata:
  creationTimestamp: "2023-10-15T23:50:15Z"
  name: cloud-config
  namespace: default
  resourceVersion: "1776"
  uid: 7aeee832-4421-472e-a27d-83b4dece0c7f
使用 cargo 安装
在终端中,从 $HOME 类型以下内容
cargo install ub64m
这将把 ub64m 二进制文件安装到 .cargo/bin 目录中,请注意,这将需要添加到您的 $PATH 中以便更容易使用。
依赖项
~1.7–2.3MB
~45K SLoC