Applications and services
Documented REST and Connect/gRPC contracts
A ready-to-clone Go service baseline with ConnectRPC, OpenTelemetry, structured logging, PostgreSQL migrations, multi-tenancy wiring, and Docker setup—aligned with the conventions used across the Launch Rail ecosystem. Your domain logic, one repeatable foundation.
A team ships a new domain service and rewires logging, tracing, auth middleware, database migrations, and Docker. The next team repeats the work differently, leaving inconsistent infrastructure layers that are difficult to review and operate uniformly.
The Launch Rail Starter Kit is a design-partner Go service baseline built around the same project, middleware, configuration, and observability conventions used by the ecosystem. Add your proto definitions and domain logic while keeping the surrounding service shape consistent and reviewable.
Every infrastructure concern that took months to get right across the Launch Rail ecosystem is pre-wired and ready to go.
Simultaneous gRPC and REST/JSON from a single proto definition. Your service speaks both protocols on day one.
OTLP-instrumented HTTP and database connections. Every request carries a trace from the wire to the query and back.
JSON-formatted structured logging with request correlation IDs, tenant context, and caller information wired in by default.
sqlc-generated type-safe query layer with goose migrations. Schema versioning, test fixtures, and a local docker-compose included.
Tenant context extraction from request headers is baked into every middleware layer — the same pattern used across the entire ecosystem.
The same signed-envelope authentication pattern used by every Launch Rail service. Drop in your caller config and it just works.
Multi-stage Dockerfile optimised for minimal final image size, plus a compose file that boots Postgres and your service together.
make dev-setup, make run, make test, make proto — the exact same ergonomics as every other service in the ecosystem.
Service architecture
Stateless service processes can scale horizontally, while durable writes, event delivery, and agent access keep explicit operational boundaries.
Documented REST and Connect/gRPC contracts
Tenant scope, allowlists, approvals, budgets, and audit
Tenant-aware business rules, validation, authorization hooks, and observable request handling
Transactional, customer-controlled persistence
Decoupled delivery for downstream workflows
The exact topology, replicas, recovery objectives, and provider configuration are documented for the customer deployment rather than hidden behind a generic availability promise.
The Starter Kit follows the directory, middleware, and configuration conventions used by Identity, Authz, Notifications, Audit Log, and the broader Launch Rail ecosystem.
my-service/ ├── cmd/server/ # Entrypoint ├── internal/ │ ├── config/ # Env-based config │ ├── domain/ # Your business logic │ ├── repository/ # sqlc-generated queries │ ├── service/ # Service layer │ └── transport/ │ └── http/ # ConnectRPC handlers │ └── swagger/ # OpenAPI spec ├── proto/ # gRPC definitions ├── migrations/ # goose SQL migrations ├── docker-compose.yml # Local dev stack ├── Dockerfile # Multi-stage build └── Makefile # dev-setup, run, test
Developer-first by design. Available services expose documented REST and Connect/gRPC contracts. Agent access is routed through the governed Agent Gateway instead of exposing unrestricted service credentials.
Create users, tenants, and roles without touching the UI.
Easily rotate API keys and manage workspace secrets.
Synchronize permissions across staging and production.
Build versus integrate
Launch Rail packages recurring SaaS domain work into interoperable modules while your team keeps the source, deployment, and product-specific decisions.
Coordinate separate domain, API, deployment, and operations workstreams.
Your team owns every decision, but also has to align schemas, authorization, event contracts, observability, upgrades, and customer-cloud deployment across independently built components.
Adopt a consistent, source-owned ecosystem baseline.
Begin with compatible service boundaries, a shared tenant model, repeatable local tooling, customer-cloud artifacts, and one support path—then adapt the product logic your market actually differentiates on.
| Capability | Self-built baseline | Launch Rail |
|---|---|---|
| ConnectRPC (gRPC + REST) | ||
| OpenTelemetry OTLP Tracing | ||
| Structured slog Logging | ||
| sqlc + goose Migrations | ||
| Multi-Tenant Middleware | ||
| HMAC Caller Authentication | ||
| Ecosystem-Consistent Layout |
Establishing consistent service conventions requires design, implementation, review, and ongoing maintenance. The Starter Kit pilot packages the Launch Rail baseline into one starting point.
Custom services can begin with the same conventions and compatibility expectations as the Launch Rail ecosystem.
New engineers contribute to any service immediately — the structure is always the same.
Reuse logging, tracing, and tenant-context patterns instead of defining each baseline independently.
Integrating with Authz, Audit Log, or Notifications requires minimal glue code.