Remove the module "xxx" { source = "./module" } indirection layer
from all 66 service stacks. Resources are now defined directly in
each stack's main.tf instead of through a wrapper module.
- Merge module/main.tf contents into stack main.tf
- Apply variable replacements (var.tier -> local.tiers.X, renamed vars)
- Fix shared module paths (one fewer ../ at each level)
- Move extra files/dirs (factory/, chart_values, subdirs) to stack root
- Update state files to strip module.<name>. prefix
- Update CLAUDE.md to reflect flat structure
Verified: terragrunt plan shows 0 add, 0 destroy across all stacks.
21 lines
526 B
Docker
21 lines
526 B
Docker
FROM golang:1.24-alpine AS builder
|
|
WORKDIR /app
|
|
COPY go.mod go.sum ./
|
|
RUN go mod download
|
|
COPY . .
|
|
RUN CGO_ENABLED=0 GOOS=linux go build -o /f1-stream .
|
|
|
|
FROM alpine:3.20
|
|
RUN apk add --no-cache \
|
|
ca-certificates \
|
|
chromium nss freetype harfbuzz ttf-freefont \
|
|
mesa-dri-gallium mesa-gl \
|
|
dbus \
|
|
xvfb-run xorg-server \
|
|
pulseaudio pulseaudio-utils \
|
|
ffmpeg
|
|
ENV CHROME_PATH=/usr/bin/chromium-browser
|
|
COPY --from=builder /f1-stream /f1-stream
|
|
COPY static/ /static/
|
|
EXPOSE 8080
|
|
ENTRYPOINT ["/f1-stream"]
|