grafana/drone-vaultDrone-Vault是一个Drone CI/CD插件,专门设计用于与HashiCorp Vault集成。它提供了在Drone流水线中安全获取Vault中存储的密钥和敏感信息的能力,确保构建和部署过程中的安全凭证管理。
在Drone流水线中使用drone-vault插件:
yamlsteps: - name: fetch-secrets image: grafana/drone-vault settings: server: [***] path: secret/data/drone role_id: from_secret: vault_role_id secret_id: from_secret: vault_secret_id secrets: - source: db_password target: DATABASE_PASSWORD - source: api_key target: API_KEY
yamlsettings: server: [***] auth: approle role_id: from_secret: vault_role_id secret_id: from_secret: vault_secret_id
yamlsettings: server: [***] auth: token token: from_secret: vault_token
yamlsettings: server: [***] auth: kubernetes role: drone-agent mount_path: kubernetes
| 参数 | 描述 | 必需 | 默认值 |
|---|---|---|---|
| server | Vault服务器地址 | 是 | - |
| auth | 认证方法 (token, approle, kubernetes, github, userpass) | 否 | token |
| path | 秘密路径 | 是 | - |
| secrets | 秘密映射列表 | 是 | - |
| kv_version | KV秘密引擎版本 (1或2) | 否 | 2 |
| namespace | Vault命名空间 | 否 | - |
| mount_path | 秘密引擎挂载路径 | 否 | secret |
| tls_skip_verify | 跳过TLS验证 | 否 | false |
| role_id | AppRole角色ID | 仅AppRole认证 | - |
| secret_id | AppRole秘密ID | 仅AppRole认证 | - |
| token | Vault令牌 | 仅Token认证 | - |
| role | Kubernetes角色 | 仅Kubernetes认证 | - |
| username | 用户名 | 仅Userpass认证 | - |
| password | 密码 | 仅Userpass认证 | - |
| github_token | GitHub令牌 | 仅GitHub认证 | - |
bashdocker run --rm \ -e PLUGIN_SERVER=[***] \ -e PLUGIN_AUTH=approle \ -e PLUGIN_ROLE_ID=your-role-id \ -e PLUGIN_SECRET_ID=your-secret-id \ -e PLUGIN_PATH=secret/data/drone \ -e PLUGIN_SECRETS="[{source: 'db_password', target: 'DATABASE_PASSWORD'}, {source: 'api_key', target: 'API_KEY'}]" \ grafana/drone-vault
yamlkind: pipeline name: default steps: - name: build image: golang:1.16 commands: - go build - go test - name: deploy image: plugins/kubernetes settings: kubeconfig: from_secret: kubeconfig when: branch: - master secrets: - name: kubeconfig get: path: secret/data/drone name: kubeconfig
secrets参数是一个列表,每个条目包含:
source: Vault中存储的密钥名称target: 要注入到环境中的环境变量名称required: 布尔值,指示该密钥是否为必需(默认为true)示例:
yamlsecrets: - source: db_password target: DATABASE_PASSWORD - source: api_key target: API_KEY required: false


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务