Skip to content

kmd: key management daemon#671

Draft
makramkd wants to merge 10 commits intomainfrom
mk/part2/NONEVM-3705
Draft

kmd: key management daemon#671
makramkd wants to merge 10 commits intomainfrom
mk/part2/NONEVM-3705

Conversation

@makramkd
Copy link
Collaborator

@makramkd makramkd commented Feb 10, 2026

Potential keystore approaches:

  • Separate keystore container running as a daemon (kmd), each CCV/executor container comms with it to sign msgs/txes
    • Notes:
      • Manual key management: nops create keys that they need, configure the CCVs/executors appropriately with the key names they will use to sign msgs/txes
        • Can give them explicit instructions on how to create keys - it'll be using the keystore CLI which is standard
      • Separate container just for the keystore needs to be managed appropriately. Can hook it up to a file or a database though latter may be preferred by ops due to things like database backups.
      • Most closely resembles the chainlink node setup, which has one keystore for the entire node (many jobs) so not a big shift for nops
  • Each CCV/executor container maintains its own keystore (i.e. imports keystore as a lib)
    • Notes:
      • Each CCV/executor will generate its own keys -> they'll be different -> setting configs becomes more cumbersome for chainlink
      • If we use the keystore with postgres storage this becomes even more cumbersome, though might be able to make it work with the same table/db.
      • Simpler from a # of containers perspective
      • More complex from a key management perspective, since each container maintains its own keystore

@github-actions
Copy link

Code coverage report:

Package main mk/part2/NONEVM-3705 diff
github.com/smartcontractkit/chainlink-ccv/aggregator 46.92% 46.92% +0.00%
github.com/smartcontractkit/chainlink-ccv/cmd 0.00% 0.00% +0.00%
github.com/smartcontractkit/chainlink-ccv/committee 100.00% 100.00% +0.00%
github.com/smartcontractkit/chainlink-ccv/common 52.13% 52.13% +0.00%
github.com/smartcontractkit/chainlink-ccv/executor 38.45% 38.45% +0.00%
github.com/smartcontractkit/chainlink-ccv/indexer 37.77% 37.77% +0.00%

WARNING: go tool cover failed for coverage_target.out
cover: open /home/runner/work/chainlink-ccv/chainlink-ccv/indexer/pkg/api/middleware/path_normalizer.go: no such file or directory
WARNING: go tool cover failed for coverage.out
cover: open /home/runner/work/chainlink-ccv/chainlink-ccv/indexer/pkg/api/middleware/path_normalizer.go: no such file or directory

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