From 765a1596f9ef4fc31412b680a47dc907d6c25aad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9sar=20Arroba?= <19954079+cesararroba@users.noreply.github.com> Date: Tue, 4 Aug 2026 16:53:59 +0200 Subject: [PATCH] chore(docs): sync Docker Hub repository overviews from a single source (#12333) --- .github/workflows/dockerhub-descriptions.yml | 92 ++++++++++++++ docs/dockerhub/README.md | 120 +++++++++++++++++++ 2 files changed, 212 insertions(+) create mode 100644 .github/workflows/dockerhub-descriptions.yml create mode 100644 docs/dockerhub/README.md diff --git a/.github/workflows/dockerhub-descriptions.yml b/.github/workflows/dockerhub-descriptions.yml new file mode 100644 index 0000000000..ab3ed83c73 --- /dev/null +++ b/.github/workflows/dockerhub-descriptions.yml @@ -0,0 +1,92 @@ +name: 'Tools: Sync Docker Hub Descriptions' + +on: + push: + branches: + - 'master' + paths: + - 'docs/dockerhub/README.md' + - '.github/workflows/dockerhub-descriptions.yml' + workflow_dispatch: + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: false + +env: + OVERVIEW_FILE: docs/dockerhub/README.md + +permissions: {} + +jobs: + prowlercloud: + if: github.repository == 'prowler-cloud/prowler' && github.ref == 'refs/heads/master' + runs-on: ubuntu-latest + timeout-minutes: 10 + permissions: + contents: read + strategy: + fail-fast: false + matrix: + include: + - repository: prowlercloud/prowler + short_description: 'Prowler CLI: the Open Cloud Security tool for AWS, Azure, Google Cloud, Kubernetes, M365 and GitHub' + - repository: prowlercloud/prowler-api + short_description: 'Prowler Local Server - API: the JSON API and Task Runner components of Prowler' + - repository: prowlercloud/prowler-ui + short_description: 'Prowler Local Server - UI: the web interface to run Prowler scans and explore findings' + - repository: prowlercloud/prowler-mcp + short_description: 'Prowler MCP: the interface for agents, including IDE plugins and agent integrations' + + steps: + - name: Harden Runner + uses: step-security/harden-runner@bf7454d06d71f1098171f2acdf0cd4708d7b5920 # v2.20.0 + with: + egress-policy: block + allowed-endpoints: > + github.com:443 + hub.docker.com:443 + + - name: Checkout repository + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + persist-credentials: false + + - name: Update Docker Hub description for ${{ matrix.repository }} + uses: peter-evans/dockerhub-description@1b9a80c056b620d92cedb9d9b5a223409c68ddfa # v5.0.0 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + repository: ${{ matrix.repository }} + short-description: ${{ matrix.short_description }} + readme-filepath: ${{ env.OVERVIEW_FILE }} + + toniblyx: + if: github.repository == 'prowler-cloud/prowler' && github.ref == 'refs/heads/master' + runs-on: ubuntu-latest + timeout-minutes: 10 + permissions: + contents: read + + steps: + - name: Harden Runner + uses: step-security/harden-runner@bf7454d06d71f1098171f2acdf0cd4708d7b5920 # v2.20.0 + with: + egress-policy: block + allowed-endpoints: > + github.com:443 + hub.docker.com:443 + + - name: Checkout repository + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + persist-credentials: false + + - name: Update Docker Hub description for toniblyx/prowler + uses: peter-evans/dockerhub-description@1b9a80c056b620d92cedb9d9b5a223409c68ddfa # v5.0.0 + with: + username: ${{ secrets.TONIBLYX_DOCKERHUB_USERNAME }} + password: ${{ secrets.TONIBLYX_DOCKERHUB_PASSWORD }} + repository: toniblyx/prowler + short-description: 'Prowler CLI (legacy repository, mirrors prowlercloud/prowler)' + readme-filepath: ${{ env.OVERVIEW_FILE }} diff --git a/docs/dockerhub/README.md b/docs/dockerhub/README.md new file mode 100644 index 0000000000..773a21b896 --- /dev/null +++ b/docs/dockerhub/README.md @@ -0,0 +1,120 @@ +
+ Prowler is the Open Cloud Security platform trusted by thousands to automate security and compliance in any cloud environment — AWS, Azure, Google Cloud, Kubernetes, M365, GitHub and more. +
++ Learn more at prowler.com · Join our Slack community +
+ + + +--- + +# Prowler container images + +All Prowler images are built from a single repository — [github.com/prowler-cloud/prowler](https://github.com/prowler-cloud/prowler) — and published together on every release. + +| Image | What it is | Dockerfile | +|---|---|---| +| [`prowlercloud/prowler`](https://hub.docker.com/r/prowlercloud/prowler) | **Prowler CLI.** Runs scans from your terminal, a CI job, a Kubernetes Job or any container platform. | [`Dockerfile`](https://github.com/prowler-cloud/prowler/blob/master/Dockerfile) | +| [`prowlercloud/prowler-api`](https://hub.docker.com/r/prowlercloud/prowler-api) | **Prowler Local Server — API.** Django REST backend plus the Celery worker and scheduler that run scans and store results. | [`api/Dockerfile`](https://github.com/prowler-cloud/prowler/blob/master/api/Dockerfile) | +| [`prowlercloud/prowler-ui`](https://hub.docker.com/r/prowlercloud/prowler-ui) | **Prowler Local Server — UI.** Next.js web interface for launching scans and exploring findings. | [`ui/Dockerfile`](https://github.com/prowler-cloud/prowler/blob/master/ui/Dockerfile) | +| [`prowlercloud/prowler-mcp`](https://hub.docker.com/r/prowlercloud/prowler-mcp) | **Prowler MCP.** Gives AI assistants access to the Prowler ecosystem over the Model Context Protocol. | [`mcp_server/Dockerfile`](https://github.com/prowler-cloud/prowler/blob/master/mcp_server/Dockerfile) | +| [`toniblyx/prowler`](https://hub.docker.com/r/toniblyx/prowler) | **Legacy home of the Prowler CLI image.** Still mirrored on every release for backwards compatibility. New deployments should use `prowlercloud/prowler`. | [`Dockerfile`](https://github.com/prowler-cloud/prowler/blob/master/Dockerfile) | + +All images are published for `linux/amd64` and `linux/arm64`. + +## Tags + +| Tag | Meaning | +|---|---| +| `stable` | Always points to the latest stable release. **Recommended for production.** | +| `