Ansible:从私有 github 克隆 repo 或安装 helm chart

Ansible:从私有 github 克隆 repo 或安装 helm chart

知道如何使用 Ansible 从私有 Github repo 安装 Helm chart (tgz) 吗?是否可以仅使用 Github token 而不使用 ssh key 来执行此操作,或者先使用 Ansible 克隆私有 git repo 然后再安装它是否更容易?

答案1

个人访问令牌只能用于 HTTPS Git 操作。

GitHub 文档:在命令行上使用令牌

使用 https 时,令牌可用作密码。因此,当需要使用令牌作为密码时,可能需要将远程从 git 切换到 https。

一般来说,令牌主要用作针对 REST API 的安全身份验证机制:

如前所述,从 2020 年 11 月 13 日开始,我们将不再接受使用 REST API 进行身份验证时使用帐户密码,并且将要求对 GitHub.com 上所有经过身份验证的 API 操作使用基于令牌的身份验证(例如个人访问、OAuth 或 GitHub App 安装令牌)。 GitHub 公告

该令牌可用于管理对 GitHub 存储库的访问,如下所示:

- name: Read SSH public key to authorize
  ansible.builtin.shell: cat /home/foo/.ssh/id_rsa.pub
  register: ssh_pub_key

- name: Authorize key with GitHub
  local_action:
    module: github_key
    name: Access Key for Some Machine
    token: '{{ github_access_token }}'
    pubkey: '{{ ssh_pub_key.stdout }}'

Ansible github_key_module

但在我看来,它并不是要取代常规 Git 操作的 ssh 公钥身份验证。因此,当使用 https 协议进行远程操作时,应该可以继续使用 ssh 密钥或令牌进行身份验证从 GitHub 克隆存储库。

相关内容