diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 312d5cc..f0c1d9c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -2,7 +2,13 @@ name: release on: push: - tags: '*' + tags: + - '*' + +permissions: + contents: write # needed to write releases + id-token: write # needed for keyless signing + packages: write # needed for ghcr access jobs: release: @@ -18,8 +24,6 @@ jobs: - name: Setup Docker Buildx id: buildx uses: docker/setup-buildx-action@v1 - with: - buildkitd-flags: "--debug" - name: Login to GitHub Container Registry uses: docker/login-action@v1 with: @@ -60,6 +64,13 @@ jobs: org.opencontainers.image.revision=${{ github.sha }} org.opencontainers.image.version=${{ steps.prep.outputs.VERSION }} org.opencontainers.image.created=${{ steps.prep.outputs.BUILD_DATE }} + - name: Sign images + env: + COSIGN_EXPERIMENTAL: 1 + run: | + cosign sign docker.io/stefanprodan/podinfo:${{ steps.prep.outputs.VERSION }} + cosign sign docker.io/stefanprodan/podinfo:latest + cosign sign ghcr.io/stefanprodan/podinfo:${{ steps.prep.outputs.VERSION }} - name: Publish base image uses: docker/build-push-action@v2 with: diff --git a/README.md b/README.md index 16b6efb..4b15202 100644 --- a/README.md +++ b/README.md @@ -15,9 +15,7 @@ Specifications: * Health checks (readiness and liveness) * Graceful shutdown on interrupt signals * File watcher for secrets and configmaps -* Instrumented with Prometheus -* Tracing with Istio and Jaeger -* Linkerd service profile +* Instrumented with Prometheus and Open Telemetry * Structured logging with zap * 12-factor app with viper * Fault injection (random errors and latency) @@ -26,7 +24,8 @@ Specifications: * End-to-End testing with Kubernetes Kind and Helm * Kustomize testing with GitHub Actions and Open Policy Agent * Multi-arch container image with Docker buildx and Github Actions -* CVE scanning with trivy +* Container image signing with Sigstore cosign +* CVE scanning with Trivy Web API: