Configurar insights do Developer Connect

Este documento descreve como configurar insights do Developer Connect para disponibilizar insights do Developer Connect para investigações do Gemini Cloud Assist e no Cloud Logging.

Saiba mais sobre os insights do Developer Connect.

Antes de começar

  1. Faça login na sua Conta do Google.

    Se você ainda não tiver uma, inscreva-se agora.

  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Developer Connect API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Developer Connect API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  8. Ao ativar o Developer Connect, você também ativa a API Secret Manager.

  9. Instale a CLI do Google Cloud.

    Se você já instalou, verifique se tem a versão mais recente executando gcloud components update.

  10. Crie o agente de serviço do Developer Connect:
    gcloud beta services identity create \
    --service=developerconnect.googleapis.com \
    --project=PROJECT_NUM

    O papel roles/developerconnect.serviceAgent é adicionado automaticamente a esse agente de serviço.

Funções exigidas

Se você estiver usando um aplicativo do App Hub gerenciado por um projeto de gerenciamento:

  • Administrador de insights do Developer Connect (roles/developerconnect.insightsAdmin) e leitor do App Hub (roles/apphub.viewer) no projeto de gerenciamento.
  • Papel de agente de serviço do Developer Connect (roles/developerconnect.serviceAgent) e o papel de agente do Developer Connect Insights (roles/developerconnect.insightsAgent) ao agente de serviço do Developer Connect no projeto de gerenciamento.

Se você estiver usando um aplicativo do App Hub gerenciado por um projeto host:

  • Administrador de insights do Developer Connect (roles/developerconnect.insightsAdmin) e leitor do App Hub (roles/apphub.viewer) no projeto host
  • Papel de agente de serviço do Developer Connect (roles/developerconnect.serviceAgent) e o papel de agente do Developer Connect Insights (roles/developerconnect.insightsAgent) ao agente de serviço do Developer Connect para o projeto host
  • Agente do Developer Connect Insights (roles/developerconnect.insightsAgent) em todos os projetos de serviço
    • Se você estiver usando recursos atuais (por exemplo, do Cloud Build ou do Artifact Registry) que não estão na mesma pasta, conceda ao agente de serviço do Developer Connect a função Agente do Developer Connect Insights nesses projetos.

Para ver insights na linha de comando:

  • Leitor de insights do Developer Connect (roles/developerconnect.insightsViewer) no projeto host
  • Papel "Leitor de ocorrências" do Container Analysis (roles/containeranalysis.occurrences.viewer) no projeto host

Algumas ferramentas podem exigir outras funções e permissões Google Cloud do Google ou de terceiros para serem usadas ou em casos de uso específicos. Se você encontrar erros de permissão, verifique com seu administrador se tem as funções e permissões corretas.

Além dessas funções e permissões, ao configurar uma nova configuração de insights usando o fluxo de trabalho interativo, você precisa ter permissão para acessar todos os recursos especificados.

Pré-requisitos adicionais

  • Se você quiser que os insights do Developer Connect sejam limitados a um aplicativo do App Hub, é necessário ter ou criar esse aplicativo.

    Os insights do Developer Connect são compatíveis com todos os modelos de configuração do App Hub para aplicativos. Recomendamos usar uma pasta configurada para gerenciamento de aplicativos para que você possa usar o Gemini Cloud Assist e outros recursos centrados em aplicativos.

    Também é possível limitar os insights do Developer Connect a um projeto em vez de um aplicativo do App Hub.

  • Você precisa usar o Cloud Build e um sistema de gerenciamento de código-fonte compatível (GitHub, GitLab ou Bitbucket).

  • Sua build precisa gerar informações de procedência para incluí-las nos registros.

    Isso pode vir de qualquer uma das seguintes fontes:

    • Use o Cloud Build e o Artifact Registry.

      É possível usar o Cloud Build para criar a imagem. A build precisa ser iniciada usando um gatilho, e o processo de build precisa gerar procedência. Os artefatos gerados pelo build são armazenados no Artifact Registry.

    • Usar atestados do GitHub.

      Se você usar a versão 4 ou mais recente do docker/build-push-action, a ação adiciona automaticamente declarações de origem à sua imagem.

      Como alternativa, use o actions/attest-build-provenance com a opção push-to-registry para publicar a atestação de origem no Container Registry, onde os insights do Developer Connect podem lê-la, independente do provedor do registro.

    • Use a sinalização docker buildx provenance.

      Saiba mais

    • Use o exportador de registros docker buildx.

      E defina oci-artifact como true. Saiba mais

    As declarações do GitHub precisam vir de um repositório disponível publicamente. O artefato docker buildx precisa estar disponível publicamente no registro de contêineres.

    Você ainda pode usar os insights do Developer Connect sem procedência, mas eles serão menos úteis.

  • Gemini Cloud Assist

    Os insights do Developer Connect melhoram a experiência do Gemini Cloud Assist adicionando eventos de implantação de aplicativos ao contexto da investigação. Você pode ativar o Gemini Cloud Assist para usar os insights do Developer Connect com as investigações do Gemini Cloud Assist.

  • Se os insights do Developer Connect forem limitados a um aplicativo do App Hub, a configuração de insights precisará estar no mesmo projeto que esse aplicativo.

    Se o escopo for por projeto, a configuração não precisará estar no mesmo projeto que o projeto no escopo.

    É recomendável, mas não obrigatório, ter seus outros recursos aplicáveis (por exemplo, insights do Developer Connect, clusters do Google Kubernetes Engine, serviços do Cloud Run, Cloud Build, repositórios do Artifact Registry) no mesmo local.

Criar seu aplicativo no App Hub

Isso só é relevante se você estiver definindo o escopo dos insights do Developer Connect para um aplicativo do App Hub.

  1. Configure o App Hub. Recomendamos usar uma pasta configurada para gerenciamento de aplicativos para que você possa usar o Gemini Cloud Assist e outros recursos centrados em aplicativos.

  2. Crie um aplicativo do App Hub.

Configurar insights do Developer Connect para seu aplicativo

Crie um insight do Developer Connect usando o seguinte comando:

gcloud developer-connect insights-configs create DCI_CONFIG_NAME \
       --project PROJECT_ID \
       --app-hub-application APP_HUB_APPLICATION_NAME \
       --target-projects TARGET_PROJECT_IDS \
       --location LOCATION

Em que:

  • DCI_CONFIG_NAME é o nome da configuração de insights que será gerada.

  • PROJECT_ID é o ID do projeto em que você está criando a configuração de insights do Developer Connect.

  • APP_HUB_APPLICATION_NAME é o nome totalmente qualificado do aplicativo do App Hub que você criou anteriormente.

    Isso só é aplicável se você estiver definindo o escopo dessa configuração de insights para um aplicativo do App Hub em vez de um projeto.

  • TARGET_PROJECT_IDS é a lista separada por vírgulas de IDs dos projetos em que você está definindo o escopo da configuração dos insights do Developer Connect.

    Isso só é aplicável se você estiver definindo o escopo dessa configuração de insights para um projeto em vez de um aplicativo do App Hub.

  • LOCATION é a região em que você quer criar essa configuração de insights.

Esse comando aciona um processo de descoberta automática, que encontra todas as cargas de trabalho e serviços do App Hub no seu projeto. Esse processo também confirma se você tem as permissões necessárias.

Esse comando também retorna um OPERATION_ID, que pode ser usado para verificar o status da configuração.

Você pode verificar o status da configuração de insights do Developer Connect:

gcloud developer-connect operations describe OPERATION_ID

Em que OPERATION_ID é o ID de operação totalmente especificado retornado do comando gcloud developer-connect insights-configs create.

Essa operação é um recebimento da solicitação inicial. O campo response dentro dele é um instantâneo do recurso no momento exato em que a tarefa de criação foi aceita. Para conferir o estado do processo de descoberta, execute o comando insights-configs describe.

Depois que o processo de descoberta automática terminar, verifique o status das insights do Developer Connect executando o seguinte comando:

gcloud developer-connect insights-configs describe DCI_CONFIG_NAME \
       --location=REGION

Em que:

  • DCI_CONFIG_NAME é o nome que você usou para o comando gcloud developer-connect insights-configs create.

  • REGION é a região em que você criou a configuração.

A seguir