-
Notifications
You must be signed in to change notification settings - Fork 24
Add git-launcher for pinned workload provenance #97
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from 11 commits
82b45dc
3c44cce
68cb658
b0478b6
331c3d0
7304668
42c97a4
c8b49a9
cab7a2f
df7060e
66c86e2
67a101f
14686aa
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,92 @@ | ||
| name: git-launcher Release | ||
| on: | ||
| workflow_dispatch: {} | ||
| push: | ||
| tags: | ||
| - 'git-launcher-v*' | ||
|
|
||
| permissions: | ||
| contents: write | ||
| packages: write | ||
| attestations: write | ||
| id-token: write | ||
|
|
||
| jobs: | ||
| build-and-attest: | ||
| runs-on: ubuntu-latest | ||
| env: | ||
| IMAGE_REGISTRY: docker.io | ||
| IMAGE_REPOSITORY: ${{ vars.DOCKERHUB_ORG }}/git-launcher | ||
| steps: | ||
| - name: Checkout repository | ||
| uses: actions/checkout@v4 | ||
|
|
||
| - name: Parse version from tag | ||
| run: | | ||
| VERSION=${GITHUB_REF#refs/tags/git-launcher-v} | ||
| if [ -z "${VERSION}" ]; then | ||
| echo "Unable to parse version from ref: ${GITHUB_REF}" >&2 | ||
| exit 1 | ||
| fi | ||
| echo "VERSION=${VERSION}" >> "$GITHUB_ENV" | ||
| echo "IMAGE_REFERENCE=${IMAGE_REGISTRY}/${IMAGE_REPOSITORY}:${VERSION}" >> "$GITHUB_ENV" | ||
| echo "Parsed version: ${VERSION}" | ||
|
|
||
| - name: Run launcher tests | ||
| working-directory: git-launcher | ||
| run: ./tests/run-tests.sh | ||
|
|
||
| - name: Set up Docker Buildx | ||
| uses: docker/setup-buildx-action@v3 | ||
|
|
||
| - name: Log in to Docker registry | ||
| uses: docker/login-action@v3 | ||
| with: | ||
| registry: ${{ env.IMAGE_REGISTRY }} | ||
| username: ${{ vars.DOCKERHUB_USERNAME }} | ||
| password: ${{ secrets.DOCKERHUB_TOKEN }} | ||
|
|
||
| - name: Build and push Docker image | ||
| id: build-and-push | ||
| uses: docker/build-push-action@v5 | ||
| with: | ||
| context: git-launcher | ||
| file: git-launcher/docker/Dockerfile | ||
| push: true | ||
| tags: docker.io/${{ vars.DOCKERHUB_ORG }}/git-launcher:${{ env.VERSION }} | ||
| platforms: linux/amd64 | ||
| labels: | | ||
| org.opencontainers.image.title=git-launcher | ||
| org.opencontainers.image.source=${{ github.server_url }}/${{ github.repository }} | ||
| org.opencontainers.image.revision=${{ github.sha }} | ||
| org.opencontainers.image.version=${{ env.VERSION }} | ||
|
|
||
| - name: Generate artifact attestation | ||
| uses: actions/attest-build-provenance@v1 | ||
| with: | ||
| subject-name: docker.io/${{ vars.DOCKERHUB_ORG }}/git-launcher | ||
| subject-digest: ${{ steps.build-and-push.outputs.digest }} | ||
| push-to-registry: true | ||
|
|
||
| - name: Publish summary | ||
| env: | ||
| IMAGE_REFERENCE: ${{ env.IMAGE_REFERENCE }} | ||
| IMAGE_DIGEST: ${{ steps.build-and-push.outputs.digest }} | ||
| run: | | ||
| { | ||
| echo "## git-launcher image" | ||
| echo "" | ||
| echo "- Tag: \`${IMAGE_REFERENCE}\`" | ||
| echo "- Digest: \`${IMAGE_DIGEST}\`" | ||
| echo "- Sigstore: https://search.sigstore.dev/?hash=${IMAGE_DIGEST}" | ||
| } >> "$GITHUB_STEP_SUMMARY" | ||
|
|
||
| - name: Release | ||
| uses: softprops/action-gh-release@v1 | ||
| with: | ||
| body: | | ||
| ## git-launcher image (SHA256) | ||
|
|
||
| - Image: `${{ env.IMAGE_REFERENCE }}` | ||
| - Digest: `${{ steps.build-and-push.outputs.digest }}` | ||
| - Verification: https://search.sigstore.dev/?hash=${{ steps.build-and-push.outputs.digest }} |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -230,7 +230,8 @@ Implementation details and infrastructure patterns. | |
|
|
||
| | Example | Description | | ||
| |---------|-------------| | ||
| | [launcher](./launcher) | Generic launcher pattern for Docker Compose apps | | ||
| | [launcher](./launcher) | Generic launcher pattern for Docker Compose apps (auto-update) | | ||
| | [git-launcher](./git-launcher) | Run a pinned Git commit in a TEE. | | ||
|
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Address code provenance
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Agent: Addressed in 67a101f. Updated the top-level README row to make the code-provenance purpose explicit: |
||
| | [prelaunch-script](./prelaunch-script) | Pre-launch script patterns (Phala Cloud) | | ||
| | [private-docker-image-deployment](./private-docker-image-deployment) | Using private Docker registries | | ||
| | [attestation/rtmr3-based](./attestation/rtmr3-based) | RTMR3-based attestation (legacy) | | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| .git | ||
| .github | ||
| tests | ||
| examples | ||
| README.md |
Uh oh!
There was an error while loading. Please reload this page.