Skip to content

Prepare production deployment of authenticated status reporting #66

Description

@Nickfost

Goal

Deploy the existing authenticated status receiver on a small dedicated host that remains available when a controller is offline, then activate outbound HTTPS reporting on the controller without changing runner lifecycle or capacity.

Scope

  • package the merged receiver for a dedicated unprivileged systemd service bound to loopback behind an existing HTTPS reverse proxy
  • define clean installation, idempotent rerun, verification, upgrade, rollback, retention, and outage-isolation procedures
  • provision per-controller signing material and a separate read credential out of band; store only host-local path references in configuration
  • activate the existing reporter through reviewed private configuration while preserving controller identity, labels, runner group, capacity, resource limits, scale-to-zero behavior, and disabled SSH
  • validate authenticated ingestion and read-only access, controller isolation, replay/freshness and payload bounds, restart behavior, retention, redaction, and receiver outage isolation

Boundaries

  • receiver is separate from every runner controller and has no Docker socket, runner credential, deployment credential, or inbound connection to a controller
  • controller traffic is outbound HTTPS only
  • no WebUI and no mutation API
  • no runner-capacity change
  • no credentials, private endpoints, host inventory, or infrastructure identifiers in this public issue
  • provisioning and deployment require separate authorization; preparation PRs remain draft and unmerged

The reporting implementation is complete in #62 / #63; this issue tracks deployment only.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions