Conselho do Projeto GitHub

Para aliviar o fardo dos mantenedores do projeto, existe um Conselho de Projeto interno no GitHub usado para acompanhar o progresso dos PRs e problemas. O quadro está disponível apenas para a equipe @GersonRS/is-modern-gitops-stack e está disponível https:/ /github.com/orgs/GersonRS/projects/3/[aqui]. Todos os repositórios do Modern Gitops Stack também estão conectados a este projeto no momento da criação.

A maneira como isso é feito é um tanto complicada, daí o motivo desta página de documentação.

Projeto Gitops Stack Moderno

O projeto em si foi criado manualmente na organização @GersonRS, usando a interface web do GitHub (https://docs.github.com/en/issues/planning -e-rastreamento-com-projetos/criando-projetos/criando-um-projeto[documentação]). O projeto é privado (documentação) e acessível apenas à equipe @GersonRS/is-modern-gitops-stack (https://docs.github.com/en/issues/planning-and-tracking-with-projects/managing-your-project/managing -acesso aos seus projetos[documentação]).

Todos os quadros e tabelas também foram criados manualmente. Nas configurações do projeto, existem fluxos de trabalho de automação (https://docs.github.com/en/issues/planning-and-tracking-with-projects/automating-your-project/using-the-built-in- automações[documentação]) que movimentam os problemas e PRs dependendo de seu status (aberto, fechado, mesclado, etc.).

Adicionando um PR/problema ao projeto

Como existem alguns limites de quantos repositórios podemos adicionar a um projeto usando os fluxos de trabalho padrão, fomos forçados a automatizar esse processo usando um fluxo de trabalho do GitHub, conforme sugerido em https://docs.github.com/en/issues/ planejando e rastreando com projetos/automatizando seu projeto/automatizando projetos usando ações#exemplo-fluxo de trabalho-autenticando-com-um-github-app[documentação oficial].

Embora a documentação oficial chame explicitamente a API com comandos gh, optamos por usar uma ação oficial do GitHub (actions/add-to-project) para conseguir isso. Além disso, para permitir que os fluxos de trabalho modificassem o projeto, precisávamos criar um aplicativo GitHub cujo único propósito é fornecer as permissões necessárias aos fluxos de trabalho.

Aplicativo de projeto moderno Gitops Stack

O aplicativo é chamado de Modern Gitops Stack Project e está disponível https://github.com/apps/modern-gitops-stack-project [aqui].

Este aplicativo foi criado em nossa organização por um administrador e está configurado com um escopo limitado de permissões: ele só pode acessar os projetos da organização onde está instalado, bem como os PRs e Issues dos repositórios nos quais está instalado (https: //docs.github.com/en/apps/creating-github-apps/setting-up-a-github-app/creating-a-github-app[documentação oficial] sobre como criar um aplicativo GitHub).

Após a criação do aplicativo, foi necessário um administrador para instalá-lo na organização e em todos os repositórios do Modern Gitops Stack. Isso foi feito acessando a página do aplicativo e clicando no botão Instalar e definindo as configurações adequadas após a instalação (tudo isso é feito nas configurações da organização, verifique https://docs.github.com/en/apps/ mantendo-github-apps/instalando-github-apps#instalando-seu-privado-github-app-on-seu-repositório[documentação oficial]).

IMPORTANTE: O motivo para não instalar o aplicativo em todos os repositórios por padrão foi limitar ainda mais o escopo do aplicativo, embora *isso adicione o fardo de instalá-lo manualmente em cada repositório sempre que um novo repositório do Modern Gitops Stack for criado *.

Fluxo de trabalho centralizado

A definição do fluxo de trabalho está disponível em repositório principal.

Unresolved include directive in modules/ROOT/pages/contributing/project_board.adoc - include::examples$github_workflows/pr-issues-project.yaml[]

NOTA: É a etapa Gerar token de autenticação do aplicativo GitHub que usa o aplicativo GitHub criado acima para gerar um token com as permissões adequadas que é então passado para a etapa Adicionar PR ou emitir ao quadro do projeto Modern Gitops Stack.