Skip to content

nself provision: local ops-server mode and three first-class deployment tiers #282

Description

@acamarata

Filed from .claude/inbox/msg-2026-08-26-local-ops-server-mode.md (from acamarata, 2026-08-26, priority medium) so it is tracked rather than sitting in an inbox.

Request

Support provisioning an owned home Mac or box as a local ops server: staging stack plus nSentry (status page, telemetry ingest, CI reports) plus self-hosted runners, with Cloudflare Tunnel for ingress, as an alternative to a Hetzner -sentry box.

Three deployment tiers, as first-class nself topologies

  1. dev - owned home box only (local server, tunnel ingress, runners)
  2. starter - owned home box (dev/staging/ops) plus a single Hetzner prod
  3. full - Hetzner sentry plus staging plus prod (today's standard for revenue projects)

A project must be able to graduate 1 to 2 to 3 without re-architecture. That constraint is the substance of the request: the tiers have to be the same topology at different scales, not three different designs.

Why this is worth doing beyond cost

It closes a gap the CLI already has. The PPI's two-servers rule says anything we need a server for is a hole in the product, because a self-hosting Task Bundle user has no fleet either. A local ops tier is the same argument applied to CI and observability.

Not started

This is an architecture change spanning provisioning, ingress, runner registration and the nSentry stack. It needs a design pass before implementation, and it should not be folded into an unrelated change.

Related, from the same session: nself ci already exists to run the lint/test/build gate locally and post a nself-ci commit status, which is the closest existing piece of tier 1.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions