Repository navigation
feat: private deployment bundles and offline configuration checks - #15
Merged
Merged
Conversation
There was a problem hiding this comment.
Copilot review overview
🟢 Approval recommended
The reviewed changes have no unresolved blocking issues and all approval assessments are positive.
Review effort: Lite
Findings: None
What changed in this PR
Adds secure native deployment bundle generation, offline configuration checks, stricter CA validation, and expanded documentation and integration coverage.
Changes:
- Adds
autocar initwith separated credentials and secure permissions. - Adds network-free client/server preflight checks.
- Updates CA handling, tests, Docker integration, and deployment guidance.
| File | Description |
|---|---|
scripts/docker-integration.sh |
Exercises generated bundles and offline checks. |
README.md |
Documents bundle setup and preflight checks. |
docs/DEPLOYMENT.md |
Adds deployment, transfer, permissions, and renewal guidance. |
cmd/autocar/web_cli_test.go |
Tests whitespace CA rejection. |
cmd/autocar/server.go |
Adds server checks and strict CA validation. |
cmd/autocar/preflight.go |
Implements offline validation helpers. |
cmd/autocar/preflight_test.go |
Tests offline behavior and validation failures. |
cmd/autocar/main.go |
Registers the init command. |
cmd/autocar/init.go |
Generates private paired deployment bundles. |
cmd/autocar/init_test.go |
Tests bundle contents and security properties. |
cmd/autocar/init_integration_test.go |
Tests generated-bundle traffic. |
cmd/autocar/config_file.go |
Rejects persisted check configuration. |
cmd/autocar/client.go |
Adds client offline checks. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
autocar initfor new native deployments: matching server/client JSON, pinned certificate, independent random token, private file modes, no overwrite, and no server private key in the client bundle.client/server --checkto validate local configuration and credentials without DNS, connections, listeners, or file writes. Keep numeric-port requirements confined to offline checks and rejectcheckin saved JSON.Validation
make checkandmake race(Go 1.25.13): passed.7cee63f3deba31986bdf521b4b6097304ffe24dcpassed full Linux container integration, multi-platform OCI build, netem and CodeQL in GitHub CI: CI, netem, CodeQL.Scope of evidence
These changes improve deployment safety and local diagnostics. No traffic-indistinguishability or comparative superiority claim is made; the previously cancelled large corpus is not restarted by this PR.
Post-merge verification
Merged as
29608a9603a8c643a42668ba2acd54dba3b0eeba; its source tree exactly matches reviewed head7cee63f3deba31986bdf521b4b6097304ffe24dc. Main-branch CI, CodeQL, and Linux netem integration all passed, including full Docker integration and four-platform builds. No release or version tag was created.