Repository navigation
feat(assembly): container image served by Caddy on BCI Micro - #55
Open
ccp-redbeard wants to merge 3 commits into
Open
ccp-redbeard wants to merge 3 commits into
ccp-redbeard wants to merge 3 commits into
Conversation
Builds the assembly SPA for each tier on dapp/v* release tags, serves it with Caddy from a patched SUSE BCI Micro root, and pushes to ECR frontier/eve-frontier-dapps as <version>-<tier>-<arch> after a Grype critical gate. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Coverage Report for @evefrontier/dapp-kit
File CoverageNo changed files found. |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
Frontend dependency scanning is incomplete, and missing assets can receive year-long immutable caching headers.
2 open issues
What changed in this PR
Adds a container deployment path for the assembly dapp on a private EKS origin while preserving Amplify deployments.
Changes:
- Builds the SPA and Caddy into a non-root BCI Micro image.
- Configures health checks, compression, SPA routing, and asset caching.
- Adds release-tag validation, vulnerability scans, and tier-specific image publishing for AMD64 and ARM64.
| File | Description |
|---|---|
packages/apps/assembly/Dockerfile |
Builds the SPA and patched Caddy runtime image. |
packages/apps/assembly/Caddyfile |
Defines health checks, routing, compression, and caching. |
.grype.yaml |
Excludes vulnerabilities marked won't-fix from scanning results. |
.github/workflows/image.yaml |
Validates releases, scans sources and images, and publishes to ECR. |
.dockerignore |
Excludes local dependencies, build outputs, and selected configuration files. |
Review effort: Balanced
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Adds a container image for the assembly dapp, so it can be served from inside EKS on a private origin (
dapps.<tier>.priv.evefrontier.com) as well as from Amplify.What
packages/apps/assembly/Dockerfile:--base=/so deep links load their assets.scratch, running as non-root65534, listening on:8080.golang.org/x/netcan be raised to v0.60.0. v2.11.7 ships v0.59.0, which has a Critical (GO-2026-6612).packages/apps/assembly/Caddyfile:/healthz./assets/*is cached for a year (immutable), and a missing asset returns 404.index.htmlwithno-cache..github/workflows/image.yaml:dapp/v*tags and checks that the tag matchespackages/apps/assembly/package.json.<version>-<tier>-<arch>(for example0.3.8-uat-arm64).dappsbranch environment..grype.yaml: fails on Critical findings, except those the distro marks won't-fix.Notes
VITE_*inlined at build time, hence one image per tier. A single image for all tiers would need the app to read its config at runtime.refs/tags/dapp/v*on the ECR push role.Verified locally
🤖 Generated with Claude Code