Drop owner_name (org attribution comes from the API key) - #13
Merged
Conversation
CryptoFewka
force-pushed
the
chore/drop-owner-name
branch
from
June 25, 2026 16:07
d3c43ba to
819fd9b
Compare
owner_name was a client-supplied label on the shared eth_validator_keys registry, but it never drove org membership: that is created_by_operator_id plus the assignment, both derived from the operator API key. Remove it end to end so customers no longer set KEYSYNC_OWNER_NAME; the console API now defaults the registry label from the caller's operator_name. - config: drop owner_name field + from_env wiring - cli: drop --owner-name / KEYSYNC_OWNER_NAME and the resolve() arg - api_client: drop owner_name from ValidatorKeyRegistration + batch payload - desired_state: drop owner_name from DesiredValidator, resolve(), _read_indices - reconcile: drop owner_name from the registration it builds - README, k8s example, indices/fixtures, tests updated 76 passed, ruff and mypy clean.
CryptoFewka
force-pushed
the
chore/drop-owner-name
branch
from
June 25, 2026 16:12
819fd9b to
ef04a63
Compare
CryptoFewka
marked this pull request as ready for review
June 25, 2026 16:44
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: getoptimum/coderabbit/.coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: ⛔ Files ignored due to path filters (2)
📒 Files selected for processing (13)
📝 WalkthroughWalkthroughThe PR removes Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
✨ Finishing Touches📝 Generate docstrings
Comment |
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
Removes
owner_name/KEYSYNC_OWNER_NAMEfrom keysync entirely. It was a client-supplied label on the sharedeth_validator_keysregistry, but it never determined which org a validator lands in: that iscreated_by_operator_id+ the assignment, both derived from the operator API key. The console API now defaults the registry label from the caller'soperator_nameserver-side (getoptimum/optimum-cross-functional-dashboard#223), so the client doesn't need to send it.Changes
owner_namefield and itsfrom_envwiring.--owner-name/KEYSYNC_OWNER_NAMEand theresolve()argument.owner_namefromValidatorKeyRegistrationand the/validator-keys/batchpayload.owner_namefromDesiredValidator,resolve(), and_read_indices(the indices JSON no longer needs it).owner_namefrom the registration it builds.examples/indices.json, the test fixture, and all tests updated; removed the obsoleteowner_namelength-cap test.After this, the required config is just
KEYSYNC_API_KEY+ a validator source (+KEYSYNC_BEACON_URLfor pubkeys/index input). Everything else defaults.pytest: 76 passedruff/mypy: cleanmain, so it overlaps with Harden API response handling, config validation, and active-aware reconcile #11 (api_client/reconcile/desired_state) and Default api_url, auth_url, network, chain_id so boilerplate can omit them #12 (config). Rebase after those merge.owner_nameuntil dashboard #223 (server-side default) is deployed to prod — otherwise the batch register still 400s on a missingowner_name.KEYSYNC_OWNER_NAMEline from the dashboard's API-key boilerplate.Written with Claude Code
Summary by CodeRabbit
Documentation
Bug Fixes