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
-
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.
-
Em "URL da Home Page", insira
https://github.com/actions/actions-runner-controller
. -
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
-
-
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
-
-
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.
-
Em "Chaves privadas", clique em Gerar uma chave privada e salve o arquivo
.pem
. Você usará esta chave mais tarde. -
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.
-
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
-
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-----********'
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 arquivovalues.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.
-
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
- Executores do repositório:
-
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'
kubectl create secret generic pre-defined-secret \ --namespace=arc-runners \ --from-literal=github_token='YOUR-PAT'
-
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.
Aviso legal
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.