Add GitHub token auth for production server init#37
Merged
jonathonbyrdziak merged 2 commits intomasterfrom Mar 20, 2026
Merged
Conversation
When a production/staging server can't access a private repo, guide the user through creating an org-level fine-grained PAT with read-only permissions. This avoids the SOC2 risk where a developer leaves, their personal token is revoked, and production breaks. Also removes the redundant environment step from the slave node flow since the environment is already chosen in step 1. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The release watcher reads PROTOCOL_ACTIVE_RELEASE from GitHub Actions variables to determine which release to deploy. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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
protocol initdetects a production/staging server can't access the provided repo URL, it now guides the user through creating an organization-level fine-grained PAT with read-only permissions~/.protocol/.node/github-token(0600) and configured via git credential helperWhy org-level tokens?
If a developer who set up the server leaves the org and their personal token is revoked, production breaks. Org-level tokens belong to the organization, not an individual — SOC2 compliant with minimal permissions (Contents: Read, Metadata: Read).
Flow
git ls-remotetests access.node/with git credential helperprotocol key:generatefor SSHTest plan
protocol init→ choose production → enter a private repo URL the server can't access~/.protocol/.node/github-tokenwith 0600 permissions🤖 Generated with Claude Code