Skip to content

Add Console service and proxy installation scripts - #872

Merged
JacobStephens2 merged 2 commits into
issue-776from
issue-828
Oct 20, 2026
Merged

JacobStephens2 merged 2 commits into
issue-776from
issue-828

Conversation

@JacobStephens2

@JacobStephens2 JacobStephens2 commented Oct 20, 2026 •

Copy link
Copy Markdown
Owner

Summary

thirdshift console install prints one Linux installation script for sudo, using the owner's identity and [console] address/port. It keeps the Console on localhost and configures Caddy or Apache for public access. The README includes nginx setup.

console install
  detect running proxy → fall back to PATH
  print script
    write owner service → enable and restart
    Caddy: site → validate → restart Caddy
    Apache: site → certbot → restart Apache
    neither: localhost service → SSH tunnel instructions

Closes #828

Evidence

  • Before: cargo test --test console_install failed because console install was unrecognized.
    After: all 9 installer tests pass, covering Caddy, Debian/Red Hat Apache, running-proxy preference, tunnel fallback, owner identity, configured address/port, invalid settings, shell syntax and literal systemd paths.
  • Before: cargo test --test console_install reinstall_restarts failed because an already active tunnel service retained --no-sign-in. cargo test --test console_install reinstall_restarts_console_before_certbot then failed on the intermediate repair because certbot could activate the site before the Console restarted.
    After: both regressions pass; the Console restarts before proxy configuration or certbot can expose it.
  • Full cargo test, cargo check, cargo clippy --all-targets -- -D warnings, cargo fmt --check, and git diff --check pass.

Test seams

  • The binary with isolated User config and fake external commands on PATH; observe its printed script and errors.
  • The printed script parsed by sh -n, and its systemd unit parsed by systemd-analyze verify where available.

Review coverage

Independent Standards and Spec reviews used the fetched issue-776 tip, 71b1ec624770d7b4ba0e08b43c5f6064598a334a, and inspected the final repair. Both read all 11 changed files; no generated exclusions or unread changed files remain.

  • Standards: S1, duplicated proxy-candidate mappings, addressed with one shared candidate list.
  • Spec: SPEC-1, applying a replaced Console service before public exposure, reproduced and fixed with both regressions retained.

Unaddressed findings

  • Standards: none.
  • Spec: none.

Merge Danger

Door: two-way

Merging adds a command that prints instructions. Installation happens only when the owner runs the printed script, which writes a dedicated service and site file and restarts the Console and chosen proxy.

Blast Radius: Console

Installer behavior is Linux-only; other commands retain their existing platform behavior.

Built with codex · gpt-6.1-sol · high

@JacobStephens2
JacobStephens2 merged commit 910a56b into issue-776 Oct 20, 2026
19 checks passed
@JacobStephens2
JacobStephens2 deleted the issue-828 branch October 20, 2026 09:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant