Skip to main content

Como se autenticar na API do GitHub

Saiba como se autenticar na API GitHub para usar o Actions Runner Controller with GitHub.

Aviso legal

Visão geral

Você pode autenticar o ARC (Actions Runner Controller) na API do GitHub usando um GitHub App ou um personal access token (classic).

Observação: não é possível se autenticar usando um GitHub App para executores no nível da empresa. Para obter mais informações, confira "Gerenciar o acesso a executores auto-hospedados usando grupos".

Como autenticar o ARC com um GitHub App

  1. Crie um GitHub App que pertence a uma organização. Para obter mais informações, confira "Registrar um Aplicativo GitHub". Configure o GitHub App da seguinte maneira.

    1. Em "URL da Home Page", insira https://github.com/actions/actions-runner-controller.

    2. Em "Permissões", clique em Permissões do repositório. Em seguida, use os menus suspensos para selecionar as permissões de acesso a seguir.

      • Administração: leitura e gravação

        Nota: Administration: Read and write só é necessário ao configurar Actions Runner Controller para registro no escopo do repositório. Não é necessário se registrar no escopo da organização.

      • Metadados: somente leitura

    3. Em "Permissões", clique em Permissões da organização. Em seguida, use os menus suspensos para selecionar as permissões de acesso a seguir.

      • Executores auto-hospedados: leitura e gravação
  2. Depois de criar os dados do GitHub App, na página do GitHub App, observe o valor de "ID do aplicativo". Você usará esse valor mais tarde.

  3. Em "Chaves privadas", clique em Gerar uma chave privada e salve o arquivo .pem. Você usará esta chave mais tarde.

  4. No menu no canto superior esquerdo da página, clique em Instalar aplicativo e, ao lado da sua organização, clique em Instalar para instalar o aplicativo na sua organização.

  5. Depois de confirmar as permissões de instalação na sua organização, anote a ID de instalação do aplicativo. Você o usará mais tarde. Encontre a ID de instalação do aplicativo na página de instalação do aplicativo, que tem o seguinte formato de URL:

    https://github.com/organizations/ORGANIZATION/settings/installations/INSTALLATION_ID

  6. Registre a ID do aplicativo, a ID de instalação e o arquivo de chave privada .pem baixado das etapas anteriores para o Kubernetes como um segredo.

    Para criar um segredo do Kubernetes com os valores de seus dados do GitHub App, execute o comando a seguir.

    Nota: crie o segredo no mesmo namespace onde o gráfico gha-runner-scale-set está instalado. Neste exemplo, o namespace é arc-runners para corresponder à documentação de início rápido. Para obter mais informações, confira "Guia de início rápido do Actions Runner Controller".

    Bash
    kubectl create secret generic pre-defined-secret \
       --namespace=arc-runners \
       --from-literal=github_app_id=123456 \
       --from-literal=github_app_installation_id=654321 \
       --from-literal=github_app_private_key='-----BEGIN RSA PRIVATE KEY-----********'
    

    Usando a propriedade githubConfigSecret em sua cópia do arquivo values.yaml, passe o nome do segredo como uma referência.

    githubConfigSecret: pre-defined-secret
    

Para obter opções adicionais de configuração do Helm, confira values.yaml no repositório ARC.

Como autenticar o ARC com um personal access token (classic)

O ARC pode usar o personal access tokens (classic) para registrar executores auto-hospedados.

  1. Crie um personal access token (classic) com os escopos necessários. Os escopos necessários são diferentes, dependendo se você está registrando executores no nível do repositório ou da organização. Para obter mais informações sobre como criar um personal access token (classic), confira "Gerenciar seus tokens de acesso pessoal".

    Veja a seguir a lista de escopos necessários do personal access token para executores do ARC.

    • Executores do repositório: repo
    • Executores da organização: admin:org
  2. Para criar um segredo do Kubernetes com o valor do personal access token (classic), execute o comando a seguir.

    Nota: crie o segredo no mesmo namespace onde o gráfico gha-runner-scale-set está instalado. Neste exemplo, o namespace é arc-runners para corresponder à documentação de início rápido. Para obter mais informações, confira "Guia de início rápido do Actions Runner Controller".

    Bash
    kubectl create secret generic pre-defined-secret \
       --namespace=arc-runners \
       --from-literal=github_token='YOUR-PAT'
    
  3. Na sua cópia do arquivo values.yaml, transmita o nome do segredo como uma referência.

    githubConfigSecret: pre-defined-secret
    

    Para obter opções adicionais de configuração do Helm, confira values.yaml no repositório ARC.

Partes foram adaptadas do https://github.com/actions/actions-runner-controller/ de acordo com a licença Apache-2.0:

Copyright 2019 Moto Ishizawa

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.