vmware / vmware/pinniped

[stub] make defensive changes to pinniped CLI to handle clock skew

Open
#902 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement priority/undecided
Dominant language
Go
Stars
739
Forks
85
Avg merge
5d 5h
Merged PRs (30d)
1

Description

As a defensive change to handle https://github.com/kubernetes/kubernetes/pull/106768 I propose that the pinniped CLI:

  1. Not send expirationTimestamp to client-go/kubectl - maybe allow this to be opt-ed into? - or a better approach may be to make sure expirationTimestamp is >= to time.Now() + 10*time.Second
  2. Cache credentials until expirationTimestamp or time.Now() + 10*time.Second, whichever is later
  3. (not the CLI) add a controller that detects clock skew and emits warning logs / status updates?
  4. We also need to fix the issue upstream which might require invasive changes and difficult to write tests

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the Kubernetes pull request linked in the issue and trace how the pinniped CLI sends expirationTimestamp and caches credentials. Before implementation, establish which of the proposed CLI or controller changes is in scope; done requires an agreed behavior and tests covering clock skew, but no test files are named.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
authentication, cli
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.