block / block/proto-fleet

RFC 0001-P4: Server image + service container integration

Open
#165 0 comments 0 reactions 0 assignees View on GitHub
phase-4 rfc-0001
Dominant language
Go
Stars
55
Forks
16
Avg merge
1d 22h
Merged PRs (30d)
87

Description

Phase 4: produce a `fleetd --mode=server` image that runs cleanly on SKI service container infrastructure, plus the build-tag gate so the agent binary doesn't drag along the React SPA.

## Acceptance criteria

- `server/Dockerfile.server` builds `fleetd --mode=server` with no plugin binaries copied in.
- Read-only rootfs compatible: any current writes to the local filesystem either go to `/tmp` (ephemeral emptyDir) or are eliminated.
- Block Go service container framework hooks: `/_status` endpoint, structured logging, metrics, S2S identity, config conventions matching other Block SKI services.
- Connect-RPC traffic exposed via Envoy / S2S as expected for SKI services (auth, mTLS, etc., per Block convention).
- React UI gated by `//go:build !agent` so the agent binary doesn't embed the SPA.
- Image scans clean against Block's standard container security checks (no high-CVE base, etc.).

## Reference

RFC 0001 Phase 4: https://github.com/block/proto-fleet/pull/145

Contributor guide

Open the contributing guide

Research direction

Start with RFC 0001 Phase 4 and inspect server/Dockerfile.server, the fleetd server-mode entry point, and the build-tagged React integration. Compare the service-container hooks, filesystem writes, Connect-RPC exposure, and image-scan requirements with other Block SKI services; done means all listed acceptance criteria pass.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, go, react
Domain
backend, build-system, infrastructure
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.