Skip to content

feat: define first HTTPS service-exposure lane#195

Open
clubanderson wants to merge 1 commit into
projectbluefin:mainfrom
clubanderson:feat/https-service-exposure-lane
Open

feat: define first HTTPS service-exposure lane#195
clubanderson wants to merge 1 commit into
projectbluefin:mainfrom
clubanderson:feat/https-service-exposure-lane

Conversation

@clubanderson

Copy link
Copy Markdown
Contributor

Summary

Defines the first HTTPS service-exposure validation lane under the access/TLS epic (#53), closing #58.

  • Adds §6 to docs/homelab-contracts.md specifying the representative endpoint (homelab-access fixture), minimum evidence artifacts (DNS, TLS handshake, cert subject, TLS version, HTTPS reachability, wrong-host rejection), and explicit call-outs for deferred work (auth-gating feat: define auth-gating lane for exposed homelab service UIs #61, firewall/NetworkPolicy, cert lifecycle, external exposure)
  • Adds tests/homelab_access/test_https_exposure.py with six pytest checks that produce the required evidence artifacts
  • Wires the new test suite into the homelab-access-probe WorkflowTemplate as a parallel DAG task (run-https-exposure-tests) alongside existing access probe tests
  • Updates the workload matrix table to include the HTTPS exposure class

Follow-up work called out explicitly

Concern Deferred to
Basic auth / credential gating #61 (auth-gating lane)
ACME / Let's Encrypt cert issuance Future cert-manager lane
External/LAN reachability bluespeed / ingress lane
Firewall / NetworkPolicy enforcement Follow-up under #53
mTLS between services Future service-mesh lane

Closes #58

Test plan

  • just run-homelab-access runs the updated workflow with both run-access-tests and run-https-exposure-tests tasks
  • All six evidence artifacts are produced in /tmp/results/
  • Wrong-host test returns HTTP 421
  • TLS version check passes with TLSv1.2 or TLSv1.3

Add the HTTPS service-exposure validation lane under the access/TLS
epic (projectbluefin#53). This defines what certificate, hostname/routing, and
reachability evidence the lane must capture for representative homelab
service endpoints.

Changes:
- Add §6 to homelab-contracts.md defining the HTTPS exposure lane with
  minimum evidence requirements, fixture description, and explicit
  call-outs for deferred auth/firewall/cert-lifecycle work
- Add test_https_exposure.py with six checks: DNS resolution, TLS
  handshake, certificate subject match, TLS version enforcement,
  HTTPS reachability, and wrong-host rejection
- Wire the new test suite into the homelab-access-probe WorkflowTemplate
  as a parallel DAG task alongside the existing access probe tests
- Update workload matrix table to include the HTTPS exposure class

Signed-off-by: Andy Anderson <andy@clubanderson.com>
Signed-off-by: unknown <unknown@users.noreply.github.com>

@hanthor hanthor left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM — well-structured test/infra addition, clean code.

@hanthor hanthor left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Service-catalog lane addition. Merge after foundational #202. LGTM.

@hanthor hanthor left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved via org-wide review.

@hanthor hanthor left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved via org-wide review.

@hanthor hanthor left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review: Approved ✅

Part of the structured service-catalog project build-up. Conventional Commits format, referenced issues, consistent with related PRs in the series.

@castrojo castrojo added needs-triage Auto-applied when required labels missing — human must fix queue/agent-ready Has a spec, ready to claim — comment /claim. agent/blocked and removed needs-triage Auto-applied when required labels missing — human must fix labels Jul 20, 2026
@castrojo
castrojo enabled auto-merge July 21, 2026 13:34
@castrojo

Copy link
Copy Markdown
Collaborator

This was generated by AI during triage.

This PR is approved for merge but is currently blocked by conflicts in docs/homelab-contracts.md or related files (which were recently cleaned up/relocated).

Action required: Please rebase onto main and ensure all contracts/tests align with the current docs/reference/WORKFLOWS.md and docs/homelab-contracts.md structure. Once rebased and CI passes, I will complete the merge.

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

Labels

agent/blocked queue/agent-ready Has a spec, ready to claim — comment /claim.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: define first HTTPS service-exposure lane for homelab workloads

4 participants