Skip to content

task: add an external verification suite for the deployed host #35

Description

@tucktuck101

Parent PRD

#5

Objective

Add a machine-runnable verification suite under launchpad/deploy/ that checks a deployed host from both an authorised operator's perspective and an untrusted internet client's, and fails when the security expectations are not met.

Definition of done

  • The suite runs from a machine that is not the deployed host
  • It asserts that expected public endpoints are reachable and that the relay is healthy
  • It asserts that PostgreSQL, Redis, object-storage administration and metrics are not publicly reachable, by scanning rather than by reading configuration
  • It asserts TLS behaves as intended, including that a plaintext connection to the public endpoint fails
  • It asserts that remote privileged access matches the declared policy from the administrative-access ADR
  • It asserts that the required security controls are active on the host
  • It asserts that Buzz is running the expected pinned deployment version
  • It exits non-zero on any failure, so it can gate a deployment rather than merely print a report
  • It is proven to fail against a deliberately misconfigured host, not only to pass against a good one
  • Anything Ruling 12 lists that the suite cannot practically check is recorded as unchecked rather than quietly omitted

Impacted components

launchpad/deploy/     new: external verification suite

Out of scope


Filed by an AI agent (Claude Opus 5) on behalf of @tucktuck101 as part of a decomposition of #5. Drafted, not executed. The requirement that the suite be proven to fail against a misconfigured host is added deliberately: a verification suite that has only ever passed is not evidence, and the destroyable VM is where a deliberately broken host can be produced safely.

Activity

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

Metadata

Metadata

Assignees

Labels

area:deployVPS, Ansible, host configuration, hardeningby:agentFiled or authored by an AI agent, not a humantype:taskBounded work with no children of its own. The default type.

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions