DEV Community

Raphael Borges
Raphael Borges

Posted on

3

Você já conhece o Digestabot?

Em resumo, o Digestabot é uma GitHub Action desenvolvida pela Chainguard para manter suas imagens sempre atualizadas, com o objetivo de minimizar os riscos de CVE (Vulnerabilidades Comuns e Exposições, do inglês "Common Vulnerabilities and Exposures").

Utilizando o padrão "tag+digest", a Action atualiza a imagem em uso e abre um Pull Request (PR) para que o usuário faça o merge com a(s) versão(ões) mais recente(s) da(s) imagem(ns) nao só da Chainguard, mas também de qualquer outro registry utilizado no repositório.

Algumas configurações às quais você deve estar atento ao usar o Digestabot:

  • Suas imagens devem seguir o padrão <repo>:<tag>@sha256:<digest>. Por exemplo, cgr.dev/chainguard/nginx:latest@sha256:81bed54c9e507503766c0f8f030f869705dae486f37c2a003bb5b12bcfcc713f.

  • É necessário autorizar o GitHub Actions para criar Pull Requests na aba Settings -> Actions marcando a opção Allow GitHub Actions to create and approve pull requests.

Para utilizar o Digestabot, vamos criar o arquivo digestabot.yml em .github/workflows

name: Image digest update

on:
  workflow_dispatch:
  schedule:
    # Agendado para rodar todos os dias as 00:00
    - cron: "0 0 * * *"

jobs:
  image-update:
    name: Image digest update
    runs-on: ubuntu-latest

    permissions:
      contents: write # Permissão para escrever no repositório
      pull-requests: write # Permissão para abrir PRs
      id-token: write # Necessário para solicitar o JWT (JSON Web Token)

    steps:
    - uses: actions/checkout@v4
    - uses: chainguard-dev/digestabot@v1.0.2
      with:
        token: ${{ secrets.GITHUB_TOKEN }}
        signoff: true # Adiciona o campo email ao commit  
        author: update-bot # Define o autor do commit
        committer: update-bot@example.com # Define o email do autor do commit
        labels-for-pr: automated pr, kind/cleanup, release-note-none # Define as labels do PR
        branch-for-pr: update-digests # Define o nome da branch do PR
        title-for-pr: Update images digests # Define o título do PR
        commit-message: Update images digests # Define a mensagem do commit
Enter fullscreen mode Exit fullscreen mode

Para mais informações sobre o Digestabot acesse o link da Action no Marketplace ou o repositório oficial no GitHub..

AWS Security LIVE!

Join us for AWS Security LIVE!

Discover the future of cloud security. Tune in live for trends, tips, and solutions from AWS and AWS Partners.

Learn More

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay