Repository navigation
Add Symphony RSA authentication preset - #105
Merged
Merged
Conversation
The symphony preset authenticates with a certificate, so every bot using an RSA private key has to hand-write an override. RSA is what symphony-bdk configurations use and what Symphony's developer sandbox issues, so it is worth a preset of its own. backend=symphony_rsa sets bot_private_key_path from SYMPHONY_BOT_PRIVATE_KEY_PATH, keeping the key on disk rather than in the environment, as the certificate preset does. The certificate preset is unchanged. Verified by running csp-bot against a Symphony developer sandbox bot with backend=[symphony_rsa]: the config resolves and the bot connects. Signed-off-by: Tim Paine <[email protected]>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #105 +/- ##
=======================================
Coverage 84.56% 84.56%
=======================================
Files 44 44
Lines 4569 4569
Branches 337 337
=======================================
Hits 3864 3864
Misses 600 600
Partials 105 105 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
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.
What this adds
backend=symphony_rsa, a Symphony preset that authenticates with an RSA private key.Why
The existing
symphonypreset authenticates with a certificate, so every bot using an RSA key has to hand-write an override.docs/wiki/Backends.mdcurrently documents exactly that workaround.RSA is what
symphony-bdkconfiguration files use, and it is what Symphony's Developer Certification sandbox issues — the bundle it hands over contains aconfig.jsonpointing at a*-private.pem, with no certificate at all. A preset seems better than asking everyone starting from that bundle to write the override themselves.The certificate preset is untouched, so nothing changes for existing users. Like it, the RSA preset takes a path rather than key content, keeping long-lived key material out of the process environment.
Verification
Run against a Developer Certification sandbox bot on
develop2.symphony.com:make lintpasses. The test suite is 282 passed, 12 failed, and those twelve areModuleNotFoundError: No module named 'claude_agent_sdk'in my environment — identical on an unmodified checkout, so unrelated to this change.Docs updated: the credentials table gains the RSA row, the Symphony paragraph describes both presets, and the override example now shows a field neither preset covers rather than the RSA workaround.