Skip to content

sds: additional support for symlink-based key rotation.#13721

Merged
htuch merged 16 commits intoenvoyproxy:masterfrom
htuch:sds-symlink
Nov 13, 2020
Merged

sds: additional support for symlink-based key rotation.#13721
htuch merged 16 commits intoenvoyproxy:masterfrom
htuch:sds-symlink

Conversation

@htuch
Copy link
Member

@htuch htuch commented Oct 23, 2020

There are a few limitations in our existing support for symlink-based
key rotation:

  • We don't atomically resolve symlinks, so a single snapshot might have
    inconsistent symlink resolutions for different watched files.
  • Watches are on parent directories, e.g. for /foo/bar/baz on /foo/bar,
    which doesn't support common key rotation schemes were /foo/new/baz
    is rotated via a mv -Tf /foo/new /foo/bar.

The solution is to provide a structured WatchedDirectory for Secrets to
opt into when monitoring DataSources. SDS will used WatchedDirectory
to setup the inotify watch instead of the DataSource path. On update, it will
read key/cert twice, verifying file content hash consistency.

Risk level: Low (opt-in feature)
Testing: Unit and integration tests added.

Fixes #13663
Fixes #10979
Fixes #13370

Signed-off-by: Harvey Tuch htuch@google.com

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

5 participants