|
94 | 94 | repository: "greenbone/automatix"
|
95 | 95 | workflow: "push.yml"
|
96 | 96 | inputs: '{"service": "${{ matrix.service }}", "image-url": "${{ matrix.image-url }}", "digest": "${{ matrix.digest }}", "version": "${{ matrix.version }}"}'
|
| 97 | + |
| 98 | + generate-and-push-sbom-trivy: |
| 99 | + # generate and push SBOM only on tag pushes (releases) |
| 100 | + if: startsWith(github.ref, 'refs/tags/') |
| 101 | + runs-on: |
| 102 | + - self-hosted |
| 103 | + - self-hosted-generic |
| 104 | + - self-hosted-generic-vm-amd64 |
| 105 | + needs: push-postgres |
| 106 | + steps: |
| 107 | + - name: Scan image in a private registry |
| 108 | + uses: aquasecurity/trivy-action@76071ef0d7ec797419534a183b498b4d6366cf37 # 0.31.0 |
| 109 | + env: |
| 110 | + TRIVY_USERNAME: ${{ secrets.GREENBONE_BOT_USERNAME }} |
| 111 | + TRIVY_PASSWORD: ${{ secrets.GREENBONE_BOT_TOKEN }} |
| 112 | + with: |
| 113 | + image-ref: "${{ vars.IMAGE_REGISTRY}}/${{ github.repository}}:${{ github.ref_name }}" |
| 114 | + scan-type: image |
| 115 | + format: 'cyclonedx' |
| 116 | + output: 'management-console-backend.${{ github.ref_name }}.sbom.json' |
| 117 | + github-pat: ${{ secrets.GITHUB_TOKEN }} |
| 118 | + severity: "CRITICAL" |
| 119 | + - name: Push and sign artifact |
| 120 | + uses: greenbone/actions/[email protected] |
| 121 | + with: |
| 122 | + artifact-file: "management-console-backend.${{ github.ref_name }}.sbom.json" |
| 123 | + artifact-url: "${{ vars.GREENBONE_REGISTRY }}/opensight-management-console-dev/management-console-backend-sbom:${{ github.ref_name }}" |
| 124 | + artifact-folder: ${{ github.workspace }} |
| 125 | + registry-user: ${{ secrets.GREENBONE_REGISTRY_USER }} |
| 126 | + registry-domain: ${{ vars.GREENBONE_REGISTRY }} |
| 127 | + registry-token: ${{ secrets.GREENBONE_REGISTRY_TOKEN }} |
| 128 | + cosign-key: ${{ secrets.COSIGN_KEY_OPENSIGHT }} |
| 129 | + cosign-password: ${{ secrets.COSIGN_KEY_PASSWORD_OPENSIGHT }} |
0 commit comments