Skip to content

Simplify credentials from 8 to 4 #200

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed

Conversation

saad-ali
Copy link
Member

Fixes #198

  • Simplify by having one secret per operation pair (reducing 8 possibilities to 4):
    1. provisioner_secrets
      • Grants ability to create and delete volume requests.
      • Passed to CreateVolume() and DeleteVolume().
    2. controller_publish_secrets
      • Secrets required to complete controller publish and unpublish calls.
      • Example: an access key for volume.
      • Passed to ControllerPublishVolume() and ControllerUnpublishVolume()
    3. node_stage_secrets
      • Secrets required to complete node stage call.
      • Example: a decryption key for volume.
      • Passed to NodeStageVolume() only.
      • Not passed to NodeUnstageVolume() which we can consider adding in the future, if needed.
    4. node_publish_secrets
      • Secrets required to complete node publish call.
      • Example: end user credentials.
      • Passed to NodePublishVolume() only
      • Not passed to NodeUnpublishVolume() which we can consider adding in the future, if needed.

csi.proto Outdated
// passing through the required credentials. This information is
// sensitive and MUST be treated as such (not logged, etc.) by the CO.
// Secrets required by plugin to complete controller unpublish volume
// request. This should be the same secrets passed to the
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: s/should/SHOULD/

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

csi.proto Outdated
// A secret is a string to string map where the key identifies the
// name of the secret (e.g. "username" or "password"), and the value
// contains the secret data (e.g. "bob" or "abc123").
// Each key must consist of alphanumeric characters, '-', '_' or '.'.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: s/must/MUST/ (here and throughout changeset)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

spec.md Outdated
@@ -1636,7 +1631,7 @@ Supervised plugins MAY be isolated and/or resource-bounded.
* Logging configuration flags and/or variables, including working sample configurations.
* Default log destination(s) (where do the logs go if no configuration is specified?)
* Log lifecycle management ownership and related guidance (size limits, rate limits, rolling, archiving, expunging, etc.) applicable to the logging mechanism embedded within the Plugin.
* Plugins SHOULD NOT write potentially sensitive data to logs (e.g. `Credentials`).
* Plugins SHOULD NOT write potentially sensitive data to logs (e.g. `Secrets`).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: there are no types or fields called Secrets. maybe just replace "Secrets" with "secrets"?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

@saad-ali
Copy link
Member Author

Feedback addressed. PTAL

@saad-ali
Copy link
Member Author

Conclusion on today's call was folks prefer #201 over this. So I will close this PR.

@saad-ali saad-ali closed this Feb 22, 2018
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.

2 participants